fc2ブログ
 ここ数日は細々とした事務処理に追われ、やっと一息ついたところです。先ず、郵便局へ行って払込書印字サービス利用料金150円を、「未来舎」の一般振替口座に「本人払込」で入金しました。2日後、口座番号と口座名称「未来舎」を印字した払込書が受払証明と一緒に送られてきました。また、郵便貯金ホームサービスの申込書が送られてきたので、所定事項を記入し届出印を押して郵便局に持っていきました。

さらに、アルメディアという会社から、書店が業務上参考にする「出版社営業ガイド」(B5版)に無料で収録するデータを添付調査票に記入し、FAXで返送してほしいとの依頼書が送付されてきました。日本図書コード管理センターでISBNの出版社記号を所得した発行元に、調査票を送付したとの記述がありましたが、どのようにして「未来舎」のコード取得が分かったのか、センターが情報を流しているとしか思えません。まあ、コード取得は秘密にすることでもないのでかまわないのですが。少し怪しげなのでネットで調べてみると、どうやらホームページも作っていないようでしたが、図書コード管理センターの出版者検索で調べると、出版社として登録されていることが分かりました。今時FAX送信とは古いと思いましたが、PRの一助になるかもしれないと考えて、わざわざFAXサービスをやっているところを探して、データ記入した調査票を送信しておきました。サービス料金は50円でした。

 申請から3週間もかかりましたが、やっと未来舎の一般振替口座の開設通知がきました。口座開設業務は郵便局が行うと思っていましたが、実際は貯金事務センターという所で行われるようです。申請から2週間ほど経って郵便局から電話がかかり、未来舎のチラシとか伝票などはないかと聞かれて、初めは何のことか分かりませんでしたが、未来舎の口座開設を必要とする活動証拠のようなものを要求しているようだったので、未来舎のホームページがあると答えると、そのURLを聞かれたので提示しました。2週間も経ってから何だと思いましたが、担当者も一般振替口座の開設は不慣れだったらしく、申請時の窓口で初めから聞いておけば良かったが、貯金事務センターからチラシとか伝票などが必要との連絡がきて、あらためて聞くことになって申し訳ないと恐縮していたので、それ以上は追求しませんでした。ただ後どれくらいかかるのかと聞くと、ホームページが分かったのでもう4日くらいとの返事でした。それで結局3週間かかったというわけです。

 口座開設通知と一緒に「郵便振替ご利用のしおり」と払込書印字サービス利用料金150円の払い込み要請書が同封されていました。印字サービスというのは、払込書に口座番号と口座名称「未来舎」を印字するもので、料金を引き落とした翌日に印字済み払込書が送付されるとのことです。「利用のしおり」を見ると、郵便貯金ホームサービスというのがあって、パソコン、ケータイ、電話・FAXにより、口座の現在高照会や口座への受入内容の照会、電信振替などができるようなので、申し込むことにしました。郵貯のホームページから申し込みできると思っていたら申込書の送付依頼ができるだけで、郵送されてきた申込書に所定事項を記入し届出印を押して郵便局または貯金事務センターに提出しなければならないようです。いくら事務のIT化を進めても、最後は昔ながらの紙とハンコでは見かけ倒しに終わってしまいます。

 TeXの解説書を見ても一般的なフォントの説明はあるがOCR-Bの使い方については書いていません。TeX Q&Aで検索すると1件だけOCR-Bの使い方に関する質問と回答があり、それに従ってCTANからOCR-Bのパッケージをダウンロードし、所定位置にインストールしました。そして上記回答に述べてあるとおりプロンプトからフォント作成コマンドを入力しましたが、フォントファイルが途中までしか作成されず、次のコマンドを入力してもエラーになってしまいます。色々試してみましたがどうしてもそれ以上動かず、時間が経つばかりなのであきらめました。

 TeXで直接OCR-Bを使えないので、別の方法でOCR-Bフォントの文字列を作り、PDFで保存したTeXによるバーコード画像と合体させることを試みました。幸い、WordでOCR-Bフォントが使えたのでこれで文字列を書き、バーコードのPDFファイルを挿入しようとしましたが、Wordは直接PDFを読めないことが分かりました。そこでPDFファイルを開いてバーコード画像をクリップボードにコピーし、Word画面に貼り付け、テキストボックスにOCR-Bで文字列を書いて、バーコード画像の下に移動させました。

これで一応体裁は整うのですがバーコードの画質が悪く、1モジュールの白バーがつぶれている箇所もありました。そこで、PDFのバーコード画像をよく見ると、それ自体がすでに1モジュールの白バーがつぶれているように見えたので、1.5倍くらいに拡大してみると白バーのつぶれはなく、1本1本のバーすべてが鮮明でした。そこでこれをWordに貼り付け、文字列も1.5倍に拡大しました。ディスプレイでは白バーがつぶれたように見える拡大なしのPDFのバーコード画像も、直接印刷するとつぶれはなく鮮明であることから、ディスプレイの解像度の問題だと考えました。そこで、1.5倍のバーコード画像と文字列を、プリンターの縮小機能で縮小して印刷すると一応つぶれはなくなりましたが、バー幅が位置によって若干異なるように見えて完全には満足できません。やはり、拡大・縮小によるひずみが出ていると思います。

 そこで、Wordで作った無拡縮のOCR-Bフォントの文字列(12pt)をクセロPDFでPDFファイルとして保存し、原寸のバーコードPDFファイルとTeX上で一体化し、再度PDFファイルとして保存、印刷することを考えました。TeXは画像のサイズを決めるバウンディングボックス(bb)に相当するPDFの情報を読めないので、bbファイルをTeXコマンドで作成する必要があると解説書に書かれていました。そこでその通りにしましたが、画像挿入コマンド"includegraphics"を使ってバーコードとOCR-B文字列を挿入すると、かけ離れた位置に見えないくらい小さく表示されてしまいました。どうやら画像だけでなくPDF画面全体のサイズでbbファイルが作成されているようです。エディタでbbファイルを開いて画像だけのサイズに書き直して保存し、再度TeXコンパイルしましたが、今度は何も表示されません。bbファイルを勝手に書き直してはいけないようです。TeX解説書によると、PDF画像の過大な余白をAdobe Acrobatでトリミングすればよいようですが、高価なAcrobatを購入する気はありません。色々試みましたがどうしてもできないのであきらめました。

 Wordへの貼り付けで一応は書籍JANコードができるのであきらめてこれで妥協しようか、あるいは自力作成の目標を断念して、万一のためと思って探しておいたバーコード作成の市販ソフトを購入するかと追いつめられた心境になっていました。この市販ソフトは28,000円と他のソフトより安めで、単体で書籍JANコードも作成できるとうたっています。しかし、ここで降参するのもしゃくなので、バーコードを貼り付けるアプリケーションをWord以外のものに変えて何とかならないかと考えていたら、一度は捨てたオープンソースフリーDTPソフトのScribusが使えるのではとひらめきました。

 ScribusはDTPソフトとしては優れていますが、日本語縦書きができないので、小説の組み版には使えないと思ってあきらめていたのです。しかし、バーコード画像と横書きの欧文文字列(数字列)であれば全く問題ないはずです。早速試してみると、バーコードのPDF画像はファイルから画像フレーム内にそのまま挿入できますし、文字列はテキストフレーム内にキーボードから入力し、編集エディタでOCR-Bフォントに変換できて、あっけないほど簡単に無拡縮でひずみが全くない規定サイズ通りの書籍JANコードが作成できました。図1に完成した2段の13桁書籍JANコードを示します。
書籍JANコード(Final)

 図1 書籍JANコード

 予想外にてこずりましたがやっと懸案の書籍JANコードが完成しほっとしています。多大の時間を消費しましたが、ここまでやったおかげでScribusの更なる活用方法がひらめきました。すなわち、小説本文のような長文の日本語縦書きは無理ですが、書籍表紙に含まれるタイトルや著者名程度のものであれば、一文字ごとにEnterキーを押して縦書きにした日本語文を、以前Scribusの利用で述べた方法でテキストフレームに読み込むことで、短文の日本語縦書きは可能だということです。画像は問題なく画像フレームに読み込むことができ、テキストおよび画像フレーム、はマウス操作または座標値入力によって任意の位置に簡単に配置できるので、表紙作成には最適です。これはよく考えてみれば、ScribusはDTPソフトなのだから当たり前のことだったのに、それに気づかなかったという次第です。

 JIS X0501によれば、1つのキャラクタは黒と白の7つのバーモジュールで構成され、黒を1白を0として7つの数字列で表されます。左6個のキャラクタは、先頭のプリフィックスキャラクタによって偶数・奇数パリティのパターンが決まり、右6個のキャラクタはすべて偶数パリティと決められています。パリティとは、1キャラクタにおける黒バーモジュール数の和が偶数(2または4)か奇数(3または5)かということです。また、1キャラクタは2本の黒バーと2本の白バーで構成すると定められていますが、ここでいう1本とは1~4モジュールを意味します。左右のガードバーは「101」、センタバーは「01010」と決められています。

 直感的には分かりにくいので未来舎のISBNコード「9784990348601」を例に取ると、先頭プリフィックスが「9」なので、左キャラクタ「7・8・4・9・9・0」のパリティパターンは「奇数・偶数・偶数・奇数・偶数・奇数」となります。従って「7」は奇数パリティでバーモジュール配列は「0111011」となります。右キャラクタ「3・4・8・6・0・1」のパリティはすべて偶数で、「3」のバーモジュール配列は「1000010」となります。このようにして、すべてのキャラクタのバーモジュール配列を求め、左右及びセンタガードバーを加えてバーコード全体のバーモジュール配列を決定します。

 バーモジュール1個の寸法は幅0.33mm×高さ11mmなので、所定の位置に高さ11mmで複数モジュール幅の長方形を精度良く描画すれば、バーコードを作れることになります。TeXは極めて高精度なのでこれに適しています。なお、バーモジュールは左右ガードバーが6個、センタバーが5個、キャラクタバーが84個(=12×7)で合計95個になり、バーコード全体の横幅は95×0.33=31.35mmとなって書籍JANコードと一致します。しかし、バーコードの高さは、JIS X0501では22.86mmと規定されており、書籍JANコードの11mmとは異なります。また、各ガードバーがキャラクタバーより長く、キャラクタバー下端と文字列の間隔が極めて小さいなど、書籍JANコードとは異なる点があります。

 TeXのコマンドを調べると、幅w pt、高さh ptの黒い長方形を描画するコマンドとして"rule{w pt}{h pt}"、ピクチャー環境での描画位置決めに対しては左下隅の座標を(x,y)とすると"put(x,y)"というコマンドがありました。そこで、h=11mm(31.4pt)一定、y=0一定として、各黒バーの左下隅の座標をx、幅をwとして、順番にコマンド"put(x,0){rule{w pt}{31.4pt}}"を繰り返せばバーコードが作成できることになります。かくして、バーコード作成のTeXコマンドは次のようになります。
書籍バーコード(TeXコード)

これをTeXコンパイルすると図1に示すバーコードが出力されます。
書籍バーコード
 図1 書籍バーコード

 Webで表示する関係で拡大や画像変換を行っているため、若干不鮮明な箇所があるように見えますが、TeX出力をPDFで保存したオリジナルを拡大・縮小せずにそのままレーザプリンタで印刷したものは、高さと幅はピッタリ規定どおりで、極めて鮮明でした。

 これでバーコード作成はできましたが、バーコードの下にISBNコードの文字列をOCR-Bフォントで挿入しなければなりません。また、2段目には分類・価格コードのバーコードを作成する必要があります。問題は、どうやってTeXでOCR-Bフォントを使うかということです。

 バーコード作成のLaTeXパッケージファイル”pst-barcode”を解析しましたが、ほとんど理解できません。おまけにREADMEを読むと、このほか様々なパッケージファイルを要求しているので、いちいち調べてCTANからダウンロードし、インストールしなければなりませんでした。やっと終わっていざコンパイルしてみると、次々に理解不能のエラーメッセージが出て動きません。色々試してみましたが中身が分かっていないため、試行錯誤に近い状態で解決に至りません。TeX Q&Aのサイトも検索してみましたが、バーコード作成に関するものは一件も見つかりません。”pst-barcode”は3日もかけて成果なしなのであきらめました。

 そこでやむなく、TeXで書籍JANコードを直接手作りすることにし、先ず、そのバーコードシンボルを規定しているJIS X0501を入手することにしました。市立図書館のネット検索ではJIS X0501がなかったので、一般のWebサイトを検索して日本規格協会のサイトからダウンロード購入できることが分かりましたが、20数頁にすぎないJIS X0501 が1,000円もするのでやめました。さらに調べると、日本工業標準調査会のサイトでJISが閲覧できることがわかりました。

 JIS X0501を検索して該当PDFファイルを開くと閲覧できましたが、コピーや印刷ができないようにプロテクトがかかっていました。ツールが非表示になっていたので表示させてPCに保存しました。もちろん、保存したファイルを開いても、プロテクトがかかっているのはオリジナルと同じです。そこで表示倍率を適正に調整した画面をキャプチャーし、画像ファイルとして保存する操作を繰り返して全頁を保存し、PCプリンターで印刷しました。

 JIS X0501を解読していて気づいたことは、バーコードシンボルのバーとそれに対応するキャラクタは12個であって、13桁JANコードで期待される13個ではないということです。キャラクタと対応バーは、左ガードバーとセンタバーの間に6個、センタバーと右ガードバーの間に6個の計12個です。13桁JANコードの先頭のプリフィックスキャラクタは、直接対応するバーはなく、残り12個のキャラクタのモジュール構成(黒バーと白バーの配列)との対応で決まるということです。逆に言うと、先頭のプリフィックスキャラクタが決まると、残り12個のキャラクタのモジュール構成が一意的に決まると言うことです。本当にそれでよいのか少し不安だったので、実際の書籍のバーコードをJIS X0501の規定に従って解読し数字に置き換え、印字された数字と比べてみました。その結果、確かに先頭の数字と対応するバーはなく、バーコードは2番目以降の数字と対応していることが分かりました。JIS X0501の規定を完全に記憶できれば、バーコードリーダーがなくても肉眼でバーコードを数字に変換できると言うことです。


| HOME |


Design by mi104c.
Copyright © 2007 個人出版コミュニティ, All rights reserved.