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