mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
patch 8.2.3524: GUI: ligatures are not used
Problem: GUI: ligatures are not used. Solution: Add the 'guiligatures' option. (Dusan Popovic, closes #8933)
This commit is contained in:
committed by
Bram Moolenaar
parent
c89c91cafd
commit
4eeedc09fe
34
src/gui.c
34
src/gui.c
@@ -460,6 +460,10 @@ gui_init_check(void)
|
||||
gui.scrollbar_width = gui.scrollbar_height = SB_DEFAULT_WIDTH;
|
||||
gui.prev_wrap = -1;
|
||||
|
||||
# ifdef FEAT_GUI_GTK
|
||||
CLEAR_FIELD(gui.ligatures_map);
|
||||
#endif
|
||||
|
||||
#if defined(ALWAYS_USE_GUI) || defined(VIMDLL)
|
||||
result = OK;
|
||||
#else
|
||||
@@ -1065,6 +1069,36 @@ gui_get_wide_font(void)
|
||||
return OK;
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI_GTK) || defined(PROTO)
|
||||
/*
|
||||
* Set list of ascii characters that combined can create ligature.
|
||||
* Store them in char map for quick access from gui_gtk2_draw_string.
|
||||
*/
|
||||
void
|
||||
gui_set_ligatures(void)
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
if (*p_guiligatures != NUL)
|
||||
{
|
||||
// check for invalid characters
|
||||
for (p = p_guiligatures; *p != NUL; ++p)
|
||||
if (*p < 32 || *p > 127)
|
||||
{
|
||||
emsg(_(e_ascii_code_not_in_range));
|
||||
return;
|
||||
}
|
||||
|
||||
// store valid setting into ligatures_map
|
||||
CLEAR_FIELD(gui.ligatures_map);
|
||||
for (p = p_guiligatures; *p != NUL; ++p)
|
||||
gui.ligatures_map[*p] = 1;
|
||||
}
|
||||
else
|
||||
CLEAR_FIELD(gui.ligatures_map);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
gui_set_cursor(int row, int col)
|
||||
{
|
||||
|
Reference in New Issue
Block a user