public final class org.apache.batik.gvt.text.ArabicTextHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.batik.gvt.text.ArabicTextHandler
  super_class: java.lang.Object
{
  private static final int arabicStart;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1536

  private static final int arabicEnd;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1791

  private static final java.text.AttributedCharacterIterator$Attribute ARABIC_FORM;
    descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Integer ARABIC_NONE;
    descriptor: Ljava/lang/Integer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Integer ARABIC_ISOLATED;
    descriptor: Ljava/lang/Integer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Integer ARABIC_TERMINAL;
    descriptor: Ljava/lang/Integer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Integer ARABIC_INITIAL;
    descriptor: Ljava/lang/Integer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Integer ARABIC_MEDIAL;
    descriptor: Ljava/lang/Integer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static int singleCharFirst;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static int singleCharLast;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static int[][] singleCharRemappings;
    descriptor: [[I
    flags: (0x0008) ACC_STATIC

  static int doubleCharFirst;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static int doubleCharLast;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static int[][][] doubleCharRemappings;
    descriptor: [[[I
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=0, args_size=0
         0: .line 41
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_FORM:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
         1: .line 40
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
         2: .line 43
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_NONE:Ljava/lang/Integer;
         3: .line 42
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_NONE:Ljava/lang/Integer;
         4: .line 45
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_ISOLATED:Ljava/lang/Integer;
         5: .line 44
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_ISOLATED:Ljava/lang/Integer;
         6: .line 47
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_TERMINAL:Ljava/lang/Integer;
         7: .line 46
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_TERMINAL:Ljava/lang/Integer;
         8: .line 49
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_INITIAL:Ljava/lang/Integer;
         9: .line 48
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_INITIAL:Ljava/lang/Integer;
        10: .line 51
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ARABIC_MEDIAL:Ljava/lang/Integer;
        11: .line 50
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_MEDIAL:Ljava/lang/Integer;
        12: .line 561
            sipush 1569
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.singleCharFirst:I
        13: .line 562
            sipush 1610
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.singleCharLast:I
        14: .line 563
            bipush 42
            anewarray int[]
            dup
            iconst_0
        15: .line 565
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65152
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            iconst_1
        16: .line 566
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65153
            iastore
            dup
            iconst_1
            ldc 65154
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            iconst_2
        17: .line 567
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65155
            iastore
            dup
            iconst_1
            ldc 65156
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            iconst_3
        18: .line 568
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65157
            iastore
            dup
            iconst_1
            ldc 65158
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            iconst_4
        19: .line 569
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65159
            iastore
            dup
            iconst_1
            ldc 65160
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            iconst_5
        20: .line 570
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65161
            iastore
            dup
            iconst_1
            ldc 65162
            iastore
            dup
            iconst_2
            ldc 65163
            iastore
            dup
            iconst_3
            ldc 65164
            iastore
            aastore
            dup
            bipush 6
        21: .line 571
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65165
            iastore
            dup
            iconst_1
            ldc 65166
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            bipush 7
        22: .line 572
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65167
            iastore
            dup
            iconst_1
            ldc 65168
            iastore
            dup
            iconst_2
            ldc 65169
            iastore
            dup
            iconst_3
            ldc 65170
            iastore
            aastore
            dup
            bipush 8
        23: .line 573
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65171
            iastore
            dup
            iconst_1
            ldc 65172
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            bipush 9
        24: .line 574
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65173
            iastore
            dup
            iconst_1
            ldc 65174
            iastore
            dup
            iconst_2
            ldc 65175
            iastore
            dup
            iconst_3
            ldc 65176
            iastore
            aastore
            dup
            bipush 10
        25: .line 575
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65177
            iastore
            dup
            iconst_1
            ldc 65178
            iastore
            dup
            iconst_2
            ldc 65179
            iastore
            dup
            iconst_3
            ldc 65180
            iastore
            aastore
            dup
            bipush 11
        26: .line 576
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65181
            iastore
            dup
            iconst_1
            ldc 65182
            iastore
            dup
            iconst_2
            ldc 65183
            iastore
            dup
            iconst_3
            ldc 65184
            iastore
            aastore
            dup
            bipush 12
        27: .line 577
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65185
            iastore
            dup
            iconst_1
            ldc 65186
            iastore
            dup
            iconst_2
            ldc 65187
            iastore
            dup
            iconst_3
            ldc 65188
            iastore
            aastore
            dup
            bipush 13
        28: .line 578
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65189
            iastore
            dup
            iconst_1
            ldc 65190
            iastore
            dup
            iconst_2
            ldc 65191
            iastore
            dup
            iconst_3
            ldc 65192
            iastore
            aastore
            dup
            bipush 14
        29: .line 579
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65193
            iastore
            dup
            iconst_1
            ldc 65194
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            bipush 15
        30: .line 580
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65195
            iastore
            dup
            iconst_1
            ldc 65196
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            bipush 16
        31: .line 581
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65197
            iastore
            dup
            iconst_1
            ldc 65198
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            bipush 17
        32: .line 582
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65199
            iastore
            dup
            iconst_1
            ldc 65200
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            bipush 18
        33: .line 583
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65201
            iastore
            dup
            iconst_1
            ldc 65202
            iastore
            dup
            iconst_2
            ldc 65203
            iastore
            dup
            iconst_3
            ldc 65204
            iastore
            aastore
            dup
            bipush 19
        34: .line 584
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65205
            iastore
            dup
            iconst_1
            ldc 65206
            iastore
            dup
            iconst_2
            ldc 65207
            iastore
            dup
            iconst_3
            ldc 65208
            iastore
            aastore
            dup
            bipush 20
        35: .line 585
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65209
            iastore
            dup
            iconst_1
            ldc 65210
            iastore
            dup
            iconst_2
            ldc 65211
            iastore
            dup
            iconst_3
            ldc 65212
            iastore
            aastore
            dup
            bipush 21
        36: .line 586
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65213
            iastore
            dup
            iconst_1
            ldc 65214
            iastore
            dup
            iconst_2
            ldc 65215
            iastore
            dup
            iconst_3
            ldc 65216
            iastore
            aastore
            dup
            bipush 22
        37: .line 587
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65217
            iastore
            dup
            iconst_1
            ldc 65218
            iastore
            dup
            iconst_2
            ldc 65219
            iastore
            dup
            iconst_3
            ldc 65220
            iastore
            aastore
            dup
            bipush 23
        38: .line 588
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65221
            iastore
            dup
            iconst_1
            ldc 65222
            iastore
            dup
            iconst_2
            ldc 65223
            iastore
            dup
            iconst_3
            ldc 65224
            iastore
            aastore
            dup
            bipush 24
        39: .line 589
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65225
            iastore
            dup
            iconst_1
            ldc 65226
            iastore
            dup
            iconst_2
            ldc 65227
            iastore
            dup
            iconst_3
            ldc 65228
            iastore
            aastore
            dup
            bipush 25
        40: .line 590
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65229
            iastore
            dup
            iconst_1
            ldc 65230
            iastore
            dup
            iconst_2
            ldc 65231
            iastore
            dup
            iconst_3
            ldc 65232
            iastore
            aastore
            dup
            bipush 32
        41: .line 599
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65233
            iastore
            dup
            iconst_1
            ldc 65234
            iastore
            dup
            iconst_2
            ldc 65235
            iastore
            dup
            iconst_3
            ldc 65236
            iastore
            aastore
            dup
            bipush 33
        42: .line 600
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65237
            iastore
            dup
            iconst_1
            ldc 65238
            iastore
            dup
            iconst_2
            ldc 65239
            iastore
            dup
            iconst_3
            ldc 65240
            iastore
            aastore
            dup
            bipush 34
        43: .line 601
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65241
            iastore
            dup
            iconst_1
            ldc 65242
            iastore
            dup
            iconst_2
            ldc 65243
            iastore
            dup
            iconst_3
            ldc 65244
            iastore
            aastore
            dup
            bipush 35
        44: .line 602
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65245
            iastore
            dup
            iconst_1
            ldc 65246
            iastore
            dup
            iconst_2
            ldc 65247
            iastore
            dup
            iconst_3
            ldc 65248
            iastore
            aastore
            dup
            bipush 36
        45: .line 603
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65249
            iastore
            dup
            iconst_1
            ldc 65250
            iastore
            dup
            iconst_2
            ldc 65251
            iastore
            dup
            iconst_3
            ldc 65252
            iastore
            aastore
            dup
            bipush 37
        46: .line 604
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65253
            iastore
            dup
            iconst_1
            ldc 65254
            iastore
            dup
            iconst_2
            ldc 65255
            iastore
            dup
            iconst_3
            ldc 65256
            iastore
            aastore
            dup
            bipush 38
        47: .line 605
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65257
            iastore
            dup
            iconst_1
            ldc 65258
            iastore
            dup
            iconst_2
            ldc 65259
            iastore
            dup
            iconst_3
            ldc 65260
            iastore
            aastore
            dup
            bipush 39
        48: .line 606
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65261
            iastore
            dup
            iconst_1
            ldc 65262
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            bipush 40
        49: .line 607
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65263
            iastore
            dup
            iconst_1
            ldc 65264
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            aastore
            dup
            bipush 41
        50: .line 608
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc 65265
            iastore
            dup
            iconst_1
            ldc 65266
            iastore
            dup
            iconst_2
            ldc 65267
            iastore
            dup
            iconst_3
            ldc 65268
            iastore
            aastore
        51: .line 563
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.singleCharRemappings:[[I
        52: .line 610
            sipush 1570
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharFirst:I
        53: .line 611
            sipush 1618
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharLast:I
        54: .line 612
            bipush 43
            anewarray int[][]
            dup
            iconst_0
        55: .line 614
            iconst_1
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1604
            iastore
            dup
            iconst_1
            ldc 65269
            iastore
            dup
            iconst_2
            ldc 65270
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            aastore
            dup
            iconst_1
        56: .line 615
            iconst_1
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1604
            iastore
            dup
            iconst_1
            ldc 65271
            iastore
            dup
            iconst_2
            ldc 65272
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            aastore
            dup
            iconst_3
        57: .line 617
            iconst_1
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1604
            iastore
            dup
            iconst_1
            ldc 65273
            iastore
            dup
            iconst_2
            ldc 65274
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            aastore
            dup
            iconst_5
        58: .line 619
            iconst_1
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1604
            iastore
            dup
            iconst_1
            ldc 65275
            iastore
            dup
            iconst_2
            ldc 65276
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            aastore
            dup
            bipush 35
        59: .line 651
            iconst_2
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            bipush 32
            iastore
            dup
            iconst_1
            ldc 65136
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            dup
            iconst_1
        60: .line 652
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1600
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            ldc 65137
            iastore
            aastore
            aastore
            dup
            bipush 36
        61: .line 653
            iconst_1
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            bipush 32
            iastore
            dup
            iconst_1
            ldc 65138
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            aastore
            dup
            bipush 37
        62: .line 654
            iconst_1
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            bipush 32
            iastore
            dup
            iconst_1
            ldc 65140
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            aastore
            dup
            bipush 38
        63: .line 655
            iconst_2
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            bipush 32
            iastore
            dup
            iconst_1
            ldc 65142
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            dup
            iconst_1
        64: .line 656
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1600
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            ldc 65143
            iastore
            aastore
            aastore
            dup
            bipush 39
        65: .line 657
            iconst_2
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            bipush 32
            iastore
            dup
            iconst_1
            ldc 65144
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            dup
            iconst_1
        66: .line 658
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1600
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            ldc 65145
            iastore
            aastore
            aastore
            dup
            bipush 40
        67: .line 659
            iconst_2
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            bipush 32
            iastore
            dup
            iconst_1
            ldc 65146
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            dup
            iconst_1
        68: .line 660
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1600
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            ldc 65147
            iastore
            aastore
            aastore
            dup
            bipush 41
        69: .line 661
            iconst_2
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            bipush 32
            iastore
            dup
            iconst_1
            ldc 65148
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            dup
            iconst_1
        70: .line 662
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1600
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            ldc 65149
            iastore
            aastore
            aastore
            dup
            bipush 42
        71: .line 663
            iconst_2
            anewarray int[]
            dup
            iconst_0
            iconst_5
            newarray 10
            dup
            iconst_0
            bipush 32
            iastore
            dup
            iconst_1
            ldc 65150
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            aastore
            dup
            iconst_1
        72: .line 664
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 1600
            iastore
            dup
            iconst_1
            iconst_m1
            iastore
            dup
            iconst_2
            iconst_m1
            iastore
            dup
            iconst_3
            iconst_m1
            iastore
            dup
            iconst_4
            ldc 65151
            iastore
            aastore
            aastore
        73: .line 612
            putstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharRemappings:[[[I
        74: .line 664
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.gvt.text.ArabicTextHandler this
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            return
        end local 0 // org.apache.batik.gvt.text.ArabicTextHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/gvt/text/ArabicTextHandler;

  public static java.text.AttributedString assignArabicForms(java.text.AttributedString);
    descriptor: (Ljava/text/AttributedString;)Ljava/text/AttributedString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=1
        start local 0 // java.text.AttributedString as
         0: .line 72
            aload 0 /* as */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.containsArabic:(Ljava/text/AttributedString;)Z
            ifne 2
         1: .line 73
            aload 0 /* as */
            areturn
         2: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* as */
            invokevirtual java.text.AttributedString.getIterator:()Ljava/text/AttributedCharacterIterator;
            astore 1 /* aci */
        start local 1 // java.text.AttributedCharacterIterator aci
         3: .line 81
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            isub
            istore 2 /* numChars */
        start local 2 // int numChars
         4: .line 82
            aconst_null
            astore 3 /* charOrder */
        start local 3 // int[] charOrder
         5: .line 83
            iload 2 /* numChars */
            iconst_3
            if_icmplt 25
         6: .line 84
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 4 /* prevChar */
        start local 4 // char prevChar
         7: .line 85
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 5 /* c */
        start local 5 // char c
         8: .line 86
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         9: .line 87
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 7 /* nextChar */
        start local 7 // char nextChar
        10: .line 88
            goto 24
        11: .line 90
      StackMap locals: java.text.AttributedString java.text.AttributedCharacterIterator int int[] int int int int
      StackMap stack:
            iload 5 /* c */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharTransparent:(C)Z
            ifeq 23
        12: .line 91
            iload 4 /* prevChar */
            iload 7 /* nextChar */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.hasSubstitute:(CC)Z
            ifeq 23
        13: .line 93
            aload 3 /* charOrder */
            ifnonnull 20
        14: .line 94
            iload 2 /* numChars */
            newarray 10
            astore 3 /* charOrder */
        15: .line 95
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        16: goto 19
        17: .line 96
      StackMap locals: int
      StackMap stack:
            aload 3 /* charOrder */
            iload 8 /* j */
            iload 8 /* j */
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            iadd
            iastore
        18: .line 95
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 8 /* j */
            iload 2 /* numChars */
            if_icmplt 17
        end local 8 // int j
        20: .line 99
      StackMap locals:
      StackMap stack:
            aload 3 /* charOrder */
            iload 6 /* i */
            iaload
            istore 8 /* temp */
        start local 8 // int temp
        21: .line 100
            aload 3 /* charOrder */
            iload 6 /* i */
            aload 3 /* charOrder */
            iload 6 /* i */
            iconst_1
            isub
            iaload
            iastore
        22: .line 101
            aload 3 /* charOrder */
            iload 6 /* i */
            iconst_1
            isub
            iload 8 /* temp */
            iastore
        end local 8 // int temp
        23: .line 89
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            istore 4 /* prevChar */
            iload 7 /* nextChar */
            istore 5 /* c */
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 7 /* nextChar */
            iinc 6 /* i */ 1
        24: .line 88
      StackMap locals:
      StackMap stack:
            iload 7 /* nextChar */
            ldc 65535
            if_icmpne 11
        end local 7 // char nextChar
        end local 6 // int i
        end local 5 // char c
        end local 4 // char prevChar
        25: .line 107
      StackMap locals: java.text.AttributedString java.text.AttributedCharacterIterator int int[]
      StackMap stack:
            aload 3 /* charOrder */
            ifnull 68
        26: .line 109
            new java.lang.StringBuffer
            dup
            iload 2 /* numChars */
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 4 /* reorderedString */
        start local 4 // java.lang.StringBuffer reorderedString
        27: .line 111
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        28: goto 32
        29: .line 112
      StackMap locals: java.text.AttributedString java.text.AttributedCharacterIterator int int[] java.lang.StringBuffer top int
      StackMap stack:
            aload 1 /* aci */
            aload 3 /* charOrder */
            iload 6 /* i */
            iaload
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 5 /* c */
        start local 5 // char c
        30: .line 113
            aload 4 /* reorderedString */
            iload 5 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        31: .line 111
            iinc 6 /* i */ 1
        end local 5 // char c
      StackMap locals:
      StackMap stack:
        32: iload 6 /* i */
            iload 2 /* numChars */
            if_icmplt 29
        end local 6 // int i
        33: .line 116
            new java.text.AttributedString
            dup
            aload 4 /* reorderedString */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial java.text.AttributedString.<init>:(Ljava/lang/String;)V
            astore 6 /* reorderedAS */
        start local 6 // java.text.AttributedString reorderedAS
        34: .line 118
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        35: goto 40
        36: .line 119
      StackMap locals: java.text.AttributedString java.text.AttributedCharacterIterator int int[] java.lang.StringBuffer top java.text.AttributedString int
      StackMap stack:
            aload 1 /* aci */
            aload 3 /* charOrder */
            iload 7 /* i */
            iaload
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        37: .line 120
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getAttributes:()Ljava/util/Map;
            astore 8 /* attributes */
        start local 8 // java.util.Map attributes
        38: .line 121
            aload 6 /* reorderedAS */
            aload 8 /* attributes */
            iload 7 /* i */
            iload 7 /* i */
            iconst_1
            iadd
            invokevirtual java.text.AttributedString.addAttributes:(Ljava/util/Map;II)V
        end local 8 // java.util.Map attributes
        39: .line 118
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 7 /* i */
            iload 2 /* numChars */
            if_icmplt 36
        end local 7 // int i
        41: .line 124
            aload 3 /* charOrder */
            iconst_0
            iaload
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            if_icmpeq 67
        42: .line 128
            aload 1 /* aci */
            aload 3 /* charOrder */
            iconst_0
            iaload
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            pop
        43: .line 129
            aload 1 /* aci */
        44: .line 130
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.X:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        45: .line 129
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 7 /* x */
        start local 7 // java.lang.Float x
        46: .line 131
            aload 1 /* aci */
        47: .line 132
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.Y:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        48: .line 131
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Float
            astore 8 /* y */
        start local 8 // java.lang.Float y
        49: .line 134
            aload 7 /* x */
            ifnull 58
            aload 7 /* x */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 58
        50: .line 135
            aload 6 /* reorderedAS */
        51: .line 136
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.X:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        52: .line 137
            ldc NaN
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aload 3 /* charOrder */
            iconst_0
            iaload
            aload 3 /* charOrder */
            iconst_0
            iaload
            iconst_1
            iadd
        53: .line 135
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        54: .line 138
            aload 6 /* reorderedAS */
        55: .line 139
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.X:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        56: .line 140
            aload 7 /* x */
            iconst_0
            iconst_1
        57: .line 138
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        58: .line 142
      StackMap locals: java.text.AttributedString java.text.AttributedCharacterIterator int int[] java.lang.StringBuffer top java.text.AttributedString java.lang.Float java.lang.Float
      StackMap stack:
            aload 8 /* y */
            ifnull 67
            aload 8 /* y */
            invokevirtual java.lang.Float.isNaN:()Z
            ifne 67
        59: .line 143
            aload 6 /* reorderedAS */
        60: .line 144
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.Y:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        61: .line 145
            ldc NaN
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aload 3 /* charOrder */
            iconst_0
            iaload
            aload 3 /* charOrder */
            iconst_0
            iaload
            iconst_1
            iadd
        62: .line 143
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        63: .line 146
            aload 6 /* reorderedAS */
        64: .line 147
            getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.Y:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
        65: .line 148
            aload 8 /* y */
            iconst_0
            iconst_1
        66: .line 146
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        end local 8 // java.lang.Float y
        end local 7 // java.lang.Float x
        67: .line 151
      StackMap locals:
      StackMap stack:
            aload 6 /* reorderedAS */
            astore 0 /* as */
        end local 6 // java.text.AttributedString reorderedAS
        end local 4 // java.lang.StringBuffer reorderedString
        68: .line 155
      StackMap locals: java.text.AttributedString java.text.AttributedCharacterIterator int int[]
      StackMap stack:
            aload 0 /* as */
            invokevirtual java.text.AttributedString.getIterator:()Ljava/text/AttributedCharacterIterator;
            astore 1 /* aci */
        69: .line 156
            iconst_m1
            istore 4 /* runStart */
        start local 4 // int runStart
        70: .line 157
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 5 /* idx */
        start local 5 // int idx
        71: .line 158
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 6 /* c */
        start local 6 // int c
        72: .line 159
            goto 81
        73: .line 161
      StackMap locals: int int int
      StackMap stack:
            iload 6 /* c */
            sipush 1536
            if_icmplt 77
            iload 6 /* c */
            sipush 1791
            if_icmpgt 77
        74: .line 162
            iload 4 /* runStart */
            iconst_m1
            if_icmpne 80
        75: .line 163
            iload 5 /* idx */
            istore 4 /* runStart */
        76: .line 164
            goto 80
      StackMap locals:
      StackMap stack:
        77: iload 4 /* runStart */
            iconst_m1
            if_icmpeq 80
        78: .line 165
            aload 0 /* as */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_NONE:Ljava/lang/Integer;
            iload 4 /* runStart */
            iload 5 /* idx */
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        79: .line 166
            iconst_m1
            istore 4 /* runStart */
        80: .line 160
      StackMap locals:
      StackMap stack:
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 6 /* c */
            iinc 5 /* idx */ 1
        81: .line 159
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            ldc 65535
            if_icmpne 73
        end local 6 // int c
        82: .line 169
            iload 4 /* runStart */
            iconst_m1
            if_icmpeq 84
        83: .line 170
            aload 0 /* as */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_NONE:Ljava/lang/Integer;
            iload 4 /* runStart */
            iload 5 /* idx */
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
        84: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* as */
            invokevirtual java.text.AttributedString.getIterator:()Ljava/text/AttributedCharacterIterator;
            astore 1 /* aci */
        85: .line 173
            aload 1 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 6 /* end */
        start local 6 // int end
        86: .line 175
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_NONE:Ljava/lang/Integer;
            astore 7 /* currentForm */
        start local 7 // java.lang.Integer currentForm
        87: .line 177
            goto 130
        88: .line 178
      StackMap locals: int java.lang.Integer
      StackMap stack:
            aload 1 /* aci */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getRunStart:(Ljava/text/AttributedCharacterIterator$Attribute;)I
            istore 8 /* start */
        start local 8 // int start
        89: .line 179
            aload 1 /* aci */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/text/AttributedCharacterIterator$Attribute;)I
            istore 6 /* end */
        90: .line 180
            aload 1 /* aci */
            iload 8 /* start */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 9 /* currentChar */
        start local 9 // char currentChar
        91: .line 181
            aload 1 /* aci */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 7 /* currentForm */
        92: .line 183
            aload 7 /* currentForm */
            ifnonnull 94
        93: .line 185
            goto 130
        94: .line 189
      StackMap locals: int int
      StackMap stack:
            iload 8 /* start */
            istore 10 /* currentIndex */
        start local 10 // int currentIndex
        95: .line 190
            iload 8 /* start */
            iconst_1
            isub
            istore 11 /* prevCharIndex */
        start local 11 // int prevCharIndex
        96: .line 191
            goto 129
        97: .line 192
      StackMap locals: int int
      StackMap stack:
            iload 9 /* currentChar */
            istore 12 /* prevChar */
        start local 12 // char prevChar
        98: .line 193
            aload 1 /* aci */
            iload 10 /* currentIndex */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 9 /* currentChar */
        99: .line 194
            goto 102
       100: .line 196
      StackMap locals: int
      StackMap stack:
            iinc 10 /* currentIndex */ 1
       101: .line 197
            aload 1 /* aci */
            iload 10 /* currentIndex */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 9 /* currentChar */
       102: .line 194
      StackMap locals:
      StackMap stack:
            iload 9 /* currentChar */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharTransparent:(C)Z
            ifeq 105
       103: .line 195
            iload 10 /* currentIndex */
            iload 6 /* end */
       104: .line 194
            if_icmplt 100
       105: .line 199
      StackMap locals:
      StackMap stack:
            iload 10 /* currentIndex */
            iload 6 /* end */
            if_icmplt 107
       106: .line 200
            goto 130
       107: .line 203
      StackMap locals:
      StackMap stack:
            aload 7 /* currentForm */
            astore 13 /* prevForm */
        start local 13 // java.lang.Integer prevForm
       108: .line 204
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_NONE:Ljava/lang/Integer;
            astore 7 /* currentForm */
       109: .line 205
            iload 11 /* prevCharIndex */
            iload 8 /* start */
            if_icmplt 121
       110: .line 207
            iload 12 /* prevChar */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharShapesRight:(C)Z
            ifeq 118
       111: .line 208
            iload 9 /* currentChar */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharShapesLeft:(C)Z
            ifeq 118
       112: .line 210
            aload 13 /* prevForm */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 13 /* prevForm */
       113: .line 211
            aload 0 /* as */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
            aload 13 /* prevForm */
       114: .line 212
            iload 11 /* prevCharIndex */
            iload 11 /* prevCharIndex */
            iconst_1
            iadd
       115: .line 211
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
       116: .line 215
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_INITIAL:Ljava/lang/Integer;
            astore 7 /* currentForm */
       117: .line 216
            goto 123
      StackMap locals: java.lang.Integer
      StackMap stack:
       118: iload 9 /* currentChar */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharShaped:(C)Z
            ifeq 123
       119: .line 218
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_ISOLATED:Ljava/lang/Integer;
            astore 7 /* currentForm */
       120: .line 223
            goto 123
      StackMap locals:
      StackMap stack:
       121: iload 9 /* currentChar */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharShaped:(C)Z
            ifeq 123
       122: .line 225
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_ISOLATED:Ljava/lang/Integer;
            astore 7 /* currentForm */
       123: .line 227
      StackMap locals:
      StackMap stack:
            aload 7 /* currentForm */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_NONE:Ljava/lang/Integer;
            if_acmpeq 127
       124: .line 228
            aload 0 /* as */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
            aload 7 /* currentForm */
       125: .line 229
            iload 10 /* currentIndex */
            iload 10 /* currentIndex */
            iconst_1
            iadd
       126: .line 228
            invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
       127: .line 230
      StackMap locals:
      StackMap stack:
            iload 10 /* currentIndex */
            istore 11 /* prevCharIndex */
       128: .line 231
            iinc 10 /* currentIndex */ 1
        end local 13 // java.lang.Integer prevForm
        end local 12 // char prevChar
       129: .line 191
      StackMap locals:
      StackMap stack:
            iload 10 /* currentIndex */
            iload 6 /* end */
            if_icmplt 97
        end local 11 // int prevCharIndex
        end local 10 // int currentIndex
        end local 9 // char currentChar
        end local 8 // int start
       130: .line 177
      StackMap locals: java.text.AttributedString java.text.AttributedCharacterIterator int int[] int int int java.lang.Integer
      StackMap stack:
            aload 1 /* aci */
            iload 6 /* end */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            ldc 65535
            if_icmpne 88
       131: .line 234
            aload 0 /* as */
            areturn
        end local 7 // java.lang.Integer currentForm
        end local 6 // int end
        end local 5 // int idx
        end local 4 // int runStart
        end local 3 // int[] charOrder
        end local 2 // int numChars
        end local 1 // java.text.AttributedCharacterIterator aci
        end local 0 // java.text.AttributedString as
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  132     0               as  Ljava/text/AttributedString;
            3  132     1              aci  Ljava/text/AttributedCharacterIterator;
            4  132     2         numChars  I
            5  132     3        charOrder  [I
            7   25     4         prevChar  C
            8   25     5                c  C
            9   25     6                i  I
           10   25     7         nextChar  C
           16   20     8                j  I
           21   23     8             temp  I
           27   68     4  reorderedString  Ljava/lang/StringBuffer;
           30   32     5                c  C
           28   33     6                i  I
           34   68     6      reorderedAS  Ljava/text/AttributedString;
           35   41     7                i  I
           38   39     8       attributes  Ljava/util/Map;
           46   67     7                x  Ljava/lang/Float;
           49   67     8                y  Ljava/lang/Float;
           70  132     4         runStart  I
           71  132     5              idx  I
           72   82     6                c  I
           86  132     6              end  I
           87  132     7      currentForm  Ljava/lang/Integer;
           89  130     8            start  I
           91  130     9      currentChar  C
           95  130    10     currentIndex  I
           96  130    11    prevCharIndex  I
           98  129    12         prevChar  C
          108  129    13         prevForm  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      as    

  public static boolean arabicChar(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 245
            iload 0 /* c */
            sipush 1536
            if_icmplt 2
            iload 0 /* c */
            sipush 1791
            if_icmpgt 2
         1: .line 246
            iconst_1
            ireturn
         2: .line 248
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static boolean containsArabic(java.text.AttributedString);
    descriptor: (Ljava/text/AttributedString;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.text.AttributedString as
         0: .line 258
            aload 0 /* as */
            invokevirtual java.text.AttributedString.getIterator:()Ljava/text/AttributedCharacterIterator;
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.containsArabic:(Ljava/text/AttributedCharacterIterator;)Z
            ireturn
        end local 0 // java.text.AttributedString as
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    as  Ljava/text/AttributedString;
    MethodParameters:
      Name  Flags
      as    

  public static boolean containsArabic(java.text.AttributedCharacterIterator);
    descriptor: (Ljava/text/AttributedCharacterIterator;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.text.AttributedCharacterIterator aci
         0: .line 268
            aload 0 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.first:()C
            istore 1 /* c */
        start local 1 // char c
         1: .line 269
            goto 5
         2: .line 271
      StackMap locals: int
      StackMap stack:
            iload 1 /* c */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicChar:(C)Z
            ifeq 4
         3: .line 272
            iconst_1
            ireturn
         4: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.next:()C
            istore 1 /* c */
         5: .line 269
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            ldc 65535
            if_icmpne 2
        end local 1 // char c
         6: .line 275
            iconst_0
            ireturn
        end local 0 // java.text.AttributedCharacterIterator aci
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   aci  Ljava/text/AttributedCharacterIterator;
            1    6     1     c  C
    MethodParameters:
      Name  Flags
      aci   

  public static boolean arabicCharTransparent(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // char c
         0: .line 285
            iload 0 /* c */
            istore 1 /* charVal */
        start local 1 // int charVal
         1: .line 286
            iload 1 /* charVal */
            sipush 1611
            if_icmplt 2
            iload 1 /* charVal */
            sipush 1773
            if_icmple 3
         2: .line 287
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
         3: .line 289
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1621
            if_icmple 8
         4: .line 290
            iload 1 /* charVal */
            sipush 1648
            if_icmpeq 8
         5: .line 291
            iload 1 /* charVal */
            sipush 1750
            if_icmplt 6
            iload 1 /* charVal */
            sipush 1764
            if_icmple 8
         6: .line 292
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1767
            if_icmplt 7
            iload 1 /* charVal */
            sipush 1768
            if_icmple 8
         7: .line 293
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1770
            if_icmplt 9
         8: .line 294
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         9: .line 296
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int charVal
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0        c  C
            1   10     1  charVal  I
    MethodParameters:
      Name  Flags
      c     

  private static boolean arabicCharShapesRight(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // char c
         0: .line 307
            iload 0 /* c */
            istore 1 /* charVal */
        start local 1 // int charVal
         1: .line 308
            iload 1 /* charVal */
            sipush 1570
            if_icmplt 2
            iload 1 /* charVal */
            sipush 1573
            if_icmple 15
         2: .line 309
      StackMap locals: int
      StackMap stack:
            iload 1 /* charVal */
            sipush 1575
            if_icmpeq 15
         3: .line 310
            iload 1 /* charVal */
            sipush 1577
            if_icmpeq 15
         4: .line 311
            iload 1 /* charVal */
            sipush 1583
            if_icmplt 5
            iload 1 /* charVal */
            sipush 1586
            if_icmple 15
         5: .line 312
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1608
            if_icmpeq 15
         6: .line 313
            iload 1 /* charVal */
            sipush 1649
            if_icmplt 7
            iload 1 /* charVal */
            sipush 1651
            if_icmple 15
         7: .line 314
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1653
            if_icmplt 8
            iload 1 /* charVal */
            sipush 1655
            if_icmple 15
         8: .line 315
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1672
            if_icmplt 9
            iload 1 /* charVal */
            sipush 1689
            if_icmple 15
         9: .line 316
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1728
            if_icmpeq 15
        10: .line 317
            iload 1 /* charVal */
            sipush 1730
            if_icmplt 11
            iload 1 /* charVal */
            sipush 1739
            if_icmple 15
        11: .line 318
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1741
            if_icmpeq 15
        12: .line 319
            iload 1 /* charVal */
            sipush 1743
            if_icmpeq 15
        13: .line 320
            iload 1 /* charVal */
            sipush 1746
            if_icmplt 14
            iload 1 /* charVal */
            sipush 1747
            if_icmple 15
        14: .line 322
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharShapesDuel:(C)Z
            ifeq 16
        15: .line 323
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        16: .line 325
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int charVal
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0        c  C
            1   17     1  charVal  I
    MethodParameters:
      Name  Flags
      c     

  private static boolean arabicCharShapesDuel(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // char c
         0: .line 335
            iload 0 /* c */
            istore 1 /* charVal */
        start local 1 // int charVal
         1: .line 337
            iload 1 /* charVal */
            sipush 1574
            if_icmpeq 14
         2: .line 338
            iload 1 /* charVal */
            sipush 1576
            if_icmpeq 14
         3: .line 339
            iload 1 /* charVal */
            sipush 1578
            if_icmplt 4
            iload 1 /* charVal */
            sipush 1582
            if_icmple 14
         4: .line 340
      StackMap locals: int
      StackMap stack:
            iload 1 /* charVal */
            sipush 1587
            if_icmplt 5
            iload 1 /* charVal */
            sipush 1594
            if_icmple 14
         5: .line 341
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1601
            if_icmplt 6
            iload 1 /* charVal */
            sipush 1607
            if_icmple 14
         6: .line 342
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1609
            if_icmplt 7
            iload 1 /* charVal */
            sipush 1610
            if_icmple 14
         7: .line 343
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1656
            if_icmplt 8
            iload 1 /* charVal */
            sipush 1671
            if_icmple 14
         8: .line 344
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1690
            if_icmplt 9
            iload 1 /* charVal */
            sipush 1727
            if_icmple 14
         9: .line 345
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1729
            if_icmpeq 14
        10: .line 346
            iload 1 /* charVal */
            sipush 1740
            if_icmpeq 14
        11: .line 347
            iload 1 /* charVal */
            sipush 1742
            if_icmpeq 14
        12: .line 348
            iload 1 /* charVal */
            sipush 1744
            if_icmplt 13
            iload 1 /* charVal */
            sipush 1745
            if_icmple 14
        13: .line 349
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            sipush 1786
            if_icmplt 15
            iload 1 /* charVal */
            sipush 1788
            if_icmpgt 15
        14: .line 350
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        15: .line 352
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int charVal
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0        c  C
            1   16     1  charVal  I
    MethodParameters:
      Name  Flags
      c     

  private static boolean arabicCharShapesLeft(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char c
         0: .line 363
            iload 0 /* c */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharShapesDuel:(C)Z
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private static boolean arabicCharShaped(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char c
         0: .line 373
            iload 0 /* c */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicCharShapesRight:(C)Z
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static boolean hasSubstitute(char, char);
    descriptor: (CC)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // char ch1
        start local 1 // char ch2
         0: .line 377
            iload 0 /* ch1 */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharFirst:I
            if_icmplt 1
            iload 0 /* ch1 */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharLast:I
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
         2: .line 379
      StackMap locals:
      StackMap stack:
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharRemappings:[[[I
            iload 0 /* ch1 */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharFirst:I
            isub
            aaload
            astore 2 /* remaps */
        start local 2 // int[][] remaps
         3: .line 380
            aload 2 /* remaps */
            ifnonnull 4
            iconst_0
            ireturn
         4: .line 381
      StackMap locals: int[][]
      StackMap stack:
            aload 2 /* remaps */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: int int int[][] top int int int[][]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* remap */
        start local 3 // int[] remap
         6: .line 382
            aload 3 /* remap */
            iconst_0
            iaload
            iload 1 /* ch2 */
            if_icmpne 8
         7: .line 383
            iconst_1
            ireturn
        end local 3 // int[] remap
         8: .line 381
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 5
        10: .line 385
            iconst_0
            ireturn
        end local 2 // int[][] remaps
        end local 1 // char ch2
        end local 0 // char ch1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0     ch1  C
            0   11     1     ch2  C
            3   11     2  remaps  [[I
            6    8     3   remap  [I
    MethodParameters:
      Name  Flags
      ch1   
      ch2   

  public static int getSubstituteChar(char, char, int);
    descriptor: (CCI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // char ch1
        start local 1 // char ch2
        start local 2 // int form
         0: .line 400
            iload 2 /* form */
            ifne 1
            iconst_m1
            ireturn
         1: .line 401
      StackMap locals:
      StackMap stack:
            iload 0 /* ch1 */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharFirst:I
            if_icmplt 2
            iload 0 /* ch1 */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharLast:I
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: iconst_m1
            ireturn
         3: .line 403
      StackMap locals:
      StackMap stack:
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharRemappings:[[[I
            iload 0 /* ch1 */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.doubleCharFirst:I
            isub
            aaload
            astore 3 /* remaps */
        start local 3 // int[][] remaps
         4: .line 404
            aload 3 /* remaps */
            ifnonnull 5
            iconst_m1
            ireturn
         5: .line 405
      StackMap locals: int[][]
      StackMap stack:
            aload 3 /* remaps */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 10
      StackMap locals: int int int int[][] top int int int[][]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* remap */
        start local 4 // int[] remap
         7: .line 406
            aload 4 /* remap */
            iconst_0
            iaload
            iload 1 /* ch2 */
            if_icmpne 9
         8: .line 407
            aload 4 /* remap */
            iload 2 /* form */
            iaload
            ireturn
        end local 4 // int[] remap
         9: .line 405
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        10: iload 5
            iload 6
            if_icmplt 6
        11: .line 409
            iconst_m1
            ireturn
        end local 3 // int[][] remaps
        end local 2 // int form
        end local 1 // char ch2
        end local 0 // char ch1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0     ch1  C
            0   12     1     ch2  C
            0   12     2    form  I
            4   12     3  remaps  [[I
            7    9     4   remap  [I
    MethodParameters:
      Name  Flags
      ch1   
      ch2   
      form  

  public static int getSubstituteChar(char, int);
    descriptor: (CI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // char ch
        start local 1 // int form
         0: .line 413
            iload 1 /* form */
            ifne 1
            iconst_m1
            ireturn
         1: .line 414
      StackMap locals:
      StackMap stack:
            iload 0 /* ch */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.singleCharFirst:I
            if_icmplt 2
            iload 0 /* ch */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.singleCharLast:I
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: iconst_m1
            ireturn
         3: .line 416
      StackMap locals:
      StackMap stack:
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.singleCharRemappings:[[I
            iload 0 /* ch */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.singleCharFirst:I
            isub
            aaload
            astore 2 /* chars */
        start local 2 // int[] chars
         4: .line 417
            aload 2 /* chars */
            ifnonnull 5
            iconst_m1
            ireturn
         5: .line 419
      StackMap locals: int[]
      StackMap stack:
            aload 2 /* chars */
            iload 1 /* form */
            iconst_1
            isub
            iaload
            ireturn
        end local 2 // int[] chars
        end local 1 // int form
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0     ch  C
            0    6     1   form  I
            4    6     2  chars  [I
    MethodParameters:
      Name  Flags
      ch    
      form  

  public static java.lang.String createSubstituteString(java.text.AttributedCharacterIterator);
    descriptor: (Ljava/text/AttributedCharacterIterator;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=11, args_size=1
        start local 0 // java.text.AttributedCharacterIterator aci
         0: .line 435
            aload 0 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
            istore 1 /* start */
        start local 1 // int start
         1: .line 436
            aload 0 /* aci */
            invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
            istore 2 /* end */
        start local 2 // int end
         2: .line 437
            iload 2 /* end */
            iload 1 /* start */
            isub
            istore 3 /* numChar */
        start local 3 // int numChar
         3: .line 438
            new java.lang.StringBuffer
            dup
            iload 3 /* numChar */
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 4 /* substString */
        start local 4 // java.lang.StringBuffer substString
         4: .line 439
            iload 1 /* start */
            istore 5 /* i */
        start local 5 // int i
         5: goto 44
         6: .line 440
      StackMap locals: java.text.AttributedCharacterIterator int int int java.lang.StringBuffer int
      StackMap stack:
            aload 0 /* aci */
            iload 5 /* i */
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 6 /* c */
        start local 6 // char c
         7: .line 441
            iload 6 /* c */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.arabicChar:(C)Z
            ifne 10
         8: .line 442
            aload 4 /* substString */
            iload 6 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 443
            goto 43
        10: .line 446
      StackMap locals: int
      StackMap stack:
            aload 0 /* aci */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 7 /* form */
        start local 7 // java.lang.Integer form
        11: .line 448
            iload 6 /* c */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.charStartsLigature:(C)Z
            ifeq 38
            iload 5 /* i */
            iconst_1
            iadd
            iload 2 /* end */
            if_icmpge 38
        12: .line 449
            aload 0 /* aci */
            iload 5 /* i */
            iconst_1
            iadd
            invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
            istore 8 /* nextChar */
        start local 8 // char nextChar
        13: .line 450
            aload 0 /* aci */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_FORM:Ljava/text/AttributedCharacterIterator$Attribute;
            invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 9 /* nextForm */
        start local 9 // java.lang.Integer nextForm
        14: .line 451
            aload 7 /* form */
            ifnull 38
            aload 9 /* nextForm */
            ifnull 38
        15: .line 452
            aload 7 /* form */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_TERMINAL:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 23
        16: .line 453
            aload 9 /* nextForm */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_INITIAL:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 23
        17: .line 456
            iload 6 /* c */
            iload 8 /* nextChar */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_ISOLATED:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        18: .line 455
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.getSubstituteChar:(CCI)I
            istore 10 /* substChar */
        start local 10 // int substChar
        19: .line 457
            iload 10 /* substChar */
            iconst_m1
            if_icmple 38
        20: .line 458
            aload 4 /* substString */
            iload 10 /* substChar */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        21: .line 459
            iinc 5 /* i */ 1
        22: .line 460
            goto 43
        end local 10 // int substChar
        23: .line 462
      StackMap locals: java.lang.Integer int java.lang.Integer
      StackMap stack:
            aload 7 /* form */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_TERMINAL:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 30
        24: .line 465
            iload 6 /* c */
            iload 8 /* nextChar */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_TERMINAL:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        25: .line 464
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.getSubstituteChar:(CCI)I
            istore 10 /* substChar */
        start local 10 // int substChar
        26: .line 466
            iload 10 /* substChar */
            iconst_m1
            if_icmple 38
        27: .line 467
            aload 4 /* substString */
            iload 10 /* substChar */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        28: .line 468
            iinc 5 /* i */ 1
        29: .line 469
            goto 43
        end local 10 // int substChar
        30: .line 471
      StackMap locals:
      StackMap stack:
            aload 7 /* form */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_MEDIAL:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 38
        31: .line 472
            aload 9 /* nextForm */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_MEDIAL:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 38
        32: .line 475
            iload 6 /* c */
            iload 8 /* nextChar */
            getstatic org.apache.batik.gvt.text.ArabicTextHandler.ARABIC_MEDIAL:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        33: .line 474
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.getSubstituteChar:(CCI)I
            istore 10 /* substChar */
        start local 10 // int substChar
        34: .line 476
            iload 10 /* substChar */
            iconst_m1
            if_icmple 38
        35: .line 477
            aload 4 /* substString */
            iload 10 /* substChar */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        36: .line 478
            iinc 5 /* i */ 1
        37: .line 479
            goto 43
        end local 10 // int substChar
        end local 9 // java.lang.Integer nextForm
        end local 8 // char nextChar
        38: .line 487
      StackMap locals:
      StackMap stack:
            aload 7 /* form */
            ifnull 42
            aload 7 /* form */
            invokevirtual java.lang.Integer.intValue:()I
            ifle 42
        39: .line 488
            iload 6 /* c */
            aload 7 /* form */
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.getSubstituteChar:(CI)I
            istore 8 /* substChar */
        start local 8 // int substChar
        40: .line 489
            iload 8 /* substChar */
            iconst_m1
            if_icmple 42
        41: .line 490
            iload 8 /* substChar */
            i2c
            istore 6 /* c */
        end local 8 // int substChar
        42: .line 493
      StackMap locals:
      StackMap stack:
            aload 4 /* substString */
            iload 6 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 7 // java.lang.Integer form
        end local 6 // char c
        43: .line 439
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 5 /* i */
            iload 2 /* end */
            if_icmplt 6
        end local 5 // int i
        45: .line 496
            aload 4 /* substString */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuffer substString
        end local 3 // int numChar
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.text.AttributedCharacterIterator aci
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   46     0          aci  Ljava/text/AttributedCharacterIterator;
            1   46     1        start  I
            2   46     2          end  I
            3   46     3      numChar  I
            4   46     4  substString  Ljava/lang/StringBuffer;
            5   45     5            i  I
            7   43     6            c  C
           11   43     7         form  Ljava/lang/Integer;
           13   38     8     nextChar  C
           14   38     9     nextForm  Ljava/lang/Integer;
           19   23    10    substChar  I
           26   30    10    substChar  I
           34   38    10    substChar  I
           40   42     8    substChar  I
    MethodParameters:
      Name  Flags
      aci   

  public static boolean charStartsLigature(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // char c
         0: .line 507
            iload 0 /* c */
            istore 1 /* charVal */
        start local 1 // int charVal
         1: .line 508
            iload 1 /* charVal */
            sipush 1611
            if_icmpeq 5
            iload 1 /* charVal */
            sipush 1612
            if_icmpeq 5
            iload 1 /* charVal */
            sipush 1613
            if_icmpeq 5
         2: .line 509
            iload 1 /* charVal */
            sipush 1614
            if_icmpeq 5
            iload 1 /* charVal */
            sipush 1615
            if_icmpeq 5
            iload 1 /* charVal */
            sipush 1616
            if_icmpeq 5
         3: .line 510
            iload 1 /* charVal */
            sipush 1617
            if_icmpeq 5
            iload 1 /* charVal */
            sipush 1618
            if_icmpeq 5
            iload 1 /* charVal */
            sipush 1570
            if_icmpeq 5
         4: .line 511
            iload 1 /* charVal */
            sipush 1571
            if_icmpeq 5
            iload 1 /* charVal */
            sipush 1573
            if_icmpeq 5
            iload 1 /* charVal */
            sipush 1575
            if_icmpne 6
         5: .line 512
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
         6: .line 514
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int charVal
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0        c  C
            1    7     1  charVal  I
    MethodParameters:
      Name  Flags
      c     

  public static int getNumChars(char);
    descriptor: (C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char c
         0: .line 527
            iload 0 /* c */
            invokestatic org.apache.batik.gvt.text.ArabicTextHandler.isLigature:(C)Z
            ifeq 2
         1: .line 529
            iconst_2
            ireturn
         2: .line 530
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static boolean isLigature(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // char c
         0: .line 541
            iload 0 /* c */
            istore 1 /* charVal */
        start local 1 // int charVal
         1: .line 542
            iload 1 /* charVal */
            ldc 65136
            if_icmplt 2
            iload 1 /* charVal */
            ldc 65276
            if_icmple 3
         2: .line 543
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
         3: .line 545
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            ldc 65138
            if_icmple 7
         4: .line 546
            iload 1 /* charVal */
            ldc 65140
            if_icmpeq 7
         5: .line 547
            iload 1 /* charVal */
            ldc 65142
            if_icmplt 6
            iload 1 /* charVal */
            ldc 65151
            if_icmple 7
         6: .line 548
      StackMap locals:
      StackMap stack:
            iload 1 /* charVal */
            ldc 65269
            if_icmplt 8
         7: .line 549
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         8: .line 551
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int charVal
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0        c  C
            1    9     1  charVal  I
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "ArabicTextHandler.java"
InnerClasses:
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  public TextAttribute = org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute of org.apache.batik.gvt.text.GVTAttributedCharacterIterator