## com.lowagie.text.pdf
Class ArabicLigaturizer

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

    public class ArabicLigaturizer

extends java.lang.Object

Shape arabic characters. This code was inspired by an LGPL'ed C library: Pango ( see http://www.pango.com/ ). Note that the code of this is the original work of Paulo Soares. Hence it is perfectly justifiable to distribute it under the MPL.

Author:
  Paulo Soares (psoares@consiste.pt)

Nested Class Summary
`(package private) static class` `ArabicLigaturizer.charstruct`

Field Summary
`private static char` `ALEF`
`private static char` `ALEFHAMZA`
`private static char` `ALEFHAMZABELOW`
`private static char` `ALEFMADDA`
`private static char` `ALEFMAKSURA`
`static int` `ar_composedtashkeel`
`static int` `ar_lig`
`static int` `ar_nothing`
`static int` `ar_novowel`
`private static char[][]` `chartable`
`private static char` `DAMMA`
`static int` `DIGIT_TYPE_AN` Digit type option: Use Arabic-Indic digits (U+0660...U+0669).
`static int` `DIGIT_TYPE_AN_EXTENDED` Digit type option: Use Eastern (Extended) Arabic-Indic digits (U+06f0...U+06f9).
`static int` `DIGIT_TYPE_MASK` Bit mask for digit type options.
`static int` `DIGITS_AN2EN` Digit shaping option: Replace Arabic-Indic digits by European digits (U+0030...U+0039).
`static int` `DIGITS_EN2AN` Digit shaping option: Replace European digits (U+0030...U+0039) by Arabic-Indic digits.
`static int` `DIGITS_EN2AN_INIT_AL` Digit shaping option: Replace European digits (U+0030...U+0039) by Arabic-Indic digits if the most recent strongly directional character is an Arabic letter (its Bidi direction value is RIGHT_TO_LEFT_ARABIC).
`static int` `DIGITS_EN2AN_INIT_LR` Digit shaping option: Replace European digits (U+0030...U+0039) by Arabic-Indic digits if the most recent strongly directional character is an Arabic letter (its Bidi direction value is RIGHT_TO_LEFT_ARABIC).
`static int` `DIGITS_MASK` Bit mask for digit shaping options.
`private static int` `DIGITS_RESERVED` Not a valid option value.
`private static char` `FARSIYEH`
`private static char` `FATHA`
`private static char` `HAMZA`
`private static char` `HAMZAABOVE`
`private static char` `HAMZABELOW`
`private static char` `KASRA`
`private static char` `LAM`
`private static char` `LAM_ALEF`
`private static char` `LAM_ALEFHAMZA`
`private static char` `LAM_ALEFHAMZABELOW`
`private static char` `LAM_ALEFMADDA`
`private static char` `MADDA`
`private static char` `SHADDA`
`private static char` `TATWEEL`
`private static char` `WAW`
`private static char` `WAWHAMZA`
`private static char` `YEH`
`private static char` `YEHHAMZA`
`private static char` `ZWJ`

Constructor Summary
`ArabicLigaturizer()`

Method Summary
`(package private) static int` `arabic_shape(char[] src, int srcoffset, int srclength, char[] dest, int destoffset, int destlength, int level)`
`(package private) static char` `charshape(char s, int which)`
`(package private) static boolean` `connects_to_left(ArabicLigaturizer.charstruct a)`
`(package private) static void` `copycstostring(java.lang.StringBuffer string, ArabicLigaturizer.charstruct s, int level)`
`(package private) static void` `doublelig(java.lang.StringBuffer string, int level)`
`(package private) static boolean` `isVowel(char s)`
`(package private) static int` `ligature(char newchar, ArabicLigaturizer.charstruct oldchar)`
`(package private) static void` `processNumbers(char[] text, int offset, int length, int options)`
`(package private) static void` `shape(char[] text, java.lang.StringBuffer string, int level)`
`(package private) static int` `shapecount(char s)`
`(package private) static void` `shapeToArabicDigitsWithContext(char[] dest, int start, int length, char digitBase, boolean lastStrongWasAL)`

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

Field Detail

### ALEF

    private static final char ALEF

See Also:
  Constant Field Values

### ALEFHAMZA

    private static final char ALEFHAMZA

See Also:
  Constant Field Values

### ALEFHAMZABELOW

    private static final char ALEFHAMZABELOW

See Also:
  Constant Field Values

### ALEFMADDA

    private static final char ALEFMADDA

See Also:
  Constant Field Values

### LAM

    private static final char LAM

See Also:
  Constant Field Values

### HAMZA

    private static final char HAMZA

See Also:
  Constant Field Values

### TATWEEL

    private static final char TATWEEL

See Also:
  Constant Field Values

### ZWJ

    private static final char ZWJ

See Also:
  Constant Field Values

### HAMZAABOVE

    private static final char HAMZAABOVE

See Also:
  Constant Field Values

### HAMZABELOW

    private static final char HAMZABELOW

See Also:
  Constant Field Values

### WAWHAMZA

    private static final char WAWHAMZA

See Also:
  Constant Field Values

### YEHHAMZA

    private static final char YEHHAMZA

See Also:
  Constant Field Values

### WAW

    private static final char WAW

See Also:
  Constant Field Values

### ALEFMAKSURA

    private static final char ALEFMAKSURA

See Also:
  Constant Field Values

### YEH

    private static final char YEH

See Also:
  Constant Field Values

### FARSIYEH

    private static final char FARSIYEH

See Also:
  Constant Field Values

### SHADDA

    private static final char SHADDA

See Also:
  Constant Field Values

### KASRA

    private static final char KASRA

See Also:
  Constant Field Values

### FATHA

    private static final char FATHA

See Also:
  Constant Field Values

### DAMMA

    private static final char DAMMA

See Also:
  Constant Field Values

### MADDA

    private static final char MADDA

See Also:
  Constant Field Values

### LAM_ALEF

    private static final char LAM_ALEF

See Also:
  Constant Field Values

### LAM_ALEFHAMZA

    private static final char LAM_ALEFHAMZA

See Also:
  Constant Field Values

### LAM_ALEFHAMZABELOW

    private static final char LAM_ALEFHAMZABELOW

See Also:
  Constant Field Values

### LAM_ALEFMADDA

    private static final char LAM_ALEFMADDA

See Also:
  Constant Field Values

### chartable

    private static final char[][] chartable

### ar_nothing

    public static final int ar_nothing

See Also:
  Constant Field Values

### ar_novowel

    public static final int ar_novowel

See Also:
  Constant Field Values

### ar_composedtashkeel

    public static final int ar_composedtashkeel

See Also:
  Constant Field Values

### ar_lig

    public static final int ar_lig

See Also:
  Constant Field Values

### DIGITS_EN2AN

    public static final int DIGITS_EN2AN

  Digit shaping option: Replace European digits (U+0030...U+0039) by Arabic-Indic digits.

  See Also:
    Constant Field Values

### DIGITS_AN2EN

    public static final int DIGITS_AN2EN

  Digit shaping option: Replace Arabic-Indic digits by European digits (U+0030...U+0039).

  See Also:
    Constant Field Values

### DIGITS_EN2AN_INIT_LR

    public static final int DIGITS_EN2AN_INIT_LR

  Digit shaping option: Replace European digits (U+0030...U+0039) by Arabic-Indic digits if the most recent strongly directional character is an Arabic letter (its Bidi direction value is RIGHT_TO_LEFT_ARABIC). The initial state at the start of the text is assumed to be not an Arabic, letter, so European digits at the start of the text will not change. Compare to DIGITS_ALEN2AN_INIT_AL.

  See Also:
    Constant Field Values

### DIGITS_EN2AN_INIT_AL

    public static final int DIGITS_EN2AN_INIT_AL

  Digit shaping option: Replace European digits (U+0030...U+0039) by Arabic-Indic digits if the most recent strongly directional character is an Arabic letter (its Bidi direction value is RIGHT_TO_LEFT_ARABIC). The initial state at the start of the text is assumed to be an Arabic, letter, so European digits at the start of the text will change. Compare to DIGITS_ALEN2AN_INT_LR.

  See Also:
    Constant Field Values

### DIGITS_RESERVED

    private static final int DIGITS_RESERVED

  Not a valid option value.

  See Also:
    Constant Field Values

### DIGITS_MASK

    public static final int DIGITS_MASK

  Bit mask for digit shaping options.

  See Also:
    Constant Field Values

### DIGIT_TYPE_AN

    public static final int DIGIT_TYPE_AN

  Digit type option: Use Arabic-Indic digits (U+0660...U+0669).

  See Also:
    Constant Field Values

### DIGIT_TYPE_AN_EXTENDED

    public static final int DIGIT_TYPE_AN_EXTENDED

  Digit type option: Use Eastern (Extended) Arabic-Indic digits (U+06f0...U+06f9).

  See Also:
    Constant Field Values

### DIGIT_TYPE_MASK

    public static final int DIGIT_TYPE_MASK

  Bit mask for digit type options.

  See Also:
    Constant Field Values

Constructor Detail

### ArabicLigaturizer

    public ArabicLigaturizer()

Method Detail

### isVowel

    static boolean isVowel(char s)

### charshape

    static char charshape(char s,
                          int which)

### shapecount

    static int shapecount(char s)

### ligature

    static int ligature(char newchar,
                        ArabicLigaturizer.charstruct oldchar)

### copycstostring

    static void copycstostring(java.lang.StringBuffer string,
                               ArabicLigaturizer.charstruct s,
                               int level)

### doublelig

    static void doublelig(java.lang.StringBuffer string,
                          int level)

### connects_to_left

    static boolean connects_to_left(ArabicLigaturizer.charstruct a)

### shape

    static void shape(char[] text,
                      java.lang.StringBuffer string,
                      int level)

### arabic_shape

    static int arabic_shape(char[] src,
                            int srcoffset,
                            int srclength,
                            char[] dest,
                            int destoffset,
                            int destlength,
                            int level)

### processNumbers

    static void processNumbers(char[] text,
                               int offset,
                               int length,
                               int options)

### shapeToArabicDigitsWithContext

    static void shapeToArabicDigitsWithContext(char[] dest,
                                               int start,
                                               int length,
                                               char digitBase,
                                               boolean lastStrongWasAL)

Hosted by Hostbasket