ควบคุมไปป์ไลน์การจัดรูป การจัดตำแหน่ง รูปแบบโลแคล และการเตรียมสคริปต์ล่วงหน้าฝั่งผู้ผลิตของ HotPDF ค่าเริ่มต้นที่เป็นชุดว่างจะรักษาผลลัพธ์ให้มีความเสถียรในระดับไบต์ แต่ละแฟล็กจะเปิดใช้งานเส้นทาง GSUB, GPOS หรือสคริปต์เฉพาะเมื่อฟอนต์ Unicode และการเรียกใช้ข้อความต้องการใช้งาน 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
| API | Usage notes |
sfArabicGSUB | Enables native Arabic GSUB contextual shaping by applying the registered font's init, medi, fina, isol, rlig, calt, and rclt lookups, then emitting the resulting glyph IDs through synthetic codepoints when needed |
sfStandardLigatures | Applies standard Latin ligature substitutions such as fi, fl, ffi, and ffl when the font exposes the liga feature |
sfContextualLigatures | Adds contextual ligature substitution through clig after the standard ligature pass |
sfStylisticAlternates | Reserves the shaping flag for caller-controlled stylistic alternate workflows that query alternate glyphs explicitly |
sfIndicShaping | Runs the conservative Indic syllable reorder path before text output without forcing full GSUB feature application |
sfContextualAlternates | Applies required contextual alternates through the rclt-capable GSUB contextual lookup path |
sfKerning | Enables GPOS pair-kerning adjustments during left-to-right Unicode text emission |
sfMarkPositioning | Enables GPOS Mark-to-Base and Mark-to-Mark offsets for combining marks |
sfTibetanShaping | Enables Tibetan GSUB shaping and synthetic-codepoint emission for shaped Tibetan glyph IDs |
sfMongolianShaping | Enables Mongolian positional-form shaping through joining analysis and font GSUB lookups |
sfIndicGSUB | Runs the Indic reorder and GSUB feature chain, then emits shaped glyph IDs through synthetic codepoints |
sfLocalizedForms | Applies GSUB locl localized-form substitutions under the active script and language |
sfVerticalKerning | Enables GPOS vkrn and vpal vertical advance adjustment in the vertical text output path |
sfThaiLaoReorder | Enables Thai/Lao SARA AM decomposition and tone-mark ordering before cmap-to-GID mapping |
sfHebrewReorder | Orders Hebrew niqqud and points by canonical combining class before RTL output and mark placement |
sfJavaneseShaping | Enables Javanese pre-base vowel-sign reorder before glyph mapping |
sfMarkToLigature | Enables GPOS Mark-to-Ligature placement for combining marks attached to ligature components |
sfCursiveAttachment | Enables GPOS cursive entry/exit anchor alignment for glyph runs shaped by the font's native Arabic GSUB lookups |
sfDiscretionaryLigatures | Applies discretionary ligature substitutions through the OpenType dlig feature |
sfHistoricalLigatures | Applies historical ligature substitutions through the OpenType hlig feature |
sfSmallCaps | Applies lower-case to small-cap substitutions through the OpenType smcp feature |
sfCapsToSmallCaps | Applies capital-to-small-cap substitutions through the OpenType c2sc feature |
sfOldstyleFigures | Applies oldstyle digit substitutions through the OpenType onum feature |
sfLiningFigures | Applies lining digit substitutions through the OpenType lnum feature |
sfSuperscripts | Applies superscript glyph substitutions through the OpenType sups feature |
sfSubscripts | Applies subscript glyph substitutions through the OpenType subs feature |
sfOrdinals | Applies ordinal glyph substitutions through the OpenType ordn feature |
sfFractions | Applies numerator, fraction slash, and denominator substitutions through the OpenType frac feature |
sfTaiVietReorder | Enables Tai Viet visual-order-left vowel and mark ordering before cmap-to-GID mapping |
sfMeeteiMayekShaping | Enables Meetei Mayek Brahmic-style syllable reorder before cmap-to-GID mapping |
sfDistancePositioning | Applies GPOS distance positioning for complex-script spacing lookups beyond plain kerning |
sfKhmerShaping | Enables Khmer pre-base vowel and cluster reorder before cmap-to-GID mapping |
sfMyanmarShaping | Enables Myanmar kinzi, pre-base vowel, medial, and mark reorder before cmap-to-GID mapping |
sfVerticalAlternates | Applies vertical alternate substitutions through the OpenType vert and vrt2 features |
sfCaseSensitiveForms | Applies case-sensitive punctuation and symbol substitutions through the OpenType case feature |
sfSlashedZero | Applies slashed-zero digit substitutions through the OpenType zero feature |
sfProportionalFigures | Applies proportional digit-width substitutions through the OpenType pnum feature |
sfTabularFigures | Applies tabular digit-width substitutions through the OpenType tnum feature |
sfScientificInferiors | Applies scientific inferior glyph substitutions through the OpenType sinf feature |
sfNumerators | Applies numerator glyph substitutions through the OpenType numr feature |
sfDenominators | Applies denominator glyph substitutions through the OpenType dnom feature |
Usage notes
ใช้ property นี้หลัง RegisterUnicodeTTF และก่อนเขียนข้อความ เลือก sfLocalizedForms สำหรับ locl substitutions, flags กลุ่ม feature สำหรับ typographic alternates และ figure styles, sfKerning, sfVerticalKerning และ sfDistancePositioning สำหรับ GPOS advance adjustment, sfMarkPositioning, sfMarkToLigature และ sfCursiveAttachment สำหรับ mark หรือ cursive attachment, sfIndicGSUB สำหรับ Indic GSUB shaping เต็มรูปแบบ และ flags preprocess เฉพาะ script สำหรับ Thai/Lao, Khmer, Myanmar, Tai Viet, Meetei Mayek, Hebrew และ Javanese text
See also: Automatic Shaping Pipeline GPOS methods Indic shaping methods Script shaping preprocess methods
|