[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Patch: codec for the winsami2 charset?
From:       Børre Gaup <boerre () subdimension ! com>
Date:       2002-09-18 20:25:25
[Download RAW message or body]

My name is Børre Gaup. I participate in a project called skolelinux [1],
which is developing a (Debian based) Linux distribution for Norwegian schools. 
We are also working on translations to Norwegian (both bokmål and nynorsk) 
and Northern Sámi. This distribution uses KDE as the desktop environment.

The northern sámi language uses some characters that are not found in
iso8859-1, e.g. Å‹ (eng), Ä‘ (dstroke) and so on ...

The winsami-2 character set is a de facto standard[2] used on win9x
platforms, and I think we need support for it so Northern Sámi users can
write e.g. e-mails to users on win9x platforms.

This is an 8-bit solution, implemented for the win9x/me platform.

From a unix platform I can send Northern Sámi e-mail coded as iso8859-4/10 or
utf-8, and the users on a win9x/me platform are able to read it, but they can
only write Northern Sámi using the winsami2 standard. That's why we, in my
opinion, need support for this charset.

I fetched qt-copy and kdelibs and family from cvs, edited
qt-copy/src/codec/qtextcodec.cpp and kdelibs/kdecore/kcharsets.cpp, compiled
it and it worked out of the box, e.g. kmail gives this when sending winsami2
coded mail:
Content-Type: text/plain;
  charset="winsami2"

I sent in the patch for for qtextcodec.cpp, and it got accepted:
> Hi, 
>  
> thanks for your patch. I have added it to Qt-3.0.6 and 3.1. 
>  
> Best regards, 
> Lars 
>  
> -- 
> Lars Knoll, Software Engineer 
> Trolltech AS, Waldemar Thranes gt. 98, N-0175 Oslo, Norway 

I have attached the patches with this mail, and I hope you accept them and 
incorporate them in KDE.

[1]http://developer.skolelinux.no/index.html.en
[2]http://www.hum.uit.no/a/trond/ws2t.html


-- 
Børre Gaup, Kiruna, Sweden

["qtextcodec.cpp.diff" (text/x-diff)]

2213,2235d2212
<     // This one is based on the charmap file 
<     // /usr/share/i18n/charmaps/SAMI-WS2.gz, which is manually adapted
<     // to this format by Børre Gaup <boerre@subdimension.com>
<     { "WINSAMI2", "WS2", 0,
<       { 0x20AC, 0xFFFD, 0x010C, 0x0192, 0x010D, 0x01B7, 0x0292, 0x01EE, 
< 	0x01EF, 0x0110, 0x0160, 0x2039, 0x0152, 0xFFFD, 0xFFFD, 0xFFFD, 
< 	0xFFFD, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 
< 	0x0111, 0x01E6, 0x0161, 0x203A, 0x0153, 0xFFFD, 0xFFFD, 0x0178, 
< 	0x00A0, 0x01E7, 0x01E4, 0x00A3, 0x00A4, 0x01E5, 0x00A6, 0x00A7, 
< 	0x00A8, 0x00A9, 0x021E, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x021F, 
< 	0x00B0, 0x00B1, 0x01E8, 0x01E9, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 
< 	0x014A, 0x014B, 0x0166, 0x00BB, 0x0167, 0x00BD, 0x017D, 0x017E, 
< 	0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 
< 	0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 
< 	0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 
< 	0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, 
< 	0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 
< 	0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 
< 	0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 
< 	0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF} },
< 
< 
< 

["kcharsets.cpp.diff" (text/x-diff)]

38c38
< #define CHARSETS_COUNT 32
---
> #define CHARSETS_COUNT 33
42,56c42,57
< 	I18N_NOOP( "Arabic" ),
< 	I18N_NOOP( "Baltic" ),
< 	I18N_NOOP( "Central European" ),
< 	I18N_NOOP( "Chinese Simplified" ),
< 	I18N_NOOP( "Chinese Traditional" ),
< 	I18N_NOOP( "Cyrillic" ),
< 	I18N_NOOP( "Greek" ),
< 	I18N_NOOP( "Hebrew" ),
< 	I18N_NOOP( "Japanese" ),
< 	I18N_NOOP( "Korean" ),
< 	I18N_NOOP( "Thai" ),
< 	I18N_NOOP( "Turkish" ),
< 	I18N_NOOP( "Western European" ),
< 	I18N_NOOP( "Tamil" ),
< 	I18N_NOOP( "Unicode" )
---
>     I18N_NOOP( "Arabic" ),
>     I18N_NOOP( "Baltic" ),
>     I18N_NOOP( "Central European" ),
>     I18N_NOOP( "Chinese Simplified" ),
>     I18N_NOOP( "Chinese Traditional" ),
>     I18N_NOOP( "Cyrillic" ),
>     I18N_NOOP( "Greek" ),
>     I18N_NOOP( "Hebrew" ),
>     I18N_NOOP( "Japanese" ),
>     I18N_NOOP( "Korean" ),
>     I18N_NOOP( "Thai" ),
>     I18N_NOOP( "Turkish" ),
>     I18N_NOOP( "Western European" ),
>     I18N_NOOP( "Tamil" ),
>     I18N_NOOP( "Unicode" ),
>     I18N_NOOP( "Northern Sami" )
105a107
>     "winsami2",              "winsami2", "ws2", 0,
123a126
> // 16 Northern Sami
167a171
>     { "winsami2", 16 },
274a279
>     { "winsami2", "ws2" },


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic