Fix missing Unicode functions with HarfBuzz 2.5.0

Khaled Hosny dr.khaled.hosny at gmail.com
Thu May 30 02:04:33 CEST 2019


Hi all,

After the updating HarfBuzz to 2.5.0 the shaping is broken in HarfTeX,
which was caused by missing Unicode functions because TeX Live build
defines HB_NO_UNICODE_FUNCS.

HarfBuzz 2.5.0 always prefers its own built-in Unicode functions, but
when HB_NO_UNICODE_FUNCS is defined it will not set any Unicode
functions at all.

This wasn’t an issue in previous releases because when HAVE_ICU and
HAVE_ICU_BUILTIN were defined it would still use ICU Unicode functions
even if HB_NO_UNICODE_FUNCS was defined.

I think TeX Live build was defining HB_NO_UNICODE_FUNCS because it
wasn’t initially defining HAVE_ICU_BUILTIN and thus the build would
error because no Unicode functions were defined, but this was not needed
after defining HAVE_ICU_BUILTIN.

Next step is to drop the ICU dependency from HarfBuzz and fix XeTeX to
not require it as HarfBuzz’s own Unicode functions should be enough, but
that is another patch.

Regards,
Khaled
-------------- next part --------------
diff --git a/libs/harfbuzz/Makefile.am b/libs/harfbuzz/Makefile.am
index e28b73ac7..b038896d3 100644
--- a/libs/harfbuzz/Makefile.am
+++ b/libs/harfbuzz/Makefile.am
@@ -27,7 +27,7 @@ SUBDIRS = . include
 noinst_LIBRARIES = libharfbuzz.a
 
 ## common
-AM_CPPFLAGS = -DHB_NO_MT -DHB_NO_UNICODE_FUNCS -DHAVE_FALLBACK=1 \
+AM_CPPFLAGS = -DHB_NO_MT -DHAVE_FALLBACK=1 \
 	-I$(top_srcdir)/$(HARFBUZZ_SRC)
 libharfbuzz_dependencies =
 libharfbuzz_a_SOURCES =  \
diff --git a/libs/harfbuzz/Makefile.in b/libs/harfbuzz/Makefile.in
index 900050ef9..5e51044d2 100644
--- a/libs/harfbuzz/Makefile.in
+++ b/libs/harfbuzz/Makefile.in
@@ -710,7 +710,7 @@ NEVER_NAMES_SUB = -o -name .deps -o -name .dirstamp -o -name '*.$(OBJEXT)'
 NEVER_NAMES_LT = -o -name .libs -o -name '*.lo'
 SUBDIRS = . include
 noinst_LIBRARIES = libharfbuzz.a
-AM_CPPFLAGS = -DHB_NO_MT -DHB_NO_UNICODE_FUNCS -DHAVE_FALLBACK=1 \
+AM_CPPFLAGS = -DHB_NO_MT -DHAVE_FALLBACK=1 \
 	-I$(top_srcdir)/$(HARFBUZZ_SRC) $(ICU_INCLUDES) \
 	$(GRAPHITE2_INCLUDES)
 libharfbuzz_dependencies = $(ICU_DEPEND) $(GRAPHITE2_DEPEND)


More information about the tex-live mailing list