.class public Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;
.super Ljava/lang/Object;
.source "BitmapFont.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/badlogic/gdx/graphics/g2d/BitmapFont;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x9
    name = "BitmapFontData"
.end annotation


# instance fields
.field public a:[Ljava/lang/String;

.field public b:Lcom/badlogic/gdx/files/FileHandle;

.field public c:Z

.field public d:F

.field public e:F

.field public f:F

.field public g:F

.field public h:F

.field public i:F

.field public j:F

.field public k:F

.field public l:F

.field public m:F

.field public n:F

.field public o:F

.field public p:Z

.field public final q:[[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

.field public r:Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

.field public s:F

.field public t:F

.field public u:[C

.field public v:[C

.field public w:[C


# direct methods
.method public constructor <init>()V
    .locals 2

    .line 475
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    const/high16 v0, 0x3f800000    # 1.0f

    .line 442
    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    .line 451
    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->m:F

    .line 452
    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->n:F

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->o:F

    const/16 v1, 0x80

    .line 458
    new-array v1, v1, [[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    iput-object v1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->q:[[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    .line 465
    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->t:F

    const/16 v0, 0xd

    .line 469
    new-array v0, v0, [C

    fill-array-data v0, :array_0

    iput-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->v:[C

    const/16 v0, 0x1a

    .line 470
    new-array v0, v0, [C

    fill-array-data v0, :array_1

    iput-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->w:[C

    return-void

    :array_0
    .array-data 2
        0x78s
        0x65s
        0x61s
        0x6fs
        0x6es
        0x73s
        0x72s
        0x63s
        0x75s
        0x6ds
        0x76s
        0x77s
        0x7as
    .end array-data

    nop

    :array_1
    .array-data 2
        0x4ds
        0x4es
        0x42s
        0x44s
        0x43s
        0x45s
        0x46s
        0x4bs
        0x41s
        0x47s
        0x48s
        0x49s
        0x4as
        0x4cs
        0x4fs
        0x50s
        0x51s
        0x52s
        0x53s
        0x54s
        0x55s
        0x56s
        0x57s
        0x58s
        0x59s
        0x5as
    .end array-data
.end method

.method public constructor <init>(Lcom/badlogic/gdx/files/FileHandle;Z)V
    .locals 2

    .line 478
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    const/high16 v0, 0x3f800000    # 1.0f

    .line 442
    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    .line 451
    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->m:F

    .line 452
    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->n:F

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->o:F

    const/16 v1, 0x80

    .line 458
    new-array v1, v1, [[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    iput-object v1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->q:[[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    .line 465
    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->t:F

    const/16 v0, 0xd

    .line 469
    new-array v0, v0, [C

    fill-array-data v0, :array_0

    iput-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->v:[C

    const/16 v0, 0x1a

    .line 470
    new-array v0, v0, [C

    fill-array-data v0, :array_1

    iput-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->w:[C

    .line 479
    iput-object p1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->b:Lcom/badlogic/gdx/files/FileHandle;

    .line 480
    iput-boolean p2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->c:Z

    .line 481
    invoke-virtual {p0, p1, p2}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(Lcom/badlogic/gdx/files/FileHandle;Z)V

    return-void

    nop

    :array_0
    .array-data 2
        0x78s
        0x65s
        0x61s
        0x6fs
        0x6es
        0x73s
        0x72s
        0x63s
        0x75s
        0x6ds
        0x76s
        0x77s
        0x7as
    .end array-data

    nop

    :array_1
    .array-data 2
        0x4ds
        0x4es
        0x42s
        0x44s
        0x43s
        0x45s
        0x46s
        0x4bs
        0x41s
        0x47s
        0x48s
        0x49s
        0x4as
        0x4cs
        0x4fs
        0x50s
        0x51s
        0x52s
        0x53s
        0x54s
        0x55s
        0x56s
        0x57s
        0x58s
        0x59s
        0x5as
    .end array-data
.end method


# virtual methods
.method public a(Lcom/badlogic/gdx/utils/Array;I)I
    .locals 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/badlogic/gdx/utils/Array<",
            "Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;",
            ">;I)I"
        }
    .end annotation

    const/4 v0, 0x1

    sub-int/2addr p2, v0

    :goto_0
    if-lt p2, v0, :cond_1

    .line 822
    invoke-virtual {p1, p2}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    iget v1, v1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->a:I

    int-to-char v1, v1

    invoke-virtual {p0, v1}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->c(C)Z

    move-result v1

    if-nez v1, :cond_0

    goto :goto_1

    :cond_0
    add-int/lit8 p2, p2, -0x1

    goto :goto_0

    :cond_1
    :goto_1
    if-lt p2, v0, :cond_4

    .line 824
    invoke-virtual {p1, p2}, Lcom/badlogic/gdx/utils/Array;->a(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    iget v1, v1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->a:I

    int-to-char v1, v1

    .line 825
    invoke-virtual {p0, v1}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->c(C)Z

    move-result v2

    if-nez v2, :cond_3

    invoke-virtual {p0, v1}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->b(C)Z

    move-result v1

    if-eqz v1, :cond_2

    goto :goto_2

    :cond_2
    add-int/lit8 p2, p2, -0x1

    goto :goto_1

    :cond_3
    :goto_2
    add-int/2addr p2, v0

    return p2

    :cond_4
    const/4 p1, 0x0

    return p1
.end method

.method public a()Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;
    .locals 9

    .line 748
    iget-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->q:[[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    array-length v1, v0

    const/4 v2, 0x0

    const/4 v3, 0x0

    :goto_0
    if-ge v3, v1, :cond_4

    aget-object v4, v0, v3

    if-nez v4, :cond_0

    goto :goto_3

    .line 750
    :cond_0
    array-length v5, v4

    const/4 v6, 0x0

    :goto_1
    if-ge v6, v5, :cond_3

    aget-object v7, v4, v6

    if-eqz v7, :cond_2

    .line 751
    iget v8, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    if-eqz v8, :cond_2

    iget v8, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    if-nez v8, :cond_1

    goto :goto_2

    :cond_1
    return-object v7

    :cond_2
    :goto_2
    add-int/lit8 v6, v6, 0x1

    goto :goto_1

    :cond_3
    :goto_3
    add-int/lit8 v3, v3, 0x1

    goto :goto_0

    .line 755
    :cond_4
    new-instance v0, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    const-string v1, "No glyphs found."

    invoke-direct {v0, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public a(C)Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;
    .locals 2

    .line 768
    iget-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->q:[[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    div-int/lit16 v1, p1, 0x200

    aget-object v0, v0, v1

    if-eqz v0, :cond_0

    and-int/lit16 p1, p1, 0x1ff

    .line 769
    aget-object p1, v0, p1

    return-object p1

    :cond_0
    const/4 p1, 0x0

    return-object p1
.end method

.method public a(I)Ljava/lang/String;
    .locals 1

    .line 851
    iget-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a:[Ljava/lang/String;

    aget-object p1, v0, p1

    return-object p1
.end method

.method public a(F)V
    .locals 0

    .line 891
    invoke-virtual {p0, p1, p1}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(FF)V

    return-void
.end method

.method public a(FF)V
    .locals 3

    const/4 v0, 0x0

    cmpl-float v1, p1, v0

    if-eqz v1, :cond_1

    cmpl-float v0, p2, v0

    if-eqz v0, :cond_0

    .line 870
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->n:F

    div-float v0, p1, v0

    .line 871
    iget v1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->o:F

    div-float v1, p2, v1

    .line 872
    iget v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->h:F

    mul-float v2, v2, v1

    iput v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->h:F

    .line 873
    iget v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->s:F

    mul-float v2, v2, v0

    iput v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->s:F

    .line 874
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->t:F

    mul-float v0, v0, v1

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->t:F

    .line 875
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    mul-float v0, v0, v1

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    .line 876
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->j:F

    mul-float v0, v0, v1

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->j:F

    .line 877
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->k:F

    mul-float v0, v0, v1

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->k:F

    .line 878
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->l:F

    mul-float v0, v0, v1

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->l:F

    .line 879
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->d:F

    mul-float v0, v0, v1

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->d:F

    .line 880
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->g:F

    mul-float v0, v0, v1

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->g:F

    .line 881
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->f:F

    mul-float v0, v0, v1

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->f:F

    .line 882
    iget v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->e:F

    mul-float v0, v0, v1

    iput v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->e:F

    .line 883
    iput p1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->n:F

    .line 884
    iput p2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->o:F

    return-void

    .line 869
    :cond_0
    new-instance p1, Ljava/lang/IllegalArgumentException;

    const-string p2, "scaleY cannot be 0."

    invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw p1

    .line 868
    :cond_1
    new-instance p1, Ljava/lang/IllegalArgumentException;

    const-string p2, "scaleX cannot be 0."

    invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw p1
.end method

.method public a(ILcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;)V
    .locals 3

    .line 742
    iget-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->q:[[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    div-int/lit16 v1, p1, 0x200

    aget-object v0, v0, v1

    if-nez v0, :cond_0

    .line 743
    iget-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->q:[[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    const/16 v2, 0x200

    new-array v2, v2, [Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    aput-object v2, v0, v1

    move-object v0, v2

    :cond_0
    and-int/lit16 p1, p1, 0x1ff

    .line 744
    aput-object p2, v0, p1

    return-void
.end method

.method public a(Lcom/badlogic/gdx/files/FileHandle;Z)V
    .locals 12

    .line 485
    iget-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a:[Ljava/lang/String;

    if-nez v0, :cond_27

    .line 487
    new-instance v0, Ljava/io/BufferedReader;

    new-instance v1, Ljava/io/InputStreamReader;

    invoke-virtual {p1}, Lcom/badlogic/gdx/files/FileHandle;->b()Ljava/io/InputStream;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V

    const/16 v2, 0x200

    invoke-direct {v0, v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V

    .line 489
    :try_start_0
    invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v1

    if-eqz v1, :cond_26

    const-string v2, "padding="

    .line 492
    invoke-virtual {v1, v2}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v2

    add-int/lit8 v2, v2, 0x8

    invoke-virtual {v1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v1

    const/16 v2, 0x20

    .line 493
    invoke-virtual {v1, v2}, Ljava/lang/String;->indexOf(I)I

    move-result v3

    const/4 v4, 0x0

    invoke-virtual {v1, v4, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v1

    const-string v3, ","

    const/4 v5, 0x4

    invoke-virtual {v1, v3, v5}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;

    move-result-object v1

    .line 494
    array-length v3, v1

    if-ne v3, v5, :cond_25

    .line 495
    aget-object v3, v1, v4

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    int-to-float v3, v3

    iput v3, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->d:F

    const/4 v3, 0x1

    .line 496
    aget-object v5, v1, v3

    invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v5

    int-to-float v5, v5

    iput v5, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->e:F

    const/4 v5, 0x2

    .line 497
    aget-object v6, v1, v5

    invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v6

    int-to-float v6, v6

    iput v6, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->f:F

    const/4 v6, 0x3

    .line 498
    aget-object v1, v1, v6

    invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v1

    int-to-float v1, v1

    iput v1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->g:F

    .line 499
    iget v1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->d:F

    iget v7, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->f:F

    add-float/2addr v1, v7

    .line 501
    invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v7

    if-eqz v7, :cond_24

    const-string v8, " "

    const/4 v9, 0x7

    .line 503
    invoke-virtual {v7, v8, v9}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;

    move-result-object v7

    .line 506
    array-length v8, v7

    if-lt v8, v6, :cond_23

    .line 508
    aget-object v6, v7, v3

    const-string v8, "lineHeight="

    invoke-virtual {v6, v8}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v6

    if-eqz v6, :cond_22

    .line 509
    aget-object v6, v7, v3

    const/16 v8, 0xb

    invoke-virtual {v6, v8}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v6

    invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v6

    int-to-float v6, v6

    iput v6, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->h:F

    .line 511
    aget-object v6, v7, v5

    const-string v8, "base="

    invoke-virtual {v6, v8}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v6

    if-eqz v6, :cond_21

    .line 512
    aget-object v5, v7, v5

    const/4 v6, 0x5

    invoke-virtual {v5, v6}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v5

    invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v5

    int-to-float v5, v5

    .line 515
    array-length v8, v7

    const/4 v9, 0x6

    if-lt v8, v9, :cond_0

    aget-object v8, v7, v6

    if-eqz v8, :cond_0

    aget-object v8, v7, v6

    const-string v10, "pages="

    invoke-virtual {v8, v10}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v8
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_3
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    if-eqz v8, :cond_0

    .line 517
    :try_start_1
    aget-object v6, v7, v6

    invoke-virtual {v6, v9}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v6

    invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v6

    invoke-static {v3, v6}, Ljava/lang/Math;->max(II)I

    move-result v6
    :try_end_1
    .catch Ljava/lang/NumberFormatException; {:try_start_1 .. :try_end_1} :catch_0
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_3
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    goto :goto_0

    :catch_0
    :cond_0
    const/4 v6, 0x1

    .line 522
    :goto_0
    :try_start_2
    new-array v7, v6, [Ljava/lang/String;

    iput-object v7, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a:[Ljava/lang/String;

    const/4 v7, 0x0

    :goto_1
    if-ge v7, v6, :cond_5

    .line 527
    invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v8

    if-eqz v8, :cond_4

    const-string v9, ".*id=(\\d+)"

    .line 531
    invoke-static {v9}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;

    move-result-object v9

    invoke-virtual {v9, v8}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;

    move-result-object v9

    .line 532
    invoke-virtual {v9}, Ljava/util/regex/Matcher;->find()Z

    move-result v10

    if-eqz v10, :cond_2

    .line 533
    invoke-virtual {v9, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;

    move-result-object v9
    :try_end_2
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_3
    .catchall {:try_start_2 .. :try_end_2} :catchall_0

    .line 535
    :try_start_3
    invoke-static {v9}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v10

    if-ne v10, v7, :cond_1

    goto :goto_2

    .line 536
    :cond_1
    new-instance p2, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "Page IDs must be indices starting at 0: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {p2, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw p2
    :try_end_3
    .catch Ljava/lang/NumberFormatException; {:try_start_3 .. :try_end_3} :catch_1
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_3
    .catchall {:try_start_3 .. :try_end_3} :catchall_0

    :catch_1
    move-exception p2

    .line 538
    :try_start_4
    new-instance v1, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Invalid page id: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2, p2}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1

    :cond_2
    :goto_2
    const-string v9, ".*file=\"?([^\"]+)\"?"

    .line 542
    invoke-static {v9}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;

    move-result-object v9

    invoke-virtual {v9, v8}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;

    move-result-object v8

    .line 543
    invoke-virtual {v8}, Ljava/util/regex/Matcher;->find()Z

    move-result v9

    if-eqz v9, :cond_3

    .line 544
    invoke-virtual {v8, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;

    move-result-object v8

    .line 546
    iget-object v9, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a:[Ljava/lang/String;

    invoke-virtual {p1}, Lcom/badlogic/gdx/files/FileHandle;->a()Lcom/badlogic/gdx/files/FileHandle;

    move-result-object v10

    invoke-virtual {v10, v8}, Lcom/badlogic/gdx/files/FileHandle;->a(Ljava/lang/String;)Lcom/badlogic/gdx/files/FileHandle;

    move-result-object v8

    invoke-virtual {v8}, Lcom/badlogic/gdx/files/FileHandle;->g()Ljava/lang/String;

    move-result-object v8

    const-string v10, "\\\\"

    const-string v11, "/"

    invoke-virtual {v8, v10, v11}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v8

    aput-object v8, v9, v7

    add-int/lit8 v7, v7, 0x1

    goto/16 :goto_1

    .line 543
    :cond_3
    new-instance p2, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    const-string v1, "Missing: file"

    invoke-direct {p2, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw p2

    .line 528
    :cond_4
    new-instance p2, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    const-string v1, "Missing additional page definitions."

    invoke-direct {p2, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw p2

    :cond_5
    const/4 v3, 0x0

    .line 548
    iput v3, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->k:F

    .line 551
    :cond_6
    :goto_3
    invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v3

    const v6, 0xffff

    if-nez v3, :cond_7

    goto :goto_4

    :cond_7
    const-string v7, "kernings "

    .line 553
    invoke-virtual {v3, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v7

    if-eqz v7, :cond_1b

    .line 598
    :goto_4
    iget v3, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->k:F

    iget v7, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->f:F

    add-float/2addr v3, v7

    iput v3, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->k:F

    .line 601
    :cond_8
    :goto_5
    invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v3

    if-nez v3, :cond_9

    goto :goto_6

    :cond_9
    const-string v7, "kerning "

    .line 603
    invoke-virtual {v3, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v7

    if-nez v7, :cond_19

    .line 620
    :goto_6
    invoke-virtual {p0, v2}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(C)Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    move-result-object v3

    if-nez v3, :cond_b

    .line 622
    new-instance v3, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    invoke-direct {v3}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;-><init>()V

    .line 623
    iput v2, v3, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->a:I

    const/16 v6, 0x6c

    .line 624
    invoke-virtual {p0, v6}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(C)Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    move-result-object v6

    if-nez v6, :cond_a

    .line 625
    invoke-virtual {p0}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a()Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    move-result-object v6

    .line 626
    :cond_a
    iget v6, v6, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->l:I

    iput v6, v3, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->l:I

    .line 627
    invoke-virtual {p0, v2, v3}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(ILcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;)V

    .line 629
    :cond_b
    iget v2, v3, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    if-nez v2, :cond_c

    .line 630
    iget v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->g:F

    iget v6, v3, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->l:I

    int-to-float v6, v6

    add-float/2addr v2, v6

    iget v6, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->e:F

    add-float/2addr v2, v6

    float-to-int v2, v2

    iput v2, v3, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    .line 631
    iget v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->g:F

    neg-float v2, v2

    float-to-int v2, v2

    iput v2, v3, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->j:I

    .line 633
    :cond_c
    iget v2, v3, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    int-to-float v2, v2

    iput v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->s:F

    .line 636
    iget-object v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->v:[C

    array-length v3, v2

    const/4 v6, 0x0

    move-object v8, v6

    const/4 v7, 0x0

    :goto_7
    if-ge v7, v3, :cond_e

    aget-char v8, v2, v7

    .line 637
    invoke-virtual {p0, v8}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(C)Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    move-result-object v8

    if-eqz v8, :cond_d

    goto :goto_8

    :cond_d
    add-int/lit8 v7, v7, 0x1

    goto :goto_7

    :cond_e
    :goto_8
    if-nez v8, :cond_f

    .line 640
    invoke-virtual {p0}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a()Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    move-result-object v8

    .line 641
    :cond_f
    iget v2, v8, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    int-to-float v2, v2

    sub-float/2addr v2, v1

    iput v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->t:F

    .line 644
    iget-object v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->w:[C

    array-length v3, v2

    move-object v7, v6

    const/4 v6, 0x0

    :goto_9
    if-ge v6, v3, :cond_11

    aget-char v7, v2, v6

    .line 645
    invoke-virtual {p0, v7}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(C)Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    move-result-object v7

    if-eqz v7, :cond_10

    goto :goto_a

    :cond_10
    add-int/lit8 v6, v6, 0x1

    goto :goto_9

    :cond_11
    :goto_a
    if-nez v7, :cond_16

    .line 649
    iget-object v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->q:[[Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    array-length v3, v2

    const/4 v6, 0x0

    :goto_b
    if-ge v6, v3, :cond_17

    aget-object v7, v2, v6

    if-nez v7, :cond_12

    goto :goto_e

    .line 651
    :cond_12
    array-length v8, v7

    const/4 v9, 0x0

    :goto_c
    if-ge v9, v8, :cond_15

    aget-object v10, v7, v9

    if-eqz v10, :cond_14

    .line 652
    iget v11, v10, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    if-eqz v11, :cond_14

    iget v11, v10, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    if-nez v11, :cond_13

    goto :goto_d

    .line 653
    :cond_13
    iget v11, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    iget v10, v10, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    int-to-float v10, v10

    invoke-static {v11, v10}, Ljava/lang/Math;->max(FF)F

    move-result v10

    iput v10, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    :cond_14
    :goto_d
    add-int/lit8 v9, v9, 0x1

    goto :goto_c

    :cond_15
    :goto_e
    add-int/lit8 v6, v6, 0x1

    goto :goto_b

    .line 657
    :cond_16
    iget v2, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    int-to-float v2, v2

    iput v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    .line 658
    :cond_17
    iget v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    sub-float/2addr v2, v1

    iput v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    .line 660
    iget v1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->i:F

    sub-float/2addr v5, v1

    iput v5, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->j:F

    .line 661
    iget v1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->h:F

    neg-float v1, v1

    iput v1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->l:F

    if-eqz p2, :cond_18

    .line 663
    iget p2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->j:F

    neg-float p2, p2

    iput p2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->j:F

    .line 664
    iget p2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->l:F

    neg-float p2, p2

    iput p2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->l:F
    :try_end_4
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_3
    .catchall {:try_start_4 .. :try_end_4} :catchall_0

    .line 669
    :cond_18
    invoke-static {v0}, Lcom/badlogic/gdx/utils/StreamUtils;->a(Ljava/io/Closeable;)V

    return-void

    .line 605
    :cond_19
    :try_start_5
    new-instance v7, Ljava/util/StringTokenizer;

    const-string v8, " ="

    invoke-direct {v7, v3, v8}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 606
    invoke-virtual {v7}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 607
    invoke-virtual {v7}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 608
    invoke-virtual {v7}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    .line 609
    invoke-virtual {v7}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 610
    invoke-virtual {v7}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v8

    invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v8

    if-ltz v3, :cond_8

    if-gt v3, v6, :cond_8

    if-ltz v8, :cond_8

    if-le v8, v6, :cond_1a

    goto/16 :goto_5

    :cond_1a
    int-to-char v3, v3

    .line 612
    invoke-virtual {p0, v3}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(C)Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    move-result-object v3

    .line 613
    invoke-virtual {v7}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 614
    invoke-virtual {v7}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v7

    invoke-static {v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v7

    if-eqz v3, :cond_8

    .line 616
    invoke-virtual {v3, v8, v7}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->a(II)V

    goto/16 :goto_5

    :cond_1b
    const-string v7, "char "

    .line 554
    invoke-virtual {v3, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v7

    if-nez v7, :cond_1c

    goto/16 :goto_3

    .line 556
    :cond_1c
    new-instance v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    invoke-direct {v7}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;-><init>()V

    .line 558
    new-instance v8, Ljava/util/StringTokenizer;

    const-string v9, " ="

    invoke-direct {v8, v3, v9}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 559
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 560
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 561
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    if-gtz v3, :cond_1d

    .line 563
    iput-object v7, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->r:Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    goto :goto_f

    :cond_1d
    if-gt v3, v6, :cond_6

    .line 565
    invoke-virtual {p0, v3, v7}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(ILcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;)V

    .line 568
    :goto_f
    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->a:I

    .line 569
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 570
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->b:I

    .line 571
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 572
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->c:I

    .line 573
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 574
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    .line 575
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 576
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    .line 577
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 578
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->j:I

    .line 579
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    if-eqz p2, :cond_1e

    .line 581
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->k:I

    goto :goto_10

    .line 583
    :cond_1e
    iget v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v6

    invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v6

    add-int/2addr v3, v6

    neg-int v3, v3

    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->k:I

    .line 584
    :goto_10
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 585
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->l:I

    .line 588
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->hasMoreTokens()Z

    move-result v3

    if-eqz v3, :cond_1f

    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    .line 589
    :cond_1f
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->hasMoreTokens()Z

    move-result v3
    :try_end_5
    .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_5} :catch_3
    .catchall {:try_start_5 .. :try_end_5} :catchall_0

    if-eqz v3, :cond_20

    .line 591
    :try_start_6
    invoke-virtual {v8}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->o:I
    :try_end_6
    .catch Ljava/lang/NumberFormatException; {:try_start_6 .. :try_end_6} :catch_2
    .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6} :catch_3
    .catchall {:try_start_6 .. :try_end_6} :catchall_0

    .line 596
    :catch_2
    :cond_20
    :try_start_7
    iget v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    if-lez v3, :cond_6

    iget v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    if-lez v3, :cond_6

    iget v3, v7, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->k:I

    int-to-float v3, v3

    add-float/2addr v3, v5

    iget v6, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->k:F

    invoke-static {v3, v6}, Ljava/lang/Math;->min(FF)F

    move-result v3

    iput v3, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->k:F

    goto/16 :goto_3

    .line 511
    :cond_21
    new-instance p2, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    const-string v1, "Missing: base"

    invoke-direct {p2, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw p2

    .line 508
    :cond_22
    new-instance p2, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    const-string v1, "Missing: lineHeight"

    invoke-direct {p2, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw p2

    .line 506
    :cond_23
    new-instance p2, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    const-string v1, "Invalid common header."

    invoke-direct {p2, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw p2

    .line 502
    :cond_24
    new-instance p2, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    const-string v1, "Missing common header."

    invoke-direct {p2, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw p2

    .line 494
    :cond_25
    new-instance p2, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    const-string v1, "Invalid padding."

    invoke-direct {p2, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw p2

    .line 490
    :cond_26
    new-instance p2, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    const-string v1, "File is empty."

    invoke-direct {p2, v1}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;)V

    throw p2
    :try_end_7
    .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_7} :catch_3
    .catchall {:try_start_7 .. :try_end_7} :catchall_0

    :catchall_0
    move-exception p1

    goto :goto_11

    :catch_3
    move-exception p2

    .line 667
    :try_start_8
    new-instance v1, Lcom/badlogic/gdx/utils/GdxRuntimeException;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Error loading font file: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-direct {v1, p1, p2}, Lcom/badlogic/gdx/utils/GdxRuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw v1
    :try_end_8
    .catchall {:try_start_8 .. :try_end_8} :catchall_0

    .line 669
    :goto_11
    invoke-static {v0}, Lcom/badlogic/gdx/utils/StreamUtils;->a(Ljava/io/Closeable;)V

    .line 670
    throw p1

    .line 485
    :cond_27
    new-instance p1, Ljava/lang/IllegalStateException;

    const-string p2, "Already loaded."

    invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw p1
.end method

.method public a(Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;Lcom/badlogic/gdx/graphics/g2d/TextureRegion;)V
    .locals 13

    .line 674
    invoke-virtual {p2}, Lcom/badlogic/gdx/graphics/g2d/TextureRegion;->k()Lcom/badlogic/gdx/graphics/Texture;

    move-result-object v0

    .line 675
    invoke-virtual {v0}, Lcom/badlogic/gdx/graphics/Texture;->e()I

    move-result v1

    int-to-float v1, v1

    const/high16 v2, 0x3f800000    # 1.0f

    div-float v1, v2, v1

    .line 676
    invoke-virtual {v0}, Lcom/badlogic/gdx/graphics/Texture;->f()I

    move-result v0

    int-to-float v0, v0

    div-float/2addr v2, v0

    .line 679
    iget v0, p2, Lcom/badlogic/gdx/graphics/g2d/TextureRegion;->x:F

    .line 680
    iget v3, p2, Lcom/badlogic/gdx/graphics/g2d/TextureRegion;->y:F

    .line 681
    invoke-virtual {p2}, Lcom/badlogic/gdx/graphics/g2d/TextureRegion;->r()I

    move-result v4

    int-to-float v4, v4

    .line 682
    invoke-virtual {p2}, Lcom/badlogic/gdx/graphics/g2d/TextureRegion;->s()I

    move-result v5

    int-to-float v5, v5

    .line 683
    instance-of v6, p2, Lcom/badlogic/gdx/graphics/g2d/TextureAtlas$AtlasRegion;

    const/4 v7, 0x0

    if-eqz v6, :cond_0

    .line 685
    check-cast p2, Lcom/badlogic/gdx/graphics/g2d/TextureAtlas$AtlasRegion;

    .line 686
    iget v6, p2, Lcom/badlogic/gdx/graphics/g2d/TextureAtlas$AtlasRegion;->c:F

    .line 687
    iget v8, p2, Lcom/badlogic/gdx/graphics/g2d/TextureAtlas$AtlasRegion;->h:I

    iget v9, p2, Lcom/badlogic/gdx/graphics/g2d/TextureAtlas$AtlasRegion;->f:I

    sub-int/2addr v8, v9

    int-to-float v8, v8

    iget p2, p2, Lcom/badlogic/gdx/graphics/g2d/TextureAtlas$AtlasRegion;->d:F

    sub-float p2, v8, p2

    goto :goto_0

    :cond_0
    const/4 p2, 0x0

    const/4 v6, 0x0

    .line 690
    :goto_0
    iget v8, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->b:I

    int-to-float v8, v8

    .line 691
    iget v9, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->b:I

    iget v10, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    add-int/2addr v9, v10

    int-to-float v9, v9

    .line 692
    iget v10, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->c:I

    int-to-float v10, v10

    .line 693
    iget v11, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->c:I

    iget v12, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    add-int/2addr v11, v12

    int-to-float v11, v11

    cmpl-float v12, v6, v7

    if-lez v12, :cond_3

    sub-float/2addr v8, v6

    cmpg-float v12, v8, v7

    if-gez v12, :cond_1

    .line 699
    iget v12, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    int-to-float v12, v12

    add-float/2addr v12, v8

    float-to-int v12, v12

    iput v12, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    .line 700
    iget v12, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->j:I

    int-to-float v12, v12

    sub-float/2addr v12, v8

    float-to-int v8, v12

    iput v8, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->j:I

    const/4 v8, 0x0

    :cond_1
    sub-float v6, v9, v6

    cmpl-float v9, v6, v4

    if-lez v9, :cond_2

    .line 705
    iget v9, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    int-to-float v9, v9

    sub-float/2addr v6, v4

    sub-float/2addr v9, v6

    float-to-int v6, v9

    iput v6, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    goto :goto_1

    :cond_2
    move v4, v6

    goto :goto_1

    :cond_3
    move v4, v9

    :goto_1
    cmpl-float v6, p2, v7

    if-lez v6, :cond_5

    sub-float v6, v10, p2

    cmpg-float v9, v6, v7

    if-gez v9, :cond_4

    .line 712
    iget v9, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    int-to-float v9, v9

    add-float/2addr v9, v6

    float-to-int v6, v9

    iput v6, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    const/4 v10, 0x0

    goto :goto_2

    :cond_4
    move v10, v6

    :goto_2
    sub-float p2, v11, p2

    cmpl-float v6, p2, v5

    if-lez v6, :cond_6

    sub-float/2addr p2, v5

    .line 718
    iget v6, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    int-to-float v6, v6

    sub-float/2addr v6, p2

    float-to-int v6, v6

    iput v6, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->e:I

    .line 719
    iget v6, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->k:I

    int-to-float v6, v6

    add-float/2addr v6, p2

    float-to-int p2, v6

    iput p2, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->k:I

    move p2, v5

    goto :goto_3

    :cond_5
    move p2, v11

    :cond_6
    :goto_3
    mul-float v8, v8, v1

    add-float/2addr v8, v0

    .line 724
    iput v8, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->f:F

    mul-float v4, v4, v1

    add-float/2addr v0, v4

    .line 725
    iput v0, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->h:F

    .line 726
    iget-boolean v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->c:Z

    if-eqz v0, :cond_7

    mul-float v10, v10, v2

    add-float/2addr v10, v3

    .line 727
    iput v10, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->g:F

    mul-float p2, p2, v2

    add-float/2addr v3, p2

    .line 728
    iput v3, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->i:F

    goto :goto_4

    :cond_7
    mul-float v10, v10, v2

    add-float/2addr v10, v3

    .line 730
    iput v10, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->i:F

    mul-float p2, p2, v2

    add-float/2addr v3, p2

    .line 731
    iput v3, p1, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->g:F

    :goto_4
    return-void
.end method

.method public a(Lcom/badlogic/gdx/graphics/g2d/GlyphLayout$GlyphRun;Ljava/lang/CharSequence;IIZ)V
    .locals 8

    .line 780
    iget-boolean v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->p:Z

    .line 781
    iget v1, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->n:F

    .line 782
    iget-object v2, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->r:Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    .line 783
    iget-object v3, p1, Lcom/badlogic/gdx/graphics/g2d/GlyphLayout$GlyphRun;->a:Lcom/badlogic/gdx/utils/Array;

    .line 784
    iget-object p1, p1, Lcom/badlogic/gdx/graphics/g2d/GlyphLayout$GlyphRun;->b:Lcom/badlogic/gdx/utils/FloatArray;

    sub-int v4, p4, p3

    .line 787
    invoke-virtual {v3, v4}, Lcom/badlogic/gdx/utils/Array;->c(I)[Ljava/lang/Object;

    add-int/lit8 v4, v4, 0x1

    .line 788
    invoke-virtual {p1, v4}, Lcom/badlogic/gdx/utils/FloatArray;->b(I)[F

    const/4 v4, 0x0

    :goto_0
    if-ge p3, p4, :cond_6

    add-int/lit8 v5, p3, 0x1

    .line 792
    invoke-interface {p2, p3}, Ljava/lang/CharSequence;->charAt(I)C

    move-result p3

    .line 793
    invoke-virtual {p0, p3}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a(C)Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;

    move-result-object v6

    if-nez v6, :cond_1

    if-nez v2, :cond_0

    move p3, v5

    goto :goto_0

    :cond_0
    move-object v6, v2

    .line 799
    :cond_1
    invoke-virtual {v3, v6}, Lcom/badlogic/gdx/utils/Array;->a(Ljava/lang/Object;)V

    if-nez v4, :cond_4

    if-eqz p5, :cond_3

    .line 802
    iget-boolean v4, v6, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->n:Z

    if-eqz v4, :cond_2

    goto :goto_1

    :cond_2
    iget v4, v6, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->j:I

    neg-int v4, v4

    int-to-float v4, v4

    mul-float v4, v4, v1

    iget v7, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->g:F

    sub-float/2addr v4, v7

    goto :goto_2

    :cond_3
    :goto_1
    const/4 v4, 0x0

    :goto_2
    invoke-virtual {p1, v4}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V

    goto :goto_3

    .line 804
    :cond_4
    iget v7, v4, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->l:I

    invoke-virtual {v4, p3}, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->a(C)I

    move-result v4

    add-int/2addr v7, v4

    int-to-float v4, v7

    mul-float v4, v4, v1

    invoke-virtual {p1, v4}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V

    :goto_3
    if-eqz v0, :cond_5

    const/16 v4, 0x5b

    if-ne p3, v4, :cond_5

    if-ge v5, p4, :cond_5

    .line 808
    invoke-interface {p2, v5}, Ljava/lang/CharSequence;->charAt(I)C

    move-result p3

    if-ne p3, v4, :cond_5

    add-int/lit8 v5, v5, 0x1

    :cond_5
    move p3, v5

    move-object v4, v6

    goto :goto_0

    :cond_6
    if-eqz v4, :cond_9

    if-eqz p5, :cond_8

    .line 811
    iget-boolean p2, v4, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->n:Z

    if-eqz p2, :cond_7

    goto :goto_4

    :cond_7
    iget p2, v4, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->j:I

    iget p3, v4, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->d:I

    add-int/2addr p2, p3

    int-to-float p2, p2

    iget p3, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->e:F

    sub-float/2addr p2, p3

    goto :goto_5

    :cond_8
    :goto_4
    iget p2, v4, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$Glyph;->l:I

    int-to-float p2, p2

    :goto_5
    mul-float p2, p2, v1

    .line 813
    invoke-virtual {p1, p2}, Lcom/badlogic/gdx/utils/FloatArray;->a(F)V

    :cond_9
    return-void
.end method

.method public b(C)Z
    .locals 5

    .line 831
    iget-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->u:[C

    const/4 v1, 0x0

    if-nez v0, :cond_0

    return v1

    .line 832
    :cond_0
    iget-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->u:[C

    array-length v2, v0

    const/4 v3, 0x0

    :goto_0
    if-ge v3, v2, :cond_2

    aget-char v4, v0, v3

    if-ne p1, v4, :cond_1

    const/4 p1, 0x1

    return p1

    :cond_1
    add-int/lit8 v3, v3, 0x1

    goto :goto_0

    :cond_2
    return v1
.end method

.method public b()[Ljava/lang/String;
    .locals 1

    .line 855
    iget-object v0, p0, Lcom/badlogic/gdx/graphics/g2d/BitmapFont$BitmapFontData;->a:[Ljava/lang/String;

    return-object v0
.end method

.method public c(C)Z
    .locals 1

    const/16 v0, 0xd

    if-eq p1, v0, :cond_0

    const/16 v0, 0x20

    if-eq p1, v0, :cond_0

    packed-switch p1, :pswitch_data_0

    const/4 p1, 0x0

    return p1

    :cond_0
    :pswitch_0
    const/4 p1, 0x1

    return p1

    nop

    :pswitch_data_0
    .packed-switch 0x9
        :pswitch_0
        :pswitch_0
    .end packed-switch
.end method
