Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
e43dcf4d
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e43dcf4d
编写于
8月 07, 2009
作者:
R
rkennke
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6795908: Refactor FontManager
Reviewed-by: prr, igor
上级
09e86cab
变更
58
展开全部
显示空白变更内容
内联
并排
Showing
58 changed file
with
1434 addition
and
6658 deletion
+1434
-6658
make/sun/awt/FILES_export_windows.gmk
make/sun/awt/FILES_export_windows.gmk
+250
-249
make/sun/awt/make.depend
make/sun/awt/make.depend
+351
-351
make/sun/awt/mapfile-mawt-vers
make/sun/awt/mapfile-mawt-vers
+5
-5
make/sun/awt/mapfile-vers-linux
make/sun/awt/mapfile-vers-linux
+5
-5
make/sun/font/mapfile-vers
make/sun/font/mapfile-vers
+1
-6
make/sun/font/mapfile-vers.openjdk
make/sun/font/mapfile-vers.openjdk
+1
-6
make/sun/headless/mapfile-vers
make/sun/headless/mapfile-vers
+4
-6
make/sun/xawt/mapfile-vers
make/sun/xawt/mapfile-vers
+5
-6
src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java
...share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java
+6
-4
src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java
...s/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java
+4
-3
src/share/classes/java/awt/Component.java
src/share/classes/java/awt/Component.java
+9
-2
src/share/classes/java/awt/Font.java
src/share/classes/java/awt/Font.java
+35
-16
src/share/classes/java/awt/GraphicsEnvironment.java
src/share/classes/java/awt/GraphicsEnvironment.java
+9
-9
src/share/classes/javax/swing/plaf/nimbus/Defaults.template
src/share/classes/javax/swing/plaf/nimbus/Defaults.template
+2
-2
src/share/classes/javax/swing/text/StyleContext.java
src/share/classes/javax/swing/text/StyleContext.java
+3
-3
src/share/classes/sun/awt/FontConfiguration.java
src/share/classes/sun/awt/FontConfiguration.java
+23
-21
src/share/classes/sun/font/CMap.java
src/share/classes/sun/font/CMap.java
+3
-3
src/share/classes/sun/font/CompositeFont.java
src/share/classes/sun/font/CompositeFont.java
+17
-16
src/share/classes/sun/font/CompositeGlyphMapper.java
src/share/classes/sun/font/CompositeGlyphMapper.java
+2
-2
src/share/classes/sun/font/FileFont.java
src/share/classes/sun/font/FileFont.java
+12
-10
src/share/classes/sun/font/FileFontStrike.java
src/share/classes/sun/font/FileFontStrike.java
+11
-11
src/share/classes/sun/font/FontDesignMetrics.java
src/share/classes/sun/font/FontDesignMetrics.java
+6
-5
src/share/classes/sun/font/FontFamily.java
src/share/classes/sun/font/FontFamily.java
+3
-2
src/share/classes/sun/font/FontManager.java
src/share/classes/sun/font/FontManager.java
+76
-3783
src/share/classes/sun/font/FontManagerNativeLibrary.java
src/share/classes/sun/font/FontManagerNativeLibrary.java
+1
-1
src/share/classes/sun/font/FontResolver.java
src/share/classes/sun/font/FontResolver.java
+1
-1
src/share/classes/sun/font/FontScaler.java
src/share/classes/sun/font/FontScaler.java
+76
-0
src/share/classes/sun/font/FreetypeFontScaler.java
src/share/classes/sun/font/FreetypeFontScaler.java
+17
-12
src/share/classes/sun/font/GlyphLayout.java
src/share/classes/sun/font/GlyphLayout.java
+2
-2
src/share/classes/sun/font/PhysicalStrike.java
src/share/classes/sun/font/PhysicalStrike.java
+8
-0
src/share/classes/sun/font/StandardGlyphVector.java
src/share/classes/sun/font/StandardGlyphVector.java
+2
-2
src/share/classes/sun/font/StrikeCache.java
src/share/classes/sun/font/StrikeCache.java
+5
-1
src/share/classes/sun/font/TrueTypeFont.java
src/share/classes/sun/font/TrueTypeFont.java
+270
-27
src/share/classes/sun/font/TrueTypeGlyphMapper.java
src/share/classes/sun/font/TrueTypeGlyphMapper.java
+9
-9
src/share/classes/sun/font/Type1Font.java
src/share/classes/sun/font/Type1Font.java
+4
-5
src/share/classes/sun/font/Type1GlyphMapper.java
src/share/classes/sun/font/Type1GlyphMapper.java
+7
-7
src/share/classes/sun/java2d/SunGraphics2D.java
src/share/classes/sun/java2d/SunGraphics2D.java
+4
-2
src/share/classes/sun/java2d/SunGraphicsEnvironment.java
src/share/classes/sun/java2d/SunGraphicsEnvironment.java
+27
-1035
src/share/classes/sun/print/PSPrinterJob.java
src/share/classes/sun/print/PSPrinterJob.java
+3
-1
src/share/classes/sun/print/PathGraphics.java
src/share/classes/sun/print/PathGraphics.java
+4
-2
src/share/classes/sun/swing/SwingUtilities2.java
src/share/classes/sun/swing/SwingUtilities2.java
+2
-2
src/share/native/sun/font/sunFont.c
src/share/native/sun/font/sunFont.c
+2
-63
src/share/native/sun/font/sunfontids.h
src/share/native/sun/font/sunfontids.h
+0
-5
src/solaris/classes/sun/awt/X11/XToolkit.java
src/solaris/classes/sun/awt/X11/XToolkit.java
+4
-1
src/solaris/classes/sun/awt/X11GraphicsEnvironment.java
src/solaris/classes/sun/awt/X11GraphicsEnvironment.java
+0
-722
src/solaris/classes/sun/awt/motif/MFontConfiguration.java
src/solaris/classes/sun/awt/motif/MFontConfiguration.java
+15
-10
src/solaris/classes/sun/awt/motif/MToolkit.java
src/solaris/classes/sun/awt/motif/MToolkit.java
+2
-1
src/solaris/classes/sun/font/FcFontConfiguration.java
src/solaris/classes/sun/font/FcFontConfiguration.java
+32
-21
src/solaris/classes/sun/font/NativeFont.java
src/solaris/classes/sun/font/NativeFont.java
+6
-3
src/solaris/classes/sun/font/NativeStrike.java
src/solaris/classes/sun/font/NativeStrike.java
+6
-5
src/solaris/native/sun/awt/fontpath.c
src/solaris/native/sun/awt/fontpath.c
+29
-33
src/windows/classes/sun/awt/Win32GraphicsEnvironment.java
src/windows/classes/sun/awt/Win32GraphicsEnvironment.java
+9
-124
src/windows/classes/sun/awt/windows/WFontConfiguration.java
src/windows/classes/sun/awt/windows/WFontConfiguration.java
+6
-4
src/windows/classes/sun/awt/windows/WPathGraphics.java
src/windows/classes/sun/awt/windows/WPathGraphics.java
+14
-7
src/windows/classes/sun/awt/windows/WPrinterJob.java
src/windows/classes/sun/awt/windows/WPrinterJob.java
+3
-1
src/windows/classes/sun/awt/windows/WToolkit.java
src/windows/classes/sun/awt/windows/WToolkit.java
+8
-2
src/windows/native/sun/font/fontpath.c
src/windows/native/sun/font/fontpath.c
+3
-12
src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp
src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp
+10
-9
未找到文件。
make/sun/awt/FILES_export_windows.gmk
浏览文件 @
e43dcf4d
...
...
@@ -114,6 +114,7 @@ FILES_export2 = \
sun/awt/KeyboardFocusManagerPeerImpl.java \
sun/awt/windows/WEmbeddedFrame.java \
sun/awt/windows/WEmbeddedFramePeer.java \
sun/awt/Win32FontManager.java \
sun/awt/Win32GraphicsEnvironment.java \
sun/awt/Win32GraphicsDevice.java \
sun/awt/Win32GraphicsConfig.java \
...
...
make/sun/awt/make.depend
浏览文件 @
e43dcf4d
...
...
@@ -140,7 +140,7 @@ $(OBJDIR)/awt_Win32GraphicsConfig.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLA
$(OBJDIR)/awt_Win32GraphicsDevice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_DataBuffer.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsDevice.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/awt/image/dither.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/img_util_md.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
$(OBJDIR)/awt_Win32GraphicsEnv.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsEnvironment.h $(CLASSHDRDIR)/sun_awt_
windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/DllUtil.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
$(OBJDIR)/awt_Win32GraphicsEnv.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsEnvironment.h $(CLASSHDRDIR)/sun_awt_
Win32FontManager.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/DllUtil.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
$(OBJDIR)/awt_Window.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Container.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_ComponentEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
...
...
make/sun/awt/mapfile-mawt-vers
浏览文件 @
e43dcf4d
...
...
@@ -477,11 +477,11 @@ SUNWprivate_1.1 {
X11SurfaceData_GetOps;
getDefaultConfig;
Java_sun_font_FontManager_getFontConfig;
Java_sun_font_FontManager_getFontConfigAASettings;
Java_sun_
font_
FontManager_getFontPath;
Java_sun_
font_
FontManager_setNativeFontPath;
Java_sun_font_FontManager_populateFontFileNameMap;
Java_sun_font_Font
Config
Manager_getFontConfig;
Java_sun_font_Font
Config
Manager_getFontConfigAASettings;
Java_sun_
awt_X11
FontManager_getFontPath;
Java_sun_
awt_X11
FontManager_setNativeFontPath;
Java_sun_font_
Sun
FontManager_populateFontFileNameMap;
# CDE private entry point
Java_sun_awt_motif_XsessionWMcommand;
...
...
make/sun/awt/mapfile-vers-linux
浏览文件 @
e43dcf4d
...
...
@@ -533,11 +533,11 @@ SUNWprivate_1.1 {
X11SurfaceData_GetOps;
getDefaultConfig;
Java_sun_font_FontManager_getFontConfig;
Java_sun_font_FontManager_getFontConfigAASettings;
Java_sun_
font_
FontManager_getFontPath;
Java_sun_
font_
FontManager_setNativeFontPath;
Java_sun_font_FontManager_populateFontFileNameMap;
Java_sun_font_Font
Config
Manager_getFontConfig;
Java_sun_font_Font
Config
Manager_getFontConfigAASettings;
Java_sun_
awt_X11
FontManager_getFontPath;
Java_sun_
awt_X11
FontManager_setNativeFontPath;
Java_sun_font_
Sun
FontManager_populateFontFileNameMap;
# CDE private entry point
Java_sun_awt_motif_XsessionWMcommand;
...
...
make/sun/font/mapfile-vers
浏览文件 @
e43dcf4d
...
...
@@ -33,12 +33,7 @@ SUNWprivate_1.1 {
isNullScalerContext;
Java_sun_font_NullFontScaler_getNullScalerContext;
Java_sun_font_NullFontScaler_getGlyphImage;
Java_sun_font_FontManager_getPlatformFontVar;
Java_sun_font_FontManager_initIDs;
Java_sun_font_FontManager_getFont2D;
Java_sun_font_FontManager_setFont2D;
Java_sun_font_FontManager_isCreatedFont;
Java_sun_font_FontManager_setCreatedFont;
Java_sun_font_SunFontManager_initIDs;
Java_sun_font_StrikeCache_getGlyphCacheDescription;
Java_sun_font_StrikeCache_freeIntPointer;
Java_sun_font_StrikeCache_freeLongPointer;
...
...
make/sun/font/mapfile-vers.openjdk
浏览文件 @
e43dcf4d
...
...
@@ -35,12 +35,7 @@ SUNWprivate_1.1 {
isNullScalerContext;
Java_sun_font_NullFontScaler_getNullScalerContext;
Java_sun_font_NullFontScaler_getGlyphImage;
Java_sun_font_FontManager_getPlatformFontVar;
Java_sun_font_FontManager_initIDs;
Java_sun_font_FontManager_getFont2D;
Java_sun_font_FontManager_setFont2D;
Java_sun_font_FontManager_isCreatedFont;
Java_sun_font_FontManager_setCreatedFont;
Java_sun_font_SunFontManager_initIDs;
Java_sun_font_StrikeCache_getGlyphCacheDescription;
Java_sun_font_StrikeCache_freeIntPointer;
Java_sun_font_StrikeCache_freeLongPointer;
...
...
make/sun/headless/mapfile-vers
浏览文件 @
e43dcf4d
...
...
@@ -59,12 +59,10 @@ SUNWprivate_1.1 {
X11SurfaceData_GetOps;
Java_java_awt_Font_initIDs;
Java_sun_font_FontManager_getFontConfig;
Java_sun_font_FontManager_getFontConfigVersion;
Java_sun_font_FontManager_getFontConfigAASettings;
Java_sun_font_FontManager_getFontPath;
Java_sun_font_FontManager_setNativeFontPath;
Java_sun_font_FontManager_populateFontFileNameMap;
Java_sun_font_FontConfigManager_getFontConfig;
Java_sun_font_FontConfigManager_getFontConfigAASettings;
Java_sun_font_FontConfigManager_getFontConfigVersion;
Java_sun_awt_X11FontManager_getFontPath;
Java_sun_awt_FontDescriptor_initIDs;
Java_sun_awt_PlatformFont_initIDs;
...
...
make/sun/xawt/mapfile-vers
浏览文件 @
e43dcf4d
...
...
@@ -182,12 +182,11 @@ SUNWprivate_1.1 {
Java_java_awt_ScrollPane_initIDs;
Java_java_awt_TextField_initIDs;
Java_java_awt_TrayIcon_initIDs;
Java_sun_font_FontManager_getFontConfig;
Java_sun_font_FontManager_getFontConfigVersion;
Java_sun_font_FontManager_getFontConfigAASettings;
Java_sun_font_FontManager_getFontPath;
Java_sun_font_FontManager_setNativeFontPath;
Java_sun_font_FontManager_populateFontFileNameMap;
Java_sun_font_FontConfigManager_getFontConfig;
Java_sun_font_FontConfigManager_getFontConfigAASettings;
Java_sun_font_FontConfigManager_getFontConfigVersion;
Java_sun_awt_X11FontManager_getFontPath;
Java_sun_font_X11FontManager_setNativeFontPath;
Java_sun_awt_X11GraphicsEnvironment_initDisplay;
Java_sun_awt_X11GraphicsEnvironment_initGLX;
Java_sun_awt_X11GraphicsEnvironment_checkShmExt;
...
...
src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java
浏览文件 @
e43dcf4d
...
...
@@ -29,7 +29,9 @@ import java.awt.*;
import
java.awt.geom.AffineTransform
;
import
javax.swing.plaf.FontUIResource
;
import
java.util.StringTokenizer
;
import
sun.font.FontManager
;
import
sun.font.FontConfigManager
;
import
sun.font.FontUtilities
;
/**
* @author Shannon Hickey
...
...
@@ -193,13 +195,13 @@ class PangoFonts {
}
String
fcFamilyLC
=
family
.
toLowerCase
();
if
(
Font
Manager
.
mapFcName
(
fcFamilyLC
)
!=
null
)
{
if
(
Font
Utilities
.
mapFcName
(
fcFamilyLC
)
!=
null
)
{
/* family is a Fc/Pango logical font which we need to expand. */
return
Font
Manager
.
getFontConfigFUIR
(
fcFamilyLC
,
style
,
size
);
return
Font
Utilities
.
getFontConfigFUIR
(
fcFamilyLC
,
style
,
size
);
}
else
{
/* It's a physical font which we will create with a fallback */
Font
font
=
new
FontUIResource
(
family
,
style
,
size
);
return
Font
Manager
.
getCompositeFontUIResource
(
font
);
return
Font
Utilities
.
getCompositeFontUIResource
(
font
);
}
}
...
...
src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java
浏览文件 @
e43dcf4d
...
...
@@ -63,7 +63,7 @@ import java.security.AccessController;
import
sun.awt.SunToolkit
;
import
sun.awt.OSInfo
;
import
sun.awt.shell.ShellFolder
;
import
sun.font.Font
Manager
;
import
sun.font.Font
Utilities
;
import
sun.security.action.GetPropertyAction
;
import
sun.swing.DefaultLayoutStyle
;
...
...
@@ -2347,13 +2347,14 @@ public class WindowsLookAndFeel extends BasicLookAndFeel
font
.
getStyle
(),
size
);
}
}
if
(
FontManager
.
fontSupportsDefaultEncoding
(
font
))
{
if
(
FontUtilities
.
fontSupportsDefaultEncoding
(
font
))
{
if
(!(
font
instanceof
UIResource
))
{
font
=
new
FontUIResource
(
font
);
}
}
else
{
font
=
Font
Manager
.
getCompositeFontUIResource
(
font
);
font
=
Font
Utilities
.
getCompositeFontUIResource
(
font
);
}
return
font
;
...
...
src/share/classes/java/awt/Component.java
浏览文件 @
e43dcf4d
...
...
@@ -74,6 +74,9 @@ import sun.awt.CausedFocusEvent;
import
sun.awt.EmbeddedFrame
;
import
sun.awt.dnd.SunDropTargetEvent
;
import
sun.awt.im.CompositionArea
;
import
sun.font.FontManager
;
import
sun.font.FontManagerFactory
;
import
sun.font.SunFontManager
;
import
sun.java2d.SunGraphics2D
;
import
sun.java2d.pipe.Region
;
import
sun.awt.image.VSyncedBSManager
;
...
...
@@ -2848,8 +2851,12 @@ public abstract class Component implements ImageObserver, MenuContainer,
* @since JDK1.0
*/
public
FontMetrics
getFontMetrics
(
Font
font
)
{
// REMIND: PlatformFont flag should be obsolete soon...
if
(
sun
.
font
.
FontManager
.
usePlatformFontMetrics
())
{
// This is an unsupported hack, but left in for a customer.
// Do not remove.
FontManager
fm
=
FontManagerFactory
.
getInstance
();
if
(
fm
instanceof
SunFontManager
&&
((
SunFontManager
)
fm
).
usePlatformFontMetrics
())
{
if
(
peer
!=
null
&&
!(
peer
instanceof
LightweightPeer
))
{
return
peer
.
getFontMetrics
(
font
);
...
...
src/share/classes/java/awt/Font.java
浏览文件 @
e43dcf4d
...
...
@@ -30,7 +30,6 @@ import java.awt.font.GlyphVector;
import
java.awt.font.LineMetrics
;
import
java.awt.font.TextAttribute
;
import
java.awt.font.TextLayout
;
import
java.awt.font.TransformAttribute
;
import
java.awt.geom.AffineTransform
;
import
java.awt.geom.Point2D
;
import
java.awt.geom.Rectangle2D
;
...
...
@@ -42,21 +41,21 @@ import java.security.PrivilegedExceptionAction;
import
java.text.AttributedCharacterIterator.Attribute
;
import
java.text.CharacterIterator
;
import
java.text.StringCharacterIterator
;
import
java.util.HashMap
;
import
java.util.Hashtable
;
import
java.util.Locale
;
import
java.util.Map
;
import
sun.font.StandardGlyphVector
;
import
sun.java2d.FontSupport
;
import
sun.font.AttributeMap
;
import
sun.font.AttributeValues
;
import
sun.font.EAttribute
;
import
sun.font.CompositeFont
;
import
sun.font.CreatedFontTracker
;
import
sun.font.Font2D
;
import
sun.font.Font2DHandle
;
import
sun.font.FontAccess
;
import
sun.font.FontManager
;
import
sun.font.FontManagerFactory
;
import
sun.font.FontUtilities
;
import
sun.font.GlyphLayout
;
import
sun.font.FontLineMetrics
;
import
sun.font.CoreMetrics
;
...
...
@@ -223,10 +222,29 @@ import static sun.font.EAttribute.*;
*/
public
class
Font
implements
java
.
io
.
Serializable
{
private
static
class
FontAccessImpl
extends
FontAccess
{
public
Font2D
getFont2D
(
Font
font
)
{
return
font
.
getFont2D
();
}
public
void
setFont2D
(
Font
font
,
Font2DHandle
handle
)
{
font
.
font2DHandle
=
handle
;
}
public
void
setCreatedFont
(
Font
font
)
{
font
.
createdFont
=
true
;
}
public
boolean
isCreatedFont
(
Font
font
)
{
return
font
.
createdFont
;
}
}
static
{
/* ensure that the necessary native libraries are loaded */
Toolkit
.
loadLibraries
();
initIDs
();
FontAccess
.
setFontAccess
(
new
FontAccessImpl
());
}
/**
...
...
@@ -464,15 +482,16 @@ public class Font implements java.io.Serializable
}
private
Font2D
getFont2D
()
{
if
(
FontManager
.
usingPerAppContextComposites
&&
FontManager
fm
=
FontManagerFactory
.
getInstance
();
if
(
fm
.
usingPerAppContextComposites
()
&&
font2DHandle
!=
null
&&
font2DHandle
.
font2D
instanceof
CompositeFont
&&
((
CompositeFont
)(
font2DHandle
.
font2D
)).
isStdComposite
())
{
return
FontManager
.
findFont2D
(
name
,
style
,
return
fm
.
findFont2D
(
name
,
style
,
FontManager
.
LOGICAL_FALLBACK
);
}
else
if
(
font2DHandle
==
null
)
{
font2DHandle
=
FontManager
.
findFont2D
(
name
,
style
,
fm
.
findFont2D
(
name
,
style
,
FontManager
.
LOGICAL_FALLBACK
).
handle
;
}
/* Do not cache the de-referenced font2D. It must be explicitly
...
...
@@ -570,8 +589,8 @@ public class Font implements java.io.Serializable
if
(
created
)
{
if
(
handle
.
font2D
instanceof
CompositeFont
&&
handle
.
font2D
.
getStyle
()
!=
style
)
{
this
.
font2DHandle
=
FontManager
.
getNewComposite
(
null
,
style
,
handle
);
FontManager
fm
=
FontManagerFactory
.
getInstance
();
this
.
font2DHandle
=
fm
.
getNewComposite
(
null
,
style
,
handle
);
}
else
{
this
.
font2DHandle
=
handle
;
}
...
...
@@ -586,9 +605,9 @@ public class Font implements java.io.Serializable
/* Font2D instances created by this method track their font file
* so that when the Font2D is GC'd it can also remove the file.
*/
this
.
font2DHandle
=
FontManager
.
createFont2D
(
fontFile
,
fontFormat
,
isCopy
,
tracker
).
handle
;
FontManager
fm
=
FontManagerFactory
.
getInstance
();
this
.
font2DHandle
=
fm
.
createFont2D
(
fontFile
,
fontFormat
,
isCopy
,
tracker
).
handle
;
this
.
name
=
this
.
font2DHandle
.
font2D
.
getFontName
(
Locale
.
getDefault
());
this
.
style
=
Font
.
PLAIN
;
this
.
size
=
1
;
...
...
@@ -640,8 +659,9 @@ public class Font implements java.io.Serializable
}
if
(
handle
.
font2D
instanceof
CompositeFont
)
{
if
(
newStyle
!=
-
1
||
newName
!=
null
)
{
FontManager
fm
=
FontManagerFactory
.
getInstance
();
this
.
font2DHandle
=
FontManager
.
getNewComposite
(
newName
,
newStyle
,
handle
);
fm
.
getNewComposite
(
newName
,
newStyle
,
handle
);
}
}
else
if
(
newName
!=
null
)
{
this
.
createdFont
=
false
;
...
...
@@ -852,7 +872,6 @@ public class Font implements java.io.Serializable
throw
new
IllegalArgumentException
(
"font format not recognized"
);
}
boolean
copiedFontData
=
false
;
try
{
final
File
tFile
=
AccessController
.
doPrivileged
(
new
PrivilegedExceptionAction
<
File
>()
{
...
...
@@ -2320,7 +2339,7 @@ public class Font implements java.io.Serializable
(
values
.
getKerning
()
==
0
&&
values
.
getLigatures
()
==
0
&&
values
.
getBaselineTransform
()
==
null
);
if
(
simple
)
{
simple
=
!
FontManager
.
isComplexText
(
chars
,
beginIndex
,
limit
);
simple
=
!
FontUtilities
.
isComplexText
(
chars
,
beginIndex
,
limit
);
}
if
(
simple
)
{
...
...
src/share/classes/java/awt/GraphicsEnvironment.java
浏览文件 @
e43dcf4d
...
...
@@ -29,6 +29,9 @@ package java.awt;
import
java.awt.image.BufferedImage
;
import
java.security.AccessController
;
import
java.util.Locale
;
import
sun.font.FontManager
;
import
sun.font.FontManagerFactory
;
import
sun.java2d.HeadlessGraphicsEnvironment
;
import
sun.java2d.SunGraphicsEnvironment
;
import
sun.security.action.GetPropertyAction
;
...
...
@@ -353,7 +356,8 @@ public abstract class GraphicsEnvironment {
if
(
font
==
null
)
{
throw
new
NullPointerException
(
"font cannot be null."
);
}
return
sun
.
font
.
FontManager
.
registerFont
(
font
);
FontManager
fm
=
FontManagerFactory
.
getInstance
();
return
fm
.
registerFont
(
font
);
}
/**
...
...
@@ -377,10 +381,8 @@ public abstract class GraphicsEnvironment {
* @since 1.5
*/
public
void
preferLocaleFonts
()
{
if
(!(
this
instanceof
SunGraphicsEnvironment
))
{
return
;
}
sun
.
font
.
FontManager
.
preferLocaleFonts
();
FontManager
fm
=
FontManagerFactory
.
getInstance
();
fm
.
preferLocaleFonts
();
}
/**
...
...
@@ -400,10 +402,8 @@ public abstract class GraphicsEnvironment {
* @since 1.5
*/
public
void
preferProportionalFonts
()
{
if
(!(
this
instanceof
SunGraphicsEnvironment
))
{
return
;
}
sun
.
font
.
FontManager
.
preferProportionalFonts
();
FontManager
fm
=
FontManagerFactory
.
getInstance
();
fm
.
preferProportionalFonts
();
}
/**
...
...
src/share/classes/javax/swing/plaf/nimbus/Defaults.template
浏览文件 @
e43dcf4d
...
...
@@ -26,7 +26,7 @@ package ${PACKAGE};
import
javax
.
swing
.
Painter
;
import
java
.
awt
.
Graphics
;
import
sun
.
font
.
Font
Manager
;
import
sun
.
font
.
Font
Utilities
;
import
sun
.
swing
.
plaf
.
synth
.
DefaultSynthStyle
;
import
javax
.
swing
.
BorderFactory
;
import
javax
.
swing
.
JComponent
;
...
...
@@ -138,7 +138,7 @@ final class ${LAF_NAME}Defaults {
//
regions
and
their
states
that
this
class
will
use
for
later
lookup
.
//
Additional
regions
can
be
registered
later
by
3
rd
party
components
.
//
These
are
simply
the
default
registrations
.
defaultFont
=
Font
Manager
.
getFontConfigFUIR
(
"sans"
,
Font
.
PLAIN
,
12
);
defaultFont
=
Font
Utilities
.
getFontConfigFUIR
(
"sans"
,
Font
.
PLAIN
,
12
);
defaultStyle
=
new
DefaultSynthStyle
();
defaultStyle
.
setFont
(
defaultFont
);
...
...
src/share/classes/javax/swing/text/StyleContext.java
浏览文件 @
e43dcf4d
...
...
@@ -35,7 +35,7 @@ import javax.swing.event.ChangeEvent;
import
java.lang.ref.WeakReference
;
import
java.util.WeakHashMap
;
import
sun.font.Font
Manager
;
import
sun.font.Font
Utilities
;
/**
* A pool of styles and their associated resources. This class determines
...
...
@@ -263,8 +263,8 @@ public class StyleContext implements Serializable, AbstractDocument.AttributeCon
if
(
f
==
null
)
{
f
=
new
Font
(
family
,
style
,
size
);
}
if
(!
Font
Manager
.
fontSupportsDefaultEncoding
(
f
))
{
f
=
Font
Manager
.
getCompositeFontUIResource
(
f
);
if
(!
Font
Utilities
.
fontSupportsDefaultEncoding
(
f
))
{
f
=
Font
Utilities
.
getCompositeFontUIResource
(
f
);
}
FontKey
key
=
new
FontKey
(
family
,
style
,
size
);
fontTable
.
put
(
key
,
f
);
...
...
src/share/classes/sun/awt/FontConfiguration.java
浏览文件 @
e43dcf4d
...
...
@@ -30,7 +30,6 @@ import java.io.DataInputStream;
import
java.io.DataOutputStream
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileOutputStream
;
import
java.io.InputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
...
...
@@ -49,7 +48,9 @@ import java.util.Properties;
import
java.util.Set
;
import
java.util.Vector
;
import
sun.font.CompositeFontDescriptor
;
import
sun.java2d.SunGraphicsEnvironment
;
import
sun.font.SunFontManager
;
import
sun.font.FontManagerFactory
;
import
sun.font.FontUtilities
;
/**
* Provides the definitions of the five logical fonts: Serif, SansSerif,
...
...
@@ -68,7 +69,7 @@ public abstract class FontConfiguration {
private
static
Logger
logger
;
protected
static
boolean
isProperties
=
true
;
protected
Sun
GraphicsEnvironment
environment
;
protected
Sun
FontManager
fontManager
;
protected
boolean
preferLocaleFonts
;
protected
boolean
preferPropFonts
;
...
...
@@ -80,11 +81,11 @@ public abstract class FontConfiguration {
/* A default FontConfiguration must be created before an alternate
* one to ensure proper static initialisation takes place.
*/
public
FontConfiguration
(
Sun
GraphicsEnvironment
environment
)
{
if
(
SunGraphicsEnvironment
.
debugFonts
&&
logger
==
null
)
{
public
FontConfiguration
(
Sun
FontManager
fm
)
{
if
(
FontUtilities
.
debugFonts
()
&&
logger
==
null
)
{
logger
=
Logger
.
getLogger
(
"sun.awt.FontConfiguration"
);
}
this
.
environment
=
environment
;
fontManager
=
fm
;
setOsNameAndVersion
();
/* static initialization */
setEncoding
();
/* static initialization */
/* Separating out the file location from the rest of the
...
...
@@ -106,10 +107,10 @@ public abstract class FontConfiguration {
return
true
;
}
public
FontConfiguration
(
Sun
GraphicsEnvironment
environment
,
public
FontConfiguration
(
Sun
FontManager
fm
,
boolean
preferLocaleFonts
,
boolean
preferPropFonts
)
{
this
.
environment
=
environment
;
fontManager
=
fm
;
this
.
preferLocaleFonts
=
preferLocaleFonts
;
this
.
preferPropFonts
=
preferPropFonts
;
/* fontConfig should be initialised by default constructor, and
...
...
@@ -198,17 +199,17 @@ public abstract class FontConfiguration {
loadBinary
(
in
);
}
in
.
close
();
if
(
SunGraphicsEnvironment
.
debugFonts
)
{
if
(
FontUtilities
.
debugFonts
()
)
{
logger
.
config
(
"Read logical font configuration from "
+
f
);
}
}
catch
(
IOException
e
)
{
if
(
SunGraphicsEnvironment
.
debugFonts
)
{
if
(
FontUtilities
.
debugFonts
()
)
{
logger
.
config
(
"Failed to read logical font configuration from "
+
f
);
}
}
}
String
version
=
getVersion
();
if
(!
"1"
.
equals
(
version
)
&&
SunGraphicsEnvironment
.
debugFonts
)
{
if
(!
"1"
.
equals
(
version
)
&&
FontUtilities
.
debugFonts
()
)
{
logger
.
config
(
"Unsupported fontconfig version: "
+
version
);
}
}
...
...
@@ -219,8 +220,8 @@ public abstract class FontConfiguration {
File
fallbackDir
=
new
File
(
fallbackDirName
);
if
(
fallbackDir
.
exists
()
&&
fallbackDir
.
isDirectory
())
{
String
[]
ttfs
=
fallbackDir
.
list
(
SunGraphicsEnvironment
.
ttFilter
);
String
[]
t1s
=
fallbackDir
.
list
(
SunGraphicsEnvironment
.
t1Filter
);
String
[]
ttfs
=
fallbackDir
.
list
(
fontManager
.
getTrueTypeFilter
()
);
String
[]
t1s
=
fallbackDir
.
list
(
fontManager
.
getType1Filter
()
);
int
numTTFs
=
(
ttfs
==
null
)
?
0
:
ttfs
.
length
;
int
numT1s
=
(
t1s
==
null
)
?
0
:
t1s
.
length
;
int
len
=
numTTFs
+
numT1s
;
...
...
@@ -236,7 +237,7 @@ public abstract class FontConfiguration {
installedFallbackFontFiles
[
i
+
numTTFs
]
=
fallbackDir
+
File
.
separator
+
t1s
[
i
];
}
environment
.
registerFontsInDir
(
fallbackDirName
);
fontManager
.
registerFontsInDir
(
fallbackDirName
);
}
}
...
...
@@ -465,7 +466,7 @@ public abstract class FontConfiguration {
nameIDs
[
index
]
=
getComponentFontID
(
coreScripts
[
index
],
fontIndex
,
styleIndex
);
if
(
preferLocaleFonts
&&
localeMap
!=
null
&&
sun
.
font
.
F
ontManager
.
usingAlternateFontforJALocales
())
{
f
ontManager
.
usingAlternateFontforJALocales
())
{
nameIDs
[
index
]
=
remapLocaleMap
(
fontIndex
,
styleIndex
,
coreScripts
[
index
],
nameIDs
[
index
]);
}
...
...
@@ -480,7 +481,7 @@ public abstract class FontConfiguration {
short
id
=
getComponentFontID
(
fallbackScripts
[
i
],
fontIndex
,
styleIndex
);
if
(
preferLocaleFonts
&&
localeMap
!=
null
&&
sun
.
font
.
F
ontManager
.
usingAlternateFontforJALocales
())
{
f
ontManager
.
usingAlternateFontforJALocales
())
{
id
=
remapLocaleMap
(
fontIndex
,
styleIndex
,
fallbackScripts
[
i
],
id
);
}
if
(
preferPropFonts
)
{
...
...
@@ -973,8 +974,8 @@ public abstract class FontConfiguration {
public
CompositeFontDescriptor
[]
get2DCompositeFontInfo
()
{
CompositeFontDescriptor
[]
result
=
new
CompositeFontDescriptor
[
NUM_FONTS
*
NUM_STYLES
];
String
defaultFontFile
=
environment
.
getDefaultFontFile
();
String
defaultFontFaceName
=
environment
.
getDefaultFontFaceName
();
String
defaultFontFile
=
fontManager
.
getDefaultFontFile
();
String
defaultFontFaceName
=
fontManager
.
getDefaultFontFaceName
();
for
(
int
fontIndex
=
0
;
fontIndex
<
NUM_FONTS
;
fontIndex
++)
{
String
fontName
=
publicFontNames
[
fontIndex
];
...
...
@@ -1121,7 +1122,7 @@ public abstract class FontConfiguration {
*/
HashMap
<
String
,
Boolean
>
existsMap
;
public
boolean
needToSearchForFile
(
String
fileName
)
{
if
(!
environment
.
isLinux
)
{
if
(!
FontUtilities
.
isLinux
)
{
return
false
;
}
else
if
(
existsMap
==
null
)
{
existsMap
=
new
HashMap
<
String
,
Boolean
>();
...
...
@@ -1139,7 +1140,7 @@ public abstract class FontConfiguration {
}
else
{
exists
=
Boolean
.
valueOf
((
new
File
(
fileName
)).
exists
());
existsMap
.
put
(
fileName
,
exists
);
if
(
SunGraphicsEnvironment
.
debugFonts
&&
if
(
FontUtilities
.
debugFonts
()
&&
exists
==
Boolean
.
FALSE
)
{
logger
.
warning
(
"Couldn't locate font file "
+
fileName
);
}
...
...
@@ -2067,7 +2068,8 @@ public abstract class FontConfiguration {
throw
new
Exception
();
}
}
catch
(
Exception
e
)
{
if
(
SunGraphicsEnvironment
.
debugFonts
&&
logger
!=
null
)
{
if
(
FontUtilities
.
debugFonts
()
&&
logger
!=
null
)
{
logger
.
config
(
"Failed parsing "
+
key
+
" property of font configuration."
);
...
...
src/share/classes/sun/font/CMap.java
浏览文件 @
e43dcf4d
...
...
@@ -232,7 +232,7 @@ abstract class CMap {
* fonts are using gb2312 encoding, have to use this
* workaround to make Solaris zh_CN locale work. -sherman
*/
if
(
Font
Manager
.
isSolaris
&&
font
.
platName
!=
null
&&
if
(
Font
Utilities
.
isSolaris
&&
font
.
platName
!=
null
&&
(
font
.
platName
.
startsWith
(
"/usr/openwin/lib/locale/zh_CN.EUC/X11/fonts/TrueType"
)
||
font
.
platName
.
startsWith
(
...
...
@@ -407,8 +407,8 @@ abstract class CMap {
subtableLength
=
buffer
.
getInt
(
offset
+
4
)
&
INTMASK
;
}
if
(
offset
+
subtableLength
>
buffer
.
capacity
())
{
if
(
Font
Manager
.
logging
)
{
Font
Manager
.
logger
.
warning
(
"Cmap subtable overflows buffer."
);
if
(
Font
Utilities
.
isLogging
()
)
{
Font
Utilities
.
getLogger
()
.
warning
(
"Cmap subtable overflows buffer."
);
}
}
switch
(
subtableFormat
)
{
...
...
src/share/classes/sun/font/CompositeFont.java
浏览文件 @
e43dcf4d
...
...
@@ -60,7 +60,7 @@ public final class CompositeFont extends Font2D {
public
CompositeFont
(
String
name
,
String
[]
compFileNames
,
String
[]
compNames
,
int
metricsSlotCnt
,
int
[]
exclRanges
,
int
[]
maxIndexes
,
boolean
defer
)
{
boolean
defer
,
SunFontManager
fm
)
{
handle
=
new
Font2DHandle
(
this
);
fullName
=
name
;
...
...
@@ -85,13 +85,13 @@ public final class CompositeFont extends Font2D {
* The caller could be responsible for this, but for now it seems
* better that it is handled internally to the CompositeFont class.
*/
if
(
FontManager
.
eudcFont
!=
null
)
{
if
(
fm
.
getEUDCFont
()
!=
null
)
{
numSlots
++;
if
(
componentNames
!=
null
)
{
componentNames
=
new
String
[
numSlots
];
System
.
arraycopy
(
compNames
,
0
,
componentNames
,
0
,
numSlots
-
1
);
componentNames
[
numSlots
-
1
]
=
FontManager
.
eudcFont
.
getFontName
(
null
);
fm
.
getEUDCFont
()
.
getFontName
(
null
);
}
if
(
componentFileNames
!=
null
)
{
componentFileNames
=
new
String
[
numSlots
];
...
...
@@ -99,7 +99,7 @@ public final class CompositeFont extends Font2D {
componentFileNames
,
0
,
numSlots
-
1
);
}
components
=
new
PhysicalFont
[
numSlots
];
components
[
numSlots
-
1
]
=
FontManager
.
eudcFont
;
components
[
numSlots
-
1
]
=
fm
.
getEUDCFont
()
;
deferredInitialisation
=
new
boolean
[
numSlots
];
if
(
defer
)
{
for
(
int
i
=
0
;
i
<
numSlots
-
1
;
i
++)
{
...
...
@@ -165,7 +165,7 @@ public final class CompositeFont extends Font2D {
* it is harmless that we do not know a slot is already initialised
* and just need to discover that and mark it so.
*/
synchronized
(
FontManager
.
class
)
{
synchronized
(
FontManager
Factory
.
getInstance
()
)
{
components
=
new
PhysicalFont
[
numSlots
];
components
[
0
]
=
physFont
;
System
.
arraycopy
(
compFont
.
components
,
0
,
...
...
@@ -235,7 +235,8 @@ public final class CompositeFont extends Font2D {
* This global lock is rarely likely to be an issue as there
* are only going to be a few calls into this code.
*/
synchronized
(
FontManager
.
class
)
{
SunFontManager
fm
=
SunFontManager
.
getInstance
();
synchronized
(
fm
)
{
if
(
componentNames
==
null
)
{
componentNames
=
new
String
[
numSlots
];
}
...
...
@@ -251,20 +252,19 @@ public final class CompositeFont extends Font2D {
*/
if
(
componentFileNames
!=
null
&&
componentFileNames
[
slot
]
!=
null
)
{
components
[
slot
]
=
FontManager
.
initialiseDeferredFont
(
componentFileNames
[
slot
]);
components
[
slot
]
=
fm
.
initialiseDeferredFont
(
componentFileNames
[
slot
]);
}
if
(
components
[
slot
]
==
null
)
{
components
[
slot
]
=
FontManager
.
getDefaultPhysicalFont
();
components
[
slot
]
=
fm
.
getDefaultPhysicalFont
();
}
String
name
=
components
[
slot
].
getFontName
(
null
);
if
(
componentNames
[
slot
]
==
null
)
{
componentNames
[
slot
]
=
name
;
}
else
if
(!
componentNames
[
slot
].
equalsIgnoreCase
(
name
))
{
components
[
slot
]
=
(
PhysicalFont
)
FontManager
.
findFont2D
(
componentNames
[
slot
],
(
PhysicalFont
)
fm
.
findFont2D
(
componentNames
[
slot
],
style
,
FontManager
.
PHYSICAL_FALLBACK
);
}
...
...
@@ -333,21 +333,22 @@ public final class CompositeFont extends Font2D {
if
(
deferredInitialisation
[
slot
])
{
doDeferredInitialisation
(
slot
);
}
SunFontManager
fm
=
SunFontManager
.
getInstance
();
try
{
PhysicalFont
font
=
components
[
slot
];
if
(
font
==
null
)
{
try
{
font
=
(
PhysicalFont
)
FontManager
.
font
=
(
PhysicalFont
)
fm
.
findFont2D
(
componentNames
[
slot
],
style
,
FontManager
.
PHYSICAL_FALLBACK
);
components
[
slot
]
=
font
;
}
catch
(
ClassCastException
cce
)
{
font
=
FontManager
.
getDefaultPhysicalFont
();
font
=
fm
.
getDefaultPhysicalFont
();
}
}
return
font
;
}
catch
(
Exception
e
)
{
return
FontManager
.
getDefaultPhysicalFont
();
return
fm
.
getDefaultPhysicalFont
();
}
}
...
...
src/share/classes/sun/font/CompositeGlyphMapper.java
浏览文件 @
e43dcf4d
...
...
@@ -211,10 +211,10 @@ public final class CompositeGlyphMapper extends CharToGlyphMapper {
glyphs
[
i
]
=
convertToGlyph
(
code
);
}
if
(
code
<
Font
Manager
.
MIN_LAYOUT_CHARCODE
)
{
if
(
code
<
Font
Utilities
.
MIN_LAYOUT_CHARCODE
)
{
continue
;
}
else
if
(
Font
Manager
.
isComplexCharCode
(
code
))
{
else
if
(
Font
Utilities
.
isComplexCharCode
(
code
))
{
return
true
;
}
else
if
(
code
>=
0x10000
)
{
...
...
src/share/classes/sun/font/FileFont.java
浏览文件 @
e43dcf4d
...
...
@@ -158,7 +158,8 @@ public abstract class FileFont extends PhysicalFont {
* rare maybe it is not worth doing this last part.
*/
synchronized
void
deregisterFontAndClearStrikeCache
()
{
FontManager
.
deRegisterBadFont
(
this
);
SunFontManager
fm
=
SunFontManager
.
getInstance
();
fm
.
deRegisterBadFont
(
this
);
for
(
Reference
strikeRef
:
strikeCache
.
values
())
{
if
(
strikeRef
!=
null
)
{
...
...
@@ -172,14 +173,14 @@ public abstract class FileFont extends PhysicalFont {
}
}
scaler
.
dispose
();
scaler
=
Font
Manag
er
.
getNullScaler
();
scaler
=
Font
Scal
er
.
getNullScaler
();
}
StrikeMetrics
getFontMetrics
(
long
pScalerContext
)
{
try
{
return
getScaler
().
getFontMetrics
(
pScalerContext
);
}
catch
(
FontScalerException
fe
)
{
scaler
=
Font
Manag
er
.
getNullScaler
();
scaler
=
Font
Scal
er
.
getNullScaler
();
return
getFontMetrics
(
pScalerContext
);
}
}
...
...
@@ -188,7 +189,7 @@ public abstract class FileFont extends PhysicalFont {
try
{
return
getScaler
().
getGlyphAdvance
(
pScalerContext
,
glyphCode
);
}
catch
(
FontScalerException
fe
)
{
scaler
=
Font
Manag
er
.
getNullScaler
();
scaler
=
Font
Scal
er
.
getNullScaler
();
return
getGlyphAdvance
(
pScalerContext
,
glyphCode
);
}
}
...
...
@@ -197,7 +198,7 @@ public abstract class FileFont extends PhysicalFont {
try
{
getScaler
().
getGlyphMetrics
(
pScalerContext
,
glyphCode
,
metrics
);
}
catch
(
FontScalerException
fe
)
{
scaler
=
Font
Manag
er
.
getNullScaler
();
scaler
=
Font
Scal
er
.
getNullScaler
();
getGlyphMetrics
(
pScalerContext
,
glyphCode
,
metrics
);
}
}
...
...
@@ -206,7 +207,7 @@ public abstract class FileFont extends PhysicalFont {
try
{
return
getScaler
().
getGlyphImage
(
pScalerContext
,
glyphCode
);
}
catch
(
FontScalerException
fe
)
{
scaler
=
Font
Manag
er
.
getNullScaler
();
scaler
=
Font
Scal
er
.
getNullScaler
();
return
getGlyphImage
(
pScalerContext
,
glyphCode
);
}
}
...
...
@@ -215,7 +216,7 @@ public abstract class FileFont extends PhysicalFont {
try
{
return
getScaler
().
getGlyphOutlineBounds
(
pScalerContext
,
glyphCode
);
}
catch
(
FontScalerException
fe
)
{
scaler
=
Font
Manag
er
.
getNullScaler
();
scaler
=
Font
Scal
er
.
getNullScaler
();
return
getGlyphOutlineBounds
(
pScalerContext
,
glyphCode
);
}
}
...
...
@@ -224,7 +225,7 @@ public abstract class FileFont extends PhysicalFont {
try
{
return
getScaler
().
getGlyphOutline
(
pScalerContext
,
glyphCode
,
x
,
y
);
}
catch
(
FontScalerException
fe
)
{
scaler
=
Font
Manag
er
.
getNullScaler
();
scaler
=
Font
Scal
er
.
getNullScaler
();
return
getGlyphOutline
(
pScalerContext
,
glyphCode
,
x
,
y
);
}
}
...
...
@@ -233,7 +234,7 @@ public abstract class FileFont extends PhysicalFont {
try
{
return
getScaler
().
getGlyphVectorOutline
(
pScalerContext
,
glyphs
,
numGlyphs
,
x
,
y
);
}
catch
(
FontScalerException
fe
)
{
scaler
=
Font
Manag
er
.
getNullScaler
();
scaler
=
Font
Scal
er
.
getNullScaler
();
return
getGlyphVectorOutline
(
pScalerContext
,
glyphs
,
numGlyphs
,
x
,
y
);
}
}
...
...
@@ -275,7 +276,8 @@ public abstract class FileFont extends PhysicalFont {
*/
fontFile
.
delete
();
/* remove from delete on exit hook list : */
FontManager
.
tmpFontFiles
.
remove
(
fontFile
);
// FIXME: still need to be refactored
SunFontManager
.
getInstance
().
tmpFontFiles
.
remove
(
fontFile
);
}
catch
(
Exception
e
)
{
}
}
...
...
src/share/classes/sun/font/FileFontStrike.java
浏览文件 @
e43dcf4d
...
...
@@ -114,7 +114,7 @@ public class FileFontStrike extends PhysicalStrike {
private
static
native
boolean
initNative
();
private
static
boolean
isXPorLater
=
false
;
static
{
if
(
Font
Manager
.
isWindows
&&
!
FontManager
.
useT2K
&&
if
(
Font
Utilities
.
isWindows
&&
!
FontUtilities
.
useT2K
&&
!
GraphicsEnvironment
.
isHeadless
())
{
isXPorLater
=
initNative
();
}
...
...
@@ -201,7 +201,7 @@ public class FileFontStrike extends PhysicalStrike {
this
.
disposer
=
new
FontStrikeDisposer
(
fileFont
,
desc
);
initGlyphCache
();
pScalerContext
=
NullFontScaler
.
getNullScalerContext
();
FontManager
.
deRegisterBadFont
(
fileFont
);
SunFontManager
.
getInstance
()
.
deRegisterBadFont
(
fileFont
);
return
;
}
/* First, see if native code should be used to create the glyph.
...
...
@@ -211,8 +211,8 @@ public class FileFontStrike extends PhysicalStrike {
* except that the advance returned by GDI is always overwritten by
* the JDK rasteriser supplied one (see getGlyphImageFromWindows()).
*/
if
(
Font
Manager
.
isWindows
&&
isXPorLater
&&
!
Font
Manager
.
useT2K
&&
if
(
Font
Utilities
.
isWindows
&&
isXPorLater
&&
!
Font
Utilities
.
useT2K
&&
!
GraphicsEnvironment
.
isHeadless
()
&&
!
fileFont
.
useJavaRasterizer
&&
(
desc
.
aaHint
==
INTVAL_TEXT_ANTIALIAS_LCD_HRGB
||
...
...
@@ -241,8 +241,8 @@ public class FileFontStrike extends PhysicalStrike {
}
}
}
if
(
Font
Manager
.
logging
&&
FontManager
.
isWindows
)
{
Font
Manager
.
logger
.
info
if
(
Font
Utilities
.
isLogging
()
&&
FontUtilities
.
isWindows
)
{
Font
Utilities
.
getLogger
()
.
info
(
"Strike for "
+
fileFont
+
" at size = "
+
intPtSize
+
" use natives = "
+
useNatives
+
" useJavaRasteriser = "
+
fileFont
.
useJavaRasterizer
+
...
...
@@ -298,7 +298,7 @@ public class FileFontStrike extends PhysicalStrike {
}
long
getGlyphImageFromNative
(
int
glyphCode
)
{
if
(
Font
Manager
.
isWindows
)
{
if
(
Font
Utilities
.
isWindows
)
{
return
getGlyphImageFromWindows
(
glyphCode
);
}
else
{
return
getGlyphImageFromX11
(
glyphCode
);
...
...
@@ -366,8 +366,8 @@ public class FileFontStrike extends PhysicalStrike {
}
else
{
if
(
useNatives
)
{
glyphPtr
=
getGlyphImageFromNative
(
glyphCode
);
if
(
glyphPtr
==
0L
&&
Font
Manager
.
logging
)
{
Font
Manager
.
logger
.
info
if
(
glyphPtr
==
0L
&&
Font
Utilities
.
isLogging
()
)
{
Font
Utilities
.
getLogger
()
.
info
(
"Strike for "
+
fileFont
+
" at size = "
+
intPtSize
+
" couldn't get native glyph for code = "
+
glyphCode
);
...
...
@@ -528,7 +528,7 @@ public class FileFontStrike extends PhysicalStrike {
if
(
segmentedCache
)
{
int
numSegments
=
(
numGlyphs
+
SEGSIZE
-
1
)/
SEGSIZE
;
if
(
FontManager
.
longAddresses
)
{
if
(
longAddresses
)
{
glyphCacheFormat
=
SEGLONGARRAY
;
segLongGlyphImages
=
new
long
[
numSegments
][];
this
.
disposer
.
segLongGlyphImages
=
segLongGlyphImages
;
...
...
@@ -538,7 +538,7 @@ public class FileFontStrike extends PhysicalStrike {
this
.
disposer
.
segIntGlyphImages
=
segIntGlyphImages
;
}
}
else
{
if
(
FontManager
.
longAddresses
)
{
if
(
longAddresses
)
{
glyphCacheFormat
=
LONGARRAY
;
longGlyphImages
=
new
long
[
numGlyphs
];
this
.
disposer
.
longGlyphImages
=
longGlyphImages
;
...
...
src/share/classes/sun/font/FontDesignMetrics.java
浏览文件 @
e43dcf4d
...
...
@@ -261,8 +261,9 @@ public final class FontDesignMetrics extends FontMetrics {
* Note that currently Swing native L&F composites are not handled
* by this code as they use the metrics of the physical anyway.
*/
if
(
FontManager
.
maybeUsingAlternateCompositeFonts
()
&&
FontManager
.
getFont2D
(
font
)
instanceof
CompositeFont
)
{
SunFontManager
fm
=
SunFontManager
.
getInstance
();
if
(
fm
.
maybeUsingAlternateCompositeFonts
()
&&
FontUtilities
.
getFont2D
(
font
)
instanceof
CompositeFont
)
{
return
new
FontDesignMetrics
(
font
,
frc
);
}
...
...
@@ -353,7 +354,7 @@ public final class FontDesignMetrics extends FontMetrics {
private
void
initMatrixAndMetrics
()
{
Font2D
font2D
=
Font
Manager
.
getFont2D
(
font
);
Font2D
font2D
=
Font
Utilities
.
getFont2D
(
font
);
fontStrike
=
font2D
.
getStrike
(
font
,
frc
);
StrikeMetrics
metrics
=
fontStrike
.
getFontMetrics
();
this
.
ascent
=
metrics
.
getAscent
();
...
...
@@ -473,7 +474,7 @@ public final class FontDesignMetrics extends FontMetrics {
char
ch
=
str
.
charAt
(
i
);
if
(
ch
<
0x100
)
{
width
+=
getLatinCharWidth
(
ch
);
}
else
if
(
Font
Manager
.
isNonSimpleChar
(
ch
))
{
}
else
if
(
Font
Utilities
.
isNonSimpleChar
(
ch
))
{
width
=
new
TextLayout
(
str
,
font
,
frc
).
getAdvance
();
break
;
}
else
{
...
...
@@ -504,7 +505,7 @@ public final class FontDesignMetrics extends FontMetrics {
char
ch
=
data
[
i
];
if
(
ch
<
0x100
)
{
width
+=
getLatinCharWidth
(
ch
);
}
else
if
(
Font
Manager
.
isNonSimpleChar
(
ch
))
{
}
else
if
(
Font
Utilities
.
isNonSimpleChar
(
ch
))
{
String
str
=
new
String
(
data
,
off
,
len
);
width
=
new
TextLayout
(
str
,
font
,
frc
).
getAdvance
();
break
;
...
...
src/share/classes/sun/font/FontFamily.java
浏览文件 @
e43dcf4d
...
...
@@ -107,8 +107,9 @@ public class FontFamily {
public
void
setFont
(
Font2D
font
,
int
style
)
{
if
(
font
.
getRank
()
>
familyRank
)
{
if
(
FontManager
.
logging
)
{
FontManager
.
logger
.
warning
(
"Rejecting adding "
+
font
+
if
(
FontUtilities
.
isLogging
())
{
FontUtilities
.
getLogger
()
.
warning
(
"Rejecting adding "
+
font
+
" of lower rank "
+
font
.
getRank
()
+
" to family "
+
this
+
" of rank "
+
familyRank
);
...
...
src/share/classes/sun/font/FontManager.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/font/FontManagerNativeLibrary.java
浏览文件 @
e43dcf4d
...
...
@@ -34,7 +34,7 @@ public class FontManagerNativeLibrary {
public
Object
run
()
{
/* REMIND do we really have to load awt here? */
System
.
loadLibrary
(
"awt"
);
if
(
SunGraphicsEnvironment
.
isOpenJDK
()
&&
if
(
FontUtilities
.
isOpenJDK
&&
System
.
getProperty
(
"os.name"
).
startsWith
(
"Windows"
))
{
/* Ideally fontmanager library should not depend on
particular implementation of the font scaler.
...
...
src/share/classes/sun/font/FontResolver.java
浏览文件 @
e43dcf4d
...
...
@@ -114,7 +114,7 @@ public final class FontResolver {
for
(
int
i
=
0
;
i
<
getAllFonts
().
length
;
i
++)
{
Font
font
=
allFonts
[
i
];
Font2D
font2D
=
Font
Manager
.
getFont2D
(
font
);
Font2D
font2D
=
Font
Utilities
.
getFont2D
(
font
);
if
(
font2D
.
hasSupplementaryChars
())
{
fonts
.
add
(
font
);
indices
.
add
(
Integer
.
valueOf
(
i
));
...
...
src/share/classes/sun/font/FontScaler.java
浏览文件 @
e43dcf4d
...
...
@@ -29,6 +29,9 @@ import java.awt.geom.GeneralPath;
import
java.awt.geom.Point2D
;
import
java.awt.geom.Rectangle2D
;
import
java.lang.ref.WeakReference
;
import
java.lang.reflect.Constructor
;
import
sun.java2d.Disposer
;
import
sun.java2d.DisposerRecord
;
/* FontScaler is "internal interface" to font rasterizer library.
...
...
@@ -77,6 +80,79 @@ import sun.java2d.DisposerRecord;
* this (and this is probably more important for Type1 fonts).
*/
public
abstract
class
FontScaler
implements
DisposerRecord
{
private
static
FontScaler
nullScaler
=
null
;
private
static
Constructor
<
FontScaler
>
scalerConstructor
=
null
;
//Find preferred font scaler
//
//NB: we can allow property based preferences
// (theoretically logic can be font type specific)
static
{
Class
scalerClass
=
null
;
Class
arglst
[]
=
new
Class
[]
{
Font2D
.
class
,
int
.
class
,
boolean
.
class
,
int
.
class
};
try
{
if
(
FontUtilities
.
isOpenJDK
)
{
scalerClass
=
Class
.
forName
(
"sun.font.FreetypeFontScaler"
);
}
else
{
scalerClass
=
Class
.
forName
(
"sun.font.T2KFontScaler"
);
}
}
catch
(
ClassNotFoundException
e
)
{
scalerClass
=
NullFontScaler
.
class
;
}
//NB: rewrite using factory? constructor is ugly way
try
{
scalerConstructor
=
scalerClass
.
getConstructor
(
arglst
);
}
catch
(
NoSuchMethodException
e
)
{
//should not happen
}
}
/* This is the only place to instantiate new FontScaler.
* Therefore this is very convinient place to register
* scaler with Disposer as well as trigger deregistring bad font
* in case when scaler reports this.
*/
public
static
FontScaler
getScaler
(
Font2D
font
,
int
indexInCollection
,
boolean
supportsCJK
,
int
filesize
)
{
FontScaler
scaler
=
null
;
try
{
Object
args
[]
=
new
Object
[]
{
font
,
indexInCollection
,
supportsCJK
,
filesize
};
scaler
=
scalerConstructor
.
newInstance
(
args
);
Disposer
.
addObjectRecord
(
font
,
scaler
);
}
catch
(
Throwable
e
)
{
scaler
=
nullScaler
;
//if we can not instantiate scaler assume bad font
//NB: technically it could be also because of internal scaler
// error but here we are assuming scaler is ok.
FontManager
fm
=
FontManagerFactory
.
getInstance
();
fm
.
deRegisterBadFont
(
font
);
}
return
scaler
;
}
/*
* At the moment it is harmless to create 2 null scalers so, technically,
* syncronized keyword is not needed.
*
* But it is safer to keep it to avoid subtle problems if we will be adding
* checks like whether scaler is null scaler.
*/
public
static
synchronized
FontScaler
getNullScaler
()
{
if
(
nullScaler
==
null
)
{
nullScaler
=
new
NullFontScaler
();
}
return
nullScaler
;
}
protected
WeakReference
<
Font2D
>
font
=
null
;
protected
long
nativeScaler
=
0
;
//used by decendants
//that have native state
...
...
src/share/classes/sun/font/FreetypeFontScaler.java
浏览文件 @
e43dcf4d
...
...
@@ -79,7 +79,7 @@ class FreetypeFontScaler extends FontScaler {
pScalerContext
,
nativeScaler
);
}
return
Font
Manag
er
.
getNullScaler
().
getFontMetrics
(
0L
);
return
Font
Scal
er
.
getNullScaler
().
getFontMetrics
(
0L
);
}
synchronized
float
getGlyphAdvance
(
long
pScalerContext
,
int
glyphCode
)
...
...
@@ -90,7 +90,8 @@ class FreetypeFontScaler extends FontScaler {
nativeScaler
,
glyphCode
);
}
return
FontManager
.
getNullScaler
().
getGlyphAdvance
(
0L
,
glyphCode
);
return
FontScaler
.
getNullScaler
().
getGlyphAdvance
(
0L
,
glyphCode
);
}
synchronized
void
getGlyphMetrics
(
long
pScalerContext
,
...
...
@@ -104,7 +105,8 @@ class FreetypeFontScaler extends FontScaler {
metrics
);
return
;
}
FontManager
.
getNullScaler
().
getGlyphMetrics
(
0L
,
glyphCode
,
metrics
);
FontScaler
.
getNullScaler
().
getGlyphMetrics
(
0L
,
glyphCode
,
metrics
);
}
synchronized
long
getGlyphImage
(
long
pScalerContext
,
int
glyphCode
)
...
...
@@ -115,7 +117,8 @@ class FreetypeFontScaler extends FontScaler {
nativeScaler
,
glyphCode
);
}
return
FontManager
.
getNullScaler
().
getGlyphImage
(
0L
,
glyphCode
);
return
FontScaler
.
getNullScaler
().
getGlyphImage
(
0L
,
glyphCode
);
}
synchronized
Rectangle2D
.
Float
getGlyphOutlineBounds
(
...
...
@@ -127,7 +130,8 @@ class FreetypeFontScaler extends FontScaler {
nativeScaler
,
glyphCode
);
}
return
FontManager
.
getNullScaler
().
getGlyphOutlineBounds
(
0L
,
glyphCode
);
return
FontScaler
.
getNullScaler
().
getGlyphOutlineBounds
(
0L
,
glyphCode
);
}
synchronized
GeneralPath
getGlyphOutline
(
...
...
@@ -140,7 +144,8 @@ class FreetypeFontScaler extends FontScaler {
glyphCode
,
x
,
y
);
}
return
FontManager
.
getNullScaler
().
getGlyphOutline
(
0L
,
glyphCode
,
x
,
y
);
return
FontScaler
.
getNullScaler
().
getGlyphOutline
(
0L
,
glyphCode
,
x
,
y
);
}
synchronized
GeneralPath
getGlyphVectorOutline
(
...
...
@@ -154,8 +159,8 @@ class FreetypeFontScaler extends FontScaler {
numGlyphs
,
x
,
y
);
}
return
Font
Manager
.
getNullScaler
().
getGlyphVectorOutline
(
0L
,
glyphs
,
numGlyphs
,
x
,
y
);
return
Font
Scaler
.
getNullScaler
().
getGlyphVectorOutline
(
0L
,
glyphs
,
numGlyphs
,
x
,
y
);
}
synchronized
long
getLayoutTableCache
()
throws
FontScalerException
{
...
...
@@ -173,21 +178,21 @@ class FreetypeFontScaler extends FontScaler {
if
(
nativeScaler
!=
0L
)
{
return
getNumGlyphsNative
(
nativeScaler
);
}
return
Font
Manag
er
.
getNullScaler
().
getNumGlyphs
();
return
Font
Scal
er
.
getNullScaler
().
getNumGlyphs
();
}
synchronized
int
getMissingGlyphCode
()
throws
FontScalerException
{
if
(
nativeScaler
!=
0L
)
{
return
getMissingGlyphCodeNative
(
nativeScaler
);
}
return
Font
Manag
er
.
getNullScaler
().
getMissingGlyphCode
();
return
Font
Scal
er
.
getNullScaler
().
getMissingGlyphCode
();
}
synchronized
int
getGlyphCode
(
char
charCode
)
throws
FontScalerException
{
if
(
nativeScaler
!=
0L
)
{
return
getGlyphCodeNative
(
nativeScaler
,
charCode
);
}
return
Font
Manag
er
.
getNullScaler
().
getGlyphCode
(
charCode
);
return
Font
Scal
er
.
getNullScaler
().
getGlyphCode
(
charCode
);
}
synchronized
Point2D
.
Float
getGlyphPoint
(
long
pScalerContext
,
...
...
@@ -197,7 +202,7 @@ class FreetypeFontScaler extends FontScaler {
return
getGlyphPointNative
(
font
.
get
(),
pScalerContext
,
nativeScaler
,
glyphCode
,
ptNumber
);
}
return
Font
Manag
er
.
getNullScaler
().
getGlyphPoint
(
return
Font
Scal
er
.
getNullScaler
().
getGlyphPoint
(
pScalerContext
,
glyphCode
,
ptNumber
);
}
...
...
src/share/classes/sun/font/GlyphLayout.java
浏览文件 @
e43dcf4d
...
...
@@ -259,7 +259,7 @@ public final class GlyphLayout {
*/
int
aa
=
FontStrikeDesc
.
getAAHintIntVal
(
frc
.
getAntiAliasingHint
(),
Font
Manager
.
getFont2D
(
font
),
Font
Utilities
.
getFont2D
(
font
),
(
int
)
Math
.
abs
(
ptSize
));
int
fm
=
FontStrikeDesc
.
getFMHintIntVal
(
frc
.
getFractionalMetricsHint
());
...
...
@@ -407,7 +407,7 @@ public final class GlyphLayout {
int
lang
=
-
1
;
// default for now
Font2D
font2D
=
Font
Manager
.
getFont2D
(
font
);
Font2D
font2D
=
Font
Utilities
.
getFont2D
(
font
);
_textRecord
.
init
(
text
,
offset
,
lim
,
min
,
max
);
int
start
=
offset
;
...
...
src/share/classes/sun/font/PhysicalStrike.java
浏览文件 @
e43dcf4d
...
...
@@ -36,6 +36,14 @@ import java.util.concurrent.ConcurrentHashMap;
public
abstract
class
PhysicalStrike
extends
FontStrike
{
static
final
long
INTMASK
=
0xffffffff
L
;
static
boolean
longAddresses
;
static
{
switch
(
StrikeCache
.
nativeAddressSize
)
{
case
8
:
longAddresses
=
true
;
break
;
case
4
:
longAddresses
=
false
;
break
;
default
:
throw
new
RuntimeException
(
"Unexpected address size"
);
}
}
private
PhysicalFont
physicalFont
;
protected
CharToGlyphMapper
mapper
;
...
...
src/share/classes/sun/font/StandardGlyphVector.java
浏览文件 @
e43dcf4d
...
...
@@ -197,7 +197,7 @@ public class StandardGlyphVector extends GlyphVector {
// how do we know its a base glyph
// for now, it is if the natural advance of the glyph is non-zero
Font2D
f2d
=
Font
Manager
.
getFont2D
(
font
);
Font2D
f2d
=
Font
Utilities
.
getFont2D
(
font
);
FontStrike
strike
=
f2d
.
getStrike
(
font
,
frc
);
float
[]
deltas
=
{
trackPt
.
x
,
trackPt
.
y
};
...
...
@@ -1116,7 +1116,7 @@ public class StandardGlyphVector extends GlyphVector {
}
private
void
initFontData
()
{
font2D
=
Font
Manager
.
getFont2D
(
font
);
font2D
=
Font
Utilities
.
getFont2D
(
font
);
float
s
=
font
.
getSize2D
();
if
(
font
.
isTransformed
())
{
ftx
=
font
.
getTransform
();
...
...
src/share/classes/sun/font/StrikeCache.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/font/TrueTypeFont.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/font/TrueTypeGlyphMapper.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/font/Type1Font.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/font/Type1GlyphMapper.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/java2d/SunGraphics2D.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/java2d/SunGraphicsEnvironment.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/print/PSPrinterJob.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/print/PathGraphics.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/classes/sun/swing/SwingUtilities2.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/native/sun/font/sunFont.c
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/share/native/sun/font/sunfontids.h
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/solaris/classes/sun/awt/X11/XToolkit.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/solaris/classes/sun/awt/X11GraphicsEnvironment.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/solaris/classes/sun/awt/motif/MFontConfiguration.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/solaris/classes/sun/awt/motif/MToolkit.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/solaris/classes/sun/font/FcFontConfiguration.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/solaris/classes/sun/font/NativeFont.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/solaris/classes/sun/font/NativeStrike.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/solaris/native/sun/awt/fontpath.c
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/windows/classes/sun/awt/Win32GraphicsEnvironment.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/windows/classes/sun/awt/windows/WFontConfiguration.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/windows/classes/sun/awt/windows/WPathGraphics.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/windows/classes/sun/awt/windows/WPrinterJob.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/windows/classes/sun/awt/windows/WToolkit.java
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/windows/native/sun/font/fontpath.c
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp
浏览文件 @
e43dcf4d
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录