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

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

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

文章Tetralet » 週四 5月 12, 2005 3:55 pm

在 Linux 裡,字型的相關 Library,
像是 fontconfig、libxft2、libfreetype6 等等,
版本都不停得在更新;
但是螢火飛大哥的中文 Patch 版本卻未能同步更新上來。

最近花了點時間來嘗試把這些 Patch 套用在新版的 fontconfig、libxft2、libfreetype6 上,
遇到了一些些小問題,
整理如下:
代碼: 選擇全部
fontconfig-2.2.3-add_extra_option-20041127.patch

裡面的 FC_HINT_STYLE 部份的 Patch 已經進入 fontconfig 2.3.2 了。

另外還有 FC_EMBEDDED_BITMAP(要不要使用內嵌的點陣字體),
這個對於使用新宋體的人應該是蠻重要的吧?
但它並未被 upstream 接受。

而剩下的是 FC_USE_GAMMA(讓使用者決定要不要使用 gamma 調整字型深度),
請問這個我們會有需要用到嗎?

代碼: 選擇全部
fontconfig-2.2.3-alllang-20041114.patch

這是用來找出中文字型裡的所有字集。
這個也尚未被 upstream 接受。

代碼: 選擇全部
fontconfig-2.2.3-default_config-20041114.patch

這個最令人頭大了,
因為在 fontconfig 2.3.x 裡所有的設定方式都有所變動了,
所以這個 Patch 必須重新寫過。

就是這個最令人傷腦筋。

代碼: 選擇全部
fontconfig-2.2.3-fakestyle-20041117.patch

模擬粗體。尚未被 upstream 接受。

代碼: 選擇全部
fontconfig-2.2.3-include_CJK_charmaps-20041114.patch

它所 Patch 的 src/big5-enc.h 這個檔案在 fontconfig 2.3.x 裡是不存在的,
(是 fc-lang/zh_tw.orth 這個檔案嗎?)
我們可以直接忽略這個 Patch 嗎?

代碼: 選擇全部
fontconfig-2.2.3-miss_1_percent-20041128.patch

允許字型漏字 1%。
我覺得這個 Patch 蠻重要的,
因為在 fontconfig 2.3.x 又找不到 王漢宗中仿宋繁 了...

代碼: 選擇全部
fontconfig-2.2.3-multifamily-20041117.patch

這個 Patch 也是怪怪的。
在 fontconfig 2.3.x 裡,
用 fc-list 是可以看到以 Unicode 編碼的中文字形名稱的,
所以我猜在 fontconfig 2.3.x 已經加入了這個 Patch;
但是在 src/fcfreetype.c 裡卻幾乎看不到這個 Patch 的影子。
這是怎麼一回事呢?

代碼: 選擇全部
freetype-1.4-gcc33.patch
freetype-2.1.6-enable_bytecode.patch
freetype-2.1.7-autohint-cjkfonts-20031121.patch

這幾個 libfreetype6 的 Patch 尚未被 upstream 接受,
但它們已經進入 Debian 官方的 libfreetype6 中,
所以我們可以不用理它。

不過還有
代碼: 選擇全部
freetype-2.1.4-smooth-usegamma-20030519.patch

這個 libfreetype6 的舊 Patch,
它會加深字型的筆劃。
個人認為有人會需要這個 Patch,
因為在 fontconfig 2.3.x 裡,
有些字形,像是新宋體,顏色的確太淡了點。


代碼: 選擇全部
libXft-2.1.6-CJK-extra-20041128.patch
libXft-2.1.6-redefine-include_path-20041124.patch

這兩個 Patch 似乎是拿來和 fontconfig 來搭配使用的,
所以全部都不可省略。


以下是個人對於 螢火飛大哥 的中文字型 Patch 的粗略了解,
請問是否有什麼需要修改或是補充的地方呢?
請您不吝指教。謝謝!


另,個人已初步試著把這些 Patch 套用上去了,
在使用上似乎是沒有問題的哦~
所以我想這並不是不可能的任務。
最後由 Tetralet 於 週四 5月 12, 2005 4:05 pm 編輯,總共編輯了 1 次。
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

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

文章kanru » 週四 5月 12, 2005 4:03 pm

這個問題似乎直接去問 firefly 比較容易有快且正確的回應?
他最近應該有新的計畫吧,適用於新版本的 fontconfig :-)
圖檔
頭像
kanru
榮譽學長
榮譽學長
 
文章: 578
註冊時間: 週六 7月 12, 2003 12:09 pm

文章Tetralet » 週四 5月 12, 2005 4:16 pm

我有看到:

  有没有人针对OOo2做中文支持的补丁阿?

所以痴痴得等了一個多月...

後來還是覺得自己先上 Patch 好了,
因為有好多應用軟體若不搭配 fontconfig 2.3.2 根本不給用,
但是昇級到 fontconfig 2.3.2 後,
粗體沒有了,連 王漢宗中仿宋繁 也抓不到了...
所以真的等不太下去了...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

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

文章螢火飛 » 週四 5月 12, 2005 6:00 pm

唔!?很抱歉 :-P

小弟最近的重心放在 OOo 2.0 ,將來推出後,保證讓大家耳目一新,絕不輸給 M$ Office。

至於 FontConfig、LibXft2 就請大家多包涵,現在實在沒有多餘的時間弄,小弟要上班養家餬口,只能利用晚上以及假日。

還有,那些 freetype 的 patches 就別理他了,現在已經不需要再 patch freetype 了。

小弟的 MSN : chiaming@firefly.idv.tw

有事 Call 我,沒事別煩我 ;-)
螢火飛
榮譽學長
榮譽學長
 
文章: 40
註冊時間: 週五 5月 30, 2003 8:31 pm
來自: 桃園中壢

文章Tetralet » 週四 5月 12, 2005 11:19 pm

螢火飛 寫:小弟最近的重心放在 OOo 2.0 ,將來推出後,保證讓大家耳目一新,絕不輸給 M$ Office。

喔喔!太、太期待了!

雖然沒什麼在用 OOo,
但我有在認真推廣哦!
請參考:

 [碎碎唸] 我的 OpenOffice.org 推廣之旅

真心期盼 OOo 取代 MS Office 那一天的到來...

螢火飛 寫:至於 FontConfig、LibXft2 就請大家多包涵,現在實在沒有多餘的時間弄,小弟要上班養家餬口,只能利用晚上以及假日。

對不起,我並不是有意在催促您,
我只是希望能夠利用舊有的 Patch 先弄出一個堪用的環境,
至於要讓他們盡善盡美則是遠遠超過我能力之外了...

不過目前為止個人的進度還蠻順利的,
至少內嵌字型和粗體字都出現了...

螢火飛 寫:還有,那些 freetype 的 patches 就別理他了,現在已經不需要再 patch freetype 了。

Debian 官方的 libfreetype6 都還在打這些 Patches 說...
看來得試試看再做 reportbug 了。

螢火飛 寫:小弟的 MSN : (消音)

有事 Call 我,沒事別煩我 ;-)

個人認為這些資訊能不公開似乎會比較恰當耶...
在網路上畢竟還是小心點好...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

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

文章Tetralet » 週五 5月 13, 2005 9:25 am

螢火飛 寫:小弟最近的重心放在 OOo 2.0 ,將來推出後,保證讓大家耳目一新,絕不輸給 M$ Office。

(舉手)

建議 螢火飛大哥 能夠儘早釋出 Beta 版,
讓有興趣的人可以加入測試的行列。

另,螢火飛大哥 是 OpenOffice.org 的開發者之一嗎?
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

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

文章Tetralet » 週五 5月 13, 2005 11:46 pm

最新進度如下:

代碼: 選擇全部
fontconfig-2.2.3-add_extra_option-20041127.patch

我們僅需 FC_EMBEDDED_BITMAP(要不要使用內嵌的點陣字體)這個 Patch 即可。
它對於使用新宋體的人是蠻方便的。

代碼: 選擇全部
fontconfig-2.2.3-alllang-20041114.patch

也許不需要。

代碼: 選擇全部
fontconfig-2.2.3-default_config-20041114.patch

也許不需要。

代碼: 選擇全部
fontconfig-2.2.3-fakestyle-20041117.patch

模擬粗體。極重要。

代碼: 選擇全部
fontconfig-2.2.3-include_CJK_charmaps-20041114.patch

也許不需要。

代碼: 選擇全部
fontconfig-2.2.3-miss_1_percent-20041128.patch

允許字型漏字 1%。
我覺得這個 Patch 蠻重要的,
因為在 fontconfig 2.3.x 又找不到 王漢宗中仿宋繁 了...

代碼: 選擇全部
fontconfig-2.2.3-multifamily-20041117.patch

不需要。
在 Fontconfig 裡另有其實作的方法。

代碼: 選擇全部
freetype-2.1.6-enable_bytecode.patch

繞過 Apple 的專利並啟用 bytecode。也許有用吧...
(已包含於 Debian 官方的 libfreetype6 中)

代碼: 選擇全部
freetype-2.1.7-autohint-cjkfonts-20031121.patch

螢火飛大哥說它已經沒有用處了,
但是我發現把它拿掉的話,
字的筆畫會怪怪的。(缺手斷腳似的)
留著吧...
(已包含於 Debian 官方的 libfreetype6 中)

代碼: 選擇全部
freetype-2.1.4-smooth-usegamma-20030519.patch

這個舊 Patch 會加深字型的筆劃。
個人認為有人會需要這個 Patch,
因為在 fontconfig 2.3.x 裡,
有些字形,像是新宋體,顏色的確太淡了點。
(己包含於 Debian 官方的 libfreetype6 中,但未啟用。)

代碼: 選擇全部
libXft-2.1.6-CJK-extra-20041128.patch
libXft-2.1.6-redefine-include_path-20041124.patch


這兩個 Patch 似乎是拿來和 fontconfig 來搭配使用的,
所以全部都不可省略。
但其中部份程式碼,像是 FC_USE_GAMMA 部份則必須要拿掉。


您可以到 這裡 下載最新的 Patch 檔。
雖然這些 Patch 檔有經過了一些小小測試,
個人認為基本上是沒有問題的;
但是若您真的忍不住想要試用看看,
請您自行承擔風險
個人並不提供任何的保証。

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

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

文章螢火飛 » 週六 5月 14, 2005 2:32 pm

Tetralet 寫:
螢火飛 寫:小弟最近的重心放在 OOo 2.0 ,將來推出後,保證讓大家耳目一新,絕不輸給 M$ Office。

(舉手)

建議 螢火飛大哥 能夠儘早釋出 Beta 版,
讓有興趣的人可以加入測試的行列。

另,螢火飛大哥 是 OpenOffice.org 的開發者之一嗎?

不是。
但我的修改足以讓 OOo 2.0 的中文支援改頭換面。
螢火飛
榮譽學長
榮譽學長
 
文章: 40
註冊時間: 週五 5月 30, 2003 8:31 pm
來自: 桃園中壢

文章Tetralet » 週日 5月 15, 2005 1:05 am

螢火飛 寫:
Tetralet 寫:螢火飛大哥 是 OpenOffice.org 的開發者之一嗎?

不是。
但我的修改足以讓 OOo 2.0 的中文支援改頭換面。

喔喔~大期待!

不知有沒有人有辨法推薦螢火飛大哥成為 OpenOffice.org 的開發者呢?
或者是有辨法能讓 OpenOffice.org 接受這些 Patches 的也行。

之前個人的經驗是,
要和這些大專案的開發者溝通真的有如拔牙般痛苦,
進行 ReportBug、把意見貼在 Mailing List、甚至找人連署、直接找開發者...
結果都是一樣,
根本是理都不想理你...

只是剛才又花了近一個小時來下載 Firefox 並打上 OverTheSpot 的 Patch 還要把它編譯成 deb 檔案,
心裡覺得煩死了,
不禁想上來抱怨一下...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

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

文章訪客 » 週一 5月 16, 2005 10:42 am

> 之前個人的經驗是,
> 要和這些大專案的開發者溝通真的有如拔牙般痛苦,
> 進行 ReportBug、把意見貼在 Mailing List、甚至找人連署、直接找開發者...
> 結果都是一樣,根本是理都不想理你...

定期找不同的人去用 E-mail 轟炸吧。那時候想有些政府單位的預算與其辦一些有的沒的消化預算的活動,不如把這些銀彈砸向 mozilla/OO 等 foundation,並強烈建議他們趕快 accept 中文化的 patch。 反正政府一向都是金錢外交,與其進那些邦交國官員的口袋,不如花個 0.1% 的預算給 free software 組織。
訪客
 

文章jesse.sung » 週三 6月 15, 2005 11:55 pm

Tetralet 寫:freetype-2.1.7-autohint-cjkfonts-20031121.patch
螢火飛大哥說它已經沒有用處了,
但是我發現把它拿掉的話,
字的筆畫會怪怪的。(缺手斷腳似的)

今天裝上 libfreetype6 2.1.10-1 後,發現字長得就像 Tetralet 說的缺手斷腳似的...
圖檔
downgrade 回 2.1.7-2.4 會恢復原來 ok 的狀態...
圖檔
在 Changelog 中看到這個:
代碼: 選擇全部
Disable CJK autohinting patch due to incompatability with this version of freetype.

apt-get source libfreetype6 回來一看, 果然...
代碼: 選擇全部
# Disabled by Will Newton.
# This patch does not apply to recent (> 2.1.7) versions of FreeType.
#patch -p1 -d $(freetype_u) \
#       -i $(patchdir)/012-freetype-2.1.7-autohint-cjkfonts-20031130.diff

被拿掉了... 苦... :-(
最後由 jesse.sung 於 週四 6月 16, 2005 12:46 am 編輯,總共編輯了 1 次。
BR,
Wen-chien Jesse Sung
頭像
jesse.sung
程式開發組
程式開發組
 
文章: 654
註冊時間: 週三 9月 04, 2002 9:43 am

文章kanru » 週四 6月 16, 2005 12:06 am

freetype 2.1.10 中的 hinting 部份已經預設使用 autofit
所以這個 autohint 的 patch 加了也沒用,且因版本差異,不能直接把這個
patch 套到 2.1.10 上
圖檔
頭像
kanru
榮譽學長
榮譽學長
 
文章: 578
註冊時間: 週六 7月 12, 2003 12:09 pm

文章Tetralet » 週四 6月 16, 2005 1:52 pm

jesse.sung 寫:
Tetralet 寫:freetype-2.1.7-autohint-cjkfonts-20031121.patch
螢火飛大哥說它已經沒有用處了,
但是我發現把它拿掉的話,
字的筆畫會怪怪的。(缺手斷腳似的)

今天裝上 libfreetype6 2.1.10-1 後,發現字長得就像 Tetralet 說的缺手斷腳似的...

其實問題好像真還不少。

下圖是套用螢火飛大哥的 Patch 的 libfreetype6 + fontconfig + libxft2:

  圖檔

下圖是新的 Debian 官方 libfreetype6 +(自行編譯的)libxft2:

  圖檔

可以看到,新的 Patch 有點太粗了點。
但是字的顏色又淡了點。
而『kanru』這幾個字卻又沒了粗體效果...


下圖是新的(加深筆劃)libfreetype6 +(自行編譯的)libxft2:
  圖檔

可以看到,在加深了字的顏色後,
粗體就變得太黑了。


這是另外一個例子。套用螢火飛大哥的 Patch 的 libfreetype6 + fontconfig + libxft2:

  圖檔


下圖是新的(加深筆劃)libfreetype6 +(自行編譯的)libxft2:

  圖檔
不但粗體效果不見了,左邊項目裡,字的高度也起了變化。


下圖是另一個問題,IceWM + 新的 Debian 官方 libfreetype6 +(自行編譯的)libxft2:

  圖檔

字竟然往上飄了!感覺好有趣...


所以新的 libfreetype6(個人覺得)問題多多哦...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

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

文章kanru » 週四 6月 16, 2005 9:11 pm

不知道 Tetralet 兄所指的新 patch 是什麼呢?
如果是指我之前包的那個 libfreetype6 的話,那時候是從 cvs 抓下來包的
裡面的 patch 是由 olv 提供且 commit 到 cvs tree 中
我最早的那個版本的確有點太粗,跟 olv 說過以後,在現在的版本(2.1.10) 中
已經有修正過,所以會比較瘦一些
字的高度會改變我倒是沒碰過,不過的確是有一些已知的問題:

1. 在 mozilla/firefox 中,若是用 <em> tag 來標示的句子,英文會用粗體
但是中文卻不會用粗體,不知道為什麼,可能是 firefox 認定上的問題

2. 有些字型可能有了錯誤的 hinting 資訊,目前已知在 CJKUniFont 中,以及一些英文字型,碰到此錯誤的字型時,某些字非但沒有加粗,還會變細、變淺,這是字型 hinting 方向錯誤的關係
圖檔
頭像
kanru
榮譽學長
榮譽學長
 
文章: 578
註冊時間: 週六 7月 12, 2003 12:09 pm

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

kanru 寫:1. 在 mozilla/firefox 中,若是用 <em> tag 來標示的句子,英文會用粗體
但是中文卻不會用粗體,不知道為什麼,可能是 firefox 認定上的問題

據 olv 兄表示,
只要把 /etc/fonts/fonts.conf 中做以下修正:
代碼: 選擇全部
<test target="pattern" name="weight" compare="more_eq">
-    <int>200</int>
+    <int>180</int>
</test>

就可以了。
個人試過,似乎是這樣子沒錯...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

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

下一頁

回到 debian desktop

誰在線上

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