ePDFViewの日本語表示

4.X系のバグ、トラブル

モデレータ: 暇人, YoN, nyu

返信する
Lemon
記事: 33
登録日時: 08/08/23(土) 12:55
お住まい: 長州

ePDFViewの日本語表示

投稿記事 by Lemon »

完璧ではないので無保証!

現状Puppy LInux 日本語版に搭載されているePDFViewでは日本語Fontの埋め込みが無いPDFファイルを開こうとしても文字化けや空白になりさっぱり内容が判りません。これはWindowsなどでPDF作成時に使用されたFontがPuppyに無いことが原因です。

ePDFViewはPopplerのエンジンを利用してPDFファイルをさせていますが、Poppler単独では日本語などを表示させることは出来ません。そこでPopplerではpoppler-dataなるデータファイルを準備しており、これを導入することで日本語などの表示を可能にしています。従ってこのpoppler-dataをPuppyに入れてやることで、日本語Fontの埋め込みが無いファイルが表示可能になります。
(ubuntuなどで採用されているEvinceと同等の対応をPuppyでもすれば良い。)

以下で日本語表示が可能になります。

1.Popplerのサイトからpoppler-data-0.2.0.tar.gzをダウンロードしてきます。
Downloadコーナーにあるのですぐに見つかると思います。(2008/08/25現在)

参考) http://poppler.freedesktop.org/

2.ダウンロードしたpoppler-dataを展開します。すると"poppler-data-0.2.0"と言うフォルダが出来ると思いますので、このフォルダの名称を単に"poppler"に変更します。

3.名称変更したフォルダを./usr/share/直下に移動させます。

これで表示が可能になります。ただし現状の表示は完全なものではありません。Font埋め込みの無いファイルは全てゴシック体で表示されたり、文字間が狭くなり文字が重なる、などの現象が発生します。しかし文字が読めない程ではありませんので利用価値はあると思います。なにしろAdobeReaderよりかなり高速で起動します。

この表示で満足出来ない方は、XpdfとXpdf-Japaneseを導入して.xpdfrcファイルにMS-Minchoなどの代替Fontをコマメに指定していけば、より原文に近い形で表示が可能です。但しめんどうクサイ。

確かめていませんが、./etc/fonts/fonts.conf/に代替Fnotを指定することでePDFViewでも原文に近い表示が実現可能かも知れません。
jake
記事: 403
登録日時: 08/05/05(月) 14:46
お住まい: 滋賀県

投稿記事 by jake »

早速、試してみました。確かに、これまで何も表示されなかったPDF文書が表示されるようになりました。有益な情報ありがとうございます。 :wink:
kgreenjp
記事: 1
登録日時: 08/11/04(火) 03:10
連絡する:

バージョン違い

投稿記事 by kgreenjp »

私も試してみました。
上記の手順に乗っ取り、ダウンロードおよび設置を行いました。
現在のバージョンpoppler-data-0.2.1.tar.gz
になっていましたが、これまで文字化け起きてしまっていたPDFを開いて見ると
正常に表示されていました。
ありがとうございました。
Lemon
記事: 33
登録日時: 08/08/23(土) 12:55
お住まい: 長州

明朝体

投稿記事 by Lemon »

日本語Fontの埋め込みが無いpdfファイルは全てゴシック体のみで表示されるとしていましたが、fontconfigを調整すると明朝体を表示出来ます。波ダッシュ(〜)も表示できる。
こまめに調整すればAdobeReaderと遜色ない表示ができます。AdobeReaderの日本語フォントは小塚フォントのゴシック、明朝の各1書体しか持ってないようです。
フォント設定を変更すると色々おかしな表示になる事があります、自己責任で行なって下さい。
又、ePDFViewは高速だと思っていましたが、AbobeReaderの方がファイルの表示、再描写、ズームなどいずれも、ePDFViewより速い感じがします。
同じPCにopenSUSEのGnome版を入れていますがEvinceは結構高速で動作します。しかし何故かPuppyのePDFViewは遅い。

手順を参考までに
代替のFontは/.fontsディレクトリを作成しそこに置いた。(IPAフォントを使用)
/etc/fonts/local.confを開き、ファイルの<fontconfig>から</fontconfig>までの間に下記を追加する。

参考例)
1 <match target="pattern">
2 <test qual="any" name="family">
3 <string>MSMincho</string>
4 </test>
5 <edit name="family" mode="assign">
6 <string>MS Mincho</string>
7 </edit>
8 </match>
9 <alias>
10 <family>MS Mincho</family>
11 <accept><family>IPAMincho</family></accept>
12 </alias>

同様に好きなだけ代替Fontを指定して行く。指定が無いものは勝手に他のフォントで表示される。(M+1P+IPAG辺り?)

参考例の上8行は無くてもePDFViewの表示はきちんと出来るが、これが無いと#fc-match MS Mincho でIPAMinchoと正しく表示されない。色々試した結果、どうもlocal.confに記述したMSMinchoのフォント名にスペースが入っているか否かでfc-matchの挙動が変るみたいです。そこでMSMinchoのフォント名をごまかす為に、上の8行を追加した。

MS Mincho pdfの表示はOK fc-matchはダメ(MSとMinchoの間にスペースがある場合)
MSMincho pdfの表示はダメ fc-matchはOK (スペースが無い場合)

もっと良い方法があるかも知れません。別件ですがePDFViewではグラフや表のかなり細い細線が表示が出来ない時があるみたいです。(Evinceでも表示出来ない)Adobeは表示出来る。

参考にしたサイト
Fontconfig : http://fontconfig.org/wiki/
Poppler Wiki : http://freedesktop.org/wiki/Software/poppler

PDFファイルにどの様なFontが使われているか調べるにはWebアプリを使用すると便利です。
PDFフォント○×チェッカー (株)吉田印刷所 http://pdf.printjapan.com/

作成したlocal.confを公開しておきます。但しフォント名等かなり適当です。

コード: 全て選択

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file for local customizations -->
<fontconfig>
<!--
  Enable sub-pixel rendering
	<match target="font">
		<test qual="all" name="rgba">
			<const>unknown</const>
		</test>
		<edit name="rgba" mode="assign"><const>rgb</const></edit>
	</match>
-->
<!--    
  MSMincho replace to MS Mincho
-->
	<match target="pattern">
		<test qual="any" name="family">
			<string>MSMincho</string>
		</test>
		<edit name="family" mode="assign">
			<string>MS Mincho</string>
		</edit>
	</match>
<!-- 
  Japanese Mincho Style 
-->
	<alias>
    	<family>MS Mincho</family>
    	<accept><family>IPAMincho</family></accept>
	</alias>
	<alias>
    	<family>MS PMincho</family>
    	<accept><family>IPAPMincho</family></accept>
	</alias>
	<alias>
    	<family>Ryumin-Light</family>
    	<accept><family>IPAMincho</family></accept>
	</alias>
	<alias>
		<family>Ryumin-Medium</family>
		<accept><family>IPAMincho</family></accept>
	</alias>
	<alias>
		<family>Heisei Min W3</family>
		<accept><family>IPAMincho</family></accept>
	</alias>
	<alias>
		<family>Hiragino Mincho Pro W3</family>
		<accept><family>IPAMincho</family></accept>
	</alias>
<!--
  Japanese Gothic Style
-->
	<alias>
		<family>MS Gothic</family>
		<accept><family>IPAGothic</family></accept>
	</alias>
	<alias>
		<family>MS PGothic</family>
		<accept><family>IPAPGothic</family></accept>
	</alias>
	<alias>
		<family>MS UIGothic</family>
		<accept><family>IPAUIGothic</family></accept>
	</alias>
	<alias>
		<family>GothicBBB Medium</family>
		<accept><family>IPAGothic</family></accept>
	</alias>
	<alias>
		<family>Heisei kaku Go W5</family>
		<accept><family>IPAGothic</family></accept>
	</alias>
	<alias>
		<family>Hiragino Kaku Gothic Pro W3</family>
		<accept><family>IPAGothic</family></accept>
	</alias>
</fontconfig>
返信する