From 2d9c0bab540274e99480d965f38f266d20097976 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Fri, 6 Apr 2012 20:21:29 +0200 Subject: Add support for cp1252 (Western European) codepage. In Europe Windows defaults to its own codepage cp1252 (also known as "WinLatin" or "Windows-1252"). cp1252 adds some characters to ISO-8859-1. Some mp3 tagging software on Windows uses cp1252 instead of ISO-8859-1. This violates the ID3 specification, which requires tags to be ISO-8859-1 or Unicode. However, similar violations are made for other codepages and supported by Rockbox using the "Default Codepage" setting. Add support for cp1252 to enable people using such broken tools to override the correct decoding to get their tags displayed properly. Change-Id: I9f2ec478afe2503e99ee8e6609416c92b0f453e0 Reviewed-on: http://gerrit.rockbox.org/209 Reviewed-by: Jens Arnold Tested-by: Jens Arnold --- apps/lang/english.lang | 14 ++++++++++++++ apps/settings_list.c | 9 ++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) (limited to 'apps') diff --git a/apps/lang/english.lang b/apps/lang/english.lang index cd575e9cfa..a70bb8b923 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -13038,3 +13038,17 @@ *: "Start Sleep Timer" + + id: LANG_CODEPAGE_WESTERN_EUROPEAN + desc: in codepage setting menu + user: core + + *: "Western European (CP1252)" + + + *: "Western European (CP1252)" + + + *: "Western European" + + diff --git a/apps/settings_list.c b/apps/settings_list.c index c925b3273e..64bbe07ba4 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -1531,25 +1531,28 @@ const struct settings_list settings[] = { #ifdef HAVE_LCD_BITMAP /* The order must match with that in unicode.c */ "iso8859-1,iso8859-7,iso8859-8,cp1251,iso8859-11,cp1256," - "iso8859-9,iso8859-2,cp1250,sjis,gb2312,ksx1001,big5,utf-8", + "iso8859-9,iso8859-2,cp1250,cp1252,sjis,gb2312,ksx1001,big5,utf-8", set_codepage, 14, - ID2P(LANG_CODEPAGE_LATIN1), ID2P(LANG_CODEPAGE_GREEK), + ID2P(LANG_CODEPAGE_LATIN1), + ID2P(LANG_CODEPAGE_GREEK), ID2P(LANG_CODEPAGE_HEBREW), ID2P(LANG_CODEPAGE_CYRILLIC), ID2P(LANG_CODEPAGE_THAI), ID2P(LANG_CODEPAGE_ARABIC), ID2P(LANG_CODEPAGE_TURKISH), ID2P(LANG_CODEPAGE_LATIN_EXTENDED), ID2P(LANG_CODEPAGE_CENTRAL_EUROPEAN), + ID2P(LANG_CODEPAGE_WESTERN_EUROPEAN), ID2P(LANG_CODEPAGE_JAPANESE), ID2P(LANG_CODEPAGE_SIMPLIFIED), ID2P(LANG_CODEPAGE_KOREAN), ID2P(LANG_CODEPAGE_TRADITIONAL), ID2P(LANG_CODEPAGE_UTF8)), #else /* !HAVE_LCD_BITMAP */ /* The order must match with that in unicode.c */ - "iso8859-1,iso8859-7,cp1251,iso8859-9,iso8859-2,cp1250,utf-8", + "iso8859-1,iso8859-7,cp1251,iso8859-9,iso8859-2,cp1250,cp1252,utf-8", set_codepage, 7, ID2P(LANG_CODEPAGE_LATIN1), ID2P(LANG_CODEPAGE_GREEK), ID2P(LANG_CODEPAGE_CYRILLIC), ID2P(LANG_CODEPAGE_TURKISH), ID2P(LANG_CODEPAGE_LATIN_EXTENDED), ID2P(LANG_CODEPAGE_CENTRAL_EUROPEAN), + ID2P(LANG_CODEPAGE_WESTERN_EUROPEAN), ID2P(LANG_CODEPAGE_UTF8)), #endif OFFON_SETTING(0, warnon_erase_dynplaylist, LANG_WARN_ERASEDYNPLAYLIST_MENU, -- cgit v1.2.3