new cipher font (Steganography) Hex-Truchet - part 2, encoding
So we have 15 items, we can use them to encode the English alphabet, some punctuation and numbers.
The simplest solution is to add empty tile to the set, have 16 items and encode everything on the earth with just 2 tiles, 16 * 16 = total 256 items.
But it is too trivial, very mechanical, not human-memorable and not optimal. Considering letter frequency the first 9 most often English letters: E, T, A, O, I, N, S, H and R have 70% of usage in texts.
Thus, encoding these letters in one tile gives us profit in size: 0.7 * n + 0.3 * 2 * n = 1.3 * n versus 2 * n, where n is the number of letters in the text. Space, the separator between words, is also one of the most common letters and deserves single-tile encoding.
So let’s create a legend, fictional alphabet for not-existing language spoken in no one country!
see more
Empty tile is not used, I don’t like holes in written text. Moreover, the number 16 is too artificial, all these powers of 2 are for computers, not for human. Humans like all to be odd.
First, space. The space is so important and so widespread that it is encoded not by two tiles, not by one, but by half. More precisely, in the encoding there are two characters denoting a space.
These tiles are similar to each other and very different from all the others. They are used interchangeably to show space between words. However, one of them may serve role of end of special sequence (see below). Throughout the further text, I use symbols "_" and "^" to denote the space tiles.
Digits and numbers.
The following 9 tiles are used to write digits 1-9:
First three digits/numbers usually are more often, more important in all languages. The have form different to other 6, which are just 6 rotations of the same tile.
Our fictional language uses the dozenal (duodecimal) number system. Here we have not 10, but 12 digits (again, this is a bit more economical than decimal).
Usually the extra two digits (10 and 11) of the dozenal system are marked with A and B, or X and E, or some other special symbols. We use / and \ to mimic the rotation of the image on the tiles.
The tile for 0 means just 0 if used alone (i.e. followed by space). If after the 0 tile there is any other digit tiles – all they till the space tile form duodecimal number. See examples in the table below.
Tiles | Number | Tiles | Number | Tiles | Number |
---|---|---|---|---|---|
0^ | 0 | 01^ | 1 | 02^ | 2 |
09^ | 9 | 0/^ | 10 | 0^ | 11 |
010^ | 12 | 011^ | 13 | 012^ | 14 |
018^ | 20 | 026^ | 30 | 034^ | 40 |
020^ | 24 | 030^ | 36 | 040^ | 48 |
084^ | 100 | 06\4^ | 1000 | 01000^ | 1728 |
1000(10) = 6 * 12 * 12 + 11 * 12 + 4 = 6\4(12)
1000(12) = 12 * 12 * 12 = 1728(10)
Letters.
The tiles 1-9 without the leading 0 used to encode first 9 most frequent english letters: E, T, A, O, I, N, S, H and R in this order. These tiles preceded with the marker / encode next 9 letters: D, L, C, U, M, W, F, G, and Y, and the marker \ encodes the last 8: P, B, V, K, J, X, Q and Z.
A = 3
B = \2
C = /3
D = /1
E = 1
F = /7
G = /8
H = 8
I = 5
J = \5
K = \4
L = /2
M = /5
N = 6
O = 4
P = 1
Q = \7
R = 9
S = 7
T = 2
U = /4
V = 3
W = /6
X = \6
Y = /9
Z = 8
Thus, “okey” is 4\41/9_ .
One unused combination \9 may be applied to extension the alphabet, for languages with more then 27 letters. Then 3 or 4 tiles will be used to encode such extra letters.
Punctuation.
Marker (denoted by * starts punctuation sequence. The end of the sequence is space. Here are some common punctuations:
Notation | Meaning |
---|---|
*^ | . dot |
**^ | : colon |
***^ | ... ellipsis |
*0^ | ! exclamation |
*/^ | , comma |
*^ | ? question |
*1^ | - dash, hyphen |
*2^ | “ double quote (open) |
*3^ | ” double quote (close) |
*4^ | ‘ quote |
*5^ | ( open brace |
*6^ | • capital marker |
*7^ | ; semicolon |
*8^ | ) close brace |
*9^ | ` back quote |
The capital marker shows that the next letter is Upper case.
Other punctuation and special signs one may encode if needed, ex. using two dots ** plus some tile(s) plus closing space.
Since we have flat-top hex tiles (not point-top), the orientation of word in text is vertical, from top to bottom, left to right. However, to make everything more beautiful and mysterious, you can arrange the tiles from the center in an expanding spiral. Here is possible order:
Sample text encoded in the hex truchet:
the quick brown fox jumps over lazy dog
281_\7/45/3\4_\294/66_/74\6_\5/4/5\17_4\319_/238/9_/14/8
Article 1 of the Universal Declaration of Human Rights (171 characters, if encoded as two hex digits it requires 342 tiles, but encoded in hex-truchet is only 208 tiles):
All human beings are born free and equal in dignity and rights.
They are endowed with reason and conscience and should
act towards one another in a spirit of brotherhood.
3/2/2_8/4/536_\2156/87_391_\2496_/7911_36/1_1\7/43/2_56_/15/8652/9_36/1_95/8827*_
281/9_391_16/14/61/1_/6528_913746_36/1_/3467/3516/31_36/1_784/4/2/1_
3/32_24/639/17_461_3642819_56_3_7\15952_4/7_\2942819844/1*_
How it looks with tiles:
Without the hex grid:
It is worth noting that the text written/drawn in this language can be read not only in two directions (straight and upside down) like ordinary alphabets, but also along four diagonals. Therefore, it is necessary to mark the beginning of the text with an arrow.