wikimedia / jquery.ime

jQuery based input methods library
Other
171 stars 162 forks source link

Indonesian keyboard #727

Open bennylin opened 1 year ago

amire80 commented 1 year ago

This definitely needs tests. In addition, can you please explain the motivation for the keyboard? From what I heard, Indonesian is usually written without diacritics.

bennylin commented 1 year ago

I will write some tests.

The purpose is to accommodate writing in Indonesian Wikipedia, Wikisource (old spellings), and Wiktionary, where many articles include the local names in various local languages in Indonesia. Thus, this is the keyboard that provides all the special Latin letters from Javanese, Madurese, Nias, Sundanese, Acehnese, Banjarese, Minang, Batak, etc.

bennylin commented 1 year ago

The purpose is to accommodate writing in Indonesian Wikipedia, Wikisource (old spellings), and Wiktionary, where many articles include the local names in various local languages in Indonesia. Thus, this is the keyboard that provides all the special Latin letters from Javanese, Madurese, Nias, Sundanese, Acehnese, Banjarese, Minang, Batak, etc.

Also, in Indonesian language spelling standard (2015), actually the e accent are recognized and the letter 'e' could be written with different accent to avoid ambiguity https://id.wikisource.org/wiki/Peraturan_Menteri_Pendidikan_dan_Kebudayaan_Republik_Indonesia_Nomor_50_Tahun_2015/Lampiran#B._Huruf_Vokal

amire80 commented 1 year ago

Have you considered doing something more like the Yoruba or Fon Tilde keyboards? In them, you first write a letter and then a combination of ~ and characters like ', `, ^, etc.

bennylin commented 1 year ago

Have you considered doing something more like the Yoruba or Fon Tilde keyboards? In them, you first write a letter and then a combination of ~ and characters like ', `, ^, etc.

Do you mean these:

            [ '~\\\\', '\u0300' ], // Combining grave
            [ '~/', '\u0301' ], // Combining acute
            [ '~\\^', '\u0302' ], // Combining circumflex
            [ '~\\-', '\u0304' ], // Combining macron
            [ '~v', '\u030C' ] // Combining caron

That would be two code points, no? 'e' + acute, or 'e' + grave. Preferably the result should be only one single code point.