*** empty log message ***
[m17n/m17n-test.git] / key-aliases.c
diff --git a/key-aliases.c b/key-aliases.c
new file mode 100644 (file)
index 0000000..bf76f29
--- /dev/null
@@ -0,0 +1,71 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <m17n.h>
+
+int
+main (int argc, char **argv)
+{
+  MInputMethod *im;
+  MInputContext *ic;
+  unsigned char buf[6];
+  int i;
+  MSymbol prop, alias, sym;
+
+  M17N_INIT ();
+  im = minput_open_im (Mt, msymbol ("test"), NULL);
+  if (im)
+    {
+      ic = minput_create_ic (im, NULL);
+      if (ic)
+       {
+         buf[0] = 0xd1;
+         buf[1] = 0;
+         minput_filter (ic, msymbol (buf), NULL);
+         minput_destroy_ic (ic);
+       }
+      minput_close_im (im);
+    }
+  prop = msymbol ("  key-alias");
+  buf[1] = 0;
+  for (i = 0; i < 256; i++)
+    {
+      buf[0] = i;
+      sym = msymbol ((char *) buf);
+      alias = msymbol_get (sym, prop);
+      if (alias)
+       {
+         printf ("%02X:", i);
+         while (alias && alias != sym)
+           {
+             printf (" %s", msymbol_name (alias));
+             alias = msymbol_get (alias, prop);
+           }
+         printf ("\n");
+       }
+    }
+  buf[0] = 'C', buf[1] = '-', buf[2] = 'M', buf[3] = '-', buf[5] = '\0';
+  for (i = ' '; i <= '~'; i++)
+    {
+      if (i == '@')
+       {
+         i = '_';
+         continue;
+       }
+      if (i == 'a')
+       {
+         i = 'z';
+         continue;
+       }
+      buf[4] = i;
+      sym = msymbol (buf);
+      alias = msymbol_get (sym, prop);
+      printf ("%s:", buf);
+      while (alias && alias != sym)
+       {
+         printf (" %s", msymbol_name (alias));
+         alias = msymbol_get (alias, prop);
+       }
+      printf ("\n");
+    }
+  exit (0);
+}