justin@HARRY.CRIM.CA (Justin Bur) (08/27/89)
There is one more ISO character set that predates those defined in ISO 8859 (Latin 1-4, etc.). This is ISO 6937/2, which attempts to consolidate the videotex/teletext standards S.61 and S.100 of the CCITT, and on which the PostScript Standard Encoding seems to have been based. ISO 6937/2 reserves sixteen positions (and defines 14 of them) for symbols that must be combined with others before being displayed - dead keys, in other words. In addition, this character set defines a few other characters, some even conceivably useful, that do not appear in any of the 8859 character sets or even in other X11 keysym sets. Here are the additional characters provided in 6937/2. Unless some other solution has been adopted for the dead keys, I would like to suggest these as a new keysym set for X11. C1 dead_grave C2 dead_acute C3 dead_circumflex C4 dead_tilde C5 dead_macron C6 dead_breve C7 dead_abovedot C8 dead_diaeresis CA dead_ring CB dead_cedilla CC dead_underscore CD dead_doubleacute CE dead_ogonek CF dead_caron D5 musicalnote E6 IJ E7 Ldot (Catalan) EA OE EF apostrophe_n (Afrikaans) F2 dstroke (Lappish, Croatian) F6 ij F7 ldot (Catalan) FA oe Please consult the standard for what little additional information is given about some of the stranger characters. Justin Bur CRIM, Montreal
rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (08/28/89)
ISO 6937/2 reserves sixteen positions (and defines 14 of them) for symbols that must be combined with others before being displayed - dead keys, in other words. I assume you are referring to "non-spacing diacritical marks". If so, I don't see the need for them. There are already keysyms for letters with diacritical marks. There are also keysyms for the diacritical marks themselves. 6937/2 has the non-spacing forms (as I understand it) merely as a representation mechanism within an octet stream. There is no need for this in X keysyms. E6 IJ EA OE F6 ij FA oe These are just ligatures, there's really no compelling reason to make them actual keysyms, that I can see. F2 dstroke (Lappish, Croatian) There is already a keysym for this. D5 musicalnote I'm not very excited. E7 Ldot (Catalan) F7 ldot (Catalan) I would want to see multiple people say they actually want these on their keyboard.
guy@auspex.auspex.com (Guy Harris) (08/31/89)
>I assume you are referring to "non-spacing diacritical marks". If so, >I don't see the need for them. There are already keysyms for letters >with diacritical marks. There are also keysyms for the diacritical >marks themselves. Are there keyboards that have both a "dead key" for any of those diacritical marks and a non-dead key (e.g., if you hit the "dead accent grave" key followed by the "a" key, an editor program supporting an ISO Latin #1 character set would insert an "a with grave accent" character into the file, and if you hit the "accent grave" key, it would insert an "accent grave" character into the file)?
justin@HARRY.CRIM.CA (Justin Bur) (09/04/89)
> I assume you are referring to "non-spacing diacritical marks". If so, > I don't see the need for them. There are already keysyms for letters > with diacritical marks. There are also keysyms for the diacritical > marks themselves. 6937/2 has the non-spacing forms (as I understand > it) merely as a representation mechanism within an octet stream. There > is no need for this in X keysyms. A few weeks ago I posted a query to xpert about dead keys, asking how they should be implemented, but if there were any replies I missed them. The only X keyboard with dead keys that I have seen is H-P's (HPwindows on the Series 300 under HP-UX 6.1), and it uses special keysyms for these keys (based on HP's Latin8 character set rather than 6937/2). Granted, the diacritics provided in the upper 128 keysyms of Latin1-4 could be assumed to be dead keys whenever they occur. However, three diacritics (grave, circumflex, tilde) are considered to be part of the lower 128 by the ISO, yet just about everyone, including the X keysyms, uses them as standalone graphics: quoteleft, asciicircum, and asciitilde. My X11.3 <X11/keysymdef.h> has no grave, circumflex, or tilde. I need to create a French keyboard mapping that can be installed and removed at will, whether the physical keyboard happens to have French keycaps or not, whether I'm on a Sun server or an X terminal. The only tool I know of to do this is xmodmap. Assuming that dead keys are to be implemented in Xlib, in XKeyBind.c along with compose-character, I need to be able to distinguish a real grave accent (a dead key) from a quoteleft (a standalone), a real circumflex from an asciicircum, a real tilde from an asciitilde. Hence my suggestion to use ISO 6937/2. The remaining characters in my list were only for completeness, though I do think the ij and oe ligatures have some chance of being useful in some application. Still, the need for 6937/2 keysyms exists only as long as my current idea of how to produce a switchable keyboard with dead keys is the only idea I have. It has occurred to me that Digital has had to solve the same problem, and I would like to know if they did it differently from Hewlett-Packard, or if there is a `correct' or `official' solution. Justin Bur CRIM, Montreal
rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (09/05/89)
I need to create a French keyboard mapping that can be installed and removed at will, whether the physical keyboard happens to have French keycaps or not, whether I'm on a Sun server or an X terminal. There is work-in-progress in the X Consortium to provide a mechanism to support "dual-language" (and similar) keyboards, those with 1-4 keysyms per keycode. It is based on using a modifier to switch between keysym groups. If you wanted "French" in the upper group, you would put the appropriate Latin-1 keysyms (characters with diacritics, not non-spacing diacritics) there and get them via a "shifting" key. I don't know if this matches your needs or not. Assuming we work it out, support will be in Xlib in R4.