Details
Description
I needed to output vertical Japanese text, but was stymied by several limitations:
- No API to load a TTF as Identity-V encoding
- No support for 'vert' glyph substitution
- No support for vertical metrics ('vhea' and 'vmtx' tables are parsed but not used at all)
I have attached a series of patches that implement the above features. Highlights:
- The GSUB glyph substitution table is parsed (limitation: type 1 lookups only; this is sufficient for many features including 'vert'/'vrt2' vertical glyph substitution)
- Cmap lookup makes use of GSUB when features are enabled on a TTF
- 'vhea' and 'vmtx' metrics are applied to PDCIDFont when appropriate, and are embedded/subsetted correctly through the DW2/W2 CIDFont dictionary
- An API has been added for loading a TTF as a vertical font, setting Identity-V encoding and enabling 'vert'/'vrt2' substitution
Each patch could approximately be split out into a separate ticket, if desired.
Also attached is some sample code that exercises these patches and illustrates the effect of vertical glyph positioning. The sample output PDF is also attached.
Attachments
Attachments
Issue Links
- causes
-
PDFBOX-4220 FontBox sets GSUB features globally across shared fonts
- Open
- is related to
-
PDFBOX-4304 Glyph Substitution Table lookup Cache doesn't clear by disabling a feature.
- Open
-
PDFBOX-5741 Add test for PDFBOX-4106
- Closed