Re: Creating a Tirhuta Keyboard Layout
Posted: Mon Oct 05, 2015 6:09 am
The unsupported Tirhuta characters are far less when Devanagari Inscript is used for a basis, first because key Z is missing on the Hindi Traditional layout (at least on Windows), as it does not appear in the C source, unlike on Devanagari Inscript. As key Z is not part of any of the three Bengali layouts shipped with Windows neither, this is obviously far from a bug. Hence one reason more to prefer Devanagari Inscript for a basis. It contains almost the same mapping as Hindi Traditional but includes several additional characters. Using Devanagari Inscript as shipped with Windows, only 2 Tirhuta characters are left unmapped and need special processing at layout creation:
11480 TIRHUTA ANJI
114C5 TIRHUTA GVANG
One sees that the major part of my previous post is completely useless, as the solution for mapping Tirhuta script on a keyboard layout for Windows consists in simply take the most complete Hindi layout shipped with Windows, and map Tirhuta correspondingly.
This raises however the question whether Bengali would be an even better choice, as it includes the currency numerators and denominator borrowed from Bengali for use in Tirhuta. But the Tirhuta match shows that Bengali unsupports nine Tirhuta characters instead of only the two as listed above. (The basis is obviously the Bengali layout, because Bengali Inscript and Bengali Inscript Legacy are inferior in keyboard level and character number.) The Bengali layout thus contributes the currency numerals, which Iʼve mapped in the Devanagari grid exactly like they are on Bengali, because the corresponding places were empty.
VEDIC SIGN ARDHAVISARGA has been mapped as projected, in AltGr on the Minus key on which the visarga already is (in Shift), because the minus sign there is already available in the Base shift state. On Hindi Traditional it is doubled in AltGr by the principle of having in the two AltGr shift states the ASCII punctuations following the US-English layout. This rule does not apply on Devanagari Inscript, where several Devanagari characters are mapped in the AltGr shift states, but no ASCII symbols nor punctuations. They are now available when Kana toggle (on CapsLock) is on.
For the mysterious ANJI and GVANG, there are even places left on S and W. But for the sake of Bengali currency numerals, the gvang could be mapped on J, as a stacked double turned dotless j, which from a Maithili point of view is complete nonsense of course. Nevertheless, and in lack of better knowledge, Iʼve mapped them as announced, TIRHUTA ANJI on AltGr + J, TIRHUTA GVANG on AltGr + W.
After that, the only characters left are the North Indic fractions and related symbols:
A830 NORTH INDIC FRACTION ONE QUARTER
A831 NORTH INDIC FRACTION ONE HALF
A832 NORTH INDIC FRACTION THREE QUARTERS
A833 NORTH INDIC FRACTION ONE SIXTEENTH
A834 NORTH INDIC FRACTION ONE EIGHTH
A835 NORTH INDIC FRACTION THREE SIXTEENTHS
A836 NORTH INDIC QUARTER MARK
A837 NORTH INDIC PLACEHOLDER MARK
A838 NORTH INDIC RUPEE MARK
A839 NORTH INDIC QUANTITY MARK
Their relatively little number and list structure allow a traditional mapping without Compose. The first six may be on the [1], [2], and [3] keys in a given shift state for quarters, and in another shift state for sixteenths. Next would come the QUARTER MARK, and the PLACEHOLDER and QUANTITY on the next two keys in the lower shift state. Which shift states exactly, depends on where digits are placed.
I believe that on a keyboard for a script that has digits, and where US-English is readily available as a whole (by pressing CapsLock as a Kana toggle), ASCII digits shouldnʼt be in the forefront. Further, like on Vietnamese keyboard on Windows, there is a strong habit of having digits in AltGr. So I suggest to swap Tirhuta and ASCII digits, so that the former end up in Base, and the latter in AltGr. But of course that can be cancelled after feedback.
That brings up the provisional mapping of North Indic numerals in the Shift and Shift + AltGr shift states on the digit keys, where Hindi Traditional and Devanagari Inscript have both the same six sequences, all of which have the Virama in second (5) or first (1) position, in the Shift shift state of keys [3] through [8]. These sequences cannot be shifted one key towards the right, because the parentheses are in Shift where they are on English layouts. Therefore, the one on key [3] has now been transferred to the uppermost rightmost key next to Backspace, to the right of Plus. The hardware used in India is often based on the Remington key layout, which as far as I understand, has this key removed from the middle row to the benefit of Enter, and placed in the digit row at the expense of Backspace. Hence the third view option in MSKLC.
These sequences (ligatures) are using the following characters:
114C2 TIRHUTA SIGN VIRAMA
1148F TIRHUTA LETTER KA
11496 TIRHUTA LETTER JA
11498 TIRHUTA LETTER NYA
1149E TIRHUTA LETTER TA
114A9 TIRHUTA LETTER RA
114AC TIRHUTA LETTER SHA
114AD TIRHUTA LETTER SSA
And they go as follows (‘\’ stands for the Virama):
Shift + [\] (was:
Shift + 3): \ RA
Shift + 4: RA \
Shift + 5: JA \ NYA
Shift + 6: TA \ RA
Shift + 7: KA \ SSA
Shift + 8: SHA \ RA
I understand that they are facilitating the input, allowing for parts like a mute R, TRA, KSSA, SHRA. Iʼm thankful to William for the introduction to the Virama, which favoured my approach of these ligatures. I must confess that first I overrode them, before correcting the layout the same day but a little later.
I now guess that the more ligatures there are, the faster the input. Much more can be added: In the relevant shift states, 47 key positions are still empty: 7 in Shift, 15 in AltGr, 25 in Shift + AltGr. Filling them up with ligatures brings however a memorization challenge. This is why they should be filled up by default, in case there are users interested in, and everybody may feel free to decide whether to learn where they are, or not. Thatʼs about the most a keyboard driver can do. Beyond is the domain of IMEs.
Beyond, on another plane, is the US-English keyboard layout that is included and is activated by pressing CapsLock, that is KanaLock.(Using SGCaps would have been sufficient for a US-English layout, and can be done if eight levels are needed for Tirhuta. Now some supplemental characters are available in AltGr on digit keys. But SGCaps would have the advantage of seeing the LED, which is not available for KanaLock on Occidental and likewise keyboards. Perhaps there is a way to program this in the driver. The extended numpad is included in turn.
It is essential to avoid switching between keyboard layouts for bilingual input such as HTML markup. Good web pages are best written directly in a text editor using the languages of the web (HTML, CSS, JavaScript, PHP and more), star web developer Rodolphe Rimelé writes in “HTML 5” (2013).
I was willing to implement a Compose tree, but unfortunately Iʼd no time to do this part of the job. I hope it will be done in the future. Iʼd no time left neither to run the tests, which would also have been a waste since no Unicode conformant font available. But I think it will work, as Iʼve checked all relevant parts of the sources, and similarly programmed drivers worked. Iʼm hopeful to recover this some day. Everybody may feel free to modify and recompile, sources are included, the workbook as well, but Iʼd no time to make the diagram, so Iʼve deleted the spreadsheets in this version. My aim is that everybody who does no evil, may come into the benefit of performative keyboard layouts. But I donʼt know the way to ensure this. Feedback is welcome, and I could link to this forum from http://charupdate.info. On this page one can find a fine licence agreement, that everybody is welcome to implement.
The Tirhuta_1 folder is for free download at:
http://bit.ly/1jJ9ais_Tirhuta_1
I hope it will be helpful.
Marcel
11480 TIRHUTA ANJI
114C5 TIRHUTA GVANG
One sees that the major part of my previous post is completely useless, as the solution for mapping Tirhuta script on a keyboard layout for Windows consists in simply take the most complete Hindi layout shipped with Windows, and map Tirhuta correspondingly.
This raises however the question whether Bengali would be an even better choice, as it includes the currency numerators and denominator borrowed from Bengali for use in Tirhuta. But the Tirhuta match shows that Bengali unsupports nine Tirhuta characters instead of only the two as listed above. (The basis is obviously the Bengali layout, because Bengali Inscript and Bengali Inscript Legacy are inferior in keyboard level and character number.) The Bengali layout thus contributes the currency numerals, which Iʼve mapped in the Devanagari grid exactly like they are on Bengali, because the corresponding places were empty.
VEDIC SIGN ARDHAVISARGA has been mapped as projected, in AltGr on the Minus key on which the visarga already is (in Shift), because the minus sign there is already available in the Base shift state. On Hindi Traditional it is doubled in AltGr by the principle of having in the two AltGr shift states the ASCII punctuations following the US-English layout. This rule does not apply on Devanagari Inscript, where several Devanagari characters are mapped in the AltGr shift states, but no ASCII symbols nor punctuations. They are now available when Kana toggle (on CapsLock) is on.
For the mysterious ANJI and GVANG, there are even places left on S and W. But for the sake of Bengali currency numerals, the gvang could be mapped on J, as a stacked double turned dotless j, which from a Maithili point of view is complete nonsense of course. Nevertheless, and in lack of better knowledge, Iʼve mapped them as announced, TIRHUTA ANJI on AltGr + J, TIRHUTA GVANG on AltGr + W.
After that, the only characters left are the North Indic fractions and related symbols:
A830 NORTH INDIC FRACTION ONE QUARTER
A831 NORTH INDIC FRACTION ONE HALF
A832 NORTH INDIC FRACTION THREE QUARTERS
A833 NORTH INDIC FRACTION ONE SIXTEENTH
A834 NORTH INDIC FRACTION ONE EIGHTH
A835 NORTH INDIC FRACTION THREE SIXTEENTHS
A836 NORTH INDIC QUARTER MARK
A837 NORTH INDIC PLACEHOLDER MARK
A838 NORTH INDIC RUPEE MARK
A839 NORTH INDIC QUANTITY MARK
Their relatively little number and list structure allow a traditional mapping without Compose. The first six may be on the [1], [2], and [3] keys in a given shift state for quarters, and in another shift state for sixteenths. Next would come the QUARTER MARK, and the PLACEHOLDER and QUANTITY on the next two keys in the lower shift state. Which shift states exactly, depends on where digits are placed.
I believe that on a keyboard for a script that has digits, and where US-English is readily available as a whole (by pressing CapsLock as a Kana toggle), ASCII digits shouldnʼt be in the forefront. Further, like on Vietnamese keyboard on Windows, there is a strong habit of having digits in AltGr. So I suggest to swap Tirhuta and ASCII digits, so that the former end up in Base, and the latter in AltGr. But of course that can be cancelled after feedback.
That brings up the provisional mapping of North Indic numerals in the Shift and Shift + AltGr shift states on the digit keys, where Hindi Traditional and Devanagari Inscript have both the same six sequences, all of which have the Virama in second (5) or first (1) position, in the Shift shift state of keys [3] through [8]. These sequences cannot be shifted one key towards the right, because the parentheses are in Shift where they are on English layouts. Therefore, the one on key [3] has now been transferred to the uppermost rightmost key next to Backspace, to the right of Plus. The hardware used in India is often based on the Remington key layout, which as far as I understand, has this key removed from the middle row to the benefit of Enter, and placed in the digit row at the expense of Backspace. Hence the third view option in MSKLC.
These sequences (ligatures) are using the following characters:
114C2 TIRHUTA SIGN VIRAMA
1148F TIRHUTA LETTER KA
11496 TIRHUTA LETTER JA
11498 TIRHUTA LETTER NYA
1149E TIRHUTA LETTER TA
114A9 TIRHUTA LETTER RA
114AC TIRHUTA LETTER SHA
114AD TIRHUTA LETTER SSA
And they go as follows (‘\’ stands for the Virama):
Shift + [\] (was:
Shift + 3): \ RA
Shift + 4: RA \
Shift + 5: JA \ NYA
Shift + 6: TA \ RA
Shift + 7: KA \ SSA
Shift + 8: SHA \ RA
I understand that they are facilitating the input, allowing for parts like a mute R, TRA, KSSA, SHRA. Iʼm thankful to William for the introduction to the Virama, which favoured my approach of these ligatures. I must confess that first I overrode them, before correcting the layout the same day but a little later.
I now guess that the more ligatures there are, the faster the input. Much more can be added: In the relevant shift states, 47 key positions are still empty: 7 in Shift, 15 in AltGr, 25 in Shift + AltGr. Filling them up with ligatures brings however a memorization challenge. This is why they should be filled up by default, in case there are users interested in, and everybody may feel free to decide whether to learn where they are, or not. Thatʼs about the most a keyboard driver can do. Beyond is the domain of IMEs.
Beyond, on another plane, is the US-English keyboard layout that is included and is activated by pressing CapsLock, that is KanaLock.(Using SGCaps would have been sufficient for a US-English layout, and can be done if eight levels are needed for Tirhuta. Now some supplemental characters are available in AltGr on digit keys. But SGCaps would have the advantage of seeing the LED, which is not available for KanaLock on Occidental and likewise keyboards. Perhaps there is a way to program this in the driver. The extended numpad is included in turn.
It is essential to avoid switching between keyboard layouts for bilingual input such as HTML markup. Good web pages are best written directly in a text editor using the languages of the web (HTML, CSS, JavaScript, PHP and more), star web developer Rodolphe Rimelé writes in “HTML 5” (2013).
I was willing to implement a Compose tree, but unfortunately Iʼd no time to do this part of the job. I hope it will be done in the future. Iʼd no time left neither to run the tests, which would also have been a waste since no Unicode conformant font available. But I think it will work, as Iʼve checked all relevant parts of the sources, and similarly programmed drivers worked. Iʼm hopeful to recover this some day. Everybody may feel free to modify and recompile, sources are included, the workbook as well, but Iʼd no time to make the diagram, so Iʼve deleted the spreadsheets in this version. My aim is that everybody who does no evil, may come into the benefit of performative keyboard layouts. But I donʼt know the way to ensure this. Feedback is welcome, and I could link to this forum from http://charupdate.info. On this page one can find a fine licence agreement, that everybody is welcome to implement.
The Tirhuta_1 folder is for free download at:
http://bit.ly/1jJ9ais_Tirhuta_1
I hope it will be helpful.
Marcel