2020-05-15 08:04:18 +02:00
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
# https://www.phon.ucl.ac.uk/home/sampa/x-sampa.htm
|
2020-05-19 14:59:47 +02:00
|
|
|
# https://www.phon.ucl.ac.uk/home/sampa/ipasam-x.pdf TODO
|
2020-05-15 08:04:18 +02:00
|
|
|
|
|
|
|
|
XSAMPA_TO_IPA = {
|
2025-12-28 13:39:42 +01:00
|
|
|
"!": "\ua71c",
|
|
|
|
|
"!\\": "\u01c3",
|
|
|
|
|
"%": "\u02cc",
|
2020-05-17 10:22:05 +02:00
|
|
|
"&": "\u0276",
|
2025-12-28 13:39:42 +01:00
|
|
|
"'": "\u02b2",
|
|
|
|
|
"-\\": "\u203f",
|
2020-05-17 10:22:05 +02:00
|
|
|
"1": "\u0268",
|
|
|
|
|
"2": "\u00f8",
|
2025-12-28 13:39:42 +01:00
|
|
|
"3": "\u025c",
|
|
|
|
|
"3\\": "\u025e",
|
|
|
|
|
"4": "\u027e",
|
2020-05-17 10:22:05 +02:00
|
|
|
"5": "\u026b",
|
|
|
|
|
"6": "\u0250",
|
|
|
|
|
"7": "\u0264",
|
|
|
|
|
"8": "\u0275",
|
|
|
|
|
"9": "\u0153",
|
2025-12-28 13:39:42 +01:00
|
|
|
":": "\u02d0",
|
|
|
|
|
":\\": "\u02d1",
|
|
|
|
|
"<B>": "\u02e9",
|
2020-05-17 10:22:05 +02:00
|
|
|
"<F>": "\u2198",
|
2025-12-28 13:39:42 +01:00
|
|
|
"<H>": "\u02e6",
|
|
|
|
|
"<L>": "\u02e8",
|
|
|
|
|
"<M>": "\u02e7",
|
2020-05-17 10:22:05 +02:00
|
|
|
"<R>": "\u2197",
|
2025-12-28 13:39:42 +01:00
|
|
|
"<T>": "\u02e5",
|
|
|
|
|
"<\\": "\u02a2",
|
2020-05-17 10:22:05 +02:00
|
|
|
"=": "\u0329",
|
2025-12-28 13:39:42 +01:00
|
|
|
"=\\": "\u01c2",
|
|
|
|
|
">\\": "\u02a1",
|
2020-05-17 10:22:05 +02:00
|
|
|
"?": "\u0294",
|
|
|
|
|
"?\\": "\u0295",
|
|
|
|
|
"@": "\u0259",
|
|
|
|
|
"@\\": "\u0258",
|
|
|
|
|
"A": "\u0251",
|
2025-12-28 13:39:42 +01:00
|
|
|
"B": "\u03b2",
|
2020-05-17 10:22:05 +02:00
|
|
|
"B\\": "\u0299",
|
2025-12-28 13:39:42 +01:00
|
|
|
"C": "\u00e7",
|
|
|
|
|
"D": "\u00f0",
|
|
|
|
|
"E": "\u025b",
|
2020-05-17 10:22:05 +02:00
|
|
|
"F": "\u0271",
|
2020-05-15 08:04:18 +02:00
|
|
|
"G": "\u0263",
|
2020-05-17 10:22:05 +02:00
|
|
|
"G\\": "\u0262",
|
2025-12-28 13:39:42 +01:00
|
|
|
"G\\_<": "\u029b",
|
2020-05-17 10:22:05 +02:00
|
|
|
"H": "\u0265",
|
2025-12-28 13:39:42 +01:00
|
|
|
"H\\": "\u029c",
|
|
|
|
|
"I": "\u026a",
|
2020-05-17 10:22:05 +02:00
|
|
|
"J": "\u0272",
|
2025-12-28 13:39:42 +01:00
|
|
|
"J\\": "\u025f",
|
2020-05-17 10:22:05 +02:00
|
|
|
"J\\_<": "\u0284",
|
2025-12-28 13:39:42 +01:00
|
|
|
"K": "\u026c",
|
|
|
|
|
"K\\": "\u026e",
|
|
|
|
|
"L": "\u028e",
|
|
|
|
|
"L\\": "\u029f",
|
|
|
|
|
"M": "\u026f",
|
2020-05-17 10:22:05 +02:00
|
|
|
"M\\": "\u0270",
|
2025-12-28 13:39:42 +01:00
|
|
|
"N": "\u014b",
|
2020-05-17 10:22:05 +02:00
|
|
|
"N\\": "\u0274",
|
2020-05-15 08:04:18 +02:00
|
|
|
"O": "\u0254",
|
2020-05-17 10:22:05 +02:00
|
|
|
"O\\": "\u0298",
|
2025-12-28 13:39:42 +01:00
|
|
|
"P": "\u028b",
|
2020-05-15 08:04:18 +02:00
|
|
|
"Q": "\u0252",
|
2020-05-17 10:22:05 +02:00
|
|
|
"R": "\u0281",
|
|
|
|
|
"R\\": "\u0280",
|
|
|
|
|
"S": "\u0283",
|
2025-12-28 13:39:42 +01:00
|
|
|
"T": "\u03b8",
|
|
|
|
|
"U": "\u028a",
|
|
|
|
|
"V": "\u028c",
|
|
|
|
|
"W": "\u028d",
|
|
|
|
|
"X": "\u03c7",
|
2020-05-17 10:22:05 +02:00
|
|
|
"X\\": "\u0127",
|
2025-12-28 13:39:42 +01:00
|
|
|
"Y": "\u028f",
|
2020-05-17 10:22:05 +02:00
|
|
|
"Z": "\u0292",
|
2025-12-28 13:39:42 +01:00
|
|
|
"^": "\ua71b",
|
2020-05-15 08:04:18 +02:00
|
|
|
"_": "\u0361",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_+": "\u031f",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_-": "\u0320",
|
|
|
|
|
"_0": "\u0325",
|
|
|
|
|
"_=": "\u0329",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_>": "\u02bc",
|
|
|
|
|
"_?\\": "\u02e4",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_A": "\u0318",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_B": "\u030f",
|
|
|
|
|
"_B_L": "\u1dc5",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_F": "\u0302",
|
2020-05-15 08:04:18 +02:00
|
|
|
"_F_R": "\u1dc9",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_G": "\u02e0",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_H": "\u0341",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_H_T": "\u1dc4",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_L": "\u0340",
|
|
|
|
|
"_M": "\u0304",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_N": "\u033c",
|
2020-05-15 08:04:18 +02:00
|
|
|
"_O": "\u0339",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_R": "\u030c",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_R_F": "\u1dc8",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_T": "\u030b",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_X": "\u0306",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_^": "\u032f",
|
|
|
|
|
"_a": "\u033a",
|
|
|
|
|
"_c": "\u031c",
|
|
|
|
|
"_d": "\u032a",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_e": "\u0334",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_h": "\u02b0",
|
|
|
|
|
"_j": "\u02b2",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_k": "\u0330",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_l": "\u02e1",
|
|
|
|
|
"_m": "\u033b",
|
|
|
|
|
"_n": "\u207f",
|
|
|
|
|
"_o": "\u031e",
|
2020-05-15 08:04:18 +02:00
|
|
|
"_q": "\u0319",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_r": "\u031d",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_t": "\u0324",
|
2025-12-28 13:39:42 +01:00
|
|
|
"_v": "\u032c",
|
|
|
|
|
"_w": "\u02b7",
|
|
|
|
|
"_x": "\u033d",
|
|
|
|
|
"_}": "\u031a",
|
2020-05-17 10:22:05 +02:00
|
|
|
"_~": "\u0303",
|
2025-12-28 13:39:42 +01:00
|
|
|
"`": "\u02de",
|
2020-05-17 10:22:05 +02:00
|
|
|
"b_<": "\u0253",
|
|
|
|
|
"d_<": "\u0257",
|
|
|
|
|
"d`": "\u0256",
|
2025-12-28 13:39:42 +01:00
|
|
|
"d`_<": "\u1d91",
|
2020-05-17 10:22:05 +02:00
|
|
|
"g_<": "\u0260",
|
|
|
|
|
"h\\": "\u0266",
|
2025-12-28 13:39:42 +01:00
|
|
|
"j\\": "\u029d",
|
|
|
|
|
"l\\": "\u027a",
|
|
|
|
|
"l`": "\u026d",
|
2020-05-17 10:22:05 +02:00
|
|
|
"n`": "\u0273",
|
|
|
|
|
"p\\": "\u0278",
|
|
|
|
|
"r\\": "\u0279",
|
2025-12-28 13:39:42 +01:00
|
|
|
"r\\`": "\u027b",
|
|
|
|
|
"r` ": "\u027d",
|
2020-05-17 10:22:05 +02:00
|
|
|
"s\\": "\u0255",
|
|
|
|
|
"s`": "\u0282",
|
|
|
|
|
"t`": "\u0288",
|
2025-12-28 13:39:42 +01:00
|
|
|
"v\\": "\u028b",
|
2020-05-17 10:22:05 +02:00
|
|
|
"x\\": "\u0267",
|
|
|
|
|
"z\\": "\u0291",
|
|
|
|
|
"z`": "\u0290",
|
2025-12-28 13:39:42 +01:00
|
|
|
"{": "\u00e6",
|
|
|
|
|
"|\\": "\u01c0",
|
|
|
|
|
"|\\|\\": "\u01c1",
|
2020-05-17 10:22:05 +02:00
|
|
|
"}": "\u0289",
|
|
|
|
|
"~": "\u0303",
|
2025-12-28 13:39:42 +01:00
|
|
|
'"': "\u02c8",
|
2020-05-17 10:22:05 +02:00
|
|
|
'_"': "\u0308",
|
2020-05-15 08:04:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2020-06-04 13:29:01 +02:00
|
|
|
text = sys.stdin.read()
|
2020-05-15 08:04:18 +02:00
|
|
|
|
|
|
|
|
for xsampa, ipa in sorted(XSAMPA_TO_IPA.items(), key=lambda item: -len(item[0])):
|
|
|
|
|
text = text.replace(xsampa, ipa)
|
|
|
|
|
|
|
|
|
|
sys.stdout.write(text)
|