能否合并多样式.woff2字体文件?可用哪些命令行工具?
可以合并,但需先处理TTF源文件再转格式
不能直接合并已生成的.woff2文件——这类压缩后的字体文件是独立封装的,强行合并会破坏字体的元数据和样式结构,浏览器无法识别其中的不同样式信息。正确的做法是先把不同样式的TTF文件合并为字体集合(Font Collection,.ttc),再将这个集合文件转换为.woff2格式。
具体步骤和工具:
合并TTF文件
使用fonttools(Python字体处理库)中的pyftmerge命令行工具,它可以将多个同家族的TTF字体合并为一个字体集合,同时完整保留每个样式的权重、斜体等元数据。
命令示例:pyftmerge Merriweather-BoldItalic.ttf Merriweather-LightItalic.ttf ... -o Merriweather-Collection.ttc把所有需要合并的TTF文件名依次列在命令中,
-o指定输出的字体集合文件名。转换为woff2格式
用你已经在使用的woff2_compress工具,对合并后的.ttc文件进行压缩:woff2_compress Merriweather-Collection.ttc执行后会得到
Merriweather-Collection.woff2,这个文件就包含了所有样式信息。网页中引用
在CSS里通过@font-face声明这个字体集合,然后利用font-weight和font-style来指定不同样式:@font-face { font-family: 'Merriweather'; src: url('Merriweather-Collection.woff2') format('woff2'); font-weight: normal 900; /* 覆盖所有包含的权重范围 */ font-style: normal italic; /* 覆盖正常和斜体样式 */ font-display: swap; }之后就可以像使用单文件字体一样,通过
font-weight: bold; font-style: italic;等属性调用对应的样式。
内容的提问来源于stack exchange,提问作者Bastian Venthur
相关产品推荐
相关产品推荐

