summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fontdatabases
Commit message (Collapse)AuthorAgeFilesLines
* Add Q_DECL_OVERRIDE in the src subdirectoryOlivier Goffart2014-12-033-15/+15
| | | | | | | | | | Done automatically with clang-modernize on linux (But does not add Q_DECL_OVERRIDE to the function that are marked as inline because it a compilation error with MSVC2010) Change-Id: I2196ee26e3e6fe20816834ecea5ea389eeab3171 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-11-271-15/+21
|\ | | | | | | Change-Id: Id20053d261b4fbbcc0ac8ba49dd3ef2253fa4b95
| * Windows: Respect hinting preferences with FreeType engine.Sérgio Martins2014-11-251-15/+21
| | | | | | | | | | | | | | | | | | | | One of the fontEngine()'s methods was missing hinting. This bug only manifests on Windows because on Linux QFontConfigDataBase already sets hinting on both code paths. Task-number: QTBUG-42534 Change-Id: I3a66a9d4aaa5e390fee305a3d5aacfeba38a1fc3 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | QFontconfigDatabase weight-matching refactoringPierre Rossi2014-11-271-19/+22
| | | | | | | | | | | | | | | | | | Factor out the piece-wise linear weight matching in an attempt to make it less error-prone to add new weights to the QFont::Weight enum. Change-Id: I5fefdba67a60a061f8b9104393194a27bc8c6e35 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | Merge QFontEngineMultiBasicImpl and QFontEngineMultiKonstantin Ritt2014-11-262-4/+4
| | | | | | | | | | | | | | Minor refactoring also improves the behavior and the code readability. Change-Id: Id89dd224f4132a4c0dfbc16f414ef42cc8d8a4da Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-11-243-2/+6
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qiodevice.cpp src/plugins/bearer/linux_common/qofonoservice_linux.cpp src/plugins/bearer/linux_common/qofonoservice_linux_p.h src/plugins/platforms/android/qandroidplatformtheme.cpp src/tools/bootstrap/bootstrap.pro src/widgets/styles/qmacstyle_mac.mm Change-Id: Ia02aab6c4598ce74e9c30bb4666d5e2ef000f99b
| * OSX: implement QFontMetrics::maxWidth().David Faure2014-11-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | CoreText doesn't seem to provide us with a "maximum advance" value, but 0 is really wrong, it leads to QLineEdit::minimumSizeHint() being 0 since it's based on maxWidth(). It even led to a negative min width with setTextMargins(-1, 0, -1, 0). Change-Id: I4faf8ecfb6d91e9dff66ec63651d003014503cb4 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * Allow to use FT_Library_SetLcdFilter in bundled FreeType.Sérgio Martins2014-11-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For a default Qt build this change is a NOP, ftlcdfil.c is ifdefed by FT_CONFIG_OPTION_SUBPIXEL_RENDERING, which we don't define. But for users who changed ftoption.h, or are using 3rdparty/freetype/devel/ftoption.h instead of 3rdparty/freetype/include/freetype/config/ftoption.h they can now enable Subpixel rendering without getting a build error. Change-Id: I547e8a20514fcb97e4e56cb0100e9c2ed525f483 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * fontconfig: do not assume the path to a font file is Latin1-encodedShawn Rutledge2014-10-291-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-42249 Change-Id: Ie5d41ed26a69103991a5189c4f42aa37ac73de26 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-273-4/+23
|\| | | | | | | | | | | | | Conflicts: src/gui/text/qfontdatabase.cpp Change-Id: I6ac1f55faa22b8e7b591386fb67f0333d0ea443d
| * Add support for more font weights internallyPierre Rossi2014-10-242-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should have more font weights in QFont::Weight to allow for finer grained control. For the time being, we can simply use intermediate weights to better support the different font weights falling in between the ones defined in QFont::Weight. Also amend the documentation to clarify the fact that QFont supports and can return weights falling outside the predefined values, which is already the case (e.g. when using fontconfig). Done-with: Gabriel de Dietrich Change-Id: I693cdd48b8b77e7ed550cdf991227bcb819d8e7b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * Respect NoSubpixelAntialias in QCoreTextFontEngine::imageForGlyphAllan Sandfeld Jensen2014-10-241-3/+4
| | | | | | | | | | | | | | | | | | | | Adding handling of the new QFont enum NoSubpixelAntialias in QCoreTextFontEngine::imageForGlyph. Task-number: QTBUG-40396 Change-Id: I421c38554360f5e2f822a18117190456c4d04b25 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-203-151/+145
|\| | | | | | | Change-Id: If7e51514ed6832750e3ad967e4d322ccf920d2bb
| * CoreText font database: Use dynamic type on iOS to resolve theme fontsRichard Moe Gustavsen2014-10-191-5/+45
| | | | | | | | | | | | | | | | | | Use Dynamic Type to resolve theme fonts, so that we get the correct font sizes and styling based on user preferences in Settings app. Change-Id: I2222199a5ba21badb2e3696993eee503e720c476 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * Make font hinting and antialiasing size dependent when using FontConfigAlexander Volkov2014-10-171-0/+3
| | | | | | | | | | | | | | | | | | Add the pixel size of the font to the search pattern to get size dependent font settings. This patch allows to take into account KDE settings for font sizes which should be excluded from antialiasing. Change-Id: I8bd8b7b3d585009d0a39db631cd02b7970537f5c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
| * Reduce code duplication in QFontconfigDatabaseAlexander Volkov2014-10-162-146/+97
| | | | | | | | | | | | | | Extract common part from fontEngine() methods to setupFontEngine(). Change-Id: Id4aee43b2a477f9fd40dc564d96a2335bfde9e22 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-091-3/+3
|\| | | | | | | Change-Id: I05fcd8dc66d9ad0dc76bb7f5bae05c9876bfba14
| * Don't use QStringLiteral in comparisonsMarc Mutz2014-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For QLatin1String, operator== is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare using QLatin1String instead. Change-Id: I7af3bf3a67c55dae33ffaf9922d004fa168a3f9c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Clean up the CFTypes used in popuplateFamilyAndy Shaw2014-10-071-2/+2
| | | | | | | | | | Change-Id: Iabe127486c77ebb2afe7fe13ecccd70252a79031 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-2911-172/+212
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qbytearray.cpp src/gui/image/qimage.cpp src/gui/image/qppmhandler.cpp src/gui/kernel/qguiapplication.cpp src/gui/painting/qpaintengine_raster.cpp Change-Id: I7c1a8e7ebdfd7f7ae767fdb932823498a7660765
| * Update license headers and add new license filesMatti Paaso2014-09-249-171/+99
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-237-0/+69
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| | * Add missing private headers warningSamuel Gaist2014-09-046-0/+66
| | | | | | | | | | | | | | | Change-Id: I7a4dd22ea3bcebf4c3ec3ad731628fd8f3c247e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * QCoreTextFontDatabase: reduce memory consumptionJ-P Nurmi2014-09-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | ATSFontNotify() allocates over 30MB for no apparent reason for applications that don't register fonts. Change-Id: I7bbc97f53b76be1e638de8ca0d1be3a08586cf00 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * QCoreTextFontDatabase: Remove number type asserts.Morten Johan Sørvig2014-08-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | On iOS 8, the value 0 is returned as a kCFNumberIntType. The code still works - CFNumberGetValue converts it to a 0.0 double. Change-Id: Ic50900b22e4fa19ad1481e8e0e293559bbfd8cd2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * | Cocoa: Always add Arial Unicode MS to fallback listEskil Abrahamsen Blomfeldt2014-09-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fallbacks on the platform should ideally contain all fonts that support the script passed in, but this would require populating the font database and checking the unicode ranges for all fonts, so it would cause a significant performance hit on Mac. What we do here instead is just return a set of default fonts as the fallbacks and disregard the requested script. The consequence of this is that some special unicode codepoints were not supported on Mac, because we weren't working with a full fallback list. To rectify this without breaking performance, we always add Arial Unicode MS to the end of the fallback list as a final fallback. This should always be present on the system and has a wide support of different scripts. [ChangeLog][OS X][Fonts] Fixed missing glyph box shown in place of some uncommon Unicode code points. Change-Id: I4fc8576bfddc8a73204aca2b16437d42c524bc79 Task-number: QTBUG-40986 Task-number: QTBUG-40549 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * | OSX: Properly detect language support in fontsEskil Abrahamsen Blomfeldt2014-09-103-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The language support detection in Cocoa does not report the correct set of languages for all fonts. One consequence of this is that e.g. Mkhedruli (Georgian) was not supported on Mac because the 'ka' language code was not reported for e.g. the Arial Unicode MS font. This was never detected in Qt 4, because the writing system support we set for each font was never used for font matching, since we let CoreText do the matching in Qt 4. To remedy this, we also detect writing system support based on the OS/2 table in the font. We add this in addition to the current test in case the language list has information about fonts with incomplete OS/2 tables, to avoid regressing. [ChangeLog][OS X] Fixed detection of writing system support in fonts for some scripts such as Mkhedruli. Change-Id: I26c2a42ef45112e17d6794d8798a57c8d8aaaafa Task-number: QTBUG-41208 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | | Add Grayscale8 and Alpha8 formats to QImage and drawingAllan Sandfeld Jensen2014-09-171-7/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | Extend the QImage format with two 8-bit grayscale and alpha formats. These formats have the advantage over Indexed8 that they have simpler conversion and can be rendered to by the raster engine. [ChangeLog][QtGui][QImage] Added support grayscale and alpha 8-bit formats which can also be rendered to. Change-Id: I4343c80a92a3dda196aa38d0c3ea251b094fc274 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Change a qFatal to a qWarningLars Knoll2014-09-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | There are valid uses cases how to use Qt without installing any fonts (e.g. by using an application font), so let's make the warning non fatal. Task-number: QTBUG-29192 Change-Id: I5684331b687bef4b8a54be1f68303c80aa8d4372 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | QCoreTextFontDatabase: Remove number type asserts.Morten Johan Sørvig2014-08-261-2/+0
| | | | | | | | | | | | | | | | | | On iOS 8, the value 0 is returned as a kCFNumberIntType. The code still works - CFNumberGetValue converts it to a 0.0 double. Change-Id: Ic50900b22e4fa19ad1481e8e0e293559bbfd8cd2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Giuseppe D'Angelo2014-08-192-24/+170
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-122-24/+170
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually included changes from 3a347a4e70e5a10ee92dd2578316c926a399e894 in src/opengl/qgl.cpp. Conflicts: src/opengl/qgl_qpa.cpp src/plugins/platforms/android/androidjnimain.cpp Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
| | * Font Database: Add support for private, system UI font familiesGabriel de Dietrich2014-08-112-24/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We introduce QPlatformFontDatabase::isPrivateFontFamily() to allow testing for private, system UI font families. Both QFontComboBox and QFontDialog need to filter out those private font families which, by definition, should be hidden from the end user. (The textedit example had to be updated to fix the issue where the default font would be private. In 5.4, we will be adding an equivalent, public API in QFontDatabase, and a better solution for the textedit example and QTexEdit in general). In particular, on OS X and iOS, private fonts are used for the system UI font. Those have their font family name prefixed by a dot. QCoreTextFontDatabase knows about this, and makes sure those are tested positive as private font families. In order to have a cleaner layer separation, we moved the QPA theme font resolution from the platform theme classes into QCoreTextFontDatabase for both Cocoa and iOS QPA plugins. In both cases, we use CoreText's CTFontCreateUIFontForLanguage(), that nicely maps to the HITheme API we were using so far on Mac. That means one HITheme dependency less. We also cache the font descriptors we get for these font for each time QCTFD::populateFamilies() gets called. (While not common, this currently happens in auto-tests, like tst_QFontDatabase, and could happen in actual applications -- specially when adding and removing application fonts.) Change-Id: Ic6f0b60f9f597afee1a43596a669742dc546b97f Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | | Support antialias and rgba Xft settings as used by GNOME and UNITYAllan Sandfeld Jensen2014-08-181-17/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | We only parsed the hintstyle from the Xft settings. This patch adds parsing for also subpixel style and disabling antialiasing. Task-number: QTBUG-27106 Change-Id: Icdb88ccc10e50d76eb30a5b126bee7590e257022 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | | Support autohint and lcdfilter fontconfig configurationAllan Sandfeld Jensen2014-08-161-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for reading autohint and lcdfilter settings from fontconfig and pass them on to freetype. Task-number: QTBUG-32254 Change-Id: Iaa69b70f7005ee7f21126a8d984c07b3a46a3e7f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | | Move SubpixelAntialiasingType from QFontEngineFT to QFontEngineAllan Sandfeld Jensen2014-08-141-30/+30
|/ / | | | | | | | | | | | | | | | | | | | | To be able to use the SubpixelAntialiasingType enum without depending on QFontEngineFT we need to move it to QFontEngine. The patch also cleans up the left-overs of other enums moved the same way. Change-Id: I025bc8a5b429d376cfab0a643121ed6f99204988 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-08-041-3/+13
|\| | | | | | | | | | | | | | | | | Conflicts: config.tests/arch/arch.cpp src/opengl/qgl_qpa.cpp src/widgets/kernel/qapplication.cpp Change-Id: I80b442a4c2c9632743a5b5c7319ff201ec5bc4fd
| * QCoreTextFontDatabase: Fix font weight value when populating a familyGabriel de Dietrich2014-07-291-3/+13
| | | | | | | | | | | | | | | | | | | | kCTFontWeightTrait returns a normalized value between -1.0 (lightest) and 1.0 (heaviest), 0.0 being the regular font weight. The threshold values used in this change have been estimated from the weight values of fonts from the Helvetica Neue and Myriad Pro font families. Change-Id: I49de8e8bd5894107de4842aeda7ace2e83f95be3 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Add QFont strategy to disable subpixel antialiasingAllan Sandfeld Jensen2014-08-031-1/+3
| | | | | | | | | | | | | | | | | | | | | | This patch adds the option to disable subpixel antialiasing on QFont basis. This can be useful when painting to offscreen surfaces. On OS X this option disables the aggressive LCD font smoothing, which can be necessary for certain fonts it may otherwise ruin. Task-number: QTBUG-40396 Change-Id: I1664b636520ae63ee1503b5df7436748106b9f5c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-05-221-0/+3
|\| | | | | | | Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
| * Fix crash when loading invalid font data in QRawFontEskil Abrahamsen Blomfeldt2014-05-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When passing invalid data to QRawFont, we need to fail gracefully and mark the font as invalid, instead of crashing. This crashed because of different missing sanity checks in the Windows and FontConfig font databases. [ChangeLog][Text] Fixed crash when trying to load a font from invalid data. Task-number: QTBUG-37190 Change-Id: I62c81217ec7d873350b575c9d4ae8e6f0a939540 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | qpa: Clean up and refactor qfontengine_qpaTor Arne Vestbø2014-05-153-4/+3
| | | | | | | | | | | | | | | | | | | | | | QFontEngineQPA was really QFontEngineQPF2, and has been renamed. The multi font engine in qfontengine_qpa.cpp was really a base implementation of a multi font engine, used by other multi font engines, and has been renamed and moved accordingly into qfontengine_p.h/cpp. Change-Id: Iac7409c4dbf0fdc3ee993ce4f7dc96cb00a422e6 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-132-1/+13
|\| | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp Change-Id: Ibe75603dc8a51769db6550ea3f07bc8d19b0be85
| * CoreText: Prevent creation of CGContext for glyphs with empty bounding boxTor Arne Vestbø2014-05-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | If the alphaMapBoundingBox of a glyph is empty we don't want to create a CGBitmapContext on it, as that will fail, and any further operations on the invalid context will result in possibly fatal errors from CG. This issue can be observed when drawing some glyphs of the Apple Color Emoji font. Change-Id: Ia45ba858b5fb6afa91e6d686a9c55e350d4095f3 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| * Allow QFont lookups using localized family names by adding family aliasTor Arne Vestbø2014-05-121-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After fbaa6d3ca6fc269 QFont family names are non-localized on iOS/OS X, which means applications that try to initialize QFont with a localized family name (explicitly, or from user input), will fail, and get the fallback font instead. We now add font family aliases for the localized family names, so that font matching will work even for localized family names. Note that QFontDatabase::families() still returns a non-localized list. Task-number: QTBUG-38628 Change-Id: Id351befa69916ce162c939733bbfcc774f075120 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | qpa: merge qrawfont_qpa.cppTor Arne Vestbø2014-05-131-1/+1
|/ | | | | | Change-Id: I8552199c8b3e365adefbc2bb096c8153e222cec8 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Fix application font removal when using FontConfigFabian Bumberger2014-03-271-108/+112
| | | | | | | | | | | | | | | | | This patch fixes an issue when a font that was added with QFontDatabase::addApplicationFont can not be removed any more. The reason for that is that QFontconfigDatabase::addApplicationFont adds the font to the FontConfig application set from where it cannot be removed any more and is picked up every time the font database is repopulated (e.g. after a call to QFontDatabase::removeApplicationFont). This also fixes the QFontDatabase autotest which unfortunately does not fail on linux, because it tries to add "FreeMono" (which in most cases is already there as a system font). So this patch removes FreeMono and adds LED_REAL as test font. Change-Id: I70fc823075923aa426da1eb3e052affcc416e399 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Android: Fix font mergingEskil Abrahamsen Blomfeldt2014-03-252-2/+6
| | | | | | | | | | | | | Our fallback fonts would contain a minimal list of hardcoded fallback fonts, which is neither sufficient for displaying all text, nor portable to different vendors which can supply different font sets. [ChangeLog][Android] Fixed font merging problem which caused e.g. missing glyphs for Arabic numerals. Task-number: QTBUG-37738 Change-Id: Ic971343a1cd5610c79a81f6f6152c637937b5626 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Apply fontconfig settings to custom fontsAllan Sandfeld Jensen2014-03-223-0/+52
| | | | | | | | | | | Currently QtWebKits custom fonts does not follow the system settings on Linux. This is because they are only handled by the basic fontdatabase. This patch adds handling of custom fonts to QFontconfigDatabase. Change-Id: I676fc97840766b58cd937bb8e2c9f166f30c8a6e Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Cleanup and refactor QFontconfigDatabase::fontEngineAllan Sandfeld Jensen2014-03-211-65/+74
| | | | | | | | | | | | Refactors the logic to parse the font configuration from fontconfig, so that it maybe reused for custom fonts in a later patch. Also fixes a minor mistake that meant we defaulted to medium hinting, where we tried to default full hinting. Change-Id: I1e135b8b1e3faeb213aa370ea59ebde3a671273d Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>