以下省略!

タイダルウ(ry ほぼ毎日1記事執筆運動実施中。 ※記事に広告(アフィリエイト)リンクを掲載している場合があります。

これがサーマルプリンタの中華フォント…!

f:id:abyssluke:20201210183331j:plain:w200:left今日AliExpressで注文していた感熱ロール紙が届いた(詳細についてはまた後日書くが)ので試しに印刷してみた結果。発色よさそう。保存性はまだわからないけど。

記事画像にある上の印刷はサーマルプリンタをChinese ModeにしてGBKな文字を直接プリンタに送りつけたもの。サーマルプリンタが届いた時に「全角な日本語の印字は難しいだろうなぁ」と書いたが、GB2312なら対応している→GB2312(GBK)にはひらがなや全角カタカナも定義されている→一応印刷できるのでは?と思いChinese Modeに切り替えてやってみたらできたという。まぁひらがな・カタカナのフォントは汚いし出てこない漢字や中華っぽい漢字もあるのでASCII mode常用でいいや。必要であれば画像化などゴニョゴニョすればいいわけだし。

PHPでGB2312(GBK)に変換したコード

GBKをGB2312にしたところ、「汚」は「1Z」になり(GBKは謎の文字になった)、「・カタカナ」は文字化けした(GBKは「・」→「?」になった)。

<?php
echo mb_convert_encoding("字は汚いけどひらがな・カタカナ\n出せるっぽいです。\nChinese Modeにして\nGB2312な文字を直接送ってます\n","GBK","UTF-8");
?>

スクリプトの出力結果をプリンタに送りつける

$ php test.php > /dev/usb/lp1