8075277: JDK is still building X11 related Java files on OSX

Reviewed-by: ihse, erikj, serb
This commit is contained in:
Phil Race 2015-03-17 15:18:11 -07:00
parent 391adb65e0
commit 80b33776b1
3 changed files with 193 additions and 10 deletions

View File

@ -44,7 +44,6 @@ import sun.awt.util.ThreadGroupUtils;
import sun.lwawt.macosx.*;
public final class CFontManager extends SunFontManager {
private FontConfigManager fcManager = null;
private static Hashtable<String, Font2D> genericFonts = new Hashtable<String, Font2D>();
@Override
@ -231,15 +230,6 @@ public final class CFontManager extends SunFontManager {
return font2D;
}
/*
public synchronized FontConfigManager getFontConfigManager() {
if (fcManager == null) {
fcManager = new FontConfigManager();
}
return fcManager;
}
*/
protected void registerFontsInDir(String dirName, boolean useJavaRasterizer, int fontRank, boolean defer, boolean resolveSymLinks) {
loadNativeDirFonts(dirName);
super.registerFontsInDir(dirName, useJavaRasterizer, fontRank, defer, resolveSymLinks);

View File

@ -0,0 +1,107 @@
/*
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.font;
import java.awt.FontFormatException;
import java.awt.font.FontRenderContext;
import java.awt.geom.GeneralPath;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
/*
* This class should never be invoked on the windows implementation
* So the constructor throws a FontFormatException, which is caught
* and the font is ignored.
*/
public class NativeFont extends PhysicalFont {
/**
* Verifies native font is accessible.
* @throws FontFormatException - if the font can't be located.
*/
public NativeFont(String platName, boolean isBitmapDelegate)
throws FontFormatException {
throw new FontFormatException("NativeFont not used on OS X");
}
static boolean hasExternalBitmaps(String platName) {
return false;
}
public CharToGlyphMapper getMapper() {
return null;
}
PhysicalFont getDelegateFont() {
return null;
}
FontStrike createStrike(FontStrikeDesc desc) {
return null;
}
public Rectangle2D getMaxCharBounds(FontRenderContext frc) {
return null;
}
StrikeMetrics getFontMetrics(long pScalerContext) {
return null;
}
public GeneralPath getGlyphOutline(long pScalerContext,
int glyphCode,
float x, float y) {
return null;
}
public GeneralPath getGlyphVectorOutline(long pScalerContext,
int[] glyphs, int numGlyphs,
float x, float y) {
return null;
}
long getGlyphImage(long pScalerContext, int glyphCode) {
return 0L;
}
void getGlyphMetrics(long pScalerContext, int glyphCode,
Point2D.Float metrics) {
}
float getGlyphAdvance(long pScalerContext, int glyphCode) {
return 0f;
}
Rectangle2D.Float getGlyphOutlineBounds(long pScalerContext,
int glyphCode) {
return new Rectangle2D.Float(0f, 0f, 0f, 0f);
}
}

View File

@ -0,0 +1,86 @@
/*
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.font;
import java.awt.geom.GeneralPath;
import java.awt.geom.Point2D;
import java.awt.Rectangle;
import java.awt.geom.Rectangle2D;
public class NativeStrike extends PhysicalStrike {
NativeFont nativeFont;
NativeStrike(NativeFont nativeFont, FontStrikeDesc desc) {
super(nativeFont, desc);
throw new RuntimeException("NativeFont not used on OS X");
}
NativeStrike(NativeFont nativeFont, FontStrikeDesc desc,
boolean nocache) {
super(nativeFont, desc);
throw new RuntimeException("NativeFont not used on Windows");
}
void getGlyphImagePtrs(int[] glyphCodes, long[] images,int len) {
}
long getGlyphImagePtr(int glyphCode) {
return 0L;
}
long getGlyphImagePtrNoCache(int glyphCode) {
return 0L;
}
void getGlyphImageBounds(int glyphcode,
Point2D.Float pt,
Rectangle result) {
}
Point2D.Float getGlyphMetrics(int glyphCode) {
return null;
}
float getGlyphAdvance(int glyphCode) {
return 0f;
}
Rectangle2D.Float getGlyphOutlineBounds(int glyphCode) {
return null;
}
GeneralPath getGlyphOutline(int glyphCode, float x, float y) {
return null;
}
GeneralPath getGlyphVectorOutline(int[] glyphs, float x, float y) {
return null;
}
}