2017-01-31 7 views
8

一部のサイトでは、正しいテキストではなくぎこちない文字が表示されます。それはMacでのみ発生します。 GMapsFXと例えばMacでのJavaFX WebViewフォントの問題

enter image description here

Online siteenter image description here

はOS X 10.11または10.12に関連するかもしれません。 Java 1.8.0_121でテストしました。

この問題の修正または回避策はありますか?

+0

あなたは解決策を見つけたのですか? – JohnnyAW

+0

私は恐れていません... – Erel

+2

数時間後に私は回避策を見つけました、それは私のアプリケーションのために大丈夫でした。私はリスナーを 'WebEngine'の' documentProperty'に設定しました。そして、ドキュメントが利用可能になるとすぐに、前にブラウザで識別したすべての要素を繰り返し実行し、css-fileからフォントをオーバーライドするインラインスタイルを設定する 'webEngine.executeScript()'によってjavascriptコードを実行します: 'nodes [i] .style.fontFamily = 'Serif';'。かなり厄介な、私は知っているが、それは私が見つけることができた最高の解決策だった...うーん、あなたはおそらく動的なHTMLを持っているので、それはあなたのために動作しないと思う、 – JohnnyAW

答えて

3

私の場合、エラーはシステムフォントに関連していませんでした。 Webエンジン用のユーザーエージェントを設定して問題を解決しました。ここで私は(Windowsのx64の上のFirefox)に使用される文字列は次のとおりです。

Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0

+0

Macの場合は、そのような良いアイデア。他の意図しない副作用を引き起こす可能性があります。私はこれを次のように修正しました: 'engine.setUserAgent(engine.getUserAgent()。replace(" Macintosh; "、" "));'問題があると思います:フォントを配送するサーバーはuserAgentを使って、送信します。誤解を招くuserAgentのために間違いを犯すと、誤ったものが返されます。さらに、私はMacが配信されたフォーマットを扱うことができないと思っています。 –