为什么网页上不能用这个特定的中文字体?

设计图评审会那天傍晚的晚霞很美。

我之所以记这么清楚是因为当时一抹霞光正好从窗户钻进来打在我的脸上,后来设计师小北说:你当时“满面红光”,也不知道是不是因为生气。

我也不记得自己是不是生气了,只记得那天下午看小北设计图的第一眼我就提出反对意见,然后我们就争执起来,陷入了僵局。她的设计图是这样的:

美食卡片设计图

我说,这里的文字是动态的,你不能用特殊字体,只能用系统默认的那些字体。她说什么动态不动态,难不成这里的字还会跑起来?再说那些个默认字体哪有我这个翩翩体典雅轻盈。我说小北,跟你说话真费劲,今天中午你请我吃个卤煮我把这事儿给你讲明白。

公司附近的北新桥卤煮老店是我比较喜欢去的一个馆子。我和小北过去挑了个角落的位置坐下,我要了一份大肠卤煮加一瓶北冰洋,小北嘟囔着说真是比五十块钱做一个logo的客户还狠。

我跟小北说,其实在这里也可以用你这个什么翩翩体,你想用什么字体都可以。那你为啥还和我吵?还不让我用?小北有点生气地问道。

我夹起一块大肠,嚼烂后就着一口北冰洋咽下,说:你要知道啊,咱们中国上下五千年文明历朝历代累积下来的汉字几万个,常用字也得几千,不像英文字体就那么26个字母,所以一套中文字体少说都得有个几兆大小,有些甚至几十兆。

中英文字体大小比较

如果网页上用你这个字体,就需要用户加载这一整套字体。你知道一般打开一个网页也就几百KB,却要加载几十兆的字体文件,那得等多长时间啊。如果用户在移动网络下浏览咱们网站,随便点几下这个月流量就耗光了,这对用户来说简直是灾难。

小北说我只需要加载这几个字啊?干嘛要加载一整套字体?其他的字我又不用。我说小北啊这些内容是动态的啊!小北说我没做动效啊,不用让这些字动起来啊。

我放慢了速度对小北说,小北啊,我说的动态不是让它动起来啊,你看啊,这里的文字是美食卡片的标题对吧?这个美食卡片都是用户发布的,每个用户发的都不一样,你不能预测它的内容,所以它是动态的内容。为了保证任意内容都能显示正确的字体,我们就得把一整套字体加载进来。

不过呢,你说的只提取其中一部分字体的方案也有人做过,叫做字体子集化方案,不过它适合静态内容,比如咱们专题上的宣传文案。我们可以提取出那些文案中的字,作为一套新字体引用,那样就会小很多。但是呢,这个提取的过程比较麻烦,而且单独引进后日积月累越来越多,也不太好维护,还不如一张图片来得痛快。还有个问题就是,字体子集化需要该字体授权使用合同中允许才行,否则涉及到版权问题也不太好解决。

百度的字体子集化方案

那使用系统默认字体怎么能保证在不同的设备上表现一致呢?因为我看有些网站在windows和mac上一个是宋体一个是黑体。小北语气缓和了一点。

一般呢,我们在引用字体时会写上一连串字体,网页在渲染时就会按顺序寻找系统上是否有这个字体,有的话就使用这个字体渲染,没有的话就往后面找。

一般字体定义方式

你看这里“font-family”就代表字体,这样写的话在mac上就会使用苹方字体,在windows上找不到前面两个字体就使用第三个字体微软雅黑来渲染。所以把字体的顺序写好,尽量让它们用相似的字体来渲染就可以啦。一般中文字体里面包含了英文字体(26个字母),如果你对英文字体有特殊要求,可以在最前面写上,这样英文字体就会单独被渲染而不会被中文字体里的英文字体所覆盖。

说完这些,卤煮也吃完了,我们就起身回去。经过7-11便利店时,我问小北:字体这玩意儿整明白了吧?今天是不是感觉收获颇丰啊?小北说是啊,我得消化消化。

我还想喝瓶三得利,我望着小北说。

参考文章:
中文字体网页开发指南 / 阮一峰
网页字体渲染过程 / 麦时

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,568评论 25 707
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,613评论 4 59
  • 曾几何时,春晚成了春节的核心期盼。若是撇开春晚,我们还剩下什么?是时代进步的让我们只留下了回忆,还是那些年我们确实...
    马乙铭阅读 113评论 0 0
  • 2017年1月19日 星期四 【早起】5:10 【读经】通读《易经》20-40卦,21分钟 【锻炼】抡胳膊100下...
    易道大明阅读 284评论 0 0
  • 摘要 通过对plist文件的操作对iOS开发中一些数据进行持久化保存。 iOS数据持久化之一——plist文件 i...
    像羽毛那样轻阅读 889评论 0 3