為 Redhat 的兩個字體子系統添加字體
讓 Enlightenment 顯示中文
Java 的中文問題:
JBuilder 的中文問題
J
SDK 的中文問題
J
RE 的中文問題
大家挑自己需要的看就好了
為 Redhat Linux 添加新字體
[注]
以下過程在 Redhat
上測試通過
准備要安裝的字體
如: c
f
根據發行注記裡所言分別為核心 X 字體子系統和 fontconfig 字體子系統添加字體:
為核心 X 字體子系統添加字體
[注]
以下部分應該對 Redhat
之前的版本也適用
因為 核心 X 字體子系統存在
於迄今為止的版本中
如果你想給你的 Red Hat Linux
系統添加新字體
根據使用新字體的字體子系統而
定
你必須明確所需步驟
對於核心 X 字體子系統
你必須
創建 /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
不過沒關系
這一步跳過去
在第三步之後做
把新字體文件復制到 /usr/share/fonts/local/ 中
照做
使用以下命令來更新字體信息
ttmkfdir
d /usr/share/fonts/local/
o /usr/share/fonts/local/fonts
scale
照做
然後:
) 把 fonts
scale 拷貝出來一份 fonts
dir
) chkfontpath
add /usr/share/fonts/local/
使用以下命令來重新啟動 xfs 字體服務器
service xfs reload
這一步我沒成功
因為我發現 redhat
裡面沒有 service 這個命令
於是
用笨辦法解決: 退出 X
再 startx
以上這些步驟做完之後
所有 gtk
的程序裡有關字體的部分 (如 xmms 的字體設置
裡) 都多出來我們要的新字體
像 simsun
tahoma
這時可以在程序內部直接使用了
比如我們讓歌曲列表裡的中文使用 simsum
英文使用 tahoma
可以這樣做:
) 先在 xmms 的 Fonts 裡勾上選項
Use fontsets
讓 xmms 支持雙字節的
中文字體;
) 在 播放清單 部分浏覽字體
選擇使用 simsum:
misc
simsun
medium
r
normal
*
*
*
*
c
*
koi
r
(不用拷這個
選上 simsun 它自己就出來了)
對於英文字體的要用 tahoma 就這麼來
一點小技巧:
把這段
misc
simsun
medium
r
normal
*
*
*
*
c
*
koi
r
^x 剪切下來
再選字體為 tahoma
出現這個:
microsoft
tahoma
medium
r
normal
*
*
*
*
p
*
viscii
好了
在後面加個逗號
把剛才剪切的那段東東 ^v 粘貼在後面成為:
microsoft
tahoma
medium
r
normal
*
*
*
*
p
*
viscii
misc
simsun
medium
r
normal
*
*
*
*
c
*
koi
r
這麼一行
保存一下
於是歌曲列表就會對中文使用 simsum
英文使用 tahoma
再把這行拷下面 Main Window 的字體裡 (要勾上
Use X font
)
這時 xmms 主窗
口裡的字體 (像那條來回滾動的歌曲信息的字體) 也和歌曲列表裡的一樣了
注意
我剛才說的是程序內部
就象 xmms 的歌曲列表一樣
而 程序本身
即 xmms 自
己的窗口卻還是又粗又大的字體
這時需要改 gtk 的字體設置:
) 用 root 賬號: vi /etc/gtkrc
zh_CN
) 把原來的:
fontset =
adobe
helvetica
medium
r
normal
*
*
*
*
*
iso
*
*
medium
r
normal
*
*
*
*
*
gb
*
r
*
改成和我們上面用在 xmms 裡的字體一樣:
fontset =
microsoft
tahoma
medium
r
normal
*
*
*
*
p
*
viscii
misc
simsun
medium
r
normal
*
*
*
*
c
*
koi
r
) 保存退出
關掉 xmms 這些程序
再重新打開
效果就出來了! Enjoy!
為 fontconfig 字體子系統添加字體
[注]
以下除了
圖形化地安裝字體
部分為 Rehat
獨有
其他應該在之前版本也適
用
大家試試
這部分簡單多了
看 redhat
發行注記:
把新字體添加到 fontconfig 字體子系統比較簡單明了
只需把新字體復制到
/usr/share/fonts/ 目錄中即可(個體用戶可以把新字體復制到 ~/
fonts/ 目錄中來修
改他們的個人字體配置)
復制了新字體後
使用 fc
cache 來更新字體信息緩存
fc
cache
(這裡的 應該是 /usr/share/fonts/ 或 ~/
fonts/ 目錄
)
我是按這個辦法把字體拷 ~/
fonts/ 下面做成功的
(不想使用 root 用戶
hh)
個體用戶還可以圖形化地安裝字體
方法是
在 Nautilus 中浏覽 fonts:///
然後把
新字體文件拖放到那裡
而這個辦法我失敗了
無論我用普通用戶還是 root 用戶
都無法把字體文件
拷貝或者
拖放
到 Nautilus 的 fonts:/// 文件夾裡
不知道原因
只好放棄
按第一種方式添加成功後
在 gtk
的程序裡設置字體的部分都可以自由使用新字體
比如在控制中心裡把應用程序字體都改成 simsum
(另外
我發現
號大小的
simsun 效果最好
不使用單色也非常清晰
可以考慮使用)
總的來說
為 Redhat Linux 添加新字體並沒有什麼太難太神秘的東西
我個人做完之
後
覺得並沒有想像中那麼難
尤其是 gtk
程序的字體部分
不必改別人說過的那麼多
文件
而實際只要添加完字體
改個 /etc/gtkrc
zh_CN 就搞定了
讓 Enlightenment 顯示中文
同樣簡單
在上面的前提下
找到你當前使用的 E 主題
如我的是在
~/
enlightenment/themes/AquaX/
進入這個目錄後
最簡單的做法:
gedit textclass
cfg
利用 gedit 的替換功能
把所有關於字體的字符串
如:
*
helvetica
bold
r
normal
*
*
*
*
*
*
*
*
統統替換成和 xmms 一樣的:
microsoft
tahoma
medium
r
normal
*
*
*
*
p
*
viscii
misc
simsun
medium
r
normal
*
*
*
*
c
*
koi
r
保存退出
清除 E 的緩存
Restart E
搞定
Java 的中文顯示
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
的文件
可以對比著理解
能讓 JBuilder 打開的程序顯示中文
但 JBuilder 本身中文有問題
下面:
修改 JBuilder 自己的字體配置
比如我的 JBuilder 裝在:
~/Apps/Devs/JBuilder
那麼:
vi ~/Apps/Devs/JBuilder
/jdk
/jre/lib/font
properties
把這樣的東西:
serif
=
b&h
lucidabright
medium
r
normal
*
%d
*
*
p
*
iso
serif
=
standard symbols l
medium
r
normal
*
%d
*
*
p
*
urw
fontspecific
alic
=
b&h
lucidabright
medium
i
normal
*
%d
*
*
p
*
iso
alic
=
standard symbols l
medium
r
normal
*
%d
*
*
p
*
urw
fontsp
ecific
統統換成如:
serif
=
microsoft
tahoma
medium
r
normal
*
*
*
*
p
*
viscii
serif
=
misc
simsun
medium
r
normal
*
*
*
*
c
*
koi
r
alic
=
microsoft
tahoma
medium
r
normal
*
*
*
*
p
*
viscii
alic
=
misc
simsun
medium
r
normal
*
*
*
*
c
*
koi
r
(還是用上面 xmms 一樣的字體)
所有這些
*
=
都是描述英文該用什麼字體
而所有
*
=
都是描述中文該用什麼字體
最後保存退出
JBuilder 裡的英文就都是 tahoma
所有的中文都是 simsun
自然
因為已經設置了 JAVA_FONTS
所以所有 Java 的應用程序都能正常找到
中文字體並顯示
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25919.html