public final class org.apache.fop.fonts.FontSelector
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.fop.fonts.FontSelector
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.fop.fonts.FontSelector this
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            return
        end local 0 // org.apache.fop.fonts.FontSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/fop/fonts/FontSelector;

  private static org.apache.fop.fonts.Font selectFontForCharacter(char, org.apache.fop.fo.FONode, org.apache.fop.fo.properties.CommonFont, org.apache.fop.datatypes.PercentBaseContext);
    descriptor: (CLorg/apache/fop/fo/FONode;Lorg/apache/fop/fo/properties/CommonFont;Lorg/apache/fop/datatypes/PercentBaseContext;)Lorg/apache/fop/fonts/Font;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // char c
        start local 1 // org.apache.fop.fo.FONode fonode
        start local 2 // org.apache.fop.fo.properties.CommonFont commonFont
        start local 3 // org.apache.fop.datatypes.PercentBaseContext context
         0: .line 42
            aload 1 /* fonode */
            invokevirtual org.apache.fop.fo.FONode.getFOEventHandler:()Lorg/apache/fop/fo/FOEventHandler;
            invokevirtual org.apache.fop.fo.FOEventHandler.getFontInfo:()Lorg/apache/fop/fonts/FontInfo;
            astore 4 /* fi */
        start local 4 // org.apache.fop.fonts.FontInfo fi
         1: .line 43
            aload 2 /* commonFont */
            aload 4 /* fi */
            invokevirtual org.apache.fop.fo.properties.CommonFont.getFontState:(Lorg/apache/fop/fonts/FontInfo;)[Lorg/apache/fop/fonts/FontTriplet;
            astore 5 /* fontkeys */
        start local 5 // org.apache.fop.fonts.FontTriplet[] fontkeys
         2: .line 44
            aload 5 /* fontkeys */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 10
      StackMap locals: int org.apache.fop.fo.FONode org.apache.fop.fo.properties.CommonFont org.apache.fop.datatypes.PercentBaseContext org.apache.fop.fonts.FontInfo org.apache.fop.fonts.FontTriplet[] top int int org.apache.fop.fonts.FontTriplet[]
      StackMap stack:
         3: aload 9
            iload 7
            aaload
            astore 6 /* fontkey */
        start local 6 // org.apache.fop.fonts.FontTriplet fontkey
         4: .line 45
            aload 4 /* fi */
            aload 6 /* fontkey */
            aload 2 /* commonFont */
            getfield org.apache.fop.fo.properties.CommonFont.fontSize:Lorg/apache/fop/datatypes/Length;
         5: .line 46
            aload 3 /* context */
            invokeinterface org.apache.fop.datatypes.Length.getValue:(Lorg/apache/fop/datatypes/PercentBaseContext;)I
         6: .line 45
            invokevirtual org.apache.fop.fonts.FontInfo.getFontInstance:(Lorg/apache/fop/fonts/FontTriplet;I)Lorg/apache/fop/fonts/Font;
            astore 10 /* font */
        start local 10 // org.apache.fop.fonts.Font font
         7: .line 47
            aload 10 /* font */
            iload 0 /* c */
            invokevirtual org.apache.fop.fonts.Font.hasChar:(C)Z
            ifeq 9
         8: .line 48
            aload 10 /* font */
            areturn
        end local 10 // org.apache.fop.fonts.Font font
        end local 6 // org.apache.fop.fonts.FontTriplet fontkey
         9: .line 44
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        10: iload 7
            iload 8
            if_icmplt 3
        11: .line 51
            aload 4 /* fi */
            aload 5 /* fontkeys */
            iconst_0
            aaload
            aload 2 /* commonFont */
            getfield org.apache.fop.fo.properties.CommonFont.fontSize:Lorg/apache/fop/datatypes/Length;
        12: .line 52
            aload 3 /* context */
            invokeinterface org.apache.fop.datatypes.Length.getValue:(Lorg/apache/fop/datatypes/PercentBaseContext;)I
        13: .line 51
            invokevirtual org.apache.fop.fonts.FontInfo.getFontInstance:(Lorg/apache/fop/fonts/FontTriplet;I)Lorg/apache/fop/fonts/Font;
            areturn
        end local 5 // org.apache.fop.fonts.FontTriplet[] fontkeys
        end local 4 // org.apache.fop.fonts.FontInfo fi
        end local 3 // org.apache.fop.datatypes.PercentBaseContext context
        end local 2 // org.apache.fop.fo.properties.CommonFont commonFont
        end local 1 // org.apache.fop.fo.FONode fonode
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0           c  C
            0   14     1      fonode  Lorg/apache/fop/fo/FONode;
            0   14     2  commonFont  Lorg/apache/fop/fo/properties/CommonFont;
            0   14     3     context  Lorg/apache/fop/datatypes/PercentBaseContext;
            1   14     4          fi  Lorg/apache/fop/fonts/FontInfo;
            2   14     5    fontkeys  [Lorg/apache/fop/fonts/FontTriplet;
            4    9     6     fontkey  Lorg/apache/fop/fonts/FontTriplet;
            7    9    10        font  Lorg/apache/fop/fonts/Font;
    MethodParameters:
            Name  Flags
      c           
      fonode      
      commonFont  
      context     

  public static org.apache.fop.fonts.Font selectFontForCharacter(org.apache.fop.fo.flow.Character, org.apache.fop.datatypes.PercentBaseContext);
    descriptor: (Lorg/apache/fop/fo/flow/Character;Lorg/apache/fop/datatypes/PercentBaseContext;)Lorg/apache/fop/fonts/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.fop.fo.flow.Character fobj
        start local 1 // org.apache.fop.datatypes.PercentBaseContext context
         0: .line 68
            aload 0 /* fobj */
            invokevirtual org.apache.fop.fo.flow.Character.getCharacter:()C
            aload 0 /* fobj */
         1: .line 69
            aload 0 /* fobj */
            invokevirtual org.apache.fop.fo.flow.Character.getCommonFont:()Lorg/apache/fop/fo/properties/CommonFont;
            aload 1 /* context */
         2: .line 68
            invokestatic org.apache.fop.fonts.FontSelector.selectFontForCharacter:(CLorg/apache/fop/fo/FONode;Lorg/apache/fop/fo/properties/CommonFont;Lorg/apache/fop/datatypes/PercentBaseContext;)Lorg/apache/fop/fonts/Font;
            areturn
        end local 1 // org.apache.fop.datatypes.PercentBaseContext context
        end local 0 // org.apache.fop.fo.flow.Character fobj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     fobj  Lorg/apache/fop/fo/flow/Character;
            0    3     1  context  Lorg/apache/fop/datatypes/PercentBaseContext;
    MethodParameters:
         Name  Flags
      fobj     
      context  

  public static org.apache.fop.fonts.Font selectFontForCharacterInText(char, org.apache.fop.fo.FOText, org.apache.fop.datatypes.PercentBaseContext);
    descriptor: (CLorg/apache/fop/fo/FOText;Lorg/apache/fop/datatypes/PercentBaseContext;)Lorg/apache/fop/fonts/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // char c
        start local 1 // org.apache.fop.fo.FOText text
        start local 2 // org.apache.fop.datatypes.PercentBaseContext context
         0: .line 85
            iload 0 /* c */
            aload 1 /* text */
            aload 1 /* text */
         1: .line 86
            invokevirtual org.apache.fop.fo.FOText.getCommonFont:()Lorg/apache/fop/fo/properties/CommonFont;
            aload 2 /* context */
         2: .line 85
            invokestatic org.apache.fop.fonts.FontSelector.selectFontForCharacter:(CLorg/apache/fop/fo/FONode;Lorg/apache/fop/fo/properties/CommonFont;Lorg/apache/fop/datatypes/PercentBaseContext;)Lorg/apache/fop/fonts/Font;
            areturn
        end local 2 // org.apache.fop.datatypes.PercentBaseContext context
        end local 1 // org.apache.fop.fo.FOText text
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0        c  C
            0    3     1     text  Lorg/apache/fop/fo/FOText;
            0    3     2  context  Lorg/apache/fop/datatypes/PercentBaseContext;
    MethodParameters:
         Name  Flags
      c        
      text     
      context  

  public static org.apache.fop.fonts.Font selectFontForCharactersInText(java.lang.CharSequence, int, int, org.apache.fop.fo.FOText, org.apache.fop.datatypes.PercentBaseContext);
    descriptor: (Ljava/lang/CharSequence;IILorg/apache/fop/fo/FOText;Lorg/apache/fop/datatypes/PercentBaseContext;)Lorg/apache/fop/fonts/Font;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=16, args_size=5
        start local 0 // java.lang.CharSequence charSeq
        start local 1 // int firstIndex
        start local 2 // int breakIndex
        start local 3 // org.apache.fop.fo.FOText text
        start local 4 // org.apache.fop.datatypes.PercentBaseContext context
         0: .line 108
            aload 3 /* text */
            invokevirtual org.apache.fop.fo.FOText.getFOEventHandler:()Lorg/apache/fop/fo/FOEventHandler;
            invokevirtual org.apache.fop.fo.FOEventHandler.getFontInfo:()Lorg/apache/fop/fonts/FontInfo;
            astore 5 /* fi */
        start local 5 // org.apache.fop.fonts.FontInfo fi
         1: .line 109
            aload 3 /* text */
            invokevirtual org.apache.fop.fo.FOText.getCommonFont:()Lorg/apache/fop/fo/properties/CommonFont;
            astore 6 /* commonFont */
        start local 6 // org.apache.fop.fo.properties.CommonFont commonFont
         2: .line 110
            aload 6 /* commonFont */
            aload 5 /* fi */
            invokevirtual org.apache.fop.fo.properties.CommonFont.getFontState:(Lorg/apache/fop/fonts/FontInfo;)[Lorg/apache/fop/fonts/FontTriplet;
            astore 7 /* fontkeys */
        start local 7 // org.apache.fop.fonts.FontTriplet[] fontkeys
         3: .line 111
            aload 7 /* fontkeys */
            arraylength
            istore 8 /* numFonts */
        start local 8 // int numFonts
         4: .line 112
            iload 8 /* numFonts */
            anewarray org.apache.fop.fonts.Font
            astore 9 /* fonts */
        start local 9 // org.apache.fop.fonts.Font[] fonts
         5: .line 113
            iload 8 /* numFonts */
            newarray 10
            astore 10 /* fontCount */
        start local 10 // int[] fontCount
         6: .line 115
            iconst_0
            istore 11 /* fontnum */
        start local 11 // int fontnum
         7: goto 22
         8: .line 116
      StackMap locals: java.lang.CharSequence int int org.apache.fop.fo.FOText org.apache.fop.datatypes.PercentBaseContext org.apache.fop.fonts.FontInfo org.apache.fop.fo.properties.CommonFont org.apache.fop.fonts.FontTriplet[] int org.apache.fop.fonts.Font[] int[] int
      StackMap stack:
            aload 5 /* fi */
            aload 7 /* fontkeys */
            iload 11 /* fontnum */
            aaload
         9: .line 117
            aload 6 /* commonFont */
            getfield org.apache.fop.fo.properties.CommonFont.fontSize:Lorg/apache/fop/datatypes/Length;
            aload 4 /* context */
            invokeinterface org.apache.fop.datatypes.Length.getValue:(Lorg/apache/fop/datatypes/PercentBaseContext;)I
        10: .line 116
            invokevirtual org.apache.fop.fonts.FontInfo.getFontInstance:(Lorg/apache/fop/fonts/FontTriplet;I)Lorg/apache/fop/fonts/Font;
            astore 12 /* font */
        start local 12 // org.apache.fop.fonts.Font font
        11: .line 118
            aload 9 /* fonts */
            iload 11 /* fontnum */
            aload 12 /* font */
            aastore
        12: .line 120
            iconst_0
            istore 13 /* numCodePoints */
        start local 13 // int numCodePoints
        13: .line 121
            aload 0 /* charSeq */
            iload 1 /* firstIndex */
            iload 2 /* breakIndex */
            invokestatic org.apache.fop.util.CharUtilities.codepointsIter:(Ljava/lang/CharSequence;II)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 15
            goto 18
      StackMap locals: java.lang.CharSequence int int org.apache.fop.fo.FOText org.apache.fop.datatypes.PercentBaseContext org.apache.fop.fonts.FontInfo org.apache.fop.fo.properties.CommonFont org.apache.fop.fonts.FontTriplet[] int org.apache.fop.fonts.Font[] int[] int org.apache.fop.fonts.Font int top java.util.Iterator
      StackMap stack:
        14: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 14 /* cp */
        start local 14 // int cp
        15: .line 122
            iinc 13 /* numCodePoints */ 1
        16: .line 124
            aload 12 /* font */
            iload 14 /* cp */
            invokevirtual org.apache.fop.fonts.Font.hasCodePoint:(I)Z
            ifeq 18
        17: .line 125
            aload 10 /* fontCount */
            iload 11 /* fontnum */
            dup2
            iaload
            iconst_1
            iadd
            iastore
        end local 14 // int cp
        18: .line 121
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        19: .line 130
            aload 10 /* fontCount */
            iload 11 /* fontnum */
            iaload
            iload 13 /* numCodePoints */
            if_icmpne 21
        20: .line 131
            aload 12 /* font */
            areturn
        end local 13 // int numCodePoints
        end local 12 // org.apache.fop.fonts.Font font
        21: .line 115
      StackMap locals: java.lang.CharSequence int int org.apache.fop.fo.FOText org.apache.fop.datatypes.PercentBaseContext org.apache.fop.fonts.FontInfo org.apache.fop.fo.properties.CommonFont org.apache.fop.fonts.FontTriplet[] int org.apache.fop.fonts.Font[] int[] int
      StackMap stack:
            iinc 11 /* fontnum */ 1
      StackMap locals:
      StackMap stack:
        22: iload 11 /* fontnum */
            iload 8 /* numFonts */
            if_icmplt 8
        end local 11 // int fontnum
        23: .line 135
            aload 9 /* fonts */
            iconst_0
            aaload
            astore 11 /* font */
        start local 11 // org.apache.fop.fonts.Font font
        24: .line 136
            aload 10 /* fontCount */
            iconst_0
            iaload
            istore 12 /* max */
        start local 12 // int max
        25: .line 138
            iconst_1
            istore 13 /* fontnum */
        start local 13 // int fontnum
        26: goto 32
        27: .line 139
      StackMap locals: java.lang.CharSequence int int org.apache.fop.fo.FOText org.apache.fop.datatypes.PercentBaseContext org.apache.fop.fonts.FontInfo org.apache.fop.fo.properties.CommonFont org.apache.fop.fonts.FontTriplet[] int org.apache.fop.fonts.Font[] int[] org.apache.fop.fonts.Font int int
      StackMap stack:
            aload 10 /* fontCount */
            iload 13 /* fontnum */
            iaload
            istore 14 /* curCount */
        start local 14 // int curCount
        28: .line 140
            iload 14 /* curCount */
            iload 12 /* max */
            if_icmple 31
        29: .line 141
            aload 9 /* fonts */
            iload 13 /* fontnum */
            aaload
            astore 11 /* font */
        30: .line 142
            iload 14 /* curCount */
            istore 12 /* max */
        end local 14 // int curCount
        31: .line 138
      StackMap locals:
      StackMap stack:
            iinc 13 /* fontnum */ 1
      StackMap locals:
      StackMap stack:
        32: iload 13 /* fontnum */
            iload 8 /* numFonts */
            if_icmplt 27
        end local 13 // int fontnum
        33: .line 145
            aload 11 /* font */
            areturn
        end local 12 // int max
        end local 11 // org.apache.fop.fonts.Font font
        end local 10 // int[] fontCount
        end local 9 // org.apache.fop.fonts.Font[] fonts
        end local 8 // int numFonts
        end local 7 // org.apache.fop.fonts.FontTriplet[] fontkeys
        end local 6 // org.apache.fop.fo.properties.CommonFont commonFont
        end local 5 // org.apache.fop.fonts.FontInfo fi
        end local 4 // org.apache.fop.datatypes.PercentBaseContext context
        end local 3 // org.apache.fop.fo.FOText text
        end local 2 // int breakIndex
        end local 1 // int firstIndex
        end local 0 // java.lang.CharSequence charSeq
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   34     0        charSeq  Ljava/lang/CharSequence;
            0   34     1     firstIndex  I
            0   34     2     breakIndex  I
            0   34     3           text  Lorg/apache/fop/fo/FOText;
            0   34     4        context  Lorg/apache/fop/datatypes/PercentBaseContext;
            1   34     5             fi  Lorg/apache/fop/fonts/FontInfo;
            2   34     6     commonFont  Lorg/apache/fop/fo/properties/CommonFont;
            3   34     7       fontkeys  [Lorg/apache/fop/fonts/FontTriplet;
            4   34     8       numFonts  I
            5   34     9          fonts  [Lorg/apache/fop/fonts/Font;
            6   34    10      fontCount  [I
            7   23    11        fontnum  I
           11   21    12           font  Lorg/apache/fop/fonts/Font;
           13   21    13  numCodePoints  I
           15   18    14             cp  I
           24   34    11           font  Lorg/apache/fop/fonts/Font;
           25   34    12            max  I
           26   33    13        fontnum  I
           28   31    14       curCount  I
    MethodParameters:
            Name  Flags
      charSeq     
      firstIndex  
      breakIndex  
      text        
      context     
}
SourceFile: "FontSelector.java"