+namespace {
+string specialCharKindToXMLEntity(InsetSpecialChar::Kind kind) {
+ switch (kind) {
+ case InsetSpecialChar::Kind::HYPHENATION:
+ // Soft hyphen.
+ return "­";
+ case InsetSpecialChar::Kind::ALLOWBREAK:
+ // Zero-width space
+ return "​";
+ case InsetSpecialChar::Kind::LIGATURE_BREAK:
+ // Zero width non-joiner
+ return "‌";
+ case InsetSpecialChar::Kind::END_OF_SENTENCE:
+ return ".";
+ case InsetSpecialChar::Kind::LDOTS:
+ // …
+ return "…";
+ case InsetSpecialChar::Kind::MENU_SEPARATOR:
+ // ⇒, right arrow.
+ return "⇒";
+ case InsetSpecialChar::Kind::SLASH:
+ // ⁄, fractional slash.
+ return "⁄";
+ case InsetSpecialChar::Kind::NOBREAKDASH:
+ // Non-breaking hyphen.
+ return "‑";
+ case InsetSpecialChar::Kind::PHRASE_LYX:
+ return "LyX";
+ case InsetSpecialChar::Kind::PHRASE_TEX:
+ return "TeX";
+ case InsetSpecialChar::Kind::PHRASE_LATEX2E:
+ // Lower-case epsilon.
+ return "LaTeX2ε";
+ case InsetSpecialChar::Kind::PHRASE_LATEX:
+ return "LaTeX";
+ default:
+ return "";