src/java.desktop/share/classes/sun/print/PSPrinterJob.java
Print this page
@@ -44,10 +44,11 @@
import java.awt.geom.PathIterator;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
+import java.awt.peer.FontPeer;
import java.awt.print.Pageable;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
@@ -91,10 +92,11 @@
import sun.awt.CharsetString;
import sun.awt.FontConfiguration;
import sun.awt.FontDescriptor;
import sun.awt.PlatformFont;
import sun.awt.SunToolkit;
+import sun.font.FontAccess;
import sun.font.FontManagerFactory;
import sun.font.FontUtilities;
import java.nio.charset.*;
import java.nio.CharBuffer;
@@ -1212,26 +1214,25 @@
/* return of 0 means unsupported. Other return indicates the number
* of distinct PS fonts needed to draw this text. This saves us
* doing this processing one extra time.
*/
- @SuppressWarnings("deprecation")
protected int platformFontCount(Font font, String str) {
if (mFontProps == null) {
return 0;
}
- CharsetString[] acs =
- ((PlatformFont)(font.getPeer())).makeMultiCharsetString(str,false);
+ PlatformFont peer = (PlatformFont) FontAccess.getFontAccess()
+ .getFontPeer(font);
+ CharsetString[] acs = peer.makeMultiCharsetString(str, false);
if (acs == null) {
/* AWT can't convert all chars so use 2D path */
return 0;
}
int[] psFonts = getPSFontIndexArray(font, acs);
return (psFonts == null) ? 0 : psFonts.length;
}
- @SuppressWarnings("deprecation")
protected boolean textOut(Graphics g, String str, float x, float y,
Font mLastFont, FontRenderContext frc,
float width) {
boolean didText = true;
@@ -1252,13 +1253,13 @@
*/
str = removeControlChars(str);
if (str.length() == 0) {
return true;
}
- CharsetString[] acs =
- ((PlatformFont)
- (mLastFont.getPeer())).makeMultiCharsetString(str, false);
+ PlatformFont peer = (PlatformFont) FontAccess.getFontAccess()
+ .getFontPeer(mLastFont);
+ CharsetString[] acs = peer.makeMultiCharsetString(str, false);
if (acs == null) {
/* AWT can't convert all chars so use 2D path */
return false;
}
/* Get an array of indices into our PostScript name