Ar an seachtú lá is fiche de mí Deireadh Fómhair, scríobh Andriy Gapon:
[...] P.S. Macedonian Gje is now OK, so it seems that the Soviet
conspiracy against GHE WITH UPTURN lives on, kidding :-)
The Soviet conspiracy against GHE WITH UPTURN, and its resulting exclusion
from ISO-8859-5 was indeed the problem. The patch below, which I’ve just
committed, allows you to input that character, but display won’t work until
the other patch I mentioned that uses Unicode fonts gets
committed. Hopefully tomorrow.
APPROVE COMMIT
NOTE: This patch has been committed.
src/ChangeLog addition:
2006-10-28 Aidan Kehoe <kehoea(a)parhasard.net>
* event-xlike-inc.c:
Rework the X11 keysym support to allow the use of Cyrillic keysyms
that are not in ISO-8859-5.
XEmacs Trunk source patch:
Diff command: cvs -q diff -Nu
Files affected: src/event-xlike-inc.c
Index: src/event-xlike-inc.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/event-xlike-inc.c,v
retrieving revision 1.4
diff -u -u -r1.4 event-xlike-inc.c
--- src/event-xlike-inc.c 2006/06/18 18:34:21 1.4
+++ src/event-xlike-inc.c 2006/10/28 15:54:09
@@ -459,6 +459,106 @@
0x22A3, /* #x0BFC RIGHT TACK APL */
};
+static UINT_16_BIT const CYRILLIC[] =
+ {
+ 0x0452, /* #x06A1 CYRILLIC SMALL LETTER DJE */
+#define FIRST_KNOWN_CYRILLIC 0x6A1
+ 0x0453, /* #x06A2 CYRILLIC SMALL LETTER GJE */
+ 0x0451, /* #x06A3 CYRILLIC SMALL LETTER IO */
+ 0x0454, /* #x06A4 CYRILLIC SMALL LETTER UKRAINIAN IE */
+ 0x0455, /* #x06A5 CYRILLIC SMALL LETTER DZE */
+ 0x0456, /* #x06A6 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
+ 0x0457, /* #x06A7 CYRILLIC SMALL LETTER YI */
+ 0x0458, /* #x06A8 CYRILLIC SMALL LETTER JE */
+ 0x0459, /* #x06A9 CYRILLIC SMALL LETTER LJE */
+ 0x045A, /* #x06AA CYRILLIC SMALL LETTER NJE */
+ 0x045B, /* #x06AB CYRILLIC SMALL LETTER TSHE */
+ 0x045C, /* #x06AC CYRILLIC SMALL LETTER KJE */
+ 0x0491, /* #x06AD CYRILLIC SMALL LETTER GHE WITH UPTURN */
+ 0x045E, /* #x06AE CYRILLIC SMALL LETTER SHORT U */
+ 0x045F, /* #x06AF CYRILLIC SMALL LETTER DZHE */
+ 0x2116, /* #x06B0 NUMERO SIGN */
+ 0x0402, /* #x06B1 CYRILLIC CAPITAL LETTER DJE */
+ 0x0403, /* #x06B2 CYRILLIC CAPITAL LETTER GJE */
+ 0x0401, /* #x06B3 CYRILLIC CAPITAL LETTER IO */
+ 0x0404, /* #x06B4 CYRILLIC CAPITAL LETTER UKRAINIAN IE */
+ 0x0405, /* #x06B5 CYRILLIC CAPITAL LETTER DZE */
+ 0x0406, /* #x06B6 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
+ 0x0407, /* #x06B7 CYRILLIC CAPITAL LETTER YI */
+ 0x0408, /* #x06B8 CYRILLIC CAPITAL LETTER JE */
+ 0x0409, /* #x06B9 CYRILLIC CAPITAL LETTER LJE */
+ 0x040A, /* #x06BA CYRILLIC CAPITAL LETTER NJE */
+ 0x040B, /* #x06BB CYRILLIC CAPITAL LETTER TSHE */
+ 0x040C, /* #x06BC CYRILLIC CAPITAL LETTER KJE */
+ 0x0490, /* #x06BD CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
+ 0x040E, /* #x06BE CYRILLIC CAPITAL LETTER SHORT U */
+ 0x040F, /* #x06BF CYRILLIC CAPITAL LETTER DZHE */
+ 0x044E, /* #x06C0 CYRILLIC SMALL LETTER YU */
+ 0x0430, /* #x06C1 CYRILLIC SMALL LETTER A */
+ 0x0431, /* #x06C2 CYRILLIC SMALL LETTER BE */
+ 0x0446, /* #x06C3 CYRILLIC SMALL LETTER TSE */
+ 0x0434, /* #x06C4 CYRILLIC SMALL LETTER DE */
+ 0x0435, /* #x06C5 CYRILLIC SMALL LETTER IE */
+ 0x0444, /* #x06C6 CYRILLIC SMALL LETTER EF */
+ 0x0433, /* #x06C7 CYRILLIC SMALL LETTER GHE */
+ 0x0445, /* #x06C8 CYRILLIC SMALL LETTER HA */
+ 0x0438, /* #x06C9 CYRILLIC SMALL LETTER I */
+ 0x0439, /* #x06CA CYRILLIC SMALL LETTER SHORT I */
+ 0x043A, /* #x06CB CYRILLIC SMALL LETTER KA */
+ 0x043B, /* #x06CC CYRILLIC SMALL LETTER EL */
+ 0x043C, /* #x06CD CYRILLIC SMALL LETTER EM */
+ 0x043D, /* #x06CE CYRILLIC SMALL LETTER EN */
+ 0x043E, /* #x06CF CYRILLIC SMALL LETTER O */
+ 0x043F, /* #x06D0 CYRILLIC SMALL LETTER PE */
+ 0x044F, /* #x06D1 CYRILLIC SMALL LETTER YA */
+ 0x0440, /* #x06D2 CYRILLIC SMALL LETTER ER */
+ 0x0441, /* #x06D3 CYRILLIC SMALL LETTER ES */
+ 0x0442, /* #x06D4 CYRILLIC SMALL LETTER TE */
+ 0x0443, /* #x06D5 CYRILLIC SMALL LETTER U */
+ 0x0436, /* #x06D6 CYRILLIC SMALL LETTER ZHE */
+ 0x0432, /* #x06D7 CYRILLIC SMALL LETTER VE */
+ 0x044C, /* #x06D8 CYRILLIC SMALL LETTER SOFT SIGN */
+ 0x044B, /* #x06D9 CYRILLIC SMALL LETTER YERU */
+ 0x0437, /* #x06DA CYRILLIC SMALL LETTER ZE */
+ 0x0448, /* #x06DB CYRILLIC SMALL LETTER SHA */
+ 0x044D, /* #x06DC CYRILLIC SMALL LETTER E */
+ 0x0449, /* #x06DD CYRILLIC SMALL LETTER SHCHA */
+ 0x0447, /* #x06DE CYRILLIC SMALL LETTER CHE */
+ 0x044A, /* #x06DF CYRILLIC SMALL LETTER HARD SIGN */
+ 0x042E, /* #x06E0 CYRILLIC CAPITAL LETTER YU */
+ 0x0410, /* #x06E1 CYRILLIC CAPITAL LETTER A */
+ 0x0411, /* #x06E2 CYRILLIC CAPITAL LETTER BE */
+ 0x0426, /* #x06E3 CYRILLIC CAPITAL LETTER TSE */
+ 0x0414, /* #x06E4 CYRILLIC CAPITAL LETTER DE */
+ 0x0415, /* #x06E5 CYRILLIC CAPITAL LETTER IE */
+ 0x0424, /* #x06E6 CYRILLIC CAPITAL LETTER EF */
+ 0x0413, /* #x06E7 CYRILLIC CAPITAL LETTER GHE */
+ 0x0425, /* #x06E8 CYRILLIC CAPITAL LETTER HA */
+ 0x0418, /* #x06E9 CYRILLIC CAPITAL LETTER I */
+ 0x0419, /* #x06EA CYRILLIC CAPITAL LETTER SHORT I */
+ 0x041A, /* #x06EB CYRILLIC CAPITAL LETTER KA */
+ 0x041B, /* #x06EC CYRILLIC CAPITAL LETTER EL */
+ 0x041C, /* #x06ED CYRILLIC CAPITAL LETTER EM */
+ 0x041D, /* #x06EE CYRILLIC CAPITAL LETTER EN */
+ 0x041E, /* #x06EF CYRILLIC CAPITAL LETTER O */
+ 0x041F, /* #x06F0 CYRILLIC CAPITAL LETTER PE */
+ 0x042F, /* #x06F1 CYRILLIC CAPITAL LETTER YA */
+ 0x0420, /* #x06F2 CYRILLIC CAPITAL LETTER ER */
+ 0x0421, /* #x06F3 CYRILLIC CAPITAL LETTER ES */
+ 0x0422, /* #x06F4 CYRILLIC CAPITAL LETTER TE */
+ 0x0423, /* #x06F5 CYRILLIC CAPITAL LETTER U */
+ 0x0416, /* #x06F6 CYRILLIC CAPITAL LETTER ZHE */
+ 0x0412, /* #x06F7 CYRILLIC CAPITAL LETTER VE */
+ 0x042C, /* #x06F8 CYRILLIC CAPITAL LETTER SOFT SIGN */
+ 0x042B, /* #x06F9 CYRILLIC CAPITAL LETTER YERU */
+ 0x0417, /* #x06FA CYRILLIC CAPITAL LETTER ZE */
+ 0x0428, /* #x06FB CYRILLIC CAPITAL LETTER SHA */
+ 0x042D, /* #x06FC CYRILLIC CAPITAL LETTER E */
+ 0x0429, /* #x06FD CYRILLIC CAPITAL LETTER SHCHA */
+ 0x0427, /* #x06FE CYRILLIC CAPITAL LETTER CHE */
+ 0x042A, /* #x06FF CYRILLIC CAPITAL LETTER HARD SIGN */
+ };
+
/* For every key on the keyboard that has a known character correspondence,
we define the character-of-keysym property of its XEmacs keysym, and make
the default binding for the key be self-insert-command.
@@ -542,21 +642,7 @@
break;
case 6: /* Cyrillic */
{
- static UExtbyte const cyrillic[] = /* 0x20 - 0x7f */
- {0x00, 0x72, 0x73, 0x71, 0x74, 0x75, 0x76, 0x77,
- 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x00, 0x7e, 0x7f,
- 0x70, 0x22, 0x23, 0x21, 0x24, 0x25, 0x26, 0x27,
- 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x00, 0x2e, 0x2f,
- 0x6e, 0x50, 0x51, 0x66, 0x54, 0x55, 0x64, 0x53,
- 0x65, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e,
- 0x5f, 0x6f, 0x60, 0x61, 0x62, 0x63, 0x56, 0x52,
- 0x6c, 0x6b, 0x57, 0x68, 0x6d, 0x69, 0x67, 0x6a,
- 0x4e, 0x30, 0x31, 0x46, 0x34, 0x35, 0x44, 0x33,
- 0x45, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
- 0x3f, 0x4f, 0x40, 0x41, 0x42, 0x43, 0x36, 0x32,
- 0x4c, 0x4b, 0x37, 0x48, 0x4d, 0x49, 0x47, 0x4a};
- USE_CHARSET (charset, CYRILLIC_ISO8859_5);
- code = cyrillic[(keysym & 0x7f) - 0x20];
+ USE_UNICODE_MAP(keysym, CYRILLIC);
break;
}
case 7: /* Greek */
--
Santa Maradona, priez pour moi!
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta