[arch-commits] Commit in freetype2/trunk (3 files)

Andreas Radke andyrtr at gemini.archlinux.org
Sat Aug 21 09:28:09 UTC 2021


    Date: Saturday, August 21, 2021 @ 09:28:08
  Author: andyrtr
Revision: 422436

upgpkg: freetype2 2.11.0-3: fix render bitmap fonts

Added:
  freetype2/trunk/0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch
  freetype2/trunk/0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch
Modified:
  freetype2/trunk/PKGBUILD

-----------------------------------------------------------+
 0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch |   35 ++++++++++
 0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch |   41 ++++++++++++
 PKGBUILD                                                  |   10 ++
 3 files changed, 85 insertions(+), 1 deletion(-)

Added: 0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch
===================================================================
--- 0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch	                        (rev 0)
+++ 0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch	2021-08-21 09:28:08 UTC (rev 422436)
@@ -0,0 +1,35 @@
+From d7f649f283763af099256eb2d5e326df601c3e76 Mon Sep 17 00:00:00 2001
+From: Anuj Verma <anujv at iitbhilai.ac.in>
+Date: Mon, 16 Aug 2021 07:48:09 +0530
+Subject: [PATCH] [sdf] Return `FT_Err_Ok` while trying to render bitmap.
+
+  * src/sdf/ftsdfrend.c (ft_bsdf_render): Return OK if the slot is
+  a bitmap and the render mode is anything other than `FT_RENDER_MODE_SDF`.
+  This is for compatibility reasons.
+
+  Fixes issue #1076
+---
+ src/sdf/ftsdfrend.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/sdf/ftsdfrend.c b/src/sdf/ftsdfrend.c
+index 30f2e62a4..5686c0bf5 100644
+--- a/src/sdf/ftsdfrend.c
++++ b/src/sdf/ftsdfrend.c
+@@ -502,8 +502,11 @@
+     /* check whether render mode is correct */
+     if ( mode != FT_RENDER_MODE_SDF )
+     {
+-      error = FT_THROW( Cannot_Render_Glyph );
+-      goto Exit;
++      FT_TRACE0(( "ft_bsdf_render: trying to render bitmap\n" ));
++
++      /* return OK since the slot is already a bitmap */
++      error = FT_Err_Ok;
++      return error;
+     }
+ 
+     if ( origin )
+-- 
+GitLab
+

Added: 0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch
===================================================================
--- 0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch	                        (rev 0)
+++ 0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch	2021-08-21 09:28:08 UTC (rev 422436)
@@ -0,0 +1,41 @@
+From 6e9d8d314ff6ab23177b9162c0b96616460bb84e Mon Sep 17 00:00:00 2001
+From: Alexei Podtelezhnikov <apodtele at gmail.com>
+Date: Fri, 20 Aug 2021 16:01:32 -0400
+Subject: [PATCH] [base] Restore quiet no-op rendering of bitmap glyphs.
+
+Fixes #1076.
+
+* src/base/ftobjs.c (FT_Render_Glyph_Internal): Discard an error when
+rendering a bitmap glyph.
+---
+ src/base/ftobjs.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
+index 342ac4a27..7b40c6421 100644
+--- a/src/base/ftobjs.c
++++ b/src/base/ftobjs.c
+@@ -4703,7 +4703,7 @@
+         else
+           renderer = FT_Lookup_Renderer( library, slot->format, &node );
+ 
+-        error = FT_ERR( Unimplemented_Feature );
++        error = FT_ERR( Cannot_Render_Glyph );
+         while ( renderer )
+         {
+           error = renderer->render( renderer, slot, render_mode, NULL );
+@@ -4719,6 +4719,11 @@
+           /* format.                                               */
+           renderer = FT_Lookup_Renderer( library, slot->format, &node );
+         }
++
++        /* it is not an error if we cannot render a bitmat glyph */
++        if ( FT_ERR_EQ( error, Cannot_Render_Glyph ) &&
++             slot->format == FT_GLYPH_FORMAT_BITMAP  )
++          error = FT_Err_Ok;
+       }
+     }
+ 
+-- 
+GitLab
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-08-21 08:53:15 UTC (rev 422435)
+++ PKGBUILD	2021-08-21 09:28:08 UTC (rev 422436)
@@ -4,7 +4,7 @@
 pkgbase=freetype2
 pkgname=(freetype2 freetype2-demos freetype2-docs)
 pkgver=2.11.0
-pkgrel=2
+pkgrel=3
 pkgdesc="Font rasterization library"
 url="https://www.freetype.org/"
 arch=(x86_64)
@@ -21,6 +21,8 @@
         0003-Enable-infinality-subpixel-hinting.patch
         0004-Enable-long-PCF-family-names.patch
         0005-ft2-demos-meson-fixes.patch
+        0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch
+        0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch
         freetype2.sh)
 sha256sums=('8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7'
             'SKIP'
@@ -33,6 +35,8 @@
             '561d2f2503d180b796f868470612610f6d7fcb34efa0620ecab38fd39002e27a'
             '9c068a984e7b9a27ff9e709839d522b66815ac4e8c7a5bd4ea0224335f7f2ef6'
             '7b1268c229414bc75c50fa826a0f8d391c15568742bca10afd8c12f0c61e5597'
+            '2b13b8cc9acc3e56be6b0f8102d648864227bf93637bc956d5052c77c8509782'
+            '21a2d243bc6b44d1cdb88ef29af2bd5ceda8d0faaf928bdc2c078a474ddc61f1'
             'f7f8e09c44f7552c883846e9a6a1efc50377c4932234e74adc4a8ff750606467')
 validpgpkeys=(58E0C111E39F5408C5D3EC76C1A60EACE707FDA5) # Werner Lemberg <wl at gnu.org>
 
@@ -42,6 +46,10 @@
   patch -Np1 -i ../0002-Enable-subpixel-rendering.patch
   patch -Np1 -i ../0003-Enable-infinality-subpixel-hinting.patch
   patch -Np1 -i ../0004-Enable-long-PCF-family-names.patch
+  # https://gitlab.freedesktop.org/freetype/freetype/-/issues/1076
+  patch -Np1 -i ../0006-Return_FT_Err_Ok_while_trying_to_render_bitmap.patch
+  patch -Np1 -i ../0007-Restore_quiet_no-op_rendering_of_bitmap_glyphs.patch
+
   ln -sr . ../ft2demos-$pkgver/subprojects/freetype2
   popd
 



More information about the arch-commits mailing list