View on GitHub

AozoraEpub3-JDK21

AozoraEpub3 - Aozora Bunko to EPUB 3 Converter (JDK 21)

🌐 English

外字の設定(端末で「?」や□になる文字への対処)

⚠️ ご注意

  • 本設定は AozoraEpub3-JDK21 v1.6.1-jdk21 以降で利用できます。
  • 初期状態では無効です。設定を変更しない限り、出力される EPUB は従来と同一です。

変換した EPUB を電子書籍リーダーで開いたとき、一部の漢字が ? または □(豆腐) で表示されることがあります。本ページでは、この症状に対する「外字」設定の使用方法を説明します。

症状

本来の表示    𢌞り
端末での表示   ?り

原因

青空文庫形式の原稿では、通常の文字コードで表現できない文字を 外字注記 という形式で記述します。

※[#「廴+囘」、第4水準2-12-11]り

AozoraEpub3 はこの注記を Unicode の文字 𢌞 に変換して出力します。ただし 𢌞JIS 第4水準 に属する文字であり、電子書籍リーダーに搭載されたフォントに収録されていないことがあります。フォントに該当する字が無いと、端末は ? または □ を表示します。

AozoraEpub3 側からは、変換先の端末がその文字を表示できるかどうかを判定できません。そのため本設定では、文字そのものの出力をやめ、どの文字であったかが分かる注記に置き換えるという動作を選択できます。

設定を有効にした場合   〓(「廴+囘」)り

括弧内の説明は、本文より小さい文字(行右小書き)で表示されます。


設定手順

1. 「スタイル」タブを開く

GUI の 「スタイル」タブを開きます。「外字」の設定は画面右下にあります。

AozoraEpub3 のスタイルタブ。行の高さ、文字サイズ、太字ゴシック表示、テキスト余白、濁点/半濁点文字、IVS出力、そして右下に「外字」パネルが並んでいる

初期状態ではチェックボックスが未選択で、従来と同じ出力になります。

外字パネル。「端末で表示できない文字は注記表示にする」のチェックボックスが未選択の状態。右に「水準の設定...」ボタンと「現在: 第4水準以上」の表示

補足: 表示に問題が発生していない場合、この設定を変更する必要はありません。チェックボックスを選択しない限り、出力される EPUB は従来と 1 文字も変わりません。

2. 機能を有効にする

「端末で表示できない文字は注記表示にする」 のチェックボックスを選択します。

外字パネル。「端末で表示できない文字は注記表示にする」のチェックボックスが選択された状態

ボタンの右側に表示される 「現在: 第4水準以上」 が、適用中の水準です。設定ダイアログを開かなくても、この表示で現在の設定を確認できます。

ここまでの確認: チェックボックスが選択され、右側に「現在: 第4水準以上」と表示される

3. 水準を選択する

初期値のままで使用する場合、この手順は不要です。水準を変更する場合は 「水準の設定…」 ボタンを押します。

外字の詳細設定ダイアログ。「注記表示にする水準」のドロップダウンが「第4水準以上」、その下に「注記に水準コードを含める」チェックボックス、OK と取消ボタン

「注記表示にする水準」のドロップダウンから、対象とする水準を選択します。

ドロップダウンを開いたところ。第3水準以上、第4水準以上(選択中)、JIS規格外のみ の 3 項目

「OK」 を押すと設定が反映され、「現在:」の表示が更新されます。「取消(Cancel)」 を押した場合、変更は破棄されます。


設定値の説明

注記表示にする水準

設定値 対象となる文字 動作
第3水準以上 第3水準・第4水準・JIS 規格外 対象が最も広い設定です。 などの文字も注記表示になります
第4水準以上(初期値) 第4水準・JIS 規格外 まずこの設定で表示を確認してください
JIS規格外のみ JIS X 0213 に収録されていない文字 対象が最も狭い設定です。第3水準・第4水準はそのまま出力されます

補足: 「JIS規格外のみ」で第3水準・第4水準がそのまま出力されるのは、JIS X 0213 の文字コード機能を備えた実行環境の場合です。この機能を含まない実行環境では、第3水準・第4水準も対象になります。一般的な JDK では問題ありません。

水準の選び方

次の順序で調整してください。

  1. 初期値の 「第4水準以上」 のまま変換し、端末で表示を確認します
  2. ? や □ が残る場合は、「第3水準以上」 に変更します
  3. 表示できる文字まで になる場合は、「JIS規格外のみ」 に変更します

参考値として、AozoraEpub3 に収録されている外字注記表 7,949 件のうち、各設定で注記表示の対象となる件数を示します。

設定値 対象件数 比率
第3水準以上 7,886 件 99.2%
第4水準以上 6,185 件 77.8%
JIS規格外のみ 3,751 件 47.2%

補足: 上表は注記表全体に対する比率です。1 冊の作品に含まれる外字は通常数文字程度のため、本文の大部分が に置き換わることはありません。

注記に水準コードを含める

設定ダイアログ下部のチェックボックスです。青空文庫の注記を元の形式のまま残す場合に選択します。

未選択   〓(「廴+囘」)り
選択     〓(「廴+囘」、第4水準2-12-11)り

水準コードを含めると、後から該当する文字を特定する際や、別の端末向けに再変換する際の手掛かりになります。一方で 1 行あたりの文字数が増えるため、縦書きでは行が長くなります。初期値は未選択です。

選択すると、「外字」パネルの表示が 「現在: 第4水準以上+水準コード」 に変わります。


設定による出力の違い

次の原稿を例に、設定ごとの出力を比較します。水準は「第4水準以上」です。

注記経由の第4水準は ※[#「廴+囘」、第4水準2-12-11]り という字である。
生の第4水準を直接書くと 𢌞り になる。
BMP の第3水準は 俠客 のように書く。
第1・2水準の 崎 や 亜 は影響を受けない。
設定 注記経由の第4水準 直接記述された第4水準 第3水準 第1・2水準
未選択(初期値) 𢌞り 𢌞り 俠客
選択 〓(「廴+囘」)り 〓り 俠客
選択+水準コード 〓(「廴+囘」、第4水準2-12-11)り 〓り 俠客

この結果から、次の 3 点が確認できます。

補足: 注記の内側に記述された外字(※[#「…※[#…]…」] のように入れ子になっている場合)も、説明が付かず のみになります。注記の中に注記を出力できないためです。


変換ログの表示

変換を実行すると、注記表示に置き換えた件数がログに出力されます。

外字を注記表示にしました: 2 件

置き換えが発生しなかった場合、この行は出力されません。


コマンドラインでの設定

GUI と同じ設定を ini ファイルで指定できます。narou.rb / narou.rs 経由で使用している場合も、この方法で設定します。

編集するファイルは、AozoraEpub3 のフォルダにある AozoraEpub3.ini です。-i オプションで別のファイルを指定することもできます。

⚠️ ご注意: GUI は終了時に AozoraEpub3.ini を書き戻します。ini を直接編集する場合は、GUI を終了してから編集してください。編集中に GUI を終了すると、変更が上書きされます。

キー 設定値 初期値 内容
GaijiFallback 1 / 空 空(無効) 本機能を有効にするかどうか
GaijiFallbackLevel 3 / 4 / 9 4 3 = 第3水準以上 / 4 = 第4水準以上 / 9 = JIS規格外のみ
GaijiFallbackCode 1 / 空 空(無効) 注記に水準コードを含めるかどうか

GaijiFallbackLevel に表以外の値を指定した場合の動作は保証されません。数値として解釈できない値を指定した場合は、初期値の 4 として扱われます。

記述例:

GaijiFallback=1
GaijiFallbackLevel=4
GaijiFallbackCode=

実行例:

java -jar AozoraEpub3.jar -of -enc UTF-8 -i my.ini -d out input.txt

⚠️ ご注意: 入力ファイルが UTF-8 の場合は -enc UTF-8 を指定してください。省略時は MS932(Shift_JIS)として読み込まれ、文字化けが発生します。


他の対処方法との比較

本設定は、表示できない文字を、内容の分かる注記に置き換える方法です。文字そのものを表示する必要がある場合は、次の方法を使用します。

方法 内容 適した用途
外字の設定(本ページ) 〓(説明) に置き換える 簡単に対処したい場合。端末を問わず動作します
1文字フォントの埋め込み gaiji/u2231e.ttf を配置すると、その文字のフォントを EPUB に埋め込みます 文字として表示したい場合。端末が埋め込みフォントに対応している必要があります
replace.txt 置換前後の文字を記述した表を作成します 特定の文字を任意の文字に置き換えたい場合

1文字フォントは GlyphWiki から入手できます。ファイル名は u + Unicode(小文字)の形式です。詳細は配布物内の gaiji/README.txt を参照してください。

補足: 1文字フォントが配置されている文字は、本設定を有効にしても置き換えの対象になりません。外字注記経由の文字と、原稿に直接記述された文字の両方が対象外になります。正しく表示できる文字を に置き換える必要がないためです。


よくある質問

Q. 初期状態のまま使用した場合、従来と出力が変わりますか。

変わりません。チェックボックスを選択しない限り、出力される EPUB は従来と同一です。

Q. 以外の文字に変更できますか。

現在は変更できません。

Q. 端末に応じて自動的に切り替わりますか。

自動では切り替わりません。端末プリセットとの連動は今後の検討事項です。

Q. どの端末でどの文字が表示できないか、一覧はありますか。

一覧はありません。表示可否は端末とファームウェアの組み合わせによって異なるため、実際の端末で確認してください。


関連ページ