telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
26.22k stars 5.2k forks source link

Thai font broke after upgrade to v4.6.0 #25825

Closed icez closed 1 year ago

icez commented 1 year ago

Steps to reproduce

With reference to issue https://github.com/telegramdesktop/tdesktop/issues/7845 . The situation is about the same. The previous stable version on Windows OS seems to use Tahoma for displaying Thai language but on v4.6.0 it seems to change to another font which cause Thai word to be too small compare to other.

v4.6.0 https://imgur.com/rvIdiAF

v4.5.3 https://imgur.com/o27t0T9

Expected behaviour

v4.5.3 https://imgur.com/o27t0T9

Actual behaviour

v4.6.0 https://imgur.com/rvIdiAF

Operating system

Windows 11

Version of Telegram Desktop

v4.6.0

Installation source

Static binary from official website

Logs

No response

ilya-fedin commented 1 year ago

The v4.6.0 link is unavailable, it's better to load images on github. But there indeed was a change in retrieving default system font for better UX on High-DPI, the used API is upgraded from Windows XP one to the Windows 7 one. So I don't think it's really broken, just a more modern font is used.

icez commented 1 year ago

Re-uploaded here:

v4.6.0 rvIdiAF

v4.5.3 o27t0T9

It looks like the default system font detected is not optimal to use on low DPI screen. Is it possible to force/change font setting in the app?

ilya-fedin commented 1 year ago

No, it's not possible to change font and adding such an option is non-trivial and is not planned (#90). The API change is backported from Qt 6, can you check any Qt application (e.g. qBittorrent has Qt 6 builds)? If its font is good then maybe the backport is incomplete, if it's the same, it's better to report to Qt and when Qt developers produce a fix, it could be backported.

icez commented 1 year ago

Not sure if the user-generated content will be fine but UI looks fine to me. qTorrent 4.5.0 running on Windows 11 & change app language to Thai.

c-20230204-140142

ilya-fedin commented 1 year ago

Does it use another font or just the text is bigger?

ilya-fedin commented 1 year ago

Also, are you sure you checked qBittorrent built with Qt 6 exactly? Qt 5 version would use the legacy API tdesktop used previously.

icez commented 1 year ago

I just noticed that I downloaded the qt5 version. Here's from Qt 6. So this seems to be Qt6 problem.

image

ilya-fedin commented 1 year ago

btw, I just checked and I can't reproduce your problem, so it might be that some additionally installed fonts (that may happen even automatically when installing software) caused this. So prepare that Qt developers may not reproduce your problem when you will report this to them and you will have to find what installed the breaking font by installing Windows into VM and installing software you use or copying your host fonts into it.

ilya-fedin commented 1 year ago

You can also try the Linux font rendering engine by typing freetype cheat code

ilya-fedin commented 1 year ago

If the question is for me then the answer is no

icez commented 1 year ago

Tried 'freetype' & back to GDI. No difference.

I've checked with many friends and they're all having this problem. I'll try changing the default Windows font and see if there's any change to this. I'll report back later

ilya-fedin commented 1 year ago

Hmm, maybe it's a font that is present only in Thai version of Windows? Changing default font is unlikely to help, what you see is likely to be caused by Qt's fallback logic that just tries all the fonts in the system in alphabetical order and picks up the first one that claims to have a glyph for the character.

likecyber commented 1 year ago

Hmm, maybe it's a font that is present only in Thai version of Windows? Changing default font is unlikely to help, what you see is likely to be caused by Qt's fallback logic that just tries all the fonts in the system in alphabetical order and picks up the first one that claims to have a glyph for the character.

This is true, I used the software to copy and rename the font name of "Tahoma" to "_Tahoma" and install it on my Windows. The Telegram Desktop app does take effect by the copied fonts, now it looks like the previous version!

If anyone wants to copy and rename the font name, you can use the software named "FontForge" or "Typograf". Make sure to do it both on tahoma.ttf and tahomabd.ttf. Otherwise, it may look weird on some parts of the Telegram app.

iBug commented 1 year ago

I'd like to add that a popular workaround for Chinese font issue on English systems is also broken in v4.6.

In English installations of Windows 10, the default font fallback lists all put Microsoft JhengHei (MSJH, Japanese font) above Microsoft YaHei (MSYH, Simp./Trad. Chinese), causing streams of Chinese characters to be rendered in both fonts.

A common solution is editing the registry to manually prioritize MSYH over MSJH (link), which worked until TDesktop v4.6.

I have dug through the registry for hours and could not get the same solution to work anymore.

iBug commented 1 year ago

This is true, I used the software to copy and rename the font name of "Tahoma" to "_Tahoma" and install it on my Windows.

@likecyber Can you elaborate a bit more on this? Did you install a copy of the Tahoma font as "_Tahoma"? Did you remove the original Tahoma font (i.e. the system no longer has a font named "Tahoma")?

likecyber commented 1 year ago

This is true, I used the software to copy and rename the font name of "Tahoma" to "_Tahoma" and install it on my Windows.

@likecyber Can you elaborate a bit more on this? Did you install a copy of the Tahoma font as "_Tahoma"? Did you remove the original Tahoma font (i.e. the system no longer has a font named "Tahoma")?

Yes, I did install a copy of the Tahoma font family as "_Tahoma". (tahoma.ttf + tahomabd.ttf) I did not remove the original Tahoma font as it may break some display parts of Windows and apps.

The reason behind putting the underscore before the name is to make it the first font for alphabetical order fallback.

This way I will also have the original Tahoma and a copy of Tahoma on the same computer. It will fix the Telegram Desktop app and also not break Windows and other apps.

itorz7 commented 1 year ago
likecyber commented 1 year ago

If anyone really needs a quick fix for this issue, you may install the fonts I renamed from this repository. This is just a temporary quick fix. The explanation can be read inside the repository.

It should work for any language that uses Tahoma as the display font in the previous version.

https://github.com/likecyber/Tahoma-For-Telegram

tiietee commented 1 year ago

If anyone really needs a quick fix for this issue, you may install the fonts I renamed from this repository. This is just a temporary quick fix. The explanation can be read inside the repository.

It should work for any language that uses Tahoma as the display font in the previous version.

https://github.com/likecyber/Tahoma-For-Telegram

This works so well. You save my life! Thank you soooooo much. TT

Mynameisone commented 1 year ago

@likecyber Thank you soooooo much.you good bro

totoguy commented 1 year ago

@Aokromes You've merged the Hebrew issue with this one, but none of the suggested workarounds here resolve the Hebrew one. At least for me.

ilya-fedin commented 1 year ago

It likely means Hebrew is a part of Segoe UI and so is not a bug. If you don't like the font size, well, you can change scale.

charnsak commented 1 year ago

Using Thai and also faced the same problem. The quick fix with renamed Tahoma work. Thank you for the work around. The small font hurt my eye so much

icez commented 1 year ago

This issue should now be closed. I'll try submit issue to Qt.

veer66 commented 1 year ago

This issue should now be closed. I'll try submit issue to Qt.

Please share to us the link to the Qt bug after you submit the issue.

Artur2048 commented 1 year ago

Why is this issue closed without fixing? Yes. i know there is some workaround that allows to enlarge Thai font, but from users perspective this issue is not resolved. (Yes I understand the problem is in the Qt library...)

I'm using Telegram long time already. After upgrading to v4.6.0 fonts became TINY for Thai language. v4.6.1 didn't change anything as well

My solution: I downgraded Telegram to v4.5.3 and it did resolve my problem.

I have 2 laptops - one running Windows 11, another running Windows 10. On both laptops i use Telegram Desktop and the Thai font since v4.6.0 became SO SMALL it was completely unreadable. As i understand this problem also affects many other languages with "non-latin" characters.

@icez Why is this issue closed? Please kindly reopen this ticket and fix Telegram. even if the real "root cause" is in Qt library, it's still "a problem with Telegram" from the users perspective. I have downloaded app from Telegram official website, it doesn't work as expected... and it used to work well until 4.5.3. please include some fix/workaround for the "broken library" in Telegram. otherwise it will affect millions of your users. 99%+ of Telegram users don't even use Github, and most certainly don't know what Qt is :) If they download application from official website, they expect it to work well. v.4.6.0/4.6.1 is completely useless for people who use languages affected by this problem. If an application is utilizing a library with broken functionality it should include some kind of workaround in the app code until the functionality in the library is fixed (even if it's "not Telegrams fault").

Please kindly consider making it work the way it used to work in 4.5.3

ilya-fedin commented 1 year ago

Please kindly consider making it work the way it used to work in 4.5.3

It it were so easy then that bug didn't exist at all. The problem is the old (pre-Qt6) way of determining font doesn't work properly on Win11 with High-DPI.

Artur2048 commented 1 year ago

It doesn't work properly on Both - Windows 11 and 10. Sure i believe it's "not Telegram fault" but "Qt fault". ... But in this case either some workaround should be introduced in Telegram code or there should be maybe some setting that would allow users to turn off that new feature that broke our fonts.

Believe me, everyone around here would rather look at "old, ugly, low dpi font" rather than text which is literally 2mm high

It was working OK in 4.5.3 so... It's possible to make it work again I'm sure

(BTW end users of windows based systems don't usually manually install Qt, etc. They download official Telegram app from Telegram website,... And it doesn't work.... And it used to!)

On top of that there is no solution on telegram website and no link to download 4.5.3

If it doesn't get fixed soon you can loose a lot of users. They will switch over to web versions, etc... (guys, we cannot read text 2mm big).

I'm IT professional, so I can try to mess up with font settings or downgrade Telegram (I chose downgrade). ... But for "regular users" that use those "other languages" the app just became useless

On Tue, Feb 7, 2023, 12:40 ilya-fedin @.***> wrote:

Please kindly consider making it work the way it used to work in 4.5.3

It it were so easy then that didn't exist at all. The problem isthe old (pre-Qt6) way of determining font doesn't work properly on Win11 with High-DPI.

— Reply to this email directly, view it on GitHub https://github.com/telegramdesktop/tdesktop/issues/25825#issuecomment-1420229140, or unsubscribe https://github.com/notifications/unsubscribe-auth/APCCWGHLAG4RTEIDHKSYCLTWWHN5RANCNFSM6AAAAAAUQ7TR2Q . You are receiving this because you commented.Message ID: @.***>

ilya-fedin commented 1 year ago

It's not that "old ugly low dpi" font, it's that behavior of Windows has changed in new versions and now the old API returns font size of 3px (the more DPI is, the less font size is). So we're in position between bad font fallback for Thai users or unreadable font size for everyone.

Artur2048 commented 1 year ago

V4.5.3 was actually readable for everyone 🙂 As I said I was forced to downgrade and now the text looks fine for me in English and in Thai.

Also, the issue affects not only Windows 11, but also Windows 10. (my other laptop uses Windows 10 with all the "feature updates" disabled. Only security updates)

When I upgraded Telegram to 4.6.0 on both laptops I lost the possibility to read Thai on both of them.

Application like this one (yes. I know... No warranty, use at your own risk, etc) should work out of the box. WhatsApp works Line works Telegram 4.5.3 works ... Telegram 4.6.x does not

I'm a big fan of telegram. I promote it and I already "converted" many people and convinced them to create account. ... Now I'm sending GitHub links to Telegram 4.5.3 download :-(

On Tue, Feb 7, 2023, 12:55 ilya-fedin @.***> wrote:

It's not that "old ugly low dpi" font, it's that behavior of Windows has changed in new veersions and now the old API returns font size of 3px. So we're in position between bad font fallback for Thai users or unreadable font size for everyone.

— Reply to this email directly, view it on GitHub https://github.com/telegramdesktop/tdesktop/issues/25825#issuecomment-1420238638, or unsubscribe https://github.com/notifications/unsubscribe-auth/APCCWGALEPYLXAJ6NCPCTEDWWHPUHANCNFSM6AAAAAAUQ7TR2Q . You are receiving this because you commented.Message ID: @.***>

ilya-fedin commented 1 year ago

V4.5.3 was actually readable for everyone slightly_smiling_face

I'm grad to hear this wasn't affecting you. This is definitely not 'for everyone' though.

Artur2048 commented 1 year ago

(it probably affects many other languages as well...) (you could change font? Change library? Or add some settings to allow users to "switch to the old way" somewhere).

Instead if just defending that the bug "is not in my code so it's OK", think about millions of users you might lose if it's not fixed soon... Please think about users, not just "my piece of code".

Looking forward for this issue to be resolved, and I'd be happy to test new versions and provide feedback if needed.

Again, I'm really big fan of Telegram. It's my main communicator now..

(even though you might consider this issue to be some minor severity, I assure you there are millions of people for whom it will be a blocker)

All the best, -Artur

On Tue, Feb 7, 2023, 13:09 ilya-fedin @.***> wrote:

V4.5.3 was actually readable for everyone slightly_smiling_face

I'm grad to hear this wasn't affecting you. This is definitely not 'for everyone' though.

— Reply to this email directly, view it on GitHub https://github.com/telegramdesktop/tdesktop/issues/25825#issuecomment-1420249688, or unsubscribe https://github.com/notifications/unsubscribe-auth/APCCWGHTI4ERQP437FE5YIDWWHRINANCNFSM6AAAAAAUQ7TR2Q . You are receiving this because you commented.Message ID: @.***>

ilya-fedin commented 1 year ago

you could change font? Change library? Or add some settings to allow users to "switch to the old way" somewhere

If you ask to change the main inteface font then the answer is sadly no, this is not allowed as it's a part of the design. Adding font choosing is also not allowed as Telegram prefers to have as less options as possible. Switching from Qt library to antoher means rewriting tdesktop entirely, unrealistic. "switch to the old way" sounds like adding an option and the answer is the same as with choosing the font.

Instead if just defending that the bug "is not in my code so it's OK", think about millions of users you might lose if it's not fixed soon... Please think about users, not just "my piece of code".

Well, no one said that, there was a try to fix this in 4.6.1 and it's mentioned in the changelog, sadly it was not successful and even introduced a regression for CJK users.

iBug commented 1 year ago

Then why is this issue closed in the first place? From an end user's perspective, this issue is not resolved, yet you keep marking new issues as "duplicate" of this one. This only leaves users confused, and is not constructive towards a proper resolution of the actual problem.

ilya-fedin commented 1 year ago

The issue was closed by the reporter

iBug commented 1 year ago

The issue was closed by the reporter

Maintainers can reopen issues regardless of who closed them.

ilya-fedin commented 1 year ago

Well, personally I don't have the right to manage issues

Artur2048 commented 1 year ago

Exactly,

Issue should remain open until resolved or rejected (for example, if Telegram creators decide to officially not support languages other than English.)

Yes,there were SIMILAR issues open I've seen.. Some for different language, etc. ... It just means there were multiple incidents caused by the same problem. ... You can just link them together i guess if they have exactly the same root cause.

It's also important for the maintainers / developers to understand that it's not just small cosmetic issue. ... It really renders Telegram Desktop unusable for millions of people.

Think about that please... (and yes. There is plenty you could do in the app code apart from raising a ticket with the Qt lib and closing this one)

On Tue, Feb 7, 2023, 13:51 iBug @.***> wrote:

The issue was closed by the reporter

Maintainers can reopen issues regardless of who closed them.

— Reply to this email directly, view it on GitHub https://github.com/telegramdesktop/tdesktop/issues/25825#issuecomment-1420280139, or unsubscribe https://github.com/notifications/unsubscribe-auth/APCCWGDT5T375643ZM4LFI3WWHWFXANCNFSM6AAAAAAUQ7TR2Q . You are receiving this because you commented.Message ID: @.***>

Artur2048 commented 1 year ago

Please think about users first. This (minor for you) problem makes millions of people unable to use your app. How's that?

And again, I'm not writing this just to argue. I really care about Telegram future and it's ability to spread in Asia more... It was working well, it got broken by 4.6.0+ ... That's how users will see it. (and now they see the issue was CLOSED, and the problem declared "invalid" / "concerning 3rd party app")

From users perspective - they download official Telegram app from official website and install it on "supported" OS. ... and it doesn't work (well if I can't read text because it's 2mm high, it doesn't work).

how come 4.5.3 is still OK?

Please think about millions of users this "upgrade" affected.

On Tue, Feb 7, 2023, 13:54 ilya-fedin @.***> wrote:

Well, personally I don't have the right to manage issues

— Reply to this email directly, view it on GitHub https://github.com/telegramdesktop/tdesktop/issues/25825#issuecomment-1420282578, or unsubscribe https://github.com/notifications/unsubscribe-auth/APCCWGFW5P6EKQF6HTVSHG3WWHWR7ANCNFSM6AAAAAAUQ7TR2Q . You are receiving this because you commented.Message ID: @.***>

ilya-fedin commented 1 year ago

If you write this not to argue then I don't understand why do you continue to write, you were informed that an attempt to fix was attempted, but was not successful, your posts won't make the next attempt developed faster

Artur2048 commented 1 year ago

Because the status "CLOSED" suggests the issue is either resolved or rejected... And also suggests that nothing more will be ever done.

If the "unsuccessful attempt" to fix this issue was made in 4.6.1, then the issue should be reopened. (to assure YOUR USERS that you are still aware of the problem, and will try to do something about it... Not just explain its not your fault...)

If I saw the status "open" probably i would not write anything in the first place. I would assume that issue was already raised and well documented, and someone is working on it.

That's it.

Have a great day. -Artur

On Tue, Feb 7, 2023, 14:15 ilya-fedin @.***> wrote:

If you write this not to argue then I don't understand why do you continue to write, you were informed that an attempt to fix was attempted, but was not successful, your posts won't make the next attempt developed faster

— Reply to this email directly, view it on GitHub https://github.com/telegramdesktop/tdesktop/issues/25825#issuecomment-1420301221, or unsubscribe https://github.com/notifications/unsubscribe-auth/APCCWGGL6OWNMT7P5NZERW3WWHZAFANCNFSM6AAAAAAUQ7TR2Q . You are receiving this because you commented.Message ID: @.***>

Artur2048 commented 1 year ago

Thank you very much.

If you need any retest (with pre-release version) I'll be more than happy to help.

Best regards, -Artur

On Tue, Feb 7, 2023, 14:23 icez @.***> wrote:

Reopened #25825 https://github.com/telegramdesktop/tdesktop/issues/25825 .

— Reply to this email directly, view it on GitHub https://github.com/telegramdesktop/tdesktop/issues/25825#event-8454832104, or unsubscribe https://github.com/notifications/unsubscribe-auth/APCCWGAF6DZTQVBUYVCJAF3WWHZ7HANCNFSM6AAAAAAUQ7TR2Q . You are receiving this because you commented.Message ID: @.***>

nonene-n commented 1 year ago

An in-app customizable font setting would be an ideal feature to add to telegram.

forgotPassword commented 1 year ago

+1 for the Hebrew issue. Scaling does not fix the issue. The font itself is much thinner and used to be considerably bolder, scaling does not change that. @ilya-fedin your approach to all the issues about this bug was that it's either the users problem or qt's problem. Please understand that for years the font in Telegram was ok and now it is barely readable. 99% of users don't know about this github thing and where to notify you that something is wrong. Waiting years for some other platform to fix it is not a solution. You should rollback this change.

7Vlad commented 1 year ago

+1 with Russian language. Same problem. Back to V4.5.3

ilya-fedin commented 1 year ago

You should rollback this change.

Rolling back will lead to the initial issue restored. A way to fix both issues should be found;

+1 with Russian language.

Russian is a part of the embedded Open Sans font, it couldn't be affected.

fordantitrust commented 1 year ago

I tested with Artifacts One more fonts fix and fix paste from clipboard. #4442. It's fixed this issue.

I think in the next release build this should be fixed.

john-preston commented 1 year ago

@fordantitrust Thank you for confirming.

7Vlad commented 1 year ago

You should rollback this change.

Rolling back will lead to the initial issue restored. A way to fix both issues should be found;

+1 with Russian language.

Russian is a part of the embedded Open Sans font, it couldn't be affected.

not if you have several languages on computer and russian is not main display language. I had this problem and when I rollback to v4.5.3 the problem disappear.

Artur2048 commented 1 year ago

Yes. My windows are also not Thai. Display language is English.. I just use multiple languages in chat.

On Tue, Feb 7, 2023, 17:37 Vlad @.***> wrote:

You should rollback this change.

Rolling back will lead to the initial issue restored. A way to fix both issues should be found;

+1 with Russian language.

Russian is a part of the embedded Open Sans font, it couldn't be affected.

not if you have several languages on computer and russian not display language. I had this problem and when I reinstall 4.5.3 the problem disappear.

— Reply to this email directly, view it on GitHub https://github.com/telegramdesktop/tdesktop/issues/25825#issuecomment-1420555790, or unsubscribe https://github.com/notifications/unsubscribe-auth/APCCWGD2JVXPL64F77YKNA3WWIQX5ANCNFSM6AAAAAAUQ7TR2Q . You are receiving this because you commented.Message ID: @.***>