Maple Mono 使用指南#
当你敲下每一行代码,字体在替你表达气质与专注。Maple Mono 的目的很简单:让阅读与书写变得顺畅、统一、并拥有恰到好处的个性。
安装与环境配置#
方式一:桌面系统安装#
Windows
解压字体文件,全部选中,右键选择“安装”或“为所有用户安装”,然后在编辑器与终端里选择字体名称。macOS
双击.ttf/.otf,使用“字体册”安装,然后在 iTerm2、JetBrains、VS Code 中选择对应字体族。Linux
用户级:将字体放入
~/.local/share/fonts或~/.fonts,运行fc-cache -fv系统级:放入
/usr/local/share/fonts或/usr/share/fonts,刷新缓存
验证:运行
fc-list | grep -i "maple"或在编辑器字体列表中搜索“Maple Mono”。
方式二:源码安装#
下载源码并安装字体:
git clone --recursive https://github.com/xinetzone/maple-font.git
cd maple-font
pip install -ve .
导入库后,首次使用会自动构建字体文件(约需要 2-3 分钟):
import maple_font
# 首次导入时会显示:[maple-font] 首次使用,开始构建 Maple Mono 字体...
在 Matplotlib 中设置字体#
使用 set_font() 函数可以一键设置 Matplotlib 使用 Maple Mono 字体:
import matplotlib.pyplot as plt
import maple_font
# 设置使用包含中文字符和 Nerd Font 图标的字体
maple_font.set_font(font_type="NF-CN")
# 现在绘制的图表将使用 Maple Mono 字体显示中文和代码
plt.figure(figsize=(10, 6))
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
plt.title("Maple Mono 字体测试")
plt.xlabel("X轴")
plt.ylabel("Y轴")
plt.text(2, 2, "包含代码: $y = x^2$")
plt.show()
支持的字体类型包括:
"NF-CN":包含 Nerd Font 图标和中文字符的字体(推荐)"NF":包含 Nerd Font 图标但无中文字符的字体"TTF":标准 TTF 格式字体"TTF-AutoHint":经过 AutoHint 优化的 TTF 格式字体"Variable":可变字体
Glyph 管理#
import maple_font
# 获取可用的 glyph 列表
glyphs = maple_font.get_available_glyphs(font_type="NF-CN")
print(f"找到 {len(glyphs)} 个可用 glyph")
print(f"前10个 glyph: {glyphs[:10]}")
# 检查特定 glyph 是否存在
glyph_exists = maple_font.check_glyph_exists("glyph_name", font_type="NF-CN")
print(f"Glyph 'glyph_name' 是否存在: {glyph_exists}")
找到 33617 个可用 glyph
前10个 glyph: ['.notdef', '.notdef.1', '.null', 'A', 'A-cy', 'A.bg', 'AE', 'AEacute', 'Aacute', 'Abreve']
Glyph 'glyph_name' 是否存在: False
自定义字体构建#
你可以构建包含特定 glyph 的自定义字体:
import maple_font
# 构建包含自定义 glyph 的字体
success = maple_font.build_with_custom_glyphs(
glyphs=["glyph1", "glyph2"], # 替换为你需要的 glyph 名称
force_rebuild=True, # 强制重新构建
verbose=True # 显示详细信息
)
if success:
print("自定义字体构建成功")
else:
print("自定义字体构建失败")
Show code cell output
Hide code cell output
[maple-font-builder] 将包含自定义glyphs: ['glyph1', 'glyph2']
[maple-font-builder] 正在调用构建脚本: /media/pc/data/lxw/ai/tasks/maple-font/build.py,参数: ['--ttf-only', '--nf', '--cn', '--least-styles', '--feat', 'glyph1,glyph2']
🧹 Clean cache...
🚩 Start building Maple Mono Version 7.700 ...
👉 Variable version for MapleMono-Italic[wght]-VF.ttf
Rename glyph names
Generating feature string with italic=True, cn=False, normal=False, calt=True, variable=False, infinite=True, tag=True
Skip weight remapping since nothing changed.
✅ Verified glyph width in MapleMono-Italic[wght]-VF.ttf
Fix GASP table
👉 Variable version for MapleMono[wght]-VF.ttf
Rename glyph names
Generating feature string with italic=False, cn=False, normal=False, calt=True, variable=False, infinite=True, tag=True
Skip weight remapping since nothing changed.
✅ Verified glyph width in MapleMono[wght]-VF.ttf
Fix GASP table
✨ Instatiate and optimize fonts...
Check and optimize variable fonts
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono-Italic[wght].ttf
[ INFO ] is_italic: True -> OK
[ INFO ] is_oblique: False -> OK
[ INFO ] italic_angle: -10.0 -> OK
[ INFO ] run_rise: (3, 17) -> OK
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0083 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono[wght].ttf
[ INFO ] is_italic: False -> OK
[ INFO ] is_oblique: False -> OK
[ INFO ] italic_angle: 0.0 -> OK
[ INFO ] run_rise: (0, 1) -> OK
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0083 seconds
[ INFO ] Elapsed time 0.0183 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono-Italic[wght].ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0235 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono[wght].ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0200 seconds
[ INFO ] Elapsed time 0.0453 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono-Italic[wght].ttf
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono-Italic[wght].ttf
[ INFO ] Processing time: 0.0165 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono[wght].ttf
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono[wght].ttf
[ INFO ] Processing time: 0.0124 seconds
[ INFO ] Elapsed time 0.0307 seconds
Instantiate TTF
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono-Italic[wght].ttf
[ INFO ] Exporting instance 1 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-ThinItalic.ttf
[ INFO ] Exporting instance 2 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-ExtraLightItalic.ttf
[ INFO ] Exporting instance 3 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-LightItalic.ttf
[ INFO ] Exporting instance 4 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-Italic.ttf
[ INFO ] Exporting instance 5 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-MediumItalic.ttf
[ INFO ] Exporting instance 6 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-SemiBoldItalic.ttf
[ INFO ] Exporting instance 7 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-BoldItalic.ttf
[ INFO ] Exporting instance 8 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-ExtraBoldItalic.ttf
[ INFO ] Processing time: 7.7439 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/Variable/MapleMono[wght].ttf
[ INFO ] Exporting instance 1 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-Thin.ttf
[ INFO ] Exporting instance 2 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-ExtraLight.ttf
[ INFO ] Exporting instance 3 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-Light.ttf
[ INFO ] Exporting instance 4 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-Regular.ttf
[ INFO ] Exporting instance 5 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-Medium.ttf
[ INFO ] Exporting instance 6 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-SemiBold.ttf
[ INFO ] Exporting instance 7 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-Bold.ttf
[ INFO ] Exporting instance 8 of 8
[ SUCCESS ] Static instance saved to fonts/TTF/MapleMono-ExtraBold.ttf
[ INFO ] Processing time: 7.4562 seconds
[ INFO ] Elapsed time 15.2023 seconds
👉 Minimal version for MapleMono-BoldItalic.ttf
👉 Minimal version for MapleMono-Italic.ttf
👉 Minimal version for MapleMono-Regular.ttf
👉 Minimal version for MapleMono-Bold.ttf
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-BoldItalic.ttf
[ INFO ] is_italic: True -> OK
[ INFO ] is_oblique: False -> OK
[ INFO ] italic_angle: -10.0 -> OK
[ INFO ] run_rise: (3, 17) -> OK
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0081 seconds
[ INFO ] Elapsed time 0.0091 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Italic.ttf
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Regular.ttf
[ INFO ] is_italic: True -> OK
[ INFO ] is_oblique: False -> OK
[ INFO ] italic_angle: -10.0 -> OK
[ INFO ] run_rise: (3, 17) -> OK
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0080 seconds
[ INFO ] Elapsed time 0.0090 seconds
[ INFO ] is_italic: False -> OK
[ INFO ] is_oblique: False -> OK
[ INFO ] italic_angle: 0.0 -> OK
[ INFO ] run_rise: (0, 1) -> OK
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0077 seconds
[ INFO ] Elapsed time 0.0086 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Bold.ttf
[ INFO ] is_italic: False -> OK
[ INFO ] is_oblique: False -> OK
[ INFO ] italic_angle: 0.0 -> OK
[ INFO ] run_rise: (0, 1) -> OK
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0084 seconds
[ INFO ] Elapsed time 0.0096 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-BoldItalic.ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0252 seconds
[ INFO ] Elapsed time 0.0262 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Bold.ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0236 seconds
[ INFO ] Elapsed time 0.0247 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Regular.ttf
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Italic.ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0242 seconds
[ INFO ] Elapsed time 0.0254 seconds
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0257 seconds
[ INFO ] Elapsed time 0.0268 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-BoldItalic.ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0016 seconds
[ INFO ] Elapsed time 0.0026 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Italic.ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0016 seconds
[ INFO ] Elapsed time 0.0026 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Bold.ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0016 seconds
[ INFO ] Elapsed time 0.0027 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Regular.ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0017 seconds
[ INFO ] Elapsed time 0.0029 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-BoldItalic.ttf
[ INFO ] Correcting contours...
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Bold.ttf
[ INFO ] Correcting contours...
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Regular.ttf
[ INFO ] Correcting contours...
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Italic.ttf
[ INFO ] Correcting contours...
[ INFO ] 331 glyphs were modified: rupeeIndian, onesuperior, quoteleft, bar_hyphen.liga, bar_equal.mid.seq, less_numbersign_hyphen_hyphen.liga, bracketright, arrowleftfrombar, slash_equal.liga.ss11, chedescender-cy, tag_error.liga, dentistrybottomverticalright, g.cv05, quotedblleft, tag_hack.liga, exclamdown, downBlackSmallTriangle, ereversed-cy, k, rightHookArrow, Uhorn, Q.cv01, AE, equal_equal_greater.liga.cv01, Iu-cy, greater_hyphen.end.seq.cv01, ustraightstroke-cy, checkboxchecked, kaiSymbol, nArySquareIntersectionOperator, bar_hyphen.mid.seq, braceright, rightBlackSmallTriangle, dje-cy, greater_equal.end.seq.cv01, D.bg, greater_hyphen_greater.liga, Z.bg.cv10, arrowdown, Z.cv10, I.bg, union, less_equal.mid.seq, Eogonek, Dje-cy, U.bg, bitcoin, notsubset, J.bg.cv07, perthousand, exclam_equal_equal.liga, less_less_hyphen.liga.ss08, less_hyphen.end.seq, equal_less_less.liga.ss08, checkboxx, Iogonek, C.bg, leftMultimap, zhedescender-cy, lslash, E.bg, shade, tag_todo.liga, obarred-cy, alpha, Ohorn, notelement, J.bg, minus.superior, numbersign_underscore_underscore.liga, B.bg, checkbox, bar_equal_greater.liga, sharp-musical, parenright, tag_mark.liga, H.bg, Euro, O.bg, leftTwoheadedArrow, leftHalfBlackSquare, greater_equal.liga.cv64, F.bg, circle_end.bg, greater, parenright.superior, bar_equal_greater.liga.cv01, ccedilla, quotesinglbase, iu-cy, arrowdbldown, numbersign_underscore_parenleft.liga, propersuperset, equal_slash_equal.liga, notexistential, emptyset, f, greaterequal, numbersign.end.seq, KaiSymbol, dollar.cv01, won, iogonekdotless, tshe-cy, arrowleftdowntip, tag_warning.liga, sterling, W.bg, bar_hyphen.end.seq, braceleft, r.cv08, block_end.bg, less_bar_bar_bar.liga, universal, suchthat, Scedilla, S.bg, N.bg, Ereversed-cy, seven.cv09, bar_equal.end.seq, uogonek, X, numbersign_left.decorator, V.bg, uhorn, ampersand_ampersand.liga.cv65, exclam_equal.liga, logicaland, piSymbol, aogonek.cv02, greater_equal.mid.seq, ampersand_ampersand_equal.liga.cv65.ss11, tag_note.liga, X.bg, eopen, tau, dcroat, existential, numbersign_underscore.liga, numbersign_parenleft.liga, cent, Tcedilla, uniEE0A, Ustraightstroke-cy, bar_hyphen.sta.seq, greater_hyphen.mid.seq, ordfeminine.cv02, arrowrightdowntip, P.bg, e-cy, tag_warn.liga, rightTripleArrow, x, y, oslash, sharp-musical_end.bg, hyphen_less_less.liga.ss08, bar_hyphen_greater.liga, section, numbersign, hastroke-cy, iogonek.cv03, tag_info.liga, OE, Hbar, Q.bg, hyphen_hyphen_braceright_braceright.liga, arrowleft, t, downFrombarArrow, arrowleftuptip, Lslash, K.bg, franc, greater_equal.liga, equal_equal_greater.liga, bar_bar_equal.liga.ss11, T.bg, four-gujarati, hyphen_hyphen_greater.liga, zerosuperior, numbersign.mid.seq, triplearrowleft, hyphen_greater.liga.cv01, iogonekdotless.cv06, coproductarray, Obarred-cy, less_equal.sta.seq, verticalBisectingLineWhiteSquare, leftarrowoverrightarrow, partialdiff, circleddotoperator, Oogonek, one, l.cv04, ampersand_ampersand_ampersand.liga.cv65, hahook-cy, circlemultiply, numbersign.sta.seq, xcircle, Icircle, lambdastroke, ereversed-ipa, Aogonek, notcontains, tbar, tag_eror.liga, iogonek.cv06, Y.bg, Kadescender-cy, leftWhitePointer, notasersetup, asciitilde.end.seq, zero, bracketright_numbersign.liga, ampersand.cv01, hadescender-cy, exclam_asciitilde.liga.ss10, liraTurkish, a.cv02, iogonek, Tbar, braceleft_braceleft_hyphen_hyphen.liga, greater_greater_equal.liga.ss08, R.bg, less_equal.sta.seq.cv01, lowerRightQuadrantWhiteCircle, Eng, aogonek, interrobang, less_hyphen.mid.seq, circleplus, onehalf, Zhedescender-cy, Tshe-cy, leftTailArrow, eogonek, less_hyphen.sta.seq.cv01, onequarter, endescender-cy, thorn, iogonekdotless.cv03, lslash.cv04, unionarray, Endescender-cy, less_numbersign_hyphen_hyphen.liga.cv01, less_equal.end.seq, ampersand_equal.liga.cv01.ss11, Eth, quotereversed, rightarrowoverleftarrow, K, triaglf, z.cv10, a, bar_equal.liga.ss11, Hadescender-cy, arrowuprighttip, notequal, dentistrytopverticalleft, tag_fixme.liga, bar_equal.sta.seq, pagedown, ampersand_equal.liga.cv65.ss11, uniEE08, less_bar_bar.liga, less_bar.liga, greater_hyphen_greater.liga.cv01, numbersign_braceleft.liga, tag_debug.liga, oogonek, arrowdblleft, G.bg, bar_hyphen_greater.liga.cv01, Chedescender-cy, greater_equal_greater.liga.cv01, numbersign_bracketleft.liga, Q.bg.cv01, kadescender-cy, containsasmembersmall, M.bg, eng, Ghestroke-cy, A.bg, em-cy, equal_greater_greater.liga.ss08, idotless, less_equal.liga.cv01.cv63, ordfeminine, chi, Ccedilla, greater_equal.sta.seq, f.cv11, hyphen_greater.liga, greater_equal_greater.liga, tag_trace.liga, Z.bg, ghestroke-cy, equal_greater_equal.liga, hyphen_less.liga.ss08, Uogonek, upperLeftAndLowerRightBlock, greater_hyphen.end.seq, L.bg, tag_fatal.liga, tcedilla, ballotxheavy, hyphen_asciitilde.liga, literSign, scedilla, degreecelsius, threequarters, rightTabArrow, estimated, asciitilde_equal.liga.ss09, greater_hyphen.sta.seq, ohorn, equal_less_equal.liga, nAryCircledDotOperator, ii-cy, asciitilde_at.liga.cv01, braceleft_braceleft_exclam_hyphen_hyphen.liga, Oslash, naira, hyphen_hyphen_greater.liga.cv01, .notdef, hyphen, circleddivisionslash, less_equal.liga.cv63, brevecomb_hookabovecomb.case
[ INFO ] 329 glyphs were modified: equal_equal_greater.liga, N.bg, iogonekdotless, emptyset, Z.bg.cv10, less_equal.sta.seq, equal_less_less.liga.ss08, rightarrowoverleftarrow, r.cv08, dje-cy, Tshe-cy, greater, containsasmembersmall, oogonek, lozenge, arrowuprighttip, uogonek, numbersign_left.decorator, Chedescender-cy, lowerRightQuadrantWhiteCircle, iogonek.cv03, tag_mark.liga, eng, hastroke-cy, uniEE0A, less_hyphen.mid.seq, sharp-musical_end.bg, bar_bar_equal.liga.ss11, J.bg.cv07, braceleft_braceleft_hyphen_hyphen.liga, ereversed-ipa, mu, a, exclam_equal.liga, Hbar, Zhedescender-cy, Oogonek, numbersign_underscore_underscore.liga, C.bg, less_hyphen.end.seq, zero, hyphen_greater.liga, Oslash, bitcoin, numbersign_underscore_parenleft.liga, Ghestroke-cy, AE, hyphen_hyphen_greater.liga, greater_greater_equal.liga.ss08, perthousand, kadescender-cy, xcircle, arrowleftfrombar, endescender-cy, verticalBisectingLineWhiteSquare, checkboxx, naira, G.bg, minus.superior, L.bg, suchthat, greater_equal.liga, chi, numbersign_underscore.liga, circleplus, estimated, Hadescender-cy, bar_hyphen.liga, logicaland, equal_less_equal.liga, rightTabArrow, arrowleftuptip, ampersand_ampersand_equal.liga.cv65.ss11, D.bg, greater_hyphen.end.seq.cv01, ordfeminine.cv02, scedilla, hyphen_hyphen_greater.liga.cv01, hyphen_less.liga.ss08, braceright, braceleft, onesuperior, tag_fatal.liga, asciitilde_equal.liga.ss09, less_equal.mid.seq, liraTurkish, hyphen_asciitilde.liga, f.cv11, tag_fixme.liga, kaiSymbol, numbersign_braceleft.liga, Ustraightstroke-cy, numbersign.end.seq, less_bar_bar.liga, iogonekdotless.cv03, K, iu-cy, bar_equal.sta.seq, Aogonek, nAryCircledDotOperator, lslash, tag_info.liga, l.cv04, greater_hyphen.end.seq, Scedilla, rightHookArrow, z.cv10, leftHalfBlackSquare, Dje-cy, greater_equal.liga.cv64, OE, ustraightstroke-cy, tag_error.liga, seven.cv09, less_less_hyphen.liga.ss08, partialdiff, triaglf, asciitilde.end.seq, parenright.superior, tag_todo.liga, greater_equal.sta.seq, rupeeIndian, W.bg, hadescender-cy, aogonek, tag_hack.liga, greater_equal_greater.liga.cv01, R.bg, leftarrowoverrightarrow, Eth, I.bg, greater_hyphen.mid.seq, less_equal.liga.cv01.cv63, J.bg, greater_hyphen.sta.seq, lambdastroke, tag_warning.liga, bar_hyphen.sta.seq, bar_hyphen_greater.liga, equal_slash_equal.liga, equal_greater_equal.liga, coproductarray, numbersign.mid.seq, cent, U.bg, e-cy, Iu-cy, numbersign.sta.seq, greaterequal, Tbar, greater_equal.mid.seq, numbersign, tag_debug.liga, downFrombarArrow, eopen, Q.bg, onehalf, k, S.bg, notasersetup, iogonek.cv06, triplearrowleft, braceleft_braceleft_exclam_hyphen_hyphen.liga, obarred-cy, V.bg, downBlackSmallTriangle, exclamdown, Q.bg.cv01, checkboxchecked, ereversed-cy, bar_equal.mid.seq, t, circleddivisionslash, H.bg, quoteleft, Q.cv01, shade, bar_hyphen.mid.seq, Kadescender-cy, arrowdown, piSymbol, g.cv05, leftMultimap, M.bg, uniEE08, A.bg, circle_end.bg, a.cv02, Tcedilla, ampersand.cv01, ohorn, nArySquareIntersectionOperator, tbar, ampersand_ampersand_ampersand.liga.cv65, universal, dentistrybottomverticalright, alpha, asciitilde_at.liga.cv01, thorn, checkbox, sharp-musical, bar_hyphen.end.seq, propersuperset, X.bg, bar_equal_greater.liga.cv01, less_bar_bar_bar.liga, block_end.bg, arrowleftdowntip, x, Uogonek, tag_eror.liga, rightTripleArrow, upperLeftAndLowerRightBlock, tau, Z.bg, ampersand_equal.liga.cv01.ss11, iogonekdotless.cv06, leftTailArrow, tag_note.liga, lslash.cv04, tcedilla, KaiSymbol, T.bg, franc, notsubset, em-cy, tshe-cy, circlemultiply, bar_equal.end.seq, four-gujarati, less_bar.liga, bar_equal.liga.ss11, dentistrytopverticalleft, dollar.cv01, P.bg, notcontains, leftTwoheadedArrow, greater_equal_greater.liga, hahook-cy, zhedescender-cy, quotereversed, Endescender-cy, less_hyphen.sta.seq.cv01, tag_trace.liga, Icircle, E.bg, ccedilla, one, quotesinglbase, Ereversed-cy, eogonek, Euro, arrowleft, Eng, X, Ohorn, bracketright_numbersign.liga, slash_equal.liga.ss11, unionarray, literSign, less_equal.liga.cv63, less_equal.end.seq, idotless, circleddotoperator, hyphen_less_less.liga.ss08, numbersign_bracketleft.liga, interrobang, f, ampersand_equal.liga.cv65.ss11, O.bg, less_equal.sta.seq.cv01, onequarter, ghestroke-cy, chedescender-cy, Iogonek, equal_equal_greater.liga.cv01, greater_hyphen_greater.liga, won, exclam_equal_equal.liga, B.bg, greater_hyphen_greater.liga.cv01, Uhorn, aogonek.cv02, arrowdblleft, arrowrightdowntip, greater_equal.end.seq.cv01, quotedblleft, bracketright, ampersand_ampersand.liga.cv65, equal_greater_greater.liga.ss08, union, Obarred-cy, hyphen_hyphen_braceright_braceright.liga, hyphen_greater_greater.liga.ss08, dcroat, exclam_asciitilde.liga.ss10, hyphen, parenright, K.bg, less_numbersign_hyphen_hyphen.liga, y, .notdef, F.bg, zerosuperior, uhorn, notelement, E-cy, Ccedilla, ballotxheavy, Lslash, notequal, less_numbersign_hyphen_hyphen.liga.cv01, pagedown, leftWhitePointer, Eogonek, Z.cv10, hyphen_greater.liga.cv01, Y.bg, bar_equal_greater.liga, notexistential, arrowdbldown, tag_warn.liga, numbersign_parenleft.liga, rightBlackSmallTriangle, oslash, bar_hyphen_greater.liga.cv01, ordfeminine, existential, iogonek
[ INFO ] 366 glyphs were modified: shade, V.bg, T.bg, greater_equal.liga, numbersign_underscore_underscore.liga, cent, zhedescender-cy, numbersign.end.seq, iogonekdotless.cv39, gbreve.cv38, f_f.liga, lambdastroke, P.bg, notexistential, ohorn, bar_equal.liga.ss11, xcircle, Q.bg.cv01, oslash, arrowdbldown, quotesinglbase, E-cy, dje-cy, y.cv37, l_l.liga, ccedilla, obarred-cy, circleplus, sharp-musical, numbersign_braceleft.liga, bracketright, ampersand.cv01, less_equal.liga.cv63, Uogonek, F.bg, coproductarray, less_hyphen.mid.seq, zerosuperior, e, bar_equal_greater.liga.cv01, less_hyphen.end.seq, rupeeIndian, gcircumflex.cv38, greater_equal.end.seq.cv01, ydotbelow, parenleft.superior, K.bg, W.bg, idotless.cv33, tag_fatal.liga, U.bg, alpha, exclam_equal.liga, greater_hyphen.mid.seq, Ohorn, N.bg, notequal, l, g.cv38, tag_trace.liga, kaiSymbol, circlemultiply, arrowdown, leftTwoheadedArrow, hadescender-cy, O.bg, Endescender-cy, tag_error.liga, Euro, dentistrytopverticalleft, n.superior, tag_mark.liga, f, less_equal.sta.seq, z.cv43, onequarter, x.cv36, hyphen_greater_greater.liga.ss08, Eth, tag_info.liga, uogonek, f.cv32, greater_hyphen.sta.seq, ustraightstroke-cy, numbersign.mid.seq, Ghestroke-cy, downFrombarArrow, iogonekdotless, less_hyphen.sta.seq.cv01, hastroke-cy.cv36, x_l.liga, piSymbol, E.bg, tag_warn.liga, iogonek, literSign, tshe-cy, numbersign, ampersand_equal.liga.cv65.ss11, Chedescender-cy, tcedilla, hyphen_hyphen_greater.liga.cv01, uhorn, lslash, exclamdown, numbersign.sta.seq, less_bar.liga, liraTurkish, dentistrybottomverticalright, chi, Iu-cy, leftHookArrow, leftMultimap, eogonek, universal, hahook-cy, arrowdblleft, less_equal_greater.liga, greater_equal.sta.seq, tag_hack.liga, less_bar_bar_bar.liga, I.bg, asciitilde_greater.liga, zero, nAryCircledDotOperator, checkboxchecked, numbersign_left.decorator, Ustraightstroke-cy, Iogonek, greater_equal_greater.liga.cv01, equal_equal_greater.liga, less_equal_equal_greater.liga, oogonek, Ccedilla, aogonek, bar_equal.mid.seq, Oslash, threequarters, block_end.bg, sevensuperior.cv42, tbar, circleddivisionslash, tau, asciitilde.end.seq, notasersetup, i_l_l.liga, leftHalfBlackSquare, pagedown, suchthat, emptyset, greater, iogonek.cv33, bar_hyphen_greater.liga, Z.cv43, endescender-cy, u_l.liga, unionarray, hyphen_hyphen_braceright_braceright.liga, equal_greater_greater.liga.ss08, hadescender-cy.cv36, bar_equal.end.seq, hastroke-cy, e-cy, a_l.liga, existential, K, x, gacute.cv38, J.bg.cv40, S.bg, tag_note.liga, numbersign_underscore.liga, chedescender-cy, Obarred-cy, downBlackSmallTriangle, leftWhitePointer, kadescender-cy, sterling, triplearrowleft, C_l.liga, tag_todo.liga, notelement, e_l.liga, bar_bar_equal.liga.ss11, yen, L.bg, hyphen_greater.liga, arrowleftfrombar, won, numbersign_underscore_parenleft.liga, Z.bg, iogonekdotless.cv33, tag_fixme.liga, hookabovecomb.case, gdotaccent.cv38, ampersand_ampersand.liga.cv65, questiondown, A.bg, k, less_numbersign_hyphen_hyphen.liga, braceleft_braceleft_hyphen_hyphen.liga, ampersand_ampersand_equal.liga.cv65.ss11, one, t_l.liga, greater_greater_equal.liga.ss08, Hbar, eng, dcroat, Scedilla, mu, .notdef, R.bg, bar_hyphen.sta.seq, eopen, circumflexcomb_hookabovecomb.case, rightTripleArrow, partialdiff, equal_less_equal.liga, em-cy, Q.bg, f.cv44, Aogonek, bracketright_numbersign.liga, logicaland, B.bg, exclam_equal_equal.liga, ghestroke-cy, quoteleft, Uhorn, asciitilde_at.liga.cv01, X.bg, equal_slash_equal.liga, c_l.liga, bar_hyphen.mid.seq, less_equal.mid.seq, ordfeminine, iogonek.cv39, KaiSymbol, rightWaveArrow, l.cv04, section, a_l_l.liga, verticalBisectingLineWhiteSquare, bar_equal_greater.liga, Icircle, Eng, X, less_less_hyphen.liga.ss08, quotedblleft, hyphen_asciitilde.liga, brevecomb_hookabovecomb.case, ballotxheavy, t_t.liga, numbersign_bracketleft.liga, AE, rightBlackSmallTriangle, Oogonek, ampersand_ampersand_ampersand.liga.cv65, a.cv31, gcaron.cv38, Tbar, C.bg, notsubset, u_l_l.liga, Eogonek, Q.cv01, containsasmembersmall, bar_hyphen_greater.liga.cv01, naira, Hadescender-cy, leftarrowoverrightarrow, J.bg, t, upperLeftAndLowerRightBlock, Dje-cy, greater_hyphen.end.seq, less_numbersign_hyphen_hyphen.liga.cv01, ampersand_equal.liga.cv01.ss11, braceright, Zhedescender-cy, less_equal.end.seq, tag_warning.liga, arrowlefttobar, exclam_asciitilde.liga.ss10, i_l.liga, sharp-musical_end.bg, checkbox, interrobang, greater_equal.mid.seq, seven.cv42, r.cv41, rightarrowoverleftarrow, hahook-cy.cv36, four-gujarati, k.cv34, OE, propersuperset, greater_equal.liga.cv64, less_equal.sta.seq.cv01, estimated, ereversed-ipa, Tshe-cy, aogonek.cv31, onesuperior, equal_greater_equal.liga, onehalf, dollar.cv01, hyphen_greater.liga.cv01, bar_hyphen.liga, uniEE08, less_bar_bar.liga, Z.bg.cv43, slash_equal.liga.ss11, checkboxx, H.bg, M.bg, iu-cy, lowerRightQuadrantWhiteCircle, leftTailArrow, union, schwa-cy, greater_hyphen_greater.liga, gcommaaccent.cv38, ordfeminine.cv31, tag_debug.liga, circleddotoperator, bitcoin, braceleft, D.bg, ereversed-cy, greaterequal, braceleft_braceleft_exclam_hyphen_hyphen.liga, greater_hyphen_greater.liga.cv01, a, greater_equal_greater.liga, Y.bg, nArySquareIntersectionOperator, tag_eror.liga, notcontains, franc, hyphen_hyphen_greater.liga, greater_hyphen.end.seq.cv01, bar_equal.sta.seq, f_f.liga.cv32, arrowleft, parenright, hookabovecomb, lslash.cv04, G.bg, numbersign_parenleft.liga, bar_hyphen.end.seq, Tcedilla, schwa, Lslash, asciitilde_equal.liga.ss09, arrowuprighttip, circle_end.bg, triaglf, perthousand, equal_equal_greater.liga.cv01, Kadescender-cy, e_l_l.liga, rightHookArrow, uniEE0A, scedilla, quotereversed
[ INFO ] 358 glyphs were modified: less_less_hyphen.liga.ss08, downFrombarArrow, equal_equal_greater.liga.cv01, greater_equal.liga.cv64, tbar, W.bg, tag_fatal.liga, tag_debug.liga, tau, hadescender-cy.cv36, rightWaveArrow, bar_hyphen_greater.liga.cv01, X.bg, bar_equal_greater.liga.cv01, notexistential, xcircle, hastroke-cy, schwa, u_l.liga, sharp-musical, sevensuperior.cv42, alpha, Iu-cy, hyphen_greater.liga, equal_greater_equal.liga, x_l.liga, equal_slash_equal.liga, e_l_l.liga, f_f.liga, tshe-cy, braceleft_braceleft_exclam_hyphen_hyphen.liga, U.bg, uniEE0A, kaiSymbol, ballotxheavy, rupeeIndian, tag_warning.liga, greater_hyphen.mid.seq, numbersign_left.decorator, block_end.bg, iogonekdotless.cv33, braceleft_braceleft_hyphen_hyphen.liga, bracketright_numbersign.liga, numbersign_underscore.liga, checkboxx, Z.bg.cv43, idotless.cv33, notelement, bracketright, leftHalfBlackSquare, hahook-cy.cv36, less_equal.liga.cv63, notasersetup, bar_bar_equal.liga.ss11, J.bg.cv40, sharp-musical_end.bg, leftTailArrow, greater_equal.mid.seq, tag_warn.liga, dentistrybottomverticalright, exclam_equal_equal.liga, scedilla, dentistrytopverticalleft, f, uhorn, hastroke-cy.cv36, numbersign_bracketleft.liga, tag_mark.liga, less_bar_bar.liga, leftarrowoverrightarrow, M.bg, KaiSymbol, less_hyphen.end.seq, ohorn, Dje-cy, less_equal.sta.seq.cv01, gbreve.cv38, circleddivisionslash, I.bg, less_hyphen.mid.seq, hookabovecomb.case, asciitilde_at.liga.cv01, f.cv32, J.bg, P.bg, Tshe-cy, piSymbol, quotereversed, numbersign.end.seq, leftHookArrow, cent, obarred-cy, a, uniEE08, logicaland, Kadescender-cy, arrowlefttobar, zerosuperior, less_bar_bar_bar.liga, greater_greater_equal.liga.ss08, liraTurkish, less_equal.end.seq, Scedilla, partialdiff, numbersign_braceleft.liga, less_numbersign_hyphen_hyphen.liga, chedescender-cy, circleplus, .notdef, n.superior, S.bg, circlemultiply, r.cv41, tag_info.liga, x.cv36, ampersand_ampersand.liga.cv65, numbersign, em-cy, seven.cv42, tag_eror.liga, k.cv34, eogonek, iogonek.cv33, asciitilde.end.seq, i_l_l.liga, braceleft, Oogonek, ccedilla, ereversed-cy, Q.cv01, t_l.liga, K.bg, c_l.liga, u_l_l.liga, circumflexcomb_hookabovecomb.case, hyphen_hyphen_braceright_braceright.liga, quotesinglbase, greater_equal.sta.seq, ampersand.cv01, a.cv31, one, greater, checkbox, rightBlackSmallTriangle, parenright, leftWhitePointer, equal_equal_greater.liga, won, zhedescender-cy, Ohorn, t_t.liga, K, X, emptyset, exclam_equal.liga, endescender-cy, Tcedilla, bar_equal.mid.seq, gcaron.cv38, triplearrowleft, checkboxchecked, tag_trace.liga, Zhedescender-cy, Eng, Oslash, dollar.cv01, E.bg, tag_todo.liga, arrowleftfrombar, gcommaaccent.cv38, suchthat, A.bg, perthousand, numbersign.mid.seq, exclam_asciitilde.liga.ss10, literSign, C_l.liga, lslash.cv04, a_l.liga, lslash, a_l_l.liga, numbersign_parenleft.liga, four-gujarati, onehalf, less_equal.sta.seq, kadescender-cy, iogonek.cv39, eng, bar_equal.sta.seq, shade, lowerRightQuadrantWhiteCircle, existential, onequarter, bar_hyphen.end.seq, ampersand_ampersand_equal.liga.cv65.ss11, ustraightstroke-cy, greater_equal_greater.liga.cv01, unionarray, Endescender-cy, z.cv43, numbersign.sta.seq, upperLeftAndLowerRightBlock, lozenge, hadescender-cy, ordfeminine, franc, Z.cv43, tcedilla, ordfeminine.cv31, F.bg, hyphen_greater_greater.liga.ss08, Q.bg, less_bar.liga, iu-cy, nArySquareIntersectionOperator, N.bg, onesuperior, lambdastroke, g.cv38, hyphen_hyphen_greater.liga.cv01, Lslash, G.bg, union, Q.bg.cv01, bar_hyphen.sta.seq, D.bg, Uhorn, T.bg, quotedblleft, hyphen_asciitilde.liga, equal_less_equal.liga, Uogonek, naira, eopen, quoteleft, numbersign_underscore_underscore.liga, l.cv04, y.cv37, tag_error.liga, greater_equal_greater.liga, Ustraightstroke-cy, Eth, less_numbersign_hyphen_hyphen.liga.cv01, H.bg, Euro, f_f.liga.cv32, gdotaccent.cv38, Eogonek, O.bg, aogonek, V.bg, bar_equal.end.seq, oogonek, coproductarray, notequal, arrowleft, hyphen_greater.liga.cv01, circle_end.bg, greater_hyphen.sta.seq, bar_hyphen_greater.liga, Ccedilla, Hbar, iogonekdotless, k, Y.bg, hookabovecomb, uogonek, iogonekdotless.cv39, leftTwoheadedArrow, verticalBisectingLineWhiteSquare, l_l.liga, mu, exclamdown, rightarrowoverleftarrow, Ii-cy, rightTripleArrow, L.bg, braceright, greater_equal.liga, interrobang, less_equal.mid.seq, greater_hyphen_greater.liga, dje-cy, asciitilde_equal.liga.ss09, gcircumflex.cv38, arrowdblleft, nAryCircledDotOperator, radical, greater_hyphen.end.seq, E-cy, bar_equal.liga.ss11, chi, Obarred-cy, tag_fixme.liga, brevecomb_hookabovecomb.case, Hadescender-cy, tag_note.liga, bitcoin, universal, iogonek, bar_hyphen.mid.seq, ampersand_ampersand_ampersand.liga.cv65, arrowdbldown, estimated, bar_hyphen.liga, propersuperset, greater_hyphen_greater.liga.cv01, rightHookArrow, bar_equal_greater.liga, Ghestroke-cy, equal_greater_greater.liga.ss08, pagedown, numbersign_underscore_parenleft.liga, greater_hyphen.end.seq.cv01, tag_hack.liga, containsasmembersmall, l, Z.bg, i_l.liga, e-cy, arrowdown, Chedescender-cy, AE, circleddotoperator, t, C.bg, arrowuprighttip, R.bg, less_hyphen.sta.seq.cv01, hahook-cy, slash_equal.liga.ss11, dcroat, notcontains, x, greater_equal.end.seq.cv01, gacute.cv38, ii-cy, oslash, B.bg, f.cv44, hyphen_hyphen_greater.liga, Aogonek, Icircle, zero, triaglf, ampersand_equal.liga.cv01.ss11, OE, ereversed-ipa, downBlackSmallTriangle, leftMultimap, aogonek.cv31, Tbar, notsubset, greaterequal, ampersand_equal.liga.cv65.ss11, e_l.liga, Iogonek, ghestroke-cy
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Bold.ttf
[ INFO ] Processing time: 0.6432 seconds
[ INFO ] Elapsed time 0.6443 seconds
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Regular.ttf
[ INFO ] Processing time: 0.6571 seconds
[ INFO ] Elapsed time 0.6582 seconds
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-BoldItalic.ttf
[ INFO ] Processing time: 0.7411 seconds
[ INFO ] Elapsed time 0.7423 seconds
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Italic.ttf
[ INFO ] Processing time: 0.7203 seconds
[ INFO ] Elapsed time 0.7214 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-BoldItalic.ttf
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Bold.ttf
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Regular.ttf
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Italic.ttf
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Bold.ttf
[ INFO ] Processing time: 0.2387 seconds
[ INFO ] Elapsed time 0.2397 seconds
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-BoldItalic.ttf
[ INFO ] Processing time: 0.2631 seconds
[ INFO ] Elapsed time 0.2643 seconds
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Regular.ttf
[ INFO ] Processing time: 0.2406 seconds
[ INFO ] Elapsed time 0.2416 seconds
[ SUCCESS ] File saved to /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Italic.ttf
[ INFO ] Processing time: 0.2646 seconds
[ INFO ] Elapsed time 0.2657 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Bold.ttf
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-BoldItalic.ttf
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Regular.ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0989 seconds
[ INFO ] Elapsed time 0.1007 seconds
[ SKIP ] No changes made
[ INFO ] Processing time: 0.0986 seconds
[ INFO ] Elapsed time 0.0997 seconds
[ SKIP ] No changes made
[ INFO ] Processing time: 0.1065 seconds
[ INFO ] Elapsed time 0.1080 seconds
[ INFO ] Processing file /media/pc/data/lxw/ai/tasks/maple-font/fonts/TTF/MapleMono-Italic.ttf
[ SKIP ] No changes made
[ INFO ] Processing time: 0.1107 seconds
[ INFO ] Elapsed time 0.1119 seconds
Generating feature string with italic=False, cn=False, normal=False, calt=True, variable=False, infinite=True, tag=True
Generating feature string with italic=False, cn=False, normal=False, calt=True, variable=False, infinite=True, tag=True
Generating feature string with italic=True, cn=False, normal=False, calt=True, variable=False, infinite=True, tag=True
Generating feature string with italic=True, cn=False, normal=False, calt=True, variable=False, infinite=True, tag=True
✅ Verified glyph width in MapleMono-Bold
✅ Verified glyph width in MapleMono-Regular
✅ Verified glyph width in MapleMono-BoldItalic
✅ Verified glyph width in MapleMono-Italic
👉 Auto hint MapleMono-Bold.ttf
👉 Auto hint MapleMono-Regular.ttf
👉 Auto hint MapleMono-Italic.ttf
👉 Auto hint MapleMono-BoldItalic.ttf
Generating feature string with italic=False, cn=False, normal=False, calt=True, variable=False, infinite=False, tag=True
Generating feature string with italic=False, cn=False, normal=False, calt=True, variable=False, infinite=False, tag=True
Generating feature string with italic=True, cn=False, normal=False, calt=True, variable=False, infinite=False, tag=True
Generating feature string with italic=True, cn=False, normal=False, calt=True, variable=False, infinite=False, tag=True
🔧 Patch Nerd-Font v3.4.0 using prebuild base font...
👉 NerdFont version for MapleMono-Regular.ttf
👉 NerdFont version for MapleMono-Bold.ttf
👉 NerdFont version for MapleMono-Italic.ttf
👉 NerdFont version for MapleMono-BoldItalic.ttf
✅ Verified glyph width in MapleMono-NF-BoldItalic
✅ Verified glyph width in MapleMono-NF-Regular
✅ Verified glyph width in MapleMono-NF-Bold
✅ Verified glyph width in MapleMono-NF-Italic
Checking CN static font directory source/cn/static
✅ Hash verified
🔎 Build CN fonts with Nerd-Font...
👉 NF-CN version for MapleMono-NF-BoldItalic.ttf
👉 NF-CN version for MapleMono-NF-Bold.ttf
👉 NF-CN version for MapleMono-NF-Regular.ttf
👉 NF-CN version for MapleMono-NF-Italic.ttf
Dropped cmap subtable from font '0': format 6, platformID 1, platEncID 0
Dropped cmap subtable from font '0': format 6, platformID 1, platEncID 0
Dropped cmap subtable from font '1': format 6, platformID 1, platEncID 0
Dropped cmap subtable from font '1': format 6, platformID 1, platEncID 0
Dropped cmap subtable from font '0': format 6, platformID 1, platEncID 0
Dropped cmap subtable from font '1': format 6, platformID 1, platEncID 0
Dropped cmap subtable from font '0': format 6, platformID 1, platEncID 0
Dropped cmap subtable from font '1': format 6, platformID 1, platEncID 0
Generating feature string with italic=True, cn=True, normal=False, calt=True, variable=False, infinite=True, tag=True
Generating feature string with italic=False, cn=True, normal=False, calt=True, variable=False, infinite=True, tag=True
Generating feature string with italic=True, cn=True, normal=False, calt=True, variable=False, infinite=True, tag=True
Generating feature string with italic=False, cn=True, normal=False, calt=True, variable=False, infinite=True, tag=True
Scale CN / JP glyph to (1.05x, 1.05x)
Scale CN / JP glyph to (1.05x, 1.05x)
Scale CN / JP glyph to (1.05x, 1.05x)
Scale CN / JP glyph to (1.05x, 1.05x)
✅ Verified glyph width in MapleMono-NF-CN-Bold
✅ Verified glyph width in MapleMono-NF-CN-Regular
✅ Verified glyph width in MapleMono-NF-CN-Italic
✅ Verified glyph width in MapleMono-NF-CN-BoldItalic
[maple-font-builder] 正在清理目标目录: /media/pc/data/lxw/ai/tasks/maple-font/src/maple_font/data/fonts
[maple-font-builder] 正在将字体文件从 /media/pc/data/lxw/ai/tasks/maple-font/fonts 复制到 /media/pc/data/lxw/ai/tasks/maple-font/src/maple_font/data/fonts
[maple-font-builder] 已复制: Variable
[maple-font-builder] 已复制: TTF
[maple-font-builder] 已复制: TTF-AutoHint
[maple-font-builder] 已复制: NF
🏁 Build finished at 17:37:46, cost 70.50 s, family name is Maple Mono, +calt;
See your fonts in /media/pc/data/lxw/ai/tasks/maple-font/fonts
[maple-font-builder] 已复制: NF-CN
[maple-font-builder] 已复制: build-config.json
[maple-font-builder] 字体文件复制成功,共复制 6 个文件,失败 0 个
自定义字体构建成功
VSCode#
VS Code (settings.json)
{
// "editor.fontFamily": "'Maple Mono','Maple Mono NF','Maple Mono CN',monospace", 或者
"editor.fontFamily": "Maple Mono NF CN, Menlo, Consolas, Maple UI, PingFang, 'Microsoft YaHei', monospace",
// "editor.fontLigatures": true, 或者
"editor.fontLigatures": "'calt', 'cv01', 'ss01', 'zero'",
"editor.lineHeight": 1.6,
"terminal.integrated.fontFamily": "Maple Mono NF",
"editor.fontSize": 14
}
也可以考虑直接使用 Maple Mono 插件
Web 集成#
基本引入#
@font-face {
font-family: 'MapleMono';
src: url('/fonts/MapleMono-Regular.woff2') format('woff2'),
url('/fonts/MapleMono-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
font-display: swap;
}
code, pre, kbd, samp {
font-family: 'MapleMono', 'Maple Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
可变字体与特性#
code {
font-variation-settings: 'wght' 450, 'slnt' 0;
font-feature-settings: "calt" 1, "liga" 1, "ss06" 1, "ss07" 1, "zero" 1;
}
特性与进阶#
连字与样式控制#
开启连字(编辑器/浏览器):
VS Code:
"editor.fontLigatures": trueCSS:
font-feature-settings: "liga" 1, "calt" 1;
关闭连字:
VS Code:
"editor.fontLigatures": falseCSS:
font-feature-settings: "liga" 0, "calt" 0;
常见可读性增强:
"zero" 1:零与欧(0/O)区分"ss0x"/"cv0x":按样式集或自定义变体切换字形
中文与混排建议#
英中文对齐:以等宽代码环境为主,正文避免强制等宽
行高建议:代码块
line-height1.6–1.8标点与表格:必要时关闭连字或调整字距
“CN” 变体:减少 fallback 抖动
Maple Mono 与 Sphinx 集成#
:root {
--code-font-stack: 'Maple Mono','Maple Mono CN','Maple Mono NF',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
code, pre, .highlight code, .highlight pre {
font-family: var(--code-font-stack);
font-feature-settings: "calt" 1, "liga" 1, "zero" 1;
line-height: 1.7;
}