Java Code Examples for java.awt.Font#getSize2D()
The following examples show how to use
java.awt.Font#getSize2D() .
These examples are extracted from open source projects.
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 Project: jdk8u-dev-jdk File: Font2D.java License: 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 Project: dragonwell8_jdk File: Font2D.java License: 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 3
Source Project: Bytecoder File: Font2D.java License: 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 4
Source Project: audiveris File: TextFont.java License: 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 Project: openjdk-jdk8u File: Font2D.java License: 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 Project: jdk8u-dev-jdk File: StandardGlyphVector.java License: 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 Project: openjdk-8 File: StandardGlyphVector.java License: 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 Project: OkapiBarcode File: Java2DRenderer.java License: 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 Project: hottub File: StandardGlyphVector.java License: 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 Project: jdk8u60 File: Font2D.java License: 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 Project: openjdk-8 File: Font2D.java License: 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 12
Source Project: jdk8u-jdk File: StandardGlyphVector.java License: 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 13
Source Project: Azzet File: FontFormat.java License: 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 14
Source Project: jdk8u-jdk File: Font2D.java License: 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 15
Source Project: TencentKona-8 File: FontStrikeDesc.java License: 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 16
Source Project: ramus File: MovingArea.java License: 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 17
Source Project: openjdk-8-source File: FontStrikeDesc.java License: 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 Project: openjdk-8 File: FontStrikeDesc.java License: 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 Project: openjdk-jdk9 File: FontStrikeDesc.java License: 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 20
Source Project: Bytecoder File: FontStrikeDesc.java License: 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; } }