The class PtIString is used to represent international strings. In previous versions of POET, the PtString class did not provide correct sorting for special characters such as accented letters. The PtIString (for case-sensitive comparisons) and PtCaseIString (for case-insensitive comparisons) were therefore provided for this purpose. The new implementation of PtString offers correct sorting as well as case- and diacritic-insensitive searches. PtIString and PtCaseIString are therefore supported only for backward-compatibility. PtString should be considered to be the universal class for string representation in POET.
The following text describes how PtIString and PtCaseIString manage text. This discussion does not apply to PtString, which uses a much more sophisticated sorting algorithm. Consult the internationalization chapter of the Programmer's Guide and the description of the PtString API for more information. German special characters are sorted according to Duden, not according to the Post Office conventions: "ä ;" is sorted as "a" instead of "ae", "ö ;" is sorted as "o" instead of "oe", ü ; is sorted as "u" instead of "ue", and "ß ;" is sorted as "ss". Queries will distinguish each special character from the equivalent sort sequence: if you search for "Mü ;ller", you will not find any entries for "Muller." Scandinavian special characters are sorted after the "Z" in the following order: y, z, æ ;, ø, å ;. "Ä ;" and "ö ;" are sorted as in German (this does not conform to Swedish or Norwegian standards, which specify that these letters should come after the Z, but we have chosen to use one sort order for all international strings).
Icelandic contains characters Ð ; (capital "eth") and ð ; (small "eth"), which are sorted between "d" and "e". It also contains the characters Þ ; (capital "thorn") and þ ; (small "thorn"), which come after "z". The character "ö ;" is sorted as in German (Icelandic expects it after the thorn, but we have chosen to use one sort order for all international strings). The characters [OElig ] and [oelig ] are mapped onto "OE" and "oe", respectively. Other special characters are always sorted according to their base character. For instance, the following characters all have the same sort value as "e":
é, è, ê ;, ë ;, E, É, È, Ê ;, Ë ;.
Spanish requires that "ch" be treated as one letter which comes between "c" and "d", and that "ll" be treated as one letter which comes between "l" and "m". These transformations are not made for POET's international strings, and would be rather confusing for other language groups. In RAM, PtCaseIString uses the native character set for each platform that POET runs on. To ensure portability, all strings are converted to the ISO 8859/1 character set when they are stored.
All three POET string classes are registered in the type manager. It is not generally safe to derive your class from a class which is registered in the type manager. You may create a string class which contains a PtCaseIString, but you may not derive a class from PtCaseIString. For a description of the member functions, please see PtString.
Copyright (c) 1996 POET Software, Inc. All rights reserved. Reproduction in whole or in part in any form or medium without the express permission of POET Software, Inc. is prohibited.