1 /* 2 * $Id: header.c,v 1.2 2001/06/14 18:16:15 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 * Copyright 1991, 1992 by Massachusetts Institute of Technology 11 * 12 * Author: OMRON SOFTWARE Co., Ltd. <freewnn@rd.kyoto.omronsoft.co.jp> 13 * 14 * This program is free software; you can redistribute it and/or modify 15 * it under the terms of the GNU General Public License as published by 16 * the Free Software Foundation; either version 2, or (at your option) 17 * any later version. 18 * 19 * This program is distributed in the hope that it will be useful, 20 * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 * GNU General Public License for more details. 23 * 24 * You should have received a copy of the GNU General Public License 25 * along with GNU Emacs; see the file COPYING. If not, write to the 26 * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 27 * 28 * Commentary: 29 * 30 * Change log: 31 * 32 * Last modified date: 8,Feb.1999 33 * 34 * Code: 35 * 36 */ 37 /* 38 * Copyright Kyoto University Research Institute for Mathematical Sciences 39 * 1987, 1988, 1989, 1990, 1991, 1992 40 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992 41 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 42 * 43 * Permission to use, copy, modify, distribute, and sell this software 44 * and its documentation for any purpose is hereby granted without fee, 45 * provided that all of the following conditions are satisfied: 46 * 47 * 1) The above copyright notices appear in all copies 48 * 2) Both those copyright notices and this permission notice appear 49 * in supporting documentation 50 * 3) The name of "Wnn" isn't changed unless substantial modifications 51 * are made, or 52 * 3') Following words followed by the above copyright notices appear 53 * in all supporting documentation of software based on "Wnn": 54 * 55 * "This software is based on the original version of Wnn developed by 56 * Kyoto University Research Institute for Mathematical Sciences (KURIMS), 57 * OMRON Corporation and ASTEC Inc." 58 * 59 * 4) The names KURIMS, OMRON and ASTEC not be used in advertising or 60 * publicity pertaining to distribution of the software without 61 * specific, written prior permission 62 * 63 * KURIMS, OMRON and ASTEC make no representations about the suitability 64 * of this software for any purpose. It is provided "as is" without 65 * express or implied warranty. 66 * 67 * Wnn consortium is one of distributors of the official Wnn source code 68 * release. Wnn consortium also makes no representations about the 69 * suitability of this software for any purpose. It is provided "as is" 70 * without express or implied warranty. 71 * 72 * KURIMS, OMRON, ASTEC AND WNN CONSORTIUM DISCLAIM ALL WARRANTIES WITH 73 * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF 74 * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL KURIMS, OMRON, ASTEC OR 75 * WNN CONSORTIUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 76 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 77 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 78 * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 79 * PERFORMANCE OF THIS SOFTWARE. 80 * 81 */ 82 /* Version 4.0 83 */ 84 #include <stdio.h> 85 #include "sdefine.h" 86 #include "xim.h" 87 #include "sheader.h" 88 #include "ext.h" 89 90 int rubout_code = 127; 91 int kk_on = 0; 92 int quote_code = -1; 93 94 char *ximrc_file = NULL; 95 char *cvt_key_file = NULL; 96 char *cvt_fun_file = NULL; 97 char *cvt_meta_file = NULL; 98 int defined_by_option = 0; 99 100 WNN_DIC_INFO *dicinfo; 101 int dic_list_size; 102 103 char *prgname; /* program name (argv[0]) */ 104 105 char *xim_title = NULL; /* title string when henkan-off */ 106 107 char *display_name = NULL; /* display string */ 108 #ifdef USING_XJUTIL 109 char *xjutil_name = NULL; /* xjutil string */ 110 #endif /* USING_XJUTIL */ 111 112 /* 113 * Default env 114 */ 115 char *def_lang; 116 char *def_locale = NULL; 117 char *world_locale = NULL; 118 119 XIMLangDataBase *cur_lang = NULL; 120 121 WnnClientRec *c_c = NULL; 122 XIMClientRec *cur_p = NULL; 123 XIMClientRec *cur_x = NULL; 124 XIMInputRec *cur_input = NULL; 125 XInputManager *xim = NULL; 126 XIMInputList input_list = NULL; 127 WnnClientList wnnclient_list = NULL; 128 XIMClientList ximclient_list = NULL; 129 ReadRkfileList read_rkfile_list = NULL; 130 BoxRec *box_list = NULL; 131 132 Romkan *cur_rk = NULL; 133 RomkanTable *cur_rk_table = NULL; 134 135 char read_rk_file[MAX_LANGS][62]; 136 137 struct msg_cat *cd; 138 139 char *root_def_servername = NULL; 140 char *root_def_reverse_servername = NULL; 141 char *root_username = NULL; 142 Bool root_henkan_off_def = 1; 143 char *root_uumkeyname = NULL; 144 char *root_rkfilename = NULL; 145 146 char *world_lang = NULL; 147 char *arg_string = NULL; 148 149 wchar *wc_buf = NULL; 150 unsigned char *ct_buf = NULL; 151 unsigned char *c_buf = NULL; 152 int wc_buf_max = 0; 153 int ct_buf_max = 0; 154 int c_buf_max = 0; 155 #ifndef X_WCHAR 156 wchar_t *wt_buf = NULL; 157 int wt_buf_max = 0; 158 #endif /* !X_WCHAR */ 159 160 ConvCode cvt_key_tbl[MAX_CVT_ENTRY_CNT]; 161 int cvt_key_tbl_cnt = 0; /* convert table count */ 162 163 XIMLangDataBase *language_db = NULL; 164 XIMLcNameRec *lc_name_list = NULL; 165 166 FunctionTable function_db[] = { 167 {"Normal", 168 NULL, NULL, call_t_redraw_move_normal, 169 call_t_redraw_move_1_normal, call_t_redraw_move_2_normal, 170 call_t_print_l_normal, NULL, char_len_normal, char_q_len_normal, 171 t_redraw_move_normal, t_print_l_normal, c_top_normal, c_end_normal, 172 c_end_normal, NULL, errorkeyin, call_jl_yomi_len}, 173 #ifdef CHINESE 174 {"Yincoding", 175 print_out_yincod, input_yincod, call_t_redraw_move_yincod, 176 call_t_redraw_move_1_yincod, call_t_redraw_move_2_yincod, 177 call_t_print_l_yincod, redraw_when_chmsig_yincod, char_len_yincod, 178 char_q_len_yincod, t_redraw_move_yincod, 179 t_print_l_yincod, c_top_yincod, c_end_yincod, c_end_nobi_yincod, 180 NULL, errorkeyin_q, not_call_jl_yomi_len}, 181 #endif /* CHINESE */ 182 {NULL, 183 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 184 NULL, NULL, NULL, NULL, NULL, NULL} 185 }; 186