diff --git a/fonts/jis0201.flc b/fonts/jis0201.flc
index ca18c42..6a32e62 100644
--- a/fonts/jis0201.flc
+++ b/fonts/jis0201.flc
@@ -1,212 +1,249 @@
+# JIS X 0201 (1976) mappings for ISO 2022 usage.
+
+# Invoke JIS Roman in G0/GL, and JIS Katakana ("halfwidth" katakana, but
+# we map it to fullwidth for compatibility with existing fonts) in
+# G1/GR.
 #
-#	Name:             JIS X 0201 (1976) to Unicode 1.1 Table
-#	Unicode version:  1.1
-#	Table version:    1.0
-#	Table format:     Format A
-#	Date:             2011 October 14
+# This means that the Katakana is available in the high bytes, or you
+# can use SHIFT OUT (0x1E) to cause the low-value bytes (in the ASCII
+# code value range) to invoke Katakana characters (using SHIFT IN (0x1F)
+# to switch back). Of course, this being ISO 2022, you can also use the
+# escape sequences ESC ( I and ESC ( J to shift it in and out.
+
+g 0 94 J
+g 1 94 I
+g L 0
+g R 1
+
+# JIS Roman: ISO 646 variant just like ASCII, but with <Yen> for
+# <backslash>, and <overline> for <tilde>.
+
+0x4A0020    0x20
+0x4A0021    0x21
+0x4A0022    0x22
+0x4A0023    0x23
+0x4A0024    0x24
+0x4A0025    0x25
+0x4A0026    0x26
+0x4A0027    0x27
+0x4A0028    0x28
+0x4A0029    0x29
+0x4A002A    0x2A
+0x4A002B    0x2B
+0x4A002C    0x2C
+0x4A002D    0x2D
+0x4A002E    0x2E
+0x4A002F    0x2F
+0x4A0030    0x30
+0x4A0031    0x31
+0x4A0032    0x32
+0x4A0033    0x33
+0x4A0034    0x34
+0x4A0035    0x35
+0x4A0036    0x36
+0x4A0037    0x37
+0x4A0038    0x38
+0x4A0039    0x39
+0x4A003A    0x3A
+0x4A003B    0x3B
+0x4A003C    0x3C
+0x4A003D    0x3D
+0x4A003E    0x3E
+0x4A003F    0x3F
+0x4A0040    0x40
+0x4A0041    0x41
+0x4A0042    0x42
+0x4A0043    0x43
+0x4A0044    0x44
+0x4A0045    0x45
+0x4A0046    0x46
+0x4A0047    0x47
+0x4A0048    0x48
+0x4A0049    0x49
+0x4A004A    0x4A
+0x4A004B    0x4B
+0x4A004C    0x4C
+0x4A004D    0x4D
+0x4A004E    0x4E
+0x4A004F    0x4F
+0x4A0050    0x50
+0x4A0051    0x51
+0x4A0052    0x52
+0x4A0053    0x53
+0x4A0054    0x54
+0x4A0055    0x55
+0x4A0056    0x56
+0x4A0057    0x57
+0x4A0058    0x58
+0x4A0059    0x59
+0x4A005A    0x5A
+0x4A005B    0x5B
+0x4A005C    0xA5    # \ -> Yen
+0x4A005D    0x5D
+0x4A005E    0x5E
+0x4A005F    0x5F
+0x4A0060    0x60
+0x4A0061    0x61
+0x4A0062    0x62
+0x4A0063    0x63
+0x4A0064    0x64
+0x4A0065    0x65
+0x4A0066    0x66
+0x4A0067    0x67
+0x4A0068    0x68
+0x4A0069    0x69
+0x4A006A    0x6A
+0x4A006B    0x6B
+0x4A006C    0x6C
+0x4A006D    0x6D
+0x4A006E    0x6E
+0x4A006F    0x6F
+0x4A0070    0x70
+0x4A0071    0x71
+0x4A0072    0x72
+0x4A0073    0x73
+0x4A0074    0x74
+0x4A0075    0x75
+0x4A0076    0x76
+0x4A0077    0x77
+0x4A0078    0x78
+0x4A0079    0x79
+0x4A007A    0x7A
+0x4A007B    0x7B
+0x4A007C    0x7C
+0x4A007D    0x7D
+0x4A007E    0x203E
+
+
+# Mappings for JIS Katakana.
+
+0x490021    0x3002
+0x490022    0x300C
+0x490023    0x300D
+0x490024    0x3001
+0x490025    0x30FB
+0x490026    0x30F2
+0x490027    0x30A1
+0x490028    0x30A3
+0x490029    0x30A5
+0x49002A    0x30A7
+0x49002B    0x30A9
+0x49002C    0x30E3
+0x49002D    0x30E5
+0x49002E    0x30E7
+0x49002F    0x30C3
+0x490030    0x30FC
+0x490031    0x30A2
+0x490032    0x30A4
+0x490033    0x30A6
+0x490034    0x30A8
+0x490035    0x30AA
+0x490036    0x30AB
+0x490037    0x30AD
+0x490038    0x30AF
+0x490039    0x30B1
+0x49003A    0x30B3
+0x49003B    0x30B5
+0x49003C    0x30B7
+0x49003D    0x30B9
+0x49003E    0x30BB
+0x49003F    0x30BD
+0x490040    0x30BF
+0x490041    0x30C1
+0x490042    0x30C4
+0x490043    0x30C6
+0x490044    0x30C8
+0x490045    0x30CA
+0x490046    0x30CB
+0x490047    0x30CC
+0x490048    0x30CD
+0x490049    0x30CE
+0x49004A    0x30CF
+0x49004B    0x30D2
+0x49004C    0x30D5
+0x49004D    0x30D8
+0x49004E    0x30DB
+0x49004F    0x30DE
+0x490050    0x30DF
+0x490051    0x30E0
+0x490052    0x30E1
+0x490053    0x30E2
+0x490054    0x30E4
+0x490055    0x30E6
+0x490056    0x30E8
+0x490057    0x30E9
+0x490058    0x30EA
+0x490059    0x30EB
+0x49005A    0x30EC
+0x49005B    0x30ED
+0x49005C    0x30EF
+0x49005D    0x30F3
+0x49005E    0x309B
+0x49005F    0x309C
+
+# For reference, here's what they'd map to if we were mapping to
+# halfwidth Katakana.
 #
-#	Copyright (c) 1994-2011 Unicode, Inc.  All Rights reserved.
-#
-#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
-#	No claims are made as to fitness for any particular purpose.  No
-#	warranties of any kind are expressed or implied.  The recipient
-#	agrees to determine applicability of information provided.  If this
-#	file has been provided on magnetic media by Unicode, Inc., the sole
-#	remedy for any claim will be exchange of defective media within 90
-#	days of receipt.
-#
-#  Unicode, Inc. hereby grants the right to freely use the information
-#  supplied in this file in the creation of products supporting the
-#  Unicode Standard, and to make copies of this file in any form for
-#  internal or external distribution as long as this notice remains
-#  attached.
-#
-#	General notes:
-#
-#
-# This table contains one set of mappings from JIS X 0201 into Unicode.
-# Note that these data are *possible* mappings only and may not be the
-# same as those used by actual products, nor may they be the best suited
-# for all uses.  For more information on the mappings between various code
-# pages incorporating the repertoire of JIS X 0201 and Unicode, consult the
-# VENDORS mapping data.
-#
-#
-#	Format:  Three tab-separated columns
-#		Column #1 is the shift JIS code (in hex as 0xXX)
-#		Column #2 is the Unicode (in hex as 0xXXXX)
-#		Column #3 the Unicode (ISO 10646) name (follows a comment sign)
-#
-#	The entries are in JIS order
-#
-#  Revision History:
-#
-#    [v1.0, 2011 October 14]
-#    Updated terms of use to current wording.
-#    Updated contact information.
-#    No changes to the mapping data.
-#
-#    [v0.9, 8 March 1994]
-#    First release.
-#
-#  Use the Unicode reporting form <http://www.unicode.org/reporting.html>
-#    for any questions or comments or to report errors in the data.
-#
-0x20	0x0020	# SPACE
-0x21	0x0021	# EXCLAMATION MARK
-0x22	0x0022	# QUOTATION MARK
-0x23	0x0023	# NUMBER SIGN
-0x24	0x0024	# DOLLAR SIGN
-0x25	0x0025	# PERCENT SIGN
-0x26	0x0026	# AMPERSAND
-0x27	0x0027	# APOSTROPHE
-0x28	0x0028	# LEFT PARENTHESIS
-0x29	0x0029	# RIGHT PARENTHESIS
-0x2A	0x002A	# ASTERISK
-0x2B	0x002B	# PLUS SIGN
-0x2C	0x002C	# COMMA
-0x2D	0x002D	# HYPHEN-MINUS
-0x2E	0x002E	# FULL STOP
-0x2F	0x002F	# SOLIDUS
-0x30	0x0030	# DIGIT ZERO
-0x31	0x0031	# DIGIT ONE
-0x32	0x0032	# DIGIT TWO
-0x33	0x0033	# DIGIT THREE
-0x34	0x0034	# DIGIT FOUR
-0x35	0x0035	# DIGIT FIVE
-0x36	0x0036	# DIGIT SIX
-0x37	0x0037	# DIGIT SEVEN
-0x38	0x0038	# DIGIT EIGHT
-0x39	0x0039	# DIGIT NINE
-0x3A	0x003A	# COLON
-0x3B	0x003B	# SEMICOLON
-0x3C	0x003C	# LESS-THAN SIGN
-0x3D	0x003D	# EQUALS SIGN
-0x3E	0x003E	# GREATER-THAN SIGN
-0x3F	0x003F	# QUESTION MARK
-0x40	0x0040	# COMMERCIAL AT
-0x41	0x0041	# LATIN CAPITAL LETTER A
-0x42	0x0042	# LATIN CAPITAL LETTER B
-0x43	0x0043	# LATIN CAPITAL LETTER C
-0x44	0x0044	# LATIN CAPITAL LETTER D
-0x45	0x0045	# LATIN CAPITAL LETTER E
-0x46	0x0046	# LATIN CAPITAL LETTER F
-0x47	0x0047	# LATIN CAPITAL LETTER G
-0x48	0x0048	# LATIN CAPITAL LETTER H
-0x49	0x0049	# LATIN CAPITAL LETTER I
-0x4A	0x004A	# LATIN CAPITAL LETTER J
-0x4B	0x004B	# LATIN CAPITAL LETTER K
-0x4C	0x004C	# LATIN CAPITAL LETTER L
-0x4D	0x004D	# LATIN CAPITAL LETTER M
-0x4E	0x004E	# LATIN CAPITAL LETTER N
-0x4F	0x004F	# LATIN CAPITAL LETTER O
-0x50	0x0050	# LATIN CAPITAL LETTER P
-0x51	0x0051	# LATIN CAPITAL LETTER Q
-0x52	0x0052	# LATIN CAPITAL LETTER R
-0x53	0x0053	# LATIN CAPITAL LETTER S
-0x54	0x0054	# LATIN CAPITAL LETTER T
-0x55	0x0055	# LATIN CAPITAL LETTER U
-0x56	0x0056	# LATIN CAPITAL LETTER V
-0x57	0x0057	# LATIN CAPITAL LETTER W
-0x58	0x0058	# LATIN CAPITAL LETTER X
-0x59	0x0059	# LATIN CAPITAL LETTER Y
-0x5A	0x005A	# LATIN CAPITAL LETTER Z
-0x5B	0x005B	# LEFT SQUARE BRACKET
-0x5C	0x00A5	# YEN SIGN
-0x5D	0x005D	# RIGHT SQUARE BRACKET
-0x5E	0x005E	# CIRCUMFLEX ACCENT
-0x5F	0x005F	# LOW LINE
-0x60	0x0060	# GRAVE ACCENT
-0x61	0x0061	# LATIN SMALL LETTER A
-0x62	0x0062	# LATIN SMALL LETTER B
-0x63	0x0063	# LATIN SMALL LETTER C
-0x64	0x0064	# LATIN SMALL LETTER D
-0x65	0x0065	# LATIN SMALL LETTER E
-0x66	0x0066	# LATIN SMALL LETTER F
-0x67	0x0067	# LATIN SMALL LETTER G
-0x68	0x0068	# LATIN SMALL LETTER H
-0x69	0x0069	# LATIN SMALL LETTER I
-0x6A	0x006A	# LATIN SMALL LETTER J
-0x6B	0x006B	# LATIN SMALL LETTER K
-0x6C	0x006C	# LATIN SMALL LETTER L
-0x6D	0x006D	# LATIN SMALL LETTER M
-0x6E	0x006E	# LATIN SMALL LETTER N
-0x6F	0x006F	# LATIN SMALL LETTER O
-0x70	0x0070	# LATIN SMALL LETTER P
-0x71	0x0071	# LATIN SMALL LETTER Q
-0x72	0x0072	# LATIN SMALL LETTER R
-0x73	0x0073	# LATIN SMALL LETTER S
-0x74	0x0074	# LATIN SMALL LETTER T
-0x75	0x0075	# LATIN SMALL LETTER U
-0x76	0x0076	# LATIN SMALL LETTER V
-0x77	0x0077	# LATIN SMALL LETTER W
-0x78	0x0078	# LATIN SMALL LETTER X
-0x79	0x0079	# LATIN SMALL LETTER Y
-0x7A	0x007A	# LATIN SMALL LETTER Z
-0x7B	0x007B	# LEFT CURLY BRACKET
-0x7C	0x007C	# VERTICAL LINE
-0x7D	0x007D	# RIGHT CURLY BRACKET
-0x7E	0x203E	# OVERLINE
-0xA1	0xFF61	# HALFWIDTH IDEOGRAPHIC FULL STOP
-0xA2	0xFF62	# HALFWIDTH LEFT CORNER BRACKET
-0xA3	0xFF63	# HALFWIDTH RIGHT CORNER BRACKET
-0xA4	0xFF64	# HALFWIDTH IDEOGRAPHIC COMMA
-0xA5	0xFF65	# HALFWIDTH KATAKANA MIDDLE DOT
-0xA6	0xFF66	# HALFWIDTH KATAKANA LETTER WO
-0xA7	0xFF67	# HALFWIDTH KATAKANA LETTER SMALL A
-0xA8	0xFF68	# HALFWIDTH KATAKANA LETTER SMALL I
-0xA9	0xFF69	# HALFWIDTH KATAKANA LETTER SMALL U
-0xAA	0xFF6A	# HALFWIDTH KATAKANA LETTER SMALL E
-0xAB	0xFF6B	# HALFWIDTH KATAKANA LETTER SMALL O
-0xAC	0xFF6C	# HALFWIDTH KATAKANA LETTER SMALL YA
-0xAD	0xFF6D	# HALFWIDTH KATAKANA LETTER SMALL YU
-0xAE	0xFF6E	# HALFWIDTH KATAKANA LETTER SMALL YO
-0xAF	0xFF6F	# HALFWIDTH KATAKANA LETTER SMALL TU
-0xB0	0xFF70	# HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-0xB1	0xFF71	# HALFWIDTH KATAKANA LETTER A
-0xB2	0xFF72	# HALFWIDTH KATAKANA LETTER I
-0xB3	0xFF73	# HALFWIDTH KATAKANA LETTER U
-0xB4	0xFF74	# HALFWIDTH KATAKANA LETTER E
-0xB5	0xFF75	# HALFWIDTH KATAKANA LETTER O
-0xB6	0xFF76	# HALFWIDTH KATAKANA LETTER KA
-0xB7	0xFF77	# HALFWIDTH KATAKANA LETTER KI
-0xB8	0xFF78	# HALFWIDTH KATAKANA LETTER KU
-0xB9	0xFF79	# HALFWIDTH KATAKANA LETTER KE
-0xBA	0xFF7A	# HALFWIDTH KATAKANA LETTER KO
-0xBB	0xFF7B	# HALFWIDTH KATAKANA LETTER SA
-0xBC	0xFF7C	# HALFWIDTH KATAKANA LETTER SI
-0xBD	0xFF7D	# HALFWIDTH KATAKANA LETTER SU
-0xBE	0xFF7E	# HALFWIDTH KATAKANA LETTER SE
-0xBF	0xFF7F	# HALFWIDTH KATAKANA LETTER SO
-0xC0	0xFF80	# HALFWIDTH KATAKANA LETTER TA
-0xC1	0xFF81	# HALFWIDTH KATAKANA LETTER TI
-0xC2	0xFF82	# HALFWIDTH KATAKANA LETTER TU
-0xC3	0xFF83	# HALFWIDTH KATAKANA LETTER TE
-0xC4	0xFF84	# HALFWIDTH KATAKANA LETTER TO
-0xC5	0xFF85	# HALFWIDTH KATAKANA LETTER NA
-0xC6	0xFF86	# HALFWIDTH KATAKANA LETTER NI
-0xC7	0xFF87	# HALFWIDTH KATAKANA LETTER NU
-0xC8	0xFF88	# HALFWIDTH KATAKANA LETTER NE
-0xC9	0xFF89	# HALFWIDTH KATAKANA LETTER NO
-0xCA	0xFF8A	# HALFWIDTH KATAKANA LETTER HA
-0xCB	0xFF8B	# HALFWIDTH KATAKANA LETTER HI
-0xCC	0xFF8C	# HALFWIDTH KATAKANA LETTER HU
-0xCD	0xFF8D	# HALFWIDTH KATAKANA LETTER HE
-0xCE	0xFF8E	# HALFWIDTH KATAKANA LETTER HO
-0xCF	0xFF8F	# HALFWIDTH KATAKANA LETTER MA
-0xD0	0xFF90	# HALFWIDTH KATAKANA LETTER MI
-0xD1	0xFF91	# HALFWIDTH KATAKANA LETTER MU
-0xD2	0xFF92	# HALFWIDTH KATAKANA LETTER ME
-0xD3	0xFF93	# HALFWIDTH KATAKANA LETTER MO
-0xD4	0xFF94	# HALFWIDTH KATAKANA LETTER YA
-0xD5	0xFF95	# HALFWIDTH KATAKANA LETTER YU
-0xD6	0xFF96	# HALFWIDTH KATAKANA LETTER YO
-0xD7	0xFF97	# HALFWIDTH KATAKANA LETTER RA
-0xD8	0xFF98	# HALFWIDTH KATAKANA LETTER RI
-0xD9	0xFF99	# HALFWIDTH KATAKANA LETTER RU
-0xDA	0xFF9A	# HALFWIDTH KATAKANA LETTER RE
-0xDB	0xFF9B	# HALFWIDTH KATAKANA LETTER RO
-0xDC	0xFF9C	# HALFWIDTH KATAKANA LETTER WA
-0xDD	0xFF9D	# HALFWIDTH KATAKANA LETTER N
-0xDE	0xFF9E	# HALFWIDTH KATAKANA VOICED SOUND MARK
-0xDF	0xFF9F	# HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+# 0x490021   0xFF61
+# 0x490022   0xFF62
+# 0x490023   0xFF63
+# 0x490024   0xFF64
+# 0x490025   0xFF65
+# 0x490026   0xFF66
+# 0x490027   0xFF67
+# 0x490028   0xFF68
+# 0x490029   0xFF69
+# 0x49002A   0xFF6A
+# 0x49002B   0xFF6B
+# 0x49002C   0xFF6C
+# 0x49002D   0xFF6D
+# 0x49002E   0xFF6E
+# 0x49002F   0xFF6F
+# 0x490030   0xFF70
+# 0x490031   0xFF71
+# 0x490032   0xFF72
+# 0x490033   0xFF73
+# 0x490034   0xFF74
+# 0x490035   0xFF75
+# 0x490036   0xFF76
+# 0x490037   0xFF77
+# 0x490038   0xFF78
+# 0x490039   0xFF79
+# 0x49003A   0xFF7A
+# 0x49003B   0xFF7B
+# 0x49003C   0xFF7C
+# 0x49003D   0xFF7D
+# 0x49003E   0xFF7E
+# 0x49003F   0xFF7F
+# 0x490040   0xFF80
+# 0x490041   0xFF81
+# 0x490042   0xFF82
+# 0x490043   0xFF83
+# 0x490044   0xFF84
+# 0x490045   0xFF85
+# 0x490046   0xFF86
+# 0x490047   0xFF87
+# 0x490048   0xFF88
+# 0x490049   0xFF89
+# 0x49004A   0xFF8A
+# 0x49004B   0xFF8B
+# 0x49004C   0xFF8C
+# 0x49004D   0xFF8D
+# 0x49004E   0xFF8E
+# 0x49004F   0xFF8F
+# 0x490050   0xFF90
+# 0x490051   0xFF91
+# 0x490052   0xFF92
+# 0x490053   0xFF93
+# 0x490054   0xFF94
+# 0x490055   0xFF95
+# 0x490056   0xFF96
+# 0x490057   0xFF97
+# 0x490058   0xFF98
+# 0x490059   0xFF99
+# 0x49005A   0xFF9A
+# 0x49005B   0xFF9B
+# 0x49005C   0xFF9C
+# 0x49005D   0xFF9D
+# 0x49005E   0xFF9E
+# 0x49005F   0xFF9F