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
*/
        private FontData[] getModifiedFontData(int style) {
            FontData[] styleData = new FontData[baseData.length];
            for (int i = 0; i < styleData.length; i++) {
                FontData base = baseData[i];
                styleData[i] = new FontData(base.getName(), base.getHeight(),
                        base.getStyle() | style);
            }
            return styleData;
        }
        /**
         * Return the italic Font. Create an italic version of the
         * base font to get it.
         * @return Font
         */
        public Font getItalicFont() {
            if (italicFont != null) {
				return italicFont;
			}
            FontData[] italicData = getModifiedFontData(SWT.ITALIC);
            italicFont = new Font(Display.getCurrent(), italicData);
            return italicFont;
        }
        /**
         * Add any fonts that were allocated for this record to the
         * stale fonts. Anything that matches the default font will
         * be skipped.
         * @param defaultFont The system default.
         */
        void addAllocatedFontsToStale(Font defaultFont) {