4 // Specify whether to automatically generate bookmarks or ToC entries from h1 - h6 tags
5 $this->h2bookmarks
= array();
6 $this->h2toc
= array();
7 /* Define arrays with e.g. the tag=>ToC-level
8 Remember bookmark and ToC levels start at 0
9 (does not work inside tables)
10 Only the default ToC will be used if > 1 ToCs are defined for the document
11 H1 - H6 must be uppercase
12 $this->h2toc = array('H1'=>0, 'H2'=>1, 'H3'=>2);
13 $this->h2bookmarks = array('H1'=>0, 'H2'=>1, 'H3'=>2);
17 // Text-align on decimal marks
18 // Allowed characters for alignment on decimal marks. Additional codes must start with D
19 // Non-ASCII characters should be in utf-8 encoding
21 // DA - arabic decimal mark U+066B
22 $this->decimal_align
= array('DP'=>'.', 'DC'=>',', 'DM'=>"\xc2\xb7", 'DA'=>"\xd9\xab", 'DD'=>'-');
25 $this->mirrorMargins
= 0;
26 $this->restoreBlockPagebreaks
= false;
27 $this->forcePortraitMargins
= false;
28 $this->displayDefaultOrientation
= false;
29 $this->printers_info
= false; // Adds date and page info for printer when using @page and "marks:crop;"
30 $this->bleedMargin
= 5;
31 $this->crossMarkMargin
= 5; // Distance of cross mark from margin in mm
32 $this->cropMarkMargin
= 8; // Distance of crop mark from margin in mm
33 $this->cropMarkLength
= 18; // Default length in mm of crop line
34 $this->nonPrintMargin
= 8; // Non-printable border at edge of paper sheet in mm
36 // Avoid just the border/background-color of the end of a block being moved on to next page
37 $this->margBuffer
= 2; // Allows an (empty) end of block to extend beyond the bottom margin by this amount (mm)
47 // FONTS, LANGUAGES & CHARACTER SETS
48 // Set maximum size of TTF font file to allow non-subsets - in kB
49 // Used to avoid e.g. Arial Unicode MS (perhaps used for substitutions) to ever be fully embedded
50 // NB Free serif is 1.5MB, most files are <= 600kB (most 200-400KB)
51 $this->maxTTFFilesize
= 2000;
53 // this value determines whether to subset or not
54 // 0 - 100 = percent characters
55 // i.e. if ==40, mPDF will embed whole font if >40% characters in that font
56 // or embed subset if <40% characters
57 // 0 will force whole file to be embedded (NO subsetting)
58 // 100 will force always to subset
59 // This value is overridden if you set new mPDF('s)
60 // and/or Can set at runtime
61 $this->percentSubset
= 30;
63 $this->useAdobeCJK
= false; // Uses Adobe CJK fonts for CJK languages
64 // default TRUE; only set false if you have defined some available fonts that support CJK
65 // If true this will not stop use of other CJK fonts if specified by font-family:
66 // and vice versa i.e. only dictates behaviour when specified by lang="" incl. AutoFont()
68 // When embedding full TTF font files, remakes the font file using only core tables
69 // May improve function with some PostScript printers (GhostScript/GSView)
70 // Does not work with TTC font collections
71 // Slightly smaller file; increased processing time
72 $this->repackageTTF
= false;
74 // Allows automatic character set conversion if "charset=xxx" detected in html header (WriteHTML() )
75 $this->allow_charset_conversion
= true;
76 $this->biDirectional
=false; // automatically determine BIDI text in LTR page
77 $this->autoFontGroupSize
= 2; // 1: individual words are spanned; 2: words+; 3: as big chunks as possible.
78 $this->useLang
= true; // Default changed in mPDF 4.0
80 $this->useSubstitutions
= false; // Substitute missing characters in UTF-8(multibyte) documents - from other fonts
81 $this->falseBoldWeight
= 5; // Weight for bold text when using an artificial (outline) bold; value 0 (off) - 10 (rec. max)
84 $this->allow_output_buffering
= false;
86 $this->enableImports
= false; // Adding mPDFI functions
88 $this->collapseBlockMargins
= true; // Allows top and bottom margins to collapse between block elements
89 $this->progressBar
= 0; // Shows progress-bars whilst generating file 0 off, 1 simple, 2 advanced
90 $this->progbar_heading
= 'mPDF file progress';
91 $this->progbar_altHTML
= ''; // Should include <html> and <body> but NOT end tags
92 // Can incude <head> and link to stylesheet etc.
93 // e.g. '<html><body><p><img src="loading.gif" /> Creating PDF file. Please wait...</p>';
95 $this->dpi
= 96; // To interpret "px" pixel values in HTML/CSS (see img_dpi below)
97 // Automatically correct for tags where HTML specifies optional end tags e.g. P,LI,DD,TD
98 // If you are confident input html is valid XHTML, turning this off may make it more reliable(?)
99 $this->allow_html_optional_endtags
= true;
101 $this->ignore_invalid_utf8
= false;
102 $this->text_input_as_HTML
= false; // Converts all entities in Text inputs to UTF-8 before encoding
103 $this->useGraphs
= false;
106 // When writing a block element with position:fixed and overflow:auto, mPDF scales it down to fit in the space
107 // by repeatedly rewriting it and making adjustments. These values give the adjustments used, depending how far out
108 // the previous guess was. The lower the number, the quicker it will finish, but the less accurate the fit may be.
109 // FPR1 is for coarse adjustments, and FPR4 for fine adjustments when it is getting closer.
110 $this->incrementFPR1
= 10; // i.e. will alter by 1/[10]th of width and try again until within closer limits
111 $this->incrementFPR2
= 20;
112 $this->incrementFPR3
= 30;
113 $this->incrementFPR4
= 50; // i.e. will alter by 1/[50]th of width and try again when it nearly fits
117 // 1 - allow GRAYSCALE only [convert CMYK/RGB->gray]
118 // 2 - allow RGB / SPOT COLOR / Grayscale [convert CMYK->RGB]
119 // 3 - allow CMYK / SPOT COLOR / Grayscale [convert RGB->CMYK]
120 $this->restrictColorSpace
= 0;
122 // PDFX/1-a Compliant files
123 $this->PDFX
= false; // true=Forces compliance with PDFX-1a spec
124 // Cannot be used with $this->restrictColorSpace (i.e. no RGB)
125 $this->PDFXauto
= false; // Overrides warnings making changes when possible to force PDFX1-a compliance
128 // PDFA1-b Compliant files
129 $this->PDFA
= false; // true=Forces compliance with PDFA-1b spec
130 // Can use with $this->restrictColorSpace=3 (for a CMYK file)
131 // Any other settings, uses RGB profile
132 $this->PDFAauto
= false; // Overrides warnings making changes when possible to force PDFA1-b compliance
133 $this->ICCProfile
= ''; // Colour profile OutputIntent
134 // sRGB_IEC61966-2-1 (=default if blank and PDFA), or other added .icc profile
135 // Must be CMYK for PDFX, or appropriate type for PDFA(RGB or CMYK)
139 // DEBUGGING & DEVELOPERS
140 $this->showStats
= false;
141 $this->debug
= false;
142 $this->debugfonts
= false; // Checks and reports on errors when parsing TTF files - adds significantly to processing time
143 $this->showImageErrors
= false;
144 $this->table_error_report
= false; // Die and report error if table is too wide to contain whole words
145 $this->table_error_report_param
= ''; // Parameter which can be passed to show in error report i.e. chapter number being processed//
149 $this->title2annots
= false;
150 $this->annotSize
= 0.5; // default mm for Adobe annotations - nominal
151 $this->annotMargin
; // default position for Annotations
152 $this->annotOpacity
= 0.5; // default opacity for Annotations
155 $this->anchor2Bookmark
= 0; // makes <a name=""> into a bookmark as well as internal link target; 1 = just name; 2 = name (p.34)
156 // Set an optional array to specify appearance of Bookmarks (by level)
157 // Default values are Black and normal style
160 $this->bookmarkStyles = array(
161 0 => array('color'=> array(0,64,128), 'style'=>'B'),
162 1 => array('color'=> array(128,0,0), 'style'=>''),
163 2 => array('color'=> array(0,128,0), 'style'=>'I'),
166 $this->bookmarkStyles
= array();
170 $this->CSSselectMedia
='print'; // screen, print, or any other CSS @media type (not "all")
173 // PAGE HEADERS & FOOTERS
174 $this->forcePortraitHeaders
= false;
175 // Values used if simple FOOTER/HEADER given i.e. not array
176 $this->defaultheaderfontsize
= 8; // pt
177 $this->defaultheaderfontstyle
= 'BI'; // '', or 'B' or 'I' or 'BI'
178 $this->defaultheaderline
= 1; // 1 or 0 - line under the header
179 $this->defaultfooterfontsize
= 8; // pt
180 $this->defaultfooterfontstyle
= 'BI'; // '', or 'B' or 'I' or 'BI'
181 $this->defaultfooterline
= 1; // 1 or 0 - line over the footer
182 $this->header_line_spacing
= 0.25; // spacing between bottom of header and line (if present) - function of fontsize
183 $this->footer_line_spacing
= 0.25; // spacing between bottom of header and line (if present) - function of fontsize
184 // If 'pad' margin-top sets fixed distance in mm (padding) between bottom of header and top of text.
185 // If 'stretch' margin-top sets a minimum distance in mm between top of page and top of text, which expands if header is too large to fit.
186 $this->setAutoTopMargin
= false;
187 $this->setAutoBottomMargin
= false;
188 $this->autoMarginPadding
= 2; // distance in mm used as padding if 'stretch' mode is used
193 $this->simpleTables
= false; // Forces all cells to have same border, background etc. Improves performance
194 $this->packTableData
= false; // Reduce memory usage processing tables (but with increased processing time)
195 // Using disk to cache table data can reduce memory usage dramatically, but at a cost of increased
196 // executon time and disk access (read and write)
197 $this->cacheTables
= false;
199 $this->ignore_table_percents
= false;
200 $this->ignore_table_widths
= false;
201 $this->keep_table_proportions
= false; // If table width set > page width, force resizing but keep relative sizes
202 // Also forces respect of cell widths set by %
203 $this->shrink_tables_to_fit
= 1.4; // automatically reduce fontsize in table if words would have to split ( not in CJK)
204 // 0 or false to disable; value (if set) gives maximum factor to reduce fontsize
206 $this->tableMinSizePriority
= false; // If page-break-inside:avoid but cannot fit on full page without
207 // exceeding autosize; setting this value to true will force respsect for
208 // autosize, and disable the page-break-inside:avoid
210 $this->use_kwt
= false; // "Keep-with-table"
211 $this->iterationCounter
= false; // Set to TRUE to use table Head iteration counter
212 $this->splitTableBorderWidth
= 0; // Use table border (using this width in mm) when table breaks across pages
213 // Recommended to use small value e.g. 0.01
217 $this->img_dpi
= 96; // Default dpi to output images if size not defined
218 // See also above "dpi"
220 // TEXT SPACING & JUSTIFICATION
221 $this->useKerning
= false; // true to use kerning
222 $this->justifyB4br
= false; // In justified text, <BR> does not cause the preceding text to be justified in browsers
223 // Change to true to force justification (as in MS Word)
225 $this->tabSpaces
= 8; // Number of spaces to replace for a TAB in <pre> sections
226 // Notepad uses 6, HTML specification recommends 8
227 $this->jSWord
= 0.4; // Proportion (/1) of space (when justifying margins) to allocate to Word vs. Character
228 $this->jSmaxChar
= 2; // Maximum spacing to allocate to character spacing. (0 = no maximum)
230 $this->jSmaxCharLast
= 1; // Maximum character spacing allowed (carried over) when finishing a last line
231 $this->jSmaxWordLast
= 2; // Maximum word spacing allowed (carried over) when finishing a last line
232 $this->normalLineheight
= 1.33; // Value used for line-height when CSS specified as 'normal' (default)
235 $this->smCapsScale
= 0.75; // Factor of 1 to scale capital letters
236 $this->smCapsStretch
= 110; // % to stretch small caps horizontally (i.e. 100 = no stretch)
239 $this->allowCJKorphans
= true; // FALSE=always wrap to next line; TRUE=squeeze or overflow
240 $this->allowCJKoverflow
= false; // FALSE=squeeze; TRUE=overflow (only some characters, and disabled in tables)
241 $this->CJKforceend
= false; // Forces overflowng punctuation to hang outside right margin mPDF 5.6.40
244 $this->SHYlang
= "en"; // Should be one of: 'en','de','es','fi','fr','it','nl','pl','ru','sv'
245 $this->SHYleftmin
= 2;
246 $this->SHYrightmin
= 2;
247 $this->SHYcharmin
= 2;
248 $this->SHYcharmax
= 10;
251 $this->keepColumns
= false; // Set to go to the second column only when the first is full of text etc.
252 $this->max_colH_correction
= 1.15; // Maximum ratio to adjust column height when justifying - too large a value can give ugly results
257 $this->list_align_style
= 'R'; // Determines alignment of numbers in numbered lists
258 $this->list_indent_first_level
= 0; // 1/0 yex/no to indent first level of list
259 $this->list_number_suffix
= '.'; // Content to follow a numbered list marker e.g. '.' gives 1. or IV.; ')' gives 1) or a)
262 $this->useActiveForms
= false;
265 $this->watermarkImgBehind
= false;
266 $this->showWatermarkText
= 0;
267 $this->showWatermarkImage
= 0;
268 $this->watermarkText
= '';
269 $this->watermarkImage
= '';
270 $this->watermark_font
= '';
271 $this->watermarkTextAlpha
= 0.2;
272 $this->watermarkImageAlpha
= 0.2;
273 $this->watermarkImgAlphaBlend
= 'Normal';
274 // Accepts any PDF spec. value: Normal, Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn,
275 // HardLight, SoftLight, Difference, Exclusion
276 // "Multiply" works well for watermark image on top
279 $this->autoPadding
= false; // Automatically increases padding in block elements when border-radius set - if required
282 //////////////////////////////////////////////
284 // Default values if no style sheet offered (cf. http://www.w3.org/TR/CSS21/sample.html)
285 $this->defaultCSS
= array(
287 'FONT-FAMILY' => 'serif',
288 'FONT-SIZE' => '11pt',
289 'TEXT-INDENT' => '0pt',
290 'LINE-HEIGHT' => 'normal',
291 'MARGIN-COLLAPSE' => 'collapse', /* Custom property to collapse top/bottom margins at top/bottom of page - ignored in tables/lists */
292 'HYPHENS' => 'manual', /* mPDF 5.6.08 */
295 'MARGIN' => '1.12em 0',
298 'FONT-SIZE' => '2em',
299 'FONT-WEIGHT' => 'bold',
300 'MARGIN' => '0.67em 0',
301 'PAGE-BREAK-AFTER' => 'avoid',
304 'FONT-SIZE' => '1.5em',
305 'FONT-WEIGHT' => 'bold',
306 'MARGIN' => '0.75em 0',
307 'PAGE-BREAK-AFTER' => 'avoid',
310 'FONT-SIZE' => '1.17em',
311 'FONT-WEIGHT' => 'bold',
312 'MARGIN' => '0.83em 0',
313 'PAGE-BREAK-AFTER' => 'avoid',
316 'FONT-WEIGHT' => 'bold',
317 'MARGIN' => '1.12em 0',
318 'PAGE-BREAK-AFTER' => 'avoid',
321 'FONT-SIZE' => '0.83em',
322 'FONT-WEIGHT' => 'bold',
323 'MARGIN' => '1.5em 0',
324 'PAGE-BREAK-AFTER' => 'avoid',
327 'FONT-SIZE' => '0.75em',
328 'FONT-WEIGHT' => 'bold',
329 'MARGIN' => '1.67em 0',
330 'PAGE-BREAK-AFTER' => 'avoid',
333 'COLOR' => '#888888',
334 'TEXT-ALIGN' => 'center',
337 'MARGIN-TOP' => '0.83em',
338 'MARGIN-BOTTOM' => '0.83em',
341 'MARGIN' => '0.83em 0',
342 'FONT-FAMILY' => 'monospace',
345 'TEXT-DECORATION' => 'line-through',
348 'TEXT-DECORATION' => 'line-through',
351 'TEXT-DECORATION' => 'line-through',
354 'VERTICAL-ALIGN' => 'sub',
355 'FONT-SIZE' => '55%', /* Recommended 0.83em */
358 'VERTICAL-ALIGN' => 'super',
359 'FONT-SIZE' => '55%', /* Recommended 0.83em */
362 'TEXT-DECORATION' => 'underline',
365 'TEXT-DECORATION' => 'underline',
368 'FONT-WEIGHT' => 'bold',
371 'FONT-WEIGHT' => 'bold',
374 'FONT-STYLE' => 'italic',
377 'FONT-STYLE' => 'italic',
380 'FONT-STYLE' => 'italic',
383 'FONT-STYLE' => 'italic',
386 'FONT-STYLE' => 'italic',
389 'FONT-FAMILY' => 'monospace',
392 'FONT-FAMILY' => 'monospace',
395 'FONT-FAMILY' => 'monospace',
398 'FONT-FAMILY' => 'monospace',
401 'FONT-SIZE' => '83%',
404 'FONT-SIZE' => '117%',
407 'FONT-SIZE' => '77%',
408 'FONT-WEIGHT' => 'bold',
411 'FONT-STYLE' => 'italic',
413 'BLOCKQUOTE' => array(
414 'MARGIN-LEFT' => '40px',
415 'MARGIN-RIGHT' => '40px',
416 'MARGIN-TOP' => '1.12em',
417 'MARGIN-BOTTOM' => '1.12em',
420 'COLOR' => '#0000FF',
421 'TEXT-DECORATION' => 'underline',
424 'MARGIN' => '0.83em 0', /* only applied to top-level of nested lists */
425 'TEXT-INDENT' => '1.3em', /* Custom effect - list indent */
428 'MARGIN' => '0.83em 0', /* only applied to top-level of nested lists */
429 'TEXT-INDENT' => '1.3em', /* Custom effect - list indent */
432 'MARGIN' => '1.67em 0',
437 'PADDING-LEFT' => '40px',
441 'BORDER-COLLAPSE' => 'separate',
442 'BORDER-SPACING' => '2px',
443 'EMPTY-CELLS' => 'show',
444 'LINE-HEIGHT' => '1.2',
445 'VERTICAL-ALIGN' => 'middle',
452 'FONT-WEIGHT' => 'bold',
453 'TEXT-ALIGN' => 'center',
454 'PADDING-LEFT' => '0.1em',
455 'PADDING-RIGHT' => '0.1em',
456 'PADDING-TOP' => '0.1em',
457 'PADDING-BOTTOM' => '0.1em',
460 'PADDING-LEFT' => '0.1em',
461 'PADDING-RIGHT' => '0.1em',
462 'PADDING-TOP' => '0.1em',
463 'PADDING-BOTTOM' => '0.1em',
466 'TEXT-ALIGN' => 'center',
470 'VERTICAL-ALIGN' => 'baseline',
473 'FONT-FAMILY' => 'sans-serif',
474 'VERTICAL-ALIGN' => 'middle',
475 'FONT-SIZE' => '0.9em',
478 'FONT-FAMILY' => 'sans-serif',
479 'FONT-SIZE' => '0.9em',
480 'VERTICAL-ALIGN' => 'middle',
483 'FONT-FAMILY' => 'monospace',
484 'FONT-SIZE' => '0.9em',
485 'VERTICAL-ALIGN' => 'text-bottom',
487 'MARK' => array( /* mPDF 5.5.09 */
488 'BACKGROUND-COLOR' => 'yellow',
493 //////////////////////////////////////////////////
494 // VALUES ONLY LIKELY TO BE CHANGED BY DEVELOPERS
495 //////////////////////////////////////////////////
496 $this->pdf_version
= '1.4';
499 $this->SHYlanguages
= array('en','de','es','fi','fr','it','nl','pl','ru','sv'); // existing defined patterns
501 $this->default_lineheight_correction
=1.2; // Value 1 sets lineheight=fontsize height;
502 // Value used if line-height not set by CSS (usuallly is)
504 $this->fontsizes
= array('XX-SMALL'=>0.7, 'X-SMALL'=>0.77, 'SMALL'=>0.86, 'MEDIUM'=>1, 'LARGE'=>1.2, 'X-LARGE'=>1.5, 'XX-LARGE'=>2);
506 // CHARACTER PATTERN MATCHES TO DETECT LANGUAGES
507 // pattern used to detect RTL characters -> force RTL
508 $this->pregRTLchars
= "\x{0590}-\x{06FF}\x{0700}-\x{083E}\x{FB00}-\x{FDFD}\x{FE70}-\x{FEFF}";
510 // CJK Chars which require changing and are distinctive of specific charset
511 $this->pregUHCchars
= "\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}";
512 $this->pregSJISchars
= "\x{3040}-\x{309F}\x{30A0}-\x{30FF}\x{3190}-\x{319F}\x{31F0}-\x{31FF}";
514 // Chars which distinguish CJK but not between different
515 $this->pregCJKchars
= "\x{1100}-\x{11FF}\x{2E80}-\x{A4CF}\x{A800}-\x{D7AF}\x{F900}-\x{FAFF}\x{FE30}-\x{FE6F}\x{FF00}-\x{FFEF}\x{20000}-\x{2FA1F}";
517 // For CJK Line-breaking
518 //Leading characters - Not allowed at end of line
519 $this->CJKleading
= "\$\(\*\[\{\x{00a3}\x{00a5}\x{00ab}\x{00b7}\x{2018}\x{201c}\x{2035}\x{3005}\x{3007}\x{3008}\x{300a}\x{300c}\x{300e}\x{3010}\x{3014}\x{3016}\x{3018}\x{301d}\x{fe34}\x{fe57}\x{fe59}\x{fe5b}\x{ff04}\x{ff08}\x{ff0e}\x{ff3b}\x{ff5b}\x{ff5f}\x{ffe1}\x{ffe5}\x{ffe6}";
520 // Following characters - Not allowed at start
521 $this->CJKfollowing
= "!%\),\.:;>\?\]\}\x{00a2}\x{00a8}\x{00b0}\x{00b7}\x{00bb}\x{02c7}\x{02c9}\x{2010}\x{2013}-\x{2016}\x{2019}\x{201d}-\x{201f}\x{2020}-\x{2022}\x{2025}\x{2027}\x{203a}\x{203c}\x{2047}-\x{2049}\x{2103}\x{2236}\x{2574}\x{3001}-\x{3003}\x{3005}\x{3006}\x{3009}\x{300b}\x{300d}\x{300f}\x{3011}\x{3015}\x{3017}\x{3019}\x{301c}\x{301e}\x{301f}\x{303b}\x{3041}\x{3043}\x{3045}\x{3047}\x{3049}\x{3063}\x{3083}\x{3085}\x{3087}\x{308e}\x{3095}\x{3096}\x{30a0}\x{30a1}\x{30a3}\x{30a5}\x{30a7}\x{30a9}\x{30c3}\x{30e3}\x{30e5}\x{30e7}\x{30ee}\x{30f5}\x{30f6}\x{30fb}-\x{30fe}\x{31f0}-\x{31ff}\x{fe30}-\x{fe33}\x{fe50}-\x{fe56}\x{fe58}\x{fe5a}\x{fe5c}\x{ff01}\x{ff02}\x{ff05}\x{ff07}\x{ff09}\x{ff0c}\x{ff0e}\x{ff1a}\x{ff1b}\x{ff1f}\x{ff3d}\x{ff40}\x{ff5c}-\x{ff5e}\x{ff60}\x{ff64}";
522 // Characters which are allowed to overflow the right margin
523 $this->CJKoverflow
= "\.,\x{ff61}\x{ff64}\x{3001}\x{3002}\x{ff0c}\x{ff0e}";
527 // ASCII Chars which shouldn't break string
528 // Use for very specific words
529 $this->pregASCIIchars1
= "\x{0021}-\x{002E}\x{0030}-\x{003B}?"; // no [SPACE]
531 $this->pregASCIIchars2
= "\x{0020}-\x{002E}\x{0030}-\x{003B}?"; // [SPACE] punctuation and 0-9
532 // Use for chunks > words
533 $this->pregASCIIchars3
= "\x{0000}-\x{002E}\x{0030}-\x{003B}\x{003F}-\x{007E}"; // all except <>
534 // Vietnamese - specific
535 $this->pregVIETchars
= "\x{01A0}\x{01A1}\x{01AF}\x{01B0}\x{1EA0}-\x{1EF1}";
536 // Vietnamese - Chars which shouldn't break string
537 $this->pregVIETPluschars
= "\x{0000}-\x{003B}\x{003F}-\x{00FF}\x{0300}-\x{036F}\x{0102}\x{0103}\x{0110}\x{0111}\x{0128}\x{0129}\x{0168}\x{0169}\x{1EF1}-\x{1EF9}"; // omits < >
540 $this->pregARABICchars
= "\x{0600}-\x{06FF}\x{0750}-\x{077F}\x{FB50}-\x{FDFD}\x{FE70}-\x{FEFF}";
541 // Characters of Urdu, Pashto, Sindhi (but NOT arabic or persian/farsi) [not covered by DejavuSans font]
542 $this->pregNonARABICchars
= "\x{0671}-\x{067D}\x{067F}-\x{0685}\x{0687}-\x{0697}\x{0699}-\x{06A8}\x{06AA}-\x{06AE}\x{06B0}-\x{06CB}\x{06CD}-\x{06D3}";
544 $this->pregHEBchars
= "\x{0590}-\x{05FF}\x{FB00}-\x{FB49}"; // Hebrew
547 $this->pregHIchars
= "\x{0900}-\x{0963}\x{0966}-\x{097F}"; // Devanagari (Hindi) minus the common indic punctuation 0964,0965
548 $this->pregBNchars
= "\x{0980}-\x{09FF}"; // Bengali
549 $this->pregPAchars
= "\x{0A00}-\x{0A7F}"; // Gurmukhi (Punjabi)
550 $this->pregGUchars
= "\x{0A80}-\x{0AFF}"; // Gujarati
551 $this->pregORchars
= "\x{0B00}-\x{0B7F}"; // Oriya
552 $this->pregTAchars
= "\x{0B80}-\x{0BFF}"; // Tamil
553 $this->pregTEchars
= "\x{0C00}-\x{0C7F}"; // Telugu
554 $this->pregKNchars
= "\x{0C80}-\x{0CFF}"; // Kannada
555 $this->pregMLchars
= "\x{0D00}-\x{0D7F}"; // Malayalam
556 $this->pregSHchars
= "\x{0D80}-\x{0DFF}"; // Sinhala
558 $this->pregINDextra
= "\x{200B}-\x{200D}\x{0964}\x{0965}\x{0020}-\x{0022}\x{0024}-\x{002E}\x{003A}-\x{003F}\x{005B}-\x{0060}\x{007B}-\x{007E}\x{00A0}";
559 // 200B-D=Zero-width joiners; 0964,0965=Generic Indic punctuation; NBSP & general punctuation (excludes # and / so can use in autoFont() )
561 $this->allowedCSStags
= 'DIV|P|H1|H2|H3|H4|H5|H6|FORM|IMG|A|BODY|TABLE|HR|THEAD|TFOOT|TBODY|TH|TR|TD|UL|OL|LI|PRE|BLOCKQUOTE|ADDRESS|DL|DT|DD';
562 $this->allowedCSStags
.= '|ARTICLE|ASIDE|FIGURE|FIGCAPTION|FOOTER|HEADER|HGROUP|NAV|SECTION|MARK|DETAILS|SUMMARY|METER|PROGRESS|TIME'; // mPDF 5.5.09
563 $this->allowedCSStags
.= '|SPAN|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|STRIKE|S|U|DEL|INS|Q|FONT';
564 $this->allowedCSStags
.= '|SELECT|INPUT|TEXTAREA|CAPTION|FIELDSET|LEGEND'; // mPDF 5.4.18
565 $this->allowedCSStags
.= '|TEXTCIRCLE|DOTTAB'; // mPDF 5.5.23 // mPDF 5.6.33
567 $this->outerblocktags
= array('DIV','FORM','CENTER','DL','FIELDSET','ARTICLE','ASIDE','FIGURE','FIGCAPTION', 'FOOTER','HEADER','HGROUP','NAV','SECTION','DETAILS','SUMMARY'); // mPDF 5.5.09 // mPDF 5.5.22
568 $this->innerblocktags
= array('P','BLOCKQUOTE','ADDRESS','PRE','H1','H2','H3','H4','H5','H6','DT','DD','CAPTION');