X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fencoding.h;h=cce42157aa27003685985de4d6c0c1f354cd1f0a;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=51d105ca258bf1b93448f0ace406f31f36d11e70;hpb=0be0fcfd5907d448cd51addf83ed7032719a0692;p=lyx.git diff --git a/src/encoding.h b/src/encoding.h index 51d105ca25..cce42157aa 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -13,13 +13,12 @@ #ifndef ENCODING_H #define ENCODING_H -#include "LString.h" -#include "lyxrc.h" - #include +#include -/// -typedef unsigned short int Uchar; +#include "support/types.h" + +namespace lyx { /// class Encoding { @@ -27,48 +26,38 @@ public: /// Encoding() {} /// - Encoding(string const & n, string const & l, Uchar const * e) - : Name_(n), LatexName_(l) { - for (int i = 0; i < 256; ++i) - encoding_table[i] = e[i]; + Encoding(std::string const & n, std::string const & l, + std::string const & i) + : Name_(n), LatexName_(l), iconvName_(i) + { } /// - string const & Name() const { - return Name_; - } + std::string const & name() const { return Name_; } /// - string const & LatexName() const { - return LatexName_; - } + std::string const & latexName() const { return LatexName_; } /// - Uchar ucs(unsigned char c) const { - return encoding_table[c]; - } + std::string const & iconvName() const { return iconvName_; } private: /// - string Name_; + std::string Name_; /// - string LatexName_; + std::string LatexName_; /// - Uchar encoding_table[256]; + std::string iconvName_; }; -extern Encoding symbol_encoding; - class Encodings { public: /// - typedef std::map EncodingList; + typedef std::map EncodingList; /// Encodings(); /// - void read(string const & filename); - /// - Encoding const * getEncoding(string const & encoding) const; - /// - Encoding const * symbol_encoding() { - return &symbol_encoding_; - } + void read(std::string const & filename); + /// Get encoding from LyX name \p name + Encoding const * getFromLyXName(std::string const & name) const; + /// Get encoding from LaTeX name \p name + Encoding const * getFromLaTeXName(std::string const & name) const; /// enum Letter_Form { @@ -82,28 +71,24 @@ public: FORM_MEDIAL }; /// - static - bool IsComposeChar_hebrew(unsigned char c); + static bool isComposeChar_hebrew(char_type c); /// - static - bool IsComposeChar_arabic(unsigned char c); + static bool isComposeChar_arabic(char_type c); /// - static - bool is_arabic_special(unsigned char c); + static bool is_arabic_special(char_type c); /// - static - bool is_arabic(unsigned char c); + static bool is_arabic(char_type c); /// - static - unsigned char TransformChar(unsigned char c, Letter_Form form); + static char_type transformChar(char_type c, Letter_Form form); private: /// EncodingList encodinglist; - /// - Encoding symbol_encoding_; }; extern Encodings encodings; + +} // namespace lyx + #endif