summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/harfbuzz
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Liang Qi2011-07-201-0/+3
|\ | | | | | | | | Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
| * Check for buffer overflow in Lookup_MarkMarkPosJiang Jiang2011-07-191-0/+3
| | | | | | | | | | | | | | | | That may cause crash in this function with certain fonts. Task-number: QTBUG-17238 Done-by: Alberto Garcia <agarcia@igalia.com> Reviewed-by: Jiang Jiang
* | Merge branch 4.7 into qt-4.8-from-4.7Qt Continuous Integration System2011-05-041-0/+1
|\ \ | |/
| * Don't rely on uninitialized dataJoão Abecasis2011-05-031-0/+1
| | | | | | | | | | | | | | | | | | | | HB_GetCharAttributes used to require a zero-initialized array for attributes, as it selectively sets relevant bits for each character. We ease that requirement by always initializing the attributes buffer explicitly with memset. Task-number: QT-4911 Reviewed-by: Ritt Konstantin
* | Implement subpixel positioning with FreeTypeJiang Jiang2011-03-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QFontEngineFT are used in raster/OpenGL paint engine and QGLWidget, also in Symbian, etc. We want to make sure it works well in raster and QGLWidget first. Regardless subpixel antialiasing (LCD filtering) is enabled or not (though it does look better when subpixel antialiasing is on). We also need to support transformations. The tricky part here is that, under X11, we have a different code path for QFontEngineFT and other font engines in raster engine, which uses QFontEngineFT's own glyph cache system. While in other platforms (Windows and Mac) and QGLWidget, we will use the generic QTextureGlyphCache. The generic QTextureGlyphCache already has support for subpixel positions, this solution is ported to QFontEngineFT for its QGlyphSet: the key for QGlyphSet hash table has been extended from glyph_t to <glyph_t, QFixed subPixelPosition> pair. The real work to enable subpixel positioning with FreeType is in fact really simple, we just set the horizontal translation to the subpixel position * 64 (FreeType uses a coordinate system of 1/64 of a pixel resolution internally) immediately before loading the glyph. A slight tweek to bitmap width is applied when we are getting the bitmap ourselves instead of using FT_Render_Glyph to accommodate the subpixel translation, which will only be used in non-LCD filtering cases (grayscale antialiasing). From what we have observed, FreeType can generate different bitmaps for at least 12 different subpixel positions (each with a slight difference). To limit the memory consumption, we restrict the number of subpixel positions to be 4 (hardcoded), which should be good enough for most low resolution displays. Subpixel positioning (and fractional glyph advances) will only be enabled when the hintingPreference for the font being used is PreferNoHinting or PreferVerticalHinting. We will use fontconfig hintstyle setting by default when no hintingPreference is set for the font. Task-number: QTBUG-12279 Reviewed-by: Eskil
* | Fix hebrew shaping of characters with multiple diacritics.Lars Knoll2011-03-141-2/+2
| | | | | | | | | | The old code would work for a maximum of one diacritic and insert dotted circles in valid syllables.
* | Fix combining marks shaping without GPOS feature in HarfBuzzJiang Jiang2011-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | For certain OpenType fonts like DejaVu Sans Mono, not all combining marks has GPOS feature applied, U+0062 U+0332 is one of the case. Only getting the advances for indivivual glyphs is not enough, we should also do heuristic positioning to put the combining mark in the right place. Task-number: QTBUG-15675 Reviewed-by: Lars Knoll
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-171-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webkit/imageanalyzer/imageanalyzer.h examples/webkit/imageanalyzer/mainwindow.h mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h src/corelib/io/qfsfileengine_iterator_unix.cpp src/corelib/io/qfsfileengine_iterator_win.cpp src/corelib/kernel/qcoreapplication.cpp src/network/access/qnetworkaccessdatabackend.cpp src/plugins/bearer/connman/qconnmanservice_linux.cpp src/plugins/platforms/openvglite/qwindowsurface_vglite.h src/s60installs/bwins/QtCoreu.def src/s60installs/eabi/QtCoreu.def src/s60installs/s60installs.pro tools/assistant/tools/assistant/helpviewer_qwv.h tools/qdoc3/test/qt-html-templates.qdocconf
| * Update copyright year to 2011.Jason McDonald2011-01-101-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Disable certain GPOS features by defaultJiang Jiang2010-12-201-6/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to OpenType Layout tag registry, these features should be turned off by default. Leaving them on will cause some text layout problems in common UI widgets -- they are usually designed for better positioning in print publishing or full featured text layout programs, not for general usage. There is no way to turn them on in HarfBuzz now, it should be addressed later. Features like 'valt' are intended for vertical writing mode are also turned off, since HarfBuzz doesn't support it properly yet. Task-number: QTBUG-15754 Reviewed-by: Lars Knoll
* | Move advances for control character in Indic syllable shapingJiang Jiang2010-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | When handling control characters (ZWJ, ZWNJ) in Indic syllables, we only moved glyphs and attributes of the item, advances should also be moved forward, otherwise we will use the advance of ZWJ/ ZWNJ for the part of syllable, which is normally zero, it results some positioning problems. Task-number: QTBUG-14204 Reviewed-by: Lars Knoll
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-11-1910-78/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp src/gui/kernel/qgesturemanager.cpp tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt.qdocconf Changes in qmake/generators/win32/msvc_objectmodel.cpp come from commit 4ba3dadcae97bfde6216c32cfa339f8f0e0253c7
| * Don't pack Harfbuzz structs, this causes unaligned access crashes.Andreas Kling2010-11-1210-78/+0
| | | | | | | | | | | | | | | | The memory-greediest structs have been reordered anyway, so the gain from forcibly packing them is mostly negligible. Task-number: QTBUG-13395 Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-11-121-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure doc/src/snippets/code/doc_src_qmake-manual.qdoc mkspecs/features/symbian/application_icon.prf mkspecs/features/symbian/default_post.prf mkspecs/features/symbian/symbian_building.prf qmake/generators/symbian/initprojectdeploy_symbian.cpp src/multimedia/audio/audio.pri src/network/access/qnetworkaccessmanager.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl_p.h src/plugins/bearer/corewlan/qcorewlanengine.mm src/plugins/phonon/mmf/mmf.pro tests/auto/qscriptvalue/tst_qscriptvalue.cpp tests/auto/qscriptvalue/tst_qscriptvalue.h tools/qdoc3/doc/qdoc-manual.qdocconf
| * Fix Malayalam Rendering - 'Ra' is PreBaseJiang Jiang2010-11-021-1/+1
| | | | | | | | | | Task-number: QTBUG-1887 Reviewed-by: Lars Knoll
* | Add some tests for Indic shaping in HarfbuzzEskil Abrahamsen Blomfeldt2010-10-111-0/+29
| | | | | | | | | | | | | | | | These were added to confirm the behavior in merge request 2484. Their validity depends on the validity of the merge request. Task-number: QTBUG-13620, QTBUG-13616, QTBUG-13542
* | Fix several errors with shaping of Indic scriptsप्रविण सातपुते2010-10-111-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. The opentype init feature was applied to some characters even when the character appeared inside a word. 2. Using the ZWJ to separate Ra and Halant Ya should connect the two latter characters and form a Yaphala 3. Some Oriya chars were not correctly marked as below-base form. Task-number: QTBUG-13620, QTBUG-13616, QTBUG-13542 Merge-request: 2484 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* | Remove unused local variable in myanmar shaper of harfbuzzJiang Jiang2010-09-071-4/+0
|/ | | | Reviewed-by: Lars Knoll
* Fix a typo in harfbuzz thai line breaking.Ritt Konstantin2010-07-211-1/+1
| | | | Reviewed-by: Lars Knoll
* Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ↵Simon Hausmann2010-06-251-3/+5
| | | | | | | | 4b88f595ab62b7c5f703a286c4f5f13f8784a936 * Fix crash/regression in thai line word breaking when libthai is installed: Commit 4b88f595ab62b7c5f703a286c4f5f13f8784a936 upstream ensures the zero termination of the string passed to libthai.
* Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ↵Simon Hausmann2010-06-241-1/+1
| | | | | | | a80fd59e3b3b18116803a14e6369345933994236 * Disable data structure packing with RVCT, as it appears that the compiler miscompiles the code.
* Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ↵Simon Hausmann2010-06-221-4/+3
| | | | | | | f0dcb906fe56b5dc06aa305b6cfc821d5dd25a28 * Import f0dcb906fe56b5dc06aa305b6cfc821d5dd25a28 which fixes a crash with certain fonts.
* Clean up HB_Anchor's DeviceTables on failure when loading format 3Andreas Kling2010-06-221-1/+2
|
* Make sure ValueRecord's DeviceTables is cleaned up on failureAndreas Kling2010-06-221-2/+3
| | | | | Cleanup was a missing for the case where loading an X placement device table failed.
* Fix incorrect usage of _HB_OPEN_Free_Device() in CaretValue cleanupAndreas Kling2010-06-211-1/+1
|
* Fix null HB_Device** dereference on exit in Harfbuzz GPOS codeAndreas Kling2010-06-213-16/+20
| | | | Caught by QFontDialog autotest.
* Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ↵Simon Hausmann2010-06-203-33/+8
| | | | | | | ab9a897b688e991a8405cf938dea9d6a2f1ac072 From Andreas Kling <andreas.kling@nokia.com>: * Unbreak _HB_OPEN_Get_Device() and Get_ValueRecord()
* Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ↵Simon Hausmann2010-06-182-17/+31
| | | | | | | | | | | | | | | 5699175f55acbdfa4ac95ab6c727ebd4a201f3a2 Author: Andreas Kling <andreas.kling@nokia.com> Date: Fri Jun 18 16:10:31 2010 +0200 Make HB_AnchorFormat3's Device tables a pointer array Saves sizeof(pointer) * 1 when the font doesn't have these tables. Cuts resident memory consumption by 40kB when loading qt.nokia.com in QtWebKit. Signed-off-by: Simon Hausmann <simon.hausmann@nokia.com>
* Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ↵Simon Hausmann2010-06-185-70/+72
| | | | | | | 508b02a252b524d34f3ed970eef3bdb6350a2b77 * Andreas' compression for HB_ValueRecord * Re-enable packing for RVCT
* Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ↵Simon Hausmann2010-06-161-1/+1
| | | | | | | 5e9b2a88688f6e360d7db00bc86a45bf2cf86e52 Includes Andreas' MSVC fix and fixes the RVCT build by temporarily disabling the structure packing.
* Buildfix for MSVC2008 (C90 violation)Andreas Kling2010-06-151-2/+4
|
* Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ↵Simon Hausmann2010-06-1523-180/+912
| | | | | | | 1313dc84678c74f1c24f910f702d7ed27a417607 This includes Andreas' changes to reduce the memory usage by packing and re-odering data structures as well as Lars' greek shaper.
* Fix issues with thai line breakingLars Knoll2010-06-144-57/+51
| | | | | | | | | | | | | | | | | | | | | | | Merge latest harfbuzz: commit cce760d41f115fecd5b9b6b20b62883b10a9c204 Author: Lars Knoll <lars.knoll@nokia.com> Date: Mon Jun 14 14:14:59 2010 +0200 Fixes for thai linebreaking * Load libthai.so.0 since libthai.so is not there on all systems * Remove dependency on codecs. Unicode->TIS620 is so simple we can simply hardcode it in harbuzz-thai.c * Speed up detection of word boundaries * Falback when libthai is not found is now to not break instead of breaking after every character (in line with recommendations from unicode.org linebreaking algorithm) Reviewed-by: Simon Hausmann Adapt qharfbuzz.cpp to the changes in harfbuzz. Reviewed-by: Simon Hausmann
* merge commit c638ddc70f6a8196f2c8b11808ab01510233a0ee from harfbuzz:Lars Knoll2010-04-143-50/+193
| | | | | | | | | | | | | | | | | | | commit c638ddc70f6a8196f2c8b11808ab01510233a0ee Author: Lars Knoll <lars.knoll@nokia.com> Date: Wed Apr 14 17:01:49 2010 +0200 Fix a bug in malayalam shaping See http://bugreports.qt.nokia.com/browse/QTBUG-1887. We were not finding the base character correctly in the case where the syllable contained a ZWJ. In addition, the indic OT specs require us to also apply the 'loca', 'cjct' and 'calt' features. They seem to be mostly unused by todays fonts, but we should better apply them anyways. Task-number: QTBUG-1887 Reviewed-by: Eskil
* update harfbuzz to 2b78f0d78ad3075fd1657d1260b31219e1a5155Lars Knoll2009-12-212-3/+4
| | | | | | | | | Fix a regression in Hebrew text rendering that got introduced in Harfbuzz. Fix some uninitialized variables. Task-number: http://bugreports.qt.nokia.com/browse/QTBUG-6436 Reviewed-by: Simon Hausmann
* Fix uninitialized error variable if the stream doesn't existGordon Schumacher2009-11-261-1/+1
| | | | | Merge-request: 2174 Reviewed-by: Eskil
* upgraded harfbuzz to lastest versionLars Knoll2009-11-182-10/+34
| | | | | | | | Upgrade harfbuzz to b0d396aa88b3cdf8cea896bfeeba197656e1cdb1. This fixes a text rendering problem in Malayalam. Task-number: QTBUG-1887 Reviewed-by: Simon Hausmann
* update harfbuzz once again, adding N'Ko supportLars Knoll2009-11-064-6/+99
| | | | | | | | | | | | | | | | | integrate/update to change 797fe54d9ebbafb0cdc00705c008ea09e7ac1e9e from harfbuzz: commit 797fe54d9ebbafb0cdc00705c008ea09e7ac1e9e Author: Lars Knoll <lars.knoll@nokia.com> Date: Fri Nov 6 11:56:44 2009 +0100 add N'Ko support to the arabic shaper Long outstanding bug report for Qt. See http://bugreports.qt.nokia.com/browse/QTBUG-1042 Task-number: part of QTBUG-1042 Reviewed-by: Gunnar
* Fix a bug in malayalam renderingLars Knoll2009-11-052-0/+6
| | | | | | | | | Updated to harfbuzz e6636cadacf220785fca12b741b4587ff1ee42ec. Fixes a bug with the rendering of samvruthokaram (combination of 0xd41 + 0xd4d) in malayalam. Task-number: Parts of QTBUG-1887 Reviewed-by: Eskil
* update harfbuzz to fix assamese shaping bugLars Knoll2009-11-052-2/+16
| | | | | | | Synced harfbuzz to e66916e33821e71ba19479c32108a2be8bb539b2 Task-number: QTBUG-1802 Reviewed-by: Eskil
* update harfbuzz to the latest version from fd.orgLars Knoll2009-11-048-82/+167
| | | | | | | | | | This corresponds to commit e8a057fb67a0242e5a125d8cb2c823ad63e01449 in harfbuzz. The changes include fixes for an out of bounds read and QTBUG-5293. Task-Number: QTBUG-5293 Reviewed-by: Eskil
* Revert "Hackish workaroung to Open C / C++ defect when intermixing standard"Janne Anttila2009-08-211-6/+0
| | | | | | | | | This reverts commit 4dd03abdfbcc1af3075b30165e19ee63fe8051f4. And changes stl.prf slightly to get the Qt libs compiled again without reverted hack. Conflicts: src/gui/painting/qblackraster.c
* Squashed commit of the topic/exceptions branch.Harald Fernengel2009-08-031-3/+17
| | | | | Contains some smaller fixes and renaming of macros. Looks big, but isn't scary at all ;)
* Remove some warnings in harfbuzz component.axis2009-06-293-4/+4
|
* Make Qt exception safer.Robert Griebl2009-06-101-0/+8
| | | | | | | | Squashed commit of the branch haralds-haralds-qt-s60-topics/topic/exceptions, which also contains the full history. Rev-By: Harald Fernengel Rev-By: Ralf Engels
* Long live Qt for S60!axis2009-04-2460-0/+26047