From 9014e05fcb1bdfee3d4a0d10129bd1f9cf6a85ab Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Tue, 5 Jun 2018 12:34:04 +0200 Subject: [PATCH] Allow turning HarfBuzz off at run time Useful for comparing the shaping result with that of m17n. --- src/ftfont.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/ftfont.c b/src/ftfont.c index eb7c5d10e15..d98652f379c 100644 --- a/src/ftfont.c +++ b/src/ftfont.c @@ -2784,14 +2784,19 @@ ftfont_shape (Lisp_Object lgstring) struct font *font = CHECK_FONT_GET_OBJECT (LGSTRING_FONT (lgstring)); struct ftfont_info *ftfont_info = (struct ftfont_info *) font; #ifdef HAVE_HARFBUZZ - return ftfont_shape_by_hb (lgstring, ftfont_info->ft_size->face, - &ftfont_info->matrix); -#else - OTF *otf = ftfont_get_otf (ftfont_info); + if (getenv ("EMACS_NO_HARFBUZZ") == NULL) + { + return ftfont_shape_by_hb (lgstring, ftfont_info->ft_size->face, + &ftfont_info->matrix); + } + else +#endif /* HAVE_HARFBUZZ */ + { + OTF *otf = ftfont_get_otf (ftfont_info); - return ftfont_shape_by_flt (lgstring, font, ftfont_info->ft_size->face, otf, - &ftfont_info->matrix); -#endif + return ftfont_shape_by_flt (lgstring, font, ftfont_info->ft_size->face, + otf, &ftfont_info->matrix); + } } #endif /* defined HAVE_M17N_FLT || defined HAVE_HARFBUZZ */ -- 2.39.2