| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 | // Japanese
//
// Copyright (C) 2017 Reece H. Dunn
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, see: <http://www.gnu.org/licenses/>.
.replace
	// Decompose combined Unicode Hiragana glyphs (base + sound mark)
	が	が	// ga:	U+304C => U+304B U+3099
	ぎ	ぎ	// gi:	U+304E => U+304D U+3099
	ぐ	ぐ	// gu:	U+3050 => U+304F U+3099
	げ	げ	// ge:	U+3052 => U+3051 U+3099
	ご	ご	// go:	U+3054 => U+3053 U+3099
	ざ	ざ	// za:	U+3056 => U+3055 U+3099
	じ	じ	// ji:	U+3058 => U+3057 U+3099
	ず	ず	// zu:	U+305A => U+3059 U+3099
	ぜ	ぜ	// ze:	U+305C => U+305B U+3099
	ぞ	ぞ	// zo:	U+305E => U+305D U+3099
	だ	だ	// da:	U+3060 => U+305F U+3099
	ぢ	ぢ	// ji:	U+3062 => U+3061 U+3099 (obsolete)
	づ	づ	// zu:	U+3064 => U+3063 U+3099
	で	で	// de:	U+3066 => U+3065 U+3099
	ど	ど	// do:	U+3068 => U+3067 U+3099
	ば	ば	// ba:	U+3070 => U+305F U+3099
	ぱ	ぱ	// pa:	U+3071 => U+305F U+309A
	び	び	// bi:	U+3073 => U+3072 U+3099
	ぴ	ぴ	// pi:	U+3074 => U+3072 U+309A
	ぶ	ぶ	// bu:	U+3076 => U+3075 U+3099
	ぷ	ぷ	// pu:	U+3077 => U+3075 U+309A
	べ	べ	// be:	U+3079 => U+3078 U+3099
	ぺ	ぺ	// pe:	U+307A => U+3078 U+309A
	ぼ	ぼ	// bo:	U+307C => U+307B U+3099
	ぽ	ぽ	// po:	U+307D => U+307B U+309A
	ゔ	ゔ	// vu:	U+3094 => U+3046 U+3099 (obsolete)
// Hiragana
.L01	か き く け こ		// k
.L02	が ぎ ぐ げ ご		// g
.L03	さ    す せ そ 		// s
.L04	   し        		// sh
.L05	ざ    ず ぜ ぞ づ	// z
.L06	   じ          ぢ	// j
.L07	た       て と 		// t
.L08	   ち      		// ch
.L09	      つ		// ts
.L10	だ       で ど		// d
.L11	な に ぬ ね の		// n
.L12	は ひ    へ ほ		// h
.L13	      ふ		// f
.L14	ば び ぶ べ ぼ		// b
.L15	ぱ ぴ ぷ ぺ ぽ		// p
.L16	ま み む め も		// m
.L17	や    ゆ    よ		// y
.L18	ら り る れ ろ		// r
.L19	わ ゐ    ゑ を		// w
.L20	あ い う え お		// vowel
.group あ
	あ	a_"		// a
.group い
	い	i		// i
.group う
	う	M_Bo		// u
	ゔ	vM_Bo		// vu
.group え
	え	e_o		// e
.group お
	お	o_o		// o
.group か
	か	ka_"		// ka
	が	ga_"		// ga
.group き
	き	ki		// ki
	きゃ	k_ja_"		// kya
	きゅ	k_jM_Bo		// kyu
	きょ	k_jo_o		// kyo
	ぎ	gi		// gi
	ぎゃ	g_ja_"		// gya
	ぎゅ	g_jM_Bo		// gyu
	ぎょ	g_jo_o		// gyo
.group く
	く	kM_Bo		// ku
	ぐ	gM_Bo		// gu
.group け
	け	ke_o		// ke
	げ	ge_o		// ge
.group こ
	こ	ko_o		// ko
	ご	go_o		// go
.group さ
	さ	sa_"		// sa
	ざ	za_"		// za
.group し
	し	s\\i		// shi
	しゃ	s\\a_"		// sha
	しゅ	s\\M_Bo		// shu
	しょ	s\\o_o		// sho
	じ	d_z\\i		// ji
	じゃ	d_z\\a_"	// ja
	じゅ	d_z\\M_Bo	// ju
	じょ	d_z\\o_o	// jo
.group す
	す	sM_Bo		// su
	ず	zM_Bo		// zu
.group せ
	せ	se_o		// se
	ぜ	ze_o		// ze
.group そ
	そ	so_o		// so
	ぞ	zo_o		// zo
.group た
	た	ta_"		// ta
	だ	da_"		// da
.group ち
	ち	t_s\\i		// chi
	ちゃ	t_s\\a_"	// cha
	ちゅ	t_s\\M_Bo	// chu
	ちょ	t_s\\o_o	// cho
	ぢ	d_z\\i		// ji (obsolete)
	ぢゃ	d_z\\a_"	// ja (obsolete)
	ぢゅ	d_z\\M_Bo	// ju (obsolete)
	ぢょ	d_z\\o_o	// jo (obsolete)
.group つ
	つ	t_sM_Bo		// tsu
	づ	zM_Bo		// zu
.group て
	て	te_o		// te
	で	de_o		// de
.group と
	と	to_o		// to
	ど	do_o		// do
.group な
	な	na_"		// na
.group に
	に	ni		// ni
	にゃ	n_ja_"		// nya
	にゅ	n_jM_Bo		// nyu
	にょ	n_jo_o		// nyo
.group ぬ
	ぬ	nM_Bo		// nu
.group ね
	ね	ne_o		// ne
.group の
	の	no_o		// no
.group は
	は	ha_"		// ha
	ば	ba_"		// ba
	ぱ	pa_"		// pa
.group ひ
	ひ	Ci		// hi
	ひゃ	Ca_"		// hya
	ひゅ	CM_Bo		// hyu
	ひょ	Co_o		// hyo
	び	bi		// bi
	びゃ	b_ja_"		// bya
	びゅ	b_jM_Bo		// byu
	びょ	b_jo_o		// byo
	ぴ	pi		// pi
	ぴゃ	p_ja_"		// pya
	ぴゅ	p_jM_Bo		// pyu
	ぴょ	p_jo_o		// pyo
.group ふ
	ふ	p\\M_Bo		// fu
	ぶ	bM_Bo		// bu
	ぷ	pM_Bo		// pu
.group へ
	へ	he_o		// he
	べ	be_o		// be
	ぺ	pe_o		// pe
.group ほ
	ほ	ho_o		// ho
	ぼ	bo_o		// bo
	ぽ	po_o		// po
.group ま
	ま	ma_"		// ma
.group み
	み	mi		// mi
	みゃ	m_ja_"		// mya
	みゅ	m_jM_Bo		// myu
	みょ	m_jo_o		// myo
.group む
	む	mM_Bo		// mu
.group め
	め	me_o		// me
.group も
	も	mo_o		// mo
.group や
	や	ja_"		// ya
.group ゆ
	ゆ	jM_Bo		// yu
.group よ
	よ	jo_o		// yo
.group ら
	ら	r`a_"		// ra
.group り
	り	r`i		// ri
	りゃ	r`_ja_"		// rya
	りゅ	r`_jM_Bo	// ryu
	りょ	r`_jo_o		// ryo
.group る
	る	rM_Bo		// ru
.group れ
	れ	re_o		// re
.group ろ
	ろ	ro_o		// ro
.group わ
	わ	wa_"		// wa
.group ゐ
	ゐ	i		// wi (obsolete)
.group ゑ
	ゑ	we_o		// we (obsolete)
.group を
	を	o_o		// wo
.group ん
		ん		N\\	//    n
		ん	(L01	N	//    n (k
		ん	(L02	N	//    n (g
		ん	(L03	u~	//    n (s
	い)	ん	(L03	i~	// i) n (s
		ん	(L04	u~	//    n (sh
	い)	ん	(L04	i~	// i) n (sh
		ん	(L05	n	//    n (z
		ん	(L06	n	//    n (j
		ん	(L07	n	//    n (t
		ん	(L08	n	//    n (ch
		ん	(L09	n	//    n (ts
		ん	(L10	n	//    n (d
		ん	(L11	n	//    n (n
		ん	(L12	u~	//    n (h
	い)	ん	(L12	i~	// i) n (h
		ん	(L13	u~	//    n (f
	い)	ん	(L13	i~	// i) n (f
		ん	(L14	m	//    n (b
		ん	(L15	m	//    n (p
		ん	(L16	m	//    n (m
		ん	(L17	u~	//    n (y
	い)	ん	(L17	i~	// i) n (y
		ん	(L18	n	//    n (r
		ん	(L19	u~	//    n (w
	い)	ん	(L19	i~	// i) n (w
		ん	(L20	u~	//    n ([vowel]
	い)	ん	(L20	i~	// i) n ([vowel]
 |