[問題] 請問unicode range和font face

作者: PTTCEO (批踢踢首席執行長)   2014-12-07 14:35:51
因為網站有支援多國語系 所以可能會顯示不同的語言
例如基本是 英文 另外可以切換為 繁體中文 簡體中文 日文
查了一下可以透過font-face來統一設定各個css的字形
在透過unicode-range來為不同語言定義使用不同的font
/* Latin characters 專用 */
@font-face {
font-family: MyCustomFont; /* 同樣的 font-family */
unicode-range: U+00-024F; /* Latin, Latin1 Sup., Ext-A, Ext-B */
src: local(Helvetica), /* OS X preferred */
local(Arial); /* Other OS */
}
/* 日文假名專用 */
@font-face {
font-family: MyCustomFont; /* 同樣的 font-family */
unicode-range: U+3040-30FF; /* Hiragana, Katakana */
src: local(Hiragino Kaku Gothic Pro), /* OS X */
local(MS PGothic); /* Windows Vista+ */
}
但問題出在
1. 請問 U+00-024F 就是涵蓋了ABCD...Z, abcd...z 嗎?
2. 日文好像跟繁中簡中有重疊範圍?
有嘗試加了一組 4E00-9FFF 的給微軟正黑體
但切換到簡中的時候字會一上一下的..
請問我應該如何設定範圍可以正確的套用三種字形分別給
英文 日文 中文(包括繁簡,還是說這兩種語言也應該區分字形?)
感謝
作者: LPH66 (-6.2598534e+18f)   2014-12-07 14:54:00
1. 對, 半形字母數字的範圍就是舊 ASCII 範圍 U+00-7F2.那塊範圍是所有的相對常用中文字(漢字)的範圍所以會有問題大概是字形缺字由於包含日文漢字的關係所以碰到日文中間有漢字也會使用漢字字形, 所以建議是假名跟漢字設一樣的字形如果要設不一樣的話也要實際測一下會不會看起來很怪(說相對常用的意思是已經包含了絕大多數常用中文字了只有很少很少在用的那種字才不在這個範圍裡)
作者: miau (米奧)   2014-12-07 19:44:00
用 html:lang(語系,像en) {...} 分開各種語系再各別指定

Links booklink

Contact Us: admin [ a t ] ucptt.com