+ ///
+ Encoding() {}
+ ///
+ Encoding(std::string const & n, std::string const & l, Uchar const * e)
+ : Name_(n), LatexName_(l) {
+ for (int i = 0; i < 256; ++i)
+ encoding_table[i] = e[i];
+ }
+ ///
+ std::string const & Name() const {
+ return Name_;
+ }
+ ///
+ std::string const & LatexName() const {
+ return LatexName_;
+ }
+ ///
+ Uchar ucs(unsigned char c) const {
+ return encoding_table[c];
+ }
+private:
+ ///
+ std::string Name_;
+ ///
+ std::string LatexName_;
+ ///
+ Uchar encoding_table[256];
+};
+
+extern Encoding symbol_encoding;
+
+class Encodings {
+public:
+ ///
+ typedef std::map<std::string, Encoding> EncodingList;
+ ///
+ Encodings();
+ ///
+ void read(std::string const & filename);
+ ///
+ Encoding const * getEncoding(std::string const & encoding) const;
+ ///
+ Encoding const * symbol_encoding() {
+ return &symbol_encoding_;
+ }
+