From 93ff94949c465f6c41b8f0701240c90f2ae917a4 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Tue, 2 May 2006 21:44:04 +0000 Subject: Player: Credits plugin correctly working with UTF-8. Patch by Marcoen Hirschberg. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9862 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/credits.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'apps/plugins') diff --git a/apps/plugins/credits.c b/apps/plugins/credits.c index 12bfa60a8f..b726771edc 100644 --- a/apps/plugins/credits.c +++ b/apps/plugins/credits.c @@ -58,7 +58,7 @@ void roll_credits(void) { int numnames = sizeof(credits)/sizeof(char*); int curr_name = 0; - int curr_len = rb->strlen(credits[0]); + int curr_len = rb->utf8length(credits[0]); int curr_index = 0; int curr_line = 0; int name, len, new_len, line, x; @@ -77,19 +77,20 @@ void roll_credits(void) int x2; if (x < 0) - rb->lcd_puts(0, line, credits[name] - x); + rb->lcd_puts(0, line, credits[name] + rb->utf8seek(credits[name], -x)); else rb->lcd_puts(x, line, credits[name]); if (++name >= numnames) break; + line ^= 1; x2 = x + len/2; if ((unsigned)x2 < 11) rb->lcd_putc(x2, line, '*'); - new_len = rb->strlen(credits[name]); + new_len = rb->utf8length(credits[name]); x += MAX(len/2 + 2, len - new_len/2 + 1); len = new_len; } @@ -101,7 +102,7 @@ void roll_credits(void) { if (++curr_name >= numnames) break; - new_len = rb->strlen(credits[curr_name]); + new_len = rb->utf8length(credits[curr_name]); curr_index -= MAX(curr_len/2 + 2, curr_len - new_len/2 + 1); curr_len = new_len; curr_line ^= 1; -- cgit v1.2.3