1;;;
2;;; Copyright (c) 2003-2013 uim Project https://github.com/uim/uim
3;;;
4;;; All rights reserved.
5;;;
6;;; Redistribution and use in source and binary forms, with or without
7;;; modification, are permitted provided that the following conditions
8;;; are met:
9;;; 1. Redistributions of source code must retain the above copyright
10;;;    notice, this list of conditions and the following disclaimer.
11;;; 2. Redistributions in binary form must reproduce the above copyright
12;;;    notice, this list of conditions and the following disclaimer in the
13;;;    documentation and/or other materials provided with the distribution.
14;;; 3. Neither the name of authors nor the names of its contributors
15;;;    may be used to endorse or promote products derived from this software
16;;;    without specific prior written permission.
17;;;
18;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
19;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20;;; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21;;; ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
22;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24;;; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26;;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27;;; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28;;; SUCH DAMAGE.
29;;;;
30
31;; from GTK
32(require "generic.scm")
33;;
34(define ipa-x-sampa-rule
35  '(
36((("!" ))("↓"))
37((("!" "\\" ))("!"))
38((("\"" )) ("ˈ"))
39((("%" )) ("ˌ"))
40((("&" )) ("ɶ"))
41((("'" )) ("ʲ"))
42((("-" "\\" )) ("‿"))
43((("." )) ("."))
44((("/" )) ("/"))
45((("1" )) ("ɨ"))
46((("2" )) ("ø"))
47((("3" )) ("ɜ"))
48((("3" "\\" )) ("ɞ"))
49((("4" )) ("ɾ"))
50((("5" )) ("ɫ"))
51((("6" )) ("ɐ"))
52((("7" )) ("ɤ"))
53((("8" )) ("ɵ"))
54((("9" )) ("œ"))
55(((":" )) ("ː"))
56(((":" "\\" )) ("ˑ"))
57((("<" "B" ">" )) ("˩"))
58((("<" "F" ">" )) ("↘"))
59((("<" "H" ">" )) ("˦"))
60((("<" "L" ">" )) ("˨"))
61((("<" "M" ">" )) ("˧"))
62((("<" "R" ">" )) ("↗"))
63((("<" "T" ">" )) ("˥"))
64((("<" "\\" )) ("ʢ"))
65((("=" )) ("̩"))
66((("=" "\\" )) ("ǂ"))
67(((">" "\\" )) ("ʡ"))
68((("?" )) ("ʔ"))
69((("?" "\\" )) ("ʕ"))
70((("@" )) ("ə"))
71((("@" "\\" )) ("ɘ"))
72((("@" "`" )) ("ɚ"))
73((("A" )) ("ɑ"))
74((("B" )) ("β"))
75((("B" "\\" )) ("ʙ"))
76((("C" )) ("ç"))
77((("D" )) ("ð"))
78((("E" )) ("ɛ"))
79((("E" "`" )) ("ɝ"))
80((("F" )) ("ɱ"))
81((("G" )) ("ɣ"))
82((("G" "\\" )) ("ɢ"))
83((("G" "\\" "_" ">" )) ("ʛ"))
84((("H" )) ("ɥ"))
85((("H" "\\" )) ("ʜ"))
86((("I" )) ("ɪ"))
87((("J" )) ("ɲ"))
88((("J" "\\" )) ("ɟ"))
89((("J" "\\" "_" ">" )) ("ʄ"))
90((("K" )) ("ɬ"))
91((("K" "\\" )) ("ɮ"))
92((("L" )) ("ʎ"))
93((("L" "\\" )) ("ʟ"))
94((("M" )) ("ɯ"))
95((("M" "\\" )) ("ɰ"))
96((("N" )) ("ŋ"))
97((("N" "\\" )) ("ɴ"))
98((("O" )) ("ɔ"))
99((("O" "\\" )) ("ʘ"))
100((("P" )) ("ʋ"))
101((("Q" )) ("ɒ"))
102((("R" )) ("ʁ"))
103((("R" "\\" )) ("ʀ"))
104((("S" )) ("ʃ"))
105((("T" )) ("θ"))
106((("U" )) ("ʊ"))
107((("V" )) ("ʌ"))
108((("W" )) ("ʍ"))
109((("X" )) ("χ"))
110((("X" "\\")) ("ħ"))
111((("Y" )) ("ʏ"))
112((("Z" )) ("ʒ"))
113((("Z" "\\" )) ("ʓ"))
114((("[" )) ("[" ))
115((("]" )) ("]" ))
116((("^" )) ("↑" ))
117((("_" "\"" )) ("̈"))
118((("_" "+" )) ("̟"))
119((("_" "-" )) ("̠"))
120((("_" "/" )) ("̌"))
121((("_" )) ("̥" ))
122((("_" "1" )) ("₁"))
123((("_" "2" )) ("₂"))
124((("_" "3" )) ("₃"))
125((("_" "4" )) ("₄"))
126((("_" "5" )) ("₅"))
127((("_" "=" )) ("̩"))
128((("_" ">" )) ("ʼ"))
129((("_" "A" )) ("̘"))
130((("_" "B" )) ("̏"))
131((("_" "F" )) ("̂"))
132((("_" "G" )) ("ˠ"))
133((("_" "H" )) ("́"))
134((("_" "L" )) ("̀"))
135((("_" "M" )) ("̄"))
136((("_" "N" )) ("̼"))
137((("_" "O" )) ("̹"))
138((("_" "R" )) ("̌"))
139((("_" "T" )) ("̋"))
140((("_" "X" )) ("˘"))
141((("_" "?" "\\")) ("ˤ"))
142((("_" "\\" )) ("̂"))
143((("_" "^" )) ("̯"))
144((("_" "a" )) ("̺"))
145((("_" "c" )) ("̜"))
146((("_" "d" )) ("̪"))
147((("_" "e" )) ("̴"))
148((("_" "h" )) ("ʰ"))
149((("_" "j" )) ("ʲ"))
150((("_" "k" )) ("̰"))
151((("_" "l" )) ("ϡ"))
152((("_" "m" )) ("̻"))
153((("_" "n" )) ("ⁿ"))
154((("_" "o" )) ("̞"))
155((("_" "q" )) ("̙"))
156((("_" "r" )) ("̝"))
157((("_" "t" )) ("̤"))
158((("_" "v" )) ("̬"))
159((("_" "w" )) ("ʷ"))
160((("_" "x" )) ("̽"))
161((("_" "}" )) ("̚"))
162((("_" "~" )) ("̃"))
163((("`" )) ("˞"))
164((("a" )) ("a"))
165((("b" )) ("b"))
166((("b" "_" "<" )) ("ɓ"))
167((("c" )) ("c"))
168((("d" )) ("d"))
169((("d" "_" "<" )) ("ɗ"))
170((("d" "`" )) ("ɖ"))
171((("e" )) ("e"))
172((("f" )) ("f"))
173((("g" )) ("ɡ"))
174((("g" "_" "<" )) ("ɠ"))
175((("h" )) ("h"))
176((("h" "\\" )) ("ɦ"))
177((("i" )) ("i"))
178((("j" )) ("j"))
179((("j" "\\" )) ("ʝ"))
180((("k" )) ("k"))
181((("l" )) ("l"))
182((("l" "\\" )) ("ɺ"))
183((("l" "\\" "\\" )) ("ɼ"))
184((("l" "`" )) ("ɭ"))
185((("m" )) ("m"))
186((("n" )) ("n"))
187((("n" "`" )) ("ɳ"))
188((("o" )) ("o"))
189((("p" )) ("p"))
190((("p" "\\" )) ("ɸ"))
191((("q" )) ("q"))
192((("r" )) ("r"))
193((("r" "\\" )) ("ɹ"))
194((("r" "\\" "`" )) ("ɻ"))
195((("r" "`" )) ("ɽ"))
196((("s" )) ("s"))
197((("s" "\\" )) ("ɕ"))
198((("s" "`" )) ("ʂ"))
199((("t" )) ("t"))
200((("t" "`" )) ("ʈ"))
201((("u" )) ("u"))
202((("v" )) ("v"))
203((("v" "\\" )) ("ʋ"))
204((("w" )) ("w"))
205((("x" )) ("x"))
206((("x" "\\" )) ("ɧ"))
207((("y" )) ("y"))
208((("z" )) ("z"))
209((("z" "\\" )) ("ʑ"))
210((("z" "`" )) ("ʐ"))
211((("{" )) ("æ"))
212((("|" )) ("|"))
213((("|" "\\" )) ("ǀ"))
214((("|" "\\" "|" "\\" )) ("ǁ"))
215((("|" "|" )) ("‖"))
216((("}" )) ("ʉ"))
217((("~" )) ("̃"))))
218
219(define ipa-x-sampa-init-handler
220  (lambda (id im arg)
221    (generic-context-new id im ipa-x-sampa-rule #f)))
222
223(generic-register-im
224 'ipa-x-sampa
225 ""
226 "UTF-8"
227 (N_ "International Phonetic Alphabet (X-SAMPA)")
228 (N_ "International Phonetic Alphabet (X-SAMPA)")
229 ipa-x-sampa-init-handler)
230