Update jquery.ime from upstream

* Fixes in Kashmiri Arabic keyboard
* Fixes in Javanese transliteration

Updating to
41b7817da1

Change-Id: I3ad81052fda45ae4d2f40a561a74f217422ea746
This commit is contained in:
Amir E. Aharoni
2023-03-04 19:07:50 +05:30
committed by jenkins-bot
parent 25a5691942
commit f2c4ca4174
3 changed files with 291 additions and 241 deletions

View File

@@ -1,4 +1,4 @@
/*! jquery.ime - v0.2.0+20230130 /*! jquery.ime - v0.2.0+20230304
* https://github.com/wikimedia/jquery.ime * https://github.com/wikimedia/jquery.ime
* Copyright (c) 2023 Santhosh Thottingal; License: (GPL-2.0-or-later OR MIT) */ * Copyright (c) 2023 Santhosh Thottingal; License: (GPL-2.0-or-later OR MIT) */
( function ( $ ) { ( function ( $ ) {

View File

@@ -9,22 +9,22 @@
URL: 'http://github.com/wikimedia/jquery.ime', URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Bennylin', author: 'Bennylin',
license: 'GPLv3', license: 'GPLv3',
version: '1.1', version: '1.2',
contextLength: 1, contextLength: 1,
maxKeyLength: 2, maxKeyLength: 2,
patterns: [ patterns: [
[ '\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1' ], [ '\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1' ],
[ 'ꦝ꧀q', '','ꦞ꧀' ], // Dha murda // TOC:
[ 'ꦚ꧀q', '','ꦘ꧀' ], // Nya murda // VII. Vocal ended with special pasangan followed by vocal = back to normal
[ 'ꦧ꧀q', '','ꦨ꧀' ], // Ba murda // VI. Vocal (lowercase, uppercase, extended) ended with h/r/ng = special pasangan (-h, -r, -ng)
[ 'ꦕ꧀q', '','ꦖ꧀' ], // Ca murda(?) // V. Lower case consonant followed by lower case consonant: Basic
[ 'ꦒ꧀q', '','ꦓ꧀' ], // Ga murda // IV. Special consonant and vowels
[ 'ꦗ꧀q', '','ꦙ꧀' ], // Ja Mahaprana // III. Symbols
[ 'ꦏ꧀q', '','ꦑ꧀' ], // Ka murda // II. Basic Letters
[ 'ꦤ꧀q', '','ꦟ꧀' ], // Na murda // I. Number
[ 'ꦥ꧀q', '','ꦦ꧀' ], // Pa murda
[ 'ꦱ꧀q', '','ꦯ꧀' ], // Sa murda // About the TOC:
[ 'ꦠ꧀q', '','ꦡ꧀' ], // Ta murda // The TOC are reversed, and the most basic letters are at the bottom.
// VII. Vocal ended with special pasangan followed by vocal = back to normal // VII. Vocal ended with special pasangan followed by vocal = back to normal
[ 'ꦃa', '', 'ꦲ' ], // vocal ended with -h followed by a [ 'ꦃa', '', 'ꦲ' ], // vocal ended with -h followed by a
@@ -32,26 +32,45 @@
[ 'ꦃi', '', 'ꦲꦶ' ], // vocal ended with -h followed by i [ 'ꦃi', '', 'ꦲꦶ' ], // vocal ended with -h followed by i
[ 'ꦃo', '', 'ꦲꦺꦴ' ], // vocal ended with -h followed by o [ 'ꦃo', '', 'ꦲꦺꦴ' ], // vocal ended with -h followed by o
[ 'ꦃu', '', 'ꦲꦸ' ], // vocal ended with -h followed by u [ 'ꦃu', '', 'ꦲꦸ' ], // vocal ended with -h followed by u
[ 'ꦃx', '', 'ꦲꦼ' ], // vocal ended with -h followed by ê
[ 'ꦂa', '', 'ꦫ' ], // vocal ended with -r followed by a [ 'ꦂa', '', 'ꦫ' ], // vocal ended with -r followed by a
[ 'ꦂe', '', 'ꦫꦺ' ], // vocal ended with -r followed by e [ 'ꦂe', '', 'ꦫꦺ' ], // vocal ended with -r followed by e
[ 'ꦂi', '', 'ꦫꦶ' ], // vocal ended with -r followed by i [ 'ꦂi', '', 'ꦫꦶ' ], // vocal ended with -r followed by i
[ 'ꦂo', '', 'ꦫꦺꦴ' ], // vocal ended with -r followed by o [ 'ꦂo', '', 'ꦫꦺꦴ' ], // vocal ended with -r followed by o
[ 'ꦂu', '', 'ꦫꦸ' ], // vocal ended with -r followed by u [ 'ꦂu', '', 'ꦫꦸ' ], // vocal ended with -r followed by u
[ 'ꦂy', '','ꦫꦾ' ], // vocal ended with -r followed by y (Special) [ 'ꦂx', '', '' ], // vocal ended with -r followed by ê (Special)
[ 'ꦁa', '', 'ꦔ' ], // vocal ended with -ng followed by a [ 'ꦁa', '', 'ꦔ' ], // vocal ended with -ng followed by a
[ 'ꦁe', '', 'ꦔꦺ' ], // vocal ended with -ng followed by e [ 'ꦁe', '', 'ꦔꦺ' ], // vocal ended with -ng followed by e
[ 'ꦁi', '', 'ꦔꦶ' ], // vocal ended with -ng followed by i [ 'ꦁi', '', 'ꦔꦶ' ], // vocal ended with -ng followed by i
[ 'ꦁo', '', 'ꦔꦺꦴ' ], // vocal ended with -ng followed by o [ 'ꦁo', '', 'ꦔꦺꦴ' ], // vocal ended with -ng followed by o
[ 'ꦁu', '', 'ꦔꦸ' ], // vocal ended with -ng followed by u [ 'ꦁu', '', 'ꦔꦸ' ], // vocal ended with -ng followed by u
[ 'ꦁx', '', 'ꦔꦼ' ], // vocal ended with -ng followed by ê
[ 'ꦿa', '', 'ꦿ' ], // cakra (medial -r-) followed by a
[ 'ꦿe', '', 'ꦿꦺ' ], // cakra (medial -r-) followed by e
[ 'ꦿi', '', 'ꦿꦶ' ], // cakra (medial -r-) followed by i
[ 'ꦿo', '', 'ꦿꦺꦴ' ], // cakra (medial -r-) followed by o
[ 'ꦿu', '', 'ꦿꦸ' ], // cakra (medial -r-) followed by u
[ 'ꦿx', '', 'ꦽ' ], // cakra (medial -r-) followed by ê (Special biconsonant -rê)
// if you want to write "cakra" + aksara "hi" instead, use "hi" instead of "i", etc.
[ 'ꦾa', '', 'ꦾ' ], // pengkal (medial -y-) followed by a
[ 'ꦾe', '', 'ꦾꦺ' ], // pengkal (medial -y-) followed by e
[ 'ꦾi', '', 'ꦾꦶ' ], // pengkal (medial -y-) followed by i
[ 'ꦾo', '', 'ꦾꦺꦴ' ], // pengkal (medial -y-) followed by o
[ 'ꦾu', '', 'ꦾꦸ' ], // pengkal (medial -y-) followed by u
[ 'ꦾx', '', 'ꦾꦼ' ], // pengkal (medial -y-) followed by u
// if you want to write "pengkal" + aksara "hi" instead, use "hi" instead of "i", etc.
// VI. Vocal (lowercase, uppercase, extended) ended with h/r/ng = special pasangan (-h, -r, -ng) // VI. Vocal (lowercase, uppercase, extended) ended with h/r/ng = special pasangan (-h, -r, -ng)
[ '꧀h', '', '꧀ꦲ꧀' ], [ '꧀h', '', '꧀ꦲ꧀' ],
// vocal a ended with h/r/ng // vocal a ended with h/r/ng
[ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ|꦳)(h|H)', '','$1ꦃ' ], // hanacaraka + h = -h [ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ|꦳)h', '', '$1ꦃ' ], // hanacaraka + h = -h
[ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ|꦳)(r|R)', '','$1' ], // hanacaraka + r = -r [ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ|꦳)H', '', '$1' ], // hanacaraka + H = -ā
[ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ|꦳)(ꦤ|ꦟ)꧀(g|G)', '','$1' ], // hanacaraka + ng = -ng [ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ|꦳)(r|R)', '', '$1' ], // hanacaraka + r = -r
[ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ|꦳)(ꦤ|ꦟ)꧀(g|G)', '', '$1ꦁ' ], // hanacaraka + ng = -ng
// other vocals ended with h/r/ng // other vocals ended with h/r/ng
[ '(ꦴ|ꦻ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ|ꦄ|ꦌ|ꦆ|ꦎ|ꦈ)(h|H)', '', '$1ꦃ' ], // other vocal ended with -h [ '(ꦴ|ꦻ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ|ꦄ|ꦌ|ꦆ|ꦎ|ꦈ)(h|H)', '', '$1ꦃ' ], // other vocal ended with -h
[ '(ꦴ|ꦻ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ|ꦄ|ꦌ|ꦆ|ꦎ|ꦈ)(r|R)', '', '$1ꦂ' ], // other vocal ended with -r [ '(ꦴ|ꦻ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ|ꦄ|ꦌ|ꦆ|ꦎ|ꦈ)(r|R)', '', '$1ꦂ' ], // other vocal ended with -r
@@ -74,69 +93,108 @@
// the letter 'c' can only be found followed by consonant r/l, and ch // the letter 'c' can only be found followed by consonant r/l, and ch
// the letter 'y' can only be found followed by consonant w (nasal for 'i') // the letter 'y' can only be found followed by consonant w (nasal for 'i')
[ '꧀a', '','' ], // default vowel is a, so, remove the pangkon [ '꧀a', '', '' ], // default vowel is 'a', so, remove the pangkon
[ '꧀A', '','' ], // A [ '(ꦾ|ꦿ)a', '', '$1' ], // default vowels for cakra and pengkal are 'a', so, don't do anything
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀b', '','$1꧀ꦧ꧀' ], [ '꧀A', '', '꧀' ], // A
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀B', '','$1꧀꧀' ], // pasangan Ba murda [ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀b', '', '$1꧀꧀' ],
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀B', '', '$1꧀ꦨ꧀' ], // pasangan Ba murda
[ 'ꦤ꧀​(c|C)', '', 'ꦚ꧀ꦕ꧀' ], // n+zero-width-space+c [ 'ꦤ꧀​(c|C)', '', 'ꦚ꧀ꦕ꧀' ], // n+zero-width-space+c
// TODO: the above code doesn't seem to work
[ 'ꦤ꧀(c|C)', '', 'ꦚ꧀ꦕ꧀' ], // n followed by c became nasalized (nasal sound 'ny' + c)(REF:nyc) [ 'ꦤ꧀(c|C)', '', 'ꦚ꧀ꦕ꧀' ], // n followed by c became nasalized (nasal sound 'ny' + c)(REF:nyc)
[ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀c', '','$1꧀ꦕ꧀' ], [ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀c', '', '$1꧀ꦕ꧀' ],
[ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀C', '','$1꧀ꦖ꧀' ], // pasangan Ca murda(?) [ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀C', '', '$1꧀ꦖ꧀' ], // pasangan Ca murda(?)
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀d', '','$1꧀ꦢ꧀' ], [ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀d', '', '$1꧀ꦢ꧀' ],
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀D', '','$1꧀ꦣ꧀' ], [ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀D', '', '$1꧀ꦣ꧀' ], // pasangan Da murda
[ '꧀e', '', 'ꦺ' ], // é|è [ '꧀e', '', 'ꦺ' ], // é|è
[ '꧀E', '','ꦌ' ], // É|È [ '꧀E', '', 'ꦌ' ], // É|È
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(f|v|F|V)', '','$1꧀ꦥ꦳꧀' ], [ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀(f|F)', '', '$1꧀ꦥ꦳꧀' ],
[ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀g', '','$1꧀ꦒ꧀' ], // can't be started with n, reserved for bigraf ng [ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀g', '', '$1꧀ꦒ꧀' ], // can't be started with n, reserved for bigraf ng
[ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀G', '','$1꧀ꦓ꧀' ], // pasangan Ga murda (can't be started with n - see II. 2.) [ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀G', '', '$1꧀ꦓ꧀' ], // pasangan Ga murda (can't be started with n - see II. 2.)
[ '(ꦤ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀(h|H)', '','$1꧀ꦲ꧀' ], // can't be started with k/d/t/g, reserved for bigraf kh/dh/th/gh [ '(ꦤ|ꦭ|ꦥ|ꦩ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ|ꦉ|ꦊ|ꦋ)꧀(h|H)', '', '$1꧀ꦲ꧀' ], // can't be started with k/d/t/g/j/s, reserved for bigraf kh/dh/th/gh/jh/sh
[ '꧀i', '', 'ꦶ' ], // i [ '꧀i', '', 'ꦶ' ], // i
[ '꧀I', '','ꦆ' ], // I [ '꧀I', '', 'ꦆ' ], // I
[ 'ꦤ꧀​(j|J)', '', 'ꦤ꧀ꦗ꧀' ], // n+zero-width-space+j [ 'ꦤ꧀​(j|J)', '', 'ꦤ꧀ꦗ꧀' ], // n+zero-width-space+j
// TODO: the above code doesn't seem to work
[ 'ꦤ꧀(j|J)', '', 'ꦚ꧀ꦗ꧀' ], // n followed by j became nasalized (nasal sound 'ny' + j)(REF:nyj) [ 'ꦤ꧀(j|J)', '', 'ꦚ꧀ꦗ꧀' ], // n followed by j became nasalized (nasal sound 'ny' + j)(REF:nyj)
[ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(j|J)', '','$1꧀ꦗ꧀' ], [ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀j', '', '$1꧀ꦗ꧀' ],
[ '(|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀k', '','$1꧀꧀' ], [ '(|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀J', '', '$1꧀꧀' ], // pasangan Ja mahaprana
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀K', '','$1꧀꧀' ], // pasangan Ka murda [ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀k', '', '$1꧀꧀' ],
[ '(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(l|L)', '','$1꧀꧀' ], [ '(|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀K', '', '$1꧀꧀' ], // pasangan Ka murda
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(m|M)', '','$1꧀ꦩ꧀' ], [ 'ꦃl', '', 'ꦲ꧀ꦭ꧀' ], // vocal ended with -h followed by l (Special panjingan)
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀n', '','$1꧀ꦤ꧀' ], [ 'ꦂl', '', 'ꦫ꧀ꦭ꧀' ], // vocal ended with -r followed by l (Special panjingan)
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀N', '','$1꧀ꦟ꧀' ], // pasangan Na murda [ 'ꦁl', '', 'ꦔ꧀ꦭ꧀' ], // vocal ended with -ng followed by l (Special panjingan)
// if you want to write panyigeg + aksara "la" instead, put a space between the panyigeg and "l"
[ '(ꦲ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀(l|L)', '', '$1꧀ꦭ꧀' ],
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀(m|M)', '', '$1꧀ꦩ꧀' ],
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀n', '', '$1꧀ꦤ꧀' ],
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀N', '', '$1꧀ꦟ꧀' ], // pasangan Na murda
[ '꧀o', '', 'ꦺꦴ' ], // o [ '꧀o', '', 'ꦺꦴ' ], // o
[ '꧀O', '','ꦎ' ], // O [ '꧀O', '', 'ꦎ' ], // O
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀p', '','$1꧀ꦥ꧀' ], [ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀p', '', '$1꧀ꦥ꧀' ],
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀P', '','$1꧀ꦦ꧀' ], // pasangan Pa murda [ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀P', '', '$1꧀ꦦ꧀' ], // pasangan Pa murda
// q // q - a Pangkon + q would result in Cecak telu. See III.
[ '(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀r', '','$1꧀ꦫ꧀' ], // consonant+zero-width-space+(r|R) doesn't make special biconsonant -ra [ '(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀r', '', '$1꧀ꦫ꧀' ], // consonant+zero-width-space+(r|R) doesn't make special biconsonant -ra
[ '(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|)꧀R', '','$1꧀ꦬ꧀' ], // consonant+zero-width-space+(r|R) doesn't make special biconsonant -ra [ '(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀R', '', '$1꧀ꦬ꧀' ], // consonant+zero-width-space+(r|R) doesn't make special biconsonant -ra
[ '(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(r|R)', '','$1ꦿ' ], // special biconsonant -ra // TODO: these two above doesn't seem to work
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀s', '','$1꧀ꦱ꧀' ], [ 'ꦃr', '', 'ꦲꦿ' ], // vocal ended with -h followed by r (Special cakra)
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀S', '','$1꧀ꦯ꧀' ], // pasangan Sa murda [ 'ꦂr', '', 'ꦫꦿ' ], // vocal ended with -r followed by r (Special cakra) -- TODO: impossible combination?
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀t', '','$1꧀ꦠ꧀' ], [ 'ꦁr', '', 'ꦔꦿ' ], // vocal ended with -ng followed by r (Special cakra)
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀T', '','$1꧀ꦡ꧀' ], // pasangan Ta murda // if you want to write panyigeg + aksara "ra" instead, put a space between the panyigeg and "r"
[ '(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ|ꦉ|ꦊ|ꦋ)꧀(r|R)', '', '$1ꦿ' ], // special biconsonant -ra, cakra
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀s', '', '$1꧀ꦱ꧀' ],
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀S', '', '$1꧀ꦯ꧀' ], // pasangan Sa murda
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀t', '', '$1꧀ꦠ꧀' ],
[ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀T', '', '$1꧀ꦡ꧀' ], // pasangan Ta murda
[ '꧀u', '', 'ꦸ' ], // u [ '꧀u', '', 'ꦸ' ], // u
[ '꧀U', '','ꦈ' ], // U [ '꧀U', '', 'ꦈ' ], // U
// v = f [ '(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀(v|V)', '', '$1꧀ꦮ꦳꧀' ],
[ '(ꦲ|ꦃ|ꦤ|ꦫ|ꦂ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(w|W)꧀', '','$1꧀ꦮ' ], [ 'ꦃw', '', '꧀ꦮ' ], // vocal ended with -h followed by w (Special panjingan)
[ '(ꦲ|ꦃ|ꦫ|ꦂ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦩ|ꦒ|ꦧ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀​(y|Y)', '','$1꧀ꦪ꧀' ], // consonant+zero-width-space+(y|Y) doesn't make special biconsonant -ya [ 'ꦂw', '', 'ꦫ꧀ꦮ꧀' ], // vocal ended with -r followed by w (Special panjingan)
[ 'ꦁw', '', 'ꦔ꧀ꦮ꧀' ], // vocal ended with -ng followed by w (Special panjingan)
[ '(ꦲ|ꦃ|ꦫ|ꦂ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦩ|ꦒ|ꦧ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦦ|ꦯ|ꦡ)꧀(y|Y)', '','$1ꦾ' ], // special biconsonant -ya, // if you want to write panyigeg + aksara "wa" instead, put a space between the panyigeg and "w"
// can't be started with n or y, reserved for bigraf ny (REF:-yy-) [ '(ꦲ|ꦤ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀(w|W)꧀', '', '$1꧀ꦮ' ],
[ '(ꦤ|ꦏ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(z|Z)', '','$1ꦾꦗ꦳꧀' ], // can't be started with d, reserved for bigraf dz
// IV. 1. Special consonant
[ '(ꦾ|ꦿ)a', '','$1' ],
[ 'ꦿx', '','ꦽ' ], // special biconsonant -rê
[ 'ꦊq', '','ꦋ' ], // special character lê Raswadi
[ 'ꦭ꧀x', '', 'ꦊ' ], // special character lê [ 'ꦭ꧀x', '', 'ꦊ' ], // special character lê
[ 'ꦫ꧀x', '', 'ꦉ' ], // special character rê [ 'ꦫ꧀x', '', 'ꦉ' ], // special character rê
[ 'ꦌx', '','ꦄꦼ' ], // Ê
[ '꧀x', '', 'ꦼ' ], // x is another way to write ê [ '꧀x', '', 'ꦼ' ], // x is another way to write ê
[ '꧀X', '','ꦄꦼ' ], // X is another way to write Ê // [ '꧀X', '', '꧀ꦄꦼ' ], // X is another way to write Ê
[ 'ꦃy', '', 'ꦲꦾ' ], // vocal ended with -h followed by y (Special pengkal)
[ 'ꦂy', '', 'ꦫꦾ' ], // vocal ended with -r followed by y (Special pengkal)
[ 'ꦁy', '', 'ꦔꦾ' ], // vocal ended with -ng followed by y (Special pengkal)
// if you want to write panyigeg + aksara "ya" instead, put a space between the panyigeg and "y"
[ '(ꦲ|ꦃ|ꦫ|ꦂ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦩ|ꦒ|ꦧ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀​(y|Y)', '', '$1꧀ꦪ꧀' ], // consonant+zero-width-space+(y|Y) doesn't make special biconsonant -ya
// TODO: the above code doesn't seem to work
[ '(ꦲ|ꦃ|ꦫ|ꦂ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦩ|ꦒ|ꦧ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀(y|Y)', '', '$1ꦾ' ], // special biconsonant -ya, pengkal
// can't be started with n or y, reserved for bigraf ny (REF:-yy-)
[ '(ꦤ|ꦏ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ)꧀(z|Z)', '', '$1ꦾꦗ꦳꧀' ], // can't be started with d, reserved for bigraf dz
// IV Special consonant and vowels
// IV. 1. Special consonant
[ 'ꦊq', '', 'ꦋ' ], // special character lê Raswadi
// [ 'ꦭ꧀x', '', 'ꦊ' ], // special character lê
// [ 'ꦫ꧀x', '', 'ꦉ' ], // special character rê
// not need for alternate input
// [ 'ꦌx', '', 'ꦄꦼ' ], // Ê
// [ 'ꦝ꧀q', '', 'ꦞ꧀' ], // Da mahaprana
// [ 'ꦛ꧀q', '', 'ꦜ꧀' ], // Ta mahaprana
// [ 'ꦚ꧀q', '', 'ꦘ꧀' ], // Nya murda
// [ 'ꦧ꧀q', '', 'ꦨ꧀' ], // Ba murda
// [ 'ꦕ꧀q', '', 'ꦖ꧀' ], // Ca murda(?)
// [ 'ꦢ꧀q', '', 'ꦣ꧀' ], // Da murda
// [ 'ꦒ꧀q', '', 'ꦓ꧀' ], // Ga murda
// [ 'ꦗ꧀q', '', 'ꦙ꧀' ], // Ja Mahaprana
// [ 'ꦏ꧀q', '', 'ꦑ꧀' ], // Ka murda
// [ 'ꦤ꧀q', '', 'ꦟ꧀' ], // Na murda
// [ 'ꦥ꧀q', '', 'ꦦ꧀' ], // Pa murda
// [ 'ꦱ꧀q', '', 'ꦯ꧀' ], // Sa murda
// [ 'ꦠ꧀q', '', 'ꦡ꧀' ], // Ta murda
// IV. 2. Extended consonant
// see II. 1.
// IV. 3. Extended vowel // IV. 3. Extended vowel
// long a (aa) - see II. // long a (aa) - see VI. and II. - 'H'
[ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ||꦳)i', '','$1ꦻ' ], // hanacaraka + i = -ai [ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ|꦳)i', '', '$1ꦻ' ], // hanacaraka + i = -ai
[ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ||꦳)u', '','$1ꦻꦴ' ], // hanacaraka + u = -au [ '(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦣ|ꦡ|ꦞ|ꦜ|ꦙ|ꦬ|꦳)u', '', '$1ꦻꦴ' ], // hanacaraka + u = -au
[ 'ꦄi', '', 'ꦍ' ], // Ai [ 'ꦄi', '', 'ꦍ' ], // Ai
[ 'ꦄu', '', 'ꦎꦴ' ], // Au [ 'ꦄu', '', 'ꦎꦴ' ], // Au
[ 'ꦶi', '', 'ꦷ' ], // long i (ii) [ 'ꦶi', '', 'ꦷ' ], // long i (ii)
@@ -145,19 +203,7 @@
[ 'ꦈu', '', 'ꦈꦴ' ], // long u (Uu) [ 'ꦈu', '', 'ꦈꦴ' ], // long u (Uu)
[ 'ꦺꦴo', '', 'ꦵ' ], // Sundanese -o [ 'ꦺꦴo', '', 'ꦵ' ], // Sundanese -o
// IV. 2. Extended consonant // III. Symbols
[ 'ꦱ꧀​(s|h)', '','ꦰ꧀' ], // s_s (with zero-width-space)
[ 'ꦏ꧀h', '','ꦏ꧀ꦲ꧀' ], // k_h (with zero-width-space)
[ 'ꦒ꧀h', '','ꦒ꧀ꦲ꧀' ], // g_h (with zero-width-space)
[ 'ꦢ꧀z', '','ꦢ꧀ꦗ꦳꧀' ], // d_z (with zero-width-space)
[ 'ꦗ꧀h', '','ꦙ' ], // j_h (with zero-width-space)
[ 'ꦱ꧀(s|h)', '','ꦰ꧀' ], // ss/sh
[ 'ꦏ꧀h', '','ꦏ꦳' ], // kh
[ 'ꦒ꧀h', '','ꦒ꦳' ], // gh
[ 'ꦢ꧀z', '','ꦢ꦳' ], // dz
[ 'ꦗ꧀h', '','ꦙ' ], // jh/Ja mahaprana
// III. Non-words
// q and Q are special characters for choosing less used characters by pressing q/Q multiple times (rotating back) // q and Q are special characters for choosing less used characters by pressing q/Q multiple times (rotating back)
[ ' ', '', '' ], // zero-width-space, since javanese have no space [ ' ', '', '' ], // zero-width-space, since javanese have no space
[ '꧅q', '', '꧁' ], // rêrênggan kiwa [ '꧅q', '', '꧁' ], // rêrênggan kiwa
@@ -174,14 +220,18 @@
[ '꧀[Q|q]', '', '꦳' ], // cecak telu [ '꧀[Q|q]', '', '꦳' ], // cecak telu
[ 'q', '', '꧀' ], // pangkon - to cut off the default -a vowel [ 'q', '', '꧀' ], // pangkon - to cut off the default -a vowel
[ 'ꦫq', '','ꦿ' ], // another way to write -ra // doesn't work, not need for alternate input
[ 'ꦪq', '','ꦾ' ], // another way to write -ya // [ 'ꦫq', '', 'ꦿ' ], // another way to write -ra
// [ 'ꦪq', '', 'ꦾ' ], // another way to write -ya
// II Basic Letters
// II. 1. Alphabetical ha-na-ca-ra-ka // II. 1. Alphabetical ha-na-ca-ra-ka
// bigraf
[ 'ꦠ꧀h', '', 'ꦠ꧀ꦲ꧀' ], // t_h (with zero-width-space) [ 'ꦠ꧀h', '', 'ꦠ꧀ꦲ꧀' ], // t_h (with zero-width-space)
[ 'ꦢ꧀h', '', 'ꦢ꧀ꦲ꧀' ], // d_h (with zero-width-space) [ 'ꦢ꧀h', '', 'ꦢ꧀ꦲ꧀' ], // d_h (with zero-width-space)
[ 'ꦤ꧀y', '', 'ꦚ꧀ꦪ꧀' ], // n_y (with zero-width-space) [ 'ꦤ꧀y', '', 'ꦚ꧀ꦪ꧀' ], // n_y (with zero-width-space)
[ 'ꦤ꧀g', '', 'ꦔ꧀ꦒ꧀' ], // n_g (with zero-width-space) [ 'ꦤ꧀g', '', 'ꦔ꧀ꦒ꧀' ], // n_g (with zero-width-space)
// TODO: the above 2 lines of code doesn't seem to work
[ 'ꦠ꧀h', '', 'ꦛ꧀' ], // th [ 'ꦠ꧀h', '', 'ꦛ꧀' ], // th
[ 'ꦢ꧀h', '', 'ꦝ꧀' ], // dh [ 'ꦢ꧀h', '', 'ꦝ꧀' ], // dh
[ 'ꦤ꧀y', '', 'ꦚ꧀' ], // ny [ 'ꦤ꧀y', '', 'ꦚ꧀' ], // ny
@@ -191,7 +241,7 @@
[ 'c', '', 'ꦕ꧀' ], [ 'c', '', 'ꦕ꧀' ],
[ 'd', '', 'ꦢ꧀' ], [ 'd', '', 'ꦢ꧀' ],
[ 'e', '', 'ꦲꦺ' ], // é|è [ 'e', '', 'ꦲꦺ' ], // é|è
[ '(f|v)', '','ꦥ꦳꧀' ], [ 'f', '', 'ꦥ꦳꧀' ],
[ 'g', '', 'ꦒ꧀' ], [ 'g', '', 'ꦒ꧀' ],
[ 'h', '', 'ꦲ꧀' ], [ 'h', '', 'ꦲ꧀' ],
[ 'i', '', 'ꦲꦶ' ], [ 'i', '', 'ꦲꦶ' ],
@@ -207,28 +257,40 @@
[ 's', '', 'ꦱ꧀' ], [ 's', '', 'ꦱ꧀' ],
[ 't', '', 'ꦠ꧀' ], [ 't', '', 'ꦠ꧀' ],
[ 'u', '', 'ꦲꦸ' ], [ 'u', '', 'ꦲꦸ' ],
// v = f [ 'v', '', 'ꦮ꦳꧀' ],
[ 'w', '', 'ꦮ꧀' ], [ 'w', '', 'ꦮ꧀' ],
[ 'x', '', 'ꦲꦼ' ], // ê [ 'x', '', 'ꦲꦼ' ], // ê
[ 'y', '', 'ꦪ꧀' ], [ 'y', '', 'ꦪ꧀' ],
[ 'z', '', 'ꦗ꦳꧀' ], [ 'z', '', 'ꦗ꦳꧀' ],
// extended consonants
[ 'ꦱ꧀h', '', 'ꦱ꧀ꦲ꧀' ], // s_h (with zero-width-space)
[ 'ꦏ꧀h', '', 'ꦏ꧀ꦲ꧀' ], // k_h (with zero-width-space)
[ 'ꦒ꧀h', '', 'ꦒ꧀ꦲ꧀' ], // g_h (with zero-width-space)
[ 'ꦢ꧀z', '', 'ꦢ꧀ꦗ꦳꧀' ], // d_z (with zero-width-space)
// TODO: the above code doesn't seem to work
[ 'ꦗ꧀h', '', 'ꦗ꧀ꦲ꧀' ], // j_h (with zero-width-space)
[ 'ꦱ꧀h', '', 'ꦯ꧀' ], // sh
[ 'ꦏ꧀h', '', 'ꦏ꦳꧀' ], // kh
[ 'ꦒ꧀h', '', 'ꦒ꦳꧀' ], // gh
[ 'ꦢ꧀z', '', 'ꦢ꦳꧀' ], // dz
[ 'ꦗ꧀h', '', 'ꦙ꧀' ], // jh/Ja mahaprana
// II. Basic Letters:
// II. 2. Capital Ha-Na-Ca-Ra-Ka (Aksara Murda) // II. 2. Capital Ha-Na-Ca-Ra-Ka (Aksara Murda)
[ '(ꦠ|ꦡ)꧀(h|H)', '','꧀' ], [ 'ꦡ꧀h', '', '꧀' ], // Ta mahaprana
[ 'ꦣ꧀h', '','꧀' ], // Dha murda [ '(ꦠ|ꦡ)꧀H', '', '꧀' ], // Ta mahaprana
[ '(ꦢ|ꦣ)꧀H', '','ꦞ꧀' ], // Dha murda [ 'ꦣ꧀h', '', 'ꦞ꧀' ], // Da murda
[ '(ꦢ|ꦣ)꧀H', '', 'ꦞ꧀' ], // Da murda
[ 'ꦟ꧀y', '', 'ꦘ꧀' ], // Nya murda [ 'ꦟ꧀y', '', 'ꦘ꧀' ], // Nya murda
[ '(ꦤ|ꦟ)꧀Y', '', 'ꦘ꧀' ], // NYA murda [ '(ꦤ|ꦟ)꧀Y', '', 'ꦘ꧀' ], // NYA murda
[ '(ꦤ|ꦟ)꧀(g|G)', '', 'ꦔ꧀' ], // nga [ '(ꦤ|ꦟ)꧀(g|G)', '', 'ꦔ꧀' ], // nga
[ 'A', '', 'ꦄ' ], // A [ 'A', '', 'ꦄ' ], // A
[ 'B', '', 'ꦨ꧀' ], // Ba murda [ 'B', '', 'ꦨ꧀' ], // Ba murda
[ 'C', '', 'ꦖ꧀' ], // Ca murda(?) [ 'C', '', 'ꦖ꧀' ], // Ca murda(?)
[ 'D', '','ꦣ꧀' ], [ 'D', '', 'ꦣ꧀' ], // Da mahaprana
[ 'E', '', 'ꦌ' ], // É|È [ 'E', '', 'ꦌ' ], // É|È
[ '(F|V)', '','ꦥ꦳꧀' ], [ 'F', '', 'ꦥ꦳꧀' ],
[ 'G', '', 'ꦓ꧀' ], // Ga murda [ 'G', '', 'ꦓ꧀' ], // Ga murda
[ 'H', '','ꦲ꧀' ], [ 'H', '', '' ], // tarung/Long a. eg. for Cakra & Pengkal with long a ꦏꦿꦴ or ꦠꦾꦴ
[ 'I', '', 'ꦆ' ], // I [ 'I', '', 'ꦆ' ], // I
[ 'J', '', 'ꦙ꧀' ], // Ja Mahaprana [ 'J', '', 'ꦙ꧀' ], // Ja Mahaprana
[ 'K', '', 'ꦑ꧀' ], // Ka murda [ 'K', '', 'ꦑ꧀' ], // Ka murda
@@ -238,15 +300,15 @@
[ 'O', '', 'ꦎ' ], // O [ 'O', '', 'ꦎ' ], // O
[ 'P', '', 'ꦦ꧀' ], // Pa murda [ 'P', '', 'ꦦ꧀' ], // Pa murda
// Q = special letters, see III. // Q = special letters, see III.
[ 'R', '','ꦬ꧀' ], [ 'R', '', 'ꦬ꧀' ], // Ra agung
[ 'S', '', 'ꦯ꧀' ], // Sa murda [ 'S', '', 'ꦯ꧀' ], // Sa murda
[ 'T', '','ꦡ꧀' ], // Ta murda [ 'T', '', 'ꦡ꧀' ], // Ta mahaprana
[ 'U', '', 'ꦈ' ], // U [ 'U', '', 'ꦈ' ], // U
// V = F [ 'V', '', 'ꦮ꦳꧀' ],
[ 'W', '', 'ꦮ꧀' ], [ 'W', '', 'ꦮ꧀' ],
[ 'X', '', 'ꦄꦼ' ], // X is another way to write Ê [ 'X', '', 'ꦄꦼ' ], // X is another way to write Ê
[ 'Y', '', 'ꦪ꧀' ], [ 'Y', '', 'ꦪ꧀' ],
[ 'Z', '','ꦗ꦳꧀' ], [ 'Z', '', '꧀' ], // sa kembang - ṣa (ssa)
// I. Number // I. Number
[ '0', '', '꧐' ], [ '0', '', '꧐' ],

View File

@@ -5,49 +5,40 @@
id: 'ks-kbd', id: 'ks-kbd',
name: 'Kashmiri kbd', name: 'Kashmiri kbd',
description: 'Kbd keyboard for Kashmiri language using Arabic script', description: 'Kbd keyboard for Kashmiri language using Arabic script',
date: '2013-02-09', date: '2023-03-04',
author: 'Parag Nemade', author: 'Parag Nemade, Iflaq, Amir E. Aharoni',
license: 'GPLv3', license: 'GPLv3',
version: '1.0', version: '1.1',
patterns: [ patterns: [
[ '\\~', '\u0653' ], // Hamza above [ '`', '\u065B' ], // Inverted V above
[ '1', '۱' ],
[ '2', '۲' ],
[ '3', '۳' ],
[ '4', '۴' ],
[ '5', '۵' ],
[ '6', '۶' ],
[ '7', '۷' ],
[ '8', '۸' ],
[ '9', '۹' ],
[ '0', '۰' ],
[ '\\(', ')' ], // RTL mirroring [ '\\(', ')' ], // RTL mirroring
[ '\\)', '(' ], // RTL mirroring [ '\\)', '(' ], // RTL mirroring
[ '\\[', ']' ], // RTL mirroring [ '\\[', ']' ], // RTL mirroring
[ '\\]', '[' ], // RTL mirroring [ '\\]', '[' ], // RTL mirroring
[ '\\{', '\u0670' ], // Superscript Alef [ '\\{', '}' ], // RTL mirroring
[ '\\}', '\u0670' ], // Superscript Alef [ '\\}', '{' ], // RTL mirroring
[ '\\_', '\u0651' ], // Shadda [ '\\_', '\u0651' ], // Shadda
[ 'Q', 'ﷺ' ],
[ 'Q', 'ۄ' ], // Waw with ring
[ 'q', 'ق' ], [ 'q', 'ق' ],
[ 'W', 'ؤ' ], [ 'W', '\u0653' ], // Madda above
[ 'w', 'و' ], [ 'w', 'و' ],
[ 'E', 'ئ' ], [ 'E', 'ؠ' ], // Kashmiri yeh
[ 'e', 'ع' ], [ 'e', 'ع' ],
[ 'R', 'ڑ' ], [ 'R', 'ڑ' ],
[ 'r', 'ر' ], [ 'r', 'ر' ],
[ 'T', 'ٹ' ], [ 'T', 'ٹ' ],
[ 't', 'ت' ], [ 't', 'ت' ],
[ 'Y', '\u0601' ], // Sanah [ 'Y', '\u0656' ], // Subscript Alef
[ 'y', 'ے' ], [ 'y', 'ے' ],
[ 'U', '،' ],
[ 'u', 'ء' ], [ 'u', 'ء' ],
[ 'I', 'ۆ' ], [ 'I', 'ۆ' ],
[ 'i', 'ی' ], [ 'i', 'ی' ],
[ 'O', 'ۃ' ], [ 'O', 'ٲ' ], // Alef with wavy hamza
[ 'o', 'ہ' ], // Heh goal [ 'o', 'ہ' ], // Heh goal
[ 'P', 'إ' ], [ 'P', '\u0655' ], // Hamza below
[ 'p', 'پ' ], [ 'p', 'پ' ],
[ 'A', 'آ' ], [ 'A', 'آ' ],
[ 'a', 'ا' ], [ 'a', 'ا' ],
[ 'S', 'ش' ], [ 'S', 'ش' ],
@@ -64,14 +55,11 @@
[ 'j', 'ج' ], [ 'j', 'ج' ],
[ 'K', 'خ' ], [ 'K', 'خ' ],
[ 'k', 'ک' ], [ 'k', 'ک' ],
[ 'L', '\u0613' ], // Radi Allahou anhu [ 'L', '\u065F' ], // Arabic wavy hamza below
[ 'l', 'ل' ], [ 'l', 'ل' ],
[ ';', '؛' ], [ ';', '؛' ],
[ '\'', '\u0670' ], // Superscript Alef [ '\\\\', '\u0657' ], // Inverted damma
[ '\\|', 'أ' ],
[ '\\\\', '؎' ],
[ '\\~', '\u064B' ], // Fathatan / FIXME This cannot actually work
[ '`', '\u064D' ], // Kasratan
[ 'Z', 'ذ' ], [ 'Z', 'ذ' ],
[ 'z', 'ز' ], [ 'z', 'ز' ],
[ 'X', 'ض' ], [ 'X', 'ض' ],