本文转载自:http://linux-wiki.cn/wiki/zh-hans/Java%E7%A8%8B%E5%BA%8F%E4%B8%AD%E6%96%87%E5%AD%97%E4%BD%93%E9%85%8D%E7%BD%AE

非常感谢 Linux Wiki用户Chenxing 和 lzh
 
配置文件位置

JRE的字体配置文件存放在:

# 显示当前系统中Java字体配置文件名称:
echo $JAVA_HOME/jre/lib/fontconfig.properties 如果这个文件不存在,可以从fontconfig.properties.src复制一个:
# 本文后续的所有命令可能需要root权限,请自行添加sudo
cp $JAVA_HOME/jre/lib/fontconfig.properties.src $JAVA_HOME/jre/lib/fontconfig.properties
 
# 有些系统中该文件是只读的……
chmod +w $JAVA_HOME/jre/lib/fontconfig.properties

为了避免受当前fontconfig配置文件的影响,备份并移除所有bfc文件:

mkdir $JAVA_HOME/jre/lib/bfcbak/
mv $JAVA_HOME/jre/lib/*.bfc $JAVA_HOME/jre/lib/bfcbak/

准备字体

首先请确定要使用的字体

如:simsun.ttc

建议将想用的字体文件复制(或创建符号链接)到$JAVA_HOME/jre/lib/fonts,后面的配置会简单一点。

获取字体定义

到存放有字体文件的文件夹,如$JAVA_HOME/jre/lib/fonts,运行下述命令[2][3]

# Make font scale
mkfontscale
 
# 寻找文件中含有iso10646的行(对应Unicode类的编码)
grep 10646 fonts.scale

会看到这样的一些行:

simsun.ttc -misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1

请复制相应字体对应的行备用。

修改配置文件

打开配置文件,如$JAVA_HOME/jre/lib/fontconfig.properties,并对其进行如下操作:

在version=1后面加入一行:

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=simsun.ttc的完整路径

修改字体搜索序列

在配置文件中查找sequence.allfonts,如果其后的sequence开头的行中有chinese-arphics1,可以略过此步,否则在其后面加入一行:

sequence.fallback=chinese-arphic1

解决字显示不清晰的问题

有时看到英文显示有锯齿,有时看到中文字边缘不清,这可能都与字体反锯齿的设置不当有关。可以在/etc/profile~/.bashrc末尾加入:[5]

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd'

其中的lcd也可改为gasp,但效果较好的常是lcd。

Linux 中文乱码问题解决的更多相关文章

  1. Ubuntu下Eclipse中文乱码问题解决(转)

    Ubuntu下Eclipse中文乱码问题解决 把Windows下的工程导入到了Linux下Eclipse中,由于以前的工程代码,都是GBK编码的(Windows下的Eclipse 默认会去读取系统的编 ...

  2. 180606-Linux下jdk中文乱码问题解决

    文章链接:https://liuyueyi.github.io/hexblog/2018/06/06/180606-Linux下jdk中文乱码问题解决/ linux下jdk中文乱码问题解决 之前遇到过 ...

  3. Arch Linux中文乱码解决

    Arch Linux中文乱码解决 1.安装中文字体 pacman -S wqy-zenhei ttf-fireflysung (flash乱码)   ---乱码的原因就是缺少中文字体的支持,下载文泉驿 ...

  4. WingIDE中文乱码问题解决方法

    WingIDE中文乱码问题解决方法 安装完WingIDE后,首次运行python脚本时,若脚本中含有UTF-8中文,在Debug I/O输出框中,全部变成了乱码. 这时其实我们设置下WingIDE的编 ...

  5. ubuntu mysql emma中文乱码问题解决

    ubuntu mysql emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(python). apt-get安装emma ...

  6. Spring MVC3返回JSON数据中文乱码问题解决(转)

    Spring MVC3返回JSON数据中文乱码问题解决 查了下网上的一些资料,感觉比较复杂,这里,我这几使用两种很简单的办法解决了中文乱码问题. Spring版本:3.2.2.RELEASE Jack ...

  7. 【转】asp.net Cookie值中文乱码问题解决方法

    来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqia ...

  8. soapUI参数中文乱码问题解决方法 (groovy脚本中文乱码)

    soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文 ...

  9. oracle中文乱码问题解决

    中文乱码问题解决:1.查看服务器端编码select userenv('language') from dual;我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK2.执行语句 se ...

随机推荐

  1. MyEclipse 2013优化配置【转】

    作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs MyEclipse 2013优化速度方案仍然主要有这么几个方面:去除无需加载的模块.取消冗余的配置.去除不 ...

  2. 用jQuery编的一个分页小代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. [转载]html中DTD使用小结

    原文链接:http://www.jb51.net/web/36856.html DTD 是一套关于标记符的语法规则.它是XML1.0版规格得一部分,是html文件的验证机制,属于html文件组成的一部 ...

  4. BestCoder Round #61 1002 Game

    Problem Description XY is playing a game:there are N pillar in a row,which numbered from 1 to n.Each ...

  5. U盘安装中标麒麟服务器操作系统 一 (NeoKylin 6.5)

    U盘安装中标麒麟服务器操作系统(NeoKylin 6.5) 首先需要下载中标麒麟服务器操作系统的iso镜像.我这里的是NeoKylin Linux A 6.5.iso 因为超过了4GB,百度网盘不支持 ...

  6. spring和hibernate整合时无法自动建表

    在使用spring整合hibernate时候代码如下: <property name="dataSource" ref="dataSource" /> ...

  7. jQuery调用后台方法

    前台: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.as ...

  8. 在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作

    Phpstorm除了能直接打开localhost文件之外,还可以连接FTP,除了完成正常的数据传递任务之外,还可以进行本地文件与服务端文件的异同比较,同一文件自动匹配目录上传,下载,这些功能是平常ID ...

  9. C# 非托管内存使用时的注意事项

    调用Marshal.AllocHGlobal必须调用 Marshal.FreeHGlobal(ptr)来手动释放内存,即使调用GC.Collect();方法也无法释放,导致内存泄露!!

  10. SQLServer:FUNCTION/CURSOR/PROCEDURE/TRIGGER

    一.FUNCTION:在sqlserver2008中有3中自定义函数:标量函数/内联表值函数/多语句表值函数,首先总结下他们语法的异同点:同点:1.创建定义是一样的:                  ...