summaryrefslogtreecommitdiff
path: root/external/harfbuzz
AgeCommit message (Collapse)Author
2018-11-13android: harfbuzz refuses to compile using mmap.Michael Meeks
Not ideal not to use mmap on a small device though, but disable for now. Change-Id: Id595cbc87c93679c1ce186f91ad36a961aee4132 Reviewed-on: https://gerrit.libreoffice.org/63342 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-11-01gbuild: rename value OS=IOS to OS=iOSMichael Stahl
This gets rid of the horrible hack in gbuild.mk to accomodate the case-incorrect iOS platform makefiles that cannot be renamed without upsetting git on file systems that sadly lack the case sensitivity feature. Keep the macro defined to IOS though. Change-Id: I1022bfef4900da00e75fc1ccce786b20f8673234 Reviewed-on: https://gerrit.libreoffice.org/62705 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-08-27Make harfbuzz build for iOSTor Lillqvist
Change-Id: Ifc28ac50a453eef8aa2f31d02ac513db0222eb4e
2018-07-30harfbuzz-rtti.patch doesn't applyCaolán McNamara
Change-Id: Ia634c008799793f3a54354a3f7fc13446f7db3c5 Reviewed-on: https://gerrit.libreoffice.org/58302 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-29upgrade the internal harfbuzz to 1.8.4Tomaž Vajngerl
Change-Id: I127cf3fa3ae00e91c73114e1a1915ea614924819 Reviewed-on: https://gerrit.libreoffice.org/57771 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-01-17Adapt external/harfbuzz/ubsan.patchStephan Bergmann
...to 3b773d5b41628c1ccf52bdd0d7962183d54c4138 "Upload HarfBuzz 1.7.4" Change-Id: I07459c9e03a4cd68a600150964a4e5358b559766
2018-01-16Upload HarfBuzz 1.7.4Khaled Hosny
Change-Id: I7dd1f87dc95d0fb190755a8742d28ef8679d7b1e Reviewed-on: https://gerrit.libreoffice.org/47897 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2017-11-15Adpat external/harfbuzz/harfbuzz-rtti.patchStephan Bergmann
...to 7e56dce9efa7184e522c83130dcf79d894488657 "tdf#105992: Upload HarfBuzz 1.7.0" Change-Id: Ia13d406ae78edb3b431716ae7e2044c483430c6e
2017-11-15tdf#105992: Upload HarfBuzz 1.7.0Khaled Hosny
This release supports old-style kern table in the code path we are using in CommonLayout. Change-Id: Id20e6fe1cfe98ef65b8fa4a5627f6246cbac54a6 Reviewed-on: https://gerrit.libreoffice.org/44693 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2017-11-13Resurrect still relevant part of external/harfbuzz/ubsan.patchStephan Bergmann
...after 945c10f42fe6d22031e7424b47481ac2cfb539be "upload harfbuzz 1.6.3" had dropped it completely. Still necessary to e.g. avoid "runtime error: index 3 out of bounds for type 'OT::LongMetric const[1]'" during CppunitTest_emfio_wmf. Change-Id: Idd93f6224f7e43016a71678bcaf5cc0527f95cee
2017-11-10fix buildCaolán McNamara
Change-Id: I9fc79d2fc68cc0471fe6b8485a5fa62a1b81172a
2017-11-09upload harfbuzz 1.6.3David Tardon
Change-Id: Ib9920366ba32774d1e96f9dfde201975c322e6f5 Reviewed-on: https://gerrit.libreoffice.org/44540 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2017-11-09harfbuzz: update autoconf configs the gbuild wayDavid Tardon
Change-Id: Ie89e2888bdd28d4836ab1f01827612360c267808 Reviewed-on: https://gerrit.libreoffice.org/44539 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2017-08-16Re-add external/harfbuzz/ubsan.patchStephan Bergmann
...after 5aab2900dfdc9f12adda378470149670a2a069df "tdf#109142: Update to HarfBuzz 1.4.8". The parts that were still relevant for 'make check' are: * 6694ce6b542367074667e4445a6b7f50568a2729 "external/harfbuzz: Work around ASan out of bounds warning" * 99f7aacd5b39a0f79351d8d7568b2e43d39878cb "external/harfbuzz: -fsanitize=function" * ca9a08bbf7d42727a93b5f725784308a3590c0fe "external/harfbuzz: Silence -fsanitize=nonnull-attribute" (plus 83a9c8e046dfcaccdb1114ec5a386a11fcca3a02 "build fix") Change-Id: Ibff2a7c52c5de60ae00744acd2ef481bbb08706c
2017-08-15tdf#109142: Update to HarfBuzz 1.4.8Khaled Hosny
Should fix the Tibetan long U issue. Also reverts this commit as depending on auto-detection for a required feature is not a very good idea. The underlying issue is fixed upstream: commit 5985bed1764358a515c378c80bb60b4d35bad6b1 Author: jan Iversen <jani@libreoffice.org> Date: Mon Jun 12 14:51:42 2017 +0200 iOS, harfbuzz libcoretext not found changed --with-libcoretext from "yes" to "auto" for IOS and MACOSX which seems to be a misguided attemp to fix the build breakage introduced in: commit b3559e5c6ce036b1a4fe96c0ffc935e0c94a7b10 Author: jan Iversen <jani@libreoffice.org> Date: Sun Jun 11 19:35:53 2017 +0200 iOS, patch harfbuzz Add support for arm64 Also had to drop ubsan.patch as it no longer applies, hopefully it is no longer needed, otherwise it is always good idea to submit such patches upstream. Change-Id: I91643c542c0a5a00f36d5564052787eedef8c9cf Reviewed-on: https://gerrit.libreoffice.org/41124 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-06-22--enable-optimized should be orthogonal to --enable-debug/--enable-dbgutilStephan Bergmann
Change-Id: I277f30129560ea9fa76d6439a60bb191358df99d Reviewed-on: https://gerrit.libreoffice.org/39088 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-06-12iOS, harfbuzz libcoretext not foundjan Iversen
changed --with-libcoretext from "yes" to "auto" for IOS and MACOSX Change-Id: I032ad9975413709fdfaead745b63e04f0e0db27e
2017-06-12iOS, patch harfbuzzjan Iversen
Add support for arm64 Change-Id: Icfc47b0c3b600ea3d26c40741c933028e8e9c47d
2017-04-26Upgrade to ICU 59.1Eike Rathke
Also regenerated all patches using make icu.genpatch (hence the .1 suffix that indicates the path level) as some hunks did not apply anyway and all now have the correct offset. Using genpatch may have the future benefit to yield smaller diffs between different versions of patches. Also prefixed all patch names with icu4c- for a cleaner listing. New patches introduced are prefixed with icu4c-59-... Change-Id: Ia83754b0823839887fce1a1d4ed04f8375b113c2 Reviewed-on: https://gerrit.libreoffice.org/36809 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-02-02workaround libtool library name subst.David Tardon
When libtool links a library with another libtool-based library, it replaces -lfoo by path to installed foo, like $foo-libdir/libfoo.la. harfbuzz would be installed to /usr/local/lib by default, therefore libtool replaces -lharfbuzz by /usr/local/lib/libharfbuzz.la in libfreetype.la, which causes a failure (nonexistent file) when building fontconfig... Change-Id: Ie2510034e69803af084dd90671fdbc8f6863fcf2
2016-12-30build fixJochen Nitschke
apparently harfbuzz is not build with std=c++11 everywhere Change-Id: Ie105706212d9dd32f33bc67c8a878ce8a55e60ef Reviewed-on: https://gerrit.libreoffice.org/32521 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2016-12-30external/harfbuzz: Silence -fsanitize=nonnull-attributeStephan Bergmann
...as reported during CppunitTest_sw_odfimport Change-Id: I3c8542d46cf1106c9910a04ed1f953459c7c7ea5
2016-12-15Build HarfBuzz with CoreText support also for iOSTor Lillqvist
Change-Id: Id755894def35d59836dff8cff7df1273a8e296b2
2016-11-17chmod -xTor Lillqvist
Change-Id: Ie07ef2f9e9f6d0b31b513afa913b79d9c641e4f1
2016-11-04external/harfbuzz: -fsanitize=functionStephan Bergmann
Change-Id: Ie72eec98f1337e895b81c4ebebeefa4861a5a6a1
2016-11-04external/harfbuzz: Work around ASan out of bounds warningStephan Bergmann
CppunitTest_sccomp_lpsolver failed with the below error. struct _mtx (hb-ot-hmtx-table.hh) has two "variable-sized" array members (each of size VAR=1) longMetric and leadingBearingX, where the latter isn't used anywhere in the code; so removing it would make ASan's variable-sized array member heuristic kick in here and suppress the warning, but who knows whether there's some requirement on the exact sizeof(_mtx). > hb-ot-font.cc:128:12: runtime error: index 3 out of bounds for type 'OT::LongMetric const[1]' > hb_ot_face_metrics_accelerator_t::get_advance(unsigned int) const workdir/UnpackedTarball/harfbuzz/src/hb-ot-font.cc:128:43 > hb_ot_get_glyph_h_advance(hb_font_t*, void*, unsigned int, void*) workdir/UnpackedTarball/harfbuzz/src/hb-ot-font.cc:439:47 > hb_font_t::get_glyph_h_advance(unsigned int) workdir/UnpackedTarball/harfbuzz/src/./hb-font-private.hh:207:12 > hb_ot_position_default(hb_ot_shape_context_t*) workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:613:35 > hb_ot_position(hb_ot_shape_context_t*) workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:719:3 > hb_ot_shape_internal(hb_ot_shape_context_t*) workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:768:3 > _hb_ot_shape workdir/UnpackedTarball/harfbuzz/src/hb-ot-shape.cc:792:3 > hb_shape_plan_execute workdir/UnpackedTarball/harfbuzz/src/./hb-shaper-list.hh:43:1 > CommonSalLayout::LayoutText(ImplLayoutArgs&) vcl/source/gdi/CommonSalLayout.cxx:485:23 > OutputDevice::ImplLayout(rtl::OUString const&, int, int, Point const&, long, long const*, SalLayoutFlags, vcl::TextLayoutCache const*) const vcl/source/outdev/text.cxx:1400:36 > OutputDevice::GetTextArray(rtl::OUString const&, long*, int, int, vcl::TextLayoutCache const*) const vcl/source/outdev/text.cxx:999:35 > OutputDevice::GetTextWidth(rtl::OUString const&, int, int, vcl::TextLayoutCache const*) const vcl/source/outdev/text.cxx:915:19 > ImplFontMetricData::ImplInitTextLineSize(OutputDevice const*) vcl/source/font/fontmetric.cxx:372:30 > OutputDevice::ImplNewFont() const vcl/source/outdev/font.cxx:1100:42 > OutputDevice::GetTextHeight() const vcl/source/outdev/text.cxx:924:14 > vcl::Window::ImplInitAppFontData(vcl::Window*) vcl/source/window/window.cxx:1177:33 > vcl::Window::ImplInit(vcl::Window*, long, SystemParentData*) vcl/source/window/window.cxx:1168:9 > ImplBorderWindow::ImplInit(vcl::Window*, long, BorderWindowStyle, SystemParentData*) vcl/source/window/brdwin.cxx:1758:13 > ImplBorderWindow::ImplBorderWindow(vcl::Window*, SystemParentData*, long, BorderWindowStyle) vcl/source/window/brdwin.cxx:1790:5 > VclPtrInstance<ImplBorderWindow>::VclPtrInstance<vcl::Window*&, SystemParentData*&, long&, BorderWindowStyle&>(vcl::Window*&, SystemParentData*&, long&, BorderWindowStyle&) include/vcl/vclptr.hxx:281:39 > WorkWindow::ImplInit(vcl::Window*, long, SystemParentData*) vcl/source/window/wrkwin.cxx:52:38 > WorkWindow::WorkWindow(vcl::Window*, long) vcl/source/window/wrkwin.cxx:95:5 > VclPtr<WorkWindow> VclPtr<WorkWindow>::Create<vcl::Window*&, long&>(vcl::Window*&, long&) include/vcl/vclptr.hxx:131:46 > (anonymous namespace)::VCLXToolkit::ImplCreateWindow(VCLXWindow**, com::sun::star::awt::WindowDescriptor const&, vcl::Window*, long) toolkit/source/awt/vclxtoolkit.cxx:1195:42 > (anonymous namespace)::VCLXToolkit::ImplCreateWindow(com::sun::star::awt::WindowDescriptor const&, long) toolkit/source/awt/vclxtoolkit.cxx:1306:22 > (anonymous namespace)::VCLXToolkit::createWindow(com::sun::star::awt::WindowDescriptor const&) toolkit/source/awt/vclxtoolkit.cxx:799:12 > non-virtual thunk to (anonymous namespace)::VCLXToolkit::createWindow(com::sun::star::awt::WindowDescriptor const&) toolkit/source/awt/vclxtoolkit.cxx:797:59 > (anonymous namespace)::TaskCreatorService::implts_createContainerWindow(com::sun::star::uno::Reference<com::sun::star::awt::XWindow> const&, com::sun::star::awt::Rectangle const&, bool) framework/source/services/taskcreatorsrv.cxx:268:73 > (anonymous namespace)::TaskCreatorService::createInstanceWithArguments(com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) framework/source/services/taskcreatorsrv.cxx:165:28 > non-virtual thunk to (anonymous namespace)::TaskCreatorService::createInstanceWithArguments(com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) framework/source/services/taskcreatorsrv.cxx:133:74 > framework::TaskCreator::createTask(rtl::OUString const&) framework/source/classes/taskcreator.cxx:112:63 > framework::Desktop::findFrame(rtl::OUString const&, int) framework/source/services/desktop.cxx:951:28 > non-virtual thunk to framework::Desktop::findFrame(rtl::OUString const&, int) framework/source/services/desktop.cxx:920:61 > framework::LoadEnv::impl_loadContent() framework/source/loadenv/loadenv.cxx:1017:50 > framework::LoadEnv::startLoading() framework/source/loadenv/loadenv.cxx:379:20 > framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) framework/source/loadenv/loadenv.cxx:165:14 > framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) framework/source/services/desktop.cxx:597:12 > non-virtual thunk to framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) framework/source/services/desktop.cxx:583:64 > (anonymous namespace)::LpSolverTest::setUp() sccomp/qa/unit/lpsolver.cxx:45:67 ... Change-Id: If46d9b82225a70caa9ad2f17fbeb99c6adc63990
2016-11-01Forward debug/optimization flags to external/harfbuzzStephan Bergmann
Change-Id: Ie3bc54a43e46dc28faca9356f414a700a0727cec Reviewed-on: https://gerrit.libreoffice.org/30456 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-11-01Revert "tdf#103403: Wrong glyph advances with Graphite"Khaled Hosny
This reverts commit 3d83c42008ab51202c0577f493e8ed3fde0310b7. A simpler fix in the next commit.
2016-10-31tdf#103403: Wrong glyph advances with GraphiteKhaled Hosny
Patch sent upstream: https://github.com/behdad/harfbuzz/pull/357 Change-Id: I245509d386e83970e4b08bd2a4b20a590303025a
2016-10-20external/harfbuzz: Silence clang-cl -Werror,-Wmicrosoft-enum-valueStephan Bergmann
The code in harfbuzz' src/hb_common.h apparently goes to some length to ensure that any value of type hb_tag_t (aka unit32_t) can be transported as a value of the hb_script_t enum type. However, under MSVC any C (or non-fixed C++) enum type has an underlying type of int, so _HB_SCRIPT_MAX_VALUE of value 0xFFFFFFFF will cause a -Wmicrosoft-enum-value under clang-cl. To not complicate things further, acknowledge that converting between hb_tag_t (an unsigned integer type with 32 value bits) and hb_script_t (a two's-complement signed integer type with 32 value bits) is well-defined under MSVC and drop _HB_SCRIPT_MAX_VALUE (which appears to be an otherwise unused implementation detail) there. Change-Id: Ic03dff64a9dd24683c45347fa78699708c269972
2016-10-18Make sure HarfBuzz module depends on GraphiteKhaled Hosny
Change-Id: I9c1cc9c679ceebeb4e5cd898876aaa7b61c18f17
2016-10-18Build HarfBuzz with Core Text on MacKhaled Hosny
To enable support for AAT fonts. Change-Id: Ifcc7d1672e98f8c067482400b7e45226bed4dbf1
2016-10-18GSoC: Enable building Harfbuzz with GraphiteAkash Jain
Harfbuzz will now need to be built with Graphite support. This allows Harfbuzz to handle Graphite fonts. In case we all building with system Harfbuzz, then it should be built with Graphite support else we error out. Change-Id: I156ec08b9e5ad7ce87cc15e4b5852d9c57c98f7f
2016-09-30Update HarfBuzz to 1.3.2Khaled Hosny
* Only build the library, makes no-freetype patch redundant. * Don’t build ICU support as a separate library, otherwise we would also build the alternative UCDN Unicode functions which we do not use. * Don’t build FontConfig support stuff that was added a few releases ago as we don’t need it as well. Change-Id: Ia5f296c61a6ce2a589b1c521b3c2c7c75dbcf74d Reviewed-on: https://gerrit.libreoffice.org/29342 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-09-16external/harfbuzz: Remove hidden dependency on freetypeStephan Bergmann
In external/harfbuzz/ExternalProject_harfbuzz.mk we are careful to configure harfbuzz --with-freetype=no, but then harfbuzz goes on to nevertheless link some of its programs against freetype. However, those all appear to be test programs that we do not otherwise rely on, so just suppress building them in the first place. (I ran into this when trying to do a 32-bit Linux build in a 64-bit environment, with only very limited 32-bit support installed in the system.) Change-Id: I1bab2ff4b533e5a30d68d72ec001904cb63f5d94 Reviewed-on: https://gerrit.libreoffice.org/28963 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-05-24Add option to enable HarfBuzz support independent of platformAkash Jain
Make HarfBuzz compile on any platform using the --with-harfbuzz option. Support is experimental only. Change-Id: I84fb80f3f8abed8ac877a294cf7ef39cf4cb2e9e Reviewed-on: https://gerrit.libreoffice.org/25369 Reviewed-by: Khaled Hosny <khaledhosny@eglug.org> Tested-by: Khaled Hosny <khaledhosny@eglug.org>
2016-02-18fdo#94009: harfbuzz: don't export symbols from VCLMichael Stahl
Should fix crashes due to symbol clashes in ELF global namespace where system's libharfbuzz.so.0 is loaded as well. Change-Id: I35ffcbe4ac4de5a25cd8bf0cb9a8f0c11f4554c5
2015-08-11gbuild/config stop using VERBOSE, use only verbose=tNorbert Thiebaud
configure.ac was setting VERBOSE=YES/NO when really we use verbose=t or verbose= Change-Id: I47aee8d177cb2d788a62ecdbbb9cc3695c2bb299 Reviewed-on: https://gerrit.libreoffice.org/17634 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
2015-05-19external/harfbuzz: work around -fsanitize=functionStephan Bergmann
Change-Id: I8e107c155a99fd68b0aa054435bc85246444b3c6
2015-05-09Update HarfBuzz to 0.9.40Khaled Hosny
Most of ubsan.patch seems to have been applied upstream, and I can’t reproduce the issue referenced for the remaining bits, anyway it is better to push such changes upstream first. Change-Id: Ie56786c01c06d3542052cd91e36d1f707092beba Reviewed-on: https://gerrit.libreoffice.org/15643 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-05-04Use a dummy icu-config when cross-compiling harfbuzz (to Android)Tor Lillqvist
Seems that when cross-compiling to Android from Linux, we apparently have used either the build platform's pkg-config files for ICU, or the build platform's icu-config. Both of which are obviously the wrong thing to do, but apparently it has worked by accident anyway. This makes building for Android on OS X proceed past harfbuzz, at least. Change-Id: I27351f6177438697a1cded642c8c669ba7221009
2015-02-13external/harfbuzz: -fsanitize=vptr needs -frttiStephan Bergmann
Change-Id: I4da774b8ebd2115a7f1ae717843498c0f452f7df
2015-01-26external/harfbuzz: Fix types of functions called via pointerStephan Bergmann
(-fsanitize=function) Change-Id: I009f1558990a46900e2dfa56492827cb6dcfb3cd
2015-01-06external/harfbuzz: Work around -fsanitize=nullStephan Bergmann
Change-Id: I81dc29f5ba2ef442ffb7e2823f02b9bfead24a46
2014-02-27normalize values of CROSS_COMPILINGMichael Stahl
Change-Id: I0cc43cef91e3fcd82a3558a16ab0afbd4d56b141
2013-10-18Fix building from inside modules moved to externalKhaled Hosny
Change-Id: Id6023dc3751fe70984f489682be17d1ab1855f71
2013-10-17fdo#70393: move harfbuzz to a subdir of externalKhaled Hosny
Change-Id: I3eaa6d95aaa1753822e20d21f90f39cadb939332 Reviewed-on: https://gerrit.libreoffice.org/6276 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>