public final class sun.font.CCompositeGlyphMapper extends sun.font.CompositeGlyphMapper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.font.CCompositeGlyphMapper
  super_class: sun.font.CompositeGlyphMapper
{
  private sun.font.CompositeFont font;
    descriptor: Lsun/font/CompositeFont;
    flags: (0x0002) ACC_PRIVATE

  private sun.font.CharToGlyphMapper[] slotMappers;
    descriptor: [Lsun/font/CharToGlyphMapper;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(sun.font.CompositeFont);
    descriptor: (Lsun/font/CompositeFont;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.CCompositeGlyphMapper this
        start local 1 // sun.font.CompositeFont compFont
         0: .line 34
            aload 0 /* this */
            aload 1 /* compFont */
            invokespecial sun.font.CompositeGlyphMapper.<init>:(Lsun/font/CompositeFont;)V
         1: .line 35
            aload 0 /* this */
            aload 1 /* compFont */
            putfield sun.font.CCompositeGlyphMapper.font:Lsun/font/CompositeFont;
         2: .line 36
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.font:Lsun/font/CompositeFont;
            getfield sun.font.CompositeFont.numSlots:I
            anewarray sun.font.CharToGlyphMapper
            putfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
         3: .line 37
            aload 0 /* this */
            iconst_0
            putfield sun.font.CCompositeGlyphMapper.missingGlyph:I
         4: .line 38
            return
        end local 1 // sun.font.CompositeFont compFont
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lsun/font/CCompositeGlyphMapper;
            0    5     1  compFont  Lsun/font/CompositeFont;
    MethodParameters:
          Name  Flags
      compFont  

  private sun.font.CharToGlyphMapper getSlotMapper(int);
    descriptor: (I)Lsun/font/CharToGlyphMapper;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.font.CCompositeGlyphMapper this
        start local 1 // int slot
         0: .line 41
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
            iload 1 /* slot */
            aaload
            astore 2 /* mapper */
        start local 2 // sun.font.CharToGlyphMapper mapper
         1: .line 42
            aload 2 /* mapper */
            ifnonnull 4
         2: .line 43
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.font:Lsun/font/CompositeFont;
            iload 1 /* slot */
            invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
            invokevirtual sun.font.PhysicalFont.getMapper:()Lsun/font/CharToGlyphMapper;
            astore 2 /* mapper */
         3: .line 44
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
            iload 1 /* slot */
            aload 2 /* mapper */
            aastore
         4: .line 46
      StackMap locals: sun.font.CharToGlyphMapper
      StackMap stack:
            aload 2 /* mapper */
            areturn
        end local 2 // sun.font.CharToGlyphMapper mapper
        end local 1 // int slot
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/font/CCompositeGlyphMapper;
            0    5     1    slot  I
            1    5     2  mapper  Lsun/font/CharToGlyphMapper;
    MethodParameters:
      Name  Flags
      slot  

  public boolean canDisplay(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.font.CCompositeGlyphMapper this
        start local 1 // char ch
         0: .line 50
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual sun.font.CCompositeGlyphMapper.charToGlyph:(C)I
            istore 2 /* glyph */
        start local 2 // int glyph
         1: .line 51
            iload 2 /* glyph */
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.missingGlyph:I
            if_icmpeq 2
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // int glyph
        end local 1 // char ch
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/font/CCompositeGlyphMapper;
            0    3     1     ch  C
            1    3     2  glyph  I
    MethodParameters:
      Name  Flags
      ch    

  private int convertToGlyph(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.font.CCompositeGlyphMapper this
        start local 1 // int unicode
         0: .line 55
            iconst_0
            istore 2 /* slot */
        start local 2 // int slot
         1: goto 8
         2: .line 56
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* slot */
            invokevirtual sun.font.CCompositeGlyphMapper.getSlotMapper:(I)Lsun/font/CharToGlyphMapper;
            astore 3 /* mapper */
        start local 3 // sun.font.CharToGlyphMapper mapper
         3: .line 57
            aload 3 /* mapper */
            iload 1 /* unicode */
            invokevirtual sun.font.CharToGlyphMapper.charToGlyph:(I)I
            istore 4 /* glyphCode */
        start local 4 // int glyphCode
         4: .line 62
            iload 4 /* glyphCode */
            ifle 7
         5: .line 63
            aload 0 /* this */
            iload 2 /* slot */
            iload 4 /* glyphCode */
            invokevirtual sun.font.CCompositeGlyphMapper.compositeGlyphCode:(II)I
            istore 4 /* glyphCode */
         6: .line 64
            iload 4 /* glyphCode */
            ireturn
        end local 4 // int glyphCode
        end local 3 // sun.font.CharToGlyphMapper mapper
         7: .line 55
      StackMap locals:
      StackMap stack:
            iinc 2 /* slot */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* slot */
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.font:Lsun/font/CompositeFont;
            getfield sun.font.CompositeFont.numSlots:I
            if_icmplt 2
        end local 2 // int slot
         9: .line 67
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.missingGlyph:I
            ireturn
        end local 1 // int unicode
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lsun/font/CCompositeGlyphMapper;
            0   10     1    unicode  I
            1    9     2       slot  I
            3    7     3     mapper  Lsun/font/CharToGlyphMapper;
            4    7     4  glyphCode  I
    MethodParameters:
         Name  Flags
      unicode  

  public int getNumGlyphs();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // sun.font.CCompositeGlyphMapper this
         0: .line 71
            iconst_0
            istore 1 /* numGlyphs */
        start local 1 // int numGlyphs
         1: .line 72
            iconst_0
            istore 2 /* slot */
        start local 2 // int slot
         2: goto 9
         3: .line 73
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
            iload 2 /* slot */
            aaload
            astore 3 /* mapper */
        start local 3 // sun.font.CharToGlyphMapper mapper
         4: .line 74
            aload 3 /* mapper */
            ifnonnull 7
         5: .line 75
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.font:Lsun/font/CompositeFont;
            iload 2 /* slot */
            invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
            invokevirtual sun.font.PhysicalFont.getMapper:()Lsun/font/CharToGlyphMapper;
            astore 3 /* mapper */
         6: .line 76
            aload 0 /* this */
            getfield sun.font.CCompositeGlyphMapper.slotMappers:[Lsun/font/CharToGlyphMapper;
            iload 2 /* slot */
            aload 3 /* mapper */
            aastore
         7: .line 78
      StackMap locals: sun.font.CharToGlyphMapper
      StackMap stack:
            iload 1 /* numGlyphs */
            aload 3 /* mapper */
            invokevirtual sun.font.CharToGlyphMapper.getNumGlyphs:()I
            iadd
            istore 1 /* numGlyphs */
        end local 3 // sun.font.CharToGlyphMapper mapper
         8: .line 72
            iinc 2 /* slot */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* slot */
            iconst_1
            if_icmplt 3
        end local 2 // int slot
        10: .line 80
            iload 1 /* numGlyphs */
            ireturn
        end local 1 // int numGlyphs
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lsun/font/CCompositeGlyphMapper;
            1   11     1  numGlyphs  I
            2   10     2       slot  I
            4    8     3     mapper  Lsun/font/CharToGlyphMapper;

  public int charToGlyph(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.CCompositeGlyphMapper this
        start local 1 // int unicode
         0: .line 84
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
            ireturn
        end local 1 // int unicode
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lsun/font/CCompositeGlyphMapper;
            0    1     1  unicode  I
    MethodParameters:
         Name  Flags
      unicode  

  public int charToGlyph(char);
    descriptor: (C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.CCompositeGlyphMapper this
        start local 1 // char unicode
         0: .line 88
            aload 0 /* this */
            iload 1 /* unicode */
            invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
            ireturn
        end local 1 // char unicode
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lsun/font/CCompositeGlyphMapper;
            0    1     1  unicode  C
    MethodParameters:
         Name  Flags
      unicode  

  public boolean charsToGlyphsNS(int, char[], int[]);
    descriptor: (I[C[I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // sun.font.CCompositeGlyphMapper this
        start local 1 // int count
        start local 2 // char[] unicodes
        start local 3 // int[] glyphs
         0: .line 93
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 26
         2: .line 94
      StackMap locals: int
      StackMap stack:
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            istore 5 /* code */
        start local 5 // int code
         3: .line 96
            iload 5 /* code */
            ldc 55296
            if_icmplt 18
         4: .line 97
            iload 5 /* code */
            ldc 56319
            if_icmpgt 18
            iload 4 /* i */
            iload 1 /* count */
            iconst_1
            isub
            if_icmpge 18
         5: .line 98
            aload 2 /* unicodes */
            iload 4 /* i */
            iconst_1
            iadd
            caload
            istore 6 /* low */
        start local 6 // char low
         6: .line 100
            iload 6 /* low */
            ldc 56320
            if_icmplt 18
         7: .line 101
            iload 6 /* low */
            ldc 57343
            if_icmpgt 18
         8: .line 102
            iload 5 /* code */
            ldc 55296
            isub
         9: .line 103
            sipush 1024
        10: .line 102
            imul
        11: .line 103
            iload 6 /* low */
        12: .line 102
            iadd
        13: .line 103
            ldc 56320
        14: .line 102
            isub
        15: .line 103
            ldc 65536
        16: .line 102
            iadd
            istore 5 /* code */
        17: .line 104
            aload 3 /* glyphs */
            iload 4 /* i */
            iconst_1
            iadd
            ldc 65535
            iastore
        end local 6 // char low
        18: .line 108
      StackMap locals: int
      StackMap stack:
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            iload 5 /* code */
            invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
            iastore
        19: .line 110
            iload 5 /* code */
            sipush 768
            if_icmpge 21
        20: .line 111
            goto 25
        21: .line 113
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            invokestatic sun.font.FontUtilities.isComplexCharCode:(I)Z
            ifeq 23
        22: .line 114
            iconst_1
            ireturn
        23: .line 116
      StackMap locals:
      StackMap stack:
            iload 5 /* code */
            ldc 65536
            if_icmplt 25
        24: .line 117
            iinc 4 /* i */ 1
        end local 5 // int code
        25: .line 93
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 4 /* i */
            iload 1 /* count */
            if_icmplt 2
        end local 4 // int i
        27: .line 122
            iconst_0
            ireturn
        end local 3 // int[] glyphs
        end local 2 // char[] unicodes
        end local 1 // int count
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0      this  Lsun/font/CCompositeGlyphMapper;
            0   28     1     count  I
            0   28     2  unicodes  [C
            0   28     3    glyphs  [I
            1   27     4         i  I
            3   25     5      code  I
            6   18     6       low  C
    MethodParameters:
          Name  Flags
      count     
      unicodes  
      glyphs    

  public void charsToGlyphs(int, char[], int[]);
    descriptor: (I[C[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // sun.font.CCompositeGlyphMapper this
        start local 1 // int count
        start local 2 // char[] unicodes
        start local 3 // int[] glyphs
         0: .line 126
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 23
         2: .line 127
      StackMap locals: int
      StackMap stack:
            aload 2 /* unicodes */
            iload 4 /* i */
            caload
            istore 5 /* code */
        start local 5 // int code
         3: .line 129
            iload 5 /* code */
            ldc 55296
            if_icmplt 21
         4: .line 130
            iload 5 /* code */
            ldc 56319
            if_icmpgt 21
            iload 4 /* i */
            iload 1 /* count */
            iconst_1
            isub
            if_icmpge 21
         5: .line 131
            aload 2 /* unicodes */
            iload 4 /* i */
            iconst_1
            iadd
            caload
            istore 6 /* low */
        start local 6 // char low
         6: .line 133
            iload 6 /* low */
            ldc 56320
            if_icmplt 21
         7: .line 134
            iload 6 /* low */
            ldc 57343
            if_icmpgt 21
         8: .line 135
            iload 5 /* code */
            ldc 55296
            isub
         9: .line 136
            sipush 1024
        10: .line 135
            imul
        11: .line 136
            iload 6 /* low */
        12: .line 135
            iadd
        13: .line 136
            ldc 56320
        14: .line 135
            isub
        15: .line 136
            ldc 65536
        16: .line 135
            iadd
            istore 5 /* code */
        17: .line 138
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            iload 5 /* code */
            invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
            iastore
        18: .line 139
            iinc 4 /* i */ 1
        19: .line 140
            aload 3 /* glyphs */
            iload 4 /* i */
            ldc 65535
            iastore
        20: .line 141
            goto 22
        end local 6 // char low
        21: .line 145
      StackMap locals: int
      StackMap stack:
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            iload 5 /* code */
            invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
            iastore
        end local 5 // int code
        22: .line 126
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* i */
            iload 1 /* count */
            if_icmplt 2
        end local 4 // int i
        24: .line 147
            return
        end local 3 // int[] glyphs
        end local 2 // char[] unicodes
        end local 1 // int count
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Lsun/font/CCompositeGlyphMapper;
            0   25     1     count  I
            0   25     2  unicodes  [C
            0   25     3    glyphs  [I
            1   24     4         i  I
            3   22     5      code  I
            6   21     6       low  C
    MethodParameters:
          Name  Flags
      count     
      unicodes  
      glyphs    

  public void charsToGlyphs(int, int[], int[]);
    descriptor: (I[I[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // sun.font.CCompositeGlyphMapper this
        start local 1 // int count
        start local 2 // int[] unicodes
        start local 3 // int[] glyphs
         0: .line 150
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 4
         2: .line 151
      StackMap locals: int
      StackMap stack:
            aload 3 /* glyphs */
            iload 4 /* i */
            aload 0 /* this */
            aload 2 /* unicodes */
            iload 4 /* i */
            iaload
            invokevirtual sun.font.CCompositeGlyphMapper.convertToGlyph:(I)I
            iastore
         3: .line 150
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 4 /* i */
            iload 1 /* count */
            if_icmplt 2
        end local 4 // int i
         5: .line 153
            return
        end local 3 // int[] glyphs
        end local 2 // int[] unicodes
        end local 1 // int count
        end local 0 // sun.font.CCompositeGlyphMapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/font/CCompositeGlyphMapper;
            0    6     1     count  I
            0    6     2  unicodes  [I
            0    6     3    glyphs  [I
            1    5     4         i  I
    MethodParameters:
          Name  Flags
      count     
      unicodes  
      glyphs    
}
SourceFile: "CCompositeGlyphMapper.java"