- java.lang.Object
-
- com.itextpdf.text.pdf.BidiLine
-
public class BidiLine extends java.lang.ObjectDoes all the line bidirectional processing with PdfChunk assembly.- Author:
- Paulo Soares (psoares@consiste.pt)
-
-
Field Summary
Fields Modifier and Type Field Description protected intarabicOptionsprotected java.util.ArrayListchunksprotected intcurrentCharprotected PdfChunk[]detailChunksprotected int[]indexCharsprotected intindexChunkprotected intindexChunkCharprotected static IntHashtablemirrorCharsprotected byte[]orderLevelsprotected intpieceSizeprotected intrunDirectionprotected booleanshortStoreprotected intstoredCurrentCharprotected PdfChunk[]storedDetailChunksprotected int[]storedIndexCharsprotected intstoredIndexChunkprotected intstoredIndexChunkCharprotected byte[]storedOrderLevelsprotected intstoredRunDirectionprotected char[]storedTextprotected intstoredTotalTextLengthprotected char[]textprotected inttotalTextLength
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChunk(PdfChunk chunk)voidaddChunks(java.util.ArrayList chunks)voidaddPiece(char c, PdfChunk chunk)voidclearChunks()java.util.ArrayListcreateArrayOfPdfChunks(int startIdx, int endIdx)java.util.ArrayListcreateArrayOfPdfChunks(int startIdx, int endIdx, PdfChunk extraPdfChunk)voiddoArabicShapping()voidflip(int start, int end)booleangetParagraph(int runDirection)floatgetWidth(int startIdx, int lastIdx)Gets the width of a range of characters.int[]getWord(int startIdx, int idx)booleanisEmpty()static booleanisWS(char c)voidmirrorGlyphs()PdfLineprocessLine(float leftX, float width, int alignment, int runDirection, int arabicOptions)voidreorder(int start, int end)voidrestore()voidsave()inttrimLeft(int startIdx, int endIdx)inttrimLeftEx(int startIdx, int endIdx)inttrimRight(int startIdx, int endIdx)inttrimRightEx(int startIdx, int endIdx)
-
-
-
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 calculatelastIdx- 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)
-
-