亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Redhat9下的java中文問題解決

2019-11-17 05:52:25
字體:
來源:轉載
供稿:網友

漂亮好看的操作系統始終不是我們的目的. 希望這篇文字能幫助至少一兩個朋友從這個 linux 的中文美化問題里面徹底解脫出來, 而真正投入到利用 Linux 為我們服務, 利用 Linux 進行開發工作的實質性事情當中.

以下內容包括:

1. 為 Redhat 的兩個字體子系統添加字體
2. 讓 Enlightenment 顯示中文
3. java 的中文問題:

- JBuilder 的中文問題
- J2SDK 的中文問題
- J2RE 的中文問題

大家挑自己需要的看就好了.

為 Redhat Linux 添加新字體


[注]
以下過程在 Redhat 9.0 上測試通過.


準備要安裝的字體, 如: simsun.ttc, tahoma.ttf...
根據發行注記里所言分別為核心 X 字體子系統和 fontconfig 字體子系統添加字體:

為核心 X 字體子系統添加字體

[注]
以下部分應該對 Redhat 9.0 之前的版本也適用, 因為 核心 X 字體子系統存在
于迄今為止的版本中.

"如果你想給你的 Red Hat Linux 9 系統添加新字體,根據使用新字體的字體子系統而

,你必須明確所需步驟。對于核心 X 字體子系統,你必須:
1. 創建 /usr/share/fonts/local/ 目錄(如果它不存在):
mkdir /usr/share/fonts/local/"

- 這一步沒問題.

"如果你必須要創建 /usr/share/fonts/local/,你就必須把它添加到 X 字體服務器的

徑中:
chkfontpath --add /usr/share/fonts/local/"

- 如果是剛創建的 /usr/share/fonts/local/, 那么執行這一行命令會提示錯誤
因為系統在這個目錄里找不到 fonts.dir 文件, 然后就不 add.. 不過沒關系,
這一步跳過去, 在第三步之后做.

"2. 把新字體文件復制到 /usr/share/fonts/local/ 中"

- 照做.

"3. 使用以下命令來更新字體信息:
ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale"

- 照做. 然后:
1) 把 fonts.scale 拷貝出來一份 fonts.dir.
2) chkfontpath --add /usr/share/fonts/local/

"4. 使用以下命令來重新啟動 xfs 字體服務器:
service xfs reload"

- 這一步我沒成功, 因為我發現 redhat 9 里面沒有 service 這個命令. 于是
用笨辦法解決: 退出 X, 再 startx.

以上這些步驟做完之后, 所有 gtk 1.2 的程序里有關字體的部分 (如 xmms 的字體設置
里) 都多出來我們要的新字體, 像 simsun, tahoma. 這時可以在程序內部直接使用了.
比如我們讓歌曲列表里的中文使用 simsum, 英文使用 tahoma, 可以這樣做:

1) 先在 xmms 的 Fonts 里勾上選項 "Use fontsets" - 讓 xmms 支持雙字節的
中文字體;
2) 在 播放清單 部分瀏覽字體, 選擇使用 simsum:
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r
(不用拷這個, 選上 simsun 它自己就出來了)

對于英文字體的要用 tahoma 就這么來, 一點小技巧:

把這段 "-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r" ^x 剪切下來,
再選字體為 tahoma, 出現這個:

-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1

好了, 在后面加個逗號, 把剛才剪切的那段東東 ^v 粘貼在后面成為:

-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1,
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

這么一行, 保存一下, 于是歌曲列表就會對中文使用 simsum, 英文使用 tahoma.
再把這行拷下面 Main Window 的字體里 (要勾上 "Use X font"), 這時 xmms 主窗
口里的字體 (像那條來回滾動的歌曲信息的字體) 也和歌曲列表里的一樣了.

注意, 我剛才說的是程序內部, 就象 xmms 的歌曲列表一樣, 而 程序本身, 即 xmms 自
己的窗口卻還是又粗又大的字體, 這時需要改 gtk 的字體設置:

1) 用 root 賬號: vi /etc/gtkrc.zh_CN
2) 把原來的:

fontset = "-adobe-helvetica-medium-r-normal--16-*-*-*-*-*-iso8859-1,
-*-*-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0,*-r-*"

改成和我們上面用在 xmms 里的字體一樣:

fontset =
"-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1,
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r"

3) 保存退出, 關掉 xmms 這些程序, 再重新打開, 效果就出來了! Enjoy!


為 fontconfig 字體子系統添加字體

[注]
以下除了 "圖形化地安裝字體" 部分為 Rehat 9.0 獨有, 其他應該在之前版本也適
用, 大家試試.

這部分簡單多了, 看 redhat 9 發行注記:

"把新字體添加到 fontconfig 字體子系統比較簡單明了;只需把新字體復制到
/usr/share/fonts/ 目錄中即可(個體用戶可以把新字體復制到 ~/.fonts/ 目錄中來修
改他們的個人字體配置)

復制了新字體后,使用 fc-cache 來更新字體信息緩存:

fc-cache

(這里的 應該是 /usr/share/fonts/ 或 ~/.fonts/ 目錄。)"

- 我是按這個辦法把字體拷 ~/.fonts/ 下面做成功的. (不想使用 root 用戶, hh)

"個體用戶還可以圖形化地安裝字體。方法是:在 Nautilus 中瀏覽 fonts:///,然后把
新字體文件拖放到那里。"

- 而這個辦法我失敗了, 無論我用普通用戶還是 root 用戶, 都無法把字體文件
拷貝或者 "拖放" 到 Nautilus 的 fonts:/// 文件夾里. 不知道原因, 只好放棄.

按第一種方式添加成功后, 在 gtk 2 的程序里設置字體的部分都可以自由使用新字體
比如在控制中心里把應用程序字體都改成 simsum. (另外, 我發現 10 號大小的
simsun 效果最好, 不使用單色也非常清晰, 可以考慮使用)

總的來說, 為 Redhat Linux 添加新字體并沒有什么太難太神秘的東西, 我個人做完之

覺得并沒有想像中那么難, 尤其是 gtk 1.2 程序的字體部分, 不必改別人說過的那么多
文件,

而實際只要添加完字體, 改個 /etc/gtkrc.zh_CN 就搞定了.


讓 Enlightenment 顯示中文


同樣簡單, 在上面的前提下, 找到你當前使用的 E 主題, 如我的是在

~/.enlightenment/themes/AquaX/

進入這個目錄后, 最簡單的做法:
gedit textclass.cfg

利用 gedit 的替換功能, 把所有關于字體的字符串, 如:

"-*-helvetica-bold-r-normal-*-*-120-*-*-*-*-*-*"

統統替換成和 xmms 一樣的:

-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1,
-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r"

保存退出, 清除 E 的緩存, Restart E, 搞定.


Java 的中文顯示


1. JBuilder 的中文問題

vi /etc/PRofile

添加:

JAVA_FONTS=/path/to/your/zhfonts/
export JAVA_FONTS

比如要用剛才弄好的 simsum 和 tahoma 字體, 因為我們已經把它們放在:
/usr/share/fonts/local 里面了, 所以這里就可以填:

JAVA_FONTS=/usr/share/fonts/local

注意, JBuilder 顯然用的是 fontconfig 字體子系統, 所以, 要讓它認出來
有哪些字體可以用, fonts.scale 和 fonts.dir 這兩個問題無疑是必需的.
相比較上面核心 X 字體子系統的字體文件夾里, 即我的 ~/.fonts 里面只有
字體文件和一個叫 "fonts.cache-1" 的文件, 可以對比著理解.

能讓 JBuilder 打開的程序顯示中文, 但 JBuilder 本身中文有問題, 下面:
修改 JBuilder 自己的字體配置, 比如我的 JBuilder 裝在:

~/Apps/Devs/JBuilder

那么:
vi ~/Apps/Devs/JBuilder8/jdk1.4/jre/lib/font.properties

把這樣的東西:

serif.0=-b&h -lucidabright-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.1=--standard symbols l-medium-r-normal--*-%d-*-*-p-*-urw-fontspecific

serif.italic.0=-b&h-lucidabright-medium-i-normal--*-%d-*-*-p-*-iso8859-1
serif.italic.1=--standard symbols l-medium-r-normal--*-%d-*-*-p-*-urw-fontsp
ecific

統統換成如:

serif.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
serif.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

serif.italic.0=-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-viscii1.1-1
serif.italic.1=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-koi8-r

(還是用上面 xmms 一樣的字體)

所有這些 "*.0=.." 都是描述英文該用什么字體
而所有 "*.1=..." 都是描述中文該用什么字體

最后保存退出, JBuilder 里的英文就都是 tahoma, 所有的中文都是 simsun
自然, 因為已經設置了 JAVA_FONTS , 所以所有 Java 的應用程序都能正常找到
中文字體并顯示.

最后注意一點, 我自己嘗試失敗的一件事:

記得我們上面配置核心 X 字體子系統時, 在 ~/.fonts/ 里面放置了給 gtk 1.2
程序使用的字體文件, 如果這時把 JAVA_FONTS 指向這里, 會出現的現象是:

JBuilder 里面打開的程序可以顯示中文
但是, JBuilder 自己的窗口無法顯示中文.

我個人認為和 fontconfig 的 fonts.dir, fonts.scale 以及核心 X 的
"fonts.cache-1" 有關系, 具體就不懂了.
所以這里可以體驗到兩個字體子系統的差異.

2. j2sdk 的中文問題:

上面這樣配置之后, 只有在 JBuilder 環境內開發程序時, 才能正常顯示中文
(因為 JBuilder 幫你找字體), 而如果我們回到命令行方式使用 j2sdk 開發,
這時會發現還是顯示不了中文, 讓我們由此及彼地推想一下, jbuilder 的 jre
里把 font.properties 修改完就能顯示中文, 同樣, j2sdk 下面也有自己的
jre... 沒錯! 只要把我們剛才為 JBuilder 修改完的 fonts.properties 拷
到 $JAVA_HOME/jre/lib 下面, 把它原來的覆蓋, 一切 OK!

3. j2re 的中文問題:

還沒想到測試方法, 回頭再說...估計也一樣, j2re 下面的 lib 里一樣有
font.properties, 所以, 應該可以再次重用 JBuilder 的 fonts.properties.
總之呢, 這一切都基于你最初要把字體添加正確, 其它都好辦了, 拷文件而已.´


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产999在线观看| 4444欧美成人kkkk| 欧美疯狂xxxx大交乱88av| 福利二区91精品bt7086| 久久人人爽人人爽爽久久| 欧美最猛黑人xxxx黑人猛叫黄| 欧美日韩国产中文字幕| 亚洲精品资源美女情侣酒店| 国产精品一区av| 国产美女精品视频| 91系列在线观看| 欧美在线视频观看免费网站| 日韩国产高清视频在线| 不卡在线观看电视剧完整版| 一区二区福利视频| 欧美另类极品videosbest最新版本| 国产偷亚洲偷欧美偷精品| 欧美成人免费在线视频| 久久免费成人精品视频| 国产伦精品一区二区三区精品视频| 日韩av在线直播| 亚洲人精选亚洲人成在线| 精品国产一区二区三区久久| 亚洲国产又黄又爽女人高潮的| 成人亚洲欧美一区二区三区| 亚洲欧美激情精品一区二区| 亚洲国产日韩欧美在线动漫| 亚州欧美日韩中文视频| 久久久久国产精品一区| 欧美老女人在线视频| 国产精品高潮在线| 成人情趣片在线观看免费| 国产精品日韩欧美大师| 欧美精品免费在线观看| 亚洲美女视频网| 亚洲精品久久久久久久久久久| 国产精品久久久久久久久| 亚洲香蕉在线观看| 亚洲欧美制服第一页| 国产99视频在线观看| 韩国福利视频一区| 日韩高清电影免费观看完整版| 91久久久国产精品| 国产精品亚洲美女av网站| 国产伦精品一区二区三区精品视频| 久久亚洲一区二区三区四区五区高| 欧美另类xxx| 国产91色在线免费| 国产亚洲aⅴaaaaaa毛片| 国产精品久久久久77777| 欧美成人亚洲成人| 热草久综合在线| 欧美亚洲另类视频| 午夜精品一区二区三区av| 国产精品视频免费观看www| 欧美日韩中文在线观看| 日韩精品福利网站| 欧美人在线观看| 91香蕉国产在线观看| 久久精品亚洲94久久精品| 国产成人高清激情视频在线观看| 最近2019年中文视频免费在线观看| 欧美成人国产va精品日本一级| 色婷婷久久av| 亚洲欧美日韩爽爽影院| 日韩毛片中文字幕| 亚洲精品狠狠操| 亚洲国产精品字幕| 国产精品视频99| 欧美一级黄色网| 亚洲人成电影在线播放| 欧美高清在线视频观看不卡| 亚洲成av人乱码色午夜| 久久精品夜夜夜夜夜久久| 欧美亚洲另类视频| 中文字幕精品—区二区| 欧美超级免费视 在线| 人九九综合九九宗合| 日韩av在线最新| 欧美日韩中文字幕日韩欧美| 亚洲精品狠狠操| 伊人av综合网| 久久影院在线观看| 国产一区视频在线播放| 国产精品视频自拍| 2019中文字幕在线观看| 国产在线不卡精品| 国产精品视频区1| 国产精品综合不卡av| 国产精品久久久久久久久粉嫩av| 91久久精品国产| 懂色av影视一区二区三区| 亚洲男人天堂视频| 成人性生交大片免费观看嘿嘿视频| 精品亚洲夜色av98在线观看| 国产精欧美一区二区三区| 国模视频一区二区| 欧美性猛交xxxx黑人| 国产精品久久久久7777婷婷| 国产精自产拍久久久久久蜜| 蜜臀久久99精品久久久久久宅男| 国产精品久久9| 亚洲国产成人91精品| 国产欧美日韩综合精品| 亚洲欧美成人一区二区在线电影| 伊人伊成久久人综合网小说| 麻豆一区二区在线观看| 91大神在线播放精品| 精品国内产的精品视频在线观看| 欧美精品久久一区二区| 亚洲国产精品成人va在线观看| 欧美天天综合色影久久精品| 亚洲精品视频在线观看视频| 91久久久亚洲精品| 欧美性猛交xxxx乱大交极品| 中文字幕亚洲图片| 中国china体内裑精亚洲片| 成人h片在线播放免费网站| 92看片淫黄大片欧美看国产片| 91九色单男在线观看| 精品国产乱码久久久久久婷婷| 国产在线观看不卡| 91色视频在线导航| 91国语精品自产拍在线观看性色| 亚洲品质视频自拍网| 欧美激情精品久久久久久久变态| 欧美日本高清视频| 亚洲精品v欧美精品v日韩精品| 欧美性受xxxx黑人猛交| 青青草精品毛片| 国产精品久久久久久av| 91国偷自产一区二区三区的观看方式| 午夜精品久久久久久久久久久久| 91欧美精品午夜性色福利在线| 欧美亚洲午夜视频在线观看| 欧美日韩一区二区免费在线观看| 国产精品极品美女在线观看免费| 日韩性生活视频| 久久99精品视频一区97| 国模视频一区二区| 日韩av123| 亚洲精品国产品国语在线| 亚洲国产精品成人av| 欧美精品成人91久久久久久久| 成人啪啪免费看| 最近2019年日本中文免费字幕| 国产成人精品av在线| 日韩中文字幕免费看| 成人淫片在线看| 亚洲视频在线视频| 欧美国产日韩xxxxx| 日韩av不卡在线| 欧美精品久久久久久久| 久久av资源网站| 久久久精品电影| 黄色成人在线免费| 国产91色在线| 成人网中文字幕| 国产成人精品国内自产拍免费看| 久久精品久久久久电影| 尤物精品国产第一福利三区| 久久精品人人做人人爽| 欧美中文在线观看| 久久久久久亚洲精品不卡|