LoginSignup
5
1

More than 3 years have passed since last update.

LinLibertineIとかいうポストスクリプト名のフォントの罠

Last updated at Posted at 2018-06-20

こんなトピックで初投稿を飾ろうとは……
調べてもほとんどヒットしなかったおそらくニッチな問題に関して気づいた事メモです.
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というフォントファミリーには以下のようなフォントが含まれます.

MSWordやAdobe Acrobatなど,フォントをいじれるソフトではLinux Libertineをフォントとして指定し,イタリック指定をすることでLinux Libertine Italicが使用できるようになります

そしてLinux Libertineの名を冠するフォントがいくつかありますが,そのうちのLinux Libertine Initialsというフォントがあり,これがまた以降に示すある理由により件の厄介を引き起こしています.

Linux LibertineLinux Libertine Initials,フォントファミリーとしてはそれぞれ別です.
Linux Libertine Initialsフォントファミリーの中には

以上に示してきたフォント名のなかで似た名前を持っているフォントがいます.

  • 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を使う必要のない場合はこれでもいいと思います.

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1