virtual Dimension const defaultDimension() const = 0;
/// return the em size
virtual int em() const = 0;
+ /// return the x height
+ virtual int xHeight() const = 0;
/// return the width of a line for underlining
virtual int lineWidth() const = 0;
/// return the distance from the base line to where an underline
int & descent) const = 0;
/**
* fill in width,ascent,descent with the values for the
- * given string in the font for a button.
+ * given string in the font for a button with given offset.
*/
virtual void buttonText(docstring const & str,
+ const int offset,
int & width,
int & ascent,
int & descent) const = 0;
inline int center(char_type c) const {
return (rbearing(c) - lbearing(c)) / 2;
}
+
+ /// return the number of expanding characters taken into account for
+ /// increased inter-word spacing during justification
+ virtual int countExpanders(docstring const & str) const = 0;
};