private List<GlyphIndex> parseIndicesString(String indicesString) throws SAXException {
        try {
            ArrayList<GlyphIndex> indices = new ArrayList<>();
            for (String indexString : indicesString.split(";", -1)) {
                // We only want to extract the advance which will be the second comma separated value
                String[] commaSplit = indexString.split(",", -1);
                if (commaSplit.length < 2 || StringUtils.isBlank(commaSplit[1])) {
                    indices.add(new GlyphIndex(0.0f));
                } else {
                    // Advance is measured in hundredths so divide by 100
                    float advance = Float.parseFloat(commaSplit[1]) / 100.0f;
                    indices.add(new GlyphIndex(advance));
                }
            }
            return indices;
        } catch (NumberFormatException e) {
            throw new SAXException(e);
        }
    }
Handles an individual page.  For now, this marks up
canvas entities in a &lt;div&gt; tag.  Based on the spec,
it currently relies on order within the xml for order of output
of text to xhtml.  We could do more complex processing of coordinates
for bidi-languages, but the spec implies that we should be able
to rely on storage order.
<p/>
As with our PDFParser, this currently dumps urls at the bottom of the page
and does not attempt to calculate the correct anchor text.
<p/>
TODO: integrate table markup
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java