ubuntu17.04下配置java字体来解决phpstorm乱码问题

Wesley13
• 阅读 760

phpstorm编辑器是可以正常显示中文的,但hint和部分git操作界面会把中文显示成方块,虽然不影响使用但确实不是很方便使用,这个问题是因为java没有配置正确的逻辑字体造成的,下面介绍下如何改正这个问题

首先java对debain系的发行版支持的不好,字体有redhat/suse/turbo,但就是没有debain的几个版本,更没有ubuntu。

/jre/lib目录下有名为 fontconfig.properties的文件,这是java的字体配置文件

  1. 首先删掉 fontconfig.properties.bfc

  2. 复制 fontconfig.properties.src 为 fontconfig.properties文件

  3. 编辑内容如下

    version=1

    sequence.allfonts.UTF-8.zh.CN=latin-1,chinese-cn-iso10646 sequence.fallback=chinese-cn-iso10646,lucida

    serif.plain.latin-1=-b&h-lucidabright-medium-r-normal---%d---p--iso8859-1 serif.bold.latin-1=-b&h-lucidabright-demibold-r-normal---%d---p--iso8859-1 serif.italic.latin-1=-b&h-lucidabright-medium-i-normal---%d---p--iso8859-1 serif.bolditalic.latin-1=-b&h-lucidabright-demibold-i-normal---%d---p--iso8859-1

    sansserif.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans--%d---p--iso8859-1 sansserif.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans--%d---p--iso8859-1 sansserif.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans--%d---p--iso8859-1 sansserif.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans--%d---p--iso8859-1

    monospaced.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans--%d---m--iso8859-1 monospaced.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans--%d---m--iso8859-1 monospaced.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans--%d---m--iso8859-1 monospaced.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans--%d---m--iso8859-1

    dialog.plain.latin-1=-b&h-lucidasans-medium-r-normal-sans--%d---p--iso8859-1 dialog.bold.latin-1=-b&h-lucidasans-bold-r-normal-sans--%d---p--iso8859-1 dialog.italic.latin-1=-b&h-lucidasans-medium-i-normal-sans--%d---p--iso8859-1 dialog.bolditalic.latin-1=-b&h-lucidasans-bold-i-normal-sans--%d---p--iso8859-1

    dialoginput.plain.latin-1=-b&h-lucidatypewriter-medium-r-normal-sans--%d---m--iso8859-1 dialoginput.bold.latin-1=-b&h-lucidatypewriter-bold-r-normal-sans--%d---m--iso8859-1 dialoginput.italic.latin-1=-b&h-lucidatypewriter-medium-i-normal-sans--%d---m--iso8859-1 dialoginput.bolditalic.latin-1=-b&h-lucidatypewriter-bold-i-normal-sans--%d---m--iso8859-1

    sequence.allfonts=latin-1

    filename.-misc-zysong18030-medium-r-normal---%d---c--iso10646-1=/usr/share/fonts/truetype/arphic/uming.ttc

    awtfontpath.chinese-cn-iso10646=/usr/share/fonts/truetype/arphic

注意,一定要确认 /usr/share/fonts/truetype/arphic目录确实存在才可以

改完后重启 phpstorm,写个//TODO 中文,光标挪上去应该能正常显示中文了,如果还是方块,可以继续修改

打开 File/Settings 找到 Appearance & Behavior/Appearance,Override default fonts by 取消选中,或者把Override default font by 设置成一个中文字体,我选择的是文泉驿正黑

改过之后中文就正常了

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Ubuntu上Netbeans8.0字体的一次蛋疼体验
   最近准备转到Ubuntu操作系统下开发。开发工具我已经习惯了是使用netbeans。在原来windows,通过修改JAVA\_HOME/jre/lib的fontconfig.properties,定制monospaced,并且在netbeans选改字体来使得编辑代码界面使用我们的字体,同时也解决英文字体显示中文乱码问题。   由于对fon
Stella981 Stella981
3年前
JS 苹果手机日期显示NaN问题
问题描述newDate("2019122910:30:00")在IOS下显示为NaN原因分析带的日期IOS下存在兼容问题解决方法字符串替换letdateStr"2019122910:30:00";datedateStr.repl
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
JOptionPane修改图标
1.在Linux平台下.JOptionPane会显示Java默认的图标,在window平台不显示图标,如何替换这个图标了?2JOptionPane.setIcon(Icon)修改的是内容区域的icon,而不是左上角的Icon.所以需要通过修改Jdialog/Frame的图标来达到修改默认图标的问题.3.代码:if(JOptio
Wesley13 Wesley13
3年前
Ubuntu下解决中文显示为方块最佳方法
一、问题分析由于Linux系统中并没有包含中文相关的字体库,而不是系统不支持中文或者中文乱码,因此显示给我们的是方块儿二、解决方法1、从window系统中的字体库复制需要的中文库到Linux系统中windows字体库路径:C:\\Windows\\Fonts这里我自己选择的是宋体simsun.ttc这个文件
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这