Skip to content

Commit

Permalink
Merge branch 'master' into sencoten
Browse files Browse the repository at this point in the history
  • Loading branch information
srish authored Nov 26, 2024
2 parents 4f3cb9c + 7c496e7 commit 0d3decd
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 12 deletions.
46 changes: 35 additions & 11 deletions rules/nan/nan-latn-pehoeji-transliteration.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
version: '1.0',
maxKeyLength: 4,
patterns: [
[ '((a|á|à|â|ã|ā)i?|(a|a̍)h)nn', '$1ⁿ' ],
[ '((a|á|à|â|ã|ā)i?|(a|a̍)h)nn', '$1ⁿ' ],
[ '(^|[^io])a(ⁿ|iⁿ?|m|ng?|u)?1', '$1a$2' ],
[ '(^|[^io])a(ⁿ|iⁿ?|m|ng?|u)?(2|\\\/)', '$1á$2' ],
[ '(^|[^io])a(ⁿ|iⁿ?|m|ng?|u)?(3|\\\\)', '$1à$2' ],
Expand All @@ -21,16 +21,19 @@
[ '(^|[^io])a(ⁿ|iⁿ?|m|ng?|u)?(6|~)', '$1ã$2' ],
[ '(^|[^io])a(ⁿ|iⁿ?|m|ng?|u)?(7|_)', '$1ā$2' ],
[ '(^|[^io])a(p|t|k|hⁿ?|uh)(8|\')', '$1a̍$2' ],
[ '(e|é|è|eh|ê|ẽ|ē|e̍h)?nn', '$1ⁿ' ],
[ '(^|[^io])a(p|t|k|hⁿ?|uh)9', '$1ă$2' ],
[ '(^|[^io])a(ⁿ|iⁿ?|m|ng?|u)?9', '$1ă$2' ],
[ '(e|é|è|eh|ê|ẽ|ē|e̍h|ĕ)?nn', '$1ⁿ' ],
[ '(^|[^o])e(ⁿ|ng)1', '$1e$2' ],
[ '(^|[^o])e(ⁿ|ng)(2|\\\/)', '$1é$2' ],
[ '(^|[^o])e(ⁿ|ng)(3|\\\\)', '$1è$2' ],
[ '(^|[^o])e(hⁿ?|k)4', '$1e$2' ],
[ '(^|[^o])e(ⁿ|ng)(5|\\\^)', '$1ê$2' ],
[ '(^|[^o])e(ⁿ|ng)?(5|\\\^)', '$1ê$2' ],
[ '(^|[^o])e(ⁿ|ng)(6|~)', '$1ẽ$2' ],
[ '(^|[^o])e(ⁿ|ng)(7|_)', '$1ē$2' ],
[ '(^|[^o])e(hⁿ?|k)(8|\')', '$1e̍$2' ],
[ '(^|[^a])(i(a|á|à|â|ã|ā)|i(a|a̍)h|(i|í|ì|î|ĩ|ī)u?)nn', '$1$2ⁿ' ],
[ '(^|[^o])e(hⁿ?|k)9', '$1ĕ$2' ],
[ '(^|[^a])(i(a|á|à|â|ã|ā|ă)|i(a|a̍|ă)h|(i|í|ì|î|ĩ|ī|ĭ)u?)nn', '$1$2ⁿ' ],
[ 'ia(ⁿ?|m|ng?|uⁿ?)?1', 'ia$1' ],
[ '(^|[^a])i(ⁿ|m|n|uⁿ?)?1', '$1i$2' ],
[ 'io(ng)?1', 'io$1' ],
Expand Down Expand Up @@ -59,6 +62,14 @@
[ 'io(h|k)(8|\')', 'io̍$1' ],
[ 'iauh(8|\')', 'iau̍h' ],
[ 'iuh(ⁿ)?(8|\')', 'iu̍h$1' ],
[ 'ia(ⁿ?|m|ng?|uⁿ?)?9', 'iă$1' ],
[ '(^|[^a])i(ⁿ|m|n|ng|uⁿ?)?9', '$1ĭ$2' ],
[ 'io(ng)?9', 'iŏ$1' ],
[ 'ia(hⁿ?|k|p|t|ng)9', 'iă$1' ],
[ '(^|[^a])i(h|p|t)9', '$1ĭ$2' ],
[ 'io(h|k)9', 'iŏ$1' ],
[ 'iauh9', 'iaŭh' ],
[ 'iuh(ⁿ)?9', 'iŭh$1' ],
[ 'm1', 'm' ],
[ 'm(2|\\\/)', 'ḿ' ],
[ 'm(3|\\\\)', 'm̀' ],
Expand All @@ -67,14 +78,16 @@
[ 'm(6|~)', 'm̃' ],
[ 'm(7|_)', 'm̄' ],
[ 'mh(8|\')', 'm̍h' ],
[ '(^|[^aeo])ng1', '$1ng' ],
[ '(^|[^aeo])ng(2|\\\/)', '$1ńg' ],
[ '(^|[^aeo])ng(3|\\\\)', '$1ǹg' ],
[ 'm9', 'm̆'],
[ '(^|[^aeoAEO])ng1', '$1ng' ],
[ '(^|[^aeoAEO])ng(2|\\\/)', '$1ńg' ],
[ '(^|[^aeoAEO])ng(3|\\\\)', '$1ǹg' ],
[ 'n(g)?h4', 'n$1h' ],
[ '(^|[^aeo])ng(5|\\\^)', '$1n̂g' ],
[ '(^|[^aeo])ng(6|~)', '$1ñg' ],
[ '(^|[^aeo])ng(7|_)', '$1n̄g' ],
[ '(^|[^aeoAEO])ng(5|\\\^)', '$1n̂g' ],
[ '(^|[^aeoAEO])ng(6|~)', '$1ñg' ],
[ '(^|[^aeoAEO])ng(7|_)', '$1n̄g' ],
[ 'n(g)?h(8|\')', 'n̍$1h' ],
[ '(^|[^aeoI])ng9', '$1n̆g' ],
[ '(o(a|á|à|â|ã|ā|a̍)i|(o|ó|ò|ô|õ|ō)a?|(o|o̍)h)nn', '$1ⁿ' ],
[ '(^|[^i])oa(h|iⁿ?|ng?|t)?1', '$1oa$2' ],
[ '(^|[^i])o(ⁿ|aⁿ?|e|m|ng)?1', '$1o$2' ],
Expand Down Expand Up @@ -107,6 +120,7 @@
[ 'ōu', 'ō͘' ],
[ 'o͘h(8|\')', 'o̍͘h' ],
[ 'o̍u', 'o̍͘' ],
[ 'ŏu', 'ŏ͘' ],
[ '(^|[^ai])u(i|n)?1', '$1u$2' ],
[ '(^|[^ai])u(i|n)?(2|\\\/)', '$1ú$2' ],
[ '(^|[^ai])u(i|n)?(3|\\\\)', '$1ù$2' ],
Expand All @@ -129,7 +143,7 @@
[ '(^|[^o])E(ⁿ|ng)(2|\\\/)', '$1É$2' ],
[ '(^|[^o])E(ⁿ|ng)(3|\\\\)', '$1È$2' ],
[ '(^|[^o])E(hⁿ?|k)4', '$1E$2' ],
[ '(^|[^o])E(ⁿ|ng)(5|\\\^)', '$1Ê$2' ],
[ '(^|[^o])E(ⁿ|ng)?(5|\\\^)', '$1Ê$2' ],
[ '(^|[^o])E(ⁿ|ng)(6|~)', '$1Ẽ$2' ],
[ '(^|[^o])E(ⁿ|ng)(7|_)', '$1Ē$2' ],
[ '(^|[^o])E(hⁿ?|k)(8|\')', '$1E̍$2' ],
Expand Down Expand Up @@ -162,6 +176,14 @@
[ 'Io(h|k)(8|\')', 'Io̍$1' ],
[ 'Iauh(8|\')', 'Iau̍h' ],
[ 'Iuh(ⁿ)?(8|\')', 'Iu̍h$1' ],
[ 'Ia(ⁿ?|m|ng?|uⁿ?)?(7|_)', 'Iā$1' ],
[ '(^|[^a])I(ⁿ|m|n|ng|uⁿ?)?(7|_)', '$1Ĭ$2' ],
[ 'Io(ng)?(7|_)', 'Iŏ$1' ],
[ 'Ia(hⁿ?|k|p|t)9', 'Iă$1' ],
[ '(^|[^a])I(h|p|t|ng)9', '$1Ĭ$2' ],
[ 'Io(h|k)9', 'Iŏ$1' ],
[ 'Iauh9', 'Iaŭh' ],
[ 'Iuh(ⁿ)?9', 'Iŭh$1' ],
[ 'M1', 'M' ],
[ 'M(2|\\\/)', 'Ḿ' ],
[ 'M(3|\\\\)', 'M̀' ],
Expand All @@ -170,6 +192,7 @@
[ 'M(6|~)', 'M̃' ],
[ 'M(7|_)', 'M̄' ],
[ 'Mh(8|\')', 'M̍h' ],
[ 'M9', 'M̆'],
[ '(^|[^aeo])Ng1', '$1Ng' ],
[ '(^|[^aeo])Ng(2|\\\/)', '$1Ńg' ],
[ '(^|[^aeo])Ng(3|\\\\)', '$1Ǹg' ],
Expand All @@ -178,6 +201,7 @@
[ '(^|[^aeo])Ng(6|~)', '$1Ñg' ],
[ '(^|[^aeo])Ng(7|_)', '$1N̄g' ],
[ 'N(g)?h(8|\')', 'N̍$1h' ],
[ 'N(g)?9', 'N̆$1'],
[ '(O(a|á|à|â|ã|ā|a̍)i|(O|Ó|Ò|Ô|Õ|Ō)a?|(O|O̍)h)nn', '$1ⁿ' ],
[ '(^|[^i])Oa(h|iⁿ?|ng?|t)?1', '$1Oa$2' ],
[ '(^|[^i])O(ⁿ|aⁿ?|e|m|ng)?1', '$1O$2' ],
Expand Down
27 changes: 26 additions & 1 deletion test/jquery.ime.test.fixtures.js
Original file line number Diff line number Diff line change
Expand Up @@ -5157,7 +5157,32 @@ var palochkaVariants = {
{ input: 'ap\'', output: 'a̍p', description: 'Hokkien Pe̍h-ōe-jī a̍p' },
{ input: 'khoann3', output: 'khòaⁿ', description: 'Hokkien Pe̍h-ōe-jī khòaⁿ' },
{ input: 'khoai3', output: 'khoài', description: 'Hokkien Pe̍h-ōe-jī khoài' },
{ input: 'ouh8', output: 'o̍͘h', description: 'Hokkien Pe̍h-ōe-jī o̍͘h' }
{ input: 'ouh8', output: 'o̍͘h', description: 'Hokkien Pe̍h-ōe-jī o̍͘h' },
{ input: 'e5', output: 'ê', description: 'Hokkien Pe̍h-ōe-jī ê'},
{ input: 'eng2', output: 'éng', description: 'Hokkien Pe̍h-ōe-jī éng'},
// Ninth tone tests, taken from https://bitesizetaiwanese.com/ep06-the-ninth-tone/
// Japanese loanwords
{ input: 'ian9-jin2', output: 'iăn-jín', description: 'Hokkien Pe̍h-ōe-jī iăn-jín'},
{ input: 'lai9-lin2-guh4', output: 'lăi-lín-guh', description: 'Hokkien Pe̍h-ōe-jī lăi-lín-guh'},
{ input: 'khan9-bang2', output: 'khăn-báng', description: 'Hokkien Pe̍h-ōe-jī khăn-báng'},
{ input: 'lin9-jin2', output: 'lĭn-jín', description: 'Hokkien Pe̍h-ōe-jī lĭn-jín'},
{ input: 'han9-tou2-luh4', output: 'hăn-tó͘-luh', description: 'Hokkien Pe̍h-ōe-jī hăn-tó͘-luh'},
{ input: 'pha9-sian3-tou3', output: 'phă-siàn-tò͘', description: 'Hokkien Pe̍h-ōe-jī phă-siàn-tò͘'},
{ input: 'sam9-phu2-luh4', output: 'săm-phú-luh', description: 'Hokkien Pe̍h-ōe-jī săm-phú-luh'},
// Contractions
{ input: 'ing9', output: 'ĭng', description: 'Hokkien Pe̍h-ōe-jī ĭng'},
{ input: 'tsang9', output: 'tsăng', description: 'Hokkien Pe̍h-ōe-jī tsăng'},
{ input: 'tiong9', output: 'tiŏng', description: 'Hokkien Pe̍h-ōe-jī tiŏng'},
{ input: 'lai9', output: 'lăi', description: 'Hokkien Pe̍h-ōe-jī lăi'},
{ input: 'tann9', output: 'tăⁿ', description: 'Hokkien Pe̍h-ōe-jī tăⁿ'},
{ input: 'tsau9-kiann2', output: 'tsău-kiáⁿ', description: 'Hokkien Pe̍h-ōe-jī tsău-kiáⁿ'},
{ input: 'tsuan9', output: 'tsuăn', description: 'Hokkien Pe̍h-ōe-jī tsuăn'},
{ input: 'tsuann9', output: 'tsuăⁿ', description: 'Hokkien Pe̍h-ōe-jī tsuăⁿ'},
{ input: 'bua9-kin2', output: 'buă-kín', description: 'Hokkien Pe̍h-ōe-jī buă-kín'},
// Capitalization tests
{ input: 'E5', output: 'Ê', description: 'Hokkien Pe̍h-ōe-jī Ê'},
{ input: 'Ing9', output: 'Ĭng', description: 'Hokkien Pe̍h-ōe-jī Ĭng'},
{ input: 'Eng2', output: 'Éng', description: 'Hokkien Pe̍h-ōe-jī Éng'},
]
},
{
Expand Down

0 comments on commit 0d3decd

Please sign in to comment.