DWGlyphLayout#getIndices can throw an exception on line:
if (indices[clusterMap[i]] == -1)
The originates in renderShape(), at renderer.GetClusterMap(clusterMap, textStart)
inspecting the native code we have;
for (i = 0; i < copiedCount; i++) {
data[i + start] = map[i] + (jshort)start;
}
but if data (clusterMap) is a map from the character offsets to glyph indices then adding the same offset (start) on both sides must be wrong.
if (indices[clusterMap[i]] == -1)
The originates in renderShape(), at renderer.GetClusterMap(clusterMap, textStart)
inspecting the native code we have;
for (i = 0; i < copiedCount; i++) {
data[i + start] = map[i] + (jshort)start;
}
but if data (clusterMap) is a map from the character offsets to glyph indices then adding the same offset (start) on both sides must be wrong.