Package org.apache.fop.fonts.type1
Class AFMParser
- java.lang.Object
-
- org.apache.fop.fonts.type1.AFMParser
-
public class AFMParser extends java.lang.Object
Parses the contents of a Type 1 AFM font metrics file into an object structure (AFMFile
).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
AFMParser.AbstractValueHandler
private static class
AFMParser.BeanSetter
private static class
AFMParser.BooleanSetter
private static class
AFMParser.CharBBox
private static class
AFMParser.DoubleSetter
private static class
AFMParser.EndDirection
private static class
AFMParser.FontBBox
private static class
AFMParser.IntegerSetter
private static class
AFMParser.IsBaseFont
private static class
AFMParser.IsCIDFont
private static class
AFMParser.KPXHandler
private static class
AFMParser.NamedCharacterSetter
private static class
AFMParser.NotImplementedYet
private static class
AFMParser.NumberSetter
private static class
AFMParser.StartDirection
private static class
AFMParser.StartFontMetrics
private static class
AFMParser.StringSetter
(package private) static interface
AFMParser.ValueHandler
private static class
AFMParser.WritingDirBooleanSetter
private static class
AFMParser.WritingDirDoubleSetter
private static class
AFMParser.WritingDirNumberSetter
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
ASCENDER
private static java.lang.String
B
private static java.lang.String
C
private static java.lang.String
CAP_HEIGHT
private static java.lang.String
CH
private static java.lang.String
CHARACTER_SET
private static java.lang.String
DESCENDER
private static java.lang.String
ENCODING_SCHEME
private static java.lang.String
END_CHAR_METRICS
private static java.lang.String
END_DIRECTION
private static java.lang.String
END_TRACK_KERN
private static java.lang.String
FAMILY_NAME
private static java.lang.String
FONT_BBOX
private static java.lang.String
FONT_NAME
private static java.lang.String
FULL_NAME
private static java.lang.String
IS_BASE_FONT
private static java.lang.String
IS_CID_FONT
private static java.lang.String
IS_FIXED_PITCH
private static java.lang.String
ITALIC_ANGLE
private static java.lang.String
KP
private static java.lang.String
KPH
private static java.lang.String
KPX
private static java.lang.String
KPY
private static org.apache.commons.logging.Log
log
private static java.lang.String
N
private static int
PARSE_CHAR_METRICS
private static java.util.Map<java.lang.String,java.lang.Integer>
PARSE_MODE_CHANGES
private static int
PARSE_NORMAL
private static java.lang.String
START_CHAR_METRICS
private static java.lang.String
START_COMP_FONT_METRICS
private static java.lang.String
START_COMPOSITES
private static java.lang.String
START_DIRECTION
private static java.lang.String
START_FONT_METRICS
private static java.lang.String
START_KERN_PAIRS1
private static java.lang.String
START_TRACK_KERN
private static java.lang.String
STDHW
private static java.lang.String
STDVW
private static java.lang.String
UNDERLINE_POSITION
private static java.lang.String
UNDERLINE_THICKNESS
private static java.util.Map<java.lang.String,AFMParser.ValueHandler>
VALUE_PARSERS
private static java.lang.String
W
private static java.lang.String
W0
private static java.lang.String
W0X
private static java.lang.String
W0Y
private static java.lang.String
W1
private static java.lang.String
W1X
private static java.lang.String
W1Y
private static java.lang.String
WEIGHT
private static java.lang.String
WX
private static java.lang.String
WY
private static java.lang.String
X_HEIGHT
-
Constructor Summary
Constructors Constructor Description AFMParser()
Main constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static boolean
isWhitespace(char ch)
AFMFile
parse(java.io.BufferedReader reader, java.lang.String afmFileName)
Parses an AFM file from a BufferedReader.AFMFile
parse(java.io.InputStream in, java.lang.String afmFileName)
Parses an AFM file from a stream.private java.lang.String
parseCharMetrics(java.lang.String line, java.util.Stack<java.lang.Object> stack, java.lang.String afmFileName)
private java.lang.String
parseLine(java.lang.String line, java.util.Stack<java.lang.Object> stack)
private static int
skipToNonWhiteSpace(java.lang.String line, int startpos)
private static int
skipToWhiteSpace(java.lang.String line, int startpos)
-
-
-
Field Detail
-
log
private static org.apache.commons.logging.Log log
-
START_FONT_METRICS
private static final java.lang.String START_FONT_METRICS
- See Also:
- Constant Field Values
-
FONT_NAME
private static final java.lang.String FONT_NAME
- See Also:
- Constant Field Values
-
FULL_NAME
private static final java.lang.String FULL_NAME
- See Also:
- Constant Field Values
-
FAMILY_NAME
private static final java.lang.String FAMILY_NAME
- See Also:
- Constant Field Values
-
WEIGHT
private static final java.lang.String WEIGHT
- See Also:
- Constant Field Values
-
FONT_BBOX
private static final java.lang.String FONT_BBOX
- See Also:
- Constant Field Values
-
ENCODING_SCHEME
private static final java.lang.String ENCODING_SCHEME
- See Also:
- Constant Field Values
-
CHARACTER_SET
private static final java.lang.String CHARACTER_SET
- See Also:
- Constant Field Values
-
IS_BASE_FONT
private static final java.lang.String IS_BASE_FONT
- See Also:
- Constant Field Values
-
IS_CID_FONT
private static final java.lang.String IS_CID_FONT
- See Also:
- Constant Field Values
-
CAP_HEIGHT
private static final java.lang.String CAP_HEIGHT
- See Also:
- Constant Field Values
-
X_HEIGHT
private static final java.lang.String X_HEIGHT
- See Also:
- Constant Field Values
-
ASCENDER
private static final java.lang.String ASCENDER
- See Also:
- Constant Field Values
-
DESCENDER
private static final java.lang.String DESCENDER
- See Also:
- Constant Field Values
-
STDHW
private static final java.lang.String STDHW
- See Also:
- Constant Field Values
-
STDVW
private static final java.lang.String STDVW
- See Also:
- Constant Field Values
-
UNDERLINE_POSITION
private static final java.lang.String UNDERLINE_POSITION
- See Also:
- Constant Field Values
-
UNDERLINE_THICKNESS
private static final java.lang.String UNDERLINE_THICKNESS
- See Also:
- Constant Field Values
-
ITALIC_ANGLE
private static final java.lang.String ITALIC_ANGLE
- See Also:
- Constant Field Values
-
IS_FIXED_PITCH
private static final java.lang.String IS_FIXED_PITCH
- See Also:
- Constant Field Values
-
START_DIRECTION
private static final java.lang.String START_DIRECTION
- See Also:
- Constant Field Values
-
END_DIRECTION
private static final java.lang.String END_DIRECTION
- See Also:
- Constant Field Values
-
START_CHAR_METRICS
private static final java.lang.String START_CHAR_METRICS
- See Also:
- Constant Field Values
-
END_CHAR_METRICS
private static final java.lang.String END_CHAR_METRICS
- See Also:
- Constant Field Values
-
C
private static final java.lang.String C
- See Also:
- Constant Field Values
-
CH
private static final java.lang.String CH
- See Also:
- Constant Field Values
-
WX
private static final java.lang.String WX
- See Also:
- Constant Field Values
-
W0X
private static final java.lang.String W0X
- See Also:
- Constant Field Values
-
W1X
private static final java.lang.String W1X
- See Also:
- Constant Field Values
-
WY
private static final java.lang.String WY
- See Also:
- Constant Field Values
-
W0Y
private static final java.lang.String W0Y
- See Also:
- Constant Field Values
-
W1Y
private static final java.lang.String W1Y
- See Also:
- Constant Field Values
-
W
private static final java.lang.String W
- See Also:
- Constant Field Values
-
W0
private static final java.lang.String W0
- See Also:
- Constant Field Values
-
W1
private static final java.lang.String W1
- See Also:
- Constant Field Values
-
N
private static final java.lang.String N
- See Also:
- Constant Field Values
-
B
private static final java.lang.String B
- See Also:
- Constant Field Values
-
START_TRACK_KERN
private static final java.lang.String START_TRACK_KERN
- See Also:
- Constant Field Values
-
END_TRACK_KERN
private static final java.lang.String END_TRACK_KERN
- See Also:
- Constant Field Values
-
START_KERN_PAIRS1
private static final java.lang.String START_KERN_PAIRS1
- See Also:
- Constant Field Values
-
START_COMPOSITES
private static final java.lang.String START_COMPOSITES
- See Also:
- Constant Field Values
-
START_COMP_FONT_METRICS
private static final java.lang.String START_COMP_FONT_METRICS
- See Also:
- Constant Field Values
-
KP
private static final java.lang.String KP
- See Also:
- Constant Field Values
-
KPH
private static final java.lang.String KPH
- See Also:
- Constant Field Values
-
KPX
private static final java.lang.String KPX
- See Also:
- Constant Field Values
-
KPY
private static final java.lang.String KPY
- See Also:
- Constant Field Values
-
PARSE_NORMAL
private static final int PARSE_NORMAL
- See Also:
- Constant Field Values
-
PARSE_CHAR_METRICS
private static final int PARSE_CHAR_METRICS
- See Also:
- Constant Field Values
-
VALUE_PARSERS
private static final java.util.Map<java.lang.String,AFMParser.ValueHandler> VALUE_PARSERS
-
PARSE_MODE_CHANGES
private static final java.util.Map<java.lang.String,java.lang.Integer> PARSE_MODE_CHANGES
-
-
Method Detail
-
parse
public AFMFile parse(java.io.InputStream in, java.lang.String afmFileName) throws java.io.IOException
Parses an AFM file from a stream.- Parameters:
in
- the stream to read fromafmFileName
- the name of the AFM file- Returns:
- the parsed AFM file
- Throws:
java.io.IOException
- if an I/O error occurs
-
parse
public AFMFile parse(java.io.BufferedReader reader, java.lang.String afmFileName) throws java.io.IOException
Parses an AFM file from a BufferedReader.- Parameters:
reader
- the BufferedReader instance to read fromafmFileName
- the name of the AFM file- Returns:
- the parsed AFM file
- Throws:
java.io.IOException
- if an I/O error occurs
-
parseLine
private java.lang.String parseLine(java.lang.String line, java.util.Stack<java.lang.Object> stack) throws java.io.IOException
- Throws:
java.io.IOException
-
parseCharMetrics
private java.lang.String parseCharMetrics(java.lang.String line, java.util.Stack<java.lang.Object> stack, java.lang.String afmFileName) throws java.io.IOException
- Throws:
java.io.IOException
-
skipToNonWhiteSpace
private static int skipToNonWhiteSpace(java.lang.String line, int startpos)
-
skipToWhiteSpace
private static int skipToWhiteSpace(java.lang.String line, int startpos)
-
isWhitespace
private static boolean isWhitespace(char ch)
-
-