why not allow directly utf8 encoded dvb texts? ;)
[enigma2.git] / lib / base / estring.cpp
index 91491c381bddb6602bd6af9c1f0f3f2c2f31603a..014f6e7d89c33deb1ee933f5c63b89692a9aac95 100644 (file)
@@ -334,9 +334,9 @@ std::string convertDVBUTF8(const unsigned char *data, int len, int table, int ts
 
        switch(data[0])
        {
-               case 1 ... 12:
+               case 1 ... 11:
                        table=data[i++]+4;
-//                     eDebug("(1..12)text encoded in ISO-8859-%d",table);
+//                     eDebug("(1..11)text encoded in ISO-8859-%d",table);
                        break;
                case 0x10:
                {
@@ -348,6 +348,7 @@ std::string convertDVBUTF8(const unsigned char *data, int len, int table, int ts
                        {
                                case 12:
                                        eDebug("unsup. ISO8859-12 enc.", n);
+                                       break;
                                default:
                                        table=n;
                                        break;
@@ -370,9 +371,12 @@ std::string convertDVBUTF8(const unsigned char *data, int len, int table, int ts
                        ++i;
                        eDebug("unsup. Big5 subset of ISO/IEC 10646-1 enc.");
                        break;
+               case 0x15: // UTF-8 encoding of ISO/IEC 10646-1
+                       return std::string((char*)data+1, len-1);
                case 0x0:
-               case 0xD ... 0xF:
-               case 0x15 ... 0x1F:
+               case 0xC ... 0xF:
+               case 0x16 ... 0x1F:
+               default:
                        eDebug("reserved %d", data[0]);
                        ++i;
                        break;