Class CustomHyphenationDefinitions
Defines the sources for custom hyphenation patterns and exceptions. Sources can be local file paths or HTTP/HTTPS URLs.
Inheritance
Namespace: IronPdf
Assembly: IronPdf.dll
Syntax
public class CustomHyphenationDefinitions : Object
A pair of TeX-format hyphenation files that the Chromium engine consults during HTML-to-PDF rendering is supplied to IronPDF through CustomHyphenationDefinitions. It exposes a parameterless constructor with two string properties that hold either local file paths or http/https URLs to a patterns file and an optional exceptions file.
Use CustomHyphenationDefinitions when the built-in PdfHyphenationLanguage enum on ChromePdfRenderOptions.HyphenationLanguage does not cover the language being rendered. The enum currently exposes only EnglishUS, EnglishBritish, and Russian. Custom definitions cover the rest, including French, German, Spanish, Italian, Polish, and the dozens of additional locales published as TeX pattern files by the tex-hyphen project. The class is also the right path when a project wants to ship its own tuned patterns for narrow-column invoices, legal contracts, or multilingual reports where hyphens: auto produces awkward breaks under the default rules.
Configuration is by property assignment. PatternSource is required and accepts the path or URL of the pattern file (for example hyph-en-us.pat.txt). ExceptionSource is optional and points at the matching exceptions file (for example hyph-en-us.hyp.txt). The configured object is assigned to ChromePdfRenderOptions.CustomHyphenation on a ChromePdfRenderer and the renderer reads the pattern data the first time RenderHtmlAsPdf runs. After that first load the patterns are cached in memory by the exact string value of the two source properties, so multiple renderers pointing at the same paths share the same compiled patterns. The hyphenation rules only fire on HTML elements that carry the CSS hyphens: auto declaration. The custom hyphenation how-to demonstrates both the remote-URL and local-file workflows, along with the constraints on file size, content type, and SSRF protections for private IPs.
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CustomHyphenation = new CustomHyphenationDefinitions
{
PatternSource = "https://raw.githubusercontent.com/hyphenation/tex-hyphen/master/hyph-utf8/tex/generic/hyph-utf8/patterns/txt/hyph-en-us.pat.txt",
ExceptionSource = "https://raw.githubusercontent.com/hyphenation/tex-hyphen/master/hyph-utf8/tex/generic/hyph-utf8/patterns/txt/hyph-en-us.hyp.txt"
};
var html = "<div style='text-align:justify; hyphens:auto; width:120px;'>Supercalifragilisticexpialidocious</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("hyphenated.pdf");For the precedence rules between custom definitions and the built-in language presets, see the PdfHyphenationLanguage enum reference. Other settings on the same options object are documented in the ChromePdfRenderOptions reference.
Constructors
CustomHyphenationDefinitions()
Declaration
public CustomHyphenationDefinitions()
Properties
ExceptionSource
Path or URL to the exceptions file (e.g., "hyph-en-us.hyp.txt").
Declaration
public string ExceptionSource { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
PatternSource
Path or URL to the patterns file (e.g., "hyph-en-us.pat.txt").
Declaration
public string PatternSource { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |