Как я могу получить шрифт браузера по умолчанию в зависимости от текущей ОС от 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()
не отражает это, вы можете только обойти это ограничение. Возможный подход должен был бы позволить браузеру выполнить 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) фактический шрифт, используемый браузером двигателя.