prism 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -1
  3. data/Makefile +5 -5
  4. data/README.md +2 -2
  5. data/config.yml +26 -13
  6. data/docs/build_system.md +6 -6
  7. data/docs/building.md +1 -1
  8. data/docs/configuration.md +1 -0
  9. data/docs/encoding.md +68 -32
  10. data/docs/heredocs.md +1 -1
  11. data/docs/javascript.md +29 -1
  12. data/docs/releasing.md +4 -1
  13. data/docs/ruby_api.md +14 -0
  14. data/ext/prism/api_node.c +74 -45
  15. data/ext/prism/extconf.rb +91 -127
  16. data/ext/prism/extension.c +4 -1
  17. data/ext/prism/extension.h +1 -1
  18. data/include/prism/ast.h +148 -133
  19. data/include/prism/diagnostic.h +27 -1
  20. data/include/prism/enc/pm_encoding.h +42 -1
  21. data/include/prism/parser.h +6 -0
  22. data/include/prism/version.h +2 -2
  23. data/lib/prism/compiler.rb +3 -3
  24. data/lib/prism/debug.rb +4 -0
  25. data/lib/prism/desugar_compiler.rb +1 -0
  26. data/lib/prism/dispatcher.rb +14 -14
  27. data/lib/prism/dot_visitor.rb +4334 -0
  28. data/lib/prism/dsl.rb +11 -11
  29. data/lib/prism/ffi.rb +3 -3
  30. data/lib/prism/mutation_compiler.rb +6 -6
  31. data/lib/prism/node.rb +182 -113
  32. data/lib/prism/node_ext.rb +61 -3
  33. data/lib/prism/parse_result.rb +46 -12
  34. data/lib/prism/serialize.rb +124 -130
  35. data/lib/prism/visitor.rb +3 -3
  36. data/lib/prism.rb +1 -0
  37. data/prism.gemspec +5 -1
  38. data/rbi/prism.rbi +5565 -5540
  39. data/rbi/prism_static.rbi +138 -142
  40. data/sig/prism.rbs +47 -32
  41. data/src/diagnostic.c +61 -3
  42. data/src/enc/pm_big5.c +63 -0
  43. data/src/enc/pm_cp51932.c +57 -0
  44. data/src/enc/pm_euc_jp.c +10 -0
  45. data/src/enc/pm_gbk.c +5 -2
  46. data/src/enc/pm_tables.c +1478 -148
  47. data/src/node.c +33 -21
  48. data/src/prettyprint.c +1027 -925
  49. data/src/prism.c +925 -374
  50. data/src/regexp.c +12 -12
  51. data/src/serialize.c +36 -9
  52. metadata +6 -2
data/src/enc/pm_tables.c CHANGED
@@ -24,11 +24,779 @@ static uint8_t pm_encoding_ascii_table[256] = {
24
24
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
25
25
  };
26
26
 
27
+ /**
28
+ * Each element of the following table contains a bitfield that indicates a
29
+ * piece of information about the corresponding CP850 character.
30
+ */
31
+ static uint8_t pm_encoding_cp850_table[256] = {
32
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
33
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
34
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
35
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
36
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
37
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
38
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
39
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
40
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
41
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
42
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
43
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
44
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
45
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
46
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
47
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
48
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
49
+ };
50
+
51
+ /**
52
+ * Each element of the following table contains a bitfield that indicates a
53
+ * piece of information about the corresponding CP852 character.
54
+ */
55
+ static uint8_t pm_encoding_cp852_table[256] = {
56
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
57
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
58
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
59
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
60
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
61
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
62
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
63
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
64
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
65
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
66
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
67
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
68
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
69
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
70
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
71
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
72
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
73
+ };
74
+
75
+ /**
76
+ * Each element of the following table contains a bitfield that indicates a
77
+ * piece of information about the corresponding CP855 character.
78
+ */
79
+ static uint8_t pm_encoding_cp855_table[256] = {
80
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
81
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
82
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
83
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
84
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
85
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
86
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
87
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
88
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
89
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
90
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
91
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
92
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
93
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
94
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
95
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
96
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
97
+ };
98
+
99
+ /**
100
+ * Each element of the following table contains a bitfield that indicates a
101
+ * piece of information about the corresponding GB1988 character.
102
+ */
103
+ static uint8_t pm_encoding_gb1988_table[256] = {
104
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
105
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
106
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
107
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
108
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
109
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
110
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
111
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
112
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
113
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
114
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
115
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
116
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
117
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
118
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
119
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
120
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
121
+ };
122
+
123
+ /**
124
+ * Each element of the following table contains a bitfield that indicates a
125
+ * piece of information about the corresponding IBM437 character.
126
+ */
127
+ static uint8_t pm_encoding_ibm437_table[256] = {
128
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
129
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
130
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
131
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
132
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
133
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
134
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
135
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
136
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
137
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
138
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
139
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
140
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
141
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
142
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
143
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
144
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
145
+ };
146
+
147
+ /**
148
+ * Each element of the following table contains a bitfield that indicates a
149
+ * piece of information about the corresponding IBM720 character.
150
+ */
151
+ static uint8_t pm_encoding_ibm720_table[256] = {
152
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
153
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
154
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
155
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
156
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
157
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
158
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
159
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
160
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
161
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
162
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
163
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
164
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
165
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
166
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
167
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
168
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
169
+ };
170
+
171
+ /**
172
+ * Each element of the following table contains a bitfield that indicates a
173
+ * piece of information about the corresponding IBM737 character.
174
+ */
175
+ static uint8_t pm_encoding_ibm737_table[256] = {
176
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
177
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
178
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
179
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
180
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
181
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
182
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
183
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
184
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
185
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
186
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
187
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
188
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
189
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
190
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
191
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
192
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
193
+ };
194
+
195
+ /**
196
+ * Each element of the following table contains a bitfield that indicates a
197
+ * piece of information about the corresponding IBM775 character.
198
+ */
199
+ static uint8_t pm_encoding_ibm775_table[256] = {
200
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
201
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
202
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
203
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
204
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
205
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
206
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
207
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
208
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
209
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
210
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
211
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
212
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
213
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
214
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
215
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
216
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
217
+ };
218
+
219
+ /**
220
+ * Each element of the following table contains a bitfield that indicates a
221
+ * piece of information about the corresponding IBM852 character.
222
+ */
223
+ static uint8_t pm_encoding_ibm852_table[256] = {
224
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
225
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
226
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
227
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
228
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
229
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
230
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
231
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
232
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
233
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
234
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
235
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
236
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
237
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
238
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
239
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
240
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
241
+ };
242
+
243
+ /**
244
+ * Each element of the following table contains a bitfield that indicates a
245
+ * piece of information about the corresponding IBM855 character.
246
+ */
247
+ static uint8_t pm_encoding_ibm855_table[256] = {
248
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
249
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
250
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
251
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
252
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
253
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
254
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
255
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
256
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
257
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
258
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
259
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
260
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
261
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
262
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
263
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
264
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
265
+ };
266
+
267
+ /**
268
+ * Each element of the following table contains a bitfield that indicates a
269
+ * piece of information about the corresponding IBM857 character.
270
+ */
271
+ static uint8_t pm_encoding_ibm857_table[256] = {
272
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
273
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
274
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
275
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
276
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
277
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
278
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
279
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
280
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
281
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
282
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
283
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
284
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
285
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
286
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
287
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
288
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
289
+ };
290
+
291
+ /**
292
+ * Each element of the following table contains a bitfield that indicates a
293
+ * piece of information about the corresponding IBM860 character.
294
+ */
295
+ static uint8_t pm_encoding_ibm860_table[256] = {
296
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
297
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
298
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
299
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
300
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
301
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
302
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
303
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
304
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
305
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
306
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
307
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
308
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
309
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
310
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
311
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
312
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
313
+ };
314
+
315
+ /**
316
+ * Each element of the following table contains a bitfield that indicates a
317
+ * piece of information about the corresponding IBM861 character.
318
+ */
319
+ static uint8_t pm_encoding_ibm861_table[256] = {
320
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
321
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
322
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
323
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
324
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
325
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
326
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
327
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
328
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
329
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
330
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
331
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
332
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
333
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
334
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
335
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
336
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
337
+ };
338
+
339
+ /**
340
+ * Each element of the following table contains a bitfield that indicates a
341
+ * piece of information about the corresponding IBM862 character.
342
+ */
343
+ static uint8_t pm_encoding_ibm862_table[256] = {
344
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
345
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
346
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
347
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
348
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
349
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
350
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
351
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
352
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
353
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
354
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
355
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
356
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
357
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
358
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
359
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
360
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
361
+ };
362
+
363
+ /**
364
+ * Each element of the following table contains a bitfield that indicates a
365
+ * piece of information about the corresponding IBM863 character.
366
+ */
367
+ static uint8_t pm_encoding_ibm863_table[256] = {
368
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
369
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
370
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
371
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
372
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
373
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
374
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
375
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
376
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
377
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
378
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
379
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
380
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
381
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
382
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
383
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
384
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
385
+ };
386
+
387
+ /**
388
+ * Each element of the following table contains a bitfield that indicates a
389
+ * piece of information about the corresponding IBM864 character.
390
+ */
391
+ static uint8_t pm_encoding_ibm864_table[256] = {
392
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
393
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
394
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
395
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
396
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
397
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
398
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
399
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
400
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
401
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
402
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
403
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
404
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
405
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
406
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
407
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
408
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
409
+ };
410
+
411
+ /**
412
+ * Each element of the following table contains a bitfield that indicates a
413
+ * piece of information about the corresponding IBM865 character.
414
+ */
415
+ static uint8_t pm_encoding_ibm865_table[256] = {
416
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
417
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
418
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
419
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
420
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
421
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
422
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
423
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
424
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
425
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
426
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
427
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
428
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
429
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
430
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
431
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
432
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
433
+ };
434
+
435
+ /**
436
+ * Each element of the following table contains a bitfield that indicates a
437
+ * piece of information about the corresponding IBM866 character.
438
+ */
439
+ static uint8_t pm_encoding_ibm866_table[256] = {
440
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
441
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
442
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
443
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
444
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
445
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
446
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
447
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
448
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
449
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
450
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
451
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
452
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
453
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
454
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
455
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
456
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
457
+ };
458
+
459
+ /**
460
+ * Each element of the following table contains a bitfield that indicates a
461
+ * piece of information about the corresponding IBM869 character.
462
+ */
463
+ static uint8_t pm_encoding_ibm869_table[256] = {
464
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
465
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
466
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
467
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
468
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
469
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
470
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
471
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
472
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
473
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
474
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
475
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
476
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
477
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
478
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
479
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
480
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
481
+ };
482
+
27
483
  /**
28
484
  * Each element of the following table contains a bitfield that indicates a
29
485
  * piece of information about the corresponding ISO-8859-1 character.
30
486
  */
31
- static uint8_t pm_encoding_iso_8859_1_table[256] = {
487
+ static uint8_t pm_encoding_iso_8859_1_table[256] = {
488
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
489
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
490
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
491
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
492
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
493
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
494
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
495
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
496
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
497
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
498
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
499
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Ax
500
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Bx
501
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
502
+ 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
503
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
504
+ 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
505
+ };
506
+
507
+ /**
508
+ * Each element of the following table contains a bitfield that indicates a
509
+ * piece of information about the corresponding ISO-8859-2 character.
510
+ */
511
+ static uint8_t pm_encoding_iso_8859_2_table[256] = {
512
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
513
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
514
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
515
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
516
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
517
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
518
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
519
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
520
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
521
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
522
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
523
+ 0, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 0, 7, 7, // Ax
524
+ 0, 3, 0, 3, 0, 3, 3, 0, 0, 3, 3, 3, 3, 0, 3, 3, // Bx
525
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
526
+ 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
527
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
528
+ 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
529
+ };
530
+
531
+ /**
532
+ * Each element of the following table contains a bitfield that indicates a
533
+ * piece of information about the corresponding ISO-8859-3 character.
534
+ */
535
+ static uint8_t pm_encoding_iso_8859_3_table[256] = {
536
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
537
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
538
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
539
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
540
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
541
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
542
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
543
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
544
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
545
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
546
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
547
+ 0, 7, 0, 0, 0, 0, 7, 0, 0, 7, 7, 7, 7, 0, 0, 7, // Ax
548
+ 0, 3, 0, 0, 0, 3, 3, 0, 0, 3, 3, 3, 3, 0, 0, 3, // Bx
549
+ 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
550
+ 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
551
+ 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
552
+ 0, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
553
+ };
554
+
555
+ /**
556
+ * Each element of the following table contains a bitfield that indicates a
557
+ * piece of information about the corresponding ISO-8859-4 character.
558
+ */
559
+ static uint8_t pm_encoding_iso_8859_4_table[256] = {
560
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
561
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
562
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
563
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
564
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
565
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
566
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
567
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
568
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
569
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
570
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
571
+ 0, 7, 3, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 0, 7, 0, // Ax
572
+ 0, 3, 0, 3, 0, 3, 3, 0, 0, 3, 3, 3, 3, 7, 3, 3, // Bx
573
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
574
+ 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
575
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
576
+ 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
577
+ };
578
+
579
+ /**
580
+ * Each element of the following table contains a bitfield that indicates a
581
+ * piece of information about the corresponding ISO-8859-5 character.
582
+ */
583
+ static uint8_t pm_encoding_iso_8859_5_table[256] = {
584
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
585
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
586
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
587
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
588
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
589
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
590
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
591
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
592
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
593
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
594
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
595
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, // Ax
596
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Bx
597
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
598
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Dx
599
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
600
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, // Fx
601
+ };
602
+
603
+ /**
604
+ * Each element of the following table contains a bitfield that indicates a
605
+ * piece of information about the corresponding ISO-8859-6 character.
606
+ */
607
+ static uint8_t pm_encoding_iso_8859_6_table[256] = {
608
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
609
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
610
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
611
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
612
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
613
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
614
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
615
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
616
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
617
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
618
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
619
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
620
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
621
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Cx
622
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // Dx
623
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
624
+ 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
625
+ };
626
+
627
+ /**
628
+ * Each element of the following table contains a bitfield that indicates a
629
+ * piece of information about the corresponding ISO-8859-7 character.
630
+ */
631
+ static uint8_t pm_encoding_iso_8859_7_table[256] = {
632
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
633
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
634
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
635
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
636
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
637
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
638
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
639
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
640
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
641
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
642
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
643
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
644
+ 0, 0, 0, 0, 0, 0, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, // Bx
645
+ 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
646
+ 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, // Dx
647
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
648
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
649
+ };
650
+
651
+ /**
652
+ * Each element of the following table contains a bitfield that indicates a
653
+ * piece of information about the corresponding ISO-8859-8 character.
654
+ */
655
+ static uint8_t pm_encoding_iso_8859_8_table[256] = {
656
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
657
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
658
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
659
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
660
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
661
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
662
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
663
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
664
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
665
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
666
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
667
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
668
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
669
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
670
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
671
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
672
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // Fx
673
+ };
674
+
675
+ /**
676
+ * Each element of the following table contains a bitfield that indicates a
677
+ * piece of information about the corresponding ISO-8859-9 character.
678
+ */
679
+ static uint8_t pm_encoding_iso_8859_9_table[256] = {
680
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
681
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
682
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
683
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
684
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
685
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
686
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
687
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
688
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
689
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
690
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
691
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Ax
692
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Bx
693
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
694
+ 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
695
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
696
+ 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
697
+ };
698
+
699
+ /**
700
+ * Each element of the following table contains a bitfield that indicates a
701
+ * piece of information about the corresponding ISO-8859-10 character.
702
+ */
703
+ static uint8_t pm_encoding_iso_8859_10_table[256] = {
704
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
705
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
706
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
707
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
708
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
709
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
710
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
711
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
712
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
713
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
714
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
715
+ 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 0, 7, 7, // Ax
716
+ 0, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 3, // Bx
717
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
718
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
719
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
720
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
721
+ };
722
+
723
+ /**
724
+ * Each element of the following table contains a bitfield that indicates a
725
+ * piece of information about the corresponding ISO-8859-11 character.
726
+ */
727
+ static uint8_t pm_encoding_iso_8859_11_table[256] = {
728
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
729
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
730
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
731
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
732
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
733
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
734
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
735
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
736
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
737
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
738
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
739
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ax
740
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Bx
741
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Cx
742
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, // Dx
743
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
744
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, // Fx
745
+ };
746
+
747
+ /**
748
+ * Each element of the following table contains a bitfield that indicates a
749
+ * piece of information about the corresponding ISO-8859-13 character.
750
+ */
751
+ static uint8_t pm_encoding_iso_8859_13_table[256] = {
752
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
753
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
754
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
755
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
756
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
757
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
758
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
759
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
760
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
761
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
762
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
763
+ 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7, // Ax
764
+ 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 3, 0, 0, 0, 0, 3, // Bx
765
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
766
+ 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
767
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
768
+ 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
769
+ };
770
+
771
+ /**
772
+ * Each element of the following table contains a bitfield that indicates a
773
+ * piece of information about the corresponding ISO-8859-14 character.
774
+ */
775
+ static uint8_t pm_encoding_iso_8859_14_table[256] = {
776
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
777
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
778
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
779
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
780
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
781
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
782
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
783
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
784
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
785
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
786
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
787
+ 0, 7, 3, 0, 7, 3, 7, 0, 7, 0, 7, 3, 7, 0, 0, 7, // Ax
788
+ 7, 3, 7, 3, 7, 3, 0, 7, 3, 3, 3, 7, 3, 7, 3, 3, // Bx
789
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
790
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
791
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
792
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
793
+ };
794
+
795
+ /**
796
+ * Each element of the following table contains a bitfield that indicates a
797
+ * piece of information about the corresponding ISO-8859-15 character.
798
+ */
799
+ static uint8_t pm_encoding_iso_8859_15_table[256] = {
32
800
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
33
801
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
34
802
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -40,8 +808,8 @@ static uint8_t pm_encoding_iso_8859_1_table[256] = {
40
808
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
41
809
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
42
810
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
43
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Ax
44
- 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Bx
811
+ 0, 0, 0, 0, 0, 0, 7, 0, 3, 0, 3, 0, 0, 0, 0, 0, // Ax
812
+ 0, 0, 0, 0, 7, 3, 0, 0, 3, 0, 3, 0, 7, 3, 7, 0, // Bx
45
813
  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
46
814
  7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
47
815
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
@@ -50,9 +818,9 @@ static uint8_t pm_encoding_iso_8859_1_table[256] = {
50
818
 
51
819
  /**
52
820
  * Each element of the following table contains a bitfield that indicates a
53
- * piece of information about the corresponding ISO-8859-2 character.
821
+ * piece of information about the corresponding ISO-8859-16 character.
54
822
  */
55
- static uint8_t pm_encoding_iso_8859_2_table[256] = {
823
+ static uint8_t pm_encoding_iso_8859_16_table[256] = {
56
824
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
57
825
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
58
826
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -64,19 +832,19 @@ static uint8_t pm_encoding_iso_8859_2_table[256] = {
64
832
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
65
833
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
66
834
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
67
- 0, 7, 0, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 0, 7, 7, // Ax
68
- 0, 3, 0, 3, 0, 3, 3, 0, 0, 3, 3, 3, 3, 0, 3, 3, // Bx
835
+ 0, 7, 3, 7, 0, 0, 7, 0, 3, 0, 7, 0, 7, 0, 3, 7, // Ax
836
+ 0, 0, 7, 3, 7, 0, 0, 0, 3, 3, 3, 0, 7, 3, 7, 3, // Bx
69
837
  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
70
- 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
838
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
71
839
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
72
- 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
840
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
73
841
  };
74
842
 
75
843
  /**
76
844
  * Each element of the following table contains a bitfield that indicates a
77
- * piece of information about the corresponding ISO-8859-3 character.
845
+ * piece of information about the corresponding KOI8-R character.
78
846
  */
79
- static uint8_t pm_encoding_iso_8859_3_table[256] = {
847
+ static uint8_t pm_encoding_koi8_r_table[256] = {
80
848
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
81
849
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
82
850
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -88,19 +856,19 @@ static uint8_t pm_encoding_iso_8859_3_table[256] = {
88
856
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
89
857
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
90
858
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
91
- 0, 7, 0, 0, 0, 0, 7, 0, 0, 7, 7, 7, 7, 0, 0, 7, // Ax
92
- 0, 3, 0, 0, 0, 3, 3, 0, 0, 3, 3, 3, 3, 0, 0, 3, // Bx
93
- 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
94
- 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
95
- 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
96
- 0, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
859
+ 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
860
+ 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
861
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Cx
862
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Dx
863
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Ex
864
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Fx
97
865
  };
98
866
 
99
867
  /**
100
868
  * Each element of the following table contains a bitfield that indicates a
101
- * piece of information about the corresponding ISO-8859-4 character.
869
+ * piece of information about the corresponding macCentEuro character.
102
870
  */
103
- static uint8_t pm_encoding_iso_8859_4_table[256] = {
871
+ static uint8_t pm_encoding_mac_cent_euro_table[256] = {
104
872
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
105
873
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
106
874
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -112,19 +880,19 @@ static uint8_t pm_encoding_iso_8859_4_table[256] = {
112
880
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
113
881
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
114
882
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
115
- 0, 7, 3, 7, 0, 7, 7, 0, 0, 7, 7, 7, 7, 0, 7, 0, // Ax
116
- 0, 3, 0, 3, 0, 3, 3, 0, 0, 3, 3, 3, 3, 7, 3, 3, // Bx
117
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
118
- 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
119
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
120
- 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
883
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
884
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
885
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
886
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
887
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
888
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
121
889
  };
122
890
 
123
891
  /**
124
892
  * Each element of the following table contains a bitfield that indicates a
125
- * piece of information about the corresponding ISO-8859-5 character.
893
+ * piece of information about the corresponding macCroatian character.
126
894
  */
127
- static uint8_t pm_encoding_iso_8859_5_table[256] = {
895
+ static uint8_t pm_encoding_mac_croatian_table[256] = {
128
896
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
129
897
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
130
898
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -136,19 +904,43 @@ static uint8_t pm_encoding_iso_8859_5_table[256] = {
136
904
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
137
905
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
138
906
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
139
- 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, // Ax
140
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Bx
141
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
142
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Dx
143
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
144
- 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, // Fx
907
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
908
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
909
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
910
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
911
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
912
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
913
+ };
914
+
915
+ /**
916
+ * Each element of the following table contains a bitfield that indicates a
917
+ * piece of information about the corresponding macCyrillic character.
918
+ */
919
+ static uint8_t pm_encoding_mac_cyrillic_table[256] = {
920
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
921
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
922
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
923
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
924
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
925
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
926
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
927
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
928
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
929
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
930
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
931
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
932
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
933
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
934
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
935
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
936
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
145
937
  };
146
938
 
147
939
  /**
148
940
  * Each element of the following table contains a bitfield that indicates a
149
- * piece of information about the corresponding ISO-8859-6 character.
941
+ * piece of information about the corresponding macGreek character.
150
942
  */
151
- static uint8_t pm_encoding_iso_8859_6_table[256] = {
943
+ static uint8_t pm_encoding_mac_greek_table[256] = {
152
944
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
153
945
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
154
946
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -162,17 +954,17 @@ static uint8_t pm_encoding_iso_8859_6_table[256] = {
162
954
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
163
955
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
164
956
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
165
- 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Cx
166
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // Dx
167
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
168
- 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
957
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
958
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
959
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
960
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
169
961
  };
170
962
 
171
963
  /**
172
964
  * Each element of the following table contains a bitfield that indicates a
173
- * piece of information about the corresponding ISO-8859-7 character.
965
+ * piece of information about the corresponding macIceland character.
174
966
  */
175
- static uint8_t pm_encoding_iso_8859_7_table[256] = {
967
+ static uint8_t pm_encoding_mac_iceland_table[256] = {
176
968
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
177
969
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
178
970
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -185,18 +977,18 @@ static uint8_t pm_encoding_iso_8859_7_table[256] = {
185
977
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
186
978
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
187
979
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
188
- 0, 0, 0, 0, 0, 0, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, // Bx
189
- 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
190
- 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, // Dx
191
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
192
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
980
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
981
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
982
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
983
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
984
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
193
985
  };
194
986
 
195
987
  /**
196
988
  * Each element of the following table contains a bitfield that indicates a
197
- * piece of information about the corresponding ISO-8859-8 character.
989
+ * piece of information about the corresponding macRoman character.
198
990
  */
199
- static uint8_t pm_encoding_iso_8859_8_table[256] = {
991
+ static uint8_t pm_encoding_mac_roman_table[256] = {
200
992
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
201
993
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
202
994
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -209,18 +1001,18 @@ static uint8_t pm_encoding_iso_8859_8_table[256] = {
209
1001
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
210
1002
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
211
1003
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
212
- 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
1004
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
213
1005
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
214
1006
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
215
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
216
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // Fx
1007
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
1008
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
217
1009
  };
218
1010
 
219
1011
  /**
220
1012
  * Each element of the following table contains a bitfield that indicates a
221
- * piece of information about the corresponding ISO-8859-9 character.
1013
+ * piece of information about the corresponding macRomania character.
222
1014
  */
223
- static uint8_t pm_encoding_iso_8859_9_table[256] = {
1015
+ static uint8_t pm_encoding_mac_romania_table[256] = {
224
1016
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
225
1017
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
226
1018
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -232,19 +1024,19 @@ static uint8_t pm_encoding_iso_8859_9_table[256] = {
232
1024
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
233
1025
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
234
1026
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
235
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Ax
236
- 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Bx
237
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
238
- 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
239
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
240
- 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
1027
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
1028
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
1029
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
1030
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
1031
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
1032
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
241
1033
  };
242
1034
 
243
1035
  /**
244
1036
  * Each element of the following table contains a bitfield that indicates a
245
- * piece of information about the corresponding ISO-8859-10 character.
1037
+ * piece of information about the corresponding macThai character.
246
1038
  */
247
- static uint8_t pm_encoding_iso_8859_10_table[256] = {
1039
+ static uint8_t pm_encoding_mac_thai_table[256] = {
248
1040
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
249
1041
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
250
1042
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -256,19 +1048,19 @@ static uint8_t pm_encoding_iso_8859_10_table[256] = {
256
1048
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
257
1049
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
258
1050
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
259
- 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 0, 7, 7, // Ax
260
- 0, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 0, 3, 3, // Bx
261
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
262
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
263
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
264
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
1051
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
1052
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
1053
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
1054
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
1055
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
1056
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
265
1057
  };
266
1058
 
267
1059
  /**
268
1060
  * Each element of the following table contains a bitfield that indicates a
269
- * piece of information about the corresponding ISO-8859-11 character.
1061
+ * piece of information about the corresponding TIS-620 character.
270
1062
  */
271
- static uint8_t pm_encoding_iso_8859_11_table[256] = {
1063
+ static uint8_t pm_encoding_tis_620_table[256] = {
272
1064
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
273
1065
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
274
1066
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -285,14 +1077,134 @@ static uint8_t pm_encoding_iso_8859_11_table[256] = {
285
1077
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Cx
286
1078
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, // Dx
287
1079
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
288
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, // Fx
1080
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, // Fx
1081
+ };
1082
+
1083
+ /**
1084
+ * Each element of the following table contains a bitfield that indicates a
1085
+ * piece of information about the corresponding macTurkish character.
1086
+ */
1087
+ static uint8_t pm_encoding_mac_turkish_table[256] = {
1088
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
1089
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
1090
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
1091
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
1092
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
1093
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
1094
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
1095
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
1096
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
1097
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
1098
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
1099
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
1100
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
1101
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
1102
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
1103
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
1104
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
1105
+ };
1106
+
1107
+ /**
1108
+ * Each element of the following table contains a bitfield that indicates a
1109
+ * piece of information about the corresponding macUkraine character.
1110
+ */
1111
+ static uint8_t pm_encoding_mac_ukraine_table[256] = {
1112
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
1113
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
1114
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
1115
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
1116
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
1117
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
1118
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
1119
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
1120
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
1121
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
1122
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
1123
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
1124
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
1125
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
1126
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
1127
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
1128
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
1129
+ };
1130
+
1131
+ /**
1132
+ * Each element of the following table contains a bitfield that indicates a
1133
+ * piece of information about the corresponding windows-1250 character.
1134
+ */
1135
+ static uint8_t pm_encoding_windows_1250_table[256] = {
1136
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
1137
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
1138
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
1139
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
1140
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
1141
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
1142
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
1143
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
1144
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
1145
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 7, 7, 7, // 8x
1146
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 3, 3, 3, // 9x
1147
+ 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, // Ax
1148
+ 0, 0, 0, 3, 0, 3, 0, 0, 0, 3, 3, 0, 7, 0, 3, 3, // Bx
1149
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
1150
+ 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
1151
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
1152
+ 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
1153
+ };
1154
+
1155
+ /**
1156
+ * Each element of the following table contains a bitfield that indicates a
1157
+ * piece of information about the corresponding windows-1251 character.
1158
+ */
1159
+ static uint8_t pm_encoding_windows_1251_table[256] = {
1160
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
1161
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
1162
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
1163
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
1164
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
1165
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
1166
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
1167
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
1168
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
1169
+ 7, 7, 0, 3, 0, 0, 0, 0, 0, 0, 7, 0, 7, 7, 7, 7, // 8x
1170
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 3, 3, 3, // 9x
1171
+ 0, 7, 3, 7, 0, 7, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7, // Ax
1172
+ 0, 0, 7, 3, 3, 3, 0, 0, 3, 0, 3, 0, 3, 7, 3, 3, // Bx
1173
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
1174
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Dx
1175
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
1176
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
1177
+ };
1178
+
1179
+ /**
1180
+ * Each element of the following table contains a bitfield that indicates a
1181
+ * piece of information about the corresponding windows-1252 character.
1182
+ */
1183
+ static uint8_t pm_encoding_windows_1252_table[256] = {
1184
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
1185
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
1186
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
1187
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x
1188
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x
1189
+ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x
1190
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
1191
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
1192
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
1193
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 7, 0, // 8x
1194
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 3, 7, // 9x
1195
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Ax
1196
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Bx
1197
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
1198
+ 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
1199
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
1200
+ 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
289
1201
  };
290
1202
 
291
1203
  /**
292
1204
  * Each element of the following table contains a bitfield that indicates a
293
- * piece of information about the corresponding ISO-8859-13 character.
1205
+ * piece of information about the corresponding windows-1253 character.
294
1206
  */
295
- static uint8_t pm_encoding_iso_8859_13_table[256] = {
1207
+ static uint8_t pm_encoding_windows_1253_table[256] = {
296
1208
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
297
1209
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
298
1210
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -304,19 +1216,19 @@ static uint8_t pm_encoding_iso_8859_13_table[256] = {
304
1216
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
305
1217
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
306
1218
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
307
- 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7, // Ax
308
- 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 3, 0, 0, 0, 0, 3, // Bx
309
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
310
- 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
1219
+ 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
1220
+ 0, 0, 0, 0, 0, 3, 7, 0, 7, 7, 7, 0, 7, 0, 7, 7, // Bx
1221
+ 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
1222
+ 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, // Dx
311
1223
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
312
- 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
1224
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
313
1225
  };
314
1226
 
315
1227
  /**
316
1228
  * Each element of the following table contains a bitfield that indicates a
317
- * piece of information about the corresponding ISO-8859-14 character.
1229
+ * piece of information about the corresponding windows-1254 character.
318
1230
  */
319
- static uint8_t pm_encoding_iso_8859_14_table[256] = {
1231
+ static uint8_t pm_encoding_windows_1254_table[256] = {
320
1232
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
321
1233
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
322
1234
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -326,21 +1238,21 @@ static uint8_t pm_encoding_iso_8859_14_table[256] = {
326
1238
  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
327
1239
  0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
328
1240
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
329
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
330
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
331
- 0, 7, 3, 0, 7, 3, 7, 0, 7, 0, 7, 3, 7, 0, 0, 7, // Ax
332
- 7, 3, 7, 3, 7, 3, 0, 7, 3, 3, 3, 7, 3, 7, 3, 3, // Bx
1241
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, // 8x
1242
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 0, 7, // 9x
1243
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Ax
1244
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Bx
333
1245
  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
334
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
1246
+ 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
335
1247
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
336
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
1248
+ 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
337
1249
  };
338
1250
 
339
1251
  /**
340
1252
  * Each element of the following table contains a bitfield that indicates a
341
- * piece of information about the corresponding ISO-8859-15 character.
1253
+ * piece of information about the corresponding windows-1255 character.
342
1254
  */
343
- static uint8_t pm_encoding_iso_8859_15_table[256] = {
1255
+ static uint8_t pm_encoding_windows_1255_table[256] = {
344
1256
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
345
1257
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
346
1258
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -352,19 +1264,19 @@ static uint8_t pm_encoding_iso_8859_15_table[256] = {
352
1264
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
353
1265
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
354
1266
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
355
- 0, 0, 0, 0, 0, 0, 7, 0, 3, 0, 3, 0, 0, 0, 0, 0, // Ax
356
- 0, 0, 0, 0, 7, 3, 0, 0, 3, 0, 3, 0, 7, 3, 7, 0, // Bx
357
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
358
- 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
1267
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
1268
+ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
1269
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
1270
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
359
1271
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
360
- 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
1272
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // Fx
361
1273
  };
362
1274
 
363
1275
  /**
364
1276
  * Each element of the following table contains a bitfield that indicates a
365
- * piece of information about the corresponding ISO-8859-16 character.
1277
+ * piece of information about the corresponding windows-1256 character.
366
1278
  */
367
- static uint8_t pm_encoding_iso_8859_16_table[256] = {
1279
+ static uint8_t pm_encoding_windows_1256_table[256] = {
368
1280
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
369
1281
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
370
1282
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -376,19 +1288,19 @@ static uint8_t pm_encoding_iso_8859_16_table[256] = {
376
1288
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
377
1289
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
378
1290
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
379
- 0, 7, 3, 7, 0, 0, 7, 0, 3, 0, 7, 0, 7, 0, 3, 7, // Ax
380
- 0, 0, 7, 3, 7, 0, 0, 0, 3, 3, 3, 0, 7, 3, 7, 3, // Bx
381
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
382
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
1291
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
1292
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
1293
+ 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Cx
1294
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // Dx
383
1295
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
384
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
1296
+ 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
385
1297
  };
386
1298
 
387
1299
  /**
388
1300
  * Each element of the following table contains a bitfield that indicates a
389
- * piece of information about the corresponding KOI8-R character.
1301
+ * piece of information about the corresponding windows-1257 character.
390
1302
  */
391
- static uint8_t pm_encoding_koi8_r_table[256] = {
1303
+ static uint8_t pm_encoding_windows_1257_table[256] = {
392
1304
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
393
1305
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
394
1306
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -400,19 +1312,19 @@ static uint8_t pm_encoding_koi8_r_table[256] = {
400
1312
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
401
1313
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
402
1314
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
403
- 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
404
- 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
405
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Cx
406
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Dx
407
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Ex
408
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Fx
1315
+ 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7, // Ax
1316
+ 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 3, 0, 0, 0, 0, 3, // Bx
1317
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
1318
+ 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
1319
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
1320
+ 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, // Fx
409
1321
  };
410
1322
 
411
1323
  /**
412
1324
  * Each element of the following table contains a bitfield that indicates a
413
- * piece of information about the corresponding windows-1251 character.
1325
+ * piece of information about the corresponding windows-1258 character.
414
1326
  */
415
- static uint8_t pm_encoding_windows_1251_table[256] = {
1327
+ static uint8_t pm_encoding_windows_1258_table[256] = {
416
1328
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
417
1329
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
418
1330
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -422,21 +1334,21 @@ static uint8_t pm_encoding_windows_1251_table[256] = {
422
1334
  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
423
1335
  0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
424
1336
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
425
- 7, 7, 0, 3, 0, 0, 0, 0, 0, 0, 7, 0, 7, 7, 7, 7, // 8x
426
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 3, 3, 3, // 9x
427
- 0, 7, 3, 7, 0, 7, 0, 0, 7, 0, 7, 0, 0, 0, 0, 7, // Ax
428
- 0, 0, 7, 3, 3, 3, 0, 0, 3, 0, 3, 0, 3, 7, 3, 3, // Bx
429
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
430
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Dx
431
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
432
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
1337
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
1338
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
1339
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
1340
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
1341
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
1342
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
1343
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
1344
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
433
1345
  };
434
1346
 
435
1347
  /**
436
1348
  * Each element of the following table contains a bitfield that indicates a
437
- * piece of information about the corresponding windows-1252 character.
1349
+ * piece of information about the corresponding windows-874 character.
438
1350
  */
439
- static uint8_t pm_encoding_windows_1252_table[256] = {
1351
+ static uint8_t pm_encoding_windows_874_table[256] = {
440
1352
  // 0 1 2 3 4 5 6 7 8 9 A B C D E F
441
1353
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x
442
1354
  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x
@@ -446,14 +1358,14 @@ static uint8_t pm_encoding_windows_1252_table[256] = {
446
1358
  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x
447
1359
  0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x
448
1360
  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x
449
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 7, 0, // 8x
450
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 3, 7, // 9x
451
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Ax
452
- 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // Bx
453
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Cx
454
- 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 3, // Dx
455
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex
456
- 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, // Fx
1361
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x
1362
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x
1363
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ax
1364
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Bx
1365
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Cx
1366
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Dx
1367
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Ex
1368
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx
457
1369
  };
458
1370
 
459
1371
  /**
@@ -521,6 +1433,25 @@ pm_encoding_koi8_r_char_width(const uint8_t *b, PRISM_ATTRIBUTE_UNUSED ptrdiff_t
521
1433
  return (pm_encoding_ ##name ## _table[*b] & PRISM_ENCODING_UPPERCASE_BIT); \
522
1434
  }
523
1435
 
1436
+ PRISM_ENCODING_TABLE(cp850)
1437
+ PRISM_ENCODING_TABLE(cp852)
1438
+ PRISM_ENCODING_TABLE(cp855)
1439
+ PRISM_ENCODING_TABLE(gb1988)
1440
+ PRISM_ENCODING_TABLE(ibm437)
1441
+ PRISM_ENCODING_TABLE(ibm720)
1442
+ PRISM_ENCODING_TABLE(ibm737)
1443
+ PRISM_ENCODING_TABLE(ibm775)
1444
+ PRISM_ENCODING_TABLE(ibm852)
1445
+ PRISM_ENCODING_TABLE(ibm855)
1446
+ PRISM_ENCODING_TABLE(ibm857)
1447
+ PRISM_ENCODING_TABLE(ibm860)
1448
+ PRISM_ENCODING_TABLE(ibm861)
1449
+ PRISM_ENCODING_TABLE(ibm862)
1450
+ PRISM_ENCODING_TABLE(ibm863)
1451
+ PRISM_ENCODING_TABLE(ibm864)
1452
+ PRISM_ENCODING_TABLE(ibm865)
1453
+ PRISM_ENCODING_TABLE(ibm866)
1454
+ PRISM_ENCODING_TABLE(ibm869)
524
1455
  PRISM_ENCODING_TABLE(iso_8859_1)
525
1456
  PRISM_ENCODING_TABLE(iso_8859_2)
526
1457
  PRISM_ENCODING_TABLE(iso_8859_3)
@@ -537,14 +1468,33 @@ PRISM_ENCODING_TABLE(iso_8859_14)
537
1468
  PRISM_ENCODING_TABLE(iso_8859_15)
538
1469
  PRISM_ENCODING_TABLE(iso_8859_16)
539
1470
  PRISM_ENCODING_TABLE(koi8_r)
1471
+ PRISM_ENCODING_TABLE(mac_cent_euro)
1472
+ PRISM_ENCODING_TABLE(mac_croatian)
1473
+ PRISM_ENCODING_TABLE(mac_cyrillic)
1474
+ PRISM_ENCODING_TABLE(mac_greek)
1475
+ PRISM_ENCODING_TABLE(mac_iceland)
1476
+ PRISM_ENCODING_TABLE(mac_roman)
1477
+ PRISM_ENCODING_TABLE(mac_romania)
1478
+ PRISM_ENCODING_TABLE(mac_thai)
1479
+ PRISM_ENCODING_TABLE(mac_turkish)
1480
+ PRISM_ENCODING_TABLE(mac_ukraine)
1481
+ PRISM_ENCODING_TABLE(tis_620)
1482
+ PRISM_ENCODING_TABLE(windows_1250)
540
1483
  PRISM_ENCODING_TABLE(windows_1251)
541
1484
  PRISM_ENCODING_TABLE(windows_1252)
1485
+ PRISM_ENCODING_TABLE(windows_1253)
1486
+ PRISM_ENCODING_TABLE(windows_1254)
1487
+ PRISM_ENCODING_TABLE(windows_1255)
1488
+ PRISM_ENCODING_TABLE(windows_1256)
1489
+ PRISM_ENCODING_TABLE(windows_1257)
1490
+ PRISM_ENCODING_TABLE(windows_1258)
1491
+ PRISM_ENCODING_TABLE(windows_874)
542
1492
 
543
1493
  #undef PRISM_ENCODING_TABLE
544
1494
 
545
- /** ASCII encoding */
1495
+ /** US-ASCII encoding */
546
1496
  pm_encoding_t pm_encoding_ascii = {
547
- .name = "ascii",
1497
+ .name = "US-ASCII",
548
1498
  .char_width = pm_encoding_ascii_char_width,
549
1499
  .alnum_char = pm_encoding_ascii_alnum_char,
550
1500
  .alpha_char = pm_encoding_ascii_alpha_char,
@@ -554,7 +1504,7 @@ pm_encoding_t pm_encoding_ascii = {
554
1504
 
555
1505
  /** ASCII-8BIT encoding */
556
1506
  pm_encoding_t pm_encoding_ascii_8bit = {
557
- .name = "ascii-8bit",
1507
+ .name = "ASCII-8BIT",
558
1508
  .char_width = pm_encoding_single_char_width,
559
1509
  .alnum_char = pm_encoding_ascii_alnum_char,
560
1510
  .alpha_char = pm_encoding_ascii_alpha_char,
@@ -562,9 +1512,199 @@ pm_encoding_t pm_encoding_ascii_8bit = {
562
1512
  .multibyte = false
563
1513
  };
564
1514
 
1515
+ /** CP850 */
1516
+ pm_encoding_t pm_encoding_cp850 = {
1517
+ .name = "CP850",
1518
+ .char_width = pm_encoding_single_char_width,
1519
+ .alnum_char = pm_encoding_cp850_alnum_char,
1520
+ .alpha_char = pm_encoding_cp850_alpha_char,
1521
+ .isupper_char = pm_encoding_cp850_isupper_char,
1522
+ .multibyte = false
1523
+ };
1524
+
1525
+ /** CP852 */
1526
+ pm_encoding_t pm_encoding_cp852 = {
1527
+ .name = "CP852",
1528
+ .char_width = pm_encoding_single_char_width,
1529
+ .alnum_char = pm_encoding_cp852_alnum_char,
1530
+ .alpha_char = pm_encoding_cp852_alpha_char,
1531
+ .isupper_char = pm_encoding_cp852_isupper_char,
1532
+ .multibyte = false
1533
+ };
1534
+
1535
+ /** CP855 */
1536
+ pm_encoding_t pm_encoding_cp855 = {
1537
+ .name = "CP855",
1538
+ .char_width = pm_encoding_single_char_width,
1539
+ .alnum_char = pm_encoding_cp855_alnum_char,
1540
+ .alpha_char = pm_encoding_cp855_alpha_char,
1541
+ .isupper_char = pm_encoding_cp855_isupper_char,
1542
+ .multibyte = false
1543
+ };
1544
+
1545
+ /** GB1988 */
1546
+ pm_encoding_t pm_encoding_gb1988 = {
1547
+ .name = "GB1988",
1548
+ .char_width = pm_encoding_single_char_width,
1549
+ .alnum_char = pm_encoding_gb1988_alnum_char,
1550
+ .alpha_char = pm_encoding_gb1988_alpha_char,
1551
+ .isupper_char = pm_encoding_gb1988_isupper_char,
1552
+ .multibyte = false
1553
+ };
1554
+
1555
+ /** IBM437 */
1556
+ pm_encoding_t pm_encoding_ibm437 = {
1557
+ .name = "IBM437",
1558
+ .char_width = pm_encoding_single_char_width,
1559
+ .alnum_char = pm_encoding_ibm437_alnum_char,
1560
+ .alpha_char = pm_encoding_ibm437_alpha_char,
1561
+ .isupper_char = pm_encoding_ibm437_isupper_char,
1562
+ .multibyte = false
1563
+ };
1564
+
1565
+ /** IBM720 */
1566
+ pm_encoding_t pm_encoding_ibm720 = {
1567
+ .name = "IBM720",
1568
+ .char_width = pm_encoding_single_char_width,
1569
+ .alnum_char = pm_encoding_ibm720_alnum_char,
1570
+ .alpha_char = pm_encoding_ibm720_alpha_char,
1571
+ .isupper_char = pm_encoding_ibm720_isupper_char,
1572
+ .multibyte = false
1573
+ };
1574
+
1575
+ /** IBM737 */
1576
+ pm_encoding_t pm_encoding_ibm737 = {
1577
+ .name = "IBM737",
1578
+ .char_width = pm_encoding_single_char_width,
1579
+ .alnum_char = pm_encoding_ibm737_alnum_char,
1580
+ .alpha_char = pm_encoding_ibm737_alpha_char,
1581
+ .isupper_char = pm_encoding_ibm737_isupper_char,
1582
+ .multibyte = false
1583
+ };
1584
+
1585
+ /** IBM775 */
1586
+ pm_encoding_t pm_encoding_ibm775 = {
1587
+ .name = "IBM775",
1588
+ .char_width = pm_encoding_single_char_width,
1589
+ .alnum_char = pm_encoding_ibm775_alnum_char,
1590
+ .alpha_char = pm_encoding_ibm775_alpha_char,
1591
+ .isupper_char = pm_encoding_ibm775_isupper_char,
1592
+ .multibyte = false
1593
+ };
1594
+
1595
+ /** IBM850 */
1596
+ pm_encoding_t pm_encoding_ibm852 = {
1597
+ .name = "IBM852",
1598
+ .char_width = pm_encoding_single_char_width,
1599
+ .alnum_char = pm_encoding_ibm852_alnum_char,
1600
+ .alpha_char = pm_encoding_ibm852_alpha_char,
1601
+ .isupper_char = pm_encoding_ibm852_isupper_char,
1602
+ .multibyte = false
1603
+ };
1604
+
1605
+ /** IBM855 */
1606
+ pm_encoding_t pm_encoding_ibm855 = {
1607
+ .name = "IBM855",
1608
+ .char_width = pm_encoding_single_char_width,
1609
+ .alnum_char = pm_encoding_ibm855_alnum_char,
1610
+ .alpha_char = pm_encoding_ibm855_alpha_char,
1611
+ .isupper_char = pm_encoding_ibm855_isupper_char,
1612
+ .multibyte = false
1613
+ };
1614
+
1615
+ /** IBM857 */
1616
+ pm_encoding_t pm_encoding_ibm857 = {
1617
+ .name = "IBM857",
1618
+ .char_width = pm_encoding_single_char_width,
1619
+ .alnum_char = pm_encoding_ibm857_alnum_char,
1620
+ .alpha_char = pm_encoding_ibm857_alpha_char,
1621
+ .isupper_char = pm_encoding_ibm857_isupper_char,
1622
+ .multibyte = false
1623
+ };
1624
+
1625
+ /** IBM860 */
1626
+ pm_encoding_t pm_encoding_ibm860 = {
1627
+ .name = "IBM860",
1628
+ .char_width = pm_encoding_single_char_width,
1629
+ .alnum_char = pm_encoding_ibm860_alnum_char,
1630
+ .alpha_char = pm_encoding_ibm860_alpha_char,
1631
+ .isupper_char = pm_encoding_ibm860_isupper_char,
1632
+ .multibyte = false
1633
+ };
1634
+
1635
+ /** IBM861 */
1636
+ pm_encoding_t pm_encoding_ibm861 = {
1637
+ .name = "IBM861",
1638
+ .char_width = pm_encoding_single_char_width,
1639
+ .alnum_char = pm_encoding_ibm861_alnum_char,
1640
+ .alpha_char = pm_encoding_ibm861_alpha_char,
1641
+ .isupper_char = pm_encoding_ibm861_isupper_char,
1642
+ .multibyte = false
1643
+ };
1644
+
1645
+ /** IBM862 */
1646
+ pm_encoding_t pm_encoding_ibm862 = {
1647
+ .name = "IBM862",
1648
+ .char_width = pm_encoding_single_char_width,
1649
+ .alnum_char = pm_encoding_ibm862_alnum_char,
1650
+ .alpha_char = pm_encoding_ibm862_alpha_char,
1651
+ .isupper_char = pm_encoding_ibm862_isupper_char,
1652
+ .multibyte = false
1653
+ };
1654
+
1655
+ /** IBM863 */
1656
+ pm_encoding_t pm_encoding_ibm863 = {
1657
+ .name = "IBM863",
1658
+ .char_width = pm_encoding_single_char_width,
1659
+ .alnum_char = pm_encoding_ibm863_alnum_char,
1660
+ .alpha_char = pm_encoding_ibm863_alpha_char,
1661
+ .isupper_char = pm_encoding_ibm863_isupper_char,
1662
+ .multibyte = false
1663
+ };
1664
+
1665
+ /** IBM864 */
1666
+ pm_encoding_t pm_encoding_ibm864 = {
1667
+ .name = "IBM864",
1668
+ .char_width = pm_encoding_single_char_width,
1669
+ .alnum_char = pm_encoding_ibm864_alnum_char,
1670
+ .alpha_char = pm_encoding_ibm864_alpha_char,
1671
+ .isupper_char = pm_encoding_ibm864_isupper_char,
1672
+ .multibyte = false
1673
+ };
1674
+
1675
+ /** IBM866 */
1676
+ pm_encoding_t pm_encoding_ibm865 = {
1677
+ .name = "IBM865",
1678
+ .char_width = pm_encoding_single_char_width,
1679
+ .alnum_char = pm_encoding_ibm865_alnum_char,
1680
+ .alpha_char = pm_encoding_ibm865_alpha_char,
1681
+ .isupper_char = pm_encoding_ibm865_isupper_char,
1682
+ .multibyte = false
1683
+ };
1684
+
1685
+ /** IBM866 */
1686
+ pm_encoding_t pm_encoding_ibm866 = {
1687
+ .name = "IBM866",
1688
+ .char_width = pm_encoding_single_char_width,
1689
+ .alnum_char = pm_encoding_ibm866_alnum_char,
1690
+ .alpha_char = pm_encoding_ibm866_alpha_char,
1691
+ .isupper_char = pm_encoding_ibm866_isupper_char,
1692
+ .multibyte = false
1693
+ };
1694
+
1695
+ /** IBM869 */
1696
+ pm_encoding_t pm_encoding_ibm869 = {
1697
+ .name = "IBM869",
1698
+ .char_width = pm_encoding_single_char_width,
1699
+ .alnum_char = pm_encoding_ibm869_alnum_char,
1700
+ .alpha_char = pm_encoding_ibm869_alpha_char,
1701
+ .isupper_char = pm_encoding_ibm869_isupper_char,
1702
+ .multibyte = false
1703
+ };
1704
+
565
1705
  /** ISO-8859-1 */
566
1706
  pm_encoding_t pm_encoding_iso_8859_1 = {
567
- .name = "iso-8859-1",
1707
+ .name = "ISO-8859-1",
568
1708
  .char_width = pm_encoding_single_char_width,
569
1709
  .alnum_char = pm_encoding_iso_8859_1_alnum_char,
570
1710
  .alpha_char = pm_encoding_iso_8859_1_alpha_char,
@@ -574,7 +1714,7 @@ pm_encoding_t pm_encoding_iso_8859_1 = {
574
1714
 
575
1715
  /** ISO-8859-2 */
576
1716
  pm_encoding_t pm_encoding_iso_8859_2 = {
577
- .name = "iso-8859-2",
1717
+ .name = "ISO-8859-2",
578
1718
  .char_width = pm_encoding_single_char_width,
579
1719
  .alnum_char = pm_encoding_iso_8859_2_alnum_char,
580
1720
  .alpha_char = pm_encoding_iso_8859_2_alpha_char,
@@ -584,7 +1724,7 @@ pm_encoding_t pm_encoding_iso_8859_2 = {
584
1724
 
585
1725
  /** ISO-8859-3 */
586
1726
  pm_encoding_t pm_encoding_iso_8859_3 = {
587
- .name = "iso-8859-3",
1727
+ .name = "ISO-8859-3",
588
1728
  .char_width = pm_encoding_single_char_width,
589
1729
  .alnum_char = pm_encoding_iso_8859_3_alnum_char,
590
1730
  .alpha_char = pm_encoding_iso_8859_3_alpha_char,
@@ -594,7 +1734,7 @@ pm_encoding_t pm_encoding_iso_8859_3 = {
594
1734
 
595
1735
  /** ISO-8859-4 */
596
1736
  pm_encoding_t pm_encoding_iso_8859_4 = {
597
- .name = "iso-8859-4",
1737
+ .name = "ISO-8859-4",
598
1738
  .char_width = pm_encoding_single_char_width,
599
1739
  .alnum_char = pm_encoding_iso_8859_4_alnum_char,
600
1740
  .alpha_char = pm_encoding_iso_8859_4_alpha_char,
@@ -604,7 +1744,7 @@ pm_encoding_t pm_encoding_iso_8859_4 = {
604
1744
 
605
1745
  /** ISO-8859-5 */
606
1746
  pm_encoding_t pm_encoding_iso_8859_5 = {
607
- .name = "iso-8859-5",
1747
+ .name = "ISO-8859-5",
608
1748
  .char_width = pm_encoding_single_char_width,
609
1749
  .alnum_char = pm_encoding_iso_8859_5_alnum_char,
610
1750
  .alpha_char = pm_encoding_iso_8859_5_alpha_char,
@@ -614,7 +1754,7 @@ pm_encoding_t pm_encoding_iso_8859_5 = {
614
1754
 
615
1755
  /** ISO-8859-6 */
616
1756
  pm_encoding_t pm_encoding_iso_8859_6 = {
617
- .name = "iso-8859-6",
1757
+ .name = "ISO-8859-6",
618
1758
  .char_width = pm_encoding_single_char_width,
619
1759
  .alnum_char = pm_encoding_iso_8859_6_alnum_char,
620
1760
  .alpha_char = pm_encoding_iso_8859_6_alpha_char,
@@ -624,7 +1764,7 @@ pm_encoding_t pm_encoding_iso_8859_6 = {
624
1764
 
625
1765
  /** ISO-8859-7 */
626
1766
  pm_encoding_t pm_encoding_iso_8859_7 = {
627
- .name = "iso-8859-7",
1767
+ .name = "ISO-8859-7",
628
1768
  .char_width = pm_encoding_single_char_width,
629
1769
  .alnum_char = pm_encoding_iso_8859_7_alnum_char,
630
1770
  .alpha_char = pm_encoding_iso_8859_7_alpha_char,
@@ -634,7 +1774,7 @@ pm_encoding_t pm_encoding_iso_8859_7 = {
634
1774
 
635
1775
  /** ISO-8859-8 */
636
1776
  pm_encoding_t pm_encoding_iso_8859_8 = {
637
- .name = "iso-8859-8",
1777
+ .name = "ISO-8859-8",
638
1778
  .char_width = pm_encoding_single_char_width,
639
1779
  .alnum_char = pm_encoding_iso_8859_8_alnum_char,
640
1780
  .alpha_char = pm_encoding_iso_8859_8_alpha_char,
@@ -644,7 +1784,7 @@ pm_encoding_t pm_encoding_iso_8859_8 = {
644
1784
 
645
1785
  /** ISO-8859-9 */
646
1786
  pm_encoding_t pm_encoding_iso_8859_9 = {
647
- .name = "iso-8859-9",
1787
+ .name = "ISO-8859-9",
648
1788
  .char_width = pm_encoding_single_char_width,
649
1789
  .alnum_char = pm_encoding_iso_8859_9_alnum_char,
650
1790
  .alpha_char = pm_encoding_iso_8859_9_alpha_char,
@@ -654,7 +1794,7 @@ pm_encoding_t pm_encoding_iso_8859_9 = {
654
1794
 
655
1795
  /** ISO-8859-10 */
656
1796
  pm_encoding_t pm_encoding_iso_8859_10 = {
657
- .name = "iso-8859-10",
1797
+ .name = "ISO-8859-10",
658
1798
  .char_width = pm_encoding_single_char_width,
659
1799
  .alnum_char = pm_encoding_iso_8859_10_alnum_char,
660
1800
  .alpha_char = pm_encoding_iso_8859_10_alpha_char,
@@ -664,7 +1804,7 @@ pm_encoding_t pm_encoding_iso_8859_10 = {
664
1804
 
665
1805
  /** ISO-8859-11 */
666
1806
  pm_encoding_t pm_encoding_iso_8859_11 = {
667
- .name = "iso-8859-11",
1807
+ .name = "ISO-8859-11",
668
1808
  .char_width = pm_encoding_single_char_width,
669
1809
  .alnum_char = pm_encoding_iso_8859_11_alnum_char,
670
1810
  .alpha_char = pm_encoding_iso_8859_11_alpha_char,
@@ -674,7 +1814,7 @@ pm_encoding_t pm_encoding_iso_8859_11 = {
674
1814
 
675
1815
  /** ISO-8859-13 */
676
1816
  pm_encoding_t pm_encoding_iso_8859_13 = {
677
- .name = "iso-8859-13",
1817
+ .name = "ISO-8859-13",
678
1818
  .char_width = pm_encoding_single_char_width,
679
1819
  .alnum_char = pm_encoding_iso_8859_13_alnum_char,
680
1820
  .alpha_char = pm_encoding_iso_8859_13_alpha_char,
@@ -684,7 +1824,7 @@ pm_encoding_t pm_encoding_iso_8859_13 = {
684
1824
 
685
1825
  /** ISO-8859-14 */
686
1826
  pm_encoding_t pm_encoding_iso_8859_14 = {
687
- .name = "iso-8859-14",
1827
+ .name = "ISO-8859-14",
688
1828
  .char_width = pm_encoding_single_char_width,
689
1829
  .alnum_char = pm_encoding_iso_8859_14_alnum_char,
690
1830
  .alpha_char = pm_encoding_iso_8859_14_alpha_char,
@@ -694,7 +1834,7 @@ pm_encoding_t pm_encoding_iso_8859_14 = {
694
1834
 
695
1835
  /** ISO-8859-15 */
696
1836
  pm_encoding_t pm_encoding_iso_8859_15 = {
697
- .name = "iso-8859-15",
1837
+ .name = "ISO-8859-15",
698
1838
  .char_width = pm_encoding_single_char_width,
699
1839
  .alnum_char = pm_encoding_iso_8859_15_alnum_char,
700
1840
  .alpha_char = pm_encoding_iso_8859_15_alpha_char,
@@ -704,7 +1844,7 @@ pm_encoding_t pm_encoding_iso_8859_15 = {
704
1844
 
705
1845
  /** ISO-8859-16 */
706
1846
  pm_encoding_t pm_encoding_iso_8859_16 = {
707
- .name = "iso-8859-16",
1847
+ .name = "ISO-8859-16",
708
1848
  .char_width = pm_encoding_single_char_width,
709
1849
  .alnum_char = pm_encoding_iso_8859_16_alnum_char,
710
1850
  .alpha_char = pm_encoding_iso_8859_16_alpha_char,
@@ -714,7 +1854,7 @@ pm_encoding_t pm_encoding_iso_8859_16 = {
714
1854
 
715
1855
  /** KOI8-R */
716
1856
  pm_encoding_t pm_encoding_koi8_r = {
717
- .name = "koi8-r",
1857
+ .name = "KOI8-R",
718
1858
  .char_width = pm_encoding_koi8_r_char_width,
719
1859
  .alnum_char = pm_encoding_koi8_r_alnum_char,
720
1860
  .alpha_char = pm_encoding_koi8_r_alpha_char,
@@ -722,9 +1862,129 @@ pm_encoding_t pm_encoding_koi8_r = {
722
1862
  .multibyte = false
723
1863
  };
724
1864
 
1865
+ /** macCentEuro */
1866
+ pm_encoding_t pm_encoding_mac_cent_euro = {
1867
+ .name = "macCentEuro",
1868
+ .char_width = pm_encoding_single_char_width,
1869
+ .alnum_char = pm_encoding_mac_cent_euro_alnum_char,
1870
+ .alpha_char = pm_encoding_mac_cent_euro_alpha_char,
1871
+ .isupper_char = pm_encoding_mac_cent_euro_isupper_char,
1872
+ .multibyte = false
1873
+ };
1874
+
1875
+ /** macCroatian */
1876
+ pm_encoding_t pm_encoding_mac_croatian = {
1877
+ .name = "macCroatian",
1878
+ .char_width = pm_encoding_single_char_width,
1879
+ .alnum_char = pm_encoding_mac_croatian_alnum_char,
1880
+ .alpha_char = pm_encoding_mac_croatian_alpha_char,
1881
+ .isupper_char = pm_encoding_mac_croatian_isupper_char,
1882
+ .multibyte = false
1883
+ };
1884
+
1885
+ /** macCyrillic */
1886
+ pm_encoding_t pm_encoding_mac_cyrillic = {
1887
+ .name = "macCyrillic",
1888
+ .char_width = pm_encoding_single_char_width,
1889
+ .alnum_char = pm_encoding_mac_cyrillic_alnum_char,
1890
+ .alpha_char = pm_encoding_mac_cyrillic_alpha_char,
1891
+ .isupper_char = pm_encoding_mac_cyrillic_isupper_char,
1892
+ .multibyte = false
1893
+ };
1894
+
1895
+ /** macGreek */
1896
+ pm_encoding_t pm_encoding_mac_greek = {
1897
+ .name = "macGreek",
1898
+ .char_width = pm_encoding_single_char_width,
1899
+ .alnum_char = pm_encoding_mac_greek_alnum_char,
1900
+ .alpha_char = pm_encoding_mac_greek_alpha_char,
1901
+ .isupper_char = pm_encoding_mac_greek_isupper_char,
1902
+ .multibyte = false
1903
+ };
1904
+
1905
+ /** macIceland */
1906
+ pm_encoding_t pm_encoding_mac_iceland = {
1907
+ .name = "macIceland",
1908
+ .char_width = pm_encoding_single_char_width,
1909
+ .alnum_char = pm_encoding_mac_iceland_alnum_char,
1910
+ .alpha_char = pm_encoding_mac_iceland_alpha_char,
1911
+ .isupper_char = pm_encoding_mac_iceland_isupper_char,
1912
+ .multibyte = false
1913
+ };
1914
+
1915
+ /** macRoman */
1916
+ pm_encoding_t pm_encoding_mac_roman = {
1917
+ .name = "macRoman",
1918
+ .char_width = pm_encoding_single_char_width,
1919
+ .alnum_char = pm_encoding_mac_roman_alnum_char,
1920
+ .alpha_char = pm_encoding_mac_roman_alpha_char,
1921
+ .isupper_char = pm_encoding_mac_roman_isupper_char,
1922
+ .multibyte = false
1923
+ };
1924
+
1925
+ /** macRomania */
1926
+ pm_encoding_t pm_encoding_mac_romania = {
1927
+ .name = "macRomania",
1928
+ .char_width = pm_encoding_single_char_width,
1929
+ .alnum_char = pm_encoding_mac_romania_alnum_char,
1930
+ .alpha_char = pm_encoding_mac_romania_alpha_char,
1931
+ .isupper_char = pm_encoding_mac_romania_isupper_char,
1932
+ .multibyte = false
1933
+ };
1934
+
1935
+ /** macThai */
1936
+ pm_encoding_t pm_encoding_mac_thai = {
1937
+ .name = "macThai",
1938
+ .char_width = pm_encoding_single_char_width,
1939
+ .alnum_char = pm_encoding_mac_thai_alnum_char,
1940
+ .alpha_char = pm_encoding_mac_thai_alpha_char,
1941
+ .isupper_char = pm_encoding_mac_thai_isupper_char,
1942
+ .multibyte = false
1943
+ };
1944
+
1945
+ /** macTurkish */
1946
+ pm_encoding_t pm_encoding_mac_turkish = {
1947
+ .name = "macTurkish",
1948
+ .char_width = pm_encoding_single_char_width,
1949
+ .alnum_char = pm_encoding_mac_turkish_alnum_char,
1950
+ .alpha_char = pm_encoding_mac_turkish_alpha_char,
1951
+ .isupper_char = pm_encoding_mac_turkish_isupper_char,
1952
+ .multibyte = false
1953
+ };
1954
+
1955
+ /** macUkraine */
1956
+ pm_encoding_t pm_encoding_mac_ukraine = {
1957
+ .name = "macUkraine",
1958
+ .char_width = pm_encoding_single_char_width,
1959
+ .alnum_char = pm_encoding_mac_ukraine_alnum_char,
1960
+ .alpha_char = pm_encoding_mac_ukraine_alpha_char,
1961
+ .isupper_char = pm_encoding_mac_ukraine_isupper_char,
1962
+ .multibyte = false
1963
+ };
1964
+
1965
+ /** TIS-620 */
1966
+ pm_encoding_t pm_encoding_tis_620 = {
1967
+ .name = "TIS-620",
1968
+ .char_width = pm_encoding_single_char_width,
1969
+ .alnum_char = pm_encoding_tis_620_alnum_char,
1970
+ .alpha_char = pm_encoding_tis_620_alpha_char,
1971
+ .isupper_char = pm_encoding_tis_620_isupper_char,
1972
+ .multibyte = false
1973
+ };
1974
+
1975
+ /** Windows-1250 */
1976
+ pm_encoding_t pm_encoding_windows_1250 = {
1977
+ .name = "Windows-1250",
1978
+ .char_width = pm_encoding_single_char_width,
1979
+ .alnum_char = pm_encoding_windows_1250_alnum_char,
1980
+ .alpha_char = pm_encoding_windows_1250_alpha_char,
1981
+ .isupper_char = pm_encoding_windows_1250_isupper_char,
1982
+ .multibyte = false
1983
+ };
1984
+
725
1985
  /** Windows-1251 */
726
1986
  pm_encoding_t pm_encoding_windows_1251 = {
727
- .name = "windows-1251",
1987
+ .name = "Windows-1251",
728
1988
  .char_width = pm_encoding_single_char_width,
729
1989
  .alnum_char = pm_encoding_windows_1251_alnum_char,
730
1990
  .alpha_char = pm_encoding_windows_1251_alpha_char,
@@ -734,10 +1994,80 @@ pm_encoding_t pm_encoding_windows_1251 = {
734
1994
 
735
1995
  /** Windows-1252 */
736
1996
  pm_encoding_t pm_encoding_windows_1252 = {
737
- .name = "windows-1252",
1997
+ .name = "Windows-1252",
738
1998
  .char_width = pm_encoding_single_char_width,
739
1999
  .alnum_char = pm_encoding_windows_1252_alnum_char,
740
2000
  .alpha_char = pm_encoding_windows_1252_alpha_char,
741
2001
  .isupper_char = pm_encoding_windows_1252_isupper_char,
742
2002
  .multibyte = false
743
2003
  };
2004
+
2005
+ /** Windows-1253 */
2006
+ pm_encoding_t pm_encoding_windows_1253 = {
2007
+ .name = "Windows-1253",
2008
+ .char_width = pm_encoding_single_char_width,
2009
+ .alnum_char = pm_encoding_windows_1253_alnum_char,
2010
+ .alpha_char = pm_encoding_windows_1253_alpha_char,
2011
+ .isupper_char = pm_encoding_windows_1253_isupper_char,
2012
+ .multibyte = false
2013
+ };
2014
+
2015
+ /** Windows-1254 */
2016
+ pm_encoding_t pm_encoding_windows_1254 = {
2017
+ .name = "Windows-1254",
2018
+ .char_width = pm_encoding_single_char_width,
2019
+ .alnum_char = pm_encoding_windows_1254_alnum_char,
2020
+ .alpha_char = pm_encoding_windows_1254_alpha_char,
2021
+ .isupper_char = pm_encoding_windows_1254_isupper_char,
2022
+ .multibyte = false
2023
+ };
2024
+
2025
+ /** Windows-1255 */
2026
+ pm_encoding_t pm_encoding_windows_1255 = {
2027
+ .name = "Windows-1255",
2028
+ .char_width = pm_encoding_single_char_width,
2029
+ .alnum_char = pm_encoding_windows_1255_alnum_char,
2030
+ .alpha_char = pm_encoding_windows_1255_alpha_char,
2031
+ .isupper_char = pm_encoding_windows_1255_isupper_char,
2032
+ .multibyte = false
2033
+ };
2034
+
2035
+ /** Windows-1256 */
2036
+ pm_encoding_t pm_encoding_windows_1256 = {
2037
+ .name = "Windows-1256",
2038
+ .char_width = pm_encoding_single_char_width,
2039
+ .alnum_char = pm_encoding_windows_1256_alnum_char,
2040
+ .alpha_char = pm_encoding_windows_1256_alpha_char,
2041
+ .isupper_char = pm_encoding_windows_1256_isupper_char,
2042
+ .multibyte = false
2043
+ };
2044
+
2045
+ /** Windows-1257 */
2046
+ pm_encoding_t pm_encoding_windows_1257 = {
2047
+ .name = "Windows-1257",
2048
+ .char_width = pm_encoding_single_char_width,
2049
+ .alnum_char = pm_encoding_windows_1257_alnum_char,
2050
+ .alpha_char = pm_encoding_windows_1257_alpha_char,
2051
+ .isupper_char = pm_encoding_windows_1257_isupper_char,
2052
+ .multibyte = false
2053
+ };
2054
+
2055
+ /** Windows-1258 */
2056
+ pm_encoding_t pm_encoding_windows_1258 = {
2057
+ .name = "Windows-1258",
2058
+ .char_width = pm_encoding_single_char_width,
2059
+ .alnum_char = pm_encoding_windows_1258_alnum_char,
2060
+ .alpha_char = pm_encoding_windows_1258_alpha_char,
2061
+ .isupper_char = pm_encoding_windows_1258_isupper_char,
2062
+ .multibyte = false
2063
+ };
2064
+
2065
+ /** Windows-874 */
2066
+ pm_encoding_t pm_encoding_windows_874 = {
2067
+ .name = "Windows-874",
2068
+ .char_width = pm_encoding_single_char_width,
2069
+ .alnum_char = pm_encoding_windows_874_alnum_char,
2070
+ .alpha_char = pm_encoding_windows_874_alpha_char,
2071
+ .isupper_char = pm_encoding_windows_874_isupper_char,
2072
+ .multibyte = false
2073
+ };