4

フォルダーから静的HTMLファイルを表示するアプリケーションを作成しています。何らかの理由で、PyQt4のQWebViewクラスは、リモートWebサイトであっても、フォントのレンダリングを許可していません。

QWebView

悪いフォント、悪い

Chrome

良いフォント

私は次のようにファイルをロードしています:

self.web_view = QWebView()
self.settings = self.web_view.settings()
self.settings.setAttribute(QWebSettings.LocalContentCanAccessRemoteUrls, True)

self.web_view.load(QUrl('http://blender3d.github.com/Bevel/demo/'))

これを機能させるために変更する必要のあるセキュリティ設定は他にありますか?

4

3 に答える 3

7

QWebView何時間も苦しめられた後、 Font Squirrelが外部フォントを驚くほどレンダリングしていることにようやく気付きました。私は何度も文字を強調し、そこに畏敬の念を抱き、微笑みました。

とにかく、これを次のように動作させるようですQWebView

@font-face {
  font-family: 'Terminal Dosis';
  font-style: normal;
  font-weight: 400;
  src: local('Dosis Regular'), local('Dosis-Regular'), url('../fonts/terminal-dosis-regular.woff') format('woff');
}

次のようにする必要がありました。

@font-face {
  font-family: 'Terminal Dosis Regular';
  src: url('../fonts/terminal-dosis-regular.ttf') format('truetype');
}

QWebViewWOFF フォントが好きではないことに注意してください。Font Squirrelを介して TrueType に変換する必要がありました。

要するに:

  • フォントが TrueType フォントであることを確認してください。
  • 何もありませlocal()ん。
  • のように見えfont-stylefont-weight無視されます。各フォントのスタイルごとに異なるフォント ファミリを作成する必要があります (Terminal Dosis Boldたとえば、 )。
于 2012-08-08T04:50:23.677 に答える
0

URL の例のスタイルシートでは、css@font-faceルールを使用してオンライン フォントを指定しています。

残念ながら、これは現在 QWebKit で壊れているようです:バグ 36351

于 2012-08-08T02:28:51.303 に答える