@Override protected int platformFontCount(Font font, String str) { AffineTransform deviceTransform = getTransform(); AffineTransform fontTransform = new AffineTransform(deviceTransform); fontTransform.concatenate(getFont().getTransform()); int transformType = fontTransform.getType(); /* Test if GDI can handle the transform */ boolean directToGDI = ((transformType != AffineTransform.TYPE_GENERAL_TRANSFORM) && ((transformType & AffineTransform.TYPE_FLIP) == 0)); if (!directToGDI) { return 0; } /* Since all windows fonts are available, and the JRE fonts * are also registered. Only the Font.createFont() case is presently * unknown to GDI. Those can be registered too, although that * code does not exist yet, it can be added too, so we should not * fail that case. Just do a quick check whether its a TrueTypeFont * - ie not a Type1 font etc, and let drawString() resolve the rest. */ Font2D font2D = FontUtilities.getFont2D(font); if (font2D instanceof CompositeFont || font2D instanceof TrueTypeFont) { return 1; } else { return 0; } }
public Object run() { String eudcFile = getEUDCFontFile(); if (eudcFile != null) { try { /* Must use Java rasteriser since GDI doesn't * enumerate (allow direct use) of EUDC fonts. */ eudcFont = new TrueTypeFont(eudcFile, null, 0, true); } catch (FontFormatException e) { } } return null; }
public Object run() { String eudcFile = getEUDCFontFile(); if (eudcFile != null) { try { /* Must use Java rasteriser since GDI doesn't * enumerate (allow direct use) of EUDC fonts. */ eudcFont = new TrueTypeFont(eudcFile, null, 0, true, false); } catch (FontFormatException e) { } } return null; }
public TrueTypeFont getEUDCFont() { return eudcFont; }