summaryrefslogtreecommitdiff
path: root/language/chinese/CJK/cjk-4.8.5/texinput
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-10-19 03:01:14 +0000
committerNorbert Preining <norbert@preining.info>2021-10-19 03:01:14 +0000
commitd045bcbc99b0eda65a444496d60d16ea2d063c65 (patch)
tree86dd463beaafa251038cf6f29adadd6276da1250 /language/chinese/CJK/cjk-4.8.5/texinput
parentad3ad18aa939862832c90a74bcf41e8a5570ff65 (diff)
CTAN sync 202110190301
Diffstat (limited to 'language/chinese/CJK/cjk-4.8.5/texinput')
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.cap86
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.chr219
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.cpx86
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.enc226
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/HK.enc276
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bkai.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bkai.fdx147
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmi.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmi.fdx147
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmir.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmir.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00cns.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00fs.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kai.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kair.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kair.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00song.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c01song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c05song.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c09song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CEF/c80song.fd34
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CEF/c81song.fd33
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CJK.enc1092
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CJK.sty1136
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CJKfntef.sty509
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CJKnumb.sty400
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CJKspace.sty98
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CJKulem.sty193
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CJKutf8.sty720
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CJKvert.sty159
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.bdg130
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.chr210
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.enc138
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/c31song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/c32song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/c33song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/c34song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/c35song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/c36song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/CNS/c37song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/GB.cap86
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/GB.cpx84
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c10fs.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gbsn.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gbsn.fdx70
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gkai.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gkai.fdx70
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c10song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c11song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c19song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c20song.fd31
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/GB/c21song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.bdg131
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.chr246
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.enc141
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JPdnp.enc142
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/JIS.cap83
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/JIS.cpx80
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/JISdnp.enc132
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/c40song.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/c41song.fd23
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/c42song.fd28
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/c43song.fd27
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/JIS/c50song.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/HLaTeX.chr229
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/KSHL.enc134
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63bm.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63dn.fd69
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gs.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jgt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jmj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jnv.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jsr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63mj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pg.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pga.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63ph.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pn.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63sh.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63tz.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63vd.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63yt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64bm.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64dn.fd69
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gs.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jgt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jmj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jnv.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jsr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64mj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pg.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pga.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64ph.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pn.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64sh.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64tz.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64vd.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64yt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65bm.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65dn.fd69
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gs.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jgt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jmj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jnv.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jsr.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65mj.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pg.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pga.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65ph.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pn.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65sh.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65tz.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65vd.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65yt.fd53
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/pshan.sty29
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/KS.chr251
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/KS.enc114
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c60dr.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gr.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gs.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gt.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hgt.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hmj.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hol.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hpg.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c60mj.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c61dr.fd27
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gr.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gs.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gt.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hgt.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hmj.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hol.fd26
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hpg.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c61mj.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/c62song.fd22
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul.cap74
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul.cpx71
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul2.cap74
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul2.cpx71
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/hanja.cap74
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/KS/hanja.cpx71
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.bdg162
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.cap84
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.chr260
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.cpx81
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.enc199
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJISdnp.chr253
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJISdnp.enc192
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/SJIS/c49song.fd25
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.bdg156
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.chr276
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.enc140
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bkai.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bkai.fdx325
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bsmi.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bsmi.fdx325
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gbsn.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gbsn.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gkai.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gkai.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70mj.fd51
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70mj.fdx15
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70song.fd21
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ja.cpx83
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hang.cpx74
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hang2.cpx74
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hani.cpx74
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/zh-Hans.cpx86
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/UTF8/zh-Hant.cpx86
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/extended.chr219
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/extended.enc289
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/mule/MULEenc.sty501
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/pinyin.sty1234
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/pmC.chr98
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/pmCbig.enc133
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/pmCsmall.enc133
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/ruby.sty174
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/standard.bdg161
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/standard.chr203
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/standard.enc131
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmr.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmss.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmtt.fd24
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/thai/c90enc.def110
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/thai/c90gar.fd34
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/thai/c90nrsr.fd34
-rw-r--r--language/chinese/CJK/cjk-4.8.5/texinput/thai/thaicjk.ldf89
194 files changed, 19413 insertions, 0 deletions
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.cap b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.cap
new file mode 100644
index 0000000000..258cc26d57
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.cap
@@ -0,0 +1,86 @@
+% This is the file Bg5.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{Bg5.cap}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: Big 5
+% encoding: Big 5
+
+\renewcommand\contentsname{ฅุ~~ฟ}
+\renewcommand\listfigurename{นฯ~ฅุ~ฟ}
+\renewcommand\listtablename{ชํ~ฅุ~ฟ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ฐั~ฆา~ธ๊~ฎฦ}
+ %\renewcommand\refname{ฐั~ฆา~คๅ~ฤm}
+ }
+ {\renewcommand\bibname{คๅ~~ฤm}
+ %\renewcommand\bibname{ฐั~ฆา~ฎั~ฅุ}
+% \newcommand\prechaptername{ฒฤ}
+% \newcommand\postchaptername{ณน}
+ }
+
+\renewcommand\indexname{ฏม~ค}
+
+\renewcommand\figurename{นฯ}
+\renewcommand\tablename{ชํ}
+
+\newcommand\prepartname{ฒฤ}
+\newcommand\postpartname{ณก}
+%\newcommand{\postpartname}{ณกคภ}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+
+% \newcommand\presectionname{ฒฤ}
+% \newcommand\postsectionname{ธ`}
+% \renewcommand\appendixname{ช~ฟ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{บK~ญn}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{ชฅ๓}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand{\today}{\number\year ฆ~ \number\month ค๋ \number\day ค้}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ ค@\or คG\or คT\or ฅ|\or คญ\or
+ คป\or คC\or คK\or คE\or คQ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: big5
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.chr b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.chr
new file mode 100644
index 0000000000..5f6f737f62
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.chr
@@ -0,0 +1,219 @@
+% This is the file Bg5.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{Bg5.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling Big 5 encoded CJK fonts and characters.
+
+\global\@namedef{CJK@Bg5Chr}{
+ \CJK@global\chardef\CJK@gap "0A0\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \advance\@tempcntb 34\relax
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta -34\relax
+ \advance\@tempcntb 34\relax
+ \fi
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{Bg5}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.cpx
new file mode 100644
index 0000000000..a92c7310f0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.cpx
@@ -0,0 +1,86 @@
+% This is the file Bg5.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{Bg5.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: Big 5
+% encoding: Big 5
+%
+% preprocessed
+
+\renewcommand\contentsname{ฅ216~~ฟ253}
+\renewcommand\listfigurename{น207~ฅ216~ฟ253}
+\renewcommand\listtablename{ช237~ฅ216~ฟ253}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ฐ209~ฆ210~ธ234~ฎ198}
+ %\renewcommand\refname{ฐ209~ฆ210~ค229~ฤ109}
+ }
+ {
+ \renewcommand\bibname{ค229~~ฤ109}
+ %\renewcommand\bibname{ฐ209~ฆ210~ฎ209~ฅ216}
+% \newcommand\prechaptername{ฒ196}
+% \newcommand\postchaptername{ณ185}
+ }
+
+\renewcommand\indexname{ฏ193~ค222}
+
+\renewcommand\figurename{น207}
+\renewcommand\tablename{ช237}
+
+\newcommand\prepartname{ฒ196}
+\newcommand\postpartname{ณ161}
+%\newcommand{\postpartname}{ณ161ค192}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+
+% \newcommand\presectionname{ฒ196}
+% \newcommand\postsectionname{ธ96}
+% \renewcommand\appendixname{ช254~ฟ253}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{บ75~ญ110}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{ช254ฅ243}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand{\today}{\number\year ฆ126
+ \number\month ค235
+ \number\day ค233}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase #1\or
+ ค64\or ค71\or ค84\or ฅ124\or ค173\or
+ ค187\or ค67\or ค75\or ค69\or ค81\fi}}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.enc b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.enc
new file mode 100644
index 0000000000..624e7ae3b1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/Bg5.enc
@@ -0,0 +1,226 @@
+% This is the file Bg5.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{Bg5.enc}[\filedate\space\fileversion]
+
+
+% Big 5 encoding:
+% the second byte is in the range 0x40 - 0xFE with a gap from 0x7F to
+% 0xA0.
+
+\global\@namedef{CJK@Bg5Encoding}{
+ \CJK@loadChr{Bg5}
+
+ \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {A1}{01}{-64}{##1}}
+ \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A2}{01}{02}{93}{##1}}
+ \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase
+ \CJK@char {02}{ -6}{##1}}
+ \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{02}{03}{151}{##1}}
+ \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{ 52}{##1}}
+ \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase
+ \CJK@char {04}{-47}{##1}}
+ \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{110}{##1}}
+ \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase
+ \CJK@char {05}{ 11}{##1}}
+ \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{168}{##1}}
+ \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{ 69}{##1}}
+ \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase
+ \CJK@char {07}{-30}{##1}}
+ \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{127}{##1}}
+ \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase
+ \CJK@char {08}{28}{##1}}
+ \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{185}{##1}}
+ \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{ 86}{##1}}
+ \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase
+ \CJK@char {10}{-13}{##1}}
+ \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{144}{##1}}
+ \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 45}{##1}}
+ \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-54}{##1}}
+ \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{103}{##1}}
+ \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase
+ \CJK@char {13}{ 4}{##1}}
+ \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{161}{##1}}
+ \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{ 62}{##1}}
+ \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase
+ \CJK@char {15}{-37}{##1}}
+ \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{120}{##1}}
+ \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase
+ \CJK@char {16}{ 21}{##1}}
+ \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{178}{##1}}
+ \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{ 79}{##1}}
+ \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase
+ \CJK@char {18}{-20}{##1}}
+ \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{137}{##1}}
+ \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 38}{##1}}
+ \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase
+ \CJK@char {20}{-61}{##1}}
+ \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{ 96}{##1}}
+ \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase
+ \CJK@char {21}{ -3}{##1}}
+ \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{154}{##1}}
+ \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 55}{##1}}
+ \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase
+ \CJK@char {23}{-44}{##1}}
+ \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{113}{##1}}
+ \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase
+ \CJK@char {24}{ 14}{##1}}
+ \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{24}{25}{171}{##1}}
+ \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{25}{26}{ 72}{##1}}
+ \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase
+ \CJK@char {26}{-27}{##1}}
+ \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{26}{27}{130}{##1}}
+ \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase
+ \CJK@char {27}{ 31}{##1}}
+ \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{27}{28}{188}{##1}}
+ \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{ 89}{##1}}
+ \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase
+ \CJK@char {29}{-10}{##1}}
+ \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{147}{##1}}
+ \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{ 48}{##1}}
+ \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase
+ \CJK@char {31}{-51}{##1}}
+ \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{106}{##1}}
+ \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase
+ \CJK@char {32}{ 7}{##1}}
+ \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{164}{##1}}
+ \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{ 65}{##1}}
+ \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase
+ \CJK@char {34}{-34}{##1}}
+ \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{123}{##1}}
+ \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase
+ \CJK@char {35}{ 24}{##1}}
+ \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase
+ \CJK@charx{35}{36}{181}{##1}}
+ \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase
+ \CJK@charx{36}{37}{ 82}{##1}}
+ \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase
+ \CJK@char {37}{-17}{##1}}
+ \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{37}{38}{140}{##1}}
+ \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase
+ \CJK@charx{38}{39}{ 41}{##1}}
+ \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase
+ \CJK@char {39}{-58}{##1}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{39}{40}{ 99}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@char {40}{ 0}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{40}{41}{157}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{41}{42}{ 58}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@char {42}{-41}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{42}{43}{116}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@char {43}{ 17}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{43}{44}{174}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{44}{45}{ 75}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@char {45}{-24}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{45}{46}{133}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@char {46}{ 34}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{46}{47}{191}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@charx{47}{48}{ 92}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@char {48}{ -7}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{48}{49}{150}{##1}}
+ \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{49}{50}{ 51}{##1}}
+ \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase
+ \CJK@char {50}{-48}{##1}}
+ \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{50}{51}{109}{##1}}
+ \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase
+ \CJK@char {51}{ 10}{##1}}
+ \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{51}{52}{167}{##1}}
+ \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{52}{53}{ 68}{##1}}
+ \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase
+ \CJK@char {53}{-31}{##1}}
+ \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{53}{54}{126}{##1}}
+ \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase
+ \CJK@char {54}{ 27}{##1}}
+ \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{54}{55}{184}{##1}}
+ \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{55}{56}{ 85}{##1}}
+ \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase
+ \CJK@char {56}{-14}{##1}}
+ \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{56}{57}{143}{##1}}
+ \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{57}{58}{ 44}{##1}}
+ \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase
+ \CJK@char {58}{-55}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/HK.enc b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/HK.enc
new file mode 100644
index 0000000000..9f760bf3fe
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/HK.enc
@@ -0,0 +1,276 @@
+% This is the file HK.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{HK.enc}[\filedate\space\fileversion]
+
+
+% HK encoding:
+% this is Big with all user-defined areas
+%
+% the second byte is in the range 0x40 - 0xFE with a gap from 0x7F to
+% 0xA0.
+
+\global\@namedef{CJK@HKEncoding}{
+ \CJK@loadChr{Bg5}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {A1}{01}{-64}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A2}{01}{02}{93}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@char {02}{ -6}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@charx{02}{03}{151}{##1}}
+ \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{ 52}{##1}}
+ \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase
+ \CJK@char {04}{-47}{##1}}
+ \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{110}{##1}}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@char {05}{ 11}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{168}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{ 69}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@char {07}{-30}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{127}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@char {08}{28}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{185}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{ 86}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@char {10}{-13}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{144}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 45}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-54}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{103}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@char {13}{ 4}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{161}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{ 62}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@char {15}{-37}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{120}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@char {16}{ 21}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{178}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{ 79}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@char {18}{-20}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{137}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 38}{##1}}
+ \CJK@namegdef{^^a0}##1{\CJK@disableMakeUppercase
+ \CJK@char {20}{-61}{##1}}
+ \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{ 96}{##1}}
+ \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase
+ \CJK@char {21}{ -3}{##1}}
+ \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{154}{##1}}
+ \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 55}{##1}}
+ \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase
+ \CJK@char {23}{-44}{##1}}
+ \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{113}{##1}}
+ \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase
+ \CJK@char {24}{ 14}{##1}}
+ \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{24}{25}{171}{##1}}
+ \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{25}{26}{ 72}{##1}}
+ \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase
+ \CJK@char {26}{-27}{##1}}
+ \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase
+ \CJK@charx{26}{27}{130}{##1}}
+ \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase
+ \CJK@char {27}{ 31}{##1}}
+ \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase
+ \CJK@charx{27}{28}{188}{##1}}
+ \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{ 89}{##1}}
+ \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase
+ \CJK@char {29}{-10}{##1}}
+ \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{147}{##1}}
+ \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{ 48}{##1}}
+ \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase
+ \CJK@char {31}{-51}{##1}}
+ \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{106}{##1}}
+ \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase
+ \CJK@char {32}{ 7}{##1}}
+ \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{164}{##1}}
+ \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{ 65}{##1}}
+ \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase
+ \CJK@char {34}{-34}{##1}}
+ \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{123}{##1}}
+ \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase
+ \CJK@char {35}{ 24}{##1}}
+ \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase
+ \CJK@charx{35}{36}{181}{##1}}
+ \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{36}{37}{ 82}{##1}}
+ \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase
+ \CJK@char {37}{-17}{##1}}
+ \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{37}{38}{140}{##1}}
+ \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase
+ \CJK@charx{38}{39}{ 41}{##1}}
+ \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase
+ \CJK@char {39}{-58}{##1}}
+ \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{39}{40}{ 99}{##1}}
+ \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase
+ \CJK@char {40}{ 0}{##1}}
+ \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{40}{41}{157}{##1}}
+ \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{41}{42}{ 58}{##1}}
+ \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase
+ \CJK@char {42}{-41}{##1}}
+ \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{42}{43}{116}{##1}}
+ \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase
+ \CJK@char {43}{ 17}{##1}}
+ \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{43}{44}{174}{##1}}
+ \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{44}{45}{ 75}{##1}}
+ \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase
+ \CJK@char {45}{-24}{##1}}
+ \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase
+ \CJK@charx{45}{46}{133}{##1}}
+ \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase
+ \CJK@char {46}{ 34}{##1}}
+ \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{46}{47}{191}{##1}}
+ \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{47}{48}{ 92}{##1}}
+ \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase
+ \CJK@char {48}{ -7}{##1}}
+ \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase
+ \CJK@charx{48}{49}{150}{##1}}
+ \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{49}{50}{ 51}{##1}}
+ \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase
+ \CJK@char {50}{-48}{##1}}
+ \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{50}{51}{109}{##1}}
+ \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase
+ \CJK@char {51}{ 10}{##1}}
+ \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{51}{52}{167}{##1}}
+ \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{52}{53}{ 68}{##1}}
+ \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase
+ \CJK@char {53}{-31}{##1}}
+ \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{53}{54}{126}{##1}}
+ \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase
+ \CJK@char {54}{ 27}{##1}}
+ \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{54}{55}{184}{##1}}
+ \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase
+ \CJK@charx{55}{56}{ 85}{##1}}
+ \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase
+ \CJK@char {56}{-14}{##1}}
+ \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{56}{57}{143}{##1}}
+ \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{57}{58}{ 44}{##1}}
+ \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase
+ \CJK@char {58}{-55}{##1}}}
+ \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase
+ \CJK@charx{58}{59}{102}{##1}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@char {59}{ 3}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{59}{60}{160}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{60}{61}{ 61}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@char {61}{-38}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{61}{62}{119}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@char {62}{ 20}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{62}{63}{177}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{63}{64}{ 78}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@char {64}{-21}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{64}{65}{136}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{65}{66}{ 37}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@char {66}{-62}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{66}{67}{ 95}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@char {67}{ -4}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@charx{67}{68}{153}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{68}{69}{ 54}{##1}}
+ \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase
+ \CJK@char {69}{-45}{##1}}
+ \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{69}{70}{112}{##1}}
+ \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase
+ \CJK@char {70}{ 13}{##1}}
+ \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{70}{71}{170}{##1}}
+ \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{71}{72}{ 71}{##1}}
+ \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase
+ \CJK@char {72}{-28}{##1}}
+ \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{72}{73}{129}{##1}}
+ \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase
+ \CJK@char {73}{ 30}{##1}}
+ \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{73}{74}{187}{##1}}
+ \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{74}{75}{ 88}{##1}}
+ \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase
+ \CJK@char {75}{-11}{##1}}
+ \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{75}{76}{146}{##1}}
+ \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{76}{77}{ 47}{##1}}
+ \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase
+ \CJK@char {77}{-52}{##1}}
+ \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase
+ \CJK@charx{77}{78}{105}{##1}}
+
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bkai.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bkai.fd
new file mode 100644
index 0000000000..3a09aef000
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bkai.fd
@@ -0,0 +1,25 @@
+% This is the file c00bkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00bkai.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Arphic PL TrueType font AR PL KaitiM Big5 / ZenKai-Medium
+
+\DeclareFontFamily{C00}{bkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{bkai}{m}{n}{<-> CJK * bkaimp}{\CJKnormal}
+\DeclareFontShape{C00}{bkai}{bx}{n}{<-> CJKb * bkaimp}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bkai.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bkai.fdx
new file mode 100644
index 0000000000..18a113872b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bkai.fdx
@@ -0,0 +1,147 @@
+% This is the file c00bkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00bkai.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+\CJKvdef{m/n/01/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvdef{m/n/01/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvdef{m/n/01/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvdef{m/n/01/29}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvdef{m/n/01/30}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvdef{m/n/01/4}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvdef{m/n/01/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvdef{m/n/01/33}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvdef{m/n/01/34}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvdef{m/n/01/129}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvdef{m/n/01/22}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvdef{m/n/01/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvdef{m/n/01/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvdef{m/n/01/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvdef{m/n/01/148}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvdef{m/n/01/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvdef{m/n/01/149}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvdef{m/n/01/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvdef{m/n/01/155}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvdef{m/n/01/154}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvdef{m/n/01/212}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvdef{m/n/01/213}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvdef{m/n/01/215}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvdef{m/n/01/216}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvdef{m/n/01/217}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvdef{m/n/01/218}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvdef{m/n/01/210}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvdef{m/n/01/209}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvdef{m/n/01/208}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvdef{m/n/01/207}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvdef{m/n/01/223}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvdef{m/n/01/224}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvdef{m/n/01/226}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvdef{m/n/01/225}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvdef{m/n/01/219}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvdef{m/n/01/220}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvdef{m/n/01/222}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvdef{m/n/01/221}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvdef{m/n/01/26}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvdef{m/n/01/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvdef{m/n/01/3}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvdef{m/n/01/49}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvdef{m/n/01/50}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvdef{m/n/01/45}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvdef{m/n/01/46}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvdef{m/n/01/53}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvdef{m/n/01/54}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvdef{m/n/01/57}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvdef{m/n/01/58}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvdef{m/n/01/41}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvdef{m/n/01/42}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvdef{m/n/01/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvdef{m/n/01/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvdef{m/n/01/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvdef{m/n/01/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvdef{m/n/01/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvdef{m/n/01/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvdef{m/n/01/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvdef{m/n/01/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvdef{m/n/01/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvdef{m/n/01/64}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvdef{m/n/01/65}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvdef{m/n/01/66}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+
+\CJKvlet{bx/n/01/96}{m/n/01/96}
+\CJKvlet{bx/n/01/16}{m/n/01/16}
+\CJKvlet{bx/n/01/99}{m/n/01/99}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/4}{m/n/01/4}
+\CJKvlet{bx/n/01/98}{m/n/01/98}
+\CJKvlet{bx/n/01/33}{m/n/01/33}
+\CJKvlet{bx/n/01/34}{m/n/01/34}
+\CJKvlet{bx/n/01/129}{m/n/01/129}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/12}{m/n/01/12}
+\CJKvlet{bx/n/01/11}{m/n/01/11}
+\CJKvlet{bx/n/01/148}{m/n/01/148}
+\CJKvlet{bx/n/01/146}{m/n/01/146}
+\CJKvlet{bx/n/01/149}{m/n/01/149}
+\CJKvlet{bx/n/01/147}{m/n/01/147}
+\CJKvlet{bx/n/01/155}{m/n/01/155}
+\CJKvlet{bx/n/01/154}{m/n/01/154}
+\CJKvlet{bx/n/01/212}{m/n/01/212}
+\CJKvlet{bx/n/01/213}{m/n/01/213}
+\CJKvlet{bx/n/01/215}{m/n/01/215}
+\CJKvlet{bx/n/01/216}{m/n/01/216}
+\CJKvlet{bx/n/01/217}{m/n/01/217}
+\CJKvlet{bx/n/01/218}{m/n/01/218}
+\CJKvlet{bx/n/01/210}{m/n/01/210}
+\CJKvlet{bx/n/01/209}{m/n/01/209}
+\CJKvlet{bx/n/01/208}{m/n/01/208}
+\CJKvlet{bx/n/01/207}{m/n/01/207}
+\CJKvlet{bx/n/01/223}{m/n/01/223}
+\CJKvlet{bx/n/01/224}{m/n/01/224}
+\CJKvlet{bx/n/01/226}{m/n/01/226}
+\CJKvlet{bx/n/01/225}{m/n/01/225}
+\CJKvlet{bx/n/01/219}{m/n/01/219}
+\CJKvlet{bx/n/01/220}{m/n/01/220}
+\CJKvlet{bx/n/01/222}{m/n/01/222}
+\CJKvlet{bx/n/01/221}{m/n/01/221}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/3}{m/n/01/3}
+\CJKvlet{bx/n/01/49}{m/n/01/49}
+\CJKvlet{bx/n/01/50}{m/n/01/50}
+\CJKvlet{bx/n/01/45}{m/n/01/45}
+\CJKvlet{bx/n/01/46}{m/n/01/46}
+\CJKvlet{bx/n/01/53}{m/n/01/53}
+\CJKvlet{bx/n/01/54}{m/n/01/54}
+\CJKvlet{bx/n/01/57}{m/n/01/57}
+\CJKvlet{bx/n/01/58}{m/n/01/58}
+\CJKvlet{bx/n/01/41}{m/n/01/41}
+\CJKvlet{bx/n/01/42}{m/n/01/42}
+\CJKvlet{bx/n/01/37}{m/n/01/37}
+\CJKvlet{bx/n/01/38}{m/n/01/38}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/13}{m/n/01/13}
+\CJKvlet{bx/n/01/14}{m/n/01/14}
+\CJKvlet{bx/n/01/15}{m/n/01/15}
+\CJKvlet{bx/n/01/61}{m/n/01/61}
+\CJKvlet{bx/n/01/62}{m/n/01/62}
+\CJKvlet{bx/n/01/63}{m/n/01/63}
+\CJKvlet{bx/n/01/64}{m/n/01/64}
+\CJKvlet{bx/n/01/65}{m/n/01/65}
+\CJKvlet{bx/n/01/66}{m/n/01/66}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmi.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmi.fd
new file mode 100644
index 0000000000..7f7d6fee79
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmi.fd
@@ -0,0 +1,25 @@
+% This is the file c00bsmi.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00bsmi.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Arphic PL TrueType font AR PL Mingti2L Big5 / ShanHeiSun-Light
+
+\DeclareFontFamily{C00}{bsmi}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{bsmi}{m}{n}{<-> CJK * bsmilp}{\CJKnormal}
+\DeclareFontShape{C00}{bsmi}{bx}{n}{<-> CJKb * bsmilp}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmi.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmi.fdx
new file mode 100644
index 0000000000..bf861ea8cd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmi.fdx
@@ -0,0 +1,147 @@
+% This is the file c00bsmi.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00bsmi.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+\CJKvdef{m/n/01/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvdef{m/n/01/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvdef{m/n/01/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvdef{m/n/01/29}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvdef{m/n/01/30}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvdef{m/n/01/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvdef{m/n/01/4}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvdef{m/n/01/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvdef{m/n/01/33}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvdef{m/n/01/34}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvdef{m/n/01/129}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvdef{m/n/01/22}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvdef{m/n/01/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvdef{m/n/01/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvdef{m/n/01/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvdef{m/n/01/148}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvdef{m/n/01/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvdef{m/n/01/149}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvdef{m/n/01/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvdef{m/n/01/155}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvdef{m/n/01/154}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvdef{m/n/01/212}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvdef{m/n/01/213}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvdef{m/n/01/215}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvdef{m/n/01/216}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvdef{m/n/01/217}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvdef{m/n/01/218}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvdef{m/n/01/210}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvdef{m/n/01/209}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvdef{m/n/01/208}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvdef{m/n/01/207}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvdef{m/n/01/223}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvdef{m/n/01/224}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvdef{m/n/01/226}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvdef{m/n/01/225}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvdef{m/n/01/219}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvdef{m/n/01/220}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvdef{m/n/01/222}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvdef{m/n/01/221}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvdef{m/n/01/26}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvdef{m/n/01/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvdef{m/n/01/3}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvdef{m/n/01/49}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvdef{m/n/01/50}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvdef{m/n/01/45}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvdef{m/n/01/46}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvdef{m/n/01/53}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvdef{m/n/01/54}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvdef{m/n/01/57}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvdef{m/n/01/58}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvdef{m/n/01/41}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvdef{m/n/01/42}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvdef{m/n/01/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvdef{m/n/01/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvdef{m/n/01/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvdef{m/n/01/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvdef{m/n/01/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvdef{m/n/01/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvdef{m/n/01/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvdef{m/n/01/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvdef{m/n/01/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvdef{m/n/01/64}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvdef{m/n/01/65}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvdef{m/n/01/66}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+
+\CJKvlet{bx/n/01/96}{m/n/01/96}
+\CJKvlet{bx/n/01/16}{m/n/01/16}
+\CJKvlet{bx/n/01/99}{m/n/01/99}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/4}{m/n/01/4}
+\CJKvlet{bx/n/01/98}{m/n/01/98}
+\CJKvlet{bx/n/01/33}{m/n/01/33}
+\CJKvlet{bx/n/01/34}{m/n/01/34}
+\CJKvlet{bx/n/01/129}{m/n/01/129}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/12}{m/n/01/12}
+\CJKvlet{bx/n/01/11}{m/n/01/11}
+\CJKvlet{bx/n/01/148}{m/n/01/148}
+\CJKvlet{bx/n/01/146}{m/n/01/146}
+\CJKvlet{bx/n/01/149}{m/n/01/149}
+\CJKvlet{bx/n/01/147}{m/n/01/147}
+\CJKvlet{bx/n/01/155}{m/n/01/155}
+\CJKvlet{bx/n/01/154}{m/n/01/154}
+\CJKvlet{bx/n/01/212}{m/n/01/212}
+\CJKvlet{bx/n/01/213}{m/n/01/213}
+\CJKvlet{bx/n/01/215}{m/n/01/215}
+\CJKvlet{bx/n/01/216}{m/n/01/216}
+\CJKvlet{bx/n/01/217}{m/n/01/217}
+\CJKvlet{bx/n/01/218}{m/n/01/218}
+\CJKvlet{bx/n/01/210}{m/n/01/210}
+\CJKvlet{bx/n/01/209}{m/n/01/209}
+\CJKvlet{bx/n/01/208}{m/n/01/208}
+\CJKvlet{bx/n/01/207}{m/n/01/207}
+\CJKvlet{bx/n/01/223}{m/n/01/223}
+\CJKvlet{bx/n/01/224}{m/n/01/224}
+\CJKvlet{bx/n/01/226}{m/n/01/226}
+\CJKvlet{bx/n/01/225}{m/n/01/225}
+\CJKvlet{bx/n/01/219}{m/n/01/219}
+\CJKvlet{bx/n/01/220}{m/n/01/220}
+\CJKvlet{bx/n/01/222}{m/n/01/222}
+\CJKvlet{bx/n/01/221}{m/n/01/221}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/3}{m/n/01/3}
+\CJKvlet{bx/n/01/49}{m/n/01/49}
+\CJKvlet{bx/n/01/50}{m/n/01/50}
+\CJKvlet{bx/n/01/45}{m/n/01/45}
+\CJKvlet{bx/n/01/46}{m/n/01/46}
+\CJKvlet{bx/n/01/53}{m/n/01/53}
+\CJKvlet{bx/n/01/54}{m/n/01/54}
+\CJKvlet{bx/n/01/57}{m/n/01/57}
+\CJKvlet{bx/n/01/58}{m/n/01/58}
+\CJKvlet{bx/n/01/41}{m/n/01/41}
+\CJKvlet{bx/n/01/42}{m/n/01/42}
+\CJKvlet{bx/n/01/37}{m/n/01/37}
+\CJKvlet{bx/n/01/38}{m/n/01/38}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/13}{m/n/01/13}
+\CJKvlet{bx/n/01/14}{m/n/01/14}
+\CJKvlet{bx/n/01/15}{m/n/01/15}
+\CJKvlet{bx/n/01/61}{m/n/01/61}
+\CJKvlet{bx/n/01/62}{m/n/01/62}
+\CJKvlet{bx/n/01/63}{m/n/01/63}
+\CJKvlet{bx/n/01/64}{m/n/01/64}
+\CJKvlet{bx/n/01/65}{m/n/01/65}
+\CJKvlet{bx/n/01/66}{m/n/01/66}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmir.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmir.fd
new file mode 100644
index 0000000000..fa10ef0545
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmir.fd
@@ -0,0 +1,25 @@
+% This is the file c00bsmir.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00bsmir.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Arphic GPL font (MingTi) rotated
+
+\DeclareFontFamily{C00}{bsmir}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{bsmir}{m}{n}{<-> CJK * bsmilr}{\CJKnormal}
+\DeclareFontShape{C00}{bsmir}{bx}{n}{<-> CJKb * bsmilr}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmir.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmir.fdx
new file mode 100644
index 0000000000..cc25893d80
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00bsmir.fdx
@@ -0,0 +1,15 @@
+% This is the file c00bsmir.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00bsmir.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{norotate}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00cns.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00cns.fd
new file mode 100644
index 0000000000..96415d3f20
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00cns.fd
@@ -0,0 +1,25 @@
+% This is the file c00cns.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00cns.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% Big 5 encoded CNS pixel font
+
+\DeclareFontFamily{C00}{CNS}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{\CJKnormal}
+\DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00fs.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00fs.fd
new file mode 100644
index 0000000000..f0ba805e36
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00fs.fd
@@ -0,0 +1,25 @@
+% This is the file c00fs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00fs.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters in Big 5 encoding scheme.
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% NTU TrueType font
+
+\DeclareFontFamily{C00}{fs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{fs}{m}{n}{<-> CJK * ntufsm}{\CJKnormal}
+\DeclareFontShape{C00}{fs}{bx}{n}{<-> CJKb * ntufsm}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kai.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kai.fd
new file mode 100644
index 0000000000..4e2a853e0b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kai.fd
@@ -0,0 +1,25 @@
+% This is the file c00kai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00kai.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% pixel font
+
+\DeclareFontFamily{C00}{kai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * b5ka12}{\CJKnormal}
+\DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * b5ka12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kair.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kair.fd
new file mode 100644
index 0000000000..a449cc6aa9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kair.fd
@@ -0,0 +1,25 @@
+% This is the file c00kair.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00kair.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters in Big 5 encoding scheme.
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% ntukai48 pixel font rotated
+
+\DeclareFontFamily{C00}{kair}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{kair}{m}{n}{<-> CJK * b5kr12}{\CJKnormal}
+\DeclareFontShape{C00}{kair}{bx}{n}{<-> CJKb * b5kr12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kair.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kair.fdx
new file mode 100644
index 0000000000..bbcdc9ecbc
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00kair.fdx
@@ -0,0 +1,15 @@
+% This is the file c00kair.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00kair.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{norotate}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00song.fd
new file mode 100644
index 0000000000..b72cf6b811
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c00song.fd
@@ -0,0 +1,25 @@
+% This is the file c00song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c00song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: CJK (Bg5)
+
+% pixel font
+
+\DeclareFontFamily{C00}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C00}{song}{m}{n}{<-> CJKsub * kai/m/n}{}
+\DeclareFontShape{C00}{song}{bx}{n}{<-> CJKsub * kai/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c01song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c01song.fd
new file mode 100644
index 0000000000..51ed5c16c3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c01song.fd
@@ -0,0 +1,23 @@
+% This is the file c01song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c01song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% font encoding: pmC
+
+\DeclareFontFamily{C01}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C01}{song}{m}{n}{<-> sCJKfixed * wcb5}{\CJKnormal}
+\DeclareFontShape{C01}{song}{bx}{n}{<-> sCJKfixedb * wcb5}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c05song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c05song.fd
new file mode 100644
index 0000000000..bc3d18ee85
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c05song.fd
@@ -0,0 +1,25 @@
+% This is the file c00song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c05song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: Big 5 + HKSCS-2004 (HKSCS-2001)
+% font encoding: CJK (HKSCS)
+
+% pixel font
+
+\DeclareFontFamily{C05}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C05}{song}{m}{n}{<-> CJKsub * kai/m/n}{}
+\DeclareFontShape{C05}{song}{bx}{n}{<-> CJKsub * kai/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c09song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c09song.fd
new file mode 100644
index 0000000000..33f6fde8df
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/Bg5/c09song.fd
@@ -0,0 +1,23 @@
+% This is the file c09song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c09song.fd}[\filedate\space\fileversion]
+
+
+% Chinese characters (extension of Big 5)
+%
+% character set: Big 5+
+% font encoding: CJK (extended)
+
+\DeclareFontFamily{C09}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C09}{song}{m}{n}{<-> CJK * bg5p}{\CJKnormal}
+\DeclareFontShape{C09}{song}{bx}{n}{<-> CJKb * bg5p}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CEF/c80song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/CEF/c80song.fd
new file mode 100644
index 0000000000..ef1319aaf8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CEF/c80song.fd
@@ -0,0 +1,34 @@
+% This is the file c80song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c80song.fd}[\filedate\space\fileversion]
+
+
+% CEF reserved font for IRIZ (International Research Institute for Zen
+% Buddhism).
+%
+% character set: IRIZ
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C80}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C80}{song}{m}{n}{
+ <5> <6> <7> CJKfixed * cxso10
+ <8> <9> <10> <10.95> sCJKfixed * cxso10
+ <12> CJKfixed * cxso10
+ <14.4> <17.28> sCJKfixed * cxso17
+ <20.74> <24.88> CJKfixed * cxso17}{\CJKnormal}
+\DeclareFontShape{C80}{song}{bx}{n}{
+ <5> <6> <7> CJKfixedb * cxso10
+ <8> <9> <10> <10.95> sCJKfixedb * cxso10
+ <12> CJKfixedb * cxso10
+ <14.4> <17.28> sCJKfixedb * cxso17
+ <20.74> <24.88> CJKfixedb * cxso17}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CEF/c81song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/CEF/c81song.fd
new file mode 100644
index 0000000000..78985b2ced
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CEF/c81song.fd
@@ -0,0 +1,33 @@
+% This is the file c81song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c81song.fd}[\filedate\space\fileversion]
+
+
+% CEF private font.
+%
+% character set: IRIZ private
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C81}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C81}{song}{m}{n}{
+ <5> <6> <7> CJKfixed * cyso10
+ <8> <9> <10> <10.95> sCJKfixed * cyso10
+ <12> CJKfixed * cyso10
+ <14.4> <17.28> sCJKfixed * cyso17
+ <20.74> <24.88> CJKfixed * cyso17}{\CJKnormal}
+\DeclareFontShape{C81}{song}{bx}{n}{
+ <5> <6> <7> CJKfixedb * cyso10
+ <8> <9> <10> <10.95> sCJKfixedb * cyso10
+ <12> CJKfixedb * cyso10
+ <14.4> <17.28> sCJKfixedb * cyso17
+ <20.74> <24.88> CJKfixedb * cyso17}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CJK.enc b/language/chinese/CJK/cjk-4.8.5/texinput/CJK.enc
new file mode 100644
index 0000000000..af8c8ffd06
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CJK.enc
@@ -0,0 +1,1092 @@
+% This is the file CJK.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{CJK.enc}[\filedate\space\fileversion]
+
+
+% we first define a macro to load an encoding file xxx.enc if
+% \CJK@xxxEncoding is still undefined. \CJK@xxxEncoding will only be
+% executed if it is not the actual encoding.
+
+\edef\CJK@actualEncoding{}
+
+\def\CJK@loadEncoding#1{
+ \expandafter\ifx\csname CJK@#1Encoding\endcsname \relax
+ \CJK@input{#1.enc}
+ \fi
+
+ \edef\CJK@temp{#1}
+ \ifx\CJK@temp \CJK@actualEncoding
+ \else
+ \csname CJK@#1Encoding\endcsname
+ \CJK@global\edef\CJK@actualEncoding{#1}
+ \fi}
+
+% this loads the appropriate xxx.chr file if \CJK@xxxChr is still undefined.
+% \CJK@xxxChr will only be executed if it is not the actual character
+% macro set.
+
+\edef\CJK@actualChr{}
+
+\def\CJK@loadChr#1{
+ \expandafter\ifx\csname CJK@#1Chr\endcsname \relax
+ \CJK@input{#1.chr}
+ \fi
+
+ \edef\CJK@temp{#1}
+ \ifx\CJK@temp \CJK@actualChr
+ \else
+ \csname CJK@#1Chr\endcsname
+ \CJK@global\edef\CJK@actualChr{#1}
+ \fi}
+
+% this loads the appropriate xxx.bdg file if \CJK@xxxBinding is still
+% undefined. \CJK@xxxBinding will only be executed if it is not the
+% actual binding.
+%
+% if the flag \ifCJK@nobind@ is set we do nothing.
+
+\newif\ifCJK@nobind@
+
+\edef\CJK@actualBinding{}
+
+\def\CJK@loadBinding#1{
+ \ifCJK@nobind@
+ \else
+ \expandafter\ifx\csname CJK@#1Binding\endcsname \relax
+ \CJK@input{#1.bdg}
+ \fi
+
+ \edef\CJK@temp{#1}
+ \ifx\CJK@temp \CJK@actualBinding
+ \else
+ \csname CJK@#1Binding\endcsname
+ \CJK@global\edef\CJK@actualBinding{#1}
+ \fi
+ \fi}
+
+
+% define macros for individual characters (i.e. the first byte); each active
+% character selects the appropriate subfont. The assignments actually
+% happen in the encoding specific .enc files.
+
+\def\CJK@namegdef#1{
+ \@tempcnta `#1
+ \edef\CJK@temp{\the\@tempcnta}
+ \expandafter\CJK@global\expandafter\def\csname CJK@\CJK@temp\endcsname}
+
+
+% some encodings can't be reliably processed if \MakeUppercase is active.
+% The following macro disables it. It is used in the encoding specific
+% .enc files.
+
+\ifx\CJKpreproc \relax
+ \def\CJK@disableMakeUppercase{
+ \CJK@global\let\CJKuppercase \MakeUppercase
+ \CJK@global\let\MakeUppercase \relax
+
+ \PackageWarningNoLine{CJK}{
+ `\CJK@actualEncoding' encoding used in non-preprocessed mode.\MessageBreak
+ \protect\MakeUppercase\space disabled}
+ \CJK@global\let\CJK@disableMakeUppercase \relax}
+\else
+ \let\CJK@disableMakeUppercase \relax
+\fi
+
+
+% single shifts (EUC-TW, EUC-JP), three-byte, and four-byte UTF8 values
+% can't be used in preprocessed mode
+
+\def\CJK@shiftError{
+ \PackageError{CJK}{
+ Single shifts in `\CJK@actualEncoding' encoding
+ can't be used in preprocessed mode
+ }
+ {Maybe you've forgotten to change the encoding?}}
+\def\CJK@unicodeError{
+ \PackageError{CJK}{
+ Three-Byte UTF8 values can't be used in preprocessed mode
+ }
+ {Maybe you've forgotten to change the encoding?}}
+\def\CJK@unicodexError{
+ \PackageError{CJK}{
+ Four-Byte UTF8 values can't be used in preprocessed mode
+ }
+ {Maybe you've forgotten to change the encoding?}}
+
+
+% the following macro is used to map the CJK (font) encoding to the
+% corresponding NFSS font encodings. It also registers the encoding;
+% we define an empty macro for the font name in \DeclareFontSubstitution
+% since LaTeX2e tests without a subplane appended.
+
+\def\CJK@mapToNFSS#1#2#3#4#5{
+ \expandafter\edef\csname CJK@#1@nfssenc\endcsname{#2}
+ \DeclareFontEncoding{#2}{}{}
+ \DeclareFontSubstitution{#2}{#3}{#4}{#5}
+ \expandafter\def\csname #2/#3/#4/#5\endcsname{}}
+
+
+% an ugly environment which redefines the characters `\', `{', and `}' to
+% `/', `(', and `)' respectively since some CJK encodings need these
+% characters as second bytes.
+%
+% to include \CJK@global we define the low level environment macros
+% directly.
+
+\def\CJK@makeEnvironment#1{
+ \@ifundefined{#1text}{
+ \CJK@global\@namedef{#1text}{
+ \catcode`\\=12
+ \catcode`\{=12
+ \catcode`\}=12
+ \def\/{/}
+ \def\({(}
+ \def\){)}
+ \catcode`\/=0
+ \catcode`\(=1
+ \catcode`\)=2}
+ \CJK@global\@namedef{end#1text}{}}{}}
+
+
+% here an overview of all encodings/font encodings:
+%
+% Chinese: Bg5 C00
+% Bg5pmC C01
+%
+% HK C05
+%
+% Bg5+ C09
+%
+% GB C10
+% GBpmC C11
+%
+% GBK C19
+%
+% GBt C20
+% GBtpmC C21
+%
+% CNS1-7 C31-37
+%
+% Japanese: JIS C40
+% JISpmC C41
+% JISdnp C42
+% JISwn C43
+%
+% JIS2 C50
+% JIS2dnp C52
+%
+% SJIS -> kana C49
+% SJISdnp -> kana C49
+%
+% Korean: KS -> hanja C60
+% -> hangul C61
+% KSpmC C62
+% KSHL -> hangulHL C63
+% -> symbolHL C64
+% -> hanjaHL C65
+%
+% Unicode: UTF8 C70
+%
+% CEF: CEFX C80
+% CEFY C81
+
+
+% here are the punctuation tables. We suppress spaces additionally in this
+% group.
+
+\begingroup
+ \catcode`\ 9\relax
+
+ \CJK@prePunct {Bg5}{A1}{5D, 5F, 61, 63, 65, 67, 69, 6B, 6D, 6F, 71, 73,
+ 75, 77, 79, 7B, 7D, A1, A3,
+ A5, A7, A9, AB,
+ AD, B1, CC, CD}
+ \CJK@postPunct {Bg5}{A1}{41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 4A, 4B, 4C, 4D, 4E, 4F, 50, 51,
+ 52, 53, 54, 57,
+ 5E, 60, 62, 64, 66, 68, 6A, 6C, 6E, 70, 72, 74,
+ 76, 78, 7A, 7C, 7E, A2, A4,
+ A6, A8, AA, AC}
+ \CJK@prePunct {Bg5}{A2}{43, 44, 45, 46, 47, 49,
+ 4C, 4E}
+ \CJK@postPunct {Bg5}{A2}{48, 4A, 4B, 4D,
+ 4F, 50, 51, 52, 53, 54, 55, 56, 57, 58}
+
+ \CJK@prePunct {GB}{A1}{AE, B0, B2, B4, B6, B8, BA, BC, BE,
+ E7, E8, E9, EA, EC, ED}
+ \CJK@postPunct {GB}{A1}{A2, A3, A4, A9, AD,
+ AF, B1, B3, B5, B7, B9, BB, BD, BF,
+ C3, E3, E4, E5, E6, EB}
+ \CJK@prePunct {GB}{A3}{A3, A4, A8, C0, DB, FB}
+ \CJK@postPunct {GB}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD}
+
+ \CJK@prePunct {JIS}{A1}{C6, C8, CA, CC, CE, D0, D2, D4, D6, D8, DA,
+ EF, F0, F1, F2, F4, F7, F8}
+ \CJK@postPunct {JIS}{A1}{A2, A3, A4, A5, A6, A7, A8, A9, AA, AB, AC,
+ B3, B4, B5, B6, B9, BA, BC,
+ C4, C7, C9, CB, CD, CF, D1, D3, D5, D7, D9, DB,
+ EB, EC, ED, EE, F3}
+ \CJK@prePunct {JIS}{A2}{A9}
+% \CJK@postPunct {JIS}{A2}{}
+% \CJK@prePunct {JIS}{A4}{}
+ \CJK@postPunct {JIS}{A4}{A1, A3, A5, A7, A9,
+ C3, E3, E5, E7, EE}
+% \CJK@prePunct {JIS}{A5}{}
+ \CJK@postPunct {JIS}{A5}{A1, A3, A5, A7, A9,
+ C3, E3, E5, E7, EE,
+ F5, F6}
+
+ \CJK@prePunct {SJIS}{81}{65, 67, 69, 6B, 6D, 6F, 71, 73, 75, 77, 79,
+ 8F, 90, 91, 92, 94, 97, 98,
+ A7}
+ \CJK@postPunct{SJIS}{81}{41, 42, 43, 44, 45, 46, 47, 48, 49, 4A, 4B,
+ 52, 53, 54, 55, 58, 59, 5B,
+ 63, 66, 68, 6A, 6C, 6E, 70, 72, 74, 76, 78, 7A,
+ 8B, 8C, 8D, 8E, 93}
+% \CJK@prePunct {SJIS}{82}{}
+ \CJK@postPunct{SJIS}{82}{9F, A1, A3, A5, A7,
+ C1, E1, E3, E5, EC}
+% \CJK@prePunct {SJIS}{83}{}
+ \CJK@postPunct{SJIS}{83}{40, 42, 44, 46, 48,
+ 62, 83, 85, 87, 8E,
+ 95, 96}
+
+ % half-width katakana
+ \CJK@prePunct {C49}{}{A2}
+ \CJK@postPunct {C49}{}{A1, A3, A4, A5, A7, A8, A9, AA, AB, AC, AD, AE, AF,
+ B0, DE, DF}
+
+ \CJK@prePunct {KS}{A1}{AE, B0, B2, B4, B6, B8, BA, BC,
+ CB, CC, CD, D7, EC}
+ \CJK@postPunct {KS}{A1}{A2, A3, A4, A5, A6,
+ AF, B1, B3, B5, B7, B9, BB, BD,
+ C6, C7, C8, C9, ED}
+ \CJK@prePunct {KS}{A3}{A3, A4, A8, C0, DB, DC, FB}
+ \CJK@postPunct {KS}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD}
+
+ \xdef\CJK@uniPunct{30, fe, ff} % values must be lowercase for UTF 8
+
+ \CJK@prePunct {UTF8}{30}{08, 0A, 0C, 0E, 10, 12, 14, 16, 18, 1A, 1D, 1F, 36}
+ \CJK@postPunct{UTF8}{30}{01, 02, 05, 06,
+ 09, 0B, 0D, 0F, 11, 15, 17, 19, 1B, 1E,
+ 41, 43, 45, 47, 49, 63, 83, 85, 87, 8E,
+ 9B, 9C, 9D, 9E,
+ A1, A3, A5, A7, A9, C3, E3, E5, E7, EE, F5, F6,
+ FB, FC, FD, FE}
+ \CJK@prePunct {UTF8}{fe}{59, 5B, 5D, 5F, 60, 69, 6B}
+ \CJK@postPunct{UTF8}{fe}{50, 51, 52, 54, 55, 56, 57, 5A, 5C, 5E, 6A}
+ \CJK@prePunct {UTF8}{ff}{03, 04, 08, 20, 3B, 5B, E0, E1, E5, E6}
+ \CJK@postPunct{UTF8}{ff}{01, 05, 09, 0C, 0E, 1A, 1B, 1F, 3D, 5D,
+ 61, 63, 64, 65, 67, 68, 69, 6A, 6B, 6C, 6D, 6E, 6F,
+ 70, 9E, 9F}
+
+ \CJK@prePunct {CNS1}{A1}{BE, C2, C6, CA, CE, D2, D6, DA, DE, E0, E2,
+ E4, E6, E8, EA,
+ EC, F0}
+ \CJK@postPunct{CNS1}{A1}{A2, A3, A4, A5, A6, A7, A8, A9,
+ AA, AC, AD, AE, AF, B0, B1, B2,
+ B3, B4, B5,
+ BF, C3, C7, CB, CF, D3, D7, DB, DF, E1, E3,
+ E5, E7, E9, EB}
+ \CJK@prePunct {CNS1}{A2}{AD, AE, E3, E4, E5, E6, E7, E9,
+ EC, EE}
+ \CJK@postPunct{CNS1}{A2}{E8, EA, EB, ED,
+ EF, F0, F1, F2, F3, F4, F5, F6, F7, F8}
+
+ \CJK@prePunct {GBK}{A1}{AE, B0, B2, B4, B6, B8, BA, BC, BE,
+ E7, E8, E9, EA, EC, ED}
+ \CJK@postPunct {GBK}{A1}{A2, A3, A4, A9, AD,
+ AF, B1, B3, B5, B7, B9, BB, BD, BF,
+ C3, E3, E4, E5, E6, EB}
+ \CJK@prePunct {GBK}{A3}{A3, A4, A8, C0, DB, FB}
+ \CJK@postPunct {GBK}{A3}{A1, A5, A9, AC, AE, BA, BB, BF, DD, FD}
+% \CJK@prePunct {GBK}{A4}{}
+ \CJK@postPunct {GBK}{A4}{A1, A3, A5, A7, A9, C3, E3, E5, E7, EE}
+% \CJK@prePunct {GBK}{A5}{}
+ \CJK@postPunct {GBK}{A5}{A1, A3, A5, A7, A9, C3, E3, E5, E7, EE, F5, F6}
+ \CJK@prePunct {GBK}{A8}{93, 94}
+ \CJK@postPunct {GBK}{A8}{95}
+ \CJK@prePunct {GBK}{A9}{76, 78, 7A, 7C, 7D, 86, 88}
+ \CJK@postPunct {GBK}{A9}{60, 61, 62, 63, 64, 65, 66, 67, 6F,
+ 70, 71, 72, 73, 74, 75, 77, 79, 7B, 87}
+\endgroup
+
+
+% dummy encoding for MULE.
+
+\def\CJK@@enc{\CJK@loadBinding{standard}}
+
+\edef\CJK@@fontenc{}
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% encoding: Big 5
+% font encoding: CJK
+
+\CJK@mapToNFSS{Bg5}{C00}{song}{m}{n}
+\CJKencfamily{Bg5}{song}
+\CJKfontenc{Bg5}{}
+\@namedef{CJK@Bg5@hook}{}
+
+\@namedef{CJK@Bg5@enc}{
+ \CJK@makeEnvironment{Bg5}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040% don't forget `0' before the number,
+ \CJK@global\chardef\CJK@max "0FE% otherwise german.sty will not work.
+
+ \CJK@loadEncoding{Bg5}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+% support for Hong Kong
+%
+% character set: Big 5 + HKSCS-2004 (or HKSCS-2001)
+% encoding: Big 5
+% font encoding: CJK
+
+\CJK@mapToNFSS{HK}{C05}{song}{m}{n}
+\CJKencfamily{HK}{song}
+\CJKfontenc{HK}{}
+\@namedef{CJK@HK@hook}{}
+
+\def\CJK@HK@enc{
+ \CJK@makeEnvironment{HK}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040% don't forget `0' before the number,
+ \CJK@global\chardef\CJK@max "0FE% otherwise german.sty will not work.
+
+ \CJK@loadEncoding{HK}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+% Chinese characters (extension of Big 5)
+%
+% character set: Big 5+
+% encoding: extended
+% font encoding: CJK
+
+\CJK@mapToNFSS{Bg5+}{C09}{song}{m}{n}
+\CJKencfamily{Bg5+}{song}
+\CJKfontenc{Bg5+}{}
+\@namedef{CJK@Bg5+@hook}{}
+
+\@namedef{CJK@Bg5+@enc}{
+ \CJK@makeEnvironment{Bg5+}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{extended}
+
+ \CJK@global\edef\CJK@punctEnc{Bg5}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+
+% Chinese characters
+%
+% character set: GB 2312-80
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{GB}{C10}{song}{m}{n}
+\CJKencfamily{GB}{song}
+\CJKfontenc{GB}{}
+\def\CJK@GB@hook{}
+
+\def\CJK@GB@enc{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{GB}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{GBt}{C20}{song}{m}{n}
+\CJKencfamily{GBt}{song}
+\CJKfontenc{GBt}{}
+\def\CJK@GBt@hook{}
+
+\let\CJK@GBt@enc \CJK@GB@enc
+
+% Chinese characters (extension of GB 2312)
+%
+% character set: GBK
+% encoding: extended
+% font encoding: CJK
+
+\CJK@mapToNFSS{GBK}{C19}{song}{m}{n}
+\CJKencfamily{GBK}{song}
+\CJKfontenc{GBK}{}
+\def\CJK@GBK@hook{}
+
+\def\CJK@GBK@enc{
+ \CJK@makeEnvironment{GBK}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{extended}
+
+ \CJK@global\edef\CJK@punctEnc{GBK}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% Japanese characters
+%
+% character set JIS X 0208:1997
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{JIS}{C40}{song}{m}{n}
+\CJKencfamily{JIS}{song}
+\CJKfontenc{JIS}{}
+\def\CJK@JIS@hook{}
+
+\def\CJK@JIS@enc{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997
+% encoding: EUC
+% font encoding: DNP
+
+\CJK@mapToNFSS{JISdnp}{C42}{song}{m}{n}
+\CJKencfamily[dnp]{JIS}{song}
+
+\def\CJK@JISdnp@enc{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{JISdnp}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997
+% encoding: EUC
+% font encoding: DNP (watanabe)
+
+\CJK@mapToNFSS{JISwn}{C43}{song}{m}{n}
+\CJKencfamily[wn]{JIS}{song}
+
+\let\CJK@JISwn@enc \CJK@JISdnp@enc
+
+% Japanese supplemental JIS characters
+%
+% character set: JIS X 0212-1990
+% encoding: EUC
+% font encoding: CJK
+
+\CJK@mapToNFSS{JIS2}{C50}{song}{m}{n}
+\CJKencfamily{JIS2}{song}
+\CJKfontenc{JIS2}{}
+\@namedef{CJK@JIS2@hook}{}
+
+\@namedef{CJK@JIS2@enc}{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar[JIS]{"0A1}{"0A1}}}
+
+% Japanese supplemental JIS characters
+%
+% character set: JIS X 0212-1990
+% encoding: EUC
+% font encoding: DNP
+
+\CJK@mapToNFSS{JIS2dnp}{C52}{song}{m}{n}
+\CJKencfamily[dnp]{JIS2}{song}
+
+\@namedef{CJK@JIS2dnp@enc}{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{JISdnp}
+
+ \CJK@global\edef\CJK@punctEnc{}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar[JIS]{"0A1}{"0A1}}}
+
+% Japanese characters
+%
+% character sets: JIS X 0208:1997
+% half-width katakana (JIS X 0201-1997)
+% encoding: SJIS
+% font encoding: CJK
+%
+% Technical note: \CJK@altenc is used for SJIS, \CJK@altEnc for KS.
+
+\CJK@mapToNFSS{kana}{C49}{song}{m}{n}% used internally only
+\CJKencfamily{SJIS}{song}
+\CJKfontenc{SJIS}{}
+\def\CJK@SJIS@hook{}
+
+% the relative order of JIS and SJIS encoded characters are identical
+% except one byte characters.
+
+\def\CJK@@@SJIS@hook{
+ \CJK@global\edef\CJK@enc{\CJK@JIS@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\def\CJK@SJIS@enc{
+ \CJK@makeEnvironment{SJIS}
+
+ \CJK@loadBinding{SJIS}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FC
+
+ \CJK@loadEncoding{SJIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"081}{"040}}}
+
+% Japanese characters
+%
+% character sets: JIS X 0208:1997
+% half-width katakana (JIS X 0201-1997)
+% encoding: SJIS
+% font encoding: DNP
+
+\CJKencfamily[dnp]{SJIS}{song}
+
+% the relative order of JIS and SJIS encoded characters are identical
+% except one byte characters.
+
+\def\CJK@@@SJISdnp@hook{
+ \CJK@global\edef\CJK@enc{\CJK@JISdnp@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\def\CJK@SJISdnp@enc{
+ \CJK@makeEnvironment{SJIS}
+
+ \CJK@loadBinding{SJIS}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FC
+
+ \CJK@loadEncoding{SJISdnp}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"081}{"040}}}
+
+
+% Korean characters
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC
+% font encoding: CJK
+%
+% the increased \tolerance compensates the lack of \CJKglue for Hangul
+% syllables.
+
+% the following commands choose between C60xxx.fd (for hanja) and C61xxx.fd
+% (for hangul) for the character range 0xB0A1 - 0xC8FE.
+
+\newif\ifCJK@hanja@
+\CJK@hanja@false
+
+\DeclareRobustCommand{\CJKhanja}{
+ \CJK@global\CJK@hanja@true
+ \edef\CJK@temp{KS}
+ \ifx\CJK@temp \CJK@@@enc
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+ \CJK@global\edef\CJK@altEnc{
+ \csname CJK@hanja\CJK@temp @nfssenc\endcsname}
+ \fi}
+\DeclareRobustCommand{\CJKhangul}{
+ \CJK@global\CJK@hanja@false
+ \edef\CJK@temp{KS}
+ \ifx\CJK@temp \CJK@@@enc
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+ \CJK@global\edef\CJK@altEnc{
+ \csname CJK@hangul\CJK@temp @nfssenc\endcsname}
+ \fi}
+
+\CJK@mapToNFSS{hanja}{C60}{mj}{m}{n}% used internally only
+\CJK@mapToNFSS{hangul}{C61}{mj}{m}{n}% used internally only
+\CJKencfamily{KS}{mj}
+\CJKfontenc{KS}{}
+\def\CJK@KS@hook{}
+
+\def\CJK@@@KS@hook{
+ \CJK@global\edef\CJK@enc{\CJK@hanja@nfssenc}
+ \ifCJK@hanja@
+ \CJK@global\edef\CJK@altEnc{\CJK@hanja@nfssenc}
+ \else
+ \CJK@global\edef\CJK@altEnc{\CJK@hangul@nfssenc}
+ \fi}
+
+\def\CJK@KS@enc{
+ \CJK@global\def\mj{\protect\CJK@mj}% % from hLaTeX
+ \gdef\CJK@mj{\CJKencfamily{KS}{mj}}
+ \CJK@global\def\gt{\protect\CJK@gt}
+ \gdef\CJK@gt{\CJKencfamily{KS}{gt}}
+ \CJK@global\def\gs{\protect\CJK@gs}
+ \gdef\CJK@gs{\CJKencfamily{KS}{gs}}
+ \CJK@global\def\gr{\protect\CJK@gr}
+ \gdef\CJK@gr{\CJKencfamily{KS}{gr}}
+ \CJK@global\def\dr{\protect\CJK@dr}
+ \gdef\CJK@dr{\CJKencfamily{KS}{dr}}
+
+ \CJK@global\def\hgt{\protect\CJK@hgt}% % from hjTeX
+ \gdef\CJK@hgt{\CJKencfamily{KS}{hgt}}
+ \CJK@global\def\hmj{\protect\CJK@hmj}
+ \gdef\CJK@hmj{\CJKencfamily{KS}{hmj}}
+ \CJK@global\def\hol{\protect\CJK@hol}
+ \gdef\CJK@hol{\CJKencfamily{KS}{hol}}
+ \CJK@global\def\hpg{\protect\CJK@hpg}
+ \gdef\CJK@hpg{\CJKencfamily{KS}{hpg}}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{KS}
+
+ \CJK@global\edef\CJK@punctEnc{KS}
+ \CJK@global\tolerance \CJKtolerance
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% Korean characters
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC
+% font encoding: HLaTeX (version >= 0.97)
+
+\CJK@mapToNFSS{hangulHL}{C63}{mj}{m}{n}% used internally only
+\CJK@mapToNFSS{symbolHL}{C64}{mj}{m}{n}% used internally only
+\CJK@mapToNFSS{hanjaHL}{C65}{mj}{m}{n}% used internally only
+\CJKencfamily[HL]{KS}{mj}
+
+\def\CJK@@@KSHL@hook{
+ \CJK@global\edef\CJK@enc{\CJK@hanjaHL@nfssenc}
+ \CJK@global\edef\CJK@altEnc{\CJK@hangulHL@nfssenc}
+ \CJK@global\edef\CJK@symbEnc{\CJK@symbolHL@nfssenc}}
+
+\def\CJK@KSHL@enc{
+ \CJK@global\def\bm{\protect\CJK@bm}
+ \gdef\CJK@bm{\CJKencfamily[HL]{KS}{bm}}
+ \CJK@global\def\dn{\protect\CJK@dn}
+ \gdef\CJK@dn{\CJKencfamily[HL]{KS}{dn}}
+ \CJK@global\def\gr{\protect\CJK@gr}
+ \gdef\CJK@gr{\CJKencfamily[HL]{KS}{gr}}
+ \CJK@global\def\gs{\protect\CJK@gs}
+ \gdef\CJK@gs{\CJKencfamily[HL]{KS}{gs}}
+ \CJK@global\def\gt{\protect\CJK@gt}
+ \gdef\CJK@gt{\CJKencfamily[HL]{KS}{gt}}
+ \CJK@global\def\jgt{\protect\CJK@jgt}
+ \gdef\CJK@jgt{\CJKencfamily[HL]{KS}{jgt}}
+ \CJK@global\def\jmj{\protect\CJK@jmj}
+ \gdef\CJK@jmj{\CJKencfamily[HL]{KS}{jmj}}
+ \CJK@global\def\jnv{\protect\CJK@jnv}
+ \gdef\CJK@jnv{\CJKencfamily[HL]{KS}{jnv}}
+ \CJK@global\def\jsr{\protect\CJK@jsr}
+ \gdef\CJK@jsr{\CJKencfamily[HL]{KS}{jsr}}
+ \CJK@global\def\mj{\protect\CJK@mj}
+ \gdef\CJK@mj{\CJKencfamily[HL]{KS}{mj}}
+ \CJK@global\def\ol{\protect\CJK@ol}
+ \gdef\CJK@ol{\CJKencfamily[HL]{KS}{mj}}
+ \CJK@global\def\pg{\protect\CJK@pg}
+ \gdef\CJK@pg{\CJKencfamily[HL]{KS}{pg}}
+ \CJK@global\def\pga{\protect\CJK@pga}
+ \gdef\CJK@pga{\CJKencfamily[HL]{KS}{pga}}
+ \CJK@global\def\ph{\protect\CJK@ph}
+ \gdef\CJK@ph{\CJKencfamily[HL]{KS}{ph}}
+ \CJK@global\def\pn{\protect\CJK@pn}
+ \gdef\CJK@pn{\CJKencfamily[HL]{KS}{pn}}
+ \CJK@global\def\sh{\protect\CJK@sh}
+ \gdef\CJK@sh{\CJKencfamily[HL]{KS}{sh}}
+ \CJK@global\def\sm{\protect\CJK@sm}
+ \gdef\CJK@sm{\CJKencfamily[HL]{KS}{mj}}
+ \CJK@global\def\tz{\protect\CJK@tz}
+ \gdef\CJK@tz{\CJKencfamily[HL]{KS}{tz}}
+ \CJK@global\def\vd{\protect\CJK@vd}
+ \gdef\CJK@vd{\CJKencfamily[HL]{KS}{vd}}
+ \CJK@global\def\yt{\protect\CJK@yt}
+ \gdef\CJK@yt{\CJKencfamily[HL]{KS}{yt}}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{KSHL}
+
+ \CJK@global\edef\CJK@punctEnc{KS}
+ \CJK@global\tolerance \CJKtolerance
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% Unicode
+%
+% character set: Unicode
+% encoding: UTF 8
+% font encoding: CJK
+
+\CJK@mapToNFSS{UTF8}{C70}{song}{m}{n}
+\CJKencfamily{UTF8}{song}
+\CJKfontenc{UTF8}{}
+\@namedef{CJK@UTF8@hook}{}
+
+\@namedef{CJK@UTF8@enc}{
+ \CJK@loadBinding{UTF8}
+
+ \CJK@global\chardef\CJK@min "080
+ \CJK@global\chardef\CJK@max "0BF
+
+ \CJK@loadEncoding{UTF8}
+
+ \CJK@global\def\CJK@spaceChar{\Unicode{"030}{"000}}}
+
+
+% Chinese characters in CNS encoding.
+%
+% character set: CNS 11643-1992
+% encoding: EUC
+% font encoding: CJK
+
+% please note that internally character codes with the 8th bit set are
+% used, whereas Wittern's CEF use the seven bit form.
+
+% plane 1.
+
+\CJK@mapToNFSS{CNS1}{C31}{song}{m}{n}
+\CJKencfamily{CNS1}{song}
+\CJKfontenc{CNS1}{}
+\@namedef{CJK@CNS1@enc}{}
+
+\@namedef{CJK@CNS1@enc}{
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{standard}
+
+ \CJK@global\edef\CJK@punctEnc{CNS1}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar[CNS1]{"0A1}{"0A1}}}
+
+% plane 2-7.
+
+\CJK@mapToNFSS{CNS2}{C32}{song}{m}{n}
+\CJKencfamily{CNS2}{song}
+\CJKfontenc{CNS2}{}
+\@namedef{CJK@CNS2@hook}{}
+\CJK@mapToNFSS{CNS3}{C33}{song}{m}{n}
+\CJKencfamily{CNS3}{song}
+\CJKfontenc{CNS3}{}
+\@namedef{CJK@CNS3@hook}{}
+\CJK@mapToNFSS{CNS4}{C34}{song}{m}{n}
+\CJKencfamily{CNS4}{song}
+\CJKfontenc{CNS4}{}
+\@namedef{CJK@CNS4@hook}{}
+\CJK@mapToNFSS{CNS5}{C35}{song}{m}{n}
+\CJKencfamily{CNS5}{song}
+\CJKfontenc{CNS5}{}
+\@namedef{CJK@CNS5@hook}{}
+\CJK@mapToNFSS{CNS6}{C36}{song}{m}{n}
+\CJKencfamily{CNS6}{song}
+\CJKfontenc{CNS6}{}
+\@namedef{CJK@CNS6@hook}{}
+\CJK@mapToNFSS{CNS7}{C37}{song}{m}{n}
+\CJKencfamily{CNS7}{song}
+\CJKfontenc{CNS7}{}
+\@namedef{CJK@CNS7@hook}{}
+
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS2@enc\expandafter\endcsname
+ \csname CJK@JIS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS3@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS4@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS5@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS6@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+\expandafter\expandafter\expandafter\let
+ \expandafter\csname CJK@CNS7@enc\expandafter\endcsname
+ \csname CJK@CNS2@enc\endcsname
+
+
+% special CEF encodings
+
+\CJK@mapToNFSS{CEFX}{C80}{song}{m}{n}
+\CJKencfamily{CEFX}{song}
+\CJKfontenc{CEFX}{}
+\def\CJK@CEFX@hook{}
+\CJK@mapToNFSS{CEFY}{C81}{song}{m}{n}
+\CJKencfamily{CEFY}{song}
+\CJKfontenc{CEFY}{}
+\def\CJK@CEFY@hook{}
+
+\expandafter\let\expandafter\CJK@CEFX@enc \csname CJK@CNS2@enc\endcsname
+\expandafter\let\expandafter\CJK@CEFY@enc \csname CJK@CNS2@enc\endcsname
+
+
+% traditional Chinese characters
+%
+% character set: Big 5
+% encoding: Big 5
+% font encoding: pmC
+
+\CJK@mapToNFSS{Bg5pmC}{C01}{song}{m}{n}
+\CJKencfamily[pmC]{Bg5}{song}
+
+\@namedef{CJK@Bg5pmC@enc}{
+ \CJK@global\def\pmCsmall{\protect\CJK@pmCsmall}
+ \gdef\CJK@pmCsmall{
+ \CJK@loadEncoding{pmCsmall}}
+ \CJK@global\def\pmCbig{\protect\CJK@pmCbig}
+ \gdef\CJK@pmCbig{
+ \PackageError{CJK}{
+ No big font for pmC Big 5 encoding available}{}}
+
+ \CJK@makeEnvironment{Bg5}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "040
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@global\edef\CJK@punctEnc{Bg5}
+
+ \pmCsmall
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"040}}}
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{GBpmC}{C11}{song}{m}{n}
+\CJKencfamily[pmC]{GB}{song}
+
+\def\CJK@GBpmC@enc{
+ \CJK@pmC{GB}}
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{GBtpmC}{C21}{song}{m}{n}
+\CJKencfamily[pmC]{GBt}{song}
+
+\let\CJK@GBtpmC@enc \CJK@GBpmC@enc
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{JISpmC}{C41}{song}{m}{n}
+\CJKencfamily[pmC]{JIS}{song}
+
+\def\CJK@JISpmC@enc{
+ \CJK@pmC{JIS}}
+
+% Korean characters
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC
+% font encoding: pmC
+
+\CJK@mapToNFSS{KSpmC}{C62}{song}{m}{n}
+\CJKencfamily[pmC]{KS}{song}
+
+\def\CJK@KSpmC@enc{
+ \CJK@pmC{KS}}
+
+\def\CJK@pmC#1{
+ \CJK@global\def\pmCsmall{\protect\CJK@pmCsmall}
+ \gdef\CJK@pmCsmall{
+ \CJK@loadEncoding{pmCsmall}}
+ \CJK@global\def\pmCbig{\protect\CJK@pmCbig}
+ \gdef\CJK@pmCbig{
+ \CJK@loadEncoding{pmCbig}}
+
+ \CJK@loadBinding{standard}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@global\edef\CJK@punctEnc{#1}
+
+ \pmCsmall
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% EUC-JP
+%
+% character sets: half-width katakana (JIS X 0201-1997)
+% JIS X 0208:1997
+% JIS X 0212-1992
+% encoding: EUC-JP
+% font encoding: CJK
+%
+% Technical note: JIS X 0212 is directly accessed via
+% \CJKchar[JIS2]{...}{...}
+
+\CJKencfamily{EUC-JP}{song}
+\CJKfontenc{EUC-JP}{}
+\@namedef{CJK@EUC-JP@hook}{}
+
+\@namedef{CJK@@@EUC-JP@hook}{
+ \CJK@global\edef\CJK@enc{\CJK@JIS@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\@namedef{CJK@EUC-JP@enc}{
+ \CJK@loadBinding{EUC-JP}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{EUC-JP}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% EUC-JP
+%
+% character sets: half-width katakana (JIS X 0201-1997)
+% JIS X 0208:1997
+% JIS X 0212-1992
+% encoding: EUC-JP
+% font encoding: dnp
+%
+% Technical note: JIS X 0212 is directly accessed via
+% \CJKchar[JIS2dnp]{...}{...}
+
+\CJKencfamily[dnp]{EUC-JP}{song}
+
+\@namedef{CJK@@@EUC-JPdnp@hook}{
+ \CJK@global\edef\CJK@enc{\CJK@JISdnp@nfssenc}
+ \CJK@global\edef\CJK@altenc{\CJK@kana@nfssenc}}
+
+\@namedef{CJK@EUC-JPdnp@enc}{
+ \CJK@loadBinding{EUC-JP}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{EUC-JPdnp}
+
+ \CJK@global\edef\CJK@punctEnc{JIS}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+
+% EUC-TW
+%
+% character sets: CNS 11643-1992 planes 1-7
+% encoding: EUC-TW
+% font encoding: CJK
+%
+% Technical note: CNS 11643-1992 planes 2-7 are directly accessed via
+% \CJKchar[CNSx]{...}{...}
+
+\CJKencfamily{EUC-TW}{song}
+\CJKfontenc{EUC-TW}{}
+\@namedef{CJK@EUC-TW@hook}{}
+
+\@namedef{CJK@@@EUC-TW@hook}{
+ \CJK@global\edef\CJK@enc{\csname CJK@CNS1@nfssenc\endcsname}}
+
+\@namedef{CJK@EUC-TW@enc}{
+ \CJK@loadBinding{EUC-TW}
+
+ \CJK@global\chardef\CJK@min "0A1
+ \CJK@global\chardef\CJK@max "0FE
+
+ \CJK@loadEncoding{EUC-TW}
+
+ \CJK@global\edef\CJK@punctEnc{CNS1}
+
+ \CJK@global\def\CJK@spaceChar{\CJKchar{"0A1}{"0A1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CJK.sty b/language/chinese/CJK/cjk-4.8.5/texinput/CJK.sty
new file mode 100644
index 0000000000..b7e3fcaea5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CJK.sty
@@ -0,0 +1,1136 @@
+% This is the file CJK.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[2001/06/01]
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesPackage{CJK}[\filedate\space\fileversion]
+
+\RequirePackage{MULEenc}
+
+\newif\ifCJK@lowercase@
+\CJK@lowercase@false
+\DeclareOption{lowercase}{\CJK@lowercase@true}
+
+\DeclareOption{global}{\let\CJK@global \global
+ \let\CJK@active \global
+ \let\CJK@local \global}
+\DeclareOption{local}{\let\CJK@global \relax
+ \let\CJK@active \global
+ \let\CJK@local \global}
+\DeclareOption{active}{\let\CJK@global \relax
+ \let\CJK@active \relax
+ \let\CJK@local \global}
+\DeclareOption{encapsulated}{\let\CJK@global \relax
+ \let\CJK@active \relax
+ \let\CJK@local \relax}
+
+\ExecuteOptions{local}
+
+\ProcessOptions
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+
+% the use of the internal LaTeX macro `\@ifundefined' can be slightly
+% irritating. After it has been called, the tested macro is no
+% longer undefined but expands to \relax. Where possible, we use
+% the following macro which doesn't have this side effect.
+
+\def\CJK@ifundefined#1{
+ \ifx #1\@undefined
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+
+
+% our input macro. For compatibility with ArabTeX, the catcode of `<'
+% is preserved.
+
+\def\CJK@input#1{
+ \makeatletter
+ \edef\CJK@lesscatcode{\noexpand\catcode`< \the\catcode`<}
+ \catcode`\< 12\relax
+ \endlinechar \m@ne
+ \input #1\relax
+ \endlinechar `\^^M
+ \CJK@lesscatcode
+ \makeatother}
+
+
+% our symbol macro. It honours the \ifCJK@bold@ flag (to be set in the .fd
+% files) for producing poor-man's bold fonts; if it is raised we print
+% the character three times with a small horizontal shift.
+%
+% The user commands to set and unset \ifCJK@bold@ are \CJKbold and
+% \CJKnormal respectively.
+%
+% \CJKboldshift defines the shift used to imitate bold fonts.
+
+\newif\ifCJK@bold@
+\newcommand{\CJKbold}{\global\CJK@bold@true}
+\newcommand{\CJKnormal}{\global\CJK@bold@false}
+\newcommand{\CJKboldshift}{0.015em}
+
+\DeclareRobustCommand{\CJKsymbol}[1]{
+ \symbol{#1}
+ \ifCJK@bold@
+ \hbox to \CJKboldshift{\hss\symbol{#1}}
+ \hbox to \CJKboldshift{\hss\symbol{#1}}
+ \fi}
+\let\CJKpunctsymbol\CJKsymbol
+
+% the same for HLaTeX which uses the ligature mechanism
+
+\DeclareRobustCommand{\CJKsymbols}[2]{
+ \char #1\char #2\relax
+ \ifCJK@bold@
+ \hbox to \CJKboldshift{\hss\char #1\char #2}
+ \hbox to \CJKboldshift{\hss\char #1\char #2}
+ \fi}
+
+
+% the auxiliary macro \CJK@numbToHex converts number #2 into a two-digit
+% hex string and assigns it globally to #1.
+
+\def\CJK@numbToHex#1#2{
+ {\count\z@ #2\relax
+ \count\tw@ \count\z@
+ \divide\count\z@ \sixt@@n
+
+ \count@ \count\z@
+ \multiply\count@ \sixt@@n
+ \advance\count\tw@ -\count@
+
+ \xdef#1{
+ \hexnumber@{\count\z@}\hexnumber@{\count\tw@}}}}
+
+
+% the auxiliary macro \CJK@numbxToHex converts number #2 into a four-digit
+% hex string and assigns it globally to #1.
+
+\def\CJK@numbxToHex#1#2{
+ {\count\thr@@ #2\relax
+ \count\tw@ \count\thr@@
+ \divide\count\tw@ \sixt@@n
+ \count\@ne \count\tw@
+ \divide\count\@ne \sixt@@n
+ \count\z@ \count\@ne
+ \divide\count\z@ \sixt@@n
+
+ \count@ \count\tw@
+ \multiply\count@ \sixt@@n
+ \advance\count\thr@@ -\count@
+ \count@ \count\@ne
+ \multiply\count@ \sixt@@n
+ \advance\count\tw@ -\count@
+ \count@ \count\z@
+ \multiply\count@ \sixt@@n
+ \advance\count\@ne -\count@
+
+ \xdef#1{
+ \hexnumber@{\count\z@}
+ \hexnumber@{\count\@ne}
+ \hexnumber@{\count\tw@}
+ \hexnumber@{\count\thr@@}}}}
+
+
+% the encoding of the `UTF8' environment.
+
+\edef\CJK@UnicodeEnc{UTF8}
+
+
+% with \CJKchar you can access a character directly at a low level:
+% the parameters are the first and the second byte of the CJK character
+% code. The second parameter will be ignored if you address one-byte
+% encoded characters in SJIS.
+%
+% the optional parameter selects the encoding (using \CJKenc).
+%
+% for Unicode characters you must select UTF-8 encoding (but enter real
+% Unicode values).
+%
+% you can enter character codes with or without the 8th bit set (GL or
+% GR form) except for SJIS, Bg5 and UTF-8 encodings.
+
+\DeclareRobustCommand{\CJKchar}[3][]{
+ {\CJK@nobind@true
+
+ \edef\CJK@tempenc{#1}
+ \ifx\CJK@tempenc \@empty
+ \else
+ \let\CJK@oldenc \CJK@@@enc
+ \CJKenc{#1}
+ \fi
+
+ \edef\CJK@temp{UTF8}
+ \ifx\CJK@temp \CJK@@@enc
+ \Unicode{#2}{#3}
+ \else
+ \@tempcnta #2
+ \edef\CJK@tempa{#3}
+ \ifx\CJK@tempa \@empty% % test for one-byte SJIS characters
+ \else
+ \@tempcntb #3
+ \ifnum \CJK@min > 160\relax
+ \ifnum\@tempcnta < 128\relax
+ \advance\@tempcnta 128\relax
+ \advance\@tempcntb 128\relax
+ \fi
+ \fi
+ \edef\CJK@tempa{\the\@tempcntb}
+ \fi
+
+ \edef\CJK@temp{\the\@tempcnta}
+ \expandafter\csname CJK@\CJK@temp\expandafter\endcsname
+ \expandafter{\CJK@tempa}
+ \fi
+
+ \ifx\CJK@tempenc \@empty
+ \else
+ \ifx\CJK@global \global
+ \CJKenc{\CJK@oldenc}
+ \fi
+ \fi}
+
+ \CJK@ignorespaces}
+
+
+% with \Unicode you can access a Unicode character directly at a low level:
+% the parameters are the first and the second byte of the Unicode (real
+% Unicode values, not UTF-8).
+%
+% If the Unicode value is greater than U+FFFF, put the first two bytes
+% into #1, and the third byte into #2.
+
+\DeclareRobustCommand{\Unicode}[2]{
+ {\edef\CJK@temp{UTF8}
+ \ifx\CJK@temp \CJK@@@enc
+ \else
+ \PackageError{CJK}{
+ You can't use \protect\Unicode\space here}{
+ You must activate UTF-8 encoding to use \protect\Unicode.}
+ \fi
+ \ifnum #1 > 255\relax
+ \CJK@numbxToHex{\CJK@gtemp}{#1}
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{#1}
+ \fi
+ \def\CJK@tempa##1{
+ \lowercase{\edef\CJK@plane{##1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+
+ \edef\CJK@tempa{
+ \curr@fontshape/\CJK@plane/\number #2/\CJK@direction}
+ \expandafter\ifx\csname\CJK@tempa\endcsname \relax
+ \def\CJKtemp{\CJKsymbol{#2}}
+ \else
+ \def\CJKtemp{\csname\CJK@tempa\endcsname}
+ \fi
+
+ \ifCJK@latin@
+ \CJKtemp
+ \else
+ \expandafter\CJK@testInList\expandafter\CJK@uniPunct
+ \expandafter{\CJK@plane}
+ \ifCJK@% % punctuation character
+ \CJK@numbToHex{\CJK@gtemp}{#2}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \ifCJK@CJK@
+ \CJK@nobreakglue
+ \fi
+ \else
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \fi
+ \ifCJK@CJK@
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \CJKtemp
+
+ \CJK@testPrePunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \else% % not a punctuation character
+ \CJK@testLastCJK
+ \ifCJK@
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \ifCJK@CJK@
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+ \CJKtemp
+ \CJK@CJK
+ \fi
+ \fi}
+
+ \CJK@ignorespaces}
+
+
+% the following commands are needed for UTF-8 encoding to select the proper
+% intercharacter glue.
+
+\newif\ifCJK@CJK@
+\newif\ifCJK@hangul@
+\newif\ifCJK@latin@
+
+\newcommand{\CJKCJKchar}{
+ \CJK@global\CJK@CJK@true
+ \CJK@global\CJK@hangul@false
+ \CJK@global\CJK@latin@false}
+
+\newcommand{\CJKhangulchar}{
+ \CJK@global\CJK@CJK@false
+ \CJK@global\CJK@hangul@true
+ \CJK@global\CJK@latin@false}
+
+\newcommand{\CJKlatinchar}{
+ \CJK@global\CJK@CJK@false
+ \CJK@global\CJK@hangul@false
+ \CJK@global\CJK@latin@true}
+
+\CJKCJKchar
+
+
+% the next commands control mapping of half-width katakana to full-width
+% glyphs within SJIS encoding.
+
+\newif\ifCJK@hwkatakana@
+
+\newcommand{\CJKhwkatakana}{\CJK@global\CJK@hwkatakana@true}
+
+\newcommand{\CJKnohwkatakana}{\CJK@global\CJK@hwkatakana@false}
+
+\CJKhwkatakana
+
+
+% you will find the innermost routines of the macros defined above in the
+% xxx.chr files. These routines are
+%
+% \CJK@char, \CJK@charx,
+% \CJK@altchar, \CJK@altcharx,
+% \CJK@punctchar, \CJK@punctcharx,
+% \CJK@sjischar, \CJK@sjispunctchar .
+
+
+% we need to scan comma separated lists of character codes (represented as
+% hexadecimal strings), testing whether a particular character is in the
+% list. The macro \CJK@testInList sets the flag \ifCJK@ globally if true.
+% Parameter #1 is the list, #2 the actual character code to test.
+%
+% see the documentation of the \ifnot@excluded macro in the doc package of
+% the standard LaTeX2e distribution for a detailed explanation of the
+% following tricky definitions.
+
+\newif\ifCJK@
+
+\def\CJK@stop{\CJK@stop}
+
+\def\CJK@testInList#1#2{
+ \def\CJK@tempa##1,#2,##2\CJK@stop{
+ \def\CJK@tempb{##2}
+ \global\CJK@true
+ \ifx\CJK@tempb \@empty
+ \global\CJK@false
+ \fi}
+ \expandafter\CJK@tempa\expandafter,#1,#2,\CJK@stop}
+
+
+% lists defined in CJK.enc for plane yy with encoding xx are assigned to
+% global macros \CJK@xx@yy@prePunct and \CJK@xx@yy@postPunct.
+
+\def\CJK@prePunct#1#2#3{
+ \expandafter\gdef\csname CJK@#1@#2@prePunct\endcsname{#3}}
+
+\def\CJK@postPunct#1#2#3{
+ \expandafter\gdef\csname CJK@#1@#2@postPunct\endcsname{#3}}
+
+
+% the next two functions scan the lists of punctuation characters of a
+% particular plane which should not occur at the beginning or at the end
+% of a line. They will be used in the xxx.chr files. Parameters are the
+% encoding, the plane and the character to be tested. Again these macros
+% raise or lower \ifCJK@.
+
+\def\CJK@testPrePunct#1#2#3{
+ \expandafter\expandafter\expandafter
+ \CJK@testInList
+ \expandafter\csname CJK@#1@#2@prePunct\expandafter\endcsname
+ \expandafter{#3}}
+
+\def\CJK@testPostPunct#1#2#3{
+ \expandafter\expandafter\expandafter
+ \CJK@testInList
+ \expandafter\csname CJK@#1@#2@postPunct\expandafter\endcsname
+ \expandafter{#3}}
+
+
+% the macro \CJKenc changes the encoding inside of a CJK environment. It
+% always uses the fontencoding defined with \CJKfontenc (this
+% behaviour is intentionally different from the similar command pair
+% \CJKfamily and \CJKencfamily).
+
+\DeclareRobustCommand{\CJKenc}[1]{
+ \expandafter\ifx\csname CJK@#1@fontenc\endcsname \relax
+ \PackageError{CJK}{
+ Encoding `#1' is not defined}{}
+ \fi
+
+ \edef\CJK@temp{\csname CJK@#1@fontenc\endcsname}
+
+ \expandafter\ifx\csname CJK@#1\CJK@temp @enc\endcsname \relax
+ \PackageError{CJK}{
+ Encoding `#1\CJK@temp' is not defined}{}
+ \else
+ \CJK@global\edef\CJK@@@enc{#1}
+ \CJK@selectEnc
+ \fi}
+
+\edef\CJK@@@enc{}
+
+% to change a fontencoding yyy for a specific encoding xxx say
+% \CJKfontenc{xxx}{yyy}. If you then change the encoding forth and back,
+% this fontencoding is still valid. You will need this command only in
+% cases where the fonts are not CJK-fontencoded, such as pmC or dnp
+% fontencodings.
+%
+% if you define a new encoding `foo', you *must* supply the command
+% `\CJKfontenc{foo}{}' (note the empty second parameter) since the
+% encoding existence test relies on this.
+
+\DeclareRobustCommand{\CJKfontenc}[2]{
+ \expandafter\CJK@global\expandafter\edef
+ \csname CJK@#1@fontenc\endcsname{#2}
+ \CJK@selectEnc}
+
+% \CJKfamily{xxx} selects the shape xxx for all encodings. It will override
+% \CJKencfamily, i.e., if you change the encoding, the family will be
+% the same. To reactivate \CJKencfamily, say `\CJKfamily{}'.
+%
+% For backward compatibility the macros \CJKshape and \CJKencshape are set
+% to \CJKfamily and \CJKencfamily, respectively.
+
+\DeclareRobustCommand{\CJKfamily}[1]{
+ \CJK@global\edef\CJK@globalfamily{#1}
+ \CJK@selectFamily}
+
+\edef\CJK@globalfamily{}
+
+% to change a family for a specific encoding xxx (and a font encoding yyy),
+% use \CJKencfamily. If you then change the encoding forth and back,
+% this family is still valid. This macro is especially useful with
+% cjk-enc.el since it allows to change the encoding without the need to
+% select a (possibly different) family each time. See the various
+% encoding definitions in CJK.enc for the default values.
+%
+% note that it is equivalent to say \CJKencfamily[yyy]{xxx}{...} and
+% \CJKencfamily{xxxyyy}{...}.
+
+\DeclareRobustCommand{\CJKencfamily}[3][]{
+ \expandafter\CJK@global\expandafter\edef
+ \csname CJK@#2#1@family\endcsname{#3}
+ \CJK@selectFamily}
+
+
+\let\CJKshape \CJKfamily
+\let\CJKencshape \CJKencfamily
+
+
+% the next commands select the actual family and encoding.
+
+\def\CJK@selFam{
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+
+ \ifx\CJK@globalfamily \@empty
+ \CJK@global\edef\CJK@family{
+ \csname CJK@\CJK@@@enc\CJK@temp @family\endcsname}
+ \else
+ \CJK@global\edef\CJK@family{\CJK@globalfamily}
+ \fi}
+
+
+% \CJK@@@enc is the encoding selected by the user, \CJK@enc will be really
+% used. With the internal hook \CJK@@@xxx@hook we can modify \CJK@enc
+% for the encoding xxx if necessary. With the hook \CJK@xxx@hook other
+% packages can add stuff which should be executed immediately after the
+% encoding has changed.
+
+\def\CJK@selEnc{
+ \edef\CJK@temp{\csname CJK@\CJK@@@enc @fontenc\endcsname}
+
+ \CJK@global\edef\CJK@enc{
+ \csname CJK@\CJK@@@enc\CJK@temp @nfssenc\endcsname}
+ \csname CJK@@@\CJK@@@enc\CJK@temp @hook\endcsname
+
+ \csname CJK@\CJK@@@enc\CJK@temp @enc\endcsname
+ \CJK@selectFamily
+ \csname CJK@\CJK@@@enc @hook\endcsname}
+
+% and here the user-visible macro to add something to the encoding hook.
+% First parameter is the encoding, second parameter the data to be
+% appended.
+
+\def\CJKaddEncHook#1#2{
+ \expandafter\let\expandafter\CJK@temp \csname CJK@#1@hook\endcsname
+ \expandafter\def\expandafter\CJK@temp\expandafter{
+ \CJK@temp #2}
+ \expandafter\let\csname CJK@#1@hook\endcsname \CJK@temp}
+
+
+% we disable \CJK@selectFamily and \CJK@selectEnc until a CJK environment
+% starts to avoid side effects while defining default values for
+% encodings (outside of a CJK environment).
+
+\let\CJK@selectFamily \relax
+\let\CJK@selectEnc \relax
+
+
+% CJK.enc contains the \CJK@...@enc macros and the punctuation lists.
+
+\input CJK.enc
+
+
+% the macros \CJK@testLastKern and \CJK@testLastCJK check the last kern and
+% raise or lower \ifCJK@.
+
+\edef\CJK@kern{\kern -2sp\kern 2sp}
+\edef\CJK@CJK{\kern -1sp\kern 1sp}
+
+\let\CJKkern \CJK@kern
+
+% does previous CJK character request nonbreakable glue?
+
+\def\CJK@testLastKern{
+ \global\CJK@false
+ \ifnum\lastkern = \tw@
+ \global\CJK@true
+ \fi
+ \ifnum\lastkern = 5% % request from ruby.sty
+ \global\CJK@true
+ \fi}
+
+% is previous character a CJK character?
+
+\def\CJK@testLastCJK{
+ \global\CJK@false
+ \ifnum\lastkern = \@ne
+ \global\CJK@true
+ \fi}
+
+
+% we only check for lower and upper bounds, not for possible gaps in the
+% range of the second byte, as it happens for Big5 and SJIS encoding.
+
+\def\CJK@err{
+ \PackageError{CJK}{
+ Invalid character code}{
+ The second byte of the CJK code is out of range.\MessageBreak
+ Do you use the right encoding scheme?}}
+
+\def\CJK@errx{
+ \PackageError{CJK}{
+ Invalid character code}{
+ The third byte of the CJK code is out of range.\MessageBreak
+ Do you use the right encoding scheme?}}
+
+\def\CJK@errxx{
+ \PackageError{CJK}{
+ Invalid character code}{
+ The CJK code is out of range for this font encoding.\MessageBreak
+ Do you use the right encoding scheme?}}
+
+
+% we now define a set of new size functions:
+% `CJK', `sCJK', `CJKfixed', and `sCJKfixed' are similar to `' (empty),
+% `s', `fixed', and `sfixed' except that the value of \CJK@plane is
+% appended to \font@name.
+%
+% `CJKsub', `CJKssub' are similar to `sub' and `ssub' except that the font
+% substitution warning appears only once per CJK fontset.
+%
+% `CJKb', `sCJKb', `CJKfixedb', and `sCJKfixedb' are absolutely identical
+% to the functions without the final `b'; they just exist to overcome
+% a special feature of LaTeX:
+%
+% consider this example:
+%
+% \DeclareFontShape{C00}{kai}{m}{n}{<-> CJK * ntukai}{}
+% \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJK * ntukai}{\CJKbold}
+%
+% the internal name of the macro which executes the last parameter
+% (\CJKbold) is identical to the fifth parameter (without spaces), in
+% this case `<->CJK*ntukai' -- the same name for both font shapes! This
+% means that the latter font shape definition overwrites the former.
+% Thus we have to write
+%
+% \DeclareFontShape{C00}{kai}{bx}{n}{<-> CJKb * ntukai}{\CJKbold}
+%
+% to get a different internal macro name.
+
+\def\CJK@curr@fontshape{CJK@\f@encoding/\f@family/\f@series/\f@shape}
+
+\DeclareSizeFunction{CJK}{\CJK@empty\@font@warning}
+\DeclareSizeFunction{CJKb}{\CJK@empty\@font@warning}
+\DeclareSizeFunction{sCJK}{\CJK@empty\@font@info}
+\DeclareSizeFunction{sCJKb}{\CJK@empty\@font@info}
+
+\def\CJK@empty#1{
+ \@tempdimb \f@size\p@
+ \ifx\optional@arg \@empty
+ \else
+ \expandafter\ifx
+ \csname CJK@\mandatory@arg/\f@size/\the\@tempdimb\endcsname \relax
+ \@tempdimb \optional@arg\@tempdimb
+ #1{Font\space shape\space `\curr@fontshape'\space
+ will\space be\MessageBreak
+ scaled\space to\space size\space \the\@tempdimb}
+ \expandafter
+ \gdef\csname CJK@\mandatory@arg/\f@size/\the\@tempdimb\endcsname{}
+ \fi
+ \fi
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\space at \the\@tempdimb}
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+\DeclareSizeFunction{CJKfixed}{\CJK@fixed\@font@warning}
+\DeclareSizeFunction{CJKfixedb}{\CJK@fixed\@font@warning}
+\DeclareSizeFunction{sCJKfixed}{\CJK@fixed\@font@info}
+\DeclareSizeFunction{sCJKfixedb}{\CJK@fixed\@font@info}
+
+\def\CJK@fixed#1{
+ \ifx\optional@arg \@empty
+ \edef\external@font{
+ \mandatory@arg\CJK@plane}
+ \else
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\space at \optional@arg pt}
+ \fi
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ #1{External\space font\space `\external@font'\space loaded\space
+ for\space size\MessageBreak
+ <\f@size>}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+\DeclareSizeFunction{CJKsub}{\CJK@sub\@font@warning}
+\DeclareSizeFunction{CJKssub}{\CJK@sub\@font@info}
+
+\def\CJK@sub#1{
+ \edef\mandatory@arg{\f@encoding/\mandatory@arg}
+ \begingroup
+ \expandafter\split@name\mandatory@arg/\@nil
+ \try@load@fontshape
+ \endgroup
+ \let\f@user@size\f@size
+ \expandafter\ifx\csname\mandatory@arg\endcsname \relax
+ \errmessage{No\space declaration\space for\space shape\space
+ \mandatory@arg}
+ \error@fontshape
+ \else
+ \expandafter\ifx\csname CJK@\mandatory@arg/\f@size\endcsname \relax
+ #1{Font\space shape\space `\curr@fontshape'\MessageBreak
+ in\space size\space <\f@size>\space not\space available.\MessageBreak
+ Font\space shape\space `\mandatory@arg'\MessageBreak
+ tried\space instead}
+ \expandafter\gdef\csname CJK@\mandatory@arg/\f@size\endcsname{}
+ \fi
+ \expandafter\split@name\mandatory@arg/\@nil
+ \fi
+ \edef\f@size{\f@user@size}
+ \get@external@font
+ \do@subst@correction
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+% the following size functions are needed for the DNP fonts in JIS encoding.
+% `DNPgen' is similar to `gen' but ignores the optional argument.
+% `DNP' is similar to `gen' but the optional argument is used to
+% indicate the designsize.
+%
+% see the comment above for an explanation of DNPb and DNPgenb.
+
+\DeclareSizeFunction{DNPgen}{\CJK@DNPgen}
+\DeclareSizeFunction{DNPgenb}{\CJK@DNPgen}
+
+\def\CJK@DNPgen{
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\f@size}
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+\DeclareSizeFunction{DNP}{\CJK@DNP}
+\DeclareSizeFunction{DNPb}{\CJK@DNP}
+
+\def\CJK@DNP{
+ \@tempdimb \f@size\p@
+ \edef\external@font{
+ \mandatory@arg\CJK@plane\optional@arg\space at \the\@tempdimb}
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \expandafter\global\expandafter\let
+ \csname \CJK@curr@fontshape\expandafter\endcsname
+ \csname \curr@fontshape\endcsname}
+
+
+% we also must redefine \pickup@font to append \CJK@plane to the font name
+% if the particular subfont is already known.
+
+\def\pickup@font{
+ \CJK@ifundefined\CJK@plane
+ {\expandafter\ifx\font@name \relax% % old definition
+ \define@newfont
+ \fi}
+ {\expandafter% % CJK extension
+ \ifx\csname \curr@fontshape/\f@size/\CJK@plane\endcsname \relax
+ \define@newfont
+ \else
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \fi}}
+
+% for older versions of LaTeX2e command we must redefine \selectfont.
+% It will now reset \ifCJK@bold@ and calls \CJK@curr@fontshape
+% additionally (if it exists) to execute the loading-setting
+% parameter of \DeclareFontShape each time we switch to this font.
+% \CJK@curr@fontshape has been defined by the above size functions.
+% For newer versions of LaTeX2e it is sufficient to set a hook for
+% \selectfont.
+%
+% for compatibility with older versions of LaTeX2e we provide a
+% definition of \IfFormatAtLeastTF.
+
+\def\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+
+\IfFormatAtLeastTF{2020-10-01}
+ {\AddToHook{selectfont}{
+ \expandafter
+ \ifx\csname CJK@\curr@fontshape\endcsname \relax
+ \else
+ \CJK@bold@false
+ \csname CJK@\curr@fontshape\endcsname
+ \fi}}
+ {\DeclareRobustCommand{\selectfont}{
+ \ifx\f@linespread \baselinestretch
+ \else
+ \set@fontsize\baselinestretch\f@size\f@baselineskip
+ \fi
+ \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}
+ \pickup@font
+ \font@name
+ \expandafter% % CJK extension
+ \ifx\csname CJK@\curr@fontshape\endcsname \relax
+ \else
+ \CJK@bold@false
+ \csname CJK@\curr@fontshape\endcsname
+ \fi
+ \size@update
+ \enc@update}}
+
+
+% additional vertical and horizontal information for a font is stored in
+% files with the extension `.fdx'. We extend LaTeX's
+% \try@load@fontshape@ macro to load them.
+%
+% the macros \CJKhdef, \CJKvdef, \CJKhlet and \CJKvlet should be used to
+% handle commands in `.fdx' files.
+
+\def\CJK@load@fdx{
+ \expandafter\ifx\csname \f@encoding+\f@family+x\endcsname \relax
+ \global\expandafter\let\csname \f@encoding+\f@family+x\endcsname \@empty
+ \def\CJKhdef##1##2{
+ \expandafter\gdef\csname \CJK@enc/\CJK@family/##1/h\endcsname{##2}}
+ \def\CJKhlet##1##2{
+ \edef\reserved@a{\CJK@enc/\CJK@family/##1/h}
+ \edef\reserved@b{\CJK@enc/\CJK@family/##2/h}
+ \global\expandafter\let
+ \csname\reserved@a\expandafter\endcsname \csname\reserved@b\endcsname}
+ \def\CJKvdef##1##2{
+ \expandafter\gdef\csname \CJK@enc/\CJK@family/##1/v\endcsname{##2}}
+ \def\CJKvlet##1##2{
+ \edef\reserved@a{\CJK@enc/\CJK@family/##1/v}
+ \edef\reserved@b{\CJK@enc/\CJK@family/##2/v}
+ \global\expandafter\let
+ \csname\reserved@a\expandafter\endcsname \csname\reserved@b\endcsname}
+ \edef\reserved@a{
+ \lowercase{\noexpand\InputIfFileExists{\f@encoding\f@family.fdx}}}
+ \reserved@a{}{}
+ \fi}
+
+\expandafter\def\expandafter\try@load@fontshape\expandafter{
+ \try@load@fontshape
+ \CJK@load@fdx}
+
+
+% \CJKglue defines the stretchability of CJK characters.
+
+\newcommand{\CJKglue}{\hskip \z@ \@plus .08\baselineskip}
+
+\def\CJK@nobreakglue{
+ \nobreak
+ \CJKglue
+ \nobreak}
+
+% if the `verbatim' package is loaded it is possible to improve the output
+% automatically, namely, to avoid breaking of overfull lines in a
+% verbatim environment. The following command will install a hook to
+% suppress insertion of glue between CJK glyphs. MULEenc.sty will extend
+% it for Thai glyphs.
+
+\def\CJK@verbatim{
+ \addto@hook{\every@verbatim}{
+ \renewcommand{\CJKglue}{}}}
+\CJK@ifundefined\mule@verbatim
+ {\mule@verbatim{}}
+ {}
+
+\def\CJKverbatim{
+ \mule@verbatim
+ \CJK@verbatim}
+
+
+% increasing \CJKtolerance will allow more space between Hangul words.
+
+\newcommand{\CJKtolerance}{400}
+
+
+% \CJKtilde changes the definition of the active `~' character to embed
+% non-CJK words into CJK text. The horizontal space defined here has
+% a smaller width than an ordinary space character and is breakable.
+% It will suppress spaces afterwards.
+% The original definition will be preserved within \nbs, which is
+% a shorthand for the LaTeX command \nobreakspace.
+%
+% \standardtilde is the opposite command.
+
+\let\nbs \nobreakspace
+
+\DeclareRobustCommand{\CJKtilde}{
+ \CJK@global\def~{\hspace{0.25em plus 0.125em minus 0.08em}\ignorespaces}}
+\DeclareRobustCommand{\standardtilde}{
+ \CJK@global\def~{\nobreakspace{}}}
+
+
+% \CJKspace and \CJKnospace enables the user to switch between a CJK and a
+% CJK* environment without leaving the actual environment:
+%
+% \CJKnospace switches from CJK to CJK*
+% \CJKspace switches from CJK* to CJK
+%
+% the definitions are in MULEenc.sty also.
+
+\DeclareRobustCommand{\CJKspace}{
+ \CJK@global\let\CJK@ignorespaces \@empty}
+\DeclareRobustCommand{\CJKnospace}{
+ \CJK@global\let\CJK@ignorespaces \ignorespaces}
+
+
+% \CJKindent sets \parindent to two ideographic spaces. \CJK@spaceChar
+% is defined in CJK.enc for all encodings.
+
+\newbox\CJK@indent
+
+\providecommand{\CJKindent}{
+ \setbox\CJK@indent\hbox{\CJK@spaceChar\CJK@spaceChar}
+ \parindent\wd\CJK@indent
+}
+
+
+% make all characters possibly used active so they can become macros.
+
+\def\CJK@makeActive{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@active\catcode\@tempcnta \active
+ \ifnum\@tempcnta < "0FE\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+\def\CJK@makeInactive{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@active\catcode\@tempcnta 12\relax
+ \ifnum\@tempcnta < "0FE\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+
+% the following macro is a signature for `CJKspace.sty'.
+
+\def\CJK@@@{}
+
+
+% we assign to each active character ^^xx the macro \CJK@XX (if expansion
+% occurs); this will be done in the .bdg files. Then the various .enc
+% files define \CJK@.. (using \CJK@namegdef) with encoding-specific
+% macros.
+
+\def\CJK@namedef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \string #1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@namepdef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@X
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@nameppdef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XX
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@namepppdef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XXX
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+\def\CJK@nameppppdef#1{
+ \CJK@active\def#1{
+ \CJK@@@
+ \ifx\protect \@typeset@protect
+ \expandafter\expandafter\expandafter\CJK@XXXX
+ \expandafter\string\expandafter#1
+ \else
+ \noexpand #1
+ \fi}}
+
+
+\def\CJK@X#1{
+ \csname CJK@\number `#1\endcsname\CJK@ignorespaces}
+
+% two possibilities:
+% either \CJK@XX <arg1> <arg2>
+% or \CJK@XX <arg1> \protect <arg2>
+\def\CJK@XX#1#2{
+ \ifx #2\protect
+ \expandafter\CJK@XXp\expandafter#1
+ \else
+ \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces
+ \fi}
+\def\CJK@XXp#1#2{
+ \csname CJK@\number `#1\endcsname{`#2}\CJK@ignorespaces}
+
+% two possibilities:
+% either \CJK@XXX <arg1> <arg2> <arg3>
+% or \CJK@XXX <arg1> \protect <arg2> \protect <arg3>
+\def\CJK@XXX#1#2#3{
+ \ifx #2\protect
+ \expandafter\CJK@XXXp\expandafter#1#3
+ \else
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}\CJK@ignorespaces
+ \fi}
+\def\CJK@XXXp#1#2#3#4{
+ \csname CJK@\number `#1\endcsname{`#2}{`#4}\CJK@ignorespaces}
+
+% two possibilities:
+% either \CJK@XXXX <arg1> <arg2> <arg3> <arg4>
+% or \CJK@XXXX <arg1> \protect <arg2> \protect <arg3> \protect <arg4>
+\def\CJK@XXXX#1#2#3#4{
+ \ifx #2\protect
+ \expandafter\CJK@XXXXp\expandafter#1#3
+ \else
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}{`#4}\CJK@ignorespaces
+ \fi}
+\def\CJK@XXXXp#1#2#3#4#5{
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}{`#5}\CJK@ignorespaces}
+
+
+% these auxiliary macros reset \lccode's and \uccode's of characters
+% 0x80-0xFF. This overrides the values set by LaTeX2e.
+
+\def\CJK@upperReset{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@local\uccode\@tempcnta \z@
+ \ifnum\@tempcnta < "0FF\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+\def\CJK@lowerReset{
+ \@tempcnta "080\relax
+ \loop
+ \CJK@local\lccode\@tempcnta \z@
+ \ifnum\@tempcnta < "0FF\relax
+ \advance\@tempcnta \@ne
+ \repeat}
+
+
+% finally come the CJK environments:
+%
+% CJK* will swallow spaces after a CJK character, whereas CJK will not.
+%
+% the first parameter selects the CJK encoding, the second the CJK font
+% family; the optional argument selects the fontencoding.
+%
+% each time a CJK or CJK* environment will be opened the hook \CJKhook will
+% be called (this feature is used by cjk-enc.el).
+%
+% always end the line after saying \begin{CJK} or \begin{CJK*};
+% any characters on the same line will have already been read with
+% their non-CJK meanings.
+
+\def\CJK@envStart#1#2#3{
+ \CJK@upperReset
+ \ifCJK@lowercase@
+ \CJK@lowerReset
+ \fi
+
+ \CJK@makeActive
+
+ % we enable \CJK@selectFamily and \CJK@selectEnc.
+
+ \CJK@global\let\CJK@selectFamily \CJK@selFam
+ \CJK@global\let\CJK@selectEnc \CJK@selEnc
+
+ \def\CJK@@@enc{#2}
+ \ifx\CJK@@@enc \@empty
+ \PackageInfo{CJK}{
+ no encoding parameter given,\MessageBreak
+ waiting for \protect\CJKenc\space commands}
+ \else
+ \CJKenc{#2}
+ \fi
+ \CJKfontenc{#2}{#1}
+ \CJKfamily{#3}
+ \def\CJK@series{\f@series}
+ \def\CJK@shape{\f@shape}
+
+ \csname CJKhook\endcsname}
+
+\def\CJK@envEnd{
+ \ifx\CJK@global \global
+ \CJK@makeInactive
+ \CJK@global\let\CJK@selectFamily \relax
+ \CJK@global\let\CJK@selectEnc \relax
+ \fi}
+
+\newenvironment{CJK}[3][]{
+ \CJKspace
+ \CJK@envStart{#1}{#2}{#3}
+ }{
+ \CJK@envEnd}
+
+\newenvironment{CJK*}[3][]{
+ \CJKnospace
+ \CJK@envStart{#1}{#2}{#3}
+ }{
+ \CJK@envEnd}
+
+
+% \CJKcaption{caption} will test whether we are in a CJK environment; if yes,
+% it tries to load `<caption>.cpx' (this is <caption>.cap in preprocessed
+% mode).
+
+\newcommand{\CJKcaption}[1]{
+ \ifx\CJK@actualBinding \@empty
+ \PackageError{CJK}{
+ You must be inside of a CJK environment to use \protect\CJKcaption}{}
+ \else
+ \makeatletter
+ \InputIfFileExists{#1.cpx}{}{
+ \PackageError{CJK}{
+ Can't find #1.cpx}{
+ The default captions are used if you continue.}}
+ \makeatother
+ \fi}
+
+
+% the writing direction.
+
+\def\CJK@direction{h}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+
+% in case some customization is necessary it should be done in the
+% configuration file `CJK.cfg' and *not* here.
+
+\InputIfFileExists{CJK.cfg}
+ {\typeout{^^J
+ *****************************************^^J
+ * Local configuration file CJK.cfg used *^^J
+ *****************************************^^J}}
+ {}
+
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CJKfntef.sty b/language/chinese/CJK/cjk-4.8.5/texinput/CJKfntef.sty
new file mode 100644
index 0000000000..045380abdf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CJKfntef.sty
@@ -0,0 +1,509 @@
+% This is the file CJKfntef.sty of the CJK package
+% extending CJKulem.sty with more font effects
+%
+% created by Wenchang Sun <sunwch@hotmail.com>
+% Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+%
+% Macros:
+% \CJKunderdot{...}
+% \CJKunderline[*]{...}
+% \CJKunderdblline[*]{...}
+% \CJKunderwave[*]{...}
+% \CJKsout[*]{...}
+% \CJKxout[*]{...}
+% \varCJKunderline
+% \CJKunderanyline
+% \CJKunderanysymbol
+%
+% The following nesting combinations are allowed:
+%
+% \CJKunderdot{...\CJKunderline[*]{...}...}
+% \CJKunderdot{...\CJKunderdblline[*]{...}...}
+% \CJKunderdot{...\CJKunderwave[*]{...}...}
+% \CJKunderdot{...\CJKsout[*]{...}...}
+% \CJKunderdot{...\CJKxout[*]{...}...}
+%
+% \CJKunderline[*]{...\CJKunderdot{...}...}
+% \CJKunderdblline[*]{...\CJKunderdot{...}...}
+% \CJKunderwave[*]{...\CJKunderdot{...}...}
+% \CJKsout[*]{...\CJKunderdot{...}...}
+% \CJKxout[*]{...\CJKunderdot{...}...}
+%
+% Environment:
+% CJKfilltwosides
+%
+%
+% Here an example which shows how to use \CJKunderanysymbol.
+%
+% \def\varCJKunderdot{%
+% \CJKunderanysymbol{0.5em}{$\cdot$}%
+% }
+%
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[1998/06/01]
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesPackage{CJKfntef}[\filedate\space\fileversion]
+
+\RequirePackage{CJK}
+\RequirePackage{CJKulem}
+
+
+\endlinechar \m@ne
+
+
+\ifx\CJKpunctsymbol\undefined
+ \PackageWarning{CJKfntef}{
+ You need to download the last version of the CJK package\MessageBreak
+ to keep CJK punctuation from being underdotted}
+ \let\CJKpunctsymbol\CJKsymbol
+\fi
+
+
+\newskip\CJK@fntefSkip
+\newcount\CJK@nest
+\newdimen\CJK@fntefDimen
+\newbox\CJK@underdotBox
+\newbox\CJK@ULbox
+
+\newif\ifCJK@UL@
+\CJK@UL@false
+\newif\ifCJK@sxout@
+\CJK@sxout@false
+
+
+\newcommand{\CJKunderdotbasesep}{0.05em}
+\newcommand{\CJKunderdotsep}{0.04em}
+\newcommand{\CJKunderlinebasesep}{0.20em}
+\newcommand{\CJKunderlinesep}{0.07em}
+\newcommand{\CJKunderdbllinebasesep}{0.20em}
+\newcommand{\CJKunderdbllinesep}{0.17em}
+\newcommand{\CJKunderwavebasesep}{0.20em}
+\newcommand{\CJKunderwavesep}{0.00em}
+\newcommand{\CJKsoutheight}{0.35em}
+
+\let\CJKf@global\global
+
+\ifx\color\undefined
+ \def\CJKunderdotcolor{}
+ \def\CJKunderwavecolor{}
+ \def\CJKunderlinecolor{}
+ \def\CJKunderdbllinecolor{}
+ \def\CJKsoutcolor{}
+ \def\CJKxoutcolor{}
+\else
+ \def\CJKunderdotcolor{\color{red}}
+ \def\CJKunderwavecolor{\color{blue}}
+ \def\CJKunderlinecolor{\color{blue}}
+ \def\CJKunderdbllinecolor{\color{blue}}
+ \def\CJKsoutcolor{\color{red}}
+ \def\CJKxoutcolor{\color{blue}}
+\fi
+
+
+%
+% \CJKunderdot:
+% Add a dot under every CJK non-punctuation character. The dot position
+% can be controlled by redefining \CJKunderdotsep (for nesting) and
+% \CJKunderdotbasesep.
+%
+% The dot color can be changed by redefining \CJKunderdotcolor.
+%
+\def\CJK@underdotSkip{\z@}
+
+\def\CJK@preUnderdot{
+ \ifnum\CJK@nest = \z@
+ \CJKf@global\advance\CJK@fntefSkip \CJKunderdotbasesep
+ \fi
+ \CJKf@global\advance\CJK@nest \@ne
+
+ \xdef\CJK@underdotSkip{\the\CJK@fntefSkip}
+ \CJKf@global\advance\CJK@fntefSkip \CJKunderdotsep
+
+ \CJKf@global\setbox\CJK@underdotBox\hbox{{
+ \CJKunderdotcolor
+ {$\cdot$}}}
+ \CJKf@global\advance\CJK@fntefSkip \ht\CJK@underdotBox
+ \CJKf@global\advance\CJK@fntefSkip \dp\CJK@underdotBox}
+
+\def\CJK@postUnderdot{
+ \CJKf@global\advance\CJK@fntefSkip -\CJKunderdotsep
+ \CJKf@global\advance\CJK@fntefSkip -\ht\CJK@underdotBox
+ \CJKf@global\advance\CJK@fntefSkip -\dp\CJK@underdotBox
+ \CJKf@global\def\CJK@underdotSkip{\z@}
+
+ \CJKf@global\advance\CJK@nest \m@ne
+ \ifnum\CJK@nest = \z@
+ \CJKf@global\advance\CJK@fntefSkip -\CJKunderdotbasesep
+ \fi}
+
+
+\ifcsname XeTeXinterchartokenstate\endcsname
+ \def\XeTeX@CJKfntef@hook{
+ \XeTeXinterchartokenstate=0}
+\else
+ \let\XeTeX@CJKfntef@hook\relax
+\fi
+
+\newcommand{\CJKunderdot}[1]{
+ \CJK@preUnderdot
+
+ \CJKf@global\let\CJK@underdotSymbol \CJKsymbol
+ \CJKf@global\def\CJKsymbol##1{
+ \CJK@underdotSymbol{##1}
+
+ \settowidth\CJK@fntefDimen{{
+ \XeTeX@CJKfntef@hook
+ \CJK@underdotSymbol{##1}}}
+ \leavevmode
+ \rlap{
+ \vbox to \z@ {
+ \vskip\CJK@underdotSkip
+ \hbox to \z@ {
+ \hskip -\CJK@fntefDimen
+ \hss
+ \copy\CJK@underdotBox
+ \hss}
+ \vss}}}
+ #1
+ \CJKf@global\let\CJKsymbol \CJK@underdotSymbol
+
+ \CJK@postUnderdot
+ \ignorespaces}
+
+
+%
+% Auxiliary macros needed by \CJKunderline and friends.
+%
+\def\UL@CJKpunctnobreakglue{
+ \ifx\ \LA@space
+ \LA@CJKglue
+ \else
+ \egroup
+ \UL@stop
+ \UL@start
+ \bgroup
+ \fi}
+
+\def\CJK@fntefSave{
+ \CJKf@global\let\UL@UL@CJKnobreakglue \UL@CJKnobreakglue
+ \CJKf@global\let\UL@CJKsymbol \CJKsymbol
+ \CJKf@global\let\UL@CJKpunctsymbol \CJKpunctsymbol}
+
+\def\CJK@fntefRestore{
+ \CJKf@global\let\UL@CJKnobreakglue \UL@UL@CJKnobreakglue
+ \CJKf@global\let\CJKsymbol \UL@CJKsymbol
+ \CJKf@global\let\CJKpunctsymbol \UL@CJKpunctsymbol}
+
+\def\CJK@preUL{
+ \ifCJK@UL@
+ \PackageError{CJKfntef}
+ {Nesting error}
+ {Nesting \string\CJKunderwave[*], \string\CJKunderline[*],
+ \string\CJKsout[*], \string\CJKxout[*],\MessageBreak
+ or \string\CJKunderdblline[*] is not supported.}
+ \else
+ \CJKf@global\CJK@UL@true
+ \fi
+ \ifCJK@sxout@
+ \CJKf@global\def\CJK@ULskip{\z@}
+ \else
+ \ifnum\CJK@nest = \z@
+ \CJKf@global\advance\CJK@fntefSkip \CJK@ULbasesep
+ \fi
+ \CJKf@global\advance\CJK@nest \@ne
+
+ \CJKf@global\advance\CJK@fntefSkip \ht\CJK@ULbox
+ \CJKf@global\advance\CJK@fntefSkip \dp\CJK@ULbox
+
+ \xdef\CJK@ULskip{\the\CJK@fntefSkip}
+ \CJKf@global\advance\CJK@fntefSkip \CJK@ULsep
+ \fi}
+
+\def\CJK@postUL{
+ \CJKf@global\CJK@UL@false
+
+ \ifCJK@sxout@
+ \CJKf@global\CJK@sxout@false
+ \else
+ \CJKf@global\advance\CJK@fntefSkip -\CJK@ULsep
+ \CJKf@global\advance\CJK@fntefSkip -\ht\CJK@ULbox
+ \CJKf@global\advance\CJK@fntefSkip -\dp\CJK@ULbox
+
+ \CJKf@global\advance\CJK@nest \m@ne
+ \ifnum\CJK@nest = \z@
+ \CJKf@global\advance\CJK@fntefSkip -\CJK@ULbasesep
+ \fi
+ \fi}
+
+\def\CJK@UL{
+ \CJK@preUL
+ \CJK@fntefSave
+
+ \CJKf@global\let\UL@CJKnobreakglue \UL@CJKpunctnobreakglue
+ \CJKf@global\def\CJKsymbol{
+ \CJKf@global\def\UL@leadtype{\leaders\copy\ULC@box}
+ \UL@CJKsymbol}
+ \CJKf@global\def\CJKpunctsymbol{
+ \CJKf@global\def\UL@leadtype{}
+ \UL@CJKpunctsymbol}
+
+ \bgroup
+ \markoverwith{
+ \lower\CJK@ULskip\copy\CJK@ULbox}
+ \aftergroup\CJK@fntefRestore
+ \aftergroup\CJK@postUL
+ \ULon}
+
+\def\CJK@@UL{
+ \CJK@preUL
+ \bgroup
+ \markoverwith{
+ \lower\CJK@ULskip\copy\CJK@ULbox}
+ \aftergroup\CJK@postUL
+ \ULon}
+
+
+%
+% \CJKunderwave*:
+% The same as \uwave except that the wavy line is colored (you can change
+% the color by redefining \CJKunderwavecolor), and the position can be
+% controlled by redefining \CJKunderwavesep (for nesting) and
+% \CJKunderwavebasesep.
+%
+% \CJKunderwave:
+% The same as \CJKunderwave* but ignoring CJK punctuation characters.
+%
+\newcommand{\CJKunderwave}{
+ \CJKf@global\let\CJK@ULsep \CJKunderwavesep
+ \CJKf@global\let\CJK@ULbasesep \CJKunderwavebasesep
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \CJKunderwavecolor
+ \sixly
+ \char 58}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKunderline*:
+% The same as \uline except that the line is colored (you can change the
+% color by redefining \CJKunderlinecolor), and the position can be
+% controlled by redefining \CJKunderlinesep (for nesting) and
+% \CJKunderlinebasesep.
+%
+% \CJKunderline:
+% The same as \CJKunderline* but ignoring CJK punctuation characters.
+%
+\newcommand{\CJKunderline}{
+ \CJKf@global\let\CJK@ULsep \CJKunderlinesep
+ \CJKf@global\let\CJK@ULbasesep \CJKunderlinebasesep
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \CJKunderlinecolor
+ \vtop{\hrule \@height \ULthickness \@width .2em}}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKunderdblline[*]:
+% The same as \CJKunderline[*] except that two lines are used for
+% underlining.
+%
+\newcommand{\CJKunderdblline}{
+ \CJKf@global\let\CJK@ULsep \CJKunderdbllinesep
+ \CJKf@global\let\CJK@ULbasesep \CJKunderdbllinebasesep
+
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \CJKunderdbllinecolor
+ \vtop{
+ \kern -.07em
+ \hrule \@height\ULthickness \@width .2em
+ \kern 1.1\p@
+ \hrule}}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKsout*:
+% The same as \sout except that the line is colored (you can change the
+% color by redefining \CJKsoutcolor), and the position can be controlled
+% by redefining \CJKsoutheight.
+%
+% \CJKsout:
+% The same as \CJKsout* but ignoring CJK punctuation characters.
+%
+\def\CJKsout{
+ \CJKf@global\CJK@sxout@true
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \CJKsoutcolor
+ \vtop{
+ \kern -\CJKsoutheight
+ \hrule \@height\ULthickness \@width .2em}}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% \CJKxout*:
+% The same as \xout except using colored `/' (you can change the color
+% by redefining \CJKxoutcolor).
+%
+% \CJKxout:
+% The same as \CJKxout* but ignoring CJK punctuation characters.
+%
+\def\CJKxout{
+ \CJKf@global\CJK@sxout@true
+ \CJKf@global\setbox\CJK@ULbox\hbox{{
+ \kern -0.1em
+ {\CJKxoutcolor $/$}
+ \kern -0.1em}}
+
+ \@ifstar\CJK@@UL\CJK@UL}
+
+
+%
+% CJKfilltwosides environment:
+% Align CJK characters to fill two sides.
+%
+% Usage:
+% \begin{CJKfilltwosides}{width}
+% first line \\
+% second line \\
+% ... \\
+% last line
+% \end{CJKfilltwosides}
+%
+\newif\ifCJK@fillbegin@
+\CJKf@global\CJK@fillbegin@false
+\newif\ifCJK@filltwosides@
+\CJKf@global\CJK@filltwosides@false
+
+\newenvironment{CJKfilltwosides}[1]{
+ \leavevmode
+ \vbox\bgroup
+ \CJKf@global\CJK@filltwosides@true
+ \CJKf@global\let\CJK@filltwosidesSymbol \CJKsymbol
+
+ \def\CJK@ftscr{
+ \egroup
+ \CJKf@global\CJK@fillbegin@false
+ \hbox to #1\bgroup
+ \ignorespaces}
+
+ \let\\ \CJK@ftscr
+
+ \def\CJKsymbol##1{
+ \ifCJK@fillbegin@
+ \hfill
+ \CJK@filltwosidesSymbol{##1}
+ \else
+ \CJK@filltwosidesSymbol{##1}
+ \CJKf@global\CJK@fillbegin@true
+ \fi}
+
+ \hbox to #1\bgroup
+ \ignorespaces
+ }{
+ \egroup
+ \egroup
+
+ \CJKf@global\let\CJKsymbol \CJK@filltwosidesSymbol
+ \CJKf@global\CJK@fillbegin@false
+ \CJKf@global\CJK@filltwosides@false}
+
+
+%
+% \varCJKunderline:
+% The same as \CJKunderline but leaving spaces between two consecutive
+% \varCJKunderline calls. The separation on the left and right can be
+% controlled by redefining \CJKulineleftskip and \CJKulinerightskip,
+% respectively.
+%
+\def\CJKulineleftskip{0.2em}
+\def\CJKulinerightskip{0.2em}
+
+\def\varCJKunderline#1{
+ {\null
+ \hskip\CJKulineleftskip}
+ \CJKunderline{
+ {\hskip-\CJKulineleftskip}
+ #1
+ {\hskip-\CJKulinerightskip}}
+ {\hskip\CJKulinerightskip}}
+
+
+%
+% \CJKunderanyline:
+% The same as \varCJKunderline but using a user-defined underline shape.
+% The first argument gives the distance to the baseline, the second
+% argument the object used for underlining.
+%
+\def\CJK@underanyline#1#2{
+ \setbox\UL@box\hbox{{#2}}
+ \bgroup\markoverwith{\lower #1\copy\UL@box}\ULon}
+
+\def\CJKunderanyline#1#2#3{
+ {\null
+ \hskip\CJKulineleftskip}
+ \CJK@underanyline{#1}{#2}{
+ {\hskip-\CJKulineleftskip}
+ #3
+ {\hskip-\CJKulinerightskip}}
+ {\hskip\CJKulinerightskip}}
+
+
+%
+% \CJKunderanysymbol:
+% The same as \CJKunderdot but using a user-defined underline shape.
+% The first argument gives the distance to the baseline, the second
+% argument the object used for `underdotting'.
+%
+\newdimen\CJK@underanyskip
+
+\def\CJKunderanysymbol#1#2#3{{
+ \CJK@underanyskip #1\relax
+ \setbox\CJK@underdotBox\hbox{{#2}}
+ \CJKf@global\let\CJK@underanysymbol\CJKsymbol
+ \CJKf@global\def\CJK@fntefglue{
+ \CJKf@global\let\CJK@fntefglue\CJKglue}
+ \CJKf@global\def\CJKsymbol##1{
+ \CJK@fntefglue
+ \CJK@underanysymbol{##1}
+ \leavevmode
+ \rlap{
+ \lower \CJK@underanyskip
+ \hbox to \z@ {
+ \hskip -1em
+ \hss
+ \copy\CJK@underdotBox
+ \hss}
+ \hskip -1em}
+ \ignorespaces}
+ #3
+ \CJKf@global\let\CJKsymbol\CJK@underanysymbol}}
+
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CJKnumb.sty b/language/chinese/CJK/cjk-4.8.5/texinput/CJKnumb.sty
new file mode 100644
index 0000000000..61c928cf14
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CJKnumb.sty
@@ -0,0 +1,400 @@
+% This is the file CJKnumb.sty of the CJK package
+% for typesetting numbers with CJK glyphs.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesPackage{CJKnumb}[\filedate\space\fileversion]
+
+\RequirePackage{CJK}[2021/10/16]
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+
+% the amount of space to be inserted before and after the circle
+% representing zero
+
+\def\CJKnullspace{0pt}
+
+
+% generic number macros. We add them to the CJK encoding hooks.
+
+\def\CJK@traditionalNumbers{
+ % circle used for zero
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{179}\kern\CJKnullspace}
+ % character used for zero
+ \def\CJK@zero{\CJKchar{185}{115}}
+ \def\CJK@one{\CJKchar{164}{64}}
+ \def\CJK@two{\CJKchar{164}{71}}
+ \def\CJK@three{\CJKchar{164}{84}}
+ \def\CJK@four{\CJKchar{165}{124}}
+ \def\CJK@five{\CJKchar{164}{173}}
+ \def\CJK@six{\CJKchar{164}{187}}
+ \def\CJK@seven{\CJKchar{164}{67}}
+ \def\CJK@eight{\CJKchar{164}{75}}
+ \def\CJK@nine{\CJKchar{164}{69}}
+ \def\CJK@ten{\CJKchar{164}{81}}
+ \def\CJK@hundred{\CJKchar{166}{202}}
+ \def\CJK@thousand{\CJKchar{164}{100}}
+ \def\CJK@tenthousand{\CJKchar{184}{85}}
+ \def\CJK@hundredmillion{\CJKchar{187}{245}}
+
+ \def\CJK@minus{\CJKchar{161}{208}}}
+
+\CJKaddEncHook{Bg5}{\CJK@traditionalNumbers}
+\CJKaddEncHook{Bg5+}{\CJK@traditionalNumbers}
+\CJKaddEncHook{HK}{\CJK@traditionalNumbers}
+
+\def\CJK@simplifiedNumbers{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{240}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{193}{227}}
+ \def\CJK@one{\CJKchar{210}{187}}
+ \def\CJK@two{\CJKchar{182}{254}}
+ \def\CJK@three{\CJKchar{200}{253}}
+ \def\CJK@four{\CJKchar{203}{196}}
+ \def\CJK@five{\CJKchar{206}{229}}
+ \def\CJK@six{\CJKchar{193}{249}}
+ \def\CJK@seven{\CJKchar{198}{223}}
+ \def\CJK@eight{\CJKchar{176}{203}}
+ \def\CJK@nine{\CJKchar{190}{197}}
+ \def\CJK@ten{\CJKchar{202}{174}}
+ \def\CJK@hundred{\CJKchar{176}{217}}
+ \def\CJK@thousand{\CJKchar{199}{167}}
+ \def\CJK@tenthousand{\CJKchar{205}{242}}
+ \def\CJK@hundredmillion{\CJKchar{210}{218}}
+
+ \def\CJK@minus{\CJKchar{163}{173}}}
+
+\CJKaddEncHook{GB}{\CJK@simplifiedNumbers}
+\CJKaddEncHook{GBK}{\CJK@simplifiedNumbers}
+
+\CJKaddEncHook{JIS}{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{251}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{206}{237}}
+ \def\CJK@one{\CJKchar{176}{236}}
+ \def\CJK@two{\CJKchar{198}{243}}
+ \def\CJK@three{\CJKchar{187}{176}}
+ \def\CJK@four{\CJKchar{187}{205}}
+ \def\CJK@five{\CJKchar{184}{222}}
+ \def\CJK@six{\CJKchar{207}{187}}
+ \def\CJK@seven{\CJKchar{188}{183}}
+ \def\CJK@eight{\CJKchar{200}{172}}
+ \def\CJK@nine{\CJKchar{182}{229}}
+ \def\CJK@ten{\CJKchar{189}{189}}
+ \def\CJK@hundred{\CJKchar{201}{180}}
+ \def\CJK@thousand{\CJKchar{192}{233}}
+ \def\CJK@tenthousand{\CJKchar{232}{223}}
+ \def\CJK@hundredmillion{\CJKchar{178}{175}}
+
+ \def\CJK@minus{\CJKchar{161}{221}}}
+
+\CJKaddEncHook{KS}{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{161}{219}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{214}{195}}
+ \def\CJK@one{\CJKchar{236}{233}}
+ \def\CJK@two{\CJKchar{236}{163}}
+ \def\CJK@three{\CJKchar{223}{178}}
+ \def\CJK@four{\CJKchar{222}{204}}
+ \def\CJK@five{\CJKchar{231}{233}}
+ \def\CJK@six{\CJKchar{215}{191}}
+ \def\CJK@seven{\CJKchar{246}{210}}
+ \def\CJK@eight{\CJKchar{248}{162}}
+ \def\CJK@nine{\CJKchar{206}{250}}
+ \def\CJK@ten{\CJKchar{228}{168}}
+ \def\CJK@hundred{\CJKchar{219}{221}}
+ \def\CJK@thousand{\CJKchar{244}{182}}
+ \def\CJK@tenthousand{\CJKchar{216}{191}}
+ \def\CJK@hundredmillion{\CJKchar{229}{226}}
+
+ \def\CJK@minus{\CJKchar{163}{173}}}
+
+\CJKaddEncHook{SJIS}{
+ \def\CJK@null{\kern\CJKnullspace\CJKchar{129}{155}\kern\CJKnullspace}
+ \def\CJK@zero{\CJKchar{151}{235}}
+ \def\CJK@one{\CJKchar{136}{234}}
+ \def\CJK@two{\CJKchar{147}{241}}
+ \def\CJK@three{\CJKchar{142}{79}}
+ \def\CJK@four{\CJKchar{142}{108}}
+ \def\CJK@five{\CJKchar{140}{220}}
+ \def\CJK@six{\CJKchar{152}{90}}
+ \def\CJK@seven{\CJKchar{142}{181}}
+ \def\CJK@eight{\CJKchar{148}{170}}
+ \def\CJK@nine{\CJKchar{139}{227}}
+ \def\CJK@ten{\CJKchar{143}{92}}
+ \def\CJK@hundred{\CJKchar{149}{83}}
+ \def\CJK@thousand{\CJKchar{144}{231}}
+ \def\CJK@tenthousand{\CJKchar{228}{221}}
+ \def\CJK@hundredmillion{\CJKchar{137}{173}}
+
+ \def\CJK@minus{\CJKchar{129}{124}}}
+
+\CJKaddEncHook{\CJK@UnicodeEnc}{
+ \def\CJK@null{\Unicode{48}{7}}
+ \def\CJK@zero{\Unicode{150}{246}}
+ \def\CJK@one{\Unicode{78}{0}}
+ \def\CJK@two{\Unicode{78}{140}}
+ \def\CJK@three{\Unicode{78}{9}}
+ \def\CJK@four{\Unicode{86}{219}}
+ \def\CJK@five{\Unicode{78}{148}}
+ \def\CJK@six{\Unicode{81}{109}}
+ \def\CJK@seven{\Unicode{78}{3}}
+ \def\CJK@eight{\Unicode{81}{107}}
+ \def\CJK@nine{\Unicode{78}{93}}
+ \def\CJK@ten{\Unicode{83}{65}}
+ \def\CJK@hundred{\Unicode{118}{126}}
+ \def\CJK@thousand{\Unicode{83}{67}}
+ \def\CJK@tenthousand{\Unicode{132}{44}}
+ \def\CJK@hundredmillion{\Unicode{81}{4}}
+
+ \def\CJK@minus{\Unicode{255}{13}}}
+
+
+\newif\ifCJK@zero@
+\newif\ifCJK@previous@
+
+\newif\ifCJK@null@
+
+
+\newcount\CJK@q
+\newcount\CJK@r
+
+
+\def\CJK@digit#1{
+ \ifcase #1\relax
+ \ifCJK@null@ \CJK@null \else \CJK@zero \fi \or
+ \CJK@one \or
+ \CJK@two \or
+ \CJK@three \or
+ \CJK@four \or
+ \CJK@five \or
+ \CJK@six \or
+ \CJK@seven \or
+ \CJK@eight \or
+ \CJK@nine
+ \fi}
+
+
+% This macro splits the number in zzyyyyxxxx (2^^31-1 is the largest
+% possible integer in TeX); zz is \CJK@yi, yyyy is \CJK@high, and
+% xxxx is \CJK@low.
+
+\def\CJK@splitnumber#1{
+ \CJK@q #1
+ \CJK@r #1
+
+ \divide\CJK@q \@M
+ \begingroup
+ \multiply\CJK@q \@M
+ \advance\CJK@r -\CJK@q
+ \ifnum\CJK@r = \z@
+ \xdef\CJK@low{}
+ \else
+ \xdef\CJK@low{\number\CJK@r}
+ \fi
+ \endgroup
+
+ \ifnum\CJK@q > \z@
+ \CJK@r \CJK@q
+
+ \divide\CJK@q \@M
+ \begingroup
+ \multiply\CJK@q \@M
+ \advance\CJK@r -\CJK@q
+ \ifnum\CJK@r = \z@
+ \xdef\CJK@high{}
+ \else
+ \xdef\CJK@high{\number\CJK@r}
+ \fi
+ \endgroup
+
+ \ifnum\CJK@q > \z@
+ \xdef\CJK@yi{\number\CJK@q}
+ \else
+ \xdef\CJK@yi{}
+ \fi
+ \else
+ \xdef\CJK@high{}
+ \xdef\CJK@yi{}
+ \fi
+}
+
+% Here we process four digits
+
+\def\CJK@processnumber#1{
+ \CJK@zero@false
+
+ \CJK@q #1
+ \CJK@r #1
+
+ \divide\CJK@q \@m
+ \ifnum\CJK@q = \z@
+ \ifCJK@previous@
+ \CJK@zero@true
+ \fi
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \CJK@digit{\CJK@q}
+ \CJK@thousand
+ \CJK@previous@true
+ \CJK@zero@false
+ \fi
+
+ \multiply\CJK@q \@m
+ \advance\CJK@r -\CJK@q
+ \CJK@q \CJK@r
+
+ \divide\CJK@q 100\relax
+ \ifnum\CJK@q = \z@
+ \ifCJK@previous@
+ \CJK@zero@true
+ \fi
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \CJK@digit{\CJK@q}
+ \CJK@hundred
+ \CJK@previous@true
+ \CJK@zero@false
+ \fi
+
+ \multiply\CJK@q 100
+ \advance\CJK@r -\CJK@q
+ \CJK@q \CJK@r
+
+ \divide \CJK@q 10\relax
+ \ifnum\CJK@q = \z@
+ \ifCJK@previous@
+ \CJK@zero@true
+ \fi
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \ifnum\CJK@q = \@ne
+ \ifCJK@previous@
+ \CJK@one
+ \fi
+ \else
+ \CJK@digit{\CJK@q}
+ \fi
+ \CJK@ten
+ \CJK@previous@true
+ \CJK@zero@false
+ \fi
+
+ \multiply\CJK@q 10
+ \advance\CJK@r -\CJK@q
+
+ \ifnum\CJK@r = \z@
+ \else
+ \ifCJK@zero@
+ \CJK@zero
+ \fi
+ \CJK@digit{\CJK@r}
+ \CJK@previous@true
+ \fi
+}
+
+
+% this command provides a full CJK representation of a number.
+
+\DeclareRobustCommand\CJKnumber[1]{
+ \CJK@null@false
+
+ \CJK@q #1\relax
+
+ \ifnum\CJK@q < \z@
+ \multiply\CJK@q \m@ne
+ \CJK@minus
+ \CJKkern
+ \fi
+
+ \CJK@previous@false
+ \CJK@zero@false
+
+ \ifnum\CJK@q = \z@
+ \CJK@zero
+ \else
+ \CJK@splitnumber{\CJK@q}
+
+ \ifx\CJK@yi \@empty
+ \else
+ \CJK@processnumber{\CJK@yi}
+ \CJK@hundredmillion
+ \fi
+
+ \ifx\CJK@high \@empty
+ \else
+ \CJK@processnumber{\CJK@high}
+ \CJK@tenthousand
+ \fi
+
+ \ifx\CJK@low \@empty
+ \else
+ \ifx\CJK@yi \@empty
+ \else
+ \ifx\CJK@high \@empty
+ \CJK@zero % this catches 100002345
+ \fi
+ \fi
+ \CJK@processnumber{\CJK@low}
+ \fi
+ \fi}
+
+
+% this command simply converts the given string into CJK digits;
+% the starred version uses the traditional glyph for digit zero.
+
+\DeclareRobustCommand\CJKdigits{
+ \@ifstar{\CJK@null@false\CJK@digits}
+ {\CJK@null@true\CJK@digits}}
+
+\def\CJK@digits#1{
+ {\edef\CJK@tempa{}
+ \edef\CJK@tempb{#1}
+ \ifx\CJK@tempb \@empty
+ \else
+ \loop
+ \expandafter\CJK@getDigit\CJK@tempb\CJK@stop
+ \CJK@digit\CJK@tempa
+ \ifx\CJK@tempb \@empty
+ \else
+ \repeat
+ \fi}}
+
+\def\CJK@getDigit#1#2\CJK@stop{
+ \edef\CJK@tempa{#1}
+ \edef\CJK@tempb{#2}}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CJKspace.sty b/language/chinese/CJK/cjk-4.8.5/texinput/CJKspace.sty
new file mode 100644
index 0000000000..606e6ba2c9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CJKspace.sty
@@ -0,0 +1,98 @@
+% This is the file CJKspace.sty of the CJK package
+% for suppressing spaces between CJK characters only.
+%
+% created by Wenchang Sun <sunwch@hotmail.com>
+% Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[2001/06/01]
+
+\def\fileversion{3.8.0}
+\def\filedate{2021/10/16}
+\ProvidesPackage{CJKspace}[\filedate\space\fileversion]
+
+
+\endlinechar \m@ne
+
+
+% redefine `\CJK@ignorespaces'.
+
+\def\CJK@@ignorespaces{
+ \expandafter\CJK@@@ignorespaces}
+
+\renewenvironment{CJK*}[3][]{
+ \let\CJK@ignorespaces\CJK@@ignorespaces
+ \CJK@envStart{#1}{#2}{#3}}
+ {\CJK@envEnd}
+
+
+\def\CJK@@@ignorespaces{
+ \futurelet\CJK@next@token
+ \CJK@check@next}
+
+\def\CJK@check@next{
+ \ifx\CJK@next@token\@sptoken
+ \expandafter\CJK@@check@next
+ \fi}
+
+{
+ \catcode`\-=11
+
+ \global\let\-empty\@empty
+
+ % define \CJK@@check@next to gobble subsequent space tokens.
+
+ \def\:{\CJK@@check@next}
+ \global\expandafter\def\: {
+ \futurelet\cjk-let-token
+ \cjk---check-next}
+
+ % since characters in the output of \meaning\something have
+ % catcode 12, we have to change the catcodes of `\', `C',
+ % `J', `K', and `@'.
+
+ \catcode`\/=0
+ \catcode`\C=12
+ \catcode`\J=12
+ \catcode`\K=12
+ \catcode`\@=12
+ \catcode`\\=12
+
+ /gdef/cjk---check-next{
+ /expandafter/cjk-get-keystring
+ /meaning/cjk-let-token\CJK@@@/cjk-space-stop
+ /cjk-temp}
+
+ % we check whether we can find the signature `\CJK@@@' at the
+ % beginning of following macro -- only the CJK package
+ % inserts this.
+
+ /long/gdef/cjk-get-keystring#1\CJK@@@#2/cjk-space-stop{
+ /edef/cjk-temp{#2}
+ /ifx/cjk-temp/-empty
+ /def/cjk-temp{ }
+ /else
+ /def/cjk-temp{}
+ /fi}
+}
+
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CJKulem.sty b/language/chinese/CJK/cjk-4.8.5/texinput/CJKulem.sty
new file mode 100644
index 0000000000..202f845df0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CJKulem.sty
@@ -0,0 +1,193 @@
+% This is the file CJKulem.sty of the CJK package
+% for using the `ulem' package CJK characters.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[1996/12/01]
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesPackage{CJKulem}[\filedate\space\fileversion]
+
+\RequirePackage{ulem}[2000/05/26]
+
+\endlinechar \m@ne
+
+\newdimen\UL@lastkern
+\newskip\CJK@skip
+
+
+\def\UL@CJKnobreakglue{
+ \nobreak
+ \LA@CJKglue
+ \nobreak}
+
+
+\def\UL@CJKglue{
+ \ifx\ \LA@space
+ \LA@CJKglue
+ \else
+ \egroup
+ \UL@stop
+ \ifnum\lastkern = \thr@@
+ \LA@hskip \CJK@skip
+ \else
+ \global\UL@skip \CJK@skip
+ \UL@leaders
+ \fi
+ \UL@start
+ \bgroup
+ \fi}
+
+
+\def\UL@Thaiglue{
+ \ifx\ \LA@space
+ \LA@Thaiglue
+ \else
+ \egroup
+ \egroup
+ \egroup
+ \UL@stop
+ \ifnum\lastkern = \thr@@
+ \LA@hskip \CJK@skip
+ \else
+ \global\UL@skip \CJK@skip
+ \UL@leaders
+ \fi
+ \UL@start
+ \bgroup
+ \fontencoding{C90}\selectfont
+ \bgroup
+ \bgroup
+ \fi}
+
+
+\def\UL@Thaibreak{
+ \ifx\ \LA@space
+ \LA@Thaibreak
+ \else
+ \egroup
+ \egroup
+ \egroup
+ \UL@stop
+ \LA@hskip \z@
+ \UL@start
+ \bgroup
+ \fontencoding{C90}\selectfont
+ \bgroup
+ \bgroup
+ \fi}
+
+
+\def\UL@testLastKern{
+ \global\CJK@false
+ \ifnum\lastkern = \thr@@
+ \ifnum\UL@lastkern = \tw@
+ \global\CJK@true
+ \fi
+ \ifnum\UL@lastkern = 5
+ \global\CJK@true
+ \fi
+ \fi
+
+ \ifnum\lastkern = \tw@
+ \global\CJK@true
+ \fi
+ \ifnum\lastkern = 5
+ \global\CJK@true
+ \fi}
+
+
+\def\UL@testLastCJK{
+ \global\CJK@false
+
+ \ifnum\lastkern = \thr@@
+ \ifnum\UL@lastkern = \@ne
+ \global\CJK@true
+ \fi
+ \fi
+
+ \ifnum\lastkern = \@ne
+ \global\CJK@true
+ \fi}
+
+
+\addto@hook\UL@hook{
+ \let\CJK@savehskip \hskip
+ \let\hskip \LA@hskip
+ \CJKglue
+ \CJK@skip\lastskip
+ \unskip
+ \let\hskip \CJK@savehskip
+ \let\LA@CJKglue \CJKglue
+ \let\LA@Thaiglue \Thaiglue
+ \let\LA@Thaibreak \Thaibreak
+ \let\CJK@nobreakglue \UL@CJKnobreakglue
+ \let\CJKglue \UL@CJKglue
+ \let\Thaiglue \UL@Thaiglue
+ \let\Thaibreak \UL@Thaibreak
+ \let\CJK@testLastKern \UL@testLastKern
+ \let\CJK@testLastCJK \UL@testLastCJK}
+
+
+\def\UL@start{
+ \global\UL@lastkern\lastkern
+ \setbox\UL@box\hbox\bgroup
+ \everyhbox{\UL@hrest}
+ \let\UL@start\@empty
+ \def\UL@unegroup{\bgroup\bgroup}
+ \let\UL@leadtype\@empty
+ \bgroup
+ \kern -3sp
+ \kern 3sp
+ \if@ignore
+ \global\@ignorefalse
+ \ignorespaces
+ \fi}
+
+
+\def\UL@stop{
+ \global\UL@pe\lastpenalty
+ \global\UL@lastkern\lastkern
+ \unpenalty
+ \ifnum\lastkern = \thr@@
+ \egroup
+ \egroup
+ \ifdim\wd\UL@box = \z@
+ \else
+ \UL@putbox
+ \fi
+ \else
+ \egroup
+ \egroup
+ \UL@putbox
+ \fi
+ \ifnum\UL@pe = \z@
+ \else
+ \LA@penalty\UL@pe
+ \fi
+ \kern -\UL@lastkern
+ \kern \UL@lastkern
+ \UL@unegroup}
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CJKutf8.sty b/language/chinese/CJK/cjk-4.8.5/texinput/CJKutf8.sty
new file mode 100644
index 0000000000..d1eab65c7e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CJKutf8.sty
@@ -0,0 +1,720 @@
+% This is the file CJKutf8.sty of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+% in UTF-8 encoding.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[2003/12/01]
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesPackage{CJKutf8}[\filedate\space\fileversion]
+
+\RequirePackage{ifpdf}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage[encapsulated]{CJK}
+\RequirePackageWithOptions{fontenc}
+
+\DeclareOption*{\OptionNotUsed}
+
+\ProcessOptions
+
+
+% we suppress any unwanted spaces produced by linefeeds
+
+\endlinechar\m@ne
+
+% We redefine the basic macros for handling multibyte sequences to call
+% a `\u8:...' macro if it has been defined.
+
+\def\CJK@XX#1#2{
+ \ifx #2\protect
+ \expandafter\CJK@XXp\expandafter#1
+ \else
+ \expandafter\ifx\csname u8:\string #1\string #2\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}
+ \expandafter\CJK@ignorespaces
+ \else
+ \csname u8:\string #1\string #2\endcsname
+ \fi
+ \fi}
+\def\CJK@XXp#1#2{
+ \expandafter\ifx\csname u8:\string #1\string #2\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}
+ \expandafter\CJK@ignorespaces
+ \else
+ \csname u8:\string #1\string #2\endcsname
+ \fi}
+
+\def\CJK@XXX#1#2#3{
+ \ifx #2\protect
+ \expandafter\CJK@XXXp\expandafter#1#3
+ \else
+ \expandafter\ifx\csname u8:\string #1\string #2\string #3\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}{`#3}
+ \expandafter\CJK@ignorespaces
+ \else
+ \csname u8:\string #1\string #2\string #3\endcsname
+ \fi
+ \fi}
+\def\CJK@XXXp#1#2#3#4{
+ \expandafter\ifx\csname u8:\string #1\string #2\string #4\endcsname \relax
+ \csname CJK@\number `#1\endcsname{`#2}{`#4}
+ \expandafter\CJK@ignorespaces
+ \else
+ \csname u8:\string #1\string #2\string #4\endcsname
+ \fi}
+
+% If pdftex is used, emit proper \ToUnicode cmaps. This code is based on
+% cjk-unicmap.sty, part of the hangul-ucs package written by KIM Kang-Soo
+% and KIM Do-Hyun.
+
+\ifpdf
+ % Redefine \pickup@font (again).
+ \def\pickup@font{
+ \CJK@ifundefined\CJK@plane
+ {\expandafter\ifx\font@name \relax% % old definition
+ \define@newfont
+ \fi}
+ {\expandafter% % CJK extension
+ \ifx\csname \curr@fontshape/\f@size/\CJK@plane\endcsname \relax
+ \define@newfont
+ \def\CJK@temp{v}
+ \ifx\CJK@temp\CJK@plane
+ \expandafter
+ \ifx\csname CJK@cmap@\f@family\CJK@plane\endcsname \relax
+ \else
+ \csname CJK@cmap@\f@family\CJK@plane\endcsname
+ \fi
+ \else
+ \CJK@addcmap\CJK@plane
+ \fi
+ \else
+ \xdef\font@name{
+ \csname \curr@fontshape/\f@size/\CJK@plane\endcsname}
+ \fi}}
+
+ % Convert a CJK plane #2 to the corresponding surrogate value, if any.
+ % The result is returned in global macro #1.
+ \def\CJK@surr#1#2{
+ {\expandafter\uppercase\expandafter{
+ \expandafter\@tempcnta \expandafter "\expandafter 0#2\relax}
+ \ifnum \@tempcnta > "0FF\relax
+ % prepare for surrogate
+ \advance\@tempcnta -"0100\relax
+
+ % high surrogate value
+ \@tempcntb \@tempcnta
+ \divide\@tempcntb 4\relax
+ \advance\@tempcntb "0D800\relax
+ \CJK@numbxToHex{\CJK@gtemp}{\@tempcntb}
+ \expandafter\toks@\expandafter{\CJK@gtemp}
+
+ % upper byte of low surrogate value
+ \@tempcntb \@tempcnta
+ \divide\@tempcntb 4\relax
+ \multiply\@tempcntb 4\relax
+ \advance\@tempcnta -\@tempcntb
+ \advance\@tempcnta "0DC\relax
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \xdef#1{\the\toks@\CJK@gtemp}
+ \else
+ \xdef#1{#2}
+ \fi}}
+
+ \def\CJK@addcmap#1{
+ {\expandafter\ifx\csname CJK@CMap@#1\endcsname \relax
+ \CJK@surr{\CJK@gtemp}{#1}
+ \immediate\pdfobj stream {
+ /CIDInit /ProcSet findresource begin %
+ 12 dict begin %
+ begincmap %
+ /CIDSystemInfo << %
+ /Registry (TeX) %
+ /Ordering (Uni#1) %
+ /Supplement 0 >> def %
+ /CMapName /TeX-Uni#1-0 def %
+ 1 begincodespacerange <00> <FF> endcodespacerange %
+ 1 beginbfrange <00> <FF> <\CJK@gtemp 00> endbfrange %
+ endcmap %
+ CMapName currentdict /CMap defineresource %
+ pop %
+ end %
+ end }
+ \expandafter\xdef\csname CJK@CMap@#1\endcsname{
+ \the\pdflastobj}
+ \fi
+ \pdffontattr\font@name{
+ /ToUnicode \csname CJK@CMap@#1\endcsname\space 0 R}}}
+\fi
+
+
+% provide hooks for hyperref.sty to automatically emit UTF-16BE for
+% bookmarks -- note that we must do everything with expansion;
+% only eTeX provides numerical expression handling which works
+% within \xdef.
+
+% 110aaaaa 10bbbbbb
+%
+% aaaaa (two octal digits) is handled by \CJK@UnicodeTwoBytesFirst
+% bbbbbb (two octal digits) is handled by \CJK@UnicodeLast
+%
+%
+% 1110aaaa 10abbbbb 10cccccc
+%
+% aaaaa (two octal digits) is handled by \CJK@UnicodeThreeBytesFirst
+% bbbbbb (two octal digits) is handled by \CJK@UnicodeThreeBytesSecond
+% cccccc (two octal digits) is handled by \CJK@UnicodeLast
+%
+%
+% 11110uuu 10uubbbb 10bbcccc 10dddddd
+%
+% is emitted as a surrogate pair
+%
+% 110110aa aabbbbbb 110111cc ccdddddd
+%
+% (aaaa = uuuuu - 1; 0 < uuuuu <= 10000)
+%
+% 110110aaaa (four octal digits) is handled by \CJK@UnicodeFourBytesFirst
+% bbbbbb (two octal digits) is handled by \CJK@UnicodeFourBytesSecond
+% 110111cccc (four octal digits) is handled by \CJK@UnicodeFourBytesThird
+% dddddd (two octal digits) is handled by \CJK@UnicodeLast
+%
+
+\def\CJK@UnicodeFourBytesFirst#1#2{
+ \33
+
+ \ifnum #2 > '257\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or 0\2\or 1\2\or 2\2\or 3\2
+ \fi
+ \else
+ \ifnum #2 > '237\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or 0\1\or 1\1\or 2\1\or 3\1
+ \fi
+ \else
+ \ifnum #2 > '217\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or 0\0\or 1\0\or 2\0\or 3\0
+ \fi
+ \else
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or 0\3\or 1\3\or 2\3\or 3\3
+ \fi
+ \fi
+ \fi
+ \fi}
+
+\def\CJK@UnicodeFourBytesSecond#1#2{
+ \ifnum #2 > '257\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \or 03\or 07\or 13\or 17\or 23\or 27\or 33\or 37
+ \or 43\or 47\or 53\or 57\or 63\or 67\or 73\or 77
+ \fi
+ \else
+ \ifnum #2 > '237\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \or 02\or 06\or 12\or 16\or 22\or 26\or 32\or 36
+ \or 42\or 46\or 52\or 56\or 62\or 66\or 72\or 76
+ \fi
+ \else
+ \ifnum #2 > '217\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \or 01\or 05\or 11\or 15\or 21\or 25\or 31\or 35
+ \or 41\or 45\or 51\or 55\or 61\or 65\or 71\or 75
+ \fi
+ \else
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \or 00\or 04\or 10\or 14\or 20\or 24\or 30\or 34
+ \or 40\or 44\or 50\or 54\or 60\or 64\or 70\or 74
+ \fi
+ \fi
+ \fi
+ \fi}
+
+\def\CJK@UnicodeFourBytesThird#1{
+ \33
+
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \fi
+}
+
+\def\CJK@UnicodeThreeBytesFirst#1#2{
+ \ifnum #2 > '237\relax
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \01\or \03\or \05\or \07\or \11\or \13\or \15\or \17
+ \or \21\or \23\or \25\or \27\or \31\or \33\or \35\or \37
+ \fi
+ \else
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \00\or \02\or \04\or \06\or \10\or \12\or \14\or \16
+ \or \20\or \22\or \24\or \26\or \30\or \32\or \34\or \35
+ \fi
+ \fi}
+
+\def\CJK@UnicodeThreeBytesSecond#1{
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 0\0\or 0\1\or 0\2\or 0\3\or 1\0\or 1\1\or 1\2\or 1\3
+ \or 2\0\or 2\1\or 2\2\or 2\3\or 3\0\or 3\1\or 3\2\or 3\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \or 0\0\or 0\1\or 0\2\or 0\3\or 1\0\or 1\1\or 1\2\or 1\3
+ \or 2\0\or 2\1\or 2\2\or 2\3\or 3\0\or 3\1\or 3\2\or 3\3
+ \or 4\0\or 4\1\or 4\2\or 4\3\or 5\0\or 5\1\or 5\2\or 5\3
+ \or 6\0\or 6\1\or 6\2\or 6\3\or 7\0\or 7\1\or 7\2\or 7\3
+ \fi}
+
+\def\CJK@UnicodeTwoBytesFirst#1{
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \000\0\or \000\1\or \000\2\or \000\3
+ \or \001\0\or \001\1\or \001\2\or \001\3
+ \or \002\0\or \002\1\or \002\2\or \002\3
+ \or \003\0\or \003\1\or \003\2\or \003\3
+ \or \004\0\or \004\1\or \004\2\or \004\3
+ \or \005\0\or \005\1\or \005\2\or \005\3
+ \or \006\0\or \006\1\or \006\2\or \006\3
+ \or \007\0\or \007\1\or \007\2\or \007\3
+ \fi}
+
+\def\CJK@UnicodeLast#1{
+ \ifcase #1
+ \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+ \or \or \or \or \or \or \or \or
+
+ \or 00\or 01\or 02\or 03\or 04\or 05\or 06\or 07
+ \or 10\or 11\or 12\or 13\or 14\or 15\or 16\or 17
+ \or 20\or 21\or 22\or 23\or 24\or 25\or 26\or 27
+ \or 30\or 31\or 32\or 33\or 34\or 35\or 36\or 37
+ \or 40\or 41\or 42\or 43\or 44\or 45\or 46\or 47
+ \or 50\or 51\or 52\or 53\or 54\or 55\or 56\or 57
+ \or 60\or 61\or 62\or 63\or 64\or 65\or 66\or 67
+ \or 70\or 71\or 72\or 73\or 74\or 75\or 76\or 77
+ \fi}
+
+
+\def\CJK@XXpdf#1#2{
+ \CJK@UnicodeTwoBytesFirst{`#1}
+ \CJK@UnicodeLast{`#2}}
+
+\def\CJK@XXXpdf#1#2#3{
+ \CJK@UnicodeThreeBytesFirst{`#1}{`#2}
+ \CJK@UnicodeThreeBytesSecond{`#2}
+ \CJK@UnicodeLast{`#3}}
+
+\def\CJK@XXXXpdf#1#2#3#4{
+ \CJK@UnicodeFourBytesFirst{`#1}{`#2}
+ \CJK@UnicodeFourBytesSecond{`#2}{`#3}
+ \CJK@UnicodeFourBytesThird{`#3}
+ \CJK@UnicodeLast{`#4}}
+
+
+\ifx\pdfstringdefPreHook \undefined
+ \def\pdfstringdefPreHook{}
+\fi
+\g@addto@macro\pdfstringdefPreHook{
+ \let\CJK@XX \CJK@XXpdf
+ \let\CJK@XXX \CJK@XXXpdf
+ \let\CJK@XXXX \CJK@XXXXpdf}
+
+
+% reset endline character
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CJKvert.sty b/language/chinese/CJK/cjk-4.8.5/texinput/CJKvert.sty
new file mode 100644
index 0000000000..d01a689f73
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CJKvert.sty
@@ -0,0 +1,159 @@
+% This is the file CJKvert.sty of the CJK package
+% for vertical typesetting.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesPackage{CJKvert}[\filedate\space\fileversion]
+
+\RequirePackage{graphicx}
+
+\newif\ifCJK@useBaselinestretch@
+\CJK@useBaselinestretch@false
+
+\DeclareOption{usebaselinestretch}{\CJK@useBaselinestretch@true}
+
+\ProcessOptions
+
+\newcommand{\CJKbaselinestretch}{1.3}
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+
+\newif\ifCJK@vertical@
+\CJK@vertical@false
+
+\ifCJK@useBaselinestretch@
+ \edef\CJK@horzBaselinestretch{\baselinestretch}
+\fi
+
+\newcommand{\CJKvert}{
+ \CJK@vertical@true
+ \gdef\CJK@direction{v}
+
+ \ifCJK@useBaselinestretch@
+ \edef\CJK@horzBaselinestretch{\baselinestretch}
+ \dimen@ 1pt
+ \dimen@ \CJK@horzBaselinestretch\dimen@
+ \dimen@ \CJKbaselinestretch\dimen@
+ \edef\baselinestretch{\strip@pt\dimen@}
+ \else
+ \edef\baselinestretch{\CJKbaselinestretch}
+ \fi
+
+ \normalfont}
+
+\newcommand{\CJKhorz}{
+ \CJK@vertical@false
+ \gdef\CJK@direction{h}
+
+ \ifCJK@useBaselinestretch@
+ \edef\baselinestretch{\CJK@horzBaselinestretch}
+ \else
+ \edef\baselinestretch{1}
+ \fi
+
+ \normalfont}
+
+\AtBeginDocument{\CJKvert}
+
+
+% we redefine \CJKsymbol so that pseudo bold characters will be shifted
+% vertically, not horizontally.
+%
+% for fonts without vertical representation forms, some glyphs shouldn't
+% be rotated; \CJKsymbolsimple can be then used for a redefinition in
+% the `.fdx' file.
+
+\newcommand{\CJKsymbolsimple}[1]{
+ \edef\CJK@temp{\csname \CJK@enc/\CJK@family/simpleoffset\endcsname}
+ \expandafter\ifx\CJK@temp \relax
+ \edef\CJK@temp{0pt}
+ \fi
+ \ifCJK@bold@
+ \raise \CJK@temp \hbox{\symbol{#1}}
+ \raise \CJK@temp \hbox to \z@{\hss \raise\CJKboldshift\hbox{\symbol{#1}}}
+ \raise \CJK@temp \hbox to \z@{\hss \raise-\CJKboldshift\hbox{\symbol{#1}}}
+ \else
+ \raise \CJK@temp \hbox{\symbol{#1}}
+ \fi
+}
+
+\DeclareRobustCommand{\CJKsymbol}[1]{
+ \ifCJK@vertical@
+ \expandafter\ifx\csname \CJK@enc/\CJK@family/norotate/v\endcsname \relax
+ \edef\CJK@tempa{\csname \CJK@enc/\CJK@family/offset/v\endcsname}
+ \expandafter\ifx\CJK@tempa \relax
+ \edef\CJK@tempa{0pt}
+ \fi
+ \edef\CJK@tempb{\csname \CJK@enc/\CJK@family/fullheight/v\endcsname}
+ \expandafter\ifx\CJK@tempb \relax
+ \def\CJK@temp{\rotatebox[x=\CJK@tempa]{90}{\symbol{#1}}}
+ \else
+ \edef\CJK@tempc{\csname \CJK@enc/\CJK@family/height/v\endcsname}
+ \expandafter\ifx\CJK@tempc \relax
+ \edef\CJK@tempc{0pt}
+ \fi
+ \setbox\@tempboxa\hbox{\symbol{#1}}
+ \ht\@tempboxa \CJK@tempc
+ \@tempdima\CJK@tempb
+ \advance\@tempdima -\CJK@tempc
+ \dp\@tempboxa \@tempdima
+ \def\CJK@temp{
+ \rotatebox[x=\CJK@tempa]{90}{\copy\@tempboxa}}
+ \fi
+ \else
+ \def\CJK@temp{\symbol{#1}}
+ \fi
+ \ifCJK@bold@
+ \CJK@temp
+ \hbox to \z@ {\hss \raise\CJKboldshift\hbox{\CJK@temp}}
+ \hbox to \z@ {\hss \raise-\CJKboldshift\hbox{\CJK@temp}}
+ \else
+ \CJK@temp
+ \fi
+ \else
+ \edef\CJK@tempa{\csname \CJK@enc/\CJK@family/offset/h\endcsname}
+ \expandafter\ifx\CJK@tempa \relax
+ \edef\CJK@tempa{0pt}
+ \fi
+ \edef\CJK@temp{\raise\CJK@tempa\hbox{\symbol{#1}}}
+ \leavevmode
+ \ifCJK@bold@
+ \CJK@temp
+ \hbox to \CJKboldshift{\hss\CJK@temp}
+ \hbox to \CJKboldshift{\hss\CJK@temp}
+ \else
+ \CJK@temp
+ \fi
+ \fi}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.bdg b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.bdg
new file mode 100644
index 0000000000..0ef5c3b5c7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.bdg
@@ -0,0 +1,130 @@
+% This is the file EUC-TW.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{EUC-TW.bdg}[\filedate\space\fileversion]
+
+
+% The EUC-TW bindings (with single shift).
+
+\global\@namedef{CJK@EUC-TWBinding}{
+ \CJK@nameppppdef{^^8e}
+
+ \CJK@nameppdef{^^a1}
+ \CJK@nameppdef{^^a2}
+ \CJK@nameppdef{^^a3}
+ \CJK@nameppdef{^^a4}
+ \CJK@nameppdef{^^a5}
+ \CJK@nameppdef{^^a6}
+ \CJK@nameppdef{^^a7}
+ \CJK@nameppdef{^^a8}
+ \CJK@nameppdef{^^a9}
+ \CJK@nameppdef{^^aa}
+ \CJK@nameppdef{^^ab}
+ \CJK@nameppdef{^^ac}
+ \CJK@nameppdef{^^ad}
+ \CJK@nameppdef{^^ae}
+ \CJK@nameppdef{^^af}
+ \CJK@nameppdef{^^b0}
+ \CJK@nameppdef{^^b1}
+ \CJK@nameppdef{^^b2}
+ \CJK@nameppdef{^^b3}
+ \CJK@nameppdef{^^b4}
+ \CJK@nameppdef{^^b5}
+ \CJK@nameppdef{^^b6}
+ \CJK@nameppdef{^^b7}
+ \CJK@nameppdef{^^b8}
+ \CJK@nameppdef{^^b9}
+ \CJK@nameppdef{^^ba}
+ \CJK@nameppdef{^^bb}
+ \CJK@nameppdef{^^bc}
+ \CJK@nameppdef{^^bd}
+ \CJK@nameppdef{^^be}
+ \CJK@nameppdef{^^bf}
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.chr b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.chr
new file mode 100644
index 0000000000..2bf303aba0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.chr
@@ -0,0 +1,210 @@
+% This is the file EUC-TW.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{EUC-TW.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling characters in EUC-TW encoding.
+
+\global\@namedef{CJK@EUC-TWChr}{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+% for CNS characters accessed via the SS2 code (0x8E)
+
+ \CJK@global\def\CJK@shiftchar##1##2##3{
+ {\CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJKchar[CNS\expandafter\@secondoftwo\CJK@gtemp]
+ {\number ##2}{\number ##3}}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.enc b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.enc
new file mode 100644
index 0000000000..71b1063cb9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/EUC-TW.enc
@@ -0,0 +1,138 @@
+% This is the file EUC-TW.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{EUC-TW.enc}[\filedate\space\fileversion]
+
+
+% EUC-TW encoding:
+%
+% CNS 11643-1992 planes 1-7 (C31-C37) 0x8EA1A1A1-0x8EA7FEFE
+% CNS 11643-1992 plane 1 (C31) 0xA1A1-0xFEFE
+
+\global\@namedef{CJK@EUC-TWEncoding}{
+ \CJK@loadChr{EUC-TW}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@shiftError becomes active
+ \CJK@namegdef{^^8e}##1##2##3{\@gobble\CJK@shiftError
+ \CJK@shiftchar{##1}{##2}{##3}}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c31song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c31song.fd
new file mode 100644
index 0000000000..b607ff7487
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c31song.fd
@@ -0,0 +1,23 @@
+% This is the file c31song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c31song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 1
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C31}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C31}{song}{m}{n}{<-> CJK * c1so12}{\CJKnormal}
+\DeclareFontShape{C31}{song}{bx}{n}{<-> CJKb * c1so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c32song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c32song.fd
new file mode 100644
index 0000000000..fc215fe051
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c32song.fd
@@ -0,0 +1,23 @@
+% This is the file c32song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c32song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 2
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C32}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C32}{song}{m}{n}{<-> CJK * c2so12}{\CJKnormal}
+\DeclareFontShape{C32}{song}{bx}{n}{<-> CJKb * c2so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c33song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c33song.fd
new file mode 100644
index 0000000000..445f370bbb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c33song.fd
@@ -0,0 +1,23 @@
+% This is the file c33song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c33song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 3
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C33}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C33}{song}{m}{n}{<-> CJK * c3so12}{\CJKnormal}
+\DeclareFontShape{C33}{song}{bx}{n}{<-> CJKb * c3so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c34song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c34song.fd
new file mode 100644
index 0000000000..40eb3c1ee6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c34song.fd
@@ -0,0 +1,23 @@
+% This is the file c34song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c34song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 4
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C34}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C34}{song}{m}{n}{<-> CJK * c4so12}{\CJKnormal}
+\DeclareFontShape{C34}{song}{bx}{n}{<-> CJKb * c4so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c35song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c35song.fd
new file mode 100644
index 0000000000..9f3a3e65d7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c35song.fd
@@ -0,0 +1,23 @@
+% This is the file c35song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c35song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 5
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C35}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C35}{song}{m}{n}{<-> CJK * c5so12}{\CJKnormal}
+\DeclareFontShape{C35}{song}{bx}{n}{<-> CJKb * c5so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c36song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c36song.fd
new file mode 100644
index 0000000000..a576981f5a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c36song.fd
@@ -0,0 +1,23 @@
+% This is the file c36song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c36song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 6
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C36}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C36}{song}{m}{n}{<-> CJK * c6so12}{\CJKnormal}
+\DeclareFontShape{C36}{song}{bx}{n}{<-> CJKb * c6so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c37song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c37song.fd
new file mode 100644
index 0000000000..d8a21bf344
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/CNS/c37song.fd
@@ -0,0 +1,23 @@
+% This is the file c37song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c37song.fd}[\filedate\space\fileversion]
+
+
+% Chinese traditional characters
+%
+% character set: CNS 11643-1992 plane 7
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C37}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C37}{song}{m}{n}{<-> CJK * c7so12}{\CJKnormal}
+\DeclareFontShape{C37}{song}{bx}{n}{<-> CJKb * c7so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/GB.cap b/language/chinese/CJK/cjk-4.8.5/texinput/GB/GB.cap
new file mode 100644
index 0000000000..f77bfc0da6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/GB.cap
@@ -0,0 +1,86 @@
+% This is the file GB.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{GB.cap}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: GB 2312-80
+% encoding: EUC
+
+\renewcommand\contentsname{ฤฟยผ}
+\renewcommand\listfigurename{ฒๅอผ}
+\renewcommand\listtablename{ฑํธ๑}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ฒฮฟผฮฤฯื}}
+ {\renewcommand\bibname{ฒฮฟผฮฤฯื}}
+
+\renewcommand\indexname{ห๗า}
+
+\newcommand\prefigurename{ตฺ}
+\newcommand\postfigurename{อผ}
+\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename}
+
+\newcommand\pretablename{ตฺ}
+\newcommand\posttablename{ฑํ}
+\renewcommand\tableformat{\pretablename~\thetable~\posttablename}
+
+\newcommand\prepartname{ตฺ}
+\newcommand\postpartname{ฒฟทึ}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \newcommand\prechaptername{ตฺ}
+% \newcommand\postchaptername{ีย}
+% \newcommand\presectionname{ตฺ}
+% \newcommand\postsectionname{ฝฺ}
+% \newcommand\preappendixname{ตฺ}
+% \newcommand\postappendixname{ธฝยผ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ีชาช}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{ธฝผ}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand\today{\number\year ฤ๊\number\month ิย\number\day ศี}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ าป\or ถ\or ศ\or หฤ\or ฮๅ\or
+ ม๙\or ฦ฿\or ฐห\or พล\or สฎ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-china
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/GB.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/GB/GB.cpx
new file mode 100644
index 0000000000..d24994ce2b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/GB.cpx
@@ -0,0 +1,84 @@
+% This is the file GB.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{GB.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: GB 2312-80
+% encoding: EUC
+%
+% preprocessed
+
+\renewcommand\contentsname{ฤ191ย188}
+\renewcommand\listfigurename{ฒ229อ188}
+\renewcommand\listtablename{ฑ237ธ241}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ฒ206ฟ188ฮ196ฯ215}}
+ {\renewcommand\bibname{ฒ206ฟ188ฮ196ฯ215}}
+
+\renewcommand\indexname{ห247า253}
+
+\newcommand\prefigurename{ต218}
+\newcommand\postfigurename{อ188}
+\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename}
+
+\newcommand\pretablename{ต218}
+\newcommand\posttablename{ฑ237}
+\renewcommand\tableformat{\pretablename~\thetable~\posttablename}
+
+\newcommand\prepartname{ต218}
+\newcommand\postpartname{ฒ191ท214}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \newcommand\prechaptername{ต218}
+% \newcommand\postchaptername{ี194}
+% \newcommand\presectionname{ต218}
+% \newcommand\postsectionname{ฝ218}
+% \newcommand\preappendixname{ต218}
+% \newcommand\postappendixname{ธ189ย188}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ี170า170}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{ธ189ผ254}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand\today{%
+ \number\year ฤ234\number\month ิ194\number\day ศ213}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase #1\or
+ า187\or ถ254\or ศ253\or ห196\or ฮ229\or
+ ม249\or ฦ223\or ฐ203\or พ197\or ส174\fi}}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10fs.fd b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10fs.fd
new file mode 100644
index 0000000000..1ecdbb103d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10fs.fd
@@ -0,0 +1,25 @@
+% This is the file c10fs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c10fs.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C10}{fs}{\hyphenchar \font\m@ne}
+
+% jfs56
+
+\DeclareFontShape{C10}{fs}{m}{n}{<-> CJK * gsfs14}{\CJKnormal}
+\DeclareFontShape{C10}{fs}{bx}{n}{<-> CJKb * gsfs14}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gbsn.fd b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gbsn.fd
new file mode 100644
index 0000000000..839cd72e23
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gbsn.fd
@@ -0,0 +1,25 @@
+% This is the file c10gbsn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c10gbsn.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+% Arphic PL TrueType font AR PL SungtiL GB / BousungEG-Light-GB
+
+\DeclareFontFamily{C10}{gbsn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{gbsn}{m}{n}{<-> CJK * gbsnlp}{\CJKnormal}
+\DeclareFontShape{C10}{gbsn}{bx}{n}{<-> CJKb * gbsnlp}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gbsn.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gbsn.fdx
new file mode 100644
index 0000000000..d65645ce6c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gbsn.fdx
@@ -0,0 +1,70 @@
+% This is the file c10gbsn.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c10gbsn.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.5em}
+\CJKvdef{simpleoffset}{-.1em}
+
+\CJKvdef{m/n/01/1}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/01/2}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/01/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/01/18}{\CJKsymbolsimple{18}}
+\CJKvdef{m/n/01/19}{\CJKsymbolsimple{19}}
+\CJKvdef{m/n/01/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/01/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/01/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/01/23}{\CJKsymbolsimple{23}}
+\CJKvdef{m/n/01/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/01/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/01/26}{\CJKsymbolsimple{26}}
+\CJKvdef{m/n/01/27}{\CJKsymbolsimple{27}}
+\CJKvdef{m/n/01/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/01/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/01/30}{\CJKsymbolsimple{30}}
+\CJKvdef{m/n/01/195}{\CJKsymbolsimple{195}}
+\CJKvdef{m/n/01/196}{\CJKsymbolsimple{196}}
+\CJKvdef{m/n/01/199}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{199}\hss}}
+\CJKvdef{m/n/01/201}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{201}\hss}}
+\CJKvdef{m/n/01/246}{\CJKsymbolsimple{246}}
+\CJKvdef{m/n/01/248}{\CJKsymbolsimple{248}}
+\CJKvdef{m/n/02/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/02/24}{\CJKsymbolsimple{24}}
+
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/17}{m/n/01/17}
+\CJKvlet{bx/n/01/18}{m/n/01/18}
+\CJKvlet{bx/n/01/19}{m/n/01/19}
+\CJKvlet{bx/n/01/20}{m/n/01/20}
+\CJKvlet{bx/n/01/21}{m/n/01/21}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/23}{m/n/01/23}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/25}{m/n/01/25}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/27}{m/n/01/27}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/195}{m/n/01/195}
+\CJKvlet{bx/n/01/196}{m/n/01/196}
+\CJKvlet{bx/n/01/199}{m/n/01/199}
+\CJKvlet{bx/n/01/201}{m/n/01/201}
+\CJKvlet{bx/n/01/246}{m/n/01/246}
+\CJKvlet{bx/n/01/248}{m/n/01/248}
+\CJKvlet{bx/n/02/22}{m/n/02/22}
+\CJKvlet{bx/n/02/24}{m/n/02/24}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gkai.fd b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gkai.fd
new file mode 100644
index 0000000000..9c5750852a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gkai.fd
@@ -0,0 +1,25 @@
+% This is the file c10gkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c10gkai.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+% Arphic PL TrueType font AR PL KaitiM GB / GBZenKai-Medium
+
+\DeclareFontFamily{C10}{gkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{gkai}{m}{n}{<-> CJK * gkaimp}{\CJKnormal}
+\DeclareFontShape{C10}{gkai}{bx}{n}{<-> CJKb * gkaimp}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gkai.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gkai.fdx
new file mode 100644
index 0000000000..aab66e85c1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10gkai.fdx
@@ -0,0 +1,70 @@
+% This is the file c10gkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c10gkai.fdx}[\filedate\space\fileversion]
+
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.5em}
+\CJKvdef{simpleoffset}{-.1em}
+
+\CJKvdef{m/n/01/1}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{1}\hss}}
+\CJKvdef{m/n/01/2}{\raise .15em \hbox to 1em {\kern -.15em \CJKsymbol{2}\hss}}
+\CJKvdef{m/n/01/17}{\CJKsymbolsimple{17}}
+\CJKvdef{m/n/01/18}{\CJKsymbolsimple{18}}
+\CJKvdef{m/n/01/19}{\CJKsymbolsimple{19}}
+\CJKvdef{m/n/01/20}{\CJKsymbolsimple{20}}
+\CJKvdef{m/n/01/21}{\CJKsymbolsimple{21}}
+\CJKvdef{m/n/01/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/01/23}{\CJKsymbolsimple{23}}
+\CJKvdef{m/n/01/24}{\CJKsymbolsimple{24}}
+\CJKvdef{m/n/01/25}{\CJKsymbolsimple{25}}
+\CJKvdef{m/n/01/26}{\CJKsymbolsimple{26}}
+\CJKvdef{m/n/01/27}{\CJKsymbolsimple{27}}
+\CJKvdef{m/n/01/28}{\CJKsymbolsimple{28}}
+\CJKvdef{m/n/01/29}{\CJKsymbolsimple{29}}
+\CJKvdef{m/n/01/30}{\CJKsymbolsimple{30}}
+\CJKvdef{m/n/01/195}{\CJKsymbolsimple{195}}
+\CJKvdef{m/n/01/196}{\CJKsymbolsimple{196}}
+\CJKvdef{m/n/01/199}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{199}\hss}}
+\CJKvdef{m/n/01/201}{
+ \raise .25em \hbox to 1em {\kern -.35em \CJKsymbol{201}\hss}}
+\CJKvdef{m/n/01/246}{\CJKsymbolsimple{246}}
+\CJKvdef{m/n/01/248}{\CJKsymbolsimple{248}}
+\CJKvdef{m/n/02/22}{\CJKsymbolsimple{22}}
+\CJKvdef{m/n/02/24}{\CJKsymbolsimple{24}}
+
+\CJKvlet{bx/n/01/1}{m/n/01/1}
+\CJKvlet{bx/n/01/2}{m/n/01/2}
+\CJKvlet{bx/n/01/17}{m/n/01/17}
+\CJKvlet{bx/n/01/18}{m/n/01/18}
+\CJKvlet{bx/n/01/19}{m/n/01/19}
+\CJKvlet{bx/n/01/20}{m/n/01/20}
+\CJKvlet{bx/n/01/21}{m/n/01/21}
+\CJKvlet{bx/n/01/22}{m/n/01/22}
+\CJKvlet{bx/n/01/23}{m/n/01/23}
+\CJKvlet{bx/n/01/24}{m/n/01/24}
+\CJKvlet{bx/n/01/25}{m/n/01/25}
+\CJKvlet{bx/n/01/26}{m/n/01/26}
+\CJKvlet{bx/n/01/27}{m/n/01/27}
+\CJKvlet{bx/n/01/28}{m/n/01/28}
+\CJKvlet{bx/n/01/29}{m/n/01/29}
+\CJKvlet{bx/n/01/30}{m/n/01/30}
+\CJKvlet{bx/n/01/195}{m/n/01/195}
+\CJKvlet{bx/n/01/196}{m/n/01/196}
+\CJKvlet{bx/n/01/199}{m/n/01/199}
+\CJKvlet{bx/n/01/201}{m/n/01/201}
+\CJKvlet{bx/n/01/246}{m/n/01/246}
+\CJKvlet{bx/n/01/248}{m/n/01/248}
+\CJKvlet{bx/n/02/22}{m/n/02/22}
+\CJKvlet{bx/n/02/24}{m/n/02/24}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10song.fd
new file mode 100644
index 0000000000..df5f591476
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c10song.fd
@@ -0,0 +1,23 @@
+% This is the file c10song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c10song.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C10}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C10}{song}{m}{n}{<-> CJKsub * fs/m/n}{}
+\DeclareFontShape{C10}{song}{bx}{n}{<-> CJKsub * fs/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c11song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c11song.fd
new file mode 100644
index 0000000000..b0b2939e02
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c11song.fd
@@ -0,0 +1,23 @@
+% This is the file c11song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c11song.fd}[\filedate\space\fileversion]
+
+
+% simplified Chinese characters
+%
+% character set: GB 2312-80
+% font encoding: pmC
+
+\DeclareFontFamily{C11}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C11}{song}{m}{n}{<-> sCJKfixed * wccs}{\CJKnormal}
+\DeclareFontShape{C11}{song}{bx}{n}{<-> sCJKfixedb * wccs}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c19song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c19song.fd
new file mode 100644
index 0000000000..d543001cd7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c19song.fd
@@ -0,0 +1,23 @@
+% This is the file c19song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c19song.fd}[\filedate\space\fileversion]
+
+
+% Chinese characters (extension of GB 2312)
+%
+% character set: GBK
+% font encoding: CJK (extended)
+
+\DeclareFontFamily{C19}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C19}{song}{m}{n}{<-> CJK * gbk}{\CJKnormal}
+\DeclareFontShape{C19}{song}{bx}{n}{<-> CJKb * gbk}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c20song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c20song.fd
new file mode 100644
index 0000000000..617b1be7da
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c20song.fd
@@ -0,0 +1,31 @@
+% This is the file c20song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c20song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C20}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C20}{song}{m}{n}{
+ <5> <6> <7> <8> <9> CJKfixed * gtso12
+ <10> <10.95> <12> sCJKfixed * gtso12
+ <14.4> <17.28> <20.74> sCJKfixed * gtso17
+ <24.88> CJKfixed * gtso17}{\CJKnormal}
+\DeclareFontShape{C20}{song}{bx}{n}{
+ <5> <6> <7> <8> <9> CJKfixedb * gtso12
+ <10> <10.95> <12> sCJKfixedb * gtso12
+ <14.4> <17.28> <20.74> sCJKfixedb * gtso17
+ <24.88> CJKfixedb * gtso17}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/GB/c21song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c21song.fd
new file mode 100644
index 0000000000..f5eed9d80b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/GB/c21song.fd
@@ -0,0 +1,23 @@
+% This is the file c21song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c21song.fd}[\filedate\space\fileversion]
+
+
+% traditional Chinese characters
+%
+% character set: GB/T 12345-90
+% font encoding: pmC
+
+\DeclareFontFamily{C21}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C21}{song}{m}{n}{<-> sCJKfixed * wcct}{\CJKnormal}
+\DeclareFontShape{C21}{song}{bx}{n}{<-> sCJKfixedb * wcct}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.bdg b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.bdg
new file mode 100644
index 0000000000..7d5a0b2f0d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.bdg
@@ -0,0 +1,131 @@
+% This is the file EUC-JP.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{EUC-JP.bdg}[\filedate\space\fileversion]
+
+
+% The EUC-JP bindings (with single shifts).
+
+\global\@namedef{CJK@EUC-JPBinding}{
+ \CJK@nameppdef{^^8e}
+ \CJK@namepppdef{^^8f}
+
+ \CJK@nameppdef{^^a1}
+ \CJK@nameppdef{^^a2}
+ \CJK@nameppdef{^^a3}
+ \CJK@nameppdef{^^a4}
+ \CJK@nameppdef{^^a5}
+ \CJK@nameppdef{^^a6}
+ \CJK@nameppdef{^^a7}
+ \CJK@nameppdef{^^a8}
+ \CJK@nameppdef{^^a9}
+ \CJK@nameppdef{^^aa}
+ \CJK@nameppdef{^^ab}
+ \CJK@nameppdef{^^ac}
+ \CJK@nameppdef{^^ad}
+ \CJK@nameppdef{^^ae}
+ \CJK@nameppdef{^^af}
+ \CJK@nameppdef{^^b0}
+ \CJK@nameppdef{^^b1}
+ \CJK@nameppdef{^^b2}
+ \CJK@nameppdef{^^b3}
+ \CJK@nameppdef{^^b4}
+ \CJK@nameppdef{^^b5}
+ \CJK@nameppdef{^^b6}
+ \CJK@nameppdef{^^b7}
+ \CJK@nameppdef{^^b8}
+ \CJK@nameppdef{^^b9}
+ \CJK@nameppdef{^^ba}
+ \CJK@nameppdef{^^bb}
+ \CJK@nameppdef{^^bc}
+ \CJK@nameppdef{^^bd}
+ \CJK@nameppdef{^^be}
+ \CJK@nameppdef{^^bf}
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.chr b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.chr
new file mode 100644
index 0000000000..c317dfae3c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.chr
@@ -0,0 +1,246 @@
+% This is the file EUC-JP.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{EUC-JP.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling characters in EUC-JP encoding.
+
+\global\@namedef{CJK@EUC-JPChr}{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+% for half-width katakana accessed via the SS2 code (0x8E)
+
+ \CJK@global\def\CJK@shiftchar##1{
+ {\ifnum ##1 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##1 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@altenc}{}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \def\CJK@plane{}
+ \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@altenc}{}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.enc b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.enc
new file mode 100644
index 0000000000..00fe23c82a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JP.enc
@@ -0,0 +1,141 @@
+% This is the file EUC-JP.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{EUC-JP.enc}[\filedate\space\fileversion]
+
+
+% EUC-JP encoding:
+%
+% Half-width katakana (C49) 0x8EA1-0x8EDF
+% JIS X 0212-1992 (C5x) 0x8FA1A1-0x8FFEFE
+% JIS X 0208:1997 (C4x) 0xA1A1-0xFEFE
+
+\global\@namedef{CJK@EUC-JPEncoding}{
+ \CJK@loadChr{EUC-JP}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@shiftError becomes active
+ \CJK@namegdef{^^8e}##1{\@gobble\CJK@shiftError
+ \CJK@shiftchar{##1}}
+ \CJK@namegdef{^^8f}##1##2{\@gobble\CJK@shiftError
+ \CJKchar[JIS2]{\number ##1}{\number ##2}}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JPdnp.enc b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JPdnp.enc
new file mode 100644
index 0000000000..6d82836884
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/EUC-JPdnp.enc
@@ -0,0 +1,142 @@
+% This is the file EUC-JPdnp.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{EUC-JPdnp.enc}[\filedate\space\fileversion]
+
+
+% EUC-JP encoding with dnp font encoding:
+%
+% Half-width katakana (C49) 0x8EA1-0x8EDF
+% JIS X 0212-1992 (C5x) 0x8FA1A1-0x8FFEFE
+% JIS X 0208:1997 (C4x) 0xA1A1-0xFEFE
+
+\global\@namedef{CJK@EUC-JPdnpEncoding}{
+ \CJK@loadChr{EUC-JP}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@shiftError becomes active
+ \CJK@namegdef{^^8e}##1{\@gobble\CJK@shiftError
+ \CJK@shiftchar{##1}}
+ \CJK@namegdef{^^8f}##1##2{\@gobble\CJK@shiftError
+ \CJKchar[JIS2dnp]{\number ##1}{\number ##2}}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{sy}{-160}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{sy}{ -60}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@char {roma}{-128}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{hira}{-160}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{kata}{-160}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char {greek}{-160}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {russian}{-160}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {keisen}{-160}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {ka}{-161}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char {ka}{ -67}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@charx{ka}{kb}{27}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {kb}{-135}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char {kb}{ -41}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@charx{kb}{kc}{53}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char {kc}{-109}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {kc}{ -15}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@charx{kc}{kd}{79}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char {kd}{ -83}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@charx{kd}{ke}{11}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {ke}{-151}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char {ke}{ -57}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@charx{ke}{kf}{37}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char {kf}{-125}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {kf}{ -31}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@charx{kf}{kg}{63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char {kg}{ -99}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {kg}{ -5}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@charx{kg}{kh}{89}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char {kh}{ -73}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@charx{kh}{ki}{21}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {ki}{-141}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char {ki}{ -47}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@charx{ki}{kj}{47}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char {kj}{-115}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {kj}{ -21}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@charx{kj}{kk}{73}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char {kk}{ -89}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@charx{kk}{kl}{ 5}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {kl}{-157}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char {kl}{-63}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {km}{-161}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {km}{ -67}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{km}{kn}{27}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {kn}{-135}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char {kn}{ -41}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@charx{kn}{ko}{53}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {ko}{-109}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char {ko}{ -15}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@charx{ko}{kp}{79}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {kp}{ -83}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{kp}{kq}{11}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {kq}{-151}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char {kq}{ -57}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{kq}{kr}{37}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {kr}{-125}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char {kr}{ -31}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@charx{kr}{ks}{63}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {ks}{ -99}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char {ks}{ -5}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@charx{ks}{kt}{89}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {kt}{ -73}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{kt}{ku}{21}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {ku}{-141}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char {ku}{ -47}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@charx{ku}{kv}{47}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {kv}{-115}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char {kv}{ -21}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@charx{kv}{kw}{73}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {kw}{ -89}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{kw}{kx}{ 5}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {kx}{-157}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char {kx}{ -63}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{kx}{ky}{31}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {ky}{-131}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char {ky}{ -37}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@charx{ky}{kz}{57}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {kz}{-105}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@errxx}
+}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/JIS.cap b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/JIS.cap
new file mode 100644
index 0000000000..2343a53afa
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/JIS.cap
@@ -0,0 +1,83 @@
+% This is the file JIS.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{JIS.cap}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: EUC
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{ฬผก}
+
+\renewcommand\listfigurename{ฟฬผก}
+% \newcommand\listfigurename{ฟฐ์อ๗}
+
+\renewcommand\listtablename{ษฝฬผก}
+% \newcommand\listtablename{ษฝฐ์อ๗}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ปฒนอสธธฅ}
+ }
+ {\renewcommand\bibname{ดุฯขฝ๑ภา}
+% \renewcommand\bibname{ปฒนอสธธฅ}
+ }
+\renewcommand\indexname{บ๗ฐ๚}
+
+\renewcommand\figurename{ฟ}
+\renewcommand\tablename{ษฝ}
+
+\newcommand\prepartname{ย่}
+\newcommand\postpartname{ษ๔}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{ษํฯฟ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{อืป}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 สฟภฎ\,\fi
+ \ifnum\count0=1 ธต\else\number\count0\fi
+ \,วฏ\hspace{.5em}\nobreak\number\month
+ \,ท๎\hspace{.5em}\nobreak\number\day\,ฦ}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ ฐ์\or ฦ๓\or ปฐ\or ปอ\or ธ\or
+ ฯป\or ผท\or ศฌ\or ถๅ\or ฝฝ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-japan
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/JIS.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/JIS.cpx
new file mode 100644
index 0000000000..a0cf83415e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/JIS.cpx
@@ -0,0 +1,80 @@
+% This is the file JIS.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{JIS.cpx}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: EUC
+%
+% preprocessed
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{ฬ220ผ161}
+
+\renewcommand\listfigurename{ฟ222ฬ220ผ161}
+% \newcommand\listfigurename{ฟ222ฐ236อ247}
+
+\renewcommand\listtablename{ษ189ฬ220ผ161}
+% \newcommand\listtablename{ษ189ฐ236อ247}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ป178น205ส184ธ165}
+ }
+ {\renewcommand\bibname{ด216ฯ162ฝ241ภ210}
+% \renewcommand\bibname{ป178น205ส184ธ165}
+ }
+\renewcommand\indexname{บ247ฐ250}
+
+\renewcommand\figurename{ฟ222}
+\renewcommand\tablename{ษ189}
+
+\newcommand\prepartname{ย232}
+\newcommand\postpartname{ษ244}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{ษ237ฯ191}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{อ215ป221}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 ส191ภ174\,\fi
+ \ifnum\count0=1 ธ181\else\number\count0\fi
+ \,ว175\hspace{.5em}\nobreak\number\month
+ \,ท238\hspace{.5em}\nobreak\number\day\,ฦ252}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase #1\or
+ ฐ236\or ฦ243\or ป176\or ป205\or ธ222\or
+ ฯ187\or ผ183\or ศ172\or ถ229\or ฝ189\fi}}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/JISdnp.enc b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/JISdnp.enc
new file mode 100644
index 0000000000..b888ac61bf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/JISdnp.enc
@@ -0,0 +1,132 @@
+% This is the file JISdnp.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{JISdnp.enc}[\filedate\space\fileversion]
+
+
+% JIS encoding for DNP fonts:
+% each plane has 94 characters (GB, JIS etc.) (0xA1 - 0xFE).
+
+\global\@namedef{CJK@JISdnpEncoding}{
+ \CJK@loadChr{standard}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{sy}{-160}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{sy}{ -60}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@char {roma}{-128}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{hira}{-160}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{kata}{-160}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char {greek}{-160}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {russian}{-160}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {keisen}{-160}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {ka}{-161}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char {ka}{ -67}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@charx{ka}{kb}{27}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {kb}{-135}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char {kb}{ -41}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@charx{kb}{kc}{53}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char {kc}{-109}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {kc}{ -15}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@charx{kc}{kd}{79}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char {kd}{ -83}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@charx{kd}{ke}{11}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {ke}{-151}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char {ke}{ -57}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@charx{ke}{kf}{37}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char {kf}{-125}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {kf}{ -31}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@charx{kf}{kg}{63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char {kg}{ -99}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {kg}{ -5}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@charx{kg}{kh}{89}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char {kh}{ -73}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@charx{kh}{ki}{21}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {ki}{-141}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char {ki}{ -47}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@charx{ki}{kj}{47}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char {kj}{-115}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {kj}{ -21}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@charx{kj}{kk}{73}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char {kk}{ -89}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@charx{kk}{kl}{ 5}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {kl}{-157}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char {kl}{-63}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {km}{-161}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {km}{ -67}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{km}{kn}{27}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {kn}{-135}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char {kn}{ -41}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@charx{kn}{ko}{53}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {ko}{-109}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char {ko}{ -15}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@charx{ko}{kp}{79}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {kp}{ -83}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{kp}{kq}{11}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {kq}{-151}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char {kq}{ -57}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{kq}{kr}{37}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {kr}{-125}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char {kr}{ -31}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@charx{kr}{ks}{63}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {ks}{ -99}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char {ks}{ -5}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@charx{ks}{kt}{89}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {kt}{ -73}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{kt}{ku}{21}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {ku}{-141}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char {ku}{ -47}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@charx{ku}{kv}{47}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {kv}{-115}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char {kv}{ -21}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@charx{kv}{kw}{73}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {kw}{ -89}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{kw}{kx}{ 5}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {kx}{-157}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char {kx}{ -63}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{kx}{ky}{31}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {ky}{-131}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char {ky}{ -37}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@charx{ky}{kz}{57}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {kz}{-105}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@errxx}
+}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c40song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c40song.fd
new file mode 100644
index 0000000000..d02c88a18c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c40song.fd
@@ -0,0 +1,25 @@
+% This is the file c40song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c40song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C40}{song}{\hyphenchar \font\m@ne}
+
+% kanji48
+
+\DeclareFontShape{C40}{song}{m}{n}{<-> CJK * jsso12}{\CJKnormal}
+\DeclareFontShape{C40}{song}{bx}{n}{<-> CJKb * jsso12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c41song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c41song.fd
new file mode 100644
index 0000000000..3ccf078edc
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c41song.fd
@@ -0,0 +1,23 @@
+% This is the file c41song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c41song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: pmC
+
+\DeclareFontFamily{C41}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C41}{song}{m}{n}{<-> sCJKfixed * wjis}{\CJKnormal}
+\DeclareFontShape{C41}{song}{bx}{n}{<-> sCJKfixedb * wjis}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c42song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c42song.fd
new file mode 100644
index 0000000000..04efcc35df
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c42song.fd
@@ -0,0 +1,28 @@
+% This is the file c42song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c42song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS encoding scheme using DNP fonts.
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: DNP
+
+\DeclareFontFamily{C42}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C42}{song}{m}{n}
+ {<5> <6> <7> <8> <9> <10> <12> DNPgen * dmj
+ <10.95><14.4><17.28><20.74><24.88> DNP *[10] dmj}{}
+\DeclareFontShape{C42}{song}{bx}{n}
+ {<5> <6> <7> <8> <9> <10> <12> DNPgen * dgj
+ <10.95><14.4><17.28><20.74><24.88> DNP *[10] dgj}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c43song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c43song.fd
new file mode 100644
index 0000000000..42479c424e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c43song.fd
@@ -0,0 +1,27 @@
+% This is the file c43song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c43song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% font encoding: DNP
+
+\DeclareFontFamily{C43}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C43}{song}{m}{n}
+ {<5> <6> <7> <8> <9> <10> <12>
+ <10.95><14.4><17.28><20.74><24.88> DNP * mj}{}
+\DeclareFontShape{C43}{song}{bx}{n}
+ {<5> <6> <7> <8> <9> <10> <12>
+ <10.95><14.4><17.28><20.74><24.88> DNP * bj}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c50song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c50song.fd
new file mode 100644
index 0000000000..279a838e40
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/JIS/c50song.fd
@@ -0,0 +1,26 @@
+% This is the file c50song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c50song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters in JIS supplement encoding scheme.
+% Japanese characters
+%
+% character set: JIS X 0212-1990
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C50}{song}{\hyphenchar \font\m@ne}
+
+% kanjix48
+
+\DeclareFontShape{C50}{song}{m}{n}{<-> CJK * j2so12}{\CJKnormal}
+\DeclareFontShape{C50}{song}{bx}{n}{<-> CJKb * j2so12}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/HLaTeX.chr b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/HLaTeX.chr
new file mode 100644
index 0000000000..40a6c602be
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/HLaTeX.chr
@@ -0,0 +1,229 @@
+% This is the file HLaTeX.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{HLaTeX.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling hangul fonts and characters.
+
+\gdef\CJK@HLaTeXChr{
+
+% KS symbols -- for Hiragana and Katagana, no kinsoku shori is provided!
+
+ \CJK@global\def\CJK@symbA##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+ \CJK@global\def\CJK@symbB##1{
+ {\CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{KS}{A3}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \ifnum ##1 = 220\relax
+ \edef\CJK@plane{04}
+ \else
+ \edef\CJK@plane{07}
+ \fi
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/163/\number ##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{163}{##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{KS}{A3}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}}
+
+ \CJK@global\def\CJK@symbC##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \ifnum ##3 < ##1\relax
+ \edef\CJK@plane{07}
+ \else
+ \ifnum ##3 > 245\relax
+ \edef\CJK@plane{06}
+ \else
+ \edef\CJK@plane{04}
+ \fi
+ \fi
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+ \CJK@global\def\CJK@symbD##1{
+ {\CJK@numbToHex{\CJK@gtemp}{##1}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{KS}{A1}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \edef\CJK@plane{05}
+ \usefont{\CJK@symbEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/161/\number ##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{161}{##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{KS}{A1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}}
+
+
+% Hangul syllables
+
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@altcharx##1##2##3##4##5{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \ifnum ##5 < ##3\relax
+ \edef\CJK@plane{##1}
+ \else
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##4/\number ##5/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##4}{##5}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+% Hanja
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##2/\number ##3/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##2}{##3}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4##5{
+ {\CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \ifnum ##5 < ##3\relax
+ \edef\CJK@plane{##1}
+ \else
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number ##4/\number ##5/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbols{##4}{##5}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/KSHL.enc b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/KSHL.enc
new file mode 100644
index 0000000000..5ce501024b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/KSHL.enc
@@ -0,0 +1,134 @@
+% This is the file KSHL.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{KSHL.enc}[\filedate\space\fileversion]
+
+
+% KS encoding for HLaTeX >= 0.97 fonts:
+% each plane has 94 characters (but 256 characters per subfont);
+% Hangul subfonts have the postfixes 0 - 9
+% Hanja subfonts have the postfixes 10 - 29
+% Symbol subfonts have the postfixes 04 - 07
+
+\gdef\CJK@KSHLEncoding{
+ \CJK@loadChr{HLaTeX}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@symbD{##1}}% Symbols
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@symbA{05}{162}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@symbB{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@symbA{04}{164}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@symbA{07}{165}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@symbA{06}{166}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@symbA{05}{167}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@symbC{176}{168}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@symbC{177}{169}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@symbA{06}{170}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@symbA{06}{171}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@symbA{07}{172}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@altchar {0}{176}{##1}}% Hangul syllables
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@altchar {0}{177}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@altcharx{0}{1}{229}{178}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@altchar {1}{179}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@altchar {1}{180}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@altcharx{1}{2}{203}{181}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@altchar {2}{182}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@altchar {2}{183}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@altcharx{2}{3}{177}{184}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@altchar {3}{185}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@altcharx{3}{4}{245}{186}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@altchar {4}{187}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@altchar {4}{188}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@altcharx{4}{5}{219}{189}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@altchar {5}{190}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@altchar {5}{191}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@altcharx{5}{6}{193}{192}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@altchar {6}{193}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@altchar {6}{194}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@altcharx{6}{7}{167}{195}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@altchar {7}{196}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@altcharx{7}{8}{235}{197}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@altchar {8}{198}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@altchar {8}{199}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@altcharx{8}{9}{209}{200}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {10}{202}{##1}}% Hanja
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {10}{203}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{10}{11}{229}{204}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {11}{205}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {11}{206}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{11}{12}{203}{207}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {12}{208}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {12}{209}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{12}{13}{177}{210}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {13}{211}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{13}{14}{245}{212}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {14}{213}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {14}{214}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{14}{15}{219}{215}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {15}{216}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {15}{217}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{15}{16}{193}{218}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {16}{219}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char {16}{220}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@charx{16}{17}{167}{221}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {17}{222}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{17}{18}{235}{223}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {18}{224}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {18}{225}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{18}{19}{209}{226}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {19}{227}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {19}{228}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{19}{20}{183}{229}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {20}{230}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{20}{21}{251}{231}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {21}{232}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {21}{233}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{21}{22}{225}{234}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {22}{235}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {22}{236}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{22}{23}{199}{237}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {23}{238}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char {23}{239}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@charx{23}{24}{173}{240}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {24}{241}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{24}{25}{241}{242}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {25}{243}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {25}{244}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{25}{26}{215}{245}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {26}{246}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {26}{247}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{26}{27}{189}{248}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {27}{249}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char {27}{250}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@charx{27}{28}{163}{251}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {28}{252}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{28}{29}{231}{253}{##1}}
+}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63bm.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63bm.fd
new file mode 100644
index 0000000000..53a54b72c7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63bm.fd
@@ -0,0 +1,53 @@
+% This is file c63bm.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63bm.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcBom
+
+\DeclareFontFamily{C63}{bm}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{bm}{c}{n}{<-> CJK * wbmc}{}
+\DeclareFontShape{C63}{bm}{c}{sl}{<-> CJK * wbmco}{}
+\DeclareFontShape{C63}{bm}{c}{it}{<-> CJKssub * bm/c/sl}{}
+
+\DeclareFontShape{C63}{bm}{m}{n}{<-> CJK * wbm}{}
+\DeclareFontShape{C63}{bm}{m}{sl}{<-> CJK * wbmo}{}
+\DeclareFontShape{C63}{bm}{m}{it}{<-> CJKssub * bm/m/sl}{}
+
+\DeclareFontShape{C63}{bm}{x}{n}{<-> CJK * wbmx}{}
+\DeclareFontShape{C63}{bm}{x}{sl}{<-> CJK * wbmxo}{}
+\DeclareFontShape{C63}{bm}{x}{it}{<-> CJKssub * bm/x/sl}{}
+
+\DeclareFontShape{C63}{bm}{ux}{n}{<-> CJK * wbmu}{}
+\DeclareFontShape{C63}{bm}{ux}{sl}{<-> CJK * wbmuo}{}
+\DeclareFontShape{C63}{bm}{ux}{it}{<-> CJKssub * bm/ux/sl}{}
+
+\DeclareFontShape{C63}{bm}{bc}{n}{<-> CJKb * wbmc}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bc}{sl}{<-> CJKb * wbmco}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bc}{it}{<-> CJKssub * bm/bc/sl}{}
+
+\DeclareFontShape{C63}{bm}{b}{n}{<-> CJKb * wbm}{\CJKbold}
+\DeclareFontShape{C63}{bm}{b}{sl}{<-> CJKb * wbmo}{\CJKbold}
+\DeclareFontShape{C63}{bm}{b}{it}{<-> CJKssub * bm/b/sl}{}
+
+\DeclareFontShape{C63}{bm}{bx}{n}{<-> CJKb * wbmx}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bx}{sl}{<-> CJKb * wbmxo}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bx}{it}{<-> CJKssub * bm/bx/sl}{}
+
+\DeclareFontShape{C63}{bm}{bux}{n}{<-> CJKb * wbmu}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bux}{sl}{<-> CJKb * wbmuo}{\CJKbold}
+\DeclareFontShape{C63}{bm}{bux}{it}{<-> CJKssub * bm/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63dn.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63dn.fd
new file mode 100644
index 0000000000..1bf465aa6e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63dn.fd
@@ -0,0 +1,69 @@
+% This is file c63dn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63dn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcDinaru
+
+\DeclareFontFamily{C63}{dn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{dn}{c}{n}{<-> CJK * wdnc}{}
+\DeclareFontShape{C63}{dn}{c}{sl}{<-> CJK * wdnco}{}
+\DeclareFontShape{C63}{dn}{c}{it}{<-> CJKssub * dn/c/sl}{}
+
+\DeclareFontShape{C63}{dn}{m}{n}{<-> CJK * wdn}{}
+\DeclareFontShape{C63}{dn}{m}{sl}{<-> CJK * wdno}{}
+\DeclareFontShape{C63}{dn}{m}{it}{<-> CJKssub * dn/m/sl}{}
+
+\DeclareFontShape{C63}{dn}{x}{n}{<-> CJK * wdnx}{}
+\DeclareFontShape{C63}{dn}{x}{sl}{<-> CJK * wdnxo}{}
+\DeclareFontShape{C63}{dn}{x}{it}{<-> CJKssub * dn/x/sl}{}
+
+\DeclareFontShape{C63}{dn}{ux}{n}{<-> CJK * wdnu}{}
+\DeclareFontShape{C63}{dn}{ux}{sl}{<-> CJK * wdnuo}{}
+\DeclareFontShape{C63}{dn}{ux}{it}{<-> CJKssub * dn/ux/sl}{}
+
+\DeclareFontShape{C63}{dn}{bc}{n}{<-> CJK * wdnbc}{}
+\DeclareFontShape{C63}{dn}{bc}{sl}{<-> CJK * wdnbco}{}
+\DeclareFontShape{C63}{dn}{bc}{it}{<-> CJKssub * dn/bc/sl}{}
+
+\DeclareFontShape{C63}{dn}{b}{n}{<-> CJK * wdnb}{}
+\DeclareFontShape{C63}{dn}{b}{sl}{<-> CJK * wdnbo}{}
+\DeclareFontShape{C63}{dn}{b}{it}{<-> CJKssub * dn/b/sl}{}
+
+\DeclareFontShape{C63}{dn}{bx}{n}{<-> CJK * wdnbx}{}
+\DeclareFontShape{C63}{dn}{bx}{sl}{<-> CJK * wdnbxo}{}
+\DeclareFontShape{C63}{dn}{bx}{it}{<-> CJKssub * dn/bx/sl}{}
+
+\DeclareFontShape{C63}{dn}{bux}{n}{<-> CJK * wdnbu}{}
+\DeclareFontShape{C63}{dn}{bux}{sl}{<-> CJK * wdnbuo}{}
+\DeclareFontShape{C63}{dn}{bux}{it}{<-> CJKssub * dn/bux/sl}{}
+
+\DeclareFontShape{C63}{dn}{lc}{n}{<-> CJK * wdnlc}{}
+\DeclareFontShape{C63}{dn}{lc}{sl}{<-> CJK * wdnlco}{}
+\DeclareFontShape{C63}{dn}{lc}{it}{<-> CJKssub * dn/lc/sl}{}
+
+\DeclareFontShape{C63}{dn}{l}{n}{<-> CJK * wdnl}{}
+\DeclareFontShape{C63}{dn}{l}{sl}{<-> CJK * wdnlo}{}
+\DeclareFontShape{C63}{dn}{l}{it}{<-> CJKssub * dn/l/sl}{}
+
+\DeclareFontShape{C63}{dn}{lx}{n}{<-> CJK * wdnlx}{}
+\DeclareFontShape{C63}{dn}{lx}{sl}{<-> CJK * wdnlxo}{}
+\DeclareFontShape{C63}{dn}{lx}{it}{<-> CJKssub * dn/lx/sl}{}
+
+\DeclareFontShape{C63}{dn}{lux}{n}{<-> CJK * wdnlu}{}
+\DeclareFontShape{C63}{dn}{lux}{sl}{<-> CJK * wdnluo}{}
+\DeclareFontShape{C63}{dn}{lux}{it}{<-> CJKssub * dn/lux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gr.fd
new file mode 100644
index 0000000000..4bd21a106a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gr.fd
@@ -0,0 +1,53 @@
+% This is file c63gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGraphic
+
+\DeclareFontFamily{C63}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{gr}{c}{n}{<-> CJK * wgrc}{}
+\DeclareFontShape{C63}{gr}{c}{sl}{<-> CJK * wgrco}{}
+\DeclareFontShape{C63}{gr}{c}{it}{<-> CJKssub * gr/c/sl}{}
+
+\DeclareFontShape{C63}{gr}{m}{n}{<-> CJK * wgr}{}
+\DeclareFontShape{C63}{gr}{m}{sl}{<-> CJK * wgro}{}
+\DeclareFontShape{C63}{gr}{m}{it}{<-> CJKssub * gr/m/sl}{}
+
+\DeclareFontShape{C63}{gr}{x}{n}{<-> CJK * wgrx}{}
+\DeclareFontShape{C63}{gr}{x}{sl}{<-> CJK * wgrxo}{}
+\DeclareFontShape{C63}{gr}{x}{it}{<-> CJKssub * gr/x/sl}{}
+
+\DeclareFontShape{C63}{gr}{ux}{n}{<-> CJK * wgru}{}
+\DeclareFontShape{C63}{gr}{ux}{sl}{<-> CJK * wgruo}{}
+\DeclareFontShape{C63}{gr}{ux}{it}{<-> CJKssub * gr/ux/sl}{}
+
+\DeclareFontShape{C63}{gr}{bc}{n}{<-> CJK * wgrbc}{}
+\DeclareFontShape{C63}{gr}{bc}{sl}{<-> CJK * wgrbco}{}
+\DeclareFontShape{C63}{gr}{bc}{it}{<-> CJKssub * gr/bc/sl}{}
+
+\DeclareFontShape{C63}{gr}{b}{n}{<-> CJK * wgrb}{}
+\DeclareFontShape{C63}{gr}{b}{sl}{<-> CJK * wgrbo}{}
+\DeclareFontShape{C63}{gr}{b}{it}{<-> CJKssub * gr/b/sl}{}
+
+\DeclareFontShape{C63}{gr}{bx}{n}{<-> CJK * wgrbx}{}
+\DeclareFontShape{C63}{gr}{bx}{sl}{<-> CJK * wgrbxo}{}
+\DeclareFontShape{C63}{gr}{bx}{it}{<-> CJKssub * gr/bx/sl}{}
+
+\DeclareFontShape{C63}{gr}{bux}{n}{<-> CJK * wgrbu}{}
+\DeclareFontShape{C63}{gr}{bux}{sl}{<-> CJK * wgrbuo}{}
+\DeclareFontShape{C63}{gr}{bux}{it}{<-> CJKssub * gr/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gs.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gs.fd
new file mode 100644
index 0000000000..1dbb1fd71c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gs.fd
@@ -0,0 +1,53 @@
+% This is file c63gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGungseo
+
+\DeclareFontFamily{C63}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{gs}{bc}{n}{<-> CJK * wgsc}{}
+\DeclareFontShape{C63}{gs}{bc}{sl}{<-> CJK * wgsco}{}
+\DeclareFontShape{C63}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C63}{gs}{b}{n}{<-> CJK * wgs}{}
+\DeclareFontShape{C63}{gs}{b}{sl}{<-> CJK * wgso}{}
+\DeclareFontShape{C63}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C63}{gs}{bx}{n}{<-> CJK * wgsx}{}
+\DeclareFontShape{C63}{gs}{bx}{sl}{<-> CJK * wgsxo}{}
+\DeclareFontShape{C63}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C63}{gs}{bux}{n}{<-> CJK * wgsu}{}
+\DeclareFontShape{C63}{gs}{bux}{sl}{<-> CJK * wgsuo}{}
+\DeclareFontShape{C63}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\DeclareFontShape{C63}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{}
+\DeclareFontShape{C63}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{}
+\DeclareFontShape{C63}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C63}{gs}{m}{n}{<-> CJKssub * gs/b/n}{}
+\DeclareFontShape{C63}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{}
+\DeclareFontShape{C63}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C63}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{}
+\DeclareFontShape{C63}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{}
+\DeclareFontShape{C63}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C63}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{}
+\DeclareFontShape{C63}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{}
+\DeclareFontShape{C63}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gt.fd
new file mode 100644
index 0000000000..a31e213745
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63gt.fd
@@ -0,0 +1,53 @@
+% This is file c63gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGothic
+
+\DeclareFontFamily{C63}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{gt}{c}{n}{<-> CJK * wgtc}{}
+\DeclareFontShape{C63}{gt}{c}{sl}{<-> CJK * wgtco}{}
+\DeclareFontShape{C63}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{}
+
+\DeclareFontShape{C63}{gt}{m}{n}{<-> CJK * wgt}{}
+\DeclareFontShape{C63}{gt}{m}{sl}{<-> CJK * wgto}{}
+\DeclareFontShape{C63}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{}
+
+\DeclareFontShape{C63}{gt}{x}{n}{<-> CJK * wgtx}{}
+\DeclareFontShape{C63}{gt}{x}{sl}{<-> CJK * wgtxo}{}
+\DeclareFontShape{C63}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{}
+
+\DeclareFontShape{C63}{gt}{ux}{n}{<-> CJK * wgtu}{}
+\DeclareFontShape{C63}{gt}{ux}{sl}{<-> CJK * wgtuo}{}
+\DeclareFontShape{C63}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{}
+
+\DeclareFontShape{C63}{gt}{bc}{n}{<-> CJK * wgtbc}{}
+\DeclareFontShape{C63}{gt}{bc}{sl}{<-> CJK * wgtbco}{}
+\DeclareFontShape{C63}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{}
+
+\DeclareFontShape{C63}{gt}{b}{n}{<-> CJK * wgtb}{}
+\DeclareFontShape{C63}{gt}{b}{sl}{<-> CJK * wgtbo}{}
+\DeclareFontShape{C63}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{}
+
+\DeclareFontShape{C63}{gt}{bx}{n}{<-> CJK * wgtbx}{}
+\DeclareFontShape{C63}{gt}{bx}{sl}{<-> CJK * wgtbxo}{}
+\DeclareFontShape{C63}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{}
+
+\DeclareFontShape{C63}{gt}{bux}{n}{<-> CJK * wgtbu}{}
+\DeclareFontShape{C63}{gt}{bux}{sl}{<-> CJK * wgtbuo}{}
+\DeclareFontShape{C63}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jgt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jgt.fd
new file mode 100644
index 0000000000..ef1fa5cea3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jgt.fd
@@ -0,0 +1,53 @@
+% This is file c63jgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63jgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoGothic
+
+\DeclareFontFamily{C63}{jgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jgt}{c}{n}{<-> CJK * wjgtc}{}
+\DeclareFontShape{C63}{jgt}{c}{sl}{<-> CJK * wjgtco}{}
+\DeclareFontShape{C63}{jgt}{c}{it}{<-> CJKssub * jgt/c/sl}{}
+
+\DeclareFontShape{C63}{jgt}{m}{n}{<-> CJK * wjgt}{}
+\DeclareFontShape{C63}{jgt}{m}{sl}{<-> CJK * wjgto}{}
+\DeclareFontShape{C63}{jgt}{m}{it}{<-> CJKssub * jgt/m/sl}{}
+
+\DeclareFontShape{C63}{jgt}{x}{n}{<-> CJK * wjgtx}{}
+\DeclareFontShape{C63}{jgt}{x}{sl}{<-> CJK * wjgtxo}{}
+\DeclareFontShape{C63}{jgt}{x}{it}{<-> CJKssub * jgt/x/sl}{}
+
+\DeclareFontShape{C63}{jgt}{ux}{n}{<-> CJK * wjgtu}{}
+\DeclareFontShape{C63}{jgt}{ux}{sl}{<-> CJK * wjgtuo}{}
+\DeclareFontShape{C63}{jgt}{ux}{it}{<-> CJKssub * jgt/ux/sl}{}
+
+\DeclareFontShape{C63}{jgt}{bc}{n}{<-> CJKb * wjgtc}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bc}{sl}{<-> CJKb * wjgtco}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bc}{it}{<-> CJKssub * jgt/bc/sl}{}
+
+\DeclareFontShape{C63}{jgt}{b}{n}{<-> CJKb * wjgt}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{b}{sl}{<-> CJKb * wjgto}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{b}{it}{<-> CJKssub * jgt/b/sl}{}
+
+\DeclareFontShape{C63}{jgt}{bx}{n}{<-> CJKb * wjgtx}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bx}{sl}{<-> CJKb * wjgtxo}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bx}{it}{<-> CJKssub * jgt/bx/sl}{}
+
+\DeclareFontShape{C63}{jgt}{bux}{n}{<-> CJKb * wjgtu}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bux}{sl}{<-> CJKb * wjgtuo}{\CJKbold}
+\DeclareFontShape{C63}{jgt}{bux}{it}{<-> CJKssub * jgt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jmj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jmj.fd
new file mode 100644
index 0000000000..2e1a2bfb0f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jmj.fd
@@ -0,0 +1,53 @@
+% This is file c63jmj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63jmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoMyoungjo
+
+\DeclareFontFamily{C63}{jmj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jmj}{c}{n}{<-> CJK * wjmjc}{}
+\DeclareFontShape{C63}{jmj}{c}{sl}{<-> CJK * wjmjco}{}
+\DeclareFontShape{C63}{jmj}{c}{it}{<-> CJKssub * jmj/c/sl}{}
+
+\DeclareFontShape{C63}{jmj}{m}{n}{<-> CJK * wjmj}{}
+\DeclareFontShape{C63}{jmj}{m}{sl}{<-> CJK * wjmjo}{}
+\DeclareFontShape{C63}{jmj}{m}{it}{<-> CJKssub * jmj/m/sl}{}
+
+\DeclareFontShape{C63}{jmj}{x}{n}{<-> CJK * wjmjx}{}
+\DeclareFontShape{C63}{jmj}{x}{sl}{<-> CJK * wjmjxo}{}
+\DeclareFontShape{C63}{jmj}{x}{it}{<-> CJKssub * jmj/x/sl}{}
+
+\DeclareFontShape{C63}{jmj}{ux}{n}{<-> CJK * wjmju}{}
+\DeclareFontShape{C63}{jmj}{ux}{sl}{<-> CJK * wjmjuo}{}
+\DeclareFontShape{C63}{jmj}{ux}{it}{<-> CJKssub * jmj/ux/sl}{}
+
+\DeclareFontShape{C63}{jmj}{bc}{n}{<-> CJKb * wjmjc}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bc}{sl}{<-> CJKb * wjmjco}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bc}{it}{<-> CJKssub * jmj/bc/sl}{}
+
+\DeclareFontShape{C63}{jmj}{b}{n}{<-> CJKb * wjmj}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{b}{sl}{<-> CJKb * wjmjo}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{b}{it}{<-> CJKssub * jmj/b/sl}{}
+
+\DeclareFontShape{C63}{jmj}{bx}{n}{<-> CJKb * wjmjx}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bx}{sl}{<-> CJKb * wjmjxo}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bx}{it}{<-> CJKssub * jmj/bx/sl}{}
+
+\DeclareFontShape{C63}{jmj}{bux}{n}{<-> CJKb * wjmju}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bux}{sl}{<-> CJKb * wjmjuo}{\CJKbold}
+\DeclareFontShape{C63}{jmj}{bux}{it}{<-> CJKssub * jmj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jnv.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jnv.fd
new file mode 100644
index 0000000000..4bc3278c91
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jnv.fd
@@ -0,0 +1,53 @@
+% This is file c63jnv.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63jnv.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoNovel
+
+\DeclareFontFamily{C63}{jnv}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jnv}{c}{n}{<-> CJK * wjnvc}{}
+\DeclareFontShape{C63}{jnv}{c}{sl}{<-> CJK * wjnvco}{}
+\DeclareFontShape{C63}{jnv}{c}{it}{<-> CJKssub * jnv/c/sl}{}
+
+\DeclareFontShape{C63}{jnv}{m}{n}{<-> CJK * wjnv}{}
+\DeclareFontShape{C63}{jnv}{m}{sl}{<-> CJK * wjnvo}{}
+\DeclareFontShape{C63}{jnv}{m}{it}{<-> CJKssub * jnv/m/sl}{}
+
+\DeclareFontShape{C63}{jnv}{x}{n}{<-> CJK * wjnvx}{}
+\DeclareFontShape{C63}{jnv}{x}{sl}{<-> CJK * wjnvxo}{}
+\DeclareFontShape{C63}{jnv}{x}{it}{<-> CJKssub * jnv/x/sl}{}
+
+\DeclareFontShape{C63}{jnv}{ux}{n}{<-> CJK * wjnvu}{}
+\DeclareFontShape{C63}{jnv}{ux}{sl}{<-> CJK * wjnvuo}{}
+\DeclareFontShape{C63}{jnv}{ux}{it}{<-> CJKssub * jnv/ux/sl}{}
+
+\DeclareFontShape{C63}{jnv}{bc}{n}{<-> CJKb * wjnvc}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bc}{sl}{<-> CJKb * wjnvco}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bc}{it}{<-> CJKssub * jnv/bc/sl}{}
+
+\DeclareFontShape{C63}{jnv}{b}{n}{<-> CJKb * wjnv}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{b}{sl}{<-> CJKb * wjnvo}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{b}{it}{<-> CJKssub * jnv/b/sl}{}
+
+\DeclareFontShape{C63}{jnv}{bx}{n}{<-> CJKb * wjnvx}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bx}{sl}{<-> CJKb * wjnvxo}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bx}{it}{<-> CJKssub * jnv/bx/sl}{}
+
+\DeclareFontShape{C63}{jnv}{bux}{n}{<-> CJKb * wjnvu}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bux}{sl}{<-> CJKb * wjnvuo}{\CJKbold}
+\DeclareFontShape{C63}{jnv}{bux}{it}{<-> CJKssub * jnv/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jsr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jsr.fd
new file mode 100644
index 0000000000..80d4631a65
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63jsr.fd
@@ -0,0 +1,53 @@
+% This is file c63jsr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63jsr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoSora
+
+\DeclareFontFamily{C63}{jsr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{jsr}{c}{n}{<-> CJK * wjsrc}{}
+\DeclareFontShape{C63}{jsr}{c}{sl}{<-> CJK * wjsrco}{}
+\DeclareFontShape{C63}{jsr}{c}{it}{<-> CJKssub * jsr/c/sl}{}
+
+\DeclareFontShape{C63}{jsr}{m}{n}{<-> CJK * wjsr}{}
+\DeclareFontShape{C63}{jsr}{m}{sl}{<-> CJK * wjsro}{}
+\DeclareFontShape{C63}{jsr}{m}{it}{<-> CJKssub * jsr/m/sl}{}
+
+\DeclareFontShape{C63}{jsr}{x}{n}{<-> CJK * wjsrx}{}
+\DeclareFontShape{C63}{jsr}{x}{sl}{<-> CJK * wjsrxo}{}
+\DeclareFontShape{C63}{jsr}{x}{it}{<-> CJKssub * jsr/x/sl}{}
+
+\DeclareFontShape{C63}{jsr}{ux}{n}{<-> CJK * wjsru}{}
+\DeclareFontShape{C63}{jsr}{ux}{sl}{<-> CJK * wjsruo}{}
+\DeclareFontShape{C63}{jsr}{ux}{it}{<-> CJKssub * jsr/ux/sl}{}
+
+\DeclareFontShape{C63}{jsr}{bc}{n}{<-> CJKb * wjsrc}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bc}{sl}{<-> CJKb * wjsrco}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bc}{it}{<-> CJKssub * jsr/bc/sl}{}
+
+\DeclareFontShape{C63}{jsr}{b}{n}{<-> CJKb * wjsr}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{b}{sl}{<-> CJKb * wjsro}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{b}{it}{<-> CJKssub * jsr/b/sl}{}
+
+\DeclareFontShape{C63}{jsr}{bx}{n}{<-> CJKb * wjsrx}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bx}{sl}{<-> CJKb * wjsrxo}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bx}{it}{<-> CJKssub * jsr/bx/sl}{}
+
+\DeclareFontShape{C63}{jsr}{bux}{n}{<-> CJKb * wjsru}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bux}{sl}{<-> CJKb * wjsruo}{\CJKbold}
+\DeclareFontShape{C63}{jsr}{bux}{it}{<-> CJKssub * jsr/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63mj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63mj.fd
new file mode 100644
index 0000000000..cd99102f69
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63mj.fd
@@ -0,0 +1,53 @@
+% This is file c63mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C63}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C63}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C63}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C63}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C63}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C63}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C63}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C63}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C63}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C63}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C63}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C63}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C63}{mj}{bc}{n}{<-> CJK * wmjbc}{}
+\DeclareFontShape{C63}{mj}{bc}{sl}{<-> CJK * wmjbco}{}
+\DeclareFontShape{C63}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C63}{mj}{b}{n}{<-> CJK * wmjb}{}
+\DeclareFontShape{C63}{mj}{b}{sl}{<-> CJK * wmjbo}{}
+\DeclareFontShape{C63}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C63}{mj}{bx}{n}{<-> CJK * wmjbx}{}
+\DeclareFontShape{C63}{mj}{bx}{sl}{<-> CJK * wmjbxo}{}
+\DeclareFontShape{C63}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C63}{mj}{bux}{n}{<-> CJK * wmjbu}{}
+\DeclareFontShape{C63}{mj}{bux}{sl}{<-> CJK * wmjbuo}{}
+\DeclareFontShape{C63}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pg.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pg.fd
new file mode 100644
index 0000000000..24a2c021d0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pg.fd
@@ -0,0 +1,53 @@
+% This is file c63pg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63pg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgi
+
+\DeclareFontFamily{C63}{pg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{pg}{c}{n}{<-> CJK * wpgc}{}
+\DeclareFontShape{C63}{pg}{c}{sl}{<-> CJK * wpgco}{}
+\DeclareFontShape{C63}{pg}{c}{it}{<-> CJKssub * wwpg/c/sl}{}
+
+\DeclareFontShape{C63}{pg}{m}{n}{<-> CJK * wpg}{}
+\DeclareFontShape{C63}{pg}{m}{sl}{<-> CJK * wpgo}{}
+\DeclareFontShape{C63}{pg}{m}{it}{<-> CJKssub * wwpg/m/sl}{}
+
+\DeclareFontShape{C63}{pg}{x}{n}{<-> CJK * wpgx}{}
+\DeclareFontShape{C63}{pg}{x}{sl}{<-> CJK * wpgxo}{}
+\DeclareFontShape{C63}{pg}{x}{it}{<-> CJKssub * wwpg/x/sl}{}
+
+\DeclareFontShape{C63}{pg}{ux}{n}{<-> CJK * wpgu}{}
+\DeclareFontShape{C63}{pg}{ux}{sl}{<-> CJK * wpguo}{}
+\DeclareFontShape{C63}{pg}{ux}{it}{<-> CJKssub * wwpg/ux/sl}{}
+
+\DeclareFontShape{C63}{pg}{bc}{n}{<-> CJK * wpgbc}{}
+\DeclareFontShape{C63}{pg}{bc}{sl}{<-> CJK * wpgbco}{}
+\DeclareFontShape{C63}{pg}{bc}{it}{<-> CJKssub * wwpg/bc/sl}{}
+
+\DeclareFontShape{C63}{pg}{b}{n}{<-> CJK * wpgb}{}
+\DeclareFontShape{C63}{pg}{b}{sl}{<-> CJK * wpgbo}{}
+\DeclareFontShape{C63}{pg}{b}{it}{<-> CJKssub * wwpg/b/sl}{}
+
+\DeclareFontShape{C63}{pg}{bx}{n}{<-> CJK * wpgbx}{}
+\DeclareFontShape{C63}{pg}{bx}{sl}{<-> CJK * wpgbxo}{}
+\DeclareFontShape{C63}{pg}{bx}{it}{<-> CJKssub * wwpg/bx/sl}{}
+
+\DeclareFontShape{C63}{pg}{bux}{n}{<-> CJK * wpgbu}{}
+\DeclareFontShape{C63}{pg}{bux}{sl}{<-> CJK * wpgbuo}{}
+\DeclareFontShape{C63}{pg}{bux}{it}{<-> CJKssub * wwpg/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pga.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pga.fd
new file mode 100644
index 0000000000..7f795391f8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pga.fd
@@ -0,0 +1,53 @@
+% This is file c63pga.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63pga.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgia
+
+\DeclareFontFamily{C63}{pga}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{pga}{c}{n}{<-> CJK * wpgac}{}
+\DeclareFontShape{C63}{pga}{c}{sl}{<-> CJK * wpgaco}{}
+\DeclareFontShape{C63}{pga}{c}{it}{<-> CJKssub * pga/c/sl}{}
+
+\DeclareFontShape{C63}{pga}{m}{n}{<-> CJK * wpga}{}
+\DeclareFontShape{C63}{pga}{m}{sl}{<-> CJK * wpgao}{}
+\DeclareFontShape{C63}{pga}{m}{it}{<-> CJKssub * pga/m/sl}{}
+
+\DeclareFontShape{C63}{pga}{x}{n}{<-> CJK * wpgax}{}
+\DeclareFontShape{C63}{pga}{x}{sl}{<-> CJK * wpgaxo}{}
+\DeclareFontShape{C63}{pga}{x}{it}{<-> CJKssub * pga/x/sl}{}
+
+\DeclareFontShape{C63}{pga}{ux}{n}{<-> CJK * wpgau}{}
+\DeclareFontShape{C63}{pga}{ux}{sl}{<-> CJK * wpgauo}{}
+\DeclareFontShape{C63}{pga}{ux}{it}{<-> CJKssub * pga/ux/sl}{}
+
+\DeclareFontShape{C63}{pga}{bc}{n}{<-> CJKb * wpgac}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bc}{sl}{<-> CJKb * wpgaco}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bc}{it}{<-> CJKssub * pga/bc/sl}{}
+
+\DeclareFontShape{C63}{pga}{b}{n}{<-> CJKb * wpga}{\CJKbold}
+\DeclareFontShape{C63}{pga}{b}{sl}{<-> CJKb * wpgao}{\CJKbold}
+\DeclareFontShape{C63}{pga}{b}{it}{<-> CJKssub * pga/b/sl}{}
+
+\DeclareFontShape{C63}{pga}{bx}{n}{<-> CJKb * wpgax}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bx}{sl}{<-> CJKb * wpgaxo}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bx}{it}{<-> CJKssub * pga/bx/sl}{}
+
+\DeclareFontShape{C63}{pga}{bux}{n}{<-> CJKb * wpgau}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bux}{sl}{<-> CJKb * wpgauo}{\CJKbold}
+\DeclareFontShape{C63}{pga}{bux}{it}{<-> CJKssub * pga/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63ph.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63ph.fd
new file mode 100644
index 0000000000..7cd0996fda
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63ph.fd
@@ -0,0 +1,53 @@
+% This is file c63ph.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63ph.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPenHeulim
+
+\DeclareFontFamily{C63}{ph}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{ph}{c}{n}{<-> CJK * wphc}{}
+\DeclareFontShape{C63}{ph}{c}{sl}{<-> CJK * wphco}{}
+\DeclareFontShape{C63}{ph}{c}{it}{<-> CJKssub * ph/c/sl}{}
+
+\DeclareFontShape{C63}{ph}{m}{n}{<-> CJK * wph}{}
+\DeclareFontShape{C63}{ph}{m}{sl}{<-> CJK * wpho}{}
+\DeclareFontShape{C63}{ph}{m}{it}{<-> CJKssub * ph/m/sl}{}
+
+\DeclareFontShape{C63}{ph}{x}{n}{<-> CJK * wphx}{}
+\DeclareFontShape{C63}{ph}{x}{sl}{<-> CJK * wphxo}{}
+\DeclareFontShape{C63}{ph}{x}{it}{<-> CJKssub * ph/x/sl}{}
+
+\DeclareFontShape{C63}{ph}{ux}{n}{<-> CJK * wphu}{}
+\DeclareFontShape{C63}{ph}{ux}{sl}{<-> CJK * wphuo}{}
+\DeclareFontShape{C63}{ph}{ux}{it}{<-> CJKssub * ph/ux/sl}{}
+
+\DeclareFontShape{C63}{ph}{bc}{n}{<-> CJKb * wphc}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bc}{sl}{<-> CJKb * wphco}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bc}{it}{<-> CJKssub * ph/bc/sl}{}
+
+\DeclareFontShape{C63}{ph}{b}{n}{<-> CJKb * wph}{\CJKbold}
+\DeclareFontShape{C63}{ph}{b}{sl}{<-> CJKb * wpho}{\CJKbold}
+\DeclareFontShape{C63}{ph}{b}{it}{<-> CJKssub * ph/b/sl}{}
+
+\DeclareFontShape{C63}{ph}{bx}{n}{<-> CJKb * wphx}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bx}{sl}{<-> CJKb * wphxo}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bx}{it}{<-> CJKssub * ph/bx/sl}{}
+
+\DeclareFontShape{C63}{ph}{bux}{n}{<-> CJKb * wphu}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bux}{sl}{<-> CJKb * wphuo}{\CJKbold}
+\DeclareFontShape{C63}{ph}{bux}{it}{<-> CJKssub * ph/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pn.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pn.fd
new file mode 100644
index 0000000000..e4a979077f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63pn.fd
@@ -0,0 +1,53 @@
+% This is file c63pn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63pn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPen
+
+\DeclareFontFamily{C63}{pn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{pn}{c}{n}{<-> CJK * wpnc}{}
+\DeclareFontShape{C63}{pn}{c}{sl}{<-> CJK * wpnco}{}
+\DeclareFontShape{C63}{pn}{c}{it}{<-> CJKssub * pn/c/sl}{}
+
+\DeclareFontShape{C63}{pn}{m}{n}{<-> CJK * wpn}{}
+\DeclareFontShape{C63}{pn}{m}{sl}{<-> CJK * wpno}{}
+\DeclareFontShape{C63}{pn}{m}{it}{<-> CJKssub * pn/m/sl}{}
+
+\DeclareFontShape{C63}{pn}{x}{n}{<-> CJK * wpnx}{}
+\DeclareFontShape{C63}{pn}{x}{sl}{<-> CJK * wpnxo}{}
+\DeclareFontShape{C63}{pn}{x}{it}{<-> CJKssub * pn/x/sl}{}
+
+\DeclareFontShape{C63}{pn}{ux}{n}{<-> CJK * wpnu}{}
+\DeclareFontShape{C63}{pn}{ux}{sl}{<-> CJK * wpnuo}{}
+\DeclareFontShape{C63}{pn}{ux}{it}{<-> CJKssub * pn/ux/sl}{}
+
+\DeclareFontShape{C63}{pn}{bc}{n}{<-> CJKb * wpnc}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bc}{sl}{<-> CJKb * wpnco}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bc}{it}{<-> CJKssub * pn/bc/sl}{}
+
+\DeclareFontShape{C63}{pn}{b}{n}{<-> CJKb * wpn}{\CJKbold}
+\DeclareFontShape{C63}{pn}{b}{sl}{<-> CJKb * wpno}{\CJKbold}
+\DeclareFontShape{C63}{pn}{b}{it}{<-> CJKssub * pn/b/sl}{}
+
+\DeclareFontShape{C63}{pn}{bx}{n}{<-> CJKb * wpnx}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bx}{sl}{<-> CJKb * wpnxo}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bx}{it}{<-> CJKssub * pn/bx/sl}{}
+
+\DeclareFontShape{C63}{pn}{bux}{n}{<-> CJKb * wpnu}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bux}{sl}{<-> CJKb * wpnuo}{\CJKbold}
+\DeclareFontShape{C63}{pn}{bux}{it}{<-> CJKssub * pn/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63sh.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63sh.fd
new file mode 100644
index 0000000000..62b984d6d1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63sh.fd
@@ -0,0 +1,53 @@
+% This is file c63sh.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63sh.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcShinmunMyoungjo
+
+\DeclareFontFamily{C63}{hwsh}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{sh}{c}{n}{<-> CJK * wshc}{}
+\DeclareFontShape{C63}{sh}{c}{sl}{<-> CJK * wshco}{}
+\DeclareFontShape{C63}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{}
+
+\DeclareFontShape{C63}{sh}{m}{n}{<-> CJK * wsh}{}
+\DeclareFontShape{C63}{sh}{m}{sl}{<-> CJK * wsho}{}
+\DeclareFontShape{C63}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{}
+
+\DeclareFontShape{C63}{sh}{x}{n}{<-> CJK * wshx}{}
+\DeclareFontShape{C63}{sh}{x}{sl}{<-> CJK * wshxo}{}
+\DeclareFontShape{C63}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{}
+
+\DeclareFontShape{C63}{sh}{ux}{n}{<-> CJK * wshu}{}
+\DeclareFontShape{C63}{sh}{ux}{sl}{<-> CJK * wshuo}{}
+\DeclareFontShape{C63}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{}
+
+\DeclareFontShape{C63}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{}
+\DeclareFontShape{C63}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{}
+\DeclareFontShape{C63}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{}
+
+\DeclareFontShape{C63}{sh}{b}{n}{<-> CJKssub * sh/m/n}{}
+\DeclareFontShape{C63}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{}
+\DeclareFontShape{C63}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{}
+
+\DeclareFontShape{C63}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{}
+\DeclareFontShape{C63}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{}
+\DeclareFontShape{C63}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{}
+
+\DeclareFontShape{C63}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{}
+\DeclareFontShape{C63}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{}
+\DeclareFontShape{C63}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63tz.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63tz.fd
new file mode 100644
index 0000000000..a0f8c67af9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63tz.fd
@@ -0,0 +1,53 @@
+% This is file c63tz.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63tz.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcTypewriter
+
+\DeclareFontFamily{C63}{tz}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{tz}{c}{n}{<-> CJK * wttc}{}
+\DeclareFontShape{C63}{tz}{c}{sl}{<-> CJK * wttco}{}
+\DeclareFontShape{C63}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{}
+
+\DeclareFontShape{C63}{tz}{m}{n}{<-> CJK * wtt}{}
+\DeclareFontShape{C63}{tz}{m}{sl}{<-> CJK * wtto}{}
+\DeclareFontShape{C63}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{}
+
+\DeclareFontShape{C63}{tz}{x}{n}{<-> CJK * wttx}{}
+\DeclareFontShape{C63}{tz}{x}{sl}{<-> CJK * wttxo}{}
+\DeclareFontShape{C63}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{}
+
+\DeclareFontShape{C63}{tz}{ux}{n}{<-> CJK * wttu}{}
+\DeclareFontShape{C63}{tz}{ux}{sl}{<-> CJK * wttuo}{}
+\DeclareFontShape{C63}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{}
+
+\DeclareFontShape{C63}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{}
+
+\DeclareFontShape{C63}{tz}{b}{n}{<-> CJKb * wtt}{\CJKbold}
+\DeclareFontShape{C63}{tz}{b}{sl}{<-> CJKb * wtto}{\CJKbold}
+\DeclareFontShape{C63}{tz}{b}{it}{<-> CJKssub * tz/b/sl}{}
+
+\DeclareFontShape{C63}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{}
+
+\DeclareFontShape{C63}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold}
+\DeclareFontShape{C63}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63vd.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63vd.fd
new file mode 100644
index 0000000000..66cc912c0f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63vd.fd
@@ -0,0 +1,53 @@
+% This is file c63vd.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63vd.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcVada
+
+\DeclareFontFamily{C63}{vd}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{vd}{c}{n}{<-> CJK * wvdc}{}
+\DeclareFontShape{C63}{vd}{c}{sl}{<-> CJK * wvdco}{}
+\DeclareFontShape{C63}{vd}{c}{it}{<-> CJKssub * vd/c/sl}{}
+
+\DeclareFontShape{C63}{vd}{m}{n}{<-> CJK * wvd}{}
+\DeclareFontShape{C63}{vd}{m}{sl}{<-> CJK * wvdo}{}
+\DeclareFontShape{C63}{vd}{m}{it}{<-> CJKssub * vd/m/sl}{}
+
+\DeclareFontShape{C63}{vd}{x}{n}{<-> CJK * wvdx}{}
+\DeclareFontShape{C63}{vd}{x}{sl}{<-> CJK * wvdxo}{}
+\DeclareFontShape{C63}{vd}{x}{it}{<-> CJKssub * vd/x/sl}{}
+
+\DeclareFontShape{C63}{vd}{ux}{n}{<-> CJK * wvdu}{}
+\DeclareFontShape{C63}{vd}{ux}{sl}{<-> CJK * wvduo}{}
+\DeclareFontShape{C63}{vd}{ux}{it}{<-> CJKssub * vd/ux/sl}{}
+
+\DeclareFontShape{C63}{vd}{bc}{n}{<-> CJKb * wvdc}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bc}{sl}{<-> CJKb * wvdco}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bc}{it}{<-> CJKssub * vd/bc/sl}{}
+
+\DeclareFontShape{C63}{vd}{b}{n}{<-> CJKb * wvd}{\CJKbold}
+\DeclareFontShape{C63}{vd}{b}{sl}{<-> CJKb * wvdo}{\CJKbold}
+\DeclareFontShape{C63}{vd}{b}{it}{<-> CJKssub * vd/b/sl}{}
+
+\DeclareFontShape{C63}{vd}{bx}{n}{<-> CJKb * wvdx}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bx}{sl}{<-> CJKb * wvdxo}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bx}{it}{<-> CJKssub * vd/bx/sl}{}
+
+\DeclareFontShape{C63}{vd}{bux}{n}{<-> CJKb * wvdu}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bux}{sl}{<-> CJKb * wvduo}{\CJKbold}
+\DeclareFontShape{C63}{vd}{bux}{it}{<-> CJKssub * vd/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63yt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63yt.fd
new file mode 100644
index 0000000000..11b979a2d8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c63yt.fd
@@ -0,0 +1,53 @@
+% This is file c63yt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c63yt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcYetgul
+
+\DeclareFontFamily{C63}{yt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C63}{yt}{c}{n}{<-> CJK * wytc}{}
+\DeclareFontShape{C63}{yt}{c}{sl}{<-> CJK * wytco}{}
+\DeclareFontShape{C63}{yt}{c}{it}{<-> CJKssub * yt/c/sl}{}
+
+\DeclareFontShape{C63}{yt}{m}{n}{<-> CJK * wyt}{}
+\DeclareFontShape{C63}{yt}{m}{sl}{<-> CJK * wyto}{}
+\DeclareFontShape{C63}{yt}{m}{it}{<-> CJKssub * yt/m/sl}{}
+
+\DeclareFontShape{C63}{yt}{x}{n}{<-> CJK * wytx}{}
+\DeclareFontShape{C63}{yt}{x}{sl}{<-> CJK * wytxo}{}
+\DeclareFontShape{C63}{yt}{x}{it}{<-> CJKssub * yt/x/sl}{}
+
+\DeclareFontShape{C63}{yt}{ux}{n}{<-> CJK * wytu}{}
+\DeclareFontShape{C63}{yt}{ux}{sl}{<-> CJK * wytuo}{}
+\DeclareFontShape{C63}{yt}{ux}{it}{<-> CJKssub * yt/ux/sl}{}
+
+\DeclareFontShape{C63}{yt}{bc}{n}{<-> CJKb * wytc}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bc}{sl}{<-> CJKb * wytco}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bc}{it}{<-> CJKssub * yt/bc/sl}{}
+
+\DeclareFontShape{C63}{yt}{b}{n}{<-> CJKb * wyt}{\CJKbold}
+\DeclareFontShape{C63}{yt}{b}{sl}{<-> CJKb * wyto}{\CJKbold}
+\DeclareFontShape{C63}{yt}{b}{it}{<-> CJKssub * yt/b/sl}{}
+
+\DeclareFontShape{C63}{yt}{bx}{n}{<-> CJKb * wytx}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bx}{sl}{<-> CJKb * wytxo}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bx}{it}{<-> CJKssub * yt/bx/sl}{}
+
+\DeclareFontShape{C63}{yt}{bux}{n}{<-> CJKb * wytu}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bux}{sl}{<-> CJKb * wytuo}{\CJKbold}
+\DeclareFontShape{C63}{yt}{bux}{it}{<-> CJKssub * yt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64bm.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64bm.fd
new file mode 100644
index 0000000000..35dbc4e552
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64bm.fd
@@ -0,0 +1,53 @@
+% This is file c64bm.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64bm.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcBom
+
+\DeclareFontFamily{C64}{bm}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{bm}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{bm}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{bm}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{bm}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{bm}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{bm}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{bm}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{bm}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{bm}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{bm}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{bm}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{bm}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{bm}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{bm}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{bm}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{bm}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{bm}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{bm}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{bm}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{bm}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{bm}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{bm}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{bm}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{bm}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64dn.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64dn.fd
new file mode 100644
index 0000000000..e699a8fcdf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64dn.fd
@@ -0,0 +1,69 @@
+% This is file c64dn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64dn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcDinaru
+
+\DeclareFontFamily{C64}{dn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{dn}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{dn}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{dn}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{dn}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{dn}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{dn}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{dn}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{dn}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{dn}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{dn}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{dn}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{dn}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{dn}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{dn}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{dn}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{dn}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{dn}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{dn}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{dn}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{dn}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{dn}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{dn}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{dn}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{dn}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\DeclareFontShape{C64}{dn}{lc}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{dn}{lc}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{dn}{lc}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{dn}{l}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{dn}{l}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{dn}{l}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{dn}{lx}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{dn}{lx}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{dn}{lx}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{dn}{lux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{dn}{lux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{dn}{lux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gr.fd
new file mode 100644
index 0000000000..e8da5452bf
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gr.fd
@@ -0,0 +1,53 @@
+% This is file c64gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGraphic
+
+\DeclareFontFamily{C64}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{gr}{c}{n}{<-> CJK * wgrc}{}
+\DeclareFontShape{C64}{gr}{c}{sl}{<-> CJK * wgrco}{}
+\DeclareFontShape{C64}{gr}{c}{it}{<-> CJKssub * gr/c/sl}{}
+
+\DeclareFontShape{C64}{gr}{m}{n}{<-> CJK * wgr}{}
+\DeclareFontShape{C64}{gr}{m}{sl}{<-> CJK * wgro}{}
+\DeclareFontShape{C64}{gr}{m}{it}{<-> CJKssub * gr/m/sl}{}
+
+\DeclareFontShape{C64}{gr}{x}{n}{<-> CJK * wgrx}{}
+\DeclareFontShape{C64}{gr}{x}{sl}{<-> CJK * wgrxo}{}
+\DeclareFontShape{C64}{gr}{x}{it}{<-> CJKssub * gr/x/sl}{}
+
+\DeclareFontShape{C64}{gr}{ux}{n}{<-> CJK * wgru}{}
+\DeclareFontShape{C64}{gr}{ux}{sl}{<-> CJK * wgruo}{}
+\DeclareFontShape{C64}{gr}{ux}{it}{<-> CJKssub * gr/ux/sl}{}
+
+\DeclareFontShape{C64}{gr}{bc}{n}{<-> CJK * wgrbc}{}
+\DeclareFontShape{C64}{gr}{bc}{sl}{<-> CJK * wgrbco}{}
+\DeclareFontShape{C64}{gr}{bc}{it}{<-> CJKssub * gr/bc/sl}{}
+
+\DeclareFontShape{C64}{gr}{b}{n}{<-> CJK * wgrb}{}
+\DeclareFontShape{C64}{gr}{b}{sl}{<-> CJK * wgrbo}{}
+\DeclareFontShape{C64}{gr}{b}{it}{<-> CJKssub * gr/b/sl}{}
+
+\DeclareFontShape{C64}{gr}{bx}{n}{<-> CJK * wgrbx}{}
+\DeclareFontShape{C64}{gr}{bx}{sl}{<-> CJK * wgrbxo}{}
+\DeclareFontShape{C64}{gr}{bx}{it}{<-> CJKssub * gr/bx/sl}{}
+
+\DeclareFontShape{C64}{gr}{bux}{n}{<-> CJK * wgrbu}{}
+\DeclareFontShape{C64}{gr}{bux}{sl}{<-> CJK * wgrbuo}{}
+\DeclareFontShape{C64}{gr}{bux}{it}{<-> CJKssub * gr/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gs.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gs.fd
new file mode 100644
index 0000000000..fc0d18f5fa
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gs.fd
@@ -0,0 +1,53 @@
+% This is file c64gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGungseo
+
+\DeclareFontFamily{C64}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{gs}{bc}{n}{<-> CJK * wgsc}{}
+\DeclareFontShape{C64}{gs}{bc}{sl}{<-> CJK * wgsco}{}
+\DeclareFontShape{C64}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C64}{gs}{b}{n}{<-> CJK * wgs}{}
+\DeclareFontShape{C64}{gs}{b}{sl}{<-> CJK * wgso}{}
+\DeclareFontShape{C64}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C64}{gs}{bx}{n}{<-> CJK * wgsx}{}
+\DeclareFontShape{C64}{gs}{bx}{sl}{<-> CJK * wgsxo}{}
+\DeclareFontShape{C64}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C64}{gs}{bux}{n}{<-> CJK * wgsu}{}
+\DeclareFontShape{C64}{gs}{bux}{sl}{<-> CJK * wgsuo}{}
+\DeclareFontShape{C64}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\DeclareFontShape{C64}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{}
+\DeclareFontShape{C64}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{}
+\DeclareFontShape{C64}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C64}{gs}{m}{n}{<-> CJKssub * gs/b/n}{}
+\DeclareFontShape{C64}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{}
+\DeclareFontShape{C64}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C64}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{}
+\DeclareFontShape{C64}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{}
+\DeclareFontShape{C64}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C64}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{}
+\DeclareFontShape{C64}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{}
+\DeclareFontShape{C64}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gt.fd
new file mode 100644
index 0000000000..b95b54b5ec
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64gt.fd
@@ -0,0 +1,53 @@
+% This is file c64gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGothic
+
+\DeclareFontFamily{C64}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{gt}{c}{n}{<-> CJK * wgtc}{}
+\DeclareFontShape{C64}{gt}{c}{sl}{<-> CJK * wgtco}{}
+\DeclareFontShape{C64}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{}
+
+\DeclareFontShape{C64}{gt}{m}{n}{<-> CJK * wgt}{}
+\DeclareFontShape{C64}{gt}{m}{sl}{<-> CJK * wgto}{}
+\DeclareFontShape{C64}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{}
+
+\DeclareFontShape{C64}{gt}{x}{n}{<-> CJK * wgtx}{}
+\DeclareFontShape{C64}{gt}{x}{sl}{<-> CJK * wgtxo}{}
+\DeclareFontShape{C64}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{}
+
+\DeclareFontShape{C64}{gt}{ux}{n}{<-> CJK * wgtu}{}
+\DeclareFontShape{C64}{gt}{ux}{sl}{<-> CJK * wgtuo}{}
+\DeclareFontShape{C64}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{}
+
+\DeclareFontShape{C64}{gt}{bc}{n}{<-> CJK * wgtbc}{}
+\DeclareFontShape{C64}{gt}{bc}{sl}{<-> CJK * wgtbco}{}
+\DeclareFontShape{C64}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{}
+
+\DeclareFontShape{C64}{gt}{b}{n}{<-> CJK * wgtb}{}
+\DeclareFontShape{C64}{gt}{b}{sl}{<-> CJK * wgtbo}{}
+\DeclareFontShape{C64}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{}
+
+\DeclareFontShape{C64}{gt}{bx}{n}{<-> CJK * wgtbx}{}
+\DeclareFontShape{C64}{gt}{bx}{sl}{<-> CJK * wgtbxo}{}
+\DeclareFontShape{C64}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{}
+
+\DeclareFontShape{C64}{gt}{bux}{n}{<-> CJK * wgtbu}{}
+\DeclareFontShape{C64}{gt}{bux}{sl}{<-> CJK * wgtbuo}{}
+\DeclareFontShape{C64}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jgt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jgt.fd
new file mode 100644
index 0000000000..2804b4082b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jgt.fd
@@ -0,0 +1,53 @@
+% This is file c64jgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64jgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoGothic
+
+\DeclareFontFamily{C64}{jgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jgt}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{jgt}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{jgt}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{jgt}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{jgt}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{jgt}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{jgt}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{jgt}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{jgt}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{jgt}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{jgt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{jgt}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{jgt}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{jgt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{jgt}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{jgt}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{jgt}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{jgt}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{jgt}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{jgt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{jgt}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{jgt}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{jgt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{jgt}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jmj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jmj.fd
new file mode 100644
index 0000000000..fc5c42355d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jmj.fd
@@ -0,0 +1,53 @@
+% This is file c64jmj.fd of the CJK package
+% for using Asian logograjmjs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64jmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoMyoungjo
+
+\DeclareFontFamily{C64}{jmj}{\hyjmjenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jmj}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C64}{jmj}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C64}{jmj}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C64}{jmj}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C64}{jmj}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C64}{jmj}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C64}{jmj}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C64}{jmj}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C64}{jmj}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C64}{jmj}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C64}{jmj}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C64}{jmj}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C64}{jmj}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C64}{jmj}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C64}{jmj}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C64}{jmj}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C64}{jmj}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C64}{jmj}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C64}{jmj}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C64}{jmj}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C64}{jmj}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C64}{jmj}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C64}{jmj}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C64}{jmj}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jnv.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jnv.fd
new file mode 100644
index 0000000000..9fec493b1b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jnv.fd
@@ -0,0 +1,53 @@
+% This is file c64jnv.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64jnv.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoNovel
+
+\DeclareFontFamily{C64}{jnv}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jnv}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{jnv}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{jnv}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{jnv}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{jnv}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{jnv}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{jnv}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{jnv}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{jnv}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{jnv}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{jnv}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{jnv}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{jnv}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{jnv}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{jnv}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{jnv}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{jnv}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{jnv}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{jnv}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{jnv}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{jnv}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{jnv}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{jnv}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{jnv}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jsr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jsr.fd
new file mode 100644
index 0000000000..d6f34f8e7b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64jsr.fd
@@ -0,0 +1,53 @@
+% This is file c64jsr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64jsr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoSora
+
+\DeclareFontFamily{C64}{jsr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{jsr}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{jsr}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{jsr}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{jsr}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{jsr}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{jsr}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{jsr}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{jsr}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{jsr}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{jsr}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{jsr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{jsr}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{jsr}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{jsr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{jsr}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{jsr}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{jsr}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{jsr}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{jsr}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{jsr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{jsr}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{jsr}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{jsr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{jsr}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64mj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64mj.fd
new file mode 100644
index 0000000000..1673eaa14b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64mj.fd
@@ -0,0 +1,53 @@
+% This is file c64mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C64}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C64}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C64}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C64}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C64}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C64}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C64}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C64}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C64}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C64}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C64}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C64}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C64}{mj}{bc}{n}{<-> CJK * wmjbc}{}
+\DeclareFontShape{C64}{mj}{bc}{sl}{<-> CJK * wmjbco}{}
+\DeclareFontShape{C64}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C64}{mj}{b}{n}{<-> CJK * wmjb}{}
+\DeclareFontShape{C64}{mj}{b}{sl}{<-> CJK * wmjbo}{}
+\DeclareFontShape{C64}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C64}{mj}{bx}{n}{<-> CJK * wmjbx}{}
+\DeclareFontShape{C64}{mj}{bx}{sl}{<-> CJK * wmjbxo}{}
+\DeclareFontShape{C64}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C64}{mj}{bux}{n}{<-> CJK * wmjbu}{}
+\DeclareFontShape{C64}{mj}{bux}{sl}{<-> CJK * wmjbuo}{}
+\DeclareFontShape{C64}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pg.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pg.fd
new file mode 100644
index 0000000000..96e6c1264b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pg.fd
@@ -0,0 +1,53 @@
+% This is file c64pg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64pg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgi
+
+\DeclareFontFamily{C64}{pg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{pg}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{pg}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{pg}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{pg}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{pg}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{pg}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{pg}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{pg}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{pg}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{pg}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{pg}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{pg}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{pg}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{pg}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{pg}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{pg}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{pg}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{pg}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{pg}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{pg}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{pg}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{pg}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{pg}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{pg}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pga.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pga.fd
new file mode 100644
index 0000000000..56058915cc
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pga.fd
@@ -0,0 +1,53 @@
+% This is file c64pga.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64pga.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgia
+
+\DeclareFontFamily{C64}{pga}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{pga}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{pga}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{pga}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{pga}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{pga}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{pga}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{pga}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{pga}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{pga}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{pga}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{pga}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{pga}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{pga}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{pga}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{pga}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{pga}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{pga}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{pga}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{pga}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{pga}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{pga}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{pga}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{pga}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{pga}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64ph.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64ph.fd
new file mode 100644
index 0000000000..7f5cb9fc6c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64ph.fd
@@ -0,0 +1,53 @@
+% This is file c64ph.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64ph.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPenHeulim
+
+\DeclareFontFamily{C64}{ph}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{ph}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C64}{ph}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C64}{ph}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C64}{ph}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C64}{ph}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C64}{ph}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C64}{ph}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C64}{ph}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C64}{ph}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C64}{ph}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C64}{ph}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C64}{ph}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C64}{ph}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C64}{ph}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C64}{ph}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C64}{ph}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C64}{ph}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C64}{ph}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C64}{ph}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C64}{ph}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C64}{ph}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C64}{ph}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C64}{ph}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C64}{ph}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pn.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pn.fd
new file mode 100644
index 0000000000..a5348103df
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64pn.fd
@@ -0,0 +1,53 @@
+% This is file c64pn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64pn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPen
+
+\DeclareFontFamily{C64}{pn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{pn}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C64}{pn}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C64}{pn}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C64}{pn}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C64}{pn}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C64}{pn}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C64}{pn}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C64}{pn}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C64}{pn}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C64}{pn}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C64}{pn}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C64}{pn}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C64}{pn}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C64}{pn}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C64}{pn}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C64}{pn}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C64}{pn}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C64}{pn}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C64}{pn}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C64}{pn}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C64}{pn}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C64}{pn}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C64}{pn}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C64}{pn}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64sh.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64sh.fd
new file mode 100644
index 0000000000..348f2f34d4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64sh.fd
@@ -0,0 +1,53 @@
+% This is file c64sh.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64sh.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcShinmunMyoungjo
+
+\DeclareFontFamily{C64}{hwsh}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{sh}{c}{n}{<-> CJK * wshc}{}
+\DeclareFontShape{C64}{sh}{c}{sl}{<-> CJK * wshco}{}
+\DeclareFontShape{C64}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{}
+
+\DeclareFontShape{C64}{sh}{m}{n}{<-> CJK * wsh}{}
+\DeclareFontShape{C64}{sh}{m}{sl}{<-> CJK * wsho}{}
+\DeclareFontShape{C64}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{}
+
+\DeclareFontShape{C64}{sh}{x}{n}{<-> CJK * wshx}{}
+\DeclareFontShape{C64}{sh}{x}{sl}{<-> CJK * wshxo}{}
+\DeclareFontShape{C64}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{}
+
+\DeclareFontShape{C64}{sh}{ux}{n}{<-> CJK * wshu}{}
+\DeclareFontShape{C64}{sh}{ux}{sl}{<-> CJK * wshuo}{}
+\DeclareFontShape{C64}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{}
+
+\DeclareFontShape{C64}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{}
+\DeclareFontShape{C64}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{}
+\DeclareFontShape{C64}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{}
+
+\DeclareFontShape{C64}{sh}{b}{n}{<-> CJKssub * sh/m/n}{}
+\DeclareFontShape{C64}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{}
+\DeclareFontShape{C64}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{}
+
+\DeclareFontShape{C64}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{}
+\DeclareFontShape{C64}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{}
+\DeclareFontShape{C64}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{}
+
+\DeclareFontShape{C64}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{}
+\DeclareFontShape{C64}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{}
+\DeclareFontShape{C64}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64tz.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64tz.fd
new file mode 100644
index 0000000000..ce174378c2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64tz.fd
@@ -0,0 +1,53 @@
+% This is file c64tz.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64tz.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcTypewriter
+
+\DeclareFontFamily{C64}{tz}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{tz}{c}{n}{<-> CJK * wttc}{}
+\DeclareFontShape{C64}{tz}{c}{sl}{<-> CJK * wttco}{}
+\DeclareFontShape{C64}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{}
+
+\DeclareFontShape{C64}{tz}{m}{n}{<-> CJK * wtt}{}
+\DeclareFontShape{C64}{tz}{m}{sl}{<-> CJK * wtto}{}
+\DeclareFontShape{C64}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{}
+
+\DeclareFontShape{C64}{tz}{x}{n}{<-> CJK * wttx}{}
+\DeclareFontShape{C64}{tz}{x}{sl}{<-> CJK * wttxo}{}
+\DeclareFontShape{C64}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{}
+
+\DeclareFontShape{C64}{tz}{ux}{n}{<-> CJK * wttu}{}
+\DeclareFontShape{C64}{tz}{ux}{sl}{<-> CJK * wttuo}{}
+\DeclareFontShape{C64}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{}
+
+\DeclareFontShape{C64}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{}
+
+\DeclareFontShape{C64}{tz}{bm}{n}{<-> CJKb * wtt}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bm}{sl}{<-> CJKb * wtto}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bm}{it}{<-> CJKssub * tz/b/sl}{}
+
+\DeclareFontShape{C64}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{}
+
+\DeclareFontShape{C64}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold}
+\DeclareFontShape{C64}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64vd.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64vd.fd
new file mode 100644
index 0000000000..c7fb764ba3
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64vd.fd
@@ -0,0 +1,53 @@
+% This is file c64vd.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64vd.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcVada
+
+\DeclareFontFamily{C64}{vd}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{vd}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{vd}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{vd}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{vd}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{vd}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{vd}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{vd}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{vd}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{vd}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{vd}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{vd}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{vd}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{vd}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{vd}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{vd}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{vd}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{vd}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{vd}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{vd}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{vd}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{vd}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{vd}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{vd}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{vd}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64yt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64yt.fd
new file mode 100644
index 0000000000..e122637fbd
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c64yt.fd
@@ -0,0 +1,53 @@
+% This is file c64yt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c64yt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcYetgul
+
+\DeclareFontFamily{C64}{yt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C64}{yt}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C64}{yt}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C64}{yt}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C64}{yt}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C64}{yt}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C64}{yt}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C64}{yt}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C64}{yt}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C64}{yt}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C64}{yt}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C64}{yt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C64}{yt}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C64}{yt}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C64}{yt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C64}{yt}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C64}{yt}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C64}{yt}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C64}{yt}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C64}{yt}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C64}{yt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C64}{yt}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C64}{yt}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C64}{yt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C64}{yt}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65bm.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65bm.fd
new file mode 100644
index 0000000000..c526f709c1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65bm.fd
@@ -0,0 +1,53 @@
+% This is file c65bm.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65bm.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcBom
+
+\DeclareFontFamily{C65}{bm}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{bm}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{bm}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{bm}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{bm}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{bm}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{bm}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{bm}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{bm}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{bm}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{bm}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{bm}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{bm}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{bm}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{bm}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{bm}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{bm}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{bm}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{bm}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{bm}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{bm}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{bm}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{bm}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{bm}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{bm}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65dn.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65dn.fd
new file mode 100644
index 0000000000..4b6d776b70
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65dn.fd
@@ -0,0 +1,69 @@
+% This is file c65dn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65dn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcDinaru
+
+\DeclareFontFamily{C65}{dn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{dn}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{dn}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{dn}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{dn}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{dn}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{dn}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{dn}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{dn}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{dn}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{dn}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{dn}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{dn}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{dn}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{dn}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{dn}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{dn}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{dn}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{dn}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{dn}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{dn}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{dn}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{dn}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{dn}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{dn}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\DeclareFontShape{C65}{dn}{lc}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{dn}{lc}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{dn}{lc}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{dn}{l}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{dn}{l}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{dn}{l}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{dn}{lx}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{dn}{lx}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{dn}{lx}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{dn}{lux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{dn}{lux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{dn}{lux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gr.fd
new file mode 100644
index 0000000000..df5308f99f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gr.fd
@@ -0,0 +1,53 @@
+% This is file c65gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGraphic
+
+\DeclareFontFamily{C65}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{gr}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{gr}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{gr}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{gr}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{gr}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{gr}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{gr}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{gr}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{gr}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{gr}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{gr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{gr}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{gr}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{gr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{gr}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{gr}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{gr}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{gr}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{gr}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{gr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{gr}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{gr}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{gr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{gr}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gs.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gs.fd
new file mode 100644
index 0000000000..f6fcb6fa8d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gs.fd
@@ -0,0 +1,53 @@
+% This is file c65gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGungseo
+
+\DeclareFontFamily{C65}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{gs}{bc}{n}{<-> CJK * wgsc}{}
+\DeclareFontShape{C65}{gs}{bc}{sl}{<-> CJK * wgsco}{}
+\DeclareFontShape{C65}{gs}{bc}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C65}{gs}{b}{n}{<-> CJK * wgs}{}
+\DeclareFontShape{C65}{gs}{b}{sl}{<-> CJK * wgso}{}
+\DeclareFontShape{C65}{gs}{b}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C65}{gs}{bx}{n}{<-> CJK * wgsx}{}
+\DeclareFontShape{C65}{gs}{bx}{sl}{<-> CJK * wgsxo}{}
+\DeclareFontShape{C65}{gs}{bx}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C65}{gs}{bux}{n}{<-> CJK * wgsu}{}
+\DeclareFontShape{C65}{gs}{bux}{sl}{<-> CJK * wgsuo}{}
+\DeclareFontShape{C65}{gs}{bux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\DeclareFontShape{C65}{gs}{c}{n}{<-> CJKssub * gs/bc/n}{}
+\DeclareFontShape{C65}{gs}{c}{sl}{<-> CJKssub * gs/bc/sl}{}
+\DeclareFontShape{C65}{gs}{c}{it}{<-> CJKssub * gs/bc/sl}{}
+
+\DeclareFontShape{C65}{gs}{m}{n}{<-> CJKssub * gs/b/n}{}
+\DeclareFontShape{C65}{gs}{m}{sl}{<-> CJKssub * gs/b/sl}{}
+\DeclareFontShape{C65}{gs}{m}{it}{<-> CJKssub * gs/b/sl}{}
+
+\DeclareFontShape{C65}{gs}{x}{n}{<-> CJKssub * gs/bx/n}{}
+\DeclareFontShape{C65}{gs}{x}{sl}{<-> CJKssub * gs/bx/sl}{}
+\DeclareFontShape{C65}{gs}{x}{it}{<-> CJKssub * gs/bx/sl}{}
+
+\DeclareFontShape{C65}{gs}{ux}{n}{<-> CJKssub * gs/bux/n}{}
+\DeclareFontShape{C65}{gs}{ux}{sl}{<-> CJKssub * gs/bux/sl}{}
+\DeclareFontShape{C65}{gs}{ux}{it}{<-> CJKssub * gs/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gt.fd
new file mode 100644
index 0000000000..98a7055472
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65gt.fd
@@ -0,0 +1,53 @@
+% This is file c65gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcGothic
+
+\DeclareFontFamily{C65}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{gt}{c}{n}{<-> CJK * wgtc}{}
+\DeclareFontShape{C65}{gt}{c}{sl}{<-> CJK * wgtco}{}
+\DeclareFontShape{C65}{gt}{c}{it}{<-> CJKssub * gt/c/sl}{}
+
+\DeclareFontShape{C65}{gt}{m}{n}{<-> CJK * wgt}{}
+\DeclareFontShape{C65}{gt}{m}{sl}{<-> CJK * wgto}{}
+\DeclareFontShape{C65}{gt}{m}{it}{<-> CJKssub * gt/m/sl}{}
+
+\DeclareFontShape{C65}{gt}{x}{n}{<-> CJK * wgtx}{}
+\DeclareFontShape{C65}{gt}{x}{sl}{<-> CJK * wgtxo}{}
+\DeclareFontShape{C65}{gt}{x}{it}{<-> CJKssub * gt/x/sl}{}
+
+\DeclareFontShape{C65}{gt}{ux}{n}{<-> CJK * wgtu}{}
+\DeclareFontShape{C65}{gt}{ux}{sl}{<-> CJK * wgtuo}{}
+\DeclareFontShape{C65}{gt}{ux}{it}{<-> CJKssub * gt/ux/sl}{}
+
+\DeclareFontShape{C65}{gt}{bc}{n}{<-> CJK * wgtbc}{}
+\DeclareFontShape{C65}{gt}{bc}{sl}{<-> CJK * wgtbco}{}
+\DeclareFontShape{C65}{gt}{bc}{it}{<-> CJKssub * gt/bc/sl}{}
+
+\DeclareFontShape{C65}{gt}{b}{n}{<-> CJK * wgtb}{}
+\DeclareFontShape{C65}{gt}{b}{sl}{<-> CJK * wgtbo}{}
+\DeclareFontShape{C65}{gt}{b}{it}{<-> CJKssub * gt/b/sl}{}
+
+\DeclareFontShape{C65}{gt}{bx}{n}{<-> CJK * wgtbx}{}
+\DeclareFontShape{C65}{gt}{bx}{sl}{<-> CJK * wgtbxo}{}
+\DeclareFontShape{C65}{gt}{bx}{it}{<-> CJKssub * gt/bx/sl}{}
+
+\DeclareFontShape{C65}{gt}{bux}{n}{<-> CJK * wgtbu}{}
+\DeclareFontShape{C65}{gt}{bux}{sl}{<-> CJK * wgtbuo}{}
+\DeclareFontShape{C65}{gt}{bux}{it}{<-> CJKssub * gt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jgt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jgt.fd
new file mode 100644
index 0000000000..0267e5b19c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jgt.fd
@@ -0,0 +1,53 @@
+% This is file c65jgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65jgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoGothic
+
+\DeclareFontFamily{C65}{jgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jgt}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{jgt}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{jgt}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{jgt}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{jgt}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{jgt}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{jgt}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{jgt}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{jgt}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{jgt}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{jgt}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{jgt}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{jgt}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{jgt}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{jgt}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{jgt}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{jgt}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{jgt}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{jgt}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{jgt}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{jgt}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{jgt}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{jgt}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{jgt}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jmj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jmj.fd
new file mode 100644
index 0000000000..38250f043d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jmj.fd
@@ -0,0 +1,53 @@
+% This is file c65jmj.fd of the CJK package
+% for using Asian logograjmjs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65jmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoMyoungjo
+
+\DeclareFontFamily{C65}{jmj}{\hyjmjenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jmj}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C65}{jmj}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C65}{jmj}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C65}{jmj}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C65}{jmj}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C65}{jmj}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C65}{jmj}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C65}{jmj}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C65}{jmj}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C65}{jmj}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C65}{jmj}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C65}{jmj}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C65}{jmj}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C65}{jmj}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C65}{jmj}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C65}{jmj}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C65}{jmj}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C65}{jmj}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C65}{jmj}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C65}{jmj}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C65}{jmj}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C65}{jmj}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C65}{jmj}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C65}{jmj}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jnv.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jnv.fd
new file mode 100644
index 0000000000..973211bc7b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jnv.fd
@@ -0,0 +1,53 @@
+% This is file c65jnv.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65jnv.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoNovel
+
+\DeclareFontFamily{C65}{jnv}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jnv}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{jnv}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{jnv}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{jnv}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{jnv}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{jnv}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{jnv}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{jnv}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{jnv}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{jnv}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{jnv}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{jnv}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{jnv}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{jnv}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{jnv}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{jnv}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{jnv}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{jnv}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{jnv}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{jnv}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{jnv}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{jnv}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{jnv}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{jnv}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jsr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jsr.fd
new file mode 100644
index 0000000000..df55d6f9e2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65jsr.fd
@@ -0,0 +1,53 @@
+% This is file c65jsr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65jsr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcJamoSora
+
+\DeclareFontFamily{C65}{jsr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{jsr}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{jsr}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{jsr}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{jsr}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{jsr}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{jsr}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{jsr}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{jsr}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{jsr}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{jsr}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{jsr}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{jsr}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{jsr}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{jsr}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{jsr}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{jsr}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{jsr}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{jsr}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{jsr}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{jsr}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{jsr}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{jsr}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{jsr}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{jsr}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65mj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65mj.fd
new file mode 100644
index 0000000000..6e998adf3f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65mj.fd
@@ -0,0 +1,53 @@
+% This is file c65mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcMyoungjo
+
+\DeclareFontFamily{C65}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{mj}{c}{n}{<-> CJK * wmjc}{}
+\DeclareFontShape{C65}{mj}{c}{sl}{<-> CJK * wmjco}{}
+\DeclareFontShape{C65}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C65}{mj}{m}{n}{<-> CJK * wmj}{}
+\DeclareFontShape{C65}{mj}{m}{sl}{<-> CJK * wmjo}{}
+\DeclareFontShape{C65}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C65}{mj}{x}{n}{<-> CJK * wmjx}{}
+\DeclareFontShape{C65}{mj}{x}{sl}{<-> CJK * wmjxo}{}
+\DeclareFontShape{C65}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C65}{mj}{ux}{n}{<-> CJK * wmju}{}
+\DeclareFontShape{C65}{mj}{ux}{sl}{<-> CJK * wmjuo}{}
+\DeclareFontShape{C65}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+\DeclareFontShape{C65}{mj}{bc}{n}{<-> CJK * wmjbc}{}
+\DeclareFontShape{C65}{mj}{bc}{sl}{<-> CJK * wmjbco}{}
+\DeclareFontShape{C65}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C65}{mj}{b}{n}{<-> CJK * wmjb}{}
+\DeclareFontShape{C65}{mj}{b}{sl}{<-> CJK * wmjbo}{}
+\DeclareFontShape{C65}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C65}{mj}{bx}{n}{<-> CJK * wmjbx}{}
+\DeclareFontShape{C65}{mj}{bx}{sl}{<-> CJK * wmjbxo}{}
+\DeclareFontShape{C65}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C65}{mj}{bux}{n}{<-> CJK * wmjbu}{}
+\DeclareFontShape{C65}{mj}{bux}{sl}{<-> CJK * wmjbuo}{}
+\DeclareFontShape{C65}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pg.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pg.fd
new file mode 100644
index 0000000000..fc5fe9004b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pg.fd
@@ -0,0 +1,53 @@
+% This is file c65pg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65pg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgi
+
+\DeclareFontFamily{C65}{pg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{pg}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{pg}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{pg}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{pg}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{pg}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{pg}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{pg}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{pg}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{pg}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{pg}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{pg}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{pg}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{pg}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{pg}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{pg}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{pg}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{pg}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{pg}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{pg}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{pg}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{pg}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{pg}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{pg}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{pg}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pga.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pga.fd
new file mode 100644
index 0000000000..2234820a6b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pga.fd
@@ -0,0 +1,53 @@
+% This is file c65pga.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65pga.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPilgia
+
+\DeclareFontFamily{C65}{pga}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{pga}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{pga}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{pga}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{pga}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{pga}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{pga}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{pga}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{pga}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{pga}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{pga}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{pga}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{pga}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{pga}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{pga}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{pga}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{pga}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{pga}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{pga}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{pga}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{pga}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{pga}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{pga}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{pga}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{pga}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65ph.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65ph.fd
new file mode 100644
index 0000000000..2b3a8d93a1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65ph.fd
@@ -0,0 +1,53 @@
+% This is file c65ph.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65ph.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPenHeulim
+
+\DeclareFontFamily{C65}{ph}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{ph}{c}{n}{<-> CJKssub * mj/c/n}{}
+\DeclareFontShape{C65}{ph}{c}{sl}{<-> CJKssub * mj/c/sl}{}
+\DeclareFontShape{C65}{ph}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C65}{ph}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C65}{ph}{m}{sl}{<-> CJKssub * mj/m/sl}{}
+\DeclareFontShape{C65}{ph}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C65}{ph}{x}{n}{<-> CJKssub * mj/x/n}{}
+\DeclareFontShape{C65}{ph}{x}{sl}{<-> CJKssub * mj/x/sl}{}
+\DeclareFontShape{C65}{ph}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C65}{ph}{ux}{n}{<-> CJKssub * mj/ux/n}{}
+\DeclareFontShape{C65}{ph}{ux}{sl}{<-> CJKssub * mj/ux/sl}{}
+\DeclareFontShape{C65}{ph}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C65}{ph}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C65}{ph}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C65}{ph}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C65}{ph}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C65}{ph}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C65}{ph}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C65}{ph}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C65}{ph}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C65}{ph}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C65}{ph}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C65}{ph}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C65}{ph}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pn.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pn.fd
new file mode 100644
index 0000000000..8d77ed1c1a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65pn.fd
@@ -0,0 +1,53 @@
+% This is file c65pn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65pn.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcPen
+
+\DeclareFontFamily{C65}{pn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{pn}{c}{n}{<-> CJKssub* mj/c/n}{}
+\DeclareFontShape{C65}{pn}{c}{sl}{<-> CJKssub* mj/c/sl}{}
+\DeclareFontShape{C65}{pn}{c}{it}{<-> CJKssub * mj/c/it}{}
+
+\DeclareFontShape{C65}{pn}{m}{n}{<-> CJKssub* mj/m/n}{}
+\DeclareFontShape{C65}{pn}{m}{sl}{<-> CJKssub* mj/m/sl}{}
+\DeclareFontShape{C65}{pn}{m}{it}{<-> CJKssub * mj/m/it}{}
+
+\DeclareFontShape{C65}{pn}{x}{n}{<-> CJKssub* mj/x/n}{}
+\DeclareFontShape{C65}{pn}{x}{sl}{<-> CJKssub* mj/x/sl}{}
+\DeclareFontShape{C65}{pn}{x}{it}{<-> CJKssub * mj/x/it}{}
+
+\DeclareFontShape{C65}{pn}{ux}{n}{<-> CJKssub* mj/ux/n}{}
+\DeclareFontShape{C65}{pn}{ux}{sl}{<-> CJKssub* mj/ux/sl}{}
+\DeclareFontShape{C65}{pn}{ux}{it}{<-> CJKssub * mj/ux/it}{}
+
+\DeclareFontShape{C65}{pn}{bc}{n}{<-> CJKssub * mj/bc/n}{}
+\DeclareFontShape{C65}{pn}{bc}{sl}{<-> CJKssub * mj/bc/sl}{}
+\DeclareFontShape{C65}{pn}{bc}{it}{<-> CJKssub * mj/bc/it}{}
+
+\DeclareFontShape{C65}{pn}{b}{n}{<-> CJKssub * mj/b/n}{}
+\DeclareFontShape{C65}{pn}{b}{sl}{<-> CJKssub * mj/b/sl}{}
+\DeclareFontShape{C65}{pn}{b}{it}{<-> CJKssub * mj/b/it}{}
+
+\DeclareFontShape{C65}{pn}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+\DeclareFontShape{C65}{pn}{bx}{sl}{<-> CJKssub * mj/bx/sl}{}
+\DeclareFontShape{C65}{pn}{bx}{it}{<-> CJKssub * mj/bx/it}{}
+
+\DeclareFontShape{C65}{pn}{bux}{n}{<-> CJKssub * mj/bux/n}{}
+\DeclareFontShape{C65}{pn}{bux}{sl}{<-> CJKssub * mj/bux/sl}{}
+\DeclareFontShape{C65}{pn}{bux}{it}{<-> CJKssub * mj/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65sh.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65sh.fd
new file mode 100644
index 0000000000..0cb3a621e8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65sh.fd
@@ -0,0 +1,53 @@
+% This is file c65sh.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65sh.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcShinmunMyoungjo
+
+\DeclareFontFamily{C65}{hwsh}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{sh}{c}{n}{<-> CJK * wshc}{}
+\DeclareFontShape{C65}{sh}{c}{sl}{<-> CJK * wshco}{}
+\DeclareFontShape{C65}{sh}{c}{it}{<-> CJKssub * sh/c/sl}{}
+
+\DeclareFontShape{C65}{sh}{m}{n}{<-> CJK * wsh}{}
+\DeclareFontShape{C65}{sh}{m}{sl}{<-> CJK * wsho}{}
+\DeclareFontShape{C65}{sh}{m}{it}{<-> CJKssub * sh/m/sl}{}
+
+\DeclareFontShape{C65}{sh}{x}{n}{<-> CJK * wshx}{}
+\DeclareFontShape{C65}{sh}{x}{sl}{<-> CJK * wshxo}{}
+\DeclareFontShape{C65}{sh}{x}{it}{<-> CJKssub * sh/x/sl}{}
+
+\DeclareFontShape{C65}{sh}{ux}{n}{<-> CJK * wshu}{}
+\DeclareFontShape{C65}{sh}{ux}{sl}{<-> CJK * wshuo}{}
+\DeclareFontShape{C65}{sh}{ux}{it}{<-> CJKssub * sh/ux/sl}{}
+
+\DeclareFontShape{C65}{sh}{bc}{n}{<-> CJKssub * sh/c/n}{}
+\DeclareFontShape{C65}{sh}{bc}{sl}{<-> CJKssub * sh/c/sl}{}
+\DeclareFontShape{C65}{sh}{bc}{it}{<-> CJKssub * sh/bc/sl}{}
+
+\DeclareFontShape{C65}{sh}{b}{n}{<-> CJKssub * sh/m/n}{}
+\DeclareFontShape{C65}{sh}{b}{sl}{<-> CJKssub * sh/m/sl}{}
+\DeclareFontShape{C65}{sh}{b}{it}{<-> CJKssub * sh/b/sl}{}
+
+\DeclareFontShape{C65}{sh}{bx}{n}{<-> CJKssub * sh/x/n}{}
+\DeclareFontShape{C65}{sh}{bx}{sl}{<-> CJKssub * sh/x/sl}{}
+\DeclareFontShape{C65}{sh}{bx}{it}{<-> CJKssub * sh/bx/sl}{}
+
+\DeclareFontShape{C65}{sh}{bux}{n}{<-> CJKssub * sh/ux/n}{}
+\DeclareFontShape{C65}{sh}{bux}{sl}{<-> CJKssub * sh/ux/sl}{}
+\DeclareFontShape{C65}{sh}{bux}{it}{<-> CJKssub * sh/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65tz.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65tz.fd
new file mode 100644
index 0000000000..d353019683
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65tz.fd
@@ -0,0 +1,53 @@
+% This is file c65tz.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65tz.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hangul)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcTypewriter
+
+\DeclareFontFamily{C65}{tz}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{tz}{c}{n}{<-> CJK * wttc}{}
+\DeclareFontShape{C65}{tz}{c}{sl}{<-> CJK * wttco}{}
+\DeclareFontShape{C65}{tz}{c}{it}{<-> CJKssub * tz/c/sl}{}
+
+\DeclareFontShape{C65}{tz}{m}{n}{<-> CJK * wtt}{}
+\DeclareFontShape{C65}{tz}{m}{sl}{<-> CJK * wtto}{}
+\DeclareFontShape{C65}{tz}{m}{it}{<-> CJKssub * tz/m/sl}{}
+
+\DeclareFontShape{C65}{tz}{x}{n}{<-> CJK * wttx}{}
+\DeclareFontShape{C65}{tz}{x}{sl}{<-> CJK * wttxo}{}
+\DeclareFontShape{C65}{tz}{x}{it}{<-> CJKssub * tz/x/sl}{}
+
+\DeclareFontShape{C65}{tz}{ux}{n}{<-> CJK * wttu}{}
+\DeclareFontShape{C65}{tz}{ux}{sl}{<-> CJK * wttuo}{}
+\DeclareFontShape{C65}{tz}{ux}{it}{<-> CJKssub * tz/ux/sl}{}
+
+\DeclareFontShape{C65}{tz}{bc}{n}{<-> CJKb * wttc}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bc}{sl}{<-> CJKb * wttco}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bc}{it}{<-> CJKssub * tz/bc/sl}{}
+
+\DeclareFontShape{C65}{tz}{b}{n}{<-> CJKb * wtt}{\CJKbold}
+\DeclareFontShape{C65}{tz}{b}{sl}{<-> CJKb * wtto}{\CJKbold}
+\DeclareFontShape{C65}{tz}{b}{it}{<-> CJKssub * tz/b/sl}{}
+
+\DeclareFontShape{C65}{tz}{bx}{n}{<-> CJKb * wttx}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bx}{sl}{<-> CJKb * wttxo}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bx}{it}{<-> CJKssub * tz/bx/sl}{}
+
+\DeclareFontShape{C65}{tz}{bux}{n}{<-> CJKb * wttu}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bux}{sl}{<-> CJKb * wttuo}{\CJKbold}
+\DeclareFontShape{C65}{tz}{bux}{it}{<-> CJKssub * tz/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65vd.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65vd.fd
new file mode 100644
index 0000000000..efe297ef8b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65vd.fd
@@ -0,0 +1,53 @@
+% This is file c65vd.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65vd.fd}[\filedate\space\fileversion]
+
+% Korean characters (Symbols)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcVada
+
+\DeclareFontFamily{C65}{vd}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{vd}{c}{n}{<-> CJKssub * gt/c/n}{}
+\DeclareFontShape{C65}{vd}{c}{sl}{<-> CJKssub * gt/c/sl}{}
+\DeclareFontShape{C65}{vd}{c}{it}{<-> CJKssub * gt/c/it}{}
+
+\DeclareFontShape{C65}{vd}{m}{n}{<-> CJKssub * gt/m/n}{}
+\DeclareFontShape{C65}{vd}{m}{sl}{<-> CJKssub * gt/m/sl}{}
+\DeclareFontShape{C65}{vd}{m}{it}{<-> CJKssub * gt/m/it}{}
+
+\DeclareFontShape{C65}{vd}{x}{n}{<-> CJKssub * gt/x/n}{}
+\DeclareFontShape{C65}{vd}{x}{sl}{<-> CJKssub * gt/x/sl}{}
+\DeclareFontShape{C65}{vd}{x}{it}{<-> CJKssub * gt/x/it}{}
+
+\DeclareFontShape{C65}{vd}{ux}{n}{<-> CJKssub * gt/ux/n}{}
+\DeclareFontShape{C65}{vd}{ux}{sl}{<-> CJKssub * gt/ux/sl}{}
+\DeclareFontShape{C65}{vd}{ux}{it}{<-> CJKssub * gt/ux/it}{}
+
+\DeclareFontShape{C65}{vd}{bc}{n}{<-> CJKssub * gt/bc/n}{}
+\DeclareFontShape{C65}{vd}{bc}{sl}{<-> CJKssub * gt/bc/sl}{}
+\DeclareFontShape{C65}{vd}{bc}{it}{<-> CJKssub * gt/bc/it}{}
+
+\DeclareFontShape{C65}{vd}{b}{n}{<-> CJKssub * gt/b/n}{}
+\DeclareFontShape{C65}{vd}{b}{sl}{<-> CJKssub * gt/b/sl}{}
+\DeclareFontShape{C65}{vd}{b}{it}{<-> CJKssub * gt/b/it}{}
+
+\DeclareFontShape{C65}{vd}{bx}{n}{<-> CJKssub * gt/bx/n}{}
+\DeclareFontShape{C65}{vd}{bx}{sl}{<-> CJKssub * gt/bx/sl}{}
+\DeclareFontShape{C65}{vd}{bx}{it}{<-> CJKssub * gt/bx/it}{}
+
+\DeclareFontShape{C65}{vd}{bux}{n}{<-> CJKssub * gt/bux/n}{}
+\DeclareFontShape{C65}{vd}{bux}{sl}{<-> CJKssub * gt/bux/sl}{}
+\DeclareFontShape{C65}{vd}{bux}{it}{<-> CJKssub * gt/bux/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65yt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65yt.fd
new file mode 100644
index 0000000000..0aa4975cab
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/c65yt.fd
@@ -0,0 +1,53 @@
+% This is file c65yt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c65yt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: HL
+
+% UhcYetgul
+
+\DeclareFontFamily{C65}{yt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C65}{yt}{c}{n}{<-> CJK * wytc}{}
+\DeclareFontShape{C65}{yt}{c}{sl}{<-> CJK * wytco}{}
+\DeclareFontShape{C65}{yt}{c}{it}{<-> CJKssub * yt/c/sl}{}
+
+\DeclareFontShape{C65}{yt}{m}{n}{<-> CJK * wyt}{}
+\DeclareFontShape{C65}{yt}{m}{sl}{<-> CJK * wyto}{}
+\DeclareFontShape{C65}{yt}{m}{it}{<-> CJKssub * yt/m/sl}{}
+
+\DeclareFontShape{C65}{yt}{x}{n}{<-> CJK * wytx}{}
+\DeclareFontShape{C65}{yt}{x}{sl}{<-> CJK * wytxo}{}
+\DeclareFontShape{C65}{yt}{x}{it}{<-> CJKssub * yt/x/sl}{}
+
+\DeclareFontShape{C65}{yt}{ux}{n}{<-> CJK * wytu}{}
+\DeclareFontShape{C65}{yt}{ux}{sl}{<-> CJK * wytuo}{}
+\DeclareFontShape{C65}{yt}{ux}{it}{<-> CJKssub * yt/ux/sl}{}
+
+\DeclareFontShape{C65}{yt}{bc}{n}{<-> CJKb * wytc}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bc}{sl}{<-> CJKb * wytco}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bc}{it}{<-> CJKssub * yt/bc/sl}{}
+
+\DeclareFontShape{C65}{yt}{b}{n}{<-> CJKb * wyt}{\CJKbold}
+\DeclareFontShape{C65}{yt}{b}{sl}{<-> CJKb * wyto}{\CJKbold}
+\DeclareFontShape{C65}{yt}{b}{it}{<-> CJKssub * yt/b/sl}{}
+
+\DeclareFontShape{C65}{yt}{bx}{n}{<-> CJKb * wytx}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bx}{sl}{<-> CJKb * wytxo}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bx}{it}{<-> CJKssub * yt/bx/sl}{}
+
+\DeclareFontShape{C65}{yt}{bux}{n}{<-> CJKb * wytu}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bux}{sl}{<-> CJKb * wytuo}{\CJKbold}
+\DeclareFontShape{C65}{yt}{bux}{it}{<-> CJKssub * yt/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/pshan.sty b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/pshan.sty
new file mode 100644
index 0000000000..67c4c5fb4d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/HLaTeX/pshan.sty
@@ -0,0 +1,29 @@
+% This is the file pshan.sty of the CJK package
+% for using HLaTeX's PostScript fonts.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesPackage{pshan}[\filedate\space\fileversion]
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/KS.chr b/language/chinese/CJK/cjk-4.8.5/texinput/KS/KS.chr
new file mode 100644
index 0000000000..924b9792e5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/KS.chr
@@ -0,0 +1,251 @@
+% This is the file KS.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{KS.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling hangul fonts and characters.
+
+\gdef\CJK@KSChr{
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@altcharx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@altEnc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \discretionary{}{}{}
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \else
+ \discretionary{}{}{}
+ \fi
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/KS.enc b/language/chinese/CJK/cjk-4.8.5/texinput/KS/KS.enc
new file mode 100644
index 0000000000..bd3246e246
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/KS.enc
@@ -0,0 +1,114 @@
+% This is the file KS.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{KS.enc}[\filedate\space\fileversion]
+
+
+% KS encoding:
+% each plane has 94 characters; Hangul elements (Jaso) and Hangul
+% syllables are overlaid with a second CJK font.
+
+\gdef\CJK@KSEncoding{
+ \CJK@loadChr{KS}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@char {01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@altchar {02}{-135}{##1}}% Hangul elements
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@char {02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@altchar {06}{ -31}{##1}}% Hangul syllables
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@altcharx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@altchar {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@altchar {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@altcharx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@altchar {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@altcharx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@altchar {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@altchar {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@altcharx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@altchar {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@altchar {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@altcharx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@altchar {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@altcharx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@altchar {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@altchar {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@altcharx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@altchar {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@altchar {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@altcharx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@altchar {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@altchar {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@altcharx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@altchar {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}% Hanja
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60dr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60dr.fd
new file mode 100644
index 0000000000..83d0bd611d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60dr.fd
@@ -0,0 +1,22 @@
+% This is the file c60dr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c60dr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{dr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{dr}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{dr}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gr.fd
new file mode 100644
index 0000000000..b2e908ac5d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gr.fd
@@ -0,0 +1,22 @@
+% This is the file c60gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c60gr.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{gr}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{gr}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gs.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gs.fd
new file mode 100644
index 0000000000..cb8e012255
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gs.fd
@@ -0,0 +1,22 @@
+% This is the file c60gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c60gs.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{gs}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{gs}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gt.fd
new file mode 100644
index 0000000000..fc54bfded7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60gt.fd
@@ -0,0 +1,22 @@
+% This is the file c60gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c60gt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{gt}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{gt}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hgt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hgt.fd
new file mode 100644
index 0000000000..4291ae4361
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hgt.fd
@@ -0,0 +1,22 @@
+% This is the file c60hgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c60hgt.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hgt}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hgt}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hmj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hmj.fd
new file mode 100644
index 0000000000..a2bea6c9a1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hmj.fd
@@ -0,0 +1,22 @@
+% This is the file c60hmj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c60hmj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hmj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hmj}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hmj}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hol.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hol.fd
new file mode 100644
index 0000000000..1c1e16b12b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hol.fd
@@ -0,0 +1,22 @@
+% This is the file c60hol.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c60hol.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hol}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hol}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hol}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hpg.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hpg.fd
new file mode 100644
index 0000000000..d581cebaf8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60hpg.fd
@@ -0,0 +1,22 @@
+% This is the file c60hpg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c60hpg.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{hpg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{hpg}{m}{n}{<-> CJKssub * mj/m/n}{}
+\DeclareFontShape{C60}{hpg}{bx}{n}{<-> CJKssub * mj/bx/n}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60mj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60mj.fd
new file mode 100644
index 0000000000..1c86c18335
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c60mj.fd
@@ -0,0 +1,22 @@
+% This is the file c60mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c60mj.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C60}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C60}{mj}{m}{n}{<-> CJK * ksso17}{\CJKnormal}
+\DeclareFontShape{C60}{mj}{bx}{n}{<-> CJKb * ksso17}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61dr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61dr.fd
new file mode 100644
index 0000000000..09e246a7e8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61dr.fd
@@ -0,0 +1,27 @@
+% This is the file c61dr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c61dr.fd}[\filedate\space\fileversion]
+
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{dr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{dr}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kdr}{\CJKnormal}
+\DeclareFontShape{C61}{dr}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kdr}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gr.fd
new file mode 100644
index 0000000000..32acdfb66c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gr.fd
@@ -0,0 +1,26 @@
+% This is the file c61gr.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c61gr.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{gr}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{gr}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kgr}{\CJKnormal}
+\DeclareFontShape{C61}{gr}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kgr}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gs.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gs.fd
new file mode 100644
index 0000000000..0eae709b0a
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gs.fd
@@ -0,0 +1,26 @@
+% This is the file c61gs.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c61gs.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{gs}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{gs}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kgs}{\CJKnormal}
+\DeclareFontShape{C61}{gs}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kgs}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gt.fd
new file mode 100644
index 0000000000..53b4084ebb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61gt.fd
@@ -0,0 +1,26 @@
+% This is the file c61gt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c61gt.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{gt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{gt}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kgt}{\CJKnormal}
+\DeclareFontShape{C61}{gt}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * kgt}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hgt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hgt.fd
new file mode 100644
index 0000000000..7a1af915c1
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hgt.fd
@@ -0,0 +1,24 @@
+% This is the file c61hgt.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c61hgt.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hgt}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hgt}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hgtm}{}
+\DeclareFontShape{C61}{hgt}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hgtb}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hmj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hmj.fd
new file mode 100644
index 0000000000..a38b4ebde6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hmj.fd
@@ -0,0 +1,24 @@
+% This is the file c61hmj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c61hmj.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hmj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hmj}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hmjm}{}
+\DeclareFontShape{C61}{hmj}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hmjb}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hol.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hol.fd
new file mode 100644
index 0000000000..9221a5257c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hol.fd
@@ -0,0 +1,26 @@
+% This is the file c61hol.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c61hol.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hol}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hol}{m}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hol}{\CJKnormal}
+\DeclareFontShape{C61}{hol}{bx}{n}{
+ <5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJKb * hol}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hpg.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hpg.fd
new file mode 100644
index 0000000000..3f5b9ea9d6
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61hpg.fd
@@ -0,0 +1,24 @@
+% This is the file c61hpg.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c61hpg.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{hpg}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{hpg}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hpgm}{}
+\DeclareFontShape{C61}{hpg}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * hpgb}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61mj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61mj.fd
new file mode 100644
index 0000000000..3ce385d014
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c61mj.fd
@@ -0,0 +1,24 @@
+% This is the file c61mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c61mj.fd}[\filedate\space\fileversion]
+
+% Korean syllables (Hangul) and elements (Jaso)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: CJK (standard)
+
+\DeclareFontFamily{C61}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C61}{mj}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kmj}{}
+\DeclareFontShape{C61}{mj}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * kmjb}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/c62song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c62song.fd
new file mode 100644
index 0000000000..d25d0d2e0d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/c62song.fd
@@ -0,0 +1,22 @@
+% This is the file c62song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c62song.fd}[\filedate\space\fileversion]
+
+% Korean characters (Hanja)
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% font encoding: pmC
+
+\DeclareFontFamily{C62}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C62}{song}{m}{n}{<-> sCJKfixed * wcks}{\CJKnormal}
+\DeclareFontShape{C62}{song}{bx}{n}{<-> sCJKfixedb * wcks}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul.cap b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul.cap
new file mode 100644
index 0000000000..f1ccedf8f7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul.cap
@@ -0,0 +1,74 @@
+% This is the file hangul.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{hangul.cap}[\filedate\space\fileversion]
+
+
+% Hangul captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+
+\renewcommand\contentsname{ธ๑ย๗}
+\renewcommand\listfigurename{ฑืธฒ~ธ๑ย๗}
+\renewcommand\listtablename{วฅ~ธ๑ย๗}
+\renewcommand\indexname{ป๖ภฮ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ยฐํ~ผญภ๛}}
+ {\renewcommand\bibname{ยฐํ~นฎวๅ}}
+
+\renewcommand\figurename{ฑืธฒ}
+\renewcommand\tablename{วฅ}
+
+\newcommand\prepartname{มฆ}
+\newcommand\postpartname{บฮ}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{มฆ}
+% \newcommand\postchaptername{ภๅ}
+% \newcommand\presectionname{มฆ}
+% \newcommand\postsectionname{ภ}
+% \renewcommand\appendixname{บฮทฯ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ฟไพเ}}{}
+
+% \renewcommand\ccname{ป็บป}
+% \renewcommand\enclname{รทบฮนฐ}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦไภฬม๖~}
+% \renewcommand\headtoname{นดยภฬ}
+% \renewcommand\seename{ยมถ}
+
+\renewcommand{\today}{\number\year ณโ~\number\month ฟ๙~\number\day ภฯ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul.cpx
new file mode 100644
index 0000000000..1050f74589
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul.cpx
@@ -0,0 +1,71 @@
+% This is the file hangul.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{hangul.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+%
+% preprocessed
+
+\renewcommand\contentsname{ธ241ย247}
+\renewcommand\listfigurename{ฑ215ธ178~ธ241ย247}
+\renewcommand\listtablename{ว165~ธ241ย247}
+\renewcommand\indexname{ป246ภ206}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ย252ฐ237~ผ173ภ251}}
+ {\renewcommand\bibname{ย252ฐ237~น174ว229}}
+
+\renewcommand\figurename{ฑ215ธ178}
+\renewcommand\tablename{ว165}
+
+\newcommand\prepartname{ม166}
+\newcommand\postpartname{บ206}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{ม166}
+% \newcommand\postchaptername{ภ229}
+% \newcommand\presectionname{ม166}
+% \newcommand\postsectionname{ภ253}
+% \renewcommand\appendixname{บ206ท207}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ฟ228พ224}}{}
+
+% \renewcommand\ccname{ป231บ187}
+% \renewcommand\enclname{ร183บ206น176}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦ228ภ204ม246~}
+% \renewcommand\headtoname{น222ด194ภ204}
+% \renewcommand\seename{ย252ม182}
+
+\renewcommand{\today}{%
+ \number\year ณ226~\number\month ฟ249~\number\day ภ207}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul2.cap b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul2.cap
new file mode 100644
index 0000000000..98dbb26600
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul2.cap
@@ -0,0 +1,74 @@
+% This is the file hangul2.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{hangul2.cap}[\filedate\space\fileversion]
+
+
+% Hangul captions set 2
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+
+\renewcommand\contentsname{ย๗ทส}
+\renewcommand\listfigurename{ฑืธฒ~ย๗ทส}
+\renewcommand\listtablename{วฅ~ย๗ทส}
+\renewcommand\indexname{รฃพฦบธฑโ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ยฐํ~ผญภ๛}}
+ {\renewcommand\bibname{ยฐํ~นฎวๅ}}
+
+\renewcommand\figurename{ฑืธฒ}
+\renewcommand\tablename{วฅ}
+
+\newcommand\prepartname{มฆ}
+\newcommand\postpartname{บฮ}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{มฆ}
+% \newcommand\postchaptername{ภๅ}
+% \newcommand\presectionname{มฆ}
+% \newcommand\postsectionname{ภ}
+% \renewcommand\appendixname{บฮทฯ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ฟไพเ}}{}
+
+% \renewcommand\ccname{ป็บป}
+% \renewcommand\enclname{รทบฮนฐ}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦไภฬม๖~}
+% \renewcommand\headtoname{นดยภฬ}
+% \renewcommand\seename{ยมถ}
+
+\renewcommand{\today}{\number\year ณโ~\number\month ฟ๙~\number\day ภฯ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul2.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul2.cpx
new file mode 100644
index 0000000000..ce3250733c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hangul2.cpx
@@ -0,0 +1,71 @@
+% This is the file hangul2.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{hangul2.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions set 2
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+%
+% preprocessed
+
+\renewcommand\contentsname{ย247ท202}
+\renewcommand\listfigurename{ฑ215ธ178~ย247ท202}
+\renewcommand\listtablename{ว165~ย247ท202}
+\renewcommand\indexname{ร163พ198บ184ฑ226}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ย252ฐ237~ผ173ภ251}}
+ {\renewcommand\bibname{ย252ฐ237~น174ว229}}
+
+\renewcommand\figurename{ฑ215ธ178}
+\renewcommand\tablename{ว165}
+
+\newcommand\prepartname{ม166}
+\newcommand\postpartname{บ206}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{ม166}
+% \newcommand\postchaptername{ภ229}
+% \newcommand\presectionname{ม166}
+% \newcommand\postsectionname{ภ253}
+% \renewcommand\appendixname{บ206ท207}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ฟ228พ224}}{}
+
+% \renewcommand\ccname{ป231บ187}
+% \renewcommand\enclname{ร183บ206น176}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦ228ภ204ม246~}
+% \renewcommand\headtoname{น222ด194ภ204}
+% \renewcommand\seename{ย252ม182}
+
+\renewcommand{\today}{%
+ \number\year ณ226~\number\month ฟ249~\number\day ภ207}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/hanja.cap b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hanja.cap
new file mode 100644
index 0000000000..7eb1832cde
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hanja.cap
@@ -0,0 +1,74 @@
+% This is the file hanja.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <a7971428@unet.univie.ac.at>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{hanja.cap}[\filedate\space\fileversion]
+
+
+% Hanja captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+
+\renewcommand\contentsname{ูอ๓ญ}
+\renewcommand\listfigurename{ฑืธฒ~ูอ๓ญ}
+\renewcommand\listtablename{๘๚~ูอ๓ญ}
+\renewcommand\indexname{฿ใ์ฺ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{๓ัอล~฿๖๎฿}}
+ {\renewcommand\bibname{๓ัอล~ู๚ฬ}}
+
+\renewcommand\figurename{ฑืธฒ}
+\renewcommand\tablename{๘๚}
+
+\newcommand\prepartname{๐ฏ}
+\newcommand\postpartname{๘น}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{๐ฏ}
+% \newcommand\postchaptername{ํ๑}
+% \newcommand\presectionname{๐ฏ}
+% \newcommand\postsectionname{๏ฝ}
+% \newcommand\appendixname{พึโ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{้ฉ~ๅณ}}{}
+
+% \renewcommand\ccname{ะโ}
+% \renewcommand\enclname{๔ีพฺช}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦไภฬม๖}
+% \renewcommand\headtoname{แ๔ใแ์ั}
+% \renewcommand\seename{๓ั๐ฮ}
+
+\renewcommand{\today}{\number\year าด~\number\month ๊ล~\number\day ์ํ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: euc-korea
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/KS/hanja.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hanja.cpx
new file mode 100644
index 0000000000..39e2a02cf4
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/KS/hanja.cpx
@@ -0,0 +1,71 @@
+% This is the file hanja.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{hanja.cpx}[\filedate\space\fileversion]
+
+
+% Hanja captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: EUC (=Wansung)
+%
+% preprocessed
+
+\renewcommand\contentsname{ู205๓173}
+\renewcommand\listfigurename{ฑ215ธ178~ู205๓173}
+\renewcommand\listtablename{๘250~ู205๓173}
+\renewcommand\indexname{฿227์218}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{๓209อ197~฿246๎223}}
+ {\renewcommand\bibname{๓209อ197~ู254๚204}}
+
+\renewcommand\figurename{ฑ215ธ178}
+\renewcommand\tablename{๘250}
+
+\newcommand\prepartname{๐175}
+\newcommand\postpartname{๘185}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{๐175}
+% \newcommand\postchaptername{ํ241}
+% \newcommand\presectionname{๐175}
+% \newcommand\postsectionname{๏189}
+% \newcommand\appendixname{190ึ226}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{้169~ๅ179}}{}
+
+% \renewcommand\ccname{208226}
+% \renewcommand\enclname{๔213190ฺ170}% ศคภบ ตฟบภนฐ
+% \renewcommand\pagename{ฦ228ภ204ม246}
+% \renewcommand\headtoname{แ244ใ225์209}
+% \renewcommand\seename{๓209๐206}
+
+\renewcommand{\today}{%
+ \number\year า180~\number\month ๊197~\number\day ์237}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.bdg b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.bdg
new file mode 100644
index 0000000000..3d5b0299af
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.bdg
@@ -0,0 +1,162 @@
+% This is the file SJIS.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{SJIS.bdg}[\filedate\space\fileversion]
+
+
+% The bindings for SJIS encoding.
+
+\gdef\CJK@SJISBinding{
+% 80
+ \CJK@nameppdef{^^81}
+ \CJK@nameppdef{^^82}
+ \CJK@nameppdef{^^83}
+ \CJK@nameppdef{^^84}
+ \CJK@nameppdef{^^85}
+ \CJK@nameppdef{^^86}
+ \CJK@nameppdef{^^87}
+ \CJK@nameppdef{^^88}
+ \CJK@nameppdef{^^89}
+ \CJK@nameppdef{^^8a}
+ \CJK@nameppdef{^^8b}
+ \CJK@nameppdef{^^8c}
+ \CJK@nameppdef{^^8d}
+ \CJK@nameppdef{^^8e}
+ \CJK@nameppdef{^^8f}
+ \CJK@nameppdef{^^90}
+ \CJK@nameppdef{^^91}
+ \CJK@nameppdef{^^92}
+ \CJK@nameppdef{^^93}
+ \CJK@nameppdef{^^94}
+ \CJK@nameppdef{^^95}
+ \CJK@nameppdef{^^96}
+ \CJK@nameppdef{^^97}
+ \CJK@nameppdef{^^98}
+ \CJK@nameppdef{^^99}
+ \CJK@nameppdef{^^9a}
+ \CJK@nameppdef{^^9b}
+ \CJK@nameppdef{^^9c}
+ \CJK@nameppdef{^^9d}
+ \CJK@nameppdef{^^9e}
+ \CJK@nameppdef{^^9f}
+% A0
+ \CJK@namepdef{^^a1}
+ \CJK@namepdef{^^a2}
+ \CJK@namepdef{^^a3}
+ \CJK@namepdef{^^a4}
+ \CJK@namepdef{^^a5}
+ \CJK@namepdef{^^a6}
+ \CJK@namepdef{^^a7}
+ \CJK@namepdef{^^a8}
+ \CJK@namepdef{^^a9}
+ \CJK@namepdef{^^aa}
+ \CJK@namepdef{^^ab}
+ \CJK@namepdef{^^ac}
+ \CJK@namepdef{^^ad}
+ \CJK@namepdef{^^ae}
+ \CJK@namepdef{^^af}
+ \CJK@namepdef{^^b0}
+ \CJK@namepdef{^^b1}
+ \CJK@namepdef{^^b2}
+ \CJK@namepdef{^^b3}
+ \CJK@namepdef{^^b4}
+ \CJK@namepdef{^^b5}
+ \CJK@namepdef{^^b6}
+ \CJK@namepdef{^^b7}
+ \CJK@namepdef{^^b8}
+ \CJK@namepdef{^^b9}
+ \CJK@namepdef{^^ba}
+ \CJK@namepdef{^^bb}
+ \CJK@namepdef{^^bc}
+ \CJK@namepdef{^^bd}
+ \CJK@namepdef{^^be}
+ \CJK@namepdef{^^bf}
+ \CJK@namepdef{^^c0}
+ \CJK@namepdef{^^c1}
+ \CJK@namepdef{^^c2}
+ \CJK@namepdef{^^c3}
+ \CJK@namepdef{^^c4}
+ \CJK@namepdef{^^c5}
+ \CJK@namepdef{^^c6}
+ \CJK@namepdef{^^c7}
+ \CJK@namepdef{^^c8}
+ \CJK@namepdef{^^c9}
+ \CJK@namepdef{^^ca}
+ \CJK@namepdef{^^cb}
+ \CJK@namepdef{^^cc}
+ \CJK@namepdef{^^cd}
+ \CJK@namepdef{^^ce}
+ \CJK@namepdef{^^cf}
+ \CJK@namepdef{^^d0}
+ \CJK@namepdef{^^d1}
+ \CJK@namepdef{^^d2}
+ \CJK@namepdef{^^d3}
+ \CJK@namepdef{^^d4}
+ \CJK@namepdef{^^d5}
+ \CJK@namepdef{^^d6}
+ \CJK@namepdef{^^d7}
+ \CJK@namepdef{^^d8}
+ \CJK@namepdef{^^d9}
+ \CJK@namepdef{^^da}
+ \CJK@namepdef{^^db}
+ \CJK@namepdef{^^dc}
+ \CJK@namepdef{^^dd}
+ \CJK@namepdef{^^de}
+ \CJK@namepdef{^^df}
+
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.cap b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.cap
new file mode 100644
index 0000000000..3b62a9802b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.cap
@@ -0,0 +1,84 @@
+% This is the file SJIS.cap of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{SJIS.cap}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: SJIS
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{–ฺŽŸ}
+
+\renewcommand\listfigurename{\CJKchar{"090}{"07D}–ฺŽŸ}
+% \renewcommand\listfigurename{\CJKchar{"090}{"07D}ˆ๊——}
+
+\renewcommand\listtablename{\CJKchar{"095}{"05C}–ฺŽŸ}
+% \renewcommand\listtablename{\CJKchar{"095}{"05C}ˆ๊——}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ŽQl•ถŒฃ}
+ }
+ {\renewcommand\bibname{Šึ˜A‘ะ}
+% \renewcommand\bibname{ŽQl•ถŒฃ}
+ }
+
+\renewcommand\indexname{๕ˆ๘}
+
+\renewcommand\figurename{\CJKchar{"090}{"07D}}
+\renewcommand\tablename{\CJKchar{"095}{"05C}}
+
+\newcommand\prepartname{‘ๆ}
+\newcommand\postpartname{•”}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{•˜^}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{—vŽ|}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 •ฝฌ\,\fi
+ \ifnum\count0=1 Œณ\else\number\count0\fi
+ \,”N\hspace{.5em}\nobreak\number\month
+ \,ŒŽ\hspace{.5em}\nobreak\number\day\,“๚}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ ˆ๊\or “๑\or ŽO\or Žl\or Œ\or
+ ˜Z\or Žต\or ”ช\or ‹ใ\or\CJKchar{"08F}{"05C}\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: sjis
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.chr b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.chr
new file mode 100644
index 0000000000..cb17c2ff0c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.chr
@@ -0,0 +1,260 @@
+% This is the file SJIS.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{SJIS.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling SJIS encoded CJK fonts and characters.
+
+% two byte encoded characters.
+
+\gdef\CJK@SJISChr{
+ \CJK@global\chardef\CJK@gap "07F\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+
+% one byte encoded characters.
+
+ \CJK@global\def\CJK@sjischar##1##2##3{
+ \ifCJK@hwkatakana@
+ {\CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \edef\CJK@plane{}
+ \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number "0##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{"0##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}
+ \else
+ \csname CJK@##2\endcsname{"0##3}
+ \fi}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.cpx
new file mode 100644
index 0000000000..e68f47b273
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.cpx
@@ -0,0 +1,81 @@
+% This is the file SJIS.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{SJIS.cpx}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: SJIS
+%
+% preprocessed
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{–218Ž159}
+
+\renewcommand\listfigurename{125–218Ž159}
+% \renewcommand\listfigurename{125ˆ234—151}
+
+\renewcommand\listtablename{•92–218Ž159}
+% \renewcommand\listtablename{•92ˆ234—151}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{Ž81108•182Œ163}
+ }
+ {\renewcommand\bibname{Š214˜65145208}
+% \renewcommand\bibname{Ž81108•182Œ163}
+ }
+
+\renewcommand\indexname{245ˆ248}
+
+\renewcommand\figurename{125}
+\renewcommand\tablename{•92}
+
+\newcommand\prepartname{‘230}
+\newcommand\postpartname{•148}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{•141˜94}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{—118Ž124}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 •189172\,\fi
+ \ifnum\count0=1 Œ179\else\number\count0\fi
+ \,”78\hspace{.5em}\nobreak\number\month
+ \,Œ142\hspace{.5em}\nobreak\number\day\,“250}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{%
+ \ifcase #1\or
+ ˆ234\or “241\or Ž79\or Ž108\or Œ220\or
+ ˜90\or Ž181\or ”170\or ‹227\or 92\fi}}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.enc b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.enc
new file mode 100644
index 0000000000..e20ffa821b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJIS.enc
@@ -0,0 +1,199 @@
+% This is the file SJIS.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{SJIS.enc}[\filedate\space\fileversion]
+
+
+% SJIS encoding (JIS X 0208:1997):
+% it uses a one byte encoding (for half-width Katakana) from 0xA1 to
+% 0xDF, and a two byte encoding for the remaining coding space (kanji,
+% kana, and symbols).
+% The first byte of the two byte encoding is in the ranges 0x81-0x9F and
+% 0xE0-0xEF; the second byte is in the range 0x40 - 0xFC with a gap at
+% 0x7F.
+
+\global\@namedef{CJK@SJISEncoding}{
+ \CJK@loadChr{SJIS}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {81}{01}{-64}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{82}{01}{02}{124}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{83}{02}{03}{ 56}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@char {03}{-12}{##1}}
+ \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{176}{##1}}
+ \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{108}{##1}}
+ \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{ 40}{##1}}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@char {06}{-28}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{160}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{ 92}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{ 24}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@char {09}{-44}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{144}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{ 76}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 8}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-60}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{128}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{ 60}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@char {14}{ -8}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{180}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{112}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{ 44}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@char {17}{-24}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{164}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{ 96}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 28}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@char {20}{-40}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{148}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{ 80}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 12}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@char {23}{-56}{##1}}
+ \CJK@namegdef{^^a1}{\@empty\CJK@sjischar{A1}{129}{42}}
+ \CJK@namegdef{^^a2}{\@empty\CJK@sjischar{A2}{129}{75}}
+ \CJK@namegdef{^^a3}{\@empty\CJK@sjischar{A3}{129}{76}}
+ \CJK@namegdef{^^a4}{\@empty\CJK@sjischar{A4}{129}{41}}
+ \CJK@namegdef{^^a5}{\@empty\CJK@sjischar{A5}{129}{45}}
+ \CJK@namegdef{^^a6}{\@empty\CJK@sjischar{A6}{131}{92}}
+ \CJK@namegdef{^^a7}{\@empty\CJK@sjischar{A7}{131}{40}}
+ \CJK@namegdef{^^a8}{\@empty\CJK@sjischar{A8}{131}{42}}
+ \CJK@namegdef{^^a9}{\@empty\CJK@sjischar{A9}{131}{44}}
+ \CJK@namegdef{^^aa}{\@empty\CJK@sjischar{AA}{131}{46}}
+ \CJK@namegdef{^^ab}{\@empty\CJK@sjischar{AB}{131}{48}}
+ \CJK@namegdef{^^ac}{\@empty\CJK@sjischar{AC}{131}{83}}
+ \CJK@namegdef{^^ad}{\@empty\CJK@sjischar{AD}{131}{85}}
+ \CJK@namegdef{^^ae}{\@empty\CJK@sjischar{AE}{131}{87}}
+ \CJK@namegdef{^^af}{\@empty\CJK@sjischar{AF}{131}{62}}
+ \CJK@namegdef{^^b0}{\@empty\CJK@sjischar{B0}{129}{5B}}
+ \CJK@namegdef{^^b1}{\@empty\CJK@sjischar{B1}{131}{41}}
+ \CJK@namegdef{^^b2}{\@empty\CJK@sjischar{B2}{131}{43}}
+ \CJK@namegdef{^^b3}{\@empty\CJK@sjischar{B3}{131}{45}}
+ \CJK@namegdef{^^b4}{\@empty\CJK@sjischar{B4}{131}{47}}
+ \CJK@namegdef{^^b5}{\@empty\CJK@sjischar{B5}{131}{49}}
+ \CJK@namegdef{^^b6}{\@empty\CJK@sjischar{B6}{131}{4A}}
+ \CJK@namegdef{^^b7}{\@empty\CJK@sjischar{B7}{131}{4C}}
+ \CJK@namegdef{^^b8}{\@empty\CJK@sjischar{B8}{131}{4E}}
+ \CJK@namegdef{^^b9}{\@empty\CJK@sjischar{B9}{131}{50}}
+ \CJK@namegdef{^^ba}{\@empty\CJK@sjischar{BA}{131}{52}}
+ \CJK@namegdef{^^bb}{\@empty\CJK@sjischar{BB}{131}{54}}
+ \CJK@namegdef{^^bc}{\@empty\CJK@sjischar{BC}{131}{56}}
+ \CJK@namegdef{^^bd}{\@empty\CJK@sjischar{BD}{131}{58}}
+ \CJK@namegdef{^^be}{\@empty\CJK@sjischar{BE}{131}{5A}}
+ \CJK@namegdef{^^bf}{\@empty\CJK@sjischar{BF}{131}{5C}}
+ \CJK@namegdef{^^c0}{\@empty\CJK@sjischar{C0}{131}{5E}}
+ \CJK@namegdef{^^c1}{\@empty\CJK@sjischar{C1}{131}{60}}
+ \CJK@namegdef{^^c2}{\@empty\CJK@sjischar{C2}{131}{63}}
+ \CJK@namegdef{^^c3}{\@empty\CJK@sjischar{C3}{131}{65}}
+ \CJK@namegdef{^^c4}{\@empty\CJK@sjischar{C4}{131}{67}}
+ \CJK@namegdef{^^c5}{\@empty\CJK@sjischar{C5}{131}{69}}
+ \CJK@namegdef{^^c6}{\@empty\CJK@sjischar{C6}{131}{6A}}
+ \CJK@namegdef{^^c7}{\@empty\CJK@sjischar{C7}{131}{6B}}
+ \CJK@namegdef{^^c8}{\@empty\CJK@sjischar{C8}{131}{6C}}
+ \CJK@namegdef{^^c9}{\@empty\CJK@sjischar{C9}{131}{6D}}
+ \CJK@namegdef{^^ca}{\@empty\CJK@sjischar{CA}{131}{6E}}
+ \CJK@namegdef{^^cb}{\@empty\CJK@sjischar{CB}{131}{71}}
+ \CJK@namegdef{^^cc}{\@empty\CJK@sjischar{CC}{131}{74}}
+ \CJK@namegdef{^^cd}{\@empty\CJK@sjischar{CD}{131}{77}}
+ \CJK@namegdef{^^ce}{\@empty\CJK@sjischar{CE}{131}{7A}}
+ \CJK@namegdef{^^cf}{\@empty\CJK@sjischar{CF}{131}{7D}}
+ \CJK@namegdef{^^d0}{\@empty\CJK@sjischar{D0}{131}{7E}}
+ \CJK@namegdef{^^d1}{\@empty\CJK@sjischar{D1}{131}{80}}
+ \CJK@namegdef{^^d2}{\@empty\CJK@sjischar{D2}{131}{81}}
+ \CJK@namegdef{^^d3}{\@empty\CJK@sjischar{D3}{131}{82}}
+ \CJK@namegdef{^^d4}{\@empty\CJK@sjischar{D4}{131}{84}}
+ \CJK@namegdef{^^d5}{\@empty\CJK@sjischar{D5}{131}{86}}
+ \CJK@namegdef{^^d6}{\@empty\CJK@sjischar{D6}{131}{88}}
+ \CJK@namegdef{^^d7}{\@empty\CJK@sjischar{D7}{131}{89}}
+ \CJK@namegdef{^^d8}{\@empty\CJK@sjischar{D8}{131}{8A}}
+ \CJK@namegdef{^^d9}{\@empty\CJK@sjischar{D9}{131}{8B}}
+ \CJK@namegdef{^^da}{\@empty\CJK@sjischar{DA}{131}{8C}}
+ \CJK@namegdef{^^db}{\@empty\CJK@sjischar{DB}{131}{8D}}
+ \CJK@namegdef{^^dc}{\@empty\CJK@sjischar{DC}{131}{8F}}
+ \CJK@namegdef{^^dd}{\@empty\CJK@sjischar{DD}{131}{93}}
+ \CJK@namegdef{^^de}{\@empty\CJK@sjischar{DE}{129}{4A}}
+ \CJK@namegdef{^^df}{\@empty\CJK@sjischar{DF}{129}{4B}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{132}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{24}{25}{ 64}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@char {25}{ -4}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{25}{26}{184}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{26}{27}{116}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{27}{28}{ 48}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@char {28}{-20}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{168}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{100}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{ 32}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@char {31}{-36}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{152}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{ 84}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{ 16}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@char {34}{-52}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{136}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJISdnp.chr b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJISdnp.chr
new file mode 100644
index 0000000000..9fb710420f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJISdnp.chr
@@ -0,0 +1,253 @@
+% This is the file SJISdnp.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{SJISdnp.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling SJIS encoded DNP fonts and characters.
+
+% two byte encoded characters.
+
+\gdef\CJK@SJISdnpChr{
+ \CJK@global\chardef\CJK@gap "07F\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% to access two subfonts within one first byte value
+
+ \CJK@global\def\CJK@sjischarx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \ifnum ##5 < "09F\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta ##4\relax
+ \edef\CJK@plane{##3}
+ \fi
+
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same for punctuation.
+
+ \CJK@global\def\CJK@sjispunctcharx##1##2##3##4##5##6{
+ {\ifnum ##6 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##6 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##6}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##6\relax
+ \ifnum ##6 < "09F\relax
+ \ifnum ##6 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta ##5\relax
+ \edef\CJK@plane{##4}
+ \fi
+
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{SJIS}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+% one byte encoded characters.
+
+ \CJK@global\def\CJK@sjischar##1##2##3{
+ \ifCJK@hwkatakana@
+ {\CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \def\CJK@plane{}
+ \usefont{\CJK@altenc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\number "0##1/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{"0##1}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@altenc}{}{##1}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi}
+ \else
+ \csname CJK@##2\endcsname{"0##3}
+ \fi}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJISdnp.enc b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJISdnp.enc
new file mode 100644
index 0000000000..0aeaf13f71
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/SJISdnp.enc
@@ -0,0 +1,192 @@
+% This is the file SJISdnp.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{SJISdnp.enc}[\filedate\space\fileversion]
+
+
+% SJIS encoding (JIS X 0208:1997) for DNP fonts:
+% it uses a one byte encoding (for half-width Katakana) from 0xA1 to
+% 0xDF, and a two byte encoding for the remaining coding space (kanji,
+% kana, and symbols).
+% The first byte of the two byte encoding is in the ranges 0x81-0x9F and
+% 0xE0-0xEF; the second byte is in the range 0x40 - 0xFC with a gap at
+% 0x7F.
+
+\global\@namedef{CJK@SJISdnpEncoding}{
+ \CJK@loadChr{SJISdnp}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@sjispunctcharx{81}{sy}{-63}{sy}{-58}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@sjispunctcharx{82}{roma}{-31}{hira}{-158}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@sjispunctcharx{83}{kata}{-63}{greek}{-158}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@sjischarx{russian}{-63}{keisen}{-158}{##1}}
+ \CJK@namegdef{^^85}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^86}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^87}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@sjischarx{}{0}{ka}{-159}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ka}{kb}{30}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@char {kb}{-38}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kb}{kc}{150}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kc}{kd}{ 82}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kd}{ke}{ 14}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@char {ke}{-54}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ke}{kf}{134}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kf}{kg}{ 66}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@char {kg}{ -2}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kg}{kh}{186}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kh}{ki}{118}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ki}{kj}{ 50}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@char {kj}{-18}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kj}{kk}{170}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kk}{kl}{102}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@sjischarx{kl}{34}{km}{-159}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{km}{kn}{30}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@char {kn}{-38}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kn}{ko}{150}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ko}{kp}{ 82}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kp}{kq}{ 14}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@char {kq}{-54}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kq}{kr}{134}{##1}}
+ \CJK@namegdef{^^a1}{\@empty\CJK@sjischar{A1}{129}{42}}
+ \CJK@namegdef{^^a2}{\@empty\CJK@sjischar{A2}{129}{75}}
+ \CJK@namegdef{^^a3}{\@empty\CJK@sjischar{A3}{129}{76}}
+ \CJK@namegdef{^^a4}{\@empty\CJK@sjischar{A4}{129}{41}}
+ \CJK@namegdef{^^a5}{\@empty\CJK@sjischar{A5}{129}{45}}
+ \CJK@namegdef{^^a6}{\@empty\CJK@sjischar{A6}{131}{92}}
+ \CJK@namegdef{^^a7}{\@empty\CJK@sjischar{A7}{131}{40}}
+ \CJK@namegdef{^^a8}{\@empty\CJK@sjischar{A8}{131}{42}}
+ \CJK@namegdef{^^a9}{\@empty\CJK@sjischar{A9}{131}{44}}
+ \CJK@namegdef{^^aa}{\@empty\CJK@sjischar{AA}{131}{46}}
+ \CJK@namegdef{^^ab}{\@empty\CJK@sjischar{AB}{131}{48}}
+ \CJK@namegdef{^^ac}{\@empty\CJK@sjischar{AC}{131}{83}}
+ \CJK@namegdef{^^ad}{\@empty\CJK@sjischar{AD}{131}{85}}
+ \CJK@namegdef{^^ae}{\@empty\CJK@sjischar{AE}{131}{87}}
+ \CJK@namegdef{^^af}{\@empty\CJK@sjischar{AF}{131}{62}}
+ \CJK@namegdef{^^b0}{\@empty\CJK@sjischar{B0}{129}{5B}}
+ \CJK@namegdef{^^b1}{\@empty\CJK@sjischar{B1}{131}{41}}
+ \CJK@namegdef{^^b2}{\@empty\CJK@sjischar{B2}{131}{43}}
+ \CJK@namegdef{^^b3}{\@empty\CJK@sjischar{B3}{131}{45}}
+ \CJK@namegdef{^^b4}{\@empty\CJK@sjischar{B4}{131}{47}}
+ \CJK@namegdef{^^b5}{\@empty\CJK@sjischar{B5}{131}{49}}
+ \CJK@namegdef{^^b6}{\@empty\CJK@sjischar{B6}{131}{4A}}
+ \CJK@namegdef{^^b7}{\@empty\CJK@sjischar{B7}{131}{4C}}
+ \CJK@namegdef{^^b8}{\@empty\CJK@sjischar{B8}{131}{4E}}
+ \CJK@namegdef{^^b9}{\@empty\CJK@sjischar{B9}{131}{50}}
+ \CJK@namegdef{^^ba}{\@empty\CJK@sjischar{BA}{131}{52}}
+ \CJK@namegdef{^^bb}{\@empty\CJK@sjischar{BB}{131}{54}}
+ \CJK@namegdef{^^bc}{\@empty\CJK@sjischar{BC}{131}{56}}
+ \CJK@namegdef{^^bd}{\@empty\CJK@sjischar{BD}{131}{58}}
+ \CJK@namegdef{^^be}{\@empty\CJK@sjischar{BE}{131}{5A}}
+ \CJK@namegdef{^^bf}{\@empty\CJK@sjischar{BF}{131}{5C}}
+ \CJK@namegdef{^^c0}{\@empty\CJK@sjischar{C0}{131}{5E}}
+ \CJK@namegdef{^^c1}{\@empty\CJK@sjischar{C1}{131}{60}}
+ \CJK@namegdef{^^c2}{\@empty\CJK@sjischar{C2}{131}{63}}
+ \CJK@namegdef{^^c3}{\@empty\CJK@sjischar{C3}{131}{65}}
+ \CJK@namegdef{^^c4}{\@empty\CJK@sjischar{C4}{131}{67}}
+ \CJK@namegdef{^^c5}{\@empty\CJK@sjischar{C5}{131}{69}}
+ \CJK@namegdef{^^c6}{\@empty\CJK@sjischar{C6}{131}{6A}}
+ \CJK@namegdef{^^c7}{\@empty\CJK@sjischar{C7}{131}{6B}}
+ \CJK@namegdef{^^c8}{\@empty\CJK@sjischar{C8}{131}{6C}}
+ \CJK@namegdef{^^c9}{\@empty\CJK@sjischar{C9}{131}{6D}}
+ \CJK@namegdef{^^ca}{\@empty\CJK@sjischar{CA}{131}{6E}}
+ \CJK@namegdef{^^cb}{\@empty\CJK@sjischar{CB}{131}{71}}
+ \CJK@namegdef{^^cc}{\@empty\CJK@sjischar{CC}{131}{74}}
+ \CJK@namegdef{^^cd}{\@empty\CJK@sjischar{CD}{131}{77}}
+ \CJK@namegdef{^^ce}{\@empty\CJK@sjischar{CE}{131}{7A}}
+ \CJK@namegdef{^^cf}{\@empty\CJK@sjischar{CF}{131}{7D}}
+ \CJK@namegdef{^^d0}{\@empty\CJK@sjischar{D0}{131}{7E}}
+ \CJK@namegdef{^^d1}{\@empty\CJK@sjischar{D1}{131}{80}}
+ \CJK@namegdef{^^d2}{\@empty\CJK@sjischar{D2}{131}{81}}
+ \CJK@namegdef{^^d3}{\@empty\CJK@sjischar{D3}{131}{82}}
+ \CJK@namegdef{^^d4}{\@empty\CJK@sjischar{D4}{131}{84}}
+ \CJK@namegdef{^^d5}{\@empty\CJK@sjischar{D5}{131}{86}}
+ \CJK@namegdef{^^d6}{\@empty\CJK@sjischar{D6}{131}{88}}
+ \CJK@namegdef{^^d7}{\@empty\CJK@sjischar{D7}{131}{89}}
+ \CJK@namegdef{^^d8}{\@empty\CJK@sjischar{D8}{131}{8A}}
+ \CJK@namegdef{^^d9}{\@empty\CJK@sjischar{D9}{131}{8B}}
+ \CJK@namegdef{^^da}{\@empty\CJK@sjischar{DA}{131}{8C}}
+ \CJK@namegdef{^^db}{\@empty\CJK@sjischar{DB}{131}{8D}}
+ \CJK@namegdef{^^dc}{\@empty\CJK@sjischar{DC}{131}{8F}}
+ \CJK@namegdef{^^dd}{\@empty\CJK@sjischar{DD}{131}{93}}
+ \CJK@namegdef{^^de}{\@empty\CJK@sjischar{DE}{129}{4A}}
+ \CJK@namegdef{^^df}{\@empty\CJK@sjischar{DF}{129}{4B}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kr}{ks}{ 66}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@char {ks}{ -2}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ks}{kt}{186}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kt}{ku}{118}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ku}{kv}{ 50}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@char {kv}{-18}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kv}{kw}{170}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kw}{kx}{102}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{kx}{ky}{ 34}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@char {ky}{-34}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{ky}{kz}{154}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@errxx}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@errxx}
+}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/c49song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/c49song.fd
new file mode 100644
index 0000000000..c24aa0dc81
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/SJIS/c49song.fd
@@ -0,0 +1,25 @@
+% This is the file c49song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c49song.fd}[\filedate\space\fileversion]
+
+
+% Japanese characters
+%
+% character set: one-byte half-width katakana (JIS X 0201-1997)
+% font encoding: eight-bit (as used in SJIS)
+
+\DeclareFontFamily{C49}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C49}{song}{m}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * sokana}{}
+\DeclareFontShape{C49}{song}{bx}{n}{<5><6><7><8><9><10><10.95><12>
+ <14.4><17.28><20.74><24.88> CJK * sokanab}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.bdg b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.bdg
new file mode 100644
index 0000000000..7e1f4988f5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.bdg
@@ -0,0 +1,156 @@
+% This is the file UTF8.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{UTF8.bdg}[\filedate\space\fileversion]
+
+
+
+% UTF 8 bindings for two-, three-, and four-byte characters. We stop
+% with 0xF4 because there are no valid Unicode characters beyond 0x10FFFF.
+
+\global\@namedef{CJK@UTF8Binding}{
+ \CJK@namedef{^^80}
+ \CJK@namedef{^^81}
+ \CJK@namedef{^^82}
+ \CJK@namedef{^^83}
+ \CJK@namedef{^^84}
+ \CJK@namedef{^^85}
+ \CJK@namedef{^^86}
+ \CJK@namedef{^^87}
+ \CJK@namedef{^^88}
+ \CJK@namedef{^^89}
+ \CJK@namedef{^^8a}
+ \CJK@namedef{^^8b}
+ \CJK@namedef{^^8c}
+ \CJK@namedef{^^8d}
+ \CJK@namedef{^^8e}
+ \CJK@namedef{^^8f}
+ \CJK@namedef{^^90}
+ \CJK@namedef{^^91}
+ \CJK@namedef{^^92}
+ \CJK@namedef{^^93}
+ \CJK@namedef{^^94}
+ \CJK@namedef{^^95}
+ \CJK@namedef{^^96}
+ \CJK@namedef{^^97}
+ \CJK@namedef{^^98}
+ \CJK@namedef{^^99}
+ \CJK@namedef{^^9a}
+ \CJK@namedef{^^9b}
+ \CJK@namedef{^^9c}
+ \CJK@namedef{^^9d}
+ \CJK@namedef{^^9e}
+ \CJK@namedef{^^9f}
+ \CJK@namedef{^^a0}
+ \CJK@namedef{^^a1}
+ \CJK@namedef{^^a2}
+ \CJK@namedef{^^a3}
+ \CJK@namedef{^^a4}
+ \CJK@namedef{^^a5}
+ \CJK@namedef{^^a6}
+ \CJK@namedef{^^a7}
+ \CJK@namedef{^^a8}
+ \CJK@namedef{^^a9}
+ \CJK@namedef{^^aa}
+ \CJK@namedef{^^ab}
+ \CJK@namedef{^^ac}
+ \CJK@namedef{^^ad}
+ \CJK@namedef{^^ae}
+ \CJK@namedef{^^af}
+ \CJK@namedef{^^b0}
+ \CJK@namedef{^^b1}
+ \CJK@namedef{^^b2}
+ \CJK@namedef{^^b3}
+ \CJK@namedef{^^b4}
+ \CJK@namedef{^^b5}
+ \CJK@namedef{^^b6}
+ \CJK@namedef{^^b7}
+ \CJK@namedef{^^b8}
+ \CJK@namedef{^^b9}
+ \CJK@namedef{^^ba}
+ \CJK@namedef{^^bb}
+ \CJK@namedef{^^bc}
+ \CJK@namedef{^^bd}
+ \CJK@namedef{^^be}
+ \CJK@namedef{^^bf}
+
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+
+ \CJK@namepppdef{^^e0}
+ \CJK@namepppdef{^^e1}
+ \CJK@namepppdef{^^e2}
+ \CJK@namepppdef{^^e3}
+ \CJK@namepppdef{^^e4}
+ \CJK@namepppdef{^^e5}
+ \CJK@namepppdef{^^e6}
+ \CJK@namepppdef{^^e7}
+ \CJK@namepppdef{^^e8}
+ \CJK@namepppdef{^^e9}
+ \CJK@namepppdef{^^ea}
+ \CJK@namepppdef{^^eb}
+ \CJK@namepppdef{^^ec}
+ \CJK@namepppdef{^^ed}
+ \CJK@namepppdef{^^ee}
+ \CJK@namepppdef{^^ef}
+
+ \CJK@nameppppdef{^^f0}
+ \CJK@nameppppdef{^^f1}
+ \CJK@nameppppdef{^^f2}
+ \CJK@nameppppdef{^^f3}
+ \CJK@nameppppdef{^^f4}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.chr b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.chr
new file mode 100644
index 0000000000..cdb438141e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.chr
@@ -0,0 +1,276 @@
+% This is the file UTF8.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{UTF8.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling CJK fonts and characters in UTF 8 encoding.
+
+% two bytes per character; covers range 0x80 - 0x7FF.
+
+\CJK@global\@namedef{CJK@UTF8Chr}{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKsymbol{\@tempcnta}
+ \fi
+ \fi}}
+
+% three bytes per character; covers range 0x800 - 0xFFFF.
+
+ \CJK@global\def\CJK@altchar##1##2##3{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errx
+ \else
+ \ifCJK@CJK@
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \@tempcnta ##1\relax
+ \@tempcntb ##2\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \def\CJK@tempa####1{
+ \lowercase{\edef\CJK@plane{####1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+
+ \@tempcnta ##2\relax
+ \multiply\@tempcntb -4\relax
+ \advance\@tempcnta \@tempcntb
+ \multiply\@tempcnta 64\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcnta -128\relax
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ \ifCJK@CJK@
+ \CJK@CJK
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}}
+
+% four bytes per character; covers range 0x10000 - 0x10FFFF.
+
+ \CJK@global\def\CJK@altxchar##1##2##3##4{
+ {\ifnum ##2 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##2 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errx
+ \else
+ \ifnum ##3 < \CJK@min
+ \CJK@errxx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errxx
+ \else
+ \ifCJK@CJK@
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \@tempcnta ##1\relax
+ \@tempcntb ##2\relax
+ \multiply\@tempcntb \sixt@@n
+ \advance\@tempcnta \@tempcntb
+ \@tempcntb ##3\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbxToHex{\CJK@gtemp}{\@tempcnta}
+ \def\CJK@tempa####1{
+ \lowercase{\edef\CJK@plane{####1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+
+ \@tempcnta ##3\relax
+ \multiply\@tempcntb -4\relax
+ \advance\@tempcnta \@tempcntb
+ \multiply\@tempcnta 64\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcnta -128\relax
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ \ifCJK@CJK@
+ \CJK@CJK
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}}
+
+% define macro for handling punctuation characters.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \ifnum ##4 < \CJK@min
+ \CJK@errx
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@errx
+ \else
+ \@tempcnta ##2\relax
+ \@tempcntb ##3\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \def\CJK@tempa####1{
+ \lowercase{\edef\CJK@plane{####1}}}
+ \expandafter\CJK@tempa\expandafter{\CJK@gtemp}
+
+ \@tempcnta ##3\relax
+ \multiply\@tempcntb -4\relax
+ \advance\@tempcnta \@tempcntb
+ \multiply\@tempcnta 64\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcnta -128\relax
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+
+ % we need three braces to make it work with CJKulem.sty
+ {{{\ifCJK@CJK@
+ \expandafter\CJK@testInList
+ \expandafter{\expandafter##1\expandafter}
+ \expandafter{\CJK@plane}
+ \ifCJK@
+ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \CJKpunctsymbol{\@tempcnta}
+
+ \CJK@CJK
+ \fi
+ \else
+ \CJKpunctsymbol{\@tempcnta}
+ \fi
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ }}}
+ \fi
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.enc b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.enc
new file mode 100644
index 0000000000..ff401e7049
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/UTF8.enc
@@ -0,0 +1,140 @@
+% This is the file UTF8.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{UTF8.enc}[\filedate\space\fileversion]
+
+
+% UTF 8 encoding:
+
+\CJK@global\@namedef{CJK@UTF8Encoding}{
+ \CJK@loadChr{UTF8}
+
+ % two-byte characters
+ %
+ % 110xxxxx 10xxxxxx
+ % |
+ %
+ % 1. Byte * 64 -> xxxxx000000
+ % 2. Byte -> 128 + xxxxxx
+ %
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{00}{-128}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{00}{ -64}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{00}{ 0}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{00}{ 64}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{01}{-128}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{01}{ -64}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{01}{ 0}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{01}{ 64}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{02}{-128}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{02}{ -64}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{02}{ 0}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{02}{ 64}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{03}{-128}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{03}{ -64}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{03}{ 0}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{03}{ 64}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{04}{-128}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{04}{ -64}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{04}{ 0}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{04}{ 64}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{05}{-128}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{05}{ -64}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{05}{ 0}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{05}{ 64}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{06}{-128}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{06}{ -64}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{06}{ 0}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{06}{ 64}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{07}{-128}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{07}{ -64}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{07}{ 0}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{07}{ 64}{##1}}
+
+ % if in preprocessed mode, `\@gobble' will be gobbled, and
+ % \CJK@unicodeError becomes active
+
+ % three-byte characters
+ %
+ % 1110xxxx 10xxxxxx 10xxxxxx
+ % |
+ %
+ % 1. Byte * 16 -> xxxx0000
+ % 2. Byte / 4 -> 32 + xxxx
+ %
+ \CJK@namegdef{^^e0}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{-32}{##1}{##2}}
+ \CJK@namegdef{^^e1}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{-16}{##1}{##2}}
+ \CJK@namegdef{^^e2}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 0}{##1}{##2}}
+ \CJK@namegdef{^^e3}##1##2{\@gobble\CJK@unicodeError
+ \CJK@punctchar{\CJK@uniPunct}{ 16}{##1}{##2}}
+ \CJK@namegdef{^^e4}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 32}{##1}{##2}}
+ \CJK@namegdef{^^e5}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 48}{##1}{##2}}
+ \CJK@namegdef{^^e6}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 64}{##1}{##2}}
+ \CJK@namegdef{^^e7}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 80}{##1}{##2}}
+ \CJK@namegdef{^^e8}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{ 96}{##1}{##2}}
+ \CJK@namegdef{^^e9}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{112}{##1}{##2}}
+ \CJK@namegdef{^^ea}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{128}{##1}{##2}}
+ \CJK@namegdef{^^eb}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{144}{##1}{##2}}
+ \CJK@namegdef{^^ec}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{160}{##1}{##2}}
+ \CJK@namegdef{^^ed}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{176}{##1}{##2}}
+ \CJK@namegdef{^^ee}##1##2{\@gobble\CJK@unicodeError
+ \CJK@altchar{192}{##1}{##2}}
+ \CJK@namegdef{^^ef}##1##2{\@gobble\CJK@unicodeError
+ \CJK@punctchar{\CJK@uniPunct}{208}{##1}{##2}}
+
+ % four-byte characters
+ %
+ % 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+ % | |
+ %
+ % 1. Byte * 1024 -> xxx00 00000000
+ % 2. Byte * 16 -> 2048 + xx xxxx0000
+ % 3. Byte / 4 -> 32 + xxxx
+ %
+ \CJK@namegdef{^^f0}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{-2080}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f1}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{-1056}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f2}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{ -32}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f3}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{ 992}{##1}{##2}{##3}}
+ \CJK@namegdef{^^f4}##1##2##3{\@gobble\CJK@unicodexError
+ \CJK@altxchar{ 2016}{##1}{##2}{##3}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bkai.fd b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bkai.fd
new file mode 100644
index 0000000000..a4f0d9a849
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bkai.fd
@@ -0,0 +1,21 @@
+% This is the file c70bkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70bkai.fd}[\filedate\space\fileversion]
+
+
+% character set: Big5
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{bkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{bkai}{m}{n}{<-> CJK * bkaiu}{\CJKnormal}
+\DeclareFontShape{C70}{bkai}{bx}{n}{<-> CJKb * bkaiu}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bkai.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bkai.fdx
new file mode 100644
index 0000000000..8f3919f492
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bkai.fdx
@@ -0,0 +1,325 @@
+% This is the file c70bkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by the script makefdx.pl for CJK Version 4.8.5 (16-Oct-2021).
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70bkai.fdx}[\filedate\space\fileversion]
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+% Uncomment if necessary.
+%\CJKvdef{norotate}{}
+\CJKvdef{m/n/00/175}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvlet{bx/n/00/175}{m/n/00/175}
+\CJKvdef{m/n/00/183}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvlet{bx/n/00/183}{m/n/00/183}
+\CJKvdef{m/n/02/205}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvlet{bx/n/02/205}{m/n/02/205}
+\CJKvdef{m/n/ff/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvdef{m/n/ff/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvdef{m/n/ff/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvdef{m/n/ff/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvdef{m/n/ff/59}{\def\CJK@plane{v}\selectfont\CJKsymbol{7}}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvdef{m/n/ff/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{8}}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvdef{m/n/ff/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvlet{bx/n/ff/63}{m/n/ff/63}
+\CJKvdef{m/n/ff/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvdef{m/n/ff/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+\CJKvdef{m/n/ff/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvlet{bx/n/ff/94}{m/n/ff/94}
+\CJKvdef{m/n/20/19}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvlet{bx/n/20/19}{m/n/20/19}
+\CJKvdef{m/n/20/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvlet{bx/n/20/20}{m/n/20/20}
+\CJKvdef{m/n/20/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvdef{m/n/20/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+\CJKvdef{m/n/21/144}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvlet{bx/n/21/144}{m/n/21/144}
+\CJKvdef{m/n/21/145}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvlet{bx/n/21/145}{m/n/21/145}
+\CJKvdef{m/n/21/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvlet{bx/n/21/146}{m/n/21/146}
+\CJKvdef{m/n/21/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvlet{bx/n/21/147}{m/n/21/147}
+\CJKvdef{m/n/22/35}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvlet{bx/n/22/35}{m/n/22/35}
+\CJKvdef{m/n/22/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvlet{bx/n/22/37}{m/n/22/37}
+\CJKvdef{m/n/25/0}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvlet{bx/n/25/0}{m/n/25/0}
+\CJKvdef{m/n/25/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvlet{bx/n/25/2}{m/n/25/2}
+\CJKvdef{m/n/25/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvlet{bx/n/25/12}{m/n/25/12}
+\CJKvdef{m/n/25/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvlet{bx/n/25/16}{m/n/25/16}
+\CJKvdef{m/n/25/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvlet{bx/n/25/20}{m/n/25/20}
+\CJKvdef{m/n/25/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvlet{bx/n/25/24}{m/n/25/24}
+\CJKvdef{m/n/25/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvlet{bx/n/25/28}{m/n/25/28}
+\CJKvdef{m/n/25/36}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvlet{bx/n/25/36}{m/n/25/36}
+\CJKvdef{m/n/25/44}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvlet{bx/n/25/44}{m/n/25/44}
+\CJKvdef{m/n/25/52}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvlet{bx/n/25/52}{m/n/25/52}
+\CJKvdef{m/n/25/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvlet{bx/n/25/80}{m/n/25/80}
+\CJKvdef{m/n/25/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{34}}
+\CJKvlet{bx/n/25/81}{m/n/25/81}
+\CJKvdef{m/n/25/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{35}}
+\CJKvlet{bx/n/25/82}{m/n/25/82}
+\CJKvdef{m/n/25/83}{\def\CJK@plane{v}\selectfont\CJKsymbol{36}}
+\CJKvlet{bx/n/25/83}{m/n/25/83}
+\CJKvdef{m/n/25/84}{\def\CJK@plane{v}\selectfont\CJKsymbol{37}}
+\CJKvlet{bx/n/25/84}{m/n/25/84}
+\CJKvdef{m/n/25/85}{\def\CJK@plane{v}\selectfont\CJKsymbol{38}}
+\CJKvlet{bx/n/25/85}{m/n/25/85}
+\CJKvdef{m/n/25/86}{\def\CJK@plane{v}\selectfont\CJKsymbol{39}}
+\CJKvlet{bx/n/25/86}{m/n/25/86}
+\CJKvdef{m/n/25/87}{\def\CJK@plane{v}\selectfont\CJKsymbol{40}}
+\CJKvlet{bx/n/25/87}{m/n/25/87}
+\CJKvdef{m/n/25/88}{\def\CJK@plane{v}\selectfont\CJKsymbol{41}}
+\CJKvlet{bx/n/25/88}{m/n/25/88}
+\CJKvdef{m/n/25/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{42}}
+\CJKvlet{bx/n/25/89}{m/n/25/89}
+\CJKvdef{m/n/25/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{43}}
+\CJKvlet{bx/n/25/90}{m/n/25/90}
+\CJKvdef{m/n/25/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{44}}
+\CJKvlet{bx/n/25/91}{m/n/25/91}
+\CJKvdef{m/n/25/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{45}}
+\CJKvlet{bx/n/25/92}{m/n/25/92}
+\CJKvdef{m/n/25/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{46}}
+\CJKvlet{bx/n/25/93}{m/n/25/93}
+\CJKvdef{m/n/25/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvlet{bx/n/25/94}{m/n/25/94}
+\CJKvdef{m/n/25/95}{\def\CJK@plane{v}\selectfont\CJKsymbol{48}}
+\CJKvlet{bx/n/25/95}{m/n/25/95}
+\CJKvdef{m/n/25/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{49}}
+\CJKvlet{bx/n/25/96}{m/n/25/96}
+\CJKvdef{m/n/25/97}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvlet{bx/n/25/97}{m/n/25/97}
+\CJKvdef{m/n/25/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{51}}
+\CJKvlet{bx/n/25/98}{m/n/25/98}
+\CJKvdef{m/n/25/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{52}}
+\CJKvlet{bx/n/25/99}{m/n/25/99}
+\CJKvdef{m/n/25/100}{\def\CJK@plane{v}\selectfont\CJKsymbol{53}}
+\CJKvlet{bx/n/25/100}{m/n/25/100}
+\CJKvdef{m/n/25/101}{\def\CJK@plane{v}\selectfont\CJKsymbol{54}}
+\CJKvlet{bx/n/25/101}{m/n/25/101}
+\CJKvdef{m/n/25/102}{\def\CJK@plane{v}\selectfont\CJKsymbol{55}}
+\CJKvlet{bx/n/25/102}{m/n/25/102}
+\CJKvdef{m/n/25/103}{\def\CJK@plane{v}\selectfont\CJKsymbol{56}}
+\CJKvlet{bx/n/25/103}{m/n/25/103}
+\CJKvdef{m/n/25/104}{\def\CJK@plane{v}\selectfont\CJKsymbol{57}}
+\CJKvlet{bx/n/25/104}{m/n/25/104}
+\CJKvdef{m/n/25/105}{\def\CJK@plane{v}\selectfont\CJKsymbol{58}}
+\CJKvlet{bx/n/25/105}{m/n/25/105}
+\CJKvdef{m/n/25/106}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvlet{bx/n/25/106}{m/n/25/106}
+\CJKvdef{m/n/25/107}{\def\CJK@plane{v}\selectfont\CJKsymbol{60}}
+\CJKvlet{bx/n/25/107}{m/n/25/107}
+\CJKvdef{m/n/25/109}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvlet{bx/n/25/109}{m/n/25/109}
+\CJKvdef{m/n/25/110}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvlet{bx/n/25/110}{m/n/25/110}
+\CJKvdef{m/n/25/111}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvlet{bx/n/25/111}{m/n/25/111}
+\CJKvdef{m/n/25/112}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvlet{bx/n/25/112}{m/n/25/112}
+\CJKvdef{m/n/25/116}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvlet{bx/n/25/116}{m/n/25/116}
+\CJKvdef{m/n/30/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvdef{m/n/30/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvdef{m/n/30/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvdef{m/n/30/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvdef{m/n/30/10}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvdef{m/n/30/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvdef{m/n/30/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvdef{m/n/30/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvdef{m/n/30/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvdef{m/n/30/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvdef{m/n/30/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvdef{m/n/30/17}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvdef{m/n/30/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvdef{m/n/30/21}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvdef{m/n/fe/79}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvlet{bx/n/fe/79}{m/n/fe/79}
+\CJKvdef{m/n/fe/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvlet{bx/n/fe/80}{m/n/fe/80}
+\CJKvdef{m/n/fe/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvlet{bx/n/fe/81}{m/n/fe/81}
+\CJKvdef{m/n/fe/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvlet{bx/n/fe/82}{m/n/fe/82}
+\CJKvdef{m/n/fe/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvlet{bx/n/fe/89}{m/n/fe/89}
+\CJKvdef{m/n/fe/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvlet{bx/n/fe/90}{m/n/fe/90}
+\CJKvdef{m/n/fe/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvlet{bx/n/fe/91}{m/n/fe/91}
+\CJKvdef{m/n/fe/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvlet{bx/n/fe/92}{m/n/fe/92}
+\CJKvdef{m/n/fe/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvlet{bx/n/fe/93}{m/n/fe/93}
+\CJKvdef{m/n/fe/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+\CJKvlet{bx/n/fe/94}{m/n/fe/94}
+\CJKvdef{m/n/20/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{90}}
+\CJKvlet{bx/n/20/62}{m/n/20/62}
+
+\gdef\CJK@cmap@bkaiv{
+ \expandafter\ifx\csname CJK@CMap@bkaiv\endcsname \relax
+ \immediate\pdfobj stream {
+ /CIDInit\space/ProcSet\space findresource\space begin\space
+ 12\space dict\space begin\space
+ begincmap\space
+ /CIDSystemInfo\space <<\space
+ /Registry\space (TeX)\space
+ /Ordering\space (bkaiv)\space
+ /Supplement\space 0\space >>\space def\space
+ /CMapName\space /TeX-bkaiv-0\space def\space
+ 1\space begincodespacerange\space
+ <00>\space <FF>\space
+ endcodespacerange\space
+ 91\space beginbfchar\space
+ <00>\space <00AF>\space
+ <01>\space <00B7>\space
+ <02>\space <02CD>\space
+ <03>\space <FF08>\space
+ <04>\space <FF09>\space
+ <05>\space <FF0C>\space
+ <06>\space <FF0E>\space
+ <07>\space <FF3B>\space
+ <08>\space <FF3D>\space
+ <09>\space <FF3F>\space
+ <0A>\space <FF5B>\space
+ <0B>\space <FF5D>\space
+ <0C>\space <FF5E>\space
+ <0D>\space <2013>\space
+ <0E>\space <2014>\space
+ <0F>\space <2025>\space
+ <10>\space <2026>\space
+ <11>\space <2190>\space
+ <12>\space <2191>\space
+ <13>\space <2192>\space
+ <14>\space <2193>\space
+ <15>\space <2223>\space
+ <16>\space <2225>\space
+ <17>\space <2500>\space
+ <18>\space <2502>\space
+ <19>\space <250C>\space
+ <1A>\space <2510>\space
+ <1B>\space <2514>\space
+ <1C>\space <2518>\space
+ <1D>\space <251C>\space
+ <1E>\space <2524>\space
+ <1F>\space <252C>\space
+ <20>\space <2534>\space
+ <21>\space <2550>\space
+ <22>\space <2551>\space
+ <23>\space <2552>\space
+ <24>\space <2553>\space
+ <25>\space <2554>\space
+ <26>\space <2555>\space
+ <27>\space <2556>\space
+ <28>\space <2557>\space
+ <29>\space <2558>\space
+ <2A>\space <2559>\space
+ <2B>\space <255A>\space
+ <2C>\space <255B>\space
+ <2D>\space <255C>\space
+ <2E>\space <255D>\space
+ <2F>\space <255E>\space
+ <30>\space <255F>\space
+ <31>\space <2560>\space
+ <32>\space <2561>\space
+ <33>\space <2562>\space
+ <34>\space <2563>\space
+ <35>\space <2564>\space
+ <36>\space <2565>\space
+ <37>\space <2566>\space
+ <38>\space <2567>\space
+ <39>\space <2568>\space
+ <3A>\space <2569>\space
+ <3B>\space <256A>\space
+ <3C>\space <256B>\space
+ <3D>\space <256D>\space
+ <3E>\space <256E>\space
+ <3F>\space <256F>\space
+ <40>\space <2570>\space
+ <41>\space <2574>\space
+ <42>\space <3001>\space
+ <43>\space <3002>\space
+ <44>\space <3008>\space
+ <45>\space <3009>\space
+ <46>\space <300A>\space
+ <47>\space <300B>\space
+ <48>\space <300C>\space
+ <49>\space <300D>\space
+ <4A>\space <300E>\space
+ <4B>\space <300F>\space
+ <4C>\space <3010>\space
+ <4D>\space <3011>\space
+ <4E>\space <3014>\space
+ <4F>\space <3015>\space
+ <50>\space <FE4F>\space
+ <51>\space <FE50>\space
+ <52>\space <FE51>\space
+ <53>\space <FE52>\space
+ <54>\space <FE59>\space
+ <55>\space <FE5A>\space
+ <56>\space <FE5B>\space
+ <57>\space <FE5C>\space
+ <58>\space <FE5D>\space
+ <59>\space <FE5E>\space
+ <5A>\space <203E>\space
+ endbfchar\space
+ endcmap\space
+ CMapName\space currentdict\space /CMap\space defineresource\space
+ pop\space
+ end\space
+ end\space}
+ \expandafter\xdef\csname CJK@CMap@bkaiv\endcsname{
+ \the\pdflastobj}
+ \fi
+ \pdffontattr\font@name{
+ /ToUnicode\space\csname CJK@CMap@bkaiv\endcsname\space 0\space R}
+}
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bsmi.fd b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bsmi.fd
new file mode 100644
index 0000000000..89ebad58e9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bsmi.fd
@@ -0,0 +1,21 @@
+% This is the file c70bsmi.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70bsmi.fd}[\filedate\space\fileversion]
+
+
+% character set: Big5
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{bsmi}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{bsmi}{m}{n}{<-> CJK * bsmiu}{\CJKnormal}
+\DeclareFontShape{C70}{bsmi}{bx}{n}{<-> CJKb * bsmiu}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bsmi.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bsmi.fdx
new file mode 100644
index 0000000000..08a298253c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70bsmi.fdx
@@ -0,0 +1,325 @@
+% This is the file c70bsmi.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by the script makefdx.pl for CJK Version 4.8.5 (16-Oct-2021).
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70bsmi.fdx}[\filedate\space\fileversion]
+
+\CJKvdef{fullheight}{1em}
+\CJKvdef{height}{.88em}
+\CJKvdef{offset}{.6em}
+
+% Uncomment if necessary.
+%\CJKvdef{norotate}{}
+\CJKvdef{m/n/00/175}{\def\CJK@plane{v}\selectfont\CJKsymbol{0}}
+\CJKvlet{bx/n/00/175}{m/n/00/175}
+\CJKvdef{m/n/00/183}{\def\CJK@plane{v}\selectfont\CJKsymbol{1}}
+\CJKvlet{bx/n/00/183}{m/n/00/183}
+\CJKvdef{m/n/02/205}{\def\CJK@plane{v}\selectfont\CJKsymbol{2}}
+\CJKvlet{bx/n/02/205}{m/n/02/205}
+\CJKvdef{m/n/ff/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{3}}
+\CJKvlet{bx/n/ff/8}{m/n/ff/8}
+\CJKvdef{m/n/ff/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{4}}
+\CJKvlet{bx/n/ff/9}{m/n/ff/9}
+\CJKvdef{m/n/ff/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{5}}
+\CJKvlet{bx/n/ff/12}{m/n/ff/12}
+\CJKvdef{m/n/ff/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{6}}
+\CJKvlet{bx/n/ff/14}{m/n/ff/14}
+\CJKvdef{m/n/ff/59}{\def\CJK@plane{v}\selectfont\CJKsymbol{7}}
+\CJKvlet{bx/n/ff/59}{m/n/ff/59}
+\CJKvdef{m/n/ff/61}{\def\CJK@plane{v}\selectfont\CJKsymbol{8}}
+\CJKvlet{bx/n/ff/61}{m/n/ff/61}
+\CJKvdef{m/n/ff/63}{\def\CJK@plane{v}\selectfont\CJKsymbol{9}}
+\CJKvlet{bx/n/ff/63}{m/n/ff/63}
+\CJKvdef{m/n/ff/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{10}}
+\CJKvlet{bx/n/ff/91}{m/n/ff/91}
+\CJKvdef{m/n/ff/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{11}}
+\CJKvlet{bx/n/ff/93}{m/n/ff/93}
+\CJKvdef{m/n/ff/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{12}}
+\CJKvlet{bx/n/ff/94}{m/n/ff/94}
+\CJKvdef{m/n/20/19}{\def\CJK@plane{v}\selectfont\CJKsymbol{13}}
+\CJKvlet{bx/n/20/19}{m/n/20/19}
+\CJKvdef{m/n/20/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{14}}
+\CJKvlet{bx/n/20/20}{m/n/20/20}
+\CJKvdef{m/n/20/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{15}}
+\CJKvlet{bx/n/20/37}{m/n/20/37}
+\CJKvdef{m/n/20/38}{\def\CJK@plane{v}\selectfont\CJKsymbol{16}}
+\CJKvlet{bx/n/20/38}{m/n/20/38}
+\CJKvdef{m/n/21/144}{\def\CJK@plane{v}\selectfont\CJKsymbol{17}}
+\CJKvlet{bx/n/21/144}{m/n/21/144}
+\CJKvdef{m/n/21/145}{\def\CJK@plane{v}\selectfont\CJKsymbol{18}}
+\CJKvlet{bx/n/21/145}{m/n/21/145}
+\CJKvdef{m/n/21/146}{\def\CJK@plane{v}\selectfont\CJKsymbol{19}}
+\CJKvlet{bx/n/21/146}{m/n/21/146}
+\CJKvdef{m/n/21/147}{\def\CJK@plane{v}\selectfont\CJKsymbol{20}}
+\CJKvlet{bx/n/21/147}{m/n/21/147}
+\CJKvdef{m/n/22/35}{\def\CJK@plane{v}\selectfont\CJKsymbol{21}}
+\CJKvlet{bx/n/22/35}{m/n/22/35}
+\CJKvdef{m/n/22/37}{\def\CJK@plane{v}\selectfont\CJKsymbol{22}}
+\CJKvlet{bx/n/22/37}{m/n/22/37}
+\CJKvdef{m/n/25/0}{\def\CJK@plane{v}\selectfont\CJKsymbol{23}}
+\CJKvlet{bx/n/25/0}{m/n/25/0}
+\CJKvdef{m/n/25/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{24}}
+\CJKvlet{bx/n/25/2}{m/n/25/2}
+\CJKvdef{m/n/25/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{25}}
+\CJKvlet{bx/n/25/12}{m/n/25/12}
+\CJKvdef{m/n/25/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{26}}
+\CJKvlet{bx/n/25/16}{m/n/25/16}
+\CJKvdef{m/n/25/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{27}}
+\CJKvlet{bx/n/25/20}{m/n/25/20}
+\CJKvdef{m/n/25/24}{\def\CJK@plane{v}\selectfont\CJKsymbol{28}}
+\CJKvlet{bx/n/25/24}{m/n/25/24}
+\CJKvdef{m/n/25/28}{\def\CJK@plane{v}\selectfont\CJKsymbol{29}}
+\CJKvlet{bx/n/25/28}{m/n/25/28}
+\CJKvdef{m/n/25/36}{\def\CJK@plane{v}\selectfont\CJKsymbol{30}}
+\CJKvlet{bx/n/25/36}{m/n/25/36}
+\CJKvdef{m/n/25/44}{\def\CJK@plane{v}\selectfont\CJKsymbol{31}}
+\CJKvlet{bx/n/25/44}{m/n/25/44}
+\CJKvdef{m/n/25/52}{\def\CJK@plane{v}\selectfont\CJKsymbol{32}}
+\CJKvlet{bx/n/25/52}{m/n/25/52}
+\CJKvdef{m/n/25/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{33}}
+\CJKvlet{bx/n/25/80}{m/n/25/80}
+\CJKvdef{m/n/25/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{34}}
+\CJKvlet{bx/n/25/81}{m/n/25/81}
+\CJKvdef{m/n/25/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{35}}
+\CJKvlet{bx/n/25/82}{m/n/25/82}
+\CJKvdef{m/n/25/83}{\def\CJK@plane{v}\selectfont\CJKsymbol{36}}
+\CJKvlet{bx/n/25/83}{m/n/25/83}
+\CJKvdef{m/n/25/84}{\def\CJK@plane{v}\selectfont\CJKsymbol{37}}
+\CJKvlet{bx/n/25/84}{m/n/25/84}
+\CJKvdef{m/n/25/85}{\def\CJK@plane{v}\selectfont\CJKsymbol{38}}
+\CJKvlet{bx/n/25/85}{m/n/25/85}
+\CJKvdef{m/n/25/86}{\def\CJK@plane{v}\selectfont\CJKsymbol{39}}
+\CJKvlet{bx/n/25/86}{m/n/25/86}
+\CJKvdef{m/n/25/87}{\def\CJK@plane{v}\selectfont\CJKsymbol{40}}
+\CJKvlet{bx/n/25/87}{m/n/25/87}
+\CJKvdef{m/n/25/88}{\def\CJK@plane{v}\selectfont\CJKsymbol{41}}
+\CJKvlet{bx/n/25/88}{m/n/25/88}
+\CJKvdef{m/n/25/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{42}}
+\CJKvlet{bx/n/25/89}{m/n/25/89}
+\CJKvdef{m/n/25/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{43}}
+\CJKvlet{bx/n/25/90}{m/n/25/90}
+\CJKvdef{m/n/25/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{44}}
+\CJKvlet{bx/n/25/91}{m/n/25/91}
+\CJKvdef{m/n/25/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{45}}
+\CJKvlet{bx/n/25/92}{m/n/25/92}
+\CJKvdef{m/n/25/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{46}}
+\CJKvlet{bx/n/25/93}{m/n/25/93}
+\CJKvdef{m/n/25/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{47}}
+\CJKvlet{bx/n/25/94}{m/n/25/94}
+\CJKvdef{m/n/25/95}{\def\CJK@plane{v}\selectfont\CJKsymbol{48}}
+\CJKvlet{bx/n/25/95}{m/n/25/95}
+\CJKvdef{m/n/25/96}{\def\CJK@plane{v}\selectfont\CJKsymbol{49}}
+\CJKvlet{bx/n/25/96}{m/n/25/96}
+\CJKvdef{m/n/25/97}{\def\CJK@plane{v}\selectfont\CJKsymbol{50}}
+\CJKvlet{bx/n/25/97}{m/n/25/97}
+\CJKvdef{m/n/25/98}{\def\CJK@plane{v}\selectfont\CJKsymbol{51}}
+\CJKvlet{bx/n/25/98}{m/n/25/98}
+\CJKvdef{m/n/25/99}{\def\CJK@plane{v}\selectfont\CJKsymbol{52}}
+\CJKvlet{bx/n/25/99}{m/n/25/99}
+\CJKvdef{m/n/25/100}{\def\CJK@plane{v}\selectfont\CJKsymbol{53}}
+\CJKvlet{bx/n/25/100}{m/n/25/100}
+\CJKvdef{m/n/25/101}{\def\CJK@plane{v}\selectfont\CJKsymbol{54}}
+\CJKvlet{bx/n/25/101}{m/n/25/101}
+\CJKvdef{m/n/25/102}{\def\CJK@plane{v}\selectfont\CJKsymbol{55}}
+\CJKvlet{bx/n/25/102}{m/n/25/102}
+\CJKvdef{m/n/25/103}{\def\CJK@plane{v}\selectfont\CJKsymbol{56}}
+\CJKvlet{bx/n/25/103}{m/n/25/103}
+\CJKvdef{m/n/25/104}{\def\CJK@plane{v}\selectfont\CJKsymbol{57}}
+\CJKvlet{bx/n/25/104}{m/n/25/104}
+\CJKvdef{m/n/25/105}{\def\CJK@plane{v}\selectfont\CJKsymbol{58}}
+\CJKvlet{bx/n/25/105}{m/n/25/105}
+\CJKvdef{m/n/25/106}{\def\CJK@plane{v}\selectfont\CJKsymbol{59}}
+\CJKvlet{bx/n/25/106}{m/n/25/106}
+\CJKvdef{m/n/25/107}{\def\CJK@plane{v}\selectfont\CJKsymbol{60}}
+\CJKvlet{bx/n/25/107}{m/n/25/107}
+\CJKvdef{m/n/25/109}{\def\CJK@plane{v}\selectfont\CJKsymbol{61}}
+\CJKvlet{bx/n/25/109}{m/n/25/109}
+\CJKvdef{m/n/25/110}{\def\CJK@plane{v}\selectfont\CJKsymbol{62}}
+\CJKvlet{bx/n/25/110}{m/n/25/110}
+\CJKvdef{m/n/25/111}{\def\CJK@plane{v}\selectfont\CJKsymbol{63}}
+\CJKvlet{bx/n/25/111}{m/n/25/111}
+\CJKvdef{m/n/25/112}{\def\CJK@plane{v}\selectfont\CJKsymbol{64}}
+\CJKvlet{bx/n/25/112}{m/n/25/112}
+\CJKvdef{m/n/25/116}{\def\CJK@plane{v}\selectfont\CJKsymbol{65}}
+\CJKvlet{bx/n/25/116}{m/n/25/116}
+\CJKvdef{m/n/30/1}{\def\CJK@plane{v}\selectfont\CJKsymbol{66}}
+\CJKvlet{bx/n/30/1}{m/n/30/1}
+\CJKvdef{m/n/30/2}{\def\CJK@plane{v}\selectfont\CJKsymbol{67}}
+\CJKvlet{bx/n/30/2}{m/n/30/2}
+\CJKvdef{m/n/30/8}{\def\CJK@plane{v}\selectfont\CJKsymbol{68}}
+\CJKvlet{bx/n/30/8}{m/n/30/8}
+\CJKvdef{m/n/30/9}{\def\CJK@plane{v}\selectfont\CJKsymbol{69}}
+\CJKvlet{bx/n/30/9}{m/n/30/9}
+\CJKvdef{m/n/30/10}{\def\CJK@plane{v}\selectfont\CJKsymbol{70}}
+\CJKvlet{bx/n/30/10}{m/n/30/10}
+\CJKvdef{m/n/30/11}{\def\CJK@plane{v}\selectfont\CJKsymbol{71}}
+\CJKvlet{bx/n/30/11}{m/n/30/11}
+\CJKvdef{m/n/30/12}{\def\CJK@plane{v}\selectfont\CJKsymbol{72}}
+\CJKvlet{bx/n/30/12}{m/n/30/12}
+\CJKvdef{m/n/30/13}{\def\CJK@plane{v}\selectfont\CJKsymbol{73}}
+\CJKvlet{bx/n/30/13}{m/n/30/13}
+\CJKvdef{m/n/30/14}{\def\CJK@plane{v}\selectfont\CJKsymbol{74}}
+\CJKvlet{bx/n/30/14}{m/n/30/14}
+\CJKvdef{m/n/30/15}{\def\CJK@plane{v}\selectfont\CJKsymbol{75}}
+\CJKvlet{bx/n/30/15}{m/n/30/15}
+\CJKvdef{m/n/30/16}{\def\CJK@plane{v}\selectfont\CJKsymbol{76}}
+\CJKvlet{bx/n/30/16}{m/n/30/16}
+\CJKvdef{m/n/30/17}{\def\CJK@plane{v}\selectfont\CJKsymbol{77}}
+\CJKvlet{bx/n/30/17}{m/n/30/17}
+\CJKvdef{m/n/30/20}{\def\CJK@plane{v}\selectfont\CJKsymbol{78}}
+\CJKvlet{bx/n/30/20}{m/n/30/20}
+\CJKvdef{m/n/30/21}{\def\CJK@plane{v}\selectfont\CJKsymbol{79}}
+\CJKvlet{bx/n/30/21}{m/n/30/21}
+\CJKvdef{m/n/fe/79}{\def\CJK@plane{v}\selectfont\CJKsymbol{80}}
+\CJKvlet{bx/n/fe/79}{m/n/fe/79}
+\CJKvdef{m/n/fe/80}{\def\CJK@plane{v}\selectfont\CJKsymbol{81}}
+\CJKvlet{bx/n/fe/80}{m/n/fe/80}
+\CJKvdef{m/n/fe/81}{\def\CJK@plane{v}\selectfont\CJKsymbol{82}}
+\CJKvlet{bx/n/fe/81}{m/n/fe/81}
+\CJKvdef{m/n/fe/82}{\def\CJK@plane{v}\selectfont\CJKsymbol{83}}
+\CJKvlet{bx/n/fe/82}{m/n/fe/82}
+\CJKvdef{m/n/fe/89}{\def\CJK@plane{v}\selectfont\CJKsymbol{84}}
+\CJKvlet{bx/n/fe/89}{m/n/fe/89}
+\CJKvdef{m/n/fe/90}{\def\CJK@plane{v}\selectfont\CJKsymbol{85}}
+\CJKvlet{bx/n/fe/90}{m/n/fe/90}
+\CJKvdef{m/n/fe/91}{\def\CJK@plane{v}\selectfont\CJKsymbol{86}}
+\CJKvlet{bx/n/fe/91}{m/n/fe/91}
+\CJKvdef{m/n/fe/92}{\def\CJK@plane{v}\selectfont\CJKsymbol{87}}
+\CJKvlet{bx/n/fe/92}{m/n/fe/92}
+\CJKvdef{m/n/fe/93}{\def\CJK@plane{v}\selectfont\CJKsymbol{88}}
+\CJKvlet{bx/n/fe/93}{m/n/fe/93}
+\CJKvdef{m/n/fe/94}{\def\CJK@plane{v}\selectfont\CJKsymbol{89}}
+\CJKvlet{bx/n/fe/94}{m/n/fe/94}
+\CJKvdef{m/n/20/62}{\def\CJK@plane{v}\selectfont\CJKsymbol{90}}
+\CJKvlet{bx/n/20/62}{m/n/20/62}
+
+\gdef\CJK@cmap@bsmiv{
+ \expandafter\ifx\csname CJK@CMap@bsmiv\endcsname \relax
+ \immediate\pdfobj stream {
+ /CIDInit\space/ProcSet\space findresource\space begin\space
+ 12\space dict\space begin\space
+ begincmap\space
+ /CIDSystemInfo\space <<\space
+ /Registry\space (TeX)\space
+ /Ordering\space (bsmiv)\space
+ /Supplement\space 0\space >>\space def\space
+ /CMapName\space /TeX-bsmiv-0\space def\space
+ 1\space begincodespacerange\space
+ <00>\space <FF>\space
+ endcodespacerange\space
+ 91\space beginbfchar\space
+ <00>\space <00AF>\space
+ <01>\space <00B7>\space
+ <02>\space <02CD>\space
+ <03>\space <FF08>\space
+ <04>\space <FF09>\space
+ <05>\space <FF0C>\space
+ <06>\space <FF0E>\space
+ <07>\space <FF3B>\space
+ <08>\space <FF3D>\space
+ <09>\space <FF3F>\space
+ <0A>\space <FF5B>\space
+ <0B>\space <FF5D>\space
+ <0C>\space <FF5E>\space
+ <0D>\space <2013>\space
+ <0E>\space <2014>\space
+ <0F>\space <2025>\space
+ <10>\space <2026>\space
+ <11>\space <2190>\space
+ <12>\space <2191>\space
+ <13>\space <2192>\space
+ <14>\space <2193>\space
+ <15>\space <2223>\space
+ <16>\space <2225>\space
+ <17>\space <2500>\space
+ <18>\space <2502>\space
+ <19>\space <250C>\space
+ <1A>\space <2510>\space
+ <1B>\space <2514>\space
+ <1C>\space <2518>\space
+ <1D>\space <251C>\space
+ <1E>\space <2524>\space
+ <1F>\space <252C>\space
+ <20>\space <2534>\space
+ <21>\space <2550>\space
+ <22>\space <2551>\space
+ <23>\space <2552>\space
+ <24>\space <2553>\space
+ <25>\space <2554>\space
+ <26>\space <2555>\space
+ <27>\space <2556>\space
+ <28>\space <2557>\space
+ <29>\space <2558>\space
+ <2A>\space <2559>\space
+ <2B>\space <255A>\space
+ <2C>\space <255B>\space
+ <2D>\space <255C>\space
+ <2E>\space <255D>\space
+ <2F>\space <255E>\space
+ <30>\space <255F>\space
+ <31>\space <2560>\space
+ <32>\space <2561>\space
+ <33>\space <2562>\space
+ <34>\space <2563>\space
+ <35>\space <2564>\space
+ <36>\space <2565>\space
+ <37>\space <2566>\space
+ <38>\space <2567>\space
+ <39>\space <2568>\space
+ <3A>\space <2569>\space
+ <3B>\space <256A>\space
+ <3C>\space <256B>\space
+ <3D>\space <256D>\space
+ <3E>\space <256E>\space
+ <3F>\space <256F>\space
+ <40>\space <2570>\space
+ <41>\space <2574>\space
+ <42>\space <3001>\space
+ <43>\space <3002>\space
+ <44>\space <3008>\space
+ <45>\space <3009>\space
+ <46>\space <300A>\space
+ <47>\space <300B>\space
+ <48>\space <300C>\space
+ <49>\space <300D>\space
+ <4A>\space <300E>\space
+ <4B>\space <300F>\space
+ <4C>\space <3010>\space
+ <4D>\space <3011>\space
+ <4E>\space <3014>\space
+ <4F>\space <3015>\space
+ <50>\space <FE4F>\space
+ <51>\space <FE50>\space
+ <52>\space <FE51>\space
+ <53>\space <FE52>\space
+ <54>\space <FE59>\space
+ <55>\space <FE5A>\space
+ <56>\space <FE5B>\space
+ <57>\space <FE5C>\space
+ <58>\space <FE5D>\space
+ <59>\space <FE5E>\space
+ <5A>\space <203E>\space
+ endbfchar\space
+ endcmap\space
+ CMapName\space currentdict\space /CMap\space defineresource\space
+ pop\space
+ end\space
+ end\space}
+ \expandafter\xdef\csname CJK@CMap@bsmiv\endcsname{
+ \the\pdflastobj}
+ \fi
+ \pdffontattr\font@name{
+ /ToUnicode\space\csname CJK@CMap@bsmiv\endcsname\space 0\space R}
+}
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gbsn.fd b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gbsn.fd
new file mode 100644
index 0000000000..f13902d0ed
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gbsn.fd
@@ -0,0 +1,21 @@
+% This is the file c70gbsn.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70gbsn.fd}[\filedate\space\fileversion]
+
+
+% character set: GB
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{gbsn}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{gbsn}{m}{n}{<-> CJK * gbsnu}{\CJKnormal}
+\DeclareFontShape{C70}{gbsn}{bx}{n}{<-> CJKb * gbsnu}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gbsn.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gbsn.fdx
new file mode 100644
index 0000000000..57ab05fda2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gbsn.fdx
@@ -0,0 +1,15 @@
+% This is the file c70gbsn.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70gbsn.fdx}[\filedate\space\fileversion]
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gkai.fd b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gkai.fd
new file mode 100644
index 0000000000..532faa1d75
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gkai.fd
@@ -0,0 +1,21 @@
+% This is the file c70gkai.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70gkai.fd}[\filedate\space\fileversion]
+
+
+% character set: GB
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{gkai}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{gkai}{m}{n}{<-> CJK * gkaiu}{\CJKnormal}
+\DeclareFontShape{C70}{gkai}{bx}{n}{<-> CJKb * gkaiu}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gkai.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gkai.fdx
new file mode 100644
index 0000000000..d0735a97e5
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70gkai.fdx
@@ -0,0 +1,15 @@
+% This is the file c70gkai.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70gkai.fdx}[\filedate\space\fileversion]
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70mj.fd b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70mj.fd
new file mode 100644
index 0000000000..d2f03e670e
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70mj.fd
@@ -0,0 +1,51 @@
+% This is the file c70mj.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70mj.fd}[\filedate\space\fileversion]
+
+
+% character set: KS X 1001
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{mj}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{mj}{c}{n}{<-> CJK * uwmjc}{}
+\DeclareFontShape{C70}{mj}{c}{sl}{<-> CJK * uwmjco}{}
+\DeclareFontShape{C70}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{}
+
+\DeclareFontShape{C70}{mj}{m}{n}{<-> CJK * uwmj}{}
+\DeclareFontShape{C70}{mj}{m}{sl}{<-> CJK * uwmjo}{}
+\DeclareFontShape{C70}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{}
+
+\DeclareFontShape{C70}{mj}{x}{n}{<-> CJK * uwmjx}{}
+\DeclareFontShape{C70}{mj}{x}{sl}{<-> CJK * uwmjxo}{}
+\DeclareFontShape{C70}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{}
+
+\DeclareFontShape{C70}{mj}{ux}{n}{<-> CJK * uwmju}{}
+\DeclareFontShape{C70}{mj}{ux}{sl}{<-> CJK * uwmjuo}{}
+\DeclareFontShape{C70}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{}
+
+
+\DeclareFontShape{C70}{mj}{bc}{n}{<-> CJKb * uwmjc}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bc}{sl}{<-> CJKb * uwmjco}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{}
+
+\DeclareFontShape{C70}{mj}{b}{n}{<-> CJKb * uwmj}{\CJKbold}
+\DeclareFontShape{C70}{mj}{b}{sl}{<-> CJKb * uwmjo}{\CJKbold}
+\DeclareFontShape{C70}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{}
+
+\DeclareFontShape{C70}{mj}{bx}{n}{<-> CJKb * uwmjx}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bx}{sl}{<-> CJKb * uwmjxo}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{}
+
+\DeclareFontShape{C70}{mj}{bux}{n}{<-> CJKb * uwmju}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bux}{sl}{<-> CJKb * uwmjuo}{\CJKbold}
+\DeclareFontShape{C70}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70mj.fdx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70mj.fdx
new file mode 100644
index 0000000000..07c7235bec
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70mj.fdx
@@ -0,0 +1,15 @@
+% This is the file c70mj.fdx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70mj.fdx}[\filedate\space\fileversion]
+
+% This font doesn't contain a glyph for U+3007, but it has U+25CB.
+
+\CJKhdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKhlet{bx/n/30/7}{m/n/30/7}
+\CJKvdef{m/n/30/7}{\def\CJK@plane{25}\selectfont\CJKsymbol{203}}
+\CJKvlet{bx/n/30/7}{m/n/30/7}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70song.fd b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70song.fd
new file mode 100644
index 0000000000..db45e169f0
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/c70song.fd
@@ -0,0 +1,21 @@
+% This is the file c70song.fd of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c70song.fd}[\filedate\space\fileversion]
+
+
+% character set: Unicode U+0080 - U+FFFD
+% font encoding: Unicode
+
+\DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}
+
+\DeclareFontShape{C70}{song}{m}{n}{<-> CJK * cyberb}{\CJKnormal}
+\DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * cyberb}{\CJKbold}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ja.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ja.cpx
new file mode 100644
index 0000000000..0ffd3fb2da
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ja.cpx
@@ -0,0 +1,83 @@
+% This is the file ja.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{ja.cpx}[\filedate\space\fileversion]
+
+
+% Japanese captions
+%
+% character set: JIS X 0208:1997 (or JIS X 0208-1990)
+% encoding: UTF-8
+
+\newif\ifheisei
+\let\ifheisei=\iffalse
+\def\heisei{\let\ifheisei=\iftrue}
+
+\renewcommand\contentsname{็›ฎๆฌก}
+
+\renewcommand\listfigurename{ๅ›ณ็›ฎๆฌก}
+% \newcommand\listfigurename{ๅ›ณไธ€่ฆง}
+
+\renewcommand\listtablename{่กจ็›ฎๆฌก}
+% \newcommand\listtablename{่กจไธ€่ฆง}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ๅ‚่€ƒๆ–‡็Œฎ}
+ }
+ {\renewcommand\bibname{้–ข้€ฃๆ›ธ็ฑ}
+% \renewcommand\bibname{ๅ‚่€ƒๆ–‡็Œฎ}
+ }
+\renewcommand\indexname{็ดขๅผ•}
+
+\renewcommand\figurename{ๅ›ณ}
+\renewcommand\tablename{่กจ}
+
+\newcommand\prepartname{็ฌฌ}
+\newcommand\postpartname{้ƒจ}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \renewcommand{\appendixname}{้™„้Œฒ}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{่ฆๆ—จ}}{}
+
+\renewcommand\today{{\ifheisei\count0=\year\else\count0=\year
+ \advance\count0 -1988 ๅนณๆˆ\,\fi
+ \ifnum\count0=1 ๅ…ƒ\else\number\count0\fi
+ \,ๅนด\hspace{.5em}\nobreak\number\month
+ \,ๆœˆ\hspace{.5em}\nobreak\number\day\,ๆ—ฅ}}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber #1{\ifcase #1\or
+ ไธ€\or ไบŒ\or ไธ‰\or ๅ››\or ไบ”\or
+ ๅ…ญ\or ไธƒ\or ๅ…ซ\or ไน\or ๅ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hang.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hang.cpx
new file mode 100644
index 0000000000..f83c47a68b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hang.cpx
@@ -0,0 +1,74 @@
+% This is the file ko-Hang.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{ko-Hang.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: UTF-8
+
+\renewcommand\contentsname{๋ชฉ์ฐจ}
+\renewcommand\listfigurename{๊ทธ๋ฆผ~๋ชฉ์ฐจ}
+\renewcommand\listtablename{ํ‘œ~๋ชฉ์ฐจ}
+\renewcommand\indexname{์ƒ‰์ธ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{์ฐธ๊ณ ~์„œ์ }}
+ {\renewcommand\bibname{์ฐธ๊ณ ~๋ฌธํ—Œ}}
+
+\renewcommand\figurename{๊ทธ๋ฆผ}
+\renewcommand\tablename{ํ‘œ}
+
+\newcommand\prepartname{์ œ}
+\newcommand\postpartname{๋ถ€}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{์ œ}
+% \newcommand\postchaptername{์žฅ}
+% \newcommand\presectionname{์ œ}
+% \newcommand\postsectionname{์ ˆ}
+% \renewcommand\appendixname{๋ถ€๋ก}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{์š”์•ฝ}}{}
+
+% \renewcommand\ccname{์‚ฌ๋ณธ}
+% \renewcommand\enclname{์ฒจ๋ถ€๋ฌผ}% ํ˜น์€ ๋™๋ด‰๋ฌผ
+% \renewcommand\pagename{ํŽ˜์ด์ง€~}
+% \renewcommand\headtoname{๋ฐ›๋Š”์ด}
+% \renewcommand\seename{์ฐธ์กฐ}
+
+\renewcommand{\today}{\number\year ๋…„~\number\month ์›”~\number\day ์ผ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hang2.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hang2.cpx
new file mode 100644
index 0000000000..e6f40fdd2b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hang2.cpx
@@ -0,0 +1,74 @@
+% This is the file ko-Hang2.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{ko-Hang2.cpx}[\filedate\space\fileversion]
+
+
+% Hangul captions set 2
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: UTF-8
+
+\renewcommand\contentsname{์ฐจ๋ก€}
+\renewcommand\listfigurename{๊ทธ๋ฆผ~์ฐจ๋ก€}
+\renewcommand\listtablename{ํ‘œ~์ฐจ๋ก€}
+\renewcommand\indexname{์ฐพ์•„๋ณด๊ธฐ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{์ฐธ๊ณ ~์„œ์ }}
+ {\renewcommand\bibname{์ฐธ๊ณ ~๋ฌธํ—Œ}}
+
+\renewcommand\figurename{๊ทธ๋ฆผ}
+\renewcommand\tablename{ํ‘œ}
+
+\newcommand\prepartname{์ œ}
+\newcommand\postpartname{๋ถ€}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{์ œ}
+% \newcommand\postchaptername{์žฅ}
+% \newcommand\presectionname{์ œ}
+% \newcommand\postsectionname{์ ˆ}
+% \renewcommand\appendixname{๋ถ€๋ก}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{์š”์•ฝ}}{}
+
+% \renewcommand\ccname{์‚ฌ๋ณธ}
+% \renewcommand\enclname{์ฒจ๋ถ€๋ฌผ}% ํ˜น์€ ๋™๋ด‰๋ฌผ
+% \renewcommand\pagename{ํŽ˜์ด์ง€~}
+% \renewcommand\headtoname{๋ฐ›๋Š”์ด}
+% \renewcommand\seename{์ฐธ์กฐ}
+
+\renewcommand{\today}{\number\year ๋…„~\number\month ์›”~\number\day ์ผ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hani.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hani.cpx
new file mode 100644
index 0000000000..f98d156212
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/ko-Hani.cpx
@@ -0,0 +1,74 @@
+% This is the file ko-Hani.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <a7971428@unet.univie.ac.at>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{ko-Hani.cpx}[\filedate\space\fileversion]
+
+
+% Hanja captions
+%
+% character set: KS X 1001:1992 (=KS C 5601-1992)
+% encoding: UTF-8
+
+\renewcommand\contentsname{็›ฎๆฌก}
+\renewcommand\listfigurename{๊ทธ๋ฆผ~็›ฎๆฌก}
+\renewcommand\listtablename{่กจ~็›ฎๆฌก}
+\renewcommand\indexname{็ดขๅผ•}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ๅƒ่€ƒ~ๆ›ธ็ฑ}}
+ {\renewcommand\bibname{ๅƒ่€ƒ~ๆ–‡็ป}}
+
+\renewcommand\figurename{๊ทธ๋ฆผ}
+\renewcommand\tablename{่กจ}
+
+\newcommand\prepartname{็ฌฌ}
+\newcommand\postpartname{็ฏ‡}
+\renewcommand\partformat{\prepartname~\thepart~\postpartname}
+
+% \newcommand\prechaptername{็ฌฌ}
+% \newcommand\postchaptername{็ซ }
+% \newcommand\presectionname{็ฌฌ}
+% \newcommand\postsectionname{็ฏ€}
+% \newcommand\appendixname{้™„้Œ„}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{่ฆ~็ด„}}{}
+
+% \renewcommand\ccname{ๅฏซๆœฌ}
+% \renewcommand\enclname{ๆทป้™„็‰ฉ}% ํ˜น์€ ๋™๋ด‰๋ฌผ
+% \renewcommand\pagename{ํŽ˜์ด์ง€}
+% \renewcommand\headtoname{ๅ—ไฟกไบบ}
+% \renewcommand\seename{ๅƒ็…ง}
+
+\renewcommand{\today}{\number\year ๅนด~\number\month ๆœˆ~\number\day ๆ—ฅ}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/zh-Hans.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/zh-Hans.cpx
new file mode 100644
index 0000000000..9ec7bf06c8
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/zh-Hans.cpx
@@ -0,0 +1,86 @@
+% This is the file zh-Hans.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{zh-Hans.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: GB 2312-80
+% encoding: EUC
+
+\renewcommand\contentsname{็›ฎๅฝ•}
+\renewcommand\listfigurename{ๆ’ๅ›พ}
+\renewcommand\listtablename{่กจๆ ผ}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ๅ‚่€ƒๆ–‡็Œฎ}}
+ {\renewcommand\bibname{ๅ‚่€ƒๆ–‡็Œฎ}}
+
+\renewcommand\indexname{็ดขๅผ•}
+
+\newcommand\prefigurename{็ฌฌ}
+\newcommand\postfigurename{ๅ›พ}
+\renewcommand\figureformat{\prefigurename~\thefigure~\postfigurename}
+
+\newcommand\pretablename{็ฌฌ}
+\newcommand\posttablename{่กจ}
+\renewcommand\tableformat{\pretablename~\thetable~\posttablename}
+
+\newcommand\prepartname{็ฌฌ}
+\newcommand\postpartname{้ƒจๅˆ†}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+% \newcommand\prechaptername{็ฌฌ}
+% \newcommand\postchaptername{็ซ }
+% \newcommand\presectionname{็ฌฌ}
+% \newcommand\postsectionname{่Š‚}
+% \newcommand\preappendixname{็ฌฌ}
+% \newcommand\postappendixname{้™„ๅฝ•}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ๆ‘˜่ฆ}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{้™„ไปถ}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand\today{\number\year ๅนด\number\month ๆœˆ\number\day ๆ—ฅ}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ ไธ€\or ไบŒ\or ไธ‰\or ๅ››\or ไบ”\or
+ ๅ…ญ\or ไธƒ\or ๅ…ซ\or ไน\or ๅ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/zh-Hant.cpx b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/zh-Hant.cpx
new file mode 100644
index 0000000000..84b6f4df8c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/UTF8/zh-Hant.cpx
@@ -0,0 +1,86 @@
+% This is the file zh-Hant.cpx of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{zh-Hant.cpx}[\filedate\space\fileversion]
+
+
+% Chinese captions
+%
+% character set: Big 5
+% encoding: UTF-8
+
+\renewcommand\contentsname{็›ฎ~~้Œ„}
+\renewcommand\listfigurename{ๅœ–~็›ฎ~้Œ„}
+\renewcommand\listtablename{่กจ~็›ฎ~้Œ„}
+
+\CJK@ifundefined\chapter
+ {\renewcommand\refname{ๅƒ~่€ƒ~่ณ‡~ๆ–™}
+ %\renewcommand\refname{ๅƒ~่€ƒ~ๆ–‡~็ป}
+ }
+ {\renewcommand\bibname{ๆ–‡~~็ป}
+ %\renewcommand\bibname{ๅƒ~่€ƒ~ๆ›ธ~็›ฎ}
+% \newcommand\prechaptername{็ฌฌ}
+% \newcommand\postchaptername{็ซ }
+ }
+
+\renewcommand\indexname{็ดข~ๅผ•}
+
+\renewcommand\figurename{ๅœ–}
+\renewcommand\tablename{่กจ}
+
+\newcommand\prepartname{็ฌฌ}
+\newcommand\postpartname{้ƒจ}
+%\newcommand{\postpartname}{้ƒจๅˆ†}
+\renewcommand\partformat{\prepartname\CJKnumber{\value{part}}\postpartname}
+
+
+% \newcommand\presectionname{็ฌฌ}
+% \newcommand\postsectionname{็ฏ€}
+% \renewcommand\appendixname{้™„~้Œ„}
+
+\CJK@ifundefined\mainmatter
+ {\renewcommand\abstractname{ๆ‘˜~่ฆ}}{}
+
+% \renewcommand\ccname{} % ?
+% \renewcommand\enclname{้™„ไปถ}
+% \newcommand\prepagename{} % ?
+% \newcommand\postpagename{} % ?
+% \renewcommand\headtoname{} % ?
+% \renewcommand\seename{} % ?
+
+\renewcommand{\today}{\number\year ๅนด \number\month ๆœˆ \number\day ๆ—ฅ}
+\CJK@ifundefined\CJKnumber
+ {\def\CJKnumber#1{\ifcase #1\or
+ ไธ€\or ไบŒ\or ไธ‰\or ๅ››\or ไบ”\or
+ ๅ…ญ\or ไธƒ\or ๅ…ซ\or ไน\or ๅ\fi}}{}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/extended.chr b/language/chinese/CJK/cjk-4.8.5/texinput/extended.chr
new file mode 100644
index 0000000000..38cd923aa9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/extended.chr
@@ -0,0 +1,219 @@
+% This is the file extended.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{extended.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling extended encodings (GBK, Big5+).
+
+\gdef\CJK@extendedChr{
+ \CJK@global\chardef\CJK@gap "07F\relax
+
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \ifnum ##3 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \ifnum ##4 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \fi
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \ifnum ##5 > \CJK@gap
+ \advance\@tempcnta \m@ne
+ \advance\@tempcntb \@ne
+ \fi
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/extended.enc b/language/chinese/CJK/cjk-4.8.5/texinput/extended.enc
new file mode 100644
index 0000000000..10d0ce146d
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/extended.enc
@@ -0,0 +1,289 @@
+% This is the file extended.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{extended.enc}[\filedate\space\fileversion]
+
+
+% extended encoding:
+% each plane has 190 characters (GBK, Big5+) (0x40-0x7E, 0x80-0xFE).
+
+\gdef\CJK@extendedEncoding{
+ \CJK@loadChr{extended}
+
+ \CJK@namegdef{^^81}##1{\CJK@disableMakeUppercase
+ \CJK@char {01}{-64}{##1}}
+ \CJK@namegdef{^^82}##1{\CJK@disableMakeUppercase
+ \CJK@charx{01}{02}{126}{##1}}
+ \CJK@namegdef{^^83}##1{\CJK@disableMakeUppercase
+ \CJK@charx{02}{03}{ 60}{##1}}
+ \CJK@namegdef{^^84}##1{\CJK@disableMakeUppercase
+ \CJK@char {03}{ -6}{##1}}
+ \CJK@namegdef{^^85}##1{\CJK@disableMakeUppercase
+ \CJK@charx{03}{04}{184}{##1}}
+ \CJK@namegdef{^^86}##1{\CJK@disableMakeUppercase
+ \CJK@charx{04}{05}{118}{##1}}
+ \CJK@namegdef{^^87}##1{\CJK@disableMakeUppercase
+ \CJK@charx{05}{06}{ 52}{##1}}
+ \CJK@namegdef{^^88}##1{\CJK@disableMakeUppercase
+ \CJK@char {06}{-14}{##1}}
+ \CJK@namegdef{^^89}##1{\CJK@disableMakeUppercase
+ \CJK@charx{06}{07}{176}{##1}}
+ \CJK@namegdef{^^8a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{07}{08}{110}{##1}}
+ \CJK@namegdef{^^8b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{08}{09}{ 44}{##1}}
+ \CJK@namegdef{^^8c}##1{\CJK@disableMakeUppercase
+ \CJK@char {09}{-22}{##1}}
+ \CJK@namegdef{^^8d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{09}{10}{168}{##1}}
+ \CJK@namegdef{^^8e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{10}{11}{102}{##1}}
+ \CJK@namegdef{^^8f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{11}{12}{ 36}{##1}}
+ \CJK@namegdef{^^90}##1{\CJK@disableMakeUppercase
+ \CJK@char {12}{-30}{##1}}
+ \CJK@namegdef{^^91}##1{\CJK@disableMakeUppercase
+ \CJK@charx{12}{13}{160}{##1}}
+ \CJK@namegdef{^^92}##1{\CJK@disableMakeUppercase
+ \CJK@charx{13}{14}{ 94}{##1}}
+ \CJK@namegdef{^^93}##1{\CJK@disableMakeUppercase
+ \CJK@charx{14}{15}{ 28}{##1}}
+ \CJK@namegdef{^^94}##1{\CJK@disableMakeUppercase
+ \CJK@char {15}{-38}{##1}}
+ \CJK@namegdef{^^95}##1{\CJK@disableMakeUppercase
+ \CJK@charx{15}{16}{152}{##1}}
+ \CJK@namegdef{^^96}##1{\CJK@disableMakeUppercase
+ \CJK@charx{16}{17}{ 86}{##1}}
+ \CJK@namegdef{^^97}##1{\CJK@disableMakeUppercase
+ \CJK@charx{17}{18}{ 20}{##1}}
+ \CJK@namegdef{^^98}##1{\CJK@disableMakeUppercase
+ \CJK@char {18}{-46}{##1}}
+ \CJK@namegdef{^^99}##1{\CJK@disableMakeUppercase
+ \CJK@charx{18}{19}{144}{##1}}
+ \CJK@namegdef{^^9a}##1{\CJK@disableMakeUppercase
+ \CJK@charx{19}{20}{ 78}{##1}}
+ \CJK@namegdef{^^9b}##1{\CJK@disableMakeUppercase
+ \CJK@charx{20}{21}{ 12}{##1}}
+ \CJK@namegdef{^^9c}##1{\CJK@disableMakeUppercase
+ \CJK@char {21}{-54}{##1}}
+ \CJK@namegdef{^^9d}##1{\CJK@disableMakeUppercase
+ \CJK@charx{21}{22}{136}{##1}}
+ \CJK@namegdef{^^9e}##1{\CJK@disableMakeUppercase
+ \CJK@charx{22}{23}{ 70}{##1}}
+ \CJK@namegdef{^^9f}##1{\CJK@disableMakeUppercase
+ \CJK@charx{23}{24}{ 4}{##1}}
+ \CJK@namegdef{^^a0}##1{\CJK@disableMakeUppercase
+ \CJK@char {24}{-62}{##1}}
+ \CJK@namegdef{^^a1}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A1}{24}{25}{128}{##1}}
+ \CJK@namegdef{^^a2}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A2}{25}{26}{ 62}{##1}}
+ \CJK@namegdef{^^a3}##1{\CJK@disableMakeUppercase
+ \CJK@punctchar {A3}{26}{ -4}{##1}}
+ \CJK@namegdef{^^a4}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A4}{26}{27}{186}{##1}}
+ \CJK@namegdef{^^a5}##1{\CJK@disableMakeUppercase
+ \CJK@punctcharx{A5}{27}{28}{120}{##1}}
+ \CJK@namegdef{^^a6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{28}{29}{ 54}{##1}}
+ \CJK@namegdef{^^a7}##1{\CJK@disableMakeUppercase
+ \CJK@char {29}{-12}{##1}}
+ \CJK@namegdef{^^a8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{29}{30}{178}{##1}}
+ \CJK@namegdef{^^a9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{30}{31}{112}{##1}}
+ \CJK@namegdef{^^aa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{31}{32}{ 46}{##1}}
+ \CJK@namegdef{^^ab}##1{\CJK@disableMakeUppercase
+ \CJK@char {32}{-20}{##1}}
+ \CJK@namegdef{^^ac}##1{\CJK@disableMakeUppercase
+ \CJK@charx{32}{33}{170}{##1}}
+ \CJK@namegdef{^^ad}##1{\CJK@disableMakeUppercase
+ \CJK@charx{33}{34}{104}{##1}}
+ \CJK@namegdef{^^ae}##1{\CJK@disableMakeUppercase
+ \CJK@charx{34}{35}{ 38}{##1}}
+ \CJK@namegdef{^^af}##1{\CJK@disableMakeUppercase
+ \CJK@char {35}{-28}{##1}}
+ \CJK@namegdef{^^b0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{35}{36}{162}{##1}}
+ \CJK@namegdef{^^b1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{36}{37}{ 96}{##1}}
+ \CJK@namegdef{^^b2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{37}{38}{ 30}{##1}}
+ \CJK@namegdef{^^b3}##1{\CJK@disableMakeUppercase
+ \CJK@char {38}{-36}{##1}}
+ \CJK@namegdef{^^b4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{38}{39}{154}{##1}}
+ \CJK@namegdef{^^b5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{39}{40}{ 88}{##1}}
+ \CJK@namegdef{^^b6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{40}{41}{ 22}{##1}}
+ \CJK@namegdef{^^b7}##1{\CJK@disableMakeUppercase
+ \CJK@char {41}{-44}{##1}}
+ \CJK@namegdef{^^b8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{41}{42}{146}{##1}}
+ \CJK@namegdef{^^b9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{42}{43}{ 80}{##1}}
+ \CJK@namegdef{^^ba}##1{\CJK@disableMakeUppercase
+ \CJK@charx{43}{44}{ 14}{##1}}
+ \CJK@namegdef{^^bb}##1{\CJK@disableMakeUppercase
+ \CJK@char {44}{-52}{##1}}
+ \CJK@namegdef{^^bc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{44}{45}{138}{##1}}
+ \CJK@namegdef{^^bd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{45}{46}{ 72}{##1}}
+ \CJK@namegdef{^^be}##1{\CJK@disableMakeUppercase
+ \CJK@charx{46}{47}{ 6}{##1}}
+ \CJK@namegdef{^^bf}##1{\CJK@disableMakeUppercase
+ \CJK@char {47}{-60}{##1}}
+ \CJK@namegdef{^^c0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{47}{48}{130}{##1}}
+ \CJK@namegdef{^^c1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{48}{49}{ 64}{##1}}
+ \CJK@namegdef{^^c2}##1{\CJK@disableMakeUppercase
+ \CJK@char {49}{ -2}{##1}}
+ \CJK@namegdef{^^c3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{49}{50}{188}{##1}}
+ \CJK@namegdef{^^c4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{50}{51}{122}{##1}}
+ \CJK@namegdef{^^c5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{51}{52}{ 56}{##1}}
+ \CJK@namegdef{^^c6}##1{\CJK@disableMakeUppercase
+ \CJK@char {52}{-10}{##1}}
+ \CJK@namegdef{^^c7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{52}{53}{180}{##1}}
+ \CJK@namegdef{^^c8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{53}{54}{114}{##1}}
+ \CJK@namegdef{^^c9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{54}{55}{ 48}{##1}}
+ \CJK@namegdef{^^ca}##1{\CJK@disableMakeUppercase
+ \CJK@char {55}{-18}{##1}}
+ \CJK@namegdef{^^cb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{55}{56}{172}{##1}}
+ \CJK@namegdef{^^cc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{56}{57}{106}{##1}}
+ \CJK@namegdef{^^cd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{57}{58}{ 40}{##1}}
+ \CJK@namegdef{^^ce}##1{\CJK@disableMakeUppercase
+ \CJK@char {58}{-26}{##1}}
+ \CJK@namegdef{^^cf}##1{\CJK@disableMakeUppercase
+ \CJK@charx{58}{59}{164}{##1}}
+ \CJK@namegdef{^^d0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{59}{60}{ 98}{##1}}
+ \CJK@namegdef{^^d1}##1{\CJK@disableMakeUppercase
+ \CJK@charx{60}{61}{ 32}{##1}}
+ \CJK@namegdef{^^d2}##1{\CJK@disableMakeUppercase
+ \CJK@char {61}{-34}{##1}}
+ \CJK@namegdef{^^d3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{61}{62}{156}{##1}}
+ \CJK@namegdef{^^d4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{62}{63}{ 90}{##1}}
+ \CJK@namegdef{^^d5}##1{\CJK@disableMakeUppercase
+ \CJK@charx{63}{64}{ 24}{##1}}
+ \CJK@namegdef{^^d6}##1{\CJK@disableMakeUppercase
+ \CJK@char {64}{-42}{##1}}
+ \CJK@namegdef{^^d7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{64}{65}{148}{##1}}
+ \CJK@namegdef{^^d8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{65}{66}{ 82}{##1}}
+ \CJK@namegdef{^^d9}##1{\CJK@disableMakeUppercase
+ \CJK@charx{66}{67}{ 16}{##1}}
+ \CJK@namegdef{^^da}##1{\CJK@disableMakeUppercase
+ \CJK@char {67}{-50}{##1}}
+ \CJK@namegdef{^^db}##1{\CJK@disableMakeUppercase
+ \CJK@charx{67}{68}{140}{##1}}
+ \CJK@namegdef{^^dc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{68}{69}{ 74}{##1}}
+ \CJK@namegdef{^^dd}##1{\CJK@disableMakeUppercase
+ \CJK@charx{69}{70}{ 8}{##1}}
+ \CJK@namegdef{^^de}##1{\CJK@disableMakeUppercase
+ \CJK@char {70}{-58}{##1}}
+ \CJK@namegdef{^^df}##1{\CJK@disableMakeUppercase
+ \CJK@charx{70}{71}{132}{##1}}
+ \CJK@namegdef{^^e0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{71}{72}{ 66}{##1}}
+ \CJK@namegdef{^^e1}##1{\CJK@disableMakeUppercase
+ \CJK@char {72}{ 0}{##1}}
+ \CJK@namegdef{^^e2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{72}{73}{190}{##1}}
+ \CJK@namegdef{^^e3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{73}{74}{124}{##1}}
+ \CJK@namegdef{^^e4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{74}{75}{ 58}{##1}}
+ \CJK@namegdef{^^e5}##1{\CJK@disableMakeUppercase
+ \CJK@char {75}{ -8}{##1}}
+ \CJK@namegdef{^^e6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{75}{76}{182}{##1}}
+ \CJK@namegdef{^^e7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{76}{77}{116}{##1}}
+ \CJK@namegdef{^^e8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{77}{78}{ 50}{##1}}
+ \CJK@namegdef{^^e9}##1{\CJK@disableMakeUppercase
+ \CJK@char {78}{-16}{##1}}
+ \CJK@namegdef{^^ea}##1{\CJK@disableMakeUppercase
+ \CJK@charx{78}{79}{174}{##1}}
+ \CJK@namegdef{^^eb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{79}{80}{108}{##1}}
+ \CJK@namegdef{^^ec}##1{\CJK@disableMakeUppercase
+ \CJK@charx{80}{81}{ 42}{##1}}
+ \CJK@namegdef{^^ed}##1{\CJK@disableMakeUppercase
+ \CJK@char {81}{-24}{##1}}
+ \CJK@namegdef{^^ee}##1{\CJK@disableMakeUppercase
+ \CJK@charx{81}{82}{166}{##1}}
+ \CJK@namegdef{^^ef}##1{\CJK@disableMakeUppercase
+ \CJK@charx{82}{83}{100}{##1}}
+ \CJK@namegdef{^^f0}##1{\CJK@disableMakeUppercase
+ \CJK@charx{83}{84}{ 34}{##1}}
+ \CJK@namegdef{^^f1}##1{\CJK@disableMakeUppercase
+ \CJK@char {84}{-32}{##1}}
+ \CJK@namegdef{^^f2}##1{\CJK@disableMakeUppercase
+ \CJK@charx{84}{85}{158}{##1}}
+ \CJK@namegdef{^^f3}##1{\CJK@disableMakeUppercase
+ \CJK@charx{85}{86}{ 92}{##1}}
+ \CJK@namegdef{^^f4}##1{\CJK@disableMakeUppercase
+ \CJK@charx{86}{87}{ 26}{##1}}
+ \CJK@namegdef{^^f5}##1{\CJK@disableMakeUppercase
+ \CJK@char {87}{-40}{##1}}
+ \CJK@namegdef{^^f6}##1{\CJK@disableMakeUppercase
+ \CJK@charx{87}{88}{150}{##1}}
+ \CJK@namegdef{^^f7}##1{\CJK@disableMakeUppercase
+ \CJK@charx{88}{89}{ 84}{##1}}
+ \CJK@namegdef{^^f8}##1{\CJK@disableMakeUppercase
+ \CJK@charx{89}{90}{ 18}{##1}}
+ \CJK@namegdef{^^f9}##1{\CJK@disableMakeUppercase
+ \CJK@char {90}{-48}{##1}}
+ \CJK@namegdef{^^fa}##1{\CJK@disableMakeUppercase
+ \CJK@charx{90}{91}{142}{##1}}
+ \CJK@namegdef{^^fb}##1{\CJK@disableMakeUppercase
+ \CJK@charx{91}{92}{ 76}{##1}}
+ \CJK@namegdef{^^fc}##1{\CJK@disableMakeUppercase
+ \CJK@charx{92}{93}{ 10}{##1}}
+ \CJK@namegdef{^^fd}##1{\CJK@disableMakeUppercase
+ \CJK@char {93}{-56}{##1}}
+ \CJK@namegdef{^^fe}##1{\CJK@disableMakeUppercase
+ \CJK@charx{93}{94}{134}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/mule/MULEenc.sty b/language/chinese/CJK/cjk-4.8.5/texinput/mule/MULEenc.sty
new file mode 100644
index 0000000000..d9e608ae02
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/mule/MULEenc.sty
@@ -0,0 +1,501 @@
+% This is the file MULEenc.sty of the CJK package
+% providing an interface to `cjk-enc.el' (a special Emacs mode)
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\makeatletter
+\endlinechar \m@ne
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesPackage{MULEenc}[\filedate\space\fileversion]
+\NeedsTeXFormat{LaTeX2e}[1998/06/01]
+
+
+% to allow Latin encodings in verbatim environments we activate the
+% character ^^7f and define it as a multiplex character which executes
+% its first argument; it will also be used as a delimiter.
+
+\catcode "7F \active
+
+\def^^7f{
+ \ifx\protect \@typeset@protect
+ \expandafter\mule@arg
+ \else
+ \noexpand ^^7f
+ \fi}
+
+\def\mule@arg#1^^7f#2^^7f{
+ \mule@@arg #2^^7f#1^^7f#2^^7f}
+
+\def\mule@@arg#1^^7f{
+ \mule@ifbslash #1^^7f
+ \expandafter\mule@@@arg
+ \else
+ \expandafter\mule@exec
+ \fi}
+
+\def\mule@@@arg#1^^7f#2^^7f{
+ \csname mule@\string #1\endcsname{#2}}
+
+
+% the pseudo-if \mule@ifbslash tests whether its argument contains a
+% backslash with a character category code (this happens in verbatim
+% environments). We need to change the catcode of `\' locally to
+% achieve that.
+%
+% \mule@exec then swallows this backslash so we can call \csname (twice).
+%
+% All these weird constructions assure that we do not lose kerning between
+% characters---only macro expansion is allowed!
+
+\let\mule@@@ \@empty
+
+{\catcode`\|=\z@
+ \catcode`\\=12\relax
+ |gdef|mule@ifbslash#1^^7f{
+ |mule@@ifbslash #1\^^7f}
+ |gdef|mule@@ifbslash#1\#2^^7f{
+ |expandafter|expandafter|expandafter|ifx
+ |expandafter|csname |string #2mule@@@|endcsname |@empty}
+ |gdef|mule@exec#1^^7f\#2^^7f{
+ |expandafter|csname
+ mule@#1|expandafter |endcsname |csname #2|endcsname}
+}
+
+
+% here come the definitions for the macros cjk-enc.el emits.
+
+% first some \let's to avoid problems in tabbing environments.
+
+\AtBeginDocument{
+ \let\mule@acute \'
+ \let\mule@grave \`
+ \let\mule@macron \=
+ \let\mule@hacek \v}
+
+% and now the missing definitions for cjk-enc.el to represent Latin
+% encodings.
+
+% these definitions may be overridden with \ProvideTextCommandDefault
+% commands.
+
+\def\textonequarter{\ensuremath{\frac14}}
+\def\textonehalf{\ensuremath{\frac12}}
+\def\textthreequarters{\ensuremath{\frac34}}
+
+% LaTeX defines the following macros as \math... instead of \text...,
+% but we want that all commands work in text mode.
+
+\def\textonesuperior{\ensuremath{{^1}}}
+\def\texttwosuperior{\ensuremath{{^2}}}
+\def\textthreesuperior{\ensuremath{{^3}}}
+
+% the next macros are text versions of the corresponding math macros.
+
+\def\textlnot{\ensuremath{\lnot}}
+\def\textpm{\ensuremath{\pm}}
+\def\textmu{\ensuremath{\mu}}
+\def\texttimes{\ensuremath{\times}}
+\def\textdiv{\ensuremath{\div}}
+
+% this macro is not in the LaTeX 2e base package
+
+\def\textcommercialat{\char64}
+
+% the following macro is not defined in standard LaTeX2e.
+%
+% JIS X 0201: 0x7E \textoverscore (U+203E)
+
+
+% to make the multiplex macro work with \uppercase and \lowercase too,
+% numbers are used as parameters in the ^^7f macro.
+
+\def\mule@def#1{\expandafter\def\csname mule@\string #1\endcsname}
+
+% accents
+
+\mule@def{8}{\"}
+\mule@def{15}{\mule@macron}
+\mule@def{20}{\mule@acute}
+\mule@def{24}{\c}
+\mule@def{32}{\mule@grave}
+\mule@def{33}{\^}
+\mule@def{34}{\~}
+\mule@def{48}{\k}
+\mule@def{49}{\u}
+\mule@def{51}{\mule@hacek}
+\mule@def{52}{\.}
+\mule@def{53}{\r}
+\mule@def{55}{\H}
+
+% Vietnamese hook (\h; only defined in T5 encoding) and dot below accent
+
+\mule@def{71}{\d}
+\mule@def{73}{\h}
+
+% symbols
+
+\mule@def{1}{\textexclamdown}
+\mule@def{2}{\textcent}
+\mule@def{3}{\textsterling}
+\mule@def{4}{\textcurrency}
+\mule@def{5}{\textyen}
+\mule@def{6}{\textbrokenbar}
+\mule@def{7}{\S}
+\mule@def{9}{\copyright}
+\mule@def{10}{\textordfeminine}
+\mule@def{11}{\guillemotleft}
+\mule@def{12}{\textlnot}
+\mule@def{14}{\textregistered}
+\mule@def{16}{\textdegree}
+\mule@def{17}{\textpm}
+\mule@def{18}{\texttwosuperior}
+\mule@def{19}{\textthreesuperior}
+\mule@def{21}{\textmu}
+\mule@def{22}{\P}
+\mule@def{23}{\textperiodcentered}
+\mule@def{25}{\textonesuperior}
+\mule@def{26}{\textordmasculine}
+\mule@def{27}{\guillemotright}
+\mule@def{28}{\textonequarter}
+\mule@def{29}{\textonehalf}
+\mule@def{30}{\textthreequarters}
+\mule@def{31}{\textquestiondown}
+\mule@def{36}{\textcommercialat}
+\mule@def{37}{\textquotedbl}
+\mule@def{38}{\texttimes}
+\mule@def{39}{\textdollar}
+\mule@def{40}{\textquoteright}
+\mule@def{41}{\textless}
+\mule@def{42}{\textgreater}
+\mule@def{43}{\textasciicircum}
+\mule@def{44}{\textunderscore}
+\mule@def{45}{\textdiv}
+\mule@def{46}{\textquoteleft}
+\mule@def{47}{\textbraceleft}
+\mule@def{50}{\textbar}
+\mule@def{54}{\textbraceright}
+\mule@def{56}{\textoverscore}
+\mule@def{99}{\nobreakspace}
+
+\mule@def{35}{\textnumero} % Cyrillic Number Sign
+
+% letters
+
+\let\TEXTMALTESEH \textmalteseH
+\def\I{I} % uppercase form of \i
+
+\let\TEXTTSTROKE \textTstroke
+\mule@def{59}{\textkra}
+
+% commands
+
+\mule@def{0}{\@firstofone} % for commands as arguments which exist
+ % in both uppercase and lowercase forms
+ % like \AA and \aa
+\mule@def{64}{\CJKspace\@gobble}
+\mule@def{65}{\CJKnospace\@gobble}
+\mule@def{66}{\CJKenc{JIS}\@gobble}
+\mule@def{67}{\CJKenc{GB}\@gobble}
+\mule@def{68}{\CJKenc{Bg5}\@gobble}
+\mule@def{69}{\CJKenc{KS}\@gobble}
+\mule@def{70}{\CJKenc{SJIS}\@gobble}
+
+% in previous versions we have used ^^a0 for calling \CJKchar, but to
+% support GBK and Big 5+ encodings which both need this slot we use the
+% ^^7f interface also.
+
+\mule@def{72}{\mule@@@@arg}
+
+\def\mule@@@@arg#1^^7f#2^^7f#3^^7f{
+ \uppercase{\CJKchar[#1]{#2}{#3}}}
+
+
+% Thai support. We need the many \bgroup and \egroup commands to make it
+% work with ulem.sty.
+
+\mule@def{57}{\bgroup\fontencoding{C90}\selectfont
+ \bgroup\bgroup\@gobble} % begin Thai
+\mule@def{58}{\egroup
+ \egroup\egroup\@gobble} % end Thai
+\mule@def{60}{\mule@char} % Thai diacritic
+\mule@def{61}{\Thaibreak\@gobble} % Thai word break
+\mule@def{62}{\nobreak\Thaiglue\nobreak\mule@char} % Thai base character
+\mule@def{63}{\mule@ignorespaces} % Thai EOL
+
+\def\mule@char#1{\char #1 }
+\def\mule@ignorespaces#1{\ignorespaces}
+
+\newcommand{\Thaiglue}{\hskip \z@ \@plus .03\baselineskip}
+\newcommand{\Thaibreak}{\hskip \z@}
+
+\newcommand{\Thaispace}{\mule@def{63}{}}
+\newcommand{\Thainospace}{\mule@def{63}{\mule@ignorespaces}}
+
+
+% preprocessed mode now uses the ^^7f interface for CJK characters also
+% to make it coexist with normal mode.
+%
+% the \@gobble macro is used to swallow the first element in \CJK@<number>;
+% this is either \CJK@disableMakeUppercase or \relax if not needed.
+
+\def\mule@@def#1{
+ \expandafter\def\csname mule@\string #1\endcsname##1{
+ \expandafter\expandafter\expandafter\@gobble
+ \csname CJK@\number `#1\endcsname{##1}
+ \CJK@ignorespaces}}
+
+\mule@@def{^^81}
+\mule@@def{^^82}
+\mule@@def{^^83}
+\mule@@def{^^84}
+\mule@@def{^^85}
+\mule@@def{^^86}
+\mule@@def{^^87}
+\mule@@def{^^88}
+\mule@@def{^^89}
+\mule@@def{^^8a}
+\mule@@def{^^8b}
+\mule@@def{^^8c}
+\mule@@def{^^8d}
+\mule@@def{^^8e}
+\mule@@def{^^8f}
+\mule@@def{^^90}
+\mule@@def{^^91}
+\mule@@def{^^92}
+\mule@@def{^^93}
+\mule@@def{^^94}
+\mule@@def{^^95}
+\mule@@def{^^96}
+\mule@@def{^^97}
+\mule@@def{^^98}
+\mule@@def{^^99}
+\mule@@def{^^9a}
+\mule@@def{^^9b}
+\mule@@def{^^9c}
+\mule@@def{^^9d}
+\mule@@def{^^9e}
+\mule@@def{^^9f}
+\mule@@def{^^a0}
+\mule@@def{^^a1}
+\mule@@def{^^a2}
+\mule@@def{^^a3}
+\mule@@def{^^a4}
+\mule@@def{^^a5}
+\mule@@def{^^a6}
+\mule@@def{^^a7}
+\mule@@def{^^a8}
+\mule@@def{^^a9}
+\mule@@def{^^aa}
+\mule@@def{^^ab}
+\mule@@def{^^ac}
+\mule@@def{^^ad}
+\mule@@def{^^ae}
+\mule@@def{^^af}
+\mule@@def{^^b0}
+\mule@@def{^^b1}
+\mule@@def{^^b2}
+\mule@@def{^^b3}
+\mule@@def{^^b4}
+\mule@@def{^^b5}
+\mule@@def{^^b6}
+\mule@@def{^^b7}
+\mule@@def{^^b8}
+\mule@@def{^^b9}
+\mule@@def{^^ba}
+\mule@@def{^^bb}
+\mule@@def{^^bc}
+\mule@@def{^^bd}
+\mule@@def{^^be}
+\mule@@def{^^bf}
+\mule@@def{^^c0}
+\mule@@def{^^c1}
+\mule@@def{^^c2}
+\mule@@def{^^c3}
+\mule@@def{^^c4}
+\mule@@def{^^c5}
+\mule@@def{^^c6}
+\mule@@def{^^c7}
+\mule@@def{^^c8}
+\mule@@def{^^c9}
+\mule@@def{^^ca}
+\mule@@def{^^cb}
+\mule@@def{^^cc}
+\mule@@def{^^cd}
+\mule@@def{^^ce}
+\mule@@def{^^cf}
+\mule@@def{^^d0}
+\mule@@def{^^d1}
+\mule@@def{^^d2}
+\mule@@def{^^d3}
+\mule@@def{^^d4}
+\mule@@def{^^d5}
+\mule@@def{^^d6}
+\mule@@def{^^d7}
+\mule@@def{^^d8}
+\mule@@def{^^d9}
+\mule@@def{^^da}
+\mule@@def{^^db}
+\mule@@def{^^dc}
+\mule@@def{^^dd}
+\mule@@def{^^de}
+\mule@@def{^^df}
+\mule@@def{^^e0}
+\mule@@def{^^e1}
+\mule@@def{^^e2}
+\mule@@def{^^e3}
+\mule@@def{^^e4}
+\mule@@def{^^e5}
+\mule@@def{^^e6}
+\mule@@def{^^e7}
+\mule@@def{^^e8}
+\mule@@def{^^e9}
+\mule@@def{^^ea}
+\mule@@def{^^eb}
+\mule@@def{^^ec}
+\mule@@def{^^ed}
+\mule@@def{^^ee}
+\mule@@def{^^ef}
+\mule@@def{^^f0}
+\mule@@def{^^f1}
+\mule@@def{^^f2}
+\mule@@def{^^f3}
+\mule@@def{^^f4}
+\mule@@def{^^f5}
+\mule@@def{^^f6}
+\mule@@def{^^f7}
+\mule@@def{^^f8}
+\mule@@def{^^f9}
+\mule@@def{^^fa}
+\mule@@def{^^fb}
+\mule@@def{^^fc}
+\mule@@def{^^fd}
+\mule@@def{^^fe}
+
+
+% if the `verbatim' package is loaded it is possible to improve the output
+% automatically, namely, to avoid breaking of overfull lines in a
+% verbatim environment. The following command will install a hook to
+% suppress insertion of glue between Thai glyphs. CJK.sty will extend
+% it for CJK glyphs.
+%
+\def\mule@verbatim{
+ \addto@hook{\every@verbatim}{
+ \renewcommand{\Thaiglue}{}
+ \mule@def{61}{}}}
+\ifx\CJK@verbatim \@undefined
+ \def\CJK@verbatim{}
+\fi
+
+\def\CJKverbatim{
+ \mule@verbatim
+ \CJK@verbatim}
+
+
+% here comes our special include command which will load <file>.cjk
+% instead of <file>.tex
+
+\def\CJKinclude#1{
+ \relax
+
+ \ifnum\@auxout = \@partaux
+ \@latex@error{\string\CJKinclude\space cannot be nested}
+ \@eha
+ \else
+ \CJK@include#1 %
+ \fi
+}
+
+\def\CJK@include#1 {
+ \clearpage
+
+ \if@filesw
+ \immediate\write\@mainaux{\string\@input{#1.aux}}
+ \fi
+
+ \@tempswatrue
+
+ \if@partsw
+ \@tempswafalse
+ \edef\reserved@b{#1}
+ \@for\reserved@a:=\@partlist\do
+ {\ifx\reserved@a \reserved@b
+ \@tempswatrue
+ \fi
+ }
+ \fi
+
+ \if@tempswa
+ \let\@auxout\@partaux
+ \if@filesw
+ \immediate\openout\@partaux #1.aux
+ \immediate\write\@partaux{\relax}
+ \fi
+ \@input@{#1.cjk}
+ \clearpage
+ \@writeckpt{#1}
+ \if@filesw
+ \immediate\closeout\@partaux
+ \fi
+ \else
+ \deadcycles\z@
+ \@nameuse{cp@#1}
+ \fi
+
+ \let\@auxout\@mainaux
+}
+
+
+% the same for the bibliography
+
+\def\CJKbibliography#1{
+ \if@filesw
+ \immediate\write\@auxout{\string\bibdata{#1-cjk}}%
+ \fi
+ \@input@{\jobname.bbl}
+}
+
+
+% here our special input command -- cjk-enc.el will scan files included with
+% \CJKinput, but not with \input.
+%
+% We only want the syntax form of \input with braces around the parameter.
+% If no file name extension is given, `cjk' is used.
+
+\def\CJKinput#1{
+ \filename@parse{#1}
+ \ifx\filename@ext \relax
+ \def\filename@ext{cjk}
+ \fi
+ \InputIfFileExists{\filename@area\filename@base.\filename@ext}
+ {}
+ {\edef\reserved@a{
+ \noexpand\@missingfileerror
+ {\filename@area\filename@base}
+ {\filename@ext}}
+ \reserved@a}}
+
+
+\endlinechar `\^^M
+\makeatother
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/pinyin.sty b/language/chinese/CJK/cjk-4.8.5/texinput/pinyin.sty
new file mode 100644
index 0000000000..b9b1553ee2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/pinyin.sty
@@ -0,0 +1,1234 @@
+% This is the file pinyin.sty of the CJK package
+% to input Chinese in pinyin transcription
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+%
+% This style file works with plain TeX also.
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+
+\catcode`@=11
+\endlinechar \m@ne
+
+% Older versions of the PostScript virtual files don't contain a macron
+% accent at all (e.g. Palatino). Under LaTeX, you can activate the
+% CM macron version with the package option `useCMmacron'.
+
+\newif\ifpy@useCMmacron@
+\py@useCMmacron@false
+
+\ifx\NeedsTeXFormat \@undefined
+ \message{Package: pinyin \filedate\space\fileversion}
+\else
+ \ProvidesPackage{pinyin}[\filedate\space\fileversion]
+
+ \DeclareOption{useCMmacron}{\py@useCMmacron@true}
+ \ProcessOptions
+\fi
+
+
+% Similar to the CJK and ruby packages we need a special kern to indicate
+% hyphenation between pinyin syllables. Values 1sp-3sp are already used
+% by those packages.
+
+\edef\py@sp{\kern -4sp\kern 4sp}
+
+
+% We must preserve various TeX macros because their names overlap with
+% pinyin syllables. The only exception is the internal command \long which
+% can't be renamed because almost all other packages would fail.
+%
+% Note that \ding is not a basic LaTeX macro but defined in pifont.sty, part
+% of the psnfss package.
+%
+% All other pinyin syllables will be defined below.
+
+\let\PYa=\a
+\let\PYchi=\chi
+\let\PYcong=\cong
+\let\PYding=\ding
+\let\PYge=\ge
+\let\PYhang=\hang
+\let\PYle=\le
+%\let\PYlong=\long -> we use \Long and \LONG instead
+\let\PYmin=\min
+\let\PYmu=\mu
+\let\PYne=\ne
+\let\PYni=\ni
+\let\PYnu=\nu
+\let\PYo=\o
+\let\PYO=\O
+\let\PYpi=\pi
+\let\PYPi=\Pi
+\let\PYRe=\Re
+\let\PYtan=\tan
+\let\PYxi=\xi
+\let\PYXi=\Xi
+
+\def\PYactivate{
+ \let\a=\py@@a
+ \let\chi=\py@chi
+ \let\cong=\py@cong
+ \let\ding=\py@ding
+ \let\ge=\py@ge
+ \let\hang=\py@hang
+ \let\le=\py@le
+ \let\min=\py@min
+ \let\mu=\py@mu
+ \let\ne=\py@ne
+ \let\ni=\py@ni
+ \let\nu=\py@nu
+ \let\o=\py@@o
+ \let\O=\py@@O
+ \let\pi=\py@pi
+ \let\Pi=\py@Pi
+ \let\Re=\py@Re
+ \let\tan=\py@tan
+ \let\xi=\py@xi
+ \let\Xi=\py@Xi}
+
+\def\PYdeactivate{
+ \let\a=\PYa
+ \let\chi=\PYchi
+ \let\cong=\PYcong
+ \let\ding=\PYding
+ \let\ge=\PYge
+ \let\hang=\PYhang
+ \let\le=\PYle
+ \let\min=\PYmin
+ \let\mu=\PYmu
+ \let\ne=\PYne
+ \let\ni=\PYni
+ \let\nu=\PYnu
+ \let\o=\PYo
+ \let\O=\PYO
+ \let\pi=\PYpi
+ \let\Pi=\PYPi
+ \let\Re=\PYRe
+ \let\tan=\PYtan
+ \let\xi=\PYxi
+ \let\Xi=\PYXi}
+
+
+% We use our own names for the accent macros so they will also work in
+% tabbing environments.
+
+\let\py@acute \'
+\let\py@hacek \v
+\let\py@grave \`
+
+
+% Macrons of the EC fonts are far too high for the first tone, and most
+% T1 encoded fonts follow this for compatibility reasons. However,
+% T5 encoded fonts don't exhibit this behaviour.
+
+\def\py@macron#1#2{
+ \edef\py@mcorr{0}
+ \edef\py@temp{T1}
+ \ifx\f@encoding \py@temp
+ \chardef\py@mcr 9\relax% T1 fonts
+ \else
+ \edef\py@temp{T5}
+ \ifx\f@encoding \py@temp
+ \chardef\py@mcr 9\relax% T5 fonts
+ \edef\py@mcorr{-.3}
+ \else
+ \chardef\py@mcr 22\relax% OT1 fonts
+ \fi
+ \fi
+
+ {\leavevmode
+ \dimen@ii 1ex
+ \ifpy@useCMmacron@
+ \edef\py@temp{\f@family}
+ \fontfamily{cmr}
+ \selectfont
+ \fi
+ \setbox\z@ \hbox{\char\py@mcr}
+ \dimen@ -#2ex
+ \advance\dimen@ \py@mcorr ex
+ \advance\dimen@ \ht\z@
+ \ifdim 1ex < \dimen@
+ \fontdimen5\font \dimen@
+ \fi
+ \accent\py@mcr
+ \ifpy@useCMmacron@
+ \fontfamily\py@temp
+ \selectfont
+ \fi
+ \fontdimen5\font \dimen@ii
+ #1}}
+
+% Here a replacement version for bookmarks in PDFs.
+
+\def\py@hr@macron#1#2{
+ \=#1
+}
+
+
+% The following command outputs the kern between two letters.
+
+\def\py@kern#1#2{
+ {\setbox\z@ \hbox{#1#2}
+ \dimen@ \wd\z@
+ \setbox\z@ \hbox{#1{}#2}
+ \advance\dimen@ -\wd\z@
+ \kern\dimen@}}
+
+
+% To make \MakeUppercase and \MakeLowercase work, we use a generic macro
+% which constructs the necessary pinyin macros by using the first
+% argument.
+
+\def\py@#1{
+ \csname py@#1\endcsname
+}
+
+% Here are the macros to produce various accents over the vocals.
+
+\def\py@@#1#2#3#4{
+ \py@kern{#2}#1
+ \ifcase #4
+ \or\py@macron #1{.3}\or\py@acute #1\or\py@hacek #1\or\py@grave #1\or #1
+ \fi
+ \py@kern #1{#3}}
+
+\def\py@a{\py@@ a}
+\def\py@A{\py@@ A}
+
+\def\py@e{\py@@ e}
+\def\py@E{\py@@ E}
+
+\def\py@i#1#2#3{
+ \py@kern{#1}i
+ \ifcase #3
+ \or\py@macron\i{.3}\or\py@acute\i\or\py@hacek\i\or\py@grave\i\or i
+ \fi
+ \py@kern i{#2}}
+\def\py@I{\py@@ I}
+
+\def\py@o{\py@@ o}
+\def\py@O{\py@@ O}
+
+\def\py@u{\py@@ u}
+\def\py@U{\py@@ U}
+
+% the previous definitions are almost trivial. The only tricky macro is the
+% following one. Above the u with umlaut dots we must place the four tone
+% modifiers. To get a better appearance, we lower the umlaut dots as much
+% as possible. The algorithm used here has been tested with the standard
+% cm, ec, and PostScript fonts; it was taken from german.sty .
+
+\def\py@@v#1#2#3#4{
+ \edef\py@temp{T1}
+ \ifx\f@encoding \py@temp
+ \chardef\py@umlaut 4\relax% T1 fonts
+ \chardef\py@ac \@ne
+ \chardef\py@gr \z@
+ \else
+ \edef\py@temp{T5}
+ \ifx\f@encoding \py@temp
+ \chardef\py@umlaut 4\relax% T5 fonts
+ \chardef\py@ac \@ne
+ \chardef\py@gr \z@
+ \else
+ \chardef\py@umlaut 127\relax% OT1 fonts
+ \chardef\py@ac 19\relax
+ \chardef\py@gr 18\relax
+ \fi
+ \fi
+
+ {\leavevmode
+ \dimen@ii 1ex
+ \setbox\z@ \hbox{\char\py@umlaut}
+ \dimen@ -.4ex
+ \advance\dimen@ \ht\z@
+ \ifdim 1ex < \dimen@
+ \fontdimen5\font \dimen@
+ \dimen@ .55ex
+ \else
+ \dimen@ .7ex
+ \fi
+ \py@kern{#2}#1
+ \rlap{\accent\py@umlaut #1}
+ \fontdimen5\font \dimen@
+ \ifcase #4
+ \or\py@macron #1{1.1}
+ \or\accent\py@ac #1
+ \or\py@hacek #1
+ \or\accent\py@gr #1
+ \or #1
+ \fi
+ \py@kern #1{#3}
+ \fontdimen5\font \dimen@ii}}
+
+\def\py@v{\py@@v u}
+\def\py@V{\py@@v U}
+
+% Here a replacement version for bookmarks in PDFs.
+
+\def\py@hr@@v#1#2#3#4{
+ \ifcase #4
+ \or\py@hr@dm #1\or\py@hr@da #1\or\py@hr@dh #1\or\py@hr@dg #1\or #1
+ \fi
+}
+
+
+% Here our small macro to test whether we should insert a soft hyphen or
+% not. Since it is the first macro in all syllable definitions, we
+% also ensure horizontal mode.
+
+\def\py@hy{
+ \leavevmode
+ \ifnum\lastkern = 4\relax% \py@sp
+ \-
+ \fi
+}
+
+
+% Bookmarks need Unicode characters and nothing else.
+
+\ifx\AtBeginDocument \undefined
+\else
+ \AtBeginDocument{
+ \ifx\pdfstringdefDisableCommands \undefined
+ \else
+ % We add some definitions to the PU encoding so that \MakeUppercase
+ % and \MakeLowercase work with the pinyin characters which have
+ % two diacritics.
+ \DeclareTextCommand{\py@hr@dm}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@dm{#1}}#1}
+ \DeclareTextCommand{\py@hr@da}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@da{#1}}#1}
+ \DeclareTextCommand{\py@hr@dh}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@dh{#1}}#1}
+ \DeclareTextCommand{\py@hr@dg}{PU}[1]{
+ \TextSymbolUnavailable{\py@hr@dg{#1}}#1}
+
+ \DeclareTextCompositeCommand{\py@hr@dm}{PU}{U}{\81\325}% U umlaut macron
+ \DeclareTextCompositeCommand{\py@hr@dm}{PU}{u}{\81\326}% u umlaut macron
+ \DeclareTextCompositeCommand{\py@hr@da}{PU}{U}{\81\327}% U umlaut acute
+ \DeclareTextCompositeCommand{\py@hr@da}{PU}{u}{\81\330}% u umlaut acute
+ \DeclareTextCompositeCommand{\py@hr@dh}{PU}{U}{\81\331}% U umlaut hacek
+ \DeclareTextCompositeCommand{\py@hr@dh}{PU}{u}{\81\332}% u umlaut hacek
+ \DeclareTextCompositeCommand{\py@hr@dg}{PU}{U}{\81\333}% U umlaut grave
+ \DeclareTextCompositeCommand{\py@hr@dg}{PU}{u}{\81\334}% u umlaut grave
+
+ \pdfstringdefDisableCommands{
+ \let\py@hy \relax
+ \let\py@kern \@gobbletwo
+ \let\py@sp \relax
+ \let\py@macron \py@hr@macron
+ \let\py@@v \py@hr@@v
+ }
+ \fi
+ }
+\fi
+
+% Finally the pinyin syllables themselves in lower- and uppercase forms. As
+% mentioned above, the only exceptions are \Long and \LONG instead of the
+% expected \long and \Long macros.
+
+\ifx\AtBeginDocument \undefined
+ \def\py@DRC#1#2{
+ \def#1##1{\py@hy #2\py@sp{}}
+ }
+\else
+ \def\py@DRC#1#2{
+ \DeclareRobustCommand#1[1]{\py@hy #2\py@sp{}}
+ }
+\fi
+
+\py@DRC{\py@@a}{\py@ a{}{}#1}
+\py@DRC{\ai}{\py@ a{}i#1i}
+\py@DRC{\an}{\py@ a{}n#1n}
+\py@DRC{\ang}{\py@ a{}n#1ng}
+\py@DRC{\ao}{\py@ a{}o#1o}
+
+\py@DRC{\ba}{b\py@ ab{}#1}
+\py@DRC{\bai}{b\py@ abi#1i}
+\py@DRC{\ban}{b\py@ abn#1n}
+\py@DRC{\bang}{b\py@ abn#1ng}
+\py@DRC{\bao}{b\py@ abo#1o}
+\py@DRC{\bei}{b\py@ ebi#1i}
+\py@DRC{\ben}{b\py@ ebn#1n}
+\py@DRC{\beng}{b\py@ ebn#1ng}
+\py@DRC{\bi}{b\py@ ib{}#1}
+\py@DRC{\bian}{bi\py@ ain#1n}
+\py@DRC{\biao}{bi\py@ aio#1o}
+\py@DRC{\bie}{bi\py@ ei{}#1}
+\py@DRC{\bin}{b\py@ ibn#1n}
+\py@DRC{\bing}{b\py@ ibn#1ng}
+\py@DRC{\bo}{b\py@ ob{}#1}
+\py@DRC{\bu}{b\py@ ub{}#1}
+
+\py@DRC{\ca}{c\py@ ac{}#1}
+\py@DRC{\cai}{c\py@ aci#1i}
+\py@DRC{\can}{c\py@ acn#1n}
+\py@DRC{\cang}{c\py@ acn#1ng}
+\py@DRC{\cao}{c\py@ aco#1o}
+\py@DRC{\ce}{c\py@ ec{}#1}
+\py@DRC{\cen}{c\py@ ecn#1n}
+\py@DRC{\ceng}{c\py@ ecn#1ng}
+\py@DRC{\cha}{ch\py@ ah{}#1}
+\py@DRC{\chai}{ch\py@ ahi#1i}
+\py@DRC{\chan}{ch\py@ ahn#1n}
+\py@DRC{\chang}{ch\py@ ahn#1ng}
+\py@DRC{\chao}{ch\py@ aho#1o}
+\py@DRC{\che}{ch\py@ eh{}#1}
+\py@DRC{\chen}{ch\py@ ehn#1n}
+\py@DRC{\cheng}{ch\py@ ehn#1ng}
+\py@DRC{\py@chi}{ch\py@ ih{}#1}
+\py@DRC{\chong}{ch\py@ ohn#1ng}
+\py@DRC{\chou}{ch\py@ ohu#1u}
+\py@DRC{\chu}{ch\py@ uh{}#1}
+\py@DRC{\chua}{chu\py@ au{}#1}
+\py@DRC{\chuai}{chu\py@ aui#1i}
+\py@DRC{\chuan}{chu\py@ aun#1n}
+\py@DRC{\chuang}{chu\py@ aun#1ng}
+\py@DRC{\chui}{chu\py@ iu{}#1}
+\py@DRC{\chun}{ch\py@ uhn#1n}
+\py@DRC{\chuo}{chu\py@ ou{}#1}
+\py@DRC{\ci}{c\py@ ic{}#1}
+\py@DRC{\py@cong}{c\py@ ocn#1ng}
+\py@DRC{\cou}{c\py@ ocu#1u}
+\py@DRC{\cu}{c\py@ uc{}#1}
+\py@DRC{\cuan}{cu\py@ aun#1n}
+\py@DRC{\cui}{cu\py@ iu{}#1}
+\py@DRC{\cun}{c\py@ ucn#1n}
+\py@DRC{\cuo}{cu\py@ ou{}#1}
+
+\py@DRC{\da}{d\py@ ad{}#1}
+\py@DRC{\dai}{d\py@ adi#1i}
+\py@DRC{\dan}{d\py@ adn#1n}
+\py@DRC{\dang}{d\py@ adn#1ng}
+\py@DRC{\dao}{d\py@ ado#1o}
+\py@DRC{\de}{d\py@ ed{}#1}
+\py@DRC{\dei}{d\py@ edi#1i}
+\py@DRC{\den}{d\py@ edn#1n}
+\py@DRC{\deng}{d\py@ edn#1ng}
+\py@DRC{\di}{d\py@ id{}#1}
+\py@DRC{\dian}{di\py@ ain#1n}
+\py@DRC{\diao}{di\py@ aio#1o}
+\py@DRC{\die}{di\py@ ei{}#1}
+\py@DRC{\py@ding}{d\py@ idn#1ng}
+\py@DRC{\diu}{di\py@ ui{}#1}
+\py@DRC{\dong}{d\py@ odn#1ng}
+\py@DRC{\dou}{d\py@ odu#1u}
+\py@DRC{\du}{d\py@ ud{}#1}
+\py@DRC{\duan}{du\py@ aun#1n}
+\py@DRC{\dui}{du\py@ iu{}#1}
+\py@DRC{\dun}{d\py@ udn#1n}
+\py@DRC{\duo}{du\py@ ou{}#1}
+
+\py@DRC{\e}{\py@ e{}{}#1}
+\py@DRC{\ei}{\py@ e{}i#1i}
+\py@DRC{\en}{\py@ e{}n#1n}
+\py@DRC{\eng}{\py@ e{}n#1ng}
+\py@DRC{\er}{\py@ e{}r#1r}
+
+\py@DRC{\fa}{f\py@ af{}#1}
+\py@DRC{\fan}{f\py@ afn#1n}
+\py@DRC{\fang}{f\py@ afn#1ng}
+\py@DRC{\fei}{f\py@ efi#1i}
+\py@DRC{\fen}{f\py@ efn#1n}
+\py@DRC{\feng}{f\py@ efn#1ng}
+\py@DRC{\fiao}{fi\py@ aio#1o}
+\py@DRC{\fo}{f\py@ of{}#1}
+\py@DRC{\fou}{f\py@ ofu#1u}
+\py@DRC{\fu}{f\py@ uf{}#1}
+
+\py@DRC{\ga}{g\py@ ag{}#1}
+\py@DRC{\gai}{g\py@ agi#1i}
+\py@DRC{\gan}{g\py@ agn#1n}
+\py@DRC{\gang}{g\py@ agn#1ng}
+\py@DRC{\gao}{g\py@ ago#1o}
+\py@DRC{\py@ge}{g\py@ eg{}#1}
+\py@DRC{\gei}{g\py@ egi#1i}
+\py@DRC{\gen}{g\py@ egn#1n}
+\py@DRC{\geng}{g\py@ egn#1ng}
+\py@DRC{\gong}{g\py@ ogn#1ng}
+\py@DRC{\gou}{g\py@ ogu#1u}
+\py@DRC{\gu}{g\py@ ug{}#1}
+\py@DRC{\gua}{gu\py@ au{}#1}
+\py@DRC{\guai}{gu\py@ aui#1i}
+\py@DRC{\guan}{gu\py@ aun#1n}
+\py@DRC{\guang}{gu\py@ aun#1ng}
+\py@DRC{\gui}{gu\py@ iu{}#1}
+\py@DRC{\gun}{g\py@ ugn#1n}
+\py@DRC{\guo}{gu\py@ ou{}#1}
+
+\py@DRC{\ha}{h\py@ ah{}#1}
+\py@DRC{\hai}{h\py@ ahi#1i}
+\py@DRC{\han}{h\py@ ahn#1n}
+\py@DRC{\py@hang}{h\py@ ahn#1ng}
+\py@DRC{\hao}{h\py@ aho#1o}
+\py@DRC{\he}{h\py@ eh{}#1}
+\py@DRC{\hei}{h\py@ ehi#1i}
+\py@DRC{\hen}{h\py@ ehn#1n}
+\py@DRC{\heng}{h\py@ ehn#1ng}
+\py@DRC{\hong}{h\py@ ohn#1ng}
+\py@DRC{\hou}{h\py@ ohu#1u}
+\py@DRC{\hu}{h\py@ uh{}#1}
+\py@DRC{\hua}{hu\py@ au{}#1}
+\py@DRC{\huai}{hu\py@ aui#1i}
+\py@DRC{\huan}{hu\py@ aun#1n}
+\py@DRC{\huang}{hu\py@ aun#1ng}
+\py@DRC{\hui}{hu\py@ iu{}#1}
+\py@DRC{\hun}{h\py@ uhn#1n}
+\py@DRC{\huo}{hu\py@ ou{}#1}
+
+\py@DRC{\ji}{j\py@ ij{}#1}
+\py@DRC{\jia}{ji\py@ ai{}#1}
+\py@DRC{\jian}{ji\py@ ain#1n}
+\py@DRC{\jiang}{ji\py@ ain#1ng}
+\py@DRC{\jiao}{ji\py@ aio#1o}
+\py@DRC{\jie}{ji\py@ ei{}#1}
+\py@DRC{\jin}{j\py@ ijn#1n}
+\py@DRC{\jing}{j\py@ ijn#1ng}
+\py@DRC{\jiong}{ji\py@ oin#1ng}
+\py@DRC{\jiu}{ji\py@ ui{}#1}
+\py@DRC{\ju}{j\py@ uj{}#1}
+\py@DRC{\juan}{ju\py@ aun#1n}
+\py@DRC{\jue}{ju\py@ eu{}#1}
+\py@DRC{\jun}{j\py@ ujn#1n}
+
+\py@DRC{\ka}{k\py@ ak{}#1}
+\py@DRC{\kai}{k\py@ aki#1i}
+\py@DRC{\kan}{k\py@ akn#1n}
+\py@DRC{\kang}{k\py@ akn#1ng}
+\py@DRC{\kao}{k\py@ ako#1o}
+\py@DRC{\ke}{k\py@ ek{}#1}
+\py@DRC{\kei}{k\py@ eki#1i}
+\py@DRC{\ken}{k\py@ ekn#1n}
+\py@DRC{\keng}{k\py@ ekn#1ng}
+\py@DRC{\kong}{k\py@ okn#1ng}
+\py@DRC{\kou}{k\py@ oku#1u}
+\py@DRC{\ku}{k\py@ uk{}#1}
+\py@DRC{\kua}{ku\py@ au{}#1}
+\py@DRC{\kuai}{ku\py@ aui#1i}
+\py@DRC{\kuan}{ku\py@ aun#1n}
+\py@DRC{\kuang}{ku\py@ aun#1ng}
+\py@DRC{\kui}{ku\py@ iu{}#1}
+\py@DRC{\kun}{k\py@ ukn#1n}
+\py@DRC{\kuo}{ku\py@ ou{}#1}
+
+\py@DRC{\la}{l\py@ al{}#1}
+\py@DRC{\lai}{l\py@ ali#1i}
+\py@DRC{\lan}{l\py@ aln#1n}
+\py@DRC{\lang}{l\py@ aln#1ng}
+\py@DRC{\lao}{l\py@ alo#1o}
+\py@DRC{\py@le}{l\py@ el{}#1}
+\py@DRC{\lei}{l\py@ eli#1i}
+\py@DRC{\leng}{l\py@ eln#1ng}
+\py@DRC{\li}{l\py@ il{}#1}
+\py@DRC{\lia}{li\py@ ai{}#1}
+\py@DRC{\lian}{li\py@ ain#1n}
+\py@DRC{\liang}{li\py@ ain#1ng}
+\py@DRC{\liao}{li\py@ aio#1o}
+\py@DRC{\lie}{li\py@ ei{}#1}
+\py@DRC{\lin}{l\py@ iln#1n}
+\py@DRC{\ling}{l\py@ iln#1ng}
+\py@DRC{\liu}{li\py@ ui{}#1}
+\py@DRC{\Long}{l\py@ oln#1ng}
+\py@DRC{\lou}{l\py@ olu#1u}
+\py@DRC{\lu}{l\py@ ul{}#1}
+\py@DRC{\luan}{lu\py@ aun#1n}
+\py@DRC{\lun}{l\py@ uln#1n}
+\py@DRC{\luo}{lu\py@ ou{}#1}
+\py@DRC{\lv}{l\py@ vl{}#1}
+\py@DRC{\lve}{l\"{u}\py@ ele#1}
+
+\py@DRC{\ma}{m\py@ am{}#1}
+\py@DRC{\mai}{m\py@ ami#1i}
+\py@DRC{\man}{m\py@ amn#1n}
+\py@DRC{\mang}{m\py@ amn#1ng}
+\py@DRC{\mao}{m\py@ amo#1o}
+\py@DRC{\me}{m\py@ em{}#1}
+\py@DRC{\mei}{m\py@ emi#1i}
+\py@DRC{\men}{m\py@ emn#1n}
+\py@DRC{\meng}{m\py@ emn#1ng}
+\py@DRC{\mi}{m\py@ im{}#1}
+\py@DRC{\mian}{mi\py@ ain#1n}
+\py@DRC{\miao}{mi\py@ aio#1o}
+\py@DRC{\mie}{mi\py@ ei{}#1}
+\py@DRC{\py@min}{m\py@ imn#1n}
+\py@DRC{\ming}{m\py@ imn#1ng}
+\py@DRC{\miu}{mi\py@ ui{}#1}
+\py@DRC{\mo}{m\py@ om{}#1}
+\py@DRC{\mou}{m\py@ omu#1u}
+\py@DRC{\py@mu}{m\py@ um{}#1}
+
+\py@DRC{\na}{n\py@ an{}#1}
+\py@DRC{\nai}{n\py@ ani#1i}
+\py@DRC{\nan}{n\py@ ann#1n}
+\py@DRC{\nang}{n\py@ ann#1ng}
+\py@DRC{\nao}{n\py@ ano#1o}
+\py@DRC{\py@ne}{n\py@ en{}#1}
+\py@DRC{\nei}{n\py@ eni#1i}
+\py@DRC{\nen}{n\py@ enn#1n}
+\py@DRC{\neng}{n\py@ enn#1ng}
+\py@DRC{\py@ni}{n\py@ in{}#1}
+\py@DRC{\nian}{ni\py@ ain#1n}
+\py@DRC{\niang}{ni\py@ ain#1ng}
+\py@DRC{\niao}{ni\py@ aio#1o}
+\py@DRC{\nie}{ni\py@ ei{}#1}
+\py@DRC{\nin}{n\py@ inn#1n}
+\py@DRC{\ning}{n\py@ inn#1ng}
+\py@DRC{\niu}{ni\py@ ui{}#1}
+\py@DRC{\nong}{n\py@ onn#1ng}
+\py@DRC{\nou}{n\py@ onu#1u}
+\py@DRC{\py@nu}{n\py@ un{}#1}
+\py@DRC{\nuan}{nu\py@ aun#1n}
+\py@DRC{\nuo}{nu\py@ ou{}#1}
+\py@DRC{\nv}{n\py@ vn{}#1}
+\py@DRC{\nve}{n\"{u}\py@ ene#1}
+
+\py@DRC{\py@@o}{\py@ o{}{}#1}
+\py@DRC{\ou}{\py@ o{}u#1u}
+
+\py@DRC{\pa}{p\py@ ap{}#1}
+\py@DRC{\pai}{p\py@ api#1i}
+\py@DRC{\pan}{p\py@ apn#1n}
+\py@DRC{\pang}{p\py@ apn#1ng}
+\py@DRC{\pao}{p\py@ apo#1o}
+\py@DRC{\pei}{p\py@ epi#1i}
+\py@DRC{\pen}{p\py@ epn#1n}
+\py@DRC{\peng}{p\py@ epn#1ng}
+\py@DRC{\py@pi}{p\py@ ip{}#1}
+\py@DRC{\pian}{pi\py@ ain#1n}
+\py@DRC{\piao}{pi\py@ aio#1o}
+\py@DRC{\pie}{pi\py@ ei{}#1}
+\py@DRC{\pin}{p\py@ ipn#1n}
+\py@DRC{\ping}{p\py@ ipn#1ng}
+\py@DRC{\po}{p\py@ op{}#1}
+\py@DRC{\pou}{p\py@ opu#1u}
+\py@DRC{\pu}{p\py@ up{}#1}
+
+\py@DRC{\qi}{q\py@ iq{}#1}
+\py@DRC{\qia}{qi\py@ ai{}#1}
+\py@DRC{\qian}{qi\py@ ain#1n}
+\py@DRC{\qiang}{qi\py@ ain#1ng}
+\py@DRC{\qiao}{qi\py@ aio#1o}
+\py@DRC{\qie}{qi\py@ ei{}#1}
+\py@DRC{\qin}{q\py@ iqn#1n}
+\py@DRC{\qing}{q\py@ iqn#1ng}
+\py@DRC{\qiong}{qi\py@ oin#1ng}
+\py@DRC{\qiu}{qi\py@ ui{}#1}
+\py@DRC{\qu}{q\py@ uq{}#1}
+\py@DRC{\quan}{qu\py@ aun#1n}
+\py@DRC{\que}{qu\py@ eu{}#1}
+\py@DRC{\qun}{q\py@ uqn#1n}
+
+\py@DRC{\ran}{r\py@ arn#1n}
+\py@DRC{\rang}{r\py@ arn#1ng}
+\py@DRC{\rao}{r\py@ aro#1o}
+\py@DRC{\re}{r\py@ er{}#1}
+\py@DRC{\ren}{r\py@ ern#1n}
+\py@DRC{\reng}{r\py@ ern#1ng}
+\py@DRC{\ri}{r\py@ ir{}#1}
+\py@DRC{\rong}{r\py@ orn#1ng}
+\py@DRC{\rou}{r\py@ oru#1u}
+\py@DRC{\ru}{r\py@ ur{}#1}
+\py@DRC{\rua}{ru\py@ au{}#1}
+\py@DRC{\ruan}{ru\py@ aun#1n}
+\py@DRC{\rui}{ru\py@ iu{}#1}
+\py@DRC{\run}{r\py@ urn#1n}
+\py@DRC{\ruo}{ru\py@ ou{}#1}
+
+\py@DRC{\sa}{s\py@ as{}#1}
+\py@DRC{\sai}{s\py@ asi#1i}
+\py@DRC{\san}{s\py@ asn#1n}
+\py@DRC{\sang}{s\py@ asn#1ng}
+\py@DRC{\sao}{s\py@ aso#1o}
+\py@DRC{\se}{s\py@ es{}#1}
+\py@DRC{\sen}{s\py@ esn#1n}
+\py@DRC{\seng}{s\py@ esn#1ng}
+\py@DRC{\sha}{sh\py@ ah{}#1}
+\py@DRC{\shai}{sh\py@ ahi#1i}
+\py@DRC{\shan}{sh\py@ ahn#1n}
+\py@DRC{\shang}{sh\py@ ahn#1ng}
+\py@DRC{\shao}{sh\py@ aho#1o}
+\py@DRC{\she}{sh\py@ eh{}#1}
+\py@DRC{\shei}{sh\py@ ehi#1i}
+\py@DRC{\shen}{sh\py@ ehn#1n}
+\py@DRC{\sheng}{sh\py@ ehn#1ng}
+\py@DRC{\shi}{sh\py@ ih{}#1}
+\py@DRC{\shou}{sh\py@ ohu#1u}
+\py@DRC{\shu}{sh\py@ uh{}#1}
+\py@DRC{\shua}{shu\py@ au{}#1}
+\py@DRC{\shuai}{shu\py@ aui#1i}
+\py@DRC{\shuan}{shu\py@ aun#1n}
+\py@DRC{\shuang}{shu\py@ aun#1ng}
+\py@DRC{\shui}{shu\py@ iu{}#1}
+\py@DRC{\shun}{sh\py@ uhn#1n}
+\py@DRC{\shuo}{shu\py@ ou{}#1}
+\py@DRC{\si}{s\py@ is{}#1}
+\py@DRC{\song}{s\py@ osn#1ng}
+\py@DRC{\sou}{s\py@ osu#1u}
+\py@DRC{\su}{s\py@ us{}#1}
+\py@DRC{\suan}{su\py@ aun#1n}
+\py@DRC{\sui}{su\py@ iu{}#1}
+\py@DRC{\sun}{s\py@ usn#1n}
+\py@DRC{\suo}{su\py@ ou{}#1}
+
+\py@DRC{\ta}{t\py@ at{}#1}
+\py@DRC{\tai}{t\py@ ati#1i}
+\py@DRC{\py@tan}{t\py@ atn#1n}
+\py@DRC{\tang}{t\py@ atn#1ng}
+\py@DRC{\tao}{t\py@ ato#1o}
+\py@DRC{\te}{t\py@ et{}#1}
+\py@DRC{\tei}{t\py@ eti#1i}
+\py@DRC{\teng}{t\py@ etn#1ng}
+\py@DRC{\ti}{t\py@ it{}#1}
+\py@DRC{\tian}{ti\py@ ain#1n}
+\py@DRC{\tiao}{ti\py@ aio#1o}
+\py@DRC{\tie}{ti\py@ ei{}#1}
+\py@DRC{\ting}{t\py@ itn#1ng}
+\py@DRC{\tong}{t\py@ otn#1ng}
+\py@DRC{\tou}{t\py@ otu#1u}
+\py@DRC{\tu}{t\py@ ut{}#1}
+\py@DRC{\tuan}{tu\py@ aun#1n}
+\py@DRC{\tui}{tu\py@ iu{}#1}
+\py@DRC{\tun}{t\py@ utn#1n}
+\py@DRC{\tuo}{tu\py@ ou{}#1}
+
+\py@DRC{\wa}{w\py@ aw{}#1}
+\py@DRC{\wai}{w\py@ awi#1i}
+\py@DRC{\wan}{w\py@ awn#1n}
+\py@DRC{\wang}{w\py@ awn#1ng}
+\py@DRC{\wei}{w\py@ ewi#1i}
+\py@DRC{\wen}{w\py@ ewn#1n}
+\py@DRC{\weng}{w\py@ ewn#1ng}
+\py@DRC{\wo}{w\py@ ow{}#1}
+\py@DRC{\wu}{w\py@ uw{}#1}
+
+\py@DRC{\py@xi}{x\py@ ix{}#1}
+\py@DRC{\xia}{xi\py@ ai{}#1}
+\py@DRC{\xian}{xi\py@ ain#1n}
+\py@DRC{\xiang}{xi\py@ ain#1ng}
+\py@DRC{\xiao}{xi\py@ aio#1o}
+\py@DRC{\xie}{xi\py@ ei{}#1}
+\py@DRC{\xin}{x\py@ ixn#1n}
+\py@DRC{\xing}{x\py@ ixn#1ng}
+\py@DRC{\xiong}{xi\py@ oin#1ng}
+\py@DRC{\xiu}{xi\py@ ui{}#1}
+\py@DRC{\xu}{x\py@ ux{}#1}
+\py@DRC{\xuan}{xu\py@ aun#1n}
+\py@DRC{\xue}{xu\py@ eu{}#1}
+\py@DRC{\xun}{x\py@ uxn#1n}
+
+\py@DRC{\ya}{y\py@ ay{}#1}
+\py@DRC{\yan}{y\py@ ayn#1n}
+\py@DRC{\yang}{y\py@ ayn#1ng}
+\py@DRC{\yao}{y\py@ ayo#1o}
+\py@DRC{\ye}{y\py@ ey{}#1}
+\py@DRC{\yi}{y\py@ iy{}#1}
+\py@DRC{\yin}{y\py@ iyn#1n}
+\py@DRC{\ying}{y\py@ iyn#1ng}
+\py@DRC{\yo}{y\py@ oy{}#1}
+\py@DRC{\yong}{y\py@ oyn#1ng}
+\py@DRC{\you}{y\py@ oyu#1u}
+\py@DRC{\yu}{y\py@ uy{}#1}
+\py@DRC{\yuan}{yu\py@ aun#1n}
+\py@DRC{\yue}{yu\py@ eu{}#1}
+\py@DRC{\yun}{y\py@ uyn#1n}
+
+\py@DRC{\za}{z\py@ az{}#1}
+\py@DRC{\zai}{z\py@ azi#1i}
+\py@DRC{\zan}{z\py@ azn#1n}
+\py@DRC{\zang}{z\py@ azn#1ng}
+\py@DRC{\zao}{z\py@ azo#1o}
+\py@DRC{\ze}{z\py@ ez{}#1}
+\py@DRC{\zei}{z\py@ ezi#1i}
+\py@DRC{\zen}{z\py@ ezn#1n}
+\py@DRC{\zeng}{z\py@ ezn#1ng}
+\py@DRC{\zha}{zh\py@ ah{}#1}
+\py@DRC{\zhai}{zh\py@ ahi#1i}
+\py@DRC{\zhan}{zh\py@ ahn#1n}
+\py@DRC{\zhang}{zh\py@ ahn#1ng}
+\py@DRC{\zhao}{zh\py@ aho#1o}
+\py@DRC{\zhe}{zh\py@ eh{}#1}
+\py@DRC{\zhei}{zh\py@ ehi#1i}
+\py@DRC{\zhen}{zh\py@ ehn#1n}
+\py@DRC{\zheng}{zh\py@ ehn#1ng}
+\py@DRC{\zhi}{zh\py@ ih{}#1}
+\py@DRC{\zhong}{zh\py@ ohn#1ng}
+\py@DRC{\zhou}{zh\py@ ohu#1u}
+\py@DRC{\zhu}{zh\py@ uh{}#1}
+\py@DRC{\zhua}{zhu\py@ au{}#1}
+\py@DRC{\zhuai}{zhu\py@ aui#1i}
+\py@DRC{\zhuan}{zhu\py@ aun#1n}
+\py@DRC{\zhuang}{zhu\py@ aun#1ng}
+\py@DRC{\zhui}{zhu\py@ iu{}#1}
+\py@DRC{\zhun}{zh\py@ uhn#1n}
+\py@DRC{\zhuo}{zhu\py@ ou{}#1}
+\py@DRC{\zi}{z\py@ iz{}#1}
+\py@DRC{\zong}{z\py@ ozn#1ng}
+\py@DRC{\zou}{z\py@ ozu#1u}
+\py@DRC{\zu}{z\py@ uz{}#1}
+\py@DRC{\zuan}{zu\py@ aun#1n}
+\py@DRC{\zui}{zu\py@ iu{}#1}
+\py@DRC{\zun}{z\py@ uzn#1n}
+\py@DRC{\zuo}{zu\py@ ou{}#1}
+
+
+\py@DRC{\A}{\py@ A{}{}#1}
+\py@DRC{\Ai}{\py@ A{}i#1i}
+\py@DRC{\An}{\py@ A{}n#1n}
+\py@DRC{\Ang}{\py@ A{}n#1ng}
+\py@DRC{\Ao}{\py@ A{}o#1o}
+
+\py@DRC{\Ba}{B\py@ aB{}#1}
+\py@DRC{\Bai}{B\py@ aBi#1i}
+\py@DRC{\Ban}{B\py@ aBn#1n}
+\py@DRC{\Bang}{B\py@ aBn#1ng}
+\py@DRC{\Bao}{B\py@ aBo#1o}
+\py@DRC{\Bei}{B\py@ eBi#1i}
+\py@DRC{\Ben}{B\py@ eBn#1n}
+\py@DRC{\Beng}{B\py@ eBn#1ng}
+\py@DRC{\Bi}{B\py@ iB{}#1}
+\py@DRC{\Bian}{Bi\py@ ain#1n}
+\py@DRC{\Biao}{Bi\py@ aio#1o}
+\py@DRC{\Bie}{Bi\py@ ei{}#1}
+\py@DRC{\Bin}{B\py@ iBn#1n}
+\py@DRC{\Bing}{B\py@ iBn#1ng}
+\py@DRC{\Bo}{B\py@ oB{}#1}
+\py@DRC{\Bu}{B\py@ uB{}#1}
+
+\py@DRC{\Ca}{C\py@ aC{}#1}
+\py@DRC{\Cai}{C\py@ aCi#1i}
+\py@DRC{\Can}{C\py@ aCn#1n}
+\py@DRC{\Cang}{C\py@ aCn#1ng}
+\py@DRC{\Cao}{C\py@ aCo#1o}
+\py@DRC{\Ce}{C\py@ eC{}#1}
+\py@DRC{\Cen}{C\py@ eCn#1n}
+\py@DRC{\Ceng}{C\py@ eCn#1ng}
+\py@DRC{\Cha}{Ch\py@ ah{}#1}
+\py@DRC{\Chai}{Ch\py@ ahi#1i}
+\py@DRC{\Chan}{Ch\py@ ahn#1n}
+\py@DRC{\Chang}{Ch\py@ ahn#1ng}
+\py@DRC{\Chao}{Ch\py@ aho#1o}
+\py@DRC{\Che}{Ch\py@ eh{}#1}
+\py@DRC{\Chen}{Ch\py@ ehn#1n}
+\py@DRC{\Cheng}{Ch\py@ ehn#1ng}
+\py@DRC{\Chi}{Ch\py@ ih{}#1}
+\py@DRC{\Chong}{Ch\py@ ohn#1ng}
+\py@DRC{\Chou}{Ch\py@ ohu#1u}
+\py@DRC{\Chu}{Ch\py@ uh{}#1}
+\py@DRC{\Chuai}{Chu\py@ aui#1i}
+\py@DRC{\Chuan}{Chu\py@ aun#1n}
+\py@DRC{\Chuang}{Chu\py@ aun#1ng}
+\py@DRC{\Chui}{Chu\py@ iu{}#1}
+\py@DRC{\Chun}{Ch\py@ uhn#1n}
+\py@DRC{\Chuo}{Chu\py@ ou{}#1}
+\py@DRC{\Ci}{C\py@ iC{}#1}
+\py@DRC{\Cong}{C\py@ oCn#1ng}
+\py@DRC{\Cou}{C\py@ oCu#1u}
+\py@DRC{\Cu}{C\py@ uC{}#1}
+\py@DRC{\Cuan}{Cu\py@ aun#1n}
+\py@DRC{\Cui}{Cu\py@ iu{}#1}
+\py@DRC{\Cun}{C\py@ uCn#1n}
+\py@DRC{\Cuo}{Cu\py@ ou{}#1}
+
+\py@DRC{\Da}{D\py@ aD{}#1}
+\py@DRC{\Dai}{D\py@ aDi#1i}
+\py@DRC{\Dan}{D\py@ aDn#1n}
+\py@DRC{\Dang}{D\py@ aDn#1ng}
+\py@DRC{\Dao}{D\py@ aDo#1o}
+\py@DRC{\De}{D\py@ eD{}#1}
+\py@DRC{\Dei}{D\py@ eDi#1i}
+\py@DRC{\Deng}{D\py@ eDn#1ng}
+\py@DRC{\Di}{D\py@ iD{}#1}
+\py@DRC{\Dian}{Di\py@ ain#1n}
+\py@DRC{\Diao}{Di\py@ aio#1o}
+\py@DRC{\Die}{Di\py@ ei{}#1}
+\py@DRC{\Ding}{D\py@ iDn#1ng}
+\py@DRC{\Diu}{Di\py@ ui{}#1}
+\py@DRC{\Dong}{D\py@ oDn#1ng}
+\py@DRC{\Dou}{D\py@ oDu#1u}
+\py@DRC{\Du}{D\py@ uD{}#1}
+\py@DRC{\Duan}{Du\py@ aun#1n}
+\py@DRC{\Dui}{Du\py@ iu{}#1}
+\py@DRC{\Dun}{D\py@ uDn#1n}
+\py@DRC{\Duo}{Du\py@ ou{}#1}
+
+\py@DRC{\E}{\py@ E{}{}#1}
+\py@DRC{\Ei}{\py@ E{}i#1i}
+\py@DRC{\En}{\py@ E{}n#1n}
+\py@DRC{\Eng}{\py@ E{}n#1ng}
+\py@DRC{\Er}{\py@ E{}r#1r}
+
+\py@DRC{\Fa}{F\py@ aF{}#1}
+\py@DRC{\Fan}{F\py@ aFn#1n}
+\py@DRC{\Fang}{F\py@ aFn#1ng}
+\py@DRC{\Fei}{F\py@ eFi#1i}
+\py@DRC{\Fen}{F\py@ eFn#1n}
+\py@DRC{\Feng}{F\py@ eFn#1ng}
+\py@DRC{\Fiao}{Fi\py@ aio#1o}
+\py@DRC{\Fo}{F\py@ oF{}#1}
+\py@DRC{\Fou}{F\py@ oFu#1u}
+\py@DRC{\Fu}{F\py@ uF{}#1}
+
+\py@DRC{\Ga}{G\py@ aG{}#1}
+\py@DRC{\Gai}{G\py@ aGi#1i}
+\py@DRC{\Gan}{G\py@ aGn#1n}
+\py@DRC{\Gang}{G\py@ aGn#1ng}
+\py@DRC{\Gao}{G\py@ aGo#1o}
+\py@DRC{\Ge}{G\py@ eG{}#1}
+\py@DRC{\Gei}{G\py@ eGi#1i}
+\py@DRC{\Gen}{G\py@ eGn#1n}
+\py@DRC{\Geng}{G\py@ eGn#1ng}
+\py@DRC{\Gong}{G\py@ oGn#1ng}
+\py@DRC{\Gou}{G\py@ oGu#1u}
+\py@DRC{\Gu}{G\py@ uG{}#1}
+\py@DRC{\Gua}{Gu\py@ au{}#1}
+\py@DRC{\Guai}{Gu\py@ aui#1i}
+\py@DRC{\Guan}{Gu\py@ aun#1n}
+\py@DRC{\Guang}{Gu\py@ aun#1ng}
+\py@DRC{\Gui}{Gu\py@ iu{}#1}
+\py@DRC{\Gun}{G\py@ uGn#1n}
+\py@DRC{\Guo}{Gu\py@ ou{}#1}
+
+\py@DRC{\Ha}{H\py@ aH{}#1}
+\py@DRC{\Hai}{H\py@ aHi#1i}
+\py@DRC{\Han}{H\py@ aHn#1n}
+\py@DRC{\Hang}{H\py@ aHn#1ng}
+\py@DRC{\Hao}{H\py@ aHo#1o}
+\py@DRC{\He}{H\py@ eH{}#1}
+\py@DRC{\Hei}{H\py@ eHi#1i}
+\py@DRC{\Hen}{H\py@ eHn#1n}
+\py@DRC{\Heng}{H\py@ eHn#1ng}
+\py@DRC{\Hong}{H\py@ oHn#1ng}
+\py@DRC{\Hou}{H\py@ oHu#1u}
+\py@DRC{\Hu}{H\py@ uH{}#1}
+\py@DRC{\Hua}{Hu\py@ au{}#1}
+\py@DRC{\Huai}{Hu\py@ aui#1i}
+\py@DRC{\Huan}{Hu\py@ aun#1n}
+\py@DRC{\Huang}{Hu\py@ aun#1ng}
+\py@DRC{\Hui}{Hu\py@ iu{}#1}
+\py@DRC{\Hun}{H\py@ uHn#1n}
+\py@DRC{\Huo}{Hu\py@ ou{}#1}
+
+\py@DRC{\Ji}{J\py@ iJ{}#1}
+\py@DRC{\Jia}{Ji\py@ ai{}#1}
+\py@DRC{\Jian}{Ji\py@ ain#1n}
+\py@DRC{\Jiang}{Ji\py@ ain#1ng}
+\py@DRC{\Jiao}{Ji\py@ aio#1o}
+\py@DRC{\Jie}{Ji\py@ ei{}#1}
+\py@DRC{\Jin}{J\py@ iJn#1n}
+\py@DRC{\Jing}{J\py@ iJn#1ng}
+\py@DRC{\Jiong}{Ji\py@ oin#1ng}
+\py@DRC{\Jiu}{Ji\py@ ui{}#1}
+\py@DRC{\Ju}{J\py@ uJ{}#1}
+\py@DRC{\Juan}{Ju\py@ aun#1n}
+\py@DRC{\Jue}{Ju\py@ eu{}#1}
+\py@DRC{\Jun}{J\py@ uJn#1n}
+
+\py@DRC{\Ka}{K\py@ aK{}#1}
+\py@DRC{\Kai}{K\py@ aKi#1i}
+\py@DRC{\Kan}{K\py@ aKn#1n}
+\py@DRC{\Kang}{K\py@ aKn#1ng}
+\py@DRC{\Kao}{K\py@ aKo#1o}
+\py@DRC{\Ke}{K\py@ eK{}#1}
+\py@DRC{\Kei}{K\py@ eKi#1i}
+\py@DRC{\Ken}{K\py@ eKn#1n}
+\py@DRC{\Keng}{K\py@ eKn#1ng}
+\py@DRC{\Kong}{K\py@ oKn#1ng}
+\py@DRC{\Kou}{K\py@ oKu#1u}
+\py@DRC{\Ku}{K\py@ uK{}#1}
+\py@DRC{\Kua}{Ku\py@ au{}#1}
+\py@DRC{\Kuai}{Ku\py@ aui#1i}
+\py@DRC{\Kuan}{Ku\py@ aun#1n}
+\py@DRC{\Kuang}{Ku\py@ aun#1ng}
+\py@DRC{\Kui}{Ku\py@ iu{}#1}
+\py@DRC{\Kun}{K\py@ uKn#1n}
+\py@DRC{\Kuo}{Ku\py@ ou{}#1}
+
+\py@DRC{\La}{L\py@ aL{}#1}
+\py@DRC{\Lai}{L\py@ aLi#1i}
+\py@DRC{\Lan}{L\py@ aLn#1n}
+\py@DRC{\Lang}{L\py@ aLn#1ng}
+\py@DRC{\Lao}{L\py@ aLo#1o}
+\py@DRC{\Le}{L\py@ eL{}#1}
+\py@DRC{\Lei}{L\py@ eLi#1i}
+\py@DRC{\Leng}{L\py@ eLn#1ng}
+\py@DRC{\Li}{L\py@ iL{}#1}
+\py@DRC{\Lia}{Li\py@ ai{}#1}
+\py@DRC{\Lian}{Li\py@ ain#1n}
+\py@DRC{\Liang}{Li\py@ ain#1ng}
+\py@DRC{\Liao}{Li\py@ aio#1o}
+\py@DRC{\Lie}{Li\py@ ei{}#1}
+\py@DRC{\Lin}{L\py@ iLn#1n}
+\py@DRC{\Ling}{L\py@ iLn#1ng}
+\py@DRC{\Liu}{Li\py@ ui{}#1}
+\py@DRC{\LONG}{L\py@ oLn#1ng}
+\py@DRC{\Lou}{L\py@ oLu#1u}
+\py@DRC{\Lu}{L\py@ uL{}#1}
+\py@DRC{\Luan}{Lu\py@ aun#1n}
+\py@DRC{\Lun}{L\py@ uLn#1n}
+\py@DRC{\Luo}{Lu\py@ ou{}#1}
+\py@DRC{\Lv}{L\py@ vL{}#1}
+\py@DRC{\Lve}{L\"{u}\py@ eLe#1}
+
+\py@DRC{\Ma}{M\py@ aM{}#1}
+\py@DRC{\Mai}{M\py@ aMi#1i}
+\py@DRC{\Man}{M\py@ aMn#1n}
+\py@DRC{\Mang}{M\py@ aMn#1ng}
+\py@DRC{\Mao}{M\py@ aMo#1o}
+\py@DRC{\Mei}{M\py@ eMi#1i}
+\py@DRC{\Men}{M\py@ eMn#1n}
+\py@DRC{\Meng}{M\py@ eMn#1ng}
+\py@DRC{\Mi}{M\py@ iM{}#1}
+\py@DRC{\Mian}{Mi\py@ ain#1n}
+\py@DRC{\Miao}{Mi\py@ aio#1o}
+\py@DRC{\Mie}{Mi\py@ ei{}#1}
+\py@DRC{\Min}{M\py@ iMn#1n}
+\py@DRC{\Ming}{M\py@ iMn#1ng}
+\py@DRC{\Miu}{Mi\py@ ui{}#1}
+\py@DRC{\Mo}{M\py@ oM{}#1}
+\py@DRC{\Mou}{M\py@ oMu#1u}
+\py@DRC{\Mu}{M\py@ uM{}#1}
+
+\py@DRC{\Na}{N\py@ aN{}#1}
+\py@DRC{\Nai}{N\py@ aNi#1i}
+\py@DRC{\Nan}{N\py@ aNn#1n}
+\py@DRC{\Nang}{N\py@ aNn#1ng}
+\py@DRC{\Nao}{N\py@ aNo#1o}
+\py@DRC{\Ne}{N\py@ eN{}#1}
+\py@DRC{\Nei}{N\py@ eNi#1i}
+\py@DRC{\Nen}{N\py@ eNn#1n}
+\py@DRC{\Neng}{N\py@ eNn#1ng}
+\py@DRC{\Ni}{N\py@ iN{}#1}
+\py@DRC{\Nian}{Ni\py@ ain#1n}
+\py@DRC{\Niang}{Ni\py@ ain#1ng}
+\py@DRC{\Niao}{Ni\py@ aio#1o}
+\py@DRC{\Nie}{Ni\py@ ei{}#1}
+\py@DRC{\Nin}{N\py@ iNn#1n}
+\py@DRC{\Ning}{N\py@ iNn#1ng}
+\py@DRC{\Niu}{Ni\py@ ui{}#1}
+\py@DRC{\Nong}{N\py@ oNn#1ng}
+\py@DRC{\Nou}{N\py@ oNu#1u}
+\py@DRC{\Nu}{N\py@ uN{}#1}
+\py@DRC{\Nuan}{Nu\py@ aun#1n}
+\py@DRC{\Nuo}{Nu\py@ ou{}#1}
+\py@DRC{\Nv}{N\py@ vN{}#1}
+\py@DRC{\Nve}{N\"{u}\py@ eNe#1}
+
+\py@DRC{\py@@O}{\py@ O{}{}#1}
+\py@DRC{\Ou}{\py@ O{}u#1u}
+
+\py@DRC{\Pa}{P\py@ aP{}#1}
+\py@DRC{\Pai}{P\py@ aPi#1i}
+\py@DRC{\Pan}{P\py@ aPn#1n}
+\py@DRC{\Pang}{P\py@ aPn#1ng}
+\py@DRC{\Pao}{P\py@ aPo#1o}
+\py@DRC{\Pei}{P\py@ ePi#1i}
+\py@DRC{\Pen}{P\py@ ePn#1n}
+\py@DRC{\Peng}{P\py@ ePn#1ng}
+\py@DRC{\py@Pi}{P\py@ iP{}#1}
+\py@DRC{\Pian}{Pi\py@ ain#1n}
+\py@DRC{\Piao}{Pi\py@ aio#1o}
+\py@DRC{\Pie}{Pi\py@ ei{}#1}
+\py@DRC{\Pin}{P\py@ iPn#1n}
+\py@DRC{\Ping}{P\py@ iPn#1ng}
+\py@DRC{\Po}{P\py@ oP{}#1}
+\py@DRC{\Pou}{P\py@ oPu#1u}
+\py@DRC{\Pu}{P\py@ uP{}#1}
+
+\py@DRC{\Qi}{Q\py@ iQ{}#1}
+\py@DRC{\Qia}{Qi\py@ ai{}#1}
+\py@DRC{\Qian}{Qi\py@ ain#1n}
+\py@DRC{\Qiang}{Qi\py@ ain#1ng}
+\py@DRC{\Qiao}{Qi\py@ aio#1o}
+\py@DRC{\Qie}{Qi\py@ ei{}#1}
+\py@DRC{\Qin}{Q\py@ iQn#1n}
+\py@DRC{\Qing}{Q\py@ iQn#1ng}
+\py@DRC{\Qiong}{Qi\py@ oin#1ng}
+\py@DRC{\Qiu}{Qi\py@ ui{}#1}
+\py@DRC{\Qu}{Q\py@ uQ{}#1}
+\py@DRC{\Quan}{Qu\py@ aun#1n}
+\py@DRC{\Que}{Qu\py@ eu{}#1}
+\py@DRC{\Qun}{Q\py@ uQn#1n}
+
+\py@DRC{\Ran}{R\py@ aRn#1n}
+\py@DRC{\Rang}{R\py@ aRn#1ng}
+\py@DRC{\Rao}{R\py@ aRo#1o}
+\py@DRC{\py@Re}{R\py@ eR{}#1}
+\py@DRC{\Ren}{R\py@ eRn#1n}
+\py@DRC{\Reng}{R\py@ eRn#1ng}
+\py@DRC{\Ri}{R\py@ iR{}#1}
+\py@DRC{\Rong}{R\py@ oRn#1ng}
+\py@DRC{\Rou}{R\py@ oRu#1u}
+\py@DRC{\Ru}{R\py@ uR{}#1}
+\py@DRC{\Ruan}{Ru\py@ aun#1n}
+\py@DRC{\Rui}{Ru\py@ iu{}#1}
+\py@DRC{\Run}{R\py@ uRn#1n}
+\py@DRC{\Ruo}{Ru\py@ ou{}#1}
+
+\py@DRC{\Sa}{S\py@ aS{}#1}
+\py@DRC{\Sai}{S\py@ aSi#1i}
+\py@DRC{\San}{S\py@ aSn#1n}
+\py@DRC{\Sang}{S\py@ aSn#1ng}
+\py@DRC{\Sao}{S\py@ aSo#1o}
+\py@DRC{\Se}{S\py@ eS{}#1}
+\py@DRC{\Sen}{S\py@ eSn#1n}
+\py@DRC{\Seng}{S\py@ eSn#1ng}
+\py@DRC{\Sha}{Sh\py@ ah{}#1}
+\py@DRC{\Shai}{Sh\py@ ahi#1i}
+\py@DRC{\Shan}{Sh\py@ ahn#1n}
+\py@DRC{\Shang}{Sh\py@ ahn#1ng}
+\py@DRC{\Shao}{Sh\py@ aho#1o}
+\py@DRC{\She}{Sh\py@ eh{}#1}
+\py@DRC{\Shei}{Sh\py@ ehi#1i}
+\py@DRC{\Shen}{Sh\py@ ehn#1n}
+\py@DRC{\Sheng}{Sh\py@ ehn#1ng}
+\py@DRC{\Shi}{Sh\py@ ih{}#1}
+\py@DRC{\Shou}{Sh\py@ ohu#1u}
+\py@DRC{\Shu}{Sh\py@ uh{}#1}
+\py@DRC{\Shua}{Shu\py@ au{}#1}
+\py@DRC{\Shuai}{Shu\py@ aui#1i}
+\py@DRC{\Shuan}{Shu\py@ aun#1n}
+\py@DRC{\Shuang}{Shu\py@ aun#1ng}
+\py@DRC{\Shui}{Shu\py@ iu{}#1}
+\py@DRC{\Shun}{Sh\py@ uhn#1n}
+\py@DRC{\Shuo}{Shu\py@ ou{}#1}
+\py@DRC{\Si}{S\py@ iS{}#1}
+\py@DRC{\Song}{S\py@ oSn#1ng}
+\py@DRC{\Sou}{S\py@ oSu#1u}
+\py@DRC{\Su}{S\py@ uS{}#1}
+\py@DRC{\Suan}{Su\py@ aun#1n}
+\py@DRC{\Sui}{Su\py@ iu{}#1}
+\py@DRC{\Sun}{S\py@ uSn#1n}
+\py@DRC{\Suo}{Su\py@ ou{}#1}
+
+\py@DRC{\Ta}{T\py@ aT{}#1}
+\py@DRC{\Tai}{T\py@ aTi#1i}
+\py@DRC{\Tan}{T\py@ aTn#1n}
+\py@DRC{\Tang}{T\py@ aTn#1ng}
+\py@DRC{\Tao}{T\py@ aTo#1o}
+\py@DRC{\Te}{T\py@ eT{}#1}
+\py@DRC{\Tei}{T\py@ eTi#1i}
+\py@DRC{\Teng}{T\py@ eTn#1ng}
+\py@DRC{\Ti}{T\py@ iT{}#1}
+\py@DRC{\Tian}{Ti\py@ ain#1n}
+\py@DRC{\Tiao}{Ti\py@ aio#1o}
+\py@DRC{\Tie}{Ti\py@ ei{}#1}
+\py@DRC{\Ting}{T\py@ iTn#1ng}
+\py@DRC{\Tong}{T\py@ oTn#1ng}
+\py@DRC{\Tou}{T\py@ oTu#1u}
+\py@DRC{\Tu}{T\py@ uT{}#1}
+\py@DRC{\Tuan}{Tu\py@ aun#1n}
+\py@DRC{\Tui}{Tu\py@ iu{}#1}
+\py@DRC{\Tun}{T\py@ uTn#1n}
+\py@DRC{\Tuo}{Tu\py@ ou{}#1}
+
+\py@DRC{\Wa}{W\py@ aW{}#1}
+\py@DRC{\Wai}{W\py@ aWi#1i}
+\py@DRC{\Wan}{W\py@ aWn#1n}
+\py@DRC{\Wang}{W\py@ aWn#1ng}
+\py@DRC{\Wei}{W\py@ eWi#1i}
+\py@DRC{\Wen}{W\py@ eWn#1n}
+\py@DRC{\Weng}{W\py@ eWn#1ng}
+\py@DRC{\Wo}{W\py@ oW{}#1}
+\py@DRC{\Wu}{W\py@ uW{}#1}
+
+\py@DRC{\py@Xi}{X\py@ iX{}#1}
+\py@DRC{\Xia}{Xi\py@ ai{}#1}
+\py@DRC{\Xian}{Xi\py@ ain#1n}
+\py@DRC{\Xiang}{Xi\py@ ain#1ng}
+\py@DRC{\Xiao}{Xi\py@ aio#1o}
+\py@DRC{\Xie}{Xi\py@ ei{}#1}
+\py@DRC{\Xin}{X\py@ iXn#1n}
+\py@DRC{\Xing}{X\py@ iXn#1ng}
+\py@DRC{\Xiong}{Xi\py@ oin#1ng}
+\py@DRC{\Xiu}{Xi\py@ ui{}#1}
+\py@DRC{\Xu}{X\py@ uX{}#1}
+\py@DRC{\Xuan}{Xu\py@ aun#1n}
+\py@DRC{\Xue}{Xu\py@ eu{}#1}
+\py@DRC{\Xun}{X\py@ uXn#1n}
+
+\py@DRC{\Ya}{Y\py@ aY{}#1}
+\py@DRC{\Yan}{Y\py@ aYn#1n}
+\py@DRC{\Yang}{Y\py@ aYn#1ng}
+\py@DRC{\Yao}{Y\py@ aYo#1o}
+\py@DRC{\Ye}{Y\py@ eY{}#1}
+\py@DRC{\Yi}{Y\py@ iY{}#1}
+\py@DRC{\Yin}{Y\py@ iYn#1n}
+\py@DRC{\Ying}{Y\py@ iYn#1ng}
+\py@DRC{\Yo}{Y\py@ oY{}#1}
+\py@DRC{\Yong}{Y\py@ oYn#1ng}
+\py@DRC{\You}{Y\py@ oYu#1u}
+\py@DRC{\Yu}{Y\py@ uY{}#1}
+\py@DRC{\Yuan}{Yu\py@ aun#1n}
+\py@DRC{\Yue}{Yu\py@ eu{}#1}
+\py@DRC{\Yun}{Y\py@ uYn#1n}
+
+\py@DRC{\Za}{Z\py@ aZ{}#1}
+\py@DRC{\Zai}{Z\py@ aZi#1i}
+\py@DRC{\Zan}{Z\py@ aZn#1n}
+\py@DRC{\Zang}{Z\py@ aZn#1ng}
+\py@DRC{\Zao}{Z\py@ aZo#1o}
+\py@DRC{\Ze}{Z\py@ eZ{}#1}
+\py@DRC{\Zei}{Z\py@ eZi#1i}
+\py@DRC{\Zen}{Z\py@ eZn#1n}
+\py@DRC{\Zeng}{Z\py@ eZn#1ng}
+\py@DRC{\Zha}{Zh\py@ ah{}#1}
+\py@DRC{\Zhai}{Zh\py@ ahi#1i}
+\py@DRC{\Zhan}{Zh\py@ ahn#1n}
+\py@DRC{\Zhang}{Zh\py@ ahn#1ng}
+\py@DRC{\Zhao}{Zh\py@ aho#1o}
+\py@DRC{\Zhe}{Zh\py@ eh{}#1}
+\py@DRC{\Zhei}{Zh\py@ ehi#1i}
+\py@DRC{\Zhen}{Zh\py@ ehn#1n}
+\py@DRC{\Zheng}{Zh\py@ ehn#1ng}
+\py@DRC{\Zhi}{Zh\py@ ih{}#1}
+\py@DRC{\Zhong}{Zh\py@ ohn#1ng}
+\py@DRC{\Zhou}{Zh\py@ ohu#1u}
+\py@DRC{\Zhu}{Zh\py@ uh{}#1}
+\py@DRC{\Zhua}{Zhu\py@ au{}#1}
+\py@DRC{\Zhuai}{Zhu\py@ aui#1i}
+\py@DRC{\Zhuan}{Zhu\py@ aun#1n}
+\py@DRC{\Zhuang}{Zhu\py@ aun#1ng}
+\py@DRC{\Zhui}{Zhu\py@ iu{}#1}
+\py@DRC{\Zhun}{Zh\py@ uhn#1n}
+\py@DRC{\Zhuo}{Zhu\py@ ou{}#1}
+\py@DRC{\Zi}{Z\py@ iZ{}#1}
+\py@DRC{\Zong}{Z\py@ oZn#1ng}
+\py@DRC{\Zou}{Z\py@ oZu#1u}
+\py@DRC{\Zu}{Z\py@ uZ{}#1}
+\py@DRC{\Zuan}{Zu\py@ aun#1n}
+\py@DRC{\Zui}{Zu\py@ iu{}#1}
+\py@DRC{\Zun}{Z\py@ uZn#1n}
+\py@DRC{\Zuo}{Zu\py@ ou{}#1}
+
+
+% We enable all pinyin syllables as the default.
+
+\PYactivate
+
+
+\endlinechar `\^^M
+\catcode`@=12
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/pmC.chr b/language/chinese/CJK/cjk-4.8.5/texinput/pmC.chr
new file mode 100644
index 0000000000..83a75e7e7f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/pmC.chr
@@ -0,0 +1,98 @@
+% This is the file pmC.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{pmC.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling pmC fonts and characters.
+
+\gdef\CJK@pmCChr{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKsymbol{\@tempcnta}
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \CJKpunctsymbol{\@tempcnta}
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/pmCbig.enc b/language/chinese/CJK/cjk-4.8.5/texinput/pmCbig.enc
new file mode 100644
index 0000000000..57ecd41ddb
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/pmCbig.enc
@@ -0,0 +1,133 @@
+% This is the file pmCbig.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{pmCbig.enc}[\filedate\space\fileversion]
+
+
+% old poor man's Chinese encoding:
+% each plane gets an own font (Big 5, GB, JIS etc.).
+
+% big size:
+
+\gdef\CJK@pmCbigEncoding{
+ \CJK@loadChr{pmC}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{a1}{-128}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{a2}{-128}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{a3}{-128}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{a4}{-128}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{a5}{-128}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char{a6}{-128}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char{a7}{-128}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char{a8}{-128}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@char{a9}{-128}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char{aa}{-128}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@char{ab}{-128}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char{ac}{-128}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char{ad}{-128}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@char{ae}{-128}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char{af}{-128}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char{b0}{-128}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char{b1}{-128}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char{b2}{-128}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char{b3}{-128}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char{b4}{-128}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char{b5}{-128}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char{b6}{-128}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char{b7}{-128}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char{b8}{-128}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char{b9}{-128}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char{ba}{-128}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char{bb}{-128}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char{bc}{-128}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char{bd}{-128}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char{be}{-128}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char{bf}{-128}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{c0}{-128}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{c1}{-128}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{c2}{-128}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{c3}{-128}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{c4}{-128}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{c5}{-128}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{c6}{-128}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{c7}{-128}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{c8}{-128}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{c9}{-128}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{ca}{-128}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{cb}{-128}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{cc}{-128}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{cd}{-128}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{ce}{-128}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{cf}{-128}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{d0}{-128}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{d1}{-128}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{d2}{-128}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{d3}{-128}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{d4}{-128}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{d5}{-128}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{d6}{-128}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{d7}{-128}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{d8}{-128}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{d9}{-128}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{da}{-128}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{db}{-128}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{dc}{-128}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{dd}{-128}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{de}{-128}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{df}{-128}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char{e0}{-128}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char{e1}{-128}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char{e2}{-128}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char{e3}{-128}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char{e4}{-128}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@char{e5}{-128}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char{e6}{-128}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char{e7}{-128}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char{e8}{-128}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char{e9}{-128}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char{ea}{-128}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char{eb}{-128}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char{ec}{-128}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ed}{-128}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char{ee}{-128}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char{ef}{-128}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char{f0}{-128}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char{f1}{-128}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char{f2}{-128}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char{f3}{-128}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char{f4}{-128}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@char{f5}{-128}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char{f6}{-128}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char{f7}{-128}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@char{f8}{-128}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char{f9}{-128}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char{fa}{-128}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char{fb}{-128}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char{fc}{-128}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@char{fd}{-128}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char{fe}{-128}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/pmCsmall.enc b/language/chinese/CJK/cjk-4.8.5/texinput/pmCsmall.enc
new file mode 100644
index 0000000000..2e64b23b90
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/pmCsmall.enc
@@ -0,0 +1,133 @@
+% This is the file pmCsmall.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{pmCsmall.enc}[\filedate\space\fileversion]
+
+
+% old poor man's Chinese encoding:
+% each plane gets an own font (Big 5, GB, JIS etc.).
+
+% small size:
+
+\gdef\CJK@pmCsmallEncoding{
+ \CJK@loadChr{pmC}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar{A1}{a1}{0}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar{A2}{a2}{0}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctchar{A3}{a3}{0}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar{A4}{a4}{0}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar{A5}{a5}{0}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@char{a6}{0}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char{a7}{0}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char{a8}{0}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@char{a9}{0}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char{aa}{0}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@char{ab}{0}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char{ac}{0}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char{ad}{0}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@char{ae}{0}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char{af}{0}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char{b0}{0}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@char{b1}{0}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char{b2}{0}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char{b3}{0}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@char{b4}{0}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char{b5}{0}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@char{b6}{0}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char{b7}{0}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char{b8}{0}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@char{b9}{0}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char{ba}{0}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char{bb}{0}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@char{bc}{0}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char{bd}{0}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@char{be}{0}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char{bf}{0}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char{c0}{0}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@char{c1}{0}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char{c2}{0}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char{c3}{0}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@char{c4}{0}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char{c5}{0}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char{c6}{0}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@char{c7}{0}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char{c8}{0}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@char{c9}{0}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char{ca}{0}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char{cb}{0}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@char{cc}{0}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char{cd}{0}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char{ce}{0}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@char{cf}{0}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char{d0}{0}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char{d1}{0}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@char{d2}{0}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char{d3}{0}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@char{d4}{0}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char{d5}{0}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char{d6}{0}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@char{d7}{0}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char{d8}{0}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char{d9}{0}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@char{da}{0}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char{db}{0}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@char{dc}{0}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char{dd}{0}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char{de}{0}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@char{df}{0}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char{e0}{0}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char{e1}{0}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@char{e2}{0}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char{e3}{0}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char{e4}{0}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@char{e5}{0}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char{e6}{0}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@char{e7}{0}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char{e8}{0}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char{e9}{0}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@char{ea}{0}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char{eb}{0}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char{ec}{0}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@char{ed}{0}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char{ee}{0}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@char{ef}{0}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char{f0}{0}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char{f1}{0}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@char{f2}{0}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char{f3}{0}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char{f4}{0}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@char{f5}{0}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char{f6}{0}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char{f7}{0}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@char{f8}{0}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char{f9}{0}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@char{fa}{0}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char{fb}{0}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char{fc}{0}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@char{fd}{0}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char{fe}{0}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/ruby.sty b/language/chinese/CJK/cjk-4.8.5/texinput/ruby.sty
new file mode 100644
index 0000000000..708a62522c
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/ruby.sty
@@ -0,0 +1,174 @@
+% This is the file ruby.sty of the CJK package
+% for displaying ruby (i.e. furigana).
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesPackage{ruby}[\filedate\space\fileversion]
+
+
+\RequirePackage{CJK}[1996/11/20]
+
+\newif\ifruby@overlap@
+\newif\ifruby@CJK@
+
+\DeclareOption{overlap}{\ruby@overlap@true}
+\DeclareOption{nooverlap}{\ruby@overlap@false}
+\DeclareOption{CJK}{\ruby@CJK@true}
+\DeclareOption{latin}{\ruby@CJK@false}
+
+\ExecuteOptions{overlap, CJK}
+
+\ProcessOptions
+
+
+% we suppress any unwanted spaces produced by linefeeds.
+
+\endlinechar \m@ne
+
+% to get a small separation between adjacent lines.
+
+\lineskiplimit 1pt
+
+
+\newdimen\ruby@width
+\edef\ruby@kern{\kern -5sp\kern 5sp}
+
+\newcommand{\rubysize}{0.4}
+\newcommand{\rubysep}{-0.5ex}
+\newcommand{\rubyoverlap}{\ruby@overlap@true}
+\newcommand{\rubynooverlap}{\ruby@overlap@false}
+\newcommand{\rubyCJK}{\ruby@CJK@true}
+\newcommand{\rubylatin}{\ruby@CJK@false}
+
+
+% #1 is the base character; #2 is the ruby.
+
+\DeclareRobustCommand{\ruby}[2]{
+ {\@tempdimc \f@size\p@
+ \@tempdimc \rubysize\@tempdimc
+ \sbox\z@{\vrule\@height.7\baselineskip\@depth\z@\@width\z@ #1}
+ \sbox\@tempboxa{\fontsize{\@tempdimc}{1.2\@tempdimc}\selectfont
+ \vrule\@height\z@\@depth.3\baselineskip\@width\z@ #2}
+
+ % save width value of previous ruby (if applicable)
+ \@tempdimb\ruby@width
+
+ \global\ruby@width \wd\@tempboxa
+ \global\advance\ruby@width -\wd\z@
+ \ifdim\ruby@width > \z@
+ \global\divide\ruby@width \tw@
+ \else
+ \global\ruby@width \z@
+ \fi
+
+ % we first compute the box of the ruby with its base character(s).
+ \ifruby@overlap@
+ \setbox\@tempboxa \vbox{
+ \hbox to \wd0{\hss \box\@tempboxa \hss}
+ \nointerlineskip
+ \kern\rubysep
+ \box\z@}
+ \else
+ \ifdim\ruby@width > \z@
+ \@tempdima \wd\@tempboxa
+ \else
+ \@tempdima \wd\z@
+ \fi
+ \setbox\@tempboxa \vbox{
+ \hbox to \@tempdima{\hss \box\@tempboxa \hss}
+ \nointerlineskip
+ \kern\rubysep
+ \hbox to \@tempdima{\hss \box\z@ \hss}}
+ \fi
+
+ % are we at the beginning of a paragraph?
+ \ifvmode
+ \leavevmode
+ \ifruby@overlap@
+ \kern\ruby@width
+ \fi
+ \else
+
+ % has previous character a ruby with \ruby@width > 0?
+ \ifnum\lastkern = 5% \ruby@kern
+ \kern\@tempdimb
+ \ifruby@CJK@
+ \nobreak
+ \CJKglue
+ \nobreak
+ \fi
+ \ifruby@overlap@
+ \kern\ruby@width
+ \fi
+ \else
+
+ \ifruby@CJK@
+
+ % is previous character an ordinary CJK character?
+ \ifnum\lastkern = \@ne% \CJK@CJK
+ \ifdim\ruby@width > \z@
+ \nobreak
+ \CJKglue
+ \nobreak
+ \else
+ \CJKglue
+ \fi
+ \else
+
+ % is previous character a punctuation character?
+ \ifnum\lastkern = \tw@% \CJK@kern
+ \nobreak
+ \CJKglue
+ \nobreak
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+
+ \box\@tempboxa
+
+ \ifdim\ruby@width > \z@
+ \ruby@kern
+ \ifruby@overlap@
+ \else
+ \global\ruby@width\z@
+ \fi
+ \else
+ \kern -1sp
+ \kern 1sp
+ \global\ruby@width\z@
+ \fi}
+
+ \ifruby@CJK@
+ \ignorespaces
+ \fi}
+
+
+% reset endline character.
+
+\endlinechar `\^^M
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/standard.bdg b/language/chinese/CJK/cjk-4.8.5/texinput/standard.bdg
new file mode 100644
index 0000000000..dc0a5f18a2
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/standard.bdg
@@ -0,0 +1,161 @@
+% This is the file standard.bdg of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{standard.bdg}[\filedate\space\fileversion]
+
+
+% The standard bindings for two byte encodings.
+
+\gdef\CJK@standardBinding{
+% 80 % used with cjk-enc.el/CEF
+ \CJK@nameppdef{^^81}
+ \CJK@nameppdef{^^82}
+ \CJK@nameppdef{^^83}
+ \CJK@nameppdef{^^84}
+ \CJK@nameppdef{^^85}
+ \CJK@nameppdef{^^86}
+ \CJK@nameppdef{^^87}
+ \CJK@nameppdef{^^88}
+ \CJK@nameppdef{^^89}
+ \CJK@nameppdef{^^8a}
+ \CJK@nameppdef{^^8b}
+ \CJK@nameppdef{^^8c}
+ \CJK@nameppdef{^^8d}
+ \CJK@nameppdef{^^8e}
+ \CJK@nameppdef{^^8f}
+ \CJK@nameppdef{^^90}
+ \CJK@nameppdef{^^91}
+ \CJK@nameppdef{^^92}
+ \CJK@nameppdef{^^93}
+ \CJK@nameppdef{^^94}
+ \CJK@nameppdef{^^95}
+ \CJK@nameppdef{^^96}
+ \CJK@nameppdef{^^97}
+ \CJK@nameppdef{^^98}
+ \CJK@nameppdef{^^99}
+ \CJK@nameppdef{^^9a}
+ \CJK@nameppdef{^^9b}
+ \CJK@nameppdef{^^9c}
+ \CJK@nameppdef{^^9d}
+ \CJK@nameppdef{^^9e}
+ \CJK@nameppdef{^^9f}
+ \CJK@nameppdef{^^a0}
+ \CJK@nameppdef{^^a1}
+ \CJK@nameppdef{^^a2}
+ \CJK@nameppdef{^^a3}
+ \CJK@nameppdef{^^a4}
+ \CJK@nameppdef{^^a5}
+ \CJK@nameppdef{^^a6}
+ \CJK@nameppdef{^^a7}
+ \CJK@nameppdef{^^a8}
+ \CJK@nameppdef{^^a9}
+ \CJK@nameppdef{^^aa}
+ \CJK@nameppdef{^^ab}
+ \CJK@nameppdef{^^ac}
+ \CJK@nameppdef{^^ad}
+ \CJK@nameppdef{^^ae}
+ \CJK@nameppdef{^^af}
+ \CJK@nameppdef{^^b0}
+ \CJK@nameppdef{^^b1}
+ \CJK@nameppdef{^^b2}
+ \CJK@nameppdef{^^b3}
+ \CJK@nameppdef{^^b4}
+ \CJK@nameppdef{^^b5}
+ \CJK@nameppdef{^^b6}
+ \CJK@nameppdef{^^b7}
+ \CJK@nameppdef{^^b8}
+ \CJK@nameppdef{^^b9}
+ \CJK@nameppdef{^^ba}
+ \CJK@nameppdef{^^bb}
+ \CJK@nameppdef{^^bc}
+ \CJK@nameppdef{^^bd}
+ \CJK@nameppdef{^^be}
+ \CJK@nameppdef{^^bf}
+ \CJK@nameppdef{^^c0}
+ \CJK@nameppdef{^^c1}
+ \CJK@nameppdef{^^c2}
+ \CJK@nameppdef{^^c3}
+ \CJK@nameppdef{^^c4}
+ \CJK@nameppdef{^^c5}
+ \CJK@nameppdef{^^c6}
+ \CJK@nameppdef{^^c7}
+ \CJK@nameppdef{^^c8}
+ \CJK@nameppdef{^^c9}
+ \CJK@nameppdef{^^ca}
+ \CJK@nameppdef{^^cb}
+ \CJK@nameppdef{^^cc}
+ \CJK@nameppdef{^^cd}
+ \CJK@nameppdef{^^ce}
+ \CJK@nameppdef{^^cf}
+ \CJK@nameppdef{^^d0}
+ \CJK@nameppdef{^^d1}
+ \CJK@nameppdef{^^d2}
+ \CJK@nameppdef{^^d3}
+ \CJK@nameppdef{^^d4}
+ \CJK@nameppdef{^^d5}
+ \CJK@nameppdef{^^d6}
+ \CJK@nameppdef{^^d7}
+ \CJK@nameppdef{^^d8}
+ \CJK@nameppdef{^^d9}
+ \CJK@nameppdef{^^da}
+ \CJK@nameppdef{^^db}
+ \CJK@nameppdef{^^dc}
+ \CJK@nameppdef{^^dd}
+ \CJK@nameppdef{^^de}
+ \CJK@nameppdef{^^df}
+ \CJK@nameppdef{^^e0}
+ \CJK@nameppdef{^^e1}
+ \CJK@nameppdef{^^e2}
+ \CJK@nameppdef{^^e3}
+ \CJK@nameppdef{^^e4}
+ \CJK@nameppdef{^^e5}
+ \CJK@nameppdef{^^e6}
+ \CJK@nameppdef{^^e7}
+ \CJK@nameppdef{^^e8}
+ \CJK@nameppdef{^^e9}
+ \CJK@nameppdef{^^ea}
+ \CJK@nameppdef{^^eb}
+ \CJK@nameppdef{^^ec}
+ \CJK@nameppdef{^^ed}
+ \CJK@nameppdef{^^ee}
+ \CJK@nameppdef{^^ef}
+ \CJK@nameppdef{^^f0}
+ \CJK@nameppdef{^^f1}
+ \CJK@nameppdef{^^f2}
+ \CJK@nameppdef{^^f3}
+ \CJK@nameppdef{^^f4}
+ \CJK@nameppdef{^^f5}
+ \CJK@nameppdef{^^f6}
+ \CJK@nameppdef{^^f7}
+ \CJK@nameppdef{^^f8}
+ \CJK@nameppdef{^^f9}
+ \CJK@nameppdef{^^fa}
+ \CJK@nameppdef{^^fb}
+ \CJK@nameppdef{^^fc}
+ \CJK@nameppdef{^^fd}
+ \CJK@nameppdef{^^fe}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/standard.chr b/language/chinese/CJK/cjk-4.8.5/texinput/standard.chr
new file mode 100644
index 0000000000..e1669a627f
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/standard.chr
@@ -0,0 +1,203 @@
+% This is the file standard.chr of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{standard.chr}[\filedate\space\fileversion]
+
+
+% define macros for handling standard CJK fonts and characters.
+
+\gdef\CJK@standardChr{
+ \CJK@global\def\CJK@char##1##2##3{
+ {\ifnum ##3 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##3\relax
+ \advance\@tempcnta ##2\relax
+ \edef\CJK@plane{##1}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% the same, but the plane crosses the font file boundary.
+
+ \CJK@global\def\CJK@charx##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##3\relax
+ \advance\@tempcntb -##3\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##4 < \@temp
+ \edef\CJK@plane{##1}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##2}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@CJK
+ \fi
+ \fi}}
+
+% for punctuation.
+
+ \CJK@global\def\CJK@punctchar##1##2##3##4{
+ {\ifnum ##4 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##4 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##4}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##4\relax
+ \advance\@tempcnta ##3\relax
+ \edef\CJK@plane{##2}
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}
+
+ \CJK@global\def\CJK@punctcharx##1##2##3##4##5{
+ {\ifnum ##5 < \CJK@min
+ \CJK@err
+ \else
+ \ifnum ##5 > \CJK@max
+ \CJK@err
+ \else
+ \CJK@numbToHex{\CJK@gtemp}{##5}
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJK@testPostPunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@nobreakglue
+ \else
+ \CJKglue
+ \fi
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+
+ \@tempcnta ##5\relax
+ \@tempcntb 256\relax
+ \advance\@tempcnta ##4\relax
+ \advance\@tempcntb -##4\relax
+ \chardef\@temp \@tempcntb
+ \ifnum ##5 < \@temp
+ \edef\CJK@plane{##2}
+ \else
+ \advance\@tempcnta -256\relax
+ \edef\CJK@plane{##3}
+ \fi
+ \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKpunctsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \CJK@testPrePunct{\CJK@punctEnc}{##1}{\CJK@gtemp}
+ \ifCJK@
+ \CJK@kern
+ \else
+ \CJK@CJK
+ \fi
+ \fi
+ \fi}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/standard.enc b/language/chinese/CJK/cjk-4.8.5/texinput/standard.enc
new file mode 100644
index 0000000000..d54df3a37b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/standard.enc
@@ -0,0 +1,131 @@
+% This is the file standard.enc of the CJK package
+% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+% Copyright (C) 1994-2021 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{standard.enc}[\filedate\space\fileversion]
+
+
+% standard encoding:
+% each plane has 94 characters (GB, JIS etc.) (0xA1 - 0xFE).
+
+\gdef\CJK@standardEncoding{
+ \CJK@loadChr{standard}
+
+ \CJK@namegdef{^^a1}##1{\@empty\CJK@punctchar {A1}{01}{-161}{##1}}
+ \CJK@namegdef{^^a2}##1{\@empty\CJK@punctchar {A2}{01}{ -67}{##1}}
+ \CJK@namegdef{^^a3}##1{\@empty\CJK@punctcharx{A3}{01}{02}{27}{##1}}
+ \CJK@namegdef{^^a4}##1{\@empty\CJK@punctchar {A4}{02}{-135}{##1}}
+ \CJK@namegdef{^^a5}##1{\@empty\CJK@punctchar {A5}{02}{ -41}{##1}}
+ \CJK@namegdef{^^a6}##1{\@empty\CJK@charx{02}{03}{53}{##1}}
+ \CJK@namegdef{^^a7}##1{\@empty\CJK@char {03}{-109}{##1}}
+ \CJK@namegdef{^^a8}##1{\@empty\CJK@char {03}{ -15}{##1}}
+ \CJK@namegdef{^^a9}##1{\@empty\CJK@charx{03}{04}{79}{##1}}
+ \CJK@namegdef{^^aa}##1{\@empty\CJK@char {04}{ -83}{##1}}
+ \CJK@namegdef{^^ab}##1{\@empty\CJK@charx{04}{05}{11}{##1}}
+ \CJK@namegdef{^^ac}##1{\@empty\CJK@char {05}{-151}{##1}}
+ \CJK@namegdef{^^ad}##1{\@empty\CJK@char {05}{ -57}{##1}}
+ \CJK@namegdef{^^ae}##1{\@empty\CJK@charx{05}{06}{37}{##1}}
+ \CJK@namegdef{^^af}##1{\@empty\CJK@char {06}{-125}{##1}}
+ \CJK@namegdef{^^b0}##1{\@empty\CJK@char {06}{ -31}{##1}}
+ \CJK@namegdef{^^b1}##1{\@empty\CJK@charx{06}{07}{63}{##1}}
+ \CJK@namegdef{^^b2}##1{\@empty\CJK@char {07}{ -99}{##1}}
+ \CJK@namegdef{^^b3}##1{\@empty\CJK@char {07}{ -5}{##1}}
+ \CJK@namegdef{^^b4}##1{\@empty\CJK@charx{07}{08}{89}{##1}}
+ \CJK@namegdef{^^b5}##1{\@empty\CJK@char {08}{ -73}{##1}}
+ \CJK@namegdef{^^b6}##1{\@empty\CJK@charx{08}{09}{21}{##1}}
+ \CJK@namegdef{^^b7}##1{\@empty\CJK@char {09}{-141}{##1}}
+ \CJK@namegdef{^^b8}##1{\@empty\CJK@char {09}{ -47}{##1}}
+ \CJK@namegdef{^^b9}##1{\@empty\CJK@charx{09}{10}{47}{##1}}
+ \CJK@namegdef{^^ba}##1{\@empty\CJK@char {10}{-115}{##1}}
+ \CJK@namegdef{^^bb}##1{\@empty\CJK@char {10}{ -21}{##1}}
+ \CJK@namegdef{^^bc}##1{\@empty\CJK@charx{10}{11}{73}{##1}}
+ \CJK@namegdef{^^bd}##1{\@empty\CJK@char {11}{ -89}{##1}}
+ \CJK@namegdef{^^be}##1{\@empty\CJK@charx{11}{12}{ 5}{##1}}
+ \CJK@namegdef{^^bf}##1{\@empty\CJK@char {12}{-157}{##1}}
+ \CJK@namegdef{^^c0}##1{\@empty\CJK@char {12}{ -63}{##1}}
+ \CJK@namegdef{^^c1}##1{\@empty\CJK@charx{12}{13}{31}{##1}}
+ \CJK@namegdef{^^c2}##1{\@empty\CJK@char {13}{-131}{##1}}
+ \CJK@namegdef{^^c3}##1{\@empty\CJK@char {13}{ -37}{##1}}
+ \CJK@namegdef{^^c4}##1{\@empty\CJK@charx{13}{14}{57}{##1}}
+ \CJK@namegdef{^^c5}##1{\@empty\CJK@char {14}{-105}{##1}}
+ \CJK@namegdef{^^c6}##1{\@empty\CJK@char {14}{ -11}{##1}}
+ \CJK@namegdef{^^c7}##1{\@empty\CJK@charx{14}{15}{83}{##1}}
+ \CJK@namegdef{^^c8}##1{\@empty\CJK@char {15}{ -79}{##1}}
+ \CJK@namegdef{^^c9}##1{\@empty\CJK@charx{15}{16}{15}{##1}}
+ \CJK@namegdef{^^ca}##1{\@empty\CJK@char {16}{-147}{##1}}
+ \CJK@namegdef{^^cb}##1{\@empty\CJK@char {16}{ -53}{##1}}
+ \CJK@namegdef{^^cc}##1{\@empty\CJK@charx{16}{17}{41}{##1}}
+ \CJK@namegdef{^^cd}##1{\@empty\CJK@char {17}{-121}{##1}}
+ \CJK@namegdef{^^ce}##1{\@empty\CJK@char {17}{ -27}{##1}}
+ \CJK@namegdef{^^cf}##1{\@empty\CJK@charx{17}{18}{67}{##1}}
+ \CJK@namegdef{^^d0}##1{\@empty\CJK@char {18}{ -95}{##1}}
+ \CJK@namegdef{^^d1}##1{\@empty\CJK@char {18}{ -1}{##1}}
+ \CJK@namegdef{^^d2}##1{\@empty\CJK@charx{18}{19}{93}{##1}}
+ \CJK@namegdef{^^d3}##1{\@empty\CJK@char {19}{ -69}{##1}}
+ \CJK@namegdef{^^d4}##1{\@empty\CJK@charx{19}{20}{25}{##1}}
+ \CJK@namegdef{^^d5}##1{\@empty\CJK@char {20}{-137}{##1}}
+ \CJK@namegdef{^^d6}##1{\@empty\CJK@char {20}{ -43}{##1}}
+ \CJK@namegdef{^^d7}##1{\@empty\CJK@charx{20}{21}{51}{##1}}
+ \CJK@namegdef{^^d8}##1{\@empty\CJK@char {21}{-111}{##1}}
+ \CJK@namegdef{^^d9}##1{\@empty\CJK@char {21}{ -17}{##1}}
+ \CJK@namegdef{^^da}##1{\@empty\CJK@charx{21}{22}{77}{##1}}
+ \CJK@namegdef{^^db}##1{\@empty\CJK@char {22}{ -85}{##1}}
+ \CJK@namegdef{^^dc}##1{\@empty\CJK@charx{22}{23}{ 9}{##1}}
+ \CJK@namegdef{^^dd}##1{\@empty\CJK@char {23}{-153}{##1}}
+ \CJK@namegdef{^^de}##1{\@empty\CJK@char {23}{ -59}{##1}}
+ \CJK@namegdef{^^df}##1{\@empty\CJK@charx{23}{24}{35}{##1}}
+ \CJK@namegdef{^^e0}##1{\@empty\CJK@char {24}{-127}{##1}}
+ \CJK@namegdef{^^e1}##1{\@empty\CJK@char {24}{ -33}{##1}}
+ \CJK@namegdef{^^e2}##1{\@empty\CJK@charx{24}{25}{61}{##1}}
+ \CJK@namegdef{^^e3}##1{\@empty\CJK@char {25}{-101}{##1}}
+ \CJK@namegdef{^^e4}##1{\@empty\CJK@char {25}{ -7}{##1}}
+ \CJK@namegdef{^^e5}##1{\@empty\CJK@charx{25}{26}{87}{##1}}
+ \CJK@namegdef{^^e6}##1{\@empty\CJK@char {26}{ -75}{##1}}
+ \CJK@namegdef{^^e7}##1{\@empty\CJK@charx{26}{27}{19}{##1}}
+ \CJK@namegdef{^^e8}##1{\@empty\CJK@char {27}{-143}{##1}}
+ \CJK@namegdef{^^e9}##1{\@empty\CJK@char {27}{ -49}{##1}}
+ \CJK@namegdef{^^ea}##1{\@empty\CJK@charx{27}{28}{45}{##1}}
+ \CJK@namegdef{^^eb}##1{\@empty\CJK@char {28}{-117}{##1}}
+ \CJK@namegdef{^^ec}##1{\@empty\CJK@char {28}{ -23}{##1}}
+ \CJK@namegdef{^^ed}##1{\@empty\CJK@charx{28}{29}{71}{##1}}
+ \CJK@namegdef{^^ee}##1{\@empty\CJK@char {29}{ -91}{##1}}
+ \CJK@namegdef{^^ef}##1{\@empty\CJK@charx{29}{30}{ 3}{##1}}
+ \CJK@namegdef{^^f0}##1{\@empty\CJK@char {30}{-159}{##1}}
+ \CJK@namegdef{^^f1}##1{\@empty\CJK@char {30}{ -65}{##1}}
+ \CJK@namegdef{^^f2}##1{\@empty\CJK@charx{30}{31}{29}{##1}}
+ \CJK@namegdef{^^f3}##1{\@empty\CJK@char {31}{-133}{##1}}
+ \CJK@namegdef{^^f4}##1{\@empty\CJK@char {31}{ -39}{##1}}
+ \CJK@namegdef{^^f5}##1{\@empty\CJK@charx{31}{32}{55}{##1}}
+ \CJK@namegdef{^^f6}##1{\@empty\CJK@char {32}{-107}{##1}}
+ \CJK@namegdef{^^f7}##1{\@empty\CJK@char {32}{ -13}{##1}}
+ \CJK@namegdef{^^f8}##1{\@empty\CJK@charx{32}{33}{81}{##1}}
+ \CJK@namegdef{^^f9}##1{\@empty\CJK@char {33}{ -81}{##1}}
+ \CJK@namegdef{^^fa}##1{\@empty\CJK@charx{33}{34}{13}{##1}}
+ \CJK@namegdef{^^fb}##1{\@empty\CJK@char {34}{-149}{##1}}
+ \CJK@namegdef{^^fc}##1{\@empty\CJK@char {34}{ -55}{##1}}
+ \CJK@namegdef{^^fd}##1{\@empty\CJK@charx{34}{35}{39}{##1}}
+ \CJK@namegdef{^^fe}##1{\@empty\CJK@char {35}{-123}{##1}}}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmr.fd
new file mode 100644
index 0000000000..d65fbf8eff
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmr.fd
@@ -0,0 +1,24 @@
+% This is the file c90cmr.fd of the CJK package
+% for using Thai with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c90cmr.fd}[\filedate\space\fileversion]
+
+
+% Thai
+%
+% font encoding: OT1-like + TIS 620 + Thai glyph variants
+
+\DeclareFontFamily{C90}{cmr}{}
+
+\DeclareFontShape{C90}{cmr}{m} {n} {<-> ssub * nrsr/m/n}{}
+\DeclareFontShape{C90}{cmr}{bx}{n} {<-> ssub * nrsr/bx/n}{}
+\DeclareFontShape{C90}{cmr}{m} {it}{<-> ssub * nrsr/m/it}{}
+\DeclareFontShape{C90}{cmr}{bx}{it}{<-> ssub * nrsr/bx/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmss.fd b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmss.fd
new file mode 100644
index 0000000000..240713a34b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmss.fd
@@ -0,0 +1,24 @@
+% This is the file c90cmss.fd of the CJK package
+% for using Thai with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c90cmss.fd}[\filedate\space\fileversion]
+
+
+% Thai
+%
+% font encoding: OT1-like + TIS 620 + Thai glyph variants
+
+\DeclareFontFamily{C90}{cmss}{}
+
+\DeclareFontShape{C90}{cmss}{m} {n} {<-> ssub * gar/m/n}{}
+\DeclareFontShape{C90}{cmss}{bx}{n} {<-> ssub * gar/bx/n}{}
+\DeclareFontShape{C90}{cmss}{m} {it}{<-> ssub * gar/m/it}{}
+\DeclareFontShape{C90}{cmss}{bx}{it}{<-> ssub * gar/bx/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmtt.fd b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmtt.fd
new file mode 100644
index 0000000000..bf50798389
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90cmtt.fd
@@ -0,0 +1,24 @@
+% This is the file c90cmtt.fd of the CJK package
+% for using Thai with LaTeX2e
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+
+\def\fileversion{4.8.5}
+\def\filedate{2021/10/16}
+\ProvidesFile{c90cmtt.fd}[\filedate\space\fileversion]
+
+
+% Thai
+%
+% font encoding: OT1-like + TIS 620 + Thai glyph variants
+
+\DeclareFontFamily{C90}{cmtt}{}
+
+\DeclareFontShape{C90}{cmtt}{m} {n} {<-> ssub * gar/m/n}{}
+\DeclareFontShape{C90}{cmtt}{bx}{n} {<-> ssub * gar/bx/n}{}
+\DeclareFontShape{C90}{cmtt}{m} {it}{<-> ssub * gar/m/it}{}
+\DeclareFontShape{C90}{cmtt}{bx}{it}{<-> ssub * gar/bx/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90enc.def b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90enc.def
new file mode 100644
index 0000000000..428e8e3801
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90enc.def
@@ -0,0 +1,110 @@
+% (C) 2002 Dominique Unruh, LPPL
+% The macros in the Thai part are oriented on TIS620, i.e. each
+% letter in TIS620 is represented by exactly one macro.
+% No reordering whatsoever is required.
+%
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\ProvidesFile{c90enc.def}[2002/06/06 Encoding C90 for Thai]
+\DeclareFontEncoding{C90}{}{}
+\DeclareFontSubstitution{C90}{nrsr}{m}{n}
+%
+\DeclareTextSymbol{\textemdash}{C90}{"0C}
+\DeclareTextSymbol{\textendash}{C90}{"0B}
+\DeclareTextSymbol{\textquotedbl}{C90}{"11}
+\DeclareTextSymbol{\textquotedblleft}{C90}{"0DD}
+\DeclareTextSymbol{\textquotedblright}{C90}{"22}
+\DeclareTextSymbol{\textquoteleft}{C90}{`\`}
+\DeclareTextSymbol{\textquoteright}{C90}{`\'}
+\DeclareTextSymbol{\textbraceleft}{C90}{`\{}
+\DeclareTextSymbol{\textbraceright}{C90}{`\}}
+\DeclareTextSymbol{\textbar}{C90}{`\|}
+%
+\DeclareTextSymbol{\thaiKoKai}{C90}{161}
+\DeclareTextSymbol{\thaiKhoKhai}{C90}{162}
+\DeclareTextSymbol{\thaiKhoKhuat}{C90}{163}
+\DeclareTextSymbol{\thaiKhoKhwai}{C90}{164}
+\DeclareTextSymbol{\thaiKhoKhon}{C90}{165}
+\DeclareTextSymbol{\thaiKhoRakhang}{C90}{166}
+\DeclareTextSymbol{\thaiNgoNgu}{C90}{167}
+\DeclareTextSymbol{\thaiChoChan}{C90}{168}
+\DeclareTextSymbol{\thaiChoChing}{C90}{169}
+\DeclareTextSymbol{\thaiChoChang}{C90}{170}
+\DeclareTextSymbol{\thaiSoSo}{C90}{171}
+\DeclareTextSymbol{\thaiChoChoe}{C90}{172}
+\DeclareTextSymbol{\thaiYoYing}{C90}{173}
+\DeclareTextSymbol{\thaiDoChada}{C90}{174}
+\DeclareTextSymbol{\thaiToPatak}{C90}{175}
+\DeclareTextSymbol{\thaiThoThan}{C90}{176}
+\DeclareTextSymbol{\thaiThoNangmontho}{C90}{177}
+\DeclareTextSymbol{\thaiThoPhuthao}{C90}{178}
+\DeclareTextSymbol{\thaiNoNen}{C90}{179}
+\DeclareTextSymbol{\thaiDoDek}{C90}{180}
+\DeclareTextSymbol{\thaiToTao}{C90}{181}
+\DeclareTextSymbol{\thaiThoThung}{C90}{182}
+\DeclareTextSymbol{\thaiThoThahan}{C90}{183}
+\DeclareTextSymbol{\thaiThoThong}{C90}{184}
+\DeclareTextSymbol{\thaiNoNu}{C90}{185}
+\DeclareTextSymbol{\thaiBoBaimai}{C90}{186}
+\DeclareTextSymbol{\thaiPoPla}{C90}{187}
+\DeclareTextSymbol{\thaiPhoPhung}{C90}{188}
+\DeclareTextSymbol{\thaiFoFa}{C90}{189}
+\DeclareTextSymbol{\thaiPhoPhan}{C90}{190}
+\DeclareTextSymbol{\thaiFoFan}{C90}{191}
+\DeclareTextSymbol{\thaiPhoSamphao}{C90}{192}
+\DeclareTextSymbol{\thaiMoMa}{C90}{193}
+\DeclareTextSymbol{\thaiYoYak}{C90}{194}
+\DeclareTextSymbol{\thaiRoRua}{C90}{195}
+\DeclareTextSymbol{\thaiRu}{C90}{196}
+\DeclareTextSymbol{\thaiLoLing}{C90}{197}
+\DeclareTextSymbol{\thaiLu}{C90}{198}
+\DeclareTextSymbol{\thaiWoWaen}{C90}{199}
+\DeclareTextSymbol{\thaiSoSala}{C90}{200}
+\DeclareTextSymbol{\thaiSoRusi}{C90}{201}
+\DeclareTextSymbol{\thaiSoSua}{C90}{202}
+\DeclareTextSymbol{\thaiHoHip}{C90}{203}
+\DeclareTextSymbol{\thaiLoChula}{C90}{204}
+\DeclareTextSymbol{\thaiOAng}{C90}{205}
+\DeclareTextSymbol{\thaiHoNokhuk}{C90}{206}
+\DeclareTextSymbol{\thaiPaiyannoi}{C90}{207}
+\DeclareTextSymbol{\thaiSaraA}{C90}{208}
+\DeclareTextSymbol{\thaiMaiHanakat}{C90}{209}
+\DeclareTextSymbol{\thaiSaraAa}{C90}{210}
+\DeclareTextSymbol{\thaiSaraAm}{C90}{211}
+\DeclareTextSymbol{\thaiSaraI}{C90}{212}
+\DeclareTextSymbol{\thaiSaraIi}{C90}{213}
+\DeclareTextSymbol{\thaiSaraUe}{C90}{214}
+\DeclareTextSymbol{\thaiSaraUee}{C90}{215}
+\DeclareTextSymbol{\thaiSaraU}{C90}{216}
+\DeclareTextSymbol{\thaiSaraUu}{C90}{217}
+\DeclareTextSymbol{\thaiPhinthu}{C90}{218}
+\DeclareTextSymbol{\textbaht}{C90}{223}
+\DeclareTextSymbol{\thaiSaraE}{C90}{224}
+\DeclareTextSymbol{\thaiSaraAe}{C90}{225}
+\DeclareTextSymbol{\thaiSaraO}{C90}{226}
+\DeclareTextSymbol{\thaiSaraAiMaimuan}{C90}{227}
+\DeclareTextSymbol{\thaiSaraAiMaimalai}{C90}{228}
+\DeclareTextSymbol{\thaiLakkhangyao}{C90}{229}
+\DeclareTextSymbol{\thaiMaiyamok}{C90}{230}
+\DeclareTextSymbol{\thaiMaitaikhu}{C90}{231}
+\DeclareTextSymbol{\thaiMaiEk}{C90}{232}
+\DeclareTextSymbol{\thaiMaiTho}{C90}{233}
+\DeclareTextSymbol{\thaiMaiTri}{C90}{234}
+\DeclareTextSymbol{\thaiMaiChattawa}{C90}{235}
+\DeclareTextSymbol{\thaiThanthakhat}{C90}{236}
+\DeclareTextSymbol{\thaiNikhahit}{C90}{237}
+\DeclareTextSymbol{\thaiYamakkan}{C90}{238}
+\DeclareTextSymbol{\thaiFongman}{C90}{239}
+\DeclareTextSymbol{\thaizero}{C90}{240}
+\DeclareTextSymbol{\thaione}{C90}{241}
+\DeclareTextSymbol{\thaitwo}{C90}{242}
+\DeclareTextSymbol{\thaithree}{C90}{243}
+\DeclareTextSymbol{\thaifour}{C90}{244}
+\DeclareTextSymbol{\thaifive}{C90}{245}
+\DeclareTextSymbol{\thaisix}{C90}{246}
+\DeclareTextSymbol{\thaiseven}{C90}{247}
+\DeclareTextSymbol{\thaieight}{C90}{248}
+\DeclareTextSymbol{\thainine}{C90}{249}
+\DeclareTextSymbol{\thaiAngkhankhu}{C90}{250}
+\DeclareTextSymbol{\thaiKhomut}{C90}{251}
+%
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90gar.fd b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90gar.fd
new file mode 100644
index 0000000000..69998e058b
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90gar.fd
@@ -0,0 +1,34 @@
+%Filename: c90gar.fd
+%Created by: tex garuda-c90
+%Created using fontinst v1.927
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{c90gar.fd}
+ [2005/07/04 Fontinst v1.927 font definitions for C90/gar.]
+
+\DeclareFontFamily{C90}{gar}{}
+
+\DeclareFontShape{C90}{gar}{m}{n}{
+ <-> fgdr8z
+}{}
+
+\DeclareFontShape{C90}{gar}{bx}{n}{
+ <-> fgdb8z
+}{}
+
+\DeclareFontShape{C90}{gar}{bx}{sl}{
+ <-> fgdbo8z
+}{}
+
+\DeclareFontShape{C90}{gar}{m}{sl}{
+ <-> fgdo8z
+}{}
+
+\DeclareFontShape{C90}{gar}{b}{n}{<->ssub * gar/bx/n}{}
+\DeclareFontShape{C90}{gar}{b}{sl}{<->ssub * gar/bx/sl}{}
+\DeclareFontShape{C90}{gar}{bx}{it}{<->ssub * gar/bx/sl}{}
+\DeclareFontShape{C90}{gar}{b}{it}{<->ssub * gar/bx/it}{}
+\DeclareFontShape{C90}{gar}{m}{it}{<->ssub * gar/m/sl}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90nrsr.fd b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90nrsr.fd
new file mode 100644
index 0000000000..5da41a39b7
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/thai/c90nrsr.fd
@@ -0,0 +1,34 @@
+%Filename: c90nrsr.fd
+%Created by: tex norasi-c90
+%Created using fontinst v1.927
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{c90nrsr.fd}
+ [2005/07/04 Fontinst v1.927 font definitions for C90/nrsr.]
+
+\DeclareFontFamily{C90}{nrsr}{}
+
+\DeclareFontShape{C90}{nrsr}{m}{n}{
+ <-> ftnr8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{bx}{n}{
+ <-> ftnb8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{bx}{it}{
+ <-> ftnbi8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{m}{it}{
+ <-> ftni8z
+}{}
+
+\DeclareFontShape{C90}{nrsr}{b}{n}{<->ssub * nrsr/bx/n}{}
+\DeclareFontShape{C90}{nrsr}{b}{it}{<->ssub * nrsr/bx/it}{}
+\DeclareFontShape{C90}{nrsr}{bx}{sl}{<->ssub * nrsr/bx/it}{}
+\DeclareFontShape{C90}{nrsr}{b}{sl}{<->ssub * nrsr/bx/sl}{}
+\DeclareFontShape{C90}{nrsr}{m}{sl}{<->ssub * nrsr/m/it}{}
+
+\endinput
diff --git a/language/chinese/CJK/cjk-4.8.5/texinput/thai/thaicjk.ldf b/language/chinese/CJK/cjk-4.8.5/texinput/thai/thaicjk.ldf
new file mode 100644
index 0000000000..78166632e9
--- /dev/null
+++ b/language/chinese/CJK/cjk-4.8.5/texinput/thai/thaicjk.ldf
@@ -0,0 +1,89 @@
+% This is the file thaicjk.ldf of the CJK package
+% for handling Thai.
+%
+% created by Werner Lemberg <wl@gnu.org>
+%
+% Version 4.8.5 (16-Oct-2021)
+%
+%
+% It is based on a similar file of the thailatex package, written
+% by Surapant Meknavin <surapan@nectec.or.th> with modifications by
+% Theppitak Karoonboonyanan <thep@links.nectec.or.th>.
+
+\ProvidesLanguage{thaicjk}
+ [CJK 4.8.5 Thai support for the babel system]
+
+\LdfInit{thaicjk}{captionsthaicjk}
+
+\ifx\l@thaicjk\@undefined
+ \adddialect\l@thaicjk0
+\fi
+
+\addto\captionsthaicjk{%
+ \def\prefacename{บทนำ}%
+ \def\refname{หนังสืออ้างอิง}%
+ \def\abstractname{บทคัดย่อ}%
+ \def\bibname{บรรณานุกรม}%
+ \def\chaptername{บทที่}%
+ \def\appendixname{ภาคผนวก}%
+ \def\contentsname{สารบัญ}%
+ \def\listfigurename{สารบัญรูป}%
+ \def\listtablename{สารบัญตาราง}%
+ \def\indexname{ดรรชนี}%
+ \def\figurename{รูปที่}%
+ \def\tablename{ตารางที่}%
+ \def\partname{ภาค}%
+ \def\enclname{สิ่งที่แนบมาด้วย}%
+ \def\ccname{สำเนาถึง}%
+ \def\headtoname{เรียน}%
+ \def\pagename{หน้า}%
+ \def\seename{ดู}%
+ \def\alsoname{ดูเพิ่มเติม}%
+ \def\proofname{พิสูจน์}%
+ }
+
+\def\th@month{%
+ \ifcase\month\or
+ มกราคม\or
+ กุมภาพันธ์\or
+ มีนาคม\or
+ เมษายน\or
+ พฤษภาคม\or
+ มิถุนายน\or
+ กรกฎาคม\or
+ สิงหาคม\or
+ กันยายน\or
+ ตุลาคม\or
+ พฤศจิกายน\or
+ ธันวาคม\fi}
+\newcount\th@year
+\th@year=\year
+\advance\th@year by 543
+\def\datethaicjk{%
+ \def\today{\number\day \space \th@month\space พ.ศ.~\number\th@year}}
+
+\addto\extrasthaicjk{\bbl@frenchspacing}
+\addto\noextrasthaicjk{\bbl@nonfrenchspacing}
+
+\addto\extrasthaicjk{\renewcommand{\baselinestretch}{1.2}}
+\addto\noextrasthaicjk{\renewcommand{\baselinestretch}{1}}
+
+\def\fnum@figure{\figurename\nobreakspace\thefigure}
+\def\fnum@table{\tablename\nobreakspace\thetable}
+
+\InputIfFileExists{c90enc.def}{%
+ \message{Loading definitions for the Thai C90 font encoding}}{%
+ \errhelp{I can't find file `c90enc.def' for Thai fonts}%
+ \errmessage{Since I do not know what the C90 encoding means^^J
+ I can't typeset Thai.^^J
+ I stop here, while you get a suitable c90enc.def file}\@@end
+ }
+
+\ldf@finish{thaicjk}
+
+\endinput
+
+%%% Local Variables:
+%%% coding: tis-620
+%%% mode: latex
+%%% End: