Невозможно установить отслеживание или кернинг шрифта в java? - PullRequest
0 голосов
/ 05 апреля 2020

Попытка создать сокращенную версию шрифта в java, но какие бы параметры я ни пытался, результат будет одинаковым. Что здесь не так?

g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);

// Make a condensed version of the font
Map<TextAttribute, Object> attributes = new HashMap<TextAttribute, Object>();
// attributes.put(TextAttribute.KERNING, TextAttribute.KERNING_ON);
attributes.put(TextAttribute.TRACKING, +3);
Font font2 = font.deriveFont(attributes);        

g2d.setFont(font2);
fm = g2d.getFontMetrics();        

GlyphVector gv = font.createGlyphVector(g2d.getFontMetrics(font2).getFontRenderContext(), text);

// We're going to outline the letters with a 5-pixel wide line
g2d.setStroke(new BasicStroke(5.0f));

// Move to the baseline of our first letter
g2d.translate(0, fm.getAscent());

g2d.setPaint(Color.BLACK);
g2d.draw(gv.getOutline());
...