namespace lyx {
+class Encoding;
class LyXLayout;
// Change tracking
//
/// look up change at given pos
- Change const lookupChange(pos_type pos) const;
+ Change const & lookupChange(pos_type pos) const;
/// is there a change within the given range ?
bool isChanged(pos_type start, pos_type end) const;
/// will the paragraph be physically merged with the next
/// set change at given pos
void setChange(pos_type pos, Change const & change);
/// accept changes within the given range
- void acceptChanges(pos_type start, pos_type end);
+ void acceptChanges(BufferParams const & bparams, pos_type start, pos_type end);
/// reject changes within the given range
- void rejectChanges(pos_type start, pos_type end);
+ void rejectChanges(BufferParams const & bparams, pos_type start, pos_type end);
///
value_type getChar(pos_type pos) const;
///
FontList fontlist;
- ///
- void simpleTeXBlanks(odocstream &, TexRow & texrow,
- pos_type const i,
+ /// Output the surrogate pair formed by \p c and \p next to \p os.
+ /// \return the number of characters written.
+ int latexSurrogatePair(odocstream & os, value_type c, value_type next,
+ Encoding const &);
+ /// Output a space in appropriate formatting (or a surrogate pair
+ /// if the next character is a combining character).
+ /// \return whether a surrogate pair was output.
+ bool simpleTeXBlanks(Encoding const &,
+ odocstream &, TexRow & texrow,
+ pos_type & i,
unsigned int & column,
LyXFont const & font,
LyXLayout const & style);
///
void simpleTeXSpecialChars(Buffer const &, BufferParams const &,
- odocstream &, TexRow & texrow,
- OutputParams const &,
- LyXFont & font, LyXFont & running_font,
+ odocstream &,
+ TexRow & texrow, OutputParams const &,
+ LyXFont & running_font,
LyXFont & basefont,
LyXFont const & outerfont,
bool & open_font,