愛する人の名前をブログに(仮) このページをアンテナに追加 RSSフィード

自己紹介
HN:but、しかし 台湾人。日本大分県留学経験あり。現在台湾台中在住。現場系でありながら、頑張りすぎて今財布を見て真剣に検討中。
メール: buttaiwanあっとまーくyahoo.co.jp
MSNメッセンジャー: butあっとまーくms8.url.com.tw

お知らせ
ハロプロの話題は、現在こちらで中国語で書いております。多忙により、はてなブログは一旦更新を中止させていただきます。

2004-11-03 どこにもないものならば 作りましょう♪

4ヶ月前にJavaで書いたはてな出版くんリリースしましたが、Windows環境でのJavaの利用は難しいため、Perl言語で新しいバージョンをかきました。実は8月から書きましたけど、忙しすぎてなかなかリリースできません。今日はようやくちょっと時間がありましたので、ソースを整理してリリースします。

今回のバージョンは中島靖さんのPDFJ(http://hp1.jonex.ne.jp/~nakajima.yasushi/)を採用しているため、日本語組版ルールい対応しているので、より本格な日本語製版ができるとおもいます。

[] はてな出版くん

はてな出版くんってなに?

これははてなダイアリーはてなグループテキストPDFに変換するソフトです。


What's New - 最新バージョン: 0.80 (2004/11/22)

  • 横書きと縦書きを同じアプリケーションに併合しました。
  • Windowsアプリケーションをウィザード式に書き直しました。
  • カバーページなどを生成するかどうかは選べるようにしました。
  • カテゴリー索引は正確のページ番号が生成できるようにしました。

Windowsアプリケーションダウンロード

私個人的には縦書きのほうがお勧めです(笑)

他のOSを使っている方は手数ですが、ソースコードを使って実行してください。(PerlインタプリタとPDFJモジュールが必要になります。)一応Perl言語はインラプリタがあればどんなフォームでも実行できるはずですが。


サンプル

サンプルです(Last update: H16.11.07):


ソースコード

このスクリプトGPLで公開することにします。Perl言語に詳しい方なら、自分で変更して配布することができます。ただし、ソースコードを公開することも義務になりますので、ご注意ください。

なお、義務ではありませんが、コメントでもいいので、こちらに連絡いただけば幸いです。


プログラム機能

  • はてなの書式ほぼ対応(下記)
  • HTMLタグ一部対応(いまのところ行単位で対応しています。)
  • 中国語ハングルの対応(下記)
  • 簡易カバーの生成
  • コピーライトページの生成

すでに対応できたはてな書式

  • 「*」による見出し
  • 「*t*」による時刻付き見出し
  • 「*xxx*」による名づける見出し(普通の見出しとして表示)
  • 「**」「***」による小見出し
  • 「-」によるリスト
  • 「+」による番号付きリスト
  • ネストしたリスト
  • 「>> <<」による引用ブロック
  • 「blockquote」タグによる引用ブロック
  • 「>| |<」による整形済みブロック
  • ネストしたブロック(←まだ実際に実験しない)
  • 「(( ))」による脚注
  • 「: :」による定義リスト
  • 下書き機能
  • 「:image」記法/fotolife記法の対応

自動リンク対応の現状


下記の記法はまだ対応していません:

まだ対応していないはてな書式

はてなダイアリーの書式のスペック変更は最近激しくなったため、まだ規格を把握できない書式が増えています。


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. はてなダイアリーの「編集」→「詳細設定」の下に、「ダウンロード」をクリックしてください。「エクスポート」ではないので、ご注意ください。

f:id:buttw:20041103061507:image

2. ダイアログが表示されるので、「保存」を選んで、好きなところに保存してください。絶対に「開く」を選ばないでください。Excelで開くと、ファイルがでかすぎてフリーズしてしまう恐れがあります。

f:id:buttw:20041103061519:image

3. こちらでダウンロードしたはてな出版くんアプリケーションダブルクリックして実行してください。まずは「はてなダイアリー」か「はてなグループ」か選んでください。「次へ」をクリックする。

4. 「参照」をクリックして、先にダウンロードしたcsvファイルを選んでください。「PDFファイル」は自動生成されますが、他のパスに保存したい場合は手動で変更することもできます。「次へ」をクリックする。

5. 「はてなユーザID」は自動生成されますが、間違いがある場合は手動で変更することもできます。「次へ」をクリックする。「ダイアリータイトル」のところは、「自動取得」をクリックするとインターネットを通じて探知してくれるので便利です。もちろん自分で入力や変更することも可能です。(はてなグループの場合は自動取得できませんので、手動でお願いします。)

6. はてなグループの場合は、グループのIDと名前も記入してください。

7. 生成する「開始日付」「終了日付」を設定してください。

8. テーマを選んでください。

9. オプションです。自由に設定してください。

10. 「次へ」をクリックすると、「バグレポート協力のお願い」画面が表示されます。「変換開始」をクリックしてください。

11. 作成するには時間がかかりますのでしばらくお待ちください。生成する範囲は長い場合や、日記の中に画像を多用する場合は、ネットアクセスは増えますので、更に待つ時間が長くなります。最初に1分間ほどフリーズしてしまうことがあります。正常ですから、強制中止しないでください。

12. この画面が表示されば完成です。

変換時間の目安

実は変換にかかる時間はそんなに長くありません。

最初に、CSVファイルを解読するのは重い処理ですが、CSVファイルのメガ数のそれだけ分間以内で済むことが可能です。つまり1MBのCSVファイルなら、CSVファイルは1分間以内で解読できると思います。

そして、PDFレイアウト処理ですが、実はネットアクセスは一番時間がかかります。画像を自分のサーバにアップロードした場合、その鯖への接続スピードは処理時間に大きく影響します。接続困難なサーバであれば、案外な時間がかかります。

CSVファイルの中には、「この日に画像アップロードしたかどうか」を表示するデータがないので、毎日の日記ネットアクセスして調べるしかありません。つまり日単位に、基本のネットアクセスが必要となっています。そのため、早く変換したい場合は、全ての日記をひとつのPDFではなく、年単位、もしくは季節単位・月単位で変換したほうがいいではないかと思います。


バグレポート、ご意見など

バグレポート、ご意見などは、この日記コメントに書いてください。

最近は死ぬほど忙しいので、バグレポートを提供していただいても短時間内にバージョンアップできないことがあります。


ドネーションをお願いします

このページでお願いします。(自由)

tinuyamatinuyama 2004/11/04 00:46 翻訳ならびに「出版くん」作成、お疲れ様でした。「出版くん」縦書きでの元号、大化までさかのぼって表示されるとは恐れ入りました(笑)。自分も大昔の過去日記を書いてみたくなりました。

buttwbuttw 2004/11/04 01:30 tinuyamaさん、ありがとうございます。自分も元号機能がかなり満足しています。やっぱり縦書きは西暦に向きませんね(謎)。 不具合がありましたら、可能まで改正するので、レポートお願いします。

FuetaroFuetaro 2004/11/08 12:34 はじめまして。「出版くん」を試して、とても綺麗にレイアウトされててビックリしました。以下、気が付いた不具合をご報告致します。
 ・有料オプションの画像(300x300)だとレイアウトが崩れる。
 ・Fotolifeの画像がレイアウトされない。

buttwbuttw 2004/11/09 07:30 レポートありがとうございます。問題は改正しました。

FuetaroFuetaro 2004/11/09 17:34 素早い対応ありがとうございます!Fotolifeの方は大丈夫でしたが、有料オプション画像がリサイズはされているけれど、表示領域が元サイズのままになっているようです。

buttwbuttw 2004/11/10 03:43 あっ、バカなバグですね。有料オプションを利用していないのでテストできません。ただいま改正しました。

FuetaroFuetaro 2004/11/10 16:27 こんどは大丈夫でした!>有料オプション画像表示。
対応ありがとうございました。

NARiNARi 2004/11/16 23:08 出版くん、さっそく使用させていただきました。そこで気付いたのですが、引用のタグ<blockquote></blockquote>を使用していると、その日の日記はそれ以降表示されない場合が多いです。表示されている日もあるのですが、引用文が長いと駄目なような気がします。

NARiNARi 2004/11/17 01:19 二行以上にわたるタグはNGだったのですね。解説を読み返して気付きました(汗)余計なコメント申し訳ありません。

buttwbuttw 2004/11/17 04:55 タグについては、今まで有効な解読方法が見つからないです。残念ながら、いまのうちはご自分でその日の日記を改正する以外に方法がありません。すみません。

pahoopahoo 2005/01/06 13:49 「出版くん」ですが、インターネットが苦手な上司に情報を提供するのに重宝させていただいています。
そこでお願いなのですが、「はてなグループ」の登録用語をPDFにすることはできないでしょうか。
お忙しいところ恐縮ですが、ご検討いただければ幸いです。

buttwbuttw 2005/01/06 18:47 そうですね。いまのところ、はてなグループのキーワードは管理者の権限でCSVなどの形でダウンロードすることが出来ますか? ダウンロードできるファイルがないと、実装するのが難しくなりますので。

pahoopahoo 2005/01/13 14:40 管理者権限でCSVに落とせます。エンコードはUTF-8で、
キーワード,”本文”
という単純な構造になっています。
ダブルクォーテーションの中は、日記をCSVにエクスポートしたときと同じで、本文が改行コードを含めたままで入っています。

buttwbuttw 2005/01/23 13:16 キーワードの対応はある程度書き直す必要がありますので、短期間内は対応できないのでご了承してください。なお、テスト上の便利さも考え、CSVファイルをメールで提供できれば大変助かります。

mbbmbb 2005/10/20 01:40 PDFJの検索をしていて、ここにたどり着きました。
exe版はウィルスチェックに引っかかるので、ソース版を落とさせていただきました。サンプルのPDFを見ただけですが、きれいな組版でびっくりしました。
ところで、本当に台湾の方ですか?^^;
今後ともよろしくお願いします。

buttwbuttw 2005/10/20 02:38 >mbbさん 本当です。台湾人です。今は九州に住んでいますが。
はてな出版くんは一年近く更新していませんが、もし要望がありましたらぜひ書き込んでください。また、ソースはGPLライセンスで公開しておりますので、自由に改作することもできます。