mPDF Manual – What Else Can I Do

# Hyphenation

(mPDF ≥ 2.5)

Hyphenation was changed in mPDF 5.7 to support the CSS property hyphens (cf.)

The CSS property hyphens is supported on block elements (e.g. <div>), inline elements (e.g. <span>) and <td>/<th>.

hyphens: none|manual|auto


Default: manual

The default can be changed by altering defaultCSS configuration variable;

Values:

• none - Words are not broken at line breaks, even if characters inside the word suggest line break points.
• manual - Words are only broken at line breaks where there are characters inside the word that suggest line break opportunities. Characters can be explicit or conditional.
• auto - Words can be broken at appropriate hyphenation points, as determined by characters inside the word, resources. SHY (i.e. soft-hyphen) inside the word take priority over hyphenation points determined by other resources.

### Soft hyphens

The soft-hyphen character (U+00AD or &shy;) and the <wbr> tag (from mPDF 5.7) are supported in WriteHTML().

### Automatic hyphenation

Automatic hyphenation is set using CSS:

hyphens: auto;


Automatic hyphenation is based on the commonly used TeX algorithm and requires pattern files for each language. The following languages are supplied with mPDF 2.5:

Language $SHYlang variable English 'en' (Default) German 'de' Spanish 'es' Finnish 'fi' French 'fr' Italian 'it' Dutch 'nl' Portuguese 'pl' Russian 'ru' Swedish 'sv' A pattern file for each language is found in the directory [mpdf root]/data/patterns/ and the configuration variable$SHYlanguages needs to be updated if any additions are made. The $SHYlang variable specifies which language to use for the automatic hyphenation from the$SHYlanguages array.

Pattern checking can be fine-tuned by four variables if required:

mPDF variable Default value Description
$SHYleftmin 2 Minimum number of characters allowed to the left of a hyphen.$SHYrightmin 2 Minimum number of characters allowed to the right of a hyphen.
$SHYcharmin 2 Minimum number of characters of words to be checked.$SHYcharmax 10 Maximum number of characters in a pattern used for pattern checking (10 usually is more than enough). This is NOT the maximum length of words to be checked.

## Examples

<?php
$mpdf = new \Mpdf\Mpdf();$mpdf->SHYlang = 'fr';
$mpdf->SHYleftmin = 3;$mpdf->WriteHTML('La grande texte....');

\$mpdf->Output();



## Hyphenation Dictionary

If automatic hyphenation does not recognise a particular word, you can add words to a dictionary file with your own hyphenation. Edit the file [path to mpdf]/patterns/dictionary.txt and add a new line for each word, marking the possible hyphenations with a forward slash. You can mark more than one place for each word e.g. dis/es/tab/lish/men/tar/i/an/ism