22 Commits

Author SHA1 Message Date
崮生(子虚)
2f9eb3fd1a 支持 woff2 2026-04-11 00:17:27 +08:00
崮生(子虚)
161bafc02a 实现 js 版 woff2 处理 2026-04-10 20:42:30 +08:00
崮生(子虚)
1e543d58ab fix: 修复 OTF→TTF 子集字体浏览器渲染空白 + 改进基准测试
- API 默认 outType 改为 ttf(兼容性最好)
- Cache-Control 从 immutable 改为 24h 缓存
- 基准测试改为 DOM 渲染 + puppeteer 截图 + pngjs 解码(更贴近真实浏览器)
- 增加 maxp 表验证(maxPoints/maxContours 为 0 直接报错)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 13:55:27 +08:00
崮生(子虚)
18e60fe940 优化性能 2026-04-09 16:47:41 +08:00
崮生(子虚)
e2cc7c1144 feat: 前端格式选择器组件,服务端支持能力透传
- 新增 FontSelector.tsx 独立组件,字体和输出格式并排选择
- /api/config 新增 supportedOutTypes 字段(LLRT 仅 ttf)
- 前端加载配置后自动适配可用格式

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 11:56:10 +08:00
崮生(子虚)
820fc71166 feat: 新增 woff2 输出格式支持,默认使用 woff2
- 后端支持 outType URL 参数(woff2/ttf),Node.js 默认 woff2,LLRT 默认 ttf
- woff2 wasm 延迟初始化,仅首次请求时加载(~8ms)
- SDK 三个入口函数支持 outType 选项,默认 woff2
- 前端 CSS、下载、使用说明适配 woff2
- 基准测试新增 woff2 测试(耗时、体积、压缩率)
- 构建脚本自动复制 woff2.wasm 到 dist 目录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 11:48:07 +08:00
崮生(子虚)
765a301649 修改为本地引用,清理冗余文件 2026-04-09 09:50:26 +08:00
崮生(子虚)
c74278cf2f 更改优先级 2026-04-08 22:35:58 +08:00
崮生(子虚)
79ee7dd3f0 内存缓存最近三个字体,避免高频的文件io 2026-04-08 22:31:53 +08:00
崮生(子虚)
b902b4e1cc 增强安全性,重构代码 2026-04-08 22:05:17 +08:00
崮生(子虚)
878b54a0fd 修复上传功能、移除 tjs 运行时支持、添加 vite-plugin-pilot
- 修复 HTTP header 大小写不敏感匹配,解决浏览器上传请求体为空的问题
- 重写 createStreamAfterTarget,修复大文件上传时 body stream 数据流断裂
- 添加 chunked transfer encoding 解码支持
- 读取完 body 后 cancel stream,防止后台循环抛异常炸进程
- 修复 parseHttpRequest 中 split(":") 对含冒号 header value 的错误拆分
- 临时上传同名文件直接覆盖,不再加时间戳前缀
- 移除 tjs (txiki.js) 运行时支持及相关代码
- 安装并配置 vite-plugin-pilot 浏览器测试工具

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 20:31:43 +08:00
崮生(子虚)
e0f34c36b6 修复上传功能和服务器健壮性问题
- 修复 multipart 解析器:endDelimiter 提前检查导致循环退出
- 修复 Node.js v24 兼容:改为先读取 body 再构造 Request
- 修复 HTTP keep-alive 死锁:按 Content-Length 精确读取 body
- 修复服务器崩溃:connectionHandle 加 try-catch,单连接错误不影响全局
- 修复 URL 写死:webfont.shenzilong.com 改为 localhost
- 复制按钮加"已复制/复制失败"反馈提示
- TEMP_MAX_FILES 改为环境变量可配置
- dev 环境默认启用临时上传和管理员上传
- CSS 代码默认展示,使用技巧不再折叠

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 17:11:55 +08:00
崮生(子虚)
7fceccfe4d 重构前端UI,新增字体上传/下载/模糊匹配功能
- 前端UI重构:字体选择器、文本预览、CSS输出+复制、下载字体、上传区域
- 后端新增API:/api/fonts(列出字体)、/api/config(公开配置)、/api/upload(上传字体)
- 字体查找支持模糊匹配(精确 > 前缀 > 包含)
- 上传功能分两种模式:临时上传(ENV开关,FIFO上限10个)和管理员上传(API Key认证)
- 新增multipart解析器、配置模块、文件系统抽象(writeFile/readdir/mkdir/unlink)
- 后端启动时等待运行时初始化完成,确保接口可用
- dev-all.ts后端启用tsx watch模式自动重载

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 16:18:46 +08:00
崮生(子虚)
1a611e7e28 自行下载 llrt 2026-04-08 15:41:39 +08:00
zixu
1a7a131469 fix gitignore 2024-09-04 10:45:58 +08:00
zixu
4230db9058 微调接口 2024-08-29 10:00:22 +08:00
zixu
c6567b8948 前端界面添加防抖 2024-08-29 09:38:47 +08:00
zixu
ad6d3b4649 支持 llrt 运行时 2024-08-28 19:57:20 +08:00
zixu
2477caf183 精简代码 2024-08-19 18:19:09 +08:00
zixu
a1b5502891 支持使用 tjs 运行 2024-08-19 18:10:09 +08:00
zixu
cae3bad5a9 更新文档 2024-08-18 16:29:18 +08:00
zixu
6b896d768e init 2024-08-18 15:14:50 +08:00