Package org.verapdf.pd.font.opentype
Class OpenTypeFontProgram
- java.lang.Object
-
- org.verapdf.pd.font.opentype.OpenTypeFontProgram
-
- All Implemented Interfaces:
FontProgram
public class OpenTypeFontProgram extends Object implements FontProgram
Represents OpenType font program.- Author:
- Sergey Shemyakov
-
-
Constructor Summary
Constructors Constructor Description OpenTypeFontProgram(ASInputStream source, boolean isCFF, boolean isSymbolic, COSObject encoding, CMap externalCMap, boolean isSubset)Constructor from stream, containing font data, and encoding details.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontainsCID(int cid)Method works only for fonts where cid notation is used.booleancontainsCode(int code)Checks if font contains character with given code.booleancontainsGlyph(String glyphName)Checks if this font program has glyph for given glyph name.DoublegetAscent()DoublegetDescent()FontProgramgetFont()ASFileStreamClosergetFontProgramResource()StringgetGlyphName(int code)Returns glyph name for glyph with given code.StringgetWeight()floatgetWidth(int code)Returns width of glyph for given character code.floatgetWidth(String glyphName)Returns width of glyph for given glyph name.booleanisAttemptedParsing()booleanisSuccessfulParsing()voidparseFont()This method does parsing of font, after it all the data needed should be extracted.
-
-
-
Constructor Detail
-
OpenTypeFontProgram
public OpenTypeFontProgram(ASInputStream source, boolean isCFF, boolean isSymbolic, COSObject encoding, CMap externalCMap, boolean isSubset)
Constructor from stream, containing font data, and encoding details.- Parameters:
source- is stream containing font data.isSymbolic- is true if font is marked as symbolic.encoding- is value of /Encoding in font dictionary.
-
-
Method Detail
-
getWidth
public float getWidth(int code)
Returns width of glyph for given character code.- Specified by:
getWidthin interfaceFontProgram- Parameters:
code- is code for glyph.- Returns:
- width of corresponding glyph or -1 if glyph is not found.
-
getWidth
public float getWidth(String glyphName)
Returns width of glyph for given glyph name.- Specified by:
getWidthin interfaceFontProgram- Parameters:
glyphName- is name for glyph.- Returns:
- width of corresponding glyph or -1 if glyph is not found.
-
containsCode
public boolean containsCode(int code)
Checks if font contains character with given code.- Specified by:
containsCodein interfaceFontProgram- Parameters:
code- is character code.- Returns:
- true if font contains character with given code.
-
containsGlyph
public boolean containsGlyph(String glyphName)
Description copied from interface:FontProgramChecks if this font program has glyph for given glyph name.- Specified by:
containsGlyphin interfaceFontProgram- Parameters:
glyphName- is the name of glyph.- Returns:
- true if this font program has glyph for given name.
-
containsCID
public boolean containsCID(int cid)
Description copied from interface:FontProgramMethod works only for fonts where cid notation is used.- Specified by:
containsCIDin interfaceFontProgram- Returns:
- true if font a is cid font and contains given cid.
-
getGlyphName
public String getGlyphName(int code)
Description copied from interface:FontProgramReturns glyph name for glyph with given code.- Specified by:
getGlyphNamein interfaceFontProgram- Parameters:
code- is code of glyph.- Returns:
- glyph name.
-
isAttemptedParsing
public boolean isAttemptedParsing()
- Specified by:
isAttemptedParsingin interfaceFontProgram- Returns:
- true if font parsing has been attempted.
-
isSuccessfulParsing
public boolean isSuccessfulParsing()
- Specified by:
isSuccessfulParsingin interfaceFontProgram- Returns:
- true if font was successfully parsed.
-
parseFont
public void parseFont() throws IOExceptionThis method does parsing of font, after it all the data needed should be extracted.- Specified by:
parseFontin interfaceFontProgram- Throws:
IOException- if error in font parsing occurs.
-
getFont
public FontProgram getFont()
- Returns:
- CFF font or TrueType font, represented by this OpenType font.
-
getFontProgramResource
public ASFileStreamCloser getFontProgramResource()
- Specified by:
getFontProgramResourcein interfaceFontProgram- Returns:
- file stream closer that handles the closing of font program stream or null if stream is memory stream.
-
getWeight
public String getWeight()
- Specified by:
getWeightin interfaceFontProgram
-
getAscent
public Double getAscent()
- Specified by:
getAscentin interfaceFontProgram
-
getDescent
public Double getDescent()
- Specified by:
getDescentin interfaceFontProgram
-
-