NetBeans IDE 7 中使用英文字体中文变方块的解决办法
发现NetBeans IDE 有一点不太好的地方就是,代码高亮那里设置所有语言的默认字体为英文字体后,中文无法显示了(直接显示为方块)。
GOOGLE了下,找到一种解决方案。
经测试,在jre\lib\fonts\目录下面创建fallback目录,并copy一个宋体或者微软雅黑字体到该目录下,这种方法无效。
NB的默认字体为monospaced,我们用就这个来开刀。
Fonts & Colors –》 Syntax 里设置所有语言的字体为 monospaced 14 .
一,windows下面
先确定NB使用的是哪个jre ,在 netbeans.conf 文档中可以看到我使用的是”D:\software\Java\jdk\jre”
然后:
1 2 3 | cd /d D:\software\Java\jdk\jre\lib copy fontconfig.properties.src fontconfig.properties vim fontconfig.properties |
修改如下几处,将chinese-ms936映射为微软雅黑字体,将Monospaced逻辑字体的英文映射为Monaco字体:
1 2 3 4 5 6 7 8 | allfonts.chinese-ms936=Microsoft Yahei monospaced.plain.alphabetic=Monaco monospaced.bold.alphabetic=Monaco Bold monospaced.italic.alphabetic=Monaco Italic monospaced.bolditalic.alphabetic=Monaco Bold Italic sequence.monospaced.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb |
上面的sequence那里主要是把 alphabetic和chinese-ms936的顺序调换了一下,对于中文字体的搜索顺序是先搜chinese-ms936,而chinese-ms936是用allfonts的雅黑(Microsoft Yahei)来显示英文的,因此,如果不调换这二者的顺序,我们对于monospaced的映射基于上是白忙活了(结果是英文也是用雅黑显示了
)。
然后在最后添加:
1 2 3 4 | filename.Monaco=MONACO.TTF filename.Monaco_Bold=MONACO.TTF filename.Monaco_Italic=MONACO.TTF filename.Monaco_Bold_Italic=MONACO.TTF |
我们在映射逻辑字体到物理字体时,我们给出的物理字体名称Java要知道这个字体对应的是哪个字体文件,因此有必要加上上面四句。
二,linux下面(Archlinux)
1 2 3 | cd /opt/java/jre/lib cp fontconfig.properties.src fontconfig.properties vim fontconfig.properties |
目前我的配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | # %W% %E% # # Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. # # Version version=1 # Component Font Mappings #allfonts.chinese-cn-iso10646=-arphic-ar pl uming cn-light-r-normal--*-%d-*-*-c-*-iso10646-1 allfonts.chinese-cn-iso10646=-wenquanyi-microhei-medium-r-normal--*-%d-*-*-p-*-iso10646-1 #wqy-microhei.ttc -misc-wenquanyi micro hei-medium-r-normal--0-0-0-0-p-0- 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=-dejavu-dejavu sans mono-medium-r-normal--*-%d-*-*-m-*-iso10646-1 monospaced.bold.latin-1=-dejavu-dejavu sans mono-bold-r-normal--*-%d-*-*-m-*-iso10646-1 monospaced.italic.latin-1=-dejavu-dejavu sans mono-medium-o-normal--*-%d-*-*-m-*-iso10646-1 monospaced.bolditalic.latin-1=-dejavu-dejavu sans mono-bold-o-normal--*-%d-*-*-m-*-iso10646-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 # Search Sequences sequence.monospaced=latin-1,chinese-cn-iso10646 sequence.allfonts=latin-1 sequence.allfonts.UTF-8.zh.CN=latin-1,chinese-cn-iso10646 sequence.allfonts.UTF-8.en.US=latin-1,chinese-cn-iso10646 #sequence.allfonts.GBK=latin-1,chinese-gbk # Exclusion Ranges # Font File Names filename.-arphic-ar_pl_uming_cn-light-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/TTF/uming.ttc filename.-wenquanyi-microhei-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/home/admin/.fonts/wqy-microhei.ttc filename.-dejavu-dejavu_sans_mono-medium-r-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TTF/DejaVuSansMono.ttf filename.-dejavu-dejavu_sans_mono-bold-o-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TTF/DejaVuSansMono.ttf filename.-dejavu-dejavu_sans_mono-medium-o-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TTF/DejaVuSansMono-Oblique.ttf filename.-dejavu-dejavu_sans_mono-bold-r-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TTF/DejaVuSansMono-Bold.ttf filename.-dejavu-dejavu_sans_mono-bold-o-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TTF/DejaVuSansMono-BoldOblique.ttf # AWT X11 font paths |
关于字体配置文件,sun ,嗯,不对,应该说oracle
网站上有说明:http://download.oracle.com/javase/1.5.0/docs/guide/intl/fontconfig.html
本文参考:
Netbeans 6.9 设置中文字体 和英文字体
Java5/6中的字体自定义设置与美化(Linux/Windows)






谢谢了,按着做,真改过来了,再也不用看那些小方块了…
从了吧,phpDesigner或者Notepad++,随你选。
嘿嘿,已经找到http://www.mediafire.com/?z0xwbyto658wfol
这个压缩包里的keygen是木马病毒,见扫描报告:
嗯,是的,不过我从病毒里把真实文件给取出来了。