| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 | // eSpeak Korean rules
// This file is UTF8 encoded
// char names (mostly to catch "ng" sound):
.group ᄋ
ᄋ	i;'u-N
.replace
// Note: These specific range of "normalized" unicode characters of Korean are
//   hardly used as individually, and look broken and badly aligned in most
//   fonts.
//   We're using hard tabs so that we can recognize where they are placed at
//   the first place.
// Stop finals and their consorts: ㄱㄲㅋ ㄷㅌ ㅂㅍ ㅅㅆㅈㅊ
.L01	ᆨ	ᆩ	ᆿ	ᆮ	ᇀ	ᆸ	ᇁ	ᆺ	ᆻ	ᆽ	ᆾ	ᆪ	ᆹ	ᆬ	ᆰ	ᆱ	ᆲ	ᆳ	ᆴ	ᆵ
// i and j-vowels: ㅣ ㅑㅒ ㅕㅖ ㅛㅠ
.L02	ᅵ	ᅣ	ᅤ	ᅧ	ᅨ	ᅭ	ᅲ
// h-finals: ㅎ ㄶㅀ
.L03	ᇂ	ᆭ	ᆶ
// Char names:
// Initials
// Order: ㄱㄲㅋ ㄷㄸㅌ ㅂㅃㅍ ㅅㅆㅈㅉㅊ ㄴㅁ ㄹ ㅎ
.group		ᄀ	// ㄱ
		ᄀ	q
	_)	ᄀ	g
	L01)	ᄀ	k-
	L03)	ᄀ	kh
.group		ᄁ	// ㄲ
		ᄁ	q-
.group		ᄏ	// ㅋ
		ᄏ	kh
.group		ᄃ	// ㄷ
		ᄃ	d
	_)	ᄃ	d
	L01)	ᄃ	t-
	L03)	ᄃ	th
.group		ᄄ	// ㄸ
		ᄄ	t-
.group		ᄐ	// ㅌ
		ᄐ	th
.group		ᄇ	// ㅂ
		ᄇ	b
	_)	ᄇ	p
	L01)	ᄇ	p-
	L03)	ᄇ	ph
.group		ᄈ	// ㅃ
		ᄈ	p-
.group		ᄑ	// ㅍ
		ᄑ	ph
.group		ᄉ	// ㅅ
		ᄉ	|s
	L01)	ᄉ	s-
.group		ᄊ	// ㅆ
		ᄊ	s-	// TODO: phoneme
.group		ᄌ	// ㅈ
		ᄌ	dZ;
	_)	ᄌ	tS;
	L01)	ᄌ	tS;-
	L03)	ᄌ	tSh;
.group		ᄍ	// ㅉ
		ᄍ	'tS;-	// TODO: phoneme
.group		ᄎ	// ㅊ
		ᄎ	tSh	// TODO: phoneme
.group		ᄂ	// ㄴ
		ᄂ	;n
.group		ᄆ	// ㅁ
		ᄆ	;m
.group		ᄅ	// ㄹ
		ᄅ		*	// TODO: alveolar flap [ɾ]
		ᄅ	(_	l
.group		ᄒ	// ㅎ
		ᄒ	h	// TODO: [ɦ]
	_)	ᄒ	h
// Medials or vowels
.group		ᅡ	// ㅏ
		ᅡ	a
.group		ᅢ	// ㅐ
		ᅢ	E
.group		ᅣ	// ㅑ
		ᅣ	ja
.group		ᅤ	// ㅒ
		ᅤ	jE
.group		ᅥ	// ㅓ
		ᅥ	@
.group		ᅦ	// ㅔ
		ᅦ	e
.group		ᅧ	// ㅕ
		ᅧ	j@
.group		ᅨ	// ㅖ
		ᅨ	je
.group		ᅩ	// ㅗ
		ᅩ	o
.group		ᅪ	// ㅘ
		ᅪ	wa
.group		ᅫ	// ㅙ
		ᅫ	wE
.group		ᅬ	// ㅚ
		ᅬ	we	// was [Y] until 1970s
.group		ᅭ	// ㅛ
		ᅭ	jo
.group		ᅮ	// ㅜ
		ᅮ	u
.group		ᅯ	// ㅝ
		ᅯ	w@
.group		ᅰ	// ㅞ
		ᅰ	we
.group		ᅱ	// ㅟ
		ᅱ	wi	// was [y] until 1970s
.group		ᅲ	// ㅠ
		ᅲ	ju
.group		ᅳ	// ㅡ
		ᅳ	u-
.group		ᅴ	// ㅢ
		ᅴ	u-j	// TODO: [ɰi]
	C)	ᅴ	i
.group		ᅵ	// ㅣ
		ᅵ	i
// Finals
// Order: ㄱㄳㄲㅋ ㄷㅌ ㅂㅍ ㅅㅆㅈㅊ ㄴㅁ ㅇㅎ ㄹ
.group		ᆨ	// ㄱ
		ᆨ		q	// It is actually q, as using k adds unnecessary sound.
		ᆨᄒ		kh
.group		ᆪ	// ㄳ
		ᆪ		k
		ᆪ	(A	ks
		ᆪᄒ		kh
.group		ᆩ	// ㄲ
		ᆩ		k
		ᆩ	(A	k-
		ᆩᄒ		kh	// 꺾히다
.group		ᆿ	// ㅋ
		ᆿ		k
		ᆿ	(A	kh
.group		ᆮ	// ㄷ
		ᆮ		d- // Actually a soft D.
		ᆮᄂ		nn
		ᆮᄆ		mm
		ᆮᄒ		th
		ᆮ	(L02	dZ;
.group		ᇀ	// ㅌ
		ᇀ		t-
		ᇀᄂ		nn
		ᇀᄆ		mm
		ᇀ	(A	th
		ᇀ	(L02	tS;h
.group		ᆸ	// ㅂ
		ᆸ		p
		ᆸᄒ		ph
.group		ᆹ	// ㅄ
		ᆹ		p
		ᆹ	(A	ps-
		ᆹᄒ		ps-
.group		ᇁ	// ㅍ
		ᇁ		p
		ᇁ	(A	ph
.group		ᆺ	// ㅅ
		ᆺ		t-
		ᆺᄂ		nn
		ᆺᄆ		mm
		ᆺ	(A	s
		ᆺᄒ		s-
.group		ᆻ	// ㅆ
		ᆻ		t-
		ᆻᄂ		nn
		ᆻᄆ		mm
		ᆻ	(A	s-
.group		ᆽ	// ㅈ
		ᆽ		t
		ᆽᄂ		nn
		ᆽᄆ		mm
		ᆽ	(A	tS;
.group		ᆾ	// ㅊ
		ᆾ		t
		ᆾᄂ		nn
		ᆾᄆ		mm
		ᆾ	(A	tS;h
.group		ᆫ	// ㄴ
		ᆫ		n
.group		ᆬ	// ㄵ
		ᆬ		n
		ᆬ	(A	ndZ;
.group		ᆭ	// ㄶ
		ᆭ		n
		ᆭ	(A	n	// no nh
.group		ᆷ	// ㅁ
		ᆷ		m
.group		ᆼ	// ㅇ
		ᆼ		N
.group		ᇂ	// ㅎ
		ᇂ		t-
		ᇂ	(A
.group		ᆯ	// ㄹ
		ᆯ		L
		ᆯᄅ		l
		ᆯ	(A	*
.group		ᆰ	// ㄺ
		ᆰ		k
		ᆰ	(A	lg
.group		ᆱ	// ㄻ
		ᆱ		m
		ᆱ	(A	lm
.group		ᆲ	// ㄼ
		ᆲ		p
		ᆲ	(A	lb
.group		ᆳ	// ㄽ
		ᆳ		l
		ᆳ	(A	ls
.group		ᆴ	// ㄾ
		ᆴ		l
		ᆴ	(A	lth
.group		ᆵ	// ㄿ
		ᆵ		p
		ᆵ	(A	lph
.group		ᆶ	// ㅀ
		ᆶ		l
		ᆶ	(A	*
.group
       .
       ː
 |