]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix uni_combining()
authorKhaled Hosny <khaledhosny@eglug.org>
Wed, 12 Sep 2018 09:04:17 +0000 (11:04 +0200)
committerKhaled Hosny <khaledhosny@eglug.org>
Sun, 9 Dec 2018 22:08:50 +0000 (00:08 +0200)
src/ftfont.c

index 46f32e0f5fe87b774c89aeac78d39b5e6067bceb..a645bbf029496cbee1091c4c6a255d71895c4728 100644 (file)
@@ -2690,16 +2690,14 @@ ftfont_variation_glyphs (struct font *font, int c, unsigned variations[256])
 static hb_unicode_combining_class_t
 uni_combining (hb_unicode_funcs_t *funcs, hb_codepoint_t ch, void *user_data)
 {
-  /* FIXME: Is it OK to load the table each time like this? */
-  Lisp_Object table = uniprop_table (intern ("canonical-combining-class"));
-  if (!NILP (table))
-    {
-      /* FIXME: something is wrong here, the classes we are getting do not make
-       * sense. */
-      Lisp_Object combining = CHAR_TABLE_REF (table, ch);
-      if (INTEGERP (combining))
-        return (hb_unicode_combining_class_t) XFIXNUM (combining);
-    }
+  Lisp_Object table, combining;
+
+  /* FIXME: Is it efficient to load the table each time? */
+  table = Funicode_property_table_internal (intern ("canonical-combining-class"));
+  combining = Fget_unicode_property_internal (table, make_fixnum (ch));
+
+  if (INTEGERP (combining))
+    return (hb_unicode_combining_class_t) XFIXNUM (combining);
 
   return HB_UNICODE_COMBINING_CLASS_NOT_REORDERED;
 }