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 interfaceprivate static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate booleanprivate booleanprivate static final org.apache.commons.logging.Logprivate booleanprivate KerningSubtable.PairData -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static intgetBits(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.intgetKerning(int l, int r) Obtain kerning adjustment for glyph pair {L,R}.private static booleanisBitsSet(int bits, int mask, int shift) booleanDetermine if subtable is designated for use in horizontal writing modes and contains inline progression kerning pairs (not block progression "cross stream") kerning pairs.booleanisHorizontalKerning(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) voidread(TTFDataStream data, int version) This will read the required data from the stream.private voidreadSubtable0(TTFDataStream data) private voidprivate voidprivate voidreadSubtable1(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)
-