Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-53377

Theme font ignored in QQC2 due to not exact match

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.7.0 Beta
    • Fix Version/s: 5.7.0
    • Component/s: Quick: Controls 2
    • Labels:
      None
    • Environment:
      Mageia Linux Cauldron x86_64.
    • Commits:
      82c422b5b1c81f0572fdb2be1efba900200680d8

      Description

      When code from themes set font it calls QFont::exactMatch(). But I've found, that function always return false, even if the font available. This is output from debugger in QFontDef::exactMatch(), that is called by exactMatch() when Material theme is used:

      other	@0x854f00	QFontDef &
              fallBackFamilies	<0 элементов>	QStringList
              family	"Roboto"	QString
              fixedPitch	0	uint
              fixedPitchComputed	0	uint
              hintingPreference	0	uint
              ignorePitch	0	uint
              pixelSize	13	qreal
              pointSize	9.75	qreal
              reserved	0	int
              stretch	100	uint
              style	0	uint
              styleHint	5	uint
              styleName	"Regular"	QString
              styleStrategy	1	uint
              weight	50	uint
      other_family	<недоступно>	QString
      other_foundry	""	QString
      this	@0x874558	QFontDef
              fallBackFamilies	<0 элементов>	QStringList
              family	"Roboto"	QString
              fixedPitch	0	uint
              fixedPitchComputed	0	uint
              hintingPreference	0	uint
              ignorePitch	1	uint
              pixelSize	-1	qreal
              pointSize	10	qreal
              reserved	0	int
              stretch	100	uint
              style	0	uint
              styleHint	5	uint
              styleName	""	QString
              styleStrategy	1	uint
              weight	50	uint
      this_family	<недоступно>	QString
      this_foundry	""	QString
      

      Though fonts are found, some parameters mismatch: pixelSize, pointSize and ignorePitch. I don't know, is it a bug in Qt font system or exactMatch() shouldn't be used this way.

      On my system I have no font installed system-wide, I loaded the font using QFontDatabase::addApplicationFontFromData(), but this may be reproducible when font installed into system too.

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            krnekit Nikita Krupenko
            Reporter:
            krnekit Nikita Krupenko
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes