[ 
https://issues.apache.org/jira/browse/PDFBOX-4106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16362686#comment-16362686
 ] 

Tilman Hausherr commented on PDFBOX-4106:
-----------------------------------------

That looks interesting and is very welcome, of course. Some thoughts:

I looked at the first patch; are you aware that UnicodeScript is a JDK7 class? 
This would mean your improvement can't be used in PDFBox 2.*, only in 3. That 
one has no planned release date, it could be several months or several years.

I see you made an effort in patch 5 to make it non-breaking, but I suspect that 
in patch 4 the use of the new CmapLookup interface would be a breaking change, 
isn't it? That would be another reason it couldn't be used in 2.*.

The sample code
{code:java}
ttf.disableGsubFeature("vrt2");
ttf.disableGsubFeature("vert");
{code}
is too difficult for an average user. I'd prefer to have something on a high 
level, e.g. an option in an additional vertical loader, or a method. The 
"natural" setting should be the default. (What would a newbie "vertical font 
user" expect? (2) or (3) in your sample PDF ?)

[~lehmi] do we need an ICLA for this?

> Vertical text creation
> ----------------------
>
>                 Key: PDFBOX-4106
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4106
>             Project: PDFBox
>          Issue Type: New Feature
>          Components: FontBox, Parsing, Writing
>            Reporter: Aaron Madlon-Kay
>            Priority: Major
>              Labels: embed, gsub, parsing, vertical
>         Attachments: 0001-Parse-GSUB-table.patch, 
> 0002-Abstract-cmap-lookup-into-an-interface.patch, 
> 0003-Implement-GSUB-substitution-on-TrueTypeFont.patch, 
> 0004-Use-vhea-vmtx-to-fix-vertical-displacements-in-PCIDF.patch, 
> 0005-Add-factory-methods-for-loading-TTF-as-vertical-font.patch, 
> 0006-Implement-vertical-metrics-support-when-embedding-su.patch, 
> sample_code.txt, vertical.pdf
>
>
> 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.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to