New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C++: Windows Fallback Font / Can't Type Multiple Newlines (interrelated bugs) #1065
Comments
Edit: another observation - if you start a line with "space," then suddenly you can input multiple newlines (and the cursor doesn't disappear anymore). i.e. type SPACE, then enter, enter, enter - it properly registers all the enters. But only if you begin with the space. |
Another scenario where I can't type a newline:
Again, the cursor disappears, and I'm unable to type a new line. In order to get it to let me type a new line, I have to type "space," then go back so that the cursor is between the attachment & space - then I can hit "enter" and it works. |
HA, there is a bug about this on https://gitlab.gnome.org/GNOME/gtk/-/issues/2394 |
if I set an environment var I would like to know how to set this stuff inside the program, so user don't have to do it. |
I added a temporary workaround for now, though it might cause other issues with fonts on windows. |
Cool, will let u know if I spot any |
Just built & tried the new version, it looks completely different - some letters are blurry & odd-looking (i.e. f's and t's), & overall looks nothing like Calibri. It's not really usable. However, I noticed that the ayout of my notes are completely different - there are a bunch of extra newlines now that weren't shown previously. So I went back to before the fallback font was added to see if this is an issue created wit the current build, or by the fallback. It's the fallback. In other words, the current version renders like the version pre-fallback, & all of the notes I added while the fallback was there actually have a bunch of extra newlines that weren't showing, & thus seem to not be layed out properly. Darn. So I'm gonna go back to & use the pre-fallback-font version for now, I guess, & cleanup all the notes :/ |
(I wish there were a way to sort notes by date-created, so I can figure out which ones I need to go back & fix - I have no idea which ones were created w/ the newline bug & which were before :/ |
I don't think the pango team is going to fix this issue soon, so I may try to fix it myself, though it also can take time. |
Agreed. If the two current options are "No fallback" or "Fallback but erroneous newlines," the former is definitely better. |
I removed fallback font, and happiness was so close so close |
:D |
I know, right? So close yet so far. |
@txe, actually here's a new observation: I just rebooted & tested in Linux (where I also have the Calibri font installed), and its appearance there is like it had been with the latest fix on Windows (i.e. the letters are very blocky, t & f look blurry). In other words, it looks like setting that environment variable on Windows just made Calibri look like it does on Linux - which is very bad. Note that I do use Calibri in other applications on Linux though (i.e. WPS Office), & the font looks fine there - no blockiness or bluriness. I wonder why. (relates to: #1055) |
Gtk3/Cairo uses different backends to draw fonts on Linux and Windows. Maybe blocky font appearance is related to https://wiki.archlinux.org/index.php/Font_configuration#Calibri,_Cambria,_Monaco,_etc._not_rendering_properly Maybe other applications with normal view drawing are based not on Gtk3/Cairo, but Qt or chrome, or something else. |
So if I understand correctly: if the bug you previously posted gets fixed, it could use the windows backend & thus appear well on Windows (with fallbacks) - but probably in any case, it would never display them well on Linux? |
I don't know, fonts on linux always have problems. But you can use a good replacement: |
Oh cool, good to know, thanks! :) |
So I had a thought about this: essentially what we're dealing with are 3 interrelated issues: *Fallback font (for when a given character doesn't exist in the selected font) The original cherrytree version had the 1st item broken. ....However, on Windows: I installed Carlito, but the 3rd build couldn't see the font as available - i.e. it wasn't listed in the fonts dialog. Other Windows applications could, and even the original cherrytree build (before the fallback font fix) could. I tried selecting Carlito via that previous ct build, but when I then ran the fixed build, its font setting fell back to 'none.' ...So I guess there's a 4th issue: not being able to see Carlito. I've no idea why that would happen - but if you do...then your final fix may actually be the best, as if Carlito could be used, it fixes the fallback issue & everything else too :) |
I added a merge request for the pango fix, https://gitlab.gnome.org/GNOME/pango/-/merge_requests/217. |
Awesome :) |
The fix was merged in |
Well done! |
@giuspen , it doesn't look that |
@txe some time ago I raised a GitHub issue asking to include cpputest and they did it in few days, if you can do it since you know better the details, please post here the link to the issue - if they don't answer I'll also comment asking for their help. Should be under https://github.com/msys2/MINGW-packages/issues |
Here we go |
Well, it was a bit awkward, they already have updated pango (while I was mistakenly looking for cairo) |
Great! |
The issue was fixed, the update will be in 0.99.18 |
In the current C++ master (built from source on Windows), I'm not able to enter more than one blank newline at a time. To reproduce:
The result is that the two lines of characters are right on top of each other. The expectation is that there should be a blank line between them. In other words, it only registered one "enter" press, even if I press "enter" i.e. 2x (or more).
You can also reproduce this by i.e. typing some characters, moving the cursor to the middle of those characters, then pressing Enter a bunch of times. Only the first press of "enter" registered.
The text was updated successfully, but these errors were encountered: