@Override protected FontUIResource getFontConfigFUIR(String family, int style, int size) { CompositeFont font2D = getFontConfigManager().getFontConfigFont(family, style); if (font2D == null) { // Not expected, just a precaution. return new FontUIResource(family, style, size); } /* The name of the font will be that of the physical font in slot, * but by setting the handle to that of the CompositeFont it * renders as that CompositeFont. * It also needs to be marked as a created font which is the * current mechanism to signal that deriveFont etc must copy * the handle from the original font. */ FontUIResource fuir = new FontUIResource(font2D.getFamilyName(null), style, size); FontAccess.getFontAccess().setFont2D(fuir, font2D.handle); FontAccess.getFontAccess().setCreatedFont(fuir); return fuir; }
protected int platformFontCount(Font font, String str) { if (mFontProps == null) { return 0; } PlatformFont peer = (PlatformFont) FontAccess.getFontAccess() .getFontPeer(font); CharsetString[] acs = peer.makeMultiCharsetString(str, false); if (acs == null) { /* AWT can't convert all chars so use 2D path */ return 0; } int[] psFonts = getPSFontIndexArray(font, acs); return (psFonts == null) ? 0 : psFonts.length; }