I received some spot-on advice from PDFBox contributor John Hewson, so I wanted to share it in case anyone else has the same issue:
> John Hewson wrote: > > … > > First of all, Identity-V seems like the right approach. PDFBox should be able > to handle the basics of vertical text layout using that. However, as you say > advanced OpenType features such as GSUB are not supported in PDFBox. That’s > because OpenType is not supported in PDF* as it’s too new. So it’s up to the > program/library which generates the PDF to apply the positioning or > substitution itself and place the correct glyph on the page. PDFBox doesn’t > implement that functionality, because it’s pretty complex - though we’d > certainly like to! > > * not entirely true, but PDF viewers have very limited support for it. > > The way OpenType Layout works is that there are various abstract "features” > which are identified by “tags” such as “vert”. These are simply used as keys > to turn on/off various positioning or substitutions, which can be found in > the GSUB and GPOS tables, respectively. So when an application wants, say, > the vertical version of a font, it enables the “vert” feature by applying all > the relevant substitutions/positionings. This could be as simple as a > substitution rule which switches a horizontal glyph for a vertical one, or a > complex state machine for some Indic language. In the case of “vert”, it’s > going to be the former. > > Given that GSUB and GPOS support are not coming to PDFBox anytime soon and > assuming that you are just wanting to use a limited set of vertical fonts > then I’d recommend “freezing” the “vert” feature into the font. This means > creating a special subset of the font which already has the positioning and > substitutions applied to the glyphs themselves. The resulting font won’t have > any need for GSUB or GPOS tables for “vert” any more, and will only support > vertical writing. You can find a tool for generating such fonts here: > https://github.com/twardoch/fonttools-utils/tree/master/pyftfeatfreeze > > For debugging, if you’re looking for a tool to inspect the table inside > fonts, I recommend the free DTL OTMaster Light available here: > http://fontmaster.nl, Microsoft’s OpenType spec is also helpful: > https://www.microsoft.com/en-us/Typography/OpenTypeSpecification.aspx --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

