Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:57:27

0001 /* FriBidi
0002  * fribidi-unicode.h - general Unicode definitions
0003  *
0004  * Author:
0005  *   Behdad Esfahbod, 2001, 2002, 2004
0006  *
0007  * Copyright (C) 2004 Sharif FarsiWeb, Inc
0008  * Copyright (C) 2001,2002 Behdad Esfahbod
0009  * 
0010  * This library is free software; you can redistribute it and/or
0011  * modify it under the terms of the GNU Lesser General Public
0012  * License as published by the Free Software Foundation; either
0013  * version 2.1 of the License, or (at your option) any later version.
0014  * 
0015  * This library is distributed in the hope that it will be useful,
0016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0018  * Lesser General Public License for more details.
0019  * 
0020  * You should have received a copy of the GNU Lesser General Public License
0021  * along with this library, in a file named COPYING; if not, write to the
0022  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0023  * Boston, MA 02110-1301, USA
0024  * 
0025  * For licensing issues, contact <fribidi.license@gmail.com>.
0026  */
0027 #ifndef _FRIBIDI_UNICODE_H
0028 #define _FRIBIDI_UNICODE_H
0029 
0030 #include "fribidi-common.h"
0031 
0032 #include "fribidi-types.h"
0033 
0034 #include "fribidi-begindecls.h"
0035 
0036 /* We do not support surrogates yet */
0037 #define FRIBIDI_UNICODE_CHARS   (sizeof(FriBidiChar) >= 4 ? 0x110000 : 0xFFFE)
0038 
0039 /* Unicode version - FRIBIDI_UNICODE_VERSION */
0040 #ifdef DONT_HAVE_FRIBIDI_UNICODE_VERSION_H
0041 # define FRIBIDI_UNICODE_VERSION "unknown"
0042 #else /* !DONT_HAVE_FRIBIDI_UNICODE_VERSION_H */
0043 # include "fribidi-unicode-version.h"
0044 #endif /* !DONT_HAVE_FRIBIDI_UNICODE_VERSION_H */
0045 
0046 /* An string containing the version the Unicode standard implemented,
0047  * in the form of "x.y.z", or "unknown". */
0048 FRIBIDI_ENTRY FRIBIDI_EXTERN const char *fribidi_unicode_version;
0049 
0050 
0051 /* Unicode Bidirectional Algorithm definitions: */
0052 
0053 /* Number of types defined in the bidi algorithm */
0054 #define FRIBIDI_BIDI_NUM_TYPES          19
0055 
0056 /* The maximum embedding level value assigned by explicit marks */
0057 #define FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL     125
0058 
0059 /* The maximum *number* of different resolved embedding levels: 0-126 */
0060 #define FRIBIDI_BIDI_MAX_RESOLVED_LEVELS    127
0061 
0062 /* The maximum *number* of nested brackets: 0-63 */
0063 #define FRIBIDI_BIDI_MAX_NESTED_BRACKET_PAIRS   63
0064 
0065 /* A few Unicode characters: */
0066 
0067 /* Bidirectional marks */
0068 #define FRIBIDI_CHAR_LRM        0x200E
0069 #define FRIBIDI_CHAR_RLM        0x200F
0070 #define FRIBIDI_CHAR_LRE        0x202A
0071 #define FRIBIDI_CHAR_RLE        0x202B
0072 #define FRIBIDI_CHAR_PDF        0x202C
0073 #define FRIBIDI_CHAR_LRO        0x202D
0074 #define FRIBIDI_CHAR_RLO        0x202E
0075 #define FRIBIDI_CHAR_LRI        0x2066
0076 #define FRIBIDI_CHAR_RLI        0x2067
0077 #define FRIBIDI_CHAR_FSI        0x2068
0078 #define FRIBIDI_CHAR_PDI        0x2069
0079 
0080 /* Line and Paragraph Separators */
0081 #define FRIBIDI_CHAR_LS         0x2028
0082 #define FRIBIDI_CHAR_PS         0x2029
0083 
0084 /* Arabic Joining marks */
0085 #define FRIBIDI_CHAR_ZWNJ       0x200C
0086 #define FRIBIDI_CHAR_ZWJ        0x200D
0087 
0088 /* Hebrew and Arabic */
0089 #define FRIBIDI_CHAR_HEBREW_ALEF    0x05D0
0090 #define FRIBIDI_CHAR_ARABIC_ALEF    0x0627
0091 #define FRIBIDI_CHAR_ARABIC_ZERO    0x0660
0092 #define FRIBIDI_CHAR_PERSIAN_ZERO   0x06F0
0093 
0094 /* Misc */
0095 #define FRIBIDI_CHAR_ZWNBSP     0xFEFF
0096 
0097 /* Char we place for a deleted slot, to delete later */
0098 #define FRIBIDI_CHAR_FILL       FRIBIDI_CHAR_ZWNBSP
0099 
0100 #include "fribidi-enddecls.h"
0101 
0102 #endif /* !_FRIBIDI_UNICODE_H */
0103 /* Editor directions:
0104  * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
0105  */