Skip to content

NetBeans IDE 7 中使用英文字体中文变方块的解决办法

2011 七月 11
by 荒野无灯

发现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的映射基于上是白忙活了(结果是英文也是用雅黑显示了 :arrow: )。

然后在最后添加:

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 :roll: 网站上有说明:http://download.oracle.com/javase/1.5.0/docs/guide/intl/fontconfig.html

本文参考:
Netbeans 6.9 设置中文字体 和英文字体
Java5/6中的字体自定义设置与美化(Linux/Windows)

喜欢这篇文章吗?

请订阅本站 RSS feed填写您的邮件地址,订阅我们的精彩内容:,欢迎点击这里捐赠以支持荒野无灯转播到腾讯微博 转播到腾讯微博

作者:荒野无灯
出处:Hacklog【Hacklog】

声明: 本站遵循 署名-非商业性使用-相同方式共享 3.0 共享协议. 转载请注明转自Hacklog【荒野无灯weblog】

本文链接: http://ihacklog.com/?p=4613

5 Responses Post a comment
  1. MangoDowner permalink
    三月 6, 2012

    谢谢了,按着做,真改过来了,再也不用看那些小方块了…

  2. 七月 11, 2011

    从了吧,phpDesigner或者Notepad++,随你选。 :lol:

Leave a Reply

Allowed Tags - You may use these HTML tags and attributes in your comment.

<a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <q cite=""> <strong>

 :wink:  :-|  :-x  :twisted:  :)  8-O  :(  :roll:  :-P  :oops:  :-o  :mrgreen:  :lol:  :idea:  :-D  :evil:  :cry:  8)  :arrow:  :-?  :?:  :!:

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS