]> git.lyx.org Git - lyx.git/blobdiff - src/Trans.cpp
Correctly set language after intitle paragraphs
[lyx.git] / src / Trans.cpp
index d4d41109ca50307d0e5ffb3499d819f035660d12..8a74b9ab4c016f949bf598acb523743bd9e0089d 100644 (file)
@@ -71,7 +71,9 @@ static TeXAccent lyx_accent_table[] = {
        {TEX_GRAVE,      0x0300, "grave",           LFUN_ACCENT_GRAVE},
        {TEX_MACRON,     0x0304, "macron",          LFUN_ACCENT_MACRON},
        {TEX_TILDE,      0x0303, "tilde",           LFUN_ACCENT_TILDE},
-       {TEX_UNDERBAR,   0x0320, "underbar",        LFUN_ACCENT_UNDERBAR},
+       {TEX_PERISPOMENI, 0x0342, "perispomeni",    LFUN_ACCENT_PERISPOMENI},
+       {TEX_UNDERBAR,   0x0320, "underbar",        LFUN_ACCENT_UNDERBAR}, // COMBINING MINUS SIGN BELOW or 0x0331 COMBINING MACRON BELOW ?
+
        {TEX_CEDILLA,    0x0327, "cedilla",         LFUN_ACCENT_CEDILLA},
        {TEX_UNDERDOT,   0x0323, "underdot",        LFUN_ACCENT_UNDERDOT},
        {TEX_CIRCUMFLEX, 0x0302, "circumflex",      LFUN_ACCENT_CIRCUMFLEX},
@@ -188,10 +190,10 @@ void Trans::addDeadkey(tex_accent accent, docstring const & keys)
                // FIXME This is a hack.
                // tmp is no valid UCS4 string, but misused to store the
                // accent.
-               docstring tmp;
-               tmp += char_type(0);
-               tmp += char_type(accent);
-               keymap_[keys[i]] = tmp;
+               docstring tmpd;
+               tmpd += char_type(0);
+               tmpd += char_type(accent);
+               keymap_[keys[i]] = tmpd;
        }
 }
 
@@ -278,10 +280,14 @@ int Trans::load(Lexer & lex)
                                    && it->second[1] == accent_2)
                                        break;
                        }
+
+                       // could not find accent2 on a key -- this should not happen.
+                       if (it == end)
+                               return -1;
+
                        docstring allowed;
                        if (!lex.next())
                                return -1;
-
                        allowed = lex.getDocString();
                        LYXERR(Debug::KBMAP, "allowed: " << to_utf8(allowed));
 
@@ -427,10 +433,9 @@ tex_accent getkeymod(string const & p)
 
 
 // TransFSMData
-TransFSMData::TransFSMData()
+TransFSMData::TransFSMData() : deadkey_(0), deadkey2_(0), init_state_(0),
+       deadkey_state_(0), combined_state_(0), currentState(0)
 {
-       deadkey_ = deadkey2_ = 0;
-       deadkey_info_.accent = deadkey2_info_.accent = TEX_NOACCENT;
 }