Re: gvim and ASCII glyphs

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: gvim and ASCII glyphs

Tony Mechelynck
On Thu, Aug 11, 2016 at 1:39 AM, manuelschiller.pimail via vim_dev
<[hidden email]> wrote:

> On Wednesday, 10 August 2016 02:35:04 UTC+2, Tony Mechelynck  wrote:
>> Manuel:
>> In the past there have been "unofficial" features published as patches
>> which remained outside of the "official" Vim repositories but publicly
>> available, sometimes for years, before Bram finally decided to take
>> them in. The +conceal and +float features, now part of mainstream Vim,
>> are two examples of such which I've seen remain "unofficial
>> third-party patches" while several successive minor versions of Vim
>> came and went.
>> Maybe you could publish your patch (as a patch that could be applied
>> by running "patch -p1 ligatures.diff", or something like that, at the
>> top level of a Vim repository clone), upload it somewhere on github or
>> or wherever, and let anyone use it who wants. Then after
>> letting it bake there for some time, we'll know better how popular it
>> is. Assuming that the new version currently being made ready will be
>> called Vim 8.0 and be released before the end of 2016, we might then
>> have a poll about your patch when getting ready for 8.1 or 8.2, and
>> let's hope that that will arrive long before 8.0 is at patchlevel
>> 8.0.2200 — Vim 7.4, whose original release was almost exactly three
>> years ago, seems to have been quite successful in its own way.
>> If you choose to go this way, please set it up so that it could be
>> disabled at compile-time (I mean, place the changes  behind #ifdef
>> FEAT_LIGATURES or something equally distinctive), it will help it
>> being accepted into the main code, since anyone not wanting it would
>> be able to disable it at compile-time — and similarly, an option (to
>> enable or disable it at runtime if present at compile-time, let's say
>> in the vimrc or gvimrc before starting the GUI) would IMHO be equally
>> welcome.
>> Best regards,
>> Tony.
> Hi Tony,
> you (and others) are making very good points here, and I appreciate the
> feedback.
> Following your suggestion, I have created a vim fork with a branch for
> this kind of development:
> Currently, it contains two patches:
> - gui_gtk_x11: force shaping one character at a time for ASCII glyph cache
>   This one does what it says. It'll get fonts like PragmataPro or Hasklig
>   working in gvim without ligatures, and without the drawing caveats we
>   discussed earlier. I imagine that this patch might make inclusion in vim
>   quite a bit earlier (I'd hope soonish, but that may be wishful thinking)
>   than the next item, because I do not think it does anything controversial.
>   If you'd like to see style improvements etc., please let me know, I'm
>   happy to accomodate you. :)
> - gui_gtk_x11: enable poor man's ligatures
>   This one is the bit that enables ligatures, and will require a couple of
>   iterations on my side before it's ready to be considered for inclusion.
>   (For example, I'd like to make the set of characters that disable the
>   ASCII glyph cache user-configurable, and I have to find out how C code
>   gets access to variables inside vimscript...) For the curious, this is
>   something they might want to try out, and give feedback...
> I would again like to thank you all for the friendly and constructive
> atmosphere. And let me know if you have suggestions, please!
> Manuel

Hm. gui_gtk_x11.c is of course only for gvim with GTK GUI running on
Linux-X11. GTK2, and now even GTK3 ("new in 8.0"), are of course the
preferred GUIs for Vim on Linux these days, and for X11 in general
(though a few older ones are still supported IIUC); however, what
about other flavors of gvim? Such as gvim for Windows, and, maybe
worse, MacVim (gvim for Mac-Cocoa IIUC), of which I think, but am not
sure, that all its sources are included in the current "official" Vim
sources. Do Windows and/or Mac have similar fonts? Won't they feel
left out? The mechanisms to implement the corresponding Poor Man's
Ligatures will of necessity be different because we're at too low a
level for cross-platform programming to be possible all the way. Maybe
you don't have the necessary OSes to build and test the corresponding
gvim versions (neither do I) so it might perhaps be useful if some
Windows Vim developer(s) and some Mac Vim developer(s) joined you on
this project.

I'm cross-posting on the vim_mac group because Mac people might (or
might not) be interested; but this thread was started on vim_dev. Mac
developers: please refer to vim_dev for the discussion's history.

Best regards,

You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit

You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit