-
Notifications
You must be signed in to change notification settings - Fork 3
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
No Ligatures support #44
Comments
I'm afraid that the GUI widget I'm using (evas textgrid) does not support ligatures :/ |
From what I understand of ligatures support, the editor should detect by itself pattern such as |
Thank you for response. I'm surprised that EFL doesn't provide ligature support in a text widget, I thought it uses |
The textgrid can display ligatures (what I understand are just different glyphs, that should span on multiple columns). However, it seems there is no support in the textgrid widget for multiple-width characters. The textgrid causes each glyph to be rendered on exactly one cell, which causes large glyphs not to be of the appropriate size, and to be tiny. FOr example, in the image attached, you can see that the arrow |
@jeanguyomarch |
Maybe I'm missing something, but I've tried this with FiraCode, but it yields the same result. I do not think it is the font that makes the substitution. From what I've seen in projects that implement support for automatic ligatures replacement, such as terminal emulators or code editors, it requires explicit support from the program. Here, I think eovim should detect specific patterns such as My problem with the textgrid is that I cannot use it to render glyphs that span on more than one column, because unfortunately, it does not seem to be implemented. This would not be the first limitation of the textgrid, as it lacks "undercurl" for example. |
Until now, Eovim was using the Evas_Textgrid to display text. It consists in a fixed-size grid of codepoints associated with unique glyphs and render attributes, such as the color and basic shape. This has several problems, mainly: - the textgrid has limited attributes support: - the color of underlined text is the same as the foreground - there is no "undercurl" equivalent - you cannot specify a 'linespace' (#34) - support for multiple width character is partial - you cannot use the opentype capabilities such as ligatures (#44) It was time for a change to support the above. Eovim now uses Evas_Textblock, which is low-level rich text widget provided by EFL. However, it is tricky to use the same way than the Textgrid, but a proper separation between model/view/controller (wow... so innovative) actually makes surprisingly it trivial to handle! Fix #34 Fix #44
Until now, Eovim was using the Evas_Textgrid to display text. It consists in a fixed-size grid of codepoints associated with unique glyphs and render attributes, such as the color and basic shape. This has several problems, mainly: - the textgrid has limited attributes support: - the color of underlined text is the same as the foreground - there is no "undercurl" equivalent - you cannot specify a 'linespace' (#34) - support for multiple width character is partial - you cannot use the opentype capabilities such as ligatures (#44) It was time for a change to support the above. Eovim now uses Evas_Textblock, which is low-level rich text widget provided by EFL. However, it is tricky to use the same way than the Textgrid, but a proper separation between model/view/controller (wow... so innovative) actually makes surprisingly it trivial to handle! Fix #34 Fix #44
Until now, Eovim was using the Evas_Textgrid to display text. It consists in a fixed-size grid of codepoints associated with unique glyphs and render attributes, such as the color and basic shape. This has several problems, mainly: - the textgrid has limited attributes support: - the color of underlined text is the same as the foreground - there is no "undercurl" equivalent - you cannot specify a 'linespace' (#34) - support for multiple width character is partial - you cannot use the opentype capabilities such as ligatures (#44) It was time for a change to support the above. Eovim now uses Evas_Textblock, which is low-level rich text widget provided by EFL. However, it is tricky to use the same way than the Textgrid, but a proper separation between model/view/controller (wow... so innovative) actually makes surprisingly it trivial to handle! Fix #34 Fix #44
Until now, Eovim was using the Evas_Textgrid to display text. It consists in a fixed-size grid of codepoints associated with unique glyphs and render attributes, such as the color and basic shape. This has several problems, mainly: - the textgrid has limited attributes support: - the color of underlined text is the same as the foreground - there is no "undercurl" equivalent - you cannot specify a 'linespace' (#34) - support for multiple width character is partial - you cannot use the opentype capabilities such as ligatures (#44) It was time for a change to support the above. Eovim now uses Evas_Textblock, which is low-level rich text widget provided by EFL. However, it is tricky to use the same way than the Textgrid, but a proper separation between model/view/controller (wow... so innovative) actually makes surprisingly it trivial to handle! Fix #34 Fix #44
Until now, Eovim was using the Evas_Textgrid to display text. It consists in a fixed-size grid of codepoints associated with unique glyphs and render attributes, such as the color and basic shape. This has several problems, mainly: - the textgrid has limited attributes support: - the color of underlined text is the same as the foreground - there is no "undercurl" equivalent - you cannot specify a 'linespace' (#34) - support for multiple width character is partial - you cannot use the opentype capabilities such as ligatures (#44) It was time for a change to support the above. Eovim now uses Evas_Textblock, which is low-level rich text widget provided by EFL. However, it is tricky to use the same way than the Textgrid, but a proper separation between model/view/controller (wow... so innovative) actually makes surprisingly it trivial to handle! Fix #34 Fix #44
Until now, Eovim was using the Evas_Textgrid to display text. It consists in a fixed-size grid of codepoints associated with unique glyphs and render attributes, such as the color and basic shape. This has several problems, mainly: - the textgrid has limited attributes support: - the color of underlined text is the same as the foreground - there is no "undercurl" equivalent - you cannot specify a 'linespace' (#34) - support for multiple width character is partial - you cannot use the opentype capabilities such as ligatures (#44) It was time for a change to support the above. Eovim now uses Evas_Textblock, which is low-level rich text widget provided by EFL. However, it is tricky to use the same way than the Textgrid, but a proper separation between model/view/controller (wow... so innovative) actually makes surprisingly it trivial to handle! Fix #34 Fix #44
Until now, Eovim was using the Evas_Textgrid to display text. It consists in a fixed-size grid of codepoints associated with unique glyphs and render attributes, such as the color and basic shape. This has several problems, mainly: - the textgrid has limited attributes support: - the color of underlined text is the same as the foreground - there is no "undercurl" equivalent - you cannot specify a 'linespace' (#34) - support for multiple width character is partial - you cannot use the opentype capabilities such as ligatures (#44) It was time for a change to support the above. Eovim now uses Evas_Textblock, which is low-level rich text widget provided by EFL. However, it is tricky to use the same way than the Textgrid, but a proper separation between model/view/controller (wow... so innovative) actually makes surprisingly it trivial to handle! Fix #34 Fix #44
For details, there is also now a dedicated wiki page |
@jeanguyomarch Awesome. Thank you for putting work in to it. Do I need neovim >4 to use the current HEAD? |
Yes indeed, it seems that eovim is currently broken with < 0.4. |
First of all thank you work your work. I'm using the
Fira Code
font, which provides ligatures i.e. for '=='. Eovim doesn't display ligatures, while e.g.: PHPStorm does.I looked a little bit around, but I'm not sure what need to be done to fix.
eovim --version
:eovim 0.1.3.99-25d452f
nvim --version | head -n1
:NVIM v0.4.3
edje_cc --version
:Version: 1.23.3
The text was updated successfully, but these errors were encountered: