SUMMARY When trying to open a document created in 4.4.7 the text has a different letter intervals, which makes the text longer. STEPS TO REPRODUCE 1. Open Krita 4.4.7 2. Create some text on a vector layer 3. Create a copy of vector layer and rasterize it via 'Convert->to Paint Layer' 4. Save the document 5. Open in Krita 5 6. See that the vector text is not the same as in the rasterized layer Mind you, both Krita 4.4.7 and Krita 5 should run on exactly the same PC with the same display. The display resolution is used for the text size in 4.4.7. This bug is reproducible **on Windows only**. On Linux it works perfectly fine.
Created attachment 140627 [details] Screenshot of the problem Green is a rasterized version rendered in Krita 4.4.7. Red is how it is rendered in Krita 5.0
I can confirm this for the Aug 10 5.0.0-prealpha (git 25469210a1) portable .zip on Windows 10. I notice that a warning statement is shown when opening the .kra file.
Created attachment 142432 [details] Qt patches between v4.4.7 and v5.0.0-beta2 git diff v4.4.7 v5.0.0-beta2 -- 3rdparty\ext_qt\CMakeLists.txt shows that there are a few patches on windows related to fractional DPI?
Hm... hidpi patches is a good hypothesis... I will check it by trying to compile Krita 4.4.8 with the current state of dependencies
Hi, Amyspark! Your hypothesis seems to be somewhat correct. I have done several tests and got the following results: 1) Two options "Enable HiDPI Scaling" and "Enable Fractional Scaling" influence on how Krita 4.4.7 renders text on the canvas. Basically, all three combinations generate different result in 4.4.7 :( 2) When both options are enabled (both, in Krita 4.4.7 and in Krita 5.0), Krita 5.0 can open the saved file perfectly. 3) If at least one option is disabled, then Krita 5.0 renders the text 1.5%-2% smaller than the original, even when the options have the same value in Krita 5.0
Okay, I have finally built 4.4.7 with the current set of dependencies, and I cannot reproduce the issue there. So the problem is not really in different patchset over Qt, but in the way how we treat hidpi settings when converting legacy text into the new format.
Git commit b2052de3f9e4b764dd098c5d1555bceab1e97b68 by Dmitry Kazakov. Committed on 02/12/2021 at 12:24. Pushed by dkazakov into branch 'master'. Fix text size regression in Krita 5.0 QFont's constructor accepts pointSize as 'integer', so it truncates the value we pass. Therefore we need to set it separately. M +7 -1 libs/flake/text/KoSvgTextProperties.cpp https://invent.kde.org/graphics/krita/commit/b2052de3f9e4b764dd098c5d1555bceab1e97b68
Git commit 6b01116bede9460e150137ce4449c6859e0484e6 by Dmitry Kazakov. Committed on 02/12/2021 at 14:17. Pushed by dkazakov into branch 'krita/5.0'. Fix text size regression in Krita 5.0 QFont's constructor accepts pointSize as 'integer', so it truncates the value we pass. Therefore we need to set it separately. M +7 -1 libs/flake/text/KoSvgTextProperties.cpp https://invent.kde.org/graphics/krita/commit/6b01116bede9460e150137ce4449c6859e0484e6