<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    我們要理解X的字體引擎. X中支持Truetype字體(一種可放縮字體) 的主要有四種引擎. freetype, xtt, xfs和Xft.

    首先, 我們要理解X的字體引擎. X中支持Truetype字體(一種可放縮字體) 的主要有四種引擎. freetype, xtt, xfs和Xft.

    其中freetype 和 xtt 是 X 的內(nèi)部模塊. 使用的都是freetype1渲染引擎.

    Xfs 和xft 是外部服務(wù)程序. xfs 是系統(tǒng)級(jí)的字體服務(wù)程序, 也可以作為X的內(nèi)部模塊, 使用的是X 內(nèi)部的freetype2. Xft 和其他類庫(kù)一樣, 只有被調(diào)用的時(shí)候才被加載. 其中只有xft才有antialias 支持.

    這 里有必要講講freetype. Freetype 是開源字體渲染引擎, 并不只為X設(shè)計(jì). 它的功能就是讀取Truetype字體信息, 如大小, 分辨率, 編碼等, 然后渲染成所需的位圖數(shù)據(jù)輸出. Freetype 現(xiàn)在的版本是 2.x, 與1.0 相比, 最大的差別就是加入了抗鋸齒功能.

    有這么多引擎,到底要用哪個(gè)好? 其實(shí)我們目前為止, 支持中文最好的還是xtt. 因?yàn)樾∽煮w的時(shí)候, 用函數(shù)描述法算出來(lái)的中文字體效果不能讓人滿意, 所以很多中文字體公司就在Truetype字體里嵌入了位圖字體. 這些位圖字體需要用特殊的方式讀出來(lái), 所有的引擎中就只有xtt能做到這一點(diǎn).

    我們下一步就是將字體添加到X中, 使xtt可以正確讀取, 這樣就可以了.

    首先, 由于要配置Linux系統(tǒng)文件, 我們需要用root帳號(hào)進(jìn)入, 相當(dāng)于windows下的administrator.

    X的配置文件是/etc/XF86Config-4 (比較新的顯卡) 或者是 XF86Config (比較老的顯卡). 用你喜歡的文本編輯器打開, 如 kedit或gedit.

    打開后我們發(fā)現(xiàn)配置文件分成很多個(gè)Section, 我們首先要配置的就是 Section "Files" , 這個(gè)部分描述了X所要調(diào)用的文件信息.

    要加入一個(gè)字體目錄, 只需在里面插入一行 FontPath "目錄名" 就可以了, 如:

    Section "Files"
    # Multiple FontPath entries are allowed (they are concatenated together)
    # By default, Mandrake 6.0 and later now use a font server independent of
    # the X server to render fonts.
    FontPath "unix/:-1"
    FontPath "/truetype" # 插入一個(gè)字體目錄
    EndSection

    然后, 我們讓X加載xtt字體引擎:

    找到Section "Module", 像這樣修改:

    Section "Module"
    # Load "dbe" # Double-Buffering Extension
    # Load "v4l" # Video for Linux
    Load "extmod"
    Load "glx
    # Load "type1" # type1 模組是渲染type1字體的, 和xtt沖突, 必需屏蔽
    # Load "freetype" # freetype 模組是渲染Truetype字體的, 和xtt沖突, 必需屏蔽
    Load "xtt" # 加入xtt模組引擎
    EndSection

    好了, 現(xiàn)在xtt會(huì)自動(dòng)去 /truetype 里找字體.

    現(xiàn)在開始拷貝字體到 /truetype里去, 先要在根目錄建一個(gè)truetype目錄, 打

    mkdir /truetype

    就可以了.

    從windows分區(qū)拷貝要先mount, 就是作一個(gè)聯(lián)接, 將Linux目錄連到windows分區(qū). 在根目錄下建一個(gè)"c"目錄.

    mkdir /c

    然后

    mount /dev/hda1 /c

    這樣就將windows下的C盤 聯(lián)接到我們Linux下的/c目錄了, 進(jìn)入/c, 應(yīng)該可以看到你C盤的文件.

    然后, 進(jìn)入/c 中的字體文件目錄, 一般在window下面的Fonts里, 注意目錄名大小寫在Linux下面是有區(qū)別的.

    拷貝字體文件到 /truetype里, 打

    cp simsun.ttc /truetype/simsun.ttf
    cp tahoma* /truetype/

    這樣就將我們所需要的字體文件拷貝到truetype 里了.

    下一步我們要設(shè)置字體文件, Linux中X的字體設(shè)置很煩鎖, 不像windows一拷貝就完事, 初級(jí)階段嘛, 大家還是忍忍吧, 呵呵.

    1. 建立字體信息文件fonts.dir

    如下

    24
    simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
    ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-c-0-gb2312.1980-0
    ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-c-0-gb2312.1980-0
    ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-c-0-gb2312.1980-0
    tahoma.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
    ai=0.3:tahoma.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-iso8859-1
    tahomabd.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-iso8859-1
    ai=0.3:tahomabd.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-iso8859-1
    simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gbk-0
    ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-gbk-0
    ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-gbk-0
    ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-gbk-0
    simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
    ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-fcd8859-15
    ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-fcd8859-15
    ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-fcd8859-15
    simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-15
    ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-p-0-iso8859-15
    ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-p-0-iso8859-15
    ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-iso8859-15
    simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-iso10646-1
    ai=0.3:simsun.ttf -misc-SimSun-medium-i-normal--0-0-0-0-c-0-iso10646-1
    ds=y:simsun.ttf -misc-SimSun-bold-r-normal--0-0-0-0-c-0-iso10646-1
    ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-c-0-iso10646-1

    第一行的24表示下面一共有24行設(shè)置 (好像有點(diǎn)傻) , 其他的格式都差不多:

    ds=y:ai=0.3:simsun.ttf -misc-SimSun-bold-i-normal--0-0-0-0-p-0-gbk-0

    說(shuō)明:

    simsun.ttf: 字體文件名

    ds=[yn]: ds是xtt的功能, 設(shè)成"y" 表示粗體, "n" 表示正常.

    ai=Real_number: 表示傾斜度. 不設(shè)表示自動(dòng).

    misc : 表示字體的類別

    SimSun : 是字體的名稱

    bold : bold 表示粗體, 其他如medium表示正常,

    i : 表示斜體, r 是正常

    p: 可變長(zhǎng)度, c 是正方形, m是固定寬度

    gbk: 字體編碼

    這里大家發(fā)現(xiàn)我們還使用了tahoma英文字體, 這樣替換, 系統(tǒng)讀取Simsun英文字體的時(shí)候, 就會(huì)用pp的tahoma替代.

    好了, 現(xiàn)在存盤. 然后拷貝一個(gè)到fonts.scale

    cp fonts.dir fonts.scale

    然后拷貝編碼文件 encodings.dir 到目錄里來(lái).

    cp /usr/X11R6/lib/X11/fonts/encodings/encodings.dir /truetype

    好, 重起, 把KDE, mozilla, galeon 等等所有默認(rèn)字體都改成simsun, 哈哈, 是不是比從前漂亮了很多?

    大家還是把這幾個(gè)配置文件備份起來(lái), 以后安裝的時(shí)候就不用再設(shè)置了.

    這里順帶說(shuō)一下其他幾個(gè)字體引擎的配置:

    xfs : 配置文件是 /etc/X11/fs/config
    xft : 配置文件是 /etc/X11/Xftconfig

    xft 的配置相對(duì)來(lái)說(shuō)比較容易, 只要將字體拷到配置文件中dir 指定的任何一個(gè)目錄就可以了. 如果要小字體不顯示AA, 可以在末尾加入:

    match
    any size > 8
    any size < 17
    edit
    antialias = false;
    match
    any pixelsize > 8
    any pixelsize < 17
    edit
    antialias = false;

    這樣 8~17號(hào)的字體就不會(huì)用抗鋸齒功能了.
    posted on 2005-10-24 14:07 ivaneeo 閱讀(486) 評(píng)論(0)  編輯  收藏 所屬分類: GNU牛力
    主站蜘蛛池模板: 日韩电影免费在线| 亚洲av日韩av永久在线观看| 7x7x7x免费在线观看| 亚洲伊人久久大香线蕉| 亚洲国产精品成人| 毛片免费观看的视频| 伊人久久免费视频| 在线精品自拍亚洲第一区| 亚洲精品**中文毛片| 在线观看亚洲天天一三视| 日韩a级毛片免费观看| 久久福利青草精品资源站免费| 免费一级毛suv好看的国产网站 | 亚洲国产精品无码久久久久久曰| 四虎影视成人永久免费观看视频 | 国产又黄又爽又猛免费app| h视频在线免费观看| 精品在线免费视频| 亚洲色大成WWW亚洲女子| 亚洲国产精品网站久久| 国产成人亚洲综合无码精品| 亚洲欧洲日本在线| 亚洲伊人久久成综合人影院| 免费看国产一级特黄aa大片| 国产精品冒白浆免费视频| 免费无码黄网站在线观看| 午夜网站免费版在线观看| 好大好深好猛好爽视频免费| 成人男女网18免费视频| 成年女人午夜毛片免费视频| 青青青国产免费一夜七次郎| 女人与禽交视频免费看| 免费一级毛片女人图片| 久久久青草青青国产亚洲免观| 成年在线观看免费人视频草莓| 中文字幕免费在线看线人| 岛国片在线免费观看| 免费大黄网站在线观看| 亚洲精品无码专区久久久| 亚洲成人网在线观看| 久久亚洲AV成人无码国产电影|