Basic thaana support
This commit is contained in:
parent
e2588ccbfe
commit
0546172e3e
2 changed files with 36 additions and 5 deletions
20
font/font.c
20
font/font.c
|
@ -1259,6 +1259,7 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||||
case GRUB_UNICODE_COMB_ARABIC_SHADDA:
|
case GRUB_UNICODE_COMB_ARABIC_SHADDA:
|
||||||
case GRUB_UNICODE_COMB_HEBREW_RAFE:
|
case GRUB_UNICODE_COMB_HEBREW_RAFE:
|
||||||
case GRUB_UNICODE_STACK_ABOVE:
|
case GRUB_UNICODE_STACK_ABOVE:
|
||||||
|
stacked_above:
|
||||||
space = combining_glyphs[i]->offset_y
|
space = combining_glyphs[i]->offset_y
|
||||||
- grub_font_get_xheight (combining_glyphs[i]->font) - 1;
|
- grub_font_get_xheight (combining_glyphs[i]->font) - 1;
|
||||||
if (space <= 0)
|
if (space <= 0)
|
||||||
|
@ -1291,6 +1292,7 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||||
/* I don't know how ypogegrammeni differs from subscript. */
|
/* I don't know how ypogegrammeni differs from subscript. */
|
||||||
case GRUB_UNICODE_COMB_YPOGEGRAMMENI:
|
case GRUB_UNICODE_COMB_YPOGEGRAMMENI:
|
||||||
case GRUB_UNICODE_STACK_BELOW:
|
case GRUB_UNICODE_STACK_BELOW:
|
||||||
|
stacked_below:
|
||||||
space = -(combining_glyphs[i]->offset_y
|
space = -(combining_glyphs[i]->offset_y
|
||||||
+ combining_glyphs[i]->height);
|
+ combining_glyphs[i]->height);
|
||||||
if (space <= 0)
|
if (space <= 0)
|
||||||
|
@ -1303,6 +1305,24 @@ blit_comb (const struct grub_unicode_glyph *glyph_id,
|
||||||
min_devwidth = combining_glyphs[i]->width;
|
min_devwidth = combining_glyphs[i]->width;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case GRUB_UNICODE_COMB_MN:
|
||||||
|
switch (glyph_id->combining[i].code)
|
||||||
|
{
|
||||||
|
case GRUB_UNICODE_THAANA_ABAFILI:
|
||||||
|
case GRUB_UNICODE_THAANA_AABAAFILI:
|
||||||
|
case GRUB_UNICODE_THAANA_UBUFILI:
|
||||||
|
case GRUB_UNICODE_THAANA_OOBOOFILI:
|
||||||
|
case GRUB_UNICODE_THAANA_EBEFILI:
|
||||||
|
case GRUB_UNICODE_THAANA_EYBEYFILI:
|
||||||
|
case GRUB_UNICODE_THAANA_OBOFILI:
|
||||||
|
case GRUB_UNICODE_THAANA_OABOAFILI:
|
||||||
|
case GRUB_UNICODE_THAANA_SUKUN:
|
||||||
|
goto stacked_above;
|
||||||
|
case GRUB_UNICODE_THAANA_IBIFILI:
|
||||||
|
case GRUB_UNICODE_THAANA_EEBEEFILI:
|
||||||
|
goto stacked_below;
|
||||||
|
}
|
||||||
|
/* Fall through. */
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
/* Default handling. Just draw combining character on top
|
/* Default handling. Just draw combining character on top
|
||||||
|
|
|
@ -170,11 +170,22 @@ struct grub_unicode_glyph
|
||||||
#define GRUB_UNICODE_VARIATION_SELECTOR_16 0xfe0f
|
#define GRUB_UNICODE_VARIATION_SELECTOR_16 0xfe0f
|
||||||
#define GRUB_UNICODE_VARIATION_SELECTOR_17 0xe0100
|
#define GRUB_UNICODE_VARIATION_SELECTOR_17 0xe0100
|
||||||
#define GRUB_UNICODE_VARIATION_SELECTOR_256 0xe01ef
|
#define GRUB_UNICODE_VARIATION_SELECTOR_256 0xe01ef
|
||||||
#define GRUB_UNICODE_HEBREW_WAW 0x05d5
|
#define GRUB_UNICODE_HEBREW_WAW 0x05d5
|
||||||
#define GRUB_UNICODE_ZWNJ 0x200c
|
#define GRUB_UNICODE_ZWNJ 0x200c
|
||||||
#define GRUB_UNICODE_ZWJ 0x200d
|
#define GRUB_UNICODE_ZWJ 0x200d
|
||||||
#define GRUB_UNICODE_ARABIC_START 0x600
|
#define GRUB_UNICODE_ARABIC_START 0x0600
|
||||||
#define GRUB_UNICODE_ARABIC_END 0x700
|
#define GRUB_UNICODE_ARABIC_END 0x0700
|
||||||
|
#define GRUB_UNICODE_THAANA_ABAFILI 0x07a6
|
||||||
|
#define GRUB_UNICODE_THAANA_AABAAFILI 0x07a7
|
||||||
|
#define GRUB_UNICODE_THAANA_IBIFILI 0x07a8
|
||||||
|
#define GRUB_UNICODE_THAANA_EEBEEFILI 0x07a9
|
||||||
|
#define GRUB_UNICODE_THAANA_UBUFILI 0x07aa
|
||||||
|
#define GRUB_UNICODE_THAANA_OOBOOFILI 0x07ab
|
||||||
|
#define GRUB_UNICODE_THAANA_EBEFILI 0x07ac
|
||||||
|
#define GRUB_UNICODE_THAANA_EYBEYFILI 0x07ad
|
||||||
|
#define GRUB_UNICODE_THAANA_OBOFILI 0x07ae
|
||||||
|
#define GRUB_UNICODE_THAANA_OABOAFILI 0x07af
|
||||||
|
#define GRUB_UNICODE_THAANA_SUKUN 0x07b0
|
||||||
|
|
||||||
extern struct grub_unicode_compact_range grub_unicode_compact[];
|
extern struct grub_unicode_compact_range grub_unicode_compact[];
|
||||||
extern struct grub_unicode_bidi_pair grub_unicode_bidi_pairs[];
|
extern struct grub_unicode_bidi_pair grub_unicode_bidi_pairs[];
|
||||||
|
|
Loading…
Reference in a new issue