作者PTTCEO (批踢踢首席执行长)
看板Web_Design
标题[问题] 请问unicode range和font face
时间Sun Dec 7 14:35:51 2014
因为网站有支援多国语系 所以可能会显示不同的语言
例如基本是 英文 另外可以切换为 繁体中文 简体中文 日文
查了一下可以透过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 的给微软正黑体
但切换到简中的时候字会一上一下的..
请问我应该如何设定范围可以正确的套用三种字形分别给
英文 日文 中文(包括繁简,还是说这两种语言也应该区分字形?)
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.194.238.68
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Web_Design/M.1417934154.A.29A.html
1F:推 LPH66: 1. 对, 半形字母数字的范围就是旧 ASCII 范围 U+00-7F 12/07 14:54
了解 谢谢L大
2F:→ LPH66: 2.那块范围是所有的相对常用中文字(汉字)的范围 12/07 14:55
3F:→ LPH66: 所以会有问题大概是字形缺字 12/07 14:55
4F:→ LPH66: 由於包含日文汉字的关系所以碰到日文中间有汉字也会使用 12/07 14:56
5F:→ LPH66: 汉字字形, 所以建议是假名跟汉字设一样的字形 12/07 14:56
请问L大 意思是说我给了U+3040-30FF使用MS PGothic
如果日文中遇到汉字 会因为 4E00-9FFF 的给微软正黑体 而使用正黑体
因而导致看起来怪怪的?
但是目前问题是出在 我css是整个设定 然後网页若是切到简中会全是简体中文
到此时简体中文却出现字一上一下的情况@@ 我以为它应该是全套用到微软正黑体?
6F:→ LPH66: 如果要设不一样的话也要实际测一下会不会看起来很怪 12/07 14:57
7F:→ LPH66: (说相对常用的意思是已经包含了绝大多数常用中文字了 12/07 14:58
8F:→ LPH66: 只有很少很少在用的那种字才不在这个范围里) 12/07 14:59
9F:→ miau: 用 html:lang(语系,像en) {...} 分开各种语系再各别指定 12/07 19:44
多谢M大 我再研究看看这个方法
因为网站是用GWT刻的 不确定可不可行
※ 编辑: PTTCEO (123.194.238.68), 12/07/2014 23:33:41