+ bool metrics(MetricsInfo & mi, Dimension & dim, int min_width = 0);
+
+ ///
+ void newParMetricsDown();
+ ///
+ void newParMetricsUp();
+
+ /// Gets the fully instantiated font at a given position in a paragraph
+ /// Basically the same routine as Paragraph::getFont() in Paragraph.cpp.
+ /// The difference is that this one is used for displaying, and thus we
+ /// are allowed to make cosmetic improvements. For instance make footnotes
+ /// smaller. (Asger)
+ Font getDisplayFont(pit_type pit,
+ pos_type pos) const;
+
+ /// There are currently two font mechanisms in LyX:
+ /// 1. The font attributes in a lyxtext, and
+ /// 2. The inset-specific font properties, defined in an inset's
+ /// metrics() and draw() methods and handed down the inset chain through
+ /// the pi/mi parameters, and stored locally in a lyxtext in font_.
+ /// This is where the two are integrated in the final fully realized
+ /// font.
+ void applyOuterFont(Font &) const;
+
+ /// is this position in the paragraph right-to-left?
+ bool isRTL(CursorSlice const & sl, bool boundary) const;
+ /// is between pos-1 and pos an RTL<->LTR boundary?
+ bool isRTLBoundary(pit_type pit,
+ pos_type pos) const;
+ /// would be a RTL<->LTR boundary between pos and the given font?
+ bool isRTLBoundary(pit_type pit,
+ pos_type pos, Font const & font) const;
+