PHP TCPDF 文字列分割 バイト数と半角文字

印刷の時に印字幅に応じて文字列を複数行に分けたい場合がある。
方法としては、MultiCellを使う方法があるが、印字位置指定をしている場合は
利用がむつかしい

そこで先のブログで、全角と半角を区別してバイト数単位で文字列を分割する
事にしたが、全角カナと半角カナが混在している場合、印字位置がおかしく
なる。

原因はkozgopromediumフォントを使った場合、半角カナの印字ピッチが
全角カナの印字ピッチと同じである。半角カナは1バイトであるが
印字ピッチはなんと全角と同じピッチ幅を必要とする。

結論
文字バイトが1バイトでも半角カナとアルファベット数字を判断して半角カナの
場合は全角カナと同じ印字ピッチとして計算する事

カテゴリー php