Bug 25458 [Font] DBCS support: new SWT API
Last Friday we have included a new API in Font: public Font(Device device, FontData[] fds) { In order to have a more appropriate behavior on DBCS platforms Eclipse/UI should start using this API. Anyway, the best police still is never change the default font in the widget if you don't need to. (this new API is going to make difference in Eclipse/Motif only)
bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FontRegistry.java
private boolean isFixedFont(FontData[] fixedFonts, FontData fd) {
	
	
	int height = fd.getHeight();
	String name = fd.getName();
	for (int i = 0; i < fixedFonts.length; i++) {
		FontData fixed = fixedFonts[i];
		if (fixed.getHeight() == height && fixed.getName().equals(name))
			return true;
	}
	return false;
}
/**
 * Converts a String into a FontData object.
 */
private FontData makeFontData(String value) throws MissingResourceException {
	try {
		return StringConverter.asFontData(value.trim());
	} catch (DataFormatException e) {
		throw new MissingResourceException("Wrong font data format. Value is: \"" + value + "\"", getClass().getName(), value);
	}
}
/**
 * Adds (or replaces) a font to this font registry under the given
 * symbolic name.
 * <p>
 * A property change event is reported whenever the mapping from
 * a symbolic name to a font changes. The source of the event is
 * this registry; the property name is the symbolic font name.
 * </p>