2 |
Copyright (C) 1999 Electrotechnical Laboratory, JAPAN. |
Copyright (C) 1999 Electrotechnical Laboratory, JAPAN. |
3 |
Licensed to the Free Software Foundation. |
Licensed to the Free Software Foundation. |
4 |
Copyright (C) 2001 Free Software Foundation, Inc. |
Copyright (C) 2001 Free Software Foundation, Inc. |
5 |
|
Copyright (C) 2001, 2002 |
6 |
|
National Institute of Advanced Industrial Science and Technology (AIST) |
7 |
|
Registration Number H13PRO009 |
8 |
|
|
9 |
This file is part of GNU Emacs. |
This file is part of GNU Emacs. |
10 |
|
|
26 |
#include <config.h> |
#include <config.h> |
27 |
#include "lisp.h" |
#include "lisp.h" |
28 |
#include "buffer.h" |
#include "buffer.h" |
29 |
#include "charset.h" |
#include "character.h" |
30 |
#include "intervals.h" |
#include "intervals.h" |
31 |
|
|
32 |
/* Emacs uses special text property `composition' to support character |
/* Emacs uses special text property `composition' to support character |
155 |
/* Temporary variable used in macros COMPOSITION_XXX. */ |
/* Temporary variable used in macros COMPOSITION_XXX. */ |
156 |
Lisp_Object composition_temp; |
Lisp_Object composition_temp; |
157 |
|
|
|
/* Return how many columns C will occupy on the screen. It always |
|
|
returns 1 for control characters and 8-bit characters because those |
|
|
are just ignored in a composition. */ |
|
|
#define CHAR_WIDTH(c) \ |
|
|
(SINGLE_BYTE_CHAR_P (c) ? 1 : CHARSET_WIDTH (CHAR_CHARSET (c))) |
|
|
|
|
|
/* The following macros for hash table are copied from fns.c. */ |
|
|
/* Value is the key part of entry IDX in hash table H. */ |
|
|
#define HASH_KEY(H, IDX) AREF ((H)->key_and_value, 2 * (IDX)) |
|
|
/* Value is the value part of entry IDX in hash table H. */ |
|
|
#define HASH_VALUE(H, IDX) AREF ((H)->key_and_value, 2 * (IDX) + 1) |
|
|
|
|
158 |
/* Return COMPOSITION-ID of a composition at buffer position |
/* Return COMPOSITION-ID of a composition at buffer position |
159 |
CHARPOS/BYTEPOS and length NCHARS. The `composition' property of |
CHARPOS/BYTEPOS and length NCHARS. The `composition' property of |
160 |
the sequence is PROP. STRING, if non-nil, is a string that |
the sequence is PROP. STRING, if non-nil, is a string that |