summaryrefslogtreecommitdiff
path: root/framebuffer/font_internal.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2010-02-06 22:32:39 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2010-02-06 22:32:39 +0000
commitb7f812d5a2bd18f4e4ed029f08cd96b160fd1e8c (patch)
tree1b87e95da12d3564ebd764b21928a8ee03bfb641 /framebuffer/font_internal.c
parenta85f391906c4672eb111f863676ec193f6ba412b (diff)
downloadnetsurf-b7f812d5a2bd18f4e4ed029f08cd96b160fd1e8c.tar.gz
netsurf-b7f812d5a2bd18f4e4ed029f08cd96b160fd1e8c.tar.bz2
Replace old internal font with new one. New font
has bold, italic and italic&bold variants. Change internal font's encoding from CP437 to CP1252, since it has more useful glyphs for web browsing. svn path=/trunk/netsurf/; revision=9957
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);
}