The one thing that seemed to be a limitation of the ISO 8879:1986 Annex E.3
stuff was that once you switched out of Latin1, you couldn't get back in.
However that could be just because the existing browsers hacked to do 2022
have that limitation.
It would have to be the latter (implementation), 8879 E.3 admits
all of the ISO 2022 techniques: announcement, designation, invocation,
etc. The following example shows how to switch from 8859-1 to Unicode (as
UCS-2) and back would be something like (assuming an initial state of
ISO 2022 level 1, an initial designation of 8859-1 to G0/G1, and big-
endian byte order):
41 A
C1 A ACUTE
1B 25 2F 40 ESC 2/5 2/15 4/0 (designate UCS-2 Coding System)
00 41 A
00 C1 A ACUTE
0E 01 THAI KO KAI
06 21 ARABIC HAMZA
00 1B 00 25 00 40 ESC 2/5 4/0 (return to ISO 2022 Coding System)
41 A
C1 A ACUTE
However, a much simpler solution for the same data would be either
(1) UCS-2:
00 41 A
00 C1 A ACUTE
00 41 A
00 C1 A ACUTE
0E 01 THAI KO KAI
06 21 ARABIC HAMZA
00 41 A
00 C1 A ACUTE
or (2) UTF-8:
41 A
C3 81 A ACUTE
41 A
C3 81 A ACUTE
E0 B8 81 THAI KO KAI
D8 A1 ARABIC HAMZA
41 A
C3 81 A ACUTE
The advantage of UCS-2 being its fixed width, and the advantage of UTF-8
being its interchange compatibility with C string type implementations, etc.
Regards,
Glenn