diff --git a/include/grub/term.h b/include/grub/term.h index 5a098e293..e460e4a58 100644 --- a/include/grub/term.h +++ b/include/grub/term.h @@ -90,20 +90,6 @@ grub_term_color_state; #define GRUB_TERM_STATUS_CTRL (1 << 1) #define GRUB_TERM_STATUS_ALT (1 << 2) - -/* Unicode characters for fancy graphics. */ -#define GRUB_TERM_DISP_LEFT 0x2190 -#define GRUB_TERM_DISP_UP 0x2191 -#define GRUB_TERM_DISP_RIGHT 0x2192 -#define GRUB_TERM_DISP_DOWN 0x2193 -#define GRUB_TERM_DISP_HLINE 0x2501 -#define GRUB_TERM_DISP_VLINE 0x2503 -#define GRUB_TERM_DISP_UL 0x250F -#define GRUB_TERM_DISP_UR 0x2513 -#define GRUB_TERM_DISP_LL 0x2517 -#define GRUB_TERM_DISP_LR 0x251B - - /* Menu-related geometrical constants. */ /* The number of lines of "GRUB version..." at the top. */ diff --git a/include/grub/unicode.h b/include/grub/unicode.h index 39e4c52cc..9d1fe7ca0 100644 --- a/include/grub/unicode.h +++ b/include/grub/unicode.h @@ -184,6 +184,16 @@ enum GRUB_UNICODE_THAANA_SUKUN = 0x07b0, GRUB_UNICODE_ZWNJ = 0x200c, GRUB_UNICODE_ZWJ = 0x200d, + GRUB_UNICODE_LEFTARROW = 0x2190, + GRUB_UNICODE_UPARROW = 0x2191, + GRUB_UNICODE_RIGHTARROW = 0x2192, + GRUB_UNICODE_DOWNARROW = 0x2193, + GRUB_UNICODE_HLINE = 0x2501, + GRUB_UNICODE_VLINE = 0x2503, + GRUB_UNICODE_CORNER_UL = 0x250f, + GRUB_UNICODE_CORNER_UR = 0x2513, + GRUB_UNICODE_CORNER_LL = 0x2517, + GRUB_UNICODE_CORNER_LR = 0x251b, GRUB_UNICODE_VARIATION_SELECTOR_1 = 0xfe00, GRUB_UNICODE_VARIATION_SELECTOR_16 = 0xfe0f, GRUB_UNICODE_VARIATION_SELECTOR_17 = 0xe0100, diff --git a/normal/menu_entry.c b/normal/menu_entry.c index 433208116..d4d359066 100644 --- a/normal/menu_entry.c +++ b/normal/menu_entry.c @@ -173,7 +173,7 @@ print_up (int flag, struct per_term_screen *term_screen) GRUB_TERM_FIRST_ENTRY_Y); if (flag) - grub_putcode (GRUB_TERM_DISP_UP, term_screen->term); + grub_putcode (GRUB_UNICODE_UPARROW, term_screen->term); else grub_putcode (' ', term_screen->term); } @@ -188,7 +188,7 @@ print_down (int flag, struct per_term_screen *term_screen) + grub_term_num_entries (term_screen->term)); if (flag) - grub_putcode (GRUB_TERM_DISP_DOWN, term_screen->term); + grub_putcode (GRUB_UNICODE_DOWNARROW, term_screen->term); else grub_putcode (' ', term_screen->term); } @@ -1097,7 +1097,7 @@ complete (struct screen *screen, int continuous, int update) endp = p + (grub_term_width (screen->terms[i].term) - 8); if (p != ucs4) - grub_putcode (GRUB_TERM_DISP_LEFT, screen->terms[i].term); + grub_putcode (GRUB_UNICODE_LEFTARROW, screen->terms[i].term); else grub_putcode (' ', screen->terms[i].term); @@ -1105,7 +1105,7 @@ complete (struct screen *screen, int continuous, int update) 0, 0, screen->terms[i].term); if (ucs4 + ucs4len > endp) - grub_putcode (GRUB_TERM_DISP_RIGHT, screen->terms[i].term); + grub_putcode (GRUB_UNICODE_RIGHTARROW, screen->terms[i].term); grub_term_gotoxy (screen->terms[i].term, pos >> 8, pos & 0xFF); } } diff --git a/normal/menu_text.c b/normal/menu_text.c index 22bcbda66..3e3e7e2fa 100644 --- a/normal/menu_text.c +++ b/normal/menu_text.c @@ -83,27 +83,27 @@ draw_border (struct grub_term_output *term) grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL); grub_term_gotoxy (term, GRUB_TERM_MARGIN, GRUB_TERM_TOP_BORDER_Y); - grub_putcode (GRUB_TERM_DISP_UL, term); + grub_putcode (GRUB_UNICODE_CORNER_UL, term); for (i = 0; i < (unsigned) grub_term_border_width (term) - 2; i++) - grub_putcode (GRUB_TERM_DISP_HLINE, term); - grub_putcode (GRUB_TERM_DISP_UR, term); + grub_putcode (GRUB_UNICODE_HLINE, term); + grub_putcode (GRUB_UNICODE_CORNER_UR, term); for (i = 0; i < (unsigned) grub_term_num_entries (term); i++) { grub_term_gotoxy (term, GRUB_TERM_MARGIN, GRUB_TERM_TOP_BORDER_Y + i + 1); - grub_putcode (GRUB_TERM_DISP_VLINE, term); + grub_putcode (GRUB_UNICODE_VLINE, term); grub_term_gotoxy (term, GRUB_TERM_MARGIN + grub_term_border_width (term) - 1, GRUB_TERM_TOP_BORDER_Y + i + 1); - grub_putcode (GRUB_TERM_DISP_VLINE, term); + grub_putcode (GRUB_UNICODE_VLINE, term); } grub_term_gotoxy (term, GRUB_TERM_MARGIN, GRUB_TERM_TOP_BORDER_Y + grub_term_num_entries (term) + 1); - grub_putcode (GRUB_TERM_DISP_LL, term); + grub_putcode (GRUB_UNICODE_CORNER_LL, term); for (i = 0; i < (unsigned) grub_term_border_width (term) - 2; i++) - grub_putcode (GRUB_TERM_DISP_HLINE, term); - grub_putcode (GRUB_TERM_DISP_LR, term); + grub_putcode (GRUB_UNICODE_HLINE, term); + grub_putcode (GRUB_UNICODE_CORNER_LR, term); grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL); @@ -138,8 +138,8 @@ command-line or ESC to discard edits and return to the GRUB menu."), "entry is highlighted.\n"); char *msg_translated; - msg_translated = grub_xasprintf (msg, (grub_uint32_t) GRUB_TERM_DISP_UP, - (grub_uint32_t) GRUB_TERM_DISP_DOWN); + msg_translated = grub_xasprintf (msg, GRUB_UNICODE_UPARROW, + GRUB_UNICODE_DOWNARROW); if (!msg_translated) return; grub_putcode ('\n', term); @@ -236,9 +236,9 @@ print_entry (int y, int highlight, grub_menu_entry_t entry, if (last_printed != len) { - grub_putcode (GRUB_TERM_DISP_RIGHT, term); + grub_putcode (GRUB_UNICODE_RIGHTARROW, term); struct grub_unicode_glyph pseudo_glyph = { - .base = GRUB_TERM_DISP_RIGHT, + .base = GRUB_UNICODE_RIGHTARROW, .variant = 0, .attributes = 0, .ncomb = 0, @@ -274,7 +274,7 @@ print_entries (grub_menu_t menu, int first, int offset, GRUB_TERM_FIRST_ENTRY_Y); if (first) - grub_putcode (GRUB_TERM_DISP_UP, term); + grub_putcode (GRUB_UNICODE_UPARROW, term); else grub_putcode (' ', term); @@ -292,7 +292,7 @@ print_entries (grub_menu_t menu, int first, int offset, GRUB_TERM_TOP_BORDER_Y + grub_term_num_entries (term)); if (e) - grub_putcode (GRUB_TERM_DISP_DOWN, term); + grub_putcode (GRUB_UNICODE_DOWNARROW, term); else grub_putcode (' ', term); diff --git a/normal/term.c b/normal/term.c index f46930be4..4d7dbf622 100644 --- a/normal/term.c +++ b/normal/term.c @@ -128,25 +128,25 @@ map_code (grub_uint32_t in, struct grub_term_output *term) case GRUB_TERM_CODE_TYPE_VGA: switch (in) { - case GRUB_TERM_DISP_LEFT: + case GRUB_UNICODE_LEFTARROW: return 0x1b; - case GRUB_TERM_DISP_UP: + case GRUB_UNICODE_UPARROW: return 0x18; - case GRUB_TERM_DISP_RIGHT: + case GRUB_UNICODE_RIGHTARROW: return 0x1a; - case GRUB_TERM_DISP_DOWN: + case GRUB_UNICODE_DOWNARROW: return 0x19; - case GRUB_TERM_DISP_HLINE: + case GRUB_UNICODE_HLINE: return 0xc4; - case GRUB_TERM_DISP_VLINE: + case GRUB_UNICODE_VLINE: return 0xb3; - case GRUB_TERM_DISP_UL: + case GRUB_UNICODE_CORNER_UL: return 0xda; - case GRUB_TERM_DISP_UR: + case GRUB_UNICODE_CORNER_UR: return 0xbf; - case GRUB_TERM_DISP_LL: + case GRUB_UNICODE_CORNER_LL: return 0xc0; - case GRUB_TERM_DISP_LR: + case GRUB_UNICODE_CORNER_LR: return 0xd9; } return '?'; @@ -154,28 +154,28 @@ map_code (grub_uint32_t in, struct grub_term_output *term) /* Better than nothing. */ switch (in) { - case GRUB_TERM_DISP_LEFT: + case GRUB_UNICODE_LEFTARROW: return '<'; - case GRUB_TERM_DISP_UP: + case GRUB_UNICODE_UPARROW: return '^'; - case GRUB_TERM_DISP_RIGHT: + case GRUB_UNICODE_RIGHTARROW: return '>'; - case GRUB_TERM_DISP_DOWN: + case GRUB_UNICODE_DOWNARROW: return 'v'; - case GRUB_TERM_DISP_HLINE: + case GRUB_UNICODE_HLINE: return '-'; - case GRUB_TERM_DISP_VLINE: + case GRUB_UNICODE_VLINE: return '|'; - case GRUB_TERM_DISP_UL: - case GRUB_TERM_DISP_UR: - case GRUB_TERM_DISP_LL: - case GRUB_TERM_DISP_LR: + case GRUB_UNICODE_CORNER_UL: + case GRUB_UNICODE_CORNER_UR: + case GRUB_UNICODE_CORNER_LL: + case GRUB_UNICODE_CORNER_LR: return '+'; }