pango_find_base_dir
946 PangoDirection 947 pango_find_base_dir (const gchar *text, 948 gint length) 949 { 950 PangoDirection dir = PANGO_DIRECTION_NEUTRAL; 951 const gchar *p; 952 953 g_return_val_if_fail (text != NULL || length == 0, PANGO_DIRECTION_NEUTRAL); 954 955 p = text; 956 while ((length < 0 || p < text + length) && *p) 957 { 958 gunichar wc = g_utf8_get_char (p); 959 960 dir = pango_unichar_direction (wc); 961 962 if (dir != PANGO_DIRECTION_NEUTRAL) 963 break; 964 965 p = g_utf8_next_char (p); 966 } 967 968 return dir; 969 } 970
187 PangoDirection 188 pango_unichar_direction (gunichar ch) 189 { 190 FriBidiCharType fribidi_ch_type = fribidi_get_type (ch); 191 192 if (!FRIBIDI_IS_STRONG (fribidi_ch_type)) 193 return PANGO_DIRECTION_NEUTRAL; 194 else if (FRIBIDI_IS_RTL (fribidi_ch_type)) 195 return PANGO_DIRECTION_RTL; 196 else 197 return PANGO_DIRECTION_LTR; 198 } 199
22 #define fribidi_get_type _pango_fribidi_get_type <=この関数は、存在しなかった。 23 #define fribidi_get_type_internal fribidi_get_type
_pango_fribidi_get_type>>fribidi_get_type>>fribidi_get_type_internal
5856 FRIBIDI_API FriBidiCharType 5857 fribidi_get_type_internal (FriBidiChar uch) 5858 { 5859 return fribidi_prop_to_type[FRIBIDI_GET_BIDI_TYPE (uch)]; 5860 }