Skip to content

Fix size of the rendered fonts in Krita

Dmitry Kazakov requested to merge dkazakov/krita:kazakov/font-size-fix into master

This is a follow-up for this MR: !528 (closed)

Qt has a bug. When requesting font from the font database (in QFontDatabase::load()), Qt scales its size by the that is to assign QTextDocument to QTextLayout, which is not current primary display DPI. The only official way to disable something we would like to do. So we do the hackish way, we just prescale the font with inverted value.

This hack changes only the rendering process without touching the way how the text is saved into .kra or .svg. That is nice, but it means it also affects how old files are renderred. To let the user open older files we provide a preference option to enable this scaling again.

NOTE: the hack is not needed for pixel-measured fonts, they seem to render correctly. Pity we don't use them in our SVG code (partially because they don't allow fractional-sized fonts).

BUG:404011

Edited by Dmitry Kazakov

Merge request reports