JBuilder光标问题的解决方案

  大家常常说JBuilder在中文系统中存在光标错位的问题,都认为这是JBuilder的一个Bug,其实这实在是冤枉JBuilder了!大家讨论出来的解决方法无外乎两种:

  1、将编辑器的字体改为宋体,用这种方法带来的问题是,在宋体下的英文字体实在难看,阅读起来不太顺眼;

  2、就是将编辑器字体的粗体属性去掉,这样也影响代码的可读性。

  其实,造成JBuilder光标错位的问题并不是Borland的错误,而是Java的宗师——Sun的罪过!大家一定知道i18n吧?在不同的区域设置中,JDK自动调用与之相对应的properties文件,而在JDK中,Sun所推出的与中文系统相对应的properties文件存在问题,在它之中没有区分英文字体的正常、粗体和斜体,从而导致了以上所说的问题,解决的方法很简单,只要将这个properties文件修改正确就可以了,修改方法如下:

  在jbuilder安装目录的jdk/jre/lib目录中找到font.properties.zh文件,编辑这个文件并修改成如下内容:

#  @ (#) font . properties . zh1 . 16   00 / 10 / 06
#
#  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 . TTF

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 . italic . 0 = 00a0-f8ff
exclusion
. monospaced . bold . 0 = 00a0-f8ff
exclusion
. monospaced . bolditalic . 0 = 00a0-f8ff

#  charset  for  text input
#  inputtextcharset = GB2312_CHARSET 

  保存后,一切问题就解决了!

  这种方法也适用于任何相同的问题。

  [题外话]这种错误SUN真的应该好好反省一下了,希望以后他们做的东西能够测试更好一些。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值