-----------------------------
以下是網上搜到的JBuilderX的中文解決辦法:
解決中文問題
把%system%/Documents and Settings/you_user
目錄下的/.primetimeX和/.jbuilderX目錄刪掉
開啟 JBuilderX/bin/jbuilder.config 檔案,在
# Tune this VM to provide enough headroom to work on large
# applications
vmparam -Xms32m
vmparam -Xmx256m
後面追加一行
vmparam -Dprimetime.editor.useVariableWidthFont=true
再啟動JBuilder X試試,一般就正常了。這時,可以看到“Tools”―“Perferences”中“Edit”―“Display”的“Font family”選項為“DialogInput”。
--------------------------------------------
應該是:editor.display;fixed_fonts.3=字型名稱
這樣寫的時候,jbX會自動刪除,可以先加上引號,儲存,再把引號去掉
就行了,將字型名稱設為DialogInput 後,可愛的字型出來了,和jb9中的一樣了。
-------------------------------------------
看了前面的文章,尤其是對通過去掉Bold選項的辦法解決游標錯位問題不能接受。覺得有必要澄清一下問題的原因:
JBuilder中出現的游標問題不是Borland的問題,而應該是Sun留下的麻煩。大家知道,i18n問題主要通過作業系統對使用者工作地區和使用語言通過LOCALE
(Window2000或XP中的控制台上通過“地區和語言選項”)來進行區分,從而開發人員通過使用相應地區和語言的屬性檔案來實現軟體包對國際化的支援。具體來說,JBuilder通過使用JRE的font.properties.zh來實現對中文字型的支援。
問題就出在SUN提供的font.properties.zh上。SUN在該檔案中對各種字型的正常體,粗體,斜體均使用的是正常體。我們知道,在編輯器中,正常體和粗體或斜體佔用的寬度是不同的。因此粗體(Bold)和正常體(plain)均使用正常體會導致編輯器對粗體字元寬度計算錯誤,這下,我們明白了問題的原因所在。有趣的是SUN對英文的字型屬性檔案卻進行了正確的區別。(好像是故意的啊?!)比較font.properties和font.properties.zh檔案,你可以直觀的瞭解該問題。
=======Correct Font Setting =====
# Component Font Mappings
#
dialog.plain.0=Arial,ANSI_CHARSET
dialog.bold.0=Arial Bold,ANSI_CHARSET
dialog.italic.0=Arial Italic,ANSI_CHARSET
如上,plain應該使用字型XXX,bold則應該使用XXX Bold,italic則應該使用XXX Italic。
明白了問題的根結,找到解決問題的辦法也就非常容易了。
對font.properties.zh中的相應Component Font Mappings段替換為下面部分。
# Component Font Mappings
#
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
====End =====
重啟Jbuilder,即可!最後,希望你也將你機器本地的JDK和JBuilder中內建的JDK中的font.properties.zh進行同樣的修改為佳。font.properties.zh檔案在{JDK_Home}/jre/lib目錄下。
--------------------------------------------------------------------------------
15.Re:游標問題的真正的根結所在和解決方案 [Re: swordsman] Copy to clipboard
Posted by: guru
Posted on: 2004-02-12 18:18
swordsman wrote:
看了前面的文章,尤其是對通過去掉Bold選項的辦法解決游標錯位問題不能接受。覺得有必要澄清一下問題的原因:
JBuilder中出現的游標問題不是Borland的問題,而應該是Sun留下的麻煩。大家知道,i18n問題主要通過作業系統對使用者工作地區和使用語言通過LOCALE
(Window2000或XP中的控制台上通過“地區和語言選項”)來進行區分,從而開發人員通過使用相應地區和語言的屬性檔案來實現軟體包對國際化的支援。具體來說,JBuilder通過使用JRE的font.properties.zh來實現對中文字型的支援。
是的,這才是正確的答案。這樣設定不但能夠解決JBuilder中的中文以及游標問題,而且能夠解決任何其它圖形介面程式中的中文字元寬度問題,如IntelliJ IDEA等。
此外,在JDK1.5中,SUN已經對此問題進行了修正,相信不會再有惱人的字元寬度問題了。
最後補充一點,在安裝了GB18030支援的系統中(在Microsoft新發行的Windows XP拷貝中似乎已經是這樣了),可能需要修改font.properties.zh_CN_GB18030這個檔案,其它語言依此類推。
---------------------------------------------------
1.JBuilderX中文顯示和游標問題的解決方案 Copy to clipboard
Posted by: hawker
Posted on: 2003-11-28 13:32
發信人: jiandy (東東蟲), 信區: Java
標 題: 如何讓JBuilderX顯示中文
發信站: BBS 水木清華站 (Wed Nov 26 13:42:26 2003), 轉信
找到
%system_driver%/Documents and Settings/Administrator/.primetimeX目錄下面的
user_zh.properties檔案
找到
...
editor.display;fixed_fonts.1=Courier New
editor.display;fixed_fonts.2=Lucida Sans Typewriter
...
大約是在240行吧
自己手動添加
editor.display;fixed_fonts.3=“字型名稱”
注意:
字型名稱必須是下面
editor.display;known_fonts中列出的字型名稱
依次類推,可以添加許多字型,
添加"DialogInput", "Monospaced"字型就可以顯示中文
/////////////////////////////////////////////////////////////
發信人: nsd (bug), 信區: Java
標 題: Re: 解決JBuilder的游標問題(轉貼)
發信站: BBS 水木清華站 (Sun Nov 16 16:47:31 2003)
修改jbuilderX 安裝目錄中的bin/jbuilder.config在
# Specify location of Visual SourceSafe and Database
vmparam -DVSSLocation="E:/Program Files/Microsoft Visual Studio/VSS/win32"
vmparam -DVSSCurrentDBase="//Rogers/WorkSheelt"
下面增加這一行:
vmparam -Dprimetime.editor.useVariableWidthFont=true
變成
# Specify location of Visual SourceSafe and Database
vmparam -DVSSLocation="E:/Program Files/Microsoft Visual Studio/VSS/win32"
vmparam -DVSSCurrentDBase="//Rogers/WorkSheelt"
vmparam -Dprimetime.editor.useVariableWidthFont=true
即可。