Review Request 116065: Implement FontLoader type.
Nikita Skovoroda
chalkerx at gmail.com
Sat Apr 12 23:45:19 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/116065/
-----------------------------------------------------------
(Updated April 12, 2014, 11:45 p.m.)
Review request for QML Web and Anton Kreuzkamp.
Changes
-------
Fix issues:
1) Inline the function that is called only from one place.
2) Use console.warn instead of console.log to warn the user about missing FontLoader.js library, use the correct "QtQuick FontLoader" name.
Repository: qmlweb
Description
-------
Implement FontLoader type.
See http://qt-project.org/doc/qt-5/qml-qtquick-fontloader.html and http://qt-project.org/doc/qt-4.7/qml-fontloader.html
This currently depends on smnh's MIT-licensed FontLoader.js library
to get notifications when a font is loaded and trigger all events in time.
Elements that are using that font through 'font.family: fontId.name' get their dimensions recalculated correctly when the font loads.
If FontLoader.js is not provided the font is still loaded, but 'status' property is set to Error and dimensions recalculation is triggered after a fixed timeout (3 seconds).
In this case the user gets a notice in console.log.
Timeout (3 seconds) is the maximum time for a font to load. If font isn't loaded in this time, status is set to Error.
Without FontLoader.js dimensions recalculations for elements are triggered after that time.
For both cases (with and without FontLoader.js) if the font takes more than this time to load, dimensions recalculations for elements that are using this font will not be triggered or will have no effect.
On the other hand, if the font could not be loaded (with FontLoader.js enabled), the Error status will be set only when this timeout expires.
Diffs (updated)
-----
src/qtcore.js a3f408e
Diff: https://git.reviewboard.kde.org/r/116065/diff/
Testing
-------
Works as expected (as described above) with or without FontLoader.js.
Tested cases when the font should load and when it should fail to load.
Tested «Text {font.family: fontId.name}» dimensions recalculations.
Works well for me.
Thanks,
Nikita Skovoroda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/qmlweb/attachments/20140412/a373eb3e/attachment-0001.html>
More information about the QmlWeb
mailing list