From 104c43588445c426074621ae223841abc602bdb2 Mon Sep 17 00:00:00 2001 From: douboer Date: Fri, 6 Feb 2026 16:15:53 +0800 Subject: [PATCH] update at 2026-02-06 16:15:53 --- PLAN.md | 1249 +++++++++++++++++ src/assets/icons/Button.svg | 5 + .../Iconfont SVG # 24gl-fontSizeDecrease.svg | 3 + .../Iconfont SVG # 24gl-fontSizeIncrease.svg | 3 + src/assets/icons/Iconfont SVG # 展开.svg | 3 + src/assets/icons/icons_idx _12.svg | 3 + src/assets/icons/icons_idx _18.svg | 4 + src/assets/icons/icons_idx _19.svg | 3 + src/assets/icons/icons_idx _29.svg | 3 + src/assets/icons/icons_idx _32.svg | 4 + src/assets/icons/icons_idx _33.svg | 3 + src/assets/icons/icons_idx _34.svg | 3 + src/assets/icons/icons_idx _35.svg | 3 + src/assets/icons/icons_idx _36.svg | 3 + src/assets/icons/icons_idx _37.svg | 3 + src/assets/icons/icons_idx _38.svg | 3 + src/assets/icons/icons_idx _7.svg | 4 + src/assets/icons/星程字体.svg | 4 + src/assets/icons/星程字体转换.svg | 10 + src/assets/webicon.png | Bin 0 -> 130640 bytes 20 files changed, 1316 insertions(+) create mode 100644 PLAN.md create mode 100644 src/assets/icons/Button.svg create mode 100644 src/assets/icons/Iconfont SVG # 24gl-fontSizeDecrease.svg create mode 100644 src/assets/icons/Iconfont SVG # 24gl-fontSizeIncrease.svg create mode 100644 src/assets/icons/Iconfont SVG # 展开.svg create mode 100644 src/assets/icons/icons_idx _12.svg create mode 100644 src/assets/icons/icons_idx _18.svg create mode 100644 src/assets/icons/icons_idx _19.svg create mode 100644 src/assets/icons/icons_idx _29.svg create mode 100644 src/assets/icons/icons_idx _32.svg create mode 100644 src/assets/icons/icons_idx _33.svg create mode 100644 src/assets/icons/icons_idx _34.svg create mode 100644 src/assets/icons/icons_idx _35.svg create mode 100644 src/assets/icons/icons_idx _36.svg create mode 100644 src/assets/icons/icons_idx _37.svg create mode 100644 src/assets/icons/icons_idx _38.svg create mode 100644 src/assets/icons/icons_idx _7.svg create mode 100644 src/assets/icons/星程字体.svg create mode 100644 src/assets/icons/星程字体转换.svg create mode 100644 src/assets/webicon.png diff --git a/PLAN.md b/PLAN.md new file mode 100644 index 0000000..6f171e5 --- /dev/null +++ b/PLAN.md @@ -0,0 +1,1249 @@ +# Font2SVG Web 应用开发计划 + +## 项目概述 + +基于 Figma 设计实现一个交互式字体转 SVG 工具的 Web 应用。采用纯前端架构,使用 TypeScript + Vue3 + Vite 技术栈,在浏览器中通过 opentype.js 和 harfbuzz.js (WASM) 实现字体到 SVG 的实时转换。 + +## ⚠️ 核心技术决策 + +**字体到 SVG 转换实现方式:TypeScript 重新实现** + +**决策内容**: +- ✅ 使用 TypeScript + opentype.js + harfbuzz.js 重新实现核心转换逻辑 +- ✅ `font2svg.py` 保持不变,仅作为算法参考 +- ❌ 不调用 Python 代码(不使用 FastAPI 后端、Pyodide 或 Electron) + +**决策理由**: +1. **纯前端架构** - 无需后端服务器,部署成本为零 +2. **性能更优** - 浏览器直接处理,无网络延迟 +3. **用户体验佳** - 实时预览响应快,交互流畅 +4. **可离线使用** - 可打包为 PWA,完全离线工作 +5. **技术可行** - opentype.js + harfbuzz.js 完全覆盖 font2svg.py 的功能 + +**技术对比**: +```typescript +// font2svg.py 核心逻辑(~100 行) +// 1. 加载字体 → opentype.parse(buffer) +// 2. Text shaping → harfbuzz.js WASM +// 3. 获取字形 → glyph.getPath() +// 4. 坐标变换 → 简单数学计算 +// 5. 生成 SVG → 字符串拼接 +``` + +## 技术架构 + +### 核心技术栈 +- **前端框架**: Vue 3 + TypeScript +- **构建工具**: Vite +- **样式方案**: UnoCSS (原子化 CSS,与 Tailwind 兼容) +- **状态管理**: Pinia +- **字体处理**: opentype.js + harfbuzz.js (WASM) + +### 关键约束 +- ✅ 保持 `font2svg.py` 不变,仅作为参考 +- ✅ 纯前端实现,无需后端服务器 +- ✅ 字体文件放在 `font/` 目录 +- ✅ SVG 图标放在 `src/assets/icons/` +- ✅ 应用图标为 `src/assets/webicon.png` +- ✅ 使用 fonttools.subset 预处理字体(构建时) +- ❌ 暂不实现运行时缓存策略 +- ❌ 暂不需要许可证管理 + +## 项目结构 + +``` +font2svg/ +├── font/ # 源字体文件(不打包) +│ ├── 庞门正道/ +│ ├── 王漢宗/ +│ └── 其他字体/ +├── public/ +│ └── fonts/ # 构建时生成的字体子集 +├── scripts/ +│ └── prepare-fonts.py # 字体预处理脚本(fonttools.subset) +├── src/ +│ ├── assets/ +│ │ ├── icons/ # SVG UI 图标 +│ │ └── webicon.png # 应用图标 +│ ├── components/ +│ │ ├── FontSelector.vue # 字体选择器(树状结构) +│ │ ├── FontTree.vue # 字体树组件(展开/收拢) +│ │ ├── FavoritesList.vue # 收藏字体列表 +│ │ ├── TextInput.vue # 文本输入框 +│ │ ├── LetterSpacingSlider.vue# 字间距调整滑块 +│ │ ├── SvgPreview.vue # SVG 预览区 +│ │ ├── PreviewItem.vue # 单个字体预览项 +│ │ └── ExportPanel.vue # 导出面板 +│ ├── composables/ +│ │ ├── useFont.ts # 字体加载和管理 +│ │ ├── useSvgGenerate.ts # SVG 生成核心逻辑 +│ │ ├── useTextShaping.ts # HarfBuzz text shaping +│ │ └── useFavorites.ts # 收藏功能 +│ ├── stores/ +│ │ ├── fontStore.ts # 字体状态管理 +│ │ └── uiStore.ts # UI 状态(预览大小等) +│ ├── utils/ +│ │ ├── harfbuzz.ts # HarfBuzz WASM 封装 +│ │ ├── font-loader.ts # 字体文件加载 +│ │ ├── svg-builder.ts # SVG 文档构建 +│ │ └── download.ts # 文件下载工具 +│ ├── types/ +│ │ └── font.d.ts # TypeScript 类型定义 +│ ├── App.vue # 根组件 +│ └── main.ts # 应用入口 +├── vite.config.ts +├── tsconfig.json +├── uno.config.ts # UnoCSS 配置 +└── package.json +``` + +## 开发阶段 + +### 阶段 1: 项目初始化与环境配置 (1-2 天) + +**目标**: 搭建开发环境和基础架构 + +**任务**: +1. 初始化 Vite + Vue3 + TypeScript 项目 + ```bash + pnpm create vite font2svg-web --template vue-ts + ``` + +2. 安装核心依赖 + ```bash + pnpm add opentype.js harfbuzzjs pinia + pnpm add -D unocss @unocss/preset-wind vite-plugin-wasm + ``` + +3. 配置 Vite 支持 WASM + ```typescript + // vite.config.ts + import wasm from 'vite-plugin-wasm'; + export default defineConfig({ + plugins: [vue(), UnoCSS(), wasm()], + optimizeDeps: { exclude: ['harfbuzzjs'] } + }); + ``` + +4. 配置 UnoCSS + ```typescript + // uno.config.ts + import { defineConfig, presetWind } from 'unocss'; + export default defineConfig({ + presets: [presetWind()] + }); + ``` + +5. 创建目录结构 + - 创建 `src/components/`、`src/composables/`、`src/stores/`、`src/utils/`、`src/types/` + - 复制 UI 图标到 `src/assets/icons/` + - 复制应用图标到 `src/assets/webicon.png` + +**验收标准**: +- ✅ 项目可成功启动并显示 Hello World +- ✅ UnoCSS 样式正常工作 +- ✅ TypeScript 类型检查无错误 + +--- + +### 阶段 2: 核心转换模块开发 (3-5 天) + +**目标**: 实现字体到 SVG 的核心转换逻辑 + +**参考**: `font2svg.py` 的实现算法 + +**任务**: + +#### 2.1 HarfBuzz WASM 封装 +```typescript +// src/utils/harfbuzz.ts +import hbjs from 'harfbuzzjs'; + +let hb: any = null; + +export async function initHarfbuzz() { + if (!hb) { + hb = await hbjs(); + } + return hb; +} + +export interface ShapedGlyph { + glyphIndex: number; + xAdvance: number; + yAdvance: number; + xOffset: number; + yOffset: number; +} + +export async function shapeText( + fontBuffer: ArrayBuffer, + text: string +): Promise { + const hb = await initHarfbuzz(); + + const blob = hb.createBlob(fontBuffer); + const face = hb.createFace(blob, 0); + const font = hb.createFont(face); + + const buffer = hb.createBuffer(); + buffer.addText(text); + buffer.guessSegmentProperties(); + hb.shape(font, buffer); + + const result = buffer.json(); + + // 清理资源 + buffer.destroy(); + font.destroy(); + face.destroy(); + blob.destroy(); + + return result.map((item: any) => ({ + glyphIndex: item.g, + xAdvance: item.ax, + yAdvance: item.ay, + xOffset: item.dx, + yOffset: item.dy + })); +} +``` + +#### 2.2 字体加载模块 +```typescript +// src/utils/font-loader.ts +import opentype from 'opentype.js'; + +export async function loadFont( + source: File | string | ArrayBuffer +): Promise { + if (source instanceof File) { + const buffer = await source.arrayBuffer(); + return opentype.parse(buffer); + } else if (typeof source === 'string') { + return opentype.load(source); + } else { + return opentype.parse(source); + } +} + +export async function loadFontWithProgress( + url: string, + onProgress?: (percent: number) => void +): Promise { + const response = await fetch(url); + const contentLength = response.headers.get('content-length'); + const total = contentLength ? parseInt(contentLength) : 0; + + const reader = response.body!.getReader(); + const chunks: Uint8Array[] = []; + let loaded = 0; + + while (true) { + const { done, value } = await reader.read(); + if (done) break; + + chunks.push(value); + loaded += value.length; + + if (onProgress && total > 0) { + onProgress(Math.round((loaded / total) * 100)); + } + } + + const buffer = new Uint8Array(loaded); + let offset = 0; + for (const chunk of chunks) { + buffer.set(chunk, offset); + offset += chunk.length; + } + + return opentype.parse(buffer.buffer); +} +``` + +#### 2.3 SVG 生成核心逻辑 +```typescript +// src/composables/useSvgGenerate.ts +import { ref } from 'vue'; +import type { Font } from 'opentype.js'; +import { shapeText, initHarfbuzz } from '@/utils/harfbuzz'; + +export function useSvgGenerate() { + const svgContent = ref(''); + const isGenerating = ref(false); + const error = ref(null); + + async function generate( + font: Font, + text: string, + letterSpacing: number = 0, + fontSize: number = 72 + ) { + isGenerating.value = true; + error.value = null; + + try { + // 1. 初始化 HarfBuzz + await initHarfbuzz(); + + // 2. 获取字体 buffer + const fontBuffer = font.toArrayBuffer(); + + // 3. Text shaping + const shaped = await shapeText(fontBuffer, text); + + // 4. 提取字形路径和位置 + const scale = fontSize / font.unitsPerEm; + let currentX = 0; + const paths: Array<{ d: string; x: number; y: number }> = []; + + for (const item of shaped) { + const glyph = font.glyphs.get(item.glyphIndex); + const glyphPath = glyph.getPath(0, 0, fontSize); + + const x = currentX + (item.xOffset / 64) * scale; + const y = (item.yOffset / 64) * scale; + + paths.push({ + d: glyphPath.toPathData(), + x, + y + }); + + // HarfBuzz 使用 26.6 定点数(除以 64) + currentX += (item.xAdvance / 64) * scale + letterSpacing; + } + + // 5. 计算边界框 + const fullPath = font.getPath(text, 0, 0, fontSize); + const bbox = fullPath.getBoundingBox(); + + const width = Math.ceil(bbox.x2 - bbox.x1 + letterSpacing * (text.length - 1)); + const height = Math.ceil(bbox.y2 - bbox.y1); + const offsetX = -bbox.x1; + const offsetY = -bbox.y1; + + // 6. 生成 SVG 文档 + const pathElements = paths.map(({ d, x, y }) => { + return ` `; + }).join('\n'); + + svgContent.value = ` + + +${pathElements} + +`; + + } catch (err) { + error.value = err instanceof Error ? err.message : '生成失败'; + console.error('SVG 生成错误:', err); + } finally { + isGenerating.value = false; + } + } + + return { svgContent, isGenerating, error, generate }; +} +``` + +#### 2.4 下载工具 +```typescript +// src/utils/download.ts +export function downloadSvg(content: string, filename: string) { + const blob = new Blob([content], { type: 'image/svg+xml;charset=utf-8' }); + const url = URL.createObjectURL(blob); + const link = document.createElement('a'); + link.href = url; + link.download = filename.endsWith('.svg') ? filename : `${filename}.svg`; + link.click(); + URL.revokeObjectURL(url); +} + +export async function downloadMultipleSvgs( + svgList: Array<{ content: string; filename: string }> +) { + // 使用 JSZip 打包多个 SVG + const JSZip = (await import('jszip')).default; + const zip = new JSZip(); + + svgList.forEach(({ content, filename }) => { + zip.file(filename, content); + }); + + const blob = await zip.generateAsync({ type: 'blob' }); + const url = URL.createObjectURL(blob); + const link = document.createElement('a'); + link.href = url; + link.download = 'font-svgs.zip'; + link.click(); + URL.revokeObjectURL(url); +} +``` + +**验收标准**: +- ✅ 成功加载 TTF/OTF 字体文件 +- ✅ HarfBuzz WASM 正常初始化和工作 +- ✅ 能够将文本转换为 SVG 格式 +- ✅ SVG 输出与 `font2svg.py` 结果一致 +- ✅ 支持中文字符和复杂排版 + +--- + +### 阶段 3: UI 组件开发 (5-7 天) + +**目标**: 实现 Figma 设计的所有界面组件 + +**Figma 设计参考**: 节点 3:5 + +#### 3.1 状态管理 +```typescript +// src/stores/fontStore.ts +import { defineStore } from 'pinia'; +import type { Font } from 'opentype.js'; + +export interface FontInfo { + id: string; + name: string; + category: string; + path: string; + font?: Font; +} + +export const useFontStore = defineStore('font', { + state: () => ({ + fontList: [] as FontInfo[], + selectedFonts: [] as string[], // font IDs for preview + currentFont: null as Font | null, + text: '星程紫微', + letterSpacing: 0, + fontSize: 72 + }), + + actions: { + async loadFontList() { + // 从 fonts.json 加载字体元数据 + const response = await fetch('/fonts.json'); + this.fontList = await response.json(); + }, + + async loadFont(fontId: string) { + const fontInfo = this.fontList.find(f => f.id === fontId); + if (!fontInfo) return; + + if (!fontInfo.font) { + const { loadFont } = await import('@/utils/font-loader'); + fontInfo.font = await loadFont(fontInfo.path); + } + + this.currentFont = fontInfo.font; + }, + + toggleFontSelection(fontId: string) { + const index = this.selectedFonts.indexOf(fontId); + if (index === -1) { + this.selectedFonts.push(fontId); + } else { + this.selectedFonts.splice(index, 1); + } + } + } +}); +``` + +```typescript +// src/composables/useFavorites.ts +import { ref, computed } from 'vue'; + +const STORAGE_KEY = 'font2svg-favorites'; + +export function useFavorites() { + const favorites = ref([]); + + // 从 localStorage 加载 + function load() { + const stored = localStorage.getItem(STORAGE_KEY); + if (stored) { + favorites.value = JSON.parse(stored); + } + } + + // 保存到 localStorage + function save() { + localStorage.setItem(STORAGE_KEY, JSON.stringify(favorites.value)); + } + + function toggle(fontId: string) { + const index = favorites.value.indexOf(fontId); + if (index === -1) { + favorites.value.push(fontId); + } else { + favorites.value.splice(index, 1); + } + save(); + } + + function isFavorite(fontId: string) { + return favorites.value.includes(fontId); + } + + // 初始化时加载 + load(); + + return { + favorites: computed(() => favorites.value), + toggle, + isFavorite + }; +} +``` + +#### 3.2 主布局组件 +```vue + + + + +``` + +#### 3.3 字体选择器组件 +```vue + + + + +``` + +#### 3.4 字体树组件(支持展开/收拢) +```vue + + + + +``` + +#### 3.5 SVG 预览组件 +```vue + + + + +``` + +```vue + + + + +``` + +**验收标准**: +- ✅ 界面布局与 Figma 设计一致 +- ✅ 字体树支持展开/收拢 +- ✅ 收藏功能正常(LocalStorage 持久化) +- ✅ 多字体预览正常显示 +- ✅ 输入防抖生效(300ms) +- ✅ 响应式布局适配不同屏幕 + +--- + +### 阶段 4: 字体资源管理 (2-3 天) + +**目标**: 配置字体文件的加载和优化 + +#### 4.1 字体元数据生成 +```python +# scripts/scan-fonts.py +import os +import json +from pathlib import Path + +def scan_fonts(font_dir: str): + fonts = [] + + for root, dirs, files in os.walk(font_dir): + category = Path(root).name + if category == Path(font_dir).name: + category = "其他字体" + + for file in files: + if file.endswith(('.ttf', '.otf')): + font_path = os.path.join(root, file) + rel_path = os.path.relpath(font_path, start=os.path.dirname(font_dir)) + + fonts.append({ + 'id': file.replace('.', '_').replace(' ', '_'), + 'name': Path(file).stem, + 'category': category, + 'path': f'/fonts/{rel_path}' + }) + + return fonts + +if __name__ == '__main__': + fonts = scan_fonts('./font') + + with open('public/fonts.json', 'w', encoding='utf-8') as f: + json.dump(fonts, f, ensure_ascii=False, indent=2) + + print(f'扫描完成,共找到 {len(fonts)} 个字体') +``` + +#### 4.2 字体子集化脚本 +```python +# scripts/prepare-fonts.py +import os +import sys +from pathlib import Path +from fontTools.subset import Subsetter, Options +from fontTools.ttLib import TTFont + +# 常用汉字(3500 字) +COMMON_CHARS = """ +的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严 +""" + +def subset_font(input_path: str, output_path: str, text: str): + """对字体进行子集化""" + try: + font = TTFont(input_path) + + # 配置选项 + options = Options() + options.drop_tables.add('GSUB') # 移除连字表 + options.drop_tables.add('GPOS') # 移除位置表 + + # 创建子集器 + subsetter = Subsetter(options=options) + subsetter.populate(text=text) + subsetter.subset(font) + + # 保存 + os.makedirs(os.path.dirname(output_path), exist_ok=True) + font.save(output_path) + + # 计算压缩率 + original_size = os.path.getsize(input_path) + subset_size = os.path.getsize(output_path) + ratio = (1 - subset_size / original_size) * 100 + + print(f'✓ {Path(input_path).name}') + print(f' 原始: {original_size / 1024 / 1024:.2f} MB') + print(f' 子集: {subset_size / 1024 / 1024:.2f} MB') + print(f' 压缩: {ratio:.1f}%') + + return True + except Exception as e: + print(f'✗ {Path(input_path).name}: {e}') + return False + +def main(): + font_dir = Path('./font') + output_dir = Path('./public/fonts') + + if not font_dir.exists(): + print('错误: font/ 目录不存在') + sys.exit(1) + + # 清空输出目录 + if output_dir.exists(): + import shutil + shutil.rmtree(output_dir) + + # 扫描并处理所有字体 + font_files = list(font_dir.rglob('*.ttf')) + list(font_dir.rglob('*.otf')) + + print(f'找到 {len(font_files)} 个字体文件') + print(f'开始子集化(保留 {len(COMMON_CHARS)} 个常用汉字)...\n') + + success = 0 + for font_path in font_files: + rel_path = font_path.relative_to(font_dir) + output_path = output_dir / rel_path + + if subset_font(str(font_path), str(output_path), COMMON_CHARS): + success += 1 + print() + + print(f'完成!成功处理 {success}/{len(font_files)} 个字体') + +if __name__ == '__main__': + main() +``` + +#### 4.3 package.json 脚本 +```json +{ + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "prepare-fonts": "python scripts/prepare-fonts.py && python scripts/scan-fonts.py" + } +} +``` + +**验收标准**: +- ✅ 字体元数据 JSON 正确生成 +- ✅ 字体子集化成功,文件大小减少 60-80% +- ✅ 前端可正常加载优化后的字体 +- ✅ 子集字体包含所有测试文本字符 + +--- + +### 阶段 5: 导出功能与优化 (2-3 天) + +**目标**: 完成 SVG 导出和性能优化 + +#### 5.1 导出功能 +```typescript +// src/composables/useExport.ts +import { downloadSvg, downloadMultipleSvgs } from '@/utils/download'; +import { useFontStore } from '@/stores/fontStore'; +import { useSvgGenerate } from './useSvgGenerate'; + +export function useExport() { + const fontStore = useFontStore(); + const { generate } = useSvgGenerate(); + + async function exportSelected() { + const selectedFonts = fontStore.fontList.filter(f => + fontStore.selectedFonts.includes(f.id) + ); + + if (selectedFonts.length === 0) { + alert('请先选择要导出的字体'); + return; + } + + if (selectedFonts.length === 1) { + // 单个导出 + const font = selectedFonts[0]; + await fontStore.loadFont(font.id); + + if (fontStore.currentFont) { + const { svgContent } = await generate( + fontStore.currentFont, + fontStore.text, + fontStore.letterSpacing, + fontStore.fontSize + ); + + const filename = `${font.name}_${fontStore.text}.svg`; + downloadSvg(svgContent, filename); + } + } else { + // 批量导出为 ZIP + const svgList = []; + + for (const font of selectedFonts) { + await fontStore.loadFont(font.id); + + if (fontStore.currentFont) { + const { svgContent } = await generate( + fontStore.currentFont, + fontStore.text, + fontStore.letterSpacing, + fontStore.fontSize + ); + + svgList.push({ + content: svgContent, + filename: `${font.name}_${fontStore.text}.svg` + }); + } + } + + await downloadMultipleSvgs(svgList); + } + } + + return { exportSelected }; +} +``` + +#### 5.2 Web Worker 优化 +```typescript +// src/workers/font-processor.worker.ts +import opentype from 'opentype.js'; +import { shapeText } from '@/utils/harfbuzz'; + +self.onmessage = async (e) => { + const { type, data } = e.data; + + try { + switch (type) { + case 'load-font': { + const font = opentype.parse(data.buffer); + self.postMessage({ + type: 'font-loaded', + data: { fontName: font.names.fullName.en } + }); + break; + } + + case 'generate-svg': { + const { fontBuffer, text, letterSpacing, fontSize } = data; + const font = opentype.parse(fontBuffer); + + // ... SVG 生成逻辑 ... + + self.postMessage({ + type: 'svg-generated', + data: { svgContent } + }); + break; + } + } + } catch (error) { + self.postMessage({ + type: 'error', + error: error.message + }); + } +}; +``` + +#### 5.3 性能优化 +- 添加 Service Worker 缓存 harfbuzz.js WASM 文件 +- 实现虚拟滚动优化字体列表渲染 +- 添加图片懒加载 +- 优化防抖时间和逻辑 + +**验收标准**: +- ✅ 单个 SVG 导出正常 +- ✅ 批量导出 ZIP 正常 +- ✅ 文件命名格式正确 +- ✅ 大字体文件加载不卡顿 +- ✅ 输入防抖生效,性能流畅 + +--- + +### 阶段 6: 测试与部署 (1-2 天) + +**目标**: 全面测试和准备部署 + +#### 6.1 功能测试清单 +- [ ] 字体上传功能 +- [ ] 预置字体加载 +- [ ] 字体树展开/收拢 +- [ ] 收藏功能(刷新后保持) +- [ ] 文本输入和实时预览 +- [ ] 字号调整滑块 +- [ ] 字间距调整 +- [ ] 多字体对比预览 +- [ ] 单个 SVG 导出 +- [ ] 批量 ZIP 导出 +- [ ] 错误提示 +- [ ] 响应式布局 + +#### 6.2 浏览器兼容性测试 +- [ ] Chrome 最新版 +- [ ] Firefox 最新版 +- [ ] Safari 最新版 +- [ ] Edge 最新版 + +#### 6.3 部署配置 +```yaml +# vercel.json +{ + "headers": [ + { + "source": "/fonts/(.*)", + "headers": [ + { + "key": "Cache-Control", + "value": "public, max-age=31536000, immutable" + } + ] + } + ] +} +``` + +**验收标准**: +- ✅ 所有功能测试通过 +- ✅ 主流浏览器兼容 +- ✅ 成功部署到 Vercel +- ✅ 文档齐全 + +--- + +## 技术难点与解决方案 + +### 1. HarfBuzz WASM 体积大(~1-2MB) +**解决方案**: +- 代码分割,动态 import +- CDN 加速 +- Service Worker 缓存 + +### 2. 中文字体文件大(10-20MB) +**解决方案**: +- 构建时子集化(保留常用 3500 字) +- 流式加载 + 进度条 +- Web Worker 处理避免 UI 阻塞 + +### 3. opentype.js + harfbuzz.js 集成复杂 +**解决方案**: +- 先用 opentype.js 实现简单版本 +- 逐步集成 harfbuzz.js +- 参考 font2svg.py 的算法 + +### 4. 性能优化 +**解决方案**: +- 输入防抖(300ms) +- 虚拟滚动(字体列表) +- Canvas 快速预览 + SVG 精确输出 +- 字形路径缓存 + +--- + +## 依赖包清单 + +```json +{ + "dependencies": { + "vue": "^3.4.0", + "pinia": "^2.1.7", + "opentype.js": "^1.3.4", + "harfbuzzjs": "^0.3.3", + "lodash-es": "^4.17.21", + "jszip": "^3.10.1" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.0", + "typescript": "^5.3.0", + "vite": "^5.0.0", + "unocss": "^0.58.0", + "@unocss/preset-wind": "^0.58.0", + "vite-plugin-wasm": "^3.3.0" + } +} +``` + +--- + +## 开发时间估算 + +| 阶段 | 预计时间 | 累计时间 | +|------|---------|---------| +| 阶段 1: 项目初始化 | 1-2 天 | 1-2 天 | +| 阶段 2: 核心转换模块 | 3-5 天 | 4-7 天 | +| 阶段 3: UI 组件开发 | 5-7 天 | 9-14 天 | +| 阶段 4: 字体资源管理 | 2-3 天 | 11-17 天 | +| 阶段 5: 导出与优化 | 2-3 天 | 13-20 天 | +| 阶段 6: 测试与部署 | 1-2 天 | 14-22 天 | + +**总计: 14-22 天** + +--- + +## 成功标准 + +1. ✅ 所有 Figma 设计功能完整实现 +2. ✅ SVG 输出与 `font2svg.py` 一致 +3. ✅ 支持中文字体和复杂排版 +4. ✅ 性能流畅,无明显卡顿 +5. ✅ 主流浏览器兼容 +6. ✅ 代码规范,类型安全 +7. ✅ 成功部署并可访问 + +--- + +## 备注 + +- 本计划基于纯前端实现,无需后端服务器 +- `font2svg.py` 保持不变,仅作为参考 +- 使用 fonttools.subset 在构建时优化字体 +- 暂不实现运行时缓存策略 +- 暂不需要许可证管理功能 diff --git a/src/assets/icons/Button.svg b/src/assets/icons/Button.svg new file mode 100644 index 0000000..9e170e7 --- /dev/null +++ b/src/assets/icons/Button.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/icons/Iconfont SVG # 24gl-fontSizeDecrease.svg b/src/assets/icons/Iconfont SVG # 24gl-fontSizeDecrease.svg new file mode 100644 index 0000000..d86d60e --- /dev/null +++ b/src/assets/icons/Iconfont SVG # 24gl-fontSizeDecrease.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/Iconfont SVG # 24gl-fontSizeIncrease.svg b/src/assets/icons/Iconfont SVG # 24gl-fontSizeIncrease.svg new file mode 100644 index 0000000..104d16b --- /dev/null +++ b/src/assets/icons/Iconfont SVG # 24gl-fontSizeIncrease.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/Iconfont SVG # 展开.svg b/src/assets/icons/Iconfont SVG # 展开.svg new file mode 100644 index 0000000..d8b652a --- /dev/null +++ b/src/assets/icons/Iconfont SVG # 展开.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _12.svg b/src/assets/icons/icons_idx _12.svg new file mode 100644 index 0000000..1eb83c1 --- /dev/null +++ b/src/assets/icons/icons_idx _12.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _18.svg b/src/assets/icons/icons_idx _18.svg new file mode 100644 index 0000000..a9d2261 --- /dev/null +++ b/src/assets/icons/icons_idx _18.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/icons_idx _19.svg b/src/assets/icons/icons_idx _19.svg new file mode 100644 index 0000000..10a312a --- /dev/null +++ b/src/assets/icons/icons_idx _19.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _29.svg b/src/assets/icons/icons_idx _29.svg new file mode 100644 index 0000000..1eb83c1 --- /dev/null +++ b/src/assets/icons/icons_idx _29.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _32.svg b/src/assets/icons/icons_idx _32.svg new file mode 100644 index 0000000..a24279a --- /dev/null +++ b/src/assets/icons/icons_idx _32.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/icons_idx _33.svg b/src/assets/icons/icons_idx _33.svg new file mode 100644 index 0000000..0d38a96 --- /dev/null +++ b/src/assets/icons/icons_idx _33.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _34.svg b/src/assets/icons/icons_idx _34.svg new file mode 100644 index 0000000..b760809 --- /dev/null +++ b/src/assets/icons/icons_idx _34.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _35.svg b/src/assets/icons/icons_idx _35.svg new file mode 100644 index 0000000..b0168a5 --- /dev/null +++ b/src/assets/icons/icons_idx _35.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _36.svg b/src/assets/icons/icons_idx _36.svg new file mode 100644 index 0000000..b760809 --- /dev/null +++ b/src/assets/icons/icons_idx _36.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _37.svg b/src/assets/icons/icons_idx _37.svg new file mode 100644 index 0000000..b760809 --- /dev/null +++ b/src/assets/icons/icons_idx _37.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _38.svg b/src/assets/icons/icons_idx _38.svg new file mode 100644 index 0000000..700c186 --- /dev/null +++ b/src/assets/icons/icons_idx _38.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/icons_idx _7.svg b/src/assets/icons/icons_idx _7.svg new file mode 100644 index 0000000..a24279a --- /dev/null +++ b/src/assets/icons/icons_idx _7.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/星程字体.svg b/src/assets/icons/星程字体.svg new file mode 100644 index 0000000..8ed7b0c --- /dev/null +++ b/src/assets/icons/星程字体.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/icons/星程字体转换.svg b/src/assets/icons/星程字体转换.svg new file mode 100644 index 0000000..49b7f9a --- /dev/null +++ b/src/assets/icons/星程字体转换.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/webicon.png b/src/assets/webicon.png new file mode 100644 index 0000000000000000000000000000000000000000..61fa2ae787a5e02149627fbb586490c7515ffd53 GIT binary patch literal 130640 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 literal 0 HcmV?d00001