FS#38355 - [qt5-base] enable harfbuzz

Attached to Project: Arch Linux
Opened by Сковорода Никита (ChALkeR) - Thursday, 02 January 2014, 11:24 GMT
Last edited by Andrea Scarpino (BaSh) - Friday, 03 January 2014, 11:57 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Andrea Scarpino (BaSh)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:
By default, Qt5 (v5.2.0) is built with built-in harfbuzz.old, which causes some issues.

Qt5 supports new harfbuzz (bundled with Qt5 itself or system-wide) and it can be enabled at configure time.

Probably, the best solution would be to use the system-wide harfbuzz, because it is already packaged in ArchLinux (extra/harfbuzz 0.9.24-1) and required by chromium, webkitgtk, texlive-bin, libreoffice-common, libass, pango packages.

This package https://projects.archlinux.org/svntogit/packages.git/tree/qt5/trunk/PKGBUILD should contain «-system-harfbuzz» configure flag and depend (via qt5-base subpackage) on harfbuzz package.

This would fix some font kerning issues in Qt 5.2 for some fonts, allow graphite2 rendering, and could fix some more font issues.

For more details, see https://bugreports.qt-project.org/browse/QTBUG-18980
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Friday, 03 January 2014, 11:57 GMT
Reason for closing:  Implemented
Additional comments about closing:  qt5-base 5.2.0-3
Comment by Andrea Scarpino (BaSh) - Thursday, 02 January 2014, 15:05 GMT
At the moment qt is built with the default flag which is no-harfbuzz.
Comment by Сковорода Никита (ChALkeR) - Thursday, 02 January 2014, 15:16 GMT
Just to make it clear:
Qt5 includes both the old harfbuzz (harfbuzz.old) and the new harfbuzz (harfbuzz-ng also packaged in ArchLinux as extra/harfbuzz), versions.

-no-harfbuzz [default] disables harfbuzz-ng and enables built-in harfbuzz.old (which is old and has rendering issues with new fonts)
-qt-harfbuzz enables built-in harfbuzz-ng (minimal copy without support for some features)
-system-harfbuzz enables system-wide harfbuzz-ng, and a dependency on extra/harfbuzz is added.

See https://qt.gitorious.org/qt/qtbase/source/v5.2.0:src/3rdparty, it includes harfbuzz (harfbuzz.old) and harfbuzz-ng (minimal copy of current harfbuzz) folders.
Comment by Andrea Scarpino (BaSh) - Thursday, 02 January 2014, 15:22 GMT
Oh, I thought harfbuzz == harfbuzz-ng for Qt guys, then I thought we have no harfbuzz support at all in current qt5 packages.

Thanks for pointing this out.
Comment by Сковорода Никита (ChALkeR) - Thursday, 02 January 2014, 15:44 GMT
Also, in both «-qt-harfbuzz» and «-system-harfbuzz» options users can revert to «-no-harfbuzz» behaviour at runtime by setting QT_HARFBUZZ environment variable to "old".

harfbuzz.old is always compiled with Qt (as of version 5.2.0).

Loading...