Bug 182402 [JFace] FontRegistry.defaultFontRecord() leaks a Font
FontRegistry.defaultFontRecord(), creates a Font, uses that Font's FontData to create a FontRecord (which creates a new Font with the FontData), but never disposes the original Font once the FontRecord has been created.
bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FontRegistry.java
if (good.isEmpty() && fonts.length > 0) {
        	good.add(fonts[0]);
        }
        else if (fonts.length == 0) {
        	return null;
        }
        
        return (FontData[]) good.toArray(new FontData[good.size()]);    	
    }
    
    /**
     * Creates a new font with the given font datas or <code>null</code>
     * if there is no data.
     * @return FontRecord for the new Font or <code>null</code>.
     */
    private FontRecord createFont(String symbolicName, FontData[] fonts) {
        Display display = Display.getCurrent();
        if (display == null) {
			return null;
		}
        FontData[] validData = filterData(fonts, display);
        if (validData.length == 0) {
             
            return null;
        } 
        
        put(symbolicName, validData, false);