summaryrefslogtreecommitdiff
path: root/src/lib/repr/telcontar.ml
blob: ad1f49d7b0247692a6670ceb5cf301f97ec9148d (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
92
93
94
95
96
97
98
99
100
101
102
103
module T = Rousseau

(** Glyph position for the diacritc *)
type position = unit
type t = position T.t

let none = T.none

let space s = T.space s

let a' =
  { T.position = `Above
  ; T.app = fun () -> ""
  }
let a = T.voyel `Above (fun () -> "")

let app_e = fun () -> ""
and app_eu = fun () -> ""

let e_opened =
  T.Voyel { position = `Above ; app = app_e }
and e_closed =
  T.Voyel { position = `Above ; app = app_e }

and schwa = T.Voyel
    { position = `Below
    ; app = fun () -> ""
    }

and eu_opened = T.Voyel { position = `Above ; app = app_eu }
and eu_closed = T.Voyel { position = `Above ; app = app_eu }

and o' =
  { T.position = `Above
  ; T.app = fun () -> ""
  }

let o = T.Voyel o'

and i' =
  { T.position = `Above
  ; T.app = fun () -> ""
  }

let i = T.Voyel i'

and y' =
  { T.position = `Above
  ; T.app = fun () -> ""
  }

let y = T.Voyel y'

and u = T.Voyel
    { T.position = `Above
    ; T.app = fun () -> ""
    }

let portant =       T.portant       ""             ()

and t =             T.t             "" (Some "")  ()
and d =             T.d             "" (Some "")  ()
and p =             T.p             "" (Some "")  ()
and b =             T.b             "" (Some "")  ()
and k =             T.k             "" (Some "")  ()
and g =             T.g             "" (Some "")  ()
and f =             T.f             ""             ()
and v =             T.v             ""             ()
and ch =            T.ch            ""             ()
and j =             T.j             ""             ()
and s =             T.s             "" (Some "")  ()
and z =             T.z             ""             ()
and m =             T.m             ""             ()
and n =             T.n             ""             ()
and gn =            T.gn            ""             ()
and ng =            T.ng            ""             ()
and r =             T.r             "" (Some "")  ()
and l =             T.l             ""             ()

and semi_voyel_w =  T.semi_voyel_w  ""             ()
and semi_voyel_y =  T.semi_voyel_y  ""             ()
and semi_voyel_u =  T.semi_voyel_u  ""             ()

let a_nasal =       T.nasal m ng n a'
and o_nasal =       T.nasal m ng n o'
and i_nasal =       T.nasal m ng n i'
and y_nasal =       T.nasal m ng n y'

let muted
  : t -> t
  = fun t ->
    match t with
    | Consonant c ->
      begin match c.muted with
        | None -> t
        | Some s -> Consonant {c with repr = s ; position = ()}
      end
    | _ -> t

let diphtongue = T.diphtongue

let fold = T.fold ~portant