public class org.apache.fop.util.CharUtilities
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.fop.util.CharUtilities
  super_class: java.lang.Object
{
  public static final char CODE_EOT;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int UCWHITESPACE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int LINEFEED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int EOT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int NONWHITESPACE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int XMLWHITESPACE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final char NULL_CHAR;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final char LINEFEED_CHAR;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final char CARRIAGE_RETURN;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  public static final char TAB;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final char SPACE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final char NBSPACE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 160

  public static final char NEXT_LINE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 133

  public static final char ZERO_WIDTH_SPACE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8203

  public static final char WORD_JOINER;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8288

  public static final char ZERO_WIDTH_JOINER;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8205

  public static final char LRM;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8206

  public static final char RLM;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8239

  public static final char LRE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8234

  public static final char RLE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8235

  public static final char PDF;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8236

  public static final char LRO;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8237

  public static final char RLO;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8238

  public static final char ZERO_WIDTH_NOBREAK_SPACE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65279

  public static final char SOFT_HYPHEN;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 173

  public static final char LINE_SEPARATOR;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8232

  public static final char PARAGRAPH_SEPARATOR;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8233

  public static final char MISSING_IDEOGRAPH;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9633

  public static final char IDEOGRAPHIC_SPACE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12288

  public static final char OBJECT_REPLACEMENT_CHARACTER;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65532

  public static final char NOT_A_CHARACTER;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65535

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 29
            ldc Lorg/apache/fop/util/CharUtilities;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.fop.util.CharUtilities.$assertionsDisabled:Z
         3: .line 109
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.fop.util.CharUtilities this
         0: .line 114
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 115
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // org.apache.fop.util.CharUtilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/fop/util/CharUtilities;

  public static int classOf(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int c
         0: .line 125
            iload 0 /* c */
            lookupswitch { // 5
                    0: 1
                    9: 3
                   10: 2
                   13: 3
                   32: 3
              default: 4
          }
         1: .line 127
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         2: .line 129
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         3: .line 133
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
         4: .line 135
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            invokestatic org.apache.fop.util.CharUtilities.isAnySpace:(I)Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_3
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean isBreakableSpace(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int c
         0: .line 148
            iload 0 /* c */
            bipush 32
            if_icmpeq 1
            iload 0 /* c */
            invokestatic org.apache.fop.util.CharUtilities.isFixedWidthSpace:(I)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean isZeroWidthSpace(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int c
         0: .line 157
            iload 0 /* c */
            sipush 8203
            if_icmpeq 4
         1: .line 158
            iload 0 /* c */
            sipush 8288
            if_icmpeq 4
         2: .line 159
            iload 0 /* c */
            ldc 65279
            if_icmpeq 4
         3: .line 157
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean isFixedWidthSpace(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int c
         0: .line 168
            iload 0 /* c */
            sipush 8192
            if_icmplt 1
            iload 0 /* c */
            sipush 8203
            if_icmple 3
         1: .line 169
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            sipush 12288
            if_icmpeq 3
         2: .line 168
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean isNonBreakableSpace(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int c
         0: .line 193
            iload 0 /* c */
            sipush 160
            if_icmpeq 6
         1: .line 194
            iload 0 /* c */
            sipush 8239
            if_icmpeq 6
         2: .line 195
            iload 0 /* c */
            sipush 12288
            if_icmpeq 6
         3: .line 196
            iload 0 /* c */
            sipush 8288
            if_icmpeq 6
         4: .line 197
            iload 0 /* c */
            ldc 65279
            if_icmpeq 6
         5: .line 192
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean isAdjustableSpace(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int c
         0: .line 209
            iload 0 /* c */
            bipush 32
            if_icmpeq 3
         1: .line 210
            iload 0 /* c */
            sipush 160
            if_icmpeq 3
         2: .line 208
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean isAnySpace(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int c
         0: .line 219
            iload 0 /* c */
            invokestatic org.apache.fop.util.CharUtilities.isBreakableSpace:(I)Z
            ifne 1
            iload 0 /* c */
            invokestatic org.apache.fop.util.CharUtilities.isNonBreakableSpace:(I)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean isAlphabetic(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // int c
         0: .line 230
            iload 0 /* c */
            i2c
            invokestatic java.lang.Character.getType:(C)I
            istore 1 /* generalCategory */
        start local 1 // int generalCategory
         1: .line 231
            iload 1 /* generalCategory */
            tableswitch { // 1 - 10
                    1: 2
                    2: 2
                    3: 2
                    4: 2
                    5: 2
                    6: 3
                    7: 3
                    8: 3
                    9: 3
                   10: 2
              default: 3
          }
         2: .line 238
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
         3: .line 242
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int generalCategory
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0                c  I
            1    4     1  generalCategory  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean isExplicitBreak(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int c
         0: .line 252
            iload 0 /* c */
            bipush 10
            if_icmpeq 6
         1: .line 253
            iload 0 /* c */
            bipush 13
            if_icmpeq 6
         2: .line 254
            iload 0 /* c */
            sipush 133
            if_icmpeq 6
         3: .line 255
            iload 0 /* c */
            sipush 8232
            if_icmpeq 6
         4: .line 256
            iload 0 /* c */
            sipush 8233
            if_icmpeq 6
         5: .line 252
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static java.lang.String charToNCRef(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // int c
         0: .line 266
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 267
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: iload 0 /* c */
            ldc 65535
            if_icmple 3
            bipush 6
            goto 4
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
         3: iconst_4
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* nDigits */
        start local 3 // int nDigits
         5: goto 13
         6: .line 268
      StackMap locals: int
      StackMap stack:
            iload 0 /* c */
            bipush 15
            iand
            istore 4 /* d */
        start local 4 // int d
         7: .line 270
            iload 4 /* d */
            bipush 10
            if_icmpge 10
         8: .line 271
            bipush 48
            iload 4 /* d */
            iadd
            i2c
            istore 5 /* hd */
        start local 5 // char hd
         9: .line 272
            goto 11
        end local 5 // char hd
        10: .line 273
      StackMap locals: int
      StackMap stack:
            bipush 65
            iload 4 /* d */
            bipush 10
            isub
            iadd
            i2c
            istore 5 /* hd */
        start local 5 // char hd
        11: .line 275
      StackMap locals: int
      StackMap stack:
            aload 1 /* sb */
            iload 5 /* hd */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 5 // char hd
        end local 4 // int d
        12: .line 267
            iinc 2 /* i */ 1
            iload 0 /* c */
            iconst_4
            ishr
            istore 0 /* c */
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            iload 3 /* nDigits */
            if_icmplt 6
        end local 3 // int nDigits
        end local 2 // int i
        14: .line 277
            new java.lang.StringBuilder
            dup
            ldc "&#x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.reverse:()Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0        c  I
            1   15     1       sb  Ljava/lang/StringBuffer;
            2   14     2        i  I
            5   14     3  nDigits  I
            7   12     4        d  I
            9   10     5       hd  C
           11   12     5       hd  C
    MethodParameters:
      Name  Flags
      c     

  public static java.lang.String toNCRefs(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String s
         0: .line 287
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 288
            aload 0 /* s */
            ifnull 20
         2: .line 289
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 19
         4: .line 290
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 0 /* s */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         5: .line 291
            iload 3 /* c */
            bipush 32
            if_icmplt 17
            iload 3 /* c */
            bipush 127
            if_icmpge 17
         6: .line 292
            iload 3 /* c */
            bipush 60
            if_icmpne 9
         7: .line 293
            aload 1 /* sb */
            ldc "&lt;"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 294
            goto 18
      StackMap locals: int
      StackMap stack:
         9: iload 3 /* c */
            bipush 62
            if_icmpne 12
        10: .line 295
            aload 1 /* sb */
            ldc "&gt;"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 296
            goto 18
      StackMap locals:
      StackMap stack:
        12: iload 3 /* c */
            bipush 38
            if_icmpne 15
        13: .line 297
            aload 1 /* sb */
            ldc "&amp;"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 298
            goto 18
        15: .line 299
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            iload 3 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        16: .line 301
            goto 18
        17: .line 302
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            iload 3 /* c */
            invokestatic org.apache.fop.util.CharUtilities.charToNCRef:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 3 // char c
        18: .line 289
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 2 /* i */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 2 // int i
        20: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0     s  Ljava/lang/String;
            1   21     1    sb  Ljava/lang/StringBuffer;
            3   20     2     i  I
            5   18     3     c  C
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String padLeft(java.lang.String, int, char);
    descriptor: (Ljava/lang/String;IC)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // java.lang.String s
        start local 1 // int width
        start local 2 // char pad
         0: .line 317
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuffer sb
         1: .line 318
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 319
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 3 /* sb */
            iload 2 /* pad */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 318
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 1 /* width */
            if_icmplt 3
        end local 4 // int i
         6: .line 321
            aload 3 /* sb */
            aload 0 /* s */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 322
            aload 3 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuffer sb
        end local 2 // char pad
        end local 1 // int width
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0      s  Ljava/lang/String;
            0    8     1  width  I
            0    8     2    pad  C
            1    8     3     sb  Ljava/lang/StringBuffer;
            2    6     4      i  I
    MethodParameters:
       Name  Flags
      s      
      width  
      pad    

  public static java.lang.String format(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int c
         0: .line 332
            iload 0 /* c */
            ldc 1114112
            if_icmpge 4
         1: .line 333
            new java.lang.StringBuilder
            dup
            ldc "0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* c */
            bipush 16
            invokestatic java.lang.Integer.toString:(II)Ljava/lang/String;
            iload 0 /* c */
            ldc 65536
            if_icmpge 2
            iconst_4
            goto 3
      StackMap locals: int
      StackMap stack: java.lang.StringBuilder java.lang.String
         2: bipush 6
      StackMap locals: int
      StackMap stack: java.lang.StringBuilder java.lang.String int
         3: bipush 48
            invokestatic org.apache.fop.util.CharUtilities.padLeft:(Ljava/lang/String;IC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 335
      StackMap locals:
      StackMap stack:
            ldc "!NOT A CHARACTER!"
            areturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public static boolean isSameSequence(java.lang.CharSequence, java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.CharSequence cs1
        start local 1 // java.lang.CharSequence cs2
         0: .line 346
            getstatic org.apache.fop.util.CharUtilities.$assertionsDisabled:Z
            ifne 1
            aload 0 /* cs1 */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 347
      StackMap locals:
      StackMap stack:
            getstatic org.apache.fop.util.CharUtilities.$assertionsDisabled:Z
            ifne 2
            aload 1 /* cs2 */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* cs1 */
            invokeinterface java.lang.CharSequence.length:()I
            aload 1 /* cs2 */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpeq 4
         3: .line 349
            iconst_0
            ireturn
         4: .line 351
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: aload 0 /* cs1 */
            invokeinterface java.lang.CharSequence.length:()I
            istore 3 /* n */
        start local 3 // int n
         6: goto 10
         7: .line 352
      StackMap locals: int int
      StackMap stack:
            aload 0 /* cs1 */
            iload 2 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            aload 1 /* cs2 */
            iload 2 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            if_icmpeq 9
         8: .line 353
            iconst_0
            ireturn
         9: .line 351
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            iload 3 /* n */
            if_icmplt 7
        end local 3 // int n
        end local 2 // int i
        11: .line 356
            iconst_1
            ireturn
        end local 1 // java.lang.CharSequence cs2
        end local 0 // java.lang.CharSequence cs1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0   cs1  Ljava/lang/CharSequence;
            0   12     1   cs2  Ljava/lang/CharSequence;
            5   11     2     i  I
            6   11     3     n  I
    MethodParameters:
      Name  Flags
      cs1   
      cs2   

  public static boolean isBmpCodePoint(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int codePoint
         0: .line 370
            iload 0 /* codePoint */
            bipush 16
            iushr
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int codePoint
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  codePoint  I
    MethodParameters:
           Name  Flags
      codePoint  

  public static int incrementIfNonBMP(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int codePoint
         0: .line 381
            iload 0 /* codePoint */
            invokestatic org.apache.fop.util.CharUtilities.isBmpCodePoint:(I)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // int codePoint
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  codePoint  I
    MethodParameters:
           Name  Flags
      codePoint  

  public static boolean isSurrogatePair(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char ch
         0: .line 391
            iload 0 /* ch */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifne 1
            iload 0 /* ch */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  public static boolean containsSurrogatePairAt(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.CharSequence chars
        start local 1 // int index
         0: .line 409
            aload 0 /* chars */
            iload 1 /* index */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 2 /* ch */
        start local 2 // char ch
         1: .line 411
            iload 2 /* ch */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 11
         2: .line 412
            iload 1 /* index */
            iconst_1
            iadd
            aload 0 /* chars */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmple 6
         3: .line 413
            new java.lang.IllegalArgumentException
            dup
         4: .line 414
            ldc "ill-formed UTF-16 sequence, contains isolated high surrogate at end of sequence"
         5: .line 413
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 417
      StackMap locals: int
      StackMap stack:
            aload 0 /* chars */
            iload 1 /* index */
            iconst_1
            iadd
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifeq 8
         7: .line 418
            iconst_1
            ireturn
         8: .line 421
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         9: .line 422
            new java.lang.StringBuilder
            dup
            ldc "ill-formed UTF-16 sequence, contains isolated high surrogate at index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 421
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 424
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifeq 15
        12: .line 425
            new java.lang.IllegalArgumentException
            dup
        13: .line 426
            new java.lang.StringBuilder
            dup
            ldc "ill-formed UTF-16 sequence, contains isolated low surrogate at index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 425
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 429
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // char ch
        end local 1 // int index
        end local 0 // java.lang.CharSequence chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0  chars  Ljava/lang/CharSequence;
            0   16     1  index  I
            1   16     2     ch  C
    MethodParameters:
       Name  Flags
      chars  
      index  

  public static java.lang.Iterable<java.lang.Integer> codepointsIter(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.CharSequence s
         0: .line 440
            aload 0 /* s */
            iconst_0
            aload 0 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            invokestatic org.apache.fop.util.CharUtilities.codepointsIter:(Ljava/lang/CharSequence;II)Ljava/lang/Iterable;
            areturn
        end local 0 // java.lang.CharSequence s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/CharSequence;
    Signature: (Ljava/lang/CharSequence;)Ljava/lang/Iterable<Ljava/lang/Integer;>;
    MethodParameters:
      Name  Flags
      s     final

  public static java.lang.Iterable<java.lang.Integer> codepointsIter(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.CharSequence s
        start local 1 // int beginIndex
        start local 2 // int endIndex
         0: .line 453
            iload 1 /* beginIndex */
            ifge 2
         1: .line 454
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* beginIndex */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 456
      StackMap locals:
      StackMap stack:
            iload 2 /* endIndex */
            aload 0 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmple 4
         3: .line 457
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* endIndex */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         4: .line 459
      StackMap locals:
      StackMap stack:
            iload 2 /* endIndex */
            iload 1 /* beginIndex */
            isub
            istore 3 /* subLen */
        start local 3 // int subLen
         5: .line 460
            iload 3 /* subLen */
            ifge 7
         6: .line 461
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 3 /* subLen */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         7: .line 464
      StackMap locals: int
      StackMap stack:
            new org.apache.fop.util.CharUtilities$1
            dup
            iload 1 /* beginIndex */
            iload 2 /* endIndex */
            aload 0 /* s */
            invokespecial org.apache.fop.util.CharUtilities$1.<init>:(IILjava/lang/CharSequence;)V
            areturn
        end local 3 // int subLen
        end local 2 // int endIndex
        end local 1 // int beginIndex
        end local 0 // java.lang.CharSequence s
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0           s  Ljava/lang/CharSequence;
            0    8     1  beginIndex  I
            0    8     2    endIndex  I
            5    8     3      subLen  I
    Signature: (Ljava/lang/CharSequence;II)Ljava/lang/Iterable<Ljava/lang/Integer;>;
    MethodParameters:
            Name  Flags
      s           final
      beginIndex  final
      endIndex    final
}
SourceFile: "CharUtilities.java"
NestMembers:
  org.apache.fop.util.CharUtilities$1  org.apache.fop.util.CharUtilities$1$1
InnerClasses:
  org.apache.fop.util.CharUtilities$1