123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- #Copyright ReportLab Europe Ltd. 2000-2017
- #see license.txt for license details
- '''default settings for reportlab
- to override these drop a module rl_local_settings.py parallel to this file or
- anywhere on the path.
- '''
- import os, sys
- __version__='3.3.0'
- __all__=tuple('''allowTableBoundsErrors
- shapeChecking
- defaultEncoding
- defaultGraphicsFontName
- pageCompression
- useA85
- defaultPageSize
- defaultImageCaching
- ZLIB_WARNINGS
- warnOnMissingFontGlyphs
- verbose
- showBoundary
- emptyTableAction
- invariant
- eps_preview_transparent
- eps_preview
- eps_ttf_embed
- eps_ttf_embed_uid
- overlapAttachedSpace
- longTableOptimize
- autoConvertEncoding
- _FUZZ
- wrapA85
- fsEncodings
- odbc_driver
- platypus_link_underline
- canvas_basefontname
- allowShortTableRows
- imageReaderFlags
- paraFontSizeHeightOffset
- canvas_baseColor
- ignoreContainerActions
- ttfAsciiReadable
- pdfMultiLine
- pdfComments
- debug
- rtlSupport
- listWrapOnFakeWidth
- T1SearchPath
- TTFSearchPath
- CMapSearchPath
- decimalSymbol
- errorOnDuplicatePageLabelPage
- autoGenerateMissingTTFName
- allowTTFSubsetting
- spaceShrinkage
- underlineWidth
- underlineOffset
- underlineGap
- strikeWidth
- strikeOffset
- strikeGap
- hyphenationLang
- uriWasteReduce
- embeddedHyphenation
- hyphenationMinWordLength
- reserveTTFNotdef
- documentLang
- encryptionStrength
- trustedHosts
- trustedSchemes
- renderPMBackend'''.split())
- allowTableBoundsErrors = 1 # set to 0 to die on too large elements in tables in debug (recommend 1 for production use)
- shapeChecking = 1
- defaultEncoding = 'WinAnsiEncoding' # 'WinAnsi' or 'MacRoman'
- defaultGraphicsFontName= 'Times-Roman' #initializer for STATE_DEFAULTS in shapes.py
- pageCompression = 1 # default page compression mode
- useA85 = 1 #set to 0 to disable Ascii Base 85 stream filters
- defaultPageSize = 'A4' #default page size
- defaultImageCaching = 0 #set to zero to remove those annoying cached images
- ZLIB_WARNINGS = 1
- warnOnMissingFontGlyphs = 0 #if 1, warns of each missing glyph
- verbose = 0
- showBoundary = 0 # turns on and off boundary behaviour in Drawing
- emptyTableAction= 'error' # one of 'error', 'indicate', 'ignore'
- invariant= 0 #produces repeatable,identical PDFs with same timestamp info (for regression testing)
- eps_preview_transparent= None #set to white etc
- eps_preview= 1 #set to False to disable
- eps_ttf_embed= 1 #set to False to disable
- eps_ttf_embed_uid= 0 #set to 1 to enable
- overlapAttachedSpace= 1 #if set non false then adajacent flowable space after
- #and space before are merged (max space is used).
- longTableOptimize = 1 #default do use Henning von Bargen's long table optimizations
- autoConvertEncoding = 0 #convert internally as needed (experimental)
- _FUZZ= 1e-6 #fuzz for layout arithmetic
- wrapA85= 0 #set to 1 to get old wrapped line behaviour
- fsEncodings=('utf8','cp1252','cp430') #encodings to attempt utf8 conversion with
- odbc_driver= 'odbc' #default odbc driver
- platypus_link_underline= 0 #paragraph links etc underlined if true
- canvas_basefontname= 'Helvetica' #this is used to initialize the canvas; if you override to make
- #something else you are responsible for ensuring the font is registered etc etc
- #this will be used everywhere and the font family connections will be made
- #if the bold/italic/bold italic fonts are also registered and defined as a family.
- allowShortTableRows=1 #allows some rows in a table to be short
- imageReaderFlags=0 #attempt to convert images into internal memory files to reduce
- #the number of open files (see lib.utils.ImageReader)
- #if imageReaderFlags&2 then attempt autoclosing of those files
- #if imageReaderFlags&4 then cache data
- #if imageReaderFlags==-1 then use Ralf Schmitt's re-opening approach
- paraFontSizeHeightOffset= 1 #if true paragraphs start at height-fontSize
- canvas_baseColor= None #initialize the canvas fill and stroke colors if this is set
- ignoreContainerActions= 1 #if true then action flowables in flowable _Containers will be ignored
- ttfAsciiReadable= 1 #smaller subsets when set to 0
- pdfMultiLine= 0 #use more lines in pdf etc
- pdfComments= 0 #put in pdf comments
- debug= 0 #for debugging code
- rtlSupport= 0 #set to 1 to attempt import of RTL assistance eg fribidi etc etc
- listWrapOnFakeWidth= 1 #set to 0/False to force platypus.flowables._listWrapOn to report correct widths
- #else it reports minimum(required,available) width
- underlineWidth= '' #empty to use canvas strokeWidth or a distance or number*<letter>
- # num * <letter> make value proportional to a font size
- # P paragraph font size
- # L line max font size
- # f first use font size
- # F max fontsize in the tag
- underlineOffset= '-0.125*F' #fraction of fontSize from baseline to draw underlines at.
- underlineGap= '1' #gap for double/triple underline
- strikeWidth= ''
- strikeOffset= '0.25*F' #fraction of fontSize from baseline to draw strike through at.
- strikeGap= '1' #gap for double/triple strike
- #by default typical value 0.05. may be overridden on a parastyle.
- decimalSymbol= '.' #what we use to align floats numerically
- errorOnDuplicatePageLabelPage= 0 #if True will cause repeated PageLabel page numbers to raise an error.
- autoGenerateMissingTTFName=0 #if true we try to auto generate any missing TTF font name
- allowTTFSubsetting= [] #list of font file names that will be subsetted even when they
- #have the no subsetting flag set. These should be fonts for which
- #the user has explicit permission from the rights holder(s).
- #This flag could already be overcome by hacking the code.
- #ReportLab takes no responsibility for the use of this setting.
- spaceShrinkage=0.05 #allowable space shrinkage to make lines fit
- hyphenationLang='' #if pyphen installed set this to the language of your choice
- #eg 'en_GB'
- uriWasteReduce=0 #split URI if we would waste 0.3 of a line or if the URI#
- #would not fit on the next line; if zero then no splitting
- #is attempted. suggested value = 0.3
- embeddedHyphenation=0 #if true attempt hypenation of words with embedded hyphens
- hyphenationMinWordLength=5 #minimum length of words that can be hyphenated
- reserveTTFNotdef=0 #if true force subset element 0 to be zero(.notdef)
- #helps to fix bug in edge
- documentLang=None #pdf document catalog Lang value xx-xx not ee_xx
- encryptionStrength=40 #the bits for standard encryption 40, 128 or 256 (AES)
- trustedHosts=None #set to a list of trusted for access hosts None means
- #all are trusted glob patterns eg *.reportlab.com are
- #allowed. In environment use a comma separated string.
- trustedSchemes=['file', 'rml', 'data', 'https', #these url schemes are trusted
- 'http', 'ftp']
- renderPMBackend='_renderPM' #or 'rlPyCairo' if available
- # places to look for T1Font information
- T1SearchPath = (
- 'c:/Program Files/Adobe/Acrobat 9.0/Resource/Font',
- 'c:/Program Files/Adobe/Acrobat 8.0/Resource/Font',
- 'c:/Program Files/Adobe/Acrobat 7.0/Resource/Font',
- 'c:/Program Files/Adobe/Acrobat 6.0/Resource/Font', #Win32, Acrobat 6
- 'c:/Program Files/Adobe/Acrobat 5.0/Resource/Font', #Win32, Acrobat 5
- 'c:/Program Files/Adobe/Acrobat 4.0/Resource/Font', #Win32, Acrobat 4
- '%(disk)s/Applications/Python %(sys_version)s/reportlab/fonts', #Mac?
- '/usr/lib/Acrobat9/Resource/Font', #Linux, Acrobat 5?
- '/usr/lib/Acrobat8/Resource/Font', #Linux, Acrobat 5?
- '/usr/lib/Acrobat7/Resource/Font', #Linux, Acrobat 5?
- '/usr/lib/Acrobat6/Resource/Font', #Linux, Acrobat 5?
- '/usr/lib/Acrobat5/Resource/Font', #Linux, Acrobat 5?
- '/usr/lib/Acrobat4/Resource/Font', #Linux, Acrobat 4
- '/usr/local/Acrobat9/Resource/Font', #Linux, Acrobat 5?
- '/usr/local/Acrobat8/Resource/Font', #Linux, Acrobat 5?
- '/usr/local/Acrobat7/Resource/Font', #Linux, Acrobat 5?
- '/usr/local/Acrobat6/Resource/Font', #Linux, Acrobat 5?
- '/usr/local/Acrobat5/Resource/Font', #Linux, Acrobat 5?
- '/usr/local/Acrobat4/Resource/Font', #Linux, Acrobat 4
- '/usr/share/fonts/default/Type1', #Linux, Fedora
- '%(REPORTLAB_DIR)s/fonts', #special
- '%(REPORTLAB_DIR)s/../fonts', #special
- '%(REPORTLAB_DIR)s/../../fonts', #special
- '%(CWD)s/fonts', #special
- '~/fonts',
- '~/.fonts',
- '%(XDG_DATA_HOME)s/fonts',
- '~/.local/share/fonts',
- )
- # places to look for TT Font information
- TTFSearchPath = (
- 'c:/winnt/fonts',
- 'c:/windows/fonts',
- '/usr/lib/X11/fonts/TrueType/',
- '/usr/share/fonts/truetype',
- '/usr/share/fonts', #Linux, Fedora
- '/usr/share/fonts/dejavu', #Linux, Fedora
- '%(REPORTLAB_DIR)s/fonts', #special
- '%(REPORTLAB_DIR)s/../fonts', #special
- '%(REPORTLAB_DIR)s/../../fonts',#special
- '%(CWD)s/fonts', #special
- '~/fonts',
- '~/.fonts',
- '%(XDG_DATA_HOME)s/fonts',
- '~/.local/share/fonts',
- #mac os X - from
- #http://developer.apple.com/technotes/tn/tn2024.html
- '~/Library/Fonts',
- '/Library/Fonts',
- '/Network/Library/Fonts',
- '/System/Library/Fonts',
- )
- # places to look for CMap files - should ideally merge with above
- CMapSearchPath = (
- '/usr/lib/Acrobat9/Resource/CMap',
- '/usr/lib/Acrobat8/Resource/CMap',
- '/usr/lib/Acrobat7/Resource/CMap',
- '/usr/lib/Acrobat6/Resource/CMap',
- '/usr/lib/Acrobat5/Resource/CMap',
- '/usr/lib/Acrobat4/Resource/CMap',
- '/usr/local/Acrobat9/Resource/CMap',
- '/usr/local/Acrobat8/Resource/CMap',
- '/usr/local/Acrobat7/Resource/CMap',
- '/usr/local/Acrobat6/Resource/CMap',
- '/usr/local/Acrobat5/Resource/CMap',
- '/usr/local/Acrobat4/Resource/CMap',
- 'C:\\Program Files\\Adobe\\Acrobat\\Resource\\CMap',
- 'C:\\Program Files\\Adobe\\Acrobat 9.0\\Resource\\CMap',
- 'C:\\Program Files\\Adobe\\Acrobat 8.0\\Resource\\CMap',
- 'C:\\Program Files\\Adobe\\Acrobat 7.0\\Resource\\CMap',
- 'C:\\Program Files\\Adobe\\Acrobat 6.0\\Resource\\CMap',
- 'C:\\Program Files\\Adobe\\Acrobat 5.0\\Resource\\CMap',
- 'C:\\Program Files\\Adobe\\Acrobat 4.0\\Resource\\CMap',
- '%(REPORTLAB_DIR)s/fonts/CMap', #special
- '%(REPORTLAB_DIR)s/../fonts/CMap', #special
- '%(REPORTLAB_DIR)s/../../fonts/CMap', #special
- '%(CWD)s/fonts/CMap', #special
- '%(CWD)s/fonts', #special
- '~/fonts/CMap',
- '~/.fonts/CMap',
- '%(XDG_DATA_HOME)s/fonts/CMap',
- '~/.local/share/fonts/CMap',
- )
- if sys.platform.startswith('linux'):
- def _findFontDirs(*ROOTS):
- R = [].append
- for rootd in ROOTS:
- for root, dirs, files in os.walk(rootd):
- if not files: continue
- R(root)
- return tuple(R.__self__)
- T1SearchPath = T1SearchPath + _findFontDirs(
- '/usr/share/fonts/type1',
- '/usr/share/fonts/Type1',
- )
- TTFSearchPath = TTFSearchPath + _findFontDirs(
- '/usr/share/fonts/truetype',
- '/usr/share/fonts/TTF',
- )
|