-
Notifications
You must be signed in to change notification settings - Fork 112
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
Use supported codepoints instead of scripts in Monospace fallback #215
Conversation
Make sure to format with |
This should/could improve fallback order. This could also probably be utilized for non-Monospace fallback too. But I didn't want to touch that code to avoid accidentally breaking anything. Signed-off-by: Mohammad AlSaleh <[email protected]>
54918b6
to
a4a0c94
Compare
Formatting done. As for tests, these 6 fail on my system with and without this change. They trigger the "no default font found"
|
Pushed the Emoji commit here because the same code block is touched. |
Converted to draft until wide Monospace cases are sorted out properly. |
cfcfdda
to
a4a0c94
Compare
Removed the emoji change in favor of #216. |
Was any performance analysis done on this change? I'm noticing in CPU profiles for our application that a lot of time is spent iterating over codepoints in subtables during Font construction - for extensive unicode fonts, this could end up doing significantly more work than the previous code. |
After #242, performance should be fine. There is bit more work done in font system initialization. But after that, performance shouldn't be an issue. I perf'ed this in cosmic-terminal. Feedback from other use cases would definitely be appreciated. |
We're using the latest published version (0.11.2), which doesn't include #242. Should there be a new release cut and pushed to crates.io that contains the performance fix? |
Can you check with a version that includes it?
That decision resides with @jackpot51. I'm just a random contributor. Still interested in learning more about the use-case where this caused noticeable regression. Is monospacity required for the use-case, or was it just a Monospace font that happened to be selected? Are very long lines involved? Are continually updating text buffers involved? ... |
This should/could improve fallback order.
This could also probably be utilized for non-Monospace fallback too.
But I didn't want to touch that code to avoid accidentally breaking
anything.