[問題] 整理 螢火飛大哥 的中文字型 Patch 中...

歡迎提問 debian desktop 相關問題,何謂 desktop ? 舉凡您日常生活會用到的部份,如上網 ( www 、 bbs ..) 、程式設計、繪圖...等等。 通常以 X Window 環境底下問題為主。

文章Tetralet » 週五 6月 17, 2005 3:20 pm

Tetralet 寫:所以新的 libfreetype6(個人覺得)問題多多哦...

感謝 olv 兄立即做了一些修正。
而連同 螢火飛 大哥的一些字型修正,
您可以到這裡下載。

其中的 Patches 說明如下:
fontconfig-2.2.3-miss_1_percent-20041128.patch:
 允許中文字漏字 1%。(非必要)

libXft-2.1.6-CJK-extra-20041128.patch
 預設優先使用內嵌字。(非必要。可於 /etc/fonts/fonts.conf 中強迫指定)

libfreetype6-embolden-fix.patch
 修正新版 libfreetype6 裡的一些小問題。
 其中,個人修改了:
代碼: 選擇全部
     xstr = FT_MulFix( face->units_per_EM,
-                      face->size->metrics.y_scale ) / 42;
+                      face->size->metrics.y_scale ) / 30;
     ystr = xstr;

這能讓粗體的效果更明顯。

若在使用上遇到了任何問題,
請不吝回報。謝謝!

_________________
修正連結位址。最近腦袋一直是空的。真糟糕...
最後由 Tetralet 於 週六 6月 18, 2005 9:57 am 編輯,總共編輯了 1 次。
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章Tetralet » 週五 6月 17, 2005 3:46 pm

修改後的效果如下(以 文鼎 上海宋 14 字型為例):

Sarge 裡的效果:

 圖檔


加上修正後的 libfreetype6:(注意,其中的筆劃有特意加深)

 圖檔


再加上未修正,只是重新編譯後的 libxft2:(注意,其中已有粗體效果出現)

 圖檔


上了 Patch 後的 libxft2:(注意,內嵌字型自動出現了)

 圖檔

滿意度 100% 哦~~
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章DragonFly » 週六 6月 18, 2005 7:08 am

請問一下,你的那個壓縮檔內,並沒有看到和 libxtf2 有關的檔案,是不是放錯了?

另外,方便放一下 patch 檔嗎?因為我不是用 debian/相關,想要自己 patch 一份自己編譯。謝謝你
DragonFly
 

文章Tetralet » 週六 6月 18, 2005 10:08 am

DragonFly 寫:請問一下,你的那個壓縮檔內,並沒有看到和 libxtf2 有關的檔案,是不是放錯了?

真的是放錯了。抱歉...
前文已修正。

DragonFly 寫:另外,方便放一下 patch 檔嗎?因為我不是用 debian/相關,想要自己 patch 一份自己編譯。謝謝你

拿回家在我的桌上型電腦一試,
也發生了前文中 jesse.sung 兄所說的『字體缺手斷腳』問題:
(以下圖片為 Debian 官方 Sarge 的 libxft2 + Sid 的 libfreetype6)

 圖檔

這下子真不知該怎麼辨了...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章Tetralet » 週六 6月 18, 2005 12:43 pm

這是 Debian Sid 裡的 libfreetype6 再加上未修正,只是重新編譯後的 libxft2,
另一個更嚴重的範例:
(字型為 文鼎 新宋體 17 字型 粗體)

  圖檔

「p」和「轉」這兩個字都快融化不見了...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章olvaffe » 週六 6月 18, 2005 6:05 pm

我剛剛試了一下沒有問題

不過之前 kanru 好像也有這樣過, 他那時候是重開一次 X 就好了
後來不知道有沒有再出現這樣的問題?
olvaffe
可愛的小學生
可愛的小學生
 
文章: 16
註冊時間: 週一 6月 28, 2004 6:05 pm

文章wsun013 » 週六 6月 18, 2005 11:00 pm

感謝各位大大努力成果
小弟在這邊分享我的過程
因為我是 debian 混著自己compile 的 xorg cvs snapshot 用
所以我的 libXft 是抓 freedesktop.org 的 libXft-2.1.7.tar.gz
fontconfig_2.3.2.orig.tar.gz 用 debian 的
freetype2 是用 cvs 的

Tetralet大大節選出來的patch
http://home.pchome.com.tw/web/repositor ... ch.tgz.zip
小弟怕三長兩短, 所以手動加上patch
加上patch 後的 libXft 需要 FC_EMBEDDED_BITMAP
並不在壓縮檔的任何一個patch, 所以參考Tetralet大大一樓的post
加入 fontconfig-2.2.3-add_extra_option-20041127.patch 的 patch
fontconfig build/install 成功

freetype2 加入 patch 後也 build 成功

可是 libXft 還是 build 不了, 說看不到 FC_EMBEDDED_BITMAP.
怪了, 我不是install 了patch 後的 fontconfig 嗎?
偷吃步如下:
在 sh ./autogen.sh && ./configure 之後
修改 Makefile, 將
代碼: 選擇全部
DEFAULT_INCLUDES =  -I. -I$(srcdir) -I.


代碼: 選擇全部
DEFAULT_INCLUDES =  -I. -I$(srcdir) -I. -I/usr/include/fontconfig


將 xftfreetype.c 最前面, 加上
代碼: 選擇全部
#include "fontconfig.h"

如此可以build/install 成功

之後退出 xorg, 如果開個小console window, 也沒差, 只是你會強迫退出xorg, 可憐喔~
代碼: 選擇全部
cp /usr/lib/libXft.* /usr/X11R6/lib


來個 ldconfig 保保險, 之後可以回 xorg 了

小弟偏好11 的字, 所以firefox 下字大小是鎖死的
但是, 粗體可以出來 ^_^

圖檔

圖檔
------BEGIN GEEK CODE BLOCK------
Version: 3.12
GE d->++ s: a-- C+++>++++ UL>++++ P>++++ L++>++++ E---- W+ N@ o K- w++(+)
O- M- V? PS+++(+) PE++(+) Y-- PGP- t>--- 5? X+++ R- tv-(--) b+ DI? D+ G e++>++++
h+(!) r++(%) y*>++++
-------END GEEK CODE BLOCK-------
頭像
wsun013
快樂的大學生
快樂的大學生
 
文章: 784
註冊時間: 週二 9月 14, 2004 12:12 pm
來自: 紐西蘭

文章Tetralet » 週一 6月 20, 2005 9:47 am

olvaffe 寫:我剛剛試了一下沒有問題

不過之前 kanru 好像也有這樣過, 他那時候是重開一次 X 就好了
後來不知道有沒有再出現這樣的問題?

個人之前的經驗是,
X 所載入的顯示卡模組的不同,
會影響到字型的表現。
(請參考:裝了 XFree86 4.3.0 版,字型會變粗...
不知這次是否也是相同的問題?

我試過,就算是把機器重開也是一樣。
所以就只好暫時用著 螢火飛大哥 的舊 Patches 了。
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章Tetralet » 週六 11月 19, 2005 10:21 am

Tetralet 寫:這是 Debian Sid 裡的 libfreetype6 再加上未修正,只是重新編譯後的 libxft2,
另一個更嚴重的範例:
(字型為 文鼎 新宋體 17 字型 粗體)

  圖檔

「p」和「轉」這兩個字都快融化不見了...

後來發現,要修正這個問題,只要重新執行一次
代碼: 選擇全部
dpkg-reconfigure fontconfig


代碼: 選擇全部
Select Native if you mostly use Bitstream Vera (the default in Debian) or any of the Microsoft fonts.

Select Autohinter if you mostly use other TrueType fonts.

Select None if you want blurry text.

設定畫面中選【Native】即可。
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章Tetralet » 週六 11月 19, 2005 10:24 am

wsun013 寫:加上patch 後的 libXft 需要 FC_EMBEDDED_BITMAP
並不在壓縮檔的任何一個patch, 所以參考Tetralet大大一樓的post
加入 fontconfig-2.2.3-add_extra_option-20041127.patch 的 patch
fontconfig build/install 成功

呀,感謝提醒!
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章Tetralet » 週六 11月 19, 2005 10:32 am

最新進度:

您可以在 Luna's Debian Archiver 下載到這些修正程式:

libfreetype6-2.1.10-embolden-fix.patch:
代碼: 選擇全部
修正 2.1.10 版的 libfreetype6 裡的一些小問題


libfreetype6-2.1.4-smooth-usegamma-20030519.diff:
代碼: 選擇全部
加深字型的筆劃。(這個 Patch 已進入 Debian 之中,但未能啟用)


fontconfig-2.2.3-add_extra_option-20041127.patch:
代碼: 選擇全部
和 libXft 搭配,能預設優先使用內嵌字。(非必要。可於 /etc/fonts/fonts.conf 中強迫指定)


fontconfig-2.2.3-miss_1_percent-20041128.patch:
代碼: 選擇全部
允許中文字漏字 1%,否則會抓不到一些老舊的字型(非必要)


fontconfig-2.2.3-default_config.patch:
代碼: 選擇全部
讓網頁上 <b> 標記的字能顯示粗體(非必要)
預設以 文鼎上海宋 來顯示 serif 字型(非必要)
預設以 文鼎中楷 來顯示 monospace 字型(非必要)
讓 文鼎上海宋 能顯示內嵌的點陣字型(非必要)


libXft-2.1.6-CJK-extra-20041128.patch:
代碼: 選擇全部
和 FontConfig 搭配,能預設優先使用內嵌字。(非必要。可於 /etc/fonts/fonts.conf 中強迫指定)


如果您想用 apt-get 來安裝這些修正後的套件,
請將以下幾行加入您的 /etc/apt/sources.list 中:
(注:For i386/amd64 Only)
代碼: 選擇全部
deb http://debian.luna.com.tw ./
deb-src http://debian.luna.com.tw ./

然後下達:
代碼: 選擇全部
apt-get update
apt-get -t experimental install libfreetype6 fontconfig libfontconfig1 libxft2

即可。

如果這些修正程式未能在您的系統上發揮預期的效果,您可以使用以下指令將這些套件回復為 Debian 官方所提供的套件:
代碼: 選擇全部
apt-get install libfreetype6/unstable fontconfig/unstable libfontconfig1/unstable libxft2/unstable


如果在使用過程中遇到任何問題,
請不吝向我們回報。謝謝!
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章zero0w » 週六 11月 19, 2005 12:34 pm

Tetralet 寫:最新進度:

fontconfig-2.2.3-add_extra_option-20041127.patch:
代碼: 選擇全部
和 libXft 搭配,能預設優先使用內嵌字。(非必要。可於 /etc/fonts/fonts.conf 中強迫指定)


libXft-2.1.6-CJK-extra-20041128.patch:
代碼: 選擇全部
和 FontConfig 搭配,能預設優先使用內嵌字。(非必要。可於 /etc/fonts/fonts.conf 中強迫指定)


請問如何設定未經修改的 fontconfig 優先使用內嵌字型?
可否舉一個例子?
以源碼改造你的工作生活。
zero0w
懵懂的國中生
懵懂的國中生
 
文章: 189
註冊時間: 週日 2月 15, 2004 3:38 am

文章Tetralet » 週六 11月 19, 2005 2:01 pm

zero0w 寫:請問如何設定未經修改的 fontconfig 優先使用內嵌字型?
可否舉一個例子?

像這樣:
代碼: 選擇全部
<match target="font" >
        <test name="family">
                <string>AR PL ShanHeiSun Uni</string>
        </test>
        <test compare="more_eq" name="pixelsize" qual="any" >
                <double>9</double>
        </test>
        <test compare="less_eq" name="pixelsize" qual="any" >
                <double>16</double>
        </test>
        <edit name="antialias" >
                <bool>false</bool>
        </edit>
</match>
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章zero0w » 週六 11月 19, 2005 2:07 pm

明白。

但在未用 patch 的時候,請問這樣設定會否使 9-16 pixel 的 AR PL ShanHeiSun Uni 斜體字不能顯示?

我看 libXft-2.1.6-CJK-extra-20041128.patch 的評語中有提這個問題。
以源碼改造你的工作生活。
zero0w
懵懂的國中生
懵懂的國中生
 
文章: 189
註冊時間: 週日 2月 15, 2004 3:38 am

文章Tetralet » 週六 11月 19, 2005 3:03 pm

zero0w 寫:但在未用 patch 的時候,請問這樣設定會否使 9-16 pixel 的 AR PL ShanHeiSun Uni 斜體字不能顯示?

我看 libXft-2.1.6-CJK-extra-20041128.patch 的評語中有提這個問題。

不清楚耶...

後來測試了一下,
在未套用 Patch 的形情下,並沒有發生這個問題。
AR PL ShanHeiSun Uni 的點陣字還是有著斜體的變化。
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

上一頁下一頁

回到 debian desktop

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron