summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/harfbuzz-ng
Commit message (Collapse)AuthorAgeFilesLines
* Update bundled HarfBuzz-NG copy to 0.9.32Konstantin Ritt2014-07-2065-3395/+4288
| | | | | | | | | | - Unicode 7.0 support - New shapers - Multiple improvements in Arabic, Indic, and Hebrew shapers - Build fixes, optimizations, etc. Change-Id: I0ba14b619c3e6fb35cddd9d65e694af41197d6ae Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* harfbuzz-ng: Pre-allocate enough space for CoreText bufferGabriel de Dietrich2014-06-181-1/+2
| | | | | | | | | | | This fixes an assert in OS X 10.10 Yosemite, where the pre- allocated buffer would be too small to hold 3 successive calls to ALLOCATE_ARRAY. Task-number: QTBUG-39504 Change-Id: I5a0ae36170636eb97ab21c5903b96674e2a99547 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2014-05-161-1/+0
|\ | | | | | | refs/staging/stable
| * Mac OS X: Fix crash in Harfbuzz-NGEskil Abrahamsen Blomfeldt2014-05-121-1/+0
| | | | | | | | | | | | | | | | | | | | CoreText does not support multithreading, so we would get a crash in tst_qglthreads. So we disable multithreading for HB-NG. Task-number: QTBUG-38762 Change-Id: I0473037c16017ff77cbba9b11fc0b396775ef789 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Disable compiler warnings for libqtharfbuzz-ngJ-P Nurmi2014-05-151-1/+1
|/ | | | | | | | | This 3rdparty code produces a lot of warnings especially with clang. Change-Id: I6f48410699e785d1b2e84b9a6d7b0ba8751179b0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix font fallback handling with Harfbuzz and CoreTextSimon Hausmann2014-04-281-5/+1
| | | | | | | | | | | | | | Comparing CGFontRefs is not reliable it seems, CFEqual on them appears to compare pointers and there's no guarantee that CTFontCopyGraphicsFont returns the same pointer all the time. So instead let's compare CTFontRefs, which we keep around and also provide as input to CoreText shaping. Task-number: 38363 Change-Id: I6073ea88f0c9f5ebf49d17cba0d76041ade32570 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* centralize auxiliary lib creationOswald Buddenhagen2014-04-281-8/+1
| | | | | | | | | | | | this covers convenience libraries which are linked into dlls (if we are not building statically) and "proper" (installed) builds of 3rdparty code. Change-Id: I2f00248c0baa0e73346e477724bf49bbc62ba925 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix debug_and_release buildsOswald Buddenhagen2014-04-161-0/+3
| | | | | | | Task-number: QTBUG-38358 Change-Id: Idb02fd845c1f36b963150cc150dd2ee5bdd7bc4a Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* HB-NG w/CoreText backend: Fix clustering of neutral charactersEskil Abrahamsen Blomfeldt2014-04-091-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Say you have a string with logical contents "abc ABC, " where lowercase is LTR and uppercase is RTL. In this case, the UBA will give "abc " LTR direction, and "ABC, " will get RTL. However, our itemization currently divides "ABC, " into two script items: "ABC" and ", ". CoreText will return glyphs in visual order, so for the first we will get "CBA" and for the second we will get ", ". But as the ", " item has an adapted directionality of RTL in the context of the full paragraph, it should actually be " ," visually. This caused a mismatch which broke the tst_QComplexText test with HB-NG using CoreText backend. As a temporary fix for this, we check whether the directionality of the first run in the text is different from the directionality expected by HB-NG. If this happens, it means the order of the glyphs produced by CoreText will be the reverse order of what is expected by HB-NG, and we therefore need to reverse it. Task-number: QTBUG-38113 Change-Id: I9f5a041791e4529a14041a362b2d5dd00490a38b Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* HB-NG on Mac: Fix PDF in end of stringEskil Abrahamsen Blomfeldt2014-04-081-2/+22
| | | | | | | | | | | | | | | The CoreText engine will remove the PDF token from the end of the string (instead of producing a zero-width glyph for it), thus the output will be different from the OpenType backend and Qt will get confused. To fix this, we emulate the expected behavior by molding the output in a special case. This is a port of e45c4387ae16627d61e30a58ae901d888d375aa7 from Qt 4. Task-number: QTBUG-38113 Change-Id: Ia0a078e3a60317981d4d5a4ee7e575a1714a1d75 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix bundled HarfBuzz-NG build on MacKonstantin Ritt2014-03-202-1/+15
| | | | | Change-Id: I2229c77b4951c2ba9b445286cb94a2a86e345c34 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix bundled HarfBuzz-NG build outside QtGuiKonstantin Ritt2014-03-191-22/+24
| | | | | | | | | | | | | | On Mac, hb_coretext requires both CTFont and CGFont. Due to not supporting the 0 tag by CoreText, hb_blob_get_data() always fails causing the hb_coretext_shaper initialization to fail, too. Since HarfBuzz-NG is not a part of QtGui module anymore, there are two possibilities to workaround this: either engineer the font data by querying tables one-by-one and generating the font directory table, or pass CTFont and CGFont refs directly to hb_coretext via the hb_face's user_data. This patch implements the latter. Change-Id: I7d2e2df00818ea811642cb6a6c3b9c9abd5d7b94 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Build bundled HarfBuzz-NG outside QtGuiKonstantin Ritt2014-03-141-0/+126
| | | | | | | | | Being a part of QtGui, HarfBuzz-NG breaks build with -Werror. Instead of disabling a particular warnings-as-errors, build a prefixed static library and make it a link-time dependency. Change-Id: Id0be1f0e0034092d50f83cd364d5c65940fee869 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make bundled HarfBuzz-NG not depend on QtKonstantin Ritt2014-03-141-16/+1
| | | | | Change-Id: Id2a0e4ae4cf2b4a6c95985b3b31c846aac92f992 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update HarfBuzz-NG path on MacKonstantin Ritt2014-02-131-1/+1
| | | | | | | | | | 84be1bd4d3ed8d2d9e65301649bc841ea4197fe2 has changed the stored data type from QFontEngine to QFontEngine::FaceData. Update the implementation and revert changing the y_scale sign on non-Mac (aka fix-up 2d576f79f748ca4c9bb54634f0fd44fa207a2248). Change-Id: I4180257bc8f610fb014fd2a2ad6f8fdceece2f13 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make HarBuzz-NG the default shaper on MacKonstantin Ritt2014-01-313-7/+41
| | | | | | | | | | | | | | | Since we dropped all platform-related shapers during the QPA refactoring, thus making HarfBuzz the only shaper on all platforms, we can not deal with AAT-capable fonts anymore. HarBuzz-NG now supports it's own shaper backend infrastructure, so the decision was to enable HB's CoreText shaper backend on Mac and simply make HB-NG the default shaper there. Task-number: QTBUG-36056 Change-Id: If22e24fd5cc00c25952934332a2f4123f38135a4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Add CoreText HB-NG shaper backend on MacKonstantin Ritt2014-01-302-0/+858
| | | | | | Change-Id: Ida705b9fc59d41a04cb754faae58774bfc2e656c Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Update HB to 7691a154e50f8c8c77bbd94787686262955bf5d4Konstantin Ritt2014-01-3031-1456/+2303
| | | | | Change-Id: I7dae9d74f338d3beeb1677a1676a07b66c05bb93 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update bundled HarfBuzz sources up to 0.9.25Konstantin Ritt2013-12-1955-1017/+3944
| | | | | | | | | | Most important changes: - Myanmar, Indic, Javanese / Buginese shaper improvements - More aggressive shape-plan caching - Additional OpenType language tags Change-Id: I54ed62cfe936c06c18589d09ac119a0f5881a235 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [2/2] Update bundled HarfBuzz-NG sources up to 0.9.20Konstantin Ritt2013-08-301-0/+2
| | | | | Change-Id: Ia8ef11fce9326ed708bf2972514b46b9d105ad9e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [1/2] Update bundled HarfBuzz-NG sources up to 0.9.20Konstantin Ritt2013-08-3018-440/+662
| | | | | Change-Id: I8649bbe608cb2f79c721c900c03fd0139a8c0cd1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add stripped version of HarfBuzz-NG 0.9.19 sources to 3rdpartyKonstantin Ritt2013-08-2784-0/+33805
| | | | | Change-Id: I06fbf58131ebce51ce95921d8dfd65dd3d3e236f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make it possible to build HarfBuzz-NG in QtKonstantin Ritt2013-08-2714-0/+45
Change-Id: Ib956adb0ab7bcfba3ce73acf7c19bda815d6eb73 Reviewed-by: Lars Knoll <lars.knoll@digia.com>