Possible to add new precomposed characters for local language in Togo?

Marcel Schneider charupdate at orange.fr
Sat Nov 5 22:11:02 CDT 2016


On Fri, 04 Nov 2016 15:30:48 -0700, Doug Ewell wrote:

> I am seeking technical information from a Microsoft team member. 
> Hopefully we will soon have definitive answers to replace all the 
> controversy. 

Iʼm aware that discussions have sometimes a way of going off the road and I 
do experience this also on the mailing list of a keyboarding community I’m 
actually very implied in, but I understand that when the layout driver 
architecture of some OS impacts numerous local user communities, analyzing 
code snippets on the Unicode List may sometimes end up meeting a real demand 
because at some point, the discrepancy between the on-going development of 
the Unicode Standard and its implementation in the real world is going to 
heavily compromise the usability and the usefulness of the scheme.

Having said that, Iʼm further aware that code development is typically best 
done on collaborative repositories such as GitHub, GitLab, Sourceforge. Iʼve 
tried some of them and do have accounts. Perhaps Iʼve missed something: I 
dont find the neat display and nice syntaxic highlighting like on ReactOS. 
And above all, Iʼm unable to figure out efficient layout driver development 
there. A big part is done in huge workbooks. This is best done in Excel. 
When my workbook is up-to-date, Iʼll be in a position to share it in public.

Now since we are on it, be it permitted to discuss other snippets, hopefully 
that Microsoft (or a programmer on this List) will find a way to make the 
Windows APIs understand multiple code units by dead keys:

/*TEMPLATE */ DEADTRANS( BASECHAR ,DEADKEY ,COMBICHAR ,DEADKEYFLAG), // UNICODE NAME

— This is how it can work without dead keys:
/*COMPOSE */ DEADTRANS( L'\"' ,0x00a9 ,0x0151 ,CHAIN ), // LATIN SMALL LETTER O WITH DOUBLE ACUTE
/*DOUBLE_AIGU*/ DEADTRANS( L'o' ,0x0151 ,0x0151 ,DKF_0 ), // LATIN SMALL LETTER O WITH DOUBLE ACUTE
/*COMPOSE */ DEADTRANS( L':' ,0x00a9 ,0x00eb ,CHAIN ), // LATIN SMALL LETTER E WITH DIAERESIS
/*TREMA */ DEADTRANS( L'a' ,0x00eb ,0x00e4 ,DKF_0 ), // LATIN SMALL LETTER A WITH DIAERESIS

— Now the acute and tilde dead keys:

• In the allocation table:
{VK_OEM_1 /*T1B D12*/ ,0x08 ,DEAD ,DEAD /*snip*/
{0xff,0 ,/*acute:*/0x00e1 ,/*tilde:*/0x00f5 /*snip*/

• In the deadtrans list:
/*TILDE */ DEADTRANS( 0x00e1 ,0x00f5 ,0x1e4d ,CHAIN ), // LATIN SMALL LETTER O WITH TILDE AND ACUTE
/*TILDE&AIGU */ DEADTRANS( L'O' ,0x1e4d ,0x1e4c ,DKF_0 ), // LATIN CAPITAL LETTER O WITH TILDE AND ACUTE

— And with LATIN CAPITAL LETTER OPEN E? Why not this way (as has been suggested):
/*TILDE&AIGU */ DEADTRANS( 0x0190 ,0x1e4d ,{0x0190,0x0303,0x0301} ,DKF_0 ), // *LATIN CAPITAL LETTER OPEN E WITH 
TILDE AND ACUTE

Hopefully,

Marcel



More information about the Unicode mailing list