のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

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 }