将样式空间中的stat信息应用于变量字体。

statmake的Python项目详细描述


statmake

statmake接受用户编写的样式空间,该样式空间为整个字体系列定义OpenType ^{} information,然后(可能是子集和)将其应用于特定的变量字体这使得用户不必处理raw TTX dumps和处理nameids。

安装

最简单的方法是用pip安装它。您至少需要Python3.6。

pip3 install statmake

用法

外部样式空间文件,独立或从设计空间文件引用

如果要生成多个变量字体(即有多个设计空间文件),则可以通过编写一个包含所有样式空间的文件来避免重复信息,statmake将为每个变量字体子集该文件

注意:aSTAT表应该描述字体与整个家族的关系。如果你有单独的竖直和斜体可变字体,每一个都有一个^ {< CD5> }轴,你需要在设计空间LIb^ {{CD7}}键上标记每个字体在^ {CD6> }轴^ {EM1}$上的位置。designspace<axes>元素不应包含此信息,因此必须在单独的lib键中完成。

  1. 编写一个样式空间文件,描述整个族中所有可用轴的每个停止点。有关注释示例,请参见tests/data/Test.stylespace你也可以以此为起点。
  2. 您可以单独使用该文件,也可以使用设计空间库的org.statmake.stylespacePath键存储相对于设计空间文件的样式空间文件路径。有关示例,请参见tests/data/TestExternalStylespace.designspace
  3. 如果有一个或多个DealStand文件不定义家庭可用的所有轴,则必须用缺少的轴位置注释它们,以获得完整的^ {< CD2> }表。有关示例,请参见tests/data/Test_Wght_Upright.designspacetests/data/Test_Wght_Italic.designspace底部的lib键。
  4. 将变量字体生成为普通字体
  5. 如果…
    1. 。单独存储样式空间文件:runstatmake --designspace variable_font.designspace --stylespace your.stylespace variable_font.ttf
    2. 。将样式空间内联存储在设计空间文件中或作为独立文件存储,并将相对路径添加到设计空间的org.statmake.stylespacePath键:runstatmake --designspace variable_font.designspace variable_font.ttf

一定要使用用于生成字体的设计空间文件来获得正确的缺少轴位置定义。

具有内联样式空间数据的设计空间文件

如果要生成包含整个族的单变量字体,此方法将为您保存外部文件。

  1. 如上所述编写文件,第1点。
  2. 将其插入到设计空间文件的org.statmake.stylespace键下的库中请参见tests/data/TestInlineStylespace.designspace以获取示例。
  3. 从上面第3点开始。

问:除了.plist文件,我能要点别的吗?

是的,但是您必须自己将其转换为.plist,因为statmake当前只读取.plist文件。一个可能的转换器是adam twardoch的yaplon

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Play Framework 2.1中的简单搜索?   java:Springbeans的真正工作原理   java不能从字符串中提取数字   不同管道中的java共享ExecutionHandler   在Java中,如何为扩展comparator的类实现多个comparator方法?   通用混沌Java   java问题:从自定义类获取要添加到驱动程序类的形状   java如何利用HikariCP和Hibernate?   eclipse如何执行Java应用程序?   用户界面Java Swing:如何将JLabel的文本绑定到JTable选定行中的列?   java替换JPanel元素而不添加到面板的末尾?   java Sets根据action命令在按钮组中选择了特定的jradiobutton   在java中如何将从控制台添加的字符串中的元素添加到列表中   处理未在浏览器上运行的Java签名小程序   java如何在我的安卓应用程序中单击任意按钮时禁用音频音调?   编码如何在Java中将十六进制转换为utf8编码的字符串   java JSF Spring安全集成问题   java如何更正Oracle for Windows中的字符?   java Spark结构化流媒体:当前批次落后   java Hibernate根据最匹配的条件排序结果