< prev index next >

modules/javafx.graphics/src/main/java/com/sun/javafx/font/coretext/CTFontStrike.java

Print this page
rev 10066 : 8088205: [Mac] WebView renders icons instead of letters on some sites
rev 9951 : 8161705: Rename directories under modules to exactly match the module names
Reviewed-by: kcr, vadim


  60         super(fontResource, size, graphicsTransform, aaMode, desc);
  61         float maxDim = PrismFontFactory.getFontSizeLimit();
  62         if (graphicsTransform.isTranslateOrIdentity()) {
  63             drawShapes = size > maxDim;
  64         } else {
  65             BaseTransform tx2d = getTransform();
  66             matrix = new CGAffineTransform();
  67             matrix.a = tx2d.getMxx();
  68             matrix.b = -tx2d.getMyx(); /*Inverted coordinates system */
  69             matrix.c = -tx2d.getMxy(); /*Inverted coordinates system */
  70             matrix.d = tx2d.getMyy();
  71 
  72             if (Math.abs(matrix.a * size) > maxDim ||
  73                 Math.abs(matrix.b * size) > maxDim ||
  74                 Math.abs(matrix.c * size) > maxDim ||
  75                 Math.abs(matrix.d * size) > maxDim)
  76             {
  77               drawShapes = true;
  78             }
  79         }

  80         long psNameRef = OS.CFStringCreate(fontResource.getPSName());
  81         if (psNameRef != 0) {
  82             fontRef = OS.CTFontCreateWithName(psNameRef, size, matrix);




  83             OS.CFRelease(psNameRef);
  84         }
  85         if (fontRef == 0) {
  86             if (PrismFontFactory.debugFonts) {
  87                 System.err.println("Failed to create CTFont for " + this);
  88             }
  89         }
  90     }
  91 
  92     long getFontRef() {
  93         return fontRef;
  94     }
  95 
  96     @Override protected DisposerRecord createDisposer(FontStrikeDesc desc) {
  97         CTFontFile fontResource = getFontResource();
  98         return new CTStrikeDisposer(fontResource, desc, fontRef);
  99     }
 100 
 101     @Override protected Glyph createGlyph(int glyphCode) {
 102         return new CTGlyph(this, glyphCode, drawShapes);




  60         super(fontResource, size, graphicsTransform, aaMode, desc);
  61         float maxDim = PrismFontFactory.getFontSizeLimit();
  62         if (graphicsTransform.isTranslateOrIdentity()) {
  63             drawShapes = size > maxDim;
  64         } else {
  65             BaseTransform tx2d = getTransform();
  66             matrix = new CGAffineTransform();
  67             matrix.a = tx2d.getMxx();
  68             matrix.b = -tx2d.getMyx(); /*Inverted coordinates system */
  69             matrix.c = -tx2d.getMxy(); /*Inverted coordinates system */
  70             matrix.d = tx2d.getMyy();
  71 
  72             if (Math.abs(matrix.a * size) > maxDim ||
  73                 Math.abs(matrix.b * size) > maxDim ||
  74                 Math.abs(matrix.c * size) > maxDim ||
  75                 Math.abs(matrix.d * size) > maxDim)
  76             {
  77               drawShapes = true;
  78             }
  79         }
  80 
  81         long psNameRef = OS.CFStringCreate(fontResource.getPSName());
  82         if (psNameRef != 0) {
  83             long fileNameRef = OS.CFStringCreate(fontResource.getFileName());
  84             if (fileNameRef != 0) {
  85                 fontRef = OS.CTFontCreate(fileNameRef, psNameRef, size, matrix);
  86                 OS.CFRelease(fileNameRef);
  87             }
  88             OS.CFRelease(psNameRef);
  89         }
  90         if (fontRef == 0) {
  91             if (PrismFontFactory.debugFonts) {
  92                 System.err.println("Failed to create CTFont for " + this);
  93             }
  94         }
  95     }
  96 
  97     long getFontRef() {
  98         return fontRef;
  99     }
 100 
 101     @Override protected DisposerRecord createDisposer(FontStrikeDesc desc) {
 102         CTFontFile fontResource = getFontResource();
 103         return new CTStrikeDisposer(fontResource, desc, fontRef);
 104     }
 105 
 106     @Override protected Glyph createGlyph(int glyphCode) {
 107         return new CTGlyph(this, glyphCode, drawShapes);


< prev index next >