pdfbox-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tilman Hausherr (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (PDFBOX-4106) Vertical text creation
Date Fri, 11 May 2018 07:49:00 GMT

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

Tilman Hausherr edited comment on PDFBOX-4106 at 5/11/18 7:48 AM:
------------------------------------------------------------------

So the problem is that a TrueTypeFont object could be reused by several threads, and the gsub
feature vrt2 may be enabled in one and disabled in another?

Re "fonts in FontBox must be thread safe" - this is not yet perfect. I have been having trouble
on some of my systems with Standard 14 fonts being used by several threads. It happens only
every 10 times, and recently even less because one AIOOBE is avoided. (PDFBOX-4140)


was (Author: tilman):
So the problem is that a TrueTypeFont object could be reused by several threads, and the gsub
feature vrt2 may be enabled in one and disabled in another?

Re "fonts in FontBox must be thread safe" - this is not yet perfect. I have been having trouble
on some of my systems with Standard 14 fonts being used by several threads. It happens only
every 10 times, and recently even less because one AIOOBE is avoided.

> Vertical text creation
> ----------------------
>
>                 Key: PDFBOX-4106
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4106
>             Project: PDFBox
>          Issue Type: Bug
>          Components: FontBox, Parsing, Writing
>            Reporter: Aaron Madlon-Kay
>            Assignee: Tilman Hausherr
>            Priority: Major
>              Labels: embed, gsub, parsing, vertical
>             Fix For: 2.0.9, 3.0.0 PDFBox
>
>         Attachments: 0001-Add-OpenTypeScript-class-to-get-OT-script-tags-for-c.patch,
0002-Optimize-Unicode-script-storage-and-lookup.patch, 0003-Parse-GSUB-table.patch, 0004-Abstract-cmap-lookup-into-an-interface.patch,
0005-Implement-GSUB-substitution-on-TrueTypeFont.patch, 0006-Use-vhea-vmtx-to-fix-vertical-displacements-in-PCIDF.patch,
0007-Add-factory-methods-for-loading-TTF-as-vertical-font.patch, 0008-Implement-vertical-metrics-support-when-embedding-subsetting.patch,
FIX-0001-PDFBOX-4106-Remove-early-outs-leading-to-spurious-wa.patch, FIX-0002-PDFBOX-4106-Document-GlyphSubstitutionTable-public-m.patch,
FIX-0003-PDFBOX-4106-Correct-deltaGlyphID-data-size.patch, FIX-0004-PDFBOX-4106-Remove-unnecessary-vertical-displacement.patch,
FIX-0005-PDFBOX-4106-Remove-duplicate-DW2-creation.patch, FIX-0006-PDFBOX-4106-Fix-non-embedded-vertical-font-rendering.patch,
FIX-0007-PDFBOX-4106-Fix-incorrect-parsing-of-W2-first-format.patch, FIX-0008-PDFBOX-4106-Rename-misleading-field.patch,
FIX-0009-PDFBOX-4106-Allow-retrieving-vmtx-topSideBearing.patch, FIX-0010-PDFBOX-4106-Correct-vmtx-embedding-for-proportional-.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-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org


Mime
View raw message