composition rules to tell how to compose (2N+2)th element with
the previously composed 2N glyphs.
- COMPONENTS-VEC -- Vector of integers. In relative composition, the
- elements are characters to be composed. In rule-base
+ COMPONENTS-VEC -- Vector of integers. In a relative composition,
+ the elements are the characters to be composed. In a rule-base
composition, the elements are characters or encoded
composition rules.
get_composition_id checks the validity of `composition' property,
and, if valid, assigns a new ID, registers the information in
composition_hash_table and composition_table, and changes the form
- of the property value. If the property is invalid, return -1
- without changing the property value.
+ of the property value. If the property is invalid,
+ get_composition_id returns -1 without changing the property value.
- We use two tables to keep information about composition;
+ We use two tables to keep the information about composition;
composition_hash_table and composition_table.
- The former is a hash table in which keys are COMPONENTS-VECs and
+ The former is a hash table whose keys are COMPONENTS-VECs and
values are the corresponding COMPOSITION-IDs. This hash table is
weak, but as each key (COMPONENTS-VEC) is also kept as a value of the
`composition' property, it won't be collected as garbage until all
Lisp_Object Qauto_composition_function;
Lisp_Object Vcomposition_function_table;
-/* Maxinum number of characters to lookback to check
- auto-composition. */
+/* Maximum number of characters to look back for
+ auto-compositions. */
#define MAX_AUTO_COMPOSITION_LOOKBACK 3
EXFUN (Fremove_list_of_text_properties, 4);
unsigned char *p;
};
-/* Update the members of POSTION to the next character boundary. */
+/* Update the members of POSITION to the next character boundary. */
#define FORWARD_CHAR(POSITION, STOP) \
do { \
(POSITION).pos++; \
} \
} while (0)
-/* Update the members of POSTION to the previous character boundary. */
+/* Update the members of POSITION to the previous character boundary. */
#define BACKWARD_CHAR(POSITION, STOP) \
do { \
if ((POSITION).pos == STOP) \
}
if (need_adjustment)
{
- /* As we have called Lisp, there's a possibilily that
+ /* As we have called Lisp, there's a possibility that
buffer/string is relocated. */
if (NILP (string))
cur.p = BYTE_POS_ADDR (cur.pos_byte);