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 * Full author contact details are available in file CREDITS.
19 #include "support/types.h"
29 Encoding(std::string const & n, std::string const & l, char_type const * e)
30 : Name_(n), LatexName_(l)
32 for (int i = 0; i < 256; ++i)
33 encoding_table[i] = e[i];
36 std::string const & name() const { return Name_; }
38 std::string const & latexName() const { return LatexName_; }
40 char_type ucs(char_type c) const;
45 std::string LatexName_;
47 char_type encoding_table[256];
50 extern Encoding symbol_encoding;
55 typedef std::map<std::string, Encoding> EncodingList;
59 void read(std::string const & filename);
61 Encoding const * getEncoding(std::string const & encoding) const;
63 Encoding const * symbol_encoding() { return &symbol_encoding_; }
77 static bool isComposeChar_hebrew(char_type c);
79 static bool isComposeChar_arabic(char_type c);
81 static bool is_arabic_special(char_type c);
83 static bool is_arabic(char_type c);
85 static char_type transformChar(char_type c, Letter_Form form);
89 EncodingList encodinglist;
91 Encoding symbol_encoding_;
94 extern Encodings encodings;