From: John Hudson (tiro@tiro.com)
Date: Mon Apr 26 2004 - 15:04:52 EDT
Philippe Verdy wrote:
>>>>A keyboard can generate a single or combined character in few different
>>For the keyboard you can use MSKLC
> http://www.microsoft.com/globaldev/tools/msklc.mspx even with the necessary
> multiple code point characters that you need.
> Yes it works for the final generated sequences, but MSKLC won't work with
> multiple dead keys, as MSKLC only supports combinations like:
> <dead key> + <base code point> ==> <unicode string>
> So to allow entering I + curcumblex + acute, one would need to map:
> <acute dead key> + <I-circumflex code point>
> but there's no way to compose I-circumflex if it does not receives a single
> keystroke assignment (without dead keys).
> There's no support in MSKLC to create mapping with 2 dead keys + one base code
> point.
Forget dead keys. Dead keys are only useful if you can perform a character level mapping
to a precomposed character code. As such, it is a mechanism that is effectively useless
for composing sequences that need to be rendered as either dynamically composed
combinations (e.g. using OpenType GPOS mark attachment) or unencoded ligatures at the
glyph level (e.g. using OpenType GSUB many-to-one substitution). Rather than having an
'acute dead key', it is better to simply have a combining acute key, and enter the sequence as
<Icircumflex, acute>
or even
<I, circumflex, acute>
On Windows, the latest Uniscribe will automatically perform character level mapping from
sequences of base+combining mark if a precomposed form exists in Unicode and is encoded in
the font. So
<I, circumflex>
will automatically be rendered using the /Icircumflex/ glyph, presuming the latter is
present in the font and correctly encoded. The glyph sequence
/Icircumflex/acute/
can be rendered either by dynamically placing the acute relative to the /Icircumflex/
glyph, or by substituting a ligated form, e.g. in the GSUB Glyph Composition/Decomposition
<ccmp> feature:
/Icircumflex/acute/ -> /Icircumflex_acute/
[Note that dynamically positioning the acute, a good font will include a variant form of
the combining acute that is designed to work with uppercase or other tall forms, and this
will be contextually substituted when preceded by a tall base.]
I realise that all of the above suggestions rely on relatively new technologies, but these
technologies are available, they are shipping, and they are designed to work with Unicode
text.
John Hudson
-- Tiro Typeworks www.tiro.com Vancouver, BC tiro@tiro.com I often play against man, God says, but it is he who wants to lose, the idiot, and it is I who want him to win. And I succeed sometimes In making him win. - Charles Peguy
This archive was generated by hypermail 2.1.5 : Mon Apr 26 2004 - 15:37:37 EDT