如何将SVG文件转换/打包为OTF/TTF字体?

如何将SVG文件转换/打包为OTF/TTF字体?,svg,fonts,truetype,cjk,opentype,Svg,Fonts,Truetype,Cjk,Opentype,我正在考虑使用Droid字体为CJK脚本创建字体 但是,我不确定是否可以创建一个脚本,将多个SVG文件/字形转换/打包为一个字体文件? “新”字形创建 作为参考,我想为CJK glyhs创建新的图示符,如下所示: 放置一个中文字形(例如。中) 转换为SVG文件 将发音(例如zhōng)添加到此SVG 一旦在SVG中创建了所有新的CJK字形,我需要打包我的字体 数据将来自中国 目标 我想要一些类似下图的东西,但是把发音放在另一个地方,并且有不同的方向 FontForge有一个Python接口 gl

我正在考虑使用Droid字体为CJK脚本创建字体

但是,我不确定是否可以创建一个脚本,将多个SVG文件/字形转换/打包为一个字体文件?

“新”字形创建 作为参考,我想为CJK glyhs创建新的图示符,如下所示:

  • 放置一个中文字形(例如。中) 转换为SVG文件
  • 将发音(例如zhōng)添加到此SVG
  • 一旦在SVG中创建了所有新的CJK字形,我需要打包我的字体
  • 数据将来自中国

    目标 我想要一些类似下图的东西,但是把发音放在另一个地方,并且有不同的方向


    FontForge有一个Python接口

    glyph对象具有类似于
    导出
    导入线
    的方法。 我的代码未经测试,但读取FontForge文档时,导出应如下所示:

    import fontforge
    f = fontforge.open("SomeChineeseFont.ext")
    
    # Not sure if this is the right way to select all glyphs. But you'll get there.
    for i in f.selection.select.all(): 
        f[i].export("%s.svg" %i)
    
    现在,在编辑SVG数周后(也将其自动化)。是时候导入:

    import fontforge
    f = fontforge.open("SomeChineeseFont.ext") # Use the orginal font as base
    
    for i in f.selection.select.all(): 
        # Delete the original glyph or make sure your SVG 
        # only contains the contours you want to add.
        f.clear() 
        f[i].importOutlines("%s.svg" %i)
    
    f.save("SomeRubyLikeChineeseFont.ext")
    

    这就是你要找的吗?

    看看这一点,制作一种在屏幕上看起来很好看的字体需要大量的关注。这很好地解决了问题。事实上,设计/暗示过程应该已经完成了,因为我只想更新与CJK相关的计划@miah共享的第一个链接已经死了:(