1
如何根據當前操作系統從org.eclipse.swt.browser.Browser
獲取默認瀏覽器字體?SWT從瀏覽器獲取默認字體
例如在Windows上,瀏覽器使用「Times New Roman」。
如何根據當前操作系統從org.eclipse.swt.browser.Browser
獲取默認瀏覽器字體?SWT從瀏覽器獲取默認字體
例如在Windows上,瀏覽器使用「Times New Roman」。
使用的默認字體取決於瀏覽器窗口小部件當前使用的渲染引擎(IE,Mozilla,Webkit)。
由於Browser#getFont()
未反映此情況,因此您只能解決此限制。一種可能的方法是讓瀏覽器執行返回body標籤的字體,像這樣的Javascript代碼:
Browser browser = new Browser(shell, SWT.NONE);
browser.setText("<html><head></head><body></body></html>");
browser.addProgressListener(new ProgressAdapter() {
public void completed(ProgressEvent event) {
Object font = browser.evaluate("return document.defaultView.getComputedStyle(document.body, null).getPropertyValue('font-family');");
}
});
這將返回至少在我(的Windows)系統通過瀏覽器引擎使用的實際字體。