月別アーカイブ: 2015年12月

ファイルメーカー住所録(その2 年賀はがき印刷)

今回はファイルメーカー住所録の「年賀はがきの印刷」編です。住所録の本体は郵便番号、住所双方向検索型ファイルメーカー住所録(その1)を参照ください。
_MG_0687-2
<Photo Data>
2015/11/29 権現山ふもとより(正面は富士山)
紅葉は銀杏が見頃でした。
EOS5D MarkII EF24-105mm f4/L IS USM 70mm ISO200 1/1600 f4.0

郵便番号枠寸法Image 1さて、ファイルメーカーによる「はがき印刷編」ですが、大変な部分の一つが郵便番号の印刷です。
ご存じの通り、郵便番号は7桁、前3桁と後ろ4桁がハイフンで結ばれています。7桁の郵便番号は一つの文字列として扱うと枠にはまりません。
郵便番号寸法図(下記)をチェックすると前3桁のピッチは7mm、後ろ4桁は6.8mmピッチと前後で異なっています。0.2mm差なので、まずは前後に二つの文字列を用意して番号全体を7mmピッチにしてあわせこみすることにしました。

ヒラギノ角15ポイントのフォントと半角スペースを用いておおよそですが枠におさまるようになりました。はがきに印刷し始めると、プリンターにも結構な紙ずれがあります。両方のズレが重なるとはみ出すケースも出てきました。

このやり方では番号枠内の印刷は無理そうです。さらに精度を高める方法として、番号を一文字ずつ7個に分解し、印刷フィールドも7個用意し、位置指定した印刷をやってみることにしました。
フォントサイズは一つ小さい「ヒラギノ角ゴ Pro」14ポイントを使用します。7個のフィールドはマージフィールドを使いました。
レイアウト配置は、狭いエリアに並べますので、フィールド横幅を狭くすることがポイントです。(参考:1pt=.353mm、14ptのフォントの場合フィールド幅は0.5cmにしました。)

印刷フィールドはインスペクターで設定します。先頭を決めたら以降はピッチ差でいいはずですが、とりあえず目合わせレベルで設定してみました。

郵便番号を7個の数字に分解して取り出す式は、Middle関数を用いました。
1番目は、
フィールド設定 [ 印字番号1 ; Middle ( 郵便番号 ; 1 ; 1 )]
続けて
フィールド設定 [ 印字番号2 ; Middle ( 郵便番号 ; 2 ; 1 )]
…….

スクリーンショット 2015-12-17 23.24.38の繰り返しです。

次は住所と氏名の印刷です。横書きなら何ら問題はありませんが、ファイルメーカーには縦書き印刷用の専用パラメーターは用意されていないようです。
手順を書きますと、まず印刷用レイアウトをおこします。印刷フィールドを横書きで貼り付けます。書式設定でフィールドを「縦書き」に変更し、さらに字の方向を90度回転させて使用します。

次にその他フィールドの配置ですが、文字数がいろいろです。住所も長いものもあります。万能なレイアウトは難しく、結局宛名1名、連名1名、複数連名(私の技術では2名まで)、会社宛の4種類別々のレイアウトを作りました。
住所入力画面からジャンプする際、レイアウトを選択する方法としました。

連名1名の場合の印刷レイアウトを上記に示します。郵便番号用フィールド7個のほか住所フィールドが3個、氏名フィールドが1個、連名フィールドが1個、敬称が本人用と連名用各一個です。
それぞれのフィールドは全て印刷用ダミーフィールドにします。住所DBよりデータをもらって印刷専用のフィールドとして使います(元フィールドのデータはいじりません)。
住所2番目のフィールドは、主に番地を表すフィールドになるため、1行目住所から字下げして見栄えをちょっと改善させています。
フォントは手持ちの中から中楷書体を使いました。

次は縦書きの問題処理です。
縦書き印刷するときは

縦書き印刷するときは、フィールド設定だけでは文字が縦になってくれない場合があります(横のままです)。
たとえば以下の様な場合がありました(他にもまだあるかもしれません)。
1.半角カナの長音 “スキ場”の”“など
2.   半角のマイナス “111″などのマイナス記号
3.   全角の長音 “スキ場”の”
4.   全角のマイナス “
5.   半角英数字記号 “ABC ¥@“など

マイナス記号や長音があると、縦書き印刷時に横向きのままとなってしまいます。この対策としてハイフンを使用します。本体住所録フィールドをダミーフィールドに取り込む際にスクリプトでハイフンへの入れ換え作業をします。
たとえば
<半角マイナス’−’のハイフンへの変換>
フィールド設定[ 住所1ダミー ; Substitute ( 住所1 ;  “-”  ; “‐” ) ]

の如くです。
さらに、半角カナ、半角英数字を全角に変換します(KanaZenkaku、RomanZenkaku)。
また、数字も横のままではおかしいですから、KanjiNumeral関数で漢数字に変換します。

スクリーンショット 2015-12-17 23.25.05
左のスクリーンショットは、上記の1stトライ版レイアウトの場合の印刷プレビューとなります。実際にははがき印刷余白が加わりますが、大体このままで印刷されます。

本人、連名の敬称は住所録に登録した敬称を参照して印刷します。また、連名には印刷許可フラグを設定します。連名印刷をしたいときにフラグをオンにします。
ここまでのレベルは、郵便番号を個別位置出しにしたことで、まあ何とか実用なレベルです。

連続印刷の処理、複数連名の書式、フィールドからはみ出る長い住所または氏名データの対応、郵便番号桁数オーバーデータのエラー処理、WindowsM/Cでの確認、メールアドレスやURLは縦変換無しなどが残っています。(この部分は備忘録です)

<追記です>
縦書き印刷での横バーは、印字フィールドに半角文字が混入すると漢数字の前後が詰まって印刷されることがあり見直しました。たとえば1100番地の様な11が連続する印刷では、縦書き時ぱっと見でこれが二に見えてしまうのです。対策として、フィールド内文字を全て全角に変換してしまうことで対策しました。これはファイルメーカーPro12 (12.0v3)では問題ありませんが、Pro14 Advanced (14.0.4)では反映できず、未だ文字詰まりがあります。
→この問題はフォントに依存するようです。使用した「DFP行書体」はファイルメーカー12ではOK、14ではNGですが、「ヒラギノ明朝Pro」は12でも14でも問題はありませんでした。とりあえずは問題の無いヒラギノ明朝に変更することでここは乗り切ることに致しました。
別途、問題の無い毛筆フォントを探すことにします。

もう一点、当初氏名は一本のフィールドとし、氏名の文字間隔調整に半角スペースを用いました。これが原因で連名の印字開始位置が微妙にずれるということがおこりました。この対策として、姓と名をセパレータで分離して、名前と連名の書き出しを合わせるように変更しました。(下記プレビューになります)
スクリーンショット 2015-12-24 9.02.55最後に、郵便番号を7個の数字に分解した改良型での2016年版年賀状印刷例を載せました。

姓と名の間隔が少し空き気味なのはVer3で対策しました。
ファイルメーカーではWordのような均等印刷が用意されていない様です。ファイルメーカーでこのモードを実現するのはかなり難しいと思います。少し簡易的な方法なら改良することは可能です。美的印刷を求めるなら、テキストにしてWindows宛名書きアプリに送るのも良いかもしれません。

参考:Mac OS X 10.9.5 、Mac Mini( Late 2012 8G Memory)、Canon MF222dw Laser Printer、使用年賀はがき 2016フォーマット

スクリーンショット 2015-12-23 17.49.46

1st 初稿 2015/12/15
2nd 郵便番号印刷方法の変更 2015/12/17
3rd 同上に関連して文章追加 2015/12/18
4th 文字ずれなど対策を追記 2015/12/24
5th 追記 2015/12/25
6th 漢数字問題を追記 2015/12/28
7th フォント問題の追記 2016/01/04
8th ファイルメーカーにカテゴリー変更 2017/06/25
K.Fukuma