2026-02-14 16:39:10 +08:00
2026-02-11 17:17:24 +08:00
2026-02-14 16:39:10 +08:00
2026-02-06 11:56:47 +08:00
2026-02-11 17:17:24 +08:00
2026-02-11 17:17:24 +08:00
2026-02-06 11:56:47 +08:00
2026-02-11 17:17:24 +08:00
2026-02-11 12:10:49 +08:00
2026-02-08 18:28:39 +08:00
2026-02-10 13:47:16 +08:00
2026-02-07 16:05:38 +08:00
2026-02-06 11:56:47 +08:00
2026-02-08 22:31:25 +08:00
2026-02-06 11:58:42 +08:00
2026-02-08 18:28:39 +08:00
2026-02-06 11:56:47 +08:00
2026-02-11 11:06:24 +08:00
2026-02-11 11:06:24 +08:00
2026-02-11 11:07:30 +08:00
2026-02-06 11:56:47 +08:00
2026-02-12 09:56:46 +08:00
2026-02-08 18:28:39 +08:00

font2svg

本仓库提供三条能力链路:

  • Web 应用(frontend/):本地字体预览、多字体对比、导出 SVG/PNG
  • 微信小程序(miniprogram/):移动端预览、导出 SVG/PNG、文件分享
  • 小程序渲染服务(apiserver/):服务端渲染 SVG API
  • Python CLI根目录脚本图片转 SVG、字体文本转 SVG

最新版本

  • v1.0.32026-02-10
  • 小程序新增“手动路由切换”能力:通过远端 route-config.json 在 A/B 服务间切换,无需小程序发版
  • 切换策略包含双确认与 cooldown 防抖,降低误切换与来回抖动
  • B 侧新增 Cloudflare Tunnel 接入路径(mac-tunnel.biboer.cn),适配家庭网络场景

文档导航

  • 项目总览:README.md
  • 详细设计:DETAIL-DESIGN.md
  • 使用说明:USAGE.md
  • 迭代计划:PLAN.md
  • 前端子项目说明:frontend/README.md
  • 小程序子项目说明:miniprogram/README.md

界面快照

snapshot

核心特性

  • 字体树 + 分类折叠 + 搜索 + 收藏
  • 预览勾选与导出勾选分离,支持全选/全不选
  • 文本自动按每行 45 字换行(保留手动换行)
  • 预览采用分批加载与并发渲染,降低大字体库卡顿
  • 导出 SVGPNG,多项自动打包 ZIP
  • 字体来源统一为 frontend/public/fonts/

目录结构

font2svg/
├── frontend/                    # Vue3 + TS Web 应用
│   ├── public/
│   │   ├── fonts/               # 字体唯一来源目录
│   │   └── fonts.json           # 字体清单(脚本生成)
│   └── src/
├── miniprogram/                 # 微信小程序(原生)
│   ├── pages/                   # 输入/预览/字体选择页面
│   └── assets/fonts.json        # 小程序字体清单(脚本同步)
├── apiserver/                   # 小程序远端渲染 API
├── scripts/
│   └── generate-font-list.py    # 同步生成 Web + 小程序字体清单
├── font2svg.py                  # 字体文本转 SVGPython CLI
├── pic2svg.py                   # 图片转 SVGPython CLI
└── DETAIL-DESIGN.md             # 详细设计

环境要求

  • Node.js >=18
  • pnpm >=8
  • Python >=3.9
  • 可选potracepic2svg.py 需要

快速开始Web

pnpm -C frontend install
pnpm run prepare-fonts
pnpm run dev

默认访问地址:http://localhost:5174

常用命令

# 根目录
pnpm run dev
pnpm run build
pnpm run preview
pnpm run prepare-fonts
pnpm run mp:syntax
pnpm run mp:lint
pnpm run mp:test

# 前端子项目
pnpm -C frontend run dev
pnpm -C frontend run build
pnpm -C frontend run preview

Python CLI 概览

# 字体转 SVG
python font2svg.py --font path/to/font.ttf --text "你好"

# 图片转 SVG
python pic2svg.py images/your_image.png --outdir output

详细参数请看 USAGE.md

Description
No description provided
Readme 73 MiB
v1.0.3 Latest
2026-02-11 11:07:36 +08:00
Languages
JavaScript 49%
Vue 18%
Python 17.1%
TypeScript 11.2%
Shell 4%
Other 0.7%