Merge pull request #222311 from NickCao/qt6-vf
qt6.qtbase: add patch to fix handling of variable fonts
This commit is contained in:
commit
72a8c49415
4 changed files with 58 additions and 0 deletions
|
@ -488,6 +488,7 @@ in {
|
|||
nomad = handleTest ./nomad.nix {};
|
||||
non-default-filesystems = handleTest ./non-default-filesystems.nix {};
|
||||
noto-fonts = handleTest ./noto-fonts.nix {};
|
||||
noto-fonts-cjk-qt-default-weight = handleTest ./noto-fonts-cjk-qt-default-weight.nix {};
|
||||
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
||||
nscd = handleTest ./nscd.nix {};
|
||||
nsd = handleTest ./nsd.nix {};
|
||||
|
|
30
nixos/tests/noto-fonts-cjk-qt-default-weight.nix
Normal file
30
nixos/tests/noto-fonts-cjk-qt-default-weight.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "noto-fonts-cjk-qt";
|
||||
meta.maintainers = with lib.maintainers; [ oxalica ];
|
||||
|
||||
nodes.machine = {
|
||||
imports = [ ./common/x11.nix ];
|
||||
fonts = {
|
||||
enableDefaultFonts = false;
|
||||
fonts = [ pkgs.noto-fonts-cjk-sans ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
let
|
||||
script = pkgs.writers.writePython3 "qt-default-weight" {
|
||||
libraries = [ pkgs.python3Packages.pyqt6 ];
|
||||
} ''
|
||||
from PyQt6.QtWidgets import QApplication
|
||||
from PyQt6.QtGui import QFont, QRawFont
|
||||
|
||||
app = QApplication([])
|
||||
f = QRawFont.fromFont(QFont("Noto Sans CJK SC", 20))
|
||||
|
||||
assert f.styleName() == "Regular", f.styleName()
|
||||
'';
|
||||
in ''
|
||||
machine.wait_for_x()
|
||||
machine.succeed("${script}")
|
||||
'';
|
||||
})
|
|
@ -59,6 +59,7 @@ let
|
|||
./patches/qtbase-qmake-mkspecs-mac.patch
|
||||
./patches/qtbase-qmake-pkg-config.patch
|
||||
./patches/qtbase-tzdir.patch
|
||||
./patches/qtbase-variable-fonts.patch
|
||||
# Remove symlink check causing build to bail out and fail.
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/23251
|
||||
(fetchpatch {
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
From 9ba9c690fb16188ff524b53def104e68e45cf5c3 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Cao <nickcao@nichi.co>
|
||||
Date: Tue, 21 Mar 2023 15:48:49 +0800
|
||||
Subject: [PATCH] Deal with a font face at index 0 as Regular for Variable
|
||||
fonts
|
||||
|
||||
Reference: https://bugreports.qt.io/browse/QTBUG-111994
|
||||
---
|
||||
src/gui/text/unix/qfontconfigdatabase.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/gui/text/unix/qfontconfigdatabase.cpp b/src/gui/text/unix/qfontconfigdatabase.cpp
|
||||
index 9b60cf2963..5a42ef6a68 100644
|
||||
--- a/src/gui/text/unix/qfontconfigdatabase.cpp
|
||||
+++ b/src/gui/text/unix/qfontconfigdatabase.cpp
|
||||
@@ -554,6 +554,7 @@ void QFontconfigDatabase::populateFontDatabase()
|
||||
FcObjectSetAdd(os, *p);
|
||||
++p;
|
||||
}
|
||||
+ FcPatternAddBool(pattern, FC_VARIABLE, FcFalse);
|
||||
fonts = FcFontList(nullptr, pattern, os);
|
||||
FcObjectSetDestroy(os);
|
||||
FcPatternDestroy(pattern);
|
||||
--
|
||||
2.39.2
|
||||
|
Loading…
Reference in a new issue