tex2lyx/text.cpp: correction for TIPA character support

- for all TIPA characters the tipa and tipx package must always be registered because these characters are also allowed outside a TIPA inset
- include \textvertline because we again reached the maximum number of if statements allowed by MSCV (so safe at least one for now)
This commit is contained in:
Uwe Stöhr 2013-02-21 23:13:05 +01:00
parent eb90ac0988
commit e7c75296d6

View File

@ -3257,8 +3257,15 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
} }
// the TIPA Combining diacritical marks // the TIPA Combining diacritical marks
else if (is_known(t.cs(), known_tipa_marks)) { else if (is_known(t.cs(), known_tipa_marks) || t.cs() == "textvertline") {
preamble.registerAutomaticallyLoadedPackage("tipa");
preamble.registerAutomaticallyLoadedPackage("tipx");
context.check_layout(os); context.check_layout(os);
if (t.cs() == "textvertline") {
os << "|";
skip_braces(p);
continue;
}
// try to see whether the string is in unicodesymbols // try to see whether the string is in unicodesymbols
bool termination; bool termination;
docstring rem; docstring rem;
@ -3274,10 +3281,6 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
<< ", result is " << to_utf8(s) << ", result is " << to_utf8(s)
<< "+" << to_utf8(rem) << endl; << "+" << to_utf8(rem) << endl;
os << content << to_utf8(s); os << content << to_utf8(s);
// tipa is already registered because of the surrounding IPA environment
// or \textipa but it does not harm to register it again if necessary
for (set<string>::const_iterator it = req.begin(); it != req.end(); ++it)
preamble.registerAutomaticallyLoadedPackage(*it);
} else } else
// we did not find a non-ert version // we did not find a non-ert version
output_ert_inset(os, command, context); output_ert_inset(os, command, context);
@ -3312,14 +3315,6 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
output_ert_inset(os, command, context); output_ert_inset(os, command, context);
} }
else if (t.cs() == "textvertline" ) {
// this TIPA character does not occur in
// unicodesymbols because it is in the ASCII range
context.check_layout(os);
os << "|";
skip_braces(p);
}
else if (t.cs() == "phantom" || t.cs() == "hphantom" || else if (t.cs() == "phantom" || t.cs() == "hphantom" ||
t.cs() == "vphantom") { t.cs() == "vphantom") {
context.check_layout(os); context.check_layout(os);