diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2016-12-02 08:06:08 +0200 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2016-12-02 21:48:04 +0000 |
commit | b9fe5dc791f56df55495d171ae901a246907c68b (patch) | |
tree | 04c0d8d0a6582c1af8572f248134064e3b585a6e | |
parent | 2e99aa445679f70f2e686255eac89b732fec5e7a (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.ac | 2 | ||||
-rw-r--r-- | vcl/source/gdi/CommonSalLayout.cxx | 5 |
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) && |