emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] harfbuzz 981b3d2 7/7: Fix uni_combining()


From: Khaled Hosny
Subject: [Emacs-diffs] harfbuzz 981b3d2 7/7: Fix uni_combining()
Date: Sun, 9 Dec 2018 17:09:23 -0500 (EST)

branch: harfbuzz
commit 981b3d292aff49452c2b5f0217b57ec1a2829a8b
Author: Khaled Hosny <address@hidden>
Commit: Khaled Hosny <address@hidden>

    Fix uni_combining()
---
 src/ftfont.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/ftfont.c b/src/ftfont.c
index 46f32e0..a645bbf 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -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;
 }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]