15 #ifndef UNICODELATINMAP_H
16 #define UNICODELATINMAP_H
18 #include "dtoolbase.h"
38 AT_acute_and_dot_above,
41 AT_breve_and_dot_below,
43 AT_breve_and_hook_above,
47 AT_caron_and_dot_above,
52 AT_circumflex_and_acute,
53 AT_circumflex_and_dot_below,
54 AT_circumflex_and_grave,
55 AT_circumflex_and_hook_above,
56 AT_circumflex_and_tilde,
61 AT_diaeresis_and_acute,
62 AT_diaeresis_and_caron,
63 AT_diaeresis_and_grave,
64 AT_diaeresis_and_macron,
67 AT_dot_above_and_macron,
69 AT_dot_below_and_dot_above,
70 AT_dot_below_and_macron,
78 AT_horn_and_dot_below,
80 AT_horn_and_hook_above,
86 AT_macron_and_diaeresis,
91 AT_ring_above_and_acute,
98 AT_tilde_and_diaeresis,
104 enum AdditionalFlags {
105 AF_ligature = 0x0001,
107 AF_reversed = 0x0004,
108 AF_smallcap = 0x0008,
123 char _ascii_additional;
124 wchar_t _tolower_character;
125 wchar_t _toupper_character;
126 AccentType _accent_type;
127 int _additional_flags;
130 static const Entry *look_up(
wchar_t character);
134 static bool _initialized;
136 typedef phash_map<wchar_t, const Entry *, integer_hash<wchar_t> > ByCharacter;
137 static ByCharacter *_by_character;
138 enum { max_direct_chars = 256 };
139 static const Entry *_direct_chars[max_direct_chars];
This class mainly serves as a container for a largish table of the subset of the Unicode character se...