) w5 C# e' z& J& F$ l- import fontforge
" \$ B- ?% T9 s: N# b8 _ - import os
7 z% e( L, @: P6 o
2 R2 E* ]- L' j- # 创建新字体5 f( V; k" r# \/ ^
- font = fontforge.font() x$ h! u) n8 k( {! N, C
' b1 [9 Y* Y5 P# J- # 指定SVG文件夹路径
. m" U! Q) C/ ?' ]0 Z2 J N - svg_folder = "path/to/your/svg/files"$ v9 P s, Q4 T, F, v: u0 L, P+ I
- 7 R: T2 U) Y# F, l) }6 K+ m, o$ n4 N
- # 遍历文件夹中的所有SVG文件
6 \( {# j" J4 K3 e' @) G - for filename in os.listdir(svg_folder):+ z$ ^& m8 ~5 K5 @( N$ B% M( y
- if filename.endswith('.svg'):
0 K( G, I1 A* d: |. f7 j - # 构建完整文件路径
% u5 h9 _* N7 z3 E - svg_path = os.path.join(svg_folder, filename). q- J V( O, j1 _
-
/ P# Q# L k, y1 E* h - # 获取文件名(不含扩展名)作为字形名称) Q Z# E! V* i/ i" Q% p
- glyph_name = os.path.splitext(filename)[0]% G0 H) t% b( M8 L
-
3 p: }5 g" c. P+ G# }0 w - # 创建新字形8 ?" D0 o# Y X, ]% P+ {3 i& x
- glyph = font.createChar(-1, glyph_name); Y) L! G0 `4 u% V
-
) }! Z& D& B- g9 Z - # 从SVG导入轮廓
; f6 g+ F- P- s - glyph.importOutlines(svg_path)0 i ]# Z/ D' |$ X- c* |
5 n. d! e7 E( B" U- # 保存字体文件; |+ ?% ?$ R3 @2 i) t/ U
- font.generate("output_font.ttf")( E% w; g( e4 t# d S% b
复制代码
, b$ b8 C! M2 N
' K( \' a1 c/ z; U- M' q, g3 a参考 |