Package org.verapdf.pd.font.type1
Class Type1FontProgram
- java.lang.Object
-
- org.verapdf.parser.NotSeekableBaseParser
-
- org.verapdf.parser.NotSeekableCOSParser
-
- org.verapdf.parser.postscript.PSParser
-
- org.verapdf.pd.font.type1.Type1FontProgram
-
- All Implemented Interfaces:
Closeable,AutoCloseable,FontProgram
public class Type1FontProgram extends PSParser implements FontProgram
This class does parsing of Type 1 font files.- Author:
- Sergey Shemyakov
-
-
Field Summary
Fields Modifier and Type Field Description static LoggerLOGGER-
Fields inherited from class org.verapdf.parser.postscript.PSParser
operandStack, userDict
-
Fields inherited from class org.verapdf.parser.NotSeekableCOSParser
document, flag, integers, keyOfCurrentObject, objects
-
Fields inherited from class org.verapdf.parser.NotSeekableBaseParser
isPSParser, source
-
-
Constructor Summary
Constructors Constructor Description Type1FontProgram(ASInputStream fileStream)
-
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.Set<String>getCharSet()String[]getEncoding()ASFileStreamClosergetFontProgramResource()StringgetGlyphName(int code)Returns glyph name for glyph with given code.floatgetWidth(int charCode)Returns width of glyph for given character code.floatgetWidth(String glyphName)Returns width of glyph for given glyph name.booleanisAttemptedParsing()booleanisSuccessfulParsing()voidparseFont()This method is entry point for parsing process.protected voidskipSpacesExceptNullByte()-
Methods inherited from class org.verapdf.parser.postscript.PSParser
getObjectFromUserDict
-
Methods inherited from class org.verapdf.parser.NotSeekableCOSParser
getArray, getDictionary, getName, nextObject
-
Methods inherited from class org.verapdf.parser.NotSeekableBaseParser
close, extendArray, findKeyword, findKeyword, getLineBytes, getToken, initializeToken, isCR, isDigit, isDigit, isEndOfComment, isFF, isLF, nextToken, readLine, readNumber, readUntilDelimiter, skipSpaces, skipSpaces, skipStreamSpaces
-
-
-
-
Field Detail
-
LOGGER
public static final Logger LOGGER
-
-
Constructor Detail
-
Type1FontProgram
public Type1FontProgram(ASInputStream fileStream) throws IOException
- Throws:
IOException
-
-
Method Detail
-
parseFont
public void parseFont() throws IOExceptionThis method is entry point for parsing process.- Specified by:
parseFontin interfaceFontProgram- Throws:
IOException- if stream reading error occurs.
-
getWidth
public float getWidth(int charCode)
Description copied from interface:FontProgramReturns width of glyph for given character code.- Specified by:
getWidthin interfaceFontProgram- Parameters:
charCode- is code for glyph.- Returns:
- width of corresponding glyph or -1 if glyph is not found.
-
getWidth
public float getWidth(String glyphName)
Description copied from interface:FontProgramReturns 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.
-
skipSpacesExceptNullByte
protected void skipSpacesExceptNullByte() throws IOException- Throws:
IOException
-
containsCode
public boolean containsCode(int code)
Description copied from interface:FontProgramChecks 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.
-
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.
-
getEncoding
public String[] getEncoding()
- Returns:
- encoding from embedded font program as array of strings. encoding[i] = glyphName <-> i has name glyphName.
-
getCharSet
public Set<String> getCharSet()
- Returns:
- charset from embedded program, i. e. set of all glyph names defined in the embedded font program.
-
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.
-
getFontProgramResource
public ASFileStreamCloser getFontProgramResource()
- Specified by:
getFontProgramResourcein interfaceFontProgram- Returns:
- the closeable object that closes source stream of this font program.
-
-