sun.font.Type1Font Java Examples
The following examples show how to use
sun.font.Type1Font.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: FontDisposeTest.java From dragonwell8_jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { // The bug only happens with Type 1 fonts. The Ghostscript font files // should be commonly available. From distro pacakge or // ftp://ftp.gnu.org/gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz // Pass pfa/pfb font file as argument String path = args[0]; // Load InputStream stream = new FileInputStream(path); Font font = Font.createFont(Font.TYPE1_FONT,stream); // Ensure native bits have been generated BufferedImage img = new BufferedImage(100,100, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = img.createGraphics(); FontRenderContext frc = g2d.getFontRenderContext(); font.getLineMetrics("derp",frc); // Force disposal - // System.gc() is not sufficient. Field font2DHandleField = Font.class.getDeclaredField("font2DHandle"); font2DHandleField.setAccessible(true); sun.font.Font2DHandle font2DHandle = (sun.font.Font2DHandle)font2DHandleField.get(font); sun.font.Font2D font2D = font2DHandle.font2D; sun.font.Type1Font type1Font = (sun.font.Type1Font)font2D; Method getScalerMethod = sun.font.Type1Font.class.getDeclaredMethod("getScaler"); getScalerMethod.setAccessible(true); sun.font.FontScaler scaler = (sun.font.FontScaler)getScalerMethod.invoke(type1Font); // dispose should not crash due to double free scaler.dispose(); }
Example #2
Source File: FontDisposeTest.java From TencentKona-8 with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { // The bug only happens with Type 1 fonts. The Ghostscript font files // should be commonly available. From distro pacakge or // ftp://ftp.gnu.org/gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz // Pass pfa/pfb font file as argument String path = args[0]; // Load InputStream stream = new FileInputStream(path); Font font = Font.createFont(Font.TYPE1_FONT,stream); // Ensure native bits have been generated BufferedImage img = new BufferedImage(100,100, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = img.createGraphics(); FontRenderContext frc = g2d.getFontRenderContext(); font.getLineMetrics("derp",frc); // Force disposal - // System.gc() is not sufficient. Field font2DHandleField = Font.class.getDeclaredField("font2DHandle"); font2DHandleField.setAccessible(true); sun.font.Font2DHandle font2DHandle = (sun.font.Font2DHandle)font2DHandleField.get(font); sun.font.Font2D font2D = font2DHandle.font2D; sun.font.Type1Font type1Font = (sun.font.Type1Font)font2D; Method getScalerMethod = sun.font.Type1Font.class.getDeclaredMethod("getScaler"); getScalerMethod.setAccessible(true); sun.font.FontScaler scaler = (sun.font.FontScaler)getScalerMethod.invoke(type1Font); // dispose should not crash due to double free scaler.dispose(); }
Example #3
Source File: FontDisposeTest.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { // The bug only happens with Type 1 fonts. The Ghostscript font files // should be commonly available. From distro pacakge or // ftp://ftp.gnu.org/gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz // Pass pfa/pfb font file as argument String path = args[0]; // Load InputStream stream = new FileInputStream(path); Font font = Font.createFont(Font.TYPE1_FONT,stream); // Ensure native bits have been generated BufferedImage img = new BufferedImage(100,100, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = img.createGraphics(); FontRenderContext frc = g2d.getFontRenderContext(); font.getLineMetrics("derp",frc); // Force disposal - // System.gc() is not sufficient. Field font2DHandleField = Font.class.getDeclaredField("font2DHandle"); font2DHandleField.setAccessible(true); sun.font.Font2DHandle font2DHandle = (sun.font.Font2DHandle)font2DHandleField.get(font); sun.font.Font2D font2D = font2DHandle.font2D; sun.font.Type1Font type1Font = (sun.font.Type1Font)font2D; Method getScalerMethod = sun.font.Type1Font.class.getDeclaredMethod("getScaler"); getScalerMethod.setAccessible(true); sun.font.FontScaler scaler = (sun.font.FontScaler)getScalerMethod.invoke(type1Font); // dispose should not crash due to double free scaler.dispose(); }
Example #4
Source File: FontDisposeTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { // The bug only happens with Type 1 fonts. The Ghostscript font files // should be commonly available. From distro pacakge or // ftp://ftp.gnu.org/gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz // Pass pfa/pfb font file as argument String path = args[0]; // Load InputStream stream = new FileInputStream(path); Font font = Font.createFont(Font.TYPE1_FONT,stream); // Ensure native bits have been generated BufferedImage img = new BufferedImage(100,100, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = img.createGraphics(); FontRenderContext frc = g2d.getFontRenderContext(); font.getLineMetrics("derp",frc); // Force disposal - // System.gc() is not sufficient. Field font2DHandleField = Font.class.getDeclaredField("font2DHandle"); font2DHandleField.setAccessible(true); sun.font.Font2DHandle font2DHandle = (sun.font.Font2DHandle)font2DHandleField.get(font); sun.font.Font2D font2D = font2DHandle.font2D; sun.font.Type1Font type1Font = (sun.font.Type1Font)font2D; Method getScalerMethod = sun.font.Type1Font.class.getDeclaredMethod("getScaler"); getScalerMethod.setAccessible(true); sun.font.FontScaler scaler = (sun.font.FontScaler)getScalerMethod.invoke(type1Font); // dispose should not crash due to double free scaler.dispose(); }
Example #5
Source File: FontDisposeTest.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
public static void main(String[] args) throws Exception { // The bug only happens with Type 1 fonts. The Ghostscript font files // should be commonly available. From distro pacakge or // ftp://ftp.gnu.org/gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz // Pass pfa/pfb font file as argument String path = args[0]; // Load InputStream stream = new FileInputStream(path); Font font = Font.createFont(Font.TYPE1_FONT,stream); // Ensure native bits have been generated BufferedImage img = new BufferedImage(100,100, BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = img.createGraphics(); FontRenderContext frc = g2d.getFontRenderContext(); font.getLineMetrics("derp",frc); // Force disposal - // System.gc() is not sufficient. Field font2DHandleField = Font.class.getDeclaredField("font2DHandle"); font2DHandleField.setAccessible(true); sun.font.Font2DHandle font2DHandle = (sun.font.Font2DHandle)font2DHandleField.get(font); sun.font.Font2D font2D = font2DHandle.font2D; sun.font.Type1Font type1Font = (sun.font.Type1Font)font2D; Method getScalerMethod = sun.font.Type1Font.class.getDeclaredMethod("getScaler"); getScalerMethod.setAccessible(true); sun.font.FontScaler scaler = (sun.font.FontScaler)getScalerMethod.invoke(type1Font); // dispose should not crash due to double free scaler.dispose(); }