Skip to content

Commit

Permalink
Merge branch 'master' into fix_775
Browse files Browse the repository at this point in the history
  • Loading branch information
srish authored Nov 26, 2024
2 parents fc530ec + b170943 commit 07468d5
Show file tree
Hide file tree
Showing 4 changed files with 135 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
46 changes: 46 additions & 0 deletions rules/str/str-sencoten.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
( function ( $ ) {
'use strict';

var strSencoten = {
id: 'str-sencoten',
name: 'SENĆOŦEN Keyboard',
description: 'Saanich SENĆOŦEN Keyboard',
date: '2024-11-23',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Anne Drew Hu',
license: 'MIT',
version: '1.0',
maxKeyLength: 4,
patterns: [
[ 'S', 's' ],
[ '([a-z])', function ( $1 ) {
return $1.toUpperCase();
} ],
[ 'A\'', 'Á' ],
[ 'A/', 'Ⱥ' ],
[ 'C\'', 'Ć' ],
[ 'C/', 'Ȼ' ],
[ 'I\'', 'Í' ],
[ ',', '¸' ],
[ '<', ','],
[ 'K-', '₭' ],
[ 'K_', 'Ḵ' ],
[ 'K;', 'Ḵ' ],
[ 'K\'', 'Ḱ' ],
[ 'L-', 'Ƚ' ],
[ 'N_', 'Ṉ' ],
[ 'N;', 'Ṉ' ],
[ 'S\'', 'Ś' ],
[ 'T/', 'Ⱦ' ],
[ 'T_', 'Ṯ' ],
[ 'T;', 'Ṯ' ],
[ 'T-', 'Ŧ' ],
[ 'W_', 'W̱' ],
[ 'W;', 'W̱' ],
[ 'X;', 'X̱' ],
[ 'X_', 'X̱' ],
]
};

$.ime.register( strSencoten );
}( jQuery ) );
8 changes: 8 additions & 0 deletions src/jquery.ime.inputmethods.js
Original file line number Diff line number Diff line change
Expand Up @@ -950,6 +950,10 @@
name: 'Sesotho tilde',
source: 'rules/st/st-tilde.js'
},
'str-sencoten': {
name: 'SENĆOŦEN keyboard',
source: 'rules/str/str-sencoten.js'
},
'su-keyboard': {
name: 'Sundanese keyboard',
source: 'rules/su/su-keyboard.js'
Expand Down Expand Up @@ -1782,6 +1786,10 @@
autonym: 'Sesotho',
inputmethods: [ 'st-tilde' ]
},
str: {
autonym: 'SENĆOŦEN',
inputmethods: [ 'str-sencoten' ]
},
su: {
autonym: 'Sunda',
inputmethods: [ 'su-keyboard' ]
Expand Down
47 changes: 46 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 Expand Up @@ -6171,6 +6196,26 @@ var palochkaVariants = {
{ input: 'ro~-na', output: 'rōna', description: 'Sotho tilde rōna' }
]
},
{
description: 'Straits Salish (Saanich) SENĆOŦEN test',
inputmethod: 'str-sencoten',
tests: [
{ input: "senc'ot-en", output: 'SENĆOŦEN', description: 'Straits Salish SENĆOŦEN' },
{ input: "pet/en_eu,ec'", output: 'PEȾEṈEU¸EĆ', description: 'Straits Salish PEȾEṈEU¸EĆ' },
{ input: "sda/y,es", output: 'SDȺY¸ES', description: 'Straits Salish SDȺY¸ES' },
{ input: "ta'nS", output: 'TÁNs', description: 'Straits Salish TÁNs' },
{ input: "qa'sset", output: 'QÁSSET', description: 'Straights Salish QÁSSET' },
{ input: "qa',les sc/a'c'el", output: 'QÁ¸LES SȻÁĆEL', description: 'Straights Salish SȻÁĆEL' },
{ input: "qi'yec'en", output: 'QÍYEĆEN', description: 'Straights Salish QÍYEĆEN' },
{ input: "sa',i'eu", output: 'SÁ¸ÍEU', description: 'Straights Salish SÁ¸ÍEU' },
{ input: "s,i'e,", output: 'S¸ÍE¸', description: 'Straights Salish S¸ÍE¸' },
{ input: "sk-ek'c'es", output: 'S₭EḰĆES', description: 'Straights Salish S₭EḰĆES' },
{ input: "sk_a'keten;", output: 'SḴÁKETEṈ', description: 'Straights Salish SḴÁKETEṈ' },
{ input: "l-a'u<weln;ew;", output: 'ȽÁU,WELṈEW̱', description: 'Straights Salish WELṈEW̱' },
{ input: "c/ec/ot;s'en", output: 'ȻEȻOṮŚEN', description: 'Straights Salish ȻEȻOṮŚEN' },
{ input: "ec'ex;el", output: 'EĆEX̱EL', description: 'Straights Salish EĆEX̱EL' },
]
},
{
description: 'Sundanese keyboard test',
inputmethod: 'su-keyboard',
Expand Down

0 comments on commit 07468d5

Please sign in to comment.