]> git.lyx.org Git - features.git/commitdiff
tex2lyx/text.cpp: correction for TIPA character support
authorUwe Stöhr <uwestoehr@lyx.org>
Thu, 21 Feb 2013 22:13:05 +0000 (23:13 +0100)
committerUwe Stöhr <uwestoehr@lyx.org>
Thu, 21 Feb 2013 22:13:05 +0000 (23:13 +0100)
- 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)

src/tex2lyx/text.cpp

index 855ac28e990cb016c9c9421e0a1f378cda60e5f6..f29d65cb4c4f81d507cb285e10cd2a8080e7ca93 100644 (file)
@@ -3257,8 +3257,15 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
                }
 
                // 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);
+                       if (t.cs() == "textvertline") {
+                               os << "|";
+                               skip_braces(p);
+                               continue;
+                       }
                        // try to see whether the string is in unicodesymbols
                        bool termination;
                        docstring rem;
@@ -3274,10 +3281,6 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
                                             << ", result is " << to_utf8(s)
                                             << "+" << to_utf8(rem) << endl;
                                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
                                // we did not find a non-ert version
                                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);
                }
 
-               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" ||
                             t.cs() == "vphantom") {
                        context.check_layout(os);