はてな出版くん
What's New - 最新バージョン: 0.80 (2004/11/22)
- 横書きと縦書きを同じアプリケーションに併合しました。
- Windows用アプリケーションをウィザード式に書き直しました。
- カバーページなどを生成するかどうかは選べるようにしました。
- カテゴリー索引は正確のページ番号が生成できるようにしました。
Windows用アプリケーションダウンロード
私個人的には縦書きのほうがお勧めです(笑)。
他のOSを使っている方は手数ですが、ソースコードを使って実行してください。(PerlインタプリタとPDFJモジュールが必要になります。)一応Perl言語はインラプリタがあればどんなフォームでも実行できるはずですが。
サンプル
サンプルです(Last update: H16.11.07):
- テーマ「横書きクラシック」 http://but.lolicom.org/hatenapdf/sample_h.pdf
- テーマ「縦書き昭和」 http://but.lolicom.org/hatenapdf/sample_v.pdf
ソースコード
このスクリプトはGPLで公開することにします。Perl言語に詳しい方なら、自分で変更して配布することができます。ただし、ソースコードを公開することも義務になりますので、ご注意ください。
なお、義務ではありませんが、コメントでもいいので、こちらに連絡いただけば幸いです。
プログラム機能
- はてなの書式ほぼ対応(下記)
- HTMLタグ一部対応(いまのところ行単位で対応しています。)
- 中国語・ハングルの対応(下記)
- 簡易カバーの生成
- コピーライトページの生成
すでに対応できたはてな書式
自動リンク対応の現状
- http://〜から始まるURLは自動リンクできます。
- https://〜から始まるURLは自動リンクできます。
- ftp://〜から始まるURLは自動リンクできます。
- id:user:XXXXXX などの id 記法は対応済み。
- g:groupname:id:user:XXXXXX などのはてなグループ id 記法は対応済み。
- [keyword:〜]による強制キーワードリンク
- [google:〜]によるGoogle検索
- mailto: から始まるメールへのリンク
下記の記法はまだ対応していません:
- 「isbn:」「asin:」などのアマゾンリンク
- [amazon:〜] [rakuten:〜] [tabimado:〜] などの企業提携リンク
まだ対応していないはてな書式
はてなダイアリーの書式のスペック変更は最近激しくなったため、まだ規格を把握できない書式が増えています。
- 「>|| ||<」によるそのまま表示される整形ブロック
- http記法
- JAN/EANページ
- 書影や書籍タイトルのための省略記法
- 書籍やCD・DVDの詳細情報を表示する
- 人力検索の質問情報を表示する…question記法
- 自動リンクを止める(キーワードはないので、実装する必要性が高くないと考えている。)
- 数式の表示
HTMLへの対応について
- フォントサイズは対応していますが、やむなくの理由でサイズレーベルは微妙。
- 行単位なので、二行以上に渡るタグは誤変換になります。(つまり、<b>〜</b>までは1行の中に記入しなければなりません。)
- テーブルの対応はやめました。(泣)
- <img>タグは対応していますが、画像は1行を占めることになります。 JPEGファイルのみ対応されています。
- 削除線はなかなか対応できないため、とりあえず文字列を削除することにします。(縦書きだけ)
中国語・ハングルの対応について
Windowsのfontsフォルダにこれらのフォントがある場合のみ対応できる:
フォントファイルが見つからない場合は、Acrobat の日本語組み込むフォントで生成することになります。表示できない場合もあるので、外字をよく使っている日記なら、これらのフォントを用意することがお勧めです。
Windows XPならデフォルトでこれらのフォントはインストールされているはずです。他のバージョンは自分でWindows UpdateでXX語サポートをダウンロードしなければならない可能性があります。
現在、はてなグループ日記の外字は対応しておりません。今まで外字対応の実装は、実体参照の文字を中国語や韓国語で表示することです。しかし、ユニコード対応のはてなグループでは意識に使わない限り、外字は実体参照に変換されません。もちろん、文字を一つずつSJISの範囲内かどうかをチェックすることが可能ですが、そうしたらメモリにもう一つのコードテーブルをロードしなければなりません。すでに今のバージョンでも結構重さを感じるのでこの問題について、他の解決方法があるかしばらく考えたいと思います。(H16.11.04)
OS互換性について
見出しの*t*記法の時刻はタイムゾーンによって違う結果に算出されるので、日本以外の地域に住んでいるWindowsユーザは正しい時間を得るために一時システムタイムゾーンを日本に設定する必要があります。
縦書き版のみの機能
元号の表示
日記の日付の年号は元号で表示されます。なぜか元号は振り仮名もついています(笑)。
過去日記の日付も元号に変換されますが、現在の実装は旧暦も無視しているため、X月X日は変換されずに新暦のままで表示されます。なお、元号の切り替えも一月一日とします。大正・昭和・平成は正しい切り替え日付を使うので、一月一日がありません。
一番古い元号「大化」は645年のため、644年までは西暦で表示されます。
未来日記については、2100年からは西暦で表示されます。とりあえず平成を 111年までとします(汗)。
数字の漢字化
文章内の数字は漢字で表示されることになります。
- 例)
- 1245642円 → 百二十四万五千六百四十二円
使用方法
1. はてなダイアリーの「編集」→「詳細設定」の下に、「ダウンロード」をクリックしてください。「エクスポート」ではないので、ご注意ください。
2. ダイアログが表示されるので、「保存」を選んで、好きなところに保存してください。絶対に「開く」を選ばないでください。Excelで開くと、ファイルがでかすぎてフリーズしてしまう恐れがあります。
3. こちらでダウンロードしたはてな出版くんのアプリケーションをダブルクリックして実行してください。まずは「はてなダイアリー」か「はてなグループ」か選んでください。「次へ」をクリックする。
4. 「参照」をクリックして、先にダウンロードしたcsvファイルを選んでください。「PDFファイル」は自動生成されますが、他のパスに保存したい場合は手動で変更することもできます。「次へ」をクリックする。
5. 「はてなユーザID」は自動生成されますが、間違いがある場合は手動で変更することもできます。「次へ」をクリックする。「ダイアリータイトル」のところは、「自動取得」をクリックするとインターネットを通じて探知してくれるので便利です。もちろん自分で入力や変更することも可能です。(はてなグループの場合は自動取得できませんので、手動でお願いします。)
6. はてなグループの場合は、グループのIDと名前も記入してください。
7. 生成する「開始日付」「終了日付」を設定してください。
8. テーマを選んでください。
9. オプションです。自由に設定してください。
10. 「次へ」をクリックすると、「バグレポート協力のお願い」画面が表示されます。「変換開始」をクリックしてください。
11. 作成するには時間がかかりますのでしばらくお待ちください。生成する範囲は長い場合や、日記の中に画像を多用する場合は、ネットアクセスは増えますので、更に待つ時間が長くなります。最初に1分間ほどフリーズしてしまうことがあります。正常ですから、強制中止しないでください。
12. この画面が表示されば完成です。
変換時間の目安
実は変換にかかる時間はそんなに長くありません。
最初に、CSVファイルを解読するのは重い処理ですが、CSVファイルのメガ数のそれだけ分間以内で済むことが可能です。つまり1MBのCSVファイルなら、CSVファイルは1分間以内で解読できると思います。
そして、PDFレイアウト処理ですが、実はネットアクセスは一番時間がかかります。画像を自分のサーバにアップロードした場合、その鯖への接続スピードは処理時間に大きく影響します。接続困難なサーバであれば、案外な時間がかかります。
CSVファイルの中には、「この日に画像をアップロードしたかどうか」を表示するデータがないので、毎日の日記もネットにアクセスして調べるしかありません。つまり日単位に、基本のネットアクセスが必要となっています。そのため、早く変換したい場合は、全ての日記をひとつのPDFではなく、年単位、もしくは季節単位・月単位で変換したほうがいいではないかと思います。
バグレポート、ご意見など
バグレポート、ご意見などは、この日記のコメントに書いてください。
最近は死ぬほど忙しいので、バグレポートを提供していただいても短時間内にバージョンアップできないことがあります。