|
||||
File indexing completed on 2025-01-18 09:57:27
0001 /* fribidi-mirroring.h - get mirrored character 0002 * 0003 * Copyright (C) 2004 Sharif FarsiWeb, Inc 0004 * Copyright (C) 2001, 2002, 2004 Behdad Esfahbod 0005 * Copyright (C) 1999, 2000, 2017 Dov Grobgeld 0006 * 0007 * This file is part of GNU FriBidi. 0008 * 0009 * GNU FriBidi is free software; you can redistribute it and/or 0010 * modify it under the terms of the GNU Lesser General Public License 0011 * as published by the Free Software Foundation; either version 2.1 0012 * of the License, or (at your option) any later version. 0013 * 0014 * GNU FriBidi is distributed in the hope that it will be useful, 0015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0017 * GNU Lesser General Public License for more details. 0018 * 0019 * You should have received a copy of the GNU Lesser General Public License 0020 * along with GNU FriBidi; if not, write to the Free Software 0021 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 0022 * 0023 * For licensing issues, contact <fribidi.license@gmail.com> or write to 0024 * Sharif FarsiWeb, Inc., PO Box 13445-389, Tehran, Iran. 0025 * 0026 * Author(s): 0027 * Behdad Esfahbod, 2001, 2002, 2004 0028 * Dov Grobgeld, 1999, 2000 0029 */ 0030 #ifndef _FRIBIDI_MIRRORING_H 0031 #define _FRIBIDI_MIRRORING_H 0032 0033 #include "fribidi-common.h" 0034 0035 #include "fribidi-types.h" 0036 #include "fribidi-bidi-types.h" 0037 0038 #include "fribidi-begindecls.h" 0039 0040 /* fribidi_get_mirror_char - get mirrored character 0041 * 0042 * This function finds the mirrored equivalent of a character as defined in 0043 * the file BidiMirroring.txt of the Unicode Character Database available at 0044 * http://www.unicode.org/Public/UNIDATA/BidiMirroring.txt. 0045 * 0046 * If the input character is a declared as a mirroring character in the 0047 * Unicode standard and has a mirrored equivalent. The matching mirrored 0048 * character is put in the output, otherwise the input character itself is 0049 * put. 0050 * 0051 * Returns: if the character has a mirroring equivalent or not. 0052 */ 0053 FRIBIDI_ENTRY fribidi_boolean fribidi_get_mirror_char ( 0054 FriBidiChar ch, /* input character */ 0055 FriBidiChar *mirrored_ch /* output mirrored character */ 0056 ); 0057 0058 /* fribidi_shape_mirroring - do mirroring shaping 0059 * 0060 * This functions replaces mirroring characters on right-to-left embeddings in 0061 * string with their mirrored equivalent as returned by 0062 * fribidi_get_mirror_char(). 0063 * 0064 * This function implements rule L4 of the Unicode Bidirectional Algorithm 0065 * available at http://www.unicode.org/reports/tr9/#L4. 0066 */ 0067 FRIBIDI_ENTRY void fribidi_shape_mirroring ( 0068 const FriBidiLevel *embedding_levels, /* input list of embedding 0069 levels, as returned by 0070 fribidi_get_par_embedding_levels */ 0071 const FriBidiStrIndex len, /* input string length */ 0072 FriBidiChar *str /* string to shape */ 0073 ); 0074 0075 #include "fribidi-enddecls.h" 0076 0077 #endif /* !_FRIBIDI_MIRRORING_H */ 0078 /* Editor directions: 0079 * Local Variables: 0080 * mode: c 0081 * c-basic-offset: 2 0082 * indent-tabs-mode: t 0083 * tab-width: 8 0084 * End: 0085 * vim: textwidth=78: autoindent: cindent: shiftwidth=2: tabstop=8: 0086 */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |