% ], m& N, c( i; Q/ b1 m2 A- import fontforge$ ?; g! h6 {# C5 t
- import os
& `+ H/ [ X* Y, e$ g: T - + r1 _+ p% }' K) a7 r; r8 ^7 f
- # 创建新字体
: a( m$ ]# n) w3 Q- y/ }; w - font = fontforge.font()
6 {' }/ v6 z$ u! l
, W* L$ S0 L @7 ~- # 指定SVG文件夹路径
( F0 M& r) I/ F7 d2 E - svg_folder = "path/to/your/svg/files", c, F4 J% p% j
- 4 O# Z% ^+ B/ e/ I7 E
- # 遍历文件夹中的所有SVG文件
) x- G. c( Q4 L* ? - for filename in os.listdir(svg_folder): x4 s b% X" j
- if filename.endswith('.svg'):( I4 Y, a& h' G8 U4 X j
- # 构建完整文件路径2 V* W+ c! j& L9 D7 O
- svg_path = os.path.join(svg_folder, filename)
7 U: Q q9 @ [" Z) _2 q -
& w( I0 ~! B% ~7 e, o2 z9 | - # 获取文件名(不含扩展名)作为字形名称
* ]! ^3 _3 K/ e5 Q5 _6 W0 w - glyph_name = os.path.splitext(filename)[0], Z" B& e# U9 R R h7 H5 {
- 0 z8 J& _! _6 ~& @# P
- # 创建新字形3 J6 |0 ~" D6 L) C5 h
- glyph = font.createChar(-1, glyph_name)
6 c% _/ [1 J' Z4 q- i. C) P# ]$ R -
2 w& X& N7 g' B' t b - # 从SVG导入轮廓
% {( D. E, z. p% U: ~& w - glyph.importOutlines(svg_path)! b# `( i, Y0 Y* d3 H' O: a
- 9 v( a7 r) m4 z3 v+ \- L
- # 保存字体文件$ ?5 ~6 B/ l% Y2 a2 C5 @+ f& R; ~
- font.generate("output_font.ttf")( I( ^( [& J$ ~/ q f
复制代码
$ P7 n5 c% K* G/ _- a0 r7 O
1 D( C, m& x$ v参考 |