这个工具用于将 ComicShannsMono Nerd Font 的特定字符替换到 Maple Mono NF CN 中,创建 ChHsich Nerd Font。
✅ 项目已完成
- 成功创建了16个ChHsich Nerd Font字体文件
- 所有字体都包含了所需的109个字符
- 字体名称已正确更新为"ChHsich Nerd Font"
- 字符替换成功完成
- 提供完整的安装和卸载脚本
- ✅ 新增:TTC字体集合文件 - 将所有字体样式打包到一个文件中,方便Windows用户安装
- ✅ 新增:分卷压缩文件 - 提供分卷压缩版本,便于下载和分发
- ✅ 新增:AUR包 - Arch Linux用户可通过
yay -S chhsich-nerd-font或paru -S chhsich-nerd-font直接安装
- 将 ComicShannsMono Nerd Font 的以下字符替换到 Maple Mono NF CN 中:
- U+0021 到 U+007E (基本拉丁字母、数字和符号)
- U+00A1 到 U+00A6 (拉丁-1补充符号)
- U+00AB (左双角引号)
- U+00AC (逻辑非符号)
- U+00AF (上划线)
- U+00B0 (度数符号)
- U+00B1 (正负号)
- U+00B4 (重音符)
- U+00BB (右双角引号)
- U+00D7 (乘号)
- U+00F7 (除号)
- Arch Linux (或其他支持 FontForge 的 Linux 发行版)
- Python 3
- FontForge
- fontTools (用于创建TTC文件)
# 安装 FontForge
sudo pacman -S fontforge
# 安装 fontTools (用于创建TTC文件)
sudo pacman -S python-fonttools-
确保项目目录结构如下:
ChHsich-Nerd-Font/ ├── ComicShannsMono/ # ComicShannsMono Nerd Font 文件 ├── MapleMono-NF-CN-unhinted/ # Maple Mono NF CN 字体文件 ├── ChHsichNerdFont/ # 输出目录 (生成的字体文件) ├── ttc_release/ # TTC分卷压缩文件目录 ├── create_chhsich_nerd_font.py ├── create_ttc_font.py # TTC文件创建脚本 ├── test_fontforge.py ├── verify_font.py ├── install.sh # 安装脚本 ├── uninstall.sh # 卸载脚本 ├── LICENSE # 许可证文件 └── README.md -
测试 FontForge 安装:
python3 test_fontforge.py
-
运行字体创建脚本:
python3 create_chhsich_nerd_font.py
-
验证生成的字体:
python3 verify_font.py
为了方便Windows用户安装,你可以创建一个包含所有字体样式的TTC文件:
# 创建TTC文件
python3 create_ttc_font.py这将生成 ChHsichNerdFont.ttc 文件,包含所有16个字体样式。Windows用户只需双击这个文件即可一次性安装所有字体样式。
TTC文件优势:
- 一次性安装所有字体样式
- 节省安装时间
- 更好的字体管理
- Windows原生支持
为了方便下载和分发,你可以创建分卷压缩文件:
# 创建分卷压缩文件
mkdir -p ttc_release
cd ttc_release
split -b 95M ../ChHsichNerdFont.ttc ChHsichNerdFont.part
zip -9 ChHsichNerdFont.zip.001 ChHsichNerdFont.partaa
zip -9 ChHsichNerdFont.zip.002 ChHsichNerdFont.partab
zip -9 ChHsichNerdFont.zip.003 ChHsichNerdFont.partac
rm ChHsichNerdFont.part*这将生成三个分卷文件:
ChHsichNerdFont.zip.001(50MB)ChHsichNerdFont.zip.002(50MB)ChHsichNerdFont.zip.003(49MB)
详细说明请查看 TTC_INSTALLATION.md。
如果你使用的是Arch Linux或基于Arch的发行版,可以直接通过AUR安装:
# 使用yay安装
yay -S chhsich-nerd-font
# 或使用paru安装
paru -S chhsich-nerd-font这是最简单的安装方式,AUR包会自动处理字体安装和缓存更新。
# 运行安装脚本
./install.sh安装脚本会:
- 自动检测系统类型(Linux/macOS)
- 选择合适的字体安装目录
- 复制字体文件到系统字体目录
- 更新字体缓存
- 创建卸载脚本
# Linux系统
sudo cp -r ChHsichNerdFont/* /usr/share/fonts/ChHsichNerdFont/
sudo fc-cache -f -v
# 或者安装到用户目录
mkdir -p ~/.local/share/fonts/ChHsichNerdFont
cp -r ChHsichNerdFont/* ~/.local/share/fonts/ChHsichNerdFont/
fc-cache -f -v# 运行卸载脚本
./uninstall.sh卸载脚本会:
- 自动检测字体安装位置
- 完全移除字体文件
- 更新字体缓存
- 清理残留文件
# 如果安装在系统目录
sudo rm -rf /usr/share/fonts/ChHsichNerdFont
sudo fc-cache -f -v
# 如果安装在用户目录
rm -rf ~/.local/share/fonts/ChHsichNerdFont
fc-cache -f -v脚本将在 ChHsichNerdFont/ 目录中生成以下字体文件:
- ChHsichNerdFont-Regular.ttf
- ChHsichNerdFont-Bold.ttf
- ChHsichNerdFont-Italic.ttf
- ChHsichNerdFont-BoldItalic.ttf
- ChHsichNerdFont-Light.ttf
- ChHsichNerdFont-LightItalic.ttf
- ChHsichNerdFont-Medium.ttf
- ChHsichNerdFont-MediumItalic.ttf
- ChHsichNerdFont-SemiBold.ttf
- ChHsichNerdFont-SemiBoldItalic.ttf
- ChHsichNerdFont-ExtraBold.ttf
- ChHsichNerdFont-ExtraBoldItalic.ttf
- ChHsichNerdFont-Thin.ttf
- ChHsichNerdFont-ThinItalic.ttf
- ChHsichNerdFont-ExtraLight.ttf
- ChHsichNerdFont-ExtraLightItalic.ttf
TTC文件(可选):
- ChHsichNerdFont.ttc - 包含所有16个字体样式的集合文件(约284MB)
✅ 成功创建了16个字体文件
- 所有字体文件都包含了所需的109个字符
- 字体名称已正确更新为 "ChHsich Nerd Font"
- 字符替换成功:ComicShannsMono Nerd Font 的英文字符已替换到 Maple Mono NF CN 中
- ✅ TTC文件创建成功 - 包含所有16个字体样式,方便Windows用户安装
本项目基于以下开源字体创建:
-
ComicShannsMono Nerd Font
- Copyright (c) 2018 Shannon Miwa
- Copyright (c) 2023 Jesus Gonzalez
- Licensed under MIT License
-
Maple Mono NF CN
- Copyright 2022 The Maple Mono Project Authors
- Licensed under SIL Open Font License, Version 1.1
ChHsich Nerd Font 采用 SIL Open Font License, Version 1.1 许可证。
- ✅ 可以自由使用、修改和分发
- ❌ 不能单独销售字体文件
- ✅ 可以与其他软件捆绑分发
- ✅ 必须包含原始版权声明和许可证
- ✅ 必须使用相同的许可证
详细许可证信息请查看 LICENSE 文件。
- 脚本会自动匹配字体样式(Regular、Bold、Italic等)
- 如果源字体中缺少某些字符,脚本会显示警告信息
- 生成的字体将保留 Maple Mono NF CN 的中文字符和 ComicShannsMono Nerd Font 的英文字符
- 字体名称会自动更新为 "ChHsich Nerd Font"
- 请遵守许可证要求,不要单独销售字体文件
- 安装脚本会自动检测系统类型并选择合适的安装目录
- 卸载脚本会完全清理字体文件,不会留下残留
如果遇到问题,请检查:
- FontForge 是否正确安装
- 字体文件是否存在于正确的目录中
- 是否有足够的磁盘空间
- 是否有写入权限
- 安装脚本是否有执行权限(
chmod +x install.sh) - 系统是否支持字体缓存更新(
fc-cache命令)
欢迎提交Issue和Pull Request来改进这个项目。请确保遵守原始字体的许可证要求。

