LinuxでPXchfonが動作しない

LinuxでPXchfonが動作しない

- Shin の投稿
返信数: 11
こんにちは。Ubuntu14.04からapt-getコマンドでTeX Live 2015を入手し、/usr/share/texlive 以下にTeX関連のパッケージが置いてあります。PXchfonの公式サイトからPXchfonパッケージをダウンロードし、/usr/share/texlive/texmf-dist/tex/platex にPXchfonというディレクトリを作って置いておきました。TeXworksで以下のように実行しました(pLaTeX)。

\documentclass{jsarticle}

\usepackage{pxchfon}

\setgothicfont[0]{hgrpp1.ttc}

\begin{document}

\section{はじめに}

あいうえおかきくけこさしすせそたちつてと

\end{document}


hgrpp1.ttcは/usr/fonts/truetypeに置いてあります。すると、以下のようなエラーが出ました。(コンパイル自体は成功したようで、dviファイルは生成されていました。そのdviファイルをpdfに変換するときにエラーが起きたようです。)

** ERROR ** Failed to read UCS2/UCS4 TrueType cmap...


Output file removed.

ptex2pdf processing of untitled-1.tex fails.


Windows8のパソコンで同じようにタイプセットしたところ、正常にpdfファイルまで生成されました。そのファイルは、希望通り


はじめに


の部分がポップ体になっていました。

なぜUbuntuだとできないのかわかりません。
Shin への返信

Re: LinuxでPXchfonが動作しない

- Akira Kakuto の投稿
TeX Live 2015 には最初からそのパッケージは入っていないですか?
(ディレクトリ名は lower case で pxchfon)。
いずれにしても,texmf-dist 以下には,自分でパッケージを入れない
ようにしたほうが良いと思います。
さて,意識的に hgrpp1.ttc が見えないようにして windows で試すと
dvipdfmx:fatal: Failed to read UCS2/UCS4 TrueType cmap...
となるので,フォントが見えていないわけです。
試しに
export OSFONTDIR=/usr/fonts/truetype
として試すとどうでしょうか?
Akira Kakuto への返信

Re: LinuxでPXchfonが動作しない

- Shin の投稿
pxchfonパッケージは最初から入っていました。
export OSFONTDIR=/usr/fonts/truetype
を端末から実行しましたが、何も起きませんでした。
Shin への返信

Re: LinuxでPXchfonが動作しない

- Akira Kakuto の投稿
> export OSFONTDIR=/usr/fonts/truetype
> を端末から実行しましたが、何も起きませんでした。

すみません。あなたが使用している shell の文法で
環境変数 OSFONTDIR の値を /usr/fonts/truetype
に設定してみて下さい。
Shin への返信

Re: LinuxでPXchfonが動作しない

- 和田 勇 の投稿
環境変数 OSFONTDIR を指定されても変化なしとのことですが、dvipdfmx が フォントアクセスした情報を確認するため、端末で、問題となっている tex ファイル (untitled-1.tex) があるところに移動して、以下の二行を実行した結果を提示していただけませんか?tex のファイル名は target.tex

export OSFONTDIR=/usr/fonts/truetype
dvipdfmx -vv untitled-1.dvi


PS: 環境を以下のようにして再現を試みています。
OS ...Ubuntu 14.04 LTS 日本語 Remix リリース
texlive ... apt-get intstall texlive-full
 これでインストーリされるのは TeXLive 2013 です。

和田 勇 への返信

Re: LinuxでPXchfonが動作しない

- Shin の投稿
端末でデスクトップに移動し、

export OSFONTDIR=/usr/fonts/truetype
dvipdfmx -vv untitled-1.dvi

を実行しました。その結果、次のようなメッセージが出ました。

<FONTMAP:pdftex.map><FONTMAP:kanjix.map><FONTMAP:ckx.map>untitled-1.dvi -> untitled-1.pdf
DVI Comment: TeX output 2016.05.01:2203
<AGL:texglyphlist.txt><AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1<cfjas-r-l0j@14.35pt(TFM:cfjas-r-l0j[/usr/share/texlive/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-l0j.tfm])(VF:/usr/share/texlive/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-l0j.vf(TFM:r-cfjas-r-l0j[/usr/share/texlive/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-r-l0j.tfm])<r-cfjas-r-l0j@14.35pt
fontmap: r-cfjas-r-@PXcjk0@ -> hgrpp1.ttc(unicode)

** ERROR ** Failed to read UCS2/UCS4 TrueType cmap...

Output file removed.

このように表示されて、untitled-1.pdfは生成されませんでした。
Shin への返信

Re: LinuxでPXchfonが動作しない

- Akira Kakuto の投稿
> fontmap: r-cfjas-r-@PXcjk0@ -> hgrpp1.ttc(unicode)

もしかして,実際のファイル名は
HGRPP1.TTC (upper case) になっていませんか?
windows では hgrpp1.ttc と区別しませんが,
今は区別されます。
Akira Kakuto への返信

Re: LinuxでPXchfonが動作しない

- Shin の投稿
どうやらそのようです。

/documentclass{jsarticle}
/usepackage{pxchfon}
/setgothicfont[0]{HGRPP1.TTC}
/begin{document}
/section{はじめに}
あいうえおかきくけこさしすせそたちつてと
/end{document}

で成功しました。

はじめに

の部分がポップ体になってきちんと出力されます。

Shin への返信

Re: LinuxでPXchfonが動作しない

- 上田 完 の投稿
TeX の話以前の話なんですが、

/usr/fonts

にフォントを置くというのが私的には?なんですが。fc-list でそのフォントは出てきますか?
上田 完 への返信

Re: LinuxでPXchfonが動作しない

- Akira Kakuto の投稿
ファイル名指定されているので
fc-list で見えなくても
kpsewhich --format="truetype fonts" hgrpp1.ttc
で見えれば ok です。
Akira Kakuto への返信

Re: LinuxでPXchfonが動作しない

- 上田 完 の投稿
それは分かりますが、TeX 用にフォントのディレクトリを切るのに /usr 直下
に切るとも思えないのですが、そういうことなのでしょうか > Shin 様。

# ちなみに、もし私なら、
/usr/share/fonts/truetype/
# か、
# ~/.fonts
# に入れますが。

ちなみに、何処に入れたとしても、

~/texmf/fonts/truetype/

を作成してその中にそのフォントのシンボリックリンクを作成して、

$ cd ~/texmf/
$ mktexlsr .

で済む話だと思いますが。
Shin への返信

Re: LinuxでPXchfonが動作しない

- 上田 完 の投稿
Windows8のパソコンで同じようにタイプセットしたところ、正常にpdfファイルまで生成されました。そのファイルは、希望通り

(中略)

> なぜUbuntuだとできないのかわかりません。

一応噛み砕いて加筆しておきます。私は最近 Windows 上で TeX を使う
ことがないので直接確認できませんが、おそらくWindows 版の TeX Live 
は OSFONTDIR に C:\Windows\Fonts が入っていると思われます。なので
TeX は何をせずとも、システムの標準のフォントの置き場所である
C:\Windows\Fonts 中を探すわけです。これに対して Linux の場合、distro
やユーザによってフォントの場所が異なることもあるのでしょうが、
vanilla な texlive では、

OSFONTDIR = /please/set/osfontdir/in/the/environment

のようになっています。Unintu で供給しているパッケージの場合は分かり
ませんが……なので、角藤さんはここを設定したらどうですか、と書かれて
いるわけです。