muesli / telephant

A lightweight but modern Mastodon client for the desktop
MIT License
190 stars 14 forks source link

Add font and emoji font settings #66

Closed tachiniererin closed 3 years ago

tachiniererin commented 4 years ago

This makes it possible to set custom fonts for the application. It also adds a separate setting for which font should be used for Emojis and parses display names and posts to put the emojis into font tags. It's also a bit of preparation for supporting custom emojis, as that would be the same logic, just replacing with img tags and such.

It also upgrades the imports in the qml files to the most recent supported ones in Qt 5.13. This one cost me a fair bit of my sanity actually, because if couldn't figure out at all why the emojis showed up rendered all over the place and just not right at all. Turns out that imports are "use exactly this version" and not "minimum version" which means all the bugs are preserved too.

As therecipe/qt supports 5.13 and 5.12 right now, i just went ahead and looked up which the most recent versions are and bumped it to those.

muesli commented 4 years ago

Again, nice work, thank you! :heart:

I'm a bit worried about bumping the Qt dependency to 5.13 though, as 5.12 is still the most recent version supported by various flavors of Debian, Ubuntu, and other distros. Do we actually require newer Qt APIs not available under 5.12? Any important bugfixes we inherit from a newer Qt?

tachiniererin commented 4 years ago

I think the relevant parts should already be fixed in 5.12, i'll test it and update the PR then to lower the version.

muesli commented 4 years ago

Fantastic!

tachiniererin commented 4 years ago

I just tested it locally, and now the behaviour is broken with 5.13 and 5.12 :facepalm: I need to investigate this a bit further but with 5.12 emoji rendering should already be alright and as far as i remember it was fixed in 5.11.

I need to check what changed in my setup and probably build a binary in docker to make sure it's deterministic ^^

muesli commented 4 years ago

If there's anything I can help with, never hesitate to ask! Fwiw, you can also reach me on IRC (Freenode nick muesli) should you be on there.

tachiniererin commented 4 years ago

I just need some more sleep to fix it probably :D but thanks for the offer, I'm sure i'll come up with some more problems which will need help then ;)

muesli commented 4 years ago

Oh, in case you missed it in the README: there's a "fairly" deterministic way to use qtdeploy inside a docker container:

$(go env GOPATH)/bin/qtdeploy -docker build linux
muesli commented 4 years ago

Just tried this PR out, but noticed that the QtQuick.Dialogs import seems to point to an incorrect version 1.11. It looks like 1.3 may be the latest release?

qml: Error loading component (MessagePopup.qml): qrc:/qml/MessagePopup.qml:5 module "QtQuick.Dialogs" version 1.11 is not installed
muesli commented 3 years ago

Hey @tachiniererin!

Just a heads up: I'd still love to merge this! Would you mind changing the QtQuick.Dialogs import version to 1.3? (see my previous comment)

Thank you!

bionade24 commented 3 years ago

Hey @tachiniererin!

Just a heads up: I'd still love to merge this! Would you mind changing the QtQuick.Dialogs import version to 1.3? (see my previous comment)

Thank you!

Aren't you capable of editing this PR as maintainer ?

tachiniererin commented 3 years ago

Sorry, I completely forgot about this. I just pushed it.

muesli commented 3 years ago

Aren't you capable of editing this PR as maintainer ?

One typically can do that indeed. However I often restrain myself from doing it, unless the original author was made aware beforehand, simply out of politeness.

muesli commented 3 years ago

Sorry, I completely forgot about this. I just pushed it.

Thank you :heart: