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
*
 * @param symbolicName the symbolic font name
 * @param fontData an Array of FontData
 * @param update - fire a font mapping changed if true. False
 * 	if this method is called from the get method as no setting
 *  has changed.
 */
public void put(String symbolicName, FontData[] fontData) {
	put(symbolicName,fontData,true);
}
/**
 * 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>
 *
 * @param symbolicName the symbolic font name
 * @param fontData an Array of FontData
 * @param update - fire a font mapping changed if true. False
 * 	if this method is called from the get method as no setting
 *  has changed.
 */
private void put(String symbolicName, FontData[] fontData, boolean update) {
	Assert.isNotNull(symbolicName);
	Assert.isNotNull(fontData);
		
	FontData[] existing = (FontData []) stringToFontData.get(symbolicName);