@Override protected FontDescriptor[] buildFontDescriptors(int fontIndex, int styleIndex) { CompositeFontDescriptor[] cfi = get2DCompositeFontInfo(); int idx = fontIndex * NUM_STYLES + styleIndex; String[] componentFaceNames = cfi[idx].getComponentFaceNames(); FontDescriptor[] ret = new FontDescriptor[componentFaceNames.length]; for (int i = 0; i < componentFaceNames.length; i++) { ret[i] = new FontDescriptor(componentFaceNames[i], StandardCharsets.UTF_8.newEncoder(), new int[0]); } return ret; }
@Override protected FontDescriptor[] buildFontDescriptors(int fontIndex, int styleIndex) { CompositeFontDescriptor[] cfi = get2DCompositeFontInfo(); int idx = fontIndex * NUM_STYLES + styleIndex; String[] componentFaceNames = cfi[idx].getComponentFaceNames(); FontDescriptor[] ret = new FontDescriptor[componentFaceNames.length]; for (int i = 0; i < componentFaceNames.length; i++) { ret[i] = new FontDescriptor(componentFaceNames[i], StandardCharsets.ISO_8859_1.newEncoder(), new int[0]); } return ret; }
@Override public CompositeFontDescriptor[] get2DCompositeFontInfo() { return emptyDescriptors; }
@Override public CompositeFontDescriptor[] get2DCompositeFontInfo() { X11FontManager fm = (X11FontManager) fontManager; FontConfigManager fcm = fm.getFontConfigManager(); FcCompFont[] fcCompFonts = fcm.loadFontConfig(); CompositeFontDescriptor[] result = new CompositeFontDescriptor[NUM_FONTS * NUM_STYLES]; for (int fontIndex = 0; fontIndex < NUM_FONTS; fontIndex++) { String fontName = publicFontNames[fontIndex]; for (int styleIndex = 0; styleIndex < NUM_STYLES; styleIndex++) { String faceName = fontName + "." + styleNames[styleIndex]; FontConfigFont[] fcFonts = getFcFontList(fcCompFonts, fontNames[fontIndex], styleIndex); int numFonts = fcFonts.length; // fall back fonts listed in the lib/fonts/fallback directory if (installedFallbackFontFiles != null) { numFonts += installedFallbackFontFiles.length; } String[] fileNames = new String[numFonts]; String[] faceNames = new String[numFonts]; int index; for (index = 0; index < fcFonts.length; index++) { fileNames[index] = fcFonts[index].fontFile; faceNames[index] = fcFonts[index].familyName; } if (installedFallbackFontFiles != null) { System.arraycopy(installedFallbackFontFiles, 0, fileNames, fcFonts.length, installedFallbackFontFiles.length); } result[fontIndex * NUM_STYLES + styleIndex] = new CompositeFontDescriptor( faceName, 1, faceNames, fileNames, null, null); } } return result; }
@Override public CompositeFontDescriptor[] get2DCompositeFontInfo() { FcFontManager fm = (FcFontManager) fontManager; FontConfigManager fcm = fm.getFontConfigManager(); FcCompFont[] fcCompFonts = fcm.loadFontConfig(); CompositeFontDescriptor[] result = new CompositeFontDescriptor[NUM_FONTS * NUM_STYLES]; for (int fontIndex = 0; fontIndex < NUM_FONTS; fontIndex++) { String fontName = publicFontNames[fontIndex]; for (int styleIndex = 0; styleIndex < NUM_STYLES; styleIndex++) { String faceName = fontName + "." + styleNames[styleIndex]; FontConfigFont[] fcFonts = getFcFontList(fcCompFonts, fontNames[fontIndex], styleIndex); int numFonts = fcFonts.length; // fall back fonts listed in the lib/fonts/fallback directory if (installedFallbackFontFiles != null) { numFonts += installedFallbackFontFiles.length; } String[] fileNames = new String[numFonts]; String[] faceNames = new String[numFonts]; int index; for (index = 0; index < fcFonts.length; index++) { fileNames[index] = fcFonts[index].fontFile; faceNames[index] = fcFonts[index].familyName; } if (installedFallbackFontFiles != null) { System.arraycopy(installedFallbackFontFiles, 0, fileNames, fcFonts.length, installedFallbackFontFiles.length); } result[fontIndex * NUM_STYLES + styleIndex] = new CompositeFontDescriptor( faceName, 1, faceNames, fileNames, null, null); } } return result; }
@Override public CompositeFontDescriptor[] get2DCompositeFontInfo() { X11FontManager fm = (X11FontManager) fontManager; FontConfigManager fcm = fm.getFontConfigManager(); FcCompFont[] fcCompFonts = fcm.loadFontConfig(); CompositeFontDescriptor[] result = new CompositeFontDescriptor[NUM_FONTS * NUM_STYLES]; for (int fontIndex = 0; fontIndex < NUM_FONTS; fontIndex++) { String fontName = publicFontNames[fontIndex]; for (int styleIndex = 0; styleIndex < NUM_STYLES; styleIndex++) { String faceName = fontName + "." + styleNames[styleIndex]; FontConfigFont[] fcFonts = getFcFontList(fcCompFonts, fontNames[fontIndex], styleIndex); int numFonts = fcFonts.length; // fall back fonts listed in the lib/fonts/fallback directory if (installedFallbackFontFiles != null) { numFonts += installedFallbackFontFiles.length; } String[] fileNames = new String[numFonts]; int index; for (index = 0; index < fcFonts.length; index++) { fileNames[index] = fcFonts[index].fontFile; } if (installedFallbackFontFiles != null) { System.arraycopy(installedFallbackFontFiles, 0, fileNames, fcFonts.length, installedFallbackFontFiles.length); } result[fontIndex * NUM_STYLES + styleIndex] = new CompositeFontDescriptor( faceName, 1, null, fileNames, null, null); } } return result; }