[Share Experiences] 【补丁】Java 中文补丁,解决发虚、不显示、不好看等问题
Tofloor
poster avatar
152******17
deepin
2021-02-03 21:27
Author

Java 中文字体不清晰问题困扰我很久了,
最后研究出了有效的解决方法分享给大家。

 

https://dfc643.lanzous.com/i61hJl95nyh


1. 首先必须安装 Noto Sans CJK SC Regular 字体(UOS自带)
2. 打开终端,sudo 权限运行补丁 sudo sh java-font-patch.sh
3. 按提示操作即可


兼容所有版本的 Java,包括 OpenJRE、OpenJDK、Oracle JDK、Amazon Corretto。
转载请注明出处:深度论坛 @dfc643

下图:没有启用补丁的样子

 

下图:启用了汉字补丁的样子

Reply Favorite View the author
All Replies
moling
deepin
2021-02-04 01:27
#1

大佬所谓的中文字体发虚是指编译工具中的?

Reply View the author
152******17
deepin
2021-02-04 01:32
#2
moling

大佬所谓的中文字体发虚是指编译工具中的?

默认 java 软件的字体是宋体,字体边缘发绿,而且很多字的偏旁部首粘在一起,看不清。

这个补丁可以解决这些问题,如果软件自己可以设置字体,可能要去软件里面再修改一下字体。

Reply View the author
moling
deepin
2021-02-04 02:40
#3
152******17

默认 java 软件的字体是宋体,字体边缘发绿,而且很多字的偏旁部首粘在一起,看不清。

这个补丁可以解决这些问题,如果软件自己可以设置字体,可能要去软件里面再修改一下字体。

好的,完了我也去试试

Reply View the author
字甲达宾
deepin
2021-02-04 05:03
#4

几点个人观点:

 

1.  那个 noto 字体,对应的字体包名是 fonts-noto-cjk。Debian/Ubuntu/Deepin/UOS 源中自带。

sudo apt-get install fonts-noto-cjk

 

2. 看了一下 补丁脚本,大致原理就是:

* 打补丁时:删除原有的 /usr/bin/java 文件,用自定义的脚本(即指定中文字体) 替代;

* 卸载/还原时:删除现有的 /usr/bin/java 文件, 并创建新的符号链接 /usr/bin/java,指向 /etc/alternatives/java 。

 

3. 脚本中,有这么一段内容。其中, 打补丁后的中文字体 TTF 族名定义是:

MODFONT="Noto Sans CJK SC Regular"

有个小疑问:变量前后似乎应该用 双引号?

----------

#!/bin/sh
/etc/alternatives/java \\
    -Dawt.useSystemAAFontSettings=on \\
    -Dswing.aatext=true \\
    -Dsun.java2d.xrender=true \\

----------

Reply View the author
152******17
deepin
2021-02-04 06:50
#5
字甲达宾

几点个人观点:

 

1.  那个 noto 字体,对应的字体包名是 fonts-noto-cjk。Debian/Ubuntu/Deepin/UOS 源中自带。

sudo apt-get install fonts-noto-cjk

 

2. 看了一下 补丁脚本,大致原理就是:

* 打补丁时:删除原有的 /usr/bin/java 文件,用自定义的脚本(即指定中文字体) 替代;

* 卸载/还原时:删除现有的 /usr/bin/java 文件, 并创建新的符号链接 /usr/bin/java,指向 /etc/alternatives/java 。

 

3. 脚本中,有这么一段内容。其中, 打补丁后的中文字体 TTF 族名定义是:

MODFONT="Noto Sans CJK SC Regular"

有个小疑问:变量前后似乎应该用 双引号?

----------

#!/bin/sh
/etc/alternatives/java \\
    -Dawt.useSystemAAFontSettings=on \\
    -Dswing.aatext=true \\
    -Dsun.java2d.xrender=true \\

----------

现代 shell 中双引单引都可以的

Reply View the author
字甲达宾
deepin
2021-02-05 04:50
#6

这个方案,很多 java 中文用户应该都有需求。顺手打了个 DEB。

DEB 包的功能:

* 安装时,即会自动打中文补丁;

* 用户也可随时以 root 用户身份,运行 java-font-patch-zh 命令来 还原/打补丁。

-----------

java-font-patch-zh_0.1-1_all.deb

DEB 包大小: 4 K

https://306t.com/f/30646948-481256122-ba88f5
(访问密码:6859)
-----------

附1:cat DEBIAN/md5sums

---------
usr/share/doc/java-font-patch-zh/copyright
usr/share/doc/java-font-patch-zh/changelog.Debian.gz
3487812123420a78e251aeb823ace730  usr/share/doc/java-font-patch-zh/README.zh_CN
e81b8730206024a4806ba7464c7948df  usr/local/bin/java-font-patch-zh
---------

附2:cat DEBIAN/control

(注:

* 因不知道你的 E-mail, 暂时无数据。

* 另:copyright 文件中,协议暂定为 GPL-3+。如有不妥,或有其他技术细节可优化,请告知。

* DEBIAN/ 下有两个安装脚本 postinst 和 postrm, 代码提取、精简自 原始 sh 文档,细节略有调整。)

--------
Package: java-font-patch-zh
Version: 0.1-1
Architecture: all
Maintainer: dfc643
Installed-Size: 64
Depends: fonts-noto-cjk, openjdk-8-jre|openjdk-8-jre-headless|openjdk-11-jre|openjdk-11-jre-headless|openjdk-11-jdk|openjdk-11-jdk-headless
Section: java
Priority: optional
Homepage: https://bbs.deepin.org/zh/post/213261
Description: Java Chinese font patch
 URL: https://bbs.deepin.org/zh/post/213261
 .
 [经验分享] 【补丁】Java 中文补丁,解决发虚、不显示、不好看等问题
 .
 Author: dfc643 (2021-02-03)
...
------------

 

 

Reply View the author
152******17
deepin
2021-02-05 05:24
#7
字甲达宾

这个方案,很多 java 中文用户应该都有需求。顺手打了个 DEB。

DEB 包的功能:

* 安装时,即会自动打中文补丁;

* 用户也可随时以 root 用户身份,运行 java-font-patch-zh 命令来 还原/打补丁。

-----------

java-font-patch-zh_0.1-1_all.deb

DEB 包大小: 4 K

https://306t.com/f/30646948-481256122-ba88f5
(访问密码:6859)
-----------

附1:cat DEBIAN/md5sums

---------
usr/share/doc/java-font-patch-zh/copyright
usr/share/doc/java-font-patch-zh/changelog.Debian.gz
3487812123420a78e251aeb823ace730  usr/share/doc/java-font-patch-zh/README.zh_CN
e81b8730206024a4806ba7464c7948df  usr/local/bin/java-font-patch-zh
---------

附2:cat DEBIAN/control

(注:

* 因不知道你的 E-mail, 暂时无数据。

* 另:copyright 文件中,协议暂定为 GPL-3+。如有不妥,或有其他技术细节可优化,请告知。

* DEBIAN/ 下有两个安装脚本 postinst 和 postrm, 代码提取、精简自 原始 sh 文档,细节略有调整。)

--------
Package: java-font-patch-zh
Version: 0.1-1
Architecture: all
Maintainer: dfc643
Installed-Size: 64
Depends: fonts-noto-cjk, openjdk-8-jre|openjdk-8-jre-headless|openjdk-11-jre|openjdk-11-jre-headless|openjdk-11-jdk|openjdk-11-jdk-headless
Section: java
Priority: optional
Homepage: https://bbs.deepin.org/zh/post/213261
Description: Java Chinese font patch
 URL: https://bbs.deepin.org/zh/post/213261
 .
 [经验分享] 【补丁】Java 中文补丁,解决发虚、不显示、不好看等问题
 .
 Author: dfc643 (2021-02-03)
...
------------

 

 

https://upload.spark-app.store/

可以投稿星火

Reply View the author
deltacatxx
deepin
2021-02-27 21:30
#8

确实有效果

Reply View the author
风吹过的绿洲
deepin
2022-01-27 18:44
#9
字甲达宾

这个方案,很多 java 中文用户应该都有需求。顺手打了个 DEB。

DEB 包的功能:

* 安装时,即会自动打中文补丁;

* 用户也可随时以 root 用户身份,运行 java-font-patch-zh 命令来 还原/打补丁。

-----------

java-font-patch-zh_0.1-1_all.deb

DEB 包大小: 4 K

https://306t.com/f/30646948-481256122-ba88f5
(访问密码:6859)
-----------

附1:cat DEBIAN/md5sums

---------
usr/share/doc/java-font-patch-zh/copyright
usr/share/doc/java-font-patch-zh/changelog.Debian.gz
3487812123420a78e251aeb823ace730  usr/share/doc/java-font-patch-zh/README.zh_CN
e81b8730206024a4806ba7464c7948df  usr/local/bin/java-font-patch-zh
---------

附2:cat DEBIAN/control

(注:

* 因不知道你的 E-mail, 暂时无数据。

* 另:copyright 文件中,协议暂定为 GPL-3+。如有不妥,或有其他技术细节可优化,请告知。

* DEBIAN/ 下有两个安装脚本 postinst 和 postrm, 代码提取、精简自 原始 sh 文档,细节略有调整。)

--------
Package: java-font-patch-zh
Version: 0.1-1
Architecture: all
Maintainer: dfc643
Installed-Size: 64
Depends: fonts-noto-cjk, openjdk-8-jre|openjdk-8-jre-headless|openjdk-11-jre|openjdk-11-jre-headless|openjdk-11-jdk|openjdk-11-jdk-headless
Section: java
Priority: optional
Homepage: https://bbs.deepin.org/zh/post/213261
Description: Java Chinese font patch
 URL: https://bbs.deepin.org/zh/post/213261
 .
 [经验分享] 【补丁】Java 中文补丁,解决发虚、不显示、不好看等问题
 .
 Author: dfc643 (2021-02-03)
...
------------

 

 

下载不了了

Reply View the author
字甲达宾
deepin
2022-01-28 20:42
#10
风吹过的绿洲

下载不了了

链接 点2次,或者3次。这个网盘第一次的点击是弹出广告。点第2次才开始下载

Reply View the author