[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GSM SMS Charset
From: |
Herbert Demmel |
Subject: |
Re: GSM SMS Charset |
Date: |
Tue, 26 Aug 2003 09:59:12 +0200 |
Hi,
this is what I've found in my source code for the commercial application
Cellular Essentials - see at www.demmel.com
Enjoy!
Herbert
const wchar_t GSM_default_alphabet[128] =
{
/* ETSI GSM 03.38, version 6.0.1, section 6.2.1; Default alphabet */
/* Characters in hex position 10, [12 to 1a] and 24 are not present on
latin1 charset, so we cannot reproduce on the screen, however
they are
Greek symbols not even present on my Nokia */
L'@', L'£', L'$', L'¥', L'è', L'é', L'ù', L'ì', // 00
L'ò', L'Ç', L'\n', L'Ø', L'ø', L'\r', L'Å', L'å', // 08
0x394, L'_', 0x3A6, 0x393, 0x39B, 0x3A9, 0x3A0, 0x3A8, // 10
0x3A3, 0x398, 0x39E, L'\xA0',L'Æ', L'æ', L'ß', L'É', // 18
L' ', L'!', L'"', L'#', L'¤', L'%', L'&', L'\'', // 20
L'(', L')', L'*', L'+', L',', L'-', L'.', L'/', // 28
L'0', L'1', L'2', L'3', L'4', L'5', L'6', L'7', // 30
L'8', L'9', L':', L';', L'<', L'=', L'>', L'?', // 38
L'¡', L'A', L'B', L'C', L'D', L'E', L'F', L'G', // 40
L'H', L'I', L'J', L'K', L'L', L'M', L'N', L'O', // 48
L'P', L'Q', L'R', L'S', L'T', L'U', L'V', L'W', // 50
L'X', L'Y', L'Z', L'Ä', L'Ö', L'Ñ', L'Ü', L'§', // 58
L'¿', L'a', L'b', L'c', L'd', L'e', L'f', L'g', // 60
L'h', L'i', L'j', L'k', L'l', L'm', L'n', L'o', // 68
L'p', L'q', L'r', L's', L't', L'u', L'v', L'w', // 70
L'x', L'y', L'z', L'ä', L'ö', L'ñ', L'ü', L'à' // 78
};
// Mapping from the extended Nokia character set to Unicode
// Unused/unmappable characters are set to 0xE000 (first character of the
// Private Use Area)
const wchar_t Nokia_ext_charset[256] =
{
UNMAPPED_NCHAR, // 00
UNMAPPED_NCHAR, // 01
UNMAPPED_NCHAR, // 02
UNMAPPED_NCHAR, // 03
UNMAPPED_NCHAR, // 04
0x0393, // 05 Greek Capital Letter Gamma
0x0394, // 06 Greek Capital Letter Delta
0x0398, // 07 Greek Capital Letter Theta
0x039B, // 08 Greek Capital Letter Lamda
0x039E, // 09 Greek Capital Letter Xi
0x000A, // 0A Carriage Return is still here!
0x03A0, // 0B Greek Capital Letter Pi
UNMAPPED_NCHAR, // 0C
UNMAPPED_NCHAR, // 0D
0x03A3, // 0E Greek Capital Letter Sigma
0x03A6, // 0F Greek Capital Letter Phi
0x03A8, // 10 Greek Capital Letter Psi
0x03A9, // 11 Greek Capital Letter Omega
UNMAPPED_NCHAR, // 12
0x0420, // 13 Cyrillic Capital Letter Er
0x0106, // 14 Latin Capital Letter C With Acute
0x0421, // 15 Cyrillic Capital Letter Es
0x0107, // 16 Latin Small Letter C With Acute
0x0422, // 17 Cyrillic Capital Letter Te
0x0423, // 18 Cyrillic Capital Letter U
0x0424, // 19 Cyrillic Capital Letter Ef
0x0425, // 1A Cyrillic Capital Letter Ha
0x0426, // 1B Cyrillic Capital Letter Tse
0x0427, // 1C Cyrillic Capital Letter Che
0x0428, // 1D Cyrillic Capital Letter Sha
0x0429, // 1E Cyrillic Capital Letter Shcha
0x010C, // 1F Latin Capital Letter C With Caron
L' ', // 20
L'!', // 21
L'"', // 22
L'#', // 23
L'$', // 24
L'%', // 25
L'&', // 26
L'\'', // 27
L'(', // 28
L')', // 29
L'*', // 2A
L'+', // 2B
L',', // 2C
L'-', // 2D
L'.', // 2E
L'/', // 2F
L'0', // 30
L'1', // 31
L'2', // 32
L'3', // 33
L'4', // 34
L'5', // 35
L'6', // 36
L'7', // 37
L'8', // 38
L'9', // 39
L':', // 3A
L';', // 3B
L'<', // 3C
L'=', // 3D
L'>', // 3E
L'?', // 3F
L'@', // 40
L'A', // 41
L'B', // 42
L'C', // 43
L'D', // 44
L'E', // 45
L'F', // 46
L'G', // 47
L'H', // 48
L'I', // 49
L'J', // 4A
L'K', // 4B
L'L', // 4C
L'M', // 4D
L'N', // 4E
L'O', // 4F
L'P', // 50
L'Q', // 51
L'R', // 52
L'S', // 53
L'T', // 54
L'U', // 55
L'V', // 56
L'W', // 57
L'X', // 58
L'Y', // 59
L'Z', // 5A
L'[', // 5B
L'\\', // 5C
L']', // 5D
L'^', // 5E
L'_', // 5F
L'`', // 60
L'a', // 61
L'b', // 62
L'c', // 63
L'd', // 64
L'e', // 65
L'f', // 66
L'g', // 67
L'h', // 68
L'i', // 69
L'j', // 6A
L'k', // 6B
L'l', // 6C
L'm', // 6D
L'n', // 6E
L'o', // 6F
L'p', // 70
L'q', // 71
L'r', // 72
L's', // 73
L't', // 74
L'u', // 75
L'v', // 76
L'w', // 77
L'x', // 78
L'y', // 79
L'z', // 7A
L'{', // 7B
L'|', // 7C
L'}', // 7D
L'~', // 7E
UNMAPPED_NCHAR, // 7F
0x0430, // 80 Cyrillic Small Letter A
0x0431, // 81 Cyrillic Small Letter Be
0x0432, // 82 Cyrillic Small Letter Ve
0x0433, // 83 Cyrillic Small Letter Ghe
0x0434, // 84 Cyrillic Small Letter De
0x0435, // 85 Cyrillic Small Letter Ie
0x0436, // 86 Cyrillic Small Letter Zhe
0x0437, // 87 Cyrillic Small Letter Ze
0x0438, // 88 Cyrillic Small Letter I
0x0439, // 89 Cyrillic Small Letter Short I
0x00C0, // 8A Latin Capital Letter A With Grave
0x00C1, // 8B Latin Capital Letter A With Acute
0x00C2, // 8C Latin Capital Letter A With Circumflex
0x00C3, // 8D Latin Capital Letter A With Tilde
0x011E, // 8E Latin Capital Letter G With Breve
0x043A, // 8F Cyrillic Small Letter Ka
0x011F, // 90 Latin Small Letter G With Breve
0x043B, // 91 Cyrillic Small Letter El
0x043C, // 92 Cyrillic Small Letter Em
0x043D, // 93 Cyrillic Small Letter En
0x00C8, // 94 Latin Capital Letter E With Grave
0x043E, // 95 Cyrillic Small Letter O
0x043F, // 96 Cyrillic Small Letter Pe
0x00CA, // 97 Latin Capital Letter E With Circumflex
0x00CB, // 98 Latin Capital Letter E With Diaeresis
0x00CC, // 99 Latin Capital Letter I With Grave
0x00CD, // 9A Latin Capital Letter I With Acute
0x0440, // 9B Cyrillic Small Letter Er
0x00CE, // 9C Latin Capital Letter I With Circumflex
0x0441, // 9D Cyrillic Small Letter Es
0x00CF, // 9E Latin Capital Letter I With Diaeresis
0x0442, // 9F Cyrillic Small Letter Te
0x0443, // A0 Cyrillic Small Letter U
0x00A1, // A1 Inverted Exclamation Mark
0x0444, // A2 Cyrillic Small Letter Ef
0x00A3, // A3 Pound Sign
0x00A4, // A4 Currency Sign
0x00A5, // A5 Yen Sign
0x0445, // A6 Cyrillic Small Letter Ha
0x00A7, // A7 Section Sign
0x0446, // A8 Cyrillic Small Letter Tse
0x0447, // A9 Cyrillic Small Letter Che
0x0448, // AA Cyrillic Small Letter Sha
0x0449, // AB Cyrillic Small Letter Shcha
0x00D2, // AC Latin Capital Letter O With Grave
0x00D3, // AD Latin Capital Letter O With Acute
0x00D4, // AE Latin Capital Letter O With Circumflex
0x044A, // AF Cyrillic Small Letter Hard Sign
0x00D5, // B0 Latin Capital Letter O With Tilde
0x044B, // B1 Cyrillic Small Letter Yeru
0x044C, // B2 Cyrillic Small Letter Soft Sign
0x044D, // B3 Cyrillic Small Letter E
0x044E, // B4 Cyrillic Small Letter Yu
0x00D9, // B5 Latin Capital Letter U with Grave
0x044F, // B6 Cyrillic Small Letter Ya
0x0130, // B7 Latin Capital Letter I With Dot Above
0x0131, // B8 Latin Small Letter Dotless I
0x00DA, // B9 Latin Capital Letter U With Acute
0x00DB, // BA Latin Capital Letter U With Circumflex
0x00E1, // BB Latin Small Letter A With Acute
0x00E2, // BC Latin Small Letter A With Circumflex
0x00E3, // BD Latin Small Letter A With Tilde
0x00E7, // BE Latin Small Letter C With Cedilla
0x00BF, // BF Inverted Question Mark
0x00EA, // C0 Latin Small Letter E With Circumflex
0x00EB, // C1 Latin Small Letter E With Diaeresis
0x00ED, // C2 Latin Small Letter I With Acute
0x00EE, // C3 Latin Small Letter I With Circumflex
0x00C4, // C4 Latin Capital Letter A With Diaeresis
0x00C5, // C5 Latin Capital Letter A With Ring Above
0x00C6, // C6 Latin Capital Letter Ae
0x00C7, // C7 Latin Capital Letter C With Cedilla
0x00EF, // C8 Latin Small Letter I With Diaeresis
0x00C9, // C9 Latin Capital Letter E With Acute
0x00F3, // CA Latin Small Letter O With Acute
0x00F4, // CB Latin Small Letter O With Circumflex
0x00F5, // CC Latin Small Letter O With Tilde
0x00FA, // CD Latin Small Letter U With Acute
0x0152, // CE Latin Capital Ligature Oe (Windows:
0x8C)
0x00FB, // CF Latin Small Letter U With Circumflex
0x0153, // D0 Latin Small Ligature Oe (Windows: 0x9C)
0x00D1, // D1 Latin Capital Letter N With Tilde
0x00FD, // D2 Latin Small Letter Y With Acute
0x20AC, // D3 Euro Sign (Windows: 0x80)
0x0160, // D4 Latin Capital Letter S With Caron
(Windows: 0x8A)
0x0161, // D5 Latin Small Letter S With Caron
(Windows: 0x9A)
0x00D6, // D6 Latin Capital Letter O With Diaeresis
0x0410, // D7 Cyrillic Capital Letter A
0x00D8, // D8 Latin Capital Letter O With Stroke
0x0411, // D9 Cyrillic Capital Letter Be
0x0412, // DA Cyrillic Capital Letter Ve
0x0413, // DB Cyrillic Capital Letter Ghe
0x00DC, // DC Latin Capital Letter U With Diaeresis
0x0414, // DD Cyrillic Capital Letter De
0x0415, // DE Cyrillic Captial Letter Ie
0x00DF, // DF Latin Small Letter Sharp S
0x00E0, // E0 Latin Small Letter A With Grave
0x0416, // E1 Cyrillic Capital Letter Zhe
0x0417, // E2 Cyrillic Capital Letter Ze
0x0418, // E3 Cyrillic Capital Letter I
0x00E4, // E4 Latin Small Letter A With Diaeresis
0x00E5, // E5 Latin Small Letter A With Ring Above
0x00E6, // E6 Latin Small Letter Ae
0x0419, // E7 Cyrillic Capital Letter Short I
0x00E8, // E8 Latin Small Letter E With Grave
0x00E9, // E9 Latin Small Letter E With Acute
0x041A, // EA Cyrillic Capital Letter Ka
0x041B, // EB Cyrillic Capital Letter El
0x00EC, // EC Latin Small Letter I With Grave
0x041C, // ED Cyrillic Capital Letter Em
0x041D, // EE Cyrillic Capital Letter En
0x041E, // EF Cyrillic Capital Letter O
0x041F, // F0 Cyrillic Capital Letter Pe
0x00F1, // F1 Latin Small Letter N With Tilde
0x00F2, // F2 Latin Small Letter O With Grave
0x017D, // F3 Latin Capital Letter Z With Caron
(Windows: 0x8E)
0x017E, // F4 Latin Small Letter Z With Caron
(Windows: 0x9E)
UNMAPPED_NCHAR, // F5
0x00F6, // F6 Latin Small Letter O With Diaeresis
UNMAPPED_NCHAR, // F7
0x00F8, // F8 Latin Small Letter O With Stroke
0x00F9, // F9 Latin Small Letter U With Grave
UNMAPPED_NCHAR, // FA
UNMAPPED_NCHAR, // FB
0x00FC, // FC Latin Small Letter U With Diaeresis
UNMAPPED_NCHAR, // FD
UNMAPPED_NCHAR, // FE
UNMAPPED_NCHAR // FF
};
At 09:41 26.08.2003 +0200, you wrote:
>>> address@hidden 20 August 2003 23:03:59 >>>
> I have a problem with the gsm charset.
> I've looked at:
> gnokii-0.5.2/common/gsm-encoding.c
> perl-5.8.0/ext/Encode/ucm/gsm0338.ucm
> http://www.unicode.org/Public/MAPPINGS/ETSI/GSM0338.TXT
>
> But I can't find most acute vowels (as used in Spanish and French):
> For example:
> U+00ED LATIN SMALL LETTER I WITH ACUTE
Are you sure, these characters are in the default alphabet? Probably
the easiest way would be to use utf8 encoding.
Oh, well I looked at the url you gave and I don't think they mention
i with acute there.
----------------------------------------------------------
demmel products
Radnitzkygasse 43
A-1100 Vienna / Austria / Europe
Voice: +43-1-6894700-0
Fax: +43-1-6894700-40
Email: address@hidden
WWW: http://www.demmel.com