Enscriptのトラブルの解決法(冗長)

内容

今まで動いていた自作のPerlスクリプトによるQSLカード記入面のデータ出力(enscript入力形式) から,enscript (PS=Postscript形式の出力)により印刷イメージのPSを生成する手順で,それぞれは動くのですが,出力されたPS形式のファイルをPDF化すると,どうしても等幅フォントCourierが文字抜けします.全部が出ないわけでなく,ざっと見て大文字だけかと思えばそうでもなく,また数字は “1” 以外全部抜けているようです.

解決策

Slackwareにおいては “Courier New” のTrue Typeフォント(TTF)をインストールするだけ

もう少し厳密に言えば,enscriptに与えるフォント名を “Courier”, “Courier-Bold” などから, “Courier-New”, “Courier-New-Bold” などに変更する必要があります

フリーのCourier Newフォントの取得

あちこちにありますが,Fonts Geekというサイトから,Courier NewとCourier New Boldをダウンロードしました(ついでにMonacoも).

Linuxのホストへのインストール

Slackware ARM 15.0のホストにTrue Typeフォントをインストールする手順を探してインストールします./usr/share/fonts/TTFにコピーしてから,テーブルファイルをupdateするコマンドを実行するような方法だと思いましたが,そのとおりでした.

ダウンロードしたフォントのファイル名は, “Courier New Bold.ttf”などスペースが入っていますが, “Courier-New-Bold.ttf” のように,スペースをハイフンに変えました.また, “Regular” は削除しました.

Updateには,mkfontdirmkfontscaleコマンドを使います.

以上でこれまで通り,enscriptとps2pdfで正しい印刷イメージができます.

動作確認できたdistro

上記は,Slackware ARM (32bit) 15.0ですが,Slackware AArch64 currentでも確認できました.

その後,Raspberry Pi OS (64bit) + KDE Plasma Desktopの環境でも試してみました.Debian系で Courier New のTrue Typeフォントをインストールする正攻法は,

apt install ttf-mscorefonts-installer

のようです.これで,Slackware同様にenscriptに与えるフォント名を “Courier-New”, “Courier-New-Bold” などとすることで,正常なPDFができるようになりました.

Notes:
1. 確認したのは,Slackware ARM (32bit) 15.0のみですが,たぶん,AMD64でも大丈夫だと思います.
3. むしろ,こちらが必要です.
4. 32bit版.
確認したのは,Slackware ARM (32bit) 15.0のみですが,たぶん,AMD64でも大丈夫だと思います.
むしろ,こちらが必要です.
32bit版.