Ubuntu 明明白白安裝中文字型

2022-08-20 02:27:12 字數 3616 閱讀 6981

本文則是參考如何使用xp帶的字型來進行中文美化?一文,實踐中文字型的安裝,並對ubuntu的字型體系更加深入的了解一下,這樣以後再安裝任何字型就都不怕了。

一、準備字型檔案

我一直認為,如果我擁有了一套windows xp的使用權(通過oem方式),那麼我就同時擁有了對這份windows產品的只用於我個人的任意使用權,這裡面包括了對其中的字型的使用權。所以,本 文中將winxp的字型拷貝到linux下使用的做法,應該是沒有侵權的。

windows的字型一般存放在c:\windows\fonts目錄下,我拷貝到linux下的字型有:

simfang.ttf 仿宋體

simhei.ttf 黑體

simkai.ttf 楷體

simsun.ttf 宋體和新宋體,原檔名simsun.ttc

tahoma.ttf tahoma字型

tahomabd.ttf tahoma字型的粗體形式

verdana.ttf verdana字型

verdanab.ttf verdana字型的粗體形式

verdanai.ttf verdana字型的斜體形式

verdanaz.ttf verdana字型的粗體+斜體形式

拷貝過來的字型檔案放在了/home/fwolf/tools/fonts目錄下。

二、將字型加入到linux的可使用字型中

首先把字型檔案鏈結到存放字型的目錄中

$ cd /usr/share/fonts

$ ln -s /home/fwolf/tools/fonts xpfonts

$ cd xpfonts

$ mkfontscale

$ mkfontdir

這樣作和把字型拷貝到/usr/share/fonts的乙個目錄下的效果是一樣的。後面的兩個 mkfont 命令是生成 xpfonts 目錄下所包含的字型的索引資訊。然後執行 fc-cache 命令更新字型快取:

$ fc-cache
現在,應該說linux就可以使用這些新裝上的中文字型了,看一下openoffic裡的截圖吧:

其中仿宋體的字型名是fangsong_gb2312,黑體是simhei,楷體是kaiti_gb2312,宋體是simsun,字型名暫時都不是中文的。

三、修改/etc/fonts/fonts.conf的字型渲染順序

讓我們一邊修改,一邊分析fonts.conf這個檔案的內容吧,注意部分注釋(之間的內容)和無關緊要或者重複的內容我將跳過不再解釋。

<?xml version="1.0"?> 宣告這個檔案是乙個xml文件

xml文件的格式宣告(dtd = document type define)

xml檔案需要的根節點

mono

monospace

將本檔案中的別名mono替換成全稱monospace,這是xml的乙個自動替換宣告,使用別名的目的應該是為了簡化書寫或者維持對舊版本的相容。後面還有幾個替換就不再一一介紹了。

bitstream vera serif

vera sans yuanti

times

times new roman

serif字型將要使用的字型順序。當要顯示serif字型的內容時,就從下面這個列表中選擇字型,匹配順序是自上而下。可以看到已經安裝的圓體美 化再這裡作了修改。如果我們想把宋體作為首選,就在bitstream vera serif字型前面比葫蘆畫瓢加上一行就可以了。

至於什麼是serif字型,以及sans-serif字型,可以看一下細說字型 sans serif 與 serif和serif vs sans serif這兩篇文章,說明的很詳細。我覺得把他們叫做字型或者字族,相對於字型來說,更貼切一些。

下面的sans-serif faces、monospace faces段中處理方式相同。

又是三個替換,大概意思是如果上面的字型匹配還不成功,就嘗試使用sans-serif、serif、monospace的預設字型來替換,最後如果還替換不成功,強制使用sans-serif字型。(不知道這麼理解是否正確)

gulimche

false

一些亞洲字型實際使用了等寬字型,但是卻沒有明確的宣告,這段就是為了相容這個進行的處理,保持不變即可。

修正bitstream vera字型在小於8點的時候的顯示問題,保持不變即可。

載入配置檔案local.conf,下面的~/.fonts.conf也是一樣。

serif

bitstream vera serif

又是三個系列字型的字型別名,不知道這個和前面的類似設定是怎麼個關係,大概前面設定的是備選字型,這裡是推薦字型?不過照例把我們的simsun加進去。

對沒有斜體字的字型的處理方法,保持不變即可。

沒有黑體字的字型的處理方法,保持不變即可。

unicode編碼中在所有字型中都應該顯示為空的編碼表,保持不變即可。

每隔30秒鐘就重新檢查一下本設定檔案(看設定改變了沒有),保持不變即可。

至此,標準的配置檔案就結束了,我們需要作的主要修改也都完成了。重啟x應該就能看到宋體中文的介面了。不過在fonts.conf還可以作一些其他的字型處理設定,這個在圓體美化所帶的那個fonts.conf中有例子,比如:

vera sans yuanti

false

這就是指明在對vera sans yuanti字型的處理中,globaladvance引數設定為false,其他的設定也多是這種語法,具體的含義和效果我就不知道了:)。

四、中文字型顯示優化

按照上面的方法配置好以後,宋體能夠顯示了,但是字型有些發虛,那麼一種簡單的方法就是在系統->首選項->字型(system->preference->font)中選擇單色(monochrome),但是這樣所有的字型包括英文本型都會有一點點的小鋸齒,那麼替代的方法就是通過修改fonts.conf,去掉宋體的反鋸齒,並且用黑體替代宋體的粗體。在fonts.conf中新增:

simsun

bold

simhei

simsun

false

宋體 simsun

新宋體 simsun

仿宋_gb2312

fangsong_gb2312

楷體_gb2312

kaiti_gb2312

黑體 simhei

為什麼要用黑體替代宋體的粗體呢,因為宋體字型其實是不含粗體的,windows下也是,只是windows採用了更高階一些的方法來間接實現了宋體的粗體而已。

小結

以上就是簡單的中文字型設定方法,和我對fonts.conf的簡單理解,希望能對大家有用,也希望過路大俠指正錯誤和不足之處。另外還可以參考一下乙個詳細的漢化美化方案(freetype/fontconfig/xft),分析得比我深入多了。

明明白白之搜尋演算法

1 定義 搜尋演算法是去搜尋每乙個可能,主要分以下幾種演算法 列舉法 暴力搜尋 深度優先搜尋 廣度優先搜尋 回溯2 深度優先搜尋 一條道走到黑 1 判斷邊界條件,向上回退 2 解決當前這一步需要做什麼 3 使用相同的邏輯處理下一步 3 廣度優先搜尋 為了便於進行搜尋,要設定乙個表儲存所有的結點。由於...

明明白白看MFC之程式框架

對於程式設計師來說,如果要提高程式設計效率,乙個好用的,功能強大的並且可以得心應手使用的程式設計工具往往會給我們程式設計師帶來莫大的方便。其實對於現在的程式設計工具來說,使用哪一種工具都不是問題的關鍵,重要的是你能夠使用到什麼程度,畢竟現在的工具都是非常的強大,對於一般的程式設計任務來說還沒有不能夠...

一些明明白白的句子

1,沒有乙個人會真的喜歡孤獨,可是對於優秀的人來說,他們明白能夠通向幸福的捷徑,從來不是合群,而是成為最優秀的自己。人只有在獨處的時候,才能夠真正的去學習一些東西,去思考一些東西,優秀的人喜歡的從來不是獨處,而是喜歡因為獨處而給自己帶來的收穫。2,我渴望有自己獨立的人格,我渴望自己內心的特立獨行和桀...