[OpenJDK 2D-Dev] hg: jdk7/2d/jdk: 6795908: Refactor FontManager
Phil Race
Phil.Race at Sun.COM
Mon Oct 26 09:14:57 PDT 2009
Or we could stop building fontchecker and discard it.
It was introduced in the 1.4.2 when we had native code that
sometimes crashed the JRE on seeing a bad font file.
The windows jre installer used it in 1.4.2 and 1.5.
The installer stopped using it in 1.6 (6239557) but we continued
to build it.
Looks like in JDK7 build 20 Kelly moved some things around in prep.
for openjdk and we probably lost track it still existed, much less
is being built.
There's also a version in the closed/src/test directory that
was intended as a standalone manual test tool, but can't have been
buildable since 1.4.x days!
-phil.
Andrew John Hughes wrote:
> 2009/8/7 <roman at kennke.org>:
>> Changeset: 64b0c953635d
>> Author: rkennke
>> Date: 2009-08-07 18:31 +0200
>> URL: http://hg.openjdk.java.net/jdk7/2d/jdk/rev/64b0c953635d
>>
>> 6795908: Refactor FontManager
>> Reviewed-by: prr, igor
>>
>> ! make/sun/awt/FILES_export_windows.gmk
>> ! make/sun/awt/make.depend
>> ! make/sun/awt/mapfile-mawt-vers
>> ! make/sun/awt/mapfile-vers-linux
>> ! make/sun/font/mapfile-vers
>> ! make/sun/font/mapfile-vers.openjdk
>> ! make/sun/headless/mapfile-vers
>> ! make/sun/xawt/mapfile-vers
>> ! src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java
>> ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java
>> ! src/share/classes/java/awt/Component.java
>> ! src/share/classes/java/awt/Font.java
>> ! src/share/classes/java/awt/GraphicsEnvironment.java
>> ! src/share/classes/javax/swing/plaf/nimbus/Defaults.template
>> ! src/share/classes/javax/swing/text/StyleContext.java
>> ! src/share/classes/sun/awt/FontConfiguration.java
>> ! src/share/classes/sun/font/CMap.java
>> ! src/share/classes/sun/font/CompositeFont.java
>> ! src/share/classes/sun/font/CompositeGlyphMapper.java
>> ! src/share/classes/sun/font/FileFont.java
>> ! src/share/classes/sun/font/FileFontStrike.java
>> ! src/share/classes/sun/font/FontDesignMetrics.java
>> ! src/share/classes/sun/font/FontFamily.java
>> ! src/share/classes/sun/font/FontManager.java
>> ! src/share/classes/sun/font/FontManagerNativeLibrary.java
>> ! src/share/classes/sun/font/FontResolver.java
>> ! src/share/classes/sun/font/FontScaler.java
>> ! src/share/classes/sun/font/FreetypeFontScaler.java
>> ! src/share/classes/sun/font/GlyphLayout.java
>> ! src/share/classes/sun/font/PhysicalStrike.java
>> ! src/share/classes/sun/font/StandardGlyphVector.java
>> ! src/share/classes/sun/font/StrikeCache.java
>> ! src/share/classes/sun/font/TrueTypeFont.java
>> ! src/share/classes/sun/font/TrueTypeGlyphMapper.java
>> ! src/share/classes/sun/font/Type1Font.java
>> ! src/share/classes/sun/font/Type1GlyphMapper.java
>> ! src/share/classes/sun/java2d/SunGraphics2D.java
>> ! src/share/classes/sun/java2d/SunGraphicsEnvironment.java
>> ! src/share/classes/sun/print/PSPrinterJob.java
>> ! src/share/classes/sun/print/PathGraphics.java
>> ! src/share/classes/sun/swing/SwingUtilities2.java
>> ! src/share/native/sun/font/sunFont.c
>> ! src/share/native/sun/font/sunfontids.h
>> ! src/solaris/classes/sun/awt/X11/XToolkit.java
>> ! src/solaris/classes/sun/awt/X11GraphicsEnvironment.java
>> ! src/solaris/classes/sun/awt/motif/MFontConfiguration.java
>> ! src/solaris/classes/sun/awt/motif/MToolkit.java
>> ! src/solaris/classes/sun/font/FcFontConfiguration.java
>> ! src/solaris/classes/sun/font/NativeFont.java
>> ! src/solaris/classes/sun/font/NativeStrike.java
>> ! src/solaris/native/sun/awt/fontpath.c
>> ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java
>> ! src/windows/classes/sun/awt/windows/WFontConfiguration.java
>> ! src/windows/classes/sun/awt/windows/WPathGraphics.java
>> ! src/windows/classes/sun/awt/windows/WPrinterJob.java
>> ! src/windows/classes/sun/awt/windows/WToolkit.java
>> ! src/windows/native/sun/font/fontpath.c
>> ! src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp
>>
>>
>
> This change breaks bootstrapping:
>
> /mnt/builder/icedtea7/bootstrap/jdk1.6.0/bin/javac
> -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions
> -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx896m
> -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii
> -source 6 -target 6 -XDignore.symbol.file=true -d
> /mnt/builder/icedtea7/openjdk-boot/build/linux-amd64/btclasses \
> -sourcepath ../../tools/src -classpath
> /mnt/builder/icedtea7/bootstrap/jdk1.7.0/jre/lib/rt-closed.jar \
> ../../tools/src/build/tools/fontchecker/FontChecker.java
> Annotation processing got disabled, since it requires a 1.6 compliant JVM
> ----------
> 1. ERROR in ../../tools/src/build/tools/fontchecker/FontChecker.java
> (at line 339)
> String fontPath = FontManager.getFontPath(true);
> ^^^^^^^^^^^
> The method getFontPath(boolean) is undefined for the type FontManager
>
> With the change to FontManager, getFontPath(boolean) is now in
> SunFontManager on JDK7 making it impossible to bootstrap with OpenJDK7
> itself (SunFontManager.getFontPath(boolean)) and OpenJDK6
> (FontManager.getFontPath(boolean)).
>
> Can we please either move getFontPath back into FontManager or change
> the fontchecker tool?
>
> Thanks,
More information about the jdk7-changes
mailing list