7

Web ページを表示するために JPanel に埋め込まれた Java FX2.2 WebView を使用しています。これは、私が気に入らないデフォルトのフォントを除いて、うまく機能します。非常に太字/丸みを帯びた/アンチエイリアス/ぼやけたように見えます。

ここに画像の説明を入力

左側は私の Chrome ブラウザからのテキストで、FX ブラウザの右側にあります。

「System Regular」フォントをデフォルトのフォントとして使用しているようです。このフォントは Font.getDefault() によって返されます。リフレクションで変更しようとしましたが、ブラウザはまだ同じフォントを使用しています。WebView.setFontScale()また、私はとを調べましWebView.setFontSmoothingType()た.最初のものはサイズを変更するだけで、後者はデフォルトよりもさらに悪い2番目のフォントスムージングタイプしかありません.

FX WebView のように WebKit をベースにした Safari を調べたところ、このブラウザにはデフォルトのフォントを変更するオプションがあります (ほとんどのブラウザにはこのオプションがあると思います)。

Java FX WebView のこのデフォルトのフォントを変更する方法を知っている人はいますか?

編集: ここで機能リクエストを行いました: https://bugs.openjdk.java.net/browse/JDK-8090968

4

3 に答える 3

3

一部のプラットフォームのデフォルトのフォントレンダリングメカニズムが更新されている (と私は信じています) jdk8を使用してみてください。ターゲット プラットフォームで目に改善が見られるかどうかを評価する必要があります。

また、JavaFX のレンダリング フォントをより明確にするための既存の機能要求があることにも注意してください(RT-10778)

WebView は HTML を読み込むため、HTML のフォントを変更する標準的な方法が適用されます (非推奨の HTML フォント タグまたは CSS)。

WebView で使用されるデフォルトのフォントの設定に関して - 私はそれを行うメカニズムを知りません。JavaFX ランタイム プロジェクトに対して機能要求を作成できます。機能リクエストをログに記録する場合は、この機能が Chrome で利用可能であることを示すChrome ドキュメントを参照することをお勧めします。

于 2013-07-31T17:27:01.973 に答える