+ switch (kind_) {
+ case HYPHENATION:
+ break;
+ case LIGATURE_BREAK:
+ xs << XHTMLStream::ESCAPE_NONE << "‌";
+ break;
+ case END_OF_SENTENCE:
+ xs << '.';
+ break;
+ case LDOTS:
+ xs << XHTMLStream::ESCAPE_NONE << "…";
+ break;
+ case MENU_SEPARATOR:
+ xs << XHTMLStream::ESCAPE_NONE << "⇒";
+ break;
+ case SLASH:
+ xs << XHTMLStream::ESCAPE_NONE << "⁄";
+ break;
+ case NOBREAKDASH:
+ xs << XHTMLStream::ESCAPE_NONE << "‑";
+ break;
+ }
+ return docstring();
+}
+
+
+void InsetSpecialChar::toString(odocstream & os) const
+{
+ switch (kind_) {
+ case LIGATURE_BREAK:
+ // Do not output ZERO WIDTH NON JOINER here
+ // Spell checker would choke on it.
+ return;
+ default:
+ break;
+ }
+ odocstringstream ods;
+ plaintext(ods, OutputParams(0));
+ os << ods.str();
+}
+
+
+void InsetSpecialChar::forToc(docstring & os, size_t) const
+{
+ odocstringstream ods;
+ plaintext(ods, OutputParams(0));
+ os += ods.str();