2015-03-31 75 views

回答

1

使用的默認字體取決於瀏覽器窗口小部件當前使用的渲染引擎(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)系統通過瀏覽器引擎使用的實際字體。