V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
Immortal
V2EX  ›  奇思妙想

想问下目前流行的网页自定义中文字体的处理方案和奇思妙想

  •  
  •   Immortal · 2019-07-20 21:25:56 +08:00 · 3228 次点击
    这是一个创建于 1946 天前的主题,其中的信息可能已经有所发展或是发生改变。

    介于自定义中文字体在网页中字体文件过大的问题,现在有什么好的解决方案么?

    主要是针对于动态内容,不是静态,静态我查询下来有字蜘和 fontmin 的方案了


    关于设想:

    比如服务端把文字内容根据需要的字体转成图片?或者其他脑洞大开的方案

    想听听大家的意见 谢谢

    15 条回复    2019-07-22 01:41:36 +08:00
    redbuck
        1
    redbuck  
       2019-07-20 21:30:21 +08:00 via iPhone
    字蛛有 node 包吧,改造成接口?

    比转图片靠谱点,没加载到也就是字体效果不对,不至于不显示
    Immortal
        2
    Immortal  
    OP
       2019-07-20 21:33:54 +08:00
    @redbuck 粗略看了下 好像是用来删减字体包无用字体的 整体效果上不知道如何 主要是速度
    2DaYe
        3
    2DaYe  
       2019-07-20 21:38:48 +08:00 via iPhone
    字体转图片的话分辨率是问题
    根据网站定位做字库删减呢?只保留常用字
    redbuck
        5
    redbuck  
       2019-07-20 22:01:29 +08:00 via iPhone
    @Immortal
    是的,就是在一个字体包里按需打包用到的字体,然后浏览器端用 webfont 实现,这样比较安全,即便字体包没有加载到,或者加载慢,文字也是可见的。
    你用图片,没加载到,就是空白的,(当然你可以设置 alt,不过那效果你问产品能不能接受了),再一个不同设备你还得准备 2x,3x。而且同样也是需要时间去转换。

    这种有特殊字体需求的一般都是 h5 游戏之类的,用户对于加载是有预期的吧
    redbuck
        6
    redbuck  
       2019-07-20 22:01:55 +08:00 via iPhone
    @2DaYe 这就是字蛛
    Immortal
        7
    Immortal  
    OP
       2019-07-20 22:02:39 +08:00
    @2DaYe 就是我说的上面两个项目做的事情 会帮忙剔除不需要的字库
    Immortal
        8
    Immortal  
    OP
       2019-07-20 22:03:46 +08:00
    @redbuck 嗯 主要是如果是动态内容 每个页面都需要打包一份 然后再从服务端加载
    redbuck
        9
    redbuck  
       2019-07-20 22:28:26 +08:00
    @Immortal
    弄一个接口,类似 oss 那样
    /getfont/font.ttf?str=中文
    然后返回对应的字体文件这种
    redbuck
        10
    redbuck  
       2019-07-21 00:18:50 +08:00
    有点兴趣,整了整

    github.com/xty1992a/font-server.git
    no1xsyzy
        11
    no1xsyzy  
       2019-07-21 14:21:54 +08:00
    @Immortal #8 不一定每个页面打包一份,可以把常用字的打一个,然后每个页面在此基础上新增。
    Immortal
        12
    Immortal  
    OP
       2019-07-21 17:03:15 +08:00
    @redbuck 3q 我看下 谢谢大佬
    Immortal
        13
    Immortal  
    OP
       2019-07-21 17:03:48 +08:00
    @no1xsyzy 如果不是特长篇 其实我觉得这么操作和整个文章处理下 速度上没多大区别 当然也只是我自己猜测
    no1xsyzy
        14
    no1xsyzy  
       2019-07-21 22:42:26 +08:00
    @Immortal 可以利用上缓存啊。
    另一方面,甚至可以通过 “专业词库” 这种东西再做一次分层。
    甚至通过一定的筛法,最后每篇文章可以调用 3-5 个字体来解决。

    另外大概还有一种就是生成 SVG,不清楚是否可以复制一个字形,可以的话只要形成一些字形然后复制就行。
    jsq2627
        15
    jsq2627  
       2019-07-22 01:41:36 +08:00 via iPhone
    http://font.stackia.me/
    n 年前自己用 c#实现了一个 ttf parser,然后做了这个 demo,效果可以参考下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   979 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:36 · PVG 06:36 · LAX 14:36 · JFK 17:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.