アフィリエイト広告を利用しています

2022年01月25日

システム管理: xpdf の設定

OpenBSD 上では PDF ファイルを xpdf で読んでいる.
しかし表示に関してエラーが発生していた.

(a) いくつかのファイルについて,

Syntax Error: Unknown character collection 'Adobe-Japan1'

というエラーが発生してファイルの内容が表示されずに真っ白な画面になってしまう.
Adobe-Japan1 に対応する文字集合が不明となっている.

(b) 別のファイルでは

Config Error: No display font for 'Courier'
Config Error: No display font for 'Courier-Bold'
Config Error: No display font for 'Courier-BoldOblique'
Config Error: No display font for 'Courier-Oblique'
Config Error: No display font for 'Helvetica'
Config Error: No display font for 'Helvetica-Bold'
Config Error: No display font for 'Helvetica-BoldOblique'
Config Error: No display font for 'Times-Bold'
Config Error: No display font for 'Times-BoldItalic'
Config Error: No display font for 'Times-Italic'
Config Error: No display font for 'Times-Roman'

というエラーが発生してやはりファイル内容の表示が不完全になってしまう.
Courier や Times-Roman を表示するためのフォントが存在しない.

どちらもフォントの設定の問題である.

ネット上で見つけた記事:
pdftopng(xpdf)コマンド実行時に、Syntax Errorが出る
XPDFのpdftopngで出力したpng画像が豆腐のように真っ白だった話
を参考にして対応した.

まず,

Syntax Error: Unknown character collection 'Adobe-Japan1'

については次のように対応する.

(1) サイト Download Xpdf and XpdfReaderJapanese [updated 2020-Dec-22] から xpdf-japanese.tar.gz をダウンロードする.

(2) ダウンロードしたファイルを解凍する.
README によれば, このパッケージには
- Adobe-Japan1 character collection support
- ISO-2022-JP encoding
- EUC-JP encoding
- Shift-JIS encoding
が含まれる.

(3) README にしたがってパッケージをインストールする.

$ tar xzvf xpdf-japanese.tar.gz
$ cd xpdf-japanese
# mkdir -p /usr/local/share/xpdf/japanese
# mv * /usr/local/share/xpdf/japanese
$ cp /usr/local/share/xpdf/japanese/add-to-xpdfrc ~/.xpdfrc

コピーした ~/.xpdfrc の内容は以下のようになっている.

#----- begin Japanese support package (2011-sep-02)
cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap
unicodeMap EUC-JP /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap
unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap
cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/CMap
toUnicodeDir /usr/local/share/xpdf/japanese/CMap
#fontFileCC Adobe-Japan1 /usr/..../NotoSansCJKjp-Regular.otf
#----- end Japanese support package


(4) 最後の fontFileCC の行をコメントアウトして NotoSansCJKjp-Regural.otf へのパスを正しく設定する.
自分の場合は $HOME/.fonts にこのフォントを置いているので以下のようになる.

fontFileCC Adobe-Japan1 /home/sokohiko/.fonts/NotoSansCJKjp-Regular.otf


(5) これで問題のファイルを xpdf で開いたのだが文字化けが発生してしまっている.
調べたのだがわからず, 結局上記のサイトから xpdf の最新版 (xpdf 4.03) をダウンロードしてコンパイル・インストールした.
これによって表示が正しく行われるようになった.
※: xpdf のコンパイル・インストールの前に以下のパッケージをインストールしておく必要がある.
- Qt5
- FreeType
- Fontconfig
- libpng
- zlib

(6) 次にもう一方のエラー

Config Error: No display font for 'Courier'
Config Error: No display font for 'Courier-Bold'
. . . .

Config Error: No display font for 'Times-Roman'

に対しては上でコンパイルした xpdf のソースツリーに含まれる xpdf-4.03/doc/sample-xpdfrc を参考にする.

sample-xpdfrc の中から

#fontFile Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb
#fontFile Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb
#fontFile Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb
#fontFile Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb
#fontFile Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb
#fontFile Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb
#fontFile Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb
#fontFile Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb
#fontFile Courier /usr/local/share/ghostscript/fonts/n022003l.pfb
#fontFile Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb
#fontFile Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb
#fontFile Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb
#fontFile Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb
#fontFile ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb

の部分をコメントアウトしたものを $HOME/.xpdfrc に追加する.
ただし, OpenBSD では上記のフォントがインストールされているパスが異なるのでそれを反映させる.

fontFile Times-Roman /usr/local/share/fonts/ghostscript/n021003l.pfb
fontFile Times-Italic /usr/local/share/fonts/ghostscript/n021023l.pfb
fontFile Times-Bold /usr/local/share/fonts/ghostscript/n021004l.pfb
fontFile Times-BoldItalic /usr/local/share/fonts/ghostscript/n021024l.pfb
fontFile Helvetica /usr/local/share/fonts/ghostscript/n019003l.pfb
fontFile Helvetica-Oblique /usr/local/share/fonts/ghostscript/n019023l.pfb
fontFile Helvetica-Bold /usr/local/share/fonts/ghostscript/n019004l.pfb
fontFile Helvetica-BoldOblique /usr/local/share/fonts/ghostscript/n019024l.pfb
fontFile Courier /usr/local/share/fonts/ghostscript/n022003l.pfb
fontFile Courier-Oblique /usr/local/share/fonts/ghostscript/n022023l.pfb
fontFile Courier-Bold /usr/local/share/fonts/ghostscript/n022004l.pfb
fontFile Courier-BoldOblique /usr/local/share/fonts/ghostscript/n022024l.pfb
fontFile Symbol /usr/local/share/fonts/ghostscript/s050000l.pfb
fontFile ZapfDingbats /usr/local/share/fonts/ghostscript/d050000l.pfb

以上でフォントのエラーは表示されなくなる.
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

この記事へのトラックバックURL
https://fanblogs.jp/tb/11226242

この記事へのトラックバック
ファン
検索
<< 2024年10月 >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
最新記事
最新コメント
眼科の定期検査 〜 散歩 by コトタマ (02/15)
眼科の定期検査 by 三文字寄れば文殊のヒフミヨ (09/21)
本を読んで過ごす by 底彦 (12/13)
本を読んで過ごす by ねこ (12/12)
数学の計算をする by 底彦 (12/04)
タグクラウド
カテゴリアーカイブ
仕事(59)
社会復帰(22)
(43)
コンピューター(211)
(1417)
借金(8)
勉強(13)
(12)
数学(97)
運動(8)
日常生活(1386)
(203)
健康(36)
読書(20)
プロフィール

ブログランキング・にほんブログ村へ
にほんブログ村
にほんブログ村 メンタルヘルスブログ うつ病(鬱病)へ
にほんブログ村
にほんブログ村 科学ブログ 数学へ
にほんブログ村
にほんブログ村 IT技術ブログ プログラム・プログラマーへ
にほんブログ村