1
2
3 package ccitt
4
5
6
7 type code struct {
8 val uint32
9 str string
10 }
11
12 var modeCodes = []code{
13 {modePass, "0001"},
14 {modeH, "001"},
15 {modeV0, "1"},
16 {modeVR1, "011"},
17 {modeVR2, "000011"},
18 {modeVR3, "0000011"},
19 {modeVL1, "010"},
20 {modeVL2, "000010"},
21 {modeVL3, "0000010"},
22 {modeExt, "0000001"},
23 }
24
25 var whiteCodes = []code{
26
27 {0x0000, "00110101"},
28 {0x0001, "000111"},
29 {0x0002, "0111"},
30 {0x0003, "1000"},
31 {0x0004, "1011"},
32 {0x0005, "1100"},
33 {0x0006, "1110"},
34 {0x0007, "1111"},
35 {0x0008, "10011"},
36 {0x0009, "10100"},
37 {0x000A, "00111"},
38 {0x000B, "01000"},
39 {0x000C, "001000"},
40 {0x000D, "000011"},
41 {0x000E, "110100"},
42 {0x000F, "110101"},
43 {0x0010, "101010"},
44 {0x0011, "101011"},
45 {0x0012, "0100111"},
46 {0x0013, "0001100"},
47 {0x0014, "0001000"},
48 {0x0015, "0010111"},
49 {0x0016, "0000011"},
50 {0x0017, "0000100"},
51 {0x0018, "0101000"},
52 {0x0019, "0101011"},
53 {0x001A, "0010011"},
54 {0x001B, "0100100"},
55 {0x001C, "0011000"},
56 {0x001D, "00000010"},
57 {0x001E, "00000011"},
58 {0x001F, "00011010"},
59 {0x0020, "00011011"},
60 {0x0021, "00010010"},
61 {0x0022, "00010011"},
62 {0x0023, "00010100"},
63 {0x0024, "00010101"},
64 {0x0025, "00010110"},
65 {0x0026, "00010111"},
66 {0x0027, "00101000"},
67 {0x0028, "00101001"},
68 {0x0029, "00101010"},
69 {0x002A, "00101011"},
70 {0x002B, "00101100"},
71 {0x002C, "00101101"},
72 {0x002D, "00000100"},
73 {0x002E, "00000101"},
74 {0x002F, "00001010"},
75 {0x0030, "00001011"},
76 {0x0031, "01010010"},
77 {0x0032, "01010011"},
78 {0x0033, "01010100"},
79 {0x0034, "01010101"},
80 {0x0035, "00100100"},
81 {0x0036, "00100101"},
82 {0x0037, "01011000"},
83 {0x0038, "01011001"},
84 {0x0039, "01011010"},
85 {0x003A, "01011011"},
86 {0x003B, "01001010"},
87 {0x003C, "01001011"},
88 {0x003D, "00110010"},
89 {0x003E, "00110011"},
90 {0x003F, "00110100"},
91
92
93 {0x0040, "11011"},
94 {0x0080, "10010"},
95 {0x00C0, "010111"},
96 {0x0100, "0110111"},
97 {0x0140, "00110110"},
98 {0x0180, "00110111"},
99 {0x01C0, "01100100"},
100 {0x0200, "01100101"},
101 {0x0240, "01101000"},
102 {0x0280, "01100111"},
103 {0x02C0, "011001100"},
104 {0x0300, "011001101"},
105 {0x0340, "011010010"},
106 {0x0380, "011010011"},
107 {0x03C0, "011010100"},
108 {0x0400, "011010101"},
109 {0x0440, "011010110"},
110 {0x0480, "011010111"},
111 {0x04C0, "011011000"},
112 {0x0500, "011011001"},
113 {0x0540, "011011010"},
114 {0x0580, "011011011"},
115 {0x05C0, "010011000"},
116 {0x0600, "010011001"},
117 {0x0640, "010011010"},
118 {0x0680, "011000"},
119 {0x06C0, "010011011"},
120
121
122 {0x0700, "00000001000"},
123 {0x0740, "00000001100"},
124 {0x0780, "00000001101"},
125 {0x07C0, "000000010010"},
126 {0x0800, "000000010011"},
127 {0x0840, "000000010100"},
128 {0x0880, "000000010101"},
129 {0x08C0, "000000010110"},
130 {0x0900, "000000010111"},
131 {0x0940, "000000011100"},
132 {0x0980, "000000011101"},
133 {0x09C0, "000000011110"},
134 {0x0A00, "000000011111"},
135 }
136
137 var blackCodes = []code{
138
139 {0x0000, "0000110111"},
140 {0x0001, "010"},
141 {0x0002, "11"},
142 {0x0003, "10"},
143 {0x0004, "011"},
144 {0x0005, "0011"},
145 {0x0006, "0010"},
146 {0x0007, "00011"},
147 {0x0008, "000101"},
148 {0x0009, "000100"},
149 {0x000A, "0000100"},
150 {0x000B, "0000101"},
151 {0x000C, "0000111"},
152 {0x000D, "00000100"},
153 {0x000E, "00000111"},
154 {0x000F, "000011000"},
155 {0x0010, "0000010111"},
156 {0x0011, "0000011000"},
157 {0x0012, "0000001000"},
158 {0x0013, "00001100111"},
159 {0x0014, "00001101000"},
160 {0x0015, "00001101100"},
161 {0x0016, "00000110111"},
162 {0x0017, "00000101000"},
163 {0x0018, "00000010111"},
164 {0x0019, "00000011000"},
165 {0x001A, "000011001010"},
166 {0x001B, "000011001011"},
167 {0x001C, "000011001100"},
168 {0x001D, "000011001101"},
169 {0x001E, "000001101000"},
170 {0x001F, "000001101001"},
171 {0x0020, "000001101010"},
172 {0x0021, "000001101011"},
173 {0x0022, "000011010010"},
174 {0x0023, "000011010011"},
175 {0x0024, "000011010100"},
176 {0x0025, "000011010101"},
177 {0x0026, "000011010110"},
178 {0x0027, "000011010111"},
179 {0x0028, "000001101100"},
180 {0x0029, "000001101101"},
181 {0x002A, "000011011010"},
182 {0x002B, "000011011011"},
183 {0x002C, "000001010100"},
184 {0x002D, "000001010101"},
185 {0x002E, "000001010110"},
186 {0x002F, "000001010111"},
187 {0x0030, "000001100100"},
188 {0x0031, "000001100101"},
189 {0x0032, "000001010010"},
190 {0x0033, "000001010011"},
191 {0x0034, "000000100100"},
192 {0x0035, "000000110111"},
193 {0x0036, "000000111000"},
194 {0x0037, "000000100111"},
195 {0x0038, "000000101000"},
196 {0x0039, "000001011000"},
197 {0x003A, "000001011001"},
198 {0x003B, "000000101011"},
199 {0x003C, "000000101100"},
200 {0x003D, "000001011010"},
201 {0x003E, "000001100110"},
202 {0x003F, "000001100111"},
203
204
205 {0x0040, "0000001111"},
206 {0x0080, "000011001000"},
207 {0x00C0, "000011001001"},
208 {0x0100, "000001011011"},
209 {0x0140, "000000110011"},
210 {0x0180, "000000110100"},
211 {0x01C0, "000000110101"},
212 {0x0200, "0000001101100"},
213 {0x0240, "0000001101101"},
214 {0x0280, "0000001001010"},
215 {0x02C0, "0000001001011"},
216 {0x0300, "0000001001100"},
217 {0x0340, "0000001001101"},
218 {0x0380, "0000001110010"},
219 {0x03C0, "0000001110011"},
220 {0x0400, "0000001110100"},
221 {0x0440, "0000001110101"},
222 {0x0480, "0000001110110"},
223 {0x04C0, "0000001110111"},
224 {0x0500, "0000001010010"},
225 {0x0540, "0000001010011"},
226 {0x0580, "0000001010100"},
227 {0x05C0, "0000001010101"},
228 {0x0600, "0000001011010"},
229 {0x0640, "0000001011011"},
230 {0x0680, "0000001100100"},
231 {0x06C0, "0000001100101"},
232
233
234 {0x0700, "00000001000"},
235 {0x0740, "00000001100"},
236 {0x0780, "00000001101"},
237 {0x07C0, "000000010010"},
238 {0x0800, "000000010011"},
239 {0x0840, "000000010100"},
240 {0x0880, "000000010101"},
241 {0x08C0, "000000010110"},
242 {0x0900, "000000010111"},
243 {0x0940, "000000011100"},
244 {0x0980, "000000011101"},
245 {0x09C0, "000000011110"},
246 {0x0A00, "000000011111"},
247 }
248
249
250
View as plain text