Topic: JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 |
Print this page |
1.JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 | Copy to clipboard |
Posted by: hawker Posted on: 2002-12-10 15:14 JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 我们使用JBuilder,IdeaJ和其他的集成开发环境,都遇到过中文字体显示的问题,有的人将字号设置成奇数,有的人将字体进行修改,都不能解决根本问题。通过仔细研究JRE中关于中文字体配置文件,发现这些问题的关键是这些工具所依赖的JRE中关于中文字体设计的配置文件存在问题,造成依赖它的应用程序显示不正确。 在Windows 2000/xp系统中,宋体的字体名称是simsun.ttc,可是在font.properties.zh中关于宋体的字体文件名称却是simsun.ttf,这种配置在windows 98/me下面没有问题,但是在2000/xp下面,中文的文字就会显示为方块了。 在font.properties.zh中,逻辑字体的斜体,加重所对应的实际字体在font.properties.zh中也没用正确配置,造成我们在java程序中进行编辑时,插入的实际位置和光标的位置不一致,这是我们只能将IDE工具的字体设置成宋体,并且将字体字号设置成奇数进行解决(Borland的技术攻势就推荐这种方法),在IdeaJ中,我们将所有的字体加重属性去掉,也能解决问题。但是这种解决方法不能根本解决问题,当工具出现新的版本时,还可能出现新的问题。 最好的解决方法是修改font.properties.zh文件,正确配置相关平台的字体的逻辑字体和物理字体的对应关系。下面是我修改的font.properties.zh文件,将它使用文本编辑程序保存到IDE工具使用的JRE的lib目录,中文显示问题可以解决,这个文件在Windows 2000 , JDK 1.4.1_01, JBuilder 7/8, IDEAJ 3.0下测试通过。 # Begin of font.properties.zh # # # @(#)font.properties.zh # save it to %JRE%/lib/font.properties.zh # # @edit by Hakwer hao (hhao99@yahoo.com.cn) # @ Dec-06-2002 # # AWT Font default Properties for Chinese Windows # dialog.plain.0=Arial,ANSI_CHARSET dialog.plain.1=\u5b8b\u4f53,GB2312_CHARSET dialog.plain.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED dialog.plain.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED dialog.bold.0=Arial Bold,ANSI_CHARSET dialog.bold.1=\u5b8b\u4f53,GB2312_CHARSET dialog.bold.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED dialog.bold.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED dialog.italic.0=Arial Italic,ANSI_CHARSET dialog.italic.1=\u5b8b\u4f53,GB2312_CHARSET dialog.italic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED dialog.italic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED dialog.bolditalic.0=Arial Bold Italic,ANSI_CHARSET dialog.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET dialog.bolditalic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED dialog.bolditalic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED dialoginput.plain.0=Courier New,ANSI_CHARSET dialoginput.plain.1=\u5b8b\u4f53,GB2312_CHARSET dialoginput.plain.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED dialoginput.plain.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED dialoginput.bold.0=Courier New Bold,ANSI_CHARSET dialoginput.bold.1=\u5b8b\u4f53,GB2312_CHARSET dialoginput.bold.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED dialoginput.bold.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED dialoginput.italic.0=Courier New Italic,ANSI_CHARSET dialoginput.italic.1=\u5b8b\u4f53,GB2312_CHARSET dialoginput.italic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED dialoginput.italic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED dialoginput.bolditalic.0=Courier New Bold Italic,ANSI_CHARSET dialoginput.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET dialoginput.bolditalic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED dialoginput.bolditalic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED serif.plain.0=Times New Roman,ANSI_CHARSET serif.plain.1=\u5b8b\u4f53,GB2312_CHARSET serif.plain.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED serif.plain.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED serif.bold.0=Times New Roman Bold,ANSI_CHARSET serif.bold.1=\u5b8b\u4f53,GB2312_CHARSET serif.bold.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED serif.bold.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED serif.italic.0=Times New Roman Italic,ANSI_CHARSET serif.italic.1=\u5b8b\u4f53,GB2312_CHARSET serif.italic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED serif.italic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED serif.bolditalic.0=Times New Roman Bold Italic,ANSI_CHARSET serif.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET serif.bolditalic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED serif.bolditalic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED sansserif.plain.0=Arial,ANSI_CHARSET sansserif.plain.1=\u5b8b\u4f53,GB2312_CHARSET sansserif.plain.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED sansserif.plain.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED sansserif.bold.0=Arial Bold,ANSI_CHARSET sansserif.bold.1=\u5b8b\u4f53,GB2312_CHARSET sansserif.bold.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED sansserif.bold.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED sansserif.italic.0=Arial Italic,ANSI_CHARSET sansserif.italic.1=\u5b8b\u4f53,GB2312_CHARSET sansserif.italic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED sansserif.italic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED sansserif.bolditalic.0=Arial Bold Italic,ANSI_CHARSET sansserif.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET sansserif.bolditalic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED sansserif.bolditalic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED monospaced.plain.0=Courier New,GB2312_CHARSET monospaced.plain.1=\u5b8b\u4f53,GB2312_CHARSET monospaced.plain.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED monospaced.plain.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED monospaced.bold.0=Courier New Bold,GB2312_CHARSET monospaced.bold.1=\u5b8b\u4f53,GB2312_CHARSET monospaced.bold.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED monospaced.bold.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED monospaced.italic.0=Courier New Italic,GB2312_CHARSET monospaced.italic.1=\u5b8b\u4f53,GB2312_CHARSET monospaced.italic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED monospaced.italic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED monospaced.bolditalic.0=Courier New Bold Italic,GB2312_CHARSET monospaced.bolditalic.1=\u5b8b\u4f53,GB2312_CHARSET monospaced.bolditalic.2=WingDings,SYMBOL_CHARSET,NEED_CONVERTED monospaced.bolditalic.3=Symbol,SYMBOL_CHARSET,NEED_CONVERTED # name aliases # alias.timesroman=serif alias.helvetica=sansserif alias.courier=monospaced # for backward compatibility #timesroman.0=Times New Roman,ANSI_CHARSET #helvetica.0=Arial,ANSI_CHARSET #courier.0=Courier New,ANSI_CHARSET zapfdingbats.0=WingDings,SYMBOL_CHARSET # font filenames for reduced initialization time # filename.\u5b8b\u4f53=SIMSUN.TTC filename.Arial=ARIAL.TTF filename.Arial_Bold=ARIALBD.TTF filename.Arial_Italic=ARIALI.TTF filename.Arial_Bold_Italic=ARIALBI.TTF filename.Courier_New=COUR.TTF filename.Courier_New_Bold=COURBD.TTF filename.Courier_New_Italic=COURI.TTF filename.Courier_New_Bold_Italic=COURBI.TTF filename.Times_New_Roman=TIMES.TTF filename.Times_New_Roman_Bold=TIMESBD.TTF filename.Times_New_Roman_Italic=TIMESI.TTF filename.Times_New_Roman_Bold_Italic=TIMESBI.TTF filename.WingDings=WINGDING.TTF filename.Symbol=SYMBOL.TTF # Default font definition # default.char=2751 # Static FontCharset info. # #fontcharset.dialog.0=sun.io.CharToByteCp1252 fontcharset.dialog.1=sun.io.CharToByteGBK fontcharset.dialog.2=sun.awt.windows.CharToByteWingDings fontcharset.dialog.3=sun.awt.CharToByteSymbol #fontcharset.dialoginput.0=sun.io.CharToByteCp1252 fontcharset.dialoginput.1=sun.io.CharToByteGBK fontcharset.dialoginput.2=sun.awt.windows.CharToByteWingDings fontcharset.dialoginput.3=sun.awt.CharToByteSymbol #fontcharset.serif.0=sun.io.CharToByteCp1252 fontcharset.serif.1=sun.io.CharToByteGBK fontcharset.serif.2=sun.awt.windows.CharToByteWingDings fontcharset.serif.3=sun.awt.CharToByteSymbol #fontcharset.sansserif.0=sun.io.CharToByteCp1252 fontcharset.sansserif.1=sun.io.CharToByteGBK fontcharset.sansserif.2=sun.awt.windows.CharToByteWingDings fontcharset.sansserif.3=sun.awt.CharToByteSymbol #fontcharset.monospaced.0=sun.io.CharToByteCp1252 fontcharset.monospaced.1=sun.io.CharToByteGBK fontcharset.monospaced.2=sun.awt.windows.CharToByteWingDings fontcharset.monospaced.3=sun.awt.CharToByteSymbol # Exclusion Range info. # exclusion.dialog.plain.0=00a0-f8ff exclusion.dialog.italic.0=00a0-f8ff exclusion.dialog.bold.0=00a0-f8ff exclusion.dialog.bolditalic.0=00a0-f8ff exclusion.dialoginput.plain.0=00a0-f8ff exclusion.dialoginput.italic.0=00a0-f8ff exclusion.dialoginput.bold.0=00a0-f8ff exclusion.dialoginput.bolditalic.0=00a0-f8ff exclusion.serif.plain.0=00a0-f8ff exclusion.serif.italic.0=00a0-f8ff exclusion.serif.bold.0=00a0-f8ff exclusion.serif.bolditalic.0=00a0-f8ff exclusion.sansserif.plain.0=00a0-f8ff exclusion.sansserif.italic.0=00a0-f8ff exclusion.sansserif.bold.0=00a0-f8ff exclusion.sansserif.bolditalic.0=00a0-f8ff exclusion.monospaced.plain.0=00a0-f8ff exclusion.monospaced.italic.0=00a0-f8ff exclusion.monospaced.bold.0=00a0-f8ff exclusion.monospaced.bolditalic.0=00a0-f8ff # charset for text input # inputtextcharset=GB2312_CHARSET # # @ end of font.properties.zh # font.properties.zh (7.13k) |
2.错误 [Re: hawker] | Copy to clipboard |
Posted by: encamp Posted on: 2002-12-10 16:44 我的IDE本来是好的,用了你的文件结果汉字都变成方框了 |
3.你的操作系统是什么版本的?win98/me的话不需要这个文件 [Re: hawker] | Copy to clipboard |
Posted by: hawker Posted on: 2002-12-10 16:54 无 |
4.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: Biubiu Posted on: 2002-12-10 17:44 使用任何ide都不用修改这个文件。jre的缺省设置就是对的。关键是你要选择正确的字体。只要你的区域设置是中文,任何逻辑字体或者中文字体都可以正确的显示中文。必要时,把斜体和粗体的设置去掉。 为什么总是有人在这个问题上纠缠不清呢? |
5.JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: hawker Posted on: 2002-12-10 18:36 在windows 98/me下,JRE的字体配置文件不存在什么问题,但是在windows 2000/xp下,不修改这个文件中文肯定是不能正确显示的,除非你是用的英文操作环境。 |
6.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: SimonLei Posted on: 2002-12-10 20:05 hawker wrote: 呵呵,我用的就是win 2000 中文版。只是简单的把bold去掉就ok了。 |
7.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: Biubiu Posted on: 2002-12-10 21:21 hawker wrote: 2000和xp我从来都是用英文的。可是这两个os中英文应该只是界面的区别,只要保证区域和语言设置正确就可以了。改天找一台中文的试试看。 |
8.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: Biubiu] | Copy to clipboard |
Posted by: flyinair Posted on: 2002-12-11 09:55 you are right!!!!! 英文win2000,location 设为中文,Intellij IDEA无论中文输入还是显示,绝对不是问题。 出了问题,就是自己设置的问题。 Biubiu wrote: |
9.win2000中文 [Re: hawker] | Copy to clipboard |
Posted by: encamp Posted on: 2002-12-11 11:35 我用win2000中文,把bold去掉就ok了 |
10.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: cckoan Posted on: 2003-01-15 09:09 font.properties.zh修改的方法适用于JBUILDER7,在IDEA和JBUILDER8下,汉字变方框。我很想知道hawker 兄是如何测试通过的?JDK 1.3.1系列中,国际化字符集通过jre\lib\i18n.jar进行解析处理。JDK1.4.1系列中,国际化通过jre\lib\charsets.jar进行。 |
11.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: cckoan] | Copy to clipboard |
Posted by: coder Posted on: 2003-01-15 11:37 这是我根据前面所叙作的修改,for jb8。 不会再有方块 font.properties.zh (5.91k) |
12.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: shsen Posted on: 2003-01-15 17:34 jb8的我不知道,但我知道我今天装的idea中文就是显示成方块。是不是只能用这个文件解决?还是有更方便的方法? |
13.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: sanigo Posted on: 2003-01-17 08:57 我觉得这样改没什么道理。 只要把字体改成"Courier New",就可以得到一样的结果 |
14.谢谢 hawker,至少JBuilder7E中是可以解决问题的 [Re: hawker] | Copy to clipboard |
Posted by: Rainwolf Posted on: 2003-01-17 12:18 我是新手,正为JBuilder7中光标位置错乱烦恼不已,装了JB7又删掉,再装JB8也一样,刚想放弃JB使用写字板就得到了Hawker的这个字体文件,非常感谢,可以重回JB怀抱了。:) |
15.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: scottding Posted on: 2003-01-17 12:46 修改的方法其实有很多。。在这个版面已经出现了很多的解决办法。你可以看看。 |
16.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: sanigo] | Copy to clipboard |
Posted by: stone7 Posted on: 2003-01-23 17:27 sanigo wrote: 是啊,好像改一下字体就好了啊 |
17.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: Rainwolf Posted on: 2003-02-16 11:35 请问在哪里改变字体? 是在菜单:tools/Editor Option/Display中吗?为什么我的JBuilder8只要进入这个功能的时侯就会出现字体装载错误而且马上关闭JBuilder8? 是因为我安装了太多的字体?还是因为字体文件有错误? |
18.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: chaor Posted on: 2003-02-19 11:02 我的显示都没有问题,只是jb8无论如何都光标位置不正确 |
19.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: 平和 Posted on: 2003-02-20 15:02 thank you |
20.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: sothis Posted on: 2003-02-24 14:58 没错,是在这里。 我有时碰到显示JB字体加载时退出就跑到Windows删除“文鼎..."等不常用的字体就可以了。 请问在哪里改变字体? 是在菜单:tools/Editor Option/Display中吗?为什么我的JBuilder8只要进入这个功能的时侯就会出现字体装载错误而且马上关闭JBuilder8? 是因为我安装了太多的字体?还是因为字体文件有错误? |
21.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: liufancjsdn Posted on: 2003-02-26 11:18 我用的是英文Win2000 , Location设为ChinaPRC , Language也设为ChinaPRC 然后安装的是IDEA3.0 , 结果菜单显示都是英文,可是运行File->OpenFile出来的对话框中就都是方框 然后我到Option->IDE Setting->Apperance中把Font改成SimSun就好了 不过英文看上去有点不爽,不知还有没有别的办法 |
22.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: rilong Posted on: 2003-03-01 04:18 安装语言包 |
23.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: lxia Posted on: 2003-03-01 19:38 将IDEA中的Color&Fonts设置页面中的字体选为Monospaced,IDEA会使用宋体显示中文,另外在各个Font设置页面将bold字体关掉,就会解决显示粗体字光标定位不准的问题。 |
24.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: magi Posted on: 2003-03-04 17:15 都显示的很好呀,选择default一切ok,只是idea本身的对话框有些问题 |
25.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: hawker] | Copy to clipboard |
Posted by: ccic134302 Posted on: 2003-03-06 14:00 我装了jb7以后,再装weblogic提示错误,啥意思? |
26.Re:JBuilder,IdeaJ 等Java开发工具中文字体显示的问题 [Re: liufancjsdn] | Copy to clipboard |
Posted by: sundayrain88 Posted on: 2003-03-11 15:19 liufancjsdn wrote: 这个方法是可以的. |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |