Друзья, представляю вам свою реализацию рендеринга через XFT в gvim.
Долгое время я пользовался vim'ом в терминале urxvt+xft, и меня всё устраивало, кроме невозможности выбрать полноцветные цветовые схемы и скорости отрисовки сложной подсветки кода в php. Поэтому я начал рассматривать другие варианты запуска vim, среди которых были gvim+gtk1, gvim+gtk2, gvim+motif. Резултаты следующие:
gvim+gtk1 - работает быстро, нет рендеринга со сглаживанием, не поддерживается начиная с vim 7.3
gvim+gtk2 - есть рендеринг со сглаживанием, текст рисуется через pango, который тормоз. Работать в этом очень неуютно.
gvim+motif - работает быстро, поддерживается, нет рендеринга со сглаживанием.
Поскольку удовлетворительного варианта не нашлось, было решено закатать рукава и всё сделать самому. Допиливать неподдерживаемый gvim+gtk1 нет смысла, допиливать gvim+gtk2 было бы очень сложно, потому что для pango там отдельная большая ветка кода, и переписывать её не в кайф. А вот допиливать gvim+motif оказалось легко и приятно, потому что библиотека libxft сделана с оглядкой на поддержку X core fonts.
В результате допиливания получилось то, что видно на скриншоте. Код брать здесь http://code.google.com/r/thesameml-vim-xft/source/checkout собирать как обычный gvim только с --enable-gui=motif --enable-xft. Шрифт устанавливать так ":set guifont=Monospace-10". Диалог выбора шрифта я ещё не портировал, потому что там чёртов Xt, в котором ничего не понятно.
Скорость отрисовки оказалась средней между pango и x core fonts.
Кроме того, оказалось, что в тормозах отрисовки виноват не только движок рендеринга, но и подсветка синтаксиса, которая для php сделана исключительно тормозно. Поэтому для тех, кому это может пригодиться, вот ускоренная упрощённая подсветка: https://gist.github.com/4610024
Код: http://code.google.com/r/thesameml-vim-xft/source/checkout
Подсветка php: https://gist.github.com/4610024
>>> Просмотр (1190x680, 91 Kb)