[Interest] QML and application fonts
Harri Pasanen
harri at mpaja.com
Mon Nov 10 11:47:28 CET 2014
On 10/11/2014 09:02, Rutledge Shawn wrote:
> On 10 Nov 2014, at 08:30, Harri Pasanen <harri at mpaja.com> wrote:
>
>> Hi,
>>
>> I've been playing with the font support in Qt.
>> In C++ I'm able to define and select a custom application font with
>> font.setFamily("MyCoolFont"),
>> but on the QML side something like
>>
>> Text {
>> anchors.centerIn: parent
>> text: "Test font"
>> font.family: "MyCoolFont"
>> }
>>
>> seemingly does nothing.
>>
>> Am I missing something, or is this just not implemented yet?
> Yes it should work, as long as that’s an OS installed font. If it isn’t installed, then you might want to use a FontLoader:
>
> http://qt-project.org/doc/qt-5/qml-qtquick-fontloader.html
>
> But if it works in C++ but not in QML, there might be a bug, so tell us more about what system you are using, and how and where the font is installed.
>
> You can also try qtdeclarative/examples/quick/text/fonts/availableFonts.qml to see samples of all installed fonts, and see if the one you want is in the list.
On 10/11/2014 09:02, Rutledge Shawn wrote:
> On 10 Nov 2014, at 08:30, Harri Pasanen <harri at mpaja.com> wrote:
>
>> Hi,
>>
>> I've been playing with the font support in Qt.
>> In C++ I'm able to define and select a custom application font with
>> font.setFamily("MyCoolFont"),
>> but on the QML side something like
>>
>> Text {
>> anchors.centerIn: parent
>> text: "Test font"
>> font.family: "MyCoolFont"
>> }
>>
>> seemingly does nothing.
>>
>> Am I missing something, or is this just not implemented yet?
> Yes it should work, as long as that’s an OS installed font. If it
> isn’t installed, then you might want to use a FontLoader:
>
> http://qt-project.org/doc/qt-5/qml-qtquick-fontloader.html
>
> But if it works in C++ but not in QML, there might be a bug, so tell
> us more about what system you are using, and how and where the font is
> installed.
>
> You can also try
> qtdeclarative/examples/quick/text/fonts/availableFonts.qml to see
> samples of all installed fonts, and see if the one you want is in the
> list.
Well, in C++ I used QFontDatabase::addApplicationFontFromData(), in the
hope that it would be available for use.
But I suppose Qt.fontFamilies() does not merge with
QFontDatabase::applicationFontFamilies()...
I presume FontLoader uses QFontDatabase::addApplicationFontFromData()
under the covers, but apparently something more needs to be done to make
QML see it.
Anyway, thanks for the pointers, at least I know it should be doable.
Harri
More information about the Interest
mailing list