PluginProbe
PDF & Print by BestWebSoft – WordPress Posts and Pages PDF Generator Plugin / 1.7.1
PDF & Print by BestWebSoft – WordPress Posts and Pages PDF Generator Plugin v1.7.1
trunk 1.5 1.6 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 All 71 releases
pdf-print / mpdf / config.php

config.php in PDF & Print by BestWebSoft – WordPress Posts and Pages PDF Generator Plugin 1.7.1, at mpdf/config.php

572 lines 23.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 // mPDF 5.7
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);
14 */
15
16 // mPDF 5.7
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
20 // DM - middot U+00B7
21 // DA - arabic decimal mark U+066B
22 $this->decimal_align = array('DP'=>'.', 'DC'=>',', 'DM'=>"\xc2\xb7", 'DA'=>"\xd9\xab", 'DD'=>'-');
23
24 // PAGING
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
35 // mPDF 5.5
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)
38
39
40 // PAGE NUMBERING
41 $this->pagenumPrefix;
42 $this->pagenumSuffix;
43 $this->nbpgPrefix;
44 $this->nbpgSuffix;
45
46
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;
52
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;
62
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()
67
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;
73
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
79
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)
82
83 // CONFIGURATION
84 $this->allow_output_buffering = false;
85
86 $this->enableImports = false; // Adding mPDFI functions
87
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>';
94
95 $this->dpi = 96; // To interpret "px" pixel values in HTML/CSS (see img_dpi below)
96
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;
100
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;
104
105
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
114
115
116 // COLORSPACE
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;
121
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
126
127
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)
136
137
138
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//
146
147
148 // ANNOTATIONS
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
153
154 // BOOKMARKS
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
158 /*
159 Example:
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'),
164 );
165 */
166 $this->bookmarkStyles = array();
167
168
169 // CSS & STYLES
170 $this->CSSselectMedia='print'; // screen, print, or any other CSS @media type (not "all")
171
172
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
189
190
191
192 // TABLES
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;
198
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
205
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
209
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
214
215
216 // IMAGES
217 $this->img_dpi = 96; // Default dpi to output images if size not defined
218 // See also above "dpi"
219
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)
224
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)
229
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)
233
234 // Small Caps
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)
237
238 // CJK Line-breaking
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
242
243 // HYPHENATION
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;
249
250 // COLUMNS
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
253 $this->ColGap=5;
254
255
256 // LISTS
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)
260
261 // ACTIVE FORMS
262 $this->useActiveForms = false;
263
264 // WATERMARKS
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
277
278 // BORDERS
279 $this->autoPadding = false; // Automatically increases padding in block elements when border-radius set - if required
280
281
282 //////////////////////////////////////////////
283
284 // Default values if no style sheet offered (cf. http://www.w3.org/TR/CSS21/sample.html)
285 $this->defaultCSS = array(
286 'BODY' => 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 */
293 ),
294 'P' => array(
295 'MARGIN' => '1.12em 0',
296 ),
297 'H1' => array(
298 'FONT-SIZE' => '2em',
299 'FONT-WEIGHT' => 'bold',
300 'MARGIN' => '0.67em 0',
301 'PAGE-BREAK-AFTER' => 'avoid',
302 ),
303 'H2' => array(
304 'FONT-SIZE' => '1.5em',
305 'FONT-WEIGHT' => 'bold',
306 'MARGIN' => '0.75em 0',
307 'PAGE-BREAK-AFTER' => 'avoid',
308 ),
309 'H3' => array(
310 'FONT-SIZE' => '1.17em',
311 'FONT-WEIGHT' => 'bold',
312 'MARGIN' => '0.83em 0',
313 'PAGE-BREAK-AFTER' => 'avoid',
314 ),
315 'H4' => array(
316 'FONT-WEIGHT' => 'bold',
317 'MARGIN' => '1.12em 0',
318 'PAGE-BREAK-AFTER' => 'avoid',
319 ),
320 'H5' => array(
321 'FONT-SIZE' => '0.83em',
322 'FONT-WEIGHT' => 'bold',
323 'MARGIN' => '1.5em 0',
324 'PAGE-BREAK-AFTER' => 'avoid',
325 ),
326 'H6' => array(
327 'FONT-SIZE' => '0.75em',
328 'FONT-WEIGHT' => 'bold',
329 'MARGIN' => '1.67em 0',
330 'PAGE-BREAK-AFTER' => 'avoid',
331 ),
332 'HR' => array(
333 'COLOR' => '#888888',
334 'TEXT-ALIGN' => 'center',
335 'WIDTH' => '100%',
336 'HEIGHT' => '0.2mm',
337 'MARGIN-TOP' => '0.83em',
338 'MARGIN-BOTTOM' => '0.83em',
339 ),
340 'PRE' => array(
341 'MARGIN' => '0.83em 0',
342 'FONT-FAMILY' => 'monospace',
343 ),
344 'S' => array(
345 'TEXT-DECORATION' => 'line-through',
346 ),
347 'STRIKE' => array(
348 'TEXT-DECORATION' => 'line-through',
349 ),
350 'DEL' => array(
351 'TEXT-DECORATION' => 'line-through',
352 ),
353 'SUB' => array(
354 'VERTICAL-ALIGN' => 'sub',
355 'FONT-SIZE' => '55%', /* Recommended 0.83em */
356 ),
357 'SUP' => array(
358 'VERTICAL-ALIGN' => 'super',
359 'FONT-SIZE' => '55%', /* Recommended 0.83em */
360 ),
361 'U' => array(
362 'TEXT-DECORATION' => 'underline',
363 ),
364 'INS' => array(
365 'TEXT-DECORATION' => 'underline',
366 ),
367 'B' => array(
368 'FONT-WEIGHT' => 'bold',
369 ),
370 'STRONG' => array(
371 'FONT-WEIGHT' => 'bold',
372 ),
373 'I' => array(
374 'FONT-STYLE' => 'italic',
375 ),
376 'CITE' => array(
377 'FONT-STYLE' => 'italic',
378 ),
379 'Q' => array(
380 'FONT-STYLE' => 'italic',
381 ),
382 'EM' => array(
383 'FONT-STYLE' => 'italic',
384 ),
385 'VAR' => array(
386 'FONT-STYLE' => 'italic',
387 ),
388 'SAMP' => array(
389 'FONT-FAMILY' => 'monospace',
390 ),
391 'CODE' => array(
392 'FONT-FAMILY' => 'monospace',
393 ),
394 'KBD' => array(
395 'FONT-FAMILY' => 'monospace',
396 ),
397 'TT' => array(
398 'FONT-FAMILY' => 'monospace',
399 ),
400 'SMALL' => array(
401 'FONT-SIZE' => '83%',
402 ),
403 'BIG' => array(
404 'FONT-SIZE' => '117%',
405 ),
406 'ACRONYM' => array(
407 'FONT-SIZE' => '77%',
408 'FONT-WEIGHT' => 'bold',
409 ),
410 'ADDRESS' => array(
411 'FONT-STYLE' => 'italic',
412 ),
413 'BLOCKQUOTE' => array(
414 'MARGIN-LEFT' => '40px',
415 'MARGIN-RIGHT' => '40px',
416 'MARGIN-TOP' => '1.12em',
417 'MARGIN-BOTTOM' => '1.12em',
418 ),
419 'A' => array(
420 'COLOR' => '#0000FF',
421 'TEXT-DECORATION' => 'underline',
422 ),
423 'UL' => array(
424 'MARGIN' => '0.83em 0', /* only applied to top-level of nested lists */
425 'TEXT-INDENT' => '1.3em', /* Custom effect - list indent */
426 ),
427 'OL' => array(
428 'MARGIN' => '0.83em 0', /* only applied to top-level of nested lists */
429 'TEXT-INDENT' => '1.3em', /* Custom effect - list indent */
430 ),
431 'DL' => array(
432 'MARGIN' => '1.67em 0',
433 ),
434 'DT' => array(
435 ),
436 'DD' => array(
437 'PADDING-LEFT' => '40px',
438 ),
439 'TABLE' => array(
440 'MARGIN' => '0',
441 'BORDER-COLLAPSE' => 'separate',
442 'BORDER-SPACING' => '2px',
443 'EMPTY-CELLS' => 'show',
444 'LINE-HEIGHT' => '1.2',
445 'VERTICAL-ALIGN' => 'middle',
446 ),
447 'THEAD' => array(
448 ),
449 'TFOOT' => array(
450 ),
451 'TH' => array(
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',
458 ),
459 'TD' => array(
460 'PADDING-LEFT' => '0.1em',
461 'PADDING-RIGHT' => '0.1em',
462 'PADDING-TOP' => '0.1em',
463 'PADDING-BOTTOM' => '0.1em',
464 ),
465 'CAPTION' => array(
466 'TEXT-ALIGN' => 'center',
467 ),
468 'IMG' => array(
469 'MARGIN' => '0',
470 'VERTICAL-ALIGN' => 'baseline',
471 ),
472 'INPUT' => array(
473 'FONT-FAMILY' => 'sans-serif',
474 'VERTICAL-ALIGN' => 'middle',
475 'FONT-SIZE' => '0.9em',
476 ),
477 'SELECT' => array(
478 'FONT-FAMILY' => 'sans-serif',
479 'FONT-SIZE' => '0.9em',
480 'VERTICAL-ALIGN' => 'middle',
481 ),
482 'TEXTAREA' => array(
483 'FONT-FAMILY' => 'monospace',
484 'FONT-SIZE' => '0.9em',
485 'VERTICAL-ALIGN' => 'text-bottom',
486 ),
487 'MARK' => array( /* mPDF 5.5.09 */
488 'BACKGROUND-COLOR' => 'yellow',
489 ),
490 );
491
492
493 //////////////////////////////////////////////////
494 // VALUES ONLY LIKELY TO BE CHANGED BY DEVELOPERS
495 //////////////////////////////////////////////////
496 $this->pdf_version = '1.4';
497
498 // Hyphenation
499 $this->SHYlanguages = array('en','de','es','fi','fr','it','nl','pl','ru','sv'); // existing defined patterns
500
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)
503
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);
505
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}";
509
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}";
513
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}";
516
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}";
524
525
526
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]
530 // Use for words+
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 < >
538
539 // Arabic
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}";
543
544 $this->pregHEBchars = "\x{0590}-\x{05FF}\x{FB00}-\x{FB49}"; // Hebrew
545
546 // INDIC
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
557
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() )
560
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
566
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');
569
570
571
572 ?>