diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index b48df6191e81..72a874912d04 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -74,7 +74,6 @@ import org.picocontainer.MutablePicoContainer; import javax.swing.*; import java.awt.*; import java.io.IOException; -import java.io.InputStream; import java.lang.reflect.Method; import java.util.List; import java.util.concurrent.*; @@ -266,34 +265,6 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application } }); } - - registerFont("/fonts/Inconsolata.ttf"); - registerFont("/fonts/SourceCodePro-Regular.ttf"); - registerFont("/fonts/SourceCodePro-Bold.ttf"); - } - - private void registerFont(@NonNls String name) { - if (isHeadlessEnvironment()) return; - - InputStream is = null; - try { - is = getClass().getResourceAsStream(name); - final Font font = Font.createFont(Font.TRUETYPE_FONT, is); - GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(font); - } - catch (Exception e) { - LOG.info(e); - } - finally { - if (is != null) { - try { - is.close(); - } - catch (IOException e) { - LOG.error(e); - } - } - } } private void registerShutdownHook() { diff --git a/platform/platform-impl/src/com/intellij/ui/AppUIUtil.java b/platform/platform-impl/src/com/intellij/ui/AppUIUtil.java index 0963b177d78a..ae5bedad7148 100644 --- a/platform/platform-impl/src/com/intellij/ui/AppUIUtil.java +++ b/platform/platform-impl/src/com/intellij/ui/AppUIUtil.java @@ -20,16 +20,19 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ApplicationNamesInfo; import com.intellij.openapi.application.ex.ApplicationInfoEx; import com.intellij.openapi.application.impl.ApplicationInfoImpl; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.PlatformUtils; import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import javax.swing.*; import java.awt.*; +import java.io.InputStream; import java.lang.reflect.Field; import java.util.List; @@ -37,6 +40,7 @@ import java.util.List; * @author yole */ public class AppUIUtil { + private static final Logger LOG = Logger.getInstance("#com.intellij.ui.AppUIUtil"); private static final String VENDOR_PREFIX = "jetbrains-"; public static void updateWindowIcon(@NotNull Window window) { @@ -109,4 +113,26 @@ public class AppUIUtil { } return PlatformUtils.isCommunity() ? wmClass + "-ce" : wmClass; } + + public static void registerBundledFonts() { + registerFont("/fonts/Inconsolata.ttf"); + registerFont("/fonts/SourceCodePro-Regular.ttf"); + registerFont("/fonts/SourceCodePro-Bold.ttf"); + } + + private static void registerFont(@NonNls String name) { + try { + InputStream is = AppUIUtil.class.getResourceAsStream(name); + try { + Font font = Font.createFont(Font.TRUETYPE_FONT, is); + GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(font); + } + finally { + is.close(); + } + } + catch (Exception e) { + LOG.error(e); + } + } } diff --git a/platform/platform-main/src/com/intellij/idea/MainImpl.java b/platform/platform-main/src/com/intellij/idea/MainImpl.java index 06378872a71f..9694f327ff72 100644 --- a/platform/platform-main/src/com/intellij/idea/MainImpl.java +++ b/platform/platform-main/src/com/intellij/idea/MainImpl.java @@ -44,6 +44,7 @@ public class MainImpl { if (!StartupUtil.isHeadless) { AppUIUtil.updateFrameClass(); AppUIUtil.updateWindowIcon(JOptionPane.getRootFrame()); + AppUIUtil.registerBundledFonts(); UIUtil.initDefaultLAF();