DesignCraft:开源桌面排版设计编辑器
纯 Rust 编写的开源排版与页面设计工具,支持 macOS、Windows、Linux 及浏览器。
- 浏览
- 3
- 访问
- 0
- 下载
- 0
- 版本
- v0.16.0
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
DesignCraft 是 ArtCraft 团队用纯 Rust 从零编写的开源桌面出版与页面排版工作室。它原生运行于 macOS、Windows 和 Linux,也可通过 WebAssembly 在浏览器中运行。界面布局、工具、菜单、面板与快捷键沿用排版软件的使用习惯:跨页与父页、主页、文本框、串接文本、段落与字符样式、表格、文本绕排等一应俱全。
内置的示例杂志全部由代码排版(crates/engine/src/sample.rs)并由其自身渲染器导出,可通过 File → New → Sample Document 或启动参数 --sample 打开。

主要功能
- 排版与字体:Knuth–Plass 段落排版(也支持单行排版)、基于词典的断词(公有领域 Moby 词表加自训练模式)、词/字母/字形缩放的齐行、keep、光学边距对齐、分栏、基线网格、制表符、线框与底纹;屏幕与 PDF 中的换行结果一致。
- 性能:多线程 SIMD 渲染(vello_cpu)、写时复制文档、O(1) 撤销快照以及缓存的排版结果。
- 开放格式:自带文档格式,支持 IDML 导入导出、INDD 导入(通过 indd-utils)、可编辑的 .pptx 导出,以及 PNG、PDF(PDF/X-4、PDF/A-2b)和 EPUB 导出。无订阅、无授权服务器、无遥测。
- 面向 Agent:每个菜单项、工具手势、面板控件和对话框都能通过 JSON 控制通道和 MCP server 驱动,便于 Claude 等智能体像设计师一样排版和编辑文档。
- 示例文档:内置示例杂志,含封面、栏目开篇、串接三栏正文与文本绕排、色板页等页面。
安装与使用
从源码构建运行需要 Rust 1.95 或更新版本(含共享的 craft-ui 组件):
cargo run --release -p designcraft # 桌面应用
cargo run --release -p designcraft -- --sample # 打开示例杂志
cargo run --release -p designcraft -- --sample --control 7979 # 同时开启 JSON 控制通道
无头渲染每一页为 PNG:
cargo run --release -p designcraft-cli -- run --sample --all-pages out/
日文字体(界面与文档)来自 storytold/craft-fonts,属于可选的构建输入:
git clone https://github.com/storytold/craft-fonts ../craft-fonts
CRAFT_FONTS_DIR="$PWD/../craft-fonts" cargo run --release -p designcraft
要驱动正在运行的应用,向 127.0.0.1:7979 发送 JSON 行,协议见 docs/control-protocol.md。
便携模式:在可执行文件旁放置一个 portable.txt(macOS 上放在 DesignCraft.app 旁),设置、日志和崩溃恢复数据会保存到旁边的 DesignCraftData 文件夹。
注意事项
- 项目许可证为 Apache-2.0。
- 桌面应用的日志写入设置目录下的
logs/designcraft.log:Linux 为~/.config/designcraft/logs/,macOS 为~/Library/Application Support/DesignCraft/logs/,Windows 为%APPDATA%\DesignCraft\logs\;每次启动会把上一个日志轮转为designcraft.1.log,日志上限 16 MiB。 - 网页版没有系统字体回退,缺少 craft-fonts 时日文可能无法显示;网页版日志输出到浏览器控制台。
- 可用
RUST_LOG、WGPU_BACKEND、WGPU_POWER_PREF、WGPU_ADAPTER_NAME等环境变量调整日志级别与图形后端。
本作品整理自 GitHub 开源项目 storytold/designcraft,原作者 @storytold,许可证 Apache-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.16.0当前版本
DesignCraft v0.16.0
- v0.15.2
修复 macOS 上对话框阻塞导致的崩溃,更新检查可正常访问 GitHub;Flatpak 版支持 CUPS 打印;改进 IDML 导出、表格与脚注排版,并补充格鲁吉亚语翻译。
- v0.14.0
应用栏改用 craft-window 的共享标题栏;修复标尺主刻度跳过 10 倍间距、DOCX 导入表格后出现多余空段落、删除脚注或尾注后光标错位等问题;MCP serve 对非 UTF-8 行返回解析错误。
评论