class com.sun.javafx.font.CMap$CMapFormat4 extends com.sun.javafx.font.CMap
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.javafx.font.CMap$CMapFormat4
  super_class: com.sun.javafx.font.CMap
{
  int segCount;
    descriptor: I
    flags: (0x0000) 

  int entrySelector;
    descriptor: I
    flags: (0x0000) 

  int rangeShift;
    descriptor: I
    flags: (0x0000) 

  char[] endCount;
    descriptor: [C
    flags: (0x0000) 

  char[] startCount;
    descriptor: [C
    flags: (0x0000) 

  short[] idDelta;
    descriptor: [S
    flags: (0x0000) 

  char[] idRangeOffset;
    descriptor: [C
    flags: (0x0000) 

  char[] glyphIds;
    descriptor: [C
    flags: (0x0000) 

  void <init>(com.sun.javafx.font.FontFileReader$Buffer, int);
    descriptor: (Lcom/sun/javafx/font/FontFileReader$Buffer;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.sun.javafx.font.CMap$CMapFormat4 this
        start local 1 // com.sun.javafx.font.FontFileReader$Buffer buffer
        start local 2 // int offset
         0: .line 168
            aload 0 /* this */
            invokespecial com.sun.javafx.font.CMap.<init>:()V
         1: .line 170
            aload 1 /* buffer */
            iload 2 /* offset */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.position:(I)V
         2: .line 171
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            pop
         3: .line 172
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            istore 3 /* subtableLength */
        start local 3 // int subtableLength
         4: .line 181
            iload 2 /* offset */
            iload 3 /* subtableLength */
            iadd
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.capacity:()I
            if_icmple 6
         5: .line 182
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.capacity:()I
            iload 2 /* offset */
            isub
            istore 3 /* subtableLength */
         6: .line 184
      StackMap locals: com.sun.javafx.font.CMap$CMapFormat4 com.sun.javafx.font.FontFileReader$Buffer int int
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            pop
         7: .line 185
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            iconst_2
            idiv
            putfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
         8: .line 186
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            pop
         9: .line 187
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            putfield com.sun.javafx.font.CMap$CMapFormat4.entrySelector:I
        10: .line 188
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            iconst_2
            idiv
            putfield com.sun.javafx.font.CMap$CMapFormat4.rangeShift:I
        11: .line 189
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            newarray 5
            putfield com.sun.javafx.font.CMap$CMapFormat4.startCount:[C
        12: .line 190
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            newarray 5
            putfield com.sun.javafx.font.CMap$CMapFormat4.endCount:[C
        13: .line 191
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            newarray 9
            putfield com.sun.javafx.font.CMap$CMapFormat4.idDelta:[S
        14: .line 192
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            newarray 5
            putfield com.sun.javafx.font.CMap$CMapFormat4.idRangeOffset:[C
        15: .line 194
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        16: goto 19
        17: .line 195
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.endCount:[C
            iload 4 /* i */
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            castore
        18: .line 194
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            if_icmplt 17
        end local 4 // int i
        20: .line 197
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            pop
        21: .line 198
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        22: goto 25
        23: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.startCount:[C
            iload 4 /* i */
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            castore
        24: .line 198
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            if_icmplt 23
        end local 4 // int i
        26: .line 202
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        27: goto 30
        28: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.idDelta:[S
            iload 4 /* i */
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            i2s
            sastore
        29: .line 202
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            if_icmplt 28
        end local 4 // int i
        31: .line 206
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        32: goto 36
        33: .line 207
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            istore 5 /* ctmp */
        start local 5 // char ctmp
        34: .line 208
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.idRangeOffset:[C
            iload 4 /* i */
            iload 5 /* ctmp */
            iconst_1
            ishr
            ldc 65535
            iand
            i2c
            castore
        end local 5 // char ctmp
        35: .line 206
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            if_icmplt 33
        end local 4 // int i
        37: .line 213
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            bipush 8
            imul
            bipush 16
            iadd
            iconst_2
            idiv
            istore 4 /* pos */
        start local 4 // int pos
        38: .line 214
            aload 1 /* buffer */
            iload 4 /* pos */
            iconst_2
            imul
            iload 2 /* offset */
            iadd
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.position:(I)V
        39: .line 215
            iload 3 /* subtableLength */
            iconst_2
            idiv
            iload 4 /* pos */
            isub
            istore 5 /* numGlyphIds */
        start local 5 // int numGlyphIds
        40: .line 216
            aload 0 /* this */
            iload 5 /* numGlyphIds */
            newarray 5
            putfield com.sun.javafx.font.CMap$CMapFormat4.glyphIds:[C
        41: .line 217
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        42: goto 45
        43: .line 218
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.glyphIds:[C
            iload 6 /* i */
            aload 1 /* buffer */
            invokevirtual com.sun.javafx.font.FontFileReader$Buffer.getChar:()C
            castore
        44: .line 217
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 6 /* i */
            iload 5 /* numGlyphIds */
            if_icmplt 43
        end local 6 // int i
        46: .line 220
            return
        end local 5 // int numGlyphIds
        end local 4 // int pos
        end local 3 // int subtableLength
        end local 2 // int offset
        end local 1 // com.sun.javafx.font.FontFileReader$Buffer buffer
        end local 0 // com.sun.javafx.font.CMap$CMapFormat4 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   47     0            this  Lcom/sun/javafx/font/CMap$CMapFormat4;
            0   47     1          buffer  Lcom/sun/javafx/font/FontFileReader$Buffer;
            0   47     2          offset  I
            4   47     3  subtableLength  I
           16   20     4               i  I
           22   26     4               i  I
           27   31     4               i  I
           32   37     4               i  I
           34   35     5            ctmp  C
           38   47     4             pos  I
           40   47     5     numGlyphIds  I
           42   46     6               i  I
    MethodParameters:
        Name  Flags
      buffer  
      offset  

  char getGlyph(int);
    descriptor: (I)C
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.sun.javafx.font.CMap$CMapFormat4 this
        start local 1 // int charCode
         0: .line 224
            iconst_0
            istore 2 /* index */
        start local 2 // int index
         1: .line 225
            iconst_0
            istore 3 /* glyphCode */
        start local 3 // char glyphCode
         2: .line 227
            aload 0 /* this */
            iload 1 /* charCode */
            iconst_1
            invokevirtual com.sun.javafx.font.CMap$CMapFormat4.getControlCodeGlyph:(IZ)I
            istore 4 /* controlGlyph */
        start local 4 // int controlGlyph
         3: .line 228
            iload 4 /* controlGlyph */
            iflt 5
         4: .line 229
            iload 4 /* controlGlyph */
            i2c
            ireturn
         5: .line 250
      StackMap locals: int int int
      StackMap stack:
            iconst_0
            istore 5 /* left */
        start local 5 // int left
         6: aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.startCount:[C
            arraylength
            istore 6 /* right */
        start local 6 // int right
         7: .line 251
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.startCount:[C
            arraylength
            iconst_1
            ishr
            istore 2 /* index */
         8: .line 252
            goto 14
         9: .line 253
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.endCount:[C
            iload 2 /* index */
            caload
            iload 1 /* charCode */
            if_icmpge 12
        10: .line 254
            iload 2 /* index */
            iconst_1
            iadd
            istore 5 /* left */
        11: .line 255
            goto 13
        12: .line 256
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            istore 6 /* right */
        13: .line 258
      StackMap locals:
      StackMap stack:
            iload 5 /* left */
            iload 6 /* right */
            iadd
            iconst_1
            ishr
            istore 2 /* index */
        14: .line 252
      StackMap locals:
      StackMap stack:
            iload 5 /* left */
            iload 6 /* right */
            if_icmplt 9
        15: .line 261
            iload 1 /* charCode */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.startCount:[C
            iload 2 /* index */
            caload
            if_icmplt 26
            iload 1 /* charCode */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.endCount:[C
            iload 2 /* index */
            caload
            if_icmpgt 26
        16: .line 262
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.idRangeOffset:[C
            iload 2 /* index */
            caload
            istore 7 /* rangeOffset */
        start local 7 // int rangeOffset
        17: .line 264
            iload 7 /* rangeOffset */
            ifne 20
        18: .line 265
            iload 1 /* charCode */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.idDelta:[S
            iload 2 /* index */
            saload
            iadd
            i2c
            istore 3 /* glyphCode */
        19: .line 266
            goto 26
        20: .line 268
      StackMap locals: int
      StackMap stack:
            iload 7 /* rangeOffset */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.segCount:I
            isub
            iload 2 /* index */
            iadd
        21: .line 269
            iload 1 /* charCode */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.startCount:[C
            iload 2 /* index */
            caload
            isub
        22: .line 268
            iadd
            istore 8 /* glyphIDIndex */
        start local 8 // int glyphIDIndex
        23: .line 270
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.glyphIds:[C
            iload 8 /* glyphIDIndex */
            caload
            istore 3 /* glyphCode */
        24: .line 271
            iload 3 /* glyphCode */
            ifeq 26
        25: .line 272
            iload 3 /* glyphCode */
            aload 0 /* this */
            getfield com.sun.javafx.font.CMap$CMapFormat4.idDelta:[S
            iload 2 /* index */
            saload
            iadd
            i2c
            istore 3 /* glyphCode */
        end local 8 // int glyphIDIndex
        end local 7 // int rangeOffset
        26: .line 276
      StackMap locals:
      StackMap stack:
            iload 3 /* glyphCode */
            ireturn
        end local 6 // int right
        end local 5 // int left
        end local 4 // int controlGlyph
        end local 3 // char glyphCode
        end local 2 // int index
        end local 1 // int charCode
        end local 0 // com.sun.javafx.font.CMap$CMapFormat4 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Lcom/sun/javafx/font/CMap$CMapFormat4;
            0   27     1      charCode  I
            1   27     2         index  I
            2   27     3     glyphCode  C
            3   27     4  controlGlyph  I
            6   27     5          left  I
            7   27     6         right  I
           17   26     7   rangeOffset  I
           23   26     8  glyphIDIndex  I
    MethodParameters:
          Name  Flags
      charCode  
}
SourceFile: "CMap.java"
NestHost: com.sun.javafx.font.CMap
InnerClasses:
  CMapFormat4 = com.sun.javafx.font.CMap$CMapFormat4 of com.sun.javafx.font.CMap
  Buffer = com.sun.javafx.font.FontFileReader$Buffer of com.sun.javafx.font.FontFileReader