From e0f7f594a20eeb2436f1424c326f8414b2e53999 Mon Sep 17 00:00:00 2001 From: "Amir E. Aharoni" Date: Mon, 31 Jul 2023 13:28:06 +0300 Subject: [PATCH] Update jquery.ime and jquery.uls from upstream jquery.ime: * Add two Batak Mandailing keyboards by Benny Lin. * Internal CSS cleanup. Updating to https://github.com/wikimedia/jquery.ime/commit/1c7dd796942eacb9ff849956846d4f3c051583e5 jquery.uls: * Update language-data: Add bol and kai. * Internal CSS cleanup. Updating to https://github.com/wikimedia/jquery.uls/commit/9d623bd9586e78eee5ed1b54681ddc2c6637ead3 Change-Id: I7fb6a42f15cd0a4d5945939b77261be2fbd51599 Change-Id: I23a2ed7cf0812fc8b192b4cc6c766e34a9d1a7e7 --- lib/jquery.ime/css/jquery.ime.css | 12 +-- lib/jquery.ime/jquery.ime.js | 14 ++- lib/jquery.ime/rules/btm/btm-keyboard.js | 64 +++++++++++++ .../rules/btm/btm-transliteration.js | 96 +++++++++++++++++++ lib/jquery.uls/css/jquery.uls.grid.css | 6 +- lib/jquery.uls/css/jquery.uls.mobile.css | 12 +-- lib/jquery.uls/src/jquery.uls.data.js | 14 +++ 7 files changed, 202 insertions(+), 16 deletions(-) create mode 100644 lib/jquery.ime/rules/btm/btm-keyboard.js create mode 100644 lib/jquery.ime/rules/btm/btm-transliteration.js diff --git a/lib/jquery.ime/css/jquery.ime.css b/lib/jquery.ime/css/jquery.ime.css index 5883565c..c04dd00d 100644 --- a/lib/jquery.ime/css/jquery.ime.css +++ b/lib/jquery.ime/css/jquery.ime.css @@ -116,7 +116,7 @@ span.ime-disable-shortcut { } /* The triangle shaped callout */ -.imeselector-menu:before { +.imeselector-menu::before { border-bottom: 7px solid #a2a9b1; border-left: 7px solid transparent; border-right: 7px solid transparent; @@ -127,12 +127,12 @@ span.ime-disable-shortcut { top: -7px; } -.imeselector-menu.ime-right:before { +.imeselector-menu.ime-right::before { right: auto; left: 9px; } -.imeselector-menu:after { +.imeselector-menu::after { border-bottom: 6px solid #fff; border-left: 6px solid transparent; border-right: 6px solid transparent; @@ -143,19 +143,19 @@ span.ime-disable-shortcut { top: -6px; } -.imeselector-menu.ime-right:after { +.imeselector-menu.ime-right::after { right: auto; left: 10px; } -.imeselector-menu.ime-position-top:before { +.imeselector-menu.ime-position-top::before { border-bottom: 0; border-top: 7px solid #a2a9b1; top: auto; bottom: -7px; } -.imeselector-menu.ime-position-top:after { +.imeselector-menu.ime-position-top::after { border-bottom: 0; border-top: 6px solid #fff; top: auto; diff --git a/lib/jquery.ime/jquery.ime.js b/lib/jquery.ime/jquery.ime.js index c7ddfff8..87ade96b 100644 --- a/lib/jquery.ime/jquery.ime.js +++ b/lib/jquery.ime/jquery.ime.js @@ -1,4 +1,4 @@ -/*! jquery.ime - v0.2.0+20230724 +/*! jquery.ime - v0.2.0+20230731 * https://github.com/wikimedia/jquery.ime * Copyright (c) 2023 Santhosh Thottingal; License: (GPL-2.0-or-later OR MIT) */ ( function ( $ ) { @@ -1710,6 +1710,14 @@ name: 'Toba Transliteration', source: 'rules/bbc/bbc-transliteration.js' }, + 'btm-transliteration': { + name: 'Transliteration', + source: 'rules/btm/btm-transliteration.js' + }, + 'btm-keyboard': { + name: 'Mandailing Keyboard', + source: 'rules/btm/btm-keyboard.js' + }, 'bci-tilde': { name: 'Baoulé tilde keyboard', source: 'rules/bci/bci-tilde.js' @@ -2656,6 +2664,10 @@ autonym: 'Batak Toba', inputmethods: [ 'bbc-transliteration' ] }, + btm: { + autonym: 'Batak Mandailing', + inputmethods: [ 'btm-keyboard', 'btm-transliteration' ] + }, bci: { autonym: 'wawle', inputmethods: [ 'bci-tilde' ] diff --git a/lib/jquery.ime/rules/btm/btm-keyboard.js b/lib/jquery.ime/rules/btm/btm-keyboard.js new file mode 100644 index 00000000..9ba0b4cf --- /dev/null +++ b/lib/jquery.ime/rules/btm/btm-keyboard.js @@ -0,0 +1,64 @@ +( function ( $ ) { + 'use strict'; + + var mandailingKbd = { + id: 'btm-keyboard', + name: 'Surat Mandailing', + description: 'QWERTY-based Batak Mandailing keyboard', + date: '2023-07-28', + URL: 'https://www.mediawiki.org/wiki/Help:Extension:UniversalLanguageSelector/Input_methods/btm-keyboard', + author: 'Benny Lin', + license: 'GPLv3', + version: '1.0', + patterns: [ + [ '\\\\([A-Za-z\\>_~\\.0-9])', '$1' ], // escape characters + [ '(q|Q)', '᯲' ], // 1BF2 $᯲ BATAK PANGOLAT (PANGGOTAP) = virama + [ '(w|W)', 'ᯋ' ], // 1BCB ᯋ BATAK LETTER WA + [ 'e', 'ᯩ' ], // 1BE9 ᯩ BATAK VOWEL SIGN EE = talinga + [ 'E', 'ᯧ' ], // 1BE7 ᯧ BATAK VOWEL SIGN E = kebereten + [ '(r|R)', 'ᯒ' ], // 1BD2 ᯒ BATAK LETTER RA + [ 't', 'ᯖ' ], // 1BD6 ᯖ BATAK LETTER SOUTHERN TA + [ 'T', 'ᯗ' ], // 1BD7 ᯗ BATAK LETTER NORTHERN TA + [ '(y|Y)', 'ᯛ' ], // 1BDB ᯛ BATAK LETTER YA + [ 'u', 'ᯮ' ], // 1BEE ᯮ BATAK VOWEL SIGN U = boruta + [ 'U', 'ᯥ' ], // 1BE5 ᯥ BATAK LETTER U = ina ni surat u + [ 'i', 'ᯪ' ], // 1BEA ᯪ BATAK VOWEL SIGN I = ulua + [ 'I', 'ᯤ' ], // 1BE4 ᯤ BATAK LETTER I = ina ni surat i + [ '(o|O)', 'ᯬ' ], // 1BEC ᯬ BATAK VOWEL SIGN O = siala ulu + [ '(p|P)', 'ᯇ' ], // 1BC7 ᯇ BATAK LETTER PA + + [ '(a|A)', 'ᯀ' ], // 1BC0 ᯀ BATAK LETTER A + [ '(s|S)', 'ᯚ' ], // 1BDA ᯚ BATAK LETTER MANDAILING SA + [ '(d|D)', 'ᯑ' ], // 1BD1 ᯑ BATAK LETTER DA + [ '(f|F)', '᯳' ], // 1BF3 $᯳ BATAK PANONGONAN = virama + [ '(g|G)', 'ᯎ' ], // 1BCE ᯎ BATAK LETTER GA + [ 'h', 'ᯂ' ], // 1BC4 ᯄ BATAK LETTER MANDAILING HA + [ 'H', 'ᯱ' ], // 1BF1 ᯱ BATAK CONSONANT SIGN H = hajoringan (-h) + [ '(j|J)', 'ᯐ' ], // 1BD0 ᯐ BATAK LETTER JA + [ '(k|K)', 'ᯄ᯦' ], // 1BC4 ᯄ BATAK LETTER MANDAILING HA + 1BE6 ᯦ BATAK SIGN TOMPI + [ '(l|L)', 'ᯞ' ], // 1BDE ᯞ BATAK LETTER LA + + [ 'z', 'ᯝ' ], // 1BDD ᯝ BATAK LETTER NGA + [ 'Z', 'ᯰ' ], // 1BF0 ᯰ BATAK CONSONANT SIGN NG = amisara (-ng) + [ '(x|X)', 'ᯠ' ], // 1BE0 ᯠ BATAK LETTER NYA + [ '(c|C)', 'ᯚ᯦' ], // 1BDA ᯚ BATAK LETTER MANDAILING SA + 1BE6 ᯦ BATAK SIGN TOMPI + [ '(v|V)', '᯦' ], // 1BE6 ᯦ BATAK SIGN TOMPI + [ '(b|B)', 'ᯅ' ], // 1BC5 ᯅ BATAK LETTER BA + [ '(n|N)', 'ᯊ' ], // 1BCA ᯊ BATAK LETTER MANDAILING NA + [ '(m|M)', 'ᯔ' ], // 1BD4 ᯔ BATAK LETTER MA + + [ '^^', '^' ], // escape + [ '^', 'ᯰ' ], // 1BF0 ᯰ BATAK CONSONANT SIGN NG = amisara (-ng) + [ '<<', '<' ], // escape + [ '<', 'ᯝ' ] // 1BDD ᯝ BATAK LETTER NGA + ], + patterns_x: [ + [ '4', '᯼' ], // 1BFC ᯼ BATAK SYMBOL BINDU NA METEK + [ '5', '᯽' ], // 1BFD ᯽ BATAK SYMBOL BINDU PINARBORAS + [ '6', '᯾' ], // 1BFE ᯾ BATAK SYMBOL BINDU JUDUL + [ '7', '᯿' ] // 1BFF ᯿ BATAK SYMBOL BINDU PANGOLAT + ] + }; + + $.ime.register( mandailingKbd ); +}( jQuery ) ); diff --git a/lib/jquery.ime/rules/btm/btm-transliteration.js b/lib/jquery.ime/rules/btm/btm-transliteration.js new file mode 100644 index 00000000..bf782aaf --- /dev/null +++ b/lib/jquery.ime/rules/btm/btm-transliteration.js @@ -0,0 +1,96 @@ +( function ( $ ) { + 'use strict'; + + var mandailingTransliteration = { + id: 'btm-transliteration', + name: 'Mandailing', + description: 'Batak Mandailing transliteration', + date: '2023-07-29', + URL: 'https://www.mediawiki.org/wiki/Help:Extension:UniversalLanguageSelector/Input_methods/btm-translit', + author: 'Benny Lin', + license: 'GPLv3', + version: '1.0', + contextLength: 2, + maxKeyLength: 2, + patterns: [ + [ '\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1' ], + // pangolat + vowel + [ '᯲(a|A)', '', '' ], // default vowel is a, so remove the pangolat + [ '᯲(e|E)', '', 'ᯩ' ], // e - 1BE9 ᯩ BATAK VOWEL SIGN EE = talinga + [ '᯲(i|I)', '', 'ᯪ' ], // i - 1BEA ᯪ BATAK VOWEL SIGN I = ulua + [ '᯲(o|O)', '', 'ᯬ' ], // o - 1BEC ᯬ BATAK VOWEL SIGN O = siala ulu + [ '᯲(u|U)', '', 'ᯮ' ], // u - 1BEE ᯮ BATAK VOWEL SIGN U = boruta + [ '᯲(x|X)', '', 'ᯧ' ], // x - 1BE7 ᯧ BATAK VOWEL SIGN E = kebereten + // panongonan + vowel + [ '᯳(a|A)', '', '' ], // default vowel is a, so remove the panongonan + [ '᯳(e|E)', '', 'ᯩ' ], // e - 1BE9 ᯩ BATAK VOWEL SIGN EE = talinga + [ '᯳(i|I)', '', 'ᯪ' ], // i - 1BEA ᯪ BATAK VOWEL SIGN I = ulua + [ '᯳(o|O)', '', 'ᯬ' ], // o - 1BEC ᯬ BATAK VOWEL SIGN O = siala ulu + [ '᯳(u|U)', '', 'ᯮ' ], // u - 1BEE ᯮ BATAK VOWEL SIGN U = boruta + [ '᯳(x|X)', '', 'ᯧ' ], // x - 1BE7 ᯧ BATAK VOWEL SIGN E = kebereten + // amisara + vowel + [ 'ᯰ(a|A)', '', 'ᯝ' ], // -ng + a = nga + [ 'ᯰ(e|E)', '', 'ᯝᯩ' ], // -ng + e = nge + [ 'ᯰ(i|I)', '', 'ᯝᯪ' ], // -ng + i = ngi + [ 'ᯰ(o|O)', '', 'ᯝᯬ' ], // -ng + o = ngo + [ 'ᯰ(u|U)', '', 'ᯝᯮ' ], // -ng + u = ngu + [ 'ᯰ(x|X)', '', 'ᯝᯧ' ], // -ng + e = nge (keberetan) + // hajoringan + vowel + [ 'ᯱ(a|A)', '', 'ᯂ' ], // -h + a = ha + [ 'ᯱ(e|E)', '', 'ᯂᯩ' ], // -h + e = he + [ 'ᯱ(i|I)', '', 'ᯂᯪ' ], // -h + i = hi + [ 'ᯱ(o|O)', '', 'ᯂᯬ' ], // -h + o = ho + [ 'ᯱ(u|U)', '', 'ᯂᯮ' ], // -h + u = hu + [ 'ᯱ(x|X)', '', 'ᯂᯧ' ], // -h + e = he (keberetan) + + // ina ni surat I & U + hajoringan / amisara + [ 'ᯤ(h|H)', '(i|I)', 'ᯀᯪᯱ' ], // syllable i + h -> anak ni surat i + [ 'ᯥ(h|H)', '(u|U)', 'ᯀᯮᯱ' ], // syllable u + h -> anak ni surat u + [ 'ᯤ(n|N)', '(i|I)', 'ᯀᯪᯊ᯲' ], // syllable i + ng -> anak ni surat i + [ 'ᯥ(n|N)', '(u|U)', 'ᯀᯮᯊ᯲' ], // syllable u + ng -> anak ni surat u + // amisara + [ 'ᯊ᯲(g|G)', '(a|A|e|E|i|I|o|O|u|U|x|X)n', 'ᯰ' ], // 1BF0 ᯰ BATAK CONSONANT SIGN NG = amisara (-ng) + // nga / nya + [ 'ᯊ᯲(g|G)', 'n', 'ᯝ᯲' ], // 1BDD ᯝ BATAK LETTER NGA + [ 'ᯊ᯲(y|Y)', 'n', 'ᯠ᯲' ], // 1BE0 ᯠ BATAK LETTER NYA + + [ '(a|A)', '', 'ᯀ' ], + [ '(b|B)', '', 'ᯅ᯲' ], + [ '(c|C)', '', 'ᯚ᯦᯲' ], + [ '(d|D)', '', 'ᯑ᯲' ], + [ '(e|E)', '', 'ᯀᯩ' ], + [ '(f|F)', '', '᯳' ], // 1BF3 $᯳ BATAK PANONGONAN = virama + [ '(g|G)', '', 'ᯎ᯲' ], + [ '(h|H)', '(a|e|i|o|u|x)', 'ᯱ' ], // 1BF1 ᯱ BATAK CONSONANT SIGN H = hajoringan (-h) + [ 'H', '', 'ᯱ' ], // 1BF1 ᯱ BATAK CONSONANT SIGN H = hajoringan (-h) + [ 'h', '', 'ᯄ᯲' ], + [ '(i|I)', '', 'ᯤ' ], + [ '(j|J)', '', 'ᯐ᯲' ], + [ '(k|K)', '', 'ᯄ᯦᯲' ], + [ '(l|L)', '', 'ᯞ᯲' ], + [ '(m|M)', '', 'ᯔ᯲' ], + [ '(n|N)', '', 'ᯊ᯲' ], + [ '(o|O)', '', 'ᯀᯬ' ], + [ '(p|P)', '', 'ᯇ᯲' ], + [ '(q|Q)', '', '᯲' ], // 1BF2 $᯲ BATAK PANGOLAT (PANGGOTAP) = virama + [ '(r|R)', '', 'ᯒ᯲' ], + [ '(s|S)', '', 'ᯚ᯲' ], + [ 't', '', 'ᯖ᯲' ], + [ 'T', '', 'ᯗ᯲' ], + [ '(u|U)', '', 'ᯥ' ], + [ '(v|V)', '', '᯦' ], // 1BE6 ᯦ BATAK SIGN TOMPI + [ '(w|W)', '', 'ᯋ᯲' ], + [ '(x|X)', '', 'ᯀᯧ' ], // 1BE7 ᯧ BATAK VOWEL SIGN E = kebereten + [ '(y|Y)', '', 'ᯛ᯲' ], + [ '(z|Z)', '', 'ᯰ' ] // 1BF0 ᯰ BATAK CONSONANT SIGN NG = amisara (-ng) + ], + patterns_x: [ + [ '4', '', '᯼' ], + [ '5', '', '᯽' ], + [ '6', '', '᯾' ], + [ '7', '', '᯿' ] + ] + }; + + $.ime.register( mandailingTransliteration ); +}( jQuery ) ); diff --git a/lib/jquery.uls/css/jquery.uls.grid.css b/lib/jquery.uls/css/jquery.uls.grid.css index bd8a1746..f88b55a0 100644 --- a/lib/jquery.uls/css/jquery.uls.grid.css +++ b/lib/jquery.uls/css/jquery.uls.grid.css @@ -234,13 +234,13 @@ right: 83.333%; } -.grid .row:before, -.grid .row:after { +.grid .row::before, +.grid .row::after { content: ''; display: table; } -.grid .row:after { +.grid .row::after { clear: both; } diff --git a/lib/jquery.uls/css/jquery.uls.mobile.css b/lib/jquery.uls/css/jquery.uls.mobile.css index a7ae7d2b..817fb750 100644 --- a/lib/jquery.uls/css/jquery.uls.mobile.css +++ b/lib/jquery.uls/css/jquery.uls.mobile.css @@ -44,16 +44,16 @@ float: none; } - .uls-mobile .column:before, - .uls-mobile .uls-mobile .columns:before, - .uls-mobile .column:after, - .columns:after { + .uls-mobile .column::before, + .uls-mobile .uls-mobile .columns::before, + .uls-mobile .column::after, + .columns::after { content: ''; display: table; } - .uls-mobile .column:after, - .uls-mobile .columns:after { + .uls-mobile .column::after, + .uls-mobile .columns::after { clear: both; } diff --git a/lib/jquery.uls/src/jquery.uls.data.js b/lib/jquery.uls/src/jquery.uls.data.js index ac150bbd..6850628a 100644 --- a/lib/jquery.uls/src/jquery.uls.data.js +++ b/lib/jquery.uls/src/jquery.uls.data.js @@ -643,6 +643,13 @@ ], "བོད་ཡིག" ], + "bol": [ + "Latn", + [ + "AF" + ], + "bòo pìkkà" + ], "bom": [ "Latn", [ @@ -2120,6 +2127,13 @@ ], "Jinghpaw" ], + "kai": [ + "Latn", + [ + "AF" + ], + "Karai-karai" + ], "kam": [ "Latn", [