shadow.go raw
1 // Package shadow provides transliteration between natural language scripts
2 // and the Shadow Alphabet — a phonetic writing system where one letter
3 // encodes one sound.
4 //
5 // The Shadow Alphabet uses 27 base letters (7 vowels + 20 consonants),
6 // 3 voiced forms generated by a voicing mark, standard decimal digits,
7 // and 5 punctuation marks built from short vertical nicks.
8 package shadow
9
10 // Shadow alphabet letters — the canonical representation.
11 // Inherited Latin/Greek letters keep their uppercase forms.
12 // New/borrowed letters use their Unicode symbols.
13 const (
14 // Vowels
15 A = "A"
16 E = "E"
17 I = "I"
18 O = "O"
19 U = "U"
20 R = "R"
21 Y = "Y"
22
23 // Labial five-way
24 P = "P"
25 B = "B"
26 F = "F"
27 V = "V"
28 M = "M"
29
30 // Alveolar five-way
31 T = "T"
32 D = "D"
33 S = "S"
34 Z = "Z"
35 N = "N"
36
37 // Velar three-way
38 K = "K"
39 G = "G"
40 Ng = "Ŋ"
41
42 // Dental pair
43 Th = "Θ"
44 Dh = "Ð"
45
46 // Postalveolar pair
47 Sh = "Σ"
48 Zh = "Ζ̌"
49
50 // Affricate pair
51 Ch = "Ч"
52 Dzh = "Џ"
53
54 // Singletons
55 H = "H"
56 L = "L"
57 W = "W"
58
59 // Punctuation
60 Breath = "|"
61 Rest = ":"
62 Rise = ".'"
63 Strike = "!."
64 Branch = ":."
65
66 // Accent (placed after the vowel it modifies)
67 Accent = "'"
68
69 // Word separator
70 Space = " "
71 )
72