[pango/fix-spaceless-fonts] Fix handling of space-less fonts
- From: Matthias Clasen <matthiasc src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [pango/fix-spaceless-fonts] Fix handling of space-less fonts
 
- Date: Thu, 16 Dec 2021 13:40:51 +0000 (UTC)
 
commit a0b5b6bb1ee81b25f2880b66b1764df466c5f9b1
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Dec 16 08:40:07 2021 -0500
    Fix handling of space-less fonts
    
    HarfBuzz knows how to synthesize spaces, we just
    need to tickle it in the right way.
    
    Fixes: #641
 pango/shape.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
---
diff --git a/pango/shape.c b/pango/shape.c
index 45c979f2..d0140d5e 100644
--- a/pango/shape.c
+++ b/pango/shape.c
@@ -137,10 +137,18 @@ pango_hb_font_get_nominal_glyph (hb_font_t      *font,
   if (hb_font_get_nominal_glyph (context->parent, unicode, glyph))
     return TRUE;
 
+  /* HarfBuzz knows how to synthesize spaces, so never replace them
+   * with unknown glyphs, but we do need to tell HarfBuzz that the
+   * font does not have a glyph.
+   */
+  if (g_unichar_type (unicode) == G_UNICODE_SPACE_SEPARATOR)
+    return FALSE;
+
   *glyph = PANGO_GET_UNKNOWN_GLYPH (unicode);
 
   /* We draw our own invalid-Unicode shape, so prevent HarfBuzz
-   * from using REPLACEMENT CHARACTER. */
+   * from using REPLACEMENT CHARACTER.
+   */
   if (unicode > 0x10FFFF)
     return TRUE;
 
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]