gpt4 book ai didi

fonts - 通过删除字形来缩小.OTF字体的大小

转载 作者:行者123 更新时间:2023-12-03 10:56:28 24 4
gpt4 key购买 nike

我不能完全相信没有专门针对OpenType字体询问此问题,但是有人知道从这些字体中删除字形的方法吗?

我有一个.OTF,它的文件大小非常大(将近10MB),我需要使其更小。原因有两个。

1)我正在尝试为网络嵌入做准备,因此文件越小,客户端越容易。

2)Font Squirrel(用于轻松准备字体文件)的上传限制为2MB-我知道还有其他选择,但到目前为止没有成功。为了节省人们的时间,我尝试了失败的尝试是http://fontface.codeandmore.com/http://www.font2web.com/。 CodeAndMore.com似乎可以工作,但是它弹出的字体与我给它的字体完全不同。

请注意,我不是字体专家,所以请轻松回答。

最佳答案

我已经用fontforge library编写了Python2脚本,它可以执行以下操作:

  • 接受源字体
  • 接受包含所有要使用的字符的文件。它可以是翻译文件,字符串 Assets 文件,HTML文件等。
  • 输出一种字体,其中包含未删除文件中未显示的字符

  • 这是代码:
    #!/usr/bin/python2
    import sys
    import fontforge

    if len(sys.argv) == 4:
    font = fontforge.open(sys.argv[1])

    with open(sys.argv[2], "r") as f:
    for i in f.read().decode("UTF-8"):
    font.selection[ord(i)] = True

    font.selection.invert()

    for i in font.selection.byGlyphs:
    font.removeGlyph(i)

    font.generate(sys.argv[3])
    else:
    print "WARNING: Check the license of the source font\nbefore distributing the output font generated by this script.\nI'm not responsible for any legal issue caused by\ninappropriate use of this script!\n"
    print "Usage: {} [source font] [file with glyphs NOT to be removed] [output]".format(sys.argv[0])
    print "Example: {} /path/to/ukai.ttc chineseTranslation.txt ukaiStripped.ttf".format(sys.argv[0])
    请注意,在某些字体上使用此脚本可能不合法。确保 checkout 源字体的许可证。我不对使用此脚本生成的任何字体引起的任何法律问题负责。

    关于fonts - 通过删除字形来缩小.OTF字体的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14557944/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com