jbuilder在中文系统中存在光标错位的问题,解决方法无外乎两种:
1、将编辑器的字体改为宋体,用这种方法带来的问题是,在宋体下的英文字体实在难看,阅读起来不太顺眼;
2、就是将编辑器字体的粗体属性去掉,这样也影响代码的可读性。
其实,造成jbuilder光标错位的问题并不是borland的错误,而是java的宗师——sun的罪过!大家一定知道i18n吧?在不同的区域设置中,jdk自动调用与之相对应的properties文件,而在jdk中,sun所推出的与中文系统相对应的properties文件存在问题,在它之中没有区分英文字体的正常、粗体和斜体,从而导致了以上所说的问题,解决的方法很简单,只要将这个properties文件修改正确就可以了,修改方法如下:
在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 |