You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/05/11 18:26:29 UTC
svn commit: r1877598 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java
Author: tilman
Date: Mon May 11 18:26:29 2020
New Revision: 1877598
URL: http://svn.apache.org/viewvc?rev=1877598&view=rev
Log:
PDFBOX-4824: get OpenTypeFont from collection
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java?rev=1877598&r1=1877597&r2=1877598&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/FileSystemFontProvider.java Mon May 11 18:26:29 2020
@@ -229,7 +229,21 @@ final class FileSystemFontProvider exten
{
try
{
- // todo JH: we don't yet support loading CFF fonts from OTC collectionsâ¨
+ if (file.getName().toLowerCase().endsWith(".ttc"))
+ {
+ @SuppressWarnings("squid:S2095")
+ // ttc not closed here because it is needed later when ttf is accessed,
+ // e.g. rendering PDF with non-embedded font which is in ttc file in our font directory
+ TrueTypeCollection ttc = new TrueTypeCollection(file);
+ TrueTypeFont ttf = ttc.getFontByName(postScriptName);
+ if (ttf == null)
+ {
+ ttc.close();
+ throw new IOException("Font " + postScriptName + " not found in " + file);
+ }
+ return (OpenTypeFont) ttf;
+ }
+
OTFParser parser = new OTFParser(false, true);
OpenTypeFont otf = parser.parse(file);