public static FontProgramDescriptor fetchDescriptor(byte[] fontProgram) { if (fontProgram == null || fontProgram.length == 0) { return null; } FontProgramDescriptor fontDescriptor = null; if (FETCH_CACHED_FIRST) { fontDescriptor = fetchCachedDescriptor(null, fontProgram); if (fontDescriptor != null) { return fontDescriptor; } } try { fontDescriptor = fetchTrueTypeFontDescriptor(fontProgram); } catch (Exception ignored) { } if (fontDescriptor == null) { try { fontDescriptor = fetchType1FontDescriptor(null, fontProgram); } catch (Exception ignored) { } } return fontDescriptor; }
public static FontProgramDescriptor fetchDescriptor(FontProgram fontProgram) { return fetchDescriptorFromFontProgram(fontProgram); }
private static FontProgramDescriptor fetchTrueTypeFontDescriptor(String fontName) throws java.io.IOException { try (OpenTypeParser parser = new OpenTypeParser(fontName)) { return fetchOpenTypeFontDescriptor(parser); } }
fontDescriptor = fetchCachedDescriptor(fontName, null); if (fontDescriptor != null) { return fontDescriptor; String fontNameLowerCase = baseName.toLowerCase(); if (isBuiltinFonts14 || fontNameLowerCase.endsWith(".afm") || fontNameLowerCase.endsWith(".pfm")) { fontDescriptor = fetchType1FontDescriptor(fontName, null); } else if (isCidFont) { fontDescriptor = fetchCidFontDescriptor(fontName); } else if (fontNameLowerCase.endsWith(".ttf") || fontNameLowerCase.endsWith(".otf")) { fontDescriptor = fetchTrueTypeFontDescriptor(fontName); } else if (fontNameLowerCase.endsWith(".woff") || fontNameLowerCase.endsWith(".woff2")) { byte[] fontProgram; fontProgram = Woff2Converter.convert(FontProgramFactory.readFontBytesFromPath(baseName)); fontDescriptor = fetchTrueTypeFontDescriptor(fontProgram); } else { fontDescriptor = fetchTTCDescriptor(baseName);
public static FontInfo create(FontProgram fontProgram, String encoding, String alias, Range range) { FontProgramDescriptor descriptor = FontProgramDescriptorFactory.fetchDescriptor(fontProgram); return new FontInfo(descriptor.getFontName(), null, encoding, descriptor, range, alias); }
fontDescriptor = fetchCachedDescriptor(fontName, null); if (fontDescriptor != null) { return fontDescriptor; String fontNameLowerCase = baseName.toLowerCase(); if (isBuiltinFonts14 || fontNameLowerCase.endsWith(".afm") || fontNameLowerCase.endsWith(".pfm")) { fontDescriptor = fetchType1FontDescriptor(fontName, null); } else if (isCidFont) { fontDescriptor = fetchCidFontDescriptor(fontName); } else if (fontNameLowerCase.endsWith(".ttf") || fontNameLowerCase.endsWith(".otf")) { fontDescriptor = fetchTrueTypeFontDescriptor(fontName); } else if (fontNameLowerCase.endsWith(".woff") || fontNameLowerCase.endsWith(".woff2")) { byte[] fontProgram; fontProgram = Woff2Converter.convert(FontProgramFactory.readFontBytesFromPath(baseName)); fontDescriptor = fetchTrueTypeFontDescriptor(fontProgram); } else { fontDescriptor = fetchTTCDescriptor(baseName);
public static FontInfo create(FontProgram fontProgram, String encoding, String alias, Range range) { FontProgramDescriptor descriptor = FontProgramDescriptorFactory.fetchDescriptor(fontProgram); return new FontInfo(descriptor.getFontName(), null, encoding, descriptor, range, alias); }
public static FontProgramDescriptor fetchDescriptor(byte[] fontProgram) { if (fontProgram == null || fontProgram.length == 0) { return null; } FontProgramDescriptor fontDescriptor = null; if (FETCH_CACHED_FIRST) { fontDescriptor = fetchCachedDescriptor(null, fontProgram); if (fontDescriptor != null) { return fontDescriptor; } } try { fontDescriptor = fetchTrueTypeFontDescriptor(fontProgram); } catch (Exception ignored) { } if (fontDescriptor == null) { try { fontDescriptor = fetchType1FontDescriptor(null, fontProgram); } catch (Exception ignored) { } } return fontDescriptor; }
static FontInfo create(String fontName, String encoding, String alias, Range range) { FontCacheKey cacheKey = FontCacheKey.create(fontName); FontProgramDescriptor descriptor = getFontNamesFromCache(cacheKey); if (descriptor == null) { descriptor = FontProgramDescriptorFactory.fetchDescriptor(fontName); putFontNamesToCache(cacheKey, descriptor); } return descriptor != null ? new FontInfo(fontName, null, encoding, descriptor, range, alias) : null; }
private static FontProgramDescriptor fetchTrueTypeFontDescriptor(byte[] fontProgram) throws java.io.IOException { try (OpenTypeParser parser = new OpenTypeParser(fontProgram)) { return fetchOpenTypeFontDescriptor(parser); } }
public static FontProgramDescriptor fetchDescriptor(FontProgram fontProgram) { return fetchDescriptorFromFontProgram(fontProgram); }
static FontInfo create(String fontName, String encoding, String alias, Range range) { FontCacheKey cacheKey = FontCacheKey.create(fontName); FontProgramDescriptor descriptor = getFontNamesFromCache(cacheKey); if (descriptor == null) { descriptor = FontProgramDescriptorFactory.fetchDescriptor(fontName); putFontNamesToCache(cacheKey, descriptor); } return descriptor != null ? new FontInfo(fontName, null, encoding, descriptor, range, alias) : null; }
private static FontProgramDescriptor fetchTrueTypeFontDescriptor(byte[] fontProgram) throws java.io.IOException { try (OpenTypeParser parser = new OpenTypeParser(fontProgram)) { return fetchOpenTypeFontDescriptor(parser); } }
private static FontProgramDescriptor fetchCachedDescriptor(String fontName, byte[] fontProgram) { FontProgram fontFound; FontCacheKey key; if (fontName != null) { key = FontCacheKey.create(fontName); } else { key = FontCacheKey.create(fontProgram); } fontFound = FontCache.getFont(key); return fontFound != null ? fetchDescriptorFromFontProgram(fontFound) : null; }
static FontInfo create(byte[] fontProgram, String encoding, String alias, Range range) { FontCacheKey cacheKey = FontCacheKey.create(fontProgram); FontProgramDescriptor descriptor = getFontNamesFromCache(cacheKey); if (descriptor == null) { descriptor = FontProgramDescriptorFactory.fetchDescriptor(fontProgram); putFontNamesToCache(cacheKey, descriptor); } return descriptor != null ? new FontInfo(null, fontProgram, encoding, descriptor, range, alias) : null; }
private static FontProgramDescriptor fetchTrueTypeFontDescriptor(String fontName) throws java.io.IOException { try (OpenTypeParser parser = new OpenTypeParser(fontName)) { return fetchOpenTypeFontDescriptor(parser); } }
private static FontProgramDescriptor fetchCachedDescriptor(String fontName, byte[] fontProgram) { FontProgram fontFound; FontCacheKey key; if (fontName != null) { key = FontCacheKey.create(fontName); } else { key = FontCacheKey.create(fontProgram); } fontFound = FontCache.getFont(key); return fontFound != null ? fetchDescriptorFromFontProgram(fontFound) : null; }
static FontInfo create(byte[] fontProgram, String encoding, String alias, Range range) { FontCacheKey cacheKey = FontCacheKey.create(fontProgram); FontProgramDescriptor descriptor = getFontNamesFromCache(cacheKey); if (descriptor == null) { descriptor = FontProgramDescriptorFactory.fetchDescriptor(fontProgram); putFontNamesToCache(cacheKey, descriptor); } return descriptor != null ? new FontInfo(null, fontProgram, encoding, descriptor, range, alias) : null; }
private static FontProgramDescriptor fetchTTCDescriptor(String baseName) throws java.io.IOException { int ttcSplit = baseName.toLowerCase().indexOf(".ttc,"); if (ttcSplit > 0) { String ttcName; int ttcIndex; try { ttcName = baseName.substring(0, ttcSplit + 4); // count(.ttc) = 4 ttcIndex = Integer.parseInt(baseName.substring(ttcSplit + 5)); // count(.ttc,) = 5) } catch (NumberFormatException nfe) { throw new IOException(nfe.getMessage(), nfe); } OpenTypeParser parser = new OpenTypeParser(ttcName, ttcIndex); FontProgramDescriptor descriptor = fetchOpenTypeFontDescriptor(parser); parser.close(); return descriptor; } else { return null; } }
private static FontProgramDescriptor fetchTTCDescriptor(String baseName) throws java.io.IOException { int ttcSplit = baseName.toLowerCase().indexOf(".ttc,"); if (ttcSplit > 0) { String ttcName; int ttcIndex; try { ttcName = baseName.substring(0, ttcSplit + 4); // count(.ttc) = 4 ttcIndex = Integer.parseInt(baseName.substring(ttcSplit + 5)); // count(.ttc,) = 5) } catch (NumberFormatException nfe) { throw new IOException(nfe.getMessage(), nfe); } OpenTypeParser parser = new OpenTypeParser(ttcName, ttcIndex); FontProgramDescriptor descriptor = fetchOpenTypeFontDescriptor(parser); parser.close(); return descriptor; } else { return null; } }