Hagaki

Hagaki is Japanese post card. Printing address to it require special care. I explain one way to do it with LibreOffice and Python3. (Followings are in Japanese)

This script may also be useful for you to analyze and generate ODG/ODP/ODT files.

ハガキ縦書き郵便番号印刷

?LibreOffice3.6では「はがき」を出力用紙に選べるようになり ました。でも英文の差し込み印刷機能では、年賀状のはがきの 宛名書きに使うにはいろいろ不便です。特に「グラフィックの 枠組みの左右の中心に。。。」とか、文字数に合わせてフォン トの大きさを自動的に変えたり、特定の文字を縦書きにあわせ て変更したりへの対応は簡単ではありませんでした。横書きとの混在も無理があります。

過去によく使われた方法では少なくとも縦書きでは差し込み印刷の上記のような機能がなく、結果がぎこちなかったです (参考にしようとしうまく行かなかったのは以下の情報です: http://openoffice-docj.sourceforge.jp/document/tips/tategaki.html )

100% DEBIAN SOLUTION

年賀状作成用LibreOffice 用ヘルパーscript集を作りました。

zipとpython3を用意して下さい。

まず住所録を、添付のODSのような感じで作成します。

そして、印刷したくないエントリーにはKEYになにか書いて下さい。 敬称の欄は空欄だと「様」となります。

スクリプトからはcsvファイルを読むので、ODSはCSVで使用前に 保存して下さい。「make」でODTができます。内容も普通のファイル としてちゃんと読め、縮小印刷多数枚同時並列印刷にも耐えるので 便利です。

年賀はがきのイメージは、背景にNENGA.PNGを差し込むとわかります。

今回は、簡単なODTファイルを作成後、odt-unpk, odt-norm等のスク リプトでODTファイルを開梱しcontent.xmlの内容を見やすく改行を 入れて解読することでこのようなスクリプトが作れています。

ODTだけではなく、ODPやODGなど他の形式ファイルでの自動ページ作 成にもこれらに少し手を加えると使えると思います。改変実験する 際にはXMLファイルも含めてこのソースをGITで管理すると効率的です。

あくまで現状はまだ、スクリプト例というだけです。フォント指定や 文字数などの情報が集まれば、GUIソフト化も考えます。。。

とりあえず、今年の年賀状はDebian上で完全に表裏できました。

青木 2012年末

注記: 残念ながらDSFGフリーのフォントで、私が住所書きに好適と感じた フォントがなかったため、ここでは無償入手可能だがDSFGには合致 しない「EPSON ?TrueTypeFont Ver3.0」を用いています。

ヒント: データー取り出しは、unzipで可能でした。

$ unzip -l ttf30.exe 
Archive:  ttf30.exe
warning [ttf30.exe]:  30261 extra bytes at beginning or within zipfile
  (attempting to process anyway)
  Length      Date    Time    Name
---------  ---------- -----   ----
  3018296  2001-04-23 13:32   ttf30/epmgobld.ttf
  4759976  2001-04-23 13:34   ttf30/epgyosho.ttf
  3419264  2001-04-23 13:30   ttf30/epkaisho.ttf
  2130664  2001-04-23 13:30   ttf30/epkgobld.ttf
  4127600  2001-04-23 13:31   ttf30/epkyouka.ttf
  3351056  2001-04-23 13:31   ttf30/epmarugo.ttf
  3935076  2001-04-23 13:33   ttf30/epgyobld.ttf
  2882768  2001-04-23 13:32   ttf30/epminbld.ttf
---------                     -------
 27624700                     8 files
$ unzip ttf30.exe 
Archive:  ttf30.exe
warning [ttf30.exe]:  30261 extra bytes at beginning or within zipfile
  (attempting to process anyway)
  inflating: ttf30/epmgobld.ttf      
  inflating: ttf30/epgyosho.ttf      
  inflating: ttf30/epkaisho.ttf      
  inflating: ttf30/epkgobld.ttf      
  inflating: ttf30/epkyouka.ttf      
  inflating: ttf30/epmarugo.ttf      
  inflating: ttf30/epgyobld.ttf      
  inflating: ttf30/epminbld.ttf      

フォントファイルは~/.fontsに移動します。(詳しくは、Fonts参照)

楷書体等なら「IPAフォント」系でもOKかと思います。その場合は スクリプト中のフォント指定を、上記のようにODFファイルを解析 比較して、それに基づき変更願います。

住所の数字間の棒は、ご使用フォントにあわせて縦書きで縦に表示 されるものから適切に選んで、conv_vの定義中に転記下さい。 これってフォントごとにバラバラです。

年賀状ソフトについてくるフォントの中には縦書きで軸の位置がお かしいものがありました。ご注意下さい。