REHL5中文字型及fcitx安裝和設定

2021-06-28 09:21:05 字數 4653 閱讀 7944

安裝linux obi 5.2.01後,發現雖然session language選擇了中文,但進入kde後中文都顯示為方塊亂碼,應該是缺少中文字庫。

參照安裝中文字型美化包linuxsir-fontconfig-3.4.bin,但發現安裝後/usr/bin/system-config-network和其它kde管理工具執行時出現下面錯誤。

error in sys.excepthook:

traceback (most recent call last):

file "/usr/sbin/system-config-network-gui", line 67, in

progname, prg_version)

file "/usr/lib/python2.4/site-packages/rhpl/exception.py", line 337, in handleexception

import gtk

file "/usr/lib/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 48, in ?

from gtk import _gtk

importerror: /usr/lib/libcairo.so.2: undefined symbol: ft_glyphslot_embolden

original exception was:

traceback (most recent call last):

file "/usr/sbin/system-config-network-gui", line 70, in ?

import gtk

file "/usr/lib/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 48, in ?

from gtk import _gtk

importerror: /usr/lib/libcairo.so.2: undefined symbol: ft_glyphslot_embolden

重灌系統後,比較發現美化包所帶的freetype,fontconfig, libxft, pango等版本太舊,下面是美化包所帶rpm包。

fcitx-2.1.0-2.i386.rpm

fontconfig-2.2.92-0.5.linuxsir.i386.rpm

fontconfig-devel-2.2.92-0.5.linuxsir.i386.rpm

freetype-2.1.7-4.linuxsir.i386.rpm

freetype-demos-2.1.7-4.linuxsir.i386.rpm

freetype-devel-2.1.7-4.linuxsir.i386.rpm

freetype-utils-2.1.7-4.linuxsir.i386.rpm

libxft-2.1.2-4.i386.rpm

pango-1.2.5-10.linuxsir.i386.rpm

pango-devel-1.2.5-10.linuxsir.i386.rpm

simsun-2.2-linuxsir.noarch.rpm

這是我在linux obi 5.2.01中查到的軟體版本。除了simsun和fcitx外,其它包的版本都比它新。

fontconfig-2.4.1-7.el5

fontconfig-devel-2.4.1-7.el5

freetype-2.2.1-19.el5

freetype-devel-2.2.1-19.el5

libxft-2.1.10-1.1

libxft-devel-2.1.10-1.1

pango-1.14.9-3.el5

pango-devel-1.14.9-3.el5

另外開啟美化包帶的setup.kde,發現它在安裝時使用「rpm -uvh --force」,難怪我使用」rpm -e「時因為軟體包相互依賴無法解除安裝它安裝的包。於是修改setup.kde,刪除所有」rpm -uvh --force「行,只保留後面的修改conf檔案,如下setup2。

#!/bin/bash

if [ -f /etc/ld.so.conf ] ; then

mv /etc/ld.so.conf /etc/ld.so.conf.old

echo "/usr/lib" > /etc/ld.so.conf

cat /etc/ld.so.conf.old >> /etc/ld.so.conf

ficp -rf /etc/fonts/fonts.conf.example /etc/fonts/fonts.conf

cp -rf /etc/fonts/local.conf.example /etc/fonts/local.conf

fc-cache -f > /dev/null 2>&1

if ! grep -i "font_name" /etc/gtk-2.0/gtkrc > /dev/null 2>&1 ; then

cat >> /etc/gtk-2.0/gtkrc << eof

style "default"

widget_class "*" style "default"

eoffi

chkfontpath -a /usr/share/fonts/simsun

/etc/init.d/xfs restart > /dev/null 2>&1

ldconfig

先執行「rpm -ivh simsun-2.2-linuxsir.noarch.rpm」安裝simsun,再執行上面的**。

刪除/etc/profile.d/cfxmms.sh;

安裝後console執行命令時會出現下面warning,只要注釋掉/etc/fonts/fonts.conf和/etc/fonts/local.conf中的」other_family「就可以了。

fontconfig warning: "local.conf", line 84: unknown element "other_family"

fontconfig warning: line 460: unknown element "other_family"

或者不用安裝中文字型美化包,參見直接安裝中文字型。

1. mkdir /usr/share/fonts/local

2. cp simsun.ttc /usr/share/fonts/local/simsun.ttf

3. cd /usr/share/fonts/local; ttmkfdir; cp fonts.scale fonts.dir;

4. chkfontpath -a /usr/share/fonts/local

5. service xfs reload

另外還有一種簡單的方式設定中文顯示,參見

# rpm -ivh fontconfig-2.4.1-7.el5.i386.rpm

# rpm -ivh fontconfig-devel-2.4.1-7.el5.i386.rpm

# rpm -ivh fonts-chinese-3.02-12.el5.noarch.rpm

# service xfs reload

安裝fcitx
export xmodifiers="@im=fcitx"
[*]設定自動啟動fcitx:

cd ~/.kde/autostart/; 

ln -s /usr/bin/fcitx .

[*]reboot機器

安裝完,發現fcitx和openoffice 3.0衝突,openoffice啟動就沒響應,將openoffice公升級到3.2,問題依舊。

設定locale

為了使選單保持為英文,但可以顯示和輸入中文,我在obi configuration center選擇english(usa),在administration -> language中選擇english(usa),在session language選擇中國大陸,就可以使firefox顯示為英文版,mount分割槽時可以正常顯示中文。

為了使thundbird也顯示為英文版,需要在/usr/bin/thunderbird頭部增加

export lang=en_us.utf-8
為了在thundbird和firefox中使用fcitx,需要增加兩行:

export lc_ctype="zh_cn.utf-8"

export xmodifiers="@im=fcitx"

下面是env輸出的locale相關變數:

lang=zh_cn.utf-8

gdm_lang=zh_cn.utf-8

lc_ctype=zh_cn.utf-8

/etc/sysconfig/i18n的內容:

lang="en_us.utf-8"

sysfont="latarcyrheb-sun16"

acrobat顯示中文
tar xvfz fontpack81_chs_i486-linux.tar.gz

cd chskit

./install

從這可以找到最新acrobat和中文包:

中文字型引用及壓縮

中文字型引用 如思源雅黑 解決chrome瀏覽器下 font face字型圖示出現鋸齒 要注意不同格式字型引用順序問題 eot svg ttf woff2 woff font face 安裝node.js 再開啟node.js command prompt 測試 node v 有版本號出來即成功 然...

linux中安裝中文字型

可能是因為在安裝linux的過程中忘記了選擇支援中文,所以機器在安裝完之後從mozzila訪問中文 全是亂碼,在 檢視 選單中即使選擇gbk的編碼字符集也無效,另外在shell中的中文也為亂碼,openoffice開啟之後也全為亂碼。重灌機器是個苦差事,不想那樣做。於是我選擇了對其進行漢化。第一步 ...

css中中文字型(font family)列表

windows的一些 黑體 simhei 宋體 simsun 新宋體 nsimsun 仿宋 fangsong 楷體 kaiti 仿宋 gb2312 fangsong gb2312 楷體 gb2312 kaiti gb2312 微軟雅黑體 microsoft yahei 裝office會生出來的一些 ...