From a23b7658d39d635292982fd7d532eebad4ced4ea Mon Sep 17 00:00:00 2001
From: Andreas Lange <andreas@lange.cx>
Date: Mon, 24 Jul 2000 13:22:32 +0200
Subject: [PATCH] Update existing iso-8859-x to latest standards

Rev: src/modules/_Charset/charsetmod.c:1.19
Rev: src/modules/_Charset/iso2022.c:1.15
Rev: src/modules/_Charset/misc.c:1.4
Rev: src/modules/_Charset/module.pmod.in:1.8
Rev: src/modules/_Charset/tables.c:1.5
---
 src/modules/_Charset/charsetmod.c   |   5 +-
 src/modules/_Charset/iso2022.c      |  12 +--
 src/modules/_Charset/misc.c         |  25 ++---
 src/modules/_Charset/module.pmod.in |  16 ++--
 src/modules/_Charset/tables.c       | 138 ++++++++++++++--------------
 5 files changed, 102 insertions(+), 94 deletions(-)

diff --git a/src/modules/_Charset/charsetmod.c b/src/modules/_Charset/charsetmod.c
index 9a76863604..2859e86c4a 100644
--- a/src/modules/_Charset/charsetmod.c
+++ b/src/modules/_Charset/charsetmod.c
@@ -3,7 +3,7 @@
 #endif /* HAVE_CONFIG_H */
 
 #include "../../global.h"
-RCSID("$Id: charsetmod.c,v 1.18 2000/02/03 19:02:59 grubba Exp $");
+RCSID("$Id: charsetmod.c,v 1.19 2000/07/24 11:22:31 lange Exp $");
 #include "program.h"
 #include "interpret.h"
 #include "stralloc.h"
@@ -251,7 +251,7 @@ static INT32 feed_utf7(const p_wchar0 *p, INT32 l, struct std_cs_stor *s)
   if(l<=0)
     return l;
 
-  if(shift==2)
+  if(shift==2) {
     if(*p=='-') {
       string_builder_putchar(&s->strbuild, '+');
       if(--l==0) {
@@ -262,6 +262,7 @@ static INT32 feed_utf7(const p_wchar0 *p, INT32 l, struct std_cs_stor *s)
       shift=0;
     } else
       shift=1;
+  }
 
   for(;;)
     if(shift) {
diff --git a/src/modules/_Charset/iso2022.c b/src/modules/_Charset/iso2022.c
index 623f223849..0ba2436725 100644
--- a/src/modules/_Charset/iso2022.c
+++ b/src/modules/_Charset/iso2022.c
@@ -3,7 +3,7 @@
 #endif /* HAVE_CONFIG_H */
 
 #include "global.h"
-RCSID("$Id: iso2022.c,v 1.14 1999/10/11 18:16:21 marcus Exp $");
+RCSID("$Id: iso2022.c,v 1.15 2000/07/24 11:22:31 lange Exp $");
 #include "program.h"
 #include "interpret.h"
 #include "stralloc.h"
@@ -362,7 +362,7 @@ static void eat_enc_string(struct pike_string *str, struct iso2022enc_stor *s,
 			   struct pike_string *rep, struct svalue *repcb)
 {
   extern UNICHAR map_ANSI_X3_4_1968[];
-  extern UNICHAR map_ISO_8859_1_1987[];
+  extern UNICHAR map_ISO_8859_1_1998[];
   INT32 l = str->len;
   int s1 = 0;
 
@@ -411,7 +411,7 @@ static void eat_enc_string(struct pike_string *str, struct iso2022enc_stor *s,
 	  }
 	} else if(!lat) {
 	  string_builder_strcat(&s->strbuild, "\033-A");
-	  s->g[1].transl = map_ISO_8859_1_1987;
+	  s->g[1].transl = map_ISO_8859_1_1998;
 	  s->g[1].mode = MODE_96;
 	  s->g[1].index = 0x11;
 	  if(s->r[1].map != NULL) {
@@ -476,7 +476,7 @@ static void eat_enc_string(struct pike_string *str, struct iso2022enc_stor *s,
 	} else if(c<0x100) {
 	  if(s->g[1].mode != MODE_96 || s->g[1].index != 0x11) {
 	    string_builder_strcat(&s->strbuild, "\033-A");
-	    s->g[1].transl = map_ISO_8859_1_1987;
+	    s->g[1].transl = map_ISO_8859_1_1998;
 	    s->g[1].mode = MODE_96;
 	    s->g[1].index = 0x11;
 	    if(s->r[1].map != NULL) {
@@ -659,7 +659,7 @@ static void f_drain(INT32 args)
 static void f_clear(INT32 args)
 {
   extern UNICHAR map_ANSI_X3_4_1968[];
-  extern UNICHAR map_ISO_8859_1_1987[];
+  extern UNICHAR map_ISO_8859_1_1998[];
   struct iso2022_stor *s = (struct iso2022_stor *)fp->current_storage;
   int i;
 
@@ -676,7 +676,7 @@ static void f_clear(INT32 args)
   s->g[0].mode = MODE_94;
   s->g[0].index = 0x12;
   /* Perhaps not strictly correct, but oh so convenient... ;-) */
-  s->g[1].transl = map_ISO_8859_1_1987;
+  s->g[1].transl = map_ISO_8859_1_1998;
   s->g[1].mode = MODE_96;
   s->g[1].index = 0x11;
 
diff --git a/src/modules/_Charset/misc.c b/src/modules/_Charset/misc.c
index 7c651a5680..925a8a5fef 100644
--- a/src/modules/_Charset/misc.c
+++ b/src/modules/_Charset/misc.c
@@ -1502,19 +1502,19 @@ p_wchar1 map_latin_lap[] = {
   0x00e8, 0x0113, 0x01e5, 0x01e7, 0x01e9, 0x014f, 0x00f2, 0x01eb,
   0x01ed, 0x016b, 0xe01e, 0x01ef, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
   0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, };
-p_wchar1 map_latin6[] = {
-  0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x013b, 0x0143,
-  0x0156, 0x0160, 0x0166, 0x017d, 0x00ad, 0x0138, 0x014a, 0x0111,
-  0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x013c, 0x0144,
-  0x0157, 0x0161, 0x0167, 0x017e, 0x00a7, 0x00df, 0x014b, 0x0100,
+p_wchar1 map_ISO_8859_10_1998[] = {
+  0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7, 0x013b,
+  0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a, 0x00b0,
+  0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7, 0x013c,
+  0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b, 0x0100,
   0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e, 0x010c,
-  0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf, 0x0110,
+  0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf, 0x00d0,
   0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168, 0x00d8,
-  0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x016a, 0x0101,
+  0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, 0x0101,
   0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f, 0x010d,
   0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef, 0x00f0,
   0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169, 0x00f8,
-  0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x016b, };
+  0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138, };
 p_wchar1 map_macintosh[] = {
   0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,
   0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,
@@ -1845,11 +1845,12 @@ static struct {
   { "ibm905", map_IBM905, 32, 255 },
   { "ibm918", map_IBM918, 32, 255 },
   { "invariant", map_INVARIANT, 35, 127 },
+  { "iso-8859-10", map_ISO_8859_10_1998, 161, 255 },
   { "iso-ir-103", map_T_61_8bit, 33, 255 },
   { "iso-ir-128", map_T_101_G2, 33, 255 },
   { "iso-ir-150", map_greek_ccitt, 36, 127 },
   { "iso-ir-151", map_NC_NC00_10_81, 36, 127 },
-  { "iso-ir-157", map_latin6, 161, 255 },
+  { "iso-ir-157", map_ISO_8859_10_1998, 161, 255 },
   { "iso-ir-158", map_latin_lap, 160, 255 },
   { "iso-ir-70", map_videotex_suppl, 33, 255 },
   { "iso-ir-90", map_iso_ir_90, 33, 255 },
@@ -1858,12 +1859,14 @@ static struct {
   { "iso646-dk", map_DS_2089, 91, 127 },
   { "iso646-kr", map_KSC5636, 92, 127 },
   { "iso_646.basic:1983", map_ISO_646_basic_1983, 35, 122 },
+  { "iso_8859-10", map_ISO_8859_10_1998, 161, 255 },
+  { "iso_8859-10:1998", map_ISO_8859_10_1998, 161, 255 },
   { "jis_x0201", map_JIS_X0201, 92, 255 },
   { "ksc5636", map_KSC5636, 92, 127 },
-  { "l6", map_latin6, 161, 255 },
+  { "l6", map_ISO_8859_10_1998, 161, 255 },
   { "lap", map_latin_lap, 160, 255 },
   { "latin-lap", map_latin_lap, 160, 255 },
-  { "latin6", map_latin6, 161, 255 },
+  { "latin6", map_ISO_8859_10_1998, 161, 255 },
   { "mac", map_macintosh, 128, 255 },
   { "macintosh", map_macintosh, 128, 255 },
   { "naplps", map_ANSI_X3_110_1983, 33, 255 },
diff --git a/src/modules/_Charset/module.pmod.in b/src/modules/_Charset/module.pmod.in
index 287a770257..773e961a74 100644
--- a/src/modules/_Charset/module.pmod.in
+++ b/src/modules/_Charset/module.pmod.in
@@ -24,10 +24,10 @@ class ascii {
 object(ascii) decoder(string name)
 {
   if(!name || (<
-    "iso_8859-1:1987", "iso-8859-1", "iso_8859-1", "iso-ir-100", "latin1",
-    "l1", "ansi_x3.4-1968", "iso_646.irv:1991", "iso646-us", "iso-ir-6",
-    "us", "us-ascii", "ascii", "cp367", "ibm367", "cp819", "ibm819"
-  >)[name=lower_case(name)])
+    "iso_8859-1:1987", "iso_8859-1:1998", "iso-8859-1", "iso_8859-1", 
+    "iso-ir-100", "latin1", "l1", "ansi_x3.4-1968", "iso_646.irv:1991", 
+    "iso646-us", "iso-ir-6", "us", "us-ascii", "ascii", "cp367", "ibm367", 
+    "cp819", "ibm819">)[name=lower_case(name)])
     return ascii();
 
   if(name[..7]=="iso-2022")
@@ -100,10 +100,10 @@ object(_encoder) encoder(string name, string|void replacement,
 			 function(string:string)|void repcb)
 {
   if(!name || (<
-    "iso_8859-1:1987", "iso-8859-1", "iso_8859-1", "iso-ir-100", "latin1",
-    "l1", "ansi_x3.4-1968", "iso_646.irv:1991", "iso646-us", "iso-ir-6",
-    "us", "us-ascii", "ascii", "cp367", "ibm367", "cp819", "ibm819"
-  >)[name=lower_case(name)])
+    "iso_8859-1:1987", "iso_8859-1:1998", "iso-8859-1", "iso_8859-1", 
+    "iso-ir-100", "latin1", "l1", "ansi_x3.4-1968", "iso_646.irv:1991", 
+    "iso646-us", "iso-ir-6", "us", "us-ascii", "ascii", "cp367", "ibm367", 
+    "cp819", "ibm819">)[name=lower_case(name)])
     return _encoder(replacement, repcb);
 
   if(name[..7]=="iso-2022")
diff --git a/src/modules/_Charset/tables.c b/src/modules/_Charset/tables.c
index 4b1651a13b..fc5a5eb461 100644
--- a/src/modules/_Charset/tables.c
+++ b/src/modules/_Charset/tables.c
@@ -643,7 +643,7 @@ const UNICHAR map_ECMA_cyrillic[] = {
   0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
   0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
   0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, };
-const UNICHAR map_ISO_8859_1_1987[] = {
+const UNICHAR map_ISO_8859_1_1998[] = {
   0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
   0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
   0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
@@ -656,7 +656,7 @@ const UNICHAR map_ISO_8859_1_1987[] = {
   0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
   0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
   0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff, };
-const UNICHAR map_ISO_8859_2_1987[] = {
+const UNICHAR map_ISO_8859_2_1999[] = {
   0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7,
   0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b,
   0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7,
@@ -669,7 +669,7 @@ const UNICHAR map_ISO_8859_2_1987[] = {
   0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,
   0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,
   0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9, };
-const UNICHAR map_ISO_8859_3_1988[] = {
+const UNICHAR map_ISO_8859_3_1999[] = {
   0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, 0xfffd, 0x0124, 0x00a7,
   0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, 0xfffd, 0x017b,
   0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7,
@@ -682,9 +682,9 @@ const UNICHAR map_ISO_8859_3_1988[] = {
   0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
   0xfffd, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7,
   0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9, };
-const UNICHAR map_ISO_8859_4_1988[] = {
+const UNICHAR map_ISO_8859_4_1998[] = {
   0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7,
-  0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x203e,
+  0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af,
   0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7,
   0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b,
   0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,
@@ -721,7 +721,7 @@ const UNICHAR map_ISO_8859_7_1987[] = {
   0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
   0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
   0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0xfffd, };
-const UNICHAR map_ISO_8859_6_1987[] = {
+const UNICHAR map_ISO_8859_6_1999[] = {
   0x00a0, 0xfffd, 0xfffd, 0xfffd, 0x00a4, 0xfffd, 0xfffd, 0xfffd,
   0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x060c, 0x00ad, 0xfffd, 0xfffd,
   0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
@@ -734,9 +734,9 @@ const UNICHAR map_ISO_8859_6_1987[] = {
   0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,
   0x0650, 0x0651, 0x0652, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
   0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, };
-const UNICHAR map_ISO_8859_8_1988[] = {
+const UNICHAR map_ISO_8859_8_1999[] = {
   0x00a0, 0xfffd, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
-  0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x203e,
+  0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
   0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
   0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0xfffd,
   0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
@@ -746,7 +746,7 @@ const UNICHAR map_ISO_8859_8_1988[] = {
   0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,
   0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,
   0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,
-  0x05e8, 0x05e9, 0x05ea, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, };
+  0x05e8, 0x05e9, 0x05ea, 0xfffd, 0xfffd, 0x200e, 0x200f, 0xfffd, };
 const UNICHAR map_CSN_369103[] = {
   0x00a0, 0x0104, 0x02d8, 0x0141, 0x0024, 0x013d, 0x015a, 0x00a7,
   0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b,
@@ -786,7 +786,7 @@ const UNICHAR map_IEC_P27_1[] = {
   0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x2030,
   0x03c0, 0x03c1, 0x03c3, 0x00f7, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
   0x03c8, 0x03c9, 0x2020, 0x2190, 0x2191, 0x2192, 0x2193, 0x203e, };
-const UNICHAR map_ISO_8859_5_1988[] = {
+const UNICHAR map_ISO_8859_5_1999[] = {
   0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407,
   0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f,
   0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
@@ -799,9 +799,9 @@ const UNICHAR map_ISO_8859_5_1988[] = {
   0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
   0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,
   0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f, };
-const UNICHAR map_ISO_8859_9_1989[] = {
+const UNICHAR map_ISO_8859_9_1999[] = {
   0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
-  0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x203e,
+  0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,
   0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,
   0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,
   0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,
@@ -809,7 +809,7 @@ const UNICHAR map_ISO_8859_9_1989[] = {
   0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
   0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,
   0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,
-  0x00e8, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b,
+  0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,
   0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,
   0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff, };
 const UNICHAR map_ISO_6937_2_25[] = {
@@ -6412,10 +6412,10 @@ const UNICHAR *iso2022_94[] = {
   map_CSA_Z243_4_1985_2, NULL, map_JUS_I_B1_002, map_JUS_I_B1_003_serb, 
   map_T_101_G2, map_JUS_I_B1_003_mac, NULL };
 const UNICHAR *iso2022_96[] = {
-  map_ECMA_cyrillic, map_ISO_8859_1_1987, map_ISO_8859_2_1987, map_ISO_8859_3_1988, 
-  map_ISO_8859_4_1988, map_CSA_Z243_4_1985_gr, map_ISO_8859_7_1987, map_ISO_8859_6_1987, 
-  map_ISO_8859_8_1988, map_CSN_369103, map_ISO_6937_2_add, map_IEC_P27_1, 
-  map_ISO_8859_5_1988, map_ISO_8859_9_1989, map_ISO_6937_2_25, map_GOST_19768_74, 
+  map_ECMA_cyrillic, map_ISO_8859_1_1998, map_ISO_8859_2_1999, map_ISO_8859_3_1999, 
+  map_ISO_8859_4_1998, map_CSA_Z243_4_1985_gr, map_ISO_8859_7_1987, map_ISO_8859_6_1999, 
+  map_ISO_8859_8_1999, map_CSN_369103, map_ISO_6937_2_add, map_IEC_P27_1, 
+  map_ISO_8859_5_1999, map_ISO_8859_9_1999, map_ISO_6937_2_25, map_GOST_19768_74, 
   map_ISO_8859_supp, map_ISO_10367_box, NULL, NULL, 
   NULL, NULL, NULL, NULL, 
   NULL, NULL, NULL, NULL, 
@@ -6449,10 +6449,10 @@ const UNICHAR *iso2022_9696[] = {
 const struct charset_def charset_map[] = {
   { "ansi_x3.4-1968", map_ANSI_X3_4_1968, MODE_94 },
   { "ansi_x3.4-1986", map_ANSI_X3_4_1968, MODE_94 },
-  { "arabic", map_ISO_8859_6_1987, MODE_96 },
+  { "arabic", map_ISO_8859_6_1999, MODE_96 },
   { "arabic7", map_ASMO_449, MODE_94 },
   { "ascii", map_ANSI_X3_4_1968, MODE_94 },
-  { "asmo-708", map_ISO_8859_6_1987, MODE_96 },
+  { "asmo-708", map_ISO_8859_6_1999, MODE_96 },
   { "asmo_449", map_ASMO_449, MODE_94 },
   { "bs_4730", map_BS_4730, MODE_94 },
   { "bs_viewdata", map_BS_viewdata, MODE_94 },
@@ -6460,18 +6460,18 @@ const struct charset_def charset_map[] = {
   { "chinese", map_GB_2312_80, MODE_9494 },
   { "cn", map_GB_1988_80, MODE_94 },
   { "cp367", map_ANSI_X3_4_1968, MODE_94 },
-  { "cp819", map_ISO_8859_1_1987, MODE_96 },
+  { "cp819", map_ISO_8859_1_1998, MODE_96 },
   { "csa7-1", map_CSA_Z243_4_1985_1, MODE_94 },
   { "csa7-2", map_CSA_Z243_4_1985_2, MODE_94 },
   { "csa_z243.4-1985-1", map_CSA_Z243_4_1985_1, MODE_94 },
   { "csa_z243.4-1985-2", map_CSA_Z243_4_1985_2, MODE_94 },
   { "csa_z243.4-1985-gr", map_CSA_Z243_4_1985_gr, MODE_96 },
   { "csn_369103", map_CSN_369103, MODE_96 },
-  { "cyrillic", map_ISO_8859_5_1988, MODE_96 },
+  { "cyrillic", map_ISO_8859_5_1999, MODE_96 },
   { "de", map_DIN_66003, MODE_94 },
   { "din_66003", map_DIN_66003, MODE_94 },
   { "e13b", map_ISO_2033_1983, MODE_94 },
-  { "ecma-114", map_ISO_8859_6_1987, MODE_96 },
+  { "ecma-114", map_ISO_8859_6_1999, MODE_96 },
   { "ecma-118", map_ISO_8859_7_1987, MODE_96 },
   { "ecma-cyrillic", map_ECMA_cyrillic, MODE_96 },
   { "elot_928", map_ISO_8859_7_1987, MODE_96 },
@@ -6487,48 +6487,48 @@ const struct charset_def charset_map[] = {
   { "greek7", map_greek7, MODE_94 },
   { "greek7-old", map_greek7_old, MODE_94 },
   { "greek8", map_ISO_8859_7_1987, MODE_96 },
-  { "hebrew", map_ISO_8859_8_1988, MODE_96 },
+  { "hebrew", map_ISO_8859_8_1999, MODE_96 },
   { "hu", map_MSZ_7795_3, MODE_94 },
   { "ibm367", map_ANSI_X3_4_1968, MODE_94 },
-  { "ibm819", map_ISO_8859_1_1987, MODE_96 },
+  { "ibm819", map_ISO_8859_1_1998, MODE_96 },
   { "iec_p27-1", map_IEC_P27_1, MODE_96 },
   { "inis", map_INIS, MODE_94 },
   { "inis-8", map_INIS_8, MODE_94 },
   { "inis-cyrillic", map_INIS_cyrillic, MODE_94 },
   { "irv", map_ISO_646_irv_1983, MODE_94 },
-  { "iso-8859-1", map_ISO_8859_1_1987, MODE_96 },
-  { "iso-8859-2", map_ISO_8859_2_1987, MODE_96 },
-  { "iso-8859-3", map_ISO_8859_3_1988, MODE_96 },
-  { "iso-8859-4", map_ISO_8859_4_1988, MODE_96 },
-  { "iso-8859-5", map_ISO_8859_5_1988, MODE_96 },
-  { "iso-8859-6", map_ISO_8859_6_1987, MODE_96 },
+  { "iso-8859-1", map_ISO_8859_1_1998, MODE_96 },
+  { "iso-8859-2", map_ISO_8859_2_1999, MODE_96 },
+  { "iso-8859-3", map_ISO_8859_3_1999, MODE_96 },
+  { "iso-8859-4", map_ISO_8859_4_1998, MODE_96 },
+  { "iso-8859-5", map_ISO_8859_5_1999, MODE_96 },
+  { "iso-8859-6", map_ISO_8859_6_1999, MODE_96 },
   { "iso-8859-7", map_ISO_8859_7_1987, MODE_96 },
-  { "iso-8859-8", map_ISO_8859_8_1988, MODE_96 },
-  { "iso-8859-9", map_ISO_8859_9_1989, MODE_96 },
+  { "iso-8859-8", map_ISO_8859_8_1999, MODE_96 },
+  { "iso-8859-9", map_ISO_8859_9_1999, MODE_96 },
   { "iso-ir-10", map_SEN_850200_B, MODE_94 },
-  { "iso-ir-100", map_ISO_8859_1_1987, MODE_96 },
-  { "iso-ir-101", map_ISO_8859_2_1987, MODE_96 },
+  { "iso-ir-100", map_ISO_8859_1_1998, MODE_96 },
+  { "iso-ir-101", map_ISO_8859_2_1999, MODE_96 },
   { "iso-ir-102", map_T_61_7bit, MODE_94 },
-  { "iso-ir-109", map_ISO_8859_3_1988, MODE_96 },
+  { "iso-ir-109", map_ISO_8859_3_1999, MODE_96 },
   { "iso-ir-11", map_SEN_850200_C, MODE_94 },
-  { "iso-ir-110", map_ISO_8859_4_1988, MODE_96 },
+  { "iso-ir-110", map_ISO_8859_4_1998, MODE_96 },
   { "iso-ir-111", map_ECMA_cyrillic, MODE_96 },
   { "iso-ir-121", map_CSA_Z243_4_1985_1, MODE_94 },
   { "iso-ir-122", map_CSA_Z243_4_1985_2, MODE_94 },
   { "iso-ir-123", map_CSA_Z243_4_1985_gr, MODE_96 },
   { "iso-ir-126", map_ISO_8859_7_1987, MODE_96 },
-  { "iso-ir-127", map_ISO_8859_6_1987, MODE_96 },
+  { "iso-ir-127", map_ISO_8859_6_1999, MODE_96 },
   { "iso-ir-13", map_JIS_C6220_1969_jp, MODE_94 },
-  { "iso-ir-138", map_ISO_8859_8_1988, MODE_96 },
+  { "iso-ir-138", map_ISO_8859_8_1999, MODE_96 },
   { "iso-ir-139", map_CSN_369103, MODE_96 },
   { "iso-ir-14", map_JIS_C6220_1969_ro, MODE_94 },
   { "iso-ir-141", map_JUS_I_B1_002, MODE_94 },
   { "iso-ir-142", map_ISO_6937_2_add, MODE_96 },
   { "iso-ir-143", map_IEC_P27_1, MODE_96 },
-  { "iso-ir-144", map_ISO_8859_5_1988, MODE_96 },
+  { "iso-ir-144", map_ISO_8859_5_1999, MODE_96 },
   { "iso-ir-146", map_JUS_I_B1_003_serb, MODE_94 },
   { "iso-ir-147", map_JUS_I_B1_003_mac, MODE_94 },
-  { "iso-ir-148", map_ISO_8859_9_1989, MODE_96 },
+  { "iso-ir-148", map_ISO_8859_9_1999, MODE_96 },
   { "iso-ir-149", map_KS_C_5601_1987, MODE_9494 },
   { "iso-ir-15", map_IT, MODE_94 },
   { "iso-ir-152", map_ISO_6937_2_25, MODE_96 },
@@ -6607,24 +6607,29 @@ const struct charset_def charset_map[] = {
   { "iso_646.irv:1991", map_ANSI_X3_4_1968, MODE_94 },
   { "iso_6937-2-25", map_ISO_6937_2_25, MODE_96 },
   { "iso_6937-2-add", map_ISO_6937_2_add, MODE_96 },
-  { "iso_8859-1", map_ISO_8859_1_1987, MODE_96 },
-  { "iso_8859-1:1987", map_ISO_8859_1_1987, MODE_96 },
-  { "iso_8859-2", map_ISO_8859_2_1987, MODE_96 },
-  { "iso_8859-2:1987", map_ISO_8859_2_1987, MODE_96 },
-  { "iso_8859-3", map_ISO_8859_3_1988, MODE_96 },
-  { "iso_8859-3:1988", map_ISO_8859_3_1988, MODE_96 },
-  { "iso_8859-4", map_ISO_8859_4_1988, MODE_96 },
-  { "iso_8859-4:1988", map_ISO_8859_4_1988, MODE_96 },
-  { "iso_8859-5", map_ISO_8859_5_1988, MODE_96 },
-  { "iso_8859-5:1988", map_ISO_8859_5_1988, MODE_96 },
-  { "iso_8859-6", map_ISO_8859_6_1987, MODE_96 },
-  { "iso_8859-6:1987", map_ISO_8859_6_1987, MODE_96 },
+  { "iso_8859-1", map_ISO_8859_1_1998, MODE_96 },
+  { "iso_8859-1:1987", map_ISO_8859_1_1998, MODE_96 },
+  { "iso_8859-1:1998", map_ISO_8859_1_1998, MODE_96 },
+  { "iso_8859-2", map_ISO_8859_2_1999, MODE_96 },
+  { "iso_8859-2:1987", map_ISO_8859_2_1999, MODE_96 },
+  { "iso_8859-2:1999", map_ISO_8859_2_1999, MODE_96 },
+  { "iso_8859-3", map_ISO_8859_3_1999, MODE_96 },
+  { "iso_8859-3:1988", map_ISO_8859_3_1999, MODE_96 },
+  { "iso_8859-3:1999", map_ISO_8859_3_1999, MODE_96 },
+  { "iso_8859-4", map_ISO_8859_4_1998, MODE_96 },
+  { "iso_8859-4:1998", map_ISO_8859_4_1998, MODE_96 },
+  { "iso_8859-5", map_ISO_8859_5_1999, MODE_96 },
+  { "iso_8859-5:1988", map_ISO_8859_5_1999, MODE_96 },
+  { "iso_8859-5:1999", map_ISO_8859_5_1999, MODE_96 },
+  { "iso_8859-6", map_ISO_8859_6_1999, MODE_96 },
+  { "iso_8859-6:1987", map_ISO_8859_6_1999, MODE_96 },
+  { "iso_8859-6:1999", map_ISO_8859_6_1999, MODE_96 },
   { "iso_8859-7", map_ISO_8859_7_1987, MODE_96 },
   { "iso_8859-7:1987", map_ISO_8859_7_1987, MODE_96 },
-  { "iso_8859-8", map_ISO_8859_8_1988, MODE_96 },
-  { "iso_8859-8:1988", map_ISO_8859_8_1988, MODE_96 },
-  { "iso_8859-9", map_ISO_8859_9_1989, MODE_96 },
-  { "iso_8859-9:1989", map_ISO_8859_9_1989, MODE_96 },
+  { "iso_8859-8", map_ISO_8859_8_1999, MODE_96 },
+  { "iso_8859-8:1999", map_ISO_8859_8_1999, MODE_96 },
+  { "iso_8859-9", map_ISO_8859_9_1999, MODE_96 },
+  { "iso_8859-9:1999", map_ISO_8859_9_1999, MODE_96 },
   { "iso_8859-supp", map_ISO_8859_supp, MODE_96 },
   { "iso_9036", map_ASMO_449, MODE_94 },
   { "it", map_IT, MODE_94 },
@@ -6656,19 +6661,19 @@ const struct charset_def charset_map[] = {
   { "ks_c_5601-1987", map_KS_C_5601_1987, MODE_9494 },
   { "ks_c_5601-1989", map_KS_C_5601_1987, MODE_9494 },
   { "ksc_5601", map_KS_C_5601_1987, MODE_9494 },
-  { "l1", map_ISO_8859_1_1987, MODE_96 },
-  { "l2", map_ISO_8859_2_1987, MODE_96 },
-  { "l3", map_ISO_8859_3_1988, MODE_96 },
-  { "l4", map_ISO_8859_4_1988, MODE_96 },
-  { "l5", map_ISO_8859_9_1989, MODE_96 },
+  { "l1", map_ISO_8859_1_1998, MODE_96 },
+  { "l2", map_ISO_8859_2_1999, MODE_96 },
+  { "l3", map_ISO_8859_3_1999, MODE_96 },
+  { "l4", map_ISO_8859_4_1998, MODE_96 },
+  { "l5", map_ISO_8859_9_1999, MODE_96 },
   { "latin-greek", map_latin_greek, MODE_94 },
   { "latin-greek-1", map_Latin_greek_1, MODE_94 },
-  { "latin1", map_ISO_8859_1_1987, MODE_96 },
+  { "latin1", map_ISO_8859_1_1998, MODE_96 },
   { "latin1-2-5", map_ISO_8859_supp, MODE_96 },
-  { "latin2", map_ISO_8859_2_1987, MODE_96 },
-  { "latin3", map_ISO_8859_3_1988, MODE_96 },
-  { "latin4", map_ISO_8859_4_1988, MODE_96 },
-  { "latin5", map_ISO_8859_9_1989, MODE_96 },
+  { "latin2", map_ISO_8859_2_1999, MODE_96 },
+  { "latin3", map_ISO_8859_3_1999, MODE_96 },
+  { "latin4", map_ISO_8859_4_1998, MODE_96 },
+  { "latin5", map_ISO_8859_9_1999, MODE_96 },
   { "macedonian", map_JUS_I_B1_003_mac, MODE_94 },
   { "msz_7795.3", map_MSZ_7795_3, MODE_94 },
   { "nats-dano", map_NATS_DANO, MODE_94 },
@@ -6699,4 +6704,3 @@ const struct charset_def charset_map[] = {
   { "yu", map_JUS_I_B1_002, MODE_94 },
 };
 int num_charset_def = sizeof(charset_map)/sizeof(charset_map[0]);
-
-- 
GitLab