跳到正文
发现
DesignCraft:开源桌面排版设计编辑器
桌面应用设计创意

DesignCraft:开源桌面排版设计编辑器

纯 Rust 编写的开源排版与页面设计工具,支持 macOS、Windows、Linux 及浏览器。

admin
发布于 2026-10-29 · 更新于 2026-11-02
浏览
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 整理,以原仓库为准。

更新记录

  1. v0.16.0当前版本

    DesignCraft v0.16.0

  2. v0.15.2

    修复 macOS 上对话框阻塞导致的崩溃,更新检查可正常访问 GitHub;Flatpak 版支持 CUPS 打印;改进 IDML 导出、表格与脚注排版,并补充格鲁吉亚语翻译。

  3. v0.14.0

    应用栏改用 craft-window 的共享标题栏;修复标尺主刻度跳过 10 倍间距、DOCX 导入表格后出现多余空段落、删除脚注或尾注后光标错位等问题;MCP serve 对非 UTF-8 行返回解析错误。

评论