## com.lowagie.text.pdf
Class BidiLine

    java.lang.Object
      com.lowagie.text.pdf.BidiLine

    public class BidiLine

extends java.lang.Object

Does all the line bidirectional processing with PdfChunk assembly.

Author:
  Paulo Soares (psoares@consiste.pt)

Field Summary
`protected int` `arabicOptions`
`protected java.util.ArrayList` `chunks`
`protected int` `currentChar`
`protected PdfChunk[]` `detailChunks`
`protected int[]` `indexChars`
`protected int` `indexChunk`
`protected int` `indexChunkChar`
`protected static IntHashtable` `mirrorChars`
`protected byte[]` `orderLevels`
`protected int` `pieceSize`
`protected int` `runDirection`
`protected boolean` `shortStore`
`protected int` `storedCurrentChar`
`protected PdfChunk[]` `storedDetailChunks`
`protected int[]` `storedIndexChars`
`protected int` `storedIndexChunk`
`protected int` `storedIndexChunkChar`
`protected byte[]` `storedOrderLevels`
`protected int` `storedRunDirection`
`protected char[]` `storedText`
`protected int` `storedTotalTextLength`
`protected char[]` `text`
`protected int` `totalTextLength`

Constructor Summary
`BidiLine()` Creates new BidiLine
`BidiLine(BidiLine org)`

Method Summary
`void` `addChunk(PdfChunk chunk)`
`void` `addChunks(java.util.ArrayList chunks)`
`void` `addPiece(char c, PdfChunk chunk)`
`void` `clearChunks()`
`java.util.ArrayList` `createArrayOfPdfChunks(int startIdx, int endIdx)`
`java.util.ArrayList` `createArrayOfPdfChunks(int startIdx, int endIdx, PdfChunk extraPdfChunk)`
`void` `doArabicShapping()`
`void` `flip(int start, int end)`
`boolean` `getParagraph(int runDirection)`
`float` `getWidth(int startIdx, int lastIdx)` Gets the width of a range of characters.
`int[]` `getWord(int startIdx, int idx)`
`boolean` `isEmpty()`
`static boolean` `isWS(char c)`
`void` `mirrorGlyphs()`
`PdfLine` `processLine(float leftX, float width, int alignment, int runDirection, int arabicOptions)`
`void` `reorder(int start, int end)`
`void` `restore()`
`void` `save()`
`int` `trimLeft(int startIdx, int endIdx)`
`int` `trimLeftEx(int startIdx, int endIdx)`
`int` `trimRight(int startIdx, int endIdx)`
`int` `trimRightEx(int startIdx, int endIdx)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### runDirection

    protected int runDirection

### pieceSize

    protected int pieceSize

### text

    protected char[] text

### detailChunks

    protected PdfChunk[] detailChunks

### totalTextLength

    protected int totalTextLength

### orderLevels

    protected byte[] orderLevels

### indexChars

    protected int[] indexChars

### chunks

    protected java.util.ArrayList chunks

### indexChunk

    protected int indexChunk

### indexChunkChar

    protected int indexChunkChar

### currentChar

    protected int currentChar

### storedRunDirection

    protected int storedRunDirection

### storedText

    protected char[] storedText

### storedDetailChunks

    protected PdfChunk[] storedDetailChunks

### storedTotalTextLength

    protected int storedTotalTextLength

### storedOrderLevels

    protected byte[] storedOrderLevels

### storedIndexChars

    protected int[] storedIndexChars

### storedIndexChunk

    protected int storedIndexChunk

### storedIndexChunkChar

    protected int storedIndexChunkChar

### storedCurrentChar

    protected int storedCurrentChar

### shortStore

    protected boolean shortStore

### mirrorChars

    protected static final IntHashtable mirrorChars

### arabicOptions

    protected int arabicOptions

Constructor Detail

### BidiLine

    public BidiLine()

  Creates new BidiLine

### BidiLine

    public BidiLine(BidiLine org)

Method Detail

### isEmpty

    public boolean isEmpty()

### clearChunks

    public void clearChunks()

### getParagraph

    public boolean getParagraph(int runDirection)

### addChunk

    public void addChunk(PdfChunk chunk)

### addChunks

    public void addChunks(java.util.ArrayList chunks)

### addPiece

    public void addPiece(char c,
                         PdfChunk chunk)

### save

    public void save()

### restore

    public void restore()

### mirrorGlyphs

    public void mirrorGlyphs()

### doArabicShapping

    public void doArabicShapping()

### processLine

    public PdfLine processLine(float leftX,
                               float width,
                               int alignment,
                               int runDirection,
                               int arabicOptions)

### getWidth

    public float getWidth(int startIdx,
                          int lastIdx)

  Gets the width of a range of characters.

  Parameters:
    `startIdx` - the first index to calculate
    `lastIdx` - the last inclusive index to calculate
  Returns:
    the sum of all widths

### createArrayOfPdfChunks

    public java.util.ArrayList createArrayOfPdfChunks(int startIdx,
                                                      int endIdx)

### createArrayOfPdfChunks

    public java.util.ArrayList createArrayOfPdfChunks(int startIdx,
                                                      int endIdx,
                                                      PdfChunk extraPdfChunk)

### getWord

    public int[] getWord(int startIdx,
                         int idx)

### trimRight

    public int trimRight(int startIdx,
                         int endIdx)

### trimLeft

    public int trimLeft(int startIdx,
                        int endIdx)

### trimRightEx

    public int trimRightEx(int startIdx,
                           int endIdx)

### trimLeftEx

    public int trimLeftEx(int startIdx,
                          int endIdx)

### reorder

    public void reorder(int start,
                        int end)

### flip

    public void flip(int start,
                     int end)

### isWS

    public static boolean isWS(char c)

Hosted by Hostbasket