Determining the fonts needed by an application

  • I've successfully built Qt 5.3.1 and some of the example application for my embedded ARM device. I've been able to get the applications to work, but the fonts are a problem - they display as little squares on the screen.

    So, after reading "this Qt documentation about fonts": and a some other forum postings and Google results, I simply copied Arial.ttf from the Windows machine to the /qt5/lib/fonts directory on my target - but without success.

    Also, that link talks about QBasicFontDatabase, but there is no such class listed in the Qt documentation.

    Is there a way to get more information, either from Qt or from an App, via a tool or maybe some temporary code, to find out exactly why text isn't rendering? Is it a file that's not found (what is the filename it's looking for?), the file is in the wrong format, I'm missing the Freetype library, etc. I'm assuming there is some sort of name resolution and fallback going on, but if my device only has a single font, would it not use that for all places it needs a font?

  • I have installed Qt 5.3.1 from the website and I'm facing a similar problem, see my "thread":

    Someone any thoughts?

  • Try setting the following environment variable with the location where font files are present:

    export QT_QPA_FONTDIR=/home/Sid/fonts

    Whatever fonts you try to use should be in the above path.

  • In my case the fonts suddenly changes in green squares when I click on the Examples button or on the Tutorials button in the Welcome plugin.

    So I will have to find out why it changes.

  • Hi Jan-Willem,
    I think this is QT Creator issue. I do not use QT creator in my projects. I think it is some language pack issue. May be you can try going to Tools-->Options-->Environment-->General--> Language.

    Try setting language from drop down menu again..
    May be that can resolve your issue.


  • Thank for your help, but sadly your advice doesn't work.
    Though I agree that it is related to QtCreator or, as statedby someone else, possibly the system/user configuration

    However, since it is not very polite of me to take over this thread, I will return to my own. ;-)
    This just looked like a similar question.


Log in to reply