X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FTrans.cpp;h=d646156dcf5b9afa8d2609bc9dc47bc84386d795;hb=12c7e7dde3851ad894380fd42ba741dd3d0cbcc7;hp=8954f1d4c705f79cdc9b6d84b6d0d185cd0cba93;hpb=b89cc942eb458284f40f4d4e7db58890c3288979;p=lyx.git diff --git a/src/Trans.cpp b/src/Trans.cpp index 8954f1d4c7..d646156dcf 100644 --- a/src/Trans.cpp +++ b/src/Trans.cpp @@ -3,7 +3,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author Matthias Ettrich * * Full author contact details are available in file CREDITS. @@ -17,15 +17,15 @@ #include "BufferView.h" #include "Cursor.h" #include "CutAndPaste.h" -#include "support/debug.h" #include "Lexer.h" #include "LyXRC.h" #include "Text.h" +#include "support/debug.h" +#include "support/docstream.h" +#include "support/FileName.h" #include "support/filetools.h" #include "support/lstrings.h" -#include "support/convert.h" -#include "support/docstream.h" using namespace std; using namespace lyx::support; @@ -55,7 +55,7 @@ namespace lyx { | cedilla | cedilla |LFUN_ACCENT_CEDILLA | cedilla | underdot | |LFUN_ACCENT_UNDERDOT | underdot | underbar | |LFUN_ACCENT_UNDERBAR | underbar - | hácek | caron |LFUN_ACCENT_CARON | caron + | hácek | caron |LFUN_ACCENT_CARON | caron | breve | breve |LFUN_ACCENT_BREVE | breve | tie | |LFUN_ACCENT_TIE | tie | Hungarian umlaut | doubleacute |LFUN_ACCENT_HUNGARIAN_UMLAUT | hungarian umlaut @@ -64,9 +64,8 @@ namespace lyx { | | iota | | | | voiced_sound | | | | semivoiced_sound | | - | | |LFUN_ACCENT_SPECIAL_CARON| special caron */ -static tex_accent_struct lyx_accent_table[] = { +static TeXAccent lyx_accent_table[] = { {TEX_NOACCENT, 0, "", LFUN_NOACTION}, {TEX_ACUTE, 0x0301, "acute", LFUN_ACCENT_ACUTE}, {TEX_GRAVE, 0x0300, "grave", LFUN_ACCENT_GRAVE}, @@ -80,7 +79,6 @@ static tex_accent_struct lyx_accent_table[] = { {TEX_TIE, 0x0361, "tie", LFUN_ACCENT_TIE}, {TEX_BREVE, 0x0306, "breve", LFUN_ACCENT_BREVE}, {TEX_CARON, 0x030c, "caron", LFUN_ACCENT_CARON}, -// {TEX_SPECIAL_CARON, 0x030c, "ooo", LFUN_ACCENT_SPECIAL_CARON}, // Don't fix this typo for compatibility reasons! {TEX_HUNGUML, 0x030b, "hugarian_umlaut", LFUN_ACCENT_HUNGARIAN_UMLAUT}, {TEX_UMLAUT, 0x0308, "umlaut", LFUN_ACCENT_UMLAUT}, @@ -89,7 +87,7 @@ static tex_accent_struct lyx_accent_table[] = { }; -tex_accent_struct get_accent(kb_action action) +TeXAccent get_accent(FuncCode action) { int i = 0; while (i <= TEX_MAX_ACCENT) { @@ -97,8 +95,8 @@ tex_accent_struct get_accent(kb_action action) return lyx_accent_table[i]; ++i; } - struct tex_accent_struct temp = { static_cast(0), 0, - 0, static_cast(0)}; + struct TeXAccent temp = { static_cast(0), 0, + 0, static_cast(0)}; return temp; } @@ -114,7 +112,7 @@ static docstring const doAccent(docstring const & s, tex_accent accent) if (s.length() > 1) { if (accent != TEX_TIE || s.length() > 2) lyxerr << "Warning: Too many characters given for accent " - << lyx_accent_table[accent].name << '.' << std::endl; + << lyx_accent_table[accent].name << '.' << endl; os << s.substr(1); } return normalize_c(os.str()); @@ -168,20 +166,11 @@ bool Trans::isDefined() const } -enum kmaptags_ { +enum { KCOMB = 1, KMOD, KMAP, KXMOD, - K_LAST -}; - - -struct keyword_item kmapTags[K_LAST - 1] = { - {"\\kcomb", KCOMB }, - { "\\kmap", KMAP }, - { "\\kmod", KMOD }, - { "\\kxmod", KXMOD } }; @@ -386,12 +375,19 @@ docstring const Trans::process(char_type c, TransManager & k) int Trans::load(string const & language) { - support::FileName const filename = libFileSearch("kbd", language, "kmap"); + LexerKeyword kmapTags[] = { + {"\\kcomb", KCOMB }, + { "\\kmap", KMAP }, + { "\\kmod", KMOD }, + { "\\kxmod", KXMOD } + }; + + FileName const filename = libFileSearch("kbd", language, "kmap"); if (filename.empty()) return -1; freeKeymap(); - Lexer lex(kmapTags, K_LAST - 1); + Lexer lex(kmapTags); lex.setFile(filename); int const res = load(lex);