当前版本:v1.0.0
Windows 字体管理工具(tkinter GUI):浏览本机已安装字体、预览多语言效果、查看字符集、筛选对比,并可将结果导出为 PNG 图片。
采用图形界面(无需命令行),适合日常筛选字体、检查字体是否包含指定字符、对比中英文渲染效果。
- 自动扫描系统字体目录
C:\Windows\Fonts与用户字体目录%LOCALAPPDATA%\Microsoft\Windows\Fonts - 支持
.ttf / .otf / .ttc / .otc格式 - 中文字体名使用本地化名称显示(如「微软雅黑」而非「Microsoft YaHei」)
- 每行显示一个字体:字体名称 + 效果列
- 显示内容切换:英文 / 简体 / 繁体,三种文本可独立编辑
- 预设文本:下拉快速填入常用样张(英文、中文简体、中文繁体)
- 样式控制:可调字号(8–96)、粗体、斜体
- 分页浏览:每页 15 个字体,支持上一页 / 下一页
- 字体筛选:弹出多选窗口,勾选后只显示选中的字体;「全部显示」一键恢复
- 鼠标滚轮:在字体列表区域直接滚动浏览
- 按 Unicode 标准区块(Block) 组织,覆盖拉丁、希腊、西里尔、国际音标、平假名、片假名、注音、CJK 部首、康熙部首、汉字、数学运算符、制表绘图符、几何、箭头、杂项符号、全角等 50 余个常用区块
- 逐字符网格预览,行列数随窗口与字号自适应铺满页面
- 字体切换:下拉框选择字体,或用「◀ 上一个 / 下一个 ▶」在全部字体间循环切换(重名项为同一字族的不同变体,逐个切换可分别查看)
- 显示模式:完整 + 缺字标注 / 仅该字体支持
- 编码查看:Unicode 码点 / GBK / GB18030 三种编码值切换
- 双击复制:双击任意字符,将其复制到剪贴板(底部状态栏会提示)
- 字符集独立字号调节(默认 60)
- 内置「帮助」页签,分级排版展示详细系统功能说明(中英文 / 字符集 / 通用操作),无需查阅外部文档
- 右键任意字体,弹出窗口查看:字体族、全名、文件名、路径、版本、版权、厂商
- 中英文页:将当前列表页导出为 PNG
- 字符集页:将当前字符集网格页导出为 PNG
- 保存对话框默认定位到桌面路径,避免默认目录无权限
- 字体加载 / 中文字形判断 / 字符映射表均带缓存(key 为
(path, size, bold, italic)),避免重复 IO - 字符集网格渲染直接在主图上逐字符绘制,避免每字符创建临时图片,显著降低切换字体 / 翻页时的卡顿
- 简体 / 繁体模式下自动过滤不含中文字形的字体
- Windows
- Python 3.9+(推荐 3.11,自带 tkinter)
- 依赖:Pillow、fonttools(见
requirements.txt)
# 安装依赖
pip install -r requirements.txt
# 直接启动
python main.py或双击 start.bat(自动优先使用带 tkinter 的 Python 3.11 环境,纯英文内容避免代码页乱码)。
使用 PyInstaller 打包为单文件 exe(无控制台窗口),并附带启动画面(splash)与应用图标。
pip install pyinstaller# 生成图标与启动画面(蓝色 Aa 图标方案)
python gen_dark_icon.py # 深色青发光 Aa 图标(推荐,会覆盖 assets/app.ico)
python gen_assets.py # 蓝色 Aa 图标 + 启动画面 splash.png(如需)生成产物:
assets/app.ico— 应用 / exe 图标(多尺寸)assets/splash.png— 启动画面
python -m PyInstaller pat-fontmgr.spec --noconfirmpat-fontmgr.spec 已配置:
--onefile单文件、--noconsole隐藏控制台--icon应用图标(exe 图标)--splash启动画面(应用窗口真正显示后才关闭)--add-data携带assets/app.ico运行时资源
python -m PyInstaller --onefile --noconsole --name pat-fontmgr `
--icon assets/app.ico `
--splash assets/splash.png `
--add-data "assets/app.ico;assets" `
main.py- 输出:
dist/pat-fontmgr.exe - 中间文件:
build/目录(可忽略) build/与dist/已在.gitignore中忽略,不会上传到仓库
dist/pat-fontmgr.exe 是编产生的二进制,不属于源码,不应 commit 进版本库。对外分发请走 GitHub Releases。
# 创建标签并推送
git tag v1.0.0
git push origin v1.0.0
# 创建 Release 并上传 exe
gh release create v1.0.0 "dist/pat-fontmgr.exe" --title "pat-fontmgr v1.0.0" --notes "更新说明"- 进入仓库页面 → 右侧 Releases → Draft a new release
- 填写标签版本号(如
v1.0.0)与发布说明 - 拖拽
dist/pat-fontmgr.exe到附件区上传 - 点击 Publish release
pat-fontmgr/
├── main.py # 程序入口(含启动画面控制)
├── start.bat # 启动脚本(纯英文,避免编码问题)
├── requirements.txt # 依赖清单
├── pat-fontmgr.spec # PyInstaller 打包配置
├── gen_assets.py # 生成图标 + 启动画面资源
├── gen_dark_icon.py # 生成深色青发光 Aa 图标
├── assets/ # 图标资源(app.ico、splash.png、候选图)
├── Docs/ # 需求与设计文档
└── fontmgr/
├── fonts.py # 字体枚举与元信息读取
├── renderer.py # Pillow 字体渲染(带缓存)
├── charsets.py # 字符集(Unicode Block)定义与字符信息查询
├── exporter.py # PNG 导出
└── ui.py # tkinter 主界面
- 中文字体名使用本地化名称显示(如「微软雅黑」)
- 简体 / 繁体模式下仅显示含中文字形的字体
- 字符集表格行列数随窗口与字号自适应,尽量铺满页面
- 关闭 GUI 窗口后,
start.bat自动退出;仅启动失败时暂停显示错误信息