Package org.apache.fontbox.ttf
Class KerningSubtable
java.lang.Object
org.apache.fontbox.ttf.KerningSubtable
A 'kern' table in a true type font.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static interface
private static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private boolean
private boolean
private static final org.apache.commons.logging.Log
private boolean
private KerningSubtable.PairData
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static int
getBits
(int bits, int mask, int shift) int[]
getKerning
(int[] glyphs) Obtain kerning adjustments for GLYPHS sequence, where the Nth returned adjustment is associated with the Nth glyph and the succeeding non-zero glyph in the GLYPHS sequence.int
getKerning
(int l, int r) Obtain kerning adjustment for glyph pair {L,R}.private static boolean
isBitsSet
(int bits, int mask, int shift) boolean
Determine if subtable is designated for use in horizontal writing modes and contains inline progression kerning pairs (not block progression "cross stream") kerning pairs.boolean
isHorizontalKerning
(boolean cross) Determine if subtable is designated for use in horizontal writing modes, contains kerning pairs (as opposed to minimum pairs), and, if CROSS is true, then return cross stream designator; otherwise, if CROSS is false, return true if cross stream designator is false.(package private) void
read
(TTFDataStream data, int version) This will read the required data from the stream.private void
readSubtable0
(TTFDataStream data) private void
private void
private void
readSubtable1
(TTFDataStream data)
-
Field Details
-
LOG
private static final org.apache.commons.logging.Log LOG -
COVERAGE_HORIZONTAL
private static final int COVERAGE_HORIZONTAL- See Also:
-
COVERAGE_MINIMUMS
private static final int COVERAGE_MINIMUMS- See Also:
-
COVERAGE_CROSS_STREAM
private static final int COVERAGE_CROSS_STREAM- See Also:
-
COVERAGE_FORMAT
private static final int COVERAGE_FORMAT- See Also:
-
COVERAGE_HORIZONTAL_SHIFT
private static final int COVERAGE_HORIZONTAL_SHIFT- See Also:
-
COVERAGE_MINIMUMS_SHIFT
private static final int COVERAGE_MINIMUMS_SHIFT- See Also:
-
COVERAGE_CROSS_STREAM_SHIFT
private static final int COVERAGE_CROSS_STREAM_SHIFT- See Also:
-
COVERAGE_FORMAT_SHIFT
private static final int COVERAGE_FORMAT_SHIFT- See Also:
-
horizontal
private boolean horizontal -
minimums
private boolean minimums -
crossStream
private boolean crossStream -
pairs
-
-
Constructor Details
-
KerningSubtable
KerningSubtable()
-
-
Method Details
-
read
This will read the required data from the stream.- Parameters:
data
- The stream to read the data from.version
- The version of the table to be read- Throws:
IOException
- If there is an error reading the data.
-
isHorizontalKerning
public boolean isHorizontalKerning()Determine if subtable is designated for use in horizontal writing modes and contains inline progression kerning pairs (not block progression "cross stream") kerning pairs.- Returns:
- true if subtable is for horizontal kerning
-
isHorizontalKerning
public boolean isHorizontalKerning(boolean cross) Determine if subtable is designated for use in horizontal writing modes, contains kerning pairs (as opposed to minimum pairs), and, if CROSS is true, then return cross stream designator; otherwise, if CROSS is false, return true if cross stream designator is false.- Parameters:
cross
- if true, then return cross stream designator in horizontal modes- Returns:
- true if subtable is for horizontal kerning in horizontal modes
-
getKerning
public int[] getKerning(int[] glyphs) Obtain kerning adjustments for GLYPHS sequence, where the Nth returned adjustment is associated with the Nth glyph and the succeeding non-zero glyph in the GLYPHS sequence. Kerning adjustments are returned in font design coordinates.- Parameters:
glyphs
- a (possibly empty) array of glyph identifiers- Returns:
- a (possibly empty) array of kerning adjustments
-
getKerning
public int getKerning(int l, int r) Obtain kerning adjustment for glyph pair {L,R}.- Parameters:
l
- left member of glyph pairr
- right member of glyph pair- Returns:
- a (possibly zero) kerning adjustment
-
readSubtable0
- Throws:
IOException
-
readSubtable0Format0
- Throws:
IOException
-
readSubtable0Format2
-
readSubtable1
-
isBitsSet
private static boolean isBitsSet(int bits, int mask, int shift) -
getBits
private static int getBits(int bits, int mask, int shift)
-