comparison src/composite.h @ 89483:2f877ed80fa6

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Mon, 08 Sep 2003 12:53:41 +0000
parents 375f2633d815 309b9e0cb0c8
children 24f632d28cd6
comparison
equal deleted inserted replaced
88123:375f2633d815 89483:2f877ed80fa6
1 /* Header for composite sequence handler. 1 /* Header for composite sequence handler.
2 Copyright (C) 1999 Electrotechnical Laboratory, JAPAN. 2 Copyright (C) 1999 Electrotechnical Laboratory, JAPAN.
3 Licensed to the Free Software Foundation. 3 Licensed to the Free Software Foundation.
4 Copyright (C) 2001 Free Software Foundation, Inc. 4 Copyright (C) 2001 Free Software Foundation, Inc.
5 Copyright (C) 2003
6 National Institute of Advanced Industrial Science and Technology (AIST)
7 Registration Number H13PRO009
5 8
6 This file is part of GNU Emacs. 9 This file is part of GNU Emacs.
7 10
8 GNU Emacs is free software; you can redistribute it and/or modify 11 GNU Emacs is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by 12 it under the terms of the GNU General Public License as published by
23 #ifndef EMACS_COMPOSITE_H 26 #ifndef EMACS_COMPOSITE_H
24 #define EMACS_COMPOSITE_H 27 #define EMACS_COMPOSITE_H
25 28
26 /* Methods to display a sequence of components a composition. */ 29 /* Methods to display a sequence of components a composition. */
27 enum composition_method { 30 enum composition_method {
28 /* The first two are actually not methods, but used in code
29 conversion to specify the current composing status. */
30 COMPOSITION_DISABLED, /* Never handle composition data */
31 COMPOSITION_NO, /* Not processing composition data */
32 /* Compose relatively without alternate characters. */ 31 /* Compose relatively without alternate characters. */
33 COMPOSITION_RELATIVE, 32 COMPOSITION_RELATIVE,
34 /* Compose by specified composition rule. This is not used in Emacs 33 /* Compose by specified composition rules. This is not used in
35 21 but we need it to decode files saved in the older versions of 34 Emacs 21 but we need it to decode files saved in the older
36 Emacs. */ 35 versions of Emacs. */
37 COMPOSITION_WITH_RULE, 36 COMPOSITION_WITH_RULE,
38 /* Compose relatively with alternate characters. */ 37 /* Compose relatively with alternate characters. */
39 COMPOSITION_WITH_ALTCHARS, 38 COMPOSITION_WITH_ALTCHARS,
40 /* Compose by specified composition rule with alternate characters. */ 39 /* Compose by specified composition rules with alternate characters. */
41 COMPOSITION_WITH_RULE_ALTCHARS 40 COMPOSITION_WITH_RULE_ALTCHARS,
41 /* This is not a method. */
42 COMPOSITION_NO
42 }; 43 };
43 44
44 /* Maximum number of compoments a single composition can have. */ 45 /* Maximum number of compoments a single composition can have. */
45 #define MAX_COMPOSITION_COMPONENTS 16 46 #define MAX_COMPOSITION_COMPONENTS 16
46 47
196 #define CHECK_BORDER (CHECK_HEAD | CHECK_TAIL) 197 #define CHECK_BORDER (CHECK_HEAD | CHECK_TAIL)
197 #define CHECK_ALL (CHECK_BORDER | CHECK_INSIDE) 198 #define CHECK_ALL (CHECK_BORDER | CHECK_INSIDE)
198 199
199 extern Lisp_Object Qcomposition; 200 extern Lisp_Object Qcomposition;
200 extern Lisp_Object composition_hash_table; 201 extern Lisp_Object composition_hash_table;
202 extern Lisp_Object Qauto_composed;
203 extern Lisp_Object Vauto_composition_function;
204 extern Lisp_Object Qauto_composition_function;
201 205
202 extern int get_composition_id P_ ((int, int, int, Lisp_Object, Lisp_Object)); 206 extern int get_composition_id P_ ((int, int, int, Lisp_Object, Lisp_Object));
203 extern int find_composition P_ ((int, int, int *, int *, Lisp_Object *, 207 extern int find_composition P_ ((int, int, int *, int *, Lisp_Object *,
204 Lisp_Object)); 208 Lisp_Object));
205 extern void update_compositions P_ ((int, int, int)); 209 extern void update_compositions P_ ((int, int, int));