V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jsq2627
V2EX  ›  程序员

中文字库动态生成子集嵌入网页

  •  1
     
  •   jsq2627 ·
    stackia · 2015-05-16 15:32:37 +08:00 · 3890 次点击
    这是一个创建于 3487 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在研究这个,放一个 Demo

    http://font.stackia.me/ (暂不支持IE)

    目前只基本实现了 TrueType 字体的分割。OpenType/CFF(比如思源黑体) 的字体是先转换成 TrueType 再分割的。

    小心玩坏...

    14 条回复    2015-05-17 20:18:13 +08:00
    imWBB
        1
    imWBB  
       2015-05-16 15:48:06 +08:00 via iPhone
    Good
    shiny
        2
    shiny  
       2015-05-16 15:54:07 +08:00
    很有用
    d0a1ccec
        3
    d0a1ccec  
       2015-05-16 15:55:49 +08:00   ❤️ 2
    LucasW
        4
    LucasW  
       2015-05-16 16:07:35 +08:00
    @d0a1ccec
    两种东东,iconfont的那个是svg @jsq2627 的是真实字体
    字库是放在服务端?怎么实现的
    LucasW
        5
    LucasW  
       2015-05-16 16:08:43 +08:00
    原来下载了字库啊
    jsq2627
        6
    jsq2627  
    OP
       2015-05-16 16:14:18 +08:00
    @LucasW 完整字库在服务端,服务器根据客户请求的文字,生成只包含相应文字的 ttf 子集,客户端动态插入 css 来引入字体。
    ttf 的解析器和分割器是自己重造的轮子(C#),没有用现成的(大多是 node.js 和 py)

    iconfont 那个感觉应该是从完整的 svg 字体分割子集的。svg 比 ttf 解析起来容易很多。
    lizheming
        7
    lizheming  
       2015-05-16 16:14:21 +08:00
    @LucasW 道理我都懂,可是 iconfont 的 font-face 什么时候就成了 svg 了?!
    shiny
        8
    shiny  
       2015-05-16 16:17:59 +08:00
    @LucasW 显然是生成了好几种格式,svg 是其中一种,为了兼容性也包含了 ttf 等格式。缺点是只有那么几种字体,不够用。
    mytharcher
        9
    mytharcher  
       2015-05-16 16:19:13 +08:00   ❤️ 1
    banri
        10
    banri  
       2015-05-16 16:57:22 +08:00
    鹅厂的“字蛛”也有类似的功能,都是不错的东西~

    这玩意儿在网速越来越快的未来感觉很不错的说,不过最关键的还是版权问题吧 -。-
    lemonda
        11
    lemonda  
       2015-05-16 21:34:55 +08:00
    想起了金山打字通
    isnowify
        12
    isnowify  
       2015-05-17 12:49:32 +08:00 via iPhone
    @lemonda 我也是,冰灯那段
    Khlieb
        13
    Khlieb  
       2015-05-17 19:07:13 +08:00 via Android
    支持 WOFF 的分割吗?
    jsq2627
        14
    jsq2627  
    OP
       2015-05-17 20:18:13 +08:00
    @Khlieb woff 只是对 ttf/otf 的二次封装。如果还原成 ttf/otf 的话,只要是 TrueType 标准实现的,就可以分割,如果是 PostScript 标准实现的话,那就得先借助别的工具转换 TrueType 格式才行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2676 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 09:57 · PVG 17:57 · LAX 01:57 · JFK 04:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.