Multivalent API

multivalent.std.adaptor.pdf
Class NFontType3

java.lang.Object
  extended by com.pt.awt.NFont
      extended by com.pt.awt.font.NFontSimple
          extended by multivalent.std.adaptor.pdf.NFontType3
All Implemented Interfaces:
java.lang.Cloneable

public class NFontType3
extends com.pt.awt.font.NFontSimple
implements java.lang.Cloneable

Type 3 font, with individual glyphs written in PDF.

Version:
$Revision: 1.19 $ $Date: 2004/03/14 21:23:56 $

Field Summary
static java.lang.String FORMAT
           
 
Fields inherited from class com.pt.awt.font.NFontSimple
bbox_, encoding_, firstch_, intrinsic_, lastch_, m_, missingwidth_, newascent_, newdescent_, newwidths_, pdfbad_
 
Fields inherited from class com.pt.awt.NFont
AFM_SCALE, at_, FLAG_ALLCAP, FLAG_CONDENSED, FLAG_DEFAULT, FLAG_EXPANDED, FLAG_FIXEDPITCH, FLAG_FORCEBOLD, FLAG_ITALIC, FLAG_NONE, FLAG_NONSYMBOLIC, FLAG_ORNAMENTAL, FLAG_SANSSERIF, FLAG_SCRIPT, FLAG_SERIF, FLAG_SMALLCAP, FLAG_SYMBOLIC, LAYOUT_FALLBACK, LAYOUT_KERN, LAYOUT_LIGATURE, LAYOUT_MINIMUM, LAYOUT_NONE, LAYOUT_NORMAL, LAYOUT_SMALLCAPS, LAYOUT_SWASH, MASKS_NONE, max_, MODE_ADD, MODE_FILL, MODE_FILL_ADD, MODE_FILL_STROKE, MODE_FILL_STROKE_ADD, MODE_INVALID, MODE_INVISIBLE, MODE_STROKE, MODE_STROKE_ADD, NOTDEF, NOTDEF_CHAR, NOTVALID_CHAR, RIGHT_BITMAP, RIGHT_EDITABLE, RIGHT_HEURISTIC, RIGHT_INSTALL, RIGHT_LICENSED, RIGHT_NONCOMMERCIAL, RIGHT_NOSUBSET, RIGHT_PREVIEW_PRINT, RIGHT_RESTRICTED, RIGHT_UNKNOWN, size_, SUBFORMAT_NONE, touni_, WEIGHT_BLACK, WEIGHT_BOLD, WEIGHT_EXTRABOLD, WEIGHT_EXTRALIGHT, WEIGHT_LIGHT, WEIGHT_MEDIUM, WEIGHT_NORMAL, WEIGHT_SEMIBOLD, WEIGHT_THIN
 
Constructor Summary
NFontType3(Dict fontdict, PDFReader pdfr, PDF pdf)
           
 
Method Summary
 boolean canDisplayEchar(int ech)
          Can the character ech in the font's encoding be rendered?
 NFontType3 deriveFont(java.awt.geom.AffineTransform at)
          Transform all glyphs by arbitrary affine transform.
 NFontType3 deriveFont(com.pt.awt.font.Encoding encoding, com.pt.awt.font.CMap toUnicode)
          Encodings are for fonts byte-addressed glyphs -- 256 or fewer active glyphs.
 NFontType3 deriveFont(float size)
          Creates font a new pointsize in pixels.
 void drawEstring(java.awt.Graphics2D g, java.lang.String estr, float x, float y, long layout, int mode, java.awt.Color strokecolor)
          Draws string str in font's encoding at (x,y) in drawing mode mode.
 java.awt.geom.Point2D echarAdvance(int ech)
           
 java.lang.String getFamily()
          Returns name of font, such as "Times".
 java.lang.String getFormat()
          Returns primary format, such as "Type1" or "OpenType".
 java.lang.String getName()
          Returns the PostScript name of font, such as "Times-Roman".
 int getNumGlyphs()
          Returns number of glyphs defined in font.
 char getSpaceEchar()
          Returns the character that seems to be used as a space in the current encoding, or NFont.NOTDEF_CHAR if no such character.
 void setPage(Dict page)
          Type 3 fonts potentially need the /Resources dictionary for the current page, so set this before using this font on the page.
 
Methods inherited from class com.pt.awt.font.NFontSimple
deriveFont, getEncoding, getMaxCharBounds
 
Methods inherited from class com.pt.awt.NFont
canDisplay, charAdvance, drawString, drawString, estringAdvance, fromUnicode, getAscent, getCopyright, getDescent, getDesigner, getEstringBounds, getFlags, getHeight, getInstance, getLeading, getLogger, getMaxGlyphNum, getMultiplex, getRights, getSize, getSource, getStringBounds, getStringBounds, getSubformat, getTransform, getUnicode, getVersion, getWeight, isHinted, isTransformed, isUseBitmaps, setManager, setUseBitmaps, strFlags, stringAdvance, stringAdvance, strRights, strWeight, toString, toUnicode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FORMAT

public static final java.lang.String FORMAT
See Also:
Constant Field Values
Constructor Detail

NFontType3

public NFontType3(Dict fontdict,
                  PDFReader pdfr,
                  PDF pdf)
           throws java.io.IOException
Throws:
java.io.IOException
Method Detail

deriveFont

public NFontType3 deriveFont(float size)
Description copied from class: NFont
Creates font a new pointsize in pixels. Callers may want to adjust for screen pixels per inch. Note to subclassers: you must make a complete independent instance of the font here, even if pointsize and everything else is the same, as other deriveFont methods use this to make a clone and might make subsequent changes.

Overrides:
deriveFont in class NFont

deriveFont

public NFontType3 deriveFont(com.pt.awt.font.Encoding encoding,
                             com.pt.awt.font.CMap toUnicode)
Description copied from class: com.pt.awt.font.NFontSimple
Encodings are for fonts byte-addressed glyphs -- 256 or fewer active glyphs.

Overrides:
deriveFont in class com.pt.awt.font.NFontSimple

deriveFont

public NFontType3 deriveFont(java.awt.geom.AffineTransform at)
Description copied from class: NFont
Transform all glyphs by arbitrary affine transform. Note that this sets the absolute transform -- new transforms replace previous ones and do not concatenate together.

Overrides:
deriveFont in class NFont

setPage

public void setPage(Dict page)
Type 3 fonts potentially need the /Resources dictionary for the current page, so set this before using this font on the page. (This is sloppy but valid PDF -- the document should have a local /Resources.)


getName

public java.lang.String getName()
Description copied from class: NFont
Returns the PostScript name of font, such as "Times-Roman". This is different than the display name and the filename.

Specified by:
getName in class NFont

getFamily

public java.lang.String getFamily()
Description copied from class: NFont
Returns name of font, such as "Times".

Specified by:
getFamily in class NFont

getFormat

public java.lang.String getFormat()
Description copied from class: NFont
Returns primary format, such as "Type1" or "OpenType".

Specified by:
getFormat in class NFont

getNumGlyphs

public int getNumGlyphs()
Description copied from class: NFont
Returns number of glyphs defined in font.

Specified by:
getNumGlyphs in class NFont

canDisplayEchar

public boolean canDisplayEchar(int ech)
Description copied from class: NFont
Can the character ech in the font's encoding be rendered?

Specified by:
canDisplayEchar in class NFont

getSpaceEchar

public char getSpaceEchar()
Description copied from class: NFont
Returns the character that seems to be used as a space in the current encoding, or NFont.NOTDEF_CHAR if no such character.

Specified by:
getSpaceEchar in class NFont

echarAdvance

public java.awt.geom.Point2D echarAdvance(int ech)
Specified by:
echarAdvance in class NFont

drawEstring

public void drawEstring(java.awt.Graphics2D g,
                        java.lang.String estr,
                        float x,
                        float y,
                        long layout,
                        int mode,
                        java.awt.Color strokecolor)
Description copied from class: NFont
Draws string str in font's encoding at (x,y) in drawing mode mode. For good results, set the RenderingHints.KEY_ANTIALIASING hint on the Graphics2D.

Specified by:
drawEstring in class NFont

Multivalent API