linux下jvm中文字体支持说明

#echo $LANG  //显示OS当前的语言
#env | grep LANG

#LANG=zh_CN.GB18030  //设置语言
#export LANG  //使设置生效


//修改/etc/sysconfig/i18n 中的环境变量"LANG"为 "LANG=zh_CN.GB18030",此文件OS启动时自动加载
#vi /etc/sysconfig/i18n

LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"


# DISPLAY=:0.0
# export DISPLAY

# startx   //启动X window服务,需要linux安装Gnome或KDE中的任意一种

 

步骤:
1. 复制字体文件 .ttf
2. 修改 fonts.dir(ttmkfdir、mkfontdir),添加字体
3. 修改 font.properties.zh_CN


//拷贝中文字体到jvm的字体目录下
# cp /usr/share/fonts/zh_CN/TrueType/zysong.ttf  ${JAVA_HOME}/jre/lib/fonts/

/usr/share/fonts/zh_CN/TrueType/ 为OS的字体目录

# cd ${JAVA_HOME}/jre/lib/fonts/

# ttmkfdir > fonts.dir  //由ttmkfdir命令生成字体调用的对照表
# mkfontdir //mkfontdir命令根据当前目录下的 .ttf 文件生成 fonts.dir(Redhat AS3上)


${JAVA_HOME}/jre/lib/fonts/font.properties  此文件是JVM的字体属性文件
${JAVA_HOME}/jre/lib/fonts/font.properties.zh_CN

按http://java.sun.com/j2se/1.3/docs/guide/intl/fontprop.html的说明,JVM按以下顺序搜索字体属性文件,尖括号是JVM检测的系统属性:

font.properties.<language>_<region>_<encoding>.<osVersion>
font.properties.<language>_<region>_<encoding>
font.properties.<language>_<region>.<osVersion>
font.properties.<language>_<region>
font.properties.<language>_<encoding>.<osVersion>
font.properties.<language>_<encoding>
font.properties.<language>_<osVersion>
font.properties.<language>
font.properties.<encoding>.<osVersion>
font.properties.<encoding>
font.properties.<osVersion>
font.properties


# vi fonts.dir

zysong.ttf -misc-ZYSong18030-medium-r-normal--0-0-0-0-p-0-ascii-0
zysong.ttf -misc-ZYSong18030-medium-r-normal--0-0-0-0-c-0-gb18030.2000-1 //下面要用的此字体
zysong.ttf -misc-ZYSong18030-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
zysong.ttf -misc-ZYSong18030-medium-r-normal--0-0-0-0-c-0-gbk-0
zysong.ttf -misc-ZYSong18030-medium-r-normal--0-0-0-0-c-0-iso10646-1 //下面要用的此字体


# vi ${JAVA_HOME}/jre/lib/fonts/font.properties.zh_CN

serif.0=-b&h-luxi serif-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.1=-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

.......


# XFontSet Information
#
fontset.serif.plain=/
-b&h-luxi serif-medium-r-normal--*-%d-*-*-p-*-iso8859-1,/
-isas-song ti-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0

修改为:

# XFontSet Information
#
fontset.serif.plain=/
-b&h-luxi serif-medium-r-normal--*-%d-*-*-p-*-iso8859-1,/
-misc-ZYSong18030-medium-r-normal--0-0-0-0-c-0-gb18030.2000-1

要用 fonts.dir 中有的中文字体替换,其他的依此类推

你可能感兴趣的:(java,jvm,linux,redhat,语言,encoding)