﻿# RubiMorph 1.0.0 操作マニュアル

**対象バージョン:** 1.0.0  
**対象OS:** Windows  
**作成日:** 2026-06-14

本書は、RubiMorph 1.0.0 のインストール、GUIによるテキスト変換とファイル変換、カスタム形式プロファイル、CLI、Webリンク、バックアップ、トラブル対応までを説明する操作マニュアルです。

---

## 目次

1. RubiMorphの概要
2. 導入前の確認
3. インストールと起動
4. メイン画面の構成
5. テキストを直接変換する
6. 単一ファイルを変換する
7. 複数ファイルを変換する
8. フォルダを一括変換する
9. ルビ出力
10. ログと警告
11. 組み込み形式の対応状況
12. カスタム形式プロファイルの管理
13. カスタム形式プロファイルの作成
14. 入力規則の設定
15. 出力テンプレートの設定
16. 前処理・後処理の設定
17. プロファイルの検証とテスト
18. カスタム形式サンプルを使う
19. CLI操作
20. データの保存場所とバックアップ
21. 更新・アンインストール
22. トラブルシューティング
23. セキュリティ・プライバシー
24. 付録

---

# 1. RubiMorphの概要

RubiMorphは、Web小説投稿サイトや文書形式ごとに異なるルビ・傍点・注記の記法を変換するWindows用ソフトです。原稿を一度内部トークンへ解析してから、変換先形式へ出力します。

主な機能は次のとおりです。

- テキストを貼り付けて変換
- UTF-8の `.txt` / `.md` ファイルを単一・複数・フォルダ単位で変換
- カクヨム、なろう、エブリスタ、pixiv小説、青空文庫、HTML、Markdown、プレーンテキストなどの組み込み形式
- 独自記法を定義できるカスタム形式プロファイル
- GUIとCLIの両方に対応
- 操作マニュアル、使用ガイド、公式サイト、最新版ReleaseをGUIから開くヘルプメニュー
- 原稿本文を外部サーバーへ送信しないローカル処理

> **重要** 変換後の原稿は、投稿前に必ず目視確認してください。投稿サイト側の仕様変更、未対応記法、情報量の少ない形式への変換により、表現が欠落または簡略化される場合があります。

# 2. 導入前の確認

## 2.1 配布形式

通常利用者向けには次の2種類があります。

| 配布物 | 用途 |
|---|---|
| `RubiMorphSetup-1.0.0.exe` | Windowsへインストールして使う標準版 |
| `RubiMorphPortable-1.0.0.zip` | インストールせず、展開したフォルダから使う版 |

ソースコードのZIPは開発者向けです。通常利用では、インストーラー版またはPortable版を使用してください。

## 2.2 実行ファイル

| ファイル | 用途 |
|---|---|
| `RubiMorphGUI.exe` | 画面操作用 |
| `RubiMorph.exe` | コマンドライン操作用 |

Portable版では、実行ファイルと同じフォルダにある `_internal`、`docs`、`examples`、`schemas` などを削除しないでください。`RubiMorphGUI.exe`や`RubiMorph.exe`だけを単独で移動すると、Python DLLを読み込めず起動できない場合があります。

## 2.3 チェックサムの確認

GitHub Releaseからダウンロードしたファイルは、`SHA256SUMS.txt`と照合できます。PowerShellで次を実行します。

```powershell
Get-FileHash ".\RubiMorphSetup-1.0.0.exe" -Algorithm SHA256
Get-FileHash ".\RubiMorphPortable-1.0.0.zip" -Algorithm SHA256
```

表示されたハッシュ値が`SHA256SUMS.txt`の値と一致することを確認してください。

# 3. インストールと起動

## 3.1 インストーラー版

1. `RubiMorphSetup-1.0.0.exe`を実行します。
2. Windowsの確認画面が表示された場合は、発行元と入手元を確認します。
3. セットアップ画面の指示に従います。
4. デスクトップショートカットが必要なら「デスクトップにショートカットを作成する」を選択します。
5. インストール完了画面で「RubiMorphを起動する」を選択すると、そのままGUIを開けます。

通常の起動方法は次のとおりです。

```text
スタートメニュー → RubiMorph
```

インストール先は通常、次の場所です。

```text
C:\Program Files\RubiMorph
```

## 3.2 Windows SmartScreenが表示された場合

電子署名のない配布物では、Windows SmartScreenが警告を表示する場合があります。公式GitHub Releaseから取得し、SHA-256が一致していることを確認した場合に限り、画面の「詳細情報」から実行を選択してください。入手元を確認できないファイルは実行しないでください。

## 3.3 Portable版

1. `RubiMorphPortable-1.0.0.zip`を任意のフォルダへ展開します。
2. 展開先の`RubiMorphGUI.exe`を実行します。
3. CLIを使う場合は、同じフォルダの`RubiMorph.exe`を使用します。

ZIP内から直接実行せず、必ずすべてのファイルを展開してください。

# 4. メイン画面の構成

RubiMorph 1.0.0のメイン画面は、上段の共通設定、中央の作業タブ、下段のステータスバーで構成されます。

## 4.1 形式設定

| 項目 | 説明 |
|---|---|
| 変換元 | 入力テキストまたは入力ファイルが現在どの形式かを選択 |
| 変換先 | 変換後の形式を選択 |
| ルビ出力 | プレーンテキスト出力時のルビ処理を選択 |

形式設定は「テキスト変換」と「ファイル変換」の両方に共通して適用されます。

## 4.2 作業タブ

| タブ | 用途 |
|---|---|
| テキスト変換 | 貼り付けた文章を変換し、結果をコピーする |
| ファイル変換 | 単一ファイル、複数ファイル、フォルダを変換して保存する |

テキスト変換タブには、左に入力テキスト、右に変換結果があります。変換結果欄の上に「コピー」ボタンがあります。ファイル変換タブでは、処理単位を「単一ファイル」「複数ファイル」「フォルダ一括」から選びます。

## 4.3 ステータスバー

下段には現在の状態、警告件数、「詳細...」ボタンが表示されます。通常時は入力・出力領域を広く使い、ログや警告は「詳細...」から確認します。

## 4.4 メニュー

上部メニューには次があります。

- **カスタム形式**
  - カスタム形式を管理...
  - プロファイルをインポート...
  - 形式一覧を再読み込み
- **ヘルプ**
  - 操作マニュアルを開く
  - 使用ガイドを開く
  - 公式サイトを開く
  - 最新版とRelease
  - OSSライセンス
  - RubiMorphについて

# 5. テキストを直接変換する

最も基本的な操作です。

1. 上段の「変換元」で入力の形式を選択します。
2. 「変換先」で出力の形式を選択します。
3. 必要に応じて「ルビ出力」を選択します。
4. 「テキスト変換」タブを開きます。
5. 左側の「入力テキスト」へ本文を貼り付けます。
6. 「変換」を押します。
7. 右側の「変換結果」とステータスバーの警告件数を確認します。
8. 問題がなければ変換結果欄の「コピー」を押します。
9. 投稿先やエディタへ貼り付け、最終確認します。

### 例: カクヨム形式からpixiv小説形式

入力:

```text
これは｜禁猟の園《きんりょうのその》です。
《《重要》》な箇所です。
```

変換元を「カクヨム」、変換先を「pixiv小説」にして変換します。

> **補足** 「変換」は画面上のテキストを変換するだけで、ファイルへ自動保存しません。保存が必要な場合は結果をコピーするか、ファイル変換を使用してください。

# 6. 単一ファイルを変換する

単一ファイル変換では、1つのUTF-8 `.txt` / `.md` ファイルを指定した出力先へ保存します。

1. 「ファイル変換」タブを開きます。
2. 処理単位で「単一ファイル」を選びます。
3. 「入力ファイル」の「参照...」を押し、変換するファイルを選びます。
4. 「出力先」の「参照...」を押し、保存先ファイルを選びます。
5. 上段の形式設定を確認します。
6. 「変換開始」を押します。
7. ステータスバーと「詳細...」で結果、警告、エラーを確認します。

入力ファイルを選ぶと、初期出力先として `_converted` 付きのファイル名が自動表示されます。必要に応じて出力先を変更してください。

> **注意** 入力ファイルと出力ファイルが同一パスになる場合は、既存の安全規則により`_converted`付きの別名へ退避されます。

# 7. 複数ファイルを変換する

複数ファイル変換では、選択した複数の `.txt` / `.md` ファイルを同じ出力フォルダへ保存します。

1. 「ファイル変換」タブを開きます。
2. 処理単位で「複数ファイル」を選びます。
3. 「ファイルを選択...」を押します。
4. `Ctrl`または`Shift`を使って複数のファイルを選びます。
5. 「出力フォルダ」の「参照...」を押し、保存先フォルダを選びます。
6. 上段の形式設定を確認します。
7. 「変換開始」を押します。
8. 「詳細...」で成功件数、エラー件数、警告内容を確認します。

複数ファイル選択では、選んだファイルが出力フォルダ直下へ保存されます。元のフォルダ階層を維持したい場合は、次章のフォルダ一括変換を使用してください。

# 8. フォルダを一括変換する

フォルダ一括変換では、入力フォルダ以下の `.txt` / `.md` を再帰的に変換し、出力フォルダへ同じ相対フォルダ構成で保存します。

1. 「ファイル変換」タブを開きます。
2. 処理単位で「フォルダ一括」を選びます。
3. 「入力フォルダ」の「参照...」を押し、原稿フォルダを選びます。
4. 「出力フォルダ」の「参照...」を押し、保存先フォルダを選びます。
5. 上段の形式設定を確認します。
6. 「変換開始」を押します。
7. ステータスバーと「詳細...」で結果を確認します。

推奨フォルダ構成:

```text
manuscripts\
  chapter1\001.txt
  chapter1\002.txt
  chapter2\001.txt

converted\
  chapter1\001.txt
  chapter1\002.txt
  chapter2\001.txt
```

> **重要** 入力フォルダと出力フォルダは分けてください。同じ場所を指定するより、原稿用と変換結果用を明確に分離する方が安全です。

# 9. ルビ出力

「ルビ出力」は、変換先が「プレーンテキスト」の場合に使われます。

| 選択肢 | 例 | 説明 |
|---|---|---|
| ルビを削除 | `親文字` | 読みを削除し、親文字だけを残す |
| 親文字（ルビ）で残す | `親文字（ルビ）` | 読みを丸括弧で残す |

傍点や注記にはプレーンテキスト上の完全な同等表現がないため、情報が簡略化されることがあります。

# 10. ログと警告

RubiMorph 1.0.0では、空のログ欄や警告欄を常時大きく表示しません。通常時は入力・出力領域を優先し、下段ステータスバーに状態と警告件数を表示します。

## 10.1 ステータスバー

表示例:

```text
準備完了
変換完了
警告 2件
```

## 10.2 詳細ダイアログ

「詳細...」を押すと、ログと警告をタブで確認できます。内容は選択・コピーできます。

ログには、次の情報が時刻付きで記録されます。

- 入力ファイル・フォルダの選択
- テキスト変換
- クリップボードへのコピー
- ファイルごとの出力先
- ファイル変換の成功件数・エラー件数・警告件数

警告には、変換時に検出した注意事項が表示されます。警告がある場合も出力されることがありますが、そのまま投稿せず、該当箇所を確認してください。

特に次の変換は情報欠落が起きやすいため注意が必要です。

- ルビ・傍点をMarkdownへ変換
- ルビ・傍点をプレーンテキストへ変換
- 青空文庫の複雑な注記
- 小説家になろう向けの傍点
- 未確認・一部対応の投稿サイト形式
- カスタム形式を含む変換

# 11. 組み込み形式の対応状況

GUIには、実装済みまたは一部対応の形式が表示されます。

| 表示名 | CLI ID | 状態 | 主な注意点 |
|---|---|---|---|
| カクヨム | `kakuyomu` | 対応 | ルビ・傍点 |
| 小説家になろう | `narou` | 対応 | 傍点は要確認 |
| エブリスタ | `estar` | 対応 | ルビ・傍点 |
| ノベルアップ＋ | `novelup` | 一部対応 | 本文内記法の確認が必要 |
| pixiv小説 | `pixiv` | 対応 | 独自タグの構文に注意 |
| 青空文庫 | `aozora` | 対応 | 複雑な注記は一部対応 |
| note | `note` | 一部対応 | 複合装飾は保持されない場合あり |
| HTML ruby | `html` | 対応 | ruby以外のHTMLタグは警告対象 |
| Markdown | `markdown` | 一部対応 | ルビ・傍点は簡略化される |
| プレーンテキスト | `plain` | 対応 | 装飾情報が失われる |

主な記法例:

```text
カクヨム等のルビ       ｜親文字《ルビ》
傍点                   《《傍点対象》》
pixivルビ              [[rb: 親文字 > ルビ]]
pixiv傍点              [[emphasismark: 傍点対象 > ﹅]]
HTML ruby              <ruby>親文字<rt>ルビ</rt></ruby>
青空文庫風傍点         ［＃「対象」に傍点］
```

# 12. カスタム形式プロファイルの管理

カスタム形式プロファイルは、独自の入力記法・出力記法を定義するUTF-8 JSONファイルです。推奨拡張子は次です。

```text
.rubimorph-profile.json
```

管理画面は、メニューの「カスタム形式」→「カスタム形式を管理...」から開きます。メイン画面上にカスタム形式専用の変換ボタンはありません。

## 12.1 管理一覧の列

| 列 | 内容 |
|---|---|
| プロファイル名 | GUI上の表示名 |
| プロファイルID | ファイル名や識別に使う一意のID |
| 入力対応 | 変換元として使えるか |
| 出力対応 | 変換先として使えるか |
| 有効状態 | メイン画面の選択肢へ表示するか |
| 検証状態 | 正常か、エラー件数があるか |
| 保存場所 | 実ファイルのパス |
| 最終更新日時 | ファイルの更新日時 |

## 12.2 管理ボタン

| ボタン | 動作 |
|---|---|
| 新規作成 | 新しいプロファイルを作成し、登録領域へ保存 |
| 編集 | 選択したプロファイルを編集 |
| 複製 | IDと名前を変えたコピーを作成 |
| 検証 | 保存済みファイルを検証 |
| 登録 | 有効状態にし、変換元・変換先候補へ表示 |
| 登録解除 | 無効状態にし、候補から隠す。ファイルは削除しない |
| インポート | 外部のプロファイルファイルを登録領域へコピー |
| エクスポート | 選択した登録プロファイルを外部ファイルへ出力 |
| 削除 | 登録ファイルを削除 |
| 保存 | 選択中の内容を現在の保存場所へ書き直す |
| 名前を付けて保存 | 任意の場所へコピーとして保存。自動登録はしない |
| 閉じる | 管理画面を閉じる |

保存、登録、登録解除、削除、インポート後は、メイン画面の形式一覧が自動更新されます。選択中のカスタム形式が削除された場合は、安全な組み込み形式へ戻ります。

# 13. カスタム形式プロファイルの作成

「新規作成」を押すと編集画面が開きます。編集画面は次のタブで構成されます。

- 基本情報
- 入力規則
- 出力テンプレート
- 前処理
- 後処理
- 検証とテスト

## 13.1 基本情報

| 項目 | 入力内容 |
|---|---|
| 表示名 | メイン画面に表示する名前。日本語可 |
| プロファイルID | 英数字で開始し、英数字・`-`・`_`を使用。最大64文字 |
| 説明 | 用途、対象サイト、記法など |
| 登録状態を有効にする | 保存後に選択肢へ表示するか |
| 入力形式として使用 | 独自記法を解析するプロファイルにする |
| 出力形式として使用 | 内部トークンを独自記法へ出力するプロファイルにする |

表示例:

```text
カスタム: Example Bracket Format
```

入力専用、出力専用、入出力両対応のいずれも作成できます。

# 14. 入力規則の設定

入力規則は、正規表現に一致した部分をルビまたは傍点として解析します。

## 14.1 規則の項目

| 項目 | 説明 |
|---|---|
| 規則ID | プロファイル内で一意の識別子 |
| 規則名 | 人が読むための名前 |
| kind | `ruby` または `emphasis` |
| priority | 競合時の優先度。整数で大きい方を優先 |
| flags | 正規表現フラグ。カンマまたは空白区切り |
| 有効 | この規則を使用するか |
| 正規表現 | 独自記法を認識するパターン |

使用可能なflags:

```text
IGNORECASE, MULTILINE, DOTALL, ASCII
```

## 14.2 必須の名前付きグループ

ルビ規則には次の2グループが必要です。

```text
(?P<base>...)
(?P<reading>...)
```

傍点規則には次が必要です。

```text
(?P<text>...)
```

### 例: 角括弧形式のルビ

入力記法:

```text
[[ruby:親文字|ルビ]]
```

GUIの正規表現欄:

```regex
\[\[ruby:(?P<base>.+?)\|(?P<reading>.+?)\]\]
```

### 例: 角括弧形式の傍点

```regex
\[\[em:(?P<text>.+?)\]\]
```

> **重要** GUIの正規表現欄では、正規表現をそのまま入力します。JSONファイルをテキストエディタで直接書く場合は、JSON文字列としてバックスラッシュを二重化する必要があります。

## 14.3 規則の競合順序

複数規則が同じ周辺へ一致した場合は次の順で選ばれます。

1. 一致開始位置が早い
2. `priority`が高い
3. 一致範囲が長い
4. 一覧で先に定義されている

「上へ移動」「下へ移動」で最終的な定義順を調整できます。ゼロ文字に一致する正規表現は使用できません。

# 15. 出力テンプレートの設定

出力テンプレートは、内部のルビ・傍点をどの文字列で出力するかを指定します。

## 15.1 ルビ

使用可能なプレースホルダー:

```text
{base}      親文字
{reading}   読み
```

例:

```text
[[ruby:{base}|{reading}]]
```

## 15.2 傍点

使用可能なプレースホルダー:

```text
{text}
```

例:

```text
[[em:{text}]]
```

波括弧自体を出力したい場合は、`{{`と`}}`を使用します。不明なプレースホルダー、属性アクセス、式、関数呼び出しは使用できません。

# 16. 前処理・後処理の設定

## 16.1 前処理

「前処理」は、入力規則で解析する前に文字列へ適用します。別名表記を正規化する場合などに使います。

例:

```text
[[rb:  →  [[ruby:
```

## 16.2 後処理

「後処理」は、出力テンプレートで文字列を生成した後に適用します。空行の整理や、最終的なタグ名の置換などに使います。

## 16.3 置換規則の項目

| 項目 | 説明 |
|---|---|
| 規則ID | 一意の識別子 |
| 規則名 | 説明用の名前 |
| type | `literal` または `regex` |
| flags | regexの場合のフラグ |
| 有効 | 規則を実行するか |
| pattern | 検索文字列または正規表現 |
| replacement | 置換後の文字列 |

- `literal`: 単純な文字列置換
- `regex`: 正規表現置換

規則は一覧の上から順に実行されます。順番に依存する置換では「上へ移動」「下へ移動」を使用してください。

# 17. プロファイルの検証とテスト

## 17.1 検証

編集画面の「検証」を押すと、設定全体を確認します。保存時にも自動検証され、エラーがある場合は保存できません。

主な検証内容:

- `schema_version`が1であること
- プロファイルIDの形式
- 必須項目
- 重複した規則ID
- 正規表現の構文
- 空またはゼロ文字一致の正規表現
- 必須の名前付きグループ
- 使用できないflags、kind、プレースホルダー
- 規則数・文字列長・ファイルサイズの上限

## 17.2 テスト実行

「検証とテスト」タブで、テスト入力を入力して「テスト実行」を押します。

- 入出力両対応: 解析結果と、同じプロファイルで再出力した結果を表示
- 入力専用: 解析された内部トークンを表示
- 出力専用: RubiMorphが用意したサンプルトークンの出力結果を表示

出力例:

```text
解析結果:
ruby: base='親文字', reading='ルビ'
text: ' と '
emphasis: text='傍点対象'

テスト出力:
[[ruby:親文字|ルビ]] と [[em:傍点対象]]
```

## 17.3 安全上の上限

| 項目 | 上限 |
|---|---:|
| プロファイルファイル | 256 KiB |
| 入力規則数 | 100 |
| 正規表現パターン | 512文字 |
| 出力テンプレート | 512文字 |
| 置換文字列 | 1024文字 |
| カスタム変換の標準タイムアウト | 5秒 |

カスタム変換は子プロセスで実行され、タイムアウト時は停止します。任意のPython、JavaScript、シェルコマンド、外部プログラムは実行しません。

# 18. カスタム形式サンプルを使う

Webマニュアルでは、すぐ試せるカスタム形式サンプルを公開しています。

| ファイル | URL |
|---|---|
| サンプルZIP | `/RubiMorph/samples/RubiMorph_Custom_Profile_Samples.zip` |
| プロファイル | `/RubiMorph/samples/example-bracket-format.rubimorph-profile.json` |
| 入力例 | `/RubiMorph/samples/example-input.txt` |
| 期待出力 | `/RubiMorph/samples/example-expected-output.txt` |

サンプルプロファイルは次の記法を扱います。

```text
[[ruby:親文字|ルビ]]
[[rb:親文字|ルビ]]
[[em:傍点対象]]
```

`[[rb:` は前処理で `[[ruby:` へ正規化します。出力後は後処理で3つ以上続く改行を2つへ整理します。

## 18.1 GUIで試す手順

1. サンプルZIPをダウンロードして展開します。
2. RubiMorphを起動します。
3. メニューの「カスタム形式」→「カスタム形式を管理...」を開きます。
4. 「インポート」を押し、`example-bracket-format.rubimorph-profile.json`を選びます。
5. 「検証」でエラーがないことを確認します。
6. 必要なら「登録」を押して有効にします。
7. 管理画面を閉じます。
8. 変換元または変換先から「カスタム: Example Bracket Format」を選びます。
9. `example-input.txt` の内容をテキスト変換へ貼り付けるか、ファイル変換で入力に指定します。
10. 変換結果を `example-expected-output.txt` と比較します。

## 18.2 ユーザー作品サンプルについて

このサンプルパッケージでは、ユーザー作品の本文を使用していません。公開可否を安全に確認できない本文の混入を避けるため、RubiMorph検証用の短い架空文だけを使用しています。

# 19. CLI操作

CLIを使用する場合は、インストール先またはポータブル版のフォルダにある `RubiMorph.exe` をPowerShellまたはコマンドプロンプトから実行します。

## 19.1 PowerShellを開く

インストーラー版:

```powershell
Set-Location -Path "C:\Program Files\RubiMorph"
```

Portable版では、展開したフォルダでPowerShellを開きます。

## 19.2 基本情報

```powershell
.\RubiMorph.exe --version
.\RubiMorph.exe --list-platforms
.\RubiMorph.exe --matrix
.\RubiMorph.exe --help
```

## 19.3 直接テキスト変換

```powershell
.\RubiMorph.exe --from kakuyomu --to pixiv --text "これは｜空《そら》です。"
```

## 19.4 単一ファイル

```powershell
.\RubiMorph.exe --from kakuyomu --to html --input ".\input.txt" --output ".\output.txt"
```

## 19.5 フォルダ一括変換

```powershell
.\RubiMorph.exe --from kakuyomu --to pixiv --input-dir ".\manuscripts" --output-dir ".\converted"
```

## 19.6 書き込まずに確認

```powershell
.\RubiMorph.exe --from kakuyomu --to pixiv --input-dir ".\manuscripts" --output-dir ".\converted" --dry-run
```

## 19.7 診断レポート

```powershell
.\RubiMorph.exe --from kakuyomu --to pixiv --input ".\input.txt" --output ".\output.txt" --report ".\report.json"
```

## 19.8 ルビ出力

```powershell
.\RubiMorph.exe --from kakuyomu --to plain --plain-ruby-mode parentheses --input ".\input.txt" --output ".\output.txt"
```

`--plain-ruby-mode`は`remove`または`parentheses`です。

## 19.9 カスタムプロファイルの検証

```powershell
.\RubiMorph.exe --validate-profile ".\my-format.rubimorph-profile.json"
```

## 19.10 カスタム形式を変換元にする

```powershell
.\RubiMorph.exe --from-profile ".\source.rubimorph-profile.json" --to kakuyomu --input ".\input.txt" --output ".\output.txt"
```

## 19.11 カスタム形式を変換先にする

```powershell
.\RubiMorph.exe --from kakuyomu --to-profile ".\target.rubimorph-profile.json" --input ".\input.txt" --output ".\output.txt"
```

## 19.12 カスタム形式同士

```powershell
.\RubiMorph.exe --from-profile ".\source.rubimorph-profile.json" --to-profile ".\target.rubimorph-profile.json" --input ".\input.txt" --output ".\output.txt"
```

`--from`と`--from-profile`、`--to`と`--to-profile`は同時に指定できません。`--text`、`--input`、`--input-dir`もいずれか1つだけ指定します。

## 19.13 終了コード

| コード | 意味 |
|---:|---|
| 0 | 正常終了 |
| 1 | プロファイル不正、ファイルエラー、変換エラーなど |
| 2 | 引数の指定方法が不正 |

# 20. データの保存場所とバックアップ

登録済みカスタムプロファイルは通常、次に保存されます。

```text
%APPDATA%\RubiMorph\profiles
```

エクスプローラーのアドレス欄へ次を入力すると開けます。

```text
%APPDATA%\RubiMorph\profiles
```

## 20.1 バックアップ

1. RubiMorphを終了します。
2. `%APPDATA%\RubiMorph\profiles`を開きます。
3. フォルダ全体を別の場所へコピーします。

または、管理画面で各プロファイルを「エクスポート」してください。

## 20.2 別PCへの移行

1. 元PCでプロファイルをエクスポートします。
2. 新PCへファイルをコピーします。
3. 新PCのRubiMorphで「インポート」を実行します。
4. 検証後、「登録」して有効にします。

# 21. 更新・アンインストール

## 21.1 更新

1. 変換作業を終了し、RubiMorphを閉じます。
2. カスタムプロファイルをバックアップします。
3. 新しいReleaseのチェックサムを確認します。
4. 新しいインストーラーを実行します。
5. 起動後、「RubiMorphについて」でバージョンを確認します。
6. カスタムプロファイルと代表的な原稿で動作確認します。

プロファイルはインストール先ではなくユーザー領域に保存されるため、通常は更新後も維持されます。

## 21.2 アンインストール

Windowsの「設定」→「アプリ」→「インストールされているアプリ」からRubiMorphを選び、アンインストールします。

登録プロファイルが残る場合があります。完全に削除する場合は、必要なバックアップを取った後で次のフォルダを手動削除します。

```text
%APPDATA%\RubiMorph
```

# 22. トラブルシューティング

## 22.1 `Failed to load Python DLL`と表示される

`RubiMorphGUI.exe`または`RubiMorph.exe`だけを別の場所へ移動し、`_internal`フォルダが分離された可能性があります。

対処:

- Portable ZIPを再度すべて展開する
- exeだけを移動しない
- インストーラー版を再インストールする

## 22.2 カスタム形式が変換元・変換先に表示されない

次を確認します。

1. 管理一覧の検証状態が「OK」か
2. 有効状態が「有効」か
3. 「入力形式として使用」または「出力形式として使用」がオンか
4. 保存または登録後に形式一覧が更新されたか
5. メニューの「カスタム形式」→「形式一覧を再読み込み」を実行したか

## 22.3 プロファイルを保存できない

「検証とテスト」タブに表示される項目位置とエラー内容を確認します。よくある原因:

- `profile_id`に空白や日本語を使用
- 正規表現が不正
- `ruby`に`base`または`reading`がない
- `emphasis`に`text`がない
- 出力テンプレートに未対応プレースホルダーがある
- 規則IDが重複

## 22.4 変換が5秒で停止する

カスタムプロファイルの正規表現が複雑すぎる可能性があります。

- `.*`や入れ子の量指定を減らす
- 範囲を限定する
- 規則を分割する
- テスト入力を短くする
- 前処理で記法を単純化する

## 22.5 「変換開始」を押せない

現在のファイル変換モードで必要な入力元と出力先がそろっていない可能性があります。

- 単一ファイル: 入力ファイルと出力先が必要
- 複数ファイル: 選択ファイルと出力フォルダが必要
- フォルダ一括: 入力フォルダと出力フォルダが必要

## 22.6 Webリンクを開けない

ブラウザ起動に失敗した場合は、ページ名とURLを含む確認ダイアログが表示されます。必要に応じてURLをクリップボードへコピーし、手動でブラウザに貼り付けてください。

## 22.7 文字化け・読み込みエラー

ファイル入力はUTF-8を前提とします。Shift_JISなどのファイルは、テキストエディタでUTF-8へ変換してから使用してください。

## 22.8 フォルダ変換で対象がない

対象拡張子は`.txt`と`.md`です。他の拡張子は処理されません。

## 22.9 変換結果が期待と違う

- 変換元形式が正しいか
- 入力記法が正式な構文か
- 警告に情報がないか
- 変換マトリクス上で一部対応・lossyではないか
- 投稿サイトの現在の公式仕様と一致しているか

を確認してください。

# 23. セキュリティ・プライバシー

RubiMorph 1.0.0はローカル変換を前提としています。

- 原稿本文を外部サーバーへ送信しない
- ログイン・クラウド保存・投稿先への直接送信を行わない
- 認証情報を保存しない
- 指定したファイルまたはフォルダだけを処理
- カスタムプロファイルで任意コードを実行しない
- カスタム正規表現は子プロセスとタイムアウトで保護

ローカル処理であることは、README、使用ガイド、操作マニュアルで説明しています。メイン画面には長い説明文を常設せず、作業領域を優先しています。

「RubiMorphについて」ではバージョン、開発者リンク、GitHub等を確認できます。「ヘルプ」→「OSSライセンス」では、OSS通知とRubiMorph本体のMIT Licenseを確認できます。

# 24. 付録

## 24.1 CLI ID早見表

| ID | 表示名 |
|---|---|
| `kakuyomu` | カクヨム |
| `narou` | 小説家になろう |
| `estar` | エブリスタ |
| `novelup` | ノベルアップ＋ |
| `pixiv` | pixiv小説 |
| `aozora` | 青空文庫 |
| `note` | note |
| `html` | HTML ruby |
| `markdown` | Markdown |
| `plain` | プレーンテキスト |

## 24.2 最小プロファイル例

```json
{
  "schema_version": 1,
  "profile_id": "example-bracket-format",
  "name": "Example Bracket Format",
  "description": "角括弧形式の例",
  "enabled": true,
  "capabilities": {
    "input": true,
    "output": true
  },
  "parser": {
    "rules": [
      {
        "id": "ruby",
        "name": "ルビ",
        "kind": "ruby",
        "enabled": true,
        "priority": 100,
        "pattern": "\\[\\[ruby:(?P<base>.+?)\\|(?P<reading>.+?)\\]\\]",
        "flags": []
      },
      {
        "id": "emphasis",
        "name": "傍点",
        "kind": "emphasis",
        "enabled": true,
        "priority": 90,
        "pattern": "\\[\\[em:(?P<text>.+?)\\]\\]",
        "flags": []
      }
    ]
  },
  "renderer": {
    "templates": {
      "ruby": "[[ruby:{base}|{reading}]]",
      "emphasis": "[[em:{text}]]"
    }
  },
  "transforms": {
    "before_parse": [],
    "after_render": []
  }
}
```

## 24.3 安定URL

GUIのヘルプメニューは、バージョン番号を含まない次の安定URLを開きます。

| ページ | URL |
|---|---|
| 操作マニュアル | `https://www.tadatsune.com/RubiMorph/manual.html` |
| 使用ガイド | `https://www.tadatsune.com/RubiMorph/guide.html` |
| 公式サイト | `https://www.tadatsune.com/` |
| 最新版とRelease | `https://github.com/TadatsuneSakamoto/RubiMorph/releases/latest` |

## 24.4 日常運用の推奨手順

1. 原稿のバックアップを取る
2. 変換元・変換先を確認する
3. 少量のテキストで試す
4. 警告を確認する
5. 空の出力フォルダへファイル変換する
6. 差分または目視で確認する
7. 投稿先のプレビューで最終確認する

---

**RubiMorph 1.0.0 操作マニュアル**  
本書はRubiMorph 1.0.0の実装、同梱ドキュメント、Web公開用ガイド、カスタム形式サンプルを基に作成しています。

