使用设计空间数据读取、写入和生成UFO。
ufoProcessor的Python项目详细描述
UFO处理器
python包基于designspacedocument从fontTools.designspaceLib)专门到process和generate实例,用于ufo文件、glyph和其他数据。
- 收集原始资料
- 为特定的字形、字体信息、字距设置变异器,以便其他工具可以生成部分实例。来自
MutatorMath
或fonttools varlib.model
。 - 支持带图层的设计空间格式4。
- 应用类似avar的设计空间弯曲
- 应用规则
- 以格式2和3生成实际的ufo实例。
- 要求的圆形几何图形
- 尝试使用FontTools保持最新状态
- 需要访问设计空间数据的工具的基类。
用法
使用ufoprocessor最简单的方法是调用build(designspacePath)
documentpath:设计空间文件的路径。
outputufoformatversion:整数,2,3。生成UFO的格式。注:可以不同于源ufo格式。
roundgeometry:bool,如果几何体需要舍入为整数。这会影响字形、度量、字距调整、选择字体信息。
processrules:bool在生成ufo时,将designspace规则作为交换执行。
logger:可选的logger对象。
documentpath:指向.designspace文档的文件路径
outputufoformatversion:输出为ufo格式,默认为当前格式,所以3。
usevarlib:如果希望用
varLib.model
而不是mutatorMath
生成几何体,则为true。
将Superplator转换为设计空间
ufoprocessor.sp3模块有一些解释superplator.sp3文档的工具。并非所有数据都已迁移。但重要的几何图形就在那里。考虑到Superplator可以读取设计空间文件,希望不需要编写器。请注意,此转换是有损耗的。
- 尺寸
- 姓名
- 标签
- 来源
- 不明飞行物路径
- FamilyName,样式名
- 静音状态(存储在库中)
- 位置
- 实例
- 不明飞行物路径
- FamilyName,样式名
- 样式图名称
- 位置
- 规则
- 简单规则包装在条件集中。
- 大多数真正古老的超级大国规则都无法改变。只使用带
<
或>
运算符的规则。
- 一些超级计算机用户首选项
- 预览文本
- 哪些轴垂直和水平使用
用法
# convert sp3 file to designspace# first make a new designspace doc objectdoc=DesignSpaceDocument()# feed it to the readerreader=SuperpolatorReader(sp3path,doc)reader.read()# now you can work with it, even save itdoc.write(designspacePath)
事实上,最后一个例子来自这个便利功能:sp3_to_designspace(sp3path, designspacePath=None)
如果designspace path=none,sp3-to-u designspace将对输出使用相同的路径,但将.sp3
替换为.designspace
扩展名。如果文件存在,它将重写。
注释
- 忽略实例中特定于字形的主控形状。
- 实例注释将被忽略。