|
||||
File indexing completed on 2025-01-18 09:57:27
0001 /* FriBidi 0002 * fribidi-shape.h - shaping 0003 * 0004 * Author: 0005 * Behdad Esfahbod, 2004, 2005 0006 * 0007 * Copyright (C) 2004 Sharif FarsiWeb, Inc 0008 * Copyright (C) 2004, 2005 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_SHAPE_H 0028 #define _FRIBIDI_SHAPE_H 0029 0030 #include "fribidi-types.h" 0031 #include "fribidi-flags.h" 0032 #include "fribidi-bidi-types.h" 0033 #include "fribidi-joining-types.h" 0034 0035 #include "fribidi-begindecls.h" 0036 0037 0038 /* fribidi_shape - do bidi-aware shaping 0039 * 0040 * This function does all shaping work that depends on the resolved embedding 0041 * levels of the characters. Currently it does mirroring and Arabic shaping, 0042 * but the list may grow in the future. This function is a wrapper around 0043 * fribidi_shape_mirroring and fribidi_shape_arabic. 0044 * 0045 * The flags parameter specifies which shapings are applied. The only flags 0046 * affecting the functionality of this function are those beginning with 0047 * FRIBIDI_FLAG_SHAPE_. Of these, only FRIBIDI_FLAG_SHAPE_MIRRORING is on 0048 * in FRIBIDI_FLAGS_DEFAULT. For details of the Arabic-specific flags see 0049 * fribidi_shape_arabic. If ar_props is NULL, no Arabic shaping is performed. 0050 * 0051 * Feel free to do your own shaping before or after calling this function, 0052 * but you should take care of embedding levels yourself then. 0053 */ 0054 FRIBIDI_ENTRY void fribidi_shape ( 0055 FriBidiFlags flags, /* shaping flags */ 0056 const FriBidiLevel *embedding_levels, /* input list of embedding 0057 levels, as returned by 0058 fribidi_get_par_embedding_levels */ 0059 const FriBidiStrIndex len, /* input string length */ 0060 FriBidiArabicProp *ar_props, /* input/output Arabic properties as 0061 * computed by fribidi_join_arabic */ 0062 FriBidiChar *str /* string to shape */ 0063 ); 0064 0065 0066 #include "fribidi-enddecls.h" 0067 0068 #endif /* !_FRIBIDI_SHAPE_H */ 0069 /* Editor directions: 0070 * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent 0071 */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |