想问下目前流行的网页自定义中文字体的处理方案和奇思妙想 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
这是一个专门讨论 idea 的地方。

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

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
Immortal

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

  •  
  •   Immortal Jul 20, 2019 3775 views
    This topic created in 2475 days ago, the information mentioned may be changed or developed.

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

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


    关于设想:

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

    想听听大家的意见 谢谢

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

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

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

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

    另外大概还有一种就是生成 SVG,不清楚是否可以复制一个字形,可以的话只要形成一些字形然后复制就行。
    jsq2627
        15
    jsq2627  
       Jul 22, 2019 via iPhone
    http://font.stackia.me/
    n 年前自己用 c#实现了一个 ttf parser,然后做了这个 demo,效果可以参考下
    About     Help     Advertise     Blog     API     FAQ     Solana     3227 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 13:26 PVG 21:26 LAX 06:26 JFK 09:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86