private void reorderGlyphs()

in src/java/org/apache/fop/render/pdf/pdfbox/MergeTTFonts.java [329:353]


    private void reorderGlyphs() throws IOException {
        Map<Integer, Integer> remap = new HashMap<>();
        Map<Integer, Glyph> glyphMap = new TreeMap<>();
        int i = 0;
        for (Glyph glyph : added.values()) {
            if (!glyph.composed) {
                glyphMap.put(i, glyph);
                remap.put(glyph.origGlyphIndex, i);
                i++;
            }
        }
        for (Glyph glyph : added.values()) {
            if (glyph.composed) {
                glyphMap.put(i, glyph);
                remap.put(glyph.origGlyphIndex, i);
                i++;
            }
        }
        for (Glyph glyph : glyphMap.values()) {
            if (glyph.composite && glyph.data.length > 0) {
                remapComposite(glyph.data, remap);
            }
        }
        added = glyphMap;
    }