Internationalisierungs-
und Lokalisierungsänderungen |
 |
In früheren Versionen haben die Multibyte-Routinen
(mblen(), mbtowc(), mbstowcs(), wctomb() und wcstombs()) bestimmte ungültige Zeichen für die
Sprachumgebungen ko_KR.eucKR, zh_CN.hp15CN, zh_TW.big5 und zh_TW.ccdc fälschlicherweise als gültige Zeichen
identifiziert.
Die
Definitionen und Methodenbibliotheken der Sprachumgebungen wurden
geändert, damit diese Sprachumgebungen nur 7-Bit-ASCII-Zeichen
(Ein-Byte-Werte) und folgende 2-Byte-Werte als gültige
Zeichen erkennen.
Tabelle 5-1 Von asiatischen Sprachumgebungen erkannte 2-Byte-Werte
Sprachumgebung | Erstes Byte | Zweites Byte |
|---|
| ko_KR.eucKR | 0xa1-0xfe | 0xa1-0xfe |
| zh_CN.hp15CN[1] | 0xa1-0xfe 0xfb 0xfc-0xfe | 0xa1-0xfe 0x3f-0x7e 0x21-0x7e |
| zh_TW.ccdc | 0xa1-0xfe | 0x21-0x7e,0xa1-0xfe |
| zh_TW.big5 | 0x81-0xfe | 0x40-0x7e,0xa1-0xfe |
Die Routinen multibyte.3c zeigen jetzt das auf den Hilfeseiten dokumentierte
Verhalten. Da die Eingabemethoden für diese Sprachen keine
ungültigen Zeichen unterstützen, dürfte
dies keine Auswirkungen auf Benutzeranwendungen haben. Benutzer
können jetzt die Multibyte-Routinen zum Überprüfen
der Gültigkeit von Zeichen verwenden.
In den meisten Fällen ist eine geringe Beeinträchtigung
der Leistung zu erwarten. Der benutzerdefinierte Zeichenbereich
([0xfb,0x3f-0x7e] und [0xfc-0xfe,0x21-0x7e]) der Sprachumgebung
für vereinfachtes Chinesisch (zh_CN.hp15CN) erfordert zusätzliche Überprüfungen,
die bei UDCs zu einer langsameren Ausführung der Routinen
als bei den anderen Zeichenbereichen führen.
Anwendungen, die das dokumentierte Verhalten aufweisen, sind
nicht davon betroffen. HP hat alle möglichen Maßnahmen
ergriffen, um sicherzustellen, dass Anwendungen nicht vom vorherigen
Verhalten abhängig sind.
Es besteht die Möglichkeit, benutzerdefinierte Sprachumgebungen
und Methodenbibliotheken zu erstellen und anstelle der vom System
bereitgestellten Sprachumgebungen zu verwenden.