;;; Code:
(set-charset-mapping-table
+ 'latin-viscii
+ [?\u0000 ; 0x00
+ ?\u0001 ; 0x01
+ ?\u1EB2 ; 0x02 (\e.2\8eÆ)
+ ?\u0003 ; 0x03
+ ?\u0004 ; 0x04
+ ?\u1EB4 ; 0x05 (\8eÇ)
+ ?\u1EAA ; 0x06 (\8eç)
+ ?\u0007 ; 0x07
+ ?\u0008 ; 0x08
+ ?\u0009 ; 0x09
+ ?\u000A ; 0x0A
+ ?\u000B ; 0x0B
+ ?\u000C ; 0x0C
+ ?\u000D ; 0x0D
+ ?\u000E ; 0x0E
+ ?\u000F ; 0x0F
+ ?\u0010 ; 0x10
+ ?\u0011 ; 0x11
+ ?\u0012 ; 0x12
+ ?\u0013 ; 0x13
+ ?\u1EF6 ; 0x14 (\8eÖ)
+ ?\u0015 ; 0x15
+ ?\u0016 ; 0x16
+ ?\u0017 ; 0x17
+ ?\u0018 ; 0x18
+ ?\u1EF8 ; 0x19 (\8eÛ)
+ ?\u001A ; 0x1A
+ ?\u001B ; 0x1B
+ ?\u001C ; 0x1C
+ ?\u001D ; 0x1D
+ ?\u1EF4 ; 0x1E (\8eÜ)
+ ?\u001F ; 0x1F
+ ?\u0020 ; 0x20 ( )
+ ?\u0021 ; 0x21 (!)
+ ?\u0022 ; 0x22 (")
+ ?\u0023 ; 0x23 (#)
+ ?\u0024 ; 0x24 ($)
+ ?\u0025 ; 0x25 (%)
+ ?\u0026 ; 0x26 (&)
+ ?\u0027 ; 0x27 (')
+ ?\u0028 ; 0x28 (()
+ ?\u0029 ; 0x29 ())
+ ?\u002A ; 0x2A (*)
+ ?\u002B ; 0x2B (+)
+ ?\u002C ; 0x2C (,)
+ ?\u002D ; 0x2D (-)
+ ?\u002E ; 0x2E (.)
+ ?\u002F ; 0x2F (/)
+ ?\u0030 ; 0x30 (0)
+ ?\u0031 ; 0x31 (1)
+ ?\u0032 ; 0x32 (2)
+ ?\u0033 ; 0x33 (3)
+ ?\u0034 ; 0x34 (4)
+ ?\u0035 ; 0x35 (5)
+ ?\u0036 ; 0x36 (6)
+ ?\u0037 ; 0x37 (7)
+ ?\u0038 ; 0x38 (8)
+ ?\u0039 ; 0x39 (9)
+ ?\u003A ; 0x3A (:)
+ ?\u003B ; 0x3B (;)
+ ?\u003C ; 0x3C (<)
+ ?\u003D ; 0x3D (=)
+ ?\u003E ; 0x3E (>)
+ ?\u003F ; 0x3F (?)
+ ?\u0040 ; 0x40 (@)
+ ?\u0041 ; 0x41 (A)
+ ?\u0042 ; 0x42 (B)
+ ?\u0043 ; 0x43 (C)
+ ?\u0044 ; 0x44 (D)
+ ?\u0045 ; 0x45 (E)
+ ?\u0046 ; 0x46 (F)
+ ?\u0047 ; 0x47 (G)
+ ?\u0048 ; 0x48 (H)
+ ?\u0049 ; 0x49 (I)
+ ?\u004A ; 0x4A (J)
+ ?\u004B ; 0x4B (K)
+ ?\u004C ; 0x4C (L)
+ ?\u004D ; 0x4D (M)
+ ?\u004E ; 0x4E (N)
+ ?\u004F ; 0x4F (O)
+ ?\u0050 ; 0x50 (P)
+ ?\u0051 ; 0x51 (Q)
+ ?\u0052 ; 0x52 (R)
+ ?\u0053 ; 0x53 (S)
+ ?\u0054 ; 0x54 (T)
+ ?\u0055 ; 0x55 (U)
+ ?\u0056 ; 0x56 (V)
+ ?\u0057 ; 0x57 (W)
+ ?\u0058 ; 0x58 (X)
+ ?\u0059 ; 0x59 (Y)
+ ?\u005A ; 0x5A (Z)
+ ?\u005B ; 0x5B ([)
+ ?\u005C ; 0x5C (\)
+ ?\u005D ; 0x5D (])
+ ?\u005E ; 0x5E (^)
+ ?\u005F ; 0x5F (_)
+ ?\u0060 ; 0x60 (`)
+ ?\u0061 ; 0x61 (a)
+ ?\u0062 ; 0x62 (b)
+ ?\u0063 ; 0x63 (c)
+ ?\u0064 ; 0x64 (d)
+ ?\u0065 ; 0x65 (e)
+ ?\u0066 ; 0x66 (f)
+ ?\u0067 ; 0x67 (g)
+ ?\u0068 ; 0x68 (h)
+ ?\u0069 ; 0x69 (i)
+ ?\u006A ; 0x6A (j)
+ ?\u006B ; 0x6B (k)
+ ?\u006C ; 0x6C (l)
+ ?\u006D ; 0x6D (m)
+ ?\u006E ; 0x6E (n)
+ ?\u006F ; 0x6F (o)
+ ?\u0070 ; 0x70 (p)
+ ?\u0071 ; 0x71 (q)
+ ?\u0072 ; 0x72 (r)
+ ?\u0073 ; 0x73 (s)
+ ?\u0074 ; 0x74 (t)
+ ?\u0075 ; 0x75 (u)
+ ?\u0076 ; 0x76 (v)
+ ?\u0077 ; 0x77 (w)
+ ?\u0078 ; 0x78 (x)
+ ?\u0079 ; 0x79 (y)
+ ?\u007A ; 0x7A (z)
+ ?\u007B ; 0x7B ({)
+ ?\u007C ; 0x7C (|)
+ ?\u007D ; 0x7D (})
+ ?\u007E ; 0x7E (~)
+ ?\u007F ; 0x7F
+ ?\u1EA0 ; 0x80 (\8eÕ)
+ ?\u1EAE ; 0x81 (\8e¡)
+ ?\u1EB0 ; 0x82 (\8e¢)
+ ?\u1EB6 ; 0x83 (\8e£)
+ ?\u1EA4 ; 0x84 (\8e¤)
+ ?\u1EA6 ; 0x85 (\8e¥)
+ ?\u1EA8 ; 0x86 (\8e¦)
+ ?\u1EAC ; 0x87 (\8e§)
+ ?\u1EBC ; 0x88 (\8e¨)
+ ?\u1EB8 ; 0x89 (\8e©)
+ ?\u1EBE ; 0x8A (\8eª)
+ ?\u1EC0 ; 0x8B (\8e«)
+ ?\u1EC2 ; 0x8C (\8e¬)
+ ?\u1EC4 ; 0x8D (\8e)
+ ?\u1EC6 ; 0x8E (\8e®)
+ ?\u1ED0 ; 0x8F (\8e¯)
+ ?\u1ED2 ; 0x90 (\8e°)
+ ?\u1ED4 ; 0x91 (\8e±)
+ ?\u1ED6 ; 0x92 (\8e²)
+ ?\u1ED8 ; 0x93 (\8eµ)
+ ?\u1EE2 ; 0x94 (\8eþ)
+ ?\u1EDA ; 0x95 (\8e¾)
+ ?\u1EDC ; 0x96 (\8e¶)
+ ?\u1EDE ; 0x97 (\8e·)
+ ?\u1ECA ; 0x98 (\8e¸)
+ ?\u1ECE ; 0x99 (\8eö)
+ ?\u1ECC ; 0x9A (\8e÷)
+ ?\u1EC8 ; 0x9B (\8eï)
+ ?\u1EE6 ; 0x9C (\8eü)
+ ?\u0168 ; 0x9D (\8eû)
+ ?\u1EE4 ; 0x9E (\8eø)
+ ?\u1EF2 ; 0x9F (\8eÏ)
+ ?\u00D5 ; 0xA0 (\8eõ)
+ ?\u1EAF ; 0xA1 (\e.1\8e¡)
+ ?\u1EB1 ; 0xA2 (\8e¢)
+ ?\u1EB7 ; 0xA3 (\8e£)
+ ?\u1EA5 ; 0xA4 (\8e¤)
+ ?\u1EA7 ; 0xA5 (\8e¥)
+ ?\u1EA9 ; 0xA6 (\8e¦)
+ ?\u1EAD ; 0xA7 (\8e§)
+ ?\u1EBD ; 0xA8 (\8e¨)
+ ?\u1EB9 ; 0xA9 (\8e©)
+ ?\u1EBF ; 0xAA (\8eª)
+ ?\u1EC1 ; 0xAB (\8e«)
+ ?\u1EC3 ; 0xAC (\8e¬)
+ ?\u1EC5 ; 0xAD (\8e)
+ ?\u1EC7 ; 0xAE (\8e®)
+ ?\u1ED1 ; 0xAF (\8e¯)
+ ?\u1ED3 ; 0xB0 (\8e°)
+ ?\u1ED5 ; 0xB1 (\8e±)
+ ?\u1ED7 ; 0xB2 (\8e²)
+ ?\u1EE0 ; 0xB3 (\e.2\8eÞ)
+ ?\u01A0 ; 0xB4 (\8e½)
+ ?\u1ED9 ; 0xB5 (\e.1\8eµ)
+ ?\u1EDD ; 0xB6 (\8e¶)
+ ?\u1EDF ; 0xB7 (\8e·)
+ ?\u1ECB ; 0xB8 (\8e¸)
+ ?\u1EF0 ; 0xB9 (\e.2\8eñ)
+ ?\u1EE8 ; 0xBA (\8eÑ)
+ ?\u1EEA ; 0xBB (\8e×)
+ ?\u1EEC ; 0xBC (\8eØ)
+ ?\u01A1 ; 0xBD (\e.1\8e½)
+ ?\u1EDB ; 0xBE (\8e¾)
+ ?\u01AF ; 0xBF (\e.2\8eß)
+ ?\u00C0 ; 0xC0 (\8eà)
+ ?\u00C1 ; 0xC1 (\8eá)
+ ?\u00C2 ; 0xC2 (\8eâ)
+ ?\u00C3 ; 0xC3 (\8eã)
+ ?\u1EA2 ; 0xC4 (\8eä)
+ ?\u0102 ; 0xC5 (\8eå)
+ ?\u1EB3 ; 0xC6 (\e.1\8eÆ)
+ ?\u1EB5 ; 0xC7 (\8eÇ)
+ ?\u00C8 ; 0xC8 (\e.2\8eè)
+ ?\u00C9 ; 0xC9 (\8eé)
+ ?\u00CA ; 0xCA (\8eê)
+ ?\u1EBA ; 0xCB (\8eë)
+ ?\u00CC ; 0xCC (\8eì)
+ ?\u00CD ; 0xCD (\8eí)
+ ?\u0128 ; 0xCE (\8eî)
+ ?\u1EF3 ; 0xCF (\e.1\8eÏ)
+ ?\u0110 ; 0xD0 (\e.2\8eð)
+ ?\u1EE9 ; 0xD1 (\e.1\8eÑ)
+ ?\u00D2 ; 0xD2 (\e.2\8eò)
+ ?\u00D3 ; 0xD3 (\8eó)
+ ?\u00D4 ; 0xD4 (\8eô)
+ ?\u1EA1 ; 0xD5 (\e.1\8eÕ)
+ ?\u1EF7 ; 0xD6 (\8eÖ)
+ ?\u1EEB ; 0xD7 (\8e×)
+ ?\u1EED ; 0xD8 (\8eØ)
+ ?\u00D9 ; 0xD9 (\e.2\8eù)
+ ?\u00DA ; 0xDA (\8eú)
+ ?\u1EF9 ; 0xDB (\e.1\8eÛ)
+ ?\u1EF5 ; 0xDC (\8eÜ)
+ ?\u00DD ; 0xDD (\e.2\8eý)
+ ?\u1EE1 ; 0xDE (\e.1\8eÞ)
+ ?\u01B0 ; 0xDF (\8eß)
+ ?\u00E0 ; 0xE0 (\8eà)
+ ?\u00E1 ; 0xE1 (\8eá)
+ ?\u00E2 ; 0xE2 (\8eâ)
+ ?\u00E3 ; 0xE3 (\8eã)
+ ?\u1EA3 ; 0xE4 (\8eä)
+ ?\u0103 ; 0xE5 (\8eå)
+ ?\u1EEF ; 0xE6 (\8eæ)
+ ?\u1EAB ; 0xE7 (\8eç)
+ ?\u00E8 ; 0xE8 (\8eè)
+ ?\u00E9 ; 0xE9 (\8eé)
+ ?\u00EA ; 0xEA (\8eê)
+ ?\u1EBB ; 0xEB (\8eë)
+ ?\u00EC ; 0xEC (\8eì)
+ ?\u00ED ; 0xED (\8eí)
+ ?\u0129 ; 0xEE (\8eî)
+ ?\u1EC9 ; 0xEF (\8eï)
+ ?\u0111 ; 0xF0 (\8eð)
+ ?\u1EF1 ; 0xF1 (\8eñ)
+ ?\u00F2 ; 0xF2 (\8eò)
+ ?\u00F3 ; 0xF3 (\8eó)
+ ?\u00F4 ; 0xF4 (\8eô)
+ ?\u00F5 ; 0xF5 (\8eõ)
+ ?\u1ECF ; 0xF6 (\8eö)
+ ?\u1ECD ; 0xF7 (\8e÷)
+ ?\u1EE5 ; 0xF8 (\8eø)
+ ?\u00F9 ; 0xF9 (\8eù)
+ ?\u00FA ; 0xFA (\8eú)
+ ?\u0169 ; 0xFB (\8eû)
+ ?\u1EE7 ; 0xFC (\8eü)
+ ?\u00FD ; 0xFD (\8eý)
+ ?\u1EE3 ; 0xFE (\8eþ)
+ ?\u1EEE ; 0xFF (\e.2\8eæ)
+ ])
+
+(set-charset-mapping-table
'latin-viscii-lower
[nil ; 0x20
?\u1eaf ; 0x21