From 91ce0aa188707b105493b1444a5728f4e1c18b9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20St=C3=B6hr?= Date: Fri, 11 Dec 2009 04:11:44 +0000 Subject: [PATCH] preamble.cpp: - proper solution to determine the quotes language - add Kazakh, that we already support in LyX for ages git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32476 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/tex2lyx/preamble.cpp | 65 ++++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 12 deletions(-) diff --git a/src/tex2lyx/preamble.cpp b/src/tex2lyx/preamble.cpp index 9557fa7b3c..1b5ab52851 100644 --- a/src/tex2lyx/preamble.cpp +++ b/src/tex2lyx/preamble.cpp @@ -51,21 +51,22 @@ bool one_language = true; namespace { +//add these to known_languages when updating to lyxformat 268: +//"chinese-simplified", "chinese-traditional", "japanese", "korean" const char * const known_languages[] = { "afrikaans", "american", "arabic", "austrian", "bahasa", "basque", "belarusian", "brazil", "brazilian", "breton", "british", "bulgarian", "canadian", "canadien", "catalan", "croatian", "czech", "danish", "dutch", "english", "esperanto", "estonian", "finnish", "francais", "french", "frenchb", "frenchle", "frenchpro", "galician", "german", "germanb", -"greek", "hebrew", "icelandic", "irish", "italian", "lsorbian", "magyar", +"greek", "hebrew", "icelandic", "irish", "italian", "kazakh", "lsorbian", "magyar", "naustrian", "ngerman", "ngermanb", "norsk", "nynorsk", "polish", "portuges", "portuguese", "romanian", "russian", "russianb", "scottish", "serbian", "slovak", "slovene", "spanish", "swedish", "thai", "turkish", "ukraineb", "ukrainian", "usorbian", "welsh", 0}; -//note this when updating to lyxformat 305: +//add this when updating to lyxformat 305: //bahasai, indonesian, and indon = equal to bahasa //malay and meyalu = equal to bahasam - const char * const known_brazilian_languages[] = {"brazil", "brazilian", 0}; const char * const known_french_languages[] = {"french", "frenchb", "francais", "frenchle", "frenchpro", 0}; @@ -75,6 +76,27 @@ const char * const known_portuguese_languages[] = {"portuges", "portuguese", 0}; const char * const known_russian_languages[] = {"russian", "russianb", 0}; const char * const known_ukrainian_languages[] = {"ukrainian", "ukraineb", 0}; +//add these to known_english_quotes_languages when updating to lyxformat 268: +//"chinese-simplified", "korean" +const char * const known_english_quotes_languages[] = {"american", "canadian", +"english", "esperanto", "hebrew", "irish", "scottish", "thai", 0}; + +//add this to known_french_quotes_languages when updating to lyxformat 327: +//"spanish-mexico" +const char * const known_french_quotes_languages[] = {"albanian", "arabic", +"basque", "canadien", "catalan", "galician", "greek", "italian", "norsk", +"nynorsk", "spanish", "turkish", 0}; + +const char * const known_german_quotes_languages[] = {"austrian", "bulgarian", +"czech", "icelandic", "lithuanian", "lsorbian", "naustrian", "serbian", +"serbian-latin", "slovak", "slovene", "usorbian", 0}; + +const char * const known_polish_quotes_languages[] = {"afrikaans", "croatian", +"dutch", "estonian", "magyar", "polish", "romanian", 0}; + +const char * const known_swedish_quotes_languages[] = {"bahasa", "finnish", +"swedish", 0}; + char const * const known_fontsizes[] = { "10pt", "11pt", "12pt", 0 }; const char * const known_roman_fonts[] = { "ae", "bookman", "charter", @@ -435,16 +457,35 @@ void end_preamble(ostream & os, TextClass const & /*textclass*/) // set the quote language // LyX only knows the following quotes languages: // english, swedish, german, polish, french and danish - // english is already set as default - // FIXME: for a real solution we need a list what language use - // what quote style - if (h_language == "swedish" || h_language == "german" - || h_language == "polish" || h_language == "french" - || h_language == "danish") - h_quotes_language = h_language; - // there is only the quotes language "german" - if (h_language == "ngerman") + // (quotes for "japanese" and "korean" are missing) + // conversion list taken from + // http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage + // (quotes for kazakh and interlingua are unknown) + // danish + if (h_language == "danish") + h_quotes_language = "danish"; + // french + else if (is_known(h_language, known_french_quotes_languages) + || is_known(h_language, known_french_languages) + || is_known(h_language, known_russian_languages) + || is_known(h_language, known_ukrainian_languages)) + h_quotes_language = "french"; + // german + else if (is_known(h_language, known_german_quotes_languages) + || is_known(h_language, known_german_languages) + || is_known(h_language, known_ngerman_languages)) h_quotes_language = "german"; + // polish + else if (is_known(h_language, known_polish_quotes_languages)) + h_quotes_language = "polish"; + // swedish + else if (is_known(h_language, known_swedish_quotes_languages)) + h_quotes_language = "swedish"; + //english + else if (is_known(h_language, known_english_quotes_languages) + || is_known(h_language, known_brazilian_languages) + || is_known(h_language, known_portuguese_languages)) + h_quotes_language = "english"; // output the LyX file settings os << "#LyX file created by tex2lyx " << PACKAGE_VERSION << "\n"