こんなトピックで初投稿を飾ろうとは……
調べてもほとんどヒットしなかったおそらくニッチな問題に関して気づいた事メモです.
MSWordでAcrobatプラグインのPDFMakerでPDFを発行する際にLinux Libertineのイタリック体がTOFU化してしまって困っている or もやもやしてる人には少しお役に立てると思います.
Linux Libertineとの出会い
とある学会予稿を書くときに指定されるACM CONFのWordテンプレでは,本文フォントにLinux Libertineが指定されています.
このLinux LibertineはTimes New Romanをなんかいい感じにしたがって作られたものらしいですが,とある罠が仕掛けられていました.
この罠によってMSWordからPDFMakerを使用してPDFを作る際にフォントの文字化けが生じてしまいます.
本稿ではこの原因らしき事象と,その回避方法についてメモしていきます.
Linux Libertine Initialsとか名前だけそっくりさん
各種文字の見た目を変えるために皆さんフォントを変えると思いますが,フォントにはフォントファミリーというものがあります.
一つのフォントをもとにイタリック体やボールド体などを派生させたものをまとめて一つのフォントファミリーと呼びます.
例えばLinux Libertine
というフォントファミリーには以下のようなフォントが含まれます.
- ノーマルフォントとして
Linux Libertine
- イタリック体フォントとして
Linux Libertine Italic
- イタリックボールドとして
Linux Libertine Bold Italic
MSWordやAdobe Acrobatなど,フォントをいじれるソフトではLinux Libertineをフォントとして指定し,イタリック指定をすることでLinux Libertine Italicが使用できるようになります
そしてLinux Libertineの名を冠するフォントがいくつかありますが,そのうちのLinux Libertine Initials
というフォントがあり,これがまた以降に示すある理由により件の厄介を引き起こしています.
Linux Libertine
とLinux Libertine Initials
,フォントファミリーとしてはそれぞれ別です.
Linux Libertine Initials
フォントファミリーの中には
- ノーマルフォントとして
Linux Libertine Initials
のみが内包されています.- 大文字のみを含むフォントで,小文字を入力するとTOFUが並びます.
- しつこいですがこれは
Linux Libertine Initialsファミリー
の中の一つのフォントです. - https://ja.fonts2u.com/linux-libertine-initials.%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88
以上に示してきたフォント名のなかで似た名前を持っているフォントがいます.
-
Linux Libertine Italic
- Linux Libertineファミリに属する
-
Linux Libertine Initials
- Linux Libertine Initialsファミリに属する
Linux Libertine I
まで同じですね.でも確かに別の名前です.
ただし,別の名前であるのはそのフルフォントネームの場合なのです......
Full Font Name vs. Postscript Name
というのも,フォントにはいくつかの名前が用意されていて,フルフォントネームとポストスクリプトネームがあります.
そしてこのポストスクリプトネームにおいて,上記二つのフォントは,タイトルの通り
LinLibertineI
という名前でおそろいなのです.知能の足りないアベックかよ……
実際,MS WordとかのAdobe Acrobatプラグインの設定の箇所でフォントを除くとポストスクリプトネームで埋め込む/埋め込まないフォントなどの一覧が見れるのですが,LinLibertineI
というフォントのみ(?)2つ並んでいます.
しかも一方を常に埋め込むように設定すると,もう一方をもし埋め込まない設定にしていたとしても埋め込まない設定から外れてしまうという残念な仕様
(まあ残念なのはポストスクリプトネームで管理してるAcrobatというよりは,名前を同じにしたLibertine製作チーム?の方でしょうが)
引き起こされるバグ
MSWordでLinux Libertine Italicとして文字を含む文書をPDF Maker(Acrobatのプラグイン)を利用してPDFに変換する際ポストスクリプト名でフォントがやり取りされるらしく,その際名前を取り違えられ,Linux Libertine ItalicがLinux Libertine Initialsに変えられてしまい,Initialsは小文字用フォントがないのでTOFU文字が並ぶという凄惨な事態を招くバグが存在していました......
回避方法
これを回避するためにはInitialsをアンインストールするくらいしか思いつきませんでした.
Acrobatの設定でどちらかのLinLibertineIを埋め込まない設定とかにすればもしかしたらいいのかもしれませんが,見分けられないので,きっと必要になったらその時インストールするでしょと思うので,消してしまっていいと思います.
またMSWord標準機能でPDFを制作する場合にはInitialsをインストールしている状態でもちゃんとItalicはItalicでPDF文書に変換されましたので,Acrobatを使う必要のない場合はこれでもいいと思います.