HN 日本語サマリー

← 一覧へ戻る
プログラミング

Rustで書かれたMicrosoft Wordのオープンソース・クリーンルーム再実装

An open-source, clean-room reimplementation of Microsoft Word in pure Rust (github.com)

77 pointsby espeed46 コメント

要約

WordCraftは、Microsoft Wordの機能を持つオープンソースのワードプロセッサで、純粋なRustでゼロから再実装されています。macOS、Windows、Linux、BSD、およびWebAssembly上でネイティブに動作し、.docx形式の読み書きに対応しています。リボンインターフェース、スタイル、変更履歴、差し込み印刷などの機能を備え、AIエージェントによる操作も可能です。

全文翻訳

WordCraft ライティングとドキュメントデザイン。 Microsoft Wordのオープンソース・クリーンルーム再実装、純粋なRustで再構築。 Wordのワークフローでおなじみの、高速でオープンソースのワードプロセッサ:リボン、スタイル、テーブル、変更履歴、参照、差し込み印刷。 .docxを読み書きし、macOS、Windows、Linux、BSDでネイティブに動作し、WebAssembly経由でブラウザでも動作します。 ArtCraftチームによる。 WordCraft on getartcraft.com ArtCraft All Crafting Apps The Open Studio Handbook、WordCraftの組み込みサンプル:リボン、ライブスタイルギャラリー、ルーラー、ナビゲーションペイン。 Note ArtCraftは、あらゆる分野のアーティストのコミュニティです。 画家、写真家、映画製作者、イラストレーター、デザイナー、アニメーター、ホビイスト、そして先週初めて鉛筆を手に取った人々。 あなたが何かを作る人なら、あなたは私たちの一員です。 Discordで挨拶してください。 ツアー WordCraftの理由 今日の機能 クイックスタート エージェント向け アーキテクチャ ロードマップ ダウンロード Crafting Apps ライセンスとクレジット ツアー 以下のすべてのスクリーンショットはWordCraft自体であり、独自のUIテストハーネス(cargo run -p wordcraft-ui-egui --example ui_shot)によってオフスクリーンでレンダリングされています。 レビュー。 変更履歴、余白のコメントバルーン、承認と却下、入力中のスペルと文法。 参照。 目次、脚注、APA、MLA、Chicago、IEEE形式の引用、索引、キャプション。 デザイン。 テーマ、スタイルセット、段落間隔、透かし、ページの色と境界線。 フォーマットマーク付きのダークモード、および挿入タブ:テーブル、画像、図形、リンク、ヘッダー、フッター、フィールド、記号。 レイアウト。 ドロップキャップ、画像や図形の周りのテキストの折り返し、自動ハイフネーション、行番号、ページ罫線。 ファイル。 テンプレートから開始、最近使ったドキュメントを開く、プロパティの編集、PDFおよびその他の形式へのエクスポート。 WordCraftの理由 使い慣れている。 Wordのリボンタブ、グループ、ショートカット、動作:Enterでリストを継続、Tabでインデント、Ctrl/⌘+Bでカーソル下の単語を太字に、スタイルギャラリーでスタイルをライブプレビュー、F4で繰り返し、F7でスペルチェック、F8で選択範囲の拡張。 あなたのファイル。 .docx(OOXML)を開いて保存します。また、.odt、.rtf、.html、.md、.tex(LaTeX)、.txtも扱います。Word 97-2003 .docを開きます。PDFを実際の選択可能なテキスト、リンク、ブックマーク付きでエクスポートします。 高速。 段落レイアウトはキャッシュされるため、188ページのドキュメントでのタイピングは、約1.4ミリ秒で再レイアウトされます。ページはオンデマンドでレンダリングされます。 どこでも。 macOS、Windows、Linux、BSD、およびWeb用の単一のRustコードベース。 Electronなし、Tauriなし:GPU上のネイティブegui。 エージェント向けに構築。 すべての操作はIDを持つコマンドです。同じ422のコマンドが、リボン、キーボードショートカット、コマンド検索、コマンドラインツール、JSON制御チャネル、MCPサーバーを駆動します。 プライベート。 スペル、文法、その他すべてがオフラインで動作します。 オープン。 MITまたはApache-2.0。 クリーンルーム:公開仕様と観察に基づいて構築され、すべての資産はオリジナルまたはオープンライセンスです。 今日の機能 エリアハイライト ライティング IME、スマートクォート、自動修正、リスト自動フォーマット(*、1.)、ダッシュ;単語、文、段落の選択;ドラッグ選択;フォーマット付きクリップボード;元に戻す/やり直し;正規表現での検索と置換。 フォーマット フォント、サイズ、太字/斜体/下線スタイル、取り消し線、上付き/下付き、大文字、ハイライト、色、文字間隔、フォーマットペインター、大文字/小文字の変更、フォーマットのクリア。 段落 配置、インデント(ルーラーでドラッグ可能)、間隔、行間隔、リーダー付きタブ、罫線、網かけ、次ページへ維持、寡婦/孤立行制御。 スタイル 組み込みスタイルセット、ライブギャラリー、スタイルペイン、スタイルの作成/変更/更新、スタイルセット、テーマ。 リスト 箇条書き、番号付き、マルチレベル、再開、値の設定、カスタムフォーマット。 テーブル グリッドによる挿入、結合/分割、縞模様の行付きスタイル、罫線、網かけ、ページをまたいで繰り返されるヘッダー行、ページをまたいで分割される行、ソート、数式、テキスト↔テーブル。 ページ 余白、向き、サイズ、段数、ページ/列/セクション区切り、ヘッダーとフッター(最初のページ、奇数/偶数)、ページ番号、透かし、ページ罫線、行番号、垂直配置、ドロップキャップ、自動ハイフネーション。 オブジェクト 画像(サイズ変更、トリミング、色変更、明るさ/コントラスト、透明度、背景除去、画像スタイル、回転)、図形、テキストボックス、テキストの折り返し付きフローティング配置(四角、上下、テキストの後ろまたは前)。 参照 目次、脚注と相互参照、引用と参考文献(APA、MLA、Chicago、IEEE)、キャプション、図表目次、相互参照、索引、権威リスト。 レビュー 提案付きスペルおよび文法チェック、類語辞典、単語数、余白バルーンまたはペインでのコメント、変更履歴、承認/却下、ドキュメントの比較、編集の制限、アクセシビリティチェッカー、ドキュメントインスペクター。 メーリング CSVからの差し込み印刷、差し込みフィールド、住所ブロック、挨拶文、ルール、プレビュー、ドキュメントへの終了;封筒とラベル。 表示 印刷レイアウト、Webレイアウト、下書き、読み取りモード、フォーカス、ズーム、1ページ/複数ページ、ページ幅、ナビゲーションペイン、ルーラー、グリッド線、ダークモード;インターフェースは英語、简体中文、繁體中文、日本語、Português (Brasil)、Español、Українська、Српски / Srpski、Eesti、Türkçe、またはРусский(デフォルトでシステム言語に従う)。 ファイル .docx読み書き(Wordで開く)、Word 97-2003 .docインポート、PDFエクスポート、.odt、.rtf、.html、.md、.tex、.txtインポート/エクスポート、ページ画像。 正直な絵、エリアごとの詳細はROADMAP.mdにあります。パリティ評価と生成された機能チェックリスト。 クイックスタート git clone https://github.com/storytold/wordcraft cd wordcraft cargo run --release -p wordcraft -- --sample # サンプルドキュメント付きデスクトップアプリ cargo run --release -p wordcraft -- report.docx # ドキュメントを開く コマンドライン: wordcraft-cli convert report.docx report.pdf # docx, pdf, odt, rtf, html, md, tex, txt, png wordcraft-cli text report.docx # プレーンテキスト wordcraft-cli inspect report.docx # JSONとしての構造 wordcraft-cli run --template sample \ --cmd 'select.text={"text":"Membership"}' --cmd format.bold --save out.docx Web: cd apps/wordcraft-web && trunk serve、その後 http://127.0.0.1:8771/?sample を開く。 エージェント向け:CLIおよびMCP WordCraftは、人間とAIエージェントによって操作されるように設計されています。 claude mcp add wordcraft -- wordcraft-cli mcp # ヘッドレスドキュメント wordcraft --control 7981 & # または実行中のアプリを操作... claude mcp add wordcraft-app -- wordcraft-cli mcp --connect 127.0.0.1:7981 ツールには、list_commands、execute、batch、type_text、select_text、inspect_document、render_page、save_document、および実行中のアプリではscreenshot、click、keyが含まれます。 エージェントは、スクリーンショットなしでinspect_documentを通じて作業を確認できます。docs/mcp.mdおよび制御プロトコルを参照してください。 マクロはコマンドの任意のシーケンスを記録し、再生します(tools.recordMacro、tools.macros)。 ログ デスクトップアプリは、標準エラー出力と、設定の隣にあるlogs/wordcraft.logにログレコードを書き込みます。Linuxでは$XDG_CONFIG_HOME/wordcraft/logs/(デフォルトでは~/.config/wordcraft/logs/)、macOSでは~/Library/Application Support/WordCraft/logs/、Windowsでは%APPDATA%\WordCraft\logs\です。 デスクトップメニューまたはDockからの起動にはターミナルがないため、このファイルはバグレポートに添付するものです。docxの読めない部分、PDFエクスポートで省略せざるを得なかった画像やフォント、コマンドガードが回復したパニックなどです。 各起動時に、前のログはwordcraft.1.logに移動し(さらにwordcraft.2.logに移動)、クラッシュした実行のログは次の起動でも残ります。ログは16 MiBで成長を停止します。 --versionはファイルを書き込まず、WORDCRAFT_NO_PREFS(エージェントのテスト実行)で実行され、標準エラー出力のみにログを記録します。 ドキュメントテキストは決してログに記録されません。パニックメッセージは、引用したテキストを省略します。 デフォルトでは、WordCraft自身のクレートはinfoレベルでログを記録し、その他すべてはwarnレベルでログを記録します。 RUST_LOGは、env_loggerスタイルのディレクティブでこれを置き換えます。例:RUST_LOG=debug、RUST_LOG=warn,wordcraft_docx=trace、またはRUST_LOG=info,wgpu_core=warn。 ディレクティブの末尾の*は、それに続くすべてのターゲットに一致します(wordcraft*=debug)。 ロガーはapps/wordcraft/src/logging.rsにあります。 アーキテクチャ レイヤー クレート ジョブ L0 wordcraft-geom 単位と測定 L1 wordcraft-doc, wordcraft-fonts, wordcraft-proof ドキュメントモデルと編集;フォントとシェーピング;