7 main (int argc, char **argv)
16 fprintf (stderr, "Usage: imsim LANG NAME\n");
21 utf_8 = msymbol ("utf-8");
22 im = minput_open_im (msymbol (argv[1]), msymbol (argv[2]), NULL);
25 fprintf (stderr, "Can't open input metdhod: (%s %s)\n",
29 ic = minput_create_ic (im, NULL);
32 fprintf (stderr, "Can't create input context: (%s %s)\n",
38 while (fgets (buf, 256, stdin))
40 int len = strlen (buf);
46 if (buf[len - 1] == '\n')
48 for (keylen = 0; keylen < len; keylen++)
49 if (buf[keylen] == '\t')
53 fprintf (stderr, "Invalid input line: %s\n", buf);
57 for (i = 0; i < keylen; i++)
62 key = msymbol (keyname);
63 if (minput_filter (ic, key, NULL))
65 if (minput_lookup (ic, key, NULL, mt) < 0)
66 mtext_cat_char (mt, buf[i]);
68 minput_filter (ic, Mnil, NULL);
69 minput_lookup (ic, Mnil, NULL, mt);
70 len = mconv_encode_buffer (utf_8, mt, (unsigned char *) convbuf, 1024);
72 if (strcmp (buf + keylen + 1, convbuf))
75 printf ("%s => %s (!= %s)\n", buf, convbuf, buf + keylen + 1);
77 m17n_object_unref (mt);
80 minput_destroy_ic (ic);