public final class sun.font.GlyphLayout
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.font.GlyphLayout
  super_class: java.lang.Object
{
  private sun.font.GlyphLayout$GVData _gvdata;
    descriptor: Lsun/font/GlyphLayout$GVData;
    flags: (0x0002) ACC_PRIVATE

  private static volatile sun.font.GlyphLayout cache;
    descriptor: Lsun/font/GlyphLayout;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private sun.font.GlyphLayout$LayoutEngineFactory _lef;
    descriptor: Lsun/font/GlyphLayout$LayoutEngineFactory;
    flags: (0x0002) ACC_PRIVATE

  private sun.font.TextRecord _textRecord;
    descriptor: Lsun/font/TextRecord;
    flags: (0x0002) ACC_PRIVATE

  private sun.font.ScriptRun _scriptRuns;
    descriptor: Lsun/font/ScriptRun;
    flags: (0x0002) ACC_PRIVATE

  private sun.font.FontRunIterator _fontRuns;
    descriptor: Lsun/font/FontRunIterator;
    flags: (0x0002) ACC_PRIVATE

  private int _ercount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList<sun.font.GlyphLayout$EngineRecord> _erecords;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lsun/font/GlyphLayout$EngineRecord;>;

  private java.awt.geom.Point2D$Float _pt;
    descriptor: Ljava/awt/geom/Point2D$Float;
    flags: (0x0002) ACC_PRIVATE

  private sun.font.FontStrikeDesc _sd;
    descriptor: Lsun/font/FontStrikeDesc;
    flags: (0x0002) ACC_PRIVATE

  private float[] _mat;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

  private float ptSize;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private int _typo_flags;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int _offset;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public static sun.font.GlyphLayout get(sun.font.GlyphLayout$LayoutEngineFactory);
    descriptor: (Lsun/font/GlyphLayout$LayoutEngineFactory;)Lsun/font/GlyphLayout;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.font.GlyphLayout$LayoutEngineFactory lef
         0: .line 185
            aload 0 /* lef */
            ifnonnull 2
         1: .line 186
            invokestatic sun.font.SunLayoutEngine.instance:()Lsun/font/GlyphLayout$LayoutEngineFactory;
            astore 0 /* lef */
         2: .line 188
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* result */
        start local 1 // sun.font.GlyphLayout result
         3: .line 189
            ldc Lsun/font/GlyphLayout;
            dup
            astore 2
            monitorenter
         4: .line 190
            getstatic sun.font.GlyphLayout.cache:Lsun/font/GlyphLayout;
            ifnull 7
         5: .line 191
            getstatic sun.font.GlyphLayout.cache:Lsun/font/GlyphLayout;
            astore 1 /* result */
         6: .line 192
            aconst_null
            putstatic sun.font.GlyphLayout.cache:Lsun/font/GlyphLayout;
         7: .line 189
      StackMap locals: sun.font.GlyphLayout java.lang.Class
      StackMap stack:
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            ifnonnull 13
        12: .line 196
            new sun.font.GlyphLayout
            dup
            invokespecial sun.font.GlyphLayout.<init>:()V
            astore 1 /* result */
        13: .line 198
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            aload 0 /* lef */
            putfield sun.font.GlyphLayout._lef:Lsun/font/GlyphLayout$LayoutEngineFactory;
        14: .line 199
            aload 1 /* result */
            areturn
        end local 1 // sun.font.GlyphLayout result
        end local 0 // sun.font.GlyphLayout$LayoutEngineFactory lef
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0     lef  Lsun/font/GlyphLayout$LayoutEngineFactory;
            3   15     1  result  Lsun/font/GlyphLayout;
      Exception table:
        from    to  target  type
           4     8       9  any
           9    10       9  any
    MethodParameters:
      Name  Flags
      lef   

  public static void done(sun.font.GlyphLayout);
    descriptor: (Lsun/font/GlyphLayout;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.font.GlyphLayout gl
         0: .line 207
            aload 0 /* gl */
            aconst_null
            putfield sun.font.GlyphLayout._lef:Lsun/font/GlyphLayout$LayoutEngineFactory;
         1: .line 208
            aload 0 /* gl */
            putstatic sun.font.GlyphLayout.cache:Lsun/font/GlyphLayout;
         2: .line 209
            return
        end local 0 // sun.font.GlyphLayout gl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    gl  Lsun/font/GlyphLayout;
    MethodParameters:
      Name  Flags
      gl    

  public sun.font.StandardGlyphVector layout(java.awt.Font, java.awt.font.FontRenderContext, char[], int, int, int, sun.font.StandardGlyphVector);
    descriptor: (Ljava/awt/Font;Ljava/awt/font/FontRenderContext;[CIIILsun/font/StandardGlyphVector;)Lsun/font/StandardGlyphVector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=20, args_size=8
        start local 0 // sun.font.GlyphLayout this
        start local 1 // java.awt.Font font
        start local 2 // java.awt.font.FontRenderContext frc
        start local 3 // char[] text
        start local 4 // int offset
        start local 5 // int count
        start local 6 // int flags
        start local 7 // sun.font.StandardGlyphVector result
         0: .line 366
            aload 3 /* text */
            ifnull 1
            iload 4 /* offset */
            iflt 1
            iload 5 /* count */
            iflt 1
            iload 5 /* count */
            aload 3 /* text */
            arraylength
            iload 4 /* offset */
            isub
            if_icmple 2
         1: .line 367
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* count */
            invokevirtual sun.font.GlyphLayout.init:(I)V
         3: .line 374
            aload 1 /* font */
            invokevirtual java.awt.Font.hasLayoutAttributes:()Z
            ifeq 7
         4: .line 375
            aload 1 /* font */
            invokevirtual java.awt.Font.getAttributes:()Ljava/util/Map;
            checkcast sun.font.AttributeMap
            invokevirtual sun.font.AttributeMap.getValues:()Lsun/font/AttributeValues;
            astore 8 /* values */
        start local 8 // sun.font.AttributeValues values
         5: .line 376
            aload 8 /* values */
            invokevirtual sun.font.AttributeValues.getKerning:()I
            ifeq 6
            aload 0 /* this */
            dup
            getfield sun.font.GlyphLayout._typo_flags:I
            iconst_1
            ior
            putfield sun.font.GlyphLayout._typo_flags:I
         6: .line 377
      StackMap locals: sun.font.AttributeValues
      StackMap stack:
            aload 8 /* values */
            invokevirtual sun.font.AttributeValues.getLigatures:()I
            ifeq 7
            aload 0 /* this */
            dup
            getfield sun.font.GlyphLayout._typo_flags:I
            iconst_2
            ior
            putfield sun.font.GlyphLayout._typo_flags:I
        end local 8 // sun.font.AttributeValues values
         7: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* offset */
            putfield sun.font.GlyphLayout._offset:I
         8: .line 384
            aload 1 /* font */
            aload 2 /* frc */
            invokestatic sun.font.GlyphLayout$SDCache.get:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)Lsun/font/GlyphLayout$SDCache;
            astore 8 /* txinfo */
        start local 8 // sun.font.GlyphLayout$SDCache txinfo
         9: .line 385
            aload 0 /* this */
            getfield sun.font.GlyphLayout._mat:[F
            iconst_0
            aload 8 /* txinfo */
            getfield sun.font.GlyphLayout$SDCache.gtx:Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
            d2f
            fastore
        10: .line 386
            aload 0 /* this */
            getfield sun.font.GlyphLayout._mat:[F
            iconst_1
            aload 8 /* txinfo */
            getfield sun.font.GlyphLayout$SDCache.gtx:Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.getShearY:()D
            d2f
            fastore
        11: .line 387
            aload 0 /* this */
            getfield sun.font.GlyphLayout._mat:[F
            iconst_2
            aload 8 /* txinfo */
            getfield sun.font.GlyphLayout$SDCache.gtx:Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.getShearX:()D
            d2f
            fastore
        12: .line 388
            aload 0 /* this */
            getfield sun.font.GlyphLayout._mat:[F
            iconst_3
            aload 8 /* txinfo */
            getfield sun.font.GlyphLayout$SDCache.gtx:Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.geom.AffineTransform.getScaleY:()D
            d2f
            fastore
        13: .line 389
            aload 0 /* this */
            getfield sun.font.GlyphLayout._pt:Ljava/awt/geom/Point2D$Float;
            aload 8 /* txinfo */
            getfield sun.font.GlyphLayout$SDCache.delta:Ljava/awt/geom/Point2D$Float;
            invokevirtual java.awt.geom.Point2D$Float.setLocation:(Ljava/awt/geom/Point2D;)V
        14: .line 390
            aload 0 /* this */
            aload 1 /* font */
            invokevirtual java.awt.Font.getSize2D:()F
            putfield sun.font.GlyphLayout.ptSize:F
        15: .line 392
            iload 4 /* offset */
            iload 5 /* count */
            iadd
            istore 9 /* lim */
        start local 9 // int lim
        16: .line 394
            iconst_0
            istore 10 /* min */
        start local 10 // int min
        17: .line 395
            aload 3 /* text */
            arraylength
            istore 11 /* max */
        start local 11 // int max
        18: .line 396
            iload 6 /* flags */
            ifeq 25
        19: .line 397
            iload 6 /* flags */
            iconst_1
            iand
            ifeq 21
        20: .line 398
            aload 0 /* this */
            dup
            getfield sun.font.GlyphLayout._typo_flags:I
            ldc -2147483648
            ior
            putfield sun.font.GlyphLayout._typo_flags:I
        21: .line 401
      StackMap locals: sun.font.GlyphLayout java.awt.Font java.awt.font.FontRenderContext char[] int int int sun.font.StandardGlyphVector sun.font.GlyphLayout$SDCache int int int
      StackMap stack:
            iload 6 /* flags */
            iconst_2
            iand
            ifeq 23
        22: .line 402
            iload 4 /* offset */
            istore 10 /* min */
        23: .line 405
      StackMap locals:
      StackMap stack:
            iload 6 /* flags */
            iconst_4
            iand
            ifeq 25
        24: .line 406
            iload 9 /* lim */
            istore 11 /* max */
        25: .line 410
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 12 /* lang */
        start local 12 // int lang
        26: .line 412
            aload 1 /* font */
            invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
            astore 13 /* font2D */
        start local 13 // sun.font.Font2D font2D
        27: .line 413
            aload 13 /* font2D */
            instanceof sun.font.FontSubstitution
            ifeq 29
        28: .line 414
            aload 13 /* font2D */
            checkcast sun.font.FontSubstitution
            invokeinterface sun.font.FontSubstitution.getCompositeFont2D:()Lsun/font/CompositeFont;
            astore 13 /* font2D */
        29: .line 417
      StackMap locals: int sun.font.Font2D
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._textRecord:Lsun/font/TextRecord;
            aload 3 /* text */
            iload 4 /* offset */
            iload 9 /* lim */
            iload 10 /* min */
            iload 11 /* max */
            invokevirtual sun.font.TextRecord.init:([CIIII)V
        30: .line 418
            iload 4 /* offset */
            istore 14 /* start */
        start local 14 // int start
        31: .line 419
            aload 13 /* font2D */
            instanceof sun.font.CompositeFont
            ifeq 48
        32: .line 420
            aload 0 /* this */
            getfield sun.font.GlyphLayout._scriptRuns:Lsun/font/ScriptRun;
            aload 3 /* text */
            iload 4 /* offset */
            iload 5 /* count */
            invokevirtual sun.font.ScriptRun.init:([CII)V
        33: .line 421
            aload 0 /* this */
            getfield sun.font.GlyphLayout._fontRuns:Lsun/font/FontRunIterator;
            aload 13 /* font2D */
            checkcast sun.font.CompositeFont
            aload 3 /* text */
            iload 4 /* offset */
            iload 9 /* lim */
            invokevirtual sun.font.FontRunIterator.init:(Lsun/font/CompositeFont;[CII)V
        34: .line 422
            goto 46
        35: .line 423
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._scriptRuns:Lsun/font/ScriptRun;
            invokevirtual sun.font.ScriptRun.getScriptLimit:()I
            istore 15 /* limit */
        start local 15 // int limit
        36: .line 424
            aload 0 /* this */
            getfield sun.font.GlyphLayout._scriptRuns:Lsun/font/ScriptRun;
            invokevirtual sun.font.ScriptRun.getScriptCode:()I
            istore 16 /* script */
        start local 16 // int script
        37: .line 425
            goto 45
        38: .line 426
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._fontRuns:Lsun/font/FontRunIterator;
            invokevirtual sun.font.FontRunIterator.getFont:()Lsun/font/PhysicalFont;
            astore 17 /* pfont */
        start local 17 // sun.font.Font2D pfont
        39: .line 433
            aload 17 /* pfont */
            instanceof sun.font.NativeFont
            ifeq 41
        40: .line 434
            aload 17 /* pfont */
            checkcast sun.font.NativeFont
            invokevirtual sun.font.NativeFont.getDelegateFont:()Lsun/font/PhysicalFont;
            astore 17 /* pfont */
        41: .line 436
      StackMap locals: sun.font.Font2D
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._fontRuns:Lsun/font/FontRunIterator;
            invokevirtual sun.font.FontRunIterator.getGlyphMask:()I
            istore 18 /* gmask */
        start local 18 // int gmask
        42: .line 437
            aload 0 /* this */
            getfield sun.font.GlyphLayout._fontRuns:Lsun/font/FontRunIterator;
            invokevirtual sun.font.FontRunIterator.getPos:()I
            istore 19 /* pos */
        start local 19 // int pos
        43: .line 438
            aload 0 /* this */
            iload 14 /* start */
            iload 19 /* pos */
            iload 16 /* script */
            iload 12 /* lang */
            aload 17 /* pfont */
            iload 18 /* gmask */
            invokevirtual sun.font.GlyphLayout.nextEngineRecord:(IIIILsun/font/Font2D;I)V
        44: .line 439
            iload 19 /* pos */
            istore 14 /* start */
        end local 19 // int pos
        end local 18 // int gmask
        end local 17 // sun.font.Font2D pfont
        45: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._fontRuns:Lsun/font/FontRunIterator;
            iload 16 /* script */
            iload 15 /* limit */
            invokevirtual sun.font.FontRunIterator.next:(II)Z
            ifne 38
        end local 16 // int script
        end local 15 // int limit
        46: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._scriptRuns:Lsun/font/ScriptRun;
            invokevirtual sun.font.ScriptRun.next:()Z
            ifne 35
        47: .line 442
            goto 55
        48: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._scriptRuns:Lsun/font/ScriptRun;
            aload 3 /* text */
            iload 4 /* offset */
            iload 5 /* count */
            invokevirtual sun.font.ScriptRun.init:([CII)V
        49: .line 444
            goto 54
        50: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._scriptRuns:Lsun/font/ScriptRun;
            invokevirtual sun.font.ScriptRun.getScriptLimit:()I
            istore 15 /* limit */
        start local 15 // int limit
        51: .line 446
            aload 0 /* this */
            getfield sun.font.GlyphLayout._scriptRuns:Lsun/font/ScriptRun;
            invokevirtual sun.font.ScriptRun.getScriptCode:()I
            istore 16 /* script */
        start local 16 // int script
        52: .line 447
            aload 0 /* this */
            iload 14 /* start */
            iload 15 /* limit */
            iload 16 /* script */
            iload 12 /* lang */
            aload 13 /* font2D */
            iconst_0
            invokevirtual sun.font.GlyphLayout.nextEngineRecord:(IIIILsun/font/Font2D;I)V
        53: .line 448
            iload 15 /* limit */
            istore 14 /* start */
        end local 16 // int script
        end local 15 // int limit
        54: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._scriptRuns:Lsun/font/ScriptRun;
            invokevirtual sun.font.ScriptRun.next:()Z
            ifne 50
        55: .line 452
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* ix */
        start local 15 // int ix
        56: .line 453
            aload 0 /* this */
            getfield sun.font.GlyphLayout._ercount:I
            istore 16 /* stop */
        start local 16 // int stop
        57: .line 454
            iconst_1
            istore 17 /* dir */
        start local 17 // int dir
        58: .line 456
            aload 0 /* this */
            getfield sun.font.GlyphLayout._typo_flags:I
            ifge 62
        59: .line 457
            iload 16 /* stop */
            iconst_1
            isub
            istore 15 /* ix */
        60: .line 458
            iconst_m1
            istore 16 /* stop */
        61: .line 459
            iconst_m1
            istore 17 /* dir */
        62: .line 463
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            aload 8 /* txinfo */
            getfield sun.font.GlyphLayout$SDCache.sd:Lsun/font/FontStrikeDesc;
            putfield sun.font.GlyphLayout._sd:Lsun/font/FontStrikeDesc;
        63: .line 464
            goto 74
        64: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._erecords:Ljava/util/ArrayList;
            iload 15 /* ix */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.font.GlyphLayout$EngineRecord
            astore 18 /* er */
        start local 18 // sun.font.GlyphLayout$EngineRecord er
        65: .line 468
      StackMap locals: sun.font.GlyphLayout$EngineRecord
      StackMap stack:
            aload 18 /* er */
            invokevirtual sun.font.GlyphLayout$EngineRecord.layout:()V
        66: .line 469
            goto 71
        67: .line 471
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
            pop
        68: .line 472
            aload 0 /* this */
            getfield sun.font.GlyphLayout._gvdata:Lsun/font/GlyphLayout$GVData;
            getfield sun.font.GlyphLayout$GVData._count:I
            iflt 65
        69: .line 473
            aload 0 /* this */
            getfield sun.font.GlyphLayout._gvdata:Lsun/font/GlyphLayout$GVData;
            invokevirtual sun.font.GlyphLayout$GVData.grow:()V
        70: .line 466
            goto 65
        71: .line 478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._gvdata:Lsun/font/GlyphLayout$GVData;
            getfield sun.font.GlyphLayout$GVData._count:I
            ifge 73
        72: .line 479
            goto 75
        end local 18 // sun.font.GlyphLayout$EngineRecord er
        73: .line 464
      StackMap locals:
      StackMap stack:
            iload 15 /* ix */
            iload 17 /* dir */
            iadd
            istore 15 /* ix */
      StackMap locals:
      StackMap stack:
        74: iload 15 /* ix */
            iload 16 /* stop */
            if_icmpne 64
        75: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._gvdata:Lsun/font/GlyphLayout$GVData;
            getfield sun.font.GlyphLayout$GVData._count:I
            ifge 82
        76: .line 492
            new sun.font.StandardGlyphVector
            dup
            aload 1 /* font */
            aload 3 /* text */
            iload 4 /* offset */
            iload 5 /* count */
            aload 2 /* frc */
            invokespecial sun.font.StandardGlyphVector.<init>:(Ljava/awt/Font;[CIILjava/awt/font/FontRenderContext;)V
            astore 18 /* gv */
        start local 18 // sun.font.StandardGlyphVector gv
        77: .line 493
            invokestatic sun.font.FontUtilities.debugFonts:()Z
            ifeq 83
        78: .line 494
            invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "OpenType layout failed on font: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        79: .line 495
            aload 1 /* font */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        80: .line 494
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        81: .line 497
            goto 83
        end local 18 // sun.font.StandardGlyphVector gv
        82: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._gvdata:Lsun/font/GlyphLayout$GVData;
            aload 1 /* font */
            aload 2 /* frc */
            aload 7 /* result */
            invokevirtual sun.font.GlyphLayout$GVData.createGlyphVector:(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;Lsun/font/StandardGlyphVector;)Lsun/font/StandardGlyphVector;
            astore 18 /* gv */
        start local 18 // sun.font.StandardGlyphVector gv
        83: .line 501
      StackMap locals: sun.font.StandardGlyphVector
      StackMap stack:
            aload 18 /* gv */
            areturn
        end local 18 // sun.font.StandardGlyphVector gv
        end local 17 // int dir
        end local 16 // int stop
        end local 15 // int ix
        end local 14 // int start
        end local 13 // sun.font.Font2D font2D
        end local 12 // int lang
        end local 11 // int max
        end local 10 // int min
        end local 9 // int lim
        end local 8 // sun.font.GlyphLayout$SDCache txinfo
        end local 7 // sun.font.StandardGlyphVector result
        end local 6 // int flags
        end local 5 // int count
        end local 4 // int offset
        end local 3 // char[] text
        end local 2 // java.awt.font.FontRenderContext frc
        end local 1 // java.awt.Font font
        end local 0 // sun.font.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   84     0    this  Lsun/font/GlyphLayout;
            0   84     1    font  Ljava/awt/Font;
            0   84     2     frc  Ljava/awt/font/FontRenderContext;
            0   84     3    text  [C
            0   84     4  offset  I
            0   84     5   count  I
            0   84     6   flags  I
            0   84     7  result  Lsun/font/StandardGlyphVector;
            5    7     8  values  Lsun/font/AttributeValues;
            9   84     8  txinfo  Lsun/font/GlyphLayout$SDCache;
           16   84     9     lim  I
           17   84    10     min  I
           18   84    11     max  I
           26   84    12    lang  I
           27   84    13  font2D  Lsun/font/Font2D;
           31   84    14   start  I
           36   46    15   limit  I
           37   46    16  script  I
           39   45    17   pfont  Lsun/font/Font2D;
           42   45    18   gmask  I
           43   45    19     pos  I
           51   54    15   limit  I
           52   54    16  script  I
           56   84    15      ix  I
           57   84    16    stop  I
           58   84    17     dir  I
           65   73    18      er  Lsun/font/GlyphLayout$EngineRecord;
           77   82    18      gv  Lsun/font/StandardGlyphVector;
           83   84    18      gv  Lsun/font/StandardGlyphVector;
      Exception table:
        from    to  target  type
          65    66      67  Class java.lang.IndexOutOfBoundsException
    MethodParameters:
        Name  Flags
      font    
      frc     
      text    
      offset  
      count   
      flags   
      result  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.font.GlyphLayout this
         0: .line 508
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 509
            aload 0 /* this */
            new sun.font.GlyphLayout$GVData
            dup
            invokespecial sun.font.GlyphLayout$GVData.<init>:()V
            putfield sun.font.GlyphLayout._gvdata:Lsun/font/GlyphLayout$GVData;
         2: .line 510
            aload 0 /* this */
            new sun.font.TextRecord
            dup
            invokespecial sun.font.TextRecord.<init>:()V
            putfield sun.font.GlyphLayout._textRecord:Lsun/font/TextRecord;
         3: .line 511
            aload 0 /* this */
            new sun.font.ScriptRun
            dup
            invokespecial sun.font.ScriptRun.<init>:()V
            putfield sun.font.GlyphLayout._scriptRuns:Lsun/font/ScriptRun;
         4: .line 512
            aload 0 /* this */
            new sun.font.FontRunIterator
            dup
            invokespecial sun.font.FontRunIterator.<init>:()V
            putfield sun.font.GlyphLayout._fontRuns:Lsun/font/FontRunIterator;
         5: .line 513
            aload 0 /* this */
            new java.util.ArrayList
            dup
            bipush 10
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield sun.font.GlyphLayout._erecords:Ljava/util/ArrayList;
         6: .line 514
            aload 0 /* this */
            new java.awt.geom.Point2D$Float
            dup
            invokespecial java.awt.geom.Point2D$Float.<init>:()V
            putfield sun.font.GlyphLayout._pt:Ljava/awt/geom/Point2D$Float;
         7: .line 515
            aload 0 /* this */
            new sun.font.FontStrikeDesc
            dup
            invokespecial sun.font.FontStrikeDesc.<init>:()V
            putfield sun.font.GlyphLayout._sd:Lsun/font/FontStrikeDesc;
         8: .line 516
            aload 0 /* this */
            iconst_4
            newarray 6
            putfield sun.font.GlyphLayout._mat:[F
         9: .line 517
            return
        end local 0 // sun.font.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/font/GlyphLayout;

  private void init(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.font.GlyphLayout this
        start local 1 // int capacity
         0: .line 520
            aload 0 /* this */
            iconst_0
            putfield sun.font.GlyphLayout._typo_flags:I
         1: .line 521
            aload 0 /* this */
            iconst_0
            putfield sun.font.GlyphLayout._ercount:I
         2: .line 522
            aload 0 /* this */
            getfield sun.font.GlyphLayout._gvdata:Lsun/font/GlyphLayout$GVData;
            iload 1 /* capacity */
            invokevirtual sun.font.GlyphLayout$GVData.init:(I)V
         3: .line 523
            return
        end local 1 // int capacity
        end local 0 // sun.font.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/font/GlyphLayout;
            0    4     1  capacity  I
    MethodParameters:
          Name  Flags
      capacity  

  private void nextEngineRecord(int, int, int, int, sun.font.Font2D, int);
    descriptor: (IIIILsun/font/Font2D;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // sun.font.GlyphLayout this
        start local 1 // int start
        start local 2 // int limit
        start local 3 // int script
        start local 4 // int lang
        start local 5 // sun.font.Font2D font
        start local 6 // int gmask
         0: .line 526
            aconst_null
            astore 7 /* er */
        start local 7 // sun.font.GlyphLayout$EngineRecord er
         1: .line 527
            aload 0 /* this */
            getfield sun.font.GlyphLayout._ercount:I
            aload 0 /* this */
            getfield sun.font.GlyphLayout._erecords:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmpne 5
         2: .line 528
            new sun.font.GlyphLayout$EngineRecord
            dup
            aload 0 /* this */
            invokespecial sun.font.GlyphLayout$EngineRecord.<init>:(Lsun/font/GlyphLayout;)V
            astore 7 /* er */
         3: .line 529
            aload 0 /* this */
            getfield sun.font.GlyphLayout._erecords:Ljava/util/ArrayList;
            aload 7 /* er */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 530
            goto 6
         5: .line 531
      StackMap locals: sun.font.GlyphLayout$EngineRecord
      StackMap stack:
            aload 0 /* this */
            getfield sun.font.GlyphLayout._erecords:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield sun.font.GlyphLayout._ercount:I
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.font.GlyphLayout$EngineRecord
            astore 7 /* er */
         6: .line 533
      StackMap locals:
      StackMap stack:
            aload 7 /* er */
            iload 1 /* start */
            iload 2 /* limit */
            aload 5 /* font */
            iload 3 /* script */
            iload 4 /* lang */
            iload 6 /* gmask */
            invokevirtual sun.font.GlyphLayout$EngineRecord.init:(IILsun/font/Font2D;III)V
         7: .line 534
            aload 0 /* this */
            dup
            getfield sun.font.GlyphLayout._ercount:I
            iconst_1
            iadd
            putfield sun.font.GlyphLayout._ercount:I
         8: .line 535
            return
        end local 7 // sun.font.GlyphLayout$EngineRecord er
        end local 6 // int gmask
        end local 5 // sun.font.Font2D font
        end local 4 // int lang
        end local 3 // int script
        end local 2 // int limit
        end local 1 // int start
        end local 0 // sun.font.GlyphLayout this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lsun/font/GlyphLayout;
            0    9     1   start  I
            0    9     2   limit  I
            0    9     3  script  I
            0    9     4    lang  I
            0    9     5    font  Lsun/font/Font2D;
            0    9     6   gmask  I
            1    9     7      er  Lsun/font/GlyphLayout$EngineRecord;
    MethodParameters:
        Name  Flags
      start   
      limit   
      script  
      lang    
      font    
      gmask   
}
SourceFile: "GlyphLayout.java"
NestMembers:
  sun.font.GlyphLayout$EngineRecord  sun.font.GlyphLayout$GVData  sun.font.GlyphLayout$LayoutEngine  sun.font.GlyphLayout$LayoutEngineFactory  sun.font.GlyphLayout$LayoutEngineKey  sun.font.GlyphLayout$SDCache  sun.font.GlyphLayout$SDCache$SDKey
InnerClasses:
  public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
  private final EngineRecord = sun.font.GlyphLayout$EngineRecord of sun.font.GlyphLayout
  public final GVData = sun.font.GlyphLayout$GVData of sun.font.GlyphLayout
  public abstract LayoutEngine = sun.font.GlyphLayout$LayoutEngine of sun.font.GlyphLayout
  public abstract LayoutEngineFactory = sun.font.GlyphLayout$LayoutEngineFactory of sun.font.GlyphLayout
  public final LayoutEngineKey = sun.font.GlyphLayout$LayoutEngineKey of sun.font.GlyphLayout
  private final SDCache = sun.font.GlyphLayout$SDCache of sun.font.GlyphLayout