|
||||
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 */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |