AozoraXMDF

青空文庫→XMDFテキストフロー変換

説明

青空文庫の注記入りテキストファイルを、XMDFビルダーのテキストフローの独自タグのテキストに変換するツールです。

主な特徴
  • XMDFタグにあわせた青空注記変換 (変換設定ファイル利用)
  • 画像の埋め込みに対応
  • 外字処理
 JISコードとUnicode(U+)表記の外字注記をUTF-8文字に変換
 コードのない外字注記ををUTF-8文字に変換
 XMDFビルダーで変換できないUTF-8文字をグリフタグに変換(グリフがあるもののみ)

ダウンロード


Version: 1.1.9
Release date: 2011/08/09

 ・ソースコード (Java) (非商用 無料アプリ等で流用可)
 ・変換設定ファイルの説明

動作環境

Java Version 6 以上
XMDF作成にXMDFビルダー+外字用フォントが必要

  • 注意点
・XMDF変換時に「コンバート中にエラーが発生しました」と表示される場合は、画像がインポート
  されていないか画像のファイル名が違っています。
・「傍点」が多いとXMDFビルダーの変換に若干時間がかかります。
  変換が待てない場合は、chuki_tag.txtを修正して
  <ktop>﹅</ktop>  を  <ktop>ヽ</ktop> に置き換えてください。
コード記述のない外字注記AdobeJapan1のグリフがない文字 は変換されずに 〓 が出力されます。
・JIS範囲外のU+20000以上の文字は変換できません。 (いくつかはグリフがあるが変換ファイル未設定)
 (※グリフに変換できない外字注記はchuki_alt.txtにグリフタグを設定することで変換可)

  • 1.1.9での主な変更点
 - 表題業変換処理を変更 (タグ空白除去後の文字にサイズ指定のみ+バグ修正)
 - 画像パス区切りが\の場合に対応
 - アルファベットのルビ前び空白が消えるので<ruby>タグ内に入れる
 - ※が消えないように修正


使い方

  • 起動
AozoraXMDF.jar をダブルクリックして実行します。
  • 青空→XMDFタグ変換
変換したい青空文庫テキストファイル(拡張子.txt)を表示されたアプレットにドラッグ&ドロップします。
テキストファイルと同じ場所に「元ファイル名_xmdf.txt」のファイルが生成されます。
(出力文字コードはUTF-8です)

  • XMDFビルダー起動
XMDFビルダーを起動し、新規ワークフローを作成します。
メニューの「基本構成」→「フロー」→「フロー追加」→「テキスト」でテキストフローを追加します。

  • テキストフローに貼り付け
UTF-8に対応したテキストエディタで出力ファイルを開きます。
テキストデータをすべて選択してコピーしてXMDFビルダーのテキストフローに貼り付ます。

  • 画像がある場合
テキストフロー上に画像ファイルをドラッグ&ドロップ後に「元に戻す」を実行し追加されたタグを削除します。
※ファイルが重複する場合は、テキストフローにドラッグ&ドロップしたときに表示されたファイル名(例: 表紙.jpg-1)に合わせてテキスト内のファイル名を修正します。

  • XMDFのバージョンと標準文字の設定
XMDFバージョンが3.00Dの場合
→XMDFビルダーのバージョンを3.00D、標準文字設定を「JIS 第1~4水準(3,4は漢字のみ)」に設定します。
SonyReader等のXMSF3.00Dに対応していない場合
→XMDFバージョンを2.10D、標準文字設定を「JIS 第1~2水準」に設定します。
XMDFで自動変換できない文字は対応するCIDコードのグリフタグ
(例: <glyph system="Adobe-Japan1-6" code="1234" />)に変換しています。(chuki_alt.txt で設定)
参考:Adobe-Japan1-6 CIDコードリスト 5078.Adobe-Japan1-6.pdf

  • 外字の基本設定(外字やアクセント表記がある場合は必須)
XMDFビルダーのメニュー「環境設定」→「環境設定」→「テキスト」の「外字自動精製用フォントファイル」選択後
「+追加」でフォント(IwaMinPr6-Md.xot)を追加し「外字の調整」で位置とサイズを調整します。
  • プロジェクトの外字設定(ワークススペース毎に設定)
XMDFビルダーのメニュー「プロジェクト」→「プロジェクト情報」を選択し
「コンテンツ設定」→「外字」でフォント「I-OTF明朝Pr6 M」選択

  • XMDFファイル生成
タイトルと著者名を設定します。
XMDFビルダーで「ビューワで表示」で確認後、「パブリッシュ」でXMDFファイルを出力します。

画面設定

  • 入力文字コード
入力する青空文庫ファイルも文字コードを指定します。通常はMS932(SJIS)です。
  • 表題行
タイトルと著者名の有無を設定します。画像や空行は無視されます。
現状は自動で拡大表示のタグを入れているだけです。
  • ファイルの上書き許可
出力ファイル(_xmdf.txt)がすでにある場合でも上書きして出力します。
  • 拡張ラテン文字変換
アクセント表記された拡張ラテン文字をグリフタグに変換
UTF-8文字はXMDF出力できないためグリフで出力)

対応注記

  • 基本的な注記に設定ファイルで対応
 chuki_tag.txt 参照

  • 例外的にプログラム処理しているもの
・複合字下げ[#ここから○字下げ、折り返して●字下げ]
・画像 (キャプション、サイズ指定未対応)
 [#画像説明(ファイル名)]
 <img src="ファイル名">
・アクセント符号付きラテンアルファベット変換 → UTF-8に変換 → 横書き用グリフに変換
 〔e'tranger〕 → <glyph system="Adobe-Japan1-6" code="201" v_code="8920"/>tiquette
・ くの字点「/\」「/″\」 → UTF-8に変換
・青空文庫特殊文字の外字注記(《》[]〔〕|#※)

・後述注記のインライン注記への変換
・圏点・縦横中内にルビを含む場合 → ルビ無効
・字下げ連続時の[#ここで字下げ終わり]の省略
・ブロック字下げでの改行制御
  • 外字と特殊文字
・外字をUTF-8で出力 (UTF-8コード、JISコードあり)
 ※[#「さんずい+垂」、unicode6DB6]
 ※[#「さんずい+垂」、U+6DB6、235-7]
 ※[#「てへん+劣」、第3水準1-84-77]
・外字をグリフで出力 (表示できないorUTF-8にない文字 chuk_alt,txt)
 ※[#丸100、ページ数-行数] → <glyph system="Adobe-Japan1-6" code="10312"/>
・グリフがない外字は代替文字を出力 (chuk_alt,txt)
 ※[#感嘆符三つ、ページ数-行数] → <yoko>!!!</yoko>
・コード記述がない記号の外字注記は記号のみ名称からUTF-8に変換 (chuk_utf.txt で設定 漢字は未登録)
・JIS範囲外のU+20000以上の外字注記は変換不可 (グリフを設定すれば変換可) 

TODO

  • 青空変換
  - 圏点内にフォント指定ががある場合は入れ替える → フォントが無効になるだけなので未対応?
  - 漢字の外字グリフ変換が設定されているとルビの自動識別に含まれない → 面倒なので未対応?
  - [#ページの左右中央]の対応 → XMDF非対応?
  - [#ここから罫囲み]の対応 → XMDF非対応?
  - [#ここから横組み]の対応 → XMDF非対応?
  - 見出しと目次のリンク

  • Applet
  - Zip直接読み込み
  - 再帰読み込み
  - アイコン設定
  - 詳細設定
  - 諸々UI調整

その他

 例外的な記述への対応や完全なテストはしていないのでファイルによっては不具合出るかも。
 生成したファイル以外の書き換えや削除はしていませんが、利用は自己責任でお願いします。
 余裕ができたらAozoraEpub3側の青空注記対応の修正を反映させます。

コメント

  • 要望・バグ報告等があればここにコメントか「管理者にお問い合わせ」で連絡お願いします。
名前:
コメント:



最終更新:2012年07月20日 02:50