Re: Key Curry : Attempting to make it easy to type world languages and orthographies on the web

From: Richard Wordingham <>
Date: Tue, 24 Apr 2012 01:11:15 +0100

On Mon, 23 Apr 2012 15:49:29 -0400
Ed Trager <> wrote:

Please note that there are some encoding questions mixed in with
observations on the application.

(Observation 3 from before)
> Key Curry however needs to implement a generic solution across all
> scripts for displaying combining marks in isolation, and thus using
> DOTTED CIRCLE U+25CC is presumably a better choice than using, say, an
> "x". Do you also see the "double dotted circle" problem with, say, an
> Arabic keyboard's diacrtical marks?

No, I see just one circle. However, the Arabic non-spacing marks appear
above right and below right rather than above and below.

(Observation 4 from before)
> If you already have a Thai Ketmanee keyboard via X,
> then you don't need Key Curry, do you?

I thought the design aim was to use the scan codes, so if the Key Curry
and Kesmanee layout are the same (and the Thai Industrial Standard has
changed), I should get the same character for a key press. It worked
fine until the browser couldn't work which key produced '/'! I think
earlier discussion had already established that there was a widespread
browser problem.

> --- Unless of course you don't
> like the Ketmanee layout -- then you might like to try the new "Easy
> Thai" phonetic/mnemonic layout that I just added this past weekend.

Thinking of preferences, you haven't forgotten Pattachote, the Thai
equivalent of Dvorak, have you? Neither is in the current menu.

Having made an effort to learn it well enough not to need a keyboard
labelled in Thai, I naturally use Ketmanee as the basis of my own
Lanna keyboard layouts.
> > 6. Having a way of viewing the 2-key keymaps would be useful.

> That's what the "Map" tab does. Is that not sufficient?

It's cumbersome to use, and relies on users resorting to reading the

Even pictures of a keyboard layout have their problems. I find it more
useful to have a logically sorted map from character to what appears on
the keyboard, as in my clunkier javascript Thai keyboard at .

> > 7. So far as I am aware, what appear to be U+0E4F THAI
> > serving as punctuation in a Lanna text have not been declared
> > to be glyph variants of U+1AA4 TAI THAM SIGN HOY and
> > U+1AAC TAI THAM SIGN HANG.  <snip>

> Do you have some evidence you can point out to me showing that THAI
> FONGMAN and THAI KHOMUT (or something looking a lot like those
> symbols) are used in Lanna texts? Perhaps there is a manuscript on
> the
> digital library that shows such usage?

I haven't looked through old texts for them. The script was still in
significant use in Northern Thailand in the 1960s, so I shouldn't have
been startled to find the brand name 'Electone' in the Lanna script in
the MFL dictionary of Northern Thai.

Pages 130-131 of 'Tamra Rian Nangsue Phasa Lanna Thai' by Kh(r)u
Siniam S(a)wat, dated 1992 on the flysheet, have been uploaded to .
(I'm afraid they weigh in at 9 Mbytes - but the quality of the copy
is good.)

Each of the four paragraphs start with a fongman, drawn as two roughly
concentric circles. The terminal punctuation of paragraphs one, three
and four ends in what is either khomut or a hitherto unidentified
symbol. None of these khomut-like symbols rise to the elaboration of
khomut or U+1AAC TAI THAM SIGN HANG as depicted in TUS.

There are some possible coding issues with commas and full stops, which
I had previously overlooked.

The commas (most prominent at the bottom of p130) hang from the Lanna
baseline, from which Lanna consonants hang. (Do I need to
publish an illustration of how Lanna consonants should be written on
ruled paper? It's shown in most text books. Strangers to the script
need only recall the Devanagari base line as described in the
definition of the OpenType positioning tables.) However, in sentences
starting in the Thai script, commas between Lanna script words hang
from the Thai baseline, which is the same as the European baseline. (The
continuous text, as opposed to tables, seems to have been written using
feint lines that have generally not been reproduced, and the commas -
and full stops - have been hung from those lines, whether the Lanna
script words hang from them as usual or sit on them so that the bodies
of the consonants line up with the Thai consonants.) We might suggest
that the positioning was a font change between a Lanna script font and
a Thai or Latin script font, but aren't there standards that say that
fonts should support ASCII? (Thai Khuen commas that I've seen hang from
the European baseline). Do we have yet another punctuation mark here?
Should we encode commas hanging from the Lanna baseline as U+2019 RIGHT
SINGLE QUOTATION MARK? U+2019 has general = category Pi, which means
initial quotation mark, or opening or closing punctuation.

There also appear to be some full stops on the Lanna baseline - the
abbreviation functions seems the most plausible interpretation. (The
primary non-numeric use of the full stop in Thai is as an abbreviation
mark.) How should they be encoded? We can't rely on context, as when
profane (HORA) Lanna numbers have been written on the ruled line, a
following full stop still appears on the line.

Observation 9 (new):

I believe that in Thailand, grave is commonly use to switch between US
and Thai keyboard layouts. Won't this interfere with the use of
grave in the 2 to 1 sequences for the Tai Tham consonants?

For that very reason, I chose '!' as a sort of dead key to access extra
keyboards in my Keyman for Linux (KMFL) keyboard mapping for this
script. (I use AltGr in the Windows (MSKLC - not the latest
technology) and X mappings, but then I lose some or all of the
'ligatures' that some list as Lanna consonants
- see for
instance - and which I have in my KMFL keyboard. Make the implications
of that chart into Observation 10 if you think you should handle
potential named sequences.)

Observation 11 (new):

It took me a long time to twig what you meant by the pause/play
button. I wasn't expecting one on the input window.

Received on Mon Apr 23 2012 - 19:18:00 CDT

This archive was generated by hypermail 2.2.0 : Mon Apr 23 2012 - 19:18:02 CDT