* value.
*/
protected void computeLaidoutText(BridgeContext ctx,
Element e,
GraphicsNode node) {
TextNode tn = (TextNode)node;
elemTPI.clear();
AttributedString as = buildAttributedString(ctx, e);
if (as == null) {
tn.setAttributedCharacterIterator(null);
return;
}
addGlyphPositionAttributes(as, e, ctx);
if (ctx.isDynamic()) {
laidoutText = new AttributedString(as.getIterator());
}
// Install the ACI in the text node.
tn.setAttributedCharacterIterator(as.getIterator());
// Now get the real paint into - this needs to
// wait until the text node is laidout so we can get
// objectBoundingBox info.
TextPaintInfo pi = new TextPaintInfo();
setBaseTextPaintInfo(pi, e, node, ctx);
// This get's Overline/underline info.
setDecorationTextPaintInfo(pi, e);
// Install the attributes.
addPaintAttributes(as, e, tn, pi, ctx);
if (usingComplexSVGFont) {
// Force Complex SVG fonts to be recreated, if we have them.
tn.setAttributedCharacterIterator(as.getIterator());
}
if (ctx.isDynamic()) {
checkBBoxChange();
}