Support above_right diacritics
This commit is contained in:
parent
4361ca1c37
commit
09d708c68a
1 changed files with 12 additions and 0 deletions
12
font/font.c
12
font/font.c
|
@ -1120,6 +1120,7 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||||
{
|
{
|
||||||
struct grub_video_signed_rect bounds;
|
struct grub_video_signed_rect bounds;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
signed above_rightx, above_righty;
|
||||||
auto void NESTED_FUNC_ATTR do_blit (struct grub_font_glyph *src,
|
auto void NESTED_FUNC_ATTR do_blit (struct grub_font_glyph *src,
|
||||||
signed dx, signed dy);
|
signed dx, signed dy);
|
||||||
void NESTED_FUNC_ATTR do_blit (struct grub_font_glyph *src,
|
void NESTED_FUNC_ATTR do_blit (struct grub_font_glyph *src,
|
||||||
|
@ -1162,6 +1163,9 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||||
bounds.width = main_glyph->width;
|
bounds.width = main_glyph->width;
|
||||||
bounds.height = main_glyph->height;
|
bounds.height = main_glyph->height;
|
||||||
|
|
||||||
|
above_rightx = bounds.x + bounds.width;
|
||||||
|
above_righty = bounds.y + bounds.height;
|
||||||
|
|
||||||
for (i = 0; i < glyph_id->ncomb; i++)
|
for (i = 0; i < glyph_id->ncomb; i++)
|
||||||
{
|
{
|
||||||
enum grub_comb_type combtype;
|
enum grub_comb_type combtype;
|
||||||
|
@ -1182,6 +1186,14 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||||
minimal_device_width (combining_glyphs[i]->width);
|
minimal_device_width (combining_glyphs[i]->width);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GRUB_UNICODE_COMB_ABOVE_RIGHT:
|
||||||
|
do_blit (combining_glyphs[i], above_rightx,
|
||||||
|
-(above_righty + space
|
||||||
|
+ combining_glyphs[i]->height));
|
||||||
|
above_rightx += combining_glyphs[i]->width;
|
||||||
|
minimal_device_width (above_rightx);
|
||||||
|
break;
|
||||||
|
|
||||||
case GRUB_UNICODE_STACK_ABOVE:
|
case GRUB_UNICODE_STACK_ABOVE:
|
||||||
space = combining_glyphs[i]->offset_y
|
space = combining_glyphs[i]->offset_y
|
||||||
- grub_font_get_xheight (combining_glyphs[i]->font);
|
- grub_font_get_xheight (combining_glyphs[i]->font);
|
||||||
|
|
Loading…
Reference in a new issue