- dim.w = font_metrics::width(s, font);
- if (kind_ == HYPHENATION && dim.w > 5)
- dim.w -= 2; // to make it look shorter
+ docstring ds(s.begin(), s.end());
+ dim.wid = fm.width(ds);
+ if (kind_ == HYPHENATION && dim.wid > 5)
+ dim.wid -= 2; // to make it look shorter
+ bool const changed = dim_ != dim;
+ dim_ = dim;
+ return changed;