2015-03-31 73 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)系统通过浏览器引擎使用的实际字体。