MacTeX 2017 でのフォント埋め込み

MacTeX 2017 でのフォント埋め込み

- 山内 淳 の投稿
返信数: 5
科研費の公募がスタートということで、3年ぶりにMacのTeX環境を更新して、いろいろとテストしています。

Mac TeX 2017で作成したPDFにヒラギノフォントを埋め込むようにしようと、インストールマニュアル等を参考に試行しているのですが、どうもうまくゆきません。

Mac TeXのインストーラは最新のものを使って導入し、「sudo tlmgr update --self --all」でファイルの更新も行なっています。環境はMac ProでSierra 10.12.3を使っており、Mac内には2012年版と2013年版のMac TeXが残っていましたが「rm -f」でアンインストールしています。

ヒラギノ埋め込みの設定をしようと、

sudo cjk-gs-integrate --link-texmf --force
sudo mktexlsr
sudo kanji-config-updmap-sys hiragino-elcapitan-pron

を入力してみたのですが、最後のコマンドで

hiragino-elcapitan-pron not available, falling back to auto!
updmap: updmap: unknown option `--sys'. Try updmap --help for help.
Cannot find status of current jaEmbed setting via updmap --showoption!

どうやら、シェルを通じて最終的に起動される「updmap」コマンドが「sys」オプションを通さないようなのです。代わりに

sudo updmap-sys --setoption jaEmbed hiragino-elcapitan-pron

を実行すると、

updmap: This is updmap, version 1107552857
updmap: using transcript file `/usr/local/share/texmf-var/web2c/updmap.log'
updmap: initial config file is `/usr/local/share/texmf/web2c/updmap.cfg'
updmap: unsupported option jaEmbed.

と「jaEmbed」を認識しない模様。ステータスを確認しようと

kanji-config-updmap-sys status では…

updmap: updmap: unknown option `--sys'. Try updmap --help for help.
Cannot find status of current jaEmbed setting via updmap --showoption!

kanji-config-updmap status では…

updmap: updmap: unknown option `--user'. Try updmap --help for help.
Cannot find status of current jaEmbed setting via updmap --showoption!

と「『updma』はsysオプションもuserオプションも知らん!」と言われて、にっちもさっちもゆきません。

何か間違っているのでしょうか? ご助言をいただけると助かります。

山内 淳 への返信

Re: MacTeX 2017 でのフォント埋め込み

- Dora TeX の投稿
このトピックと同様の症状ですね。

古い環境がまだ削除しきれていないものと思われます。
Dora TeX への返信

Re: MacTeX 2017 でのフォント埋め込み

- 山内 淳 の投稿
返信ありがとうございます。

過去の記事を見てはいたのですが、気づきませんでした。

古い環境の削除について、もう少し調べてみます。
山内 淳 への返信

Re: MacTeX 2017 でのフォント埋め込み

- Yamamoto Munehiro "munepi" の投稿
> 古い環境の削除について、もう少し調べてみます。
MacTeX公式サイトに
Uninstalling
http://www.tug.org/mactex/uninstalling.html
があります。

しかしながら、
「コマンドラインから明確に削除できることが分かる文面」があると良い気がしています…。

山内 淳 への返信

Re: MacTeX 2017 でのフォント埋め込み

- 和田 勇 の投稿
過去のトピックが途中で終わっているように見えるのです。。。。

すでに対策を取られているかもしれませんが念のため。
古い環境を削除する方が綺麗ですが ... 古い環境をできるだけ使わないで済むように PATH で対処について述べます。

今回の問題は PATH の順序か sudo で実行するときの環境変数 PATH の取り扱いだと想定しています。

1) PATH の順序

tlmgr と問題となっている updmap-sys が想定バージョンのものか確認してください。

$ which updmap-sys tlmgr .... 面倒なので二つ一緒に
/usr/local/texlive/2017/bin/x86_64-darwin/updmap-sys
/usr/local/texlive/2017/bin/x86_64-darwin/tlmgr

私の場合だと上記のようになりますが、 /usr/local/bin のものがあれば 環境変数 PATH で /usr/local/bin は MacTeX2017 の設定より後になるよう変更してください。

私の場合だと以下のようにしています。
PATH=/usr/local/texlive/2017/bin/x86_64-darwin:/usr/local/bin:.....
です。

ここで解決はすると思いますが ...上記の which を sudo で ...

$ sudo which updmap-sys tlmgr

とした結果が MacTeX2017 のもの以外が表示されるなら次の点をチェックしてください。


2) sudo コマンドと環境変数

sudo コマンドを使うと汚染されたプログラムを実行しないようセキュリティの観点から 信頼の置けるプログラム設置場所を secure_path に設定することで PATH 環境変数に強制再設定することできます。
# mac のデフォルトは未設定ですね。:-(

sudo which の結果で明らかですが sudo env で環境変数 PATH がどのようになっているかで再確認できます。

この PATH の設定で /usr/local/bin が MacTeX 2017 のものより先になっていれば古いものが動いてしまいます。secure_path に MacTeX 2017 を追加というのは普通はしないよ思いますので sudo する人を信用して sudo -E とオプションをつけてください。あるいは実行するプログラムを フルパスで指定しても良いです。

セキュリティの観点から secure_path などを設定しているならば後者のフルパスの方が良いかもしれませんね。

和田 勇 への返信

Re: MacTeX 2017 でのフォント埋め込み

- 山内 淳 の投稿
ご指摘ありがとうございます。

私もちょうど updmap を始め TeX 関係の一連のコマンドが /usr/local/bin に存在しているのに気づいたところです。ファイルの日付を見るといずれも2005年とか2006年のファイルです。

環境を引き継ぎ引き継ぎしながら現在まできているので、こんなことになってしまったようです。

とりあえず /usr/local/bin 以下の「updmap」「mktexlsr」「kpsewhich」の3つのファイルのファイル名に「-old」を追加してしのぎましたが、確かに PATH を変更した方がスマートでしたね。

/usr/local/bin を整理したいですが、ちょっと手をつけられないですね。

(追記)と思ったのですが、その後 /usr/local/bin 以下の一連のファイルを見たところ、存在するのは TeX関連のファイルだけのようなので、 /usr/local/bin をバックアップした上で 中身を全部削除しました。大丈夫かどうかわかりませんが、トラブったらバックアップから適宜戻そうと思います。