Lunascape webkit における font-family の解釈について
Lunascape 6.5 が公開されましたね。
このバグというか現象は結構前に見つけていました。ただ、6.5 のベータ版とかが出ていたので、6.5 正式版で直るかもしれないと思って放置していました。
ですが、6.5 でも同様の現象が発生したので書いておこうと思います。
現象というのはタイトルにも書いている通り、 Lunascape を webkit エンジンで利用しているとき、CSS で指定した font-family の解釈がおかしいのです。
そこで、ちょっとテストしてみました。
Lunascape webkit font-family test
CSS は以下のようになっています。
(指定部分は実際には改行されていません)
#test1 {
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
"メイリオ", "Meiryo",
"Helvetica", "Arial",
sans-serif;
}
#test2 {
font-family: "Helvetica", "Arial",
"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
"メイリオ", "Meiryo",
sans-serif;
}
#test3 {
font-family: "Helvetica", sans-serif;
}
#test4 {
font-family: "Dummyfont", "Times New Roman", serif;
}
#test5 {
font-family: "Menlo", "Consolas", monospace;
}
#test6 {
font-family: "MS P明朝", "MS PMincho", serif;
}
そして、そのスクリーンショットがこれです。
webkit を使っている Google Chrome と比較してみました。Safari でも同じ表示なります。

ここから分かるのは、font-family の1つ目に、インストールされていない未知のフォントが指定されていると、以降の指定はすべて無視されて、エンジン設定で指定したデフォルトのフォントが使われるということです。
sans-serif, serif, monospace のような総称ファミリーの指定も無視されます。
Helvetica → Arial や Times → Times New Roman のように、代替フォントがあるものは大丈夫なようです。
それと webfont ですが、一番最初にあっても無視されます。
Google Web Fonts を見てみると分かりやすいです。
Lunascape webkit モードという限定された環境ですので、制作時に気にする必要はないのですが、この環境で使っている人は webkit を使っているにも関わらず損な体験をしてしまうことになります。
たいていの場合、閲覧には支障ありませんが「せっかく webkit なのに……」と思ってしまいます。
Lunascape 6.5.4 WebKit 535.1 r91436 で、ある程度修正されていました。
この時点では最初にマッチしたフォントはちゃんと使われますが、それ以外(英語フォント時の日本語など)や何もマッチしなかった場合にはデフォルトのフォントが使われるようです。
また、総称フォントファミリーが無視されるのは変わっていません。
