summaryrefslogtreecommitdiff
path: root/src/lib/repr/tengwar.ml
blob: 85be6ccb0831df87d21e37974b7198c89e590913 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
type tengwa =
  | Tinco
  | Parma
  | Calma
  | Quesse

  | Ando
  | Umbar
  | Anga
  | Ungwe

  | Sule
  | Formen
  | Harma
  | Hwesta

  | Anto
  | Ampa
  | Anca
  | Unque

  | Numen
  | Malta
  | Noldo
  | Nwame

  | Ore
  | Vala
  | Anna
  | Vilya

  | Romen
  | Arda
  | Lambe
  | Alda

  | Silme
  | Silme_nuquerna
  | Esse
  | Esse_nuquerna

  | Hyarmen
  | Hwesta_sindarinwa
  | Yanta
  | Ure

  | Halla
  | Osse
  | Telco
  | Ara

type tehta =
  | Three_dots
  | Two_dots
  | Dot
  | Acute
  | Agrave
  | Double_Acute
  | Right_curl
  | Left_curl
  | Double_Right_curl
  | Double_Left_curl
  | Bar


let three_dots = Three_dots
let two_dots = Two_dots
let dot = Dot
let acute = Acute
let agrave = Agrave
let right_curl = Right_curl
let left_curl = Left_curl
let double_right_curl = Double_Right_curl
let double_left_curl = Double_Left_curl
let double_acute = Double_Acute
let bar = Bar

type t =
  { tengwa : tengwa
  ; tehta_above : tehta option
  ; tehta_below : tehta option
  }

let build
  : tengwa -> tehta option -> tehta option -> t
  = fun tengwa a b ->

    { tengwa
    ; tehta_below = b
    ; tehta_above = a }