}
-otexstream & operator<<(otexstream & ots, char const * s)
+otexstream & operator<<(otexstream & ots, string const & s)
{
- size_t const len = strlen(s);
+ ots << from_utf8(s);
+ return ots;
+}
- // Check whether there's something to output
- if (len == 0)
- return ots;
- if (ots.protectSpace()) {
- if (!ots.canBreakLine() && s[0] == ' ')
- ots.os() << "{}";
- ots.protectSpace(false);
- }
- ots.os() << s;
- ots.lastChar(s[len - 1]);
- ots.texrow().newlines(count(s, s + len, '\n'));
- ots.canBreakLine(s[len - 1] != '\n');
+otexstream & operator<<(otexstream & ots, char const * s)
+{
+ ots << from_utf8(s);
return ots;
}