class org.apache.fop.afp.DataStream$1 implements org.apache.fop.afp.ptoca.PtocaProducer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.fop.afp.DataStream$1
  super_class: java.lang.Object
{
  final org.apache.fop.afp.DataStream this$0;
    descriptor: Lorg/apache/fop/afp/DataStream;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final org.apache.fop.afp.AFPTextDataInfo val$textDataInfo;
    descriptor: Lorg/apache/fop/afp/AFPTextDataInfo;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final int val$letterSpacing;
    descriptor: I
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.apache.fop.fonts.Font val$font;
    descriptor: Lorg/apache/fop/fonts/Font;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final int val$wordSpacing;
    descriptor: I
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.apache.fop.afp.fonts.CharacterSet val$charSet;
    descriptor: Lorg/apache/fop/afp/fonts/CharacterSet;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.apache.fop.afp.DataStream, org.apache.fop.afp.AFPTextDataInfo, int, org.apache.fop.fonts.Font, int, org.apache.fop.afp.fonts.CharacterSet);
    descriptor: (Lorg/apache/fop/afp/DataStream;Lorg/apache/fop/afp/AFPTextDataInfo;ILorg/apache/fop/fonts/Font;ILorg/apache/fop/afp/fonts/CharacterSet;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // org.apache.fop.afp.DataStream$1 this
         0: .line 367
            aload 0 /* this */
            aload 1
            putfield org.apache.fop.afp.DataStream$1.this$0:Lorg/apache/fop/afp/DataStream;
            aload 0 /* this */
            aload 2
            putfield org.apache.fop.afp.DataStream$1.val$textDataInfo:Lorg/apache/fop/afp/AFPTextDataInfo;
            aload 0 /* this */
            iload 3
            putfield org.apache.fop.afp.DataStream$1.val$letterSpacing:I
            aload 0 /* this */
            aload 4
            putfield org.apache.fop.afp.DataStream$1.val$font:Lorg/apache/fop/fonts/Font;
            aload 0 /* this */
            iload 5
            putfield org.apache.fop.afp.DataStream$1.val$wordSpacing:I
            aload 0 /* this */
            aload 6
            putfield org.apache.fop.afp.DataStream$1.val$charSet:Lorg/apache/fop/afp/fonts/CharacterSet;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.fop.afp.DataStream$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/fop/afp/DataStream$1;
    MethodParameters:
                   Name  Flags
      this$0             final
      val$textDataInfo   final
      val$letterSpacing  final
      val$font           final
      val$wordSpacing    final
      val$charSet        final

  public void produce(org.apache.fop.afp.ptoca.PtocaBuilder);
    descriptor: (Lorg/apache/fop/afp/ptoca/PtocaBuilder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=15, args_size=2
        start local 0 // org.apache.fop.afp.DataStream$1 this
        start local 1 // org.apache.fop.afp.ptoca.PtocaBuilder builder
         0: .line 370
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$textDataInfo:Lorg/apache/fop/afp/AFPTextDataInfo;
            invokevirtual org.apache.fop.afp.AFPTextDataInfo.getRotation:()I
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.setTextOrientation:(I)V
         1: .line 371
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$textDataInfo:Lorg/apache/fop/afp/AFPTextDataInfo;
            invokevirtual org.apache.fop.afp.AFPTextDataInfo.getY:()I
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.absoluteMoveBaseline:(I)V
         2: .line 372
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$textDataInfo:Lorg/apache/fop/afp/AFPTextDataInfo;
            invokevirtual org.apache.fop.afp.AFPTextDataInfo.getX:()I
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.absoluteMoveInline:(I)V
         3: .line 374
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$textDataInfo:Lorg/apache/fop/afp/AFPTextDataInfo;
            invokevirtual org.apache.fop.afp.AFPTextDataInfo.getColor:()Ljava/awt/Color;
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.setExtendedTextColor:(Ljava/awt/Color;)V
         4: .line 375
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$textDataInfo:Lorg/apache/fop/afp/AFPTextDataInfo;
            invokevirtual org.apache.fop.afp.AFPTextDataInfo.getFontReference:()I
            i2b
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.setCodedFont:(B)V
         5: .line 377
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$textDataInfo:Lorg/apache/fop/afp/AFPTextDataInfo;
            invokevirtual org.apache.fop.afp.AFPTextDataInfo.getString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 2 /* l */
        start local 2 // int l
         6: .line 378
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuffer sb
         7: .line 380
            iconst_0
            istore 4 /* interCharacterAdjustment */
        start local 4 // int interCharacterAdjustment
         8: .line 381
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.this$0:Lorg/apache/fop/afp/DataStream;
            getfield org.apache.fop.afp.DataStream.paintingState:Lorg/apache/fop/afp/AFPPaintingState;
            invokevirtual org.apache.fop.afp.AFPPaintingState.getUnitConverter:()Lorg/apache/fop/afp/AFPUnitConverter;
            astore 5 /* unitConv */
        start local 5 // org.apache.fop.afp.AFPUnitConverter unitConv
         9: .line 382
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$letterSpacing:I
            ifeq 11
        10: .line 383
            aload 5 /* unitConv */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$letterSpacing:I
            i2f
            invokevirtual org.apache.fop.afp.AFPUnitConverter.mpt2units:(F)F
            invokestatic java.lang.Math.round:(F)I
            istore 4 /* interCharacterAdjustment */
        11: .line 385
      StackMap locals: org.apache.fop.afp.DataStream$1 org.apache.fop.afp.ptoca.PtocaBuilder int java.lang.StringBuffer int org.apache.fop.afp.AFPUnitConverter
      StackMap stack:
            aload 1 /* builder */
            iload 4 /* interCharacterAdjustment */
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.setInterCharacterAdjustment:(I)V
        12: .line 387
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$font:Lorg/apache/fop/fonts/Font;
            bipush 32
            invokevirtual org.apache.fop.fonts.Font.getCharWidth:(C)I
            istore 6 /* spaceWidth */
        start local 6 // int spaceWidth
        13: .line 388
            iload 6 /* spaceWidth */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$letterSpacing:I
            iadd
            istore 7 /* spacing */
        start local 7 // int spacing
        14: .line 389
            aload 5 /* unitConv */
            iload 7 /* spacing */
            i2f
            invokevirtual org.apache.fop.afp.AFPUnitConverter.mpt2units:(F)F
            invokestatic java.lang.Math.round:(F)I
            istore 8 /* fixedSpaceCharacterIncrement */
        start local 8 // int fixedSpaceCharacterIncrement
        15: .line 390
            iload 8 /* fixedSpaceCharacterIncrement */
            istore 9 /* varSpaceCharacterIncrement */
        start local 9 // int varSpaceCharacterIncrement
        16: .line 391
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$wordSpacing:I
            ifeq 20
        17: .line 392
            aload 5 /* unitConv */
        18: .line 393
            iload 6 /* spaceWidth */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$wordSpacing:I
            iadd
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$letterSpacing:I
            iadd
            i2f
        19: .line 392
            invokevirtual org.apache.fop.afp.AFPUnitConverter.mpt2units:(F)F
            invokestatic java.lang.Math.round:(F)I
            istore 9 /* varSpaceCharacterIncrement */
        20: .line 395
      StackMap locals: org.apache.fop.afp.DataStream$1 org.apache.fop.afp.ptoca.PtocaBuilder int java.lang.StringBuffer int org.apache.fop.afp.AFPUnitConverter int int int int
      StackMap stack:
            aload 1 /* builder */
            iload 9 /* varSpaceCharacterIncrement */
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.setVariableSpaceCharacterIncrement:(I)V
        21: .line 397
            iconst_0
            istore 10 /* fixedSpaceMode */
        start local 10 // boolean fixedSpaceMode
        22: .line 399
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        23: goto 52
        24: .line 400
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$textDataInfo:Lorg/apache/fop/afp/AFPTextDataInfo;
            invokevirtual org.apache.fop.afp.AFPTextDataInfo.getString:()Ljava/lang/String;
            iload 11 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 12 /* orgChar */
        start local 12 // char orgChar
        25: .line 401
            fconst_0
            fstore 13 /* glyphAdjust */
        start local 13 // float glyphAdjust
        26: .line 402
            iload 12 /* orgChar */
            invokestatic org.apache.fop.util.CharUtilities.isFixedWidthSpace:(I)Z
            ifeq 36
        27: .line 403
            aload 0 /* this */
            aload 1 /* builder */
            aload 3 /* sb */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$charSet:Lorg/apache/fop/afp/fonts/CharacterSet;
            invokevirtual org.apache.fop.afp.DataStream$1.flushText:(Lorg/apache/fop/afp/ptoca/PtocaBuilder;Ljava/lang/StringBuffer;Lorg/apache/fop/afp/fonts/CharacterSet;)V
        28: .line 404
            aload 1 /* builder */
        29: .line 405
            iload 8 /* fixedSpaceCharacterIncrement */
        30: .line 404
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.setVariableSpaceCharacterIncrement:(I)V
        31: .line 406
            iconst_1
            istore 10 /* fixedSpaceMode */
        32: .line 407
            aload 3 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        33: .line 408
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$font:Lorg/apache/fop/fonts/Font;
            iload 12 /* orgChar */
            invokevirtual org.apache.fop.fonts.Font.getCharWidth:(C)I
            istore 14 /* charWidth */
        start local 14 // int charWidth
        34: .line 409
            fload 13 /* glyphAdjust */
            iload 14 /* charWidth */
            iload 6 /* spaceWidth */
            isub
            i2f
            fadd
            fstore 13 /* glyphAdjust */
        end local 14 // int charWidth
        35: .line 410
            goto 47
        36: .line 411
      StackMap locals: int float
      StackMap stack:
            iload 10 /* fixedSpaceMode */
            ifeq 42
        37: .line 412
            aload 0 /* this */
            aload 1 /* builder */
            aload 3 /* sb */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$charSet:Lorg/apache/fop/afp/fonts/CharacterSet;
            invokevirtual org.apache.fop.afp.DataStream$1.flushText:(Lorg/apache/fop/afp/ptoca/PtocaBuilder;Ljava/lang/StringBuffer;Lorg/apache/fop/afp/fonts/CharacterSet;)V
        38: .line 413
            aload 1 /* builder */
        39: .line 414
            iload 9 /* varSpaceCharacterIncrement */
        40: .line 413
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.setVariableSpaceCharacterIncrement:(I)V
        41: .line 415
            iconst_0
            istore 10 /* fixedSpaceMode */
        42: .line 418
      StackMap locals:
      StackMap stack:
            iload 12 /* orgChar */
            sipush 160
            if_icmpne 45
        43: .line 419
            bipush 32
            istore 14 /* ch */
        start local 14 // char ch
        44: .line 420
            goto 46
        end local 14 // char ch
        45: .line 421
      StackMap locals:
      StackMap stack:
            iload 12 /* orgChar */
            istore 14 /* ch */
        start local 14 // char ch
        46: .line 423
      StackMap locals: int
      StackMap stack:
            aload 3 /* sb */
            iload 14 /* ch */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 14 // char ch
        47: .line 426
      StackMap locals:
      StackMap stack:
            fload 13 /* glyphAdjust */
            fconst_0
            fcmpl
            ifeq 51
        48: .line 427
            aload 0 /* this */
            aload 1 /* builder */
            aload 3 /* sb */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$charSet:Lorg/apache/fop/afp/fonts/CharacterSet;
            invokevirtual org.apache.fop.afp.DataStream$1.flushText:(Lorg/apache/fop/afp/ptoca/PtocaBuilder;Ljava/lang/StringBuffer;Lorg/apache/fop/afp/fonts/CharacterSet;)V
        49: .line 428
            aload 5 /* unitConv */
            fload 13 /* glyphAdjust */
            invokevirtual org.apache.fop.afp.AFPUnitConverter.mpt2units:(F)F
            invokestatic java.lang.Math.round:(F)I
            istore 14 /* increment */
        start local 14 // int increment
        50: .line 429
            aload 1 /* builder */
            iload 14 /* increment */
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.relativeMoveInline:(I)V
        end local 14 // int increment
        end local 13 // float glyphAdjust
        end local 12 // char orgChar
        51: .line 399
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 11 /* i */
            iload 2 /* l */
            if_icmplt 24
        end local 11 // int i
        53: .line 432
            aload 0 /* this */
            aload 1 /* builder */
            aload 3 /* sb */
            aload 0 /* this */
            getfield org.apache.fop.afp.DataStream$1.val$charSet:Lorg/apache/fop/afp/fonts/CharacterSet;
            invokevirtual org.apache.fop.afp.DataStream$1.flushText:(Lorg/apache/fop/afp/ptoca/PtocaBuilder;Ljava/lang/StringBuffer;Lorg/apache/fop/afp/fonts/CharacterSet;)V
        54: .line 433
            return
        end local 10 // boolean fixedSpaceMode
        end local 9 // int varSpaceCharacterIncrement
        end local 8 // int fixedSpaceCharacterIncrement
        end local 7 // int spacing
        end local 6 // int spaceWidth
        end local 5 // org.apache.fop.afp.AFPUnitConverter unitConv
        end local 4 // int interCharacterAdjustment
        end local 3 // java.lang.StringBuffer sb
        end local 2 // int l
        end local 1 // org.apache.fop.afp.ptoca.PtocaBuilder builder
        end local 0 // org.apache.fop.afp.DataStream$1 this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   55     0                          this  Lorg/apache/fop/afp/DataStream$1;
            0   55     1                       builder  Lorg/apache/fop/afp/ptoca/PtocaBuilder;
            6   55     2                             l  I
            7   55     3                            sb  Ljava/lang/StringBuffer;
            8   55     4      interCharacterAdjustment  I
            9   55     5                      unitConv  Lorg/apache/fop/afp/AFPUnitConverter;
           13   55     6                    spaceWidth  I
           14   55     7                       spacing  I
           15   55     8  fixedSpaceCharacterIncrement  I
           16   55     9    varSpaceCharacterIncrement  I
           22   55    10                fixedSpaceMode  Z
           23   53    11                             i  I
           25   51    12                       orgChar  C
           26   51    13                   glyphAdjust  F
           34   35    14                     charWidth  I
           44   45    14                            ch  C
           46   47    14                            ch  C
           50   51    14                     increment  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      builder  

  private void flushText(org.apache.fop.afp.ptoca.PtocaBuilder, java.lang.StringBuffer, org.apache.fop.afp.fonts.CharacterSet);
    descriptor: (Lorg/apache/fop/afp/ptoca/PtocaBuilder;Ljava/lang/StringBuffer;Lorg/apache/fop/afp/fonts/CharacterSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.fop.afp.DataStream$1 this
        start local 1 // org.apache.fop.afp.ptoca.PtocaBuilder builder
        start local 2 // java.lang.StringBuffer sb
        start local 3 // org.apache.fop.afp.fonts.CharacterSet charSet
         0: .line 437
            aload 2 /* sb */
            invokevirtual java.lang.StringBuffer.length:()I
            ifle 3
         1: .line 438
            aload 1 /* builder */
            aload 3 /* charSet */
            aload 2 /* sb */
            invokevirtual org.apache.fop.afp.fonts.CharacterSet.encodeChars:(Ljava/lang/CharSequence;)Lorg/apache/fop/afp/fonts/CharactersetEncoder$EncodedChars;
            invokevirtual org.apache.fop.afp.ptoca.PtocaBuilder.addTransparentData:(Lorg/apache/fop/afp/fonts/CharactersetEncoder$EncodedChars;)V
         2: .line 439
            aload 2 /* sb */
            iconst_0
            invokevirtual java.lang.StringBuffer.setLength:(I)V
         3: .line 441
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.fop.afp.fonts.CharacterSet charSet
        end local 2 // java.lang.StringBuffer sb
        end local 1 // org.apache.fop.afp.ptoca.PtocaBuilder builder
        end local 0 // org.apache.fop.afp.DataStream$1 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/fop/afp/DataStream$1;
            0    4     1  builder  Lorg/apache/fop/afp/ptoca/PtocaBuilder;
            0    4     2       sb  Ljava/lang/StringBuffer;
            0    4     3  charSet  Lorg/apache/fop/afp/fonts/CharacterSet;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      builder  
      sb       
      charSet  final
}
SourceFile: "DataStream.java"
EnclosingMethod: org.apache.fop.afp.DataStream.createText:(Lorg/apache/fop/afp/AFPTextDataInfo;IILorg/apache/fop/fonts/Font;Lorg/apache/fop/afp/fonts/CharacterSet;)V
NestHost: org.apache.fop.afp.DataStream
InnerClasses:
  org.apache.fop.afp.DataStream$1
  public EncodedChars = org.apache.fop.afp.fonts.CharactersetEncoder$EncodedChars of org.apache.fop.afp.fonts.CharactersetEncoder