@Override public List computeTextRuns(TextNode node, AttributedCharacterIterator nodeACI, AttributedCharacterIterator [] chunkACIs) { nodeACI.first(); int defaultBidiLevel = (((Integer) nodeACI.getAttribute(WRITING_MODE)).intValue() == WRITING_MODE_RTL) ? 1 : 0; for (int i = 0, n = chunkACIs.length; i < n; ++i) { chunkACIs[i] = new BidiAttributedCharacterIterator(chunkACIs[i], defaultBidiLevel); } return super.computeTextRuns(node, nodeACI, chunkACIs, null); }
public List getTextRuns(TextNode node, AttributedCharacterIterator aci) { List textRuns = node.getTextRuns(); if (textRuns != null) { return textRuns; } AttributedCharacterIterator[] chunkACIs = getTextChunkACIs(aci); textRuns = computeTextRuns(node, aci, chunkACIs); // cache the textRuns so don't need to recalculate node.setTextRuns(textRuns); return node.getTextRuns(); }
public List getTextRuns(TextNode node, AttributedCharacterIterator aci) { List textRuns = node.getTextRuns(); if (textRuns != null) { return textRuns; } AttributedCharacterIterator[] chunkACIs = getTextChunkACIs(aci); textRuns = computeTextRuns(node, aci, chunkACIs); // cache the textRuns so don't need to recalculate node.setTextRuns(textRuns); return node.getTextRuns(); }
public List getTextRuns(TextNode node, AttributedCharacterIterator aci) { List textRuns = node.getTextRuns(); if (textRuns != null) { return textRuns; } AttributedCharacterIterator[] chunkACIs = getTextChunkACIs(aci); textRuns = computeTextRuns(node, aci, chunkACIs); // cache the textRuns so don't need to recalculate node.setTextRuns(textRuns); return node.getTextRuns(); }
public List computeTextRuns(TextNode node, AttributedCharacterIterator aci, AttributedCharacterIterator [] chunkACIs) { int [][] chunkCharMaps = new int[chunkACIs.length][]; // reorder each chunk ACI for bidi text int chunkStart = aci.getBeginIndex(); for (int i = 0; i < chunkACIs.length; i++) { BidiAttributedCharacterIterator iter; iter = new BidiAttributedCharacterIterator (chunkACIs[i], fontRenderContext, chunkStart); chunkACIs [i] = iter; chunkCharMaps[i] = iter.getCharMap(); chunkStart += (chunkACIs[i].getEndIndex()- chunkACIs[i].getBeginIndex()); } return computeTextRuns(node, aci, chunkACIs, chunkCharMaps); }
public List computeTextRuns(TextNode node, AttributedCharacterIterator aci, AttributedCharacterIterator [] chunkACIs) { int [][] chunkCharMaps = new int[chunkACIs.length][]; // reorder each chunk ACI for bidi text int chunkStart = aci.getBeginIndex(); for (int i = 0; i < chunkACIs.length; i++) { BidiAttributedCharacterIterator iter; iter = new BidiAttributedCharacterIterator (chunkACIs[i], fontRenderContext, chunkStart); chunkACIs [i] = iter; chunkCharMaps[i] = iter.getCharMap(); chunkStart += (chunkACIs[i].getEndIndex()- chunkACIs[i].getBeginIndex()); } return computeTextRuns(node, aci, chunkACIs, chunkCharMaps); }
public List computeTextRuns(TextNode node, AttributedCharacterIterator aci, AttributedCharacterIterator [] chunkACIs) { int [][] chunkCharMaps = new int[chunkACIs.length][]; // reorder each chunk ACI for bidi text int chunkStart = aci.getBeginIndex(); for (int i = 0; i < chunkACIs.length; i++) { BidiAttributedCharacterIterator iter; iter = new BidiAttributedCharacterIterator (chunkACIs[i], fontRenderContext, chunkStart); chunkACIs [i] = iter; chunkCharMaps[i] = iter.getCharMap(); chunkStart += (chunkACIs[i].getEndIndex()- chunkACIs[i].getBeginIndex()); } return computeTextRuns(node, aci, chunkACIs, chunkCharMaps); }