-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Ligatures (possibly character joiners in general) broken in 3.13.x #2028
Comments
@Eugeny This is prolly related to the new |
Here it is (JSON):
|
It starts breaking down in simplest outputs actually:
|
And which one should join? Only the |
In this case, only |
The text segment given to the joiner is |
Hmm weird, cannot repro it, also the returned range seems good to me (I dont have this font installed thus I can only test the returned range in the renderer phase) Which renderer are you using? Imho only the canvas renderer supports the joiner atm. |
I'm using canvas renderer. I know it's not exactly the minimal reproducible example, but you can grab the latest Terminus build (https://github.com/Eugeny/terminus/releases/tag/v1.0.75) |
@Eugeny With your latest build v1.0.75 the screen stays blank if I enable ligature support. Not sure if I am doing it wrong... Edit: Installing FiraCode fixed it. |
@Eugeny Found the bug - joined chars are not handled by the atlas, this line needs an additional check for joined chars to enter the uncached path: xterm.js/src/renderer/BaseRenderLayer.ts Line 264 in f4bbfc3
Can you check if this works after adding a |
Just saw that the old implementation without
@Tyriar Any thoughts on this, which way to go? |
Doesn't it just cache ascii? xterm.js/src/renderer/atlas/StaticCharAtlas.ts Lines 40 to 41 in f4bbfc3
xterm.js/src/renderer/atlas/DynamicCharAtlas.ts Lines 157 to 166 in f4bbfc3
|
@Tyriar Yeah just rechecked - the problem is caused by a simplification I have done in |
@Tyriar let me know when you'll push the next beta to NPM and I'll add it to Terminus |
Since 3.13.0-beta1,
xterm-addon-ligatures
produces weird spacing instead of actual joined chars - often in a different location too:vs
xterm-addon-ligatures
's joiner implementation still returns correct indexes, so there must be something going on in xterm itself.The text was updated successfully, but these errors were encountered: