package jxl.biff;

import common.Assert;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import jxl.write.biff.File;

/* JADX INFO: loaded from: classes.dex */
public class Fonts {
    private static final int numDefaultFonts = 4;
    private ArrayList fonts = new ArrayList();

    public void addFont(FontRecord fontRecord) {
        if (fontRecord.isInitialized()) {
            return;
        }
        int size = this.fonts.size();
        if (size >= 4) {
            size++;
        }
        fontRecord.initialize(size);
        this.fonts.add(fontRecord);
    }

    public FontRecord getFont(int i2) {
        if (i2 > 4) {
            i2--;
        }
        return (FontRecord) this.fonts.get(i2);
    }

    IndexMapping rationalize() {
        IndexMapping indexMapping = new IndexMapping(this.fonts.size() + 1);
        ArrayList<FontRecord> arrayList = new ArrayList();
        for (int i2 = 0; i2 < 4; i2++) {
            FontRecord fontRecord = (FontRecord) this.fonts.get(i2);
            arrayList.add(fontRecord);
            indexMapping.setMapping(fontRecord.getFontIndex(), fontRecord.getFontIndex());
        }
        int i3 = 0;
        for (int i4 = 4; i4 < this.fonts.size(); i4++) {
            FontRecord fontRecord2 = (FontRecord) this.fonts.get(i4);
            Iterator it = arrayList.iterator();
            boolean z = false;
            while (it.hasNext() && !z) {
                FontRecord fontRecord3 = (FontRecord) it.next();
                if (fontRecord2.equals(fontRecord3)) {
                    indexMapping.setMapping(fontRecord2.getFontIndex(), indexMapping.getNewIndex(fontRecord3.getFontIndex()));
                    i3++;
                    z = true;
                }
            }
            if (!z) {
                arrayList.add(fontRecord2);
                int fontIndex = fontRecord2.getFontIndex() - i3;
                Assert.verify(fontIndex > 4);
                indexMapping.setMapping(fontRecord2.getFontIndex(), fontIndex);
            }
        }
        for (FontRecord fontRecord4 : arrayList) {
            fontRecord4.initialize(indexMapping.getNewIndex(fontRecord4.getFontIndex()));
        }
        this.fonts = arrayList;
        return indexMapping;
    }

    public void write(File file) throws IOException {
        Iterator it = this.fonts.iterator();
        while (it.hasNext()) {
            file.write((FontRecord) it.next());
        }
    }
}
