summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2016-12-02 08:06:08 +0200
committerKhaled Hosny <khaledhosny@eglug.org>2016-12-02 21:48:04 +0000
commitb9fe5dc791f56df55495d171ae901a246907c68b (patch)
tree04c0d8d0a6582c1af8572f248134064e3b585a6e
parent2e99aa445679f70f2e686255eac89b732fec5e7a (diff)
Require HarfBuzz 0.9.42
This is the first version where hb_buffer_set_cluster_level() was introduced. The layout engine depends on this feature in a few places and though we can build without it, the result will be wrong in some cases (i.e. any where we assume combining marks will have their own cluster number). Change-Id: I89187f317052e7933b83ad0350cace239333510b Reviewed-on: https://gerrit.libreoffice.org/31521 Reviewed-by: Rene Engelhard <rene@debian.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org> Tested-by: Khaled Hosny <khaledhosny@eglug.org>
-rw-r--r--configure.ac2
-rw-r--r--vcl/source/gdi/CommonSalLayout.cxx5
2 files changed, 2 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac
index e941aeb178f6..66e0bec08112 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9247,7 +9247,7 @@ libo_CHECK_SYSTEM_MODULE([graphite],[GRAPHITE],[graphite2 >= 0.9.3],
["-I${WORKDIR}/UnpackedTarball/graphite/include -DGRAPHITE2_STATIC"],
["-L${WORKDIR}/LinkTarget/StaticLibrary -lgraphite"])
-libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz-icu >= 0.9.18],
+libo_CHECK_SYSTEM_MODULE([harfbuzz],[HARFBUZZ],[harfbuzz-icu >= 0.9.42],
["-I${WORKDIR}/UnpackedTarball/harfbuzz/src"],
["-L${WORKDIR}/UnpackedTarball/harfbuzz/src/.libs -lharfbuzz"])
diff --git a/vcl/source/gdi/CommonSalLayout.cxx b/vcl/source/gdi/CommonSalLayout.cxx
index c61e540c0be9..eda090fd24fb 100644
--- a/vcl/source/gdi/CommonSalLayout.cxx
+++ b/vcl/source/gdi/CommonSalLayout.cxx
@@ -551,9 +551,8 @@ bool CommonSalLayout::LayoutText(ImplLayoutArgs& rArgs)
hb_buffer_add_utf16(
pHbBuffer, reinterpret_cast<uint16_t const *>(pStr), nLength,
nMinRunPos, nRunLen);
-#if HB_VERSION_ATLEAST(0, 9, 42)
hb_buffer_set_cluster_level(pHbBuffer, HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS);
-#endif
+
// The shapers that we want HarfBuzz to use, in the order of
// preference. The coretext_aat shaper is available only on macOS,
// but there is no harm in always including it, HarfBuzz will
@@ -598,10 +597,8 @@ bool CommonSalLayout::LayoutText(ImplLayoutArgs& rArgs)
sal_Int32 indexUtf16 = nCharPos;
sal_UCS4 aChar = rArgs.mrStr.iterateCodePoints(&indexUtf16, 0);
-#if HB_VERSION_ATLEAST(0, 9, 42)
if (u_getIntPropertyValue(aChar, UCHAR_GENERAL_CATEGORY) == U_NON_SPACING_MARK)
nGlyphFlags |= GlyphItem::IS_DIACRITIC;
-#endif
if ((aSubRun.maScript == HB_SCRIPT_ARABIC ||
aSubRun.maScript == HB_SCRIPT_SYRIAC) &&