From 52bd937c64b36e66f084728694dec9498bc01fe7 Mon Sep 17 00:00:00 2001
From: Marcus Comstedt <marcus@mc.pp.se>
Date: Thu, 7 Aug 2014 16:54:26 +0200
Subject: [PATCH] _Charset: Correct forms of arabic characters in IBM encodings

This brings the selection of presentation forms in line with what
is published on http://www-01.ibm.com/software/globalization/g11n-res.html

Thanks to Chris Angelico for discovering the issue.
---
 src/modules/_Charset/misc.c | 54 ++++++++++++++++++-------------------
 1 file changed, 27 insertions(+), 27 deletions(-)

diff --git a/src/modules/_Charset/misc.c b/src/modules/_Charset/misc.c
index 800e374111..1e9961a81f 100644
--- a/src/modules/_Charset/misc.c
+++ b/src/modules/_Charset/misc.c
@@ -1208,17 +1208,17 @@ static const p_wchar1 map_IBM864[] = {
   0x00df, 0x221e, 0x00f8, 0x00b1, 0x00bd, 0x00bc, 0x2248, 0x00ab,
   0x00bb, 0xfef7, 0xfef8, 0xfffd, 0xfffd, 0xfefb, 0xfefc, 0xfe8e,
   0xfffd, 0x00ad, 0xfe82, 0x00a3, 0x00a4, 0xfe84, 0xfffd, 0xfffd,
-  0xfe8e, 0x0628, 0x062a, 0x062b, 0x060c, 0x062c, 0x062d, 0x062e,
-  0x06f0, 0x06f1, 0x06f2, 0x06f3, 0x06f4, 0x06f5, 0x06f6, 0x06f7,
-  0x06f8, 0x06f9, 0x06a4, 0x061b, 0x0633, 0x0634, 0x0635, 0x061f,
-  0x00a2, 0x0621, 0x0622, 0x0623, 0x0624, 0xfecc, 0x0626, 0x0627,
-  0xfe90, 0x0629, 0xfe96, 0xfe9a, 0xfe9e, 0xfea2, 0xfea6, 0x062f,
-  0x0630, 0x0631, 0x0632, 0xfeb2, 0xfeb6, 0xfeba, 0xfebe, 0x0637,
-  0x0638, 0xfeca, 0xfece, 0x00a6, 0x00ac, 0x00f7, 0x00d7, 0x0639,
-  0x0640, 0xfed4, 0xfed8, 0xfeda, 0xfee0, 0xfee2, 0xfee8, 0xfeea,
-  0x0648, 0x0649, 0xfef2, 0x0636, 0xfee4, 0xfed0, 0x063a, 0x0645,
-  0xfe7d, 0x0651, 0x0646, 0x0647, 0xfeeb, 0xfef0, 0xfef4, 0x0641,
-  0x0642, 0xfef5, 0xfef6, 0x0644, 0x0643, 0x064a, 0x25a0, 0x00a0, };
+  0xfe8e, 0xfe8f, 0xfe95, 0xfe99, 0x060c, 0xfe9d, 0xfea1, 0xfea5,
+  0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667,
+  0x0668, 0x0669, 0xfed1, 0x061b, 0xfeb1, 0xfeb5, 0xfeb9, 0x061f,
+  0x00a2, 0xfe80, 0xfe81, 0xfe83, 0xfe85, 0xfeca, 0xfe8b, 0xfe8d,
+  0xfe91, 0xfe93, 0xfe97, 0xfe9b, 0xfe9f, 0xfea3, 0xfea7, 0xfea9,
+  0xfeab, 0xfead, 0xfeaf, 0xfeb3, 0xfeb7, 0xfebb, 0xfebf, 0xfec3,
+  0xfec7, 0xfecb, 0xfecf, 0x00a6, 0x00ac, 0x00f7, 0x00d7, 0xfec9,
+  0x0640, 0xfed3, 0xfed7, 0xfedb, 0xfedf, 0xfee3, 0xfee7, 0xfeeb,
+  0xfeed, 0xfeef, 0xfef3, 0xfebd, 0xfecc, 0xfece, 0xfecd, 0xfee1,
+  0xfe7d, 0xfe7c, 0xfee5, 0xfee9, 0xfeec, 0xfef0, 0xfef2, 0xfed0,
+  0xfed5, 0xfef5, 0xfef6, 0xfedd, 0xfed9, 0xfef1, 0x25a0, 0x00a0, };
 static const p_wchar1 map_IBM865[] = {
   0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
   0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
@@ -1254,22 +1254,22 @@ static const p_wchar1 map_IBM866 [] = {
   0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040E, 0x045E,
   0x00B0, 0x2219, 0x00B7, 0x221A, 0x2116, 0x00A4, 0x25A0, 0x00A0, };
 static const p_wchar1 map_IBM868[] = {
-  0x06f0, 0x06f1, 0x06f2, 0x06f3, 0x06f4, 0x06f5, 0x06f6, 0x06f7,
-  0x06f8, 0x06f9, 0x060c, 0x061b, 0x061f, 0x0622, 0x0627, 0xfe8e,
-  0xfe8e, 0x0628, 0xfe90, 0x067e, 0xfffd, 0x0629, 0x062a, 0xfe96,
-  0xfffd, 0xfffd, 0x062b, 0xfe9a, 0x062c, 0xfe9e, 0xfffd, 0xfffd,
-  0x062d, 0xfea2, 0x062e, 0xfea6, 0x062f, 0xfffd, 0x0630, 0x0631,
-  0xfffd, 0x0632, 0xfffd, 0x0633, 0xfeb2, 0x0634, 0x00ab, 0x00bb,
-  0xfeb6, 0x0635, 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0xfeba,
-  0x0636, 0xfebe, 0x0637, 0x2563, 0x2551, 0x2557, 0x255d, 0x0638,
-  0x0639, 0x2510, 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c,
-  0xfecc, 0xfeca, 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550,
-  0x256c, 0xfecb, 0x063a, 0xfed0, 0xfece, 0xfecf, 0x0641, 0xfed2,
-  0x0642, 0xfed6, 0xfedc, 0x2518, 0x250c, 0x2588, 0x2580, 0xfeda,
-  0xfffd, 0x2584, 0xfffd, 0x0644, 0xfee0, 0xfedf, 0x0645, 0xfee2,
-  0xfffd, 0x0646, 0xfee6, 0xfffd, 0x0648, 0xfffd, 0xfffd, 0xfffd,
-  0xfffd, 0x0621, 0x00ad, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
-  0xfffd, 0xfffd, 0xfffd, 0x0651, 0xfe7d, 0xfffd, 0x25a0, 0x00a0, };
+  0x0660, 0x0661, 0x0662, 0x0663, 0x06f4, 0x06f5, 0x0666, 0x06f7,
+  0x0668, 0x0669, 0x060c, 0x061b, 0x061f, 0xfe81, 0xfe8d, 0xfe8e,
+  0xfe8e, 0xfe8f, 0xfe91, 0xfb56, 0xfb58, 0xfe93, 0xfe95, 0xfe97,
+  0xfb66, 0xfb68, 0xfe99, 0xfe9b, 0xfe9d, 0xfe9f, 0xfb7a, 0xfb7c,
+  0xfea1, 0xfea3, 0xfea5, 0xfea7, 0xfea9, 0xfb88, 0xfeab, 0xfead,
+  0xfb8c, 0xfeaf, 0xfb8a, 0xfeb1, 0xfeb3, 0xfeb5, 0x00ab, 0x00bb,
+  0xfeb6, 0x0635, 0x2591, 0x2592, 0x2593, 0xfeb7, 0xfeb9, 0xfebb,
+  0xfebd, 0xfebe, 0x0637, 0x2563, 0x2551, 0xfebf, 0xfec3, 0x0638,
+  0x0639, 0x2510, 0x2514, 0x2534, 0x252c, 0x251c, 0xfec7, 0xfec9,
+  0xfecc, 0xfeca, 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0xfeca,
+  0xfecb, 0xfecc, 0xfecd, 0xfece, 0xfecf, 0xfed0, 0xfed1, 0xfed3,
+  0xfed5, 0xfed6, 0xfedc, 0x2518, 0x250c, 0xfed7, 0xfb8e, 0xfeda,
+  0xfedb, 0xfb92, 0xfb94, 0xfedd, 0xfedf, 0xfee0, 0xfee1, 0xfee3,
+  0xfb9e, 0xfee5, 0xfee7, 0xfe85, 0xfeed, 0xfba6, 0xfba8, 0xfba9,
+  0xfffd, 0xfbaa, 0xfe80, 0xfffd, 0xfffd, 0xfffd, 0xfbfc, 0xfbfd,
+  0xfbfe, 0xfbb0, 0xfbae, 0xfe7c, 0xfe7d, 0xfffd, 0x25a0, 0x00a0, };
 static const p_wchar1 map_IBM869[] = {
   0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x0386, 0xfffd,
   0x00b7, 0x00ac, 0x00a6, 0x201b, 0x2019, 0x0388, 0x2014, 0x0389,
-- 
GitLab