0
|
1 /*
|
|
2 * $Id: chkim.c,v 1.2 2001/06/14 18:16:11 ura Exp $
|
|
3 */
|
|
4
|
|
5 /*
|
|
6 * FreeWnn is a network-extensible Kana-to-Kanji conversion system.
|
|
7 * This file is part of FreeWnn.
|
|
8 *
|
|
9 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999
|
|
10 *
|
|
11 * Author: OMRON SOFTWARE Co., Ltd. <freewnn@rd.kyoto.omronsoft.co.jp>
|
|
12 *
|
|
13 * This program is free software; you can redistribute it and/or modify
|
|
14 * it under the terms of the GNU General Public License as published by
|
|
15 * the Free Software Foundation; either version 2, or (at your option)
|
|
16 * any later version.
|
|
17 *
|
|
18 * This program is distributed in the hope that it will be useful,
|
|
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
21 * GNU General Public License for more details.
|
|
22 *
|
|
23 * You should have received a copy of the GNU General Public License
|
|
24 * along with GNU Emacs; see the file COPYING. If not, write to the
|
|
25 * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
26 *
|
|
27 * Commentary:
|
|
28 *
|
|
29 * Change log:
|
|
30 *
|
|
31 * Last modified date: 8,Feb.1999
|
|
32 *
|
|
33 * Code:
|
|
34 *
|
|
35 */
|
|
36
|
|
37 /*
|
|
38 * X11R5 Input Method Test Program
|
|
39 * chkim.c v 1.0 Tue Mar 5 16:18:15 JST 1991
|
|
40 */
|
|
41
|
|
42 /*
|
|
43 * Author: Takashi Inoue OMRON Corporation
|
|
44 * takashi@ari.ncl.omron.co.jp
|
|
45 *
|
|
46 * Shoji kamada OMRON Corporation
|
|
47 * kamada@ari.ncl.omron.co.jp
|
|
48 */
|
|
49
|
|
50 #include "exvalue.h"
|
|
51 #include "func.h"
|
|
52
|
|
53 #include <stdio.h>
|
|
54 #include <X11/IntrinsicP.h>
|
|
55 #include <X11/Xresource.h>
|
|
56
|
|
57 /* *INDENT-OFF* */
|
|
58 XIM
|
|
59 openim (lfdir, flag) /* check of XOpenIM */
|
|
60 char *lfdir;
|
|
61 FLAG *flag;
|
|
62 /* *INDENT-ON* */
|
|
63 {
|
|
64 XIM im;
|
|
65 char *home;
|
|
66 char logfile[MAX_BUF];
|
|
67 char dbsrc[MAX_BUF];
|
|
68 XrmDatabase rdb;
|
|
69 XIMStyles *ximstyle;
|
|
70 XIMStyle *style;
|
|
71 #ifdef XML
|
|
72 char *languages;
|
|
73 #endif /* XML */
|
|
74 int cnt;
|
|
75
|
|
76 char *getenv ();
|
|
77
|
|
78 prmode ("X11R5 Input Method Test Program : <<IM Mode>>");
|
|
79 prstatus ("Creating log file for im..."); /* open log file for IM test */
|
|
80 sprintf (logfile, "%s/tim.log", lfdir);
|
|
81 imfp = fopen (logfile, "w");
|
|
82 prstatus ("done.");
|
|
83 if (imfp == NULL)
|
|
84 {
|
|
85 cls (prdisp);
|
|
86 prerrld (logfile);
|
|
87 }
|
|
88
|
|
89 prstatus ("Creating resource database..."); /* create resource database */
|
|
90 home = getenv ("HOME");
|
|
91 sprintf (dbsrc, "%s/.Xdefaults", home);
|
|
92 rdb = XrmGetFileDatabase (dbsrc);
|
|
93 prstatus ("done.");
|
|
94
|
|
95 prstatus ("Creating input method..."); /* open IM */
|
|
96 im = XOpenIM (dpy, rdb, "xim", "XIM");
|
|
97 prstatus ("done.");
|
|
98 cls (prdisp);
|
|
99 if (im == NULL)
|
|
100 { /* for XOpenIM error */
|
|
101 prprint ("Test of XOpenIM() is failed.\n\n");
|
|
102 prprint ("Check environmental valuable \"XNLSPATH\"\n\n");
|
|
103 prprint ("and make sure to run \"xwnmo\".\n\n");
|
|
104 prprint ("This program will shutdown soon.\n\n");
|
|
105 fprintf (imfp, "Test of XOpenIM() is failed.\n");
|
|
106 fprintf (imfp, "\"NULL\" returned.\n\n");
|
|
107 *flag = OPIMERR;
|
|
108 return (im);
|
|
109 }
|
|
110 prprint ("Test of XOpenIM() is succeeded.\n"); /* for XOpenIM success */
|
|
111 prprint ("Move next test.\n\n");
|
|
112 fprintf (imfp, "Test of XOpenIM() is succeeded.\n");
|
|
113 fprintf (imfp, "im : 0x%X\n\n", im);
|
|
114
|
|
115 #ifdef XML
|
|
116 languages = 0; /* initialization of valuables */
|
|
117 #endif /* XML */
|
|
118 prstatus ("Test of XGetIMValues()..."); /* test of XGetIMValues */
|
|
119 XGetIMValues (im, XNQueryInputStyle, &ximstyle,
|
|
120 #ifdef XML
|
|
121 XNQueryLanguage, &languages,
|
|
122 #endif /* XML */
|
|
123 NULL);
|
|
124 prstatus ("done.");
|
|
125 if (ximstyle->count_styles == 0)
|
|
126 { /* for XGetIMValues error */
|
|
127 prprint ("Test of XGetIMValues() is failed.\n");
|
|
128 prprint ("This program will shutdown soon.\n\n");
|
|
129 fprintf (imfp, "Test of XGetIMValues() is failed. ");
|
|
130 fprintf (imfp, "ximstyle returned \"NULL\".\n\n");
|
|
131 *flag = GIMERR;
|
|
132 XFree (ximstyle);
|
|
133 return (NULL);
|
|
134 }
|
|
135 prprint ("Test of XGetIMValues() is succeeded.\n");
|
|
136 prprint ("Move next test.\n\n");
|
|
137 /* for XGetIMValues success */
|
|
138 fprintf (imfp, "Test of XGetIMValues() is succeeded.\n");
|
|
139 for (cnt = 0, style = ximstyle->supported_styles; cnt < ximstyle->count_styles; cnt++, style++)
|
|
140 fprintf (imfp, "input style : 0x%X\n", *style); /* write values to log file */
|
|
141 #ifdef XML
|
|
142 fprintf (imfp, "You can use languages in this IM : %s\n\n", languages);
|
|
143 #endif /* XML */
|
|
144 XFree (ximstyle);
|
|
145 return (im);
|
|
146 }
|
|
147
|
|
148 void
|
|
149 closeim (im) /* CLOSE IM */
|
|
150 XIM im;
|
|
151 {
|
|
152 XCloseIM (im);
|
|
153 }
|
|
154
|
|
155 void
|
|
156 fclim () /* log File CLose for IM */
|
|
157 {
|
|
158 fclose (imfp);
|
|
159 }
|