Class ArabicLigaturizer

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

public class ArabicLigaturizer extends Object
Shape arabic characters. This code was converted from a C version at www.pango.org.
  • Field Details

    • ALEF

      private static final char ALEF
      See Also:
    • ALEFHAMZA

      private static final char ALEFHAMZA
      See Also:
    • ALEFHAMZABELOW

      private static final char ALEFHAMZABELOW
      See Also:
    • ALEFMADDA

      private static final char ALEFMADDA
      See Also:
    • LAM

      private static final char LAM
      See Also:
    • HAMZA

      private static final char HAMZA
      See Also:
    • TATWEEL

      private static final char TATWEEL
      See Also:
    • ZWJ

      private static final char ZWJ
      See Also:
    • HAMZAABOVE

      private static final char HAMZAABOVE
      See Also:
    • HAMZABELOW

      private static final char HAMZABELOW
      See Also:
    • WAWHAMZA

      private static final char WAWHAMZA
      See Also:
    • YEHHAMZA

      private static final char YEHHAMZA
      See Also:
    • WAW

      private static final char WAW
      See Also:
    • ALEFMAKSURA

      private static final char ALEFMAKSURA
      See Also:
    • YEH

      private static final char YEH
      See Also:
    • FARSIYEH

      private static final char FARSIYEH
      See Also:
    • SHADDA

      private static final char SHADDA
      See Also:
    • KASRA

      private static final char KASRA
      See Also:
    • FATHA

      private static final char FATHA
      See Also:
    • DAMMA

      private static final char DAMMA
      See Also:
    • MADDA

      private static final char MADDA
      See Also:
    • LAM_ALEF

      private static final char LAM_ALEF
      See Also:
    • LAM_ALEFHAMZA

      private static final char LAM_ALEFHAMZA
      See Also:
    • LAM_ALEFHAMZABELOW

      private static final char LAM_ALEFHAMZABELOW
      See Also:
    • LAM_ALEFMADDA

      private static final char LAM_ALEFMADDA
      See Also:
    • chartable

      private static final char[][] chartable
    • ar_nothing

      public static final int ar_nothing
      See Also:
    • ar_novowel

      public static final int ar_novowel
      See Also:
    • ar_composedtashkeel

      public static final int ar_composedtashkeel
      See Also:
    • ar_lig

      public static final int ar_lig
      See Also:
    • DIGITS_EN2AN

      public static final int DIGITS_EN2AN
      Digit shaping option: Replace European digits (U+0030...U+0039) by Arabic-Indic digits.
      See Also:
    • DIGITS_AN2EN

      public static final int DIGITS_AN2EN
      Digit shaping option: Replace Arabic-Indic digits by European digits (U+0030...U+0039).
      See Also:
    • 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:
    • 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:
    • DIGITS_RESERVED

      private static final int DIGITS_RESERVED
      Not a valid option value.
      See Also:
    • DIGITS_MASK

      public static final int DIGITS_MASK
      Bit mask for digit shaping options.
      See Also:
    • DIGIT_TYPE_AN

      public static final int DIGIT_TYPE_AN
      Digit type option: Use Arabic-Indic digits (U+0660...U+0669).
      See Also:
    • 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:
    • DIGIT_TYPE_MASK

      public static final int DIGIT_TYPE_MASK
      Bit mask for digit type options.
      See Also:
  • Constructor Details

    • ArabicLigaturizer

      public ArabicLigaturizer()
  • Method Details

    • 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(StringBuffer string, ArabicLigaturizer.charstruct s, int level)
    • doublelig

      static void doublelig(StringBuffer string, int level)
    • connects_to_left

      static boolean connects_to_left(ArabicLigaturizer.charstruct a)
    • shape

      static void shape(char[] text, 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)