below right support

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-03-23 18:39:02 +01:00
parent 1f22d20c8c
commit 45511ee976
2 changed files with 12 additions and 0 deletions

View file

@ -1122,6 +1122,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; signed above_rightx, above_righty;
signed below_rightx, below_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,
@ -1176,6 +1177,9 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
above_rightx = bounds.x + bounds.width; above_rightx = bounds.x + bounds.width;
above_righty = bounds.y + bounds.height; above_righty = bounds.y + bounds.height;
below_rightx = bounds.x + bounds.width;
below_righty = bounds.y;
for (i = 0; i < glyph_id->ncomb; i++) for (i = 0; i < glyph_id->ncomb; i++)
{ {
grub_int16_t space = 0; grub_int16_t space = 0;
@ -1210,6 +1214,13 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
minimal_device_width (above_rightx); minimal_device_width (above_rightx);
break; break;
case GRUB_UNICODE_COMB_BELOW_RIGHT:
do_blit (combining_glyphs[i], below_rightx,
below_righty);
below_rightx += combining_glyphs[i]->width;
minimal_device_width (below_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);

View file

@ -69,6 +69,7 @@ enum grub_comb_type
GRUB_UNICODE_STACK_ATTACHED_ABOVE = 214, GRUB_UNICODE_STACK_ATTACHED_ABOVE = 214,
GRUB_UNICODE_COMB_ATTACHED_ABOVE_RIGHT = 216, GRUB_UNICODE_COMB_ATTACHED_ABOVE_RIGHT = 216,
GRUB_UNICODE_STACK_BELOW = 220, GRUB_UNICODE_STACK_BELOW = 220,
GRUB_UNICODE_COMB_BELOW_RIGHT = 222,
GRUB_UNICODE_STACK_ABOVE = 230, GRUB_UNICODE_STACK_ABOVE = 230,
GRUB_UNICODE_COMB_ABOVE_RIGHT = 232, GRUB_UNICODE_COMB_ABOVE_RIGHT = 232,
GRUB_UNICODE_COMB_YPOGEGRAMMENI = 240, GRUB_UNICODE_COMB_YPOGEGRAMMENI = 240,