comparison src/text.c @ 3498:b03fc4eae965

[xemacs-hg @ 2006-07-08 16:15:54 by aidan] Fix a Mule build failure, update comments.
author aidan
date Sat, 08 Jul 2006 16:15:57 +0000
parents 6c7605dfcf07
children f6cd5fe9bf4c
comparison
equal deleted inserted replaced
3497:45671f160bd5 3498:b03fc4eae965
213 composite characters under Mule would decrease the number 213 composite characters under Mule would decrease the number
214 of possible faces that can exist. Mule already has shrunk 214 of possible faces that can exist. Mule already has shrunk
215 this to 2048, and further shrinkage would become uncomfortable. 215 this to 2048, and further shrinkage would become uncomfortable.
216 No such problems exist in XEmacs. 216 No such problems exist in XEmacs.
217 217
218 Composite characters could be represented as 0x8D C1 C2 C3, 218 Composite characters could be represented as 0x8D C1 C2 C3, where each
219 where each C[1-3] is in the range 0xA0 - 0xFF. This allows 219 C[1-3] is in the range 0xA0 - 0xFF. This allows for slightly under
220 for slightly under 2^20 (one million) composite characters 220 2^20 (one million) composite characters over the XEmacs process
221 over the XEmacs process lifetime, and you only need to 221 lifetime. Or you could use 0x8D C1 C2 C3 C4, allowing for about 85
222 increase the size of a Mule character from 19 to 21 bits. 222 million (slightly over 2^26) composite characters.
223 Or you could use 0x8D C1 C2 C3 C4, allowing for about
224 85 million (slightly over 2^26) composite characters.
225 223
226 ========================================================================== 224 ==========================================================================
227 10. Internal API's 225 10. Internal API's
228 ========================================================================== 226 ==========================================================================
229 227
4693 int 4691 int
4694 non_ascii_valid_ichar_p (Ichar ch) 4692 non_ascii_valid_ichar_p (Ichar ch)
4695 { 4693 {
4696 int f1, f2, f3; 4694 int f1, f2, f3;
4697 4695
4698 /* Must have only lowest 19 bits set */ 4696 /* Must have only lowest 21 bits set */
4699 if (ch & ~0x7FFFF) 4697 if (ch & ~0x1FFFFF)
4700 return 0; 4698 return 0;
4701 4699
4702 f1 = ichar_field1 (ch); 4700 f1 = ichar_field1 (ch);
4703 f2 = ichar_field2 (ch); 4701 f2 = ichar_field2 (ch);
4704 f3 = ichar_field3 (ch); 4702 f3 = ichar_field3 (ch);