歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> linux操作系統XFree86字體美化方案

linux操作系統XFree86字體美化方案

日期:2017/3/6 15:50:49   编辑:關於Unix
1更新紀錄 * 0.1: Feb. 21, 1999: 第一次公布。 * 0.11: Feb. 27, 1999: 放入 copyright。 * 0.12: Jun. 10, 1999: 放入請求援助。 * 0.20: Sep. 14, 1999: 為 redhat 使用者放入有關於 xfs 的一節。 * 1.0: Nov. 23, 1999: 將文章轉為 SGML 格式,傳送給 Li
  1更新紀錄
  
  * 0.1: Feb. 21, 1999: 第一次公布。
  * 0.11: Feb. 27, 1999: 放入 copyright。
  * 0.12: Jun. 10, 1999: 放入請求援助。
  * 0.20: Sep. 14, 1999: 為 redhat 使用者放入有關於 xfs 的一節。
  * 1.0: Nov. 23, 1999: 將文章轉為 SGML 格式,傳送給 Linux Document Project。
  2. XF86Config 檔
  要想解決字體的問題,首先先得看看 XF86Config 檔。(通常放在 /usr/X11/lib/X11/XF86Config 或 /etc/X11/XF86Config)。您猜到了嗎? 這個檔中關於字體最重要的部份就是 FontPath。在我們研究它之前,最好先檢查 X 的其它設定。錯誤的屏幕設定比錯誤的字體設定更令人頭痛。確定您屏幕的更新頻率 (refresh rate) 在正常使用范圍中已經設到最高 (85Hz 很好,75Hz 普通,60 Hz 很不舒服)。
  2.1 設定 FontPath
  
  用您最順手的文字編輯器來編輯 XF86Config。在文件的開頭,您應該會看到類似下面的東西:
  
  FontPath "/usr/X11R6/lib/X11/fonts/misc/"
  FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
  FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
  FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
  FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
  
  FontPath 告訴 X 到那裡去找在屏幕上顯示用的字體。順序是很重要的,當一個 X 的應用程序向 X 要求使用一些字體,X server 通常偏好使用正在用的字體。然後它去看看 FontPath,使用最先看到能滿足 X client 要求的字體。
  
  缺省的 FontPath 通常將 75dpi 的字體放在 100dpi 的字體前面。若您有一台高解析度的屏幕,這表示非常小的字。第一個你要用的方法就是將 75dpi 和 100dpi 的 FontPath 對調。
  
  FontPath "/usr/X11R6/lib/X11/fonts/misc/"
  FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
  FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
  FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
  FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
  
  然後指出您偏好使用不能縮放的點陣字。若您曾經使用 Netscape 或是其它使用較大字體來顯示標題的程序,您將會發現這些字體呈現鋸齒狀的。這樣很丑,需要修改。所以在 misc,100dpi 和 75dpi 的最後加上 :unscaled。若您想要的話,您也可以同時使用能縮放和不能縮放的字,只要將不能縮放的字的 FontPath 放在前面,告訴 X 說若可能的話,盡量使用不能縮放的字。
  
  FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
  FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
  FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
  FontPath "/usr/X11R6/lib/X11/fonts/Type1"
  FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
  FontPath "/usr/X11R6/lib/X11/fonts/misc"
  FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
  FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
  
  再做了這些改變後,重新啟動 X。桌面是不是已經比較漂亮呢?
  
  3. X server 命令列選項 (command line options)
  下面一件要做的事是調整 X server 的命令列選項。您將會想要用 -dpi 來指定顯示的解析度是每英□幾點。現在很多的系統使用高解析度的顯示器,可能它們將會要用 100dpi。
  
  若您在 console 下啟動 X,鍵入
  
  startx -dpi 100
  
  若您用 xdm 這種圖形登錄界面,您需要編輯您的 /usr/X11/lib/X11/xdm/Xservers 檔。在裡面有 Xserver 的命令列。我的文件裡有下面這一行
  
  :0 local /usr/X11R6/bin/X -dpi 100 -gamma 1.6
  
  您可在 X 和 Xserver 的 manpage 中找到更多的信息。
  
  4. TrueType 字體 (少數 Windows 做的很好的事情)
  因為在 Redmond 的那群家伙非常關心他們軟件的外觀而不是內容,他們在 Windows 裡加上對 TrueType 字體的支持。Window 95 和其它的 Windows 都內含 Arial,Times New Roman,和 Courier New。他們約等於 Helvetica,Times,和 Courier。TrueType 字體是能縮放的,所以它們在放大時很好看,而它們也被好好的調整過,故在縮小的時候依然可讀。有許多的 Windows 應用程序附送好幾打的 TrueType 字體。先別急著把您的 Windows CD 拿去微波,您得先拿到這些字體。
  4.1 xfstt
  
  不幸的是 XFree86 並沒有內部支持 TrueType 字體,所以必須自己加入。最簡單的方式使用 xfstt,一個沒镅的 TrueType 字體服務器。(譯注: 這裡沒镅是 free,嚴格來說,並不是沒镅,而是自由的意思)
  Installation
  
  xfstt 安裝非常容易。首先從網站上下載 tarball。最新的版本是 http://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz
  
  有了 tarball後,把它解開
  
  tar -zxvf Xfstt-0.9.10.tgz
  
  然後編譯和安裝它。INSTALL 檔有簡單的說明。有個不用大腦的方法 make; make install 就可以了。當做好後,把由各式管道取得的 TrueType 字體拷貝到 /usr/ttfonts 就可以了。鍵入下面的指令來啟動 xfstt
  
  xfstt --sync # 更新 xfstt 的字體數據庫
  xfstt & # 在背景執行 xfstt
  
  然後鍵入
  
  xset +fp unix/:7100 # 讓 X 使用 xfstt
  
  或是在您的 XF86Config 檔中加入下面的指令,讓 X 使用這項服務
  
  FontPath "unix/:7100"
  
  調整缺省字體的大小
  
  若您的 TrueType 字體顯得相當小,下面的指令可能有幫助
  
  在 X server 命令列加上 -dpi (請參考第 3 章)。
  
  使用 --res 來告訴 xfstt 增加缺省的解析度。用下面的指令
  
  xfstt --res 120
  
  4.2 xfs
  
  xfs 是另一種字體服務器的選擇。它已經包含在以 RedHat 為基礎的 distribution 中。xfs 是基於 FreeType Font library,提供了類似於 xfstt 的功能。xfs 不只能處理 TrueType 和 Type 1 字體,也可以對付原本的 X 字體。
  安裝
  
  第一步是將 TrueType 字體加入您的 linux 裡。su 為超級使用者,建一個目錄來存放這些字體:
  
  mkdir /usr/share/fonts/ttfonts
  
  然後將字體放入這個目錄裡。您可以從您的 Windows 系統中拷貝過去
  
  cp /mnt/win/path_to_fonts/*ttf /usr/share/fonts/ttfonts/
  
  或是從 Microsoft 直接下載。
  
  這些字體是自解壓縮的 zip 檔。您仍可在 linux 中安裝
  
  unzip <FONT.EXE>
  
  注意字體的文件名必須小寫。一個快速又容易的轉換方法是將他們拷貝到一個 DOS(FAT16) 文件系統中,然後再拷貝回來。DOS 不處理大寫。另一個較像 linuxer 會用的方法是先進入到存放字體的目錄下,然後鍵入:
  
  ls *TTF | while read f
  do
  [ -f "$f" ] && mv -f "$f" "`echo \"$f\" | tr A-Z a-z`"
  done
  
  您在鍵入每一行得時候會有 ">" 的提示符號,在上述每一行的最後按下 return。 注意標點符號 -- 那些 "backquotes" 很重要。當 TrueType 字體正確安裝後,以超級使用者執行:
  
  ttmkfdir -o fonts.scale
  mkfontdir
  
  當您字體目錄下的內容改變後,重新執行上面的命令。接下來,編輯您的 xfs 字體設定文件 /etc/X11/fs/config 在您字體表中加入您的 TrueType 字體:
  
  catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
  /usr/X11R6/lib/X11/fonts/100dpi:unscaled,
  /usr/X11R6/lib/X11/fonts/75dpi:unscaled,
  /usr/X11R6/lib/X11/fonts/misc,
  /usr/X11R6/lib/X11/fonts/Type1,
  /usr/X11R6/lib/X11/fonts/Speedo,
  /usr/share/fonts/default/Type1,
  /usr/share/fonts/ttfonts,
  /usr/X11R6/lib/X11/fonts/100dpi,
  /usr/X11R6/lib/X11/fonts/75dpi
  
  或是您也可以用 'chkfontpath --add <font>' 命令來加入字體。當使用時,您或許也會想要更改您的字體的缺省點數。
  
  default-point-size = 140
  
  這讓我從缺省的 12 點字變為 14 點字。有些 X 的應用程序使用這個,有些則否。接下來,確定您的 XF86Config 檔中的 FontPath 是
  
  FontPath "unix/:-1"
  
  注意 "unix/:7100" 也可以做到,但是在剛出來時無法使用。將所有的 FontPath 用 '#' 讓它變成注解,反正你也不用它們了。xfs 的 packages 應該和其它 XFree 的 packages 一起安裝了。要確定它是缺省的服務,您可以使用 'ntsysv' 或是
  
  chkconfig --add xfs
  
  現在 xfs 在您每一次開機的時候都會啟動。 現在重新啟動 X 來讀入新的 FontPath。用下面的的方式 啟動/重新啟動 xfs
  
  /etc/rc.d/init.d/xfs restart
  
  現在您應該有個可以使用的字體服務器了。您可以檢查那些字體有被使用
  
  xlsfonts | less
  
  或用 xfontsel 甚至更好的 gfontsel 來檢查它們。
  
  5. KDE
  在這段日子裡,KDE 是在 Linux 和 X 發生過最好的事情之一。它提供了一個一致的使用者界面,讓一般大眾能夠接觸 Linux。您可以在 http://www.kde.org/. 找到更詳細的數據。為什麼我會在這大大稱贊它呢? 這是因為 KDE 1.1 有個新特色,能夠讓您程序的字體和顏色與現在的 KDE 風格一致,這也包括非 KDE 的應用程序。
  
  5.1 應用 KDE 的字體和顏色於非 KDE 的應用程序上
  
  這很簡單。只要打開 KDE 的控制中心(Control Center)下面的 Desktop 下面的 style。那裡有個選項叫做 "Apply fonts and colors to non-KDE apps"(將字體與顏色應用到非 KDE 的應用程序),打開他,選 OK,這樣就好了! 下次您開啟許多的應用程序,它們就會像其它的 KDE 應用程序般,有相同的顏色與字體。有些人最喜歡這項特色,但若您不喜歡的話,您也可以將它關掉。
  
  6. 在特定的應用程序中調整字體
  6.1 Netscape Navigator/Communicator
  
  Netscape Communicator 對於字體的問題相當的敏感。若您使用缺省的 FontPath,您的字體將會非常小非常丑。您第一件要去做的事情就是修改您的 XF86Config 檔中的 FontPath (參考第二章)。使用 100dpi 的字體大大的改善了可讀性。您也會想要去檢查在 Edit/Preferences/Appearance/Fonts 的字體設定。不選 Font 選項中的 "Allow Scaling" 可以讓點陣字不會鋸齒狀。
  
  若您有 xfstt 或 xfs,Netscape 非常適合使用 TrueType 字體。然而,它不能得體的處理 xfstt 的銳角。在 Edit/Preferences 中,您可以將 TrueType 字體設為固定寬度或是可變寬度,然而當您關閉 Netscape 後,它將不記得您選取的字體點數。若您在開啟 X 時未用 -dpi 或是在 xfstt 未使用 --res,您的字體將會很小。當我用了上面兩個修正,TrueType 字體真的很棒!

Copyright © Linux教程網 All Rights Reserved