Class PtocaBuilder

java.lang.Object
org.apache.fop.afp.ptoca.PtocaBuilder
All Implemented Interfaces:
PtocaConstants

public abstract class PtocaBuilder extends Object implements PtocaConstants
Generator class for PTOCA data structures.
  • Constructor Details

    • PtocaBuilder

      public PtocaBuilder()
  • Method Details

    • getOutputStreamForControlSequence

      protected abstract OutputStream getOutputStreamForControlSequence(int length)
      Returns an OutputStream for the next control sequence. This gives a subclass a chance to do chunking of control sequences into multiple presentation text data objects.
      Parameters:
      length - the length of the following control sequence
      Returns:
      the output stream where the control sequence will be written to
    • writeIntroducer

      public void writeIntroducer() throws IOException
      Writes the introducer for a chained control sequence.
      Throws:
      IOException - if an I/O error occurs
    • setCodedFont

      public void setCodedFont(byte font) throws IOException
      The Set Coded Font Local control sequence activates a coded font and specifies the character attributes to be used.

      This is a modal control sequence.

      Parameters:
      font - The font local identifier.
      Throws:
      IOException - if an I/O error occurs
    • absoluteMoveInline

      public void absoluteMoveInline(int coordinate) throws IOException
      Establishes the current presentation position on the baseline at a new I-axis coordinate, which is a specified number of measurement units from the B-axis. There is no change to the current B-axis coordinate.
      Parameters:
      coordinate - The coordinate for the inline move.
      Throws:
      IOException - if an I/O error occurs
    • relativeMoveInline

      public void relativeMoveInline(int increment) throws IOException
      Moves the inline coordinate of the presentation position relative to the current inline position.
      Parameters:
      increment - the increment in 1/1440 inch units
      Throws:
      IOException - if an I/O error occurs
    • absoluteMoveBaseline

      public void absoluteMoveBaseline(int coordinate) throws IOException
      Establishes the baseline and the current presentation position at a new B-axis coordinate, which is a specified number of measurement units from the I-axis. There is no change to the current I-axis coordinate.
      Parameters:
      coordinate - The coordinate for the baseline move.
      Throws:
      IOException - if an I/O error occurs
    • addTransparentData

      public void addTransparentData(CharactersetEncoder.EncodedChars encodedChars) throws IOException
      The Transparent Data control sequence contains a sequence of code points that are presented without a scan for embedded control sequences. If the data is larger than fits in one chunk, additional chunks are automatically generated.
      Parameters:
      encodedChars - The encoded text data to add.
      Throws:
      IOException - if an I/O error occurs
    • drawBaxisRule

      public void drawBaxisRule(int length, int width) throws IOException
      Draws a line of specified length and specified width in the B-direction from the current presentation position. The location of the current presentation position is unchanged.
      Parameters:
      length - The length of the rule.
      width - The width of the rule.
      Throws:
      IOException - if an I/O error occurs
    • drawIaxisRule

      public void drawIaxisRule(int length, int width) throws IOException
      Draws a line of specified length and specified width in the I-direction from the current presentation position. The location of the current presentation position is unchanged.
      Parameters:
      length - The length of the rule.
      width - The width of the rule.
      Throws:
      IOException - if an I/O error occurs
    • setTextOrientation

      public void setTextOrientation(int orientation) throws IOException
      The Set Text Orientation control sequence establishes the I-direction and B-direction for the subsequent text. This is a modal control sequence. Semantics: This control sequence specifies the I-axis and B-axis orientations with respect to the Xp-axis for the current Presentation Text object. The orientations are rotational values expressed in degrees and minutes.
      Parameters:
      orientation - The text orientation (0, 90, 180, 270).
      Throws:
      IOException - if an I/O error occurs
    • setExtendedTextColor

      public void setExtendedTextColor(Color col) throws IOException
      The Set Extended Text Color control sequence specifies a color value and defines the color space and encoding for that value. The specified color value is applied to foreground areas of the text presentation space.

      This is a modal control sequence.

      Parameters:
      col - The color to be set.
      Throws:
      IOException - if an I/O error occurs
    • setVariableSpaceCharacterIncrement

      public void setVariableSpaceCharacterIncrement(int incr) throws IOException
      Sets the variable space character increment.

      This is a modal control sequence.

      Parameters:
      incr - The increment to be set (positive integer, 1/1440 inch)
      Throws:
      IOException - if an I/O error occurs
    • setInterCharacterAdjustment

      public void setInterCharacterAdjustment(int incr) throws IOException
      Sets the intercharacter adjustment (additional increment or decrement between graphic characters).

      This is a modal control sequence.

      Parameters:
      incr - The increment to be set (1/1440 inch)
      Throws:
      IOException - if an I/O error occurs
    • endChainedControlSequence

      public void endChainedControlSequence() throws IOException
      A control sequence is a sequence of bytes that specifies a control function. A control sequence consists of a control sequence introducer and zero or more parameters. The control sequence can extend multiple presentation text data objects, but must eventually be terminated. This method terminates the control sequence (by using a NOP command).
      Throws:
      IOException - if an I/O error occurs