qemacs-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemacs-commit] qemacs Makefile charsetmore.c clang.c input.c k...


From: Charlie Gordon
Subject: [Qemacs-commit] qemacs Makefile charsetmore.c clang.c input.c k...
Date: Sun, 09 Dec 2007 23:31:40 +0000

CVSROOT:        /cvsroot/qemacs
Module name:    qemacs
Changes by:     Charlie Gordon <chqrlie>        07/12/09 23:31:40

Modified files:
        .              : Makefile charsetmore.c clang.c input.c kmaps 
                         kmaptoqe.c qe.c qe.h 
        cp             : cpdata.txt 
        kmap           : Arabic.kmap Czech.kmap Esperanto.kmap 
                         French.kmap German.kmap Hangul2.kmap 
                         Hangul3.kmap Hebrew.kmap Hungarian.kmap README 
                         SGML.kmap TeX.kmap 
Added files:
        kmap           : HebrewP.kmap HebrewR.kmap Israeli.kmap 
                         Yiddish.kmap 

Log message:
        added more Hebrew keymaps
        support multiple output for input methods
        colorize function calls in C mode

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/Makefile?cvsroot=qemacs&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/qemacs/charsetmore.c?cvsroot=qemacs&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/qemacs/clang.c?cvsroot=qemacs&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/qemacs/input.c?cvsroot=qemacs&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmaps?cvsroot=qemacs&rev=1.3
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmaptoqe.c?cvsroot=qemacs&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.h?cvsroot=qemacs&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/qemacs/cp/cpdata.txt?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/Arabic.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/Czech.kmap?cvsroot=qemacs&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/Esperanto.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/French.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/German.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/Hangul2.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/Hangul3.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/Hebrew.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/Hungarian.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/README?cvsroot=qemacs&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/SGML.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/TeX.kmap?cvsroot=qemacs&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/HebrewP.kmap?cvsroot=qemacs&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/HebrewR.kmap?cvsroot=qemacs&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/Israeli.kmap?cvsroot=qemacs&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/qemacs/kmap/Yiddish.kmap?cvsroot=qemacs&rev=1.1

Patches:
Index: Makefile
===================================================================
RCS file: /cvsroot/qemacs/qemacs/Makefile,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- Makefile    6 Dec 2007 15:28:29 -0000       1.16
+++ Makefile    9 Dec 2007 23:31:38 -0000       1.17
@@ -318,14 +318,15 @@
 KMAPS=Arabic.kmap ArmenianEast.kmap ArmenianWest.kmap Chinese-CJ.kmap \
       Cyrillic.kmap Czech.kmap DE-RU.kmap Danish.kmap Dutch.kmap \
       Esperanto.kmap Ethiopic.kmap French.kmap Georgian.kmap German.kmap \
-      Greek.kmap GreekMono.kmap Guarani.kmap Hebrew.kmap \
+      Greek.kmap GreekMono.kmap Guarani.kmap HebrewP.kmap \
       Hungarian.kmap \
       KOI8_R.kmap Lithuanian.kmap Mnemonic.kmap Polish.kmap \
       Russian.kmap SGML.kmap TeX.kmap Troff.kmap VNtelex.kmap \
       Vietnamese.kmap XKB_iso8859-4.kmap \
       DanishAlternate.kmap GreekBible.kmap Polytonic.kmap Spanish.kmap \
-      Thai.kmap VietnameseTelex.kmap Welsh.kmap
-#     HebrewIsraeli.kmap Kana.kmap 
+      Thai.kmap VietnameseTelex.kmap Welsh.kmap \
+      Hebrew.kmap HebrewIsraeli.kmap HebrewP.kmap Israeli.kmap Yiddish.kmap \
+      Kana.kmap 
 #     Hangul.kmap Hangul2.kmap Hangul3.kmap Unicode2.kmap 
 #KMAPS_DIR=$(prefix)/share/yudit/data
 KMAPS_DIR=kmap

Index: charsetmore.c
===================================================================
RCS file: /cvsroot/qemacs/qemacs/charsetmore.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- charsetmore.c       6 Dec 2007 17:43:47 -0000       1.9
+++ charsetmore.c       9 Dec 2007 23:31:38 -0000       1.10
@@ -475,7 +475,7 @@
 
 /*----------------------------------------------------------------
  * filename: cp/8859-16.TXT
- * iso_name: ISO 8859-16 (Romainian)
+ * iso_name: ISO 8859-16 (Romanian)
  *     name: 8859-16
  *       id: 8859_16
  */

Index: clang.c
===================================================================
RCS file: /cvsroot/qemacs/qemacs/clang.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- clang.c     3 Dec 2007 16:10:38 -0000       1.9
+++ clang.c     9 Dec 2007 23:31:38 -0000       1.10
@@ -178,6 +178,11 @@
                         type_decl = 1;
                     }
                     set_color(p_start, p1 - p_start, QE_STYLE_TYPE);
+                } else
+                if (*p == '(') {
+                    /* function call */
+                    /* XXX: different styles for call and definition */
+                    set_color(p_start, p1 - p_start, QE_STYLE_FUNCTION);
                 } else {
                     /* assume typedef if starting at first column */
                     if (p_start == buf)
@@ -209,7 +214,7 @@
 #define MAX_BUF_SIZE    512
 #define MAX_STACK_SIZE  64
 
-/* gives the position of the first non while space character in
+/* gives the position of the first non white space character in
    buf. TABs are counted correctly */
 static int find_indent1(EditState *s, unsigned int *buf)
 {

Index: input.c
===================================================================
RCS file: /cvsroot/qemacs/qemacs/input.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- input.c     7 Dec 2007 12:06:42 -0000       1.12
+++ input.c     9 Dec 2007 23:31:38 -0000       1.13
@@ -25,7 +25,9 @@
 
 InputMethod *input_methods;
 
-static int default_input(__unused__ int *match_len_ptr, 
+static int default_input(__unused__ int *match_buf,
+                         __unused__ int match_buf_size,
+                         __unused__ int *match_len_ptr, 
                          __unused__ const u8 *data,
                          __unused__ const unsigned int *buf,
                          __unused__ int len)
@@ -33,7 +35,9 @@
     return INPUTMETHOD_NOMATCH;
 }
 
-static int unicode_input(int *match_len_ptr, 
+static int unicode_input(int *match_buf,
+                         int match_buf_size,
+                         int *match_len_ptr, 
                          __unused__ const u8 *data,
                          const unsigned int *buf, int len)
 {
@@ -52,7 +56,8 @@
     }
     if (len == 5) {
         *match_len_ptr = len;
-        return c;
+        match_buf[0] = c;
+        return 1;
     } else {
         return INPUTMETHOD_MORECHARS;
     }
@@ -83,12 +88,14 @@
 /* XXX: use an edit buffer to access the kmap !!!! */
 
 /* parse the internal compressed input method format */
-static int kmap_input(int *match_len_ptr, 
-                      const u8 *data, const unsigned int *buf, int len)
+static int kmap_input(int *match_buf, int match_buf_size,
+                      int *match_len_ptr, const u8 *data,
+                      const unsigned int *buf, int len)
 {
-    const u8 *p, *p1;
-    int c, d, i, l, l1, match_len, match_char, match_count, match_real_len;
-    int nb_prefixes, last_outputc, match, prefix_len, trailing_space;
+    const u8 *p, *p1, *match_extra;
+    int c, flag, i, l, l1, match_len, match_char, match_count, match_real_len;
+    int match_olen;
+    int nb_prefixes, last_outputc, match, prefix_len, trailing_space, olen;
 
     p = data;
     nb_prefixes = p[0] & 0x7f;
@@ -113,26 +120,49 @@
     match_char = 0;
     match_count = 0;
     last_outputc = 0;
+    match_olen = 0;
+    match_extra = NULL;
     for (;;) {
         match = 1;
+        olen = 1;
         l1 = prefix_len; /* length of input pattern */
         for (;;) {
+            /* c = 0x00        end of table 
+             * c = 0x01..0x1d  delta unicode
+             * c = 0x1e        unicode output mapping follows 
+             * c = 0x1f        unicode input char follows.
+             * c = 0x20..0x7f  input character
+             * c = 0x80        unused
+             * c = 0x81        unused
+             * c = 0x82..0x9d  extra unicode outputs follow
+             * c = 0x9e        first unicode output mapping follows
+             * c = 0x9f        last unicode input char follows and delta==1.
+             * c = 0xa0..0xff  last input character and delta==1
+             */
             c = *p++;
-            d = c & 0x80;
-            c = c & 0x7f;
+            flag = c & 0x80;
+            c &= 0x7f;
             if (c == 0) {
-                /* end of table */
+                /* end of table / unused */
                 goto the_end;
             } else
-            if (c <= 0x1d) {
+            if (c < 0x1e) {
+                if (flag) {
+                    /* extra output glyphs */
+                    olen = c;
+                } else {
                 /* delta */
                 last_outputc += c;
+                }
                 break;
             } else
             if (c == 0x1e) {
                 /* explicit output */
                 last_outputc = (p[0] << 8) | p[1];
                 p += 2;
+                if (flag)
+                    continue;
+                else
                 break;
             } else
             if (c == 0x1f) {
@@ -143,7 +173,7 @@
             if (l1 < len && c != (int)buf[l1])
                 match = 0;
             l1++;
-            if (d) {
+            if (flag) {
                 /* delta = 1 */
                 last_outputc++;
                 break;
@@ -161,22 +191,34 @@
                 l = len;
             if (l == match_len) {
                 match_count++;
-            } else if (l > match_len) {
+            } else
+            if (l > match_len) {
                 match_len = l;
                 match_real_len = l1;
                 match_char = last_outputc;
                 match_count = 1;
+                match_olen = olen;
+                match_extra = p;
             }
         }
+        p += (olen - 1) << 1;
     }
-the_end:
+  the_end:
     if (match_len == 0) {
         return INPUTMETHOD_NOMATCH;
-    } else if (match_count > 1 || match_real_len > len) {
+    } else
+    if (match_count > 1 || match_real_len > len) {
         return INPUTMETHOD_MORECHARS;
     } else {
         *match_len_ptr = match_len;
-        return match_char;
+        if (match_buf_size > 0) {
+            match_buf[0] = match_char;
+            p = match_extra;
+            for (i = 1; i < match_olen && i < match_buf_size; i++, p += 2) {
+                match_buf[i] = (p[0] << 8) + p[1];
+            }
+        }
+        return match_olen;
     }
 }
 

Index: kmaps
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmaps,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
Binary files /tmp/cvsKnb9NY and /tmp/cvssvNNwu differ

Index: kmaptoqe.c
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmaptoqe.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- kmaptoqe.c  6 Dec 2007 09:50:03 -0000       1.6
+++ kmaptoqe.c  9 Dec 2007 23:31:39 -0000       1.7
@@ -36,7 +36,8 @@
 typedef struct InputEntry {
     unsigned char input[20];
     int len;
-    int output;
+    unsigned short output[20];
+    int olen;
 } InputEntry;
 
 static InputEntry inputs[NB_MAX];
@@ -63,7 +64,7 @@
         if (val != 0)
             return val;
     }
-    return a->output - b->output;
+    return a->output[0] - b->output[0];
 }
 
 
@@ -78,30 +79,31 @@
 
 static void gen_map(void)
 {
-    int len, c, d, last, delta, k, j;
+    int len, c, d, last, delta, i, k, j;
     int last_input0;
+    InputEntry *ip;
 
     last = 0;
     nb_starts = 0;
     last_input0 = 0;
     offset = 0;
-    for (k = 0; k < nb_inputs; k++) {
-        unsigned char *input = inputs[k].input;
+    for (k = 0, ip = inputs; k < nb_inputs; k++, ip++) {
+        unsigned char *input = ip->input;
         int first, output;
 
         if (gen_table) {
-            if (last_input0 != inputs[k].input[0]) {
+            if (last_input0 != ip->input[0]) {
                 if (last_input0 != 0)
                     put_byte(0);
-                last_input0 = inputs[k].input[0];
+                last_input0 = ip->input[0];
                 table_val[nb_starts] = last_input0;
                 table_start[nb_starts++] = offset;
                 last = 0;
             }
         }
 
-        len = inputs[k].len;
-        output = inputs[k].output;
+        len = ip->len;
+        output = ip->output[0];
         delta = output - last;
         last = output;
 
@@ -123,16 +125,22 @@
         if (gen_table)
             first = 1;
 
-        /* c = 0 : end of table 
-        c = 1..0x1d : delta unicode
-        c = 0x1e : unicode char follows.
-        c = 0x1f : unicode mapping follows 
-        bit 7 : eof and delta == 1
+        /* c = 0x00        end of table 
+         * c = 0x01..0x1d  delta unicode
+         * c = 0x1e        unicode output mapping follows 
+         * c = 0x1f        unicode input char follows.
+         * c = 0x20..0x7f  input character
+         * c = 0x80        unused
+         * c = 0x81        unused
+         * c = 0x82..0x9d  extra unicode outputs follow
+         * c = 0x9e        first unicode output mapping follows
+         * c = 0x9f        last unicode input char follows and delta==1.
+         * c = 0xa0..0xff  last input character and delta==1
         */
         for (j = first; j < len; j++) {
             c = input[j];
             d = 0;
-            if ((j == (len - 1) && delta == 1))
+            if (j == (len - 1) && delta == 1 && ip->olen == 1)
                 d = 0x80;
             if (c >= 0x20 && c <= 0x7f) {
                 put_byte(c | d);
@@ -142,6 +150,18 @@
                 put_byte(c & 0xff);
             }
         }
+        if (ip->olen > 1) {
+            if (delta != 0) {
+                put_byte(0x80 | 0x1e);
+                put_byte((output >> 8) & 0xff);
+                put_byte(output & 0xff);
+            }
+            put_byte(0x80 | ip->olen);
+            for (i = 1; i < ip->olen; i++) {
+                put_byte((ip->output[i] >> 8) & 0xff);
+                put_byte(ip->output[i] & 0xff);
+            }
+        } else {
         /* XXX: potential problem if first == len. We avoid it
         by forcing an emission of a unicode char */
         if (first == len)
@@ -156,6 +176,7 @@
             }
         }
     }
+    }
     put_byte(0);
 }
 
@@ -290,13 +311,14 @@
             x = 0;
 
             if (1) {
-                int len, flag, k, s, last = 0, sp;
+                int len, olen, flag, k, s, last = 0, sp;
                 
                 s = 0;
                 for (k = 0;; k++) {
                     unsigned char *input;
 
                     input = inputs[k].input;
+                    olen = 1;
                     len = 0;
                     sp = 1;
 
@@ -306,11 +328,17 @@
                     if (c == EOF)
                         break;
 
-                    /* c = 0 : end of table 
-                     * c = 1..0x1d : delta unicode
-                     * c = 0x1e : unicode char follows.
-                     * c = 0x1f : unicode mapping follows 
-                     * bit 7 : eof and delta == 1
+                    /* c = 0x00        end of table 
+                     * c = 0x01..0x1d  delta unicode
+                     * c = 0x1e        unicode output mapping follows 
+                     * c = 0x1f        unicode input char follows.
+                     * c = 0x20..0x7f  input character
+                     * c = 0x80        unused
+                     * c = 0x81        unused
+                     * c = 0x82..0x9d  extra unicode outputs follow
+                     * c = 0x9e        first unicode output mapping follows
+                     * c = 0x9f        last unicode input char follows and 
delta==1.
+                     * c = 0xa0..0xff  last input character and delta==1
                      */
                     if (c == 0) {
                         if (!gen_table || ++s >= nb_starts)
@@ -329,6 +357,23 @@
                     flag = c >> 7;
                     c &= 0x7f;
 
+                    if (c < 0x1e) {
+                        if (flag) {
+                            olen = c;
+                        } else {
+                            last += c;
+                        }
+                        goto nextk;
+                    }
+                    if (c == 0x1e) {
+                        last  = getc(f) << 8;
+                        last |= getc(f) << 0;
+                        pos += 2;
+                        if (flag)
+                            goto nextc;
+                        else
+                            goto nextk;
+                    }
                     if (c == 0x1f) {
                         c  = getc(f) << 8;
                         c |= getc(f) << 0;
@@ -341,16 +386,6 @@
                         }
                         goto nextc;
                     }
-                    if (c == 0x1e) {
-                        last  = getc(f) << 8;
-                        last |= getc(f) << 0;
-                        pos += 2;
-                        goto nextk;
-                    }
-                    if (c < 0x1e) {
-                        last += c;
-                        goto nextk;
-                    }
                     if (c >= 0x20) {
                         input[len++] = c;
                         putcp(c, &sp);
@@ -366,7 +401,15 @@
                     }
                     if (!sp)
                         printf(" ");
-                    printf("= 0x%04X\",\n", last);
+                    printf("= 0x%04X", last);
+                    /* multiple unicode chars */
+                    for (i = 1; i < olen; i++) {
+                        c  = getc(f) << 8;
+                        c |= getc(f) << 0;
+                        pos += 2;
+                        printf(" 0x%04X", c);
+                    }
+                    printf("\",\n");
                 }
             }
             if (pos == kmap_offsets[n])
@@ -448,6 +491,7 @@
     char line[1024], *p;
     unsigned char *q;
     int c, size;
+    InputEntry *ip;
 
     if (argc < 3) {
         printf("usage: kmaptoqe outfile kmaps...\n"
@@ -499,6 +543,7 @@
 
         col = 0;
         nb_inputs = 0;
+        ip = inputs;
         line_num = 0;
         for (;;) {
             if (fgets(line, sizeof(line), f) == NULL)
@@ -511,7 +556,7 @@
                 goto invalid;
             p++;
             len = 0;
-            q = inputs[nb_inputs].input;
+            q = ip->input;
             for (;;) {
                 p = skipspaces(p);
                 if (*p == '=' && p[1] != '=')
@@ -524,17 +569,24 @@
                             filename, line_num, c);
                     goto skip;
                 }
-                if (len >= countof(inputs[nb_inputs].input))
+                if (len >= countof(ip->input))
                     goto invalid;
                 q[len++] = c;
             }
-            inputs[nb_inputs].len = len;
+            ip->len = len;
             p = skipspaces(p + 1);
+            for (ip->olen = 0;;) {
             c = getcp(p, &p);
-            p = skipspaces(p);
-            if (c < 0 || *p != '"')
+                if (c < 0)
+                    goto invalid;
+                if (ip->olen >= countof(ip->output))
                 goto invalid;
-            inputs[nb_inputs].output = c;
+                ip->output[ip->olen++] = c;
+                p = skipspaces(p);
+                if (*p == '"')
+                    break;
+            }
+            ip++;
             nb_inputs++;
             continue;
         invalid:

Index: qe.c
===================================================================
RCS file: /cvsroot/qemacs/qemacs/qe.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- qe.c        6 Dec 2007 17:43:48 -0000       1.36
+++ qe.c        9 Dec 2007 23:31:39 -0000       1.37
@@ -1237,7 +1237,7 @@
         
     if (insert) {
         const InputMethod *m;
-        int match_len, offset, i;
+        int match_buf[20], match_len, offset, i;
             
         /* use compose system only if insert mode */
         if (s->compose_len == 0) 
@@ -1254,12 +1254,11 @@
                 s->compose_len = 0;
                 break;
             }
-            // XXX: handle multiple translation
-            ret = m->input_match(&match_len, m->data, s->compose_buf, 
+            ret = m->input_match(match_buf, countof(match_buf),
+                                 &match_len, m->data, s->compose_buf, 
                                  s->compose_len);
             if (ret == INPUTMETHOD_NOMATCH) {
                 /* no match : reset compose state */
-                    
                 s->compose_len = 0;
                 break;
             } else
@@ -1268,7 +1267,6 @@
                 break;
             } else {
                 /* match : delete matched chars */
-                key = ret;
                 offset = s->compose_start_offset;
                 offset1 = s->offset; /* save offset so that we are not disturb
                                         when it moves in eb_delete() */
@@ -1276,14 +1274,18 @@
                     eb_nextc(s->b, offset, &offset);
                 eb_delete(s->b, s->compose_start_offset, 
                           offset - s->compose_start_offset);
+                s->offset = offset1 - (offset - s->compose_start_offset);
                 s->compose_len -= match_len;
                 umemmove(s->compose_buf, s->compose_buf + match_len,
                          s->compose_len);
                 /* then insert match */
+                for (i = 0; i < ret; i++) {
+                    key = match_buf[i];
                 len = unicode_to_charset(buf, key, s->b->charset);
                 eb_insert(s->b, s->compose_start_offset, buf, len);
-                s->offset = offset1 + len - (offset - s->compose_start_offset);
+                    s->offset += len;
                 s->compose_start_offset += len;
+                }
                 /* if some compose chars are left, we iterate */
                 if (s->compose_len == 0)
                     break;
@@ -6926,7 +6928,7 @@
 
     /* put source directory first if qe invoked as ./qe */
     // should use actual directory
-    if (!strcmp(qs->argv[0], "./qe")) {
+    if (stristart(qs->argv[0], "./qe", NULL)) {
         pstrcat(qs->res_path, sizeof(qs->res_path), ".:");
     }
 

Index: qe.h
===================================================================
RCS file: /cvsroot/qemacs/qemacs/qe.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- qe.h        6 Dec 2007 17:43:48 -0000       1.30
+++ qe.h        9 Dec 2007 23:31:39 -0000       1.31
@@ -64,6 +64,10 @@
 #define force_cast(type, expr)  ((type)(expr))
 #endif
 
+#ifndef countof
+#define countof(a)  ((int)(sizeof(a) / sizeof((a)[0])))
+#endif
+
 /************************/
 
 #include "cutils.h"
@@ -1134,13 +1138,16 @@
 typedef struct InputMethod {
     const char *name;
     /* input match returns: 
-       ch >= 0 if a character ch of len '*match_len_ptr' in buf was found, 
        INPUTMETHOD_NOMATCH if no match was found 
        INPUTMETHOD_MORECHARS if more chars need to be typed to find
        a suitable completion 
+       n > 0: number of code points in replacement found for a sequence
+       of keystrokes in buf.  number of keystrokes in match was stored
+       in '*match_len_ptr'.
      */
-    int (*input_match)(int *match_len_ptr, 
-                       const u8 *data, const unsigned int *buf, int len);
+    int (*input_match)(int *match_buf, int match_buf_size,
+                       int *match_len_ptr, const u8 *data,
+                       const unsigned int *buf, int len);
     const u8 *data;
     struct InputMethod *next;
 } InputMethod;

Index: cp/cpdata.txt
===================================================================
RCS file: /cvsroot/qemacs/qemacs/cp/cpdata.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- cp/cpdata.txt       6 Dec 2007 09:50:23 -0000       1.1
+++ cp/cpdata.txt       9 Dec 2007 23:31:39 -0000       1.2
@@ -74,7 +74,7 @@
 include 8859-15.TXT
 
 [8859-16]
-ISO 8859-16 (Romainian)
+ISO 8859-16 (Romanian)
 "ISO-8859-16", "8859-16", "latin10", "l10"
 include 8859-16.TXT
 

Index: kmap/Arabic.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/Arabic.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/Arabic.kmap    3 Dec 2007 10:18:36 -0000       1.1
+++ kmap/Arabic.kmap    9 Dec 2007 23:31:39 -0000       1.2
@@ -1,6 +1,8 @@
-// Experimental Arabic.kmap for Yudit
+// This kmap file was generated from 
+// The Experimental Arabic.kmap 
 // 1998-06-18 Roman address@hidden
-
+// By Gaspar Sinai's perl script ./arabickmap.pl at 2001-12-05.
+// 
 "$=0x064C",    // ٌ = ARABIC DAMMATAN
 "%=0x064F",    // ُ = ARABIC DAMMA
 "&=0x0651",    // ّ = ARABIC SHADDA
@@ -66,3 +68,13 @@
 "z=0x0632",    // ز = ARABIC LETTER ZAIN
 "zH=0x0638",   // ظ = ARABIC LETTER ZAH
 "zJ=0x0698",   // ژ = ARABIC LETTER JEH
+//
+// Shaping part using shape.mys. Autogenerated.
+//
+"l aM=0x0644 0x0622", // لآ LAM ALEF WITH MADDA ABOVE
+"l aH=0x0644 0x0623", // لأ LAM ALEF WITH HAMZA ABOVE
+"l aB=0x0644 0x0625", // لإ LAM ALEF WITH HAMZA BELOW
+"l a=0x0644 0x0627", // لا LAM ALEF
+//
+// End of shaping part. Autogenerated.
+//

Index: kmap/Czech.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/Czech.kmap,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- kmap/Czech.kmap     4 Dec 2007 09:22:50 -0000       1.2
+++ kmap/Czech.kmap     9 Dec 2007 23:31:39 -0000       1.3
@@ -1,36 +1,55 @@
 // Czech kmap v1.1 1999/11/30 11:36:00
 // send your criticism to address@hidden
+//
+// modified by Radovan Garabík <address@hidden>
+// to include ä, ĺ, ľ, ó, ô, ö, ŕ, ú, ü and capital variants
+// (Slovak letters and letters commonly occuring in Czech and Slovak texts)
+
 
 ",,=0x201E", // „ = DOUBLE LOW-9 QUOTATION MARK = <Q>
 "``=0x201C", // “ = LEFT DOUBLE QUOTATION MARK = </Q>
 "A'=0x00C1", // Á = LATIN CAPITAL LETTER A WITH ACUTE
+"A:=0x00C4", // Ä = LATIN CAPITAL LETTER A WITH DIARESIS
 "C$=0x00A4", // ¤ = CURRENCY SIGN
 "C<=0x010C", // Č = LATIN CAPITAL LETTER C WITH CARON
 "D<=0x010E", // Ď = LATIN CAPITAL LETTER D WITH CARON
 "E'=0x00C9", // É = LATIN CAPITAL LETTER E WITH ACUTE
 "E<=0x011A", // Ě = LATIN CAPITAL LETTER E WITH CARON
 "I'=0x00CD", // Í = LATIN CAPITAL LETTER I WITH ACUTE
+"L'=0x0139", // Ĺ = LATIN CAPITAL LETTER L WITH ACUTE
+"L<=0x013D", // Ľ = LATIN CAPITAL LETTER L WITH CARON
 "N<=0x0147", // Ň = LATIN CAPITAL LETTER N WITH CARON
 "O'=0x00D3", // Ó = LATIN CAPITAL LETTER O WITH ACUTE
+"O^=0x00D4", // Ô = LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+"O:=0x00D6", // Ö = LATIN CAPITAL LETTER O WITH DIARESIS
+"R'=0x0154", // Ŕ = LATIN CAPITAL LETTER R WITH ACUTE
 "R<=0x0158", // Ř = LATIN CAPITAL LETTER R WITH CARON
 "S<=0x0160", // Å  = LATIN CAPITAL LETTER S WITH CARON
 "T<=0x0164", // Ť = LATIN CAPITAL LETTER T WITH CARON
 "U'=0x00DA", // Ú = LATIN CAPITAL LETTER U WITH ACUTE
 "U0=0x016E", // Å® = LATIN CAPITAL LETTER U WITH RING ABOVE
+"U:=0x00DC", // Ü = LATIN CAPITAL LETTER U WITH DIARESIS
 "Y'=0x00DD", // Ý = LATIN CAPITAL LETTER Y WITH ACUTE
 "Z<=0x017D", // Ž = LATIN CAPITAL LETTER Z WITH CARON
 "a'=0x00E1", // á = LATIN SMALL LETTER A WITH ACUTE
+"a:=0x00E4", // ä = LATIN SMALL LETTER A WITH DIARESIS
 "c<=0x010D", // č = LATIN SMALL LETTER C WITH CARON
 "d<=0x010F", // ď = LATIN SMALL LETTER D WITH CARON
 "e'=0x00E9", // é = LATIN SMALL LETTER E WITH ACUTE
 "e<=0x011B", // ě = LATIN SMALL LETTER E WITH CARON
 "i'=0x00ED", // í = LATIN SMALL LETTER I WITH ACUTE
+"l'=0x013A", // ĺ = LATIN SMALL LETTER L WITH ACUTE
+"l<=0x013E", // ľ = LATIN SMALL LETTER L WITH CARON
 "n<=0x0148", // ň = LATIN SMALL LETTER N WITH CARON
 "o'=0x00F3", // ó = LATIN SMALL LETTER O WITH ACUTE
+"o^=0x00F4", // ô = LATIN SMALL LETTER O WITH CIRCUMFLEX
+"o:=0x00F6", // ö = LATIN SMALL LETTER O WITH DIARESIS
+"r'=0x0155", // ŕ = LATIN SMALL LETTER R WITH ACUTE
 "r<=0x0159", // ř = LATIN SMALL LETTER R WITH CARON
 "s<=0x0161", // Å¡ = LATIN SMALL LETTER S WITH CARON
 "t<=0x0165", // ť = LATIN SMALL LETTER T WITH CARON
 "u'=0x00FA", // ú = LATIN SMALL LETTER U WITH ACUTE
 "u0=0x016F", // ů = LATIN SMALL LETTER U WITH RING ABOVE
+"u:=0x00FC", // ü = LATIN SMALL LETTER U WITH DIARESIS
 "y'=0x00FD", // ý = LATIN SMALL LETTER Y WITH ACUTE
 "z<=0x017E", // ž = LATIN SMALL LETTER Z WITH CARON

Index: kmap/Esperanto.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/Esperanto.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/Esperanto.kmap 3 Dec 2007 10:18:37 -0000       1.1
+++ kmap/Esperanto.kmap 9 Dec 2007 23:31:39 -0000       1.2
@@ -5,12 +5,21 @@
 
 // 1998-04-20 Roman Czyborra <address@hidden>
 
+// 2001-11-13: Modified by Bertil Wennergren <address@hidden>
+// to work with all-caps typing
+
 "Cx=0x0108", // Ĉ = latin capital letter c with circumflex
+"CX=0x0108", // Ĉ = latin capital letter c with circumflex
 "Gx=0x011C", // Ĝ = latin capital letter g with circumflex
+"GX=0x011C", // Ĝ = latin capital letter g with circumflex
 "Hx=0x0124", // Ĥ = latin capital letter h with circumflex
+"HX=0x0124", // Ĥ = latin capital letter h with circumflex
 "Jx=0x0134", // Ä´ = latin capital letter j with circumflex
+"JX=0x0134", // Ä´ = latin capital letter j with circumflex
 "Sx=0x015C", // Ŝ = latin capital letter s with circumflex
+"SX=0x015C", // Ŝ = latin capital letter s with circumflex
 "Ux=0x016C", // Ŭ = latin capital letter u with breve
+"UX=0x016C", // Ŭ = latin capital letter u with breve
 "cx=0x0109", // ĉ = latin small letter c with circumflex
 "gx=0x011D", // ĝ = latin small letter g with circumflex
 "hx=0x0125", // ĥ = latin small letter h with circumflex

Index: kmap/French.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/French.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/French.kmap    3 Dec 2007 10:18:37 -0000       1.1
+++ kmap/French.kmap    9 Dec 2007 23:31:39 -0000       1.2
@@ -1,6 +1,9 @@
 // French.kmap for the Unicode text editor Yudit
 // 1998-06-10 address@hidden - improvements welcome
+// 2004-07-05 Modified by Yves Codet <address@hidden>
 
+"~=0x00A0", //   = NO-BREAK SPACE
+"'=0x2019", // ’ = RIGHT SINGLE QUOTATION MARK (APOSTROPHE)
 "<<=0x00AB", // « = LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
 ">>=0x00BB", // » = RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
 "e'=0x00E9", // é = LATIN SMALL LETTER E WITH ACUTE

Index: kmap/German.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/German.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/German.kmap    3 Dec 2007 10:18:37 -0000       1.1
+++ kmap/German.kmap    9 Dec 2007 23:31:39 -0000       1.2
@@ -1,5 +1,13 @@
 // German.kmap for the Unicode editor Yudit
 // 1998-04-17 Roman address@hidden
+// Changes: 
+//    202-04-02 Gaspar Sinai <address@hidden>:
+//    o added die Auslassungspunkte ellipsis dots omission marks …
+//    o added der Gedankenstrich long dash –
+
+"...=0x2026", // … die Auslassungspunkte
+"--=0x2013", // – der Gedankenstrich
+"'' = 0x201D", // “ RIGHT DOUBLE QUOTATION MARK
 
 // „German“ quotation marks:
 

Index: kmap/Hangul2.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/Hangul2.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/Hangul2.kmap   4 Dec 2007 09:22:51 -0000       1.1
+++ kmap/Hangul2.kmap   9 Dec 2007 23:31:39 -0000       1.2
@@ -50,7 +50,7 @@
 "end vowel",
 
 "begin consonant3",
- "=0x0000",
+// "=0x0000",
  "r=0x0001",
  "R=0x0002",
  "rt=0x0003",

Index: kmap/Hangul3.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/Hangul3.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/Hangul3.kmap   4 Dec 2007 09:22:51 -0000       1.1
+++ kmap/Hangul3.kmap   9 Dec 2007 23:31:39 -0000       1.2
@@ -32,7 +32,7 @@
  "t=0x0070",
  "c=0x008C",
  "e=0x00A8",
- "0x37e=0x00C4",
+ "0x37=0x00C4",
  "/=0x00E0",
  "v=0x00E0",
  "/f=0x00FC",
@@ -58,7 +58,7 @@
 
 "begin e",
  // this should be made legal, sweat here
- "=0x0000",
+// "=0x0000",
  "x=0x0001",
  "!=0x0002",
  "V=0x0003",

Index: kmap/Hebrew.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/Hebrew.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/Hebrew.kmap    3 Dec 2007 10:18:38 -0000       1.1
+++ kmap/Hebrew.kmap    9 Dec 2007 23:31:39 -0000       1.2
@@ -1,33 +1,50 @@
 // Hebrew.kmap for Yudit
-// 1998-06-17 Roman address@hidden
+// 2001-01-30 Raphael Finkel address@hidden
 
-// These are the Hebrew letters from ISO-8859-6
-// at hopefully not too surprising ASCII keys:
+// These are the Yiddish letters, according to the UYIP mapping convention
 
-"a=0x05D0",    // א = HEBREW LETTER ALEF
-"b=0x05D1",    // ב = HEBREW LETTER BET
-"g=0x05D2",    // ג = HEBREW LETTER GIMEL
-"d=0x05D3",    // ד = HEBREW LETTER DALET
-"h=0x05D4",    // ה = HEBREW LETTER HE
-"v=0x05D5",    // ו = HEBREW LETTER VAV
-"z=0x05D6",    // ז = HEBREW LETTER ZAYIN
-"x=0x05D7",    // ח = HEBREW LETTER HET
-"y=0x05D8",    // ט = HEBREW LETTER TET
-"j=0x05D9",    // י = HEBREW LETTER YOD
-"k;=0x05DA",   // ך = HEBREW LETTER FINAL KAF
-"k=0x05DB",    // כ = HEBREW LETTER KAF
-"l=0x05DC",    // ל = HEBREW LETTER LAMED
-"m;=0x05DD",   // ם = HEBREW LETTER FINAL MEM
-"m=0x05DE",    // מ = HEBREW LETTER MEM
-"n;=0x05DF",   // ן = HEBREW LETTER FINAL NUN
-"n=0x05E0",    // ×  = HEBREW LETTER NUN
-"s=0x05E1",    // ס = HEBREW LETTER SAMEKH
-"e=0x05E2",    // ×¢ = HEBREW LETTER AYIN
-"p;=0x05E3",   // ×£ = HEBREW LETTER FINAL PE
-"p=0x05E4",    // פ = HEBREW LETTER PE
-"c;=0x05E5",   // ×¥ = HEBREW LETTER FINAL TSADI
-"c=0x05E6",    // צ = HEBREW LETTER TSADI
-"q=0x05E7",    // ק = HEBREW LETTER QOF
-"r=0x05E8",    // ר = HEBREW LETTER RESH
-"w=0x05E9",    // ש = HEBREW LETTER SHIN
-"t=0x05EA",    // ת = HEBREW LETTER TAV
+"a=0x05D0 0x05b7",     // HEBREW LETTER ALEF, HEBREW POINT PATAH
+"A=0x05D0",    // HEBREW LETTER ALEF
+"B=0x05D1 0x05BF",     // HEBREW LETTER BET, HEBREW POINT RAFE
+"b=0x05D1",    // HEBREW LETTER BET
+"c=0x05E6",    // HEBREW LETTER TSADI
+"C=0x05E5",    // HEBREW LETTER FINAL TSADI
+"d=0x05D3",    // HEBREW LETTER DALET
+"e=0x05E2",    // HEBREW LETTER AYIN
+"E=0x05F2",    // HEBREW LIGATURE YIDDISH DOUBLE YOD
+"f=0x05E4 0x05BF",     // HEBREW LETTER PE, HEBREW POINT RAFE
+"F=0x05E3",    // HEBREW LETTER FINAL PE
+"g=0x05D2",    // HEBREW LETTER GIMEL
+"h=0x05D4",    // HEBREW LETTER HE
+"H=0x05D7",    // HEBREW LETTER HET
+"i=0x05D9", // HEBREW LETTER YOD
+"I=0x05D9 0x05B4", // HEBREW LETTER YOD, HEBREW POINT HIRIQ
+"j=0x05F2",    // HEBREW LIGATURE YIDDISH DOUBLE YOD
+"J=0x05F2 0x05B7",     // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH
+"k=0x05E7",    // HEBREW LETTER QOF
+"K=0x05DB 0x05BC",     // HEBREW LETTER KAF, HEBREW POINT DAGESH OR MAPIQ
+"l=0x05DC",    // HEBREW LETTER LAMED
+"m=0x05DE",    // HEBREW LETTER MEM
+"M=0x05DD",    // HEBREW LETTER FINAL MEM
+"n=0x05E0",    // HEBREW LETTER NUN
+"N=0x05DF",    // HEBREW LETTER FINAL NUN
+"o=0x05D0 0x05B8", // HEBREW LETTER ALEF, HEBREW POINT QAMATS
+"O=0x05F1", // HEBREW LIGATURE YIDDISH VAV YOD
+"p=0x05E4 0x05BC",     // HEBREW LETTER PE, HEBREW POINT DAGESH OR MAPIQ
+"q=0x05F2 0x05B7",     // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH
+"r=0x05E8",    // HEBREW LETTER RESH
+"s=0x05E1",    // HEBREW LETTER SAMEKH
+"S=0x05EA",    // HEBREW LETTER TAV
+"t=0x05D8",    // HEBREW LETTER TET
+"T=0x05EA 0x05BC",     // HEBREW LETTER TAV, HEBREW POINT DAGESH OR MAPIQ
+"u=0x05D5", // HEBREW LETTER VAV
+"U=0x05D5 0x05BC", // HEBREW LETTER VAV, HEBREW POINT DAGESH OR MAPIQ
+"v=0x05F0",    // HEBREW LIGATURE YIDDISH DOUBLE VAV
+"V=0x05D1 0x05BF",     // HEBREW LETTER BET, HEBREW POINT RAFE
+"w=0x05E9",    // HEBREW LETTER SHIN
+"W=0x05E9 0x05C2",     // HEBREW LETTER SHIN, HEBREW POINT SIN DOT
+"x=0x05DB",    // HEBREW LETTER KAF
+"X=0x05DA",    // HEBREW LETTER FINAL KAF
+"y=0x05D9",    // HEBREW LETTER YOD
+"Y=0x05F2 0x05B7",     // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH 
+"z=0x05D6",    // HEBREW LETTER ZAYIN

Index: kmap/Hungarian.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/Hungarian.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/Hungarian.kmap 3 Dec 2007 10:18:38 -0000       1.1
+++ kmap/Hungarian.kmap 9 Dec 2007 23:31:39 -0000       1.2
@@ -4,6 +4,10 @@
 "A' = 0xc1",
 "A: = 0xc4",
 "E' = 0xc9",
+"E$ = 0x20AC",
+"e$ = 0x20AC",
+"Y$ =0xFFE5",
+"y$ =0x00A5",
 "I' = 0xcd",
 "O' = 0xd3",
 "O\" = 0x0150",
@@ -23,4 +27,9 @@
 "u' = 0xfa",
 "u\" = 0x0171",
 "u: = 0xfc",
-
+":) = 0x263A",
+"'' = 0x201D", // ” RIGHT DOUBLE QUOTATION MARK
+",,=0x201E", // „ DOUBLE LOW-9 QUOTATION MARK 
+"``=0x201C", // “ LEFT DOUBLE QUOTATION MARK
+"...=0x2026", // … 
+"--=0x2013", // – 

Index: kmap/README
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/README,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- kmap/README 6 Dec 2007 17:43:48 -0000       1.4
+++ kmap/README 9 Dec 2007 23:31:40 -0000       1.5
@@ -58,3 +58,5 @@
 
 version 2.8.1 of yudit uses a compiled format.
 kmap files have moved to yudit-2.8.1/mytool/kmap
+
+imported fixes and more keymaps

Index: kmap/SGML.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/SGML.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/SGML.kmap      3 Dec 2007 10:18:39 -0000       1.1
+++ kmap/SGML.kmap      9 Dec 2007 23:31:40 -0000       1.2
@@ -4,6 +4,11 @@
 // Gaspar Sinai's Unicode text editor Yudit
 
 // 1998-04-18 Roman address@hidden
+// 2001-10-Jernej Kovacic <address@hidden>
+// The SGML keymap contains only small southern Slavic characters. I have added
+// their capital "counterparts" which cover Slovene, Croatian and Serbian (in
+// Latin transcription) languages. The 5 new characters are added at the end of
+// the original file.
 
 "&excl;=0x0021",
 "&num;=0x0023",
@@ -693,5 +698,18 @@
 "&lozf;=0x2726",
 "&loz;=0x2727",
 "&sextile;=0x2736",
+// some southern Slavic (for Slovene, Croatian and Serbian in Latin 
transliteration) capital letters
+"&Ccaron;=0x010C",  // LATIN CAPITAL LETTER C WITH CARON
+"&Scaron;=0x0160",  // LATIN CAPITAL LETTER S WITH CARON
+"&Zcaron;=0x017D",  // LATIN CAPITAL LETTER Z WITH CARON
+"&Cacute;=0x0106",  // LATIN CAPITAL LETTER C WITH ACUTE
+"&Dstrok;=0x0110",  // LATIN CAPITAL LETTER D WITH STROKE
+// Capital letters with diaeresis (umlaut), Euro
+"&Auml;=0x00C4",    // LATIN CAPITAL LETTER A WITH DIAERESIS
+"&Euml;=0x00CB",    // LATIN CAPITAL LETTER E WITH DIAERESIS
+"&Iuml;=0x00CF",    // LATIN CAPITAL LETTER I WITH DIAERESIS
+"&Ouml;=0x00D6",    // LATIN CAPITAL LETTER O WITH DIAERESIS
+"&Uuml;=0x00DC",    // LATIN CAPITAL LETTER U WITH DIAERESIS
 
-
+"&euro;=0x20AC",    // EURO SIGN
+"&#8364;=0x20AC",   // EURO SIGN

Index: kmap/TeX.kmap
===================================================================
RCS file: /cvsroot/qemacs/qemacs/kmap/TeX.kmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- kmap/TeX.kmap       3 Dec 2007 10:18:39 -0000       1.1
+++ kmap/TeX.kmap       9 Dec 2007 23:31:40 -0000       1.2
@@ -1,4 +1,11 @@
 // http://czyborra.com/yudit/TeX.kmap 1998-09-24 address@hidden
+// 12 June 2001
+// Jernej Kovacic <address@hidden> added ex-Yugoslav characters
+// "\\'{c}=0x0107",
+// "\\'{C}=0x0106",
+// "\\dj=0x0111",
+// "\\DJ=0x0110",
+// "\\Dj=0x0110",
 
 "!`=0x00a1",
 "?`=0x00bf",
@@ -785,3 +792,8 @@
 "_8=0x2088",
 "_9=0x2089",
 "_ 0x3D =0x208c",
+"\\'{c}=0x0107",
+"\\'{C}=0x0106",
+"\\dj=0x0111",
+"\\DJ=0x0110",
+"\\Dj=0x0110",

Index: kmap/HebrewP.kmap
===================================================================
RCS file: kmap/HebrewP.kmap
diff -N kmap/HebrewP.kmap
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ kmap/HebrewP.kmap   9 Dec 2007 23:31:39 -0000       1.1
@@ -0,0 +1,33 @@
+// Hebrew.kmap for Yudit
+// 1998-06-17 Roman address@hidden
+
+// These are the Hebrew letters from ISO-8859-6
+// at hopefully not too surprising ASCII keys:
+
+"a=0x05D0",    // א = HEBREW LETTER ALEF
+"b=0x05D1",    // ב = HEBREW LETTER BET
+"g=0x05D2",    // ג = HEBREW LETTER GIMEL
+"d=0x05D3",    // ד = HEBREW LETTER DALET
+"h=0x05D4",    // ה = HEBREW LETTER HE
+"v=0x05D5",    // ו = HEBREW LETTER VAV
+"z=0x05D6",    // ז = HEBREW LETTER ZAYIN
+"x=0x05D7",    // ח = HEBREW LETTER HET
+"y=0x05D8",    // ט = HEBREW LETTER TET
+"j=0x05D9",    // י = HEBREW LETTER YOD
+"k;=0x05DA",   // ך = HEBREW LETTER FINAL KAF
+"k=0x05DB",    // כ = HEBREW LETTER KAF
+"l=0x05DC",    // ל = HEBREW LETTER LAMED
+"m;=0x05DD",   // ם = HEBREW LETTER FINAL MEM
+"m=0x05DE",    // מ = HEBREW LETTER MEM
+"n;=0x05DF",   // ן = HEBREW LETTER FINAL NUN
+"n=0x05E0",    // ×  = HEBREW LETTER NUN
+"s=0x05E1",    // ס = HEBREW LETTER SAMEKH
+"e=0x05E2",    // ×¢ = HEBREW LETTER AYIN
+"p;=0x05E3",   // ×£ = HEBREW LETTER FINAL PE
+"p=0x05E4",    // פ = HEBREW LETTER PE
+"c;=0x05E5",   // ×¥ = HEBREW LETTER FINAL TSADI
+"c=0x05E6",    // צ = HEBREW LETTER TSADI
+"q=0x05E7",    // ק = HEBREW LETTER QOF
+"r=0x05E8",    // ר = HEBREW LETTER RESH
+"w=0x05E9",    // ש = HEBREW LETTER SHIN
+"t=0x05EA",    // ת = HEBREW LETTER TAV

Index: kmap/HebrewR.kmap
===================================================================
RCS file: kmap/HebrewR.kmap
diff -N kmap/HebrewR.kmap
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ kmap/HebrewR.kmap   9 Dec 2007 23:31:39 -0000       1.1
@@ -0,0 +1,50 @@
+// Hebrew.kmap for Yudit
+// 2001-01-30 Raphael Finkel address@hidden
+
+// These are the Yiddish letters, according to the UYIP mapping convention
+
+"a=0x05D0 0x05b7",     // HEBREW LETTER ALEF, HEBREW POINT PATAH
+"A=0x05D0",    // HEBREW LETTER ALEF
+"B=0x05D1 0x05BF",     // HEBREW LETTER BET, HEBREW POINT RAFE
+"b=0x05D1",    // HEBREW LETTER BET
+"c=0x05E6",    // HEBREW LETTER TSADI
+"C=0x05E5",    // HEBREW LETTER FINAL TSADI
+"d=0x05D3",    // HEBREW LETTER DALET
+"e=0x05E2",    // HEBREW LETTER AYIN
+"E=0x05F2",    // HEBREW LIGATURE YIDDISH DOUBLE YOD
+"f=0x05E4 0x05BF",     // HEBREW LETTER PE, HEBREW POINT RAFE
+"F=0x05E3",    // HEBREW LETTER FINAL PE
+"g=0x05D2",    // HEBREW LETTER GIMEL
+"h=0x05D4",    // HEBREW LETTER HE
+"H=0x05D7",    // HEBREW LETTER HET
+"i=0x05D9", // HEBREW LETTER YOD
+"I=0x05D9 0x05B4", // HEBREW LETTER YOD, HEBREW POINT HIRIQ
+"j=0x05F2",    // HEBREW LIGATURE YIDDISH DOUBLE YOD
+"J=0x05F2 0x05B7",     // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH
+"k=0x05E7",    // HEBREW LETTER QOF
+"K=0x05DB 0x05BC",     // HEBREW LETTER KAF, HEBREW POINT DAGESH OR MAPIQ
+"l=0x05DC",    // HEBREW LETTER LAMED
+"m=0x05DE",    // HEBREW LETTER MEM
+"M=0x05DD",    // HEBREW LETTER FINAL MEM
+"n=0x05E0",    // HEBREW LETTER NUN
+"N=0x05DF",    // HEBREW LETTER FINAL NUN
+"o=0x05D0 0x05B8", // HEBREW LETTER ALEF, HEBREW POINT QAMATS
+"O=0x05F1", // HEBREW LIGATURE YIDDISH VAV YOD
+"p=0x05E4 0x05BC",     // HEBREW LETTER PE, HEBREW POINT DAGESH OR MAPIQ
+"q=0x05F2 0x05B7",     // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH
+"r=0x05E8",    // HEBREW LETTER RESH
+"s=0x05E1",    // HEBREW LETTER SAMEKH
+"S=0x05EA",    // HEBREW LETTER TAV
+"t=0x05D8",    // HEBREW LETTER TET
+"T=0x05EA 0x05BC",     // HEBREW LETTER TAV, HEBREW POINT DAGESH OR MAPIQ
+"u=0x05D5", // HEBREW LETTER VAV
+"U=0x05D5 0x05BC", // HEBREW LETTER VAV, HEBREW POINT DAGESH OR MAPIQ
+"v=0x05F0",    // HEBREW LIGATURE YIDDISH DOUBLE VAV
+"V=0x05D1 0x05BF",     // HEBREW LETTER BET, HEBREW POINT RAFE
+"w=0x05E9",    // HEBREW LETTER SHIN
+"W=0x05E9 0x05C2",     // HEBREW LETTER SHIN, HEBREW POINT SIN DOT
+"x=0x05DB",    // HEBREW LETTER KAF
+"X=0x05DA",    // HEBREW LETTER FINAL KAF
+"y=0x05D9",    // HEBREW LETTER YOD
+"Y=0x05F2 0x05B7",     // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH 
+"z=0x05D6",    // HEBREW LETTER ZAYIN

Index: kmap/Israeli.kmap
===================================================================
RCS file: kmap/Israeli.kmap
diff -N kmap/Israeli.kmap
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ kmap/Israeli.kmap   9 Dec 2007 23:31:39 -0000       1.1
@@ -0,0 +1,52 @@
+// Hebrew.kmap for Yudit
+// 1998-06-17 Roman address@hidden
+
+// Changed from the il_phonetic map to the standard israeli map by 
+// Tzafrir Cohen <address@hidden>
+
+"t=0x05D0",    // א = HEBREW LETTER ALEF
+"c=0x05D1",    // ב = HEBREW LETTER BET
+"d=0x05D2",    // ג = HEBREW LETTER GIMEL
+"s=0x05D3",    // ד = HEBREW LETTER DALET
+"v=0x05D4",    // ה = HEBREW LETTER HE
+"u=0x05D5",    // ו = HEBREW LETTER VAV
+"z=0x05D6",    // ז = HEBREW LETTER ZAYIN
+"j=0x05D7",    // ח = HEBREW LETTER HET
+"y=0x05D8",    // ט = HEBREW LETTER TET
+"h=0x05D9",    // י = HEBREW LETTER YOD
+"l=0x05DA",    // ך = HEBREW LETTER FINAL KAF
+"f=0x05DB",    // כ = HEBREW LETTER KAF
+"k=0x05DC",    // ל = HEBREW LETTER LAMED
+"o=0x05DD",    // ם = HEBREW LETTER FINAL MEM
+"n=0x05DE",    // מ = HEBREW LETTER MEM
+"i=0x05DF",    // ן = HEBREW LETTER FINAL NUN
+"b=0x05E0",    // ×  = HEBREW LETTER NUN
+"x=0x05E1",    // ס = HEBREW LETTER SAMEKH
+"g=0x05E2",    // ×¢ = HEBREW LETTER AYIN
+";=0x05E3",    // ×£ = HEBREW LETTER FINAL PE
+"p=0x05E4",    // פ = HEBREW LETTER PE
+".=0x05E5",    // ×¥ = HEBREW LETTER FINAL TSADI
+"m=0x05E6",    // צ = HEBREW LETTER TSADI
+"e=0x05E7",    // ק = HEBREW LETTER QOF
+"r=0x05E8",    // ר = HEBREW LETTER RESH
+"a=0x05E9",    // ש = HEBREW LETTER SHIN
+",=0x05EA",    // ת = HEBREW LETTER TAV
+
+// Some other mappings that change, besides the letters themselves:
+"q=0x002F",    // slash (/)
+"w=0x0027",    // apostrophy (')
+"`=0x003B",    // smicolon (;)
+"'=0x002C",    // comma (,)
+"/=0x002E",    // dot (.)
+
+// There is said to be support for bidirectionality. If so: swapping 
+// between left and right parathensis might prove useful. Just in case
+// Those should not mean "left-{brace|bracket|etc.}" and "right-"
+// but "open-" and "close-"
+// it does, I add the mapping remmed-out:
+//"[=0x005D",  // "]"
+//"]=0x005B",  // "["
+//"{=0x007D",  // "}"
+//"}=0x007B",  // "{"
+//"(=0x0029",  // ")"
+//")=0x0028",  // "("

Index: kmap/Yiddish.kmap
===================================================================
RCS file: kmap/Yiddish.kmap
diff -N kmap/Yiddish.kmap
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ kmap/Yiddish.kmap   9 Dec 2007 23:31:40 -0000       1.1
@@ -0,0 +1,147 @@
+// Yiddish.kmap for Yudit
+// 2001-01-30 Raphael Finkel address@hidden
+
+// These are the Yiddish letters, according to the UYIP mapping convention
+// I have excluded the keystrokes using the <ctr> key.
+// I have added a few ligatures for YIVO input.
+
+"a=0x05D0 0x05b7",     // HEBREW LETTER ALEF, HEBREW POINT PATAH
+"ay=0x05F2 0x05B7",    // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH
+"A=0x05D0",    // HEBREW LETTER ALEF
+"#=0x05D0" , // HEBREW LETTER ALEF
+"B=0x05D1 0x05BF",     // HEBREW LETTER BET, HEBREW POINT RAFE
+"b=0x05D1",    // HEBREW LETTER BET
+"c=0x05E6",    // HEBREW LETTER TSADI
+"ts=0x05E6",   // HEBREW LETTER TSADI
+"tsh=0x05D8 0x05E9",   // HEBREW LETTER TET, SHIN
+
+"ts,=0x05E5 ," , // final form
+"ts.=0x05E5 ." , // final form
+"ts?=0x05E5 ?" , // final form
+"ts:=0x05E5 :" , // final form
+"ts!=0x05E5 !" , // final form
+"ts;=0x05E5 ;" , // final form
+"ts-=0x05E5 -" , // final form
+"ts)=0x05E5 )" , // final form
+"ts 0x0020= 0x05E5 0x0020" , // final form
+
+"C=0x05E5",    // HEBREW LETTER FINAL TSADI
+
+"c,=0x05E5 ," , // final form
+"c.=0x05E5 ." , // final form
+"c?=0x05E5 ?" , // final form
+"c:=0x05E5 :" , // final form
+"c!=0x05E5 !" , // final form
+"c;=0x05E5 ;" , // final form
+"c-=0x05E5 -" , // final form
+"c)=0x05E5 )" , // final form
+"c 0x0020= 0x05E5 0x0020" , // final form
+
+"d=0x05D3",    // HEBREW LETTER DALET
+"dj=0x05D3 0x05D6 0x05E9", // DALET, ZAYIN, SHIN
+"e=0x05E2",    // HEBREW LETTER AYIN
+"E=0x05F2",    // HEBREW LIGATURE YIDDISH DOUBLE YOD
+"ey=0x05F2",   // HEBREW LIGATURE YIDDISH DOUBLE YOD
+"eyi=0x05F2 0x05D9 0x05B4",    // DOUBLE YOD, YOD, HIRIQ
+"f=0x05E4 0x05BF",     // HEBREW LETTER PE, HEBREW POINT RAFE
+"F=0x05E3",    // HEBREW LETTER FINAL PE
+
+"f,=0x05E3 ," , // final form
+"f.=0x05E3 ." , // final form
+"f?=0x05E3 ?" , // final form
+"f:=0x05E3 :" , // final form
+"f!=0x05E3 !" , // final form
+"f;=0x05E3 ;" , // final form
+"f-=0x05E3 -" , // final form
+"f)=0x05E3 )" , // final form
+"f 0x0020= 0x05E3 0x0020" , // final form
+
+"g=0x05D2",    // HEBREW LETTER GIMEL
+"h=0x05D4",    // HEBREW LETTER HE
+"H=0x05D7",    // HEBREW LETTER HET
+"i=0x05D9", // HEBREW LETTER YOD
+"ii=0x05D9 0x05D9 0x05B4", // YOD, YOD, HIRIQ
+"iy=0x05D9 0x05B4 0x05D9", // YOD, HIRIQ, YOD
+"I=0x05D9 0x05B4", // HEBREW LETTER YOD, HEBREW POINT HIRIQ
+"j=0x05F2",    // HEBREW LIGATURE YIDDISH DOUBLE YOD
+"J=0x05F2 0x05B7",     // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH
+"k=0x05E7",    // HEBREW LETTER QOF
+"kh=0x05DB" , // HEBREW LETTER KAF
+
+"kh,=0x05DA ," , // final form
+"kh.=0x05DA ." , // final form
+"kh?=0x05DA ?" , // final form
+"kh:=0x05DA :" , // final form
+"kh!=0x05DA !" , // final form
+"kh;=0x05DA ;" , // final form
+"kh-=0x05DA -" , // final form
+"kh)=0x05DA )" , // final form
+"kh 0x0020= 0x05DA 0x0020" , // final form
+
+"K=0x05DB 0x05BC",     // HEBREW LETTER KAF, HEBREW POINT DAGESH OR MAPIQ
+"l=0x05DC",    // HEBREW LETTER LAMED
+"m=0x05DE",    // HEBREW LETTER MEM
+"M=0x05DD",    // HEBREW LETTER FINAL MEM
+
+"m,=0x05DD ," , // final form
+"m.=0x05DD ." , // final form
+"m?=0x05DD ?" , // final form
+"m:=0x05DD :" , // final form
+"m!=0x05DD !" , // final form
+"m;=0x05DD ;" , // final form
+"m-=0x05DD -" , // final form
+"m)=0x05DD )" , // final form
+"m 0x0020= 0x05DD 0x0020" , // final form
+
+"n=0x05E0",    // HEBREW LETTER NUN
+"N=0x05DF",    // HEBREW LETTER FINAL NUN
+
+"n,=0x05DF ," , // final form
+"n.=0x05DF ." , // final form
+"n?=0x05DF ?" , // final form
+"n:=0x05DF :" , // final form
+"n!=0x05DF !" , // final form
+"n;=0x05DF ;" , // final form
+"n-=0x05DF -" , // final form
+"n)=0x05DF )" , // final form
+"n 0x0020= 0x05DF 0x0020" , // final form
+
+"o=0x05D0 0x05B8", // HEBREW LETTER ALEF, HEBREW POINT QAMATS
+"oy=0x05F1", // HEBREW LIGATURE YIDDISH VAV YOD
+"O=0x05F1", // HEBREW LIGATURE YIDDISH VAV YOD
+"p=0x05E4 0x05BC",     // HEBREW LETTER PE, HEBREW POINT DAGESH OR MAPIQ
+"q=0x05F2 0x05B7",     // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH
+"r=0x05E8",    // HEBREW LETTER RESH
+"s=0x05E1",    // HEBREW LETTER SAMEKH
+"S=0x05EA",    // HEBREW LETTER TAV
+"t=0x05D8",    // HEBREW LETTER TET
+"T=0x05EA 0x05BC",     // HEBREW LETTER TAV, HEBREW POINT DAGESH OR MAPIQ
+"u=0x05D5", // HEBREW LETTER VAV
+"ui=0x05D5 0x05D9 0x05B4", // HEBREW LETTER VAV, YOD, POINT HIRIQ
+"uv=0x05D5 0x05BC 0x05F0", // VAV, DAGESH, DOUBLE VAV
+"uu=0x05D5 0x05BC 0x05D5", // VAV, DAGESH, VAV
+"U=0x05D5 0x05BC", // HEBREW LETTER VAV, HEBREW POINT DAGESH OR MAPIQ
+"v=0x05F0",    // HEBREW LIGATURE YIDDISH DOUBLE VAV
+"vu=0x05F0 0x05D5 0x05BC", // DOUBLE VAV, VAV, DAGESH
+"V=0x05D1 0x05BF",     // HEBREW LETTER BET, HEBREW POINT RAFE
+"w=0x05E9",    // HEBREW LETTER SHIN
+"sh=0x05E9",   // HEBREW LETTER SHIN
+"W=0x05E9 0x05C2",     // HEBREW LETTER SHIN, HEBREW POINT SIN DOT
+"x=0x05DB",    // HEBREW LETTER KAF
+"X=0x05DA",    // HEBREW LETTER FINAL KAF
+
+"x,=0x05DA ," , // final form
+"x.=0x05DA ." , // final form
+"x?=0x05DA ?" , // final form
+"x:=0x05DA :" , // final form
+"x!=0x05DA !" , // final form
+"x;=0x05DA ;" , // final form
+"x-=0x05DA -" , // final form
+"x)=0x05DA )" , // final form
+"x 0x0020= 0x05DA 0x0020" , // final form
+
+"y=0x05D9",    // HEBREW LETTER YOD
+"yi=0x05D9 0x05D9 0x05B4", // YOD, YOD, HIRIQ
+"Y=0x05F2 0x05B7",     // HEBREW LIGATURE YIDDISH DOUBLE YOD, HEBREW POINT 
PATAH 
+"z=0x05D6",    // HEBREW LETTER ZAYIN
+"zh=0x05D5 0x05E9", // ZAYIN, SHIN




reply via email to

[Prev in Thread] Current Thread [Next in Thread]