Java web 程序 Linux 环境,如何不修改 JDK/JRE 配置来执行中文?
可以注册字体到运行环境中,如果只有一个地方用到,可以在用到的地方注册一次,如果在系统中有多个地方用到,则可以自定义一个ServletContextListener
, 在容器初始化应用之后加载。
加载代码:
Font font = Font.createFont(Font.TRUETYPE_FONT, File);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font);
Java 对字体的支持怎么样?
Java6 以前只支持 TYPE1
font 和 TTF font。之后支持 OTF 格式。但是我的环境是 JDK8, 加载思源黑体 OTF 格式字体正常,但是 Java2D 绘图却是空白。
使用工具将 OTF 转换为 TTF 字体之后则能正常显示。
关于 Java 中文字体,还有什么注意事项?
new Font
时一定要指定正确的名称,比如我们程序用到 思源黑体 SC Bold , 则正确的名称是 Source Han Sans SC Bold
。如果字体写错,则会回退到名为 Dialog
的逻辑字体。在支持中文的操作系统(OSX, Windows) 上显示没有问题,到 Linux 环境,显示为豆腐块,坑死了。
时间: 2024-10-10 20:18:00