Go to file
Tor Arne Vestbø c7280b3362 CoreText: Populate all variants of theme/system fonts
We populate the various QPlatformTheme::Fonts by asking the system for
the preferred font for each use-case, but that just gives us a single
font descriptor with a single style and weight. If the user then tweaks
the font by e.g. making it bold or italic, our font database will not
have any knowledge of these variants, and will fall back to another
font.

To fix this we ask CoreText for all variants of each of the theme fonts,
so that each of the theme font families are fully populated.

The preferred way to do this on macOS 10.15/iOS 13 and above is by using
the font's UI design trait. This avoids asking CoreText for private
fonts by family name directly, which is not supported and may result
in giving us Times or another fallback font instead.

Pick-to: 6.2 6.3
Change-Id: I4aa21624df62ac09a92d7ae0bc2cdde4f6ad6e5f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2022-03-30 19:55:21 +01:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Provide a qtpaths wrapper script when cross-building Qt 2021-11-08 13:41:03 +01:00
cmake configure: Add mold to help 2022-03-31 01:22:02 +09:00
coin CI: Increase QNX qemu startup timeout 2022-03-30 08:42:52 +00:00
config.tests CMake: Generate and use a wrapper script for stripping binaries 2022-03-24 21:50:50 +01:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Document what QtTest's various loggers do 2022-03-22 17:43:13 +01:00
examples CMake: Don't build the movie example if the feature is disabled 2022-03-19 14:19:13 +01:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec CMake: Generate and use a wrapper script for stripping binaries 2022-03-24 21:50:50 +01:00
mkspecs qmake: Ignore stderr when determining the macOS SDK version 2022-03-29 14:56:15 +02:00
qmake Apply Q_CONSTINIT across the codebase 2022-03-29 06:18:49 +01:00
src CoreText: Populate all variants of theme/system fonts 2022-03-30 19:55:21 +01:00
tests tst_QNetworkInterface: Update network test server handling 2022-03-30 17:33:08 +00:00
util pro2cmake: Introduce qmake2cmake convenience scripts 2022-03-08 03:45:30 +01:00
.cmake.conf cmake: only use qtbase configuration in qtbase 2022-03-18 12:33:10 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt Use REALPATH based check for symbolic links on Windows 2022-01-07 14:31:38 +01:00
conanfile.py Conan: Fix used function name for parsing 3rd party sw dependencies 2022-03-24 12:14:56 +02:00
config_help.txt configure: Add mold to help 2022-03-31 01:22:02 +09:00
configure Remove unsupported, host-related options from configure shell script 2021-08-05 02:44:27 +02:00
configure.bat configure.bat: Fix call without arguments 2022-02-16 12:05:48 +01:00
configure.cmake Enable -mno-direct-extern-access and ELF protected visibility 2022-03-10 17:10:57 -08:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
LICENSE.FDL Remove trailing whitespace in LICENSE.FDL 2021-11-26 18:28:49 +01:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.QT-LICENSE-AGREEMENT Update LA 4.4.1 2022-03-25 20:07:30 +00:00
qt_cmdline.cmake configure: CMake: Add -no-prefix option 2022-02-24 19:46:01 +01:00
sync.profile QVariant: reduce transitive includes 2022-03-17 16:14:38 +00:00