Ubuntu 10.04下Netbeans使用OpenJDK造成中文显示不正常的解决方案

JAVA读取本地字体|OpenJDK 缺FontConfig组件 一、问题背景 项目一直部署在阿里云上,一直正常运行。最近换新环境之后登陆界面的验证码不显示,后台报错: java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion 二、原因分析 代码没变过,一样的包,那只能从部署环境找问题。仔细对比了现在和以前的环境,发现之前用的是JDK1.8,现在用的是OpenJDK8。查了一些资料,证实了一件事情——OpenJDK不支持awt包下的字体。 三、解决办法 解决办法有两个,要么改 阅读详情

直接sudo apt-get install netbeans装的。

装完发现自动下载的是OpenJDK而不是Sun的JDK。OpenJDK好像在中文字体映射的配置上有些小问题。具体的症状就是Netbeans里显示的中文只能占正常宽度的一半,成了“超窄体”。

 

改正方法参考的是http://bbs.lehu.shu.edu.cn/Article.aspx?aid=124539帖子。具体如下:

 

OpenJDK的fontconfig和sun-java的fontconfig的默认写法是不一样的。所以用两个环境运行起来的netbeans 默认出现的问题是不一样的。OpenJDK运行的出现的问题既是LZ的花字现象,而sun-java运行起来出现的问题是方块字现象。

我发 现把OpenJDK默认的fontconfig原封不动地覆盖掉sun-java的fontconfig,用sun-java运行起来的netbeans 方块字的问题就解决了!分析了一下OpenJDK的fontconfig.properties文件,我发现uming和wqy的路径如下:

filename.AR_PL_UMing_CN=/usr/share/fonts/truetype/arphic/uming.ttc
filename.AR_PL_UMing_HK=/usr/share/fonts/truetype/arphic/uming.ttc
filename.AR_PL_UMing_TW=/usr/share/fonts/truetype/arphic/uming.ttc
filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/truetype/arphic/uming.ttf
filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc

然 后到这几个目录下去找,发现前三个uming的路径及文件名是对的,而第四个写错了,wqy的文件名则是写错了。

于是我觉得问题是这样的:

OpenJDK 对于uming字体的支持有问题,所以用OpenJDK运行起来的netbeans出现的是花字(文字都能找到)而不是方块(文字找不到)。而sun- java对uming字体的支持是到位的,所以把OpenJDK的字体配置拷贝给sun-java,sun-java就能正确显示文字。

那 么解决办法就是改fontconfig。

我以OpenJDK的fontconfig为蓝本,首先讲wqy的正确文件找到。其实就是把ttc 改成ttf。然后找到文件的最前面

# Chinese fonts
allfonts.umingcn=AR PL UMing CN
#allfonts.umingcn.motif=AR PL UMing CN
allfonts.uminghk=AR PL UMing HK
#allfonts.uminghk.motif=AR PL UMing HK
allfonts.umingtw=AR PL UMing TW
#allfonts.umingtw.motif=AR PL UMing TW
allfonts.wqy-zenhei=WenQuanYi Zen Hei
#allfonts.wqy-zenhei.motif=WenQuanYi Zen Hei
allfonts.shanheisun=AR PL ShanHeiSun Uni
#allfonts.shanheisun.motif=AR PL ShanHeiSun Uni

除 了wqy,其他统统注释掉。

这样,用OpenJDK运行的netbeans字体就正常显示了。

而用sun-java的,我只 是尝试了把OpenJDK的fontconfig覆盖进去,具体怎么改我也没研究过。

下面贴一下修改过的fontconfig,无论是 OpenJDK还是sun-java都能正确显示字体。。

 

下面的一长串修改以后的代码我就不贴了。不过我这么做以后发现确实能正常显示了,但是有一些字变成了方块。同时,在wqy的字体目录下发现其实还有一种微米黑,于是我就直接把

filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc

改成了

filename.WenQuanYi_Zen_Hei=/usr/share/fonts/truetype/wqy/wqy-microhei.ttc

再重新启动Netbeans,没发现再出现方块。我也还比较喜欢微米黑显示的效果。

虽然这样的话原来文件里命名的WenQuanYi_Zen_Hei这个对象对应了微米黑字体,有点牛头对马嘴,不过暂时就先这样不管了~

IDE本质解析:从编辑器到开发智能体的演进 集成开发环境(IDE)是软件开发的核心工作台,其本质并非高级文本编辑器,而是融合代码编辑、语法分析、构建编译、调试执行、版本控制与测试验证的系统化工具链。依托语言服务器协议(LSP)和调试适配器协议(DAP),现代IDE实现跨语言、跨平台的智能感知能力,显著降低开发者认知负荷。在Ubuntu 20.04等典型Linux环境中,code-server与Arduino IDE等工具的部署实践,凸显了IDE对操作系统兼容性、硬件抽象能力和领域知识固化的深度依赖。随着Trae IDE、Cursor等AI增强型平台兴 阅读详情

相关推荐

uming和simsun文件.zip

在JRE里面也要安装中文字体的资源 在$JAVA_HOME/jre/lib/fonts下新建一个fallback目录里面放入下载的安装包内的其中一个文件后重启服务就可以生效了。

Ubuntu 中文字体美化方案大全 (1): 概述篇

其实,Ubuntu自带的默认UMING中文字体,已经看得过去了。如果对中文显示没有什么特殊的要求,也够用了。 不过,很多用惯了Windows或者苹果系统的Ubuntu用户还是觉得Ubuntu的字体不够舒服。的确,Ubuntu自带的免费UMING中文字体(还有免费文泉驿宋体)都不如Windows XP的SimSun宋体,或者Windows Vista的雅黑字体,或者苹果系统的黑体好看。

wens07的专栏 3399

openjdk1.8.0

openjdk1.8.0源码,包括JVM源码,另外,移除了jaxws,jaxp以及corba模块。对想看JVM实现的同学毫无影响

centos上JDK8升级为openJDK后图片绘制功能中文乱码

应领导要求,做了一次升级,由JDK8升级为OpenJDK,升级完成后,基本功能都可以使用,但是图片绘制方面却出现了问题,中文无法正确显示。 openjdk在应用awt的Graphics2D进行图片绘制时,会出现中文乱码的情况,原因是Jdk应用的字体是JAVA_HOME/jre/lib/fonts下的TTF等字体文件,而openjdk应...

lpping90的专栏 1332

cjkuni-uming、smc、stix

解决中文不显示或乱码问题:需要字体文件cjkuni-uming、smc、stix放入/usr/share/fonts目录下

Linux下JDK中文字体乱码的解决方法

下面小编就为大家带来一篇Linux下JDK中文字体乱码的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

linux openJDK pdf或者绘图中文乱码解决

linux openJDK pdf或者绘图中文乱码解决 比如用Graphics2D设置自定义字体的时候,尤其是中文可能会乱码 //比如以下代码 import java.awt.*; .... Font font = new Font("宋体", Font.PLAIN, 60); 解决办法 #创建fallback文件夹 1. mkdir -p $JAVA_HOME/jre/lib/fonts/...

羊毛毯的专栏 1452

以太网传输硬件设计大全

1.网线的介绍RJ45由插头和插做组成,也就是我们常说的网口和网线。RJ45 网线插头又称水晶头,共有八芯做成。RJ45网络传输线分为直通线、交叉线和全反线。直通线用于异种网络设备之间的互连,例如,计算机与交换机。交叉线用于同种网络设备之间的互连,例如,计算机与计算机。全反线用于超级终端与网络设备的控制物理接口之间的连接。下面将介绍一下各线的作用和区别。1.直通线:又叫正线或标准线,两端采用568B做线标准,注意两端都是同样的线序且一一对应。直通线是应用最广泛,现在最常用的线。

weixin_45365488的博客 6751

NetBeans6.8 JSP中文显示问题

NetBeans6.8 JSP中文显示问题 工作环境 Ubuntu10.04 + openJDK1.6 + NetBean6.8 问题描述 如下图:“管理论坛“变成了“管理框框“ 解决方法 查看属性文件 /usr/lib/jvm/java-6-openjdk/jre/lib/fontconfig.properties cd/usr/lib/j

走走逛逛的专栏 1279

SWAT模型参数太多搞不定?一篇讲清如何用SWAT-CUP筛选关键敏感参数(含结果图解读)

本文详细解析了如何使用SWAT-CUP进行参数敏感性分析,帮助水文模型初学者从上百个参数中筛选出关键敏感参数。通过实际案例和结果图解读,介绍了敏感性分析的核心价值、SWAT-CUP结果界面解读方法以及参数筛选的四步实战法,显著提升模型调试效率。文章还提供了典型问题排查手册,解决敏感参数与文献不一致、率定后模型变差等常见问题。

weixin_30385925的博客 321

相机基础知识讲解:CMOS和CCD

相机基础知识讲解:CMOS和CCD

Coppa的博客 5万+

《深入理解java虚拟机》第1章:从零开始编译 OpenJDK 7 源码

1.6实战:自己编译JDK 想要一探JDK内部的实现机制,最便捷的路径之一就是自己编译- -套JDK,通过阅读和跟踪调试JDK源码去了解Java技术体系的原理,虽然门槛会高一点,但肯定会比阅读各种书籍、文章更加贴近本质。另外,JDK中的很多底层方法都是本地化(Native) 的,需要跟踪这些方法的运作或对JDK进行Hack的时候,都需要自己编译套JDK。现在网络上有不少开源的JDK实现可以供我们选...

ywl470812087的博客 11万+

别怕,“卷积”其实很简单

首先给大家讲一个关于卷积的小故事:小明是杭州某互联网大厂的员工,每天996十分辛苦,但小明最近爱上了打台球,经常不在工位。这天,小明的主管让小明改一个需求,小明却到楼下找产品部小丽打台球去了,被主管发现,他非常气愤,扇了小明一巴掌(注意,这就是输入信号,脉冲)。于是小明脸上会渐渐地(贱贱地)鼓起来一个包,小明的脸就是一个系统,而鼓起来的包就是小明的脸对巴掌的响应。好,这样就和信号系统建立起来意义对应的联系。

Machine Learning with Tutors 3181

离线安装JDK1.7(.tar.gz) 离线安装Netbeans(.sh) 中文版

搜索到我吧,希望能够给人帮助 ----自卑一下,菜鸟一枚,Linux已布满灰尘---- 从我的笔记中抄来的,笔记名称是:在已经混乱的系统环境下离线安装JDK7 Netbeans_ch_all_7,留底以备下次使用。 最初的目的,安装一个官网上的带有完整插件的最新中文netbeans,包括php、java、c/c++、js等等。 一开始的时候吧Ubuntu12.04给整乱了,本人菜鸟又追求完

Forrest_Chen的专栏 1991

《手把手教你修复过期K8s集群证书:记一次K8s集群起死回生实录》

今天本想打开半年前部署的K8s测试集群跑个Demo,结果`kubectl`直接报错`certificate has expired`!作为一名云原生老司机,我决定把这次'抢救'过程记录下来,手把手带大家解决这个运维常见问题。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 3779

多维时空数据介绍(4)多维栅格数据构建

上图中包含了经度、纬度和时间三个维度,其变量为经度、纬度、时间以及降雨量,对应的变量单位为东经多少度、北纬多少度、阳历1895-1-1日开始多少天以及每年降雨多少毫升,其中经度数值4个、纬度数值3个、时间数值2个都是一维的数据,而降雨量是一个包含经度、纬度、时间的三维数组,数值有4*3*2=24个。在GeoScene 中NetCDF数据可以用做多种多维时空数据的数据源,进行创建、可视化和分析,它可以是多维栅格数据、时空立方体,还可以是体元图层,区别在于其所要表示的内容和目的。变量又分为坐标变量和属性变量。

你好,我是小张同学! 1288

UBuntu9.04安装NetBeans6.5.1中文乱码问题解决

1)通过新立德安装jdk6-u14,包括字体2)cd /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/fonts3)sudo mkdir fallback4)sudo cp /usr/share/fonts/truetype/arphic/* ./fallback

Dean Chen的专栏 2101

第110章 PCL PointCloudFusing 点云融合重建详细讲解

点云融合是指将多个不同视角、不同位置、不同传感器获取的点云数据进行合并,得到一个更加完整、准确的三维模型。多视角扫描:从多个相机或传感器获取点云数据,需要将这些数据融合成一个统一的三维模型。传感器融合:例如将激光雷达(LiDAR)点云与相机的图像数据融合,以便获得更高质量的三维重建。动态场景重建:动态环境中的物体,点云数据不断更新,如何平滑地融合这些点云是一个重要课题。点云融合的目标是将不同来源的点云数据准确地合并,消除冗余,减少噪声,并提高整体的点云密度和精度。

yumeiguo的博客 503

[转载]OpenJDK的完美中文显示

解决linux下openjdk中文字体显示问题。

Dlite的技术笔记 2996

mindie部署qwen3-8b

2. 确认目录文件权限是否如下所示,若存在不匹配项,则参考以下命令修改权限。否则要stop容器之后重新start,重新从《以下是在容器中的操作》开始操作。ctrl +d 让命令停止之后,需要等待一段事件让其释放,否则还会有占用。1. 若安装路径为默认路径,执行如下命令,进入MindIE安装目录。# 配置CANN环境,默认安装在/usr/local目录下。3. 运行以下命令初始化各组件环境变量,并开启日志打印。如果报错,可能有些线程没法去除,删除容器重新操作。# 配置模型仓环境变量。以下是在容器中的操作。

andeyeluguo的博客 1036

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Fedora openjdk 中文方框乱码

1. 运行 > update-alternatives --config java 2. 安装wqy-microhei字体 3. 将/usr/share/fonts/wqy-microhei/wqy-microhei 复制到第一步获取到的地址jre目录/lib/fonts/fallback下,如果目录不存在手动创建

Ambulong的博客 951

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linux下解决Java程序中文字体乱码问题

在Linux中,有时Java程序的中文字体显示可能会显示为乱码或者方框,有时还会出现虽然没有乱码但文字显示的不清晰.这通常是由于Jre中字体相关设置不正确所导致的,修改Jre的字体配置文件可以解决这些问题. 解决Java字体显示为乱码或方块 找到配置文件 通常,Jre的字体配置文件存放在 ? 1 $JAVA_HOME/

Bibabo的专栏 1951

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

linux mint 中文字体,Ubuntu和Linux Mint自定义全局字体

转载请注明出处。Ubuntu和Mint都非国人开发,对中文字体的使用可以说是随心所欲,很多人都可能会遇到装好系统后默认使用很累眼睛的楷体,在网上一通搜索后,也只能找到教你卸载文泉驿字体的办法。其实中文环境下,使用自定义字体还是很简单的,卸载字体虽然也能达到目的,但如果我们在某些需要字体的文档(如doc)中找不到楷体的话,是不是很难受?ubuntu也好mint也好,在中文环境下使用的字体配置文件为/...

weixin_30385221的博客 701

实习第四天--可恶的字体

中午睡觉前系统提示有可用的更新,于是就确认了更新,

giggle90的专栏 597

java代码目录说明_Java 快速入门-06-JDK 目录文件说明

Java 快速入门-06-JDK 目录文件说明JDK:开发环境,搞技术的人或者应用服务器使用JRE:运行环境,如浏览器插件或者Swing界面的客户端等最终用户需要使用JDK自含一个JRE,并依赖于自含的JRE,如用JDK\bin\java启动程序JDK 默认是在 C:\Program Files\Java\jdk1.8.*JDK 目录下各文件说明目录截图:bin:存放java启动命令以及其他开发工...

weixin_39639965的博客 759
下一篇: Ubuntu下Opera无法调用iBus输入中文的解决方案
Radium_Fire
博客等级 码龄19年 4粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值