查看源代码
出自Linux Wiki
对
Java程序中文字体配置
的源代码
根据以下的原因,您无权限进行编辑这个页面操作:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
在[[Linux]]中,JAVA程序的中文默认可能不正常:或是显示为方框,或是不够清晰。这是由于JRE字体配置不正确所导致的,修改JRE的字体配置文件可以解决这个问题。 ==配置文件位置== JRE的字体配置文件存放在<ref>[http://java.sun.com/javase/6/docs/technotes/guides/intl/fontconfig.html Sun网站上对fontconfig的介绍]</ref>: <source lang=bash> # 显示当前系统中Java字体配置文件名称: echo $JAVA_HOME/jre/lib/fontconfig.properties </source> 其中,'''$JAVA_HOME'''环境变量表示JRE所在的路径,在安装了JAVA环境的系统中,通常已经设定。如在有些系统中''$JAVA_HOME''形如''/usr/lib/jvm/java-6-sun''。 {{Hint|对于某些自带了JRE的软件,如Matlab等,配置字体时只要将上面的''$JAVA_HOME''更为其自带的JRE的路径即可,如[[MATLAB中文字体配置]]。}} 如果这个文件不存在,可以从''fontconfig.properties.src''复制一个: <source lang=bash> # 本文后续的所有命令可能需要root权限,请自行添加sudo cp $JAVA_HOME/jre/lib/fontconfig.properties.src $JAVA_HOME/jre/lib/fontconfig.properties # 有些系统中该文件是只读的…… chmod +w $JAVA_HOME/jre/lib/fontconfig.properties </source> 为了避免受当前fontconfig配置文件的影响,备份并移除所有bfc文件: <source lang=bash> mkdir $JAVA_HOME/jre/lib/bfcbak/ mv $JAVA_HOME/jre/lib/*.bfc $JAVA_HOME/jre/lib/bfcbak/ </source> ==准备字体== 首先请确定要使用的字体,如Windows中的宋体、黑体,或Linux中[[文泉驿]]正黑体。 接着要找到字体文件,文泉驿系列字体一般安装在''/usr/share/fonts''中包含<tt>wqy</tt>的某个文件夹中,文件名''wqy-zenhei.ttc''或''wqy-zenhei.ttf''。宋体则在Windows的分区中,一般是''WINDOWS\Fonts\simsun.ttc''。 建议将想用的字体文件复制(或创建[[符号链接]])到''$JAVA_HOME/jre/lib/fonts'',后面的配置会简单一点。 ==修改配置文件== 打开配置文件,如''$JAVA_HOME/jre/lib/fontconfig.properties'',并对其进行如下操作: ===获取字体定义=== 到存放有字体文件的文件夹,如''$JAVA_HOME/jre/lib/fonts'',运行下述命令<ref>http://www.builder.com.cn/2008/0619/935502.shtml</ref><ref>http://hiei.yeax.com/archives_48.html</ref>: <source lang="bash"> # Make font scale mkfontscale # 寻找文件中含有iso10646的行(对应Unicode类的编码) grep 10646 fonts.scale </source> 会看到这样的一些行: simsun.ttc -misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1 wqy-microhei.ttc -misc-wenquanyi micro hei-medium-r-normal--0-0-0-0-p-0-iso10646-1 请复制相应字体对应的行备用。 ===加入字体定义=== 在'''version=1'''后面加入<ref>http://blogs.sun.com/wind/entry/linux%E4%B8%8Bjava%E7%9A%84%E4%B8%AD%E6%96%87%E5%AD%97%E4%BD%93%E8%AE%BE%E7%BD%AE</ref>(后半部分可按具体使用的字体更改) allfonts.chinese-arphic1=-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1 如果原来文件中还有设置'''allfonts.chinese-arphic1'''的,就把它们注释掉。 ===指明字体路径=== 如果已经把字体复制到''$JAVA_HOME/jre/lib/fonts'',可以略过此步。否则须在配置文件中加上字体文件的完整路径,以宋体为例: filename.-misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1=<span style="color:green">simsun.ttc的完整路径</span> ===修改字体搜索序列=== 在配置文件中查找'''sequence.allfonts''',如果其后的'''sequence'''开头的行中有'''chinese-arphics1''',可以略过此步,否则在其后面加入一行: sequence.fallback=chinese-arphic1 ==解决字显示不清晰的问题== 有时看到英文显示有锯齿,有时看到中文字边缘不清,这可能都与字体反锯齿的设置不当有关。可以在''/etc/profile''或''~/.bashrc''末尾加入:<ref>http://wiki.archlinux.org/index.php/Java_Fonts_-_Sun_JRE</ref> <source lang=bash> export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd' </source> 其中的lcd也可改为gasp,但效果较好的常是lcd。 ==相关资料== <references/> [[Category: Java]] [[Category: Linux中国化]]
在这个页面上使用的模板有:
Template:Hint
(
查看源码
)
返回到
Java程序中文字体配置
。
导航
首页
社区入口
当前事件
最近更改
随机页面
帮助
查看
页面
讨论
查看源代码
历史
个人工具
登录/创建账户
搜索
简体繁体转换
不转换
简体
繁體
工具箱
链入页面
链出更改
特殊页面