Python 3.x SVG字形到SVG/TTF/OTF字体
我的目标是从SVG文件创建字体,我将使用基于GUI的SVG编辑器(关联设计器)创建该字体 我试图了解字体文件(TTF/OTF)是如何工作的,所以如果这是错误的,请纠正我。根据我的快速研究,字体文件似乎只是XML表,其中包含如何“绘制”字体的各个字形的信息 我的问题是,如何创建一个脚本,从SVG字形目录创建这些字体文件类型 我知道如何迭代目录中的文件,但是我可以使用什么来创建这些字体文件类型呢?fontTools的文档似乎有点让我难以理解。我只能用Python编程Python 3.x SVG字形到SVG/TTF/OTF字体,python-3.x,svg,fonts,Python 3.x,Svg,Fonts,我的目标是从SVG文件创建字体,我将使用基于GUI的SVG编辑器(关联设计器)创建该字体 我试图了解字体文件(TTF/OTF)是如何工作的,所以如果这是错误的,请纠正我。根据我的快速研究,字体文件似乎只是XML表,其中包含如何“绘制”字体的各个字形的信息 我的问题是,如何创建一个脚本,从SVG字形目录创建这些字体文件类型 我知道如何迭代目录中的文件,但是我可以使用什么来创建这些字体文件类型呢?fontTools的文档似乎有点让我难以理解。我只能用Python编程 我不期望任何人给出完整的过程答案
我不期望任何人给出完整的过程答案,但如果有人能为我指出正确的资源方向,我将不胜感激 TrueType或OpenType字体文件不是XML;它们是一种二进制文件格式,首先是一个表目录,然后是几个不同的表,其中包含字体工作所需的不同类型的信息。例如,每种字体都必须有一个“水平标题”表,该表提供用于水平文本布局的度量信息,例如上升和下降距离;每个字体都有一个字符到字形索引映射表,该表为每个受支持的Unicode字符指定默认使用的字形 不同类型的数据表都用一个四字节标签标识,并将字节视为ASCII字符。因此,使用上面提到的两个表,水平标题表使用标记“hhea”;字符到字形索引映射表使用标记“cmap” OpenType字体可以支持单色字形或多色(“彩色”)字形。既然您提到了SVG,我想您应该制作一种彩色字体 OpenType支持使用不同格式的颜色图示符,每种格式都有一个专用的表格式/标记
- 位图:由于历史原因,实际上有两种不同的表格格式:“sbix”表格,主要由苹果公司使用;还有“CBDT”表,主要由谷歌使用
- 分层图示符(矢量):“COLR”表将每个颜色图示符定义为一组图示符,每个图示符在分层堆栈中具有单独的颜色
- “SVG”表使用嵌入式SVG文档定义每个颜色图示符