|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.faceless.pdf2.PDFFont
org.faceless.pdf2.OpenTypeFont
public final class OpenTypeFont
A subclass of PDFFont that represents an OpenType font.
OpenType fonts are a superset of TrueType fonts, but also include
fonts where the glyphs are defined using Adobes "Compact Font" format
(which are supported since version 2.3 of the library).
OpenType fonts can be stored by reference only (the font is not embedded into the file), or can be embedded using either one or two bytes per glyph. One byte is only really suitable when the font is using a subset of the ASCII character set - eg. western european characters only. If the font is going to be used to display non-roman characters, two bytes should be used.
| Constructor Summary | |
|---|---|
OpenTypeFont(InputStream in,
int bytesperglyph)
Create a new OpenTypeFont from the specified InputStream. |
|
| Method Summary | |
|---|---|
protected Object |
clone()
|
boolean |
equals(Object o)
|
float |
getAscender()
Get the Ascender for the font (the maximum height above the baseline the font extends), as a proportion of the point size. |
String |
getBaseName()
Return the Base Font Name for this font. |
float |
getDefaultLeading()
Get the default leading for this font - the preferred distance between two successive baselines of text. |
float |
getDescender()
Get the Descender for the font (the maximum height below the baseline the font extends), as a proportion of the point size. |
String |
getEmbeddingRestrictions()
Returns null if the font can be embedded without any restrictions, or
a non-null String if the font has embedding restrictions. |
protected int |
getGlyphBottom(int gid)
|
int |
getGlyphKerning(int gid1,
int gid2)
|
protected int |
getGlyphTop(int gid)
|
protected int |
getGlyphWidth(int gid)
|
float |
getStrikeoutPosition()
Get the strikeout position, as a proportion of the font size. |
float |
getStrikeoutThickness()
Get the strikeout thickness, as a proportion of the font size. |
float |
getSubscriptPosition()
Get the recommended position of a sub-script version of this font, as a proportion of the sub-scripted font size. |
float |
getSubscriptSize()
Get the recommended size of a super/sub script version of this font, as a proportion of the normal font size. |
float |
getSuperscriptPosition()
Get the recommended position of a super-script version of this font, as a proportion of the sub-scripted font size. |
float |
getUnderlinePosition()
Get the underline position, as a proportion of the font size. |
float |
getUnderlineThickness()
Get the underline thickness, as a proportion of the font size. |
boolean |
isMonospace()
Return true if every character has the same width (like Courier), false if every character is potentially a different width (like Times-Roman) |
void |
setEmbed(boolean embed)
Whether to embed the font. |
void |
setSubset(boolean subset)
Whether to subset the font. |
String |
toString()
|
| Methods inherited from class org.faceless.pdf2.PDFFont |
|---|
getBottom, getCharWidth, getCharWidth, getKerning, getKerning, getLeft, getRight, getTop, isDefined, isDefined, isHorizontal, isPrerenderRequired, ligaturize, ligaturize, requote, requote |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public OpenTypeFont(InputStream in,
int bytesperglyph)
throws IOException,
IllegalArgumentException
in - the InputStream to read the font from.bytesperglyph - the number of bytes to use for each glyph. Must
be 1 or 2. Thanks to compression there is surprisingly little difference
in terms of size in the resulting file, so if in doubt, use 2.
IOException
IllegalArgumentException| Method Detail |
|---|
public void setSubset(boolean subset)
public void setEmbed(boolean embed)
public String getEmbeddingRestrictions()
null if the font can be embedded without any restrictions, or
a non-null String if the font has embedding restrictions. Note the library will not
prevent you from using a font with embedding restrictions unless you
have set the OutputProfile.Feature.FontEmbeddingRestrictions
feature - it's your responsibility to ensure you have the right to embed
the font. The content of the String is undefined but is intended to detail the
restriction type.
public String getBaseName()
PDFFont
getBaseName in class PDFFont
public int getGlyphKerning(int gid1,
int gid2)
getGlyphKerning in class PDFFontprotected int getGlyphWidth(int gid)
getGlyphWidth in class PDFFontprotected int getGlyphTop(int gid)
getGlyphTop in class PDFFontprotected int getGlyphBottom(int gid)
getGlyphBottom in class PDFFontpublic float getDefaultLeading()
PDFFontGet the default leading for this font - the preferred distance between two successive baselines of text. Values are a ratio of the font size, and are typically between 1 and 1.3
Note that the values of the different spacing-between-lines methods have
changed - in versions 1.0.4 and earlier this routine normally returned 1
and the spacing was set by the PDFStyle.setTextLineSpacing(float) method.
Since 1.1, the values for these two methods are effectively reversed. See
the relevant method comments in the PDFStyle class for more
information.
getDefaultLeading in class PDFFontpublic float getDescender()
PDFFont
getDescender in class PDFFontpublic float getAscender()
PDFFont
getAscender in class PDFFontpublic float getUnderlinePosition()
PDFFontgetDescender() method, the returned value is almost
always negative, indicating below the baseline.
getUnderlinePosition in class PDFFontpublic float getUnderlineThickness()
PDFFont
getUnderlineThickness in class PDFFontpublic float getStrikeoutPosition()
PDFFont
getStrikeoutPosition in class PDFFontpublic float getStrikeoutThickness()
PDFFont
getStrikeoutThickness in class PDFFontpublic float getSuperscriptPosition()
PDFFontGet the recommended position of a super-script version of this font, as a proportion of the sub-scripted font size. Value is always positive.
For some fonts (like CJK or barcode fonts) where there is no concept of super or subscript, this value is entirely arbitrary.
getSuperscriptPosition in class PDFFontpublic float getSubscriptPosition()
PDFFontGet the recommended position of a sub-script version of this font, as a proportion of the sub-scripted font size. Value is almost always zero or negative.
For some fonts (like CJK or barcode fonts) where there is no concept of super or subscript, this value is entirely arbitrary.
getSubscriptPosition in class PDFFontpublic float getSubscriptSize()
PDFFontGet the recommended size of a super/sub script version of this font, as a proportion of the normal font size. Typical value is around 0.6.
For some fonts (like CJK or barcode fonts) where there is no concept of super or subscript, this value is entirely arbitrary.
getSubscriptSize in class PDFFontpublic boolean isMonospace()
PDFFont
isMonospace in class PDFFontpublic String toString()
public boolean equals(Object o)
equals in class Objectprotected Object clone()
clone in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||