public class com.sun.javafx.font.CompositeGlyphMapper extends com.sun.javafx.font.CharToGlyphMapper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.javafx.font.CompositeGlyphMapper
  super_class: com.sun.javafx.font.CharToGlyphMapper
{
  public static final int SLOTMASK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -16777216

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

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

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

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

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

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

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

  private boolean asciiCacheOK;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private char[] charToGlyph;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  com.sun.javafx.font.CompositeFontResource font;
    descriptor: Lcom/sun/javafx/font/CompositeFontResource;
    flags: (0x0000) 

  com.sun.javafx.font.CharToGlyphMapper[] slotMappers;
    descriptor: [Lcom/sun/javafx/font/CharToGlyphMapper;
    flags: (0x0000) 

  java.util.HashMap<java.lang.Integer, java.lang.Integer> glyphMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0000) 
    Signature: Ljava/util/HashMap<Ljava/lang/Integer;Ljava/lang/Integer;>;

  public void <init>(com.sun.javafx.font.CompositeFontResource);
    descriptor: (Lcom/sun/javafx/font/CompositeFontResource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.javafx.font.CompositeGlyphMapper this
        start local 1 // com.sun.javafx.font.CompositeFontResource compFont
         0: .line 58
            aload 0 /* this */
            invokespecial com.sun.javafx.font.CharToGlyphMapper.<init>:()V
         1: .line 59
            aload 0 /* this */
            aload 1 /* compFont */
            putfield com.sun.javafx.font.CompositeGlyphMapper.font:Lcom/sun/javafx/font/CompositeFontResource;
         2: .line 60
            aload 0 /* this */
            iconst_0
            putfield com.sun.javafx.font.CompositeGlyphMapper.missingGlyph:I
         3: .line 61
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.javafx.font.CompositeGlyphMapper.glyphMap:Ljava/util/HashMap;
         4: .line 62
            aload 0 /* this */
            aload 1 /* compFont */
            invokeinterface com.sun.javafx.font.CompositeFontResource.getNumSlots:()I
            anewarray com.sun.javafx.font.CharToGlyphMapper
            putfield com.sun.javafx.font.CompositeGlyphMapper.slotMappers:[Lcom/sun/javafx/font/CharToGlyphMapper;
         5: .line 63
            aload 0 /* this */
            iconst_1
            putfield com.sun.javafx.font.CompositeGlyphMapper.asciiCacheOK:Z
         6: .line 64
            return
        end local 1 // com.sun.javafx.font.CompositeFontResource compFont
        end local 0 // com.sun.javafx.font.CompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/sun/javafx/font/CompositeGlyphMapper;
            0    7     1  compFont  Lcom/sun/javafx/font/CompositeFontResource;
    MethodParameters:
          Name  Flags
      compFont  

  private final com.sun.javafx.font.CharToGlyphMapper getSlotMapper(int);
    descriptor: (I)Lcom/sun/javafx/font/CharToGlyphMapper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.javafx.font.CompositeGlyphMapper this
        start local 1 // int slot
         0: .line 67
            iload 1 /* slot */
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.slotMappers:[Lcom/sun/javafx/font/CharToGlyphMapper;
            arraylength
            if_icmplt 4
         1: .line 68
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.font:Lcom/sun/javafx/font/CompositeFontResource;
            invokeinterface com.sun.javafx.font.CompositeFontResource.getNumSlots:()I
            anewarray com.sun.javafx.font.CharToGlyphMapper
            astore 2 /* tmp */
        start local 2 // com.sun.javafx.font.CharToGlyphMapper[] tmp
         2: .line 69
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.slotMappers:[Lcom/sun/javafx/font/CharToGlyphMapper;
            iconst_0
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.slotMappers:[Lcom/sun/javafx/font/CharToGlyphMapper;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 70
            aload 0 /* this */
            aload 2 /* tmp */
            putfield com.sun.javafx.font.CompositeGlyphMapper.slotMappers:[Lcom/sun/javafx/font/CharToGlyphMapper;
        end local 2 // com.sun.javafx.font.CharToGlyphMapper[] tmp
         4: .line 72
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.slotMappers:[Lcom/sun/javafx/font/CharToGlyphMapper;
            iload 1 /* slot */
            aaload
            astore 2 /* mapper */
        start local 2 // com.sun.javafx.font.CharToGlyphMapper mapper
         5: .line 73
            aload 2 /* mapper */
            ifnonnull 8
         6: .line 74
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.font:Lcom/sun/javafx/font/CompositeFontResource;
            iload 1 /* slot */
            invokeinterface com.sun.javafx.font.CompositeFontResource.getSlotResource:(I)Lcom/sun/javafx/font/FontResource;
            invokeinterface com.sun.javafx.font.FontResource.getGlyphMapper:()Lcom/sun/javafx/font/CharToGlyphMapper;
            astore 2 /* mapper */
         7: .line 75
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.slotMappers:[Lcom/sun/javafx/font/CharToGlyphMapper;
            iload 1 /* slot */
            aload 2 /* mapper */
            aastore
         8: .line 77
      StackMap locals: com.sun.javafx.font.CharToGlyphMapper
      StackMap stack:
            aload 2 /* mapper */
            areturn
        end local 2 // com.sun.javafx.font.CharToGlyphMapper mapper
        end local 1 // int slot
        end local 0 // com.sun.javafx.font.CompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/sun/javafx/font/CompositeGlyphMapper;
            0    9     1    slot  I
            2    4     2     tmp  [Lcom/sun/javafx/font/CharToGlyphMapper;
            5    9     2  mapper  Lcom/sun/javafx/font/CharToGlyphMapper;
    MethodParameters:
      Name  Flags
      slot  

  public int getMissingGlyphCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.font.CompositeGlyphMapper this
         0: .line 81
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.missingGlyph:I
            ireturn
        end local 0 // com.sun.javafx.font.CompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/font/CompositeGlyphMapper;

  public final int compositeGlyphCode(int, int);
    descriptor: (II)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.javafx.font.CompositeGlyphMapper this
        start local 1 // int slot
        start local 2 // int glyphCode
         0: .line 90
            iload 1 /* slot */
            bipush 24
            ishl
            iload 2 /* glyphCode */
            ldc 16777215
            iand
            ior
            ireturn
        end local 2 // int glyphCode
        end local 1 // int slot
        end local 0 // com.sun.javafx.font.CompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/sun/javafx/font/CompositeGlyphMapper;
            0    1     1       slot  I
            0    1     2  glyphCode  I
    MethodParameters:
           Name  Flags
      slot       
      glyphCode  

  private final int convertToGlyph(int);
    descriptor: (I)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.javafx.font.CompositeGlyphMapper this
        start local 1 // int unicode
         0: .line 94
            iconst_0
            istore 2 /* slot */
        start local 2 // int slot
         1: goto 9
         2: .line 95
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* slot */
            invokevirtual com.sun.javafx.font.CompositeGlyphMapper.getSlotMapper:(I)Lcom/sun/javafx/font/CharToGlyphMapper;
            astore 3 /* mapper */
        start local 3 // com.sun.javafx.font.CharToGlyphMapper mapper
         3: .line 96
            aload 3 /* mapper */
            iload 1 /* unicode */
            invokevirtual com.sun.javafx.font.CharToGlyphMapper.charToGlyph:(I)I
            istore 4 /* glyphCode */
        start local 4 // int glyphCode
         4: .line 97
            iload 4 /* glyphCode */
            aload 3 /* mapper */
            invokevirtual com.sun.javafx.font.CharToGlyphMapper.getMissingGlyphCode:()I
            if_icmpeq 8
         5: .line 98
            aload 0 /* this */
            iload 2 /* slot */
            iload 4 /* glyphCode */
            invokevirtual com.sun.javafx.font.CompositeGlyphMapper.compositeGlyphCode:(II)I
            istore 4 /* glyphCode */
         6: .line 99
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.glyphMap:Ljava/util/HashMap;
            iload 1 /* unicode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 4 /* glyphCode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 100
            iload 4 /* glyphCode */
            ireturn
        end local 4 // int glyphCode
        end local 3 // com.sun.javafx.font.CharToGlyphMapper mapper
         8: .line 94
      StackMap locals:
      StackMap stack:
            iinc 2 /* slot */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* slot */
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.font:Lcom/sun/javafx/font/CompositeFontResource;
            invokeinterface com.sun.javafx.font.CompositeFontResource.getNumSlots:()I
            if_icmplt 2
        end local 2 // int slot
        10: .line 103
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.glyphMap:Ljava/util/HashMap;
            iload 1 /* unicode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.missingGlyph:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 104
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.missingGlyph:I
            ireturn
        end local 1 // int unicode
        end local 0 // com.sun.javafx.font.CompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lcom/sun/javafx/font/CompositeGlyphMapper;
            0   12     1    unicode  I
            1   10     2       slot  I
            3    8     3     mapper  Lcom/sun/javafx/font/CharToGlyphMapper;
            4    8     4  glyphCode  I
    MethodParameters:
         Name  Flags
      unicode  

  private int getAsciiGlyphCode(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.sun.javafx.font.CompositeGlyphMapper this
        start local 1 // int charCode
         0: .line 110
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.asciiCacheOK:Z
            ifeq 3
         1: .line 111
            iload 1 /* charCode */
            bipush 126
            if_icmpgt 3
         2: .line 112
            iload 1 /* charCode */
            bipush 32
            if_icmpge 4
         3: .line 113
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         4: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.charToGlyph:[C
            ifnonnull 19
         5: .line 118
            bipush 95
            newarray 5
            astore 2 /* glyphCodes */
        start local 2 // char[] glyphCodes
         6: .line 119
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.javafx.font.CompositeGlyphMapper.getSlotMapper:(I)Lcom/sun/javafx/font/CharToGlyphMapper;
            astore 3 /* mapper */
        start local 3 // com.sun.javafx.font.CharToGlyphMapper mapper
         7: .line 120
            aload 3 /* mapper */
            invokevirtual com.sun.javafx.font.CharToGlyphMapper.getMissingGlyphCode:()I
            istore 4 /* missingGlyphCode */
        start local 4 // int missingGlyphCode
         8: .line 121
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 17
        10: .line 122
      StackMap locals: com.sun.javafx.font.CompositeGlyphMapper int char[] com.sun.javafx.font.CharToGlyphMapper int int
      StackMap stack:
            aload 3 /* mapper */
            bipush 32
            iload 5 /* i */
            iadd
            invokevirtual com.sun.javafx.font.CharToGlyphMapper.charToGlyph:(I)I
            istore 6 /* glyphCode */
        start local 6 // int glyphCode
        11: .line 123
            iload 6 /* glyphCode */
            iload 4 /* missingGlyphCode */
            if_icmpne 15
        12: .line 126
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.font.CompositeGlyphMapper.charToGlyph:[C
        13: .line 127
            aload 0 /* this */
            iconst_0
            putfield com.sun.javafx.font.CompositeGlyphMapper.asciiCacheOK:Z
        14: .line 128
            iconst_m1
            ireturn
        15: .line 131
      StackMap locals: int
      StackMap stack:
            aload 2 /* glyphCodes */
            iload 5 /* i */
            iload 6 /* glyphCode */
            i2c
            castore
        end local 6 // int glyphCode
        16: .line 121
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            bipush 95
            if_icmplt 10
        end local 5 // int i
        18: .line 133
            aload 0 /* this */
            aload 2 /* glyphCodes */
            putfield com.sun.javafx.font.CompositeGlyphMapper.charToGlyph:[C
        end local 4 // int missingGlyphCode
        end local 3 // com.sun.javafx.font.CharToGlyphMapper mapper
        end local 2 // char[] glyphCodes
        19: .line 136
      StackMap locals: com.sun.javafx.font.CompositeGlyphMapper int
      StackMap stack:
            iload 1 /* charCode */
            bipush 32
            isub
            istore 2 /* index */
        start local 2 // int index
        20: .line 137
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.charToGlyph:[C
            iload 2 /* index */
            caload
            ireturn
        end local 2 // int index
        end local 1 // int charCode
        end local 0 // com.sun.javafx.font.CompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              this  Lcom/sun/javafx/font/CompositeGlyphMapper;
            0   21     1          charCode  I
            6   19     2        glyphCodes  [C
            7   19     3            mapper  Lcom/sun/javafx/font/CharToGlyphMapper;
            8   19     4  missingGlyphCode  I
            9   18     5                 i  I
           11   16     6         glyphCode  I
           20   21     2             index  I
    MethodParameters:
          Name  Flags
      charCode  

  public int getGlyphCode(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.javafx.font.CompositeGlyphMapper this
        start local 1 // int charCode
         0: .line 142
            aload 0 /* this */
            iload 1 /* charCode */
            invokevirtual com.sun.javafx.font.CompositeGlyphMapper.getAsciiGlyphCode:(I)I
            istore 2 /* retVal */
        start local 2 // int retVal
         1: .line 143
            iload 2 /* retVal */
            iflt 3
         2: .line 144
            iload 2 /* retVal */
            ireturn
         3: .line 147
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.font.CompositeGlyphMapper.glyphMap:Ljava/util/HashMap;
            iload 1 /* charCode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 3 /* codeInt */
        start local 3 // java.lang.Integer codeInt
         4: .line 148
            aload 3 /* codeInt */
            ifnull 6
         5: .line 149
            aload 3 /* codeInt */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
         6: .line 151
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            iload 1 /* charCode */
            invokevirtual com.sun.javafx.font.CompositeGlyphMapper.convertToGlyph:(I)I
            ireturn
        end local 3 // java.lang.Integer codeInt
        end local 2 // int retVal
        end local 1 // int charCode
        end local 0 // com.sun.javafx.font.CompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/sun/javafx/font/CompositeGlyphMapper;
            0    7     1  charCode  I
            1    7     2    retVal  I
            4    7     3   codeInt  Ljava/lang/Integer;
    MethodParameters:
          Name  Flags
      charCode  
}
SourceFile: "CompositeGlyphMapper.java"