You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2014/05/27 21:12:17 UTC
svn commit: r1597852 -
/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
Author: lehmi
Date: Tue May 27 19:12:17 2014
New Revision: 1597852
URL: http://svn.apache.org/r1597852
Log:
PDFBOX-1689: use the new font manager to search for an external font first
Modified:
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java?rev=1597852&r1=1597851&r2=1597852&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFont.java Tue May 27 19:12:17 2014
@@ -563,25 +563,32 @@ public class PDTrueTypeFont extends PDSi
if ( fd != null )
{
String baseFont = getBaseFont();
- String fontResource = externalFonts.getProperty( UNKNOWN_FONT );
- if( (baseFont != null) &&
- (externalFonts.containsKey(baseFont)) )
+ // search for a suitable font in the local environment
+ retval = org.apache.fontbox.util.FontManager.findTTFont(baseFont);
+ // can't find any font, use fall back mapping
+ // NOTE: this fall back mechanism will be removed with PDFBox 2.0.0
+ if (retval == null)
{
- fontResource = externalFonts.getProperty(baseFont);
- }
- if( fontResource != null )
- {
- retval = (TrueTypeFont)loadedExternalFonts.get( baseFont );
- if( retval == null )
+ String fontResource = externalFonts.getProperty( UNKNOWN_FONT );
+ if( (baseFont != null) &&
+ (externalFonts.containsKey(baseFont)) )
+ {
+ fontResource = externalFonts.getProperty(baseFont);
+ }
+ if( fontResource != null )
{
- TTFParser ttfParser = new TTFParser();
- InputStream fontStream = ResourceLoader.loadResource( fontResource );
- if( fontStream == null )
+ retval = (TrueTypeFont)loadedExternalFonts.get( baseFont );
+ if( retval == null )
{
- throw new IOException( "Error missing font resource '" + externalFonts.get(baseFont) + "'" );
+ TTFParser ttfParser = new TTFParser();
+ InputStream fontStream = ResourceLoader.loadResource( fontResource );
+ if( fontStream == null )
+ {
+ throw new IOException( "Error missing font resource '" + externalFonts.get(baseFont) + "'" );
+ }
+ retval = ttfParser.parseTTF( fontStream );
+ loadedExternalFonts.put( baseFont, retval );
}
- retval = ttfParser.parseTTF( fontStream );
- loadedExternalFonts.put( baseFont, retval );
}
}
}