請教fontconfig的設定檔應該怎麼寫,才能夠讓Droid Sans綁定Droid Sans Fallback?目前看到的作法,都是改sans family的取用順序,這樣子會影響其他字型的fallback,小弟不想這樣子做。謝謝!
|
ychao | 請教fontconfig的設定檔應該怎麼寫,才能夠讓Droid Sans綁定Droid Sans Fallback?目前看到的作法,都是改sans family的取用順序,這樣子會影響其他字型的fallback,小弟不想這樣子做。謝謝!
|
好像是沒必要這麼做。選 Droid Sans Fallback 來用不就好了?反正英文字的部份應該是一樣的。
|
ychao | 請教fontconfig的設定檔應該怎麼寫,才能夠讓Droid Sans綁定Droid Sans Fallback?目前看到的作法,都是改sans family的取用順序,這樣子會影響其他字型的fallback,小弟不想這樣子做。謝謝! |
fontconfig 可以 bind / binding,不過很久以前試的時候,不是所有 applications 都吃這套。
我對 fontconfig 不熟,都是測到自己用 ok 就放著不管了 XD
LGJ | 好像是沒必要這麼做。選 Droid Sans Fallback 來用不就好了?反正英文字的部份應該是一樣的。 |
中文字型的英文部份常常是 monospace, 或是 hinting 和英文字型不同。
用英文的 Droid serif 應該會比用 Droid Sans Fallback 漂亮。
|
caleb | fontconfig 可以 bind / binding,不過很久以前試的時候,不是所有 applications 都吃這套。
我對 fontconfig 不熟,都是測到自己用 ok 就放著不管了 XD |
通常這種情形要用 strong binding。現在用 fontconfig 的應用軟體應該都支援,除非是自行在控制的。
中文字型的英文部份常常是 monospace, 或是 hinting 和英文字型不同。
用英文的 Droid serif 應該會比用 Droid Sans Fallback 漂亮。 |
Droid Sans Fallback 是調合字型,並非一般中文字型的等寬字,而由於英文字型的部份是完全取自於 Droid Sans,因此是沒差的。
|
LGJ |
好像是沒必要這麼做。選 Droid Sans Fallback 來用不就好了?反正英文字的部份應該是一樣的。 |
No... Droid Sans不含英數,所以如果指定這個字型的話,英數會以"Sans"顯示。反過來,如果選Droid San的話,漢字則會以"Sans" fallback到的字型顯示。而我不想在一般程式的選單使用Droid Sans FallBack,所以...
edited: 1
|
ychao | No... Droid Sans不含英數,所以如果指定這個字型的話,英數會以"Sans"顯示。反過來,如果選Droid San的話,漢字則會以"Sans" fallback到的字型顯示。而我不想在一般程式的選單使用Droid Sans FallBack,所以... |
不太懂你的意思。Droid Sans 當然含英數 glyph,選他的話就是用他的 Sans 字體來顯示。他是 Sans 的字型,fallback 到漢字,就視你的漢字字型設定的優先性來取用,這時不一定是 Sans 的漢字字型。
一般程式的選單使用 Droid Sans FallBack,其中的英數字的部份和選用 Droid Sans 是一樣的。
能再清楚說明你的用意嗎?舉個實際例子,不然恐怕又會會錯意。
|
LGJ | 一般程式的選單使用 Droid Sans FallBack,其中的英數字的部份和選用 Droid Sans 是一樣的。 |
抱歉,實際去試了一下,兩種英數字的表現的確是不同,不是品質的問題,而是字間距的設定不同。
<alias binding="strong">
<family>Droid Sans</family>
<prefer>
<family>Droid Sans</family>
<family>Droid Sans Fallback</family>
</prefer>
</alias>
請擺在 ~/.fonts.conf 的最開頭。這樣不會影響你原先的 sans-serif 設定,但選 Droid Sans 的時候,英數字會用 Droid Sans 的,漢字會 fallback 到 Droid Sans Fallback。如果你沒有 ~/.fonts.conf 這個檔,請自行建立,在上面的設定內容前後加上:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
這裡是上面的 alias 設定。
</fontconfig>
edited: 1
|
太感謝了!這就是小弟想要的。
Ubuntu下面雖然有LCD filter+hint slight,RGB sub-pixel rendering黑體滲色比較輕微,但是也比較朦朧。所以小弟還是比較習慣用內嵌點陣字型,也就不希望預設的San順序更動。有了這個設定,小弟要用Droid Sans的時候,英數跟漢字就能維持一致的風格。
|
這套字型有聽到不少人說要改成我們這邊的寫法,但不知道情形如何?知道的人希望能出聲一下,以免重複做工。
由於有人問到這個字型的更改問題,我大概說明一下 DroidSansFallback.ttf 這個字型。
- 這個字型目前只有 BMP 的字,也就是說不含 CJK Ext B 的那些字。但字型規格是使用 UCS4,所以,應該是有準備再擴充的企圖。
- 想修改的人,可以先玩一下這一篇,看是不是有興趣:
http://blog.bs2.to/post/EdwardLee/1862
以免玩到一半沒力了。基本上要修改的話還要拉一拉向量線,甚至無中生有,所以難度比上面那篇還高。
- 基本上,這套字型就是用一堆統一字根(部件),利用位置參考的方式組合成各個單字的,所以,只要修改那堆少數的字根部件,那麼原來的字就會自動變成我們這邊的寫法(原則上是如此,但有時需要細部調整)。
- DroidSansFallback.ttf 的字根部件放在 1116186-1128130(絕對位置, 十進位)。FontForge 中 Shift + Ctrl + > 然後直接輸入數字就會直接 到達該處。這個範圍在 UCS4 以外,所以,不會影響後來的加字。
- 要玩的話,請先在 CJK Ext B 的範圍先加進一個新字,以免存檔時被誤認為 BMP 字型,而將字根部件的位置弄亂。
你可能會需要一點美勞的興趣及耐心、眼力。
edited: 1
|
感謝 LGJ
|
感謝LGJ。
如果有時間可以解釋一下以下两點嗎?
1. binding=strong有跟没有的區別。
2. 用match/edit和alias/prefer的區別。現在我的.fonts.conf里面有類似:
<alias>
<family>serif</family>
<prefer>
<family>Droid Serif</family>
<family>標楷體</family>...
也到達了fallback的效果。
|
qfluid | 感謝LGJ。
如果有時間可以解釋一下以下两點嗎?
1. binding=strong有跟没有的區別。 |
strong 是強制綁住,不參考 lang tags。
2. 用match/edit和alias/prefer的區別。現在我的.fonts.conf里面有類似:
<alias>
<family>serif</family>
<prefer>
<family>Droid Serif</family>
<family>標楷體</family>...
也到達了fallback的效果。 |
沒有認真研究,要去翻他的使用手冊。match/edit 好像是兩段式的分析,alias.prefer 是一段式的?
|