Java Code Examples for java.awt.Font#getSize2D()
The following examples show how to use
java.awt.Font#getSize2D() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Font2D.java From dragonwell8_jdk with GNU General Public License v2.0 | 6 votes |
public FontStrike getStrike(Font font, FontRenderContext frc) { AffineTransform at = frc.getTransform(); double ptSize = font.getSize2D(); at.scale(ptSize, ptSize); if (font.isTransformed()) { at.concatenate(font.getTransform()); if (at.getTranslateX() != 0 || at.getTranslateY() != 0) { at.setTransform(at.getScaleX(), at.getShearY(), at.getShearX(), at.getScaleY(), 0.0, 0.0); } } int aa = FontStrikeDesc.getAAHintIntVal(this, font, frc); int fm = FontStrikeDesc.getFMHintIntVal(frc.getFractionalMetricsHint()); FontStrikeDesc desc = new FontStrikeDesc(frc.getTransform(), at, font.getStyle(), aa, fm); return getStrike(desc, false); }
Example 2
Source File: Font2D.java From Bytecoder with Apache License 2.0 | 6 votes |
public FontStrike getStrike(Font font, FontRenderContext frc) { AffineTransform at = frc.getTransform(); double ptSize = font.getSize2D(); at.scale(ptSize, ptSize); if (font.isTransformed()) { at.concatenate(font.getTransform()); if (at.getTranslateX() != 0 || at.getTranslateY() != 0) { at.setTransform(at.getScaleX(), at.getShearY(), at.getShearX(), at.getScaleY(), 0.0, 0.0); } } int aa = FontStrikeDesc.getAAHintIntVal(this, font, frc); int fm = FontStrikeDesc.getFMHintIntVal(frc.getFractionalMetricsHint()); FontStrikeDesc desc = new FontStrikeDesc(frc.getTransform(), at, font.getStyle(), aa, fm); return getStrike(desc, false); }
Example 3
Source File: Font2D.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 6 votes |
public FontStrike getStrike(Font font, FontRenderContext frc) { AffineTransform at = frc.getTransform(); double ptSize = font.getSize2D(); at.scale(ptSize, ptSize); if (font.isTransformed()) { at.concatenate(font.getTransform()); if (at.getTranslateX() != 0 || at.getTranslateY() != 0) { at.setTransform(at.getScaleX(), at.getShearY(), at.getShearX(), at.getScaleY(), 0.0, 0.0); } } int aa = FontStrikeDesc.getAAHintIntVal(this, font, frc); int fm = FontStrikeDesc.getFMHintIntVal(frc.getFractionalMetricsHint()); FontStrikeDesc desc = new FontStrikeDesc(frc.getTransform(), at, font.getStyle(), aa, fm); return getStrike(desc, false); }
Example 4
Source File: TextFont.java From audiveris with GNU Affero General Public License v3.0 | 6 votes |
/** * Convenient method to compute a font size using a string content and dimension. * * @param content the string value * @param fontInfo OCR-based font information * @param dim string dimension in pixels * @return the computed font size */ public static Float computeFontSize (String content, FontInfo fontInfo, Dimension dim) { if (content == null) { return null; } Font font = new TextFont(fontInfo); float fontSize = font.getSize2D(); GlyphVector glyphVector = font.createGlyphVector(frc, content); Rectangle2D basicRect = glyphVector.getVisualBounds(); if (dim.width >= dim.height) { return fontSize * (dim.width / (float) basicRect.getWidth()); } else { return fontSize * (dim.height / (float) basicRect.getHeight()); } }
Example 5
Source File: Font2D.java From openjdk-jdk8u with GNU General Public License v2.0 | 6 votes |
public FontStrike getStrike(Font font, FontRenderContext frc) { AffineTransform at = frc.getTransform(); double ptSize = font.getSize2D(); at.scale(ptSize, ptSize); if (font.isTransformed()) { at.concatenate(font.getTransform()); if (at.getTranslateX() != 0 || at.getTranslateY() != 0) { at.setTransform(at.getScaleX(), at.getShearY(), at.getShearX(), at.getScaleY(), 0.0, 0.0); } } int aa = FontStrikeDesc.getAAHintIntVal(this, font, frc); int fm = FontStrikeDesc.getFMHintIntVal(frc.getFractionalMetricsHint()); FontStrikeDesc desc = new FontStrikeDesc(frc.getTransform(), at, font.getStyle(), aa, fm); return getStrike(desc, false); }
Example 6
Source File: StandardGlyphVector.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
public StandardGlyphVector(Font font, FontRenderContext frc, int[] glyphs, float[] positions, int[] indices, int flags) { initGlyphVector(font, frc, glyphs, positions, indices, flags); // this code should go into layout float track = getTracking(font); if (track != 0) { track *= font.getSize2D(); Point2D.Float trackPt = new Point2D.Float(track, 0); // advance delta if (font.isTransformed()) { AffineTransform at = font.getTransform(); at.deltaTransform(trackPt, trackPt); } // how do we know its a base glyph // for now, it is if the natural advance of the glyph is non-zero Font2D f2d = FontUtilities.getFont2D(font); FontStrike strike = f2d.getStrike(font, frc); float[] deltas = { trackPt.x, trackPt.y }; for (int j = 0; j < deltas.length; ++j) { float inc = deltas[j]; if (inc != 0) { float delta = 0; for (int i = j, n = 0; n < glyphs.length; i += 2) { if (strike.getGlyphAdvance(glyphs[n++]) != 0) { // might be an inadequate test positions[i] += delta; delta += inc; } } positions[positions.length-2+j] += delta; } } } }
Example 7
Source File: StandardGlyphVector.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
public StandardGlyphVector(Font font, FontRenderContext frc, int[] glyphs, float[] positions, int[] indices, int flags) { initGlyphVector(font, frc, glyphs, positions, indices, flags); // this code should go into layout float track = getTracking(font); if (track != 0) { track *= font.getSize2D(); Point2D.Float trackPt = new Point2D.Float(track, 0); // advance delta if (font.isTransformed()) { AffineTransform at = font.getTransform(); at.deltaTransform(trackPt, trackPt); } // how do we know its a base glyph // for now, it is if the natural advance of the glyph is non-zero Font2D f2d = FontUtilities.getFont2D(font); FontStrike strike = f2d.getStrike(font, frc); float[] deltas = { trackPt.x, trackPt.y }; for (int j = 0; j < deltas.length; ++j) { float inc = deltas[j]; if (inc != 0) { float delta = 0; for (int i = j, n = 0; n < glyphs.length; i += 2) { if (strike.getGlyphAdvance(glyphs[n++]) != 0) { // might be an inadequate test positions[i] += delta; delta += inc; } } positions[positions.length-2+j] += delta; } } } }
Example 8
Source File: Java2DRenderer.java From OkapiBarcode with Apache License 2.0 | 5 votes |
private static Font addTracking(Font baseFont, double maxTextWidth, String text, Graphics2D g2d) { FontRenderContext frc = g2d.getFontRenderContext(); double originalWidth = baseFont.getStringBounds(text, frc).getWidth(); double extraSpace = maxTextWidth - originalWidth; double extraSpacePerGap = extraSpace / (text.length() - 1); double scaleX = (baseFont.isTransformed() ? baseFont.getTransform().getScaleX() : 1); double tracking = extraSpacePerGap / (baseFont.getSize2D() * scaleX); return baseFont.deriveFont(Collections.singletonMap(TextAttribute.TRACKING, tracking)); }
Example 9
Source File: StandardGlyphVector.java From hottub with GNU General Public License v2.0 | 5 votes |
public StandardGlyphVector(Font font, FontRenderContext frc, int[] glyphs, float[] positions, int[] indices, int flags) { initGlyphVector(font, frc, glyphs, positions, indices, flags); // this code should go into layout float track = getTracking(font); if (track != 0) { track *= font.getSize2D(); Point2D.Float trackPt = new Point2D.Float(track, 0); // advance delta if (font.isTransformed()) { AffineTransform at = font.getTransform(); at.deltaTransform(trackPt, trackPt); } // how do we know its a base glyph // for now, it is if the natural advance of the glyph is non-zero Font2D f2d = FontUtilities.getFont2D(font); FontStrike strike = f2d.getStrike(font, frc); float[] deltas = { trackPt.x, trackPt.y }; for (int j = 0; j < deltas.length; ++j) { float inc = deltas[j]; if (inc != 0) { float delta = 0; for (int i = j, n = 0; n < glyphs.length; i += 2) { if (strike.getGlyphAdvance(glyphs[n++]) != 0) { // might be an inadequate test positions[i] += delta; delta += inc; } } positions[positions.length-2+j] += delta; } } } }
Example 10
Source File: Font2D.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
public FontStrike getStrike(Font font, AffineTransform devTx, int aa, int fm) { /* Create the descriptor which is used to identify a strike * in the strike cache/map. A strike is fully described by * the attributes of this descriptor. */ /* REMIND: generating garbage and doing computation here in order * to include pt size in the tx just for a lookup! Figure out a * better way. */ double ptSize = font.getSize2D(); AffineTransform glyphTx = (AffineTransform)devTx.clone(); glyphTx.scale(ptSize, ptSize); if (font.isTransformed()) { glyphTx.concatenate(font.getTransform()); } if (glyphTx.getTranslateX() != 0 || glyphTx.getTranslateY() != 0) { glyphTx.setTransform(glyphTx.getScaleX(), glyphTx.getShearY(), glyphTx.getShearX(), glyphTx.getScaleY(), 0.0, 0.0); } FontStrikeDesc desc = new FontStrikeDesc(devTx, glyphTx, font.getStyle(), aa, fm); return getStrike(desc, false); }
Example 11
Source File: FontFormat.java From Azzet with Open Software License 3.0 | 5 votes |
@Override public Font loadAsset( InputStream input, AssetInfo assetInfo ) throws Exception { FontInfo info = (FontInfo)assetInfo; Font font = Font.createFont( Font.TRUETYPE_FONT, input ); // Only derive the font if the info specifies a different format. if (font.getSize2D() != info.getSize() || font.getStyle() != info.getStyle()) { font = font.deriveFont( info.getStyle(), info.getSize() ); } return font; }
Example 12
Source File: Font2D.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
public FontStrike getStrike(Font font, AffineTransform devTx, int aa, int fm) { /* Create the descriptor which is used to identify a strike * in the strike cache/map. A strike is fully described by * the attributes of this descriptor. */ /* REMIND: generating garbage and doing computation here in order * to include pt size in the tx just for a lookup! Figure out a * better way. */ double ptSize = font.getSize2D(); AffineTransform glyphTx = (AffineTransform)devTx.clone(); glyphTx.scale(ptSize, ptSize); if (font.isTransformed()) { glyphTx.concatenate(font.getTransform()); } if (glyphTx.getTranslateX() != 0 || glyphTx.getTranslateY() != 0) { glyphTx.setTransform(glyphTx.getScaleX(), glyphTx.getShearY(), glyphTx.getShearX(), glyphTx.getScaleY(), 0.0, 0.0); } FontStrikeDesc desc = new FontStrikeDesc(devTx, glyphTx, font.getStyle(), aa, fm); return getStrike(desc, false); }
Example 13
Source File: Font2D.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
public FontStrike getStrike(Font font, AffineTransform devTx, int aa, int fm) { /* Create the descriptor which is used to identify a strike * in the strike cache/map. A strike is fully described by * the attributes of this descriptor. */ /* REMIND: generating garbage and doing computation here in order * to include pt size in the tx just for a lookup! Figure out a * better way. */ double ptSize = font.getSize2D(); AffineTransform glyphTx = (AffineTransform)devTx.clone(); glyphTx.scale(ptSize, ptSize); if (font.isTransformed()) { glyphTx.concatenate(font.getTransform()); } if (glyphTx.getTranslateX() != 0 || glyphTx.getTranslateY() != 0) { glyphTx.setTransform(glyphTx.getScaleX(), glyphTx.getShearY(), glyphTx.getShearX(), glyphTx.getScaleY(), 0.0, 0.0); } FontStrikeDesc desc = new FontStrikeDesc(devTx, glyphTx, font.getStyle(), aa, fm); return getStrike(desc, false); }
Example 14
Source File: StandardGlyphVector.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
public StandardGlyphVector(Font font, FontRenderContext frc, int[] glyphs, float[] positions, int[] indices, int flags) { initGlyphVector(font, frc, glyphs, positions, indices, flags); // this code should go into layout float track = getTracking(font); if (track != 0) { track *= font.getSize2D(); Point2D.Float trackPt = new Point2D.Float(track, 0); // advance delta if (font.isTransformed()) { AffineTransform at = font.getTransform(); at.deltaTransform(trackPt, trackPt); } // how do we know its a base glyph // for now, it is if the natural advance of the glyph is non-zero Font2D f2d = FontUtilities.getFont2D(font); FontStrike strike = f2d.getStrike(font, frc); float[] deltas = { trackPt.x, trackPt.y }; for (int j = 0; j < deltas.length; ++j) { float inc = deltas[j]; if (inc != 0) { float delta = 0; for (int i = j, n = 0; n < glyphs.length; i += 2) { if (strike.getGlyphAdvance(glyphs[n++]) != 0) { // might be an inadequate test positions[i] += delta; delta += inc; } } positions[positions.length-2+j] += delta; } } } }
Example 15
Source File: FontStrikeDesc.java From Bytecoder with Apache License 2.0 | 4 votes |
public static int getAAHintIntVal(Font2D font2D, Font font, FontRenderContext frc) { Object aa = frc.getAntiAliasingHint(); if (aa == VALUE_TEXT_ANTIALIAS_OFF || aa == VALUE_TEXT_ANTIALIAS_DEFAULT) { return INTVAL_TEXT_ANTIALIAS_OFF; } else if (aa == VALUE_TEXT_ANTIALIAS_ON) { return INTVAL_TEXT_ANTIALIAS_ON; } else if (aa == VALUE_TEXT_ANTIALIAS_GASP) { /* FRC.isIdentity() would have been useful */ int ptSize; AffineTransform tx = frc.getTransform(); if (tx.isIdentity() && !font.isTransformed()) { ptSize = font.getSize(); } else { /* one or both transforms is not identity */ float size = font.getSize2D(); if (tx.isIdentity()) { tx = font.getTransform(); tx.scale(size, size); } else { tx.scale(size, size); if (font.isTransformed()) { tx.concatenate(font.getTransform()); } } double shearx = tx.getShearX(); double scaley = tx.getScaleY(); if (shearx != 0) { scaley = Math.sqrt(shearx * shearx + scaley * scaley); } ptSize = (int)(Math.abs(scaley)+0.5); } if (font2D.useAAForPtSize(ptSize)) { return INTVAL_TEXT_ANTIALIAS_ON; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_HRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_HBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_HRGB; } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_VRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_VBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_VRGB; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } }
Example 16
Source File: FontStrikeDesc.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
public static int getAAHintIntVal(Font2D font2D, Font font, FontRenderContext frc) { Object aa = frc.getAntiAliasingHint(); if (aa == VALUE_TEXT_ANTIALIAS_OFF || aa == VALUE_TEXT_ANTIALIAS_DEFAULT) { return INTVAL_TEXT_ANTIALIAS_OFF; } else if (aa == VALUE_TEXT_ANTIALIAS_ON) { return INTVAL_TEXT_ANTIALIAS_ON; } else if (aa == VALUE_TEXT_ANTIALIAS_GASP) { /* FRC.isIdentity() would have been useful */ int ptSize; AffineTransform tx = frc.getTransform(); if (tx.isIdentity() && !font.isTransformed()) { ptSize = font.getSize(); } else { /* one or both transforms is not identity */ float size = font.getSize2D(); if (tx.isIdentity()) { tx = font.getTransform(); tx.scale(size, size); } else { tx.scale(size, size); if (font.isTransformed()) { tx.concatenate(font.getTransform()); } } double shearx = tx.getShearX(); double scaley = tx.getScaleY(); if (shearx != 0) { scaley = Math.sqrt(shearx * shearx + scaley * scaley); } ptSize = (int)(Math.abs(scaley)+0.5); } if (font2D.useAAForPtSize(ptSize)) { return INTVAL_TEXT_ANTIALIAS_ON; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_HRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_HBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_HRGB; } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_VRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_VBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_VRGB; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } }
Example 17
Source File: FontStrikeDesc.java From openjdk-8 with GNU General Public License v2.0 | 4 votes |
public static int getAAHintIntVal(Font2D font2D, Font font, FontRenderContext frc) { Object aa = frc.getAntiAliasingHint(); if (aa == VALUE_TEXT_ANTIALIAS_OFF || aa == VALUE_TEXT_ANTIALIAS_DEFAULT) { return INTVAL_TEXT_ANTIALIAS_OFF; } else if (aa == VALUE_TEXT_ANTIALIAS_ON) { return INTVAL_TEXT_ANTIALIAS_ON; } else if (aa == VALUE_TEXT_ANTIALIAS_GASP) { /* FRC.isIdentity() would have been useful */ int ptSize; AffineTransform tx = frc.getTransform(); if (tx.isIdentity() && !font.isTransformed()) { ptSize = font.getSize(); } else { /* one or both transforms is not identity */ float size = font.getSize2D(); if (tx.isIdentity()) { tx = font.getTransform(); tx.scale(size, size); } else { tx.scale(size, size); if (font.isTransformed()) { tx.concatenate(font.getTransform()); } } double shearx = tx.getShearX(); double scaley = tx.getScaleY(); if (shearx != 0) { scaley = Math.sqrt(shearx * shearx + scaley * scaley); } ptSize = (int)(Math.abs(scaley)+0.5); } if (font2D.useAAForPtSize(ptSize)) { return INTVAL_TEXT_ANTIALIAS_ON; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_HRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_HBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_HRGB; } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_VRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_VBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_VRGB; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } }
Example 18
Source File: FontStrikeDesc.java From openjdk-8-source with GNU General Public License v2.0 | 4 votes |
public static int getAAHintIntVal(Font2D font2D, Font font, FontRenderContext frc) { Object aa = frc.getAntiAliasingHint(); if (aa == VALUE_TEXT_ANTIALIAS_OFF || aa == VALUE_TEXT_ANTIALIAS_DEFAULT) { return INTVAL_TEXT_ANTIALIAS_OFF; } else if (aa == VALUE_TEXT_ANTIALIAS_ON) { return INTVAL_TEXT_ANTIALIAS_ON; } else if (aa == VALUE_TEXT_ANTIALIAS_GASP) { /* FRC.isIdentity() would have been useful */ int ptSize; AffineTransform tx = frc.getTransform(); if (tx.isIdentity() && !font.isTransformed()) { ptSize = font.getSize(); } else { /* one or both transforms is not identity */ float size = font.getSize2D(); if (tx.isIdentity()) { tx = font.getTransform(); tx.scale(size, size); } else { tx.scale(size, size); if (font.isTransformed()) { tx.concatenate(font.getTransform()); } } double shearx = tx.getShearX(); double scaley = tx.getScaleY(); if (shearx != 0) { scaley = Math.sqrt(shearx * shearx + scaley * scaley); } ptSize = (int)(Math.abs(scaley)+0.5); } if (font2D.useAAForPtSize(ptSize)) { return INTVAL_TEXT_ANTIALIAS_ON; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_HRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_HBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_HRGB; } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_VRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_VBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_VRGB; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } }
Example 19
Source File: MovingArea.java From ramus with GNU General Public License v3.0 | 4 votes |
public Font getFont(final Font f) { final double size = f.getSize2D() * zoom; return new Font(f.getName(), f.getStyle(), (int) size); }
Example 20
Source File: FontStrikeDesc.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
public static int getAAHintIntVal(Font2D font2D, Font font, FontRenderContext frc) { Object aa = frc.getAntiAliasingHint(); if (aa == VALUE_TEXT_ANTIALIAS_OFF || aa == VALUE_TEXT_ANTIALIAS_DEFAULT) { return INTVAL_TEXT_ANTIALIAS_OFF; } else if (aa == VALUE_TEXT_ANTIALIAS_ON) { return INTVAL_TEXT_ANTIALIAS_ON; } else if (aa == VALUE_TEXT_ANTIALIAS_GASP) { /* FRC.isIdentity() would have been useful */ int ptSize; AffineTransform tx = frc.getTransform(); if (tx.isIdentity() && !font.isTransformed()) { ptSize = font.getSize(); } else { /* one or both transforms is not identity */ float size = font.getSize2D(); if (tx.isIdentity()) { tx = font.getTransform(); tx.scale(size, size); } else { tx.scale(size, size); if (font.isTransformed()) { tx.concatenate(font.getTransform()); } } double shearx = tx.getShearX(); double scaley = tx.getScaleY(); if (shearx != 0) { scaley = Math.sqrt(shearx * shearx + scaley * scaley); } ptSize = (int)(Math.abs(scaley)+0.5); } if (font2D.useAAForPtSize(ptSize)) { return INTVAL_TEXT_ANTIALIAS_ON; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_HRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_HBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_HRGB; } else if (aa == VALUE_TEXT_ANTIALIAS_LCD_VRGB || aa == VALUE_TEXT_ANTIALIAS_LCD_VBGR) { return INTVAL_TEXT_ANTIALIAS_LCD_VRGB; } else { return INTVAL_TEXT_ANTIALIAS_OFF; } }