Mercurial > freewnn
diff Xwnmo/test/chkim.c @ 0:bbc77ca4def5
initial import
author | Yoshiki Yazawa <yaz@cc.rim.or.jp> |
---|---|
date | Thu, 13 Dec 2007 04:30:14 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Xwnmo/test/chkim.c Thu Dec 13 04:30:14 2007 +0900 @@ -0,0 +1,159 @@ +/* + * $Id: chkim.c,v 1.2 2001/06/14 18:16:11 ura Exp $ + */ + +/* + * FreeWnn is a network-extensible Kana-to-Kanji conversion system. + * This file is part of FreeWnn. + * + * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 + * + * Author: OMRON SOFTWARE Co., Ltd. <freewnn@rd.kyoto.omronsoft.co.jp> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Emacs; see the file COPYING. If not, write to the + * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Commentary: + * + * Change log: + * + * Last modified date: 8,Feb.1999 + * + * Code: + * + */ + +/* + * X11R5 Input Method Test Program + * chkim.c v 1.0 Tue Mar 5 16:18:15 JST 1991 + */ + +/* + * Author: Takashi Inoue OMRON Corporation + * takashi@ari.ncl.omron.co.jp + * + * Shoji kamada OMRON Corporation + * kamada@ari.ncl.omron.co.jp + */ + +#include "exvalue.h" +#include "func.h" + +#include <stdio.h> +#include <X11/IntrinsicP.h> +#include <X11/Xresource.h> + +/* *INDENT-OFF* */ +XIM +openim (lfdir, flag) /* check of XOpenIM */ + char *lfdir; + FLAG *flag; +/* *INDENT-ON* */ +{ + XIM im; + char *home; + char logfile[MAX_BUF]; + char dbsrc[MAX_BUF]; + XrmDatabase rdb; + XIMStyles *ximstyle; + XIMStyle *style; +#ifdef XML + char *languages; +#endif /* XML */ + int cnt; + + char *getenv (); + + prmode ("X11R5 Input Method Test Program : <<IM Mode>>"); + prstatus ("Creating log file for im..."); /* open log file for IM test */ + sprintf (logfile, "%s/tim.log", lfdir); + imfp = fopen (logfile, "w"); + prstatus ("done."); + if (imfp == NULL) + { + cls (prdisp); + prerrld (logfile); + } + + prstatus ("Creating resource database..."); /* create resource database */ + home = getenv ("HOME"); + sprintf (dbsrc, "%s/.Xdefaults", home); + rdb = XrmGetFileDatabase (dbsrc); + prstatus ("done."); + + prstatus ("Creating input method..."); /* open IM */ + im = XOpenIM (dpy, rdb, "xim", "XIM"); + prstatus ("done."); + cls (prdisp); + if (im == NULL) + { /* for XOpenIM error */ + prprint ("Test of XOpenIM() is failed.\n\n"); + prprint ("Check environmental valuable \"XNLSPATH\"\n\n"); + prprint ("and make sure to run \"xwnmo\".\n\n"); + prprint ("This program will shutdown soon.\n\n"); + fprintf (imfp, "Test of XOpenIM() is failed.\n"); + fprintf (imfp, "\"NULL\" returned.\n\n"); + *flag = OPIMERR; + return (im); + } + prprint ("Test of XOpenIM() is succeeded.\n"); /* for XOpenIM success */ + prprint ("Move next test.\n\n"); + fprintf (imfp, "Test of XOpenIM() is succeeded.\n"); + fprintf (imfp, "im : 0x%X\n\n", im); + +#ifdef XML + languages = 0; /* initialization of valuables */ +#endif /* XML */ + prstatus ("Test of XGetIMValues()..."); /* test of XGetIMValues */ + XGetIMValues (im, XNQueryInputStyle, &ximstyle, +#ifdef XML + XNQueryLanguage, &languages, +#endif /* XML */ + NULL); + prstatus ("done."); + if (ximstyle->count_styles == 0) + { /* for XGetIMValues error */ + prprint ("Test of XGetIMValues() is failed.\n"); + prprint ("This program will shutdown soon.\n\n"); + fprintf (imfp, "Test of XGetIMValues() is failed. "); + fprintf (imfp, "ximstyle returned \"NULL\".\n\n"); + *flag = GIMERR; + XFree (ximstyle); + return (NULL); + } + prprint ("Test of XGetIMValues() is succeeded.\n"); + prprint ("Move next test.\n\n"); + /* for XGetIMValues success */ + fprintf (imfp, "Test of XGetIMValues() is succeeded.\n"); + for (cnt = 0, style = ximstyle->supported_styles; cnt < ximstyle->count_styles; cnt++, style++) + fprintf (imfp, "input style : 0x%X\n", *style); /* write values to log file */ +#ifdef XML + fprintf (imfp, "You can use languages in this IM : %s\n\n", languages); +#endif /* XML */ + XFree (ximstyle); + return (im); +} + +void +closeim (im) /* CLOSE IM */ + XIM im; +{ + XCloseIM (im); +} + +void +fclim () /* log File CLose for IM */ +{ + fclose (imfp); +}