V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
angusjune
V2EX  ›  JavaScript

Google Fonts 是如何做到快速引用中文字体的?

  •  
  •   angusjune · 2019-01-21 15:05:32 +08:00 · 4004 次点击
    这是一个创建于 1414 天前的主题,其中的信息可能已经有所发展或是发生改变。

    中文字体文件动则 10+ Mb,Google Fonts 是用了什么技术可以让中文字体在 web 中快速被引用的?

    11 条回复    2019-01-22 17:45:51 +08:00
    est
        1
    est  
       2019-01-21 15:06:18 +08:00
    答案是没有中文字体?

    免费的中文字体就那么几款。。。google fonts 可没闲心给你做那么多。
    takato
        2
    takato  
       2019-01-21 15:08:32 +08:00
    中文字体可以只嵌入一部分字符集。
    angusjune
        3
    angusjune  
    OP
       2019-01-21 15:09:01 +08:00
    @est https://fonts.google.com 呃,其实可以完全自己去看下有没有
    以前确实是没有的 现在多了自家的 Noto 跟 ZCOOL 的几款中文字体
    angusjune
        4
    angusjune  
    OP
       2019-01-21 15:10:49 +08:00
    @takato 对 但是那是已知网页需要什么字符的情况之下 但是 Google 是不会知道引用它的网页要用到什么字符的吧
    est
        5
    est  
       2019-01-21 15:14:25 +08:00
    @angusjune 看起来是按需动态生成了。。

    比如一篇文章就用了 100 个汉字,那么就生成包含这 100 个汉字的 font 文件。
    sharkrice
        6
    sharkrice  
       2019-01-21 15:20:33 +08:00
    @angusjune #4 你引用了 google font 的 js 啊
    sharkrice
        7
    sharkrice  
       2019-01-21 15:22:38 +08:00
    @sharkrice #6 额,没有引用 js,但是按需动态生成的
    rabbbit
        9
    rabbbit  
       2019-01-21 15:32:36 +08:00   ❤️ 1
    unicode-range 按需载入
    hxsf
        10
    hxsf  
       2019-01-21 15:35:37 +08:00
    https://fonts.googleapis.com/css?family=Noto+Sans+TC&subset=chinese-traditional

    看看内容不就知道了。。。
    分了一堆文件,每个基本 20-30 KB
    e8c47a0d
        11
    e8c47a0d  
       2019-01-22 17:45:51 +08:00
    常用的字其实也就几百个,按照使用频率拆成好几个文件即可减少一次的请求量。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1983 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 00:14 · PVG 08:14 · LAX 16:14 · JFK 19:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.