4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Lars Gullik Bjønnes
8 * \author Jean-Marc Lasgouttes
10 * \author Jürgen Vigna
12 * Full author contact details are available in file CREDITS.
24 namespace support
{ class FileName
; }
33 Language() : rightToLeft_(false) {}
35 std::string
const & lang() const { return lang_
; }
37 std::string
const & babel() const { return babel_
; }
39 std::string
const & display() const { return display_
; }
41 bool rightToLeft() const { return rightToLeft_
; }
43 Encoding
const * encoding() const { return encoding_
; }
45 std::string
const & encodingStr() const { return encodingStr_
; }
47 std::string
const & code() const { return code_
; }
49 std::string
const & latex_options() const { return latex_options_
; }
51 bool internalFontEncoding() const;
53 bool read(Lexer
& lex
);
64 std::string encodingStr_
;
66 Encoding
const * encoding_
;
70 std::string latex_options_
;
77 typedef std::map
<std::string
, Language
> LanguageList
;
79 typedef LanguageList::const_iterator const_iterator
;
81 typedef LanguageList::size_type size_type
;
83 void read(support::FileName
const & filename
);
85 Language
const * getLanguage(std::string
const & language
) const;
87 size_type
size() const { return languagelist
.size(); }
89 const_iterator
begin() const { return languagelist
.begin(); }
91 const_iterator
end() const { return languagelist
.end(); }
96 LanguageList languagelist
;
99 /// Global singleton instance.
100 extern Languages languages
;
101 /// Default language defined in LyXRC
102 extern Language
const * default_language
;
103 /// Used to indicate that the language should be left unchanged when
104 /// applying a font change.
105 extern Language
const * ignore_language
;
106 /// Default language defined in LyXRC
107 extern Language
const * latex_language
;
108 /// Used to indicate that the language should be reset to the Buffer
109 // language when applying a font change.
110 extern Language
const * reset_language
;