Creating a Tirhuta Keyboard Layout

Oh excellently put!

William

When it comes to making the Unicode font, one could use Scanahand to get something to get started.

William

If anyone wants to help by creating a keyboard, I suggest the following approach:

  1. Either use an Inscript (perhaps better, Inscript 5.1) keyboard layout, or convert a Windows Devanagari layout.
  2. Squeeze in the unsupported characters - they’re useful if you’re expecting to use the keyboard for testing fonts, and might actually be necessary for normal text.
  3. If not already included, add ZWJ and ZWNJ just in case they’re actually needed. Typical bindings are:

ZWJ: ctrl-shift-1 or altGr-shift-space
ZWNJ: ctrl-shift-2 or altGr-space.

  1. Test keyboard on user.

As far as I can see, Tirhuta is mostly just another North Indian extreme font variant. If you need a font to test the keyboard, map Tirhuta to Bengali with some arbitrary mappings for characters that don’t correspond.

As I understand it, the situation is something like this, bodged into English so as to give an example. I am happy for someone to correct me if I have not got it quite right.

The Indian languages are each not an alphabet they are each an abugida.

Suppose that there were a language like the following, using English characters.

One letter is a ¶ that is there is an inherent a. If one wants a different vowel one adds it after the ¶ and it suppresses the inherent a. For example ¶o to give po.

Sometimes though the vowel is logically after the ¶ but is displayed before it.

Now, this is just to give an idea, I am not saying that an o does not do it but that an e does do it, I am just using o and e here to try to explain how I think it goes. Suppose that in my hypothetical constructed script that an e does do it.

Then what is logically in the text file

¶e

would be displayed on the screen as

ep

so the visual order on the screen or in print is not the same as the logical order in the file.

Another issue is the virama.

Suppose that the script has ¶ and (ra) as two letters.

There could be an item (is it a ligature or a grapheme cluster or what?) such that there is a pr sound.

So ¶ is as pa in the English word part and (ra) is as ra in the English word ranch and one can also have ¶(-a)(ra) as the pra in the English word prance.

The (-a) bit is the virama.

Now although it can be that the ¶(-a)(ra) is displayed as ¶(-a)(ra) sometimes (often? mostly?) the ¶(-a)(ra) would be displayed as if it is one glyph, different from any of the glyphs used in ¶(-a)(ra).

I have no idea what happens if, continuing my hypothetical script above, there is an e after the ¶(-a)(ra) mentioned above or the different glyph. It might be that the ¶(-a)(ra)e sequence sometimes leads to an entirely different glyph altogether.

So we need to find out from Roshan what happens for each of the cases that can occur in the Tirhuta script.

I hope that this helps.

If anyone can improve on this attempt at an explanation, please do, as it will be helpful to everybody.

William

It can be worse than that.

I’m going to switch notation. (p) is the basic letter form, (p’) is the form with visible virama, (p-) is the form on the left as first element of a cluster, (/p) is the form below, as the second element, (p/) is the form as a superscript mark for the first element, and (p=) is the form on the left as the second element of a cluster. Finally, there’s (p+r) for a fused combination. For vowels like E, there’s a form before the consonant (e-) and a form above - say (\e). In Devanagari, they’re encoded separately, and the choice should really be a matter of font style. In the Newa script of Nepal, for example, whether ‘e’ appears before or above the ‘pa’ depends on the shape of the ‘pa’ - for some letters it goes before, some it goes above. Likewise, the ‘r’ may go before or below the ‘p’, depending on the style of the font, as, I believe, in Malayalam. Next, as in at least some styles of Devanagari, the ‘p’ and ‘r’ may not combine, so in Hindi one would see what looked like (p’)(e-)(r). In Marathi (also in the Devanagari script), this would be written (e-)(p’)(r).

So, <p, -a, r, e> could be rendered as:

(p+r)(\e), (e-)(p+r), (p-)(r)(\e), (e-)(p-)(r), (p)(/r)(\e), (e-)(p)(/r), (p/)(r)(\e) (I’m not sure of the order of p/ and e), (e-)(p/)(r), (r=)(p)(\e), (e-)(r=)(p), (p’)(r)(\e), (e-)(p’)(r) or (p’)(e-)(r).

Some people, and also fonts, like to think of (p/)(r) as being base letter ‘r’ with a superscript ‘p’ following it.

E goes before or on top. U typically goes below or after. O often splits into two pieces, one like E and one after the consonant, as in Tirhuta. I thought I’d keep things simple.

Until you are familiar with what Tirhuta does, I suggest you stick to supporting the phonetic rather than the visual order.

Unless it is possible to contact the copyright owner and that person either joins in this activity and produces a Unicode font or gives permission to adapt a copy of the font so as to produce a Unicode font.

William

Yes, that would seem to be a good idea: just try to get something that works at a basic level to get things going.

Thank you for the explanation.

William

There is a contact email address on this page.

Hi Marcel.

I hope that you do not mind me mentioning this, but I feel that it is an important matter.

I know from the Unicode mailing list that your email is based in France.

I am not a linguist yet I am aware of a matter that can cause confusion between English and French.

Actually Roshan did not make a demand.

Roshan made a request.

The verb demander in French does not translate into English as “to demand” but into “to ask”.

In English, “to demand” is forceful.

There was an exchange in the Unicode mailing list some years ago where I was accused of making demands, though that was not through an English and French translation situation.

Here are some links to the posts and to some dictionary entries.

I hope that this helps.

William

Hi William,

I’m very grateful to you for making me aware of the difference of tone that is implied through the distinction between request and demand. Effectively after using two times the word request, I altered my expression by using demand:



That’s right. And as my mother tongue is German, I understand even better that by talking of a “demand,” I actually could have meant what in German is a Forderung instead of an Anfrage.

I fully agree. Roshan did never mind to make any “demand” for font and keyboard support. He only asked for help:





But please permit me to note that I did not use the verb, I did not write: “That resolves half of the support Roshan demanded,” but only: “that resolves almost one half or even more of Roshan’s demand.” In English, as well as in French (and in German), a demand (or demande, Nachfrage is also the economical fact of a good being asked for:

1.2 [mass noun] The desire of consumers, clients, employers, etc. for a particular commodity, service, or other item:
a recent slump in demand
[count noun]: > a demand for specialists
Oxford Languages | The Home of Language Data

And I hurry up thanking you for the many links you provided to dictionaries, among which the above, and to the Unicode Mailing List exchange which illustrates very well the difference between “requests or suggestions” and “demands”.

Perhaps, in this sense, I could have written less fautily:
"I’m very glad about this help from the Unicode Consortium, and I’m now going to personally thank Sarasvati for this valuable hint that meets almost one half or even more of Roshan’s demand.

To complete, I must confess that my request on the Unicode Contact form was about importing glyph images from screenshots of the Code charts to make a Tirhuta font. This is not extracting the font (which is prohibited), but it is a waste of time, I’ve been answered.


Font for Tirhuta script

Unfortunately there is even more than one word wrong in my last post, as the linked font is not Unicode conformant, it only maps ASCII to Tirhuta, like the legacy fonts that ship with WordPerfect for backwards compatibility, and despite of being maintained, it does not seem to have been updated since Tirhuta has been encoded in Unicode. The citations of the UCD and more lead me to the assumption that the font is up do date. We will have to make a request for a Unicode version of this font, which would be easy to perform as the glyph problem is actually resolved, at least to a certain extent (given the complexity of the script, which posts I’ll answer next).

Marcel

I’m afraid Scanahand does not allow to map SMP characters, does it? In any case, there are one hundred dollars off on Font Creator Professional until the day after tomorrow, fifty dollars on Standard edition:

My knowledge of French is only basic and my knowledge of German is less.

I have written song lyrics in French and song lyrics in Esperanto. I have not yet tried to write song lyrics in German.

Yet that is two more words to add to my knowledge.

I like German volksmusik. We used to get it on the Astra satellite system in the 1990s. I still get some of it on YouTube.

I tend to use Google translate to translate titles and lyrics when I can find lyrics. Thus gradually my knowledge increases.

Sometimes I understand parts of it, it is as if it is like magic, I am listening to the music and not understanding the words and then suddenly I do understand the words and then it goes again!

Well, I understand what you mean, but in my own experience, which is not everything by a long way, the word demand used as a noun in the manner you mention is used in a generalized plural sense.

I like the art with the lettering. I had not realized that that was possible in this forum.

The link to the font is very useful as there is a link to contact the lady who contributed the font.

So maybe permission, or even help, will be forthcoming so that the converting of a copy of that font to a Unicode font might become possible.

William

The edit is to correct a spelling mistake.

I have the Premium version and that does.

Ah, I was thinking in terms of, if it is allowed in the licence, I could post a Scanahand template png and then if someone filled it in I could use Scanahand to get the artwork into a font, which could then be processed using FontCreator.

That could work well if the filling in of the template png were made within a computer, using, say, Microsoft Paint.

However, I am not sure what would happen if I posted a png, someone else printed it out onto paper, filled it in with a pen and then scanned it into his or her computer and then posted it here and I then tried to use it within my copy of Scanahand. The graphic produced by the scanner not being the exact same size in pixels as the template graphic.

Thinking about it I am not quite sure if the scan was not made direct into Scanahand whether there could be synchronization problems if the graphic file of the external scan were not exactly the right size. I do not know, or cannot now remember, how Scanahand locks onto a scan and synchronizes it. Maybe it would work, I am not sure. Anyway, I am not sure that posting a template png is allowed in the licensing rules, though I could check.

Yet the same result could be achieved, though perhaps a bit more laboriously, using FontCreator alone.

Yes, I accept that my meaning was ambiguous. I was thinking in terms of what I have got on this computer.

William

Thank you for the roadmap. Effectively I must stick with Devanagari as this is the current hardware for Maithili.

Are this the Tirhuta characters that don’t have any Devanagari equivalent? Then the layout will be an experimental one and needs to be adjusted.

I will add them. No-break spaces as well, but as there are two of them, would it perhaps be interesting to have a dead key on the space bar, say on AltGr+Space? Then we have to map all format and space characters all over the keyboard, as a second keystroke after the dead key. However, as ligatures cannot be used in a dead key sequence—but they can! We’ve to add both surrogates in a dead key chain! I hadn’t had that idea before, hence the exclamation marks.

I believe that this is a better way than starting with a specification. Keyboards are tools and cannot be invented in an abstract space. This is why I end up not to make any specification form. We should rather make a prototype, make it available, and wait for feedback.

How do you map one font to another? Is a special tool required? Do I need Font Creator? Perhaps should I make this investment. Until October 04, it is at 149$ or 199$, that is 50 or 100$ off:
Buy Now

You may download Tirhuta on this other page:
http://www.maithilifonts.in/

Alas, the e-mail address is not valid any longer. I’ve just sent an e-mail and got it back for lack of account. We’re sadly left alone.

This is a very performative forum engine, you don’t find these features on all fora. Colours may be defined by hex code within the color open-tag, and font-size in percent equally in the size open tag. — When I started on this forum, I wasn’t aware of the tags altogether, though I’d read about such tags out there.

I’m going to re-read the explanations that Richard and you posted about the script. Thanks.

Marcel

Thank you for these explanations. I’ve looked up Winipedia on the keywords too, and that there is OpenType glyph substitution. Probably that means that the user has to produce the raw text file and formatting instructions, and the rest is done by the font and the rendering engine, like when we use fraction formatiing and typographic ligatures, that are generated within the word processing software and the font, and not input as characters, the ff, fi, fl, ffi, ffl in Unicode being for legacy support only (for Word).

Marcel

With FontCreator it would be straightforward, yet, in this case, possibly laborious.

It is only allowed if you can obtain legal permission to do so.

In the original font each glyph will be mapped to a code point in a range, possibly from $00A0 to $00FF.

So, one would start a new project in FontCreator and insert characters corresponding to the code range for Tirhuta that is in the Unicode chart for Tirhuta. The cells would be empty.

One would then open the existing font and copy each glyph onto the clipboard and paste it into the appropriate cell in the new project. For this task, do not use Paste Special.

One would need to work out, or be informed by someone else, which glyph is which, bearing in mind that the designs may differ from the examples in the Unicode font.

Please note that I said to start a new project in FontCreator and open the old font separately. This is important. It would be unwise to simply open the old font, save as a project and then add the new characters to that project. It might be alright but it might not.

By doing it as I suggest, only the artwork for the glyphs would be copied from the old font, nothing of the internal structure of the old font.

Now it is possible that today, now that FontCreator uses project files, that the problem would not exist. I do not know. Better to be safe than risk it and not know.

The process would be straightforward in relation to using FontCreator. The laborious part is to find out or work out which glyph goes into which cell, though that might be, possibly, easy if, for example, the Unicode mappings are in the same order as the old encoding, then the glyphs could be copied in bulk: getting permission to use the artwork from the original font is important and that depends a lot on whether contact can be made.

The thing is, if someone drew some new glyphs, by drawing by hand and scanning or by designing in either FontCreator or in a graphics program, then the permission part could be easier. Once the designs are in the computer as images then putting them into a font in the right place is straightforward, provided one is told which image goes with which Unicode code point.

William

The thing that concerns me is that whereas f, I and l are all in plane 0 of Unicode, the Tirhuta characters are not in plane 0.

So, for example, one could make a font to do the substitution for the ff, fi, fl, ffi, ffl and test it in the Serif PagePlus desktop publishing program, as the Serif PagePlus program handles plane 0 Unicode.

How could one test the Tirhuta font?

I only have WordPad that could display the Tirhuta characters, yet it is not OpenType-aware.

William

Now I’ve an idea of what a complex script is. Thank you for this explanation of what I’ll be dealing with when trying to map all that to keys! Yes indeed, if the input should be other than what will be in the text file, then an IME would seem the appropriate solution.

However, OpenType fonts allow for scripting, to automatize glyph reordering and glyph substitution. This would be why the keyboard is considered part of a system, along with fonts and rendering engines. Didn’t Roshan ask for both font and keyboard layout? How will I go to make one of them, and without knowing Maithili nor Indic on the whole? Well we’re talking of a prototype.

Marcel

Alas, the e-mail address is not valid any longer. I’ve just sent an e-mail and got it back for lack of account. We’re sadly left alone.

Sorry I didn’t see your post on this page, so I’ve quoted myself from Creating a Tirhuta Keyboard Layout - #36 by Marcel