]> git.lyx.org Git - lyx.git/blobdiff - src/Layout.cpp
let the compiler do the maths to compute array size
[lyx.git] / src / Layout.cpp
index cdfc1746b9fd530cb1a1d793f88aeffcb92f9b06..983c53e7a3922783a3f8e9b9739311f9dac1d2f1 100644 (file)
@@ -51,8 +51,6 @@ enum LayoutTags {
        LT_END,
        //LT_ENVIRONMENT_DEFAULT,
        //LT_FANCYHDR,
-       LT_FILL_BOTTOM,
-       LT_FILL_TOP,
        //LT_FIRST_COUNTER,
        LT_FONT,
        LT_FREE_SPACING,
@@ -141,8 +139,6 @@ Layout::Layout()
        endlabeltype = END_LABEL_NO_LABEL;
        // Should or should not. That is the question.
        // spacing.set(Spacing::OneHalf);
-       fill_top = false;
-       fill_bottom = false;
        newline_allowed = true;
        free_spacing = false;
        pass_thru = false;
@@ -173,8 +169,6 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                { "end",            LT_END },
                { "endlabelstring", LT_ENDLABELSTRING },
                { "endlabeltype",   LT_ENDLABELTYPE },
-               { "fill_bottom",    LT_FILL_BOTTOM },
-               { "fill_top",       LT_FILL_TOP },
                { "font",           LT_FONT },
                { "freespacing",    LT_FREE_SPACING },
                { "htmlattr",       LT_HTMLATTR },
@@ -450,14 +444,6 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                        lex >> parsep;
                        break;
 
-               case LT_FILL_TOP:       // fill top flag
-                       lex >> fill_top;
-                       break;
-
-               case LT_FILL_BOTTOM:    // fill bottom flag
-                       lex >> fill_bottom;
-                       break;
-
                case LT_NEWLINE:        // newlines allowed?
                        lex >> newline_allowed;
                        break;
@@ -877,12 +863,14 @@ void Layout::readSpacing(Lexer & lex)
 
 namespace {
 
-docstring const i18npreamble(Language const * lang, docstring const & templ)
+docstring const i18npreamble(Language const * lang, docstring const & templ, bool const polyglossia)
 {
        if (templ.empty())
                return templ;
 
-       string preamble = subst(to_utf8(templ), "$$lang", lang->babel());
+       string preamble = polyglossia ?
+               subst(to_utf8(templ), "$$lang", lang->polyglossia()) :
+               subst(to_utf8(templ), "$$lang", lang->babel());
 
 #ifdef TEX2LYX
        // tex2lyx does not have getMessages()
@@ -895,14 +883,7 @@ docstring const i18npreamble(Language const * lang, docstring const & templ)
        smatch sub;
        while (regex_search(preamble, sub, reg)) {
                string const key = sub.str(1);
-               string translated;
-               if (isAscii(key))
-                       translated = to_utf8(getMessages(lang->code()).get(key));
-               else {
-                       lyxerr << "Warning: not translating `" << key
-                              << "' because it is not pure ASCII." << endl;
-                       translated = key;
-               }
+               string translated = to_utf8(lang->translateLayout(key));
                preamble = subst(preamble, sub.str(), translated);
        }
 #endif
@@ -912,15 +893,15 @@ docstring const i18npreamble(Language const * lang, docstring const & templ)
 }
 
 
-docstring const Layout::langpreamble(Language const * lang) const
+docstring const Layout::langpreamble(Language const * lang, bool const polyglossia) const
 {
-       return i18npreamble(lang, langpreamble_);
+       return i18npreamble(lang, langpreamble_, polyglossia);
 }
 
 
-docstring const Layout::babelpreamble(Language const * lang) const
+docstring const Layout::babelpreamble(Language const * lang, bool const polyglossia) const
 {
-       return i18npreamble(lang, babelpreamble_);
+       return i18npreamble(lang, babelpreamble_, polyglossia);
 }