61 throw new InternalError("Not implemented"); 62 } 63 64 Rectangle2D.Float getGlyphOutlineBounds(long pScalerContext, 65 int glyphCode) { 66 throw new InternalError("Not implemented"); 67 } 68 69 GeneralPath getGlyphOutline(long pScalerContext, int glyphCode, 70 float x, float y) { 71 throw new InternalError("Not implemented"); 72 } 73 74 GeneralPath getGlyphVectorOutline(long pScalerContext, 75 int[] glyphs, int numGlyphs, 76 float x, float y) { 77 throw new InternalError("Not implemented"); 78 } 79 80 @Override 81 protected long getLayoutTableCache() { 82 return getLayoutTableCacheNative(getNativeFontPtr()); 83 } 84 85 @Override 86 protected byte[] getTableBytes(int tag) { 87 return getTableBytesNative(getNativeFontPtr(), tag); 88 } 89 90 private native synchronized long getLayoutTableCacheNative(long nativeFontPtr); 91 92 private native byte[] getTableBytesNative(long nativeFontPtr, int tag); 93 94 private static native long createNativeFont(final String nativeFontName, 95 final int style); 96 private static native void disposeNativeFont(final long nativeFontPtr); 97 98 private boolean isFakeItalic; 99 private String nativeFontName; 100 private long nativeFontPtr; 101 102 private native float getWidthNative(final long nativeFontPtr); 103 private native float getWeightNative(final long nativeFontPtr); 104 105 private int fontWidth = -1; 106 private int fontWeight = -1; 107 108 @Override 109 public int getWidth() { 110 if (fontWidth == -1) { | 61 throw new InternalError("Not implemented"); 62 } 63 64 Rectangle2D.Float getGlyphOutlineBounds(long pScalerContext, 65 int glyphCode) { 66 throw new InternalError("Not implemented"); 67 } 68 69 GeneralPath getGlyphOutline(long pScalerContext, int glyphCode, 70 float x, float y) { 71 throw new InternalError("Not implemented"); 72 } 73 74 GeneralPath getGlyphVectorOutline(long pScalerContext, 75 int[] glyphs, int numGlyphs, 76 float x, float y) { 77 throw new InternalError("Not implemented"); 78 } 79 80 @Override 81 protected byte[] getTableBytes(int tag) { 82 return getTableBytesNative(getNativeFontPtr(), tag); 83 } 84 85 private native byte[] getTableBytesNative(long nativeFontPtr, int tag); 86 87 private static native long createNativeFont(final String nativeFontName, 88 final int style); 89 private static native void disposeNativeFont(final long nativeFontPtr); 90 91 private boolean isFakeItalic; 92 private String nativeFontName; 93 private long nativeFontPtr; 94 95 private native float getWidthNative(final long nativeFontPtr); 96 private native float getWeightNative(final long nativeFontPtr); 97 98 private int fontWidth = -1; 99 private int fontWeight = -1; 100 101 @Override 102 public int getWidth() { 103 if (fontWidth == -1) { |