web-dev-qa-db-ja.com

PDFファイルのポーランド語の文字が正しく表示されない

ポーランド語の文字を含むpdfの請求書ドキュメントを受け取りましたが、evinceを使用して正しく表示できません。問題はフォント設定に関連しています。 pdffontsこれを見せて:

$ pdffonts test.pdf 
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
EDWAAA+HelveticaNeue-Roman           CID TrueType      Custom           yes yes yes      8  0
EDWAAB+Helvetica75Roman              CID TrueType      Custom           yes yes yes      7  0
ArialMT                              Type 1            WinAnsi          no  no  yes      9  0

私はArialMTフォントを持っていなかったので、それを here からダウンロードして、正しくキャッシュしました:

$ fc-match ArialMT
ARI.ttf: "Arial MT" "Regular"

次に、インストールされているフォントがLibreOfficeで選択することで、ポーランド語の文字が正しく表示されることを確認しました。

このフォントにもかかわらず、次のようにレンダリングされます。

enter image description here

mupdfとFirefoxで正しくレンダリングできるため、これはPopplerの問題のようです。

enter image description here

okularqpdfviewは、evinceと同じように失敗します。

Popplerの最新バージョンを here からダウンロードし、次のようにインストールしました。

mkdir build
cd build
cmake ..
make
make install

しかし、問題は同じままです。 evinceがそれを使用しているかどうかはわかりません。共有されている依存関係が表示されないためです。

$ ldd /usr/bin/evince | grep -i poppler
$

Force evinceを使用してこのフォントを正しく表示するにはどうすればよいですか?

2
Nykakin

以下に示すように、MS TrueTypeフォントをインストールしてみてください。

$ Sudo apt update
$ Sudo apt install ttf-mscorefonts-installer

Microsoftのエンドユーザー契約ウィザードが表示されます。 [OK]をクリックして続行します。

フォントをインストールしたら、次のコマンドを使用してフォントキャッシュを更新する必要があります。

$ Sudo fc-cache -f -v

または、すべてのWindowsフォントを/ usr/share/fontsディレクトリにコピーし、次のコマンドを使用してフォントをインストールします。

$ mkdir /usr/share/fonts/WindowsFonts
cp /Windowsdrive/Windows/Fonts/* /usr/share/fonts/WindowsFonts
$ chmod 755 /usr/share/fonts/WindowsFonts/*

最後に、コマンドを使用してfontconfigキャッシュを再生成します。

$ fc-cache

手順は次のとおりです: https://www.ostechnix.com/install-Microsoft-windows-fonts-ubuntu-16-04/

1
Michal