File talk:WAfrica-Alt-1.png: Difference between revisions

From OLPC
Jump to navigation Jump to search
(New page: I generally followed the SIL layout, but as we are using Alt-gr instead of deadkeys, I made a few changes. Also, I couldn't readily find glyphs for U+F21B, U+F218, U+F215, and U+F214, so I...)
 
(Strategy from here)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==hard to find keys==
I generally followed the SIL layout, but as we are using Alt-gr instead of deadkeys, I made a few changes. Also, I couldn't readily find glyphs for U+F21B, U+F218, U+F215, and U+F214, so I haven't included those characters. Any comments regarding what to do about these? --[[User:Walter|Walter]] 12:56, 2 November 2007 (EDT)
I generally followed the SIL layout, but as we are using Alt-gr instead of deadkeys, I made a few changes. Also, I couldn't readily find glyphs for U+F21B, U+F218, U+F215, and U+F214, so I haven't included those characters. Any comments regarding what to do about these? --[[User:Walter|Walter]] 12:56, 2 November 2007 (EDT)

:Those characters do not exist. The Unicode standard defines F000 to F8FF as the Corporate Zone of the Private Use Area, and LANANA standardized it as in the table below. [[User:AlbertCahalan|AlbertCahalan]] 01:49, 3 November 2007 (EDT)

F000 to F7FF is direct-to-font '''''(you are here)'''''
F800 to F804 contains obsolete VT100 characters
F805 to F80F are reserved
F810 to F813 are Microsoft keyboard symbols
F814 to F8CF are reserved
F8D0 to F8FF are Klingon

:It is not legitimate for a font to encode characters in that region. SIL has gone off in an incompatible direction, without obtaining agreement from any of the world's OS suppliers. Do not use these codes. [[User:AlbertCahalan|AlbertCahalan]] 01:49, 3 November 2007 (EDT)

:It looks like Unicode 5 contains some of what you were looking for. [[User:AlbertCahalan|AlbertCahalan]] 02:40, 3 November 2007 (EDT)

SIL F214 is Unicode 024C, R with stroke
SIL F215 is Unicode 2C64, R with tail
SIL F218 is Unicode 0244, U bar
SIL F21B is '''likely to be''' Unicode 2C72, W with hook (at stage 6, JTC1 Ballot)
SIL F21A is '''likely to be''' Unicode 2C73, w with hook (at stage 6, JTC1 Ballot)

:Dead keys are way more sane than the alternative. The alternative requires unrendering. Sometimes one can not take back what has been done. Dead keys act like any normal input method, while the alternative is a mess to support. [[User:AlbertCahalan|AlbertCahalan]] 01:49, 3 November 2007 (EDT)

==OLPC section of the XKB symbol file==
To use the XKB West African layout, you may need to edit <tt>/etc/X11/xorg.conf</tt>:

XkbLayout "ng"
XkbVariant "olpc"

<pre>
partial alphanumeric_keys
xkb_symbols "olpc" {
name[Group1]= "OLPC West Africa";

include "us(basic)"

// OLPC West African keyboard layout.
// See: http://wiki.laptop.org/go/Image:WAfrica-Alt-1.png

key <TLDE> { [ grave, asciitilde, 0x1000300, 0x1000303 ] }; // combining grave, combining tilde above
key <AE01> { [ 1, exclam, exclamdown, exclamdown ] }; // 0x10000A1
key <AE02> { [ 2, at, 0x100030A, 0x100030A ] }; // combining ring above
key <AE03> { [ 3, numbersign, sterling, sterling ] }; // 0x10000A3
key <AE04> { [ 4, dollar, 0x10020A6, 0x10020A6 ] }; // Naira
key <AE05> { [ 5, percent, EuroSign, EuroSign ] }; // 0x10020AC
key <AE06> { [ 6,asciicircum, 0x1000302, 0x1000302 ] }; // combining circumflex above
key <AE07> { [ 7, ampersand, 0x1000324, 0x1000324 ] }; // combining caron above
key <AE08> { [ 8, asterisk, 0x1000330, 0x1000330 ] }; // combining tilde below
key <AE09> { [ 9, parenleft, 0x100030D, 0x100030D ] }; // combining vertical line above
key <AE10> { [ 0, parenright, 0x1000329, 0x1000329 ] }; // combining vertical line below
key <AE11> { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above
key <AE12> { [ equal, plus, 0x1000331, 0x1000331 ] }; // combining macron below

key <AD01> { [ q, Q, oslash, Oslash ] }; // 0x10000F8, 0x10000D8
key <AD02> { [ w, W, schwa, SCHWA ] }; // 0x1000259, 0x100018F
key <AD03> { [ e, E, 0x10001DD, 0x100018E ] }; // reverse E
key <AD04> { [ r, R, 0x100024D, 0x100024C ] }; // R with stroke
// 0x1000167, 0x1000166 ] }; // T with stroke
// 0x100027D, 0x1002C64 ] }; // R with tail
key <AD05> { [ t, T, 0x10001AD, 0x10001AC ] }; // T with hook
key <AD06> { [ y, Y, 0x10001B4, 0x10001B3 ] }; // Y with hook
key <AD07> { [ u, U, 0x1000289, 0x1000244 ] }; // U with bar
key <AD08> { [ i, I, 0x1000268, 0x1000197 ] }; // I with bar
key <AD09> { [ o, O, 0x1000254, 0x1000186 ] }; // open O
key <AD10> { [ p, P, 0x10001A5, 0x10001A4 ] }; // P with hook
key <AD11> { [ bracketleft, braceleft, 0x10001B6, 0x10001B5 ] }; // Z with bar
key <AD12> { [bracketright, braceright,Greek_sigma, Greek_SIGMA ] }; // 0x1000283, 0x10001A9
key <AC01> { [ a, A, 0x1000251, 0x100F208 ] }; // alpha
key <AC02> { [ s, S, 0x100025B, 0x1000190 ] }; // open E
key <AC03> { [ d, D, 0x1000257, 0x100018A ] }; // D with hook
key <AC04> { [ f, F, 0x1000192, 0x1000191 ] }; // F with hook
key <AC05> { [ g, G, 0x1000260, 0x1000193 ] }; // G with hook
key <AC06> { [ h, H, 0x1000257, 0x100018A ] }; // H with caron above
key <AC07> { [ j, J, 0x1000256, 0x1000189 ] }; // d with tail, African D
key <AC08> { [ k, K, 0x1000199, 0x1000198 ] }; // K with hook
key <AC09> { [ l, L, 0x1000269, 0x1000196 ] }; // iota
key <AC10> { [ semicolon, colon, 0x1000308, 0x1000308 ] }; // combining diaeresis above
key <AC11> { [ apostrophe, quotedbl, 0x1000301, 0x1000301 ] }; // combining acute
key <BKSL> { [ backslash, bar, 0x1000294, 0x1000295 ] }; // glottal stop, pharyngeal voiced fricative

key <AB01> { [ z, Z, 0x1000292, 0x10001B7 ] }; // ezh
key <AB02> { [ x, X, 0x1000263, 0x1000194 ] }; // gamma
key <AB03> { [ c, C, 0x1000188, 0x1000187 ] }; // C with hook
key <AB04> { [ v, V, 0x100028B, 0x10001B2 ] }; // V with hook
key <AB05> { [ b, B, 0x1000253, 0x1000181 ] }; // B with hook
key <AB06> { [ n, N, 0x100014B, 0x100014A ] }; // eng
key <AB07> { [ m, M, 0x1000272, 0x100019D ] ); // N with left hook
key <AB08> { [ comma, less, 0x1000327, 0x10000AB ] }; // combining cedilla, guillemet left
key <AB09> { [ period, greater, 0x1000323, 0x10000BB ] }; // combining dot below, guillemet right
key <AB10> { [ slash, question, 0x1000307, questiondown ] }; // combining dot above, 0x10000BF

key <I219> { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] };

include "level3(ralt_switch)"
};

</pre>

== Strategy from here ==

Maybe what is needed is to get a small group of experts to hash out details of a good layout, understanding that
* the perfect configuration(s) is(are) probably not in our grasp
* that something well thought out for immediate needs of OLPC can be a good basis for discussion for future uses in OLPC
* that whatever OLPC comes up with will no doubt influence inevitable discussions of keyboard standards in the region.
Just a suggestion. --[[User:Don|Don]] 10:25, 19 November 2007 (EST)

Latest revision as of 15:25, 19 November 2007

hard to find keys

I generally followed the SIL layout, but as we are using Alt-gr instead of deadkeys, I made a few changes. Also, I couldn't readily find glyphs for U+F21B, U+F218, U+F215, and U+F214, so I haven't included those characters. Any comments regarding what to do about these? --Walter 12:56, 2 November 2007 (EDT)

Those characters do not exist. The Unicode standard defines F000 to F8FF as the Corporate Zone of the Private Use Area, and LANANA standardized it as in the table below. AlbertCahalan 01:49, 3 November 2007 (EDT)
F000 to F7FF is direct-to-font   (you are here)
F800 to F804 contains obsolete VT100 characters
F805 to F80F are reserved
F810 to F813 are Microsoft keyboard symbols
F814 to F8CF are reserved
F8D0 to F8FF are Klingon
It is not legitimate for a font to encode characters in that region. SIL has gone off in an incompatible direction, without obtaining agreement from any of the world's OS suppliers. Do not use these codes. AlbertCahalan 01:49, 3 November 2007 (EDT)
It looks like Unicode 5 contains some of what you were looking for. AlbertCahalan 02:40, 3 November 2007 (EDT)
SIL F214 is Unicode 024C, R with stroke
SIL F215 is Unicode 2C64, R with tail
SIL F218 is Unicode 0244, U bar
SIL F21B is likely to be Unicode 2C72, W with hook (at stage 6, JTC1 Ballot)
SIL F21A is likely to be Unicode 2C73, w with hook (at stage 6, JTC1 Ballot)
Dead keys are way more sane than the alternative. The alternative requires unrendering. Sometimes one can not take back what has been done. Dead keys act like any normal input method, while the alternative is a mess to support. AlbertCahalan 01:49, 3 November 2007 (EDT)

OLPC section of the XKB symbol file

To use the XKB West African layout, you may need to edit /etc/X11/xorg.conf:

XkbLayout "ng"
XkbVariant "olpc"
partial alphanumeric_keys
xkb_symbols "olpc" {
   name[Group1]= "OLPC West Africa";

   include "us(basic)"

   // OLPC West African keyboard layout.
   // See: http://wiki.laptop.org/go/Image:WAfrica-Alt-1.png

   key <TLDE> { [     grave, asciitilde,    0x1000300,        0x1000303 ] }; // combining grave, combining tilde above
   key <AE01> { [         1,     exclam,   exclamdown,       exclamdown ] }; // 0x10000A1
   key <AE02> { [         2,         at,    0x100030A,        0x100030A ] }; // combining ring above
   key <AE03> { [         3, numbersign,     sterling,         sterling ] }; // 0x10000A3
   key <AE04> { [         4,     dollar,    0x10020A6,        0x10020A6 ] }; // Naira
   key <AE05> { [         5,    percent,     EuroSign,         EuroSign ] }; // 0x10020AC
   key <AE06> { [         6,asciicircum,    0x1000302,        0x1000302 ] }; // combining circumflex above
   key <AE07> { [         7,  ampersand,    0x1000324,        0x1000324 ] }; // combining caron above
   key <AE08> { [         8,   asterisk,    0x1000330,        0x1000330 ] }; // combining tilde below
   key <AE09> { [         9,  parenleft,    0x100030D,        0x100030D ] }; // combining vertical line above
   key <AE10> { [         0, parenright,    0x1000329,        0x1000329 ] }; // combining vertical line below
   key <AE11> { [     minus, underscore,    0x1000304,        0x1000304 ] }; // combining macron above
   key <AE12> { [     equal,       plus,    0x1000331,        0x1000331 ] }; // combining macron below

   key <AD01> { [         q,          Q,       oslash,           Oslash ] }; // 0x10000F8, 0x10000D8
   key <AD02> { [         w,          W,        schwa,            SCHWA ] }; // 0x1000259, 0x100018F
   key <AD03> { [         e,          E,    0x10001DD,        0x100018E ] }; // reverse E
   key <AD04> { [         r,          R,    0x100024D,        0x100024C ] }; // R with stroke 
// 0x1000167,        0x1000166 ] }; // T with stroke
// 0x100027D,        0x1002C64 ] }; // R with tail
   key <AD05> { [         t,          T,    0x10001AD,        0x10001AC ] }; // T with hook
   key <AD06> { [         y,          Y,    0x10001B4,        0x10001B3 ] }; // Y with hook
   key <AD07> { [         u,          U,    0x1000289,        0x1000244 ] }; // U with bar
   key <AD08> { [         i,          I,    0x1000268,        0x1000197 ] }; // I with bar
   key <AD09> { [         o,          O,    0x1000254,        0x1000186 ] }; // open O
   key <AD10> { [         p,          P,    0x10001A5,        0x10001A4 ] }; // P with hook
   key <AD11> { [ bracketleft,  braceleft,  0x10001B6,        0x10001B5 ] }; // Z with bar
   key <AD12> { [bracketright, braceright,Greek_sigma,      Greek_SIGMA ] }; // 0x1000283, 0x10001A9
 
   key <AC01>  { [         a,          A,   0x1000251,        0x100F208 ] }; // alpha
   key <AC02>  { [         s,          S,   0x100025B,        0x1000190 ] }; // open E
   key <AC03>  { [         d,          D,   0x1000257,        0x100018A ] }; // D with hook
   key <AC04>  { [         f,          F,   0x1000192,        0x1000191 ] }; // F with hook
   key <AC05>  { [         g,          G,   0x1000260,        0x1000193 ] }; // G with hook
   key <AC06>  { [         h,          H,   0x1000257,        0x100018A ] }; // H with caron above
   key <AC07>  { [         j,          J,   0x1000256,        0x1000189 ] }; // d with tail, African D
   key <AC08>  { [         k,          K,   0x1000199,        0x1000198 ] }; // K with hook
   key <AC09>  { [         l,          L,   0x1000269,        0x1000196 ] }; // iota
   key <AC10>  { [ semicolon,      colon,   0x1000308,        0x1000308 ] }; // combining diaeresis above
   key <AC11>  { [ apostrophe,  quotedbl,   0x1000301,        0x1000301 ] }; // combining acute
   key <BKSL>  { [ backslash,        bar,   0x1000294,        0x1000295 ] }; // glottal stop, pharyngeal voiced fricative

   key <AB01>  { [         z,          Z,   0x1000292,        0x10001B7 ] }; // ezh
   key <AB02>  { [         x,          X,   0x1000263,        0x1000194 ] }; // gamma
   key <AB03>  { [         c,          C,   0x1000188,        0x1000187 ] }; // C with hook
   key <AB04>  { [         v,          V,   0x100028B,        0x10001B2 ] }; // V with hook
   key <AB05>  { [         b,          B,   0x1000253,        0x1000181 ] }; // B with hook
   key <AB06>  { [         n,          N,   0x100014B,        0x100014A ] }; // eng
   key <AB07>  { [         m,          M,   0x1000272,        0x100019D ] ); // N with left hook
   key <AB08>  { [     comma,       less,   0x1000327,        0x10000AB ] }; // combining cedilla, guillemet left
   key <AB09>  { [    period,    greater,   0x1000323,        0x10000BB ] }; // combining dot below, guillemet right
   key <AB10>  { [     slash,   question,   0x1000307,     questiondown ] }; // combining dot above, 0x10000BF

   key <I219>  { [  multiply,   division, ISO_Next_Group, ISO_Prev_Group ] };

   include "level3(ralt_switch)"
};

Strategy from here

Maybe what is needed is to get a small group of experts to hash out details of a good layout, understanding that

  • the perfect configuration(s) is(are) probably not in our grasp
  • that something well thought out for immediate needs of OLPC can be a good basis for discussion for future uses in OLPC
  • that whatever OLPC comes up with will no doubt influence inevitable discussions of keyboard standards in the region.

Just a suggestion. --Don 10:25, 19 November 2007 (EST)