2010/07/23

WordPress – Download ePub プラグイン

by ctrans

WordPressのエントリをePubに変換し、ダウンロードできるようにするプラグインを作成しました。

ダウンロード:Download ePub プラグイン( download-epub.zip )

システム要件

圧縮にPEARのFile/Archive.phpを利用しているため、同パッケージを使える必要があります。

設置方法

サーバ側の設定

  1. Download ePubプラグインのフォルダをサーバのpluginフォルダにアップロードします。
  2. プラグインのフォルダ内にあるskeleton/OEBPSフォルダの属性を777にします。
  3. wp-content/uploads内にepubというフォルダを作成し、属性を777にしてください。
  4. wp-content/uploads/epubフォルダに以下を記した .htaccess を置きます(MIMEタイプの設定です)。
  5. AddHandler application/epub+zip .epub
    AddType application/epub+zip .epub
  6. ePubにフォントを同梱したい場合は、download-epub/skeleton/OEBPS/fontsにフォントをアップロードし、download-epub/skeleton/OEBPS/style.cssを適宜編集します。

WordPressの設定

ダウンロード用のリンクを挿入する場所を決めて下さい。たとえば利用しているテーマのsingle.phpを開き、適当な位置に

< ?php if(isset($ePub)) $ePub->ePublisher(); ?>

を挿入します。このタグはページが表示される際に

<div class="epub"><a href="%s" target="_blank">Download ePub</a></div>

というePubをダウンロードするためのリンクに変換されます(このリンクは任意の形式に変更できます。下記「設定項目」を参照して下さい)。

設定項目

download-epub.phpの32行目から37行目までが設定項目です。

$this->ePub_dir → 作成したePubファイルを保存するディレクトリ
$this->ePub_url → ePubが保存してあるフォルダのURL
$this->ePub_author → ePubの作者
$this->ePub_publisher → ePubの出版者
$this->ePub_language → ePubで使用している言語
$this->ePub_anchor_template → ePubダウンロード用アンカータグのテンプレート

32行のディレクトリは、デフォルトの「get_option(‘upload_path’) . “/epub”;」から変更する必要はありません。33行のURLは32行のディレクトリと等価ですが、「メディア」の設定で「アップロードするファイルの保存場所」を変更している場合、デフォルトの「get_option(‘siteurl’) . ‘/wp-content/uploads/epub/’;」では正しく動作しません。設定に応じて適宜修正して下さい。

アンカータグのテンプレートは、初期状態では
<div class=”epub”><a href=”%s” target=”_blank”>Download ePub</a></div>
となっています。「href=”%s”」以外の部分は変更可能ですので、お好きなように編集して下さい。

設置例

当サイトでは、使用しているテーマのsingle.phpを編集し、

<h1>< ?php the_title(); ?></h1>

となっていたところを、

<h1>< ?php the_title(); ?>< ?php if(isset($ePub)) $ePub->ePublisher(); ?></h1>

とし、ダウンロード用のリンクを挿入しています。リンクは

<div class="epub"><a href="hogehoge.epub" target="_blank">Download ePub</a></div>

の形式で挿入されるため、テーマのcssには次のクラスを追加しています。

.epub {
	float: right;
	background-image: url("../images/epub.png");
	background-repeat: no-repeat;
	background-position: center left;
	margin:0 15px 0 15px;
	padding-left:20px;
	font-size: 11px;
	font-weight: normal;
}

各エントリのタイトルの横にePubをダウンロードするためのリンクが本のアイコンとともに表示されていると思います。その見栄えを定義しているのが上のePubクラスです。[1]

次にフォントについてですが、日本語のフォントとしてIPAモナーP明朝(ipamp-mona.ttf)、中国語のフォントとして文鼎(Arphic)の簡体字宋体フォント(gbsn00lp.ttf)をプラグインのフォルダの plugins/download-epub/skeleton/OEBPS/fonts に加えています。

このフォントを使うため、plugins/download-epub/skeleton/OEBPS/style.css には次のような定義を加えています。

@font-face {
  font-family: "ipampmona", serif;
  src: url(fonts/ipamp-mona.ttf);
}
@font-face {
  font-family: "AR PL SungtiL GB", serif;
  src: url(fonts/gbsn00lp.ttf);
}
body {
  font-family: "ipampmona", serif;
  margin: 3%;
}
p {
  line-height: 150%;
  font-family: "ipampmona", serif;
  text-indent: 1em;
}
.cn {
  font-family :"AR PL SungtiL GB", SimSun, STSong, STKaiti, serif;
}

このプラグインの仕様および注意事項

このプラグインは、ページが表示される際にそのエントリに対応するePubファイルが存在するか否かをまずチェックします。もしまだ作成されていなければ、タイトルや本文を取り出してePubに変換し、wp-content/uploads/epub のフォルダに保存します。その後、ブログ内の指定された位置にアンカータグを挿入します。

Download ePubタグの挿入場所はsingle.phpをおすすめします。ePubファイルを作成する処理は、それほど重いものではありませんが、作成する数が多いとそれなりに時間がかかるため、index.phpなどに設置すると表示されるエントリの数だけePub作成処理が実行されます。作成処理が実行されるのはePubが存在しない1回目だけですがご注意下さい。

ePubのファイル名は、エントリのID+更新日時のタイムスタンプで構成されています。このことから予想がつくと思いますが、エントリの更新を行うと、ePubファイルもあらためて作成されますので、細かい修正を繰り返すとePubの保存フォルに同じようなファイルがたくさんできます。

バージョン0.1現在、圧縮まわりに不具合が残っています。今後修正する予定ですが使用する際はご注意下さい。

  1. 現在プラグイン停止中です。 []
2010/06/29

Pinconv 4.11

by ctrans

Pinconvのバージョンアップを行いました。終了時のコマンドバーとサイドバーの状態を起動時に復元する機能を追加したほか、北辞郎検索に関係する不具合などを修正しています。

Pinconvの紹介はこちらのエントリ、詳しい使い方についてはPinconvの使い方を参照下さい。窓の杜による紹介記事はこちらです。

修正点

  • 北辞郎の検索時の検索オプションまわりの不具合を修正
  • 終了時のコマンドバーとサイドバーの状態を起動時に復元するように変更(プラグインによって表示されたものは除く)
  • 検索用のコマンドバーや置換用のサイドバーなどでEscapeキーを押すとエディタ部分にフォーカスが移るように変更
  • 色設定ダイアログのカラーテーマの選択方法を変更
  • 変換データファイルが切り替えられた際のステータスバー更新の不具合を修正
  • 検索時のハイライトの挙動を修正
  • 「ファイルを開く」からWordファイルのテキストを抽出しても「最近開いたファイル」に登録されない不具合を修正
  • Wordのファイルからテキストを抽出する際にインライン要素を無視するオプションを追加(設定ダイアログの「ファイル」タブ)
2010/06/25

ePub版「故郷」の作成と日中混在の注意点など

by ctrans

最近話題の電子書籍を自分でも作成してみたかったので、3年ほど前に訳した魯迅の故郷に少し手を入れてePub形式にしてみた。ePubはXHTMLとCSS、フォント、画像をひとつのフォルダにまとめてZIPで圧縮したようなファイル形式なのでホームページを作ったことのある人間であれば、割合簡単に作成することができる。実際の成果物については以下のリンクからダウンロードしてePub用の適当なビューワで閲覧されたい。個人的にはAdobeのDigital EditionsかSONYのReader Library Softwareが使いやすいと思う。

ダウンロード:故郷 (ePub版)

ePubを作成するためのオーサリングソフトには、当初よく紹介されているsigilを使っていたのだが、日本語周りに問題があるようなので、途中から国産のFUSEeを使用した。現在公開されているのはベータ版でヘルプファイルなども用意されていないが、画面の構成を見れば使い方はなんとなく分かった[1]

fusee-epub

ePubには複数のフォントを同梱することができる。今回題材に選んだ「故郷」に登場する「」という漢字は、日本語のフォントには含まれていないため、簡体字用のフォントを追加しておかないと正しく表示されない。日本語のフォントもデフォルトのままだと読む気がなくなるので、コンテンツにマッチし、かつライセンス的にも気軽に利用できるフォントを追加しておいた方が良い。私は日本語のフォントとしてIPAモナーP明朝を選んだ。ePubにしたときに読みやすくおすすめである。簡体字中国語のフォントは、文鼎(Arphic)提供の簡体字宋体フォント(AR PL SungtiL GB:フォントファイル名はgbsn00lp.ttf)がファイルサイズがコンパクトで良い。日本語や中国語のフォントはどうしてもファイルサイズが大きくなるので、それを埋め込んだePubファイルも大きくなってしまう。20MBという目眩がしそうなサイズの中国語フォントもそれほど珍しい存在ではないので、見栄えの良いコンパクトなフォントは貴重である。

関連:文鼎のフォントのダウンロード先[2]
read more…

  1. 表紙のPNGファイルがちゃんと表示されないなあ、とtwitterでつぶやいたら中の人が速やかに対応して下さった(感謝) []
  2. 簡体字の宋体と楷体、繁体字の明体と楷体の4つをダウンロードできる。ライセンスはArphic Public License。ミラーサイトは http://ftp.yz.yamagata-u.ac.jp/pub/GNU/non-gnu/chinese-fonts-truetype/ []
2010/06/01

Pinconv 4.10

by ctrans

Pinconvのマイナーバージョンアップを行いました。テンプレート置換のファイル切り替えに関連する不具合などを修正しています。

Pinconvの紹介はこちらのエントリ、詳しい使い方についてはPinconvの使い方を参照下さい。窓の杜による紹介記事はこちらです。

修正点

  • 登録ユーザ専用機能「データファイルの保存先を変更」の挙動を変更
  • テンプレート置換のファイル切り替えが正しく動作しない不具合を修正
2010/05/24

Pinconv 4.09

by ctrans

Pinconvのマイナーバージョンアップを行いました。システムディレクトリの設定に関連する不具合を修正しています。

Pinconvの紹介はこちらのエントリ、詳しい使い方についてはPinconvの使い方を参照下さい。窓の杜による紹介記事はこちらです。

修正点

  • バージョンアップ時のシステムディレクトリの設定に関係する不具合を修正
2010/05/22

Pinconv 4.08 – テンプレート置換と連続置換

by ctrans

テンプレート置換、連続置換、Ghost用ダイアログなどの機能を追加し、置換関連機能を大幅に拡充したPinconvのバージョン4.08を公開します。

Pinconvの紹介はこちらのエントリ、詳しい使い方についてはPinconvの使い方を参照下さい。窓の杜による紹介記事はこちらです。

以下、新たに追加した3機能の概要を紹介します。それぞれ詳しい使い方については、ヘルプのテンプレート置換連続置換Ghost用ダイアログをご参照下さい。

read more…

2010/04/27

Pinconv 4.07

by ctrans

Pinconvのマイナーバージョンアップを行いました。いくつか不具合を修正しています。

Pinconvの紹介はこちらのエントリ、詳しい使い方についてはPinconvの使い方を参照下さい。窓の杜による紹介記事はこちらです。

修正点

  • Wordファイルにテキストを書き戻す機能を修正
  • 同Wordファイル関連の内部処理を修正
  • Wordから抜き出したファイルを正しく扱えるようにVacuumの挙動を修正
2010/04/11

Pinconv 4.06 – Wordファイルの操作

by ctrans

MS-Wordファイルからテキストを抽出し、編集後に書き戻す機能を追加したPinconvのバージョン4.06を公開します。

Pinconvの紹介はこちらのエントリ、詳しい使い方についてはPinconvの使い方を参照下さい。窓の杜による紹介記事はこちらです。

MS-Wordのファイルからテキストを抽出・編集・上書き

word2txt

Wordのファイルをテキストエディタで編集したいと思ったことがあるのは、私だけではないでしょう。Wordは優れたアプリケーションですが、テキストをガリガリと入力する時は使い慣れたテキストエディタの方が効率がいいですし、テキストが相手なら置換や整形、校正、翻訳支援など各種ツールを利用して作業の省力化を図ることができます。

私はふだんほとんどの翻訳作業をPinconv上で行っています。変換データファイル「中日.dat」をベースに翻訳用のデータファイルを作成していて、固有名詞や専門用語などを数千語登録しています。

たとえば、翻訳対象である中国語の原文に「发改委」という単語が出てきたとしましょう。この言葉は組織名の略称ですので日本語にすると「発展改革委員会」となります。いつ、どのような文脈で出てきても必ず「発展改革委員会」と訳出することになりますので、毎回「hattennkaikakuiinnkai」とバカ正直にタイピングするのは避けたいところです。

発展改革委員会

そこで先ほどの翻訳用データファイルに「发改委」と「発展改革委員会」のペアを登録しておきます。そうすると次からはGhostを実行するだけで「发改委」が「発展改革委員会」に変換されますので入力の手間が省けます。手間が省けるだけでなく入力ミスの心配もなくなります。効率を上げミスも防ぐ。私のように無精でそそっかしい人間には最適の作業環境です。

しかしながら現実は思うに任せないもので、最終的に納品するのはたいていWordファイルです。表組みやテキストボックスの中を翻訳しなければいけないこともあります。プレーンテキストに落としてしまうとこうしたレイアウトなどの書式情報は保持されないため、自前で復元しなければいけません。当たり前ですがものすごく面倒です。

職人芸の域に達している複雑な表組みやテキストボックスを多用したフローチャートなどは、ツールで翻訳の効率化を実現してもレイアウトを復元する労力の方がそれを上回るのでメリットがありません[1]

Wordからテキストを抽出

そこで必要となるのが次のようなソリューション。Wordファイルからテキストを抜き出し、エディタを使って書式やレイアウトを改変することなくテキスト部分だけを編集し、作業が完了したら修正内容を元のファイルに反映させる。これができれば使い慣れた環境がそのまま使えますし、面倒な編集作業に時間を取られることもありません。

今回Pinconvに実装した「テキストの抽出」と「書き戻し」は、上述の機能を実現するものです。以下、実際の作業手順を紹介します。
read more…

  1. Wordのマクロを利用した支援ツールもあるようですが、なんとなく手を出すのが億劫で今日に至っています。 []
2010/04/09

講談社中日辞典第三版レビュー

by ctrans
講談社中日辞典第三版

講談社中日辞典第三版

講談社中日辞典第三版を入手した。発売とほぼ同時に本屋に走ったわけで、何もそんなに急がなくても良さそうなものだが、この辞典はネットに接続して「現代中国語新語辞典」を1冊丸ごとダウンロードできる上、更新機能で新語・流行語など最新データを入手できるという斬新な中日辞典なのである。ついに中日辞典もここまで来たかと私が興奮しても仕方ない。

辞書の内容は、本屋で立ち読みすれば確認できると思うので(2色刷りで実に見やすい)、以下パソコン上で利用する辞典のフロントエンドツールを中心に第一印象などを書いておく。

下図がインストールされる辞書引きツールである。新語辞典もほぼ同じUIで、どちらも内容を全文検索(!)することができる。アプリケーションのヘルプファイルを思わせるそっけない見た目だが、動作は軽快で検索も速い。

中日辞典

日本語と中国語、ピンインのフォント表示はきれいで見やすく、ご覧の通り挿絵や画像も表示される。検索は見出し語の前方一致、後方一致、完全一致のほか、上述したように辞典の内容を全文検索することができる。中国語とピンインだけでなく日本語でも検索することができ、検索した語句はハイライト表示される。日中辞典のように使えるし、全例文を対象に検索ができるのは実に頼もしい。
read more…

2010/04/08

Pinconv 4.05 – ピンインデータの追加

by ctrans

繁体字の変換
変換データファイル「ピンイン.dat」に繁体字や日本の漢字の発音データを追加したPinconvのバージョン4.05を公開します。

Pinconvの紹介はこちらのエントリ、詳しい使い方についてはPinconvの使い方を参照下さい。窓の杜による紹介記事はこちらです。

バージョン4.05では「ピンイン.dat」に多くのデータが追加されましたが、以前のバージョンのPinconvからバージョンアップする場合、新たに追加された変換データは自動的に更新されません。「変換」メニューのデータファイルの復元を実行し、既存の「ピンイン.dat」を上書きして下さい。なお、これまでご自身が登録したデータは新しいファイルに引き継がれます。

データのインポート

変更点

  • ピンイン変換データに繁体字や日本の漢字のデータを追加追加したほか、複数候補がある漢字のピンインの区切り文字を/から|に変更(データはUnihan.txtを参考にした)
  • 起動時のハイライトの不具合修正
  • 「データファイルの復元」を一部修正