summaryrefslogtreecommitdiff
path: root/framebuffer/font_internal.c
diff options
context:
space:
mode:
Diffstat (limited to 'framebuffer/font_internal.c')
-rw-r--r--framebuffer/font_internal.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/framebuffer/font_internal.c b/framebuffer/font_internal.c
index 82ad6b32e..93cf0f8f8 100644
--- a/framebuffer/font_internal.c
+++ b/framebuffer/font_internal.c
@@ -36,11 +36,25 @@ bool fb_font_init(void)
const struct fb_font_desc*
fb_get_font(const plot_font_style_t *fstyle)
{
- return &font_vga_8x16;
+ if (fstyle->weight >= 700) {
+ if ((fstyle->flags & FONTF_ITALIC) ||
+ (fstyle->flags & FONTF_OBLIQUE)) {
+ return &font_italic_bold;
+ } else {
+ return &font_bold;
+ }
+ } else {
+ if ((fstyle->flags & FONTF_ITALIC) ||
+ (fstyle->flags & FONTF_OBLIQUE)) {
+ return &font_italic;
+ } else {
+ return &font_regular;
+ }
+ }
}
utf8_convert_ret utf8_to_font_encoding(const struct fb_font_desc* font,
- const char *string,
+ const char *string,
size_t len,
char **result)
{
@@ -48,11 +62,11 @@ utf8_convert_ret utf8_to_font_encoding(const struct fb_font_desc* font,
}
-utf8_convert_ret utf8_to_local_encoding(const char *string,
+utf8_convert_ret utf8_to_local_encoding(const char *string,
size_t len,
char **result)
{
- return utf8_to_enc(string, "CP437", len, result);
+ return utf8_to_enc(string, "CP1252", len, result);
}