PandocのICML出力にでんでんマークダウン記法のルビを対応させる

 Pandocというプロジェクトがあります(日本語解説はこちらを参照)。これはMarkDown記法などで書かれたドキュメントをHTMLやWord文書、PDFなどに変換して出力できるといったようなものですが、出力対応形式のひとつにICMLが入っています。これはAdobe InCopyの保存形式で、InDesignに配置して流し込むことができます(Pandocは一応EPUBにも変換できるようなのですが、まだEPUB2.0のようなのでまあ・・・)。
 なかなか興味深いのでちょっと調べてみたのですが、残念ながらルビには対応していません。まあMarkDown記法自体にルビの記法がないですし、ルビは(当たり前ですが)日本語版InDesignにしかない機能なので当然と言えば当然です。Pandocは国際プロジェクトなので仕方ないところでしょう。
 でもルビ使えたら便利そうだよねということで、でんでんマークダウンのルビタグ拡張記法に対応する置換処理をPerlで書いてみました。まあPandoc本体はHaskellで書かれているようなのですが、そんなもんは非専業プログラマとしては手が出ないので手を出しません。コードは以下。

ターミナルで

perl このコードのファイルパス.pl 変換するPacDocの出力したICMLファイルのパス.icml

のような感じで動作し、元ファイルを上書きします。結果はこの通り。
置換結果

PandocでMarkDown形式のファイルを.icmlにするのは

pandoc マークダウンファイルのパス.md -s -o 出力先パス.icml

のような感じ。
Pandoc自体のインストールは私はhomebrewでやりましたが、インストーラも存在するようです。

Pacdocを絡めたDTPフローの話はここここにあります。やはりみんないろいろ試されていますね。

テスト用に使ったマークダウンファイルもこちらに置いておきます。

(2017.11.15)

タグ: , , , , ,

コメントをどうぞ

プロフィール
Jun Tajima

こちらにて、電子書籍&Web制作を担当しています。
このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。少しでも早い段階で快適な電子書籍閲覧・制作環境が整うことを願って、現場からの声を発信していこうと目論んでおります。

当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。また、本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。