Package com.sun.pdfview.font.ttf
Class GlyfCompound
- java.lang.Object
-
- com.sun.pdfview.font.ttf.Glyf
-
- com.sun.pdfview.font.ttf.GlyfCompound
-
public class GlyfCompound extends Glyf
A single simple glyph in a pdf font.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
GlyfCompound.GlyfComponent
The record for a single component of this compound glyph
-
Field Summary
Fields Modifier and Type Field Description private static int
ARG_1_AND_2_ARE_WORDS
flagsprivate static int
ARGS_ARE_XY_VALUES
private GlyfCompound.GlyfComponent[]
components
the flags for each compound glyphprivate byte[]
instructions
the instructions for the compound as a wholeprivate static int
MORE_COMPONENTS
private static int
OVERLAP_COMPOUND
private static int
ROUND_XY_TO_GRID
private static int
USE_MY_METRICS
private static int
WE_HAVE_A_SCALE
private static int
WE_HAVE_A_TWO_BY_TWO
private static int
WE_HAVE_AN_X_AND_Y_SCALE
private static int
WE_HAVE_INSTRUCTIONS
-
Constructor Summary
Constructors Modifier Constructor Description protected
GlyfCompound()
Creates a new instance of a simple glyf
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
argsAreWords(int index)
Determine whether args 1 and 2 are words or bytesboolean
argsAreXYValues(int index)
Determine whether args 1 and 2 are xy values or point indicesint
getComponentPoint(int index)
Get the point in the component glyph to matchint
getCompoundPoint(int index)
Get the point in the compound glyph to matchjava.nio.ByteBuffer
getData()
Get the data in this glyf as a byte buffer.short
getFlag(int index)
Get a given flagshort
getGlyphIndex(int index)
Get the glyf index for a given glyfbyte
getInstruction(int index)
Get a given instructionshort
getLength()
Get the length of this glyf.int
getNumComponents()
Get the number of components in this compoundshort
getNumInstructions()
Get the number of instructionsdouble[]
getTransform(int index)
Get the base affine transform.boolean
hasAScale(int index)
Determine whether there is a simple scaleprotected boolean
hasInstructions(int index)
Determine whether there are instructionsprotected boolean
hasTwoByTwo(int index)
Determine whether there is a 2x2 transformprotected boolean
hasXYScale(int index)
Determine whether there are separate scales on X and Yprotected boolean
moreComponents(int index)
Determine whether there are more components left to readboolean
overlapCompound(int index)
This component overlaps the existing compoundboolean
roundXYToGrid(int index)
Determine whether to round XY values to the grid(package private) void
setComponents(GlyfCompound.GlyfComponent[] components)
Set the componentsvoid
setData(java.nio.ByteBuffer data)
Set the data for this glyf.protected void
setInstructions(byte[] instructions)
Set the instructionsboolean
useMetrics(int index)
Use the metrics of this component for the compound-
Methods inherited from class com.sun.pdfview.font.ttf.Glyf
getGlyf, getMaxX, getMaxY, getMinX, getMinY, getNumContours, isCompound, setCompound, setMaxX, setMaxY, setMinX, setMinY, setNumContours
-
-
-
-
Field Detail
-
ARG_1_AND_2_ARE_WORDS
private static final int ARG_1_AND_2_ARE_WORDS
flags- See Also:
- Constant Field Values
-
ARGS_ARE_XY_VALUES
private static final int ARGS_ARE_XY_VALUES
- See Also:
- Constant Field Values
-
ROUND_XY_TO_GRID
private static final int ROUND_XY_TO_GRID
- See Also:
- Constant Field Values
-
WE_HAVE_A_SCALE
private static final int WE_HAVE_A_SCALE
- See Also:
- Constant Field Values
-
MORE_COMPONENTS
private static final int MORE_COMPONENTS
- See Also:
- Constant Field Values
-
WE_HAVE_AN_X_AND_Y_SCALE
private static final int WE_HAVE_AN_X_AND_Y_SCALE
- See Also:
- Constant Field Values
-
WE_HAVE_A_TWO_BY_TWO
private static final int WE_HAVE_A_TWO_BY_TWO
- See Also:
- Constant Field Values
-
WE_HAVE_INSTRUCTIONS
private static final int WE_HAVE_INSTRUCTIONS
- See Also:
- Constant Field Values
-
USE_MY_METRICS
private static final int USE_MY_METRICS
- See Also:
- Constant Field Values
-
OVERLAP_COMPOUND
private static final int OVERLAP_COMPOUND
- See Also:
- Constant Field Values
-
components
private GlyfCompound.GlyfComponent[] components
the flags for each compound glyph
-
instructions
private byte[] instructions
the instructions for the compound as a whole
-
-
Method Detail
-
setData
public void setData(java.nio.ByteBuffer data)
Set the data for this glyf.
-
getData
public java.nio.ByteBuffer getData()
Get the data in this glyf as a byte buffer. Not implemented.
-
getLength
public short getLength()
Get the length of this glyf. Not implemented.
-
getNumComponents
public int getNumComponents()
Get the number of components in this compound
-
getFlag
public short getFlag(int index)
Get a given flag
-
getGlyphIndex
public short getGlyphIndex(int index)
Get the glyf index for a given glyf
-
getTransform
public double[] getTransform(int index)
Get the base affine transform. This is based on a whacy formula defined in the true type font spec.
-
getCompoundPoint
public int getCompoundPoint(int index)
Get the point in the compound glyph to match
-
getComponentPoint
public int getComponentPoint(int index)
Get the point in the component glyph to match
-
argsAreWords
public boolean argsAreWords(int index)
Determine whether args 1 and 2 are words or bytes
-
argsAreXYValues
public boolean argsAreXYValues(int index)
Determine whether args 1 and 2 are xy values or point indices
-
roundXYToGrid
public boolean roundXYToGrid(int index)
Determine whether to round XY values to the grid
-
hasAScale
public boolean hasAScale(int index)
Determine whether there is a simple scale
-
moreComponents
protected boolean moreComponents(int index)
Determine whether there are more components left to read
-
hasXYScale
protected boolean hasXYScale(int index)
Determine whether there are separate scales on X and Y
-
hasTwoByTwo
protected boolean hasTwoByTwo(int index)
Determine whether there is a 2x2 transform
-
hasInstructions
protected boolean hasInstructions(int index)
Determine whether there are instructions
-
useMetrics
public boolean useMetrics(int index)
Use the metrics of this component for the compound
-
overlapCompound
public boolean overlapCompound(int index)
This component overlaps the existing compound
-
setComponents
void setComponents(GlyfCompound.GlyfComponent[] components)
Set the components
-
getNumInstructions
public short getNumInstructions()
Get the number of instructions
-
getInstruction
public byte getInstruction(int index)
Get a given instruction
-
setInstructions
protected void setInstructions(byte[] instructions)
Set the instructions
-
-