Package com.adobe.fontengine.font.cff
Class SyntheticFont
- java.lang.Object
-
- com.adobe.fontengine.font.FontData
-
- com.adobe.fontengine.font.cff.CFFFont
-
- com.adobe.fontengine.font.cff.SyntheticFont
-
public final class SyntheticFont extends CFFFont
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Subset
createSubset()
Create a subset for this font.Rect
getCoolTypeIcfBox()
Compute the IcfBox.Rect
getCoolTypeIdeoEmBox()
LineMetrics
getCoolTypeLineMetrics()
Emulates the CoolType API CTFontDict:GetHorizontalMetrics CoolType API.Rect
getCoolTypeRawFontBBox()
Permission
getEmbeddingPermission(boolean wasEmbedded)
Rect
getFontBBox()
Matrix
getFontMatrix()
int
getGlyphCid(int glyphID)
Get the CID associated with glyphglyphID
.int
getGlyphForChar(int usv)
Return the glyph to use to display a character.java.lang.String
getGlyphName(int gid)
Return the name of glyphgid
.void
getGlyphOutline(int gid, OutlineConsumer consumer)
Get the outline of glyphgid
.double
getHorizontalAdvance(int gid)
Get the horizontal advance of a glyph.int
getNumGlyphs()
Return the number of glyphs in this font.void
getOutline(int gid, Type2OutlineParser parser, OutlineConsumer consumer)
Return the outline of glyphgid
.PDFFontDescription
getPDFFontDescription(Font font)
ROS
getROS()
Get the ROS associated with this font.double
getStemVForGlyph(int gid)
XDCFontDescription
getXDCFontDescription(Font font)
void
stream(java.io.OutputStream out, java.lang.Integer fsType)
void
subsetAndStream(Subset subset, java.io.OutputStream out, boolean preserveROS, java.lang.Integer fsType)
Subset and stream this font for PDF use.-
Methods inherited from class com.adobe.fontengine.font.cff.CFFFont
getCacheSupportInfo, getCoolTypeProportionalRomanFromFontProperties, getCoolTypeScript, getCoolTypeUnderlineMetrics, getCoolTypeUnderlineMetrics, getCSSFamilyNames, getCSSStretchValue, getCSSWeight, getFXGFontDescription, getGlyphBBox, getName, getPlatformFontDescription, getPostscriptFontDescription, getPreferredCSSFamilyName, getScaler, getSelectionDescription, getSWFFont4Description, getSWFFontDescription, getUnitsPerEmX, getUnitsPerEmY, isCSSStyleItalic, isCSSStyleNormal, isCSSStyleOblique, isCSSVariantNormal, isCSSVariantSmallCaps, isFixedPitch, subsetAndStream
-
Methods inherited from class com.adobe.fontengine.font.FontData
getContainerFingerprint, getCoolTypeCapHeight, getCoolTypeFontBBox, getCoolTypeGlyphBBox, getCoolTypeGlyphForChar, getCoolTypeUnitsPerEm, getCoolTypeXHeight, getCSS20FontDescription, getLineMetrics, getPointSizeRange, getPreferredCSS20FontDescription, getScaler, hasCoolTypeProportionalRoman, isSymbolic
-
-
-
-
Method Detail
-
createSubset
public Subset createSubset() throws UnsupportedFontException
Create a subset for this font.- Specified by:
createSubset
in classFontData
- Throws:
UnsupportedFontException
-
getNumGlyphs
public int getNumGlyphs() throws UnsupportedFontException, InvalidFontException
Description copied from class:FontData
Return the number of glyphs in this font.- Specified by:
getNumGlyphs
in classFontData
- Throws:
UnsupportedFontException
InvalidFontException
-
getGlyphName
public java.lang.String getGlyphName(int gid) throws InvalidFontException, UnsupportedFontException
Return the name of glyphgid
.- Specified by:
getGlyphName
in classCFFFont
- Throws:
InvalidFontException
UnsupportedFontException
-
getROS
public ROS getROS()
Description copied from class:CFFFont
Get the ROS associated with this font. If the font does not have an ROS, return null.
-
getGlyphCid
public int getGlyphCid(int glyphID) throws InvalidFontException, UnsupportedFontException
Description copied from class:CFFFont
Get the CID associated with glyphglyphID
. Returns -1 if getROS() returns null.- Specified by:
getGlyphCid
in classCFFFont
- Returns:
- the CID in the ROS associated with the font.
- Throws:
InvalidFontException
UnsupportedFontException
-
getGlyphOutline
public void getGlyphOutline(int gid, OutlineConsumer consumer) throws InvalidFontException, UnsupportedFontException
Get the outline of glyphgid
.- Specified by:
getGlyphOutline
in classCFFFont
- Parameters:
gid
- the glyph id of the glyphconsumer
- the OutlineConsumer to receive the outline- Throws:
InvalidFontException
UnsupportedFontException
-
getOutline
public void getOutline(int gid, Type2OutlineParser parser, OutlineConsumer consumer) throws InvalidFontException, UnsupportedFontException
Return the outline of glyphgid
.- Specified by:
getOutline
in classCFFFont
- Throws:
InvalidFontException
UnsupportedFontException
-
getStemVForGlyph
public double getStemVForGlyph(int gid) throws InvalidFontException
- Specified by:
getStemVForGlyph
in classCFFFont
- Throws:
InvalidFontException
-
getFontMatrix
public Matrix getFontMatrix()
- Specified by:
getFontMatrix
in classCFFFont
-
getHorizontalAdvance
public double getHorizontalAdvance(int gid) throws InvalidFontException, UnsupportedFontException
Get the horizontal advance of a glyph. The returned value is in metric space.- Specified by:
getHorizontalAdvance
in classCFFFont
- Throws:
InvalidFontException
UnsupportedFontException
-
getFontBBox
public Rect getFontBBox() throws InvalidFontException, UnsupportedFontException
- Specified by:
getFontBBox
in classFontData
- Throws:
InvalidFontException
UnsupportedFontException
-
getCoolTypeRawFontBBox
public Rect getCoolTypeRawFontBBox() throws InvalidFontException, UnsupportedFontException
-
getGlyphForChar
public int getGlyphForChar(int usv) throws InvalidFontException, UnsupportedFontException
Description copied from class:CFFFont
Return the glyph to use to display a character. Depending on the layout technology of the font, the returned gid may be further processed.- Specified by:
getGlyphForChar
in classCFFFont
- Parameters:
usv
- the Unicode scalar value of the character; (by definition, surrogate code points are not Unicode scalar values).- Returns:
- the gid of the glyph to use
- Throws:
InvalidFontException
UnsupportedFontException
-
getCoolTypeLineMetrics
public LineMetrics getCoolTypeLineMetrics() throws UnsupportedFontException, InvalidFontException
Emulates the CoolType API CTFontDict:GetHorizontalMetrics CoolType API.The metrics are expressed in the design space of the font, i.e. they need to be converted through the metrics matrix.
This methods never returns null.
See also the
FontData.getLineMetrics()
method.- Specified by:
getCoolTypeLineMetrics
in classFontData
- Throws:
UnsupportedFontException
InvalidFontException
-
getCoolTypeIdeoEmBox
public Rect getCoolTypeIdeoEmBox() throws UnsupportedFontException, InvalidFontException
- Overrides:
getCoolTypeIdeoEmBox
in classCFFFont
- Throws:
UnsupportedFontException
InvalidFontException
-
getCoolTypeIcfBox
public Rect getCoolTypeIcfBox() throws UnsupportedFontException, InvalidFontException
Description copied from class:CFFFont
Compute the IcfBox. Various heuristics are applied until the IcfBox can be determined.- Overrides:
getCoolTypeIcfBox
in classCFFFont
- Throws:
UnsupportedFontException
InvalidFontException
-
getEmbeddingPermission
public Permission getEmbeddingPermission(boolean wasEmbedded) throws InvalidFontException, UnsupportedFontException
- Specified by:
getEmbeddingPermission
in classFontData
- Throws:
InvalidFontException
UnsupportedFontException
-
subsetAndStream
public void subsetAndStream(Subset subset, java.io.OutputStream out, boolean preserveROS, java.lang.Integer fsType) throws InvalidFontException, UnsupportedFontException
Subset and stream this font for PDF use. The stream is a CID-keyed CFF stream.- Specified by:
subsetAndStream
in classCFFFont
- Parameters:
out
- the OutputStream to which the bytes are streamedfsType
- if non-null an integer as described in technote 5147 http://partners.adobe.com/public/developer/en/acrobat/sdk/FontPolicies.pdf "Font Embedding Guidelines for Adobe Third-party Developers".- Throws:
InvalidFontException
UnsupportedFontException
-
getPDFFontDescription
public PDFFontDescription getPDFFontDescription(Font font)
- Specified by:
getPDFFontDescription
in classFontData
-
getXDCFontDescription
public XDCFontDescription getXDCFontDescription(Font font)
- Specified by:
getXDCFontDescription
in classFontData
-
stream
public void stream(java.io.OutputStream out, java.lang.Integer fsType) throws UnsupportedFontException
- Specified by:
stream
in classCFFFont
- Throws:
UnsupportedFontException
-
-