Add CJK codecs support as discussed on python-dev. (SF #873597)

Several style fixes are suggested by Martin v. Loewis and
Marc-Andre Lemburg. Thanks!
diff --git a/Modules/cjkcodecs/alg_jisx0201.h b/Modules/cjkcodecs/alg_jisx0201.h
new file mode 100644
index 0000000..6152c75
--- /dev/null
+++ b/Modules/cjkcodecs/alg_jisx0201.h
@@ -0,0 +1,27 @@
+/* $CJKCodecs: alg_jisx0201.h,v 1.2 2003/11/27 16:42:20 perky Exp $ */
+
+#define JISX0201_R_ENCODE(c, assi)              \
+    if ((c) < 0x80 && (c) != 0x5c && (c) != 0x7e) \
+        (assi) = (c);                           \
+    else if ((c) == 0x00a5) (assi) = 0x5c;      \
+    else if ((c) == 0x203e) (assi) = 0x7e;
+#define JISX0201_K_ENCODE(c, assi)              \
+    if ((c) >= 0xff61 && (c) <= 0xff9f)         \
+        (assi) = (c) - 0xfec0;
+#define JISX0201_ENCODE(c, assi)                \
+    JISX0201_R_ENCODE(c, assi)                  \
+    else JISX0201_K_ENCODE(c, assi)
+
+#define JISX0201_R_DECODE(c, assi)              \
+    if ((c) < 0x5c) (assi) = (c);               \
+    else if ((c) == 0x5c) (assi) = 0x00a5;      \
+    else if ((c) < 0x7e) (assi) = (c);          \
+    else if ((c) == 0x7e) (assi) = 0x203e;      \
+    else if ((c) == 0x7f) (assi) = 0x7f;
+#define JISX0201_K_DECODE(c, assi)              \
+    if ((c) >= 0xa1 && (c) <= 0xdf)             \
+        (assi) = 0xfec0 + (c);
+#define JISX0201_DECODE(c, assi)                \
+    JISX0201_R_DECODE(c, assi)                  \
+    else JISX0201_K_DECODE(c, assi)
+