jdk/src/solaris/classes/sun/font/FontConfigManager.java
changeset 3931 81071c37cc91
parent 3929 de1a48b7aa41
child 3938 ef327bd847c0
equal deleted inserted replaced
3930:738bc2599ca8 3931:81071c37cc91
   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();