[PHP-users 3982] Re: PHP+PDFLIBを利用しての帳票サンプル

松島 知弘 php-users@php.gr.jp
Thu, 29 Nov 2001 13:30:07 +0900


松島です。

> ちなみに、PDFlibですと、日本語が混ざったテキストの長さを求める関数
> pdf_stringwidth がうまく機能していなかったと思います。(私のところ
> だけだったら、ごめんなさい)

幅の計算は次の計算でなんとかなります。

・半角(アスキー)は、pdf_stringwidth() で求める
・半角(カナ)は、フォントサイズの半分の横幅
・全角は、フォントサイズと同じ横幅

半角(アスキー)の描画は一括りにpdf_show()に任せて、
日本語/英数記号の度にフォントとエンコードを切り替えて出力/計算して
日本語の文字は1文字ずつ場所を計算しながらpdf_show()すれば、
プロポーショナル混じりでも割と自然に出力できます。

単純にバカ正直なアルゴリズムを力技でクラス等にカプセル化してしまえば、
極端に難しい事は無いと思います。


> もちろん縦横の罫線を含むタイプが良いのですが・・・

帳票のフォーマットを、テキストのみでシンプルに記述できる方法が
あれば、それが参考になると思うのですが、どなたか心当たりは
有りませんでしょうか(言語・環境を問わず)。
#GUIの帳票作成ツールしか見たことが無くて……。

──────────────────────────────
松島 知弘 matsushima@popup.org
          http://www.popup.org/ai/