#pragma interface
#endif
+#include <map>
+
#include "tex-accent.h"
#include "LString.h"
#include "trans_decl.h"
class TransManager;
+#if 0
/**
TransInterface: the interface that every translation class
should obey too.
///
static bool init_;
};
-
+#endif
/**
Trans: holds a .kmap file
*/
-class Trans : public TransInterface {
+//class Trans : public TransInterface {
+class Trans {
public:
///
Trans();
///
- virtual ~Trans();
+ ~Trans();
///
int Load(string const & language);
bool isAccentDefined(tex_accent, KmodInfo &) const;
private:
+#if 0
///
typedef KmodInfo kmod_list_decl;
///
typedef KmodException keyexc;
+#endif
#if 0
///
void AddDeadkey(tex_accent, string const &, string const &);
///
inline string const & Match(unsigned char c);
///
- void InsertException(keyexc & exclist, char c,
+ void InsertException(KmodException & exclist, char c,
string const & data, bool = false,
tex_accent = TEX_NOACCENT);
///
- void FreeException(keyexc & exclist);
+ void FreeException(KmodException & exclist);
///
string name_;
+#if 0
///
string keymap_[256];
+#else
+ std::map<int, string> keymap_;
+#endif
+#if 0
///
kmod_list_decl * kmod_list_[TEX_MAX_ACCENT+1];
-
+#else
+ ///
+ //KmodInfo * kmod_list_[TEX_MAX_ACCENT+1];
+ std::map<int, KmodInfo> kmod_list_;
+#endif
};
///
string const & Trans::Match(unsigned char c)
{
+#if 0
return keymap_[c];
+#else
+ std::map<int, string>::iterator it = keymap_.find(c);
+ if (it != keymap_.end()) {
+ return it->second;
+ }
+ static string dummy;
+ return dummy;
+#endif
}
#endif