Apple の脅威の通知と金銭目当てのスパイウェアへの対策について

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

スタイルシートで指定したフォントがSafari12.0で表示されない

Mojaveにアップデート後、ローカルに置いているhtmlファイルの中でスタイルシートで指定したフォントの一部がSafari12.0では表示されず、他のフォントで置き換えられるようになりました。表示されないのは、HarabaraHandとDesdemonaです。他社のブラウザ(GoogleChromeとFirefox)では問題なく表示されますし、アップデート以前はSafariでも表示されていました。同じ現象がiMac (Retina 4K, 21.5-inch, 2017)とMacBook (Retina, 12-inch, 2017)の両方(共にMojaveアップデート済)で起きています。

解決法をご存知の方はお教え願えれば幸いです。

iMac, macOS Mojave (10.14)

投稿日 2018/09/29 10:58

返信
返信: 8

2018/09/30 17:56 Hiro__S への返信

お返事ありがとうございます。Desdemonaは元々入っていたかMicrosoft製品に付属していたもの、HarabaraHandはfont2u.comから取得したもので、共にttf形式です。例えば、


<!DOCTYPE html>

<html lang="ja">

<head>

<meta charset=utf8">

<title>test</title>

<link rel="contents" href="test.html">

<link rel="stylesheet" type="text/css" href="test.css" >

</head>

<body>

<div class="a">1st line</div>

<div class="b">2nd line</div>

<div class="c">3rd line</div>

<div class="d">4th line</div>

<div class="e">5th line</div>

</body>

</html>


のようにtest.htmlを書き、test.cssを


.a{

font-size: 30px;

color: #aa0000;

}

.b{

font-size: 30px;

color: #00aa00;

font-family: "Arial";

}

.c{

font-size: 30px;

color: #0000aa;

font-family: "Desdemona";

}

.d{

font-size: 30px;

color: #aaaa00;

font-family: "HarabaraHand";

}

.e{

font-size: 30px;

color: #aaaaaa;

font-family: "AndaleMono";

}


とすると、Chromeでは

ユーザがアップロードしたファイルユーザがアップロードしたファイル

のように表示されますが、Safariでは

ユーザがアップロードしたファイル

となり、3行目、4行目のfont-familyの指定が無視されているようです。またSafariの2行目にはサンセリフフォントが使われていますが、Arialとは異なっているように見えます。したがって、Desdemona、HarabaraHandだけでなく、Arialの指定も効かないようです。


なお1行目の違いはデフォルトのフォントの違いと思われます。またfont-size、colorの指定はいずれの行も有効です。

おわかりの方がおられたらご教授ください。


ユーザがアップロードしたファイル

2018/09/30 21:09 sloth_No9 への返信

詳細な情報をありがとうございます。HarabaraHand をダウンロードして試してみたところ、確かに macOS 10.13.6 / Safari 12.0 (13606.2.11) では問題ありませんでした。なお、Desdemona は持ってないので試してません。


HARABARAHAND

ttps://ja.fonts2u.com/search.html?q=HarabaraHand


もしかしたら、下のスレッドと同じ問題かもしれませんね。


Mojave環境のSafariでMicrosoft社のフォントが表示されない

https://discussionsjapan.apple.com/thread/110209091


なんとなく Mojave か Safari のバグのような印象を持ちましたが...、ほかの方の回答を待ちましょう。お力になれず済みません。


ーーーーー


一応、Apple へのフィードバック先を貼っておきますね。


フィードバック - Apple(日本)

https://www.apple.com/jp/feedback/

2018/10/12 10:07 sloth_No9 への返信

貴重な情報をありがとうございます。


ということは、バグではなく仕様ということになるのかもしれませんね。下の記事が参考になるかもしれません。


Canvas Fingerprintingはクッキーより怖いのか技術的に調べてみた

https://techracho.bpsinc.jp/morimorihoge/2014_07_29/18555


で、強制的にシステム内の安全なフォントで表示することで、問題を回避するということなのでしょうかね。

2018/10/16 13:03 Hiro__S への返信

どうもです。

WebKitの中の方が以下のようにtweetしているので、仕様ということで間違いないようです。

Myles C. Maxfield on Twitter: "Safari now disables user-installed fonts in an effort to reduce fingerprinting across the…


また同じ方がスレッド内で書いているように、@font-faceを使うと非標準フォントも表示させることができるようです(自分でも確認しました)。この場合、フォントファイルはローカルにあっても表示自体には問題ありません。なお、元々のHarabaraHandの入手先であるfont2u.comには、@font-faceで表示させるためのパッケージが置いてありました。

2018/10/16 14:30 sloth_No9 への返信

ありがとうございます。


@font-faceを使うと非標準フォントも表示させることができるようです(自分でも確認しました)。この場合、フォントファイルはローカルにあっても表示自体には問題ありません。


実は私、@font-face により表示フォントを変更するカスタムスタイルシートを使ってまして、それもダメなると Safari を捨てるしかないのかと危惧してました。これでなんとかなりそうです。


ところで、本件についてはセキュリティを優先したのでしょうが、CSS の仕様に従ってフォントを指定しても無視されるということだと、レイアウトが崩れたり、場合によっては何も表示されなかったり...という問題が想定され、物議を醸しそうです。CSS の仕様そのものも時代に即して変更した方が良いのかもしれませんね。

2018/09/29 13:22 sloth_No9 への返信

当方は Mojave 未導入なのでお答えはできませんが...、フォントの入手先、バージョン、形式 (TTF/OTF/etc)、等々といった詳細な情報やスタイルシートでの指定方法を具体的に示し、ほかの人に確認してもらうなり、解決策を探してもらったりしてはどうでしょうか。

2018/10/11 20:18 sloth_No9 への返信

技術的な理解が足りていないので間違っているかもしれませんが、どうもbrowser fingerprintingを防ぐために、非標準フォントを使えなくしているということのようです。


Safari Battles Browser Fingerprinting and Tracking on macOS Mojave

スタイルシートで指定したフォントがSafari12.0で表示されない

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple ID を使ってご参加ください。