192 fontArr[i].fcFamily = fontArr[i].fcName.substring(0, colonPos); |
192 fontArr[i].fcFamily = fontArr[i].fcName.substring(0, colonPos); |
193 fontArr[i].jdkName = FontUtilities.mapFcName(fontArr[i].fcFamily); |
193 fontArr[i].jdkName = FontUtilities.mapFcName(fontArr[i].fcFamily); |
194 fontArr[i].style = i % 4; // depends on array order. |
194 fontArr[i].style = i % 4; // depends on array order. |
195 } |
195 } |
196 getFontConfig(getFCLocaleStr(), fcInfo, fontArr, includeFallbacks); |
196 getFontConfig(getFCLocaleStr(), fcInfo, fontArr, includeFallbacks); |
|
197 FontConfigFont anyFont = null; |
197 /* If don't find anything (eg no libfontconfig), then just return */ |
198 /* If don't find anything (eg no libfontconfig), then just return */ |
198 for (int i = 0; i< fontArr.length; i++) { |
199 for (int i = 0; i< fontArr.length; i++) { |
199 FcCompFont fci = fontArr[i]; |
200 FcCompFont fci = fontArr[i]; |
200 if (fci.firstFont == null) { |
201 if (fci.firstFont == null) { |
201 if (FontUtilities.isLogging()) { |
202 if (FontUtilities.isLogging()) { |
202 Logger logger = FontUtilities.getLogger(); |
203 Logger logger = FontUtilities.getLogger(); |
203 logger.info("Fontconfig returned no fonts."); |
204 logger.info("Fontconfig returned no font for " + |
|
205 fontArr[i].fcName); |
204 } |
206 } |
205 fontConfigFailed = true; |
207 fontConfigFailed = true; |
|
208 } else if (anyFont == null) { |
|
209 anyFont = fci.firstFont; |
|
210 } |
|
211 } |
|
212 |
|
213 if (anyFont == null) { |
|
214 if (FontUtilities.isLogging()) { |
|
215 Logger logger = FontUtilities.getLogger(); |
|
216 logger.info("Fontconfig returned no fonts at all."); |
206 return; |
217 return; |
207 } |
218 } |
208 } |
219 } else if (fontConfigFailed) { |
|
220 for (int i = 0; i< fontArr.length; i++) { |
|
221 if (fontArr[i].firstFont == null) { |
|
222 fontArr[i].firstFont = anyFont; |
|
223 } |
|
224 } |
|
225 } |
|
226 |
209 fontConfigFonts = fontArr; |
227 fontConfigFonts = fontArr; |
210 |
228 |
211 if (FontUtilities.isLogging()) { |
229 if (FontUtilities.isLogging()) { |
212 |
230 |
213 Logger logger = FontUtilities.getLogger(); |
231 Logger logger = FontUtilities.getLogger(); |