63 HashMap<String,ArrayList<String>> familyToFontListMap, 64 Locale locale) { 65 66 if (fontToFileMap == null || 67 fontToFamilyNameMap == null || 68 familyToFontListMap == null) { 69 return false; 70 } 71 if (locale == null) { 72 locale = Locale.ENGLISH; 73 } 74 String[] fontData = getFontData(); 75 if (fontData == null) return false; 76 77 int i = 0; 78 while (i < fontData.length) { 79 String name = fontData[i++]; 80 String family = fontData[i++]; 81 String file = fontData[i++]; 82 83 if (!PrismFontFactory.useNativeRasterizer) { 84 /* Skip OTF/CID keyed fonts for T2K (RT-15755) */ 85 if (file.endsWith(".otf")) { 86 if (name.indexOf(" Pro W") != -1) continue; 87 if (name.indexOf(" ProN W") != -1) continue; 88 if (name.indexOf(" Std W") != -1) continue; 89 if (name.indexOf(" StdN W") != -1) continue; 90 if (name.indexOf("Hiragino") != -1) continue; 91 } 92 } 93 if (PrismFontFactory.debugFonts) { 94 System.err.println("[MacFontFinder] Name=" + name); 95 System.err.println("\tFamily=" + family); 96 System.err.println("\tFile=" + file); 97 } 98 99 String lcName = name.toLowerCase(locale); 100 String lcFamily = family.toLowerCase(locale); 101 fontToFileMap.put(lcName, file); 102 fontToFamilyNameMap.put(lcName, family); 103 ArrayList<String> list = familyToFontListMap.get(lcFamily); 104 if (list == null) { 105 list = new ArrayList<String>(); 106 familyToFontListMap.put(lcFamily, list); 107 } 108 list.add(name); 109 } 110 return true; 111 } 112 /* | 63 HashMap<String,ArrayList<String>> familyToFontListMap, 64 Locale locale) { 65 66 if (fontToFileMap == null || 67 fontToFamilyNameMap == null || 68 familyToFontListMap == null) { 69 return false; 70 } 71 if (locale == null) { 72 locale = Locale.ENGLISH; 73 } 74 String[] fontData = getFontData(); 75 if (fontData == null) return false; 76 77 int i = 0; 78 while (i < fontData.length) { 79 String name = fontData[i++]; 80 String family = fontData[i++]; 81 String file = fontData[i++]; 82 83 if (PrismFontFactory.debugFonts) { 84 System.err.println("[MacFontFinder] Name=" + name); 85 System.err.println("\tFamily=" + family); 86 System.err.println("\tFile=" + file); 87 } 88 89 String lcName = name.toLowerCase(locale); 90 String lcFamily = family.toLowerCase(locale); 91 fontToFileMap.put(lcName, file); 92 fontToFamilyNameMap.put(lcName, family); 93 ArrayList<String> list = familyToFontListMap.get(lcFamily); 94 if (list == null) { 95 list = new ArrayList<String>(); 96 familyToFontListMap.put(lcFamily, list); 97 } 98 list.add(name); 99 } 100 return true; 101 } 102 /* |