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

Chinese characters are missing when non-regular font style are specifed in QtQuick2

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.3.0, 5.4.1, 5.5.0
    • Fix Version/s: 5.6.0 Beta
    • Labels:
      None
    • Environment:
      Kubuntu15.04(Qt 5.4.1)
      Kubuntu14.10(Qt 5.3.0)
      Qt.5.5.1
      Ubuntu touch 15.04
    • Commits:
      39e023b805cf2be207ef7086f6951e789e020bda, a856c4a902816a7d691ca50e6f556521287be441

      Description

      if developer specifies font family with Non-Regular style, potential risk to encounter Chinese characters are missing in some cases .
      E.g

      import QtQuick 2.4 
      import QtQuick.Controls 1.3 
      
      ApplicationWindow {
          visible: true
          width: 1280
          height: 800 
      
          Text {
              anchors.centerIn: parent
              text: "系统设置"
              font.family: "Ubuntu"
              font.pixelSize: 69;
              font.weight: Font.Light
          }
      }
      

      Regarding the code snippets above.
      For Chinese characters, QFontDatabase will use fallback font family("Droid Sans Fallback") with "Light" style when add font Glyph.

      since QFontDatabase checks if default style(Regular) of fallback font family "Droid Sans Fallback" is same as font style specified in qml(Font.Light).
      And QFontDatabase::isSmoothlyScalable will return false in such a case, which results in scene graph will
      use QSGDefaultGlyphNode when createGlyphNode is called. Issue happens.
      However If scene graph doesn't prefer NativeGlyphNode and create GlyphNode based on Distance Field technique. It works fine.

      Need to only check styleKey when foundry->styles == specified style

      Please have a check with the testcases.qml attached.

        Attachments

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

          Activity

            People

            Assignee:
            esabraha Eskil Abrahamsen Blomfeldt
            Reporter:
            gary.wzl77 Gary.Wzl
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes