飞碟和Fonttools之间的桥梁。
ufo2ft的Python项目详细描述
ufo2ft
ufo2ft(“ufo到fonttools”)是 ufo2fdk目标是 从UFO生成OpenType字体二进制文件,而不依赖于FDK。
库提供两个函数,compileOTF和compileTTF, 其工作方式完全相同:
fromdefconimportFontfromufo2ftimportcompileOTFufo=Font('MyFont-Regular.ufo')otf=compileOTF(ufo)otf.save('MyFont-Regular.otf')
在大多数情况下,ufo2ft的行为应该与ufo2fdk的行为相匹配, 其文件保存在下面(希望仍然是准确的)。
命名数据
与任何opentype编译器一样,必须将字体命名数据设置为 正确设置命名的特殊标准。在ufo2fdk,你 可以在字体信息中设置two命名属性 简单字体对象:
- 家庭名:你家庭的名字。例如,“我的加洛蒙”。
- style name:此特定字体的样式名。例如, “显示灯斜体”
ufo2fdk将基于thse 2创建所有其他命名数据 领域。如果要使用全自动命名系统,则 字体中的其他名称属性应设置为None。然而, 如果要在任何级别覆盖自动化系统,可以 指定特定的命名属性,ufo2fdk将遵守 设置。您不必设置all的属性,只需设置 你不想被自动化。例如,在“我的加洛蒙”一家 你有八个体重。将斜体映射到 罗马人的体重。要做到这一点,在罗马人中 斜体,需要设置样式映射数据。这是通过 styleMapFamilyName和styleMapStyleName属性。在每个 在您的罗马和斜体对中,您可以这样做:
my garamond light.ufo
- familyname=“my garamond”
- stylename=“light”
- styleMapFamilyName=“我的Garamond显示灯”
- stylemapstylename=“regular”
my garamond light italic.ufo
- familyname=“my garamond”
- stylename=“display light italic”
- styleMapFamilyName=“我的Garamond显示灯”
- stylemapstylename=“italic”
my garamond book.ufo
- familyname=“my garamond”
- stylename=“book”
- styleMapFamilyName=“我的Garamond显示本”
- stylemapstylename=“regular”
my garamond book italic.ufo
- familyname=“my garamond”
- stylename=“display book italic”
- styleMapFamilyName=“我的Garamond显示本”
- stylemapstylename=“italic”
等。
另外,如果您定义了任何命名数据,或者为其定义了任何数据 重要的是,在字体功能中的表定义中,数据将 感到荣幸。
特征生成
如果字体的功能不包含紧排/标记/mkmk功能, ufo2ft将根据字体的字距/定位数据创建它们。
除了 Adobe OpenType feature files, UFO2FT也支持 MTI/Monotype format。 例如,这种格式的gpos表将存储在 data/com.github.googlei18n.ufo2ft.mtiFeatures/GPOS.mti。
回退
大多数回退都有静态值。看看这些是什么, 看看源代码中的fontInfoData.py。
在某些情况下,回退值是从其他 信息对象中的数据。这些是通过函数内部处理的。
合并ttx
如果ufo数据目录有一个带ttx的com.github.fonttools.ttx文件夹 以.ttx结尾的文件,将在生成的字体中合并。 不需要索引ttx(使用ttx -s时生成)。