作者 主題: RedHat 8.0 字型失效解決方法(教你如何去掉 RedHat 的 Xft  (閱讀 15150 次)

0 會員 與 1 訪客 正在閱讀本文。

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
RedHat 8.0 中,RedHat 公司自行加入獨家的 Xft 以及 fontconfig 套件,並修改了包括 XFree86、qt、gnome、pango 等等的原始碼,造成 TrueType 字型管理與以前版本,甚至與別家 Linux 套件發行商都不一樣,使得原來以標準方式安裝字型的方法,統統失效,變成 RedHat 獨有方式,實在可惡透了。

若是比標準方式方便簡易,比原來方式好用,倒也無可厚非,但..........用過 RedHat 8.0 的朋友們,有沒有發現,以 RedHat 獨有方式安裝的字型,會失去粗、斜體變化,變成只有正體字?而且安裝 Windows 字型(特別是華康字型),字體還會變得支離破碎?

小的研究了半天,終於發現是 Xft 這個套件作怪,這裡教你怎樣去掉這個討厭的玩意兒:

【一、KDE 部份】
重新編譯 qt 套件。如果您有 RedHat 8.0 的 Source 光碟,請拿出來,將 qt-3.0.5-17.src.rpm 解開,如果沒有,請用下列方式下載 RH 8.0 的 qt Source RPM:
# wget -c ftp://linux.nctu.edu.tw/dists/redhat/redhat/linux/8.0/en/os/i386/SRPMS/qt-3.0.5-17.src.rpm

解開 qt-3.0.5-17.src.rpm:
# rpm -Uvh qt-3.0.5-17.src.rpm

修改 qt-release.spec 檔:
# cd /usr/src/redhat/SPECS
# vi qt-release.spec
先找到這一行
%define rel 17
改成
%define rel 18

再找到這一行
%define xft2 1
改成
%define xft2 0
以上兩行修改完畢後,存檔跳出 vi。

然後重新包裝成 Source RPM:
# rpmbuild -bs qt-release.spec
這樣會產生 qt-3.0.5-18.src.rpm

接下來重新編譯我們剛才包裝好的 Source RPM
# cd /usr/src/redhat/SRPMS
# rpmbuild --rebuild qt-3.0.5-18.src.rpm
這樣就會開始編譯去掉 Xft 的 qt 套件了,編譯時間很長,建議您休息一下,以我的 P4 1.6G 為例,花掉了 1 個半小時才編譯完。

編譯完成後,Binary RPM 會放在 /usr/src/redhat/RPMS/i386 這個目錄下:我們就可以用這個純淨無污染(笑)的 qt 套件來升級了。
# cd /usr/src/redhat/RPMS/i386

查一下你的系統安裝了哪一些 qt 套件:
# rpm -qa | grep qt

qt-3.0.5-17
qt-devel-3.0.5-17
qt-designer-3.0.5-17

以我的為例,RedHat 8.0 安裝了以上三個 qt 套件,所以我就只要升級那三個套件即可:
# rpm -Uvh qt-3.0.5-18.i386.rpm qt-devel-3.0.5-18.i386.rpm qt-designer-3.0.5-18.i386.rpm

OK,重新開機吧!重新用 KDE 控制中心去設定字型,你將發現,字型又跟以前一樣,統統回來了。

【二、GNOME 部份】
這個部份尚未做好。
待續.....................................

哈克

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
挖  螢火飛 兄  大架光臨 還獻上如此好的經選文件
拍拍拍拍拍
 :lol:  :lol:

damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
螢火飛是美妹 :P

ZMAN

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 6247
  • 性別: 男
    • 檢視個人資料
    • 魔力門部落格
呵呵
我就是看那個螢火飛中文化文件長大的

不是啦
是搞定RH7.3的中文化部分


是美妹歐
可惜我已經結婚囉
日京三子和梁楓可以加點油試看看

不知道那個編譯好的檔案可不可以提供下載啊
佈線深似海!
網路高如天!

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
引述: "ZMAN"
呵呵
我就是看那個螢火飛中文化文件長大的

不是啦
是搞定RH7.3的中文化部分


是美妹歐
可惜我已經結婚囉
日京三子和梁楓可以加點油試看看

不知道那個編譯好的檔案可不可以提供下載啊


嘻嘻嘻 :D 抱歉啦!我已經結婚了,ㄎㄎㄎ

我是有已經編譯好的 qt 套件了,要提供下載的話,頻寬恐怕會被吃光光,
這樣好了,我先開放下載 24 小時,讓有足夠頻寬與空間的人下載,
可以的話,請有資源的朋友下載後,放上其他的空間,讓更多人可以下載。

編譯好的套件位址如下:
http://firefly.idv.tw/download/qt-3.0.5-18.i386.rpm
http://firefly.idv.tw/download/qt-MySQL-3.0.5-18.i386.rpm
http://firefly.idv.tw/download/qt-ODBC-3.0.5-18.i386.rpm
http://firefly.idv.tw/download/qt-PostgreSQL-3.0.5-18.i386.rpm
http://firefly.idv.tw/download/qt-Xt-3.0.5-18.i386.rpm
http://firefly.idv.tw/download/qt-designer-3.0.5-18.i386.rpm
http://firefly.idv.tw/download/qt-devel-3.0.5-18.i386.rpm

Source RPM:
http://firefly.idv.tw/download/qt-3.0.5-18.src.rpm

我自己寫的字型安裝程式 xttmgr
http://firefly.idv.tw/download/xttmgr-0.9-3.i386.rpm
Source RPM:
http://firefly.idv.tw/download/xttmgr-0.9-3.src.rpm

明月舞清風

  • 憂鬱的高中生
  • ***
  • 文章數: 173
    • 檢視個人資料
鼓掌叫好還不夠,應頒給你一個獎才對....

謝謝你幫忙解除心中的疑惑....

雖然我已經放棄RH8,回到7.3的懷抱...

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
哇哇哇!對不起 :( 鬧了個笑話了。

做一些修正。

有關前面對 Xft 以及 fontconfig 的評論,我說錯了,Xft 與 fontconfig 並不是 RedHat 獨有的,只是 RedHat 手腳比較快,將他們整合進去 RedHat 8.0 中,之前罵 RedHat 的一些話,我收回,對不起大家,誤導大家,真的很抱歉。

由於 fontconfig 改變了字型的設定方式,目前我還在研究當中,看樣子,好像只要修改 /etc/fonts/fonts.conf 的一些設定就可以了,正在努力鑽研當中,由於能找到的資訊很少,可能要自己動手實驗,才能知道結果。

唉!變來變去的,整人嘛! :cry:

jenhochen

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
啪啪啪
« 回覆 #7 於: 2002-10-23 00:54 »
很少看到有女生對 Linux 如此投入的呢~~~
或許是弟認識的人還不夠多吧~

不過還是給您加油!! 螢火飛....
繼續指導我們這些新手吧~~ 加油~~!!!
y Web:jenhochen.adsldns.org
20:01 --- 23:59

鄧智文

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
請問各位大大
« 回覆 #8 於: 2002-10-24 23:22 »
為什麼我改完qt-release.spec檔案之後
要重新包裝rpm檔時會有錯誤

error: Failed build dependencies:
        postgresql-devel is needed by qt-3.0.5-18
        mysql-devel is needed by qt-3.0.5-18
        unixODBC-devel is needed by qt-3.0.5-18

謝謝回答

localman

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
我的情況也是一樣說,也是會出現錯誤,不知道那裏出問題了??

VBird

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 1516
    • 檢視個人資料
    • http://linux.vbird.org
哇!螢火飛姊姊大架光臨!
真是無上的光榮呀! ^_^

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
Re: 請問各位大大
« 回覆 #11 於: 2002-10-25 12:42 »
引述: "鄧智文"
為什麼我改完qt-release.spec檔案之後
要重新包裝rpm檔時會有錯誤

error: Failed build dependencies:
        postgresql-devel is needed by qt-3.0.5-18
        mysql-devel is needed by qt-3.0.5-18
        unixODBC-devel is needed by qt-3.0.5-18

謝謝回答


老問題!『套件相依性』
上面的訊息,意思是缺少 postgresql-devel 、mysql-devel、unixODBC-devel
把他們裝進去系統就成了。

這裡有已經編譯好的 qt 了,是 i686 的唷 ^^
http://www.study-area.org/apt/redhat/8.0/RPMS/RPMS.updates/qt-3.0.5-18.i686.rpm
http://www.study-area.org/apt/redhat/8.0/RPMS/RPMS.updates/qt-devel-3.0.5-18.i686.rpm
http://www.study-area.org/apt/redhat/8.0/RPMS/RPMS.updates/qt-designer-3.0.5-18.i686.rpm
http://www.study-area.org/apt/redhat/8.0/RPMS/RPMS.updates/qt-Xt-3.0.5-18.i686.rpm
http://www.study-area.org/apt/redhat/8.0/RPMS/RPMS.updates/qt-MySQL-3.0.5-18.i686.rpm
http://www.study-area.org/apt/redhat/8.0/RPMS/RPMS.updates/qt-ODBC-3.0.5-18.i686.rpm
http://www.study-area.org/apt/redhat/8.0/RPMS/RPMS.updates/qt-PostgreSQL-3.0.5-18.i686.rpm

先不要全部抓取,請先用 rpm -qa | ^qt 查一下您裝了哪一些 qt 套件,然後再抓下來更新

localman

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
太感謝了,馬上抓回去試看看了!!

localman

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
已改好了,再加上"中文字型完全解決方案"字看起來好看多了,真是太感謝螢火飛前輩了。 :P

harrier

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 1856
  • 性別: 男
    • 檢視個人資料
    • 國屬武裝兵
RH 的修改確實有些不大完善...

不過..新的字型管理方式讓 X 的字型設定不再繁複不已..目前研究中
...

有沒發現,RH 把 GhostScript 的字拿掉了,本來以為 Mozilla 怎麼
印中文..結果印出來幾乎是 WYSIWYG,console 出現的訊息是 FONT
NOT FOUND,因為 GS 找不到 unix.js 裡面設的字,不過現在 X 好像
可以印出畫面上顯示的字。

用來製作 PDF 文件更方便了,以往大家各管各的,只有 OO/SO 印出來
的 PDF 字體漂亮,現在統統很漂亮。

只不過,自己修改 font.cache-1 內容,選單上會出現粗體,但實質好
似無效,斜體則是選單都無法出現。   @@b
...90Net(90:1200/1203),GameNET(99:700/707),ALLNet(92:9200/3111),InfoNet(30:100/103)..MaximusCBCS(浮懷),AirNet,TenderNet,StormNet,FidoNet...
<<- www.nas.vg ->>

figaro

  • 憂鬱的高中生
  • ***
  • 文章數: 185
  • 性別: 男
    • 檢視個人資料
    • http://www.neo-info.net
Re: 請問各位大大
« 回覆 #15 於: 2002-10-27 11:41 »
引述: "鄧智文"
為什麼我改完qt-release.spec檔案之後
要重新包裝rpm檔時會有錯誤

error: Failed build dependencies:
        postgresql-devel is needed by qt-3.0.5-18
        mysql-devel is needed by qt-3.0.5-18
        unixODBC-devel is needed by qt-3.0.5-18

謝謝回答

我的作法是在編譯qt-release.spec 的時候
在前頭有幾行是在說要不要把這三個進行build
只要把他數字改掉,望嚕是1還是0嚕
這樣進行編譯的時候就不會有問題嚕說

另外小弟有另外一個問題說
gnome部份不知道有沒有人已經改出來嚕ㄋㄟ
謝謝 :D
Figaro Yang
更多關於Figaro Yang

ericshei

  • 全區板主
  • 俺是博士!
  • *****
  • 文章數: 2257
    • 檢視個人資料
引述: "VBird"
哇!螢火飛姊姊大架光臨!
真是無上的光榮呀! ^_^


即然是學姐,那稱謂是不是要改一下呀!?
還有圖也是呀~傳聞中阿尼是女孩子哦~  ^^

SPS

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
kde 的解決方法
« 回覆 #17 於: 2002-11-03 15:59 »
我是用kde的, 我解決方法如下:

1. run "qtconfig"
2. Select "Fonts" tab
3. Uncheck "Enable Anti-Aliased Font Support (Xft)
4. Select menu item "FIle" -> "Save"

再重新登入kde.