THotPDF.ShapingFeatures Property

THotPDF API reference

 

THotPDF Methods  Auto Shaping  GSUB

Controls HotPDF's opt-in producer-side shaping, positioning, localised-form, and script-preprocess pipeline

 

Delphi syntax

property ShapingFeatures: THPDFShapingFeatures read FShapingFeatures write FShapingFeatures;

type THPDFShapingFeature = (sfArabicGSUB, sfStandardLigatures, sfContextualLigatures, sfStylisticAlternates, sfIndicShaping, sfContextualAlternates, sfKerning, sfMarkPositioning, sfTibetanShaping, sfMongolianShaping, sfIndicGSUB, sfLocalizedForms, sfVerticalKerning, sfThaiLaoReorder, sfHebrewReorder, sfJavaneseShaping, sfMarkToLigature, sfCursiveAttachment, sfDiscretionaryLigatures, sfHistoricalLigatures, sfSmallCaps, sfCapsToSmallCaps, sfOldstyleFigures, sfLiningFigures, sfSuperscripts, sfSubscripts, sfOrdinals, sfFractions, sfTaiVietReorder, sfMeeteiMayekShaping, sfDistancePositioning, sfKhmerShaping, sfMyanmarShaping, sfVerticalAlternates, sfCaseSensitiveForms, sfSlashedZero, sfProportionalFigures, sfTabularFigures, sfScientificInferiors, sfNumerators, sfDenominators);

 

Covered APIs

APIUsage notes
sfArabicGSUBEnables native Arabic GSUB contextual shaping
sfStandardLigaturesApplies standard Latin ligatures through liga
sfContextualLigaturesApplies contextual ligatures through clig
sfStylisticAlternatesEnables caller-controlled stylistic alternate workflows
sfIndicShapingEnables conservative Indic syllable reordering
sfContextualAlternatesApplies required contextual alternates through rclt
sfKerningEnables GPOS pair kerning
sfMarkPositioningEnables GPOS Mark-to-Base and Mark-to-Mark offsets
sfTibetanShapingEnables Tibetan GSUB shaping
sfMongolianShapingEnables Mongolian positional-form shaping
sfIndicGSUBEnables Indic reorder plus GSUB feature application
sfLocalizedFormsApplies localised-form substitutions through locl
sfVerticalKerningEnables vertical kerning through vkrn and vpal
sfThaiLaoReorderEnables Thai/Lao SARA AM decomposition and mark ordering
sfHebrewReorderEnables Hebrew mark ordering by canonical combining class
sfJavaneseShapingEnables Javanese pre-base vowel-sign reorder
sfMarkToLigatureEnables GPOS Mark-to-Ligature placement
sfCursiveAttachmentEnables GPOS cursive entry/exit anchor alignment
sfDiscretionaryLigaturesApplies discretionary ligatures through dlig
sfHistoricalLigaturesApplies historical ligatures through hlig
sfSmallCapsApplies small-cap substitutions through smcp
sfCapsToSmallCapsApplies capital-to-small-cap substitutions through c2sc
sfOldstyleFiguresApplies oldstyle figures through onum
sfLiningFiguresApplies lining figures through lnum
sfSuperscriptsApplies superscript glyphs through sups
sfSubscriptsApplies subscript glyphs through subs
sfOrdinalsApplies ordinal glyphs through ordn
sfFractionsApplies fraction substitutions through frac
sfTaiVietReorderEnables Tai Viet vowel and mark ordering
sfMeeteiMayekShapingEnables Meetei Mayek syllable reorder
sfDistancePositioningEnables GPOS distance positioning
sfKhmerShapingEnables Khmer pre-base vowel and cluster reorder
sfMyanmarShapingEnables Myanmar kinzi, pre-base vowel, medial, and mark reorder
sfVerticalAlternatesApplies vertical alternates through vert and vrt2
sfCaseSensitiveFormsApplies case-sensitive forms through case
sfSlashedZeroApplies slashed zero through zero
sfProportionalFiguresApplies proportional figures through pnum
sfTabularFiguresApplies tabular figures through tnum
sfScientificInferiorsApplies scientific inferiors through sinf
sfNumeratorsApplies numerators through numr
sfDenominatorsApplies denominators through dnom

 

Usage notes

Use this property after RegisterUnicodeTTF and before writing text. Choose typographic feature and figure-style flags, GPOS flags for spacing and anchors, and script-specific preprocess flags before cmap-to-GID mapping

 

See also: Automatic Shaping Pipeline GPOS methods Indic shaping methods Script shaping preprocess methods