首页 / JAVA / Java没有合成斜体字体
Java没有合成斜体字体
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java没有合成斜体字体,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2035字,纯文字阅读大概需要3分钟。
内容图文
![Java没有合成斜体字体](/upload/InfoBanner/zyjiaocheng/650/a1fd03bdb39e4e90ad03a9aa55b81e13.jpg)
主要问题:
OpenJDK中是否有一个设置可以像Oracle JDK一样合成斜体字体.
背景:
使用OpenJDK,在Graphics2D对象上绘制文本时,除非倾斜字体显示在所需字体系列中,否则文本不会以倾斜样式显示. Oracle的JDK确实合成斜体字体.摆动部件也被合成.
笔记:
>粗体是合成的,粗体斜体只是粗体.
>我知道为获得最佳效果,应注册斜体字样.对于已经利用合成字体外观的应用程序,这可能不是一个完美的解决方案.
>关于JavaFX和字体的信息很多,这不是JavaFX,而是AWT.
这是一个说明问题的简单类.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.GraphicsConfiguration;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.UnsupportedLookAndFeelException;
public class SimpleFontTest {
private static Font FONT = new Font("Impact", Font.ITALIC, 18);
private static String TEXT = "The Quick Brown Fox";
public static void main(String args[]) throws UnsupportedLookAndFeelException {
if (args.length > 0 && args[0] != null) {
String fontName = args[0];
FONT = new Font(fontName, Font.ITALIC, 18);
}
JFrame f = new JFrame("Simple Font Test: " + System.getProperty("java.vendor"));
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("JLabel: " + TEXT);
label.setFont(FONT);
GraphicsConfiguration gc = f.getGraphicsConfiguration();
BufferedImage image = gc.createCompatibleImage(400, 50);
Graphics2D g = image.createGraphics();
g.setFont(FONT);
g.setColor(Color.BLACK);
g.setBackground(Color.WHITE);
g.clearRect(0, 0, image.getWidth(), image.getHeight());
g.drawString("BufferedImage: " + TEXT, 10, 15);
g.dispose();
JLabel picLabel = new JLabel(new ImageIcon(image));
f.add(label, BorderLayout.PAGE_START);
f.add(picLabel, BorderLayout.CENTER);
f.setSize(400, 200);
f.setVisible(true);
}
}
输出将取决于用于构建和运行该类的JDK.这是一个比较图像:
感谢大家.
解决方法:
因为我不喜欢看到没有答案的问题:这似乎只是从T2K字体渲染器更改为FreeType的结果.
一些解决方法:
>制作斜体字体(如果法律允许您许可)
>将AffineTransform应用于Font对象(-20的偏斜效果很好).
内容总结
以上是互联网集市为您收集整理的Java没有合成斜体字体全部内容,希望文章能够帮你解决Java没有合成斜体字体所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。