[ https://issues.apache.org/jira/browse/PDFBOX-542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Villu Ruusmann updated PDFBOX-542: ---------------------------------- Attachment: pdfbox-r823839.patch fontbox-r818793.patch Patch files against the head revisions of trunk branches as of October 16, 2009. The code makes use of Java 1.5 language features, which is in conflict with current FontBox/PDFBox project style. > Support for Adobe CFF/Type2 fonts > --------------------------------- > > Key: PDFBOX-542 > URL: https://issues.apache.org/jira/browse/PDFBOX-542 > Project: PDFBox > Issue Type: New Feature > Components: FontBox, PDModel > Affects Versions: 0.8.0-incubator > Reporter: Villu Ruusmann > Attachments: fontbox-r818793.patch, pdfbox-r823839.patch > > > PDFBox should support embedded font types, most prominently the Adobe > CFF/Type2 (aka Type1C) font type. The desired functionality includes both > glyph metrics (for PDF text extraction using > org.apache.pdfbox.util.PDFTextStripper) and glyph painting (for PDF rendering > using org.apache.pdfbox.pdfviewer.PageDrawer). > I have implemented the basics of Adobe CFF/Type2 font specification. If the > other project members find my work substantial, I would like to see it > incorporated into FontBox/PDFBox projects. Please see the attached patch > files. > Design considerations. A PDF FontFile3 stream can be parsed into CFFFont > objects by class CFFParser. CFFFont contains a map of glyph names to Type2 > charstrings, which can be converted to Type1 charstrings by class > CharStringConverter and rendered by class CharStringRenderer. Glyph metrics > is attained by formatting the result as AFM by class AFMFormatter, which > plugs nicely with existing PDFBox infrastructure. Glyph painting is attained > by formatting the result as PostScript Type1 font by class > Type1FontFormatter, which can be loaded via java.awt.Font#createFont(int, > InputStream). > The current implementation does not support synthetic CFF fonts nor CID-keyed > CFF fonts. Also, the conversion of certain Type2 features (stemming, hinting, > flex) is missing. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.