designcraftとは?使い方・日本語レイアウトを実際に使って調べてみた動いた
この日に実際に動かした結果です。内容の誤りに気づかれた場合はお問い合わせください。確認のうえ訂正します。
使う前に分かること
| 必要なもの | Rust 1.95以上、Cargo、Claude Code(MCP経由で使う場合) |
|---|---|
| 動かした環境 | Linux、Rust 1.97.0、Claude Code(CLI経由でMCPサーバーを操作)。 |
| 日本語 | 日本語で使うときの注意あり(下に書いた) |
| 確認日 | 2026-10-11(この日に実際に動かした) |
DesignCraft は、Adobe InDesign の画面・ツール・ショートカットを踏襲しながら、ゼロからRustで書き直されたページレイアウト・出版ソフトです。macOS・Windows・Linux・ブラウザ(WebAssembly)で動き、画面を持たないヘッドレスのCLIと、AIエージェントから直接操作できるMCPサーバーも同梱しています。
今回は、このサンドボックスに画面が無いため、通常のデスクトップアプリ(GUI)は試していません。代わりに、README がビルド直後の動作確認として案内しているヘッドレスCLIで同梱サンプルをレンダリングし、そのうえで記事のメインとして、MCP経由でエージェント(Claude Code)に日本語でチラシ作りを頼み、実際にできあがるところまで試しました。PDF書き出しやIDML/EPUBの読み込み、各OS向けの署名済みインストーラは試していません。
ソースからビルドする
README の「Quick start」節が、GitHubからcloneしてcargoでビルドする手順を最初に案内しています。パソコンにRustが入っていない場合は、先にrustupで入れておく必要があります(今回はrustc 1.97.0)。ここから先は、ターミナル(Macなら「ターミナル」、Windowsなら「PowerShell」などのアプリ)を開いて、コマンドを1行ずつ打っていきます。
git clone --depth 1 https://github.com/storytold/designcraft.git
cargo build --release -p designcraft-cli
1行目でソースコード一式をフォルダに取ってきて、2行目でその中に移動せずそのままビルドします(cd designcraftをはさんでから打っても構いません)。ビルドには数分かかります。
Cloning into 'designcraft'...
Finished `release` profile [optimized] target(s) in 4m 45s
GUIを持つデスクトップアプリ(designcraft)とは別に、画面を使わないCLI(designcraft-cli)だけをビルドしました。GPUやディスプレイは要らず、文字はCPU側のレンダラで描かれます。
まず同梱サンプルをレンダリングしてみる
ビルドした直後、動作確認としてREADMEが案内しているのが、同梱の見本雑誌(サンプル)を画像に書き出すコマンドです。
./target/release/designcraft-cli run --sample --all-pages out/
wrote out//page-001.png (630×810, 59.9 ms, 103 glyphs)
wrote out//page-002.png (630×810, 29.4 ms, 1171 glyphs)
wrote out//page-003.png (630×810, 13.4 ms, 3410 glyphs)
wrote out//page-004.png (630×810, 6.7 ms, 466 glyphs)

表紙・特集ページ・見本の段組み・色見本ページの4ページが、1秒もかからずPNGになりました。見出しの書体、段組みの折り返し、背景のグラデーションまで、本物の雑誌の見開きのように組まれています。
エージェントにチラシ作りを頼む
DesignCraft の目玉は、designcraft-cli mcp が MCP(Model Context Protocol)サーバーとして動き、Claude Codeのようなエージェントから直接ドキュメントを編集できることです。まずMCPサーバーとして登録します。
claude mcp add designcraft --scope user -- /path/to/designcraft-cli mcp
Added stdio MCP server designcraft with command: /path/to/designcraft-cli mcp to user config
/path/to/designcraft-cli の部分は、さきほどビルドしてできた実行ファイルの実際の場所に書き換えます(cloneしたフォルダの中の target/release/designcraft-cli です)。登録できたら、日本語でそのまま頼んでみました。
DesignCraftを使って、来週の町内フリーマーケットの案内チラシをA4サイズ・1ページで作ってください。タイトルは『秋の青空フリーマーケット』、日時は11月8日(日) 10:00〜15:00、場所は中央公園、雨天中止の一言も入れてください。できたら out/flyer.png にPNGで書き出してください。
チラシの文面は作ってありますが、日本語がすべて豆腐(□)で表示され、PNGはまだ書き出していません。このまま出すと読めないチラシになるためです。
**やったこと**
- A4(595×842pt)・1ページの文書を作り、次の3つのテキストを配置しました。
- タイトル「秋の青空フリーマーケット」(54pt・中央揃え)
- 日時と場所「11月8日(日) 10:00〜15:00」「中央公園」(30pt)
- 「※雨天中止」(28pt)
**止まっている原因**
- この環境の DesignCraft には日本語フォントが入っておらず、`assets/fonts/` にも日本語フォントがありません。
- DesignCraft の日本語フォントは別リポジトリ `storytold/craft-fonts` にあり、`CRAFT_FONTS_DIR=… cargo build` で埋め込む仕組みです。今回の MCP バックエンドはそのビルドではないようです。
エージェントが見つけたとおり、DesignCraft 本体には最初から日本語フォントが入っていません。READMEの案内どおり、日本語フォント集 storytold/craft-fonts を別途cloneし、CRAFT_FONTS_DIR を指定してビルドし直しました。
git clone --depth 1 https://github.com/storytold/craft-fonts.git
CRAFT_FONTS_DIR=$PWD/../craft-fonts cargo build --release -p designcraft-cli
Finished `release` profile [optimized] target(s) in 2m 31s
このビルドでMCPサーバーを登録し直し、同じ依頼をもう一度出しましたが、結果は同じでした。
チラシをA4・1ページで組み、PNGも書き出しましたが、日本語がすべて豆腐(□)で表示されていて、そのままでは配布できません。
日本語フォントは埋め込まれているのに文字化けが直らなかったので、続けて同じエージェントに(ターミナルではなく、先ほどと同じチャットで)日本語で調べさせました。
日本語が豆腐になる件、describeコマンドで document.preferences を調べてみて。glyphFallbackという設定があるかもしれません。あれば有効にして、チラシを組み直してPNGを書き出し直してください。
`glyphFallback` を有効にしてチラシを組み直し、PNGを書き出し直しました。日本語は正しく表示されています。
**設定の確認**
- `document.preferences` のパラメータ説明に `glyphFallback` がありました。フォントにない文字をフォールバックフォントで描く設定で、オフだと豆腐になります。
- `glyphFallback: true` にすると、豆腐が消えて日本語が出ました。
**途中で起きたこと**
- 設定を変えた直後の描画が、白紙のLetterサイズになりました。
- 前に作ったA4のチラシが消え、空の新規ドキュメントに切り替わっていたためです。理由はわかりません。
- そのとき `flyer.png` は白紙で上書きされました。
- 新規のA4ドキュメントに `glyphFallback` を設定し、同じレイアウトで組み直して、最終のPNGを上書きしています。
原因は、InDesignと同じ「フォントに無い文字は、既定では四角(豆腐)のまま描く」という仕様でした。document.preferences コマンドの glyphFallback を true にすると、埋め込み済みの日本語フォント(フォールバック)から文字を拾って描くようになります。できあがったチラシがこちらです。

依頼にはなかった「掘り出し物がいっぱい!お気軽にお越しください。」という一文をエージェントが自分の判断で足していますが、タイトル・日時・場所・雨天中止の案内は指示どおりに入っています。日時と雨天中止の間の余白が広いなど、レイアウトの細かな詰めはできていませんが、文字そのものはきちんと日本語で読めます。
まとめ
DesignCraft は、ビルドさえ通せば、画面を一切使わずにInDesign相当のページレイアウトを自動化できるオープンソースのツールでした。同梱サンプルのヘッドレスレンダリングは何の手直しもなく一発で成功し、本物の雑誌のような見開きがそのままPNGで出てきます。目玉のMCP連携も、日本語フォントの追加ビルドと glyphFallback の有効化という2段階のひと手間さえ踏めば、「チラシを作って」という日本語の依頼だけで実際に読めるチラシが出てくるところまで確認できました。
InDesignの操作に慣れた人が、スクリプトやAIエージェントからページ組みを自動化したい場合や、チラシ・冊子のたたき台を日本語の一言で作らせたい場合に向いています。逆に、日本語を扱う時はフォントまわりのひと手間が要ることと、今回はデスクトップのGUI画面そのものは試せていない点は留意してください。
確認した環境
Linux のヘッドレスサンドボックスで、GUIデスクトップアプリ(egui/wgpu)は未検証です。日本語の描画は、別リポジトリ storytold/craft-fonts を CRAFT_FONTS_DIR でビルドに組み込み、かつ document.preferences の glyphFallback を true にして初めて成功しました(既定ではオフで、文字は豆腐のまま描かれます)。