From: Kenichi Handa Date: Fri, 10 May 2002 03:55:12 +0000 (+0000) Subject: (struct charset): New member `code_space_mask'. X-Git-Tag: emacs-pretest-23.0.90~8295^2~1864^2~908 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ac6a8028669701ce4836595fe73c8a757cc4ca70;p=emacs.git (struct charset): New member `code_space_mask'. --- diff --git a/src/charset.h b/src/charset.h index 6d8068abd59..4a21d8e2d81 100644 --- a/src/charset.h +++ b/src/charset.h @@ -132,9 +132,20 @@ struct charset /* Dimension of the charset: 1, 2, 3, or 4. */ int dimension; - /* Minimum byte code in each dimension. */ + /* Byte code range of each dimension. [4N] is a mininum + byte code of the (N+1)th dimension, [4N+1] is a + maximum byte code of the (N+1)th dimension, [4N+2] is + ([4N+1] - [4N] + 1), [4N+3] + is a number of characters containd in the first to (N+1)th + dismesions. We get `char-index' of a `code-point' from this + information. */ int code_space[16]; + /* If B is a byte of Nth dimension of a code-point, the (N-1)th bit + of code_space_mask[B] is set. This array is used to quickly + check if a code-point is in a valid range. */ + unsigned char *code_space_mask; + /* 1 if there's no gap in code-points. */ int code_linear_p;