This year’s card uses a series of images of tiles used in the game of Dominoes to express the code. Each row of the text is represented by two rows of tiles, where each vertical pair of tiles encode a single letter. The individual tiles need to be read as a two-digit decimal number, so a tile with one spot on the left and two on the right is read as 12 and the same tile reversed ‒ with two spots on the left and one on the right ‒ as 21. The two-digit numbers for each vertical pair are then added to create the number representing the required letter’s position in the alphabet. For example, one spot / five spots and no spot / four spots are read as 15 and 04; these sum to 19 and thus represent the nineteenth letter of the alphabet, S.
The code was not unique, in that there was more than one way to represent any letter. This meant that I could ring the changes by using different tile combinations for repeat occurrences of the same letter. For example, the first P on the front of the card was encoded as no spot / five spots and one spot / one spot, whereas the other P was encoded as one spot / four spots and no spot / two spots, both combinations adding to sixteen.
The code was not trivial to develop. Simply adding spots would have needed more than two tiles per letter to cover the entire alphabet. Another idea involved multiplying values, but it is obvious that having multiplication as the end of the process could not generate the many prime numbers that appear in the required integers ‒ up to twenty-six for the complete alphabet.
The images of tiles used were not simply artistic efforts but actually characters from the Unicode set. The Domino Tiles block appears in the Supplementary Multilingual Plane of the Unicode set, and such characters are encoded as surrogate pairs in UTF-16 or as four bytes in UTF-8. These glyphs do not appear in all fonts, and this made saving them in a word processor document and moving that between systems somewhat problematic.
Front page
This translates as:
|
|
05 |
00 |
05 |
14 |
02 |
|
|
|
|
03 |
01 |
11 |
02 |
23 |
|
|
|
|
8 |
1 |
16 |
16 |
25 |
|
|
|
|
H |
A |
P |
P |
Y |
|
|
|
|
|
|
|
|
|
|
|
02 |
04 |
13 |
03 |
04 |
15 |
11 |
00 |
16 |
01 |
04 |
05 |
06 |
15 |
05 |
02 |
01 |
03 |
3 |
8 |
18 |
9 |
19 |
20 |
13 |
1 |
19 |
C |
H |
R |
I |
S |
T |
M |
A |
S |
Inside page
This translates as:
00 |
10 |
01 |
|
02 |
01 |
14 |
04 |
|
21 |
03 |
13 |
02 |
00 |
15 |
01 |
04 |
03 |
|
00 |
04 |
05 |
16 |
|
02 |
06 |
06 |
06 |
05 |
04 |
1 |
14 |
4 |
|
2 |
5 |
19 |
20 |
|
23 |
9 |
19 |
8 |
5 |
19 |
A |
N |
D |
|
B |
E |
S |
T |
|
W |
I |
S |
H |
E |
S |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
01 |
11 |
04 |
|
10 |
00 |
21 |
01 |
05 |
|
03 |
16 |
02 |
12 |
|
05 |
04 |
14 |
|
03 |
13 |
03 |
23 |
04 |
|
03 |
02 |
13 |
01 |
|
6 |
15 |
18 |
|
13 |
13 |
24 |
24 |
9 |
|
6 |
18 |
15 |
13 |
|
F |
O |
R |
|
M |
M |
X |
X |
I |
|
F |
R |
O |
M |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00 |
13 |
04 |
01 |
12 |
|
01 |
00 |
15 |
10 |
02 |
12 |
|
|
|
02 |
05 |
05 |
00 |
02 |
|
01 |
01 |
03 |
01 |
03 |
06 |
|
|
|
2 |
18 |
9 |
1 |
14 |
|
2 |
1 |
18 |
11 |
5 |
18 |
|
|
|
B |
R |
I |
A |
N |
|
B |
A |
R |
K |
E |
R |
|
|
There was no corresponding way to encode digits using this code, so I couldn’t represent the new year in arabic numbers and had to use roman numerals instead.
Version 3: Revised 17 December 2020
Brian Barker