Skip to content
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

Ligature Support #66

Open
B14CK313 opened this issue Feb 27, 2021 · 6 comments · May be fixed by #1671
Open

Ligature Support #66

B14CK313 opened this issue Feb 27, 2021 · 6 comments · May be fixed by #1671
Labels

Comments

@B14CK313
Copy link
Contributor

I would really like to see font ligatures rendering with fonts like FiraCode in lite-xl.
From my (very little) experience with text rendering I know that this may be a big task, that requires many changes in the C API regarding how text is rendered. I think the typical implementation is using HarfBuzz, as seen in e.g. the kitty Terminal, that has very good ligature support.
Would it be possible / is it in the scope of lite-xl?

@franko
Copy link
Member

franko commented Feb 27, 2021

I would love too to have ligatures for lite-xl. I made some preliminary research and it seems that the way to do it is HarfBuzz as you mentioned above. The problem is that I am reluctant to use HarfBuzz because of the additional complexity and and dependencies it brings.

I would like to have a more simple, minimalist option to do ligatures but for the moment I haven't figured out how to do that.

@franko franko added enhancement New feature or request font rendering p:low labels Feb 27, 2021
@licoricee
Copy link

has this been implemented yet?

@Guldoman
Copy link
Member

has this been implemented yet?

Not yet.

@Lunar-Void
Copy link

Hey there! Bumping this thread. I would really love ligatures too!

@franko
Copy link
Member

franko commented Oct 15, 2022

I don't have time to work on that now but I found out that the harfbuzz library can be used without introducing unneeded dependencies. This means we can easily build and link a static version of harfbuzz in every OS we support without adding more external dependencies.

In addition I found out this interesting project has ligature support:

https://github.com/LukeSmithxyz/st

we may use as a starting point to implement support in lite-xl. If someone contribute the implementation I may help for the build including the harfbuzz library.

If implemented in the master-2.0 branch I may take care of including it in a 2.0.6 release alongside the coming final 2.1 release.

@adamharrison
Copy link
Member

adamharrison commented Oct 15, 2022

Takase looked into this at using Harfbuzz at one point, and it was unfortunately significantly more complex than first expected.

That said, it is something we could look more deeply into eventually; just not sure when.

Regarding 2.1, now that jgm has a macbook and is able to verify that everything works on that platform, we should be basically good to go as soon as we merge horizontal scrolling and multicursor copy+paste improvements, which hopefully should be done soon; we're hoping to target sometime next week, barring major bugs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants