summaryrefslogtreecommitdiff
path: root/fonts/cyrillic
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/cyrillic
Initial commit
Diffstat (limited to 'fonts/cyrillic')
-rw-r--r--fonts/cyrillic/bashkirian/bashfont.mf119
-rw-r--r--fonts/cyrillic/bashkirian/bashital.mf93
-rw-r--r--fonts/cyrillic/bashkirian/bashitest.tex10
-rw-r--r--fonts/cyrillic/bashkirian/bashlig.mf11
-rw-r--r--fonts/cyrillic/bashkirian/bashtest.tex10
-rw-r--r--fonts/cyrillic/bashkirian/jkbash.rme83
-rw-r--r--fonts/cyrillic/bashkirian/jkbash10.mf111
-rw-r--r--fonts/cyrillic/bashkirian/jkbashc.mf127
-rw-r--r--fonts/cyrillic/bashkirian/jkbashi.mf175
-rw-r--r--fonts/cyrillic/bashkirian/jkbashi10.mf77
-rw-r--r--fonts/cyrillic/bashkirian/jkbashl.mf69
-rw-r--r--fonts/cyrillic/bashkirian/jkbashu.mf77
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/README.cmcyr-encoding-patch36
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcb10.pfbbin0 -> 17365 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx5.pfbbin0 -> 18264 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx6.pfbbin0 -> 17769 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx7.pfbbin0 -> 17582 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbxsl1.pfbbin0 -> 17810 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbxti1.pfbbin0 -> 22501 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc10.pfbbin0 -> 19235 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc8.pfbbin0 -> 19255 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc9.pfbbin0 -> 19462 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcinch7.pfbbin0 -> 9159 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcitt10.pfbbin0 -> 19120 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl10.pfbbin0 -> 19554 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl12.pfbbin0 -> 19782 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl8.pfbbin0 -> 19538 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl9.pfbbin0 -> 19831 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsltt1.pfbbin0 -> 18180 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssbx1.pfbbin0 -> 16115 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssdc1.pfbbin0 -> 16666 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi10.pfbbin0 -> 13028 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi12.pfbbin0 -> 13040 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi17.pfbbin0 -> 13216 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi8.pfbbin0 -> 13110 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi9.pfbbin0 -> 13142 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssq8.pfbbin0 -> 16317 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssqi8.pfbbin0 -> 16922 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti10.pfbbin0 -> 22802 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti12.pfbbin0 -> 22930 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti7.pfbbin0 -> 23252 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti8.pfbbin0 -> 23272 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti9.pfbbin0 -> 22347 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt10.pfbbin0 -> 19255 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt12.pfbbin0 -> 19768 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt8.pfbbin0 -> 19451 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt9.pfbbin0 -> 19116 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcu10.pfbbin0 -> 20411 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr5.pfbbin0 -> 19110 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr6.pfbbin0 -> 18888 bytes
-rw-r--r--fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr7.pfbbin0 -> 18818 bytes
-rw-r--r--fonts/cyrillic/cmcyr/README22
-rw-r--r--fonts/cyrillic/cmcyr/dvips/cmcyr.map52
-rw-r--r--fonts/cyrillic/cmcyr/mf/ccsc.mf42
-rw-r--r--fonts/cyrillic/cmcyr/mf/citall.mf660
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcb10.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcbx10.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcbx12.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcbx5.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcbx6.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcbx7.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcbx8.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcbx9.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcbxsl1.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcbxti1.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmccsc10.mf110
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmccsc8.mf116
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmccsc9.mf116
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcinch.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcitt10.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsc10.mf110
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsc11.mf109
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsc12.mf109
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsc14.mf109
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsc18.mf109
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsc24.mf109
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsc36.mf109
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsc8.mf115
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsc9.mf115
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcscsl1.mf110
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsl10.mf76
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsl12.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsl8.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsl9.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcsltt1.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcss10.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcss12.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcss17.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcss8.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcss9.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcssbx1.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcssdc1.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcssi10.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcssi12.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcssi17.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcssi8.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcssi9.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcssq8.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcssqi8.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcti10.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcti12.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcti7.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcti8.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcti9.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmctitle.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmctt10.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmctt12.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmctt8.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmctt9.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcu10.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcyr10.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcyr12.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcyr17.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcyr5.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcyr6.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcyr7.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcyr8.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/cmcyr9.mf75
-rw-r--r--fonts/cyrillic/cmcyr/mf/coding.bak69
-rw-r--r--fonts/cyrillic/cmcyr/mf/coding.mf69
-rw-r--r--fonts/cyrillic/cmcyr/mf/cyrillic.mf276
-rw-r--r--fonts/cyrillic/cmcyr/mf/cyrl.mf1061
-rw-r--r--fonts/cyrillic/cmcyr/mf/cyrlc.mf1179
-rw-r--r--fonts/cyrillic/cmcyr/mf/cyrsymb.mf92
-rw-r--r--fonts/cyrillic/cmcyr/mf/cyrt.mf1024
-rw-r--r--fonts/cyrillic/cmcyr/mf/cyru.mf1027
-rw-r--r--fonts/cyrillic/cmcyr/mf/cytextit.mf29
-rw-r--r--fonts/cyrillic/cmcyr/mf/cytitle.mf280
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcb10.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx10.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx12.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx5.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx6.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx7.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx8.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx9.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbxsl10.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbxti10.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc10.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc8.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc9.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcinch.tfmbin0 -> 512 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcitt10.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl10.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl12.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl8.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl9.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsltt10.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss10.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss12.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss17.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss8.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss9.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssbx10.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssdc10.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi10.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi12.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi17.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi8.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi9.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssq8.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssqi8.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti10.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti12.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti7.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti8.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti9.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt10.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt12.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt8.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt9.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcu10.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr10.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr12.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr17.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr5.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr6.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr7.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr8.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr9.tfmbin0 -> 1536 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmb10.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx10.tfmbin0 -> 2428 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx12.tfmbin0 -> 2428 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx5.tfmbin0 -> 2440 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx6.tfmbin0 -> 2452 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx7.tfmbin0 -> 2444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx8.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx9.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbxsl10.tfmbin0 -> 2668 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbxti10.tfmbin0 -> 2092 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc10.tfmbin0 -> 1844 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc8.tfmbin0 -> 1848 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc9.tfmbin0 -> 1844 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcminch.tfmbin0 -> 1104 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmitt10.tfmbin0 -> 1224 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi10.tfmbin0 -> 2152 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi12.tfmbin0 -> 2144 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi5.tfmbin0 -> 2608 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi6.tfmbin0 -> 2616 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi7.tfmbin0 -> 2152 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi8.tfmbin0 -> 2144 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi9.tfmbin0 -> 2148 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmib10.tfmbin0 -> 2620 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr10.tfmbin0 -> 2392 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr12.tfmbin0 -> 2384 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr17.tfmbin0 -> 2392 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr5.tfmbin0 -> 2320 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr6.tfmbin0 -> 2400 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr7.tfmbin0 -> 2400 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr8.tfmbin0 -> 2388 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr9.tfmbin0 -> 2388 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl10.tfmbin0 -> 2632 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl12.tfmbin0 -> 2624 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl8.tfmbin0 -> 2628 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl9.tfmbin0 -> 2628 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsltt10.tfmbin0 -> 1284 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss10.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss12.tfmbin0 -> 2444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss17.tfmbin0 -> 2444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss8.tfmbin0 -> 2408 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss9.tfmbin0 -> 2440 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssbx10.tfmbin0 -> 2400 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssdc10.tfmbin0 -> 2472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi10.tfmbin0 -> 2672 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi12.tfmbin0 -> 2684 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi17.tfmbin0 -> 2684 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi8.tfmbin0 -> 2644 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi9.tfmbin0 -> 2676 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssq8.tfmbin0 -> 2420 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssqi8.tfmbin0 -> 2644 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti10.tfmbin0 -> 2032 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti12.tfmbin0 -> 2036 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti7.tfmbin0 -> 2044 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti8.tfmbin0 -> 2052 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti9.tfmbin0 -> 2028 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt10.tfmbin0 -> 1216 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt12.tfmbin0 -> 1220 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt8.tfmbin0 -> 1216 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt9.tfmbin0 -> 1212 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmu10.tfmbin0 -> 1820 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmb10.tfmbin0 -> 2380 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx10.tfmbin0 -> 2372 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx12.tfmbin0 -> 2372 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx5.tfmbin0 -> 2384 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx6.tfmbin0 -> 2396 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx7.tfmbin0 -> 2388 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx8.tfmbin0 -> 2380 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx9.tfmbin0 -> 2380 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbxsl10.tfmbin0 -> 2612 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbxti10.tfmbin0 -> 2032 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc10.tfmbin0 -> 1780 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc8.tfmbin0 -> 1784 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc9.tfmbin0 -> 1780 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycminch.tfmbin0 -> 972 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmitt10.tfmbin0 -> 1224 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi10.tfmbin0 -> 2152 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi12.tfmbin0 -> 2144 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi5.tfmbin0 -> 2608 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi6.tfmbin0 -> 2616 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi7.tfmbin0 -> 2152 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi8.tfmbin0 -> 2144 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi9.tfmbin0 -> 2148 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmib10.tfmbin0 -> 2620 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr10.tfmbin0 -> 2336 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr12.tfmbin0 -> 2328 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr17.tfmbin0 -> 2336 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr5.tfmbin0 -> 2264 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr6.tfmbin0 -> 2344 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr7.tfmbin0 -> 2344 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr8.tfmbin0 -> 2332 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr9.tfmbin0 -> 2332 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl10.tfmbin0 -> 2576 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl12.tfmbin0 -> 2568 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl8.tfmbin0 -> 2572 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl9.tfmbin0 -> 2572 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsltt10.tfmbin0 -> 1228 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss10.tfmbin0 -> 2380 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss12.tfmbin0 -> 2388 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss17.tfmbin0 -> 2388 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss8.tfmbin0 -> 2352 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss9.tfmbin0 -> 2384 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssbx10.tfmbin0 -> 2344 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssdc10.tfmbin0 -> 2416 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi10.tfmbin0 -> 2616 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi12.tfmbin0 -> 2628 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi17.tfmbin0 -> 2628 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi8.tfmbin0 -> 2588 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi9.tfmbin0 -> 2620 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssq8.tfmbin0 -> 2364 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssqi8.tfmbin0 -> 2588 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti10.tfmbin0 -> 1972 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti12.tfmbin0 -> 1976 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti7.tfmbin0 -> 1984 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti8.tfmbin0 -> 1992 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti9.tfmbin0 -> 1968 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt10.tfmbin0 -> 1216 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt12.tfmbin0 -> 1220 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt8.tfmbin0 -> 1216 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt9.tfmbin0 -> 1212 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmu10.tfmbin0 -> 1760 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmb10.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx10.tfmbin0 -> 2428 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx12.tfmbin0 -> 2428 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx5.tfmbin0 -> 2440 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx6.tfmbin0 -> 2452 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx7.tfmbin0 -> 2444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx8.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx9.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbxsl10.tfmbin0 -> 2668 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbxti10.tfmbin0 -> 2092 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc10.tfmbin0 -> 1844 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc8.tfmbin0 -> 1848 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc9.tfmbin0 -> 1844 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcminch.tfmbin0 -> 1164 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmitt10.tfmbin0 -> 1288 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi10.tfmbin0 -> 2216 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi12.tfmbin0 -> 2208 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi5.tfmbin0 -> 2672 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi6.tfmbin0 -> 2680 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi7.tfmbin0 -> 2216 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi8.tfmbin0 -> 2208 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi9.tfmbin0 -> 2212 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmib10.tfmbin0 -> 2684 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr10.tfmbin0 -> 2392 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr12.tfmbin0 -> 2384 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr17.tfmbin0 -> 2392 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr5.tfmbin0 -> 2320 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr6.tfmbin0 -> 2400 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr7.tfmbin0 -> 2400 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr8.tfmbin0 -> 2388 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr9.tfmbin0 -> 2388 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl10.tfmbin0 -> 2632 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl12.tfmbin0 -> 2624 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl8.tfmbin0 -> 2628 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl9.tfmbin0 -> 2628 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsltt10.tfmbin0 -> 1284 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss10.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss12.tfmbin0 -> 2444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss17.tfmbin0 -> 2444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss8.tfmbin0 -> 2408 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss9.tfmbin0 -> 2440 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssbx10.tfmbin0 -> 2400 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssdc10.tfmbin0 -> 2472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi10.tfmbin0 -> 2672 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi12.tfmbin0 -> 2684 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi17.tfmbin0 -> 2684 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi8.tfmbin0 -> 2644 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi9.tfmbin0 -> 2676 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssq8.tfmbin0 -> 2420 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssqi8.tfmbin0 -> 2644 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti10.tfmbin0 -> 2032 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti12.tfmbin0 -> 2036 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti7.tfmbin0 -> 2044 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti8.tfmbin0 -> 2052 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti9.tfmbin0 -> 2028 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt10.tfmbin0 -> 1280 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt12.tfmbin0 -> 1284 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt8.tfmbin0 -> 1280 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt9.tfmbin0 -> 1276 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmu10.tfmbin0 -> 1820 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmb10.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx10.tfmbin0 -> 2428 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx12.tfmbin0 -> 2428 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx5.tfmbin0 -> 2440 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx6.tfmbin0 -> 2452 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx7.tfmbin0 -> 2444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx8.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx9.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbxsl10.tfmbin0 -> 2668 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbxti10.tfmbin0 -> 2092 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc10.tfmbin0 -> 1844 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc8.tfmbin0 -> 1848 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc9.tfmbin0 -> 1844 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcminch.tfmbin0 -> 1036 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmitt10.tfmbin0 -> 1288 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi10.tfmbin0 -> 2216 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi12.tfmbin0 -> 2208 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi5.tfmbin0 -> 2672 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi6.tfmbin0 -> 2680 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi7.tfmbin0 -> 2216 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi8.tfmbin0 -> 2208 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi9.tfmbin0 -> 2212 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmib10.tfmbin0 -> 2684 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr10.tfmbin0 -> 2392 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr12.tfmbin0 -> 2384 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr17.tfmbin0 -> 2392 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr5.tfmbin0 -> 2320 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr6.tfmbin0 -> 2400 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr7.tfmbin0 -> 2400 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr8.tfmbin0 -> 2388 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr9.tfmbin0 -> 2388 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl10.tfmbin0 -> 2632 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl12.tfmbin0 -> 2624 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl8.tfmbin0 -> 2628 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl9.tfmbin0 -> 2628 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsltt10.tfmbin0 -> 1284 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss10.tfmbin0 -> 2436 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss12.tfmbin0 -> 2444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss17.tfmbin0 -> 2444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss8.tfmbin0 -> 2408 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss9.tfmbin0 -> 2440 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssbx10.tfmbin0 -> 2400 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssdc10.tfmbin0 -> 2472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi10.tfmbin0 -> 2672 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi12.tfmbin0 -> 2684 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi17.tfmbin0 -> 2684 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi8.tfmbin0 -> 2644 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi9.tfmbin0 -> 2676 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssq8.tfmbin0 -> 2420 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssqi8.tfmbin0 -> 2644 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti10.tfmbin0 -> 2032 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti12.tfmbin0 -> 2036 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti7.tfmbin0 -> 2044 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti8.tfmbin0 -> 2052 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti9.tfmbin0 -> 2028 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt10.tfmbin0 -> 1280 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt12.tfmbin0 -> 1284 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt8.tfmbin0 -> 1280 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt9.tfmbin0 -> 1276 bytes
-rw-r--r--fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmu10.tfmbin0 -> 1820 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcb10.pfbbin0 -> 17487 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcbx10.pfbbin0 -> 18173 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcbx12.pfbbin0 -> 18948 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcbx5.pfbbin0 -> 18386 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcbx6.pfbbin0 -> 17891 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcbx7.pfbbin0 -> 17704 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcbx8.pfbbin0 -> 19352 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcbx9.pfbbin0 -> 18892 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcbxsl1.pfbbin0 -> 17932 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcbxti1.pfbbin0 -> 22623 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmccsc10.pfbbin0 -> 19357 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmccsc8.pfbbin0 -> 19377 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmccsc9.pfbbin0 -> 19584 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcinch7.pfbbin0 -> 9281 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcitt10.pfbbin0 -> 19242 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcsl10.pfbbin0 -> 19676 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcsl12.pfbbin0 -> 19904 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcsl8.pfbbin0 -> 19660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcsl9.pfbbin0 -> 19953 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcsltt1.pfbbin0 -> 18302 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcss10.pfbbin0 -> 13367 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcss12.pfbbin0 -> 13381 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcss17.pfbbin0 -> 13294 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcss8.pfbbin0 -> 13364 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcss9.pfbbin0 -> 13368 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcssbx1.pfbbin0 -> 16237 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcssdc1.pfbbin0 -> 16788 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcssi10.pfbbin0 -> 13150 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcssi12.pfbbin0 -> 13162 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcssi17.pfbbin0 -> 13338 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcssi8.pfbbin0 -> 13232 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcssi9.pfbbin0 -> 13264 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcssq8.pfbbin0 -> 16439 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcssqi8.pfbbin0 -> 17044 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcti10.pfbbin0 -> 22924 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcti12.pfbbin0 -> 23052 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcti7.pfbbin0 -> 23374 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcti8.pfbbin0 -> 23394 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcti9.pfbbin0 -> 22469 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmctt10.pfbbin0 -> 19377 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmctt12.pfbbin0 -> 19890 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmctt8.pfbbin0 -> 19573 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmctt9.pfbbin0 -> 19238 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcu10.pfbbin0 -> 20533 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcyr10.pfbbin0 -> 20795 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcyr12.pfbbin0 -> 20680 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcyr17.pfbbin0 -> 17084 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcyr5.pfbbin0 -> 19232 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcyr6.pfbbin0 -> 19010 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcyr7.pfbbin0 -> 18940 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcyr8.pfbbin0 -> 20897 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/cmcyr9.pfbbin0 -> 20698 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcb10.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcbx10.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcbx12.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcbx5.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcbx6.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcbx7.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcbx8.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcbx9.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcbxsl1.pfmbin0 -> 1664 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcbxti1.pfmbin0 -> 744 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmccsc10.pfmbin0 -> 742 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmccsc8.pfmbin0 -> 740 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmccsc9.pfmbin0 -> 740 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcinch7.pfmbin0 -> 744 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcitt10.pfmbin0 -> 742 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcsl10.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcsl12.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcsl8.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcsl9.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcsltt1.pfmbin0 -> 744 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcss10.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcss12.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcss17.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcss8.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcss9.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcssbx1.pfmbin0 -> 1664 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcssdc1.pfmbin0 -> 1664 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcssi10.pfmbin0 -> 1662 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcssi12.pfmbin0 -> 1662 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcssi17.pfmbin0 -> 1662 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcssi8.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcssi9.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcssq8.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcssqi8.pfmbin0 -> 1662 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcti10.pfmbin0 -> 740 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcti12.pfmbin0 -> 740 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcti7.pfmbin0 -> 738 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcti8.pfmbin0 -> 738 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcti9.pfmbin0 -> 738 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmctt10.pfmbin0 -> 740 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmctt12.pfmbin0 -> 740 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmctt8.pfmbin0 -> 738 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmctt9.pfmbin0 -> 738 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcu10.pfmbin0 -> 738 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcyr10.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcyr12.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcyr17.pfmbin0 -> 1660 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcyr5.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcyr6.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcyr7.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcyr8.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/type1/pfm/cmcyr9.pfmbin0 -> 1658 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/cmalt1
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/cmalte5
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/cyralt64
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/cyralte69
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/merge.alt60
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/merge.bat3
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/wncalt64
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/wncalte66
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmb10.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx10.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx12.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx5.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx6.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx7.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx8.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx9.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbxsl10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbxti10.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc10.vfbin0 -> 1462 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc8.vfbin0 -> 1460 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc9.vfbin0 -> 1460 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcminch.vfbin0 -> 585 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmitt10.vfbin0 -> 1448 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi10.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi12.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi5.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi6.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi7.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi8.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi9.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmib10.vfbin0 -> 1447 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr10.vfbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr12.vfbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr17.vfbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr5.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr6.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr7.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr8.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr9.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl10.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl12.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl8.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl9.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsltt10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss10.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss12.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss17.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss8.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss9.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssbx10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssdc10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi10.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi12.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi17.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi8.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi9.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssq8.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssqi8.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti10.vfbin0 -> 1474 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti12.vfbin0 -> 1474 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti7.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti8.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti9.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt10.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt12.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt8.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt9.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmu10.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/cmiso1
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/cmisoe5
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/cyriso64
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/cyrisoe69
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/merge.6i60
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/merge.bat3
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/wnciso64
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/wncisoe66
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmb10.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx10.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx12.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx5.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx6.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx7.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx8.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx9.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbxsl10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbxti10.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc10.vfbin0 -> 1462 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc8.vfbin0 -> 1460 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc9.vfbin0 -> 1460 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycminch.vfbin0 -> 585 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmitt10.vfbin0 -> 1448 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi10.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi12.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi5.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi6.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi7.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi8.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi9.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmib10.vfbin0 -> 1447 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr10.vfbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr12.vfbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr17.vfbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr5.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr6.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr7.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr8.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr9.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl10.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl12.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl8.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl9.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsltt10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss10.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss12.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss17.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss8.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss9.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssbx10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssdc10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi10.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi12.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi17.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi8.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi9.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssq8.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssqi8.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti10.vfbin0 -> 1474 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti12.vfbin0 -> 1474 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti7.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti8.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti9.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt10.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt12.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt8.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt9.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmu10.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkde1
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkdee5
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkoi81
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkoi8e5
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkde2
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkdee4
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkoi81
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkoi8e4
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmb10.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx10.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx12.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx5.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx6.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx7.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx8.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx9.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbxsl10.vfbin0 -> 1471 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbxti10.vfbin0 -> 1471 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc10.vfbin0 -> 1455 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc8.vfbin0 -> 1453 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc9.vfbin0 -> 1453 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcminch.vfbin0 -> 578 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmitt10.vfbin0 -> 1448 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi10.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi12.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi5.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi6.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi7.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi8.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi9.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmib10.vfbin0 -> 1447 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr10.vfbin0 -> 1466 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr12.vfbin0 -> 1466 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr17.vfbin0 -> 1466 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr5.vfbin0 -> 1464 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr6.vfbin0 -> 1464 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr7.vfbin0 -> 1464 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr8.vfbin0 -> 1464 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr9.vfbin0 -> 1464 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl10.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl12.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl8.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl9.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsltt10.vfbin0 -> 1450 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss10.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss12.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss17.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss8.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss9.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssbx10.vfbin0 -> 1471 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssdc10.vfbin0 -> 1471 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi10.vfbin0 -> 1469 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi12.vfbin0 -> 1469 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi17.vfbin0 -> 1469 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi8.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi9.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssq8.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssqi8.vfbin0 -> 1469 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti10.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti12.vfbin0 -> 1467 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti7.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti8.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti9.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt10.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt12.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt8.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt9.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmu10.vfbin0 -> 1465 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.6k60
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.bat3
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.koi60
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/wnckoi862
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6k/wnckoi8e64
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/cmwin1
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/cmwine5
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/cyrwin64
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/cyrwine69
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.6w60
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.bat3
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.o6w60
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.win60
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmb10.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx10.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx12.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx5.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx6.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx7.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx8.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx9.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbxsl10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbxti10.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc10.vfbin0 -> 1462 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc8.vfbin0 -> 1460 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc9.vfbin0 -> 1460 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcminch.vfbin0 -> 585 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmitt10.vfbin0 -> 1448 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi10.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi12.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi5.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi6.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi7.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi8.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi9.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmib10.vfbin0 -> 1447 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr10.vfbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr12.vfbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr17.vfbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr5.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr6.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr7.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr8.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr9.vfbin0 -> 1478 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl10.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl12.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl8.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl9.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsltt10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss10.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss12.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss17.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss8.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss9.vfbin0 -> 1479 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssbx10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssdc10.vfbin0 -> 1485 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi10.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi12.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi17.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi8.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi9.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssq8.vfbin0 -> 1481 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssqi8.vfbin0 -> 1483 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti10.vfbin0 -> 1474 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti12.vfbin0 -> 1474 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti7.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti8.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti9.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt10.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt12.vfbin0 -> 1446 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt8.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt9.vfbin0 -> 1444 bytes
-rw-r--r--fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmu10.vfbin0 -> 1472 bytes
-rw-r--r--fonts/cyrillic/cmcyralt/cmcyralt.tex49
-rw-r--r--fonts/cyrillic/cmcyralt/readme41
-rw-r--r--fonts/cyrillic/cmcyralt/readme.ori47
-rw-r--r--fonts/cyrillic/glonti/README72
-rw-r--r--fonts/cyrillic/glonti/source/Makefile111
-rw-r--r--fonts/cyrillic/glonti/source/cmcinch.etx44
-rw-r--r--fonts/cyrillic/glonti/source/cmcyr.etx23
-rw-r--r--fonts/cyrillic/glonti/source/cmcyrc.etx15
-rw-r--r--fonts/cyrillic/glonti/source/cmcyrl.etx74
-rw-r--r--fonts/cyrillic/glonti/source/cminch.etx48
-rw-r--r--fonts/cyrillic/glonti/source/gafonts.tex82
-rw-r--r--fonts/cyrillic/glonti/source/gainch.etx47
-rw-r--r--fonts/cyrillic/glonti/source/gainch.tex17
-rw-r--r--fonts/cyrillic/glonti/source/glfonts.tex82
-rw-r--r--fonts/cyrillic/glonti/source/glinch.etx47
-rw-r--r--fonts/cyrillic/glonti/source/glinch.tex17
-rw-r--r--fonts/cyrillic/glonti/source/tt.mtx7
-rw-r--r--fonts/cyrillic/glonti/tex/glonti.sty15
-rw-r--r--fonts/cyrillic/glonti/tex/lcycgr.fd47
-rw-r--r--fonts/cyrillic/glonti/tex/lcycgss.fd35
-rw-r--r--fonts/cyrillic/glonti/tex/lcycgtt.fd30
-rw-r--r--fonts/cyrillic/glonti/tex/t2acgr.fd47
-rw-r--r--fonts/cyrillic/glonti/tex/t2acgss.fd35
-rw-r--r--fonts/cyrillic/glonti/tex/t2acgtt.fd30
-rw-r--r--fonts/cyrillic/glonti/tfm/gab10.tfmbin0 -> 3344 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gabx10.tfmbin0 -> 3356 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gabx12.tfmbin0 -> 3352 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gabx5.tfmbin0 -> 3376 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gabx6.tfmbin0 -> 3372 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gabx7.tfmbin0 -> 3376 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gabx8.tfmbin0 -> 3356 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gabx9.tfmbin0 -> 3360 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gabxsl10.tfmbin0 -> 3536 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gabxti10.tfmbin0 -> 2512 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gacsc10.tfmbin0 -> 2408 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gacsc8.tfmbin0 -> 2412 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gacsc9.tfmbin0 -> 2408 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gainch.tfmbin0 -> 1120 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gaitt10.tfmbin0 -> 1360 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gar10.tfmbin0 -> 3304 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gar12.tfmbin0 -> 3308 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gar17.tfmbin0 -> 3320 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gar5.tfmbin0 -> 3264 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gar6.tfmbin0 -> 3328 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gar7.tfmbin0 -> 3328 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gar8.tfmbin0 -> 3320 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gar9.tfmbin0 -> 3316 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gasl10.tfmbin0 -> 3476 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gasl12.tfmbin0 -> 3480 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gasl8.tfmbin0 -> 3500 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gasl9.tfmbin0 -> 3492 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gasltt10.tfmbin0 -> 1360 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gass10.tfmbin0 -> 3212 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gass12.tfmbin0 -> 3248 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gass17.tfmbin0 -> 3244 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gass8.tfmbin0 -> 3208 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gass9.tfmbin0 -> 3236 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gassbx10.tfmbin0 -> 3192 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gassdc10.tfmbin0 -> 3256 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gassi10.tfmbin0 -> 3384 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gassi12.tfmbin0 -> 3424 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gassi17.tfmbin0 -> 3424 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gassi8.tfmbin0 -> 3392 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gassi9.tfmbin0 -> 3412 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gassq8.tfmbin0 -> 3188 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gassqi8.tfmbin0 -> 3332 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gati10.tfmbin0 -> 2468 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gati12.tfmbin0 -> 2448 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gati7.tfmbin0 -> 2460 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gati8.tfmbin0 -> 2468 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gati9.tfmbin0 -> 2464 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gatt10.tfmbin0 -> 1356 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gatt12.tfmbin0 -> 1356 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gatt8.tfmbin0 -> 1356 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gatt9.tfmbin0 -> 1356 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gau10.tfmbin0 -> 2284 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glb10.tfmbin0 -> 3596 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glbx10.tfmbin0 -> 3608 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glbx12.tfmbin0 -> 3604 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glbx5.tfmbin0 -> 3624 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glbx6.tfmbin0 -> 3624 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glbx7.tfmbin0 -> 3628 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glbx8.tfmbin0 -> 3608 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glbx9.tfmbin0 -> 3612 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glbxsl10.tfmbin0 -> 3808 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glbxti10.tfmbin0 -> 2748 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glcsc10.tfmbin0 -> 2624 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glcsc8.tfmbin0 -> 2632 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glcsc9.tfmbin0 -> 2628 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glinch.tfmbin0 -> 1188 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glitt10.tfmbin0 -> 1296 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glr10.tfmbin0 -> 3552 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glr12.tfmbin0 -> 3556 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glr17.tfmbin0 -> 3568 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glr5.tfmbin0 -> 3512 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glr6.tfmbin0 -> 3576 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glr7.tfmbin0 -> 3576 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glr8.tfmbin0 -> 3568 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glr9.tfmbin0 -> 3564 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glsl10.tfmbin0 -> 3744 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glsl12.tfmbin0 -> 3752 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glsl8.tfmbin0 -> 3764 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glsl9.tfmbin0 -> 3756 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glsltt10.tfmbin0 -> 1292 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glss10.tfmbin0 -> 3404 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glss12.tfmbin0 -> 3444 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glss17.tfmbin0 -> 3440 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glss8.tfmbin0 -> 3400 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glss9.tfmbin0 -> 3432 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glssbx10.tfmbin0 -> 3396 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glssdc10.tfmbin0 -> 3468 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glssi10.tfmbin0 -> 3600 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glssi12.tfmbin0 -> 3636 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glssi17.tfmbin0 -> 3640 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glssi8.tfmbin0 -> 3600 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glssi9.tfmbin0 -> 3632 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glssq8.tfmbin0 -> 3384 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glssqi8.tfmbin0 -> 3544 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glti10.tfmbin0 -> 2696 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glti12.tfmbin0 -> 2680 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glti7.tfmbin0 -> 2692 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glti8.tfmbin0 -> 2700 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glti9.tfmbin0 -> 2696 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gltt10.tfmbin0 -> 1288 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gltt12.tfmbin0 -> 1288 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gltt8.tfmbin0 -> 1288 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/gltt9.tfmbin0 -> 1288 bytes
-rw-r--r--fonts/cyrillic/glonti/tfm/glu10.tfmbin0 -> 2492 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gab10.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gabx10.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gabx12.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gabx5.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gabx6.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gabx7.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gabx8.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gabx9.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gabxsl10.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gabxti10.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gacsc10.vfbin0 -> 4572 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gacsc8.vfbin0 -> 4568 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gacsc9.vfbin0 -> 4572 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gainch.vfbin0 -> 508 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gaitt10.vfbin0 -> 4208 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gar10.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gar12.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gar17.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gar5.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gar6.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gar7.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gar8.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gar9.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gasl10.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gasl12.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gasl8.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gasl9.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gasltt10.vfbin0 -> 4208 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gass10.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gass12.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gass17.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gass8.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gass9.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gassbx10.vfbin0 -> 4424 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gassdc10.vfbin0 -> 4424 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gassi10.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gassi12.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gassi17.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gassi8.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gassi9.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gassq8.vfbin0 -> 4420 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gassqi8.vfbin0 -> 4424 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gati10.vfbin0 -> 4412 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gati12.vfbin0 -> 4416 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gati7.vfbin0 -> 4412 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gati8.vfbin0 -> 4412 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gati9.vfbin0 -> 4412 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gatt10.vfbin0 -> 4200 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gatt12.vfbin0 -> 4200 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gatt8.vfbin0 -> 4196 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gatt9.vfbin0 -> 4196 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gau10.vfbin0 -> 4412 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glb10.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glbx10.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glbx12.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glbx5.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glbx6.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glbx7.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glbx8.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glbx9.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glbxsl10.vfbin0 -> 1612 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glbxti10.vfbin0 -> 1612 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glcsc10.vfbin0 -> 1756 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glcsc8.vfbin0 -> 1756 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glcsc9.vfbin0 -> 1756 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glinch.vfbin0 -> 508 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glitt10.vfbin0 -> 1596 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glr10.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glr12.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glr17.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glr5.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glr6.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glr7.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glr8.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glr9.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glsl10.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glsl12.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glsl8.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glsl9.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glsltt10.vfbin0 -> 1596 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glss10.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glss12.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glss17.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glss8.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glss9.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glssbx10.vfbin0 -> 1612 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glssdc10.vfbin0 -> 1612 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glssi10.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glssi12.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glssi17.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glssi8.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glssi9.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glssq8.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glssqi8.vfbin0 -> 1612 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glti10.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glti12.vfbin0 -> 1608 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glti7.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glti8.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glti9.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gltt10.vfbin0 -> 1584 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gltt12.vfbin0 -> 1584 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gltt8.vfbin0 -> 1584 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/gltt9.vfbin0 -> 1584 bytes
-rw-r--r--fonts/cyrillic/glonti/vf/glu10.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/lh/README15
-rw-r--r--fonts/cyrillic/lh/install181
-rw-r--r--fonts/cyrillic/lh/manifest.txt77
-rw-r--r--fonts/cyrillic/lh/readme35c.1st9
-rw-r--r--fonts/cyrillic/lh/readme35g.1st24
-rw-r--r--fonts/cyrillic/literat/README51
-rw-r--r--fonts/cyrillic/literat/license69
-rw-r--r--fonts/cyrillic/old_slavonic/izhitsa/attention.txt4
-rw-r--r--fonts/cyrillic/old_slavonic/izhitsa/izh1251.mf1
-rw-r--r--fonts/cyrillic/old_slavonic/izhitsa/izhitsa.mf12938
-rw-r--r--fonts/cyrillic/old_slavonic/izhitsa/izhitsa.sty196
-rw-r--r--fonts/cyrillic/old_slavonic/izhitsa/lbcoding.mf92
-rw-r--r--fonts/cyrillic/old_slavonic/izhitsa/readme25
-rw-r--r--fonts/cyrillic/old_slavonic/izhitsa/wbcoding.mf91
-rw-r--r--fonts/cyrillic/ot2cyr/AFIIOT2.etx433
-rw-r--r--fonts/cyrillic/ot2cyr/AFIIcyr.mtx181
-rw-r--r--fonts/cyrillic/ot2cyr/OT2enc.def126
-rw-r--r--fonts/cyrillic/ot2cyr/OT2hls.fd54
-rw-r--r--fonts/cyrillic/ot2cyr/OT2hlst.fd54
-rw-r--r--fonts/cyrillic/ot2cyr/OT2info.tex254
-rw-r--r--fonts/cyrillic/ot2cyr/OT2mnt.fd54
-rw-r--r--fonts/cyrillic/ot2cyr/OT2test.tex78
-rw-r--r--fonts/cyrillic/ot2cyr/OT2wncyr.fd65
-rw-r--r--fonts/cyrillic/ot2cyr/OT2wncyss.fd39
-rw-r--r--fonts/cyrillic/ot2cyr/README51
-rw-r--r--fonts/cyrillic/ot2cyr/go30
-rw-r--r--fonts/cyrillic/ot2cyr/hlsb7k.tfmbin0 -> 1056 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsb7k.vfbin0 -> 1600 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsbo7k.tfmbin0 -> 1300 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsbo7k.vfbin0 -> 1600 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsbot7k.tfmbin0 -> 1020 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsbot7k.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsbt7k.tfmbin0 -> 776 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsbt7k.vfbin0 -> 1600 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsr7k.tfmbin0 -> 1064 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsr7k.vfbin0 -> 1600 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsro7k.tfmbin0 -> 1300 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsro7k.vfbin0 -> 1600 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsrot7k.tfmbin0 -> 992 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsrot7k.vfbin0 -> 1604 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsrt7k.tfmbin0 -> 776 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/hlsrt7k.vfbin0 -> 1600 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/lscy.map24
-rw-r--r--fonts/cyrillic/ot2cyr/lscyb.afm261
-rw-r--r--fonts/cyrillic/ot2cyr/lscyb.mtx273
-rw-r--r--fonts/cyrillic/ot2cyr/lscyb.tfmbin0 -> 1480 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/lscybo.afm260
-rw-r--r--fonts/cyrillic/ot2cyr/lscybo.tfmbin0 -> 1732 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/lscyo.afm259
-rw-r--r--fonts/cyrillic/ot2cyr/lscyo.tfmbin0 -> 1760 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/lscyr.afm262
-rw-r--r--fonts/cyrillic/ot2cyr/lscyr.tfmbin0 -> 1508 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/lstcyb.afm259
-rw-r--r--fonts/cyrillic/ot2cyr/lstcyb.tfmbin0 -> 1132 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/lstcybo.afm259
-rw-r--r--fonts/cyrillic/ot2cyr/lstcybo.tfmbin0 -> 1384 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/lstcyo.afm259
-rw-r--r--fonts/cyrillic/ot2cyr/lstcyo.tfmbin0 -> 1384 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/lstcyr.afm261
-rw-r--r--fonts/cyrillic/ot2cyr/lstcyr.tfmbin0 -> 1132 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/makecyr.tex69
-rw-r--r--fonts/cyrillic/ot2cyr/manifest.txt69
-rw-r--r--fonts/cyrillic/ot2cyr/mntb7k.tfmbin0 -> 880 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntb7k.vfbin0 -> 1332 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntbo7k.tfmbin0 -> 1028 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntbo7k.vfbin0 -> 1336 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntboz.afm201
-rw-r--r--fonts/cyrillic/ot2cyr/mntboz.tfmbin0 -> 1368 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntbz.afm193
-rw-r--r--fonts/cyrillic/ot2cyr/mntbz.tfmbin0 -> 1200 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntr7k.tfmbin0 -> 888 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntr7k.vfbin0 -> 1332 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntro7k.tfmbin0 -> 1024 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntro7k.vfbin0 -> 1336 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntroz.afm201
-rw-r--r--fonts/cyrillic/ot2cyr/mntroz.tfmbin0 -> 1364 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntrz.afm193
-rw-r--r--fonts/cyrillic/ot2cyr/mntrz.tfmbin0 -> 1204 bytes
-rw-r--r--fonts/cyrillic/ot2cyr/mntz.map20
-rw-r--r--fonts/cyrillic/ot2cyr/monoOT2.etx204
-rw-r--r--fonts/cyrillic/ot2cyr/monocyr.mtx181
-rw-r--r--fonts/cyrillic/ot2cyr/wncyrps.vec126
-rw-r--r--fonts/cyrillic/scyrillic/README44
-rw-r--r--fonts/cyrillic/scyrillic/cmbizx10.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmbozx10.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmbszx10.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmbz10.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmbzx10.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmbzx12.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmbzx5.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmbzx6.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmbzx7.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmbzx8.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmbzx9.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmdszc10.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmrcz10.mf111
-rw-r--r--fonts/cyrillic/scyrillic/cmrcz8.mf117
-rw-r--r--fonts/cyrillic/scyrillic/cmrcz9.mf117
-rw-r--r--fonts/cyrillic/scyrillic/cmrisz10.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrisz12.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrisz17.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrisz8.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrisz9.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmritz10.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmriz10.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmriz12.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmriz7.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmriz8.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmriz9.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrotz10.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmroz10.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmroz12.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmroz8.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmroz9.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmrsz10.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmrsz12.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmrsz17.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmrsz8.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmrsz9.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmrtz10.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrtz12.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrtz8.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrtz9.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmruz10.mf75
-rw-r--r--fonts/cyrillic/scyrillic/cmrz10.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrz12.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrz17.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrz5.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrz6.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrz7.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrz8.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cmrz9.mf76
-rw-r--r--fonts/cyrillic/scyrillic/cyccsc.mf44
-rw-r--r--fonts/cyrillic/scyrillic/cycoding.mf69
-rw-r--r--fonts/cyrillic/scyrillic/cyitall.mf661
-rw-r--r--fonts/cyrillic/scyrillic/cyrillic.mf277
-rw-r--r--fonts/cyrillic/scyrillic/cyrl.mf1062
-rw-r--r--fonts/cyrillic/scyrillic/cyrsymb.mf93
-rw-r--r--fonts/cyrillic/scyrillic/cyru.mf1027
-rw-r--r--fonts/cyrillic/scyrillic/cytextit.mf30
-rw-r--r--fonts/cyrillic/scyrillic/cytitle.mf33
-rw-r--r--fonts/cyrillic/scyrillic/czinch.mf75
-rw-r--r--fonts/cyrillic/scyrillic/czssq8.mf76
-rw-r--r--fonts/cyrillic/scyrillic/czssqi8.mf75
1177 files changed, 40817 insertions, 0 deletions
diff --git a/fonts/cyrillic/bashkirian/bashfont.mf b/fonts/cyrillic/bashkirian/bashfont.mf
new file mode 100644
index 0000000000..974d7582bb
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/bashfont.mf
@@ -0,0 +1,119 @@
+% Driver for WNCYR Washington Computer Modern Cyrillic
+% including the bashkirian letters by J. Knappen
+
+font_coding_scheme:=if ligs=0: "TeX typewriter text"
+ else: "TeX text without f-ligatures" fi;
+spanish_shriek=oct"016"; spanish_query=oct"017";
+
+mode_setup; font_setup;
+
+def cyrspread := 1.25dot_size enddef;
+
+numeric cyrflwd; cyrflwd=2hair;
+numeric cyrflht; if (designsize < 8pt): cyrflht=2slab; else: cyrflht=4slab; fi
+
+input cyrmax.mf; %input macro file
+input cyrilu; % input common shapes
+input cyrspu; % and special uppercase forms
+input cyrpunc; % and puctuation etc.
+input serb; % serbian & other chars
+input serbspu;
+input cyrspl; % and lowercase specials
+input jkbashc; % bashkirian common
+input jkbashu; % and upper
+input jkbashl; % and lower
+
+font_slant slant; font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#;
+fi
+
+%%% fine lower
+def lowerfit = -.15u enddef;
+def cyrspread = 1.125dot_size enddef;
+forsuffixes $= u, width_adj, cap_serif_fit, letter_fit,
+ body_height, cap_height, x_height, bar_height, comma_depth,
+ flare, cap_hair, stem, cap_stem, cap_curve, cap_ess,
+ cap_jut, beak_jut, beak, slab, cap_bar, cap_band, cap_notch_cut,
+ o, apex_o: $.#:=lower.$.#; endfor
+fudge:=lower.fudge;
+font_setup; % now try again with |lower| settings
+extra_endchar:=extra_endchar&"charcode:=charcode+code_offset";
+code_offset:=ASCII"a" - ASCII"A";
+numeric cyrflwd; cyrflwd=2hair;
+numeric cyrflht; cyrflht=4slab;
+
+% now input for lowercase of common shapes
+input cyrilu; % majuscules (in lowercase positions)
+
+code_offset:=8;
+input serb; % serbs and other chars
+input jkbashc;% bashkirian
+
+ k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2.5u#; % three degrees of kerning
+input bashlig; % ligtable for bashkirian
+ligtable "K": "H"=:"H", "h"=:"H",
+ oct"021": "H": oct"025" kern k#,
+ "F" kern k#, "O" kern k#, "S" kern k#;
+ligtable "T": "S"=:"C", "s"=:"C",
+ oct"024": "G": "U": "A" kern kkk#,
+ "D" kern kkk#, "L" kern kk#, "C" kern kk#, "a" kern kk#,
+ "d" kern kk#, "e" kern kk#, "f" kern kk#, "o" kern kk#,
+ oct"005" kern kk#, oct"015" kern kk#, oct"025" kern kk#,
+ oct"035" kern kk#, "." kern kk#, "," kern kk#, ";" kern kk#;
+ligtable "'": "'"=:oct"042";
+ligtable "-": "-"=:oct"173";
+ligtable oct"173": "-"=:oct"174";
+ligtable "6": "h"=:"W", "H"=:"W";
+ligtable "7": "h"=:"w";
+ligtable "A": oct"136": oct"137": oct"024" kern kk#,
+ oct"006" kern kk#, oct"007" kern kk#, "Q" kern kk#, oct"137" kern
+kk#;
+ligtable "C": "H"=:"Q", "h"=:"Q";
+ligtable "E": "0"=:oct"023", "1"=:oct"007";
+ligtable "I": "0"=:oct"022", "1"=:oct"004";
+ligtable "J": "1"=:oct"027", "2"=:oct"020";
+ligtable "N": "0"=:oct"175", "1"=:oct"000", "J"=:oct"000", "j"=:oct"000";
+ligtable "O": oct"007": "F": "O" kern -k#, "F" kern -k#, oct"004" kern -k#,
+ oct"025": "H" kern k#, "A" kern k#, "U" kern k#, oct"024" kern k#,
+ "T" kern k#;
+ligtable "P": "1"=:oct"136", "2"=:oct"137";
+ligtable "t": "s"=:"c",
+ "R": oct"025" kern k#,
+ oct"034": "g": "u": oct"035" kern k#,
+ "a" kern k#, "d" kern k#, "e" kern k#, "f" kern k#,
+ "l" kern k#, "o" kern k#, "s" kern k#, oct"015" kern k#,
+ oct"035" kern k#, "." kern kk#, "," kern kk#, ";" kern kk#;
+
+ligtable "S": "H"=:"X", "h"=:"X";
+ligtable "X": "Q"=:"W", "q"=:"W", "C"=:"6", "c"=:"6";
+ligtable "Y": "A"=:oct"027", "a"=:oct"027", "U"=:oct"020", "u"=:oct"020";
+ligtable "Z": "1"=:oct"021", "H"=:oct"021", "h"=:oct"021";
+ligtable "[": "["=:oct"074";
+ligtable "]": "]"=:oct"076";
+ligtable "`": "`"=:oct"134";
+ligtable "e": "0"=:oct"033", "1"=:oct"017",
+ "b": "o": "r": "f": "h" kern k#;
+% "b": "o": "r": "f": "o" kern -k#, "f" kern -k#, "e" kern -k#, "c" kern -k#,
+ligtable "c": "h"=:"q";
+ligtable "i": "0"=:oct"032";
+ligtable "j": "1"=:oct"037", "2"=:oct"030";
+ligtable "k": "h"=:"h";
+ligtable "p": "1"=:oct"176", "2"=:oct"177";
+ligtable "x": "q"=:"w", "c"=:"7";
+ligtable "y": "a"=:oct"037", "u"=:oct"030";
+ligtable "z": "1"=:oct"031", "h"=:oct"031";
+ligtable "s": "h"=:"x",
+ "m": "w": oct"032" kern -k#, "c" kern -k#,
+ "g" kern -k#, "i" kern -k#, "k" kern -k#, "m" kern -k#,
+ "n" kern -k#, "p" kern -k#, "r" kern -k#, "v" kern -k#, "w" kern -k#,
+ "x" kern -k#, "y" kern -k#, oct"176" kern -k#, oct"177" kern-k#;
+bye.
+[End of file]
+
+
diff --git a/fonts/cyrillic/bashkirian/bashital.mf b/fonts/cyrillic/bashkirian/bashital.mf
new file mode 100644
index 0000000000..cde901b815
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/bashital.mf
@@ -0,0 +1,93 @@
+%bashital.mf by Joerg Knappen, Bitnet: knappen @dmznat51
+
+mode_setup; font_setup;
+font_coding_scheme:="TeX text without f-ligatures";
+
+def cyrspread = 1.125dot_size enddef;
+numeric cyrflwd; cyrflwd=1.5hair;
+numeric cyrflht; cyrflht=3slab;
+
+input cyrmax;
+altaccent:=true;
+input jkbashc; % common shapes to upper and lower case
+input jkbashu; % special upper shapes
+def cyrspread = 1.125dot_size enddef;
+input jkbashi; % lower case (minuscules)
+input extrai; % varianten zu cyrti, aus neugier
+
+font_slant slant; font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+ letter_fit#:=letter_fit:=0;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#; fi
+INPUT BASHLIG;
+ k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2.5u#; % three degrees of kerning
+ligtable "K": "H"=:"H", "h"=:"H",
+ oct"021": "H": oct"005" kern k#, oct"025" kern k#,
+ "F" kern k#, "O" kern k#, "S" kern k#;
+ligtable "T": "S"=:"C", "s"=:"C",
+ oct"024": "G": "U": "A" kern kkk#,
+ "D" kern kkk#, "L" kern kk#, "C" kern kk#, "a" kern kk#,
+ "d" kern kk#, "e" kern kk#, "f" kern kk#, "o" kern kk#,
+ oct"005" kern kk#, oct"015" kern kk#, oct"025" kern kk#,
+ oct"035" kern kk#, "." kern kk#, "," kern kk#, ";" kern kk#;
+ligtable "'": "'"=:oct"042";
+ligtable "-": "-"=:oct"173";
+ligtable oct"173": "-"=:oct"174";
+ligtable "6": "h"=:"W", "H"=:"W";
+ligtable "7": "h"=:"w";
+ligtable "A": oct"000": oct"001": oct"136": oct"137": oct"024" kern kk#,
+ oct"006" kern kk#, oct"007" kern kk#, "Q" kern kk#, oct"137" kern kk#;
+ligtable "C": "1"=:oct"007", "H"=:"Q", "h"=:"Q";
+ligtable "D": "1"=:oct"006", "2"=:oct"002", "3"=:oct"026",
+ "J"=:oct"006", "j"=:oct"006";
+ligtable "E": "0"=:oct"023", "1"=:oct"003", "2"=:oct"005";
+ligtable "I": "0"=:oct"022", "1"=:oct"004";
+ligtable "J": "1"=:oct"027", "2"=:oct"020";
+ligtable "L": "1"=:oct"001", "J"=:oct"001", "j"=:oct"001";
+ligtable "N": "0"=:oct"175", "1"=:oct"000", "J"=:oct"000", "j"=:oct"000";
+ligtable "O": oct"003": "F": "O" kern -k#, "F" kern -k#, oct"005" kern -k#,
+ oct"025": "H" kern k#, "A" kern k#, "U" kern k#, oct"024" kern k#,
+ "T" kern k#;
+ligtable "P": "1"=:oct"136", "2"=:oct"137";
+ligtable "t": "s"=:"c",
+ "R": oct"005" kern k#, oct"025" kern k#,
+ oct"034": "g": "u": oct"035" kern k#,
+ "a" kern k#, "d" kern k#, "e" kern k#, "f" kern k#,
+ "l" kern k#, "o" kern k#, "s" kern k#, oct"015" kern k#,
+ oct"035" kern k#, "." kern kk#, "," kern kk#, ";" kern kk#;
+
+ligtable "S": "H"=:"X", "h"=:"X";
+ligtable "X": "Q"=:"W", "q"=:"W", "C"=:"6", "c"=:"6";
+ligtable "Y": "A"=:oct"027", "a"=:oct"027", "U"=:oct"020", "u"=:oct"020";
+ligtable "Z": "1"=:oct"021", "H"=:oct"021", "h"=:oct"021";
+ligtable "[": "["=:oct"074";
+ligtable "]": "]"=:oct"076";
+ligtable "`": "`"=:oct"134";
+ligtable "e": "0"=:oct"033", "1"=:oct"013", "2"=:oct"015",
+ "b": "o": "r": "f": "o" kern -k#, "f" kern -k#, "e" kern -k#,
+ "c" kern -k#, "h" kern k#;
+ligtable "c": "1"=:oct"017", "h"=:"q";
+ligtable "d": "1"=:oct"016", "2"=:oct"012", "3"=:oct"036", "j"=:oct"016";
+ligtable "i": "0"=:oct"032", "1"=:oct"014";
+ligtable "j": "1"=:oct"037", "2"=:oct"030";
+ligtable "k": "h"=:"h";
+ligtable "l": "1"=:oct"011", "j"=:oct"011";
+ligtable "n": "1"=:oct"010", "j"=:oct"010";
+ligtable "p": "1"=:oct"176", "2"=:oct"177";
+ligtable "x": "q"=:"w", "c"=:"7";
+ligtable "y": "a"=:oct"037", "u"=:oct"030";
+ligtable "z": "1"=:oct"031", "h"=:oct"031";
+ligtable "s": "h"=:"x",
+ "m": "w": oct"012" kern -k#, oct"032" kern -k#, "c" kern -k#,
+ "g" kern -k#, "i" kern -k#, "k" kern -k#, "m" kern -k#,
+ "n" kern -k#, "p" kern -k#, "r" kern -k#, "v" kern -k#,
+ "w" kern -k#,
+ "x" kern -k#, "y" kern -k#, oct"176" kern -k#, oct"177" kern -k#;
+
+
+bye.
diff --git a/fonts/cyrillic/bashkirian/bashitest.tex b/fonts/cyrillic/bashkirian/bashitest.tex
new file mode 100644
index 0000000000..1ae3932cd7
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/bashitest.tex
@@ -0,0 +1,10 @@
+\font\cyr=jkbashi10
+\cyr
+BAX"KORT ALFABITE -- BAXKIRSKII0 ALFABIT -- {\it THE BASHKIRIAN ALFABET}
+
+ABVG"GD{\it\c{\cyr Z}}EE0ZHII0K"KLMN"NO"OPRS{\it\c{\cyr S}}TU"UFH"HCQWXP2YP1%
+E1"EYUYA
+
+abvg"gd{\it\c{\cyr z}}ee0zhii0k"klmn"no"oprs{\it\c{\cyr s}}tu"ufh"hcqwxp2%
+yp1e1"eyuya
+\endinput
diff --git a/fonts/cyrillic/bashkirian/bashlig.mf b/fonts/cyrillic/bashkirian/bashlig.mf
new file mode 100644
index 0000000000..26866e3c02
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/bashlig.mf
@@ -0,0 +1,11 @@
+ligtable oct"042": "G"=:oct"000", "H"=:oct"005", "K"=:oct"001", "N"=:oct"002",
+ "O"=:oct"003", "U"=:oct"004", "E"=:oct"006",
+ "g"=:oct"010", "h"=:oct"015", "k"=:oct"011", "n"=:oct"012",
+ "o"=:oct"013", "u"=:oct"014", "e"=:oct"016";
+ligtable oct"001": "F" kern k#, "O" kern k#, "S" kern k#,
+ oct"003" kern k#, oct"006" kern k#;
+ligtable oct"003": oct"006": "O" kern -k#, "F" kern -k#, oct"005" kern -k#,
+ "H" kern k#, "A" kern k#, "U" kern k#, oct"024" kern k#,
+ "T" kern k#;
+ligtable oct"013": oct"016": "h" kern k#;
+endinput;
diff --git a/fonts/cyrillic/bashkirian/bashtest.tex b/fonts/cyrillic/bashkirian/bashtest.tex
new file mode 100644
index 0000000000..299fa20c46
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/bashtest.tex
@@ -0,0 +1,10 @@
+\font\cyr=jkbash10
+\cyr
+BAX"KORT ALFABITE -- BAXKIRSKII0 ALFABIT -- {\rm THE BASHKIRIAN ALFABET}
+
+ABVG"GD{\rm\c{\cyr Z}}EE0ZHII0K"KLMN"NO"OPRS{\rm\c{\cyr S}}TU"UFH"HCQWXP2YP1%
+E1"EYUYA
+
+abvg"gd{\rm\c{\cyr z}}ee0zhii0k"klmn"no"oprs{\rm\c{\cyr s}}tu"ufh"hcqwxp2%
+yp1e1"eyuya
+\endinput
diff --git a/fonts/cyrillic/bashkirian/jkbash.rme b/fonts/cyrillic/bashkirian/jkbash.rme
new file mode 100644
index 0000000000..c79d5b06bf
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/jkbash.rme
@@ -0,0 +1,83 @@
+jkbash.rme by Joerg Knappen 5. Dec. 1991
+
+Bashkirian extra letters to use together with the cyrillic font wncyr.
+
+Why Bashkirian extra letters in a Metafont?
+
+The now available cyrillic fonts are heavily russian oriented, ignoring that
+there are many languages (most of them in the USSR) written in cyrillic. So
+it looks natural to design the special characters for many of these
+languages. That my first attempt fell on Bashkirian happened by the chance
+of finding a source for the typeshapes, including italics. (It was a
+bashkirian to russian dictionary by ...). As far as I know, these letters
+are also sufficent for the writing of mongolian in cyrillic.
+
+Which files are there?
+
+jkbashc.mf including shapes common to upper and lower case
+jkbashl.mf lowercase shapes
+jkbashu.mf uppercase shapes
+jkbashi.mf lowercase italics
+bashlig.mf an addendum to the ligtable
+
+How to use the files?
+
+As mentioned, the bashkirian extra letters are designed to go with the
+wncyr washington cyrillic font. They are available from all good
+TeX-servers.
+
+
+I propose following way of use:
+Copy the parameter file you want to use (e.g. wncyr10.mf) and rename it.
+This is not to confuse it with the original one. Change the
+generate cyrfont
+into
+generate bashfont
+(cyrfont and bashfont are just examples). Then copy *cyrfont.mf* to
+*bashfont.mf* and do the following changes:
+Insert after the first block of input (ending with input cyrspl;)
+input jkbashc;
+input jkbashu;
+input jkbashl;
+Insert after the block {code_offset:=8;
+ input serb; }
+input jkbashc;
+And, at last, insert a line before the bye
+input bashlig;
+
+Things are only going well with TeX3... and Metafont2... because there are
+more then 128 characters in the font. Things went (and go) even well with
+the old TeX 2.xx and METAFONT 1.xxx since the new features are not really
+used.
+
+What's new in the bashkirian font?
+
+I made the following seven letters (more or less stealing together what I
+needed):
+A crossed Ge (looking like an F), a K with a handle, an N with descender
+like Shcha, an O-Umlaut (looking like Theta), an U-Umlaut (really looking
+like Y, in fact, being one), a Ha (looking like h), and a variant E
+(looking like an e rotated 180 degrees).
+This characters are placed on the octal codes from 200 to 207, the
+lowercase ones are placed on the octal codes from 210 to 217.
+They can be accessed as ligatures as following:
+"G,"K,"O,"U,"H,"E,"g,"k,"o,"u,"h,"e.
+
+What's missing?
+
+A Cedilla accent (sigh), which occurs in bashkirian on S and Z. One has to
+use the latin one. This is quite a mess, e.g. {\rm\c{\cyr Z}} does the job.
+The octal codes are arbitrarily choosen just not to get
+in conflict to any other character. No coding is provided.
+The kerning table is not polished. Maybe it will be usefull to change this.
+
+Contact:
+Joerg Knappen
+Barbarossaring 43
+D-6500 Mainz 1
+R.F.A.
+
+Internet: knappen@vkpmzd.kph.uni-mainz.de
+
+Note, that I do not have a bitnet address any longer! The bitnet address in
+the file headers does not work no more!
diff --git a/fonts/cyrillic/bashkirian/jkbash10.mf b/fonts/cyrillic/bashkirian/jkbash10.mf
new file mode 100644
index 0000000000..8a9853e015
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/jkbash10.mf
@@ -0,0 +1,111 @@
+% jkbash10.mf
+if unknown cmbase: input cmbase fi
+
+font_identifier:="jkbash"; font_size 10pt#;
+
+% first come parameters used to set the uppercase letters
+% (including some for lowercase that aren't actually used)
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=5/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(^Delta x/^Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=14/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=3/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=5/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=170/36pt#; % height of tallest characters
+lower.cap_height#:=155/36pt#; % height of caps
+lower.x_height#:=98/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=55/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=44/36pt#; % depth of comma below baseline
+
+lower.flare#:=25/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=9.1/36pt#; % uppercase hairline breadth %might be reduced to 7
+lower.stem#:=21/36pt#; % lowercase stem breadth
+lower.cap_stem#:=25/36pt#; % uppercase stem breadth
+lower.cap_curve#:=30/36pt#; % uppercase curve breadth
+lower.cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=28/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=6.3/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=44/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=11/36pt#; % serif and arm thickness
+lower.cap_bar#:=11/36pt#; % uppercase bar thickness
+lower.cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+
+lower.o#:=5/36pt#; % amount of overshoot for curves
+lower.apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate bashfont % switch to the driver file
+bye
diff --git a/fonts/cyrillic/bashkirian/jkbashc.mf b/fonts/cyrillic/bashkirian/jkbashc.mf
new file mode 100644
index 0000000000..3ff302d563
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/jkbashc.mf
@@ -0,0 +1,127 @@
+ %jkbashc.mf by Joerg Knappen, bitnet: knappen@dmznat51
+ % Version: 8. June 1990
+ % Bashkirian letters with common shapes for upper and lower case
+
+cmchar "The bashkirian letter crossed Ge (looking like F)";
+beginchar(oct"200",11.5u#-width_adj#,cap_height#,0);
+italcorr cap_height#*slant-beak_jut#-.25u#;
+adjust_fit(cap_serif_fit#,0);
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.75u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+pos5(cap_bar,-90); pos6(hair,0);
+top y5l=vround(.5[y2,y1]+.5cap_bar); x5=x1;
+pos0(cap_bar,90); pos7(hair,0);
+z0=z5; x6=x7; y6-y5l=y0l-y7;
+if serifs: rt x6r=hround(w-4u+.5hair); y6=good.y(y5l+.6beak)+eps;
+ rt x9r=hround(w-.5u);
+else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u); fi
+arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,1.25cap_jut); fi % lower serif
+math_fit(0,ic#-2.5u#); penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The Bashkirian letter variant KA";
+beginchar(oct"201",12u#,cap_height#,0);
+italcorr cap_height#*slant-.5u#;
+adjust_fit(if serifs: 4 else: 2 fi u#,.25u#);
+pickup tiny.nib; pos1(fudged.cap_stem,0); pos2(fudged.cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5fudged.cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper stem serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower stem serif
+ pickup fine.nib; pos3(vair,90); x3=x1; y3=.55h; z3'=z3; pos3'(varwid,90);
+ pos4(varwid,90); x4=w-.75flare-.125u; top y4r=h+oo; %original x4=w-2u
+ x41=x4; y41=y3'; x42=x4-2u; y42=y4;
+ filldraw stroke z3'e..controls z41 and z42..z4e; % upper diagonal
+ pos5(hair,0); pos6(flare,0);
+rt x5r=hround(w-.125u); y5+.5flare=vround(top y4r-hair)+1;%original bot y4l-.03h
+ top y4'r=top y4r; x4'=x4; pos4'(hair,90);
+ bulb(4',5,6); % bulb
+ pos7(stem,0); pos8(varwid,90); pos9(hair,180);
+ x9+.5hair=hround(w+.5hair-eps); y9=1/3x_height;
+ lft x7l=hround(w-2.75u-.5stem); y7=1/2y3; x8=w-1.2u; bot y8l=-oo;
+ filldraw stroke z3e{right}...z7e{down}
+ ...z8e{right}...{up}z9e; % lower diagonal
+else:
+ numeric right_jut,stem[],alpha[];
+ right_jut=.4tiny;
+ pickup tiny.nib;
+ stem2=max(tiny.breadth,fudged.cap_stem-3stem_corr);
+ stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+ top y3=h; rt x3r=hround(r-letter_fit-u-right_jut);
+ bot y6=0; rt x6r=hround(r-letter_fit-.75u-right_jut);
+ x4=x1; y4=1/3h;
+ alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+ penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+ alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+ penpos6(alpha2*(stem2-tiny),0);
+ forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor
+ z5=.5[z5l,z5r];
+ z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+ z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+ z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+ fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal
+ fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal
+fi
+pickup crisp.nib;
+top y55r=h; x55=x1; pos55(slab,90); pos56(hair,180);
+ x56=x1-if serifs: 6 else: 3 fi u;
+y56=good.y(y55l-beak)-eps;
+arm(55,56,q,beak_darkness**.8,-.4beak_jut);
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The Bashkirian letter variant EN (looks like H with leg)";
+beginchar(oct"202",13u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(cap_bar,90); penpos6(cap_bar,90);
+x5=x1; x6=x3; y5=y6=.52h;
+fill stroke z5e--z6e; % bar
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper right serif
+ r_cyr_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % lower right serif
+else:
+ lcyrsanserif(4); lft x2'= lft x2l; bot y2'l=0; pos2'(slab,90);
+ rt x4'=rt x4r; y4'=y2'; pos4'(slab,90); filldraw stroke z2'e--z4'e;
+fi
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+
+cmchar "The Bashkirian letter flipped e";
+beginchar(oct"206",14u#-width_adj#,cap_height#,0);
+italcorr .7cap_height#*slant-.5u#;
+adjust_fit(0,0);
+penpos1(vair',90); penpos3(vround(vair+1.5vair_corr),-90);
+penpos2(cap_curve,180); penpos4(cap_curve,0);
+if monospace: x2r=hround 1.5u;
+ interim superness:=sqrt superness; % make |"O"|, not |"0"|
+else: x2r=hround u; fi
+x4r=w-x2r; x1=x3=.5w; y1r=h+o; y3r=-o;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_super_arc.e(1,2)(.5superpull)
+ & pulled_super_arc.e(2,3)(.5superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ & pulled_super_arc.e(4,1)(.5superpull) & cycle; % bowl %now we have an O
+y9r-y9l=y10r-y10l=cap_band; x9r=x9l=x2; x10r=x10l=x4; y9r=y10r=top y2;
+penstroke z9e--z10e; % bar
+bot y6=bot y7=top y9r; top y5=top y8=min(.675h,bot y1l-eps);
+lft x6=lft x5=0; rt x7=rt x8=.5w;
+unfill z5--z6--z7--z8--cycle; cullit; % erase extra arc
+math_fit(-.3cap_height#*slant-.5u#,ic#-.5u#); penlabels(1,2,3,4); endchar;
+ \endinput
diff --git a/fonts/cyrillic/bashkirian/jkbashi.mf b/fonts/cyrillic/bashkirian/jkbashi.mf
new file mode 100644
index 0000000000..002c7711b3
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/jkbashi.mf
@@ -0,0 +1,175 @@
+ % jkbashi.mf by Joerg Knappen, Bitnet: knappen@dmznat51
+ % Version 14. June 1990
+ % Bashkirian special letters, lowercase italics
+ % Additional information at the end of this file
+
+cmchar "Italic Bashkirian letter ghe-barred";
+beginchar(oct"210",7u#,x_height#,0);
+italcorr max(1/3x_height#*slant+.5hair#+.5u#,h#*slant+.5flare#-2u#);
+adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
+x0=0; x5=w; x2=.5w+1.5u; x3=.5w-1.5u;
+hook_in(0,1,2)(skewed); hook_out(3,4,5)(skewed); % hooks
+filldraw stroke z2e{down}...{down}z3e; % stem
+pickup crisp.nib;
+top y6r=top y7r=bar_height;lft x6=lft x0;rt x7=rt x5;
+pos6(bar,90); pos7(bar,90);
+filldraw stroke z6e--z7e; % bar
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+cmchar "Italic Bashkirian letter variant ka";
+beginchar(oct"211",8u#,x_height#,0);
+italcorr x_height#*slant-.5u#;
+adjust_fit(u#,.25u#);
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+lft x1l=lft x2l=hround max(1.3u,2u-.5fudged.stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+if serifs: dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper stem serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower stem serif
+ pickup fine.nib; pos3(vair,90); x3=x1; y3=.55h; z3'=z3; pos3'(varwid,90);
+ pos4(varwid,90); x4=w-.75flare-.08u; top y4r=h+oo; %original x4=w-2u
+ x41=x4; y41=y3'; x42=x4-2u; y42=y4;
+ filldraw stroke z3'e..controls z41 and z42..z4e; % upper diagonal
+ pos5(hair,0); pos6(flare,0);
+rt x5r=hround(w-.08u); y5+.5flare=vround(top y4r-hair)+1;%original bot y4l-.03h
+ top y4'r=top y4r; x4'=x4; pos4'(hair,90);
+ bulb(4',5,6); % bulb
+ pos7(stem,0); pos8(varwid,90); pos9(hair,180);
+ x9+.5hair=hround(w+.5hair-eps); y9=1/3x_height;
+ lft x7l=hround(w-1.8u-.5stem); y7=1/2y3; x8=w-.8u; bot y8l=-oo;
+ filldraw stroke z3e{right}...z7e{down}
+ ...z8e{right}...{up}z9e; % lower diagonal
+else:
+ numeric right_jut,stem[],alpha[];
+ right_jut=.4tiny;
+ pickup tiny.nib;
+ stem2=max(tiny.breadth,fudged.stem-3stem_corr);
+ stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+ top y3=h; rt x3r=hround(r-letter_fit-.67u-right_jut);
+ bot y6=0; rt x6r=hround(r-letter_fit-.5u-right_jut);
+ x4=x1; y4=1/3h;
+ alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+ penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+ alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+ penpos6(alpha2*(stem2-tiny),0);
+ forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor
+ z5=.5[z5l,z5r];
+ z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+ z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+ z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+ fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal
+ fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal
+fi
+pickup crisp.nib;
+top y55r=h; x55=x1; pos55(slab,90); pos56(hair,180);
+ x56=x1-if serifs: 4 else: 2 fi u;
+y56=good.y(y55l-beak)-eps;
+arm(55,56,q,beak_darkness**.8,-.4beak_jut);
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+
+cmchar "Italic Bashkirian letter variant en";
+beginchar(oct"212",10u#,x_height#,desc_depth#);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,.25u#); pickup fine.nib;
+x0=0; x2=x3; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2); % opening hook
+ y3-.5stem=-oo; z2'=z2; pos2'(stem,-180);
+ filldraw circ_stroke z3e--z2'e; %left stem
+x10=x3l; y10=y11=.55h; pos10(hair,90); pos11(hair,90);
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); y6+.5stem=h;
+x7=x6; x9=w; hook_out(7,8,9); %closing hook
+ z7'=z7; pos7'(stem,0);
+filldraw circ_stroke z6e--z7'e; x11=x6l; % right stem
+ filldraw stroke z10e{1,1}...{1,1}z11e; % bar
+pickup crisp.nib;
+y30=0; x30=x8-.1u; y32=-d; x32=x8-.75u; z31=.5[z30,z32];
+pos30(hair,90); pos31(1.25stem,135);
+filldraw stroke z8{down}...z30e...z31e--z32; % descender
+endchar;
+
+cmchar "Italic Bashkirian letter o-umlaut";
+beginchar(oct"213",9u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
+x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
+top y1r=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
+filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
+z90=z2l; x91=x4l; y91=y90; pos90(bar,90); pos91(bar,90);
+if serifs: z92=.5[z90,z91]; pos92(if serifs: 2.5 fi bar,90);
+ filldraw stroke z90e{1,1}..{1,-1}z92e..{1,1}z91e; % tilde-like bar
+else: filldraw stroke z90e--z91e; fi % bar
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(1,2,3,4); endchar;
+
+cmchar "The italic Bashkirian letter u-umlaut"; % I put the gamma in here
+beginchar(oct"214",10u#,x_height#,desc_depth#);
+italcorr x_height#*slant-.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(hair,180); pos2(vstem+dw,90);
+pos4(hair,0); pos5(vair,-90); pos6(hair,-180); pos7(hair,-180);
+bot y1=.5772156649h; top y2r=h+oo; y4=y6=-.5d;
+bot y5r=-d-o; top y7=h;
+lft x1r=hround(.5u-.5hair); x2=3u; rt x4r=hround(w-2u); x5=.5[x4,x6];
+rt x4r-lft x6r=hround 1/3[hair,stem]+eps; rt x7l=hround(w-u);
+if x4l<x6l: x4l:=x6l:=x5; fi
+pos3(hair,angle(z4-z2)+90); x3=superness[x2,x4]; y3=superness[y4,y2];
+filldraw stroke z1e{up}...z2e{right}...z3e{z4-z2}
+ ...z4e{down}...{left}z5e; % arc
+filldraw stroke z5e{left}...z6e{up}..{2(x7-x6),y7-y6}z7e; % stem
+math_fit(-.5772156649x_height#*slant,ic#-u#);
+penlabels(1,2,3,4,5,6,7); endchar;
+
+
+cmchar "Italic Bashkirian letter ha";
+beginchar(oct"215",9u#,asc_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(1.5u#,0); pickup tiny.nib;
+pos1(stem,0); pos2(stem,0); x1=x2;
+lft x1l=hround(1.5u-.5stem); top y1=h; y2-.5stem=-oo;
+filldraw circ_stroke z2e--z1e; % left stem
+sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif
+pickup fine.nib; x4+.5stem=hround(w-2.5u+.5stem);
+x5=x4-.25u; ital_arch(2,3,4); % arch
+x7=w; hook_out(5,6,7)(skewed); % closing hook
+filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem
+math_fit(0,ic#); penlabels(1,2,3,4,5,6,7); endchar;
+
+cmchar "Italic Bashkirian letter flipped e";
+beginchar(oct"216",8u#,x_height#,0);
+italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
+adjust_fit(0,0); pickup fine.nib;
+numeric heavy_hair; heavy_hair=hround .2[hair,stem];
+pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
+pos3(curve,180); pos4(vair,270); pos5(hair,320);
+x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u);
+lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
+y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
+top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6;
+filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+x10=.5w; y10=.5h; % center point
+flip(10); % and flip
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+ \endinput
+
+"These letters aren't perfect. Especially, the variant k is not an italic
+but a slanted letter. The variant n's descender is not precisely
+positioned. This should be changed in a later version." JK.
+
+%-------------- end ------------------------------------------------------
+The now famous character code reference:
+
+Upper case letters: ABCDEFGHIJKLMNOPQRSTUVWXYZ
+Lower case letters: abcdefghijklmnopqrstuvwxyz
+Digits: 0123456789
+Square, curly, angle braces, parentheses: [] {} <> ()
+Backslash, slash, vertical bar: \ / |
+Punctuation: . ? ! , : ;
+Underscore, hyphen, equals sign: _ - =
+Quotes--right left double: ' ` "
+"at", "number" "dollar", "percent", "and": @ # $ % &
+"hat", "star", "plus", "tilde": ^ * + ~
diff --git a/fonts/cyrillic/bashkirian/jkbashi10.mf b/fonts/cyrillic/bashkirian/jkbashi10.mf
new file mode 100644
index 0000000000..3880febf86
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/jkbashi10.mf
@@ -0,0 +1,77 @@
+%jkbashi10.mf by Joerg Knappen
+if unknown cmbase: input cmbase fi
+
+font_identifier:="jkbashi"; font_size 10pt#;
+
+u#:=18.4/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=9.2/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=23/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=29/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=34/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=30/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+
+generate chbashital % switch to the driver file
+bye
diff --git a/fonts/cyrillic/bashkirian/jkbashl.mf b/fonts/cyrillic/bashkirian/jkbashl.mf
new file mode 100644
index 0000000000..ad73185bfc
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/jkbashl.mf
@@ -0,0 +1,69 @@
+ % jkbashl.mf by Joerg Knappen, Bitnet: knappen@dmznat51
+ % Version 11 June 1990
+ % Bashkirian special lowercase letters
+
+cmchar "The Bashkirian letter o-umlaut";
+beginchar(oct"213",9u#,x_height#,0);
+italcorr .7x_height#*slant;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=h+vround 1.5oo; y3r=-oo;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+z90=z2l; x91=x4; y91=y90; pos90(bar,90); pos91(bar,90);
+if serifs: z92=.5[z90,z91]; pos92(if serifs: 2.5 fi bar,90);
+ filldraw stroke z90e{1,1}..{1,-1}z92e..{1,1}z91e;
+else: filldraw stroke z90e--z91e; fi
+penlabels(1,2,3,4); endchar;
+
+cmchar "The Bashkirian letter u-umlaut";
+beginchar(oct"214",if serifs: 9.5u# else 9u# fi,x_height#,desc_depth#);
+italcorr x_height#*slant+.45u#;
+adjust_fit(serif_fit#,serif_fit#);
+numeric left_stem,right_stem,outer_jut,dy,alpha;
+left_stem=stem-stem_corr;
+right_stem=min(hair if hefty:-2stem_corr fi,left_stem);
+outer_jut=.75jut; x1l=w-x4r=l+letter_fit+outer_jut+.05u;
+x2l=x5l=hround(.5w-.5left_stem); x3r=x5r; y1=y4=h; y2=y3=y5=0;
+dy=y1-y2; alpha=((x2l-x1l)++dy)/dy;
+penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+penpos5(left_stem,0); penpos6(left_stem,0); x5=x6; y6=-desc_depth;
+z0=whatever[z1r,z2r]=whatever[z3l,z4l];
+if y0>y2+notch_cut: y0:=y2+notch_cut;
+ fill z0+.5right{up}...{z4-z3}diag_end(3l,4l,1,1,4r,3r)--z5r
+ --diag_end(5r,6r,1,1,6l,5l)--z5l--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % diagonals and stem
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--z5r
+ --diag_end(5r,6r,1,1,6l,5l)--z5l
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % diagonals and stem
+if serifs: numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3); prime_points_inside(6,5);
+ if rt x1'r+jut+.5u+1<=lft x4'l-jut: inner_jut=jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % upper left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % upper right serif
+ dish_serif(6',5,e,1/3,cap_jut,f,1/3,cap_jut); fi % lower serif
+math_fit(.5u#-x_height#*slant,ic#-4u#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "The Bashkirian letter ha";
+beginchar(oct"215",11u#,asc_height#,0);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(.5u#+serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos1'(stem',0); pos2'(stem',0); pos3(stem,0);
+lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; x3=w-x1;
+top y1=h; bot y2=0; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+h_stroke(2,a,3,4); % arch and right stem
+if serifs: sloped_serif.l(1',2',b,1/3,jut,serif_drop); % upper left serif
+ numeric inner_jut; pickup tiny.nib;
+ if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower left serif
+ dish_serif(4,3,e,1/3,inner_jut,f,1/3,jut); fi % lower right serif
+penlabels(1,2,3,4); endchar;
diff --git a/fonts/cyrillic/bashkirian/jkbashu.mf b/fonts/cyrillic/bashkirian/jkbashu.mf
new file mode 100644
index 0000000000..1c8f4c8a6c
--- /dev/null
+++ b/fonts/cyrillic/bashkirian/jkbashu.mf
@@ -0,0 +1,77 @@
+ % jkbashu.mf by Joerg Knappen, bitnet knappen@dmznat21
+ % Version 10 June 1990
+ % Bashkirian special uppercase letters
+
+cmchar "The Bashkirian letter O-Umlaut (looks like Theta)";
+beginchar(oct"203",14u#-width_adj#,cap_height#,0);
+italcorr .7cap_height#*slant-.5u#;
+adjust_fit(0,0);
+penpos1(vair',90); penpos3(vround(vair+1.5vair_corr),-90);
+penpos2(cap_curve,180); penpos4(cap_curve,0);
+if monospace: x2r=hround 1.5u;
+ interim superness:=sqrt superness; % make |"O"|, not |"0"|
+else: x2r=hround u; fi
+x4r=w-x2r; x1=x3=.5w; y1r=h+o; y3r=-o;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_super_arc.e(1,2)(.5superpull)
+ & pulled_super_arc.e(2,3)(.5superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ & pulled_super_arc.e(4,1)(.5superpull) & cycle; % bowl
+z90=z2l; x91=x4; y91=y90; pos90(bar,90); pos91(bar,90);
+if serifs: z92=.5[z90,z91]; pos92(if serifs: 2.5 fi bar,90);
+ filldraw stroke z90e{1,1}..{1,-1}z92e..{1,1}z91e;
+else: filldraw stroke z90e--z91e; fi
+math_fit(-.3cap_height#*slant-.5u#,ic#-.5u#); penlabels(1,2,3,4); endchar;
+
+cmchar "The Bashkirian letter U-Umlaut (looks like Y)";
+beginchar(oct"204",13u#,cap_height#,0);
+italcorr cap_height#*slant+.45u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric left_stem,right_stem,outer_jut,dy,alpha;
+left_stem=cap_stem-stem_corr;
+right_stem=min(cap_hair if hefty:-2stem_corr fi,left_stem);
+outer_jut=.75cap_jut; x1l=w-x4r=l+letter_fit+outer_jut+.05u;
+x2l=x5l=hround(.5w-.5left_stem); x3r=x5r; y1=y4=h; y2=y3=y5=.4h;
+dy=y1-y2; alpha=((x2l-x1l)++dy)/dy;
+penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+penpos5(left_stem,0); penpos6(left_stem,0); x5=x6; y6=0;
+z0=whatever[z1r,z2r]=whatever[z3l,z4l];
+if y0>y2+cap_notch_cut: y0:=y2+cap_notch_cut;
+ fill z0+.5right{up}...{z4-z3}diag_end(3l,4l,1,1,4r,3r)--z5r
+ --diag_end(5r,6r,1,1,6l,5l)--z5l--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % diagonals and stem
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--z5r
+ --diag_end(5r,6r,1,1,6l,5l)--z5l
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % diagonals and stem
+if serifs: numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3); prime_points_inside(6,5);
+ if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % upper left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % upper right serif
+ dish_serif(6',5,e,1/3,cap_jut,f,1/3,cap_jut); fi % lower serif
+math_fit(.5u#-cap_height#*slant,ic#-4u#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "The Bashkirian letter HA (looks like h)";
+beginchar(oct"205",14u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=h;
+bot y4=bot y2=0;
+x22=x1; y22=.35h;
+pos22(cap_bar,90); y3=y22;
+filldraw stroke z4e--z3e{up}...{down}z22e; % right stem and bowl
+filldraw stroke z1e--z2e; % left stem
+if serifs: numeric inner_jut;
+ if rt x2r+cap_jut+.5u+1<=lft x4l-cap_jut: inner_jut=cap_jut;
+ else: rt x2r+inner_jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); fi % lower right serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,22); endchar;
+\endinput
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/README.cmcyr-encoding-patch b/fonts/cyrillic/cmcyr-encoding-patch/README.cmcyr-encoding-patch
new file mode 100644
index 0000000000..58fac4fb2a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/README.cmcyr-encoding-patch
@@ -0,0 +1,36 @@
+Type1 outlines of CMCYR fonts (from BaKoMa collection) as put into
+public domain by Basil K. Malyshev are not usable with dvips and
+other software that reads PFB files. This caused by minor errors
+in font encoding definition. Fonts in this archive are patched
+versions of Basil's fonts with these encoding issues resolved.
+
+38 of 52 CMCYR fonts from BaKoMa collection have `Level-B' version
+label and all contain the following bug in encoding. There are some
+misterious PostScript code in the very end of the encoding:
+
+ dup dup 161 10 getinterval 0 exch putinterval
+ dup dup 173 23 getinterval 10 exch putinterval
+ dup dup 127 exch 196 get put
+ readonly def
+
+I used t1disasm to convert a font into editable format, run it
+through a sed script that strips above code from encoding, and
+then t1asm font back. No changes to outline data. Just a minor
+encoding fix.
+
+Full list of patched files:
+
+ cmcb10.pfb cmccsc9.pfb cmcssbx1.pfb cmcssqi8.pfb cmctt8.pfb
+ cmcbx5.pfb cmcinch7.pfb cmcssdc1.pfb cmcti10.pfb cmctt9.pfb
+ cmcbx6.pfb cmcitt10.pfb cmcssi10.pfb cmcti12.pfb cmcu10.pfb
+ cmcbx7.pfb cmcsl10.pfb cmcssi12.pfb cmcti7.pfb cmcyr5.pfb
+ cmcbxsl1.pfb cmcsl12.pfb cmcssi17.pfb cmcti8.pfb cmcyr6.pfb
+ cmcbxti1.pfb cmcsl8.pfb cmcssi8.pfb cmcti9.pfb cmcyr7.pfb
+ cmccsc10.pfb cmcsl9.pfb cmcssi9.pfb cmctt10.pfb
+ cmccsc8.pfb cmcsltt1.pfb cmcssq8.pfb cmctt12.pfb
+
+That's all in this patch.
+
+--
+Iliya Peregoudov <zooloo@freemail.ru>
+December 25, 2002
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcb10.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcb10.pfb
new file mode 100644
index 0000000000..ebbc446d46
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcb10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx5.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx5.pfb
new file mode 100644
index 0000000000..8fa4c624b7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx5.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx6.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx6.pfb
new file mode 100644
index 0000000000..b28d8705ee
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx6.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx7.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx7.pfb
new file mode 100644
index 0000000000..422eb132b5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbx7.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbxsl1.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbxsl1.pfb
new file mode 100644
index 0000000000..6f5a0cfeaf
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbxsl1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbxti1.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbxti1.pfb
new file mode 100644
index 0000000000..4278501d18
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcbxti1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc10.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc10.pfb
new file mode 100644
index 0000000000..8b06b79435
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc8.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc8.pfb
new file mode 100644
index 0000000000..f6247fd0d5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc9.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc9.pfb
new file mode 100644
index 0000000000..acd153cb73
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmccsc9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcinch7.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcinch7.pfb
new file mode 100644
index 0000000000..b31c17038d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcinch7.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcitt10.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcitt10.pfb
new file mode 100644
index 0000000000..7d4a1dbd4b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcitt10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl10.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl10.pfb
new file mode 100644
index 0000000000..d82ce61a26
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl12.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl12.pfb
new file mode 100644
index 0000000000..83fb96e1ef
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl8.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl8.pfb
new file mode 100644
index 0000000000..3686fcfc9d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl9.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl9.pfb
new file mode 100644
index 0000000000..e30372cb2d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsl9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsltt1.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsltt1.pfb
new file mode 100644
index 0000000000..cdf43b2bcc
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcsltt1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssbx1.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssbx1.pfb
new file mode 100644
index 0000000000..9991c07a39
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssbx1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssdc1.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssdc1.pfb
new file mode 100644
index 0000000000..e9372b4278
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssdc1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi10.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi10.pfb
new file mode 100644
index 0000000000..8592e845c2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi12.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi12.pfb
new file mode 100644
index 0000000000..3611369442
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi17.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi17.pfb
new file mode 100644
index 0000000000..262525c2ae
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi17.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi8.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi8.pfb
new file mode 100644
index 0000000000..f954a2bfd7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi9.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi9.pfb
new file mode 100644
index 0000000000..89028610b7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssi9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssq8.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssq8.pfb
new file mode 100644
index 0000000000..d0c912b6c8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssq8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssqi8.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssqi8.pfb
new file mode 100644
index 0000000000..3b923222aa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcssqi8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti10.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti10.pfb
new file mode 100644
index 0000000000..bf930e23da
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti12.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti12.pfb
new file mode 100644
index 0000000000..fe34975285
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti7.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti7.pfb
new file mode 100644
index 0000000000..51a19f6646
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti7.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti8.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti8.pfb
new file mode 100644
index 0000000000..9ce5ebf138
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti9.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti9.pfb
new file mode 100644
index 0000000000..c206e48e9f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcti9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt10.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt10.pfb
new file mode 100644
index 0000000000..7881189c8f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt12.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt12.pfb
new file mode 100644
index 0000000000..4e259b5ad8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt8.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt8.pfb
new file mode 100644
index 0000000000..0331f47554
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt9.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt9.pfb
new file mode 100644
index 0000000000..317704b26d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmctt9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcu10.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcu10.pfb
new file mode 100644
index 0000000000..9a020fd63f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcu10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr5.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr5.pfb
new file mode 100644
index 0000000000..14106047b7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr5.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr6.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr6.pfb
new file mode 100644
index 0000000000..e27c9dfdc9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr6.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr7.pfb b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr7.pfb
new file mode 100644
index 0000000000..848500e4d1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr-encoding-patch/type1/cmcyr7.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/README b/fonts/cyrillic/cmcyr/README
new file mode 100644
index 0000000000..9fd4045f49
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/README
@@ -0,0 +1,22 @@
+ CMCYR Font package
+
+CMCYR fonts is extension for Computer Modern Knuth's fonts by russian letters
+(66 letters, <<, >>, and russian numbersign). These fonts are in MetaFont
+sources and in ATM Compatible Type 1 font format. In this reason using these
+fonts is direct way to produce PDF from russian mathematical compuscripts.
+
+These fonts are in KOI-7 encoding. However, there are virtual fonts
+that merge CMCYR fonts together with CM fonts according to four
+russian eight-bit encodings:
+ xcm... - CP866 (MS-DOS Alternative)
+ wcm... - CP1251 (Windows Encoding)
+ kcm... - KOI-8
+ ycm... - ISO 8859-5
+
+Originally, these fonts was designed with MetaFont by N. Glonty and A. Samarin.
+Later, these fonts was converted by B. Malyshev into ATM compatible
+PostScript Type 1 font format.
+
+These fonts are in PUBLIC DOMAIN.
+
+Any comments can be sent to Basil K. Malyshev (malyshev@mx.ihep.su).
diff --git a/fonts/cyrillic/cmcyr/dvips/cmcyr.map b/fonts/cyrillic/cmcyr/dvips/cmcyr.map
new file mode 100644
index 0000000000..2d16e06145
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/dvips/cmcyr.map
@@ -0,0 +1,52 @@
+cmcb10 cmcb10 <cmcb10.pfb
+cmcbx10 cmcbx10 <cmcbx10.pfb
+cmcbx12 cmcbx12 <cmcbx12.pfb
+cmcbx5 cmcbx5 <cmcbx5.pfb
+cmcbx6 cmcbx6 <cmcbx6.pfb
+cmcbx7 cmcbx7 <cmcbx7.pfb
+cmcbx8 cmcbx8 <cmcbx8.pfb
+cmcbx9 cmcbx9 <cmcbx9.pfb
+cmcbxsl10 cmcbxsl10 <cmcbxsl1.pfb
+cmcbxti10 cmcbxti10 <cmcbxti1.pfb
+cmccsc10 cmccsc10 <cmccsc10.pfb
+cmccsc8 cmccsc8 <cmccsc8.pfb
+cmccsc9 cmccsc9 <cmccsc9.pfb
+cmcinch cmcinch72 <cmcinch7.pfb
+cmcitt10 cmcitt10 <cmcitt10.pfb
+cmcsl10 cmcsl10 <cmcsl10.pfb
+cmcsl12 cmcsl12 <cmcsl12.pfb
+cmcsl8 cmcsl8 <cmcsl8.pfb
+cmcsl9 cmcsl9 <cmcsl9.pfb
+cmcsltt10 cmcsltt10 <cmcsltt1.pfb
+cmcss10 cmcss10 <cmcss10.pfb
+cmcss12 cmcss12 <cmcss12.pfb
+cmcss17 cmcss17 <cmcss17.pfb
+cmcss8 cmcss8 <cmcss8.pfb
+cmcss9 cmcss9 <cmcss9.pfb
+cmcssbx10 cmcssbx10 <cmcssbx1.pfb
+cmcssdc10 cmcssdc10 <cmcssdc1.pfb
+cmcssi10 cmcssi10 <cmcssi10.pfb
+cmcssi12 cmcssi12 <cmcssi12.pfb
+cmcssi17 cmcssi17 <cmcssi17.pfb
+cmcssi8 cmcssi8 <cmcssi8.pfb
+cmcssi9 cmcssi9 <cmcssi9.pfb
+cmcssq8 cmcssq8 <cmcssq8.pfb
+cmcssqi8 cmcssqi8 <cmcssqi8.pfb
+cmcti10 cmcti10 <cmcti10.pfb
+cmcti12 cmcti12 <cmcti12.pfb
+cmcti7 cmcti7 <cmcti7.pfb
+cmcti8 cmcti8 <cmcti8.pfb
+cmcti9 cmcti9 <cmcti9.pfb
+cmctt10 cmctt10 <cmctt10.pfb
+cmctt12 cmctt12 <cmctt12.pfb
+cmctt8 cmctt8 <cmctt8.pfb
+cmctt9 cmctt9 <cmctt9.pfb
+cmcu10 cmcu10 <cmcu10.pfb
+cmcyr10 cmcyr10 <cmcyr10.pfb
+cmcyr12 cmcyr12 <cmcyr12.pfb
+cmcyr17 cmcyr17 <cmcyr17.pfb
+cmcyr5 cmcyr5 <cmcyr5.pfb
+cmcyr6 cmcyr6 <cmcyr6.pfb
+cmcyr7 cmcyr7 <cmcyr7.pfb
+cmcyr8 cmcyr8 <cmcyr8.pfb
+cmcyr9 cmcyr9 <cmcyr9.pfb
diff --git a/fonts/cyrillic/cmcyr/mf/ccsc.mf b/fonts/cyrillic/cmcyr/mf/ccsc.mf
new file mode 100644
index 0000000000..e04d0e2b10
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/ccsc.mf
@@ -0,0 +1,42 @@
+% Caps and Small Caps in Computer Modern Cyrillic
+
+let cmchar=message; % `|cmchar|' should precede each character
+
+font_coding_scheme:=if ligs=0: "TeX typewriter text"
+ else: "TeX text without f-ligatures" fi;
+spanish_shriek=oct"016"; spanish_query=oct"017";
+
+input coding;
+
+mode_setup; font_setup;
+input cyru; % upper case (majuscules)
+%input romsub; % substitutes for ligatures
+%if ligs>0: input comlig; fi % ligatures common with italic
+
+%ligtable "!": "`" =: spanish_shriek;
+%ligtable "?": "`" =: spanish_query;
+font_slant slant; font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#;
+
+%%% fine lower
+forsuffixes $= u, width_adj, cap_serif_fit, letter_fit,
+ body_height, cap_height, x_height, bar_height, comma_depth,
+ flare, cap_hair, stem, cap_stem, cap_curve, cap_ess,
+ cap_jut, beak_jut, beak, slab, cap_bar, cap_band, cap_notch_cut,
+ o, apex_o: $.#:=lower.$.#; endfor
+fudge:=lower.fudge;
+font_setup; % now try again with |lower| settings
+extra_endchar:=extra_endchar&"charcode:=charcode+code_offset";
+code_offset:= ASCII"A" - ASCII"a";
+input cyru; % majuscules (in lowercase positions)
+%code_offset:=-3;
+%input romspu; % \AE, \OE, \O\ (in positions of \ae, \oe, \o)
+%code_offset:=0;
+%input cscspu; % substitutes for the remaining characters of romspl
+bye.
diff --git a/fonts/cyrillic/cmcyr/mf/citall.mf b/fonts/cyrillic/cmcyr/mf/citall.mf
new file mode 100644
index 0000000000..2f86b3379c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/citall.mf
@@ -0,0 +1,660 @@
+% Computer Modern Cyrillic Italic lower case:
+
+cmchar "Cyrillic italic letter a";
+beginchar(CYR_a,9u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
+pos4(stem,0); x4=x0; y4+.5stem=vround .98h;
+x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
+rt x4r=hround(w-2.5u+.5stem);
+top y1r=h+oo; bot y3r=-oo; y0=y2=.5[y1,y3];
+filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
+ & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl
+x5=x4; x7=w; hook_out(5,6,7); % closing hook
+filldraw circ_stroke z4e--z5e; % stem
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter be";
+beginchar(CYR_be,9u#,asc_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
+x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
+top y1r=x_height+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
+filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
+pos2'(hair,180); z2'r=z2r; pos5(vstem,90); pos5'(vstem,-90); z5'=z5;
+pos6(hair,0); rt x6r=hround(w-u); top y6=h; top y5r=vround .9h; x5=x1;
+filldraw stroke pulled_arc.e(6,5'); filldraw stroke pulled_arc.e(5,2');
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(1,2,3,4); endchar;
+
+cmchar "Cyrillic italic letter ve";
+beginchar(CYR_ve,9u#,x_height#,0);
+italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
+adjust_fit(0,0); pickup fine.nib;
+numeric heavy_hair; heavy_hair=hround .2[hair,stem];
+pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
+pos3(curve,180); pos4(vair,270); pos5(curve,0); pos6(vair,180);
+x0=rt x3l; rt x1r=hround(w-2.5u+.5heavy_hair); x2=x4=.5w;
+lft x3r=hround(1.5u-.5curve); x5r=good.x(w-u-eps); x6=x2;
+y0=y3=y6-.1u=bar_height; y1=.5[y0,y2];
+top y2r=h+oo; bot y4r=-oo; y5=vround .5bar_height;
+filldraw stroke z0e{right}...z1e{up}
+ ...pulled_arc.e(2,3) & pulled_arc.e(3,4) &
+ {{surerness:=hein_super; pulled_arc.e(4,5) & pulled_arc.e(5,6)}};
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter ghe";
+beginchar(CYR_ghe,8u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos2(hair,140); pos3(vair,90); pos4(curve,0);
+pos5(vair,-90); pos5'(vair,90); pos6(curve,180);
+pos7(vair,270); pos8(hair,320);
+x7=w-x3=.5(w+u); x5=.52w; y5=.52h; z5'=z5;
+lft x6r=w-rt x4r-.5u=hround(1.5u-.5curve); x8r=w-x2=good.x(w-eps);
+x9=x8; x1=x2; top y3=h+oo; y4=.5[y5,y3]; bot y7r=-oo; y6=.5[y5,y7];
+top y8l=h-bot y2l=vround .5bar_height; y9=h-y1=bar_height;
+path p[]; p1=z3{left}..z2..z1; p2=z7{right}..z8..z9;
+filldraw stroke pulled_arc.e(5,4)
+ & pulled_arc.e(4,3)...{direction 1 of p1}z2e;
+filldraw stroke pulled_arc.e(5',6)
+ & pulled_arc.e(6,7)...{direction 1 of p2}z8e; % arc
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter de";
+beginchar(CYR_de,9u#,asc_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,150); pos2(vair,90); pos3(curve,0);
+pos4(vair,270); pos5(curve,180); pos6(vair,90);
+x1=x5l; x2=.5w-u; y1=h-.25u; top y2r=h+o; y3=.5[y2,y4];
+x6=x4=.5w; lft x5r=w-rt x3r=hround(1.5u-.5curve);
+top y6r=x_height+oo; y5=.5[y6,y4]; bot y4r=-oo;
+path p; p=pulled_super_arc.l(3,4)(superpull);
+numeric t; t=xpart(p intersectiontimes((x4,y5)--(x3r,y5)));
+pos7(thin_join,0); z7l=point t of p;
+filldraw stroke z1e...pulled_super_arc.e(2,3)(superpull)
+ & {{interim superness:=more_super; pulled_super_arc.e(3,4)(superpull)}}
+ & {{less_tense; pulled_super_arc.e(4,5)(superpull)}}
+ & pulled_super_arc.e(5,6)(superpull)
+ & z6e{right}...{direction t of p}z7e; % arc and bowl
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter ie";
+beginchar(CYR_ie,8u#,x_height#,0);
+italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
+adjust_fit(0,0); pickup fine.nib;
+numeric heavy_hair; heavy_hair=hround .2[hair,stem];
+pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
+pos3(curve,180); pos4(vair,270); pos5(hair,320);
+x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u);
+lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
+y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
+top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6;
+filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter zhe";
+beginchar(CYR_zhe,17u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+numeric arc_width; arc_width=7u;
+pos0(flare,180); pos1(hair,180); pos2(vair,-90);
+pos3(curve,0); pos4(vair,90); pos5(hair,140);
+pos7(flare,0); pos8(hair,0); pos9(vair,90);
+pos10(curve,180); pos11(vair,270); pos12(hair,320);
+x2=x4=w-x9=.5(arc_width-u); x11=x9;
+lft x1r=w-rt x8r=min(lft x2,hround u)-eps;
+rt x3r=w-lft x10r=hround(arc_width-1.5u+.5curve);
+x5r=w-x12r=good.x(eps); x6=x5; x13=x12;
+y8=h-y1=.5[bar_height,h]; bot y2r=-oo; top y9r=h+oo;
+top y4r=h+oo; bot y11r=-oo; y3=h-y10=.5[y2,y4];
+bot y5l=h-top y12l=vround h-.5bar_height; y13=h-y6=bar_height;
+path p[]; p1=z4{left}..z5..z6; p2=z11{right}..z12..z13;
+filldraw stroke pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p1}z5e; % left arc
+filldraw stroke pulled_arc.e(9,10)
+ & pulled_arc.e(10,11)...{direction 1 of p2}z12e; % right arc
+bulb(2,1,0); bulb(9,8,7); % left and right bulb
+pos14(stem,0); pos15(stem,0); x14=x15=.5w; top y14=h; bot y15=0;
+filldraw stroke z14e--z15e; % stem
+penpos3'(bar,90); penpos10'(bar,90); z3'=z3; z10'=z10;
+fill stroke z3'e--z10'e; % bar
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar;
+
+cmchar "Cyrillic italic letter ze";
+beginchar(CYR_ze,8u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos1(hair,140); pos2(cap_band,90); pos4(vair,-90);
+x1r=good.x(eps); x0=x1; top y2r=h+o;
+bot y1l=vround h-.5bar_height; y0=h-bar_height;
+pos3(max(fine.breadth,curve-stem_corr),0);
+pos7(vair,-90); pos8(vair,-90); pos9(vair,90);
+x2=.45[2u,x10]; rt x3r=hround(w-u); x4=.45[x1,x10];
+pos10(curve,0); rt x10r=hround(w-.5u); lft x8=.5w-u;
+y3=.35[top y7l,bot y2l]; top y8l=vround(.54h+.5vair); z8r=z9l;
+x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+pos5'(hair,-180); pos5(flare,-180);
+bot y4r=0; rt x5l=hround 2u; z5r=z5'r;
+y10=.45[bot y8r,top y4l]; y5=max(good.y .95(h-y1),y4l+eps);
+(x2l',y2l)=whatever[z2r,z1l]; x2l:=max(x2l',x2l-.5u);
+(x4l',y4l)=whatever[z4r,z5l]; x4l:=max(x4l',x4l-.5u);
+path p; p=z0..z1..{right}z2;
+filldraw stroke z1e{direction 1 of p}
+ ...pulled_arc.e(2,3)
+ & z3e{down}...z7e---z8e; % upper bowl
+filldraw stroke z9e---pulled_arc.e(9,10)
+ & pulled_super_arc.e(10,4)(.5superpull); % lower bowl
+bulb(4,5',5); %bulb
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,7,8,9,10,11,12,13); endchar;
+
+cmchar "Cyrillic italic letter i";
+beginchar(CYR_i,9.5u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
+y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter short i";
+beginchar(CYR_short_i,9.5u#,x_height#+3.5u#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
+y3=.7[y4,y5]; bot y4r=-oo; y5=.57x_height; y6+.5stem=x_height;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+penpos10(hair-fine,-90); penpos11(hair-fine,-180); penpos12(.5flare,-180);
+penpos13(hair-fine,-90); penpos14(hair-fine,0); penpos15(.5flare,0);
+x10=.5[x11,x14]; x11=.5w-2u; x14=w-x11;
+y10=y13=x_height+u; y11=y14=h-.5u; z13=z10;
+bulb(10,11,12); bulb(13,14,15); % bulbs
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "Cyrillic italic letter ka";
+beginchar(CYR_ka,9.5u#,x_height#,0);
+italcorr x_height#*slant;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
+hook_in(0,a,1); % opening hook
+filldraw circ_stroke z2e--z1e; % left stem
+pos3(vair,90); x3=x1; y3=bar_height;
+pos4(vair,90); x4=w-2u; top y4r=x_height+oo;
+filldraw stroke z3e{right}..{right}z4e; % upper diagonal
+pos5(hair,0); pos6(flare,0);
+rt x5r=hround(w-.5u); y5+.5flare=vround(bot y4l-.03x_height);
+bulb(4,5,6); % bulb
+pos7(stem,0); pos8(vair,90); pos9(hair,180);
+x9+.5hair=hround(w+.5hair-eps); y9=1/3x_height;
+lft x7l=hround(w-2.75u-.5stem); y7=1/2y3; x8=w-1.2u; bot y8l=-oo;
+filldraw stroke z3e{right}...z7e{down}
+ ...z8e{right}...{up}z9e; % lower diagonal
+math_fit(0,1/3x_height#*slant+.5hair#+.5u#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter el";
+beginchar(CYR_el,9u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x6=x7; x9=w; hook_out(7,8,9); % closing hook
+top y6=top y0=h; x0=lft x6r;
+filldraw stroke z6e--z7e; % right stem
+pickup tiny.nib; pos0(hair,-90); pos1(hair,0); pos2(hair,0);
+y1=.5h; rt x1r=hround(w-5.25u); x2=x1; y2=.21h;
+pos3(vair,-90); pos4(hair,-180); pos5(flare,-180);
+bot y3r=0; x3=.5[x4,x2]; y5=.25h; rt x5l=hround 2u; z5r=z4r;
+filldraw stroke pulled_arc.e(0,1) & z1e--z2e & super_arc.e(2,3); % arc
+bulb(3,4,5); % bulb
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter em";
+beginchar(CYR_em,12u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+numeric stem[]; % thicknesses of the four strokes
+stem1=hround(fudged.stem-4stem_corr);
+stem2=hround(fudged.hair-stem_corr);
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); top y6=h;
+x6=x7; x9=w; hook_out(7,8,9); % closing hook
+filldraw stroke z6e--z7e; % right stem
+pickup tiny.nib; pos1(hair,0); pos2(hair,0);
+top y1=h; rt x1r=hround(w-8.25u); x2=x1; y2=.21h;
+pos3(vair,-90); pos4(hair,-180); pos5(flare,-180);
+bot y3r=0; x3=.5[x4,x2]; y5=.25h; rt x5l=hround 2u; z5r=z4r;
+filldraw stroke z1e--z2e & super_arc.e(2,3); % left stem and arc
+bulb(3,4,5); % bulb
+penpos10(stem1,0); penpos11(stem1,0); penpos12(stem2,0); penpos13(stem2,0);
+x10l=x1; x11l=x12l; x13=lft x6l; x11-x10=x13-x12; y10=y13=h; y11=y12;
+y11=0; z0=whatever[z10r,z11r]=whatever[z12l,z13l];
+fill z10l..{z11-z10}diag_in(10l,11l,1,11r)
+ ..diag_out(12l,1,12r,13r){z13-z12}
+ ..z13r--diag_out(13r,1,13l,12l){z12-z13}..{z12-z13}z0{z10-z11}
+ ..{z10-z11}diag_in(11r,10r,1,10l)--cycle; % diagonals
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "Cyrillic italic letter en";
+beginchar(CYR_en,9.5u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
+hook_in(0,a,1); % opening hook
+filldraw circ_stroke z2e--z1e; % left stem
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); y6+.5stem=h;
+x6=x7; x9=w; hook_out(7,8,9); % closing hook
+filldraw circ_stroke z6e--z7e; % right stem
+penpos10(bar,90); penpos11(bar,90); x10=x1; x11=x6; y10=y11=.5h;
+fill stroke z10e--z11e; % bar
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
+
+cmchar "Cyrillic italic letter o";
+beginchar(CYR_o,9u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
+x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
+top y1r=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
+filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(1,2,3,4); endchar;
+
+cmchar "Cyrillic italic letter pe";
+beginchar(CYR_pe,10u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
+hook_in(0,a,1); % opening hook
+filldraw circ_stroke z2e--z1e; % left stem
+x4+.5stem=hround(w-2.5u+.5stem); x5=x4-.25u; ital_arch(2,3,4); % arch
+x7=w; hook_out(5,6,7)(skewed); % closing hook
+filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,a,1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter er";
+beginchar(CYR_er,9u#,x_height#,desc_depth#);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x2-.5stem=hround(2.5u-.5stem); hook_in(0,1,2); % opening hook
+pos4(hair,-180); pos5(vair,-90); pos6(curve,0); pos7(vair,90);
+x4=x2; rt x6r=hround(w-1.5u+.5curve); x5=x7=.5[x4,x6];
+bot y5r=-oo; top y7r=h+oo; y4=y6=.5[y5,y7];
+filldraw stroke super_arc.e(4,5) & pulled_arc.e(5,6)
+ & pulled_arc.e(6,7) & super_arc.e(7,4); % bowl
+pickup tiny.nib; pos2'(stem,0); pos3(stem,0);
+z2=z2'; x3=x2; bot y3=-d; filldraw stroke z2'e--z3e; % stem
+dish_serif(3,2',a,1/3,.75jut,b,1/3,jut); % serif
+math_fit(-min(2/3x_height#*slant-.5hair#-.5u#,
+ 2u#-.5stem#-desc_depth#*slant),ic#);
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter es";
+beginchar(CYR_es,8u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos0(flare,0); pos1(hair,0); pos2(vair,90);
+pos3(curve,180); pos4(vair,270); pos5(hair,320);
+x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-u))+eps;
+lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
+y1=.5[bar_height,h]; top y2r=h+oo; bulb(2,1,0); % bulb
+bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height;
+path p; p=z4{right}..z5..z6;
+filldraw stroke pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter te";
+beginchar(CYR_te,15u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(if monospace:-1.5u#,-2u# else: 0,0 fi); pickup fine.nib;
+numeric shaved_stem; shaved_stem=mfudged.stem;
+save stem; stem=shaved_stem;
+pos2(stem,0); x1=x2;
+if monospace: pos1(stem,0); lft x1l=hround(2.5u-.5stem); top y1=h;
+else: x0=0; lft x2l=hround(2.5u-.5stem);
+ hook_in(0,a,1); fi % opening hook
+y2-.5stem=-oo; filldraw circ_stroke z2e--z1e; % left stem
+x4+.5stem=hround(.5w+.5stem); ital_arch(2,3,4); % left arch
+pos5(stem,0); y5=y2; x5=x4;
+filldraw circ_stroke z5e--z4e; % middle stem
+x7+.5stem=hround(w-2.5u+.5stem);
+x8=x7-.25u; ital_arch(5,6,7); % right arch
+if monospace: pos9(vair,90); x9=good.x .5[x8,w]; bot y9l=0; y8=1/3h;
+ pos8(stem,0); filldraw stroke z8e{-u,-x_height}...{right}z9e; % terminal
+else: x9=w; hook_out(8,b,9)(skewed); fi % closing hook
+filldraw stroke z7e{down}..{-u,-x_height}z8e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,a,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter ef";
+beginchar(CYR_ef,12u#,asc_height#,desc_depth#);
+italcorr asc_height#*slant+.75u#;
+adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
+numeric theta; z88=(.5w-.5u,h); z89=(.5w+.5u,-d); theta=angle(z88-z89);
+pos0(flare,0); pos1(hair,0); pos2(vair,90);
+pos3(.5[hair,stem],180); pos4(stem,theta+90);
+pos5(stem,theta-90); pos6(.5[hair,stem],0);
+pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
+rt x1r=hround(w-2u); lft x8r=hround 2u; x2=.6[x1,x4]; x7=.6[x8,x5];
+y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
+y4=.15[x_height,h]; y5=.4[-d,y4];
+z4=whatever[z88,z89]; z5=whatever[z88,z89];
+x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
+bulb(2,1,0); bulb(7,8,9); % bulbs
+filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper arc
+filldraw z4r--z5l--z5r--z4l--cycle; % stem
+filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower arc
+penpos10(hair,180); penpos11(vair,90); penpos12(curve,0);
+penpos13(vair,-90); penpos14(hair,0); penpos15(vair,90);
+penpos16(curve,180); penpos17(vair,270);
+x10=x14=.5w; y11r=y15r=x_height+o; y12=y16=.5[y11l,y13l]; y13r=y17r=-o;
+y10=y14=.5x_height; x11r=x13r=w-x15r=w-x17r=.5w+1.75u;
+x12r=w-x16r=hround(w-.5u);
+fill stroke super_arc.e(10,11) & pulled_arc.e(11,12)
+ & pulled_arc.e(12,13) & super_arc.e(13,10);
+fill stroke super_arc.e(14,15) & pulled_arc.e(15,16)
+ & pulled_arc.e(16,17) & super_arc.e(17,14);
+math_fit(desc_depth#*slant+u#,x_height#*slant);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,88,89); endchar;
+
+cmchar "Cyrillic italic letter u";
+beginchar(CYR_u,8.5u#,x_height#,desc_depth#);
+italcorr x_height#*slant+.5stem#-u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-1.5u+.5stem);
+pos7(stem,0); pos8(vair,-90);
+y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
+y7=0; bot y8r=-d-oo; x5=x6=x7; x8=.5w;
+pos9(hair,-180); pos10(flare,-180); y9=-.5d;
+lft x9r=hround(2.75u-.5flare); bulb(8,9,10); % bulb
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e---z7e...{left}z8e; % right stem and link
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-1/3x_height#*slant);
+penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "Cyrillic italic letter ha";
+beginchar(CYR_ha,6.5u#+max(1.5u#,flare#),x_height#,0);
+italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant+.25u#);
+adjust_fit(0,0); pickup fine.nib;
+pos0(hair,180); pos1(vair,90); pos2(stem,0);
+pos3(stem,-180); pos4(vair,-90); pos5(hair,0);
+y0=y2=2/3h; y3=y5=1/3h; top y1r=h+oo; bot y4r=-oo;
+rt x2r=hround(.5w+.5stem-eps); x2=x3;
+x0-.5hair=hround-.5hair; x5+.5hair=hround(w+.5hair-eps);
+x1=.5[x0,x2]; x4=.5[x3,x5];
+filldraw stroke z0e{up}...pulled_arc.e(1,2); % opening hook
+filldraw z2l--z3r--z3l--z2r--cycle; % stem
+filldraw stroke pulled_arc.e(3,4)...{up}z5e; % closing hook
+pos3'(hair,180); pos6(hair,180); pos7(vair,90);
+pos8(hair,0); pos9(flare,0);
+x3'l=x6l=x3l; y3'=y3; y6=3/4h; x7=.5[x8,x2]; top y7r=h+oo;
+rt x8r=hround(w-.25u); y8+.5flare=vround(bot y7l-.03x_height);
+filldraw stroke z3'e---z6e...{right}z7e; bulb(7,8,9); % upper link and bulb
+pos2'(hair,0); pos16(hair,0); pos17(vair,-90);
+pos18(hair,-180); pos19(flare,-180);
+x2'l=x16l=x2l; y2'=y2; y16=1/4h; x17=.5[x18,x3]; bot y17r=-oo;
+lft x18r=hround.25u; y18-.5flare=vround(top y17l+.03x_height);
+filldraw stroke z2'e---z16e...{left}z17e; bulb(17,18,19); % lower link and bulb
+math_fit(0,ic#); penlabels(0,1,2,3,4,5,6,7,8,9,16,17,18,19); endchar;
+
+cmchar "Cyrillic italic letter tse";
+beginchar(CYR_tse,9.5u#,x_height#,desc_depth#-u#);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w;
+pos7(stem,0); pos8(vair,90);
+x9:=hround(x9+.5hair-eps)-.5hair; pos9(hair,180);
+y7=1/4x_height; bot y8l=-oo; y9=1/3x_height; x8=x7+1.5u;
+path p,p.l,p.r;
+forsuffixes $=r,l: p.$=z7${down}...z8${right}
+ ...{x9-(x7+2.5u),x_height}z9$; endfor;
+p=p.r--reverse p.l--cycle;
+filldraw p; % closing hook;
+y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+pos10(stem,-140); pos11(stem,-150);
+x11r=x10; x10r=.9[x7,x8]; x12=x8;
+y11=.5[y12,y10]; y10=-.25d; bot y12=-d;
+filldraw stroke (subpath (1.5,3.5) of p)..z10e..z11e..z12;
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+cmchar "Cyrillic italic letter che";
+beginchar(CYR_che,9.5u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.2u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
+y3=.7[y4,y5]; bot y4r=.325h; y5=.7h; y6+.5stem=h;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter sha";
+beginchar(CYR_sha,14.5u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); pos6(stem,-180); pos7(stem,-180);
+pos8(vair,-90); pos9(hair,0); pos10(stem,0);
+x4=.5[x3,x5]; x6=.5w; x8=.5[x5,x9]; rt x10r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=x10=x11; x13=w; hook_out(11,12,13); % closing hook
+y3=.7[y4,y5]; bot y4r=bot y8r=-oo; y5=y9=.57h; y7=y11;
+y6+.5stem=h; y10=y6;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e
+ ...super_arc.e(7,8)...{up}z9e; % middle stem and arc
+filldraw circ_stroke z10e--z11e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "Cyrillic italic letter shcha";
+beginchar(CYR_shcha,14.5u#,x_height#,desc_depth#-u#);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); pos6(stem,-180); pos7(stem,-180);
+pos8(vair,-90); pos9(hair,0); pos10(stem,0);
+x4=.5[x3,x5]; x6=.5w; x8=.5[x5,x9]; rt x10r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=x10=x11; x13=w;
+pos11(stem,0); pos12(vair,90);
+x13:=hround(x13+.5hair-eps)-.5hair; pos13(hair,180);
+y11=1/4x_height; bot y12l=-oo; y13=1/3x_height; x12=x11+1.5u;
+path p,p.l,p.r;
+forsuffixes $=r,l: p.$=z11${down}...z12${right}
+ ...{x13-(x11+2.5u),x_height}z13$; endfor;
+p=p.r--reverse p.l--cycle;
+filldraw p; % closing hook;
+y3=.7[y4,y5]; bot y4r=bot y8r=-oo; y5=y9=.57h; y7=y11;
+y6+.5stem=h; y10=y6;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e
+ ...super_arc.e(7,8)...{up}z9e; % middle stem and arc
+filldraw circ_stroke z10e--z11e; % right stem
+pos14(stem,-140); pos15(stem,-150);
+x15r=x14; x14r=.9[x11,x12]; x16=x12;
+y15=.5[y16,y14]; y14=-.25d; bot y16=-d;
+filldraw stroke (subpath (1.5,3.5) of p)..z14e..z15e..z16;
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar;
+
+cmchar "Cyrillic italic letter soft_sign";
+beginchar(CYR_soft_sign,8u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup tiny.nib;
+numeric x_bowl; x_bowl=2/3h;
+pos1(stem,0); pos2(stem,0); x1=x2;
+lft x1l=hround(1.5u-.5stem); top y1=h; y2=.5x_bowl;
+filldraw stroke z1e--z2e; % stem
+sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif
+pickup fine.nib; pos2'(stem,-180); pos3(vair,-90);
+pos4(curve,0); pos5(vair,90); pos0(hair,180);
+z0=z2=z2'; x3=x5=.5[x2,x4]; rt x4r=hround(8u-1.5u+.5curve);
+bot y3r=-oo; top y5r=x_bowl+oo; y4=y2;
+filldraw stroke pulled_arc.e(2',3) & pulled_arc.e(3,4)
+ & pulled_arc.e(4,5) & super_arc.e(5,0); % bowl
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "Cyrillic italic letter hard_sign";
+beginchar(CYR_hard_sign,12u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup tiny.nib;
+numeric x_bowl; x_bowl=.52h;
+pos1(vair,0); pos2(stem,0); x1=x2;
+lft x1l=hround(5.5u-.5stem); top y1=h+oo; y2=.5x_bowl;
+filldraw stroke z1e--z2e; % stem
+pickup fine.nib; pos2'(stem,-180); pos3(vair,-90);
+pos4(curve,0); pos5(vair,90); pos0(hair,180);
+z0=z2=z2'; x3=x5=.5[x2,x4]; rt x4r=hround(w-1.5u+.5curve);
+bot y3r=-oo; top y5r=x_bowl+oo; y4=y2;
+filldraw stroke pulled_arc.e(2',3) & pulled_arc.e(3,4)
+ & pulled_arc.e(4,5) & super_arc.e(5,0); % bowl
+pos1'(vair,0); pos6(vstem,-90); pos6'(vstem,90); pos7(vair,180);
+z1'=z1; x6=.5[x7,x1]; top y6l=h+oo; z6'=z6; lft x7r=0; y7=h-1.75u;
+filldraw stroke pulled_arc.e(1',6);
+filldraw stroke pulled_arc.e(6',7);
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter yeru";
+beginchar(CYR_yeru,12u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup tiny.nib;
+numeric x_bowl; x_bowl=2/3h;
+pos1(stem,0); pos2(stem,0); x1=x2;
+lft x1l=hround(1.5u-.5stem); top y1r=h+oo; y2=.5x_bowl;
+filldraw stroke z1e--z2e; % stem
+sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif
+pickup fine.nib; pos2'(stem,-180); pos3(vair,-90);
+pos4(curve,0); pos5(vair,90); pos0(hair,180);
+z0=z2=z2'; x3=x5=.5[x2,x4]; rt x4r=hround(8u-1.5u+.5curve);
+bot y3r=-oo; top y5r=x_bowl+oo; y4=y2;
+filldraw stroke pulled_arc.e(2',3) & pulled_arc.e(3,4)
+ & pulled_arc.e(4,5) & super_arc.e(5,0); % bowl
+pickup fine.nib; x7-.5stem=hround(9.5u-.5stem); x9=w;
+hook_out(7,8,9); % closing hook
+pickup tiny.nib; pos6(stem,0); pos7'(stem,0); z7'=z7;
+top y6=h; x6=x7; filldraw stroke z6e--z7e; % stem
+sloped_serif.l(6,7,b,1/3,jut,serif_drop); % serif
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter e";
+beginchar(CYR_e,8u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos0(flare,180); pos1(hair,180); pos2(vair,-90);
+pos3(curve,0); pos4(vair,90); pos5(hair,140);
+x2=x4=.5(w-u); lft x1r=.25u;
+rt x3r=hround(w-1.5u+.5curve); x5r=good.x(eps); x6=x5;
+y1=.52[0,h-bar_height]; bot y2r=-oo; bulb(2,1,0); % bulb
+top y4r=h+oo; y3=.5[y2,y4]; bot y5l=vround h-.5bar_height; y6=h-bar_height;
+path p; p=z4{left}..z5..z6;
+filldraw stroke pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+penpos7(bar,90); penpos8(bar,90);
+x7=x3; y7=.52h; y8=y7; x8=.5w-hround(u);
+fill stroke z7e--z8e; % bar
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter yu";
+beginchar(CYR_yu,13u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
+hook_in(0,a,1); % opening hook
+filldraw circ_stroke z2e--z1e; % left stem
+pos3(vair,90); pos4(curve,180); pos5(vair,270); pos6(curve,360);
+x3=x5=w-4.5u; rt x6r=hround(w-1.5u+.5curve); x4=w-(x6-4u);
+top y3r=h+oo; y4=y6=.5[y3,y5]; bot y5r=-oo;
+filldraw stroke pulled_arc.e(3,4) & pulled_arc.e(4,5)
+ & pulled_arc.e(5,6) & pulled_arc.e(6,3); % bowl
+penpos4'(bar,90); penpos7(bar,90); z4'=z4; x7=x1; y7=y4';
+fill stroke z4'e--z7e; % bar
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(1,2,3,4,4',5,6,7); endchar;
+
+cmchar "Cyrillic italic letter ya";
+beginchar(CYR_ya,8u#+.5max(2u#,curve#),x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0);
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+rt x1r=rt x2r=w-hround(2.5u-.5stem'); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(curve if hefty:-3stem_corr fi,180);
+penpos6(vair,-90); penpos7(vair,-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7;
+x7=x2; y7=.5h; x4=x6;
+if serifs: x4=.5w+.5u; x5r=hround(1.5u);
+else: x4=.5w-.5u; x5l=hround(.75u); fi
+x4l:=x6l:=x4+.125curve;
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+pos6'(vair,-90); pos0(stem,0);
+pos8(curve,0); pos9(vair,-90); pos10(hair,180);
+z6'=z6; rt x0r=rt x8r=hround(x5+2/3u+.5curve);
+y8=1/3[y2,y7]; y0=3/5[y2,y7]; x9=.5[x8l,x10r];
+bot y9l=0; lft x10r=hround(.05u); y10=1/4[y2,y7];
+filldraw stroke z6'e{left}..z0e---z8e....z9e{left}..z10e{up}; % tail
+nodish_serif(1,2,a,1/3,.5jut,b,1/3,jut); % upper serif
+dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower serif
+math_fit(-min(2/3x_height#*slant-.5hair#-.5u#,
+ 2u#-.5stem#-desc_depth#*slant),ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
diff --git a/fonts/cyrillic/cmcyr/mf/cmcb10.mf b/fonts/cyrillic/cmcyr/mf/cmcb10.mf
new file mode 100644
index 0000000000..9a6d975430
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcb10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Roman 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCB"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=10/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=247/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=85/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=17/36pt#; % lowercase hairline breadth
+stem#:=41/36pt#; % lowercase stem breadth
+curve#:=46/36pt#; % lowercase curve breadth
+ess#:=38/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=56/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=51/36pt#; % uppercase stem breadth
+cap_curve#:=55/36pt#; % uppercase curve breadth
+cap_ess#:=53/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=13/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=17/36pt#; % lowercase bar thickness
+slab#:=17/36pt#; % serif and arm thickness
+cap_bar#:=17/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=3/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcbx10.mf b/fonts/cyrillic/cmcyr/mf/cmcbx10.mf
new file mode 100644
index 0000000000..a8defd5280
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcbx10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 10pt#;
+
+u#:=23/36pt#; % unit width
+width_adj#:=11/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=7/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=247/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=85/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=17/36pt#; % lowercase hairline breadth
+stem#:=41/36pt#; % lowercase stem breadth
+curve#:=46/36pt#; % lowercase curve breadth
+ess#:=38/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=56/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=51/36pt#; % uppercase stem breadth
+cap_curve#:=55/36pt#; % uppercase curve breadth
+cap_ess#:=53/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=39/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=13/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=17/36pt#; % lowercase bar thickness
+slab#:=17/36pt#; % serif and arm thickness
+cap_bar#:=17/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=3/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcbx12.mf b/fonts/cyrillic/cmcyr/mf/cmcbx12.mf
new file mode 100644
index 0000000000..87db272dca
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcbx12.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended Roman 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 12pt#;
+
+u#:=27/36pt#; % unit width
+width_adj#:=13/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=296.4/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=192/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=102/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10.5/36pt#; % width of extrafine details
+hair#:=18.3/36pt#; % lowercase hairline breadth
+stem#:=47/36pt#; % lowercase stem breadth
+curve#:=52/36pt#; % lowercase curve breadth
+ess#:=44/36pt#; % breadth in middle of lowercase s
+flare#:=51/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=62/36pt#; % diameter of dots
+cap_hair#:=20/36pt#; % uppercase hairline breadth
+cap_stem#:=57/36pt#; % uppercase stem breadth
+cap_curve#:=61/36pt#; % uppercase curve breadth
+cap_ess#:=59/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.66pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=12/36pt#; % vertical distance from serif base to tangent
+jut#:=30/36pt#; % protrusion of lowercase serifs
+cap_jut#:=46/36pt#; % protrusion of uppercase serifs
+beak_jut#:=12.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=14.3/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=18.5/36pt#; % lowercase bar thickness
+slab#:=18.5/36pt#; % serif and arm thickness
+cap_bar#:=18.5/36pt#; % uppercase bar thickness
+cap_band#:=18.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcbx5.mf b/fonts/cyrillic/cmcyr/mf/cmcbx5.mf
new file mode 100644
index 0000000000..419684ea0d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcbx5.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended Roman 5 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 5pt#;
+
+u#:=14.5/36pt#; % unit width
+width_adj#:=7/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=3/36pt#; % extra space added to all sidebars
+
+body_height#:=135/36pt#; % height of tallest characters
+asc_height#:=125/36pt#; % height of lowercase ascenders
+cap_height#:=123.5/36pt#; % height of caps
+fig_height#:=116/36pt#; % height of numerals
+x_height#:=80/36pt#; % height of lowercase without ascenders
+math_axis#:=45/36pt#; % axis of symmetry for math symbols
+bar_height#:=40/36pt#; % height of crossbar in lowercase e
+comma_depth#:=35/36pt#; % depth of comma below baseline
+desc_depth#:=35/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=9/36pt#; % diameter of rounded corners
+fine#:=8/36pt#; % diameter of sharply rounded corners
+thin_join#:=8/36pt#; % width of extrafine details
+hair#:=15/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=27/36pt#; % lowercase curve breadth
+ess#:=19/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=31/36pt#; % diameter of dots
+cap_hair#:=17/36pt#; % uppercase hairline breadth
+cap_stem#:=28/36pt#; % uppercase stem breadth
+cap_curve#:=31/36pt#; % uppercase curve breadth
+cap_ess#:=24/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.43pt#; % thickness of lines in math symbols
+
+dish#:=.7/36pt#; % amount erased at top or bottom of serifs
+bracket#:=5/36pt#; % vertical distance from serif base to tangent
+jut#:=13/36pt#; % protrusion of lowercase serifs
+cap_jut#:=19/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7/36pt#; % horizontal protrusion of beak serifs
+beak#:=25/36pt#; % vertical protrusion of beak serifs
+vair#:=10/36pt#; % vertical diameter of hairlines
+notch_cut#:=5pt#; % maximum breadth above or below notches
+bar#:=12/36pt#; % lowercase bar thickness
+slab#:=12/36pt#; % serif and arm thickness
+cap_bar#:=12/36pt#; % uppercase bar thickness
+cap_band#:=12/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=5pt#; % max breadth above/below uppercase notches
+serif_drop#:=1.5/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.5/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=9/36pt#; % extra width at diagonal junctions
+
+o#:=3/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcbx6.mf b/fonts/cyrillic/cmcyr/mf/cmcbx6.mf
new file mode 100644
index 0000000000..9c3916a9a7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcbx6.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended Roman 6 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 6pt#;
+
+u#:=16.2/36pt#; % unit width
+width_adj#:=7.8/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=2/36pt#; % extra space added to all sidebars
+
+body_height#:=162/36pt#; % height of tallest characters
+asc_height#:=150/36pt#; % height of lowercase ascenders
+cap_height#:=148.2/36pt#; % height of caps
+fig_height#:=139.2/36pt#; % height of numerals
+x_height#:=96/36pt#; % height of lowercase without ascenders
+math_axis#:=54/36pt#; % axis of symmetry for math symbols
+bar_height#:=49/36pt#; % height of crossbar in lowercase e
+comma_depth#:=42/36pt#; % depth of comma below baseline
+desc_depth#:=42/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=10/36pt#; % diameter of rounded corners
+fine#:=9/36pt#; % diameter of sharply rounded corners
+thin_join#:=9/36pt#; % width of extrafine details
+hair#:=15.4/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=31/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=31/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=36/36pt#; % diameter of dots
+cap_hair#:=18/36pt#; % uppercase hairline breadth
+cap_stem#:=33/36pt#; % uppercase stem breadth
+cap_curve#:=36/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.47pt#; % thickness of lines in math symbols
+
+dish#:=.8/36pt#; % amount erased at top or bottom of serifs
+bracket#:=6/36pt#; % vertical distance from serif base to tangent
+jut#:=15/36pt#; % protrusion of lowercase serifs
+cap_jut#:=23/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.8/36pt#; % horizontal protrusion of beak serifs
+beak#:=36/36pt#; % vertical protrusion of beak serifs
+vair#:=11/36pt#; % vertical diameter of hairlines
+notch_cut#:=6pt#; % maximum breadth above or below notches
+bar#:=13/36pt#; % lowercase bar thickness
+slab#:=13/36pt#; % serif and arm thickness
+cap_bar#:=13/36pt#; % uppercase bar thickness
+cap_band#:=13/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=6pt#; % max breadth above/below uppercase notches
+serif_drop#:=1.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.6/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.1/36pt#; % for small refinements of hairline height
+apex_corr#:=5/36pt#; % extra width at diagonal junctions
+
+o#:=3/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1.3; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcbx7.mf b/fonts/cyrillic/cmcyr/mf/cmcbx7.mf
new file mode 100644
index 0000000000..32a9beb88b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcbx7.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended Roman 7 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 7pt#;
+
+u#:=17.9/36pt#; % unit width
+width_adj#:=8.6/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=1/36pt#; % extra space added to all sidebars
+
+body_height#:=189/36pt#; % height of tallest characters
+asc_height#:=175/36pt#; % height of lowercase ascenders
+cap_height#:=172.9/36pt#; % height of caps
+fig_height#:=162.4/36pt#; % height of numerals
+x_height#:=112/36pt#; % height of lowercase without ascenders
+math_axis#:=63/36pt#; % axis of symmetry for math symbols
+bar_height#:=58/36pt#; % height of crossbar in lowercase e
+comma_depth#:=49/36pt#; % depth of comma below baseline
+desc_depth#:=49/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=11/36pt#; % diameter of rounded corners
+fine#:=9/36pt#; % diameter of sharply rounded corners
+thin_join#:=9/36pt#; % width of extrafine details
+hair#:=15.8/36pt#; % lowercase hairline breadth
+stem#:=32/36pt#; % lowercase stem breadth
+curve#:=35/36pt#; % lowercase curve breadth
+ess#:=29/36pt#; % breadth in middle of lowercase s
+flare#:=35/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=41/36pt#; % diameter of dots
+cap_hair#:=18/36pt#; % uppercase hairline breadth
+cap_stem#:=38/36pt#; % uppercase stem breadth
+cap_curve#:=41/36pt#; % uppercase curve breadth
+cap_ess#:=37/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.51pt#; % thickness of lines in math symbols
+
+dish#:=.9/36pt#; % amount erased at top or bottom of serifs
+bracket#:=7/36pt#; % vertical distance from serif base to tangent
+jut#:=17/36pt#; % protrusion of lowercase serifs
+cap_jut#:=27/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.6/36pt#; % horizontal protrusion of beak serifs
+beak#:=46/36pt#; % vertical protrusion of beak serifs
+vair#:=11.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=7pt#; % maximum breadth above or below notches
+bar#:=14/36pt#; % lowercase bar thickness
+slab#:=14/36pt#; % serif and arm thickness
+cap_bar#:=14/36pt#; % uppercase bar thickness
+cap_band#:=14/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.1/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.7/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.2/36pt#; % for small refinements of hairline height
+apex_corr#:=2/36pt#; % extra width at diagonal junctions
+
+o#:=3/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1.1; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcbx8.mf b/fonts/cyrillic/cmcyr/mf/cmcbx8.mf
new file mode 100644
index 0000000000..60e5f58849
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcbx8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended Roman 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 8pt#;
+
+u#:=19.6/36pt#; % unit width
+width_adj#:=9.4/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.4/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=197.6/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=128/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=67/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=12/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=16.2/36pt#; % lowercase hairline breadth
+stem#:=35/36pt#; % lowercase stem breadth
+curve#:=39/36pt#; % lowercase curve breadth
+ess#:=32/36pt#; % breadth in middle of lowercase s
+flare#:=39/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=46/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=43/36pt#; % uppercase stem breadth
+cap_curve#:=46/36pt#; % uppercase curve breadth
+cap_ess#:=43/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.54pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=8/36pt#; % vertical distance from serif base to tangent
+jut#:=19/36pt#; % protrusion of lowercase serifs
+cap_jut#:=31/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=55/36pt#; % vertical protrusion of beak serifs
+vair#:=12/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=15/36pt#; % lowercase bar thickness
+slab#:=15/36pt#; % serif and arm thickness
+cap_bar#:=15/36pt#; % uppercase bar thickness
+cap_band#:=15/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.8/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.3/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.9; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcbx9.mf b/fonts/cyrillic/cmcyr/mf/cmcbx9.mf
new file mode 100644
index 0000000000..d49d6ad1f0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcbx9.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended Roman 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 9pt#;
+
+u#:=21.3/36pt#; % unit width
+width_adj#:=10.2/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=6.2/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=222.3/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=144/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=76/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=16.6/36pt#; % lowercase hairline breadth
+stem#:=38/36pt#; % lowercase stem breadth
+curve#:=43/36pt#; % lowercase curve breadth
+ess#:=35/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=51/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=47/36pt#; % uppercase stem breadth
+cap_curve#:=51/36pt#; % uppercase curve breadth
+cap_ess#:=48/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.57pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=9/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=35/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=12.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=16/36pt#; % lowercase bar thickness
+slab#:=16/36pt#; % serif and arm thickness
+cap_bar#:=16/36pt#; % uppercase bar thickness
+cap_band#:=16/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.7/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.9/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.4/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.7; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcbxsl1.mf b/fonts/cyrillic/cmcyr/mf/cmcbxsl1.mf
new file mode 100644
index 0000000000..f65fb1f343
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcbxsl1.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended Slanted 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBXSL"; font_size 10pt#;
+
+u#:=23/36pt#; % unit width
+width_adj#:=11/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=7/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=247/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=85/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=17/36pt#; % lowercase hairline breadth
+stem#:=41/36pt#; % lowercase stem breadth
+curve#:=46/36pt#; % lowercase curve breadth
+ess#:=38/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=56/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=51/36pt#; % uppercase stem breadth
+cap_curve#:=55/36pt#; % uppercase curve breadth
+cap_ess#:=53/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=39/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=13/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=17/36pt#; % lowercase bar thickness
+slab#:=17/36pt#; % serif and arm thickness
+cap_bar#:=17/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=3/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcbxti1.mf b/fonts/cyrillic/cmcyr/mf/cmcbxti1.mf
new file mode 100644
index 0000000000..a2dcfd9048
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcbxti1.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended Text Italic 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBXTI"; font_size 10pt#;
+
+u#:=21.2/36pt#; % unit width
+width_adj#:=11/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=7/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=11/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=247/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=85/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=13/36pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=20/36pt#; % lowercase hairline breadth
+stem#:=38/36pt#; % lowercase stem breadth
+curve#:=43/36pt#; % lowercase curve breadth
+ess#:=35/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=53/36pt#; % diameter of dots
+cap_hair#:=22/36pt#; % uppercase hairline breadth
+cap_stem#:=49/36pt#; % uppercase stem breadth
+cap_curve#:=52/36pt#; % uppercase curve breadth
+cap_ess#:=50/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=27/36pt#; % protrusion of lowercase serifs
+cap_jut#:=39/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=13/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=17/36pt#; % lowercase bar thickness
+slab#:=17/36pt#; % serif and arm thickness
+cap_bar#:=17/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=3/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmccsc10.mf b/fonts/cyrillic/cmcyr/mf/cmccsc10.mf
new file mode 100644
index 0000000000..fd02da53be
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmccsc10.mf
@@ -0,0 +1,110 @@
+% Computer Modern Cyrillic Caps and Small Caps 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCCSC"; font_size 10pt#;
+
+% first come parameters used to set the uppercase letters
+% (including some for lowercase that aren't actually used)
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=5/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=16/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=4/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=2.4/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=200/36pt#; % height of tallest characters
+lower.cap_height#:=185/36pt#; % height of caps
+lower.x_height#:=116/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=65/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=52/36pt#; % depth of comma below baseline
+
+lower.flare#:=25/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=9.1/36pt#; % uppercase hairline breadth
+lower.stem#:=21/36pt#; % lowercase stem breadth
+lower.cap_stem#:=26/36pt#; % uppercase stem breadth
+lower.cap_curve#:=31/36pt#; % uppercase curve breadth
+lower.cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=26/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=7/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=52/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=9.1/36pt#; % serif and arm thickness
+lower.cap_bar#:=9.1/36pt#; % uppercase bar thickness
+lower.cap_band#:=9.1/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+
+lower.o#:=5/36pt#; % amount of overshoot for curves
+lower.apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate ccsc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmccsc8.mf b/fonts/cyrillic/cmcyr/mf/cmccsc8.mf
new file mode 100644
index 0000000000..c65ab1de89
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmccsc8.mf
@@ -0,0 +1,116 @@
+% CMCSC8.MF June 1990
+% This Metafont file is part of AMSFonts 2.0.
+% Copyright (C) 1990, American Mathematical Society.
+% All rights reserved. Copying of this file is authorized only if either:
+% (1) you make absolutely no changes to your copy including filename; OR
+% (2) if you do make changes, you first rename it to some other filename.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Computer Modern Cyrillic Caps and Small Caps 8 point
+% Computer Modern Roman Cap and Small Cap 8 point; created at AMS
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCCSC"; font_size 8pt#;
+
+u#:=18/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=2.5/36pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=25.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=9.5/36pt#; % uppercase hairline breadth
+cap_stem#:=26.5/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=29/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=13/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=2.7/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=4/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=146/36pt#; % height of tallest characters
+lower.cap_height#:=145.8/36pt#; % height of caps
+lower.x_height#:=85/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=47.6/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=38/36pt#; % depth of comma below baseline
+
+lower.flare#:=20/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=8.1/36pt#; % uppercase hairline breadth
+lower.stem#:=17/36pt#; % lowercase stem breadth
+lower.cap_stem#:=21/36pt#; % uppercase stem breadth
+lower.cap_curve#:=25/36pt#; % uppercase curve breadth
+lower.cap_ess#:=20/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=20/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=5.4/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=38/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=8.1/36pt#; % serif and arm thickness
+lower.cap_bar#:=8.1/36pt#; % uppercase bar thickness
+lower.cap_band#:=8.1/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+
+lower.o#:=4/36pt#; % amount of overshoot for curves
+lower.apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate ccsc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmccsc9.mf b/fonts/cyrillic/cmcyr/mf/cmccsc9.mf
new file mode 100644
index 0000000000..90620bbdfa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmccsc9.mf
@@ -0,0 +1,116 @@
+% CMCSC9.MF June 1990
+% This Metafont file is part of AMSFonts 2.0.
+% Copyright (C) 1990, American Mathematical Society.
+% All rights reserved. Copying of this file is authorized only if either:
+% (1) you make absolutely no changes to your copy including filename; OR
+% (2) if you do make changes, you first rename it to some other filename.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Computer Modern Cyrillic Caps and Small Caps 9 point; base on
+% Computer Modern Roman Caps and Small Caps 9 point; created at AMS
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCCSC"; font_size 9pt#;
+
+u#:=19/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=3.5/36pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=10/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=33/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=33/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=14.5/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=3.4/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=3.5/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=173/36pt#; % height of tallest characters
+lower.cap_height#:=170.4/36pt#; % height of caps
+lower.x_height#:=100.5/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=56.3/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=45/36pt#; % depth of comma below baseline
+
+lower.flare#:=22/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=8.6/36pt#; % uppercase hairline breadth
+lower.stem#:=19/36pt#; % lowercase stem breadth
+lower.cap_stem#:=23.5/36pt#; % uppercase stem breadth
+lower.cap_curve#:=28/36pt#; % uppercase curve breadth
+lower.cap_ess#:=24/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=23/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=6.2/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=45/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=8.6/36pt#; % serif and arm thickness
+lower.cap_bar#:=8.6/36pt#; % uppercase bar thickness
+lower.cap_band#:=8.6/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+
+lower.o#:=4.5/36pt#; % amount of overshoot for curves
+lower.apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate ccsc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcinch.mf b/fonts/cyrillic/cmcyr/mf/cmcinch.mf
new file mode 100644
index 0000000000..77d17a40cf
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcinch.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Inch-High Sans Serif Bold Extended Caps and Digits
+if unknown cmbase: input cmbase fi
+numeric Pt#; 250/36Pt#=1in#;
+font_identifier:="CMCINCH"; font_size 10Pt#;
+
+u#:=22/36Pt#; % unit width
+width_adj#:=22/36Pt#; % width adjustment for certain characters
+serif_fit#:=-9/36Pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-11/36Pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0Pt#; % extra space added to all sidebars
+
+body_height#:=270/36Pt#; % height of tallest characters
+asc_height#:=250/36Pt#; % height of lowercase ascenders
+cap_height#:=250/36Pt#; % height of caps
+fig_height#:=250/36Pt#; % height of numerals
+x_height#:=165/36Pt#; % height of lowercase without ascenders
+math_axis#:=90/36Pt#; % axis of symmetry for math symbols
+bar_height#:=90/36Pt#; % height of crossbar in lowercase e
+comma_depth#:=38/36Pt#; % depth of comma below baseline
+desc_depth#:=70/36Pt#; % depth of lowercase descenders
+
+crisp#:=26/36Pt#; % diameter of serif corners
+tiny#:=26/36Pt#; % diameter of rounded corners
+fine#:=9/36Pt#; % diameter of sharply rounded corners
+thin_join#:=9/36Pt#; % width of extrafine details
+hair#:=49/36Pt#; % lowercase hairline breadth
+stem#:=49/36Pt#; % lowercase stem breadth
+curve#:=49/36Pt#; % lowercase curve breadth
+ess#:=43/36Pt#; % breadth in middle of lowercase s
+flare#:=40/36Pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=47/36Pt#; % diameter of dots
+cap_hair#:=49/36Pt#; % uppercase hairline breadth
+cap_stem#:=53/36Pt#; % uppercase stem breadth
+cap_curve#:=53/36Pt#; % uppercase curve breadth
+cap_ess#:=51/36Pt#; % breadth in middle of uppercase s
+rule_thickness#:=30/36Pt#; % thickness of lines in math symbols
+
+dish#:=0Pt#; % amount erased at top or bottom of serifs
+bracket#:=0Pt#; % vertical distance from serif base to tangent
+jut#:=0Pt#; % protrusion of lowercase serifs
+cap_jut#:=0Pt#; % protrusion of uppercase serifs
+beak_jut#:=0Pt#; % horizontal protrusion of beak serifs
+beak#:=1.5/36Pt#; % vertical protrusion of beak serifs
+vair#:=26/36Pt#; % vertical diameter of hairlines
+notch_cut#:=49/36Pt#; % maximum breadth above or below notches
+bar#:=26/36Pt#; % lowercase bar thickness
+slab#:=36/36Pt#; % serif and arm thickness
+cap_bar#:=34/36Pt#; % uppercase bar thickness
+cap_band#:=31/36Pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=45/36Pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36Pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36Pt#; % for small refinements of stem breadth
+vair_corr#:=2/36Pt#; % for small refinements of hairline height
+apex_corr#:=18/36Pt#; % extra width at diagonal junctions
+
+o#:=8/36Pt#; % amount of overshoot for curves
+apex_o#:=0Pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.88; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=3/4; % parameter for superellipses
+superpull:=1/18; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytitle % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcitt10.mf b/fonts/cyrillic/cmcyr/mf/cmcitt10.mf
new file mode 100644
index 0000000000..17abe2b1ee
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcitt10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Italic Typewriter Text for use with 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCITT"; font_size 10pt#;
+
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=15/36pt#; % extra space added to all sidebars
+
+body_height#:=250/36pt#; % height of tallest characters
+asc_height#:=220/36pt#; % height of lowercase ascenders
+cap_height#:=220/36pt#; % height of caps
+fig_height#:=220/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=110/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=50/36pt#; % depth of comma below baseline
+desc_depth#:=80/36pt#; % depth of lowercase descenders
+
+crisp#:=22/36pt#; % diameter of serif corners
+tiny#:=22/36pt#; % diameter of rounded corners
+fine#:=21/36pt#; % diameter of sharply rounded corners
+thin_join#:=21/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=22/36pt#; % breadth in middle of lowercase s
+flare#:=32/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=36/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=25/36pt#; % uppercase stem breadth
+cap_curve#:=25/36pt#; % uppercase curve breadth
+cap_ess#:=25/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=25/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=40/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=34/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=25/36pt#; % maximum breadth above or below notches
+bar#:=22/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=22/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=10/36pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsc10.mf b/fonts/cyrillic/cmcyr/mf/cmcsc10.mf
new file mode 100644
index 0000000000..a18894f98d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsc10.mf
@@ -0,0 +1,110 @@
+% Computer Modern Roman Caps and Small Caps 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size 10pt#;
+
+% first come parameters used to set the uppercase letters
+% (including some for lowercase that aren't actually used)
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=5/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=16/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=4/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=2.4/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=200/36pt#; % height of tallest characters
+lower.cap_height#:=185/36pt#; % height of caps
+lower.x_height#:=116/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=65/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=52/36pt#; % depth of comma below baseline
+
+lower.flare#:=25/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=9.1/36pt#; % uppercase hairline breadth
+lower.stem#:=21/36pt#; % lowercase stem breadth
+lower.cap_stem#:=26/36pt#; % uppercase stem breadth
+lower.cap_curve#:=31/36pt#; % uppercase curve breadth
+lower.cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=26/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=7/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=52/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=9.1/36pt#; % serif and arm thickness
+lower.cap_bar#:=9.1/36pt#; % uppercase bar thickness
+lower.cap_band#:=9.1/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+
+lower.o#:=5/36pt#; % amount of overshoot for curves
+lower.apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsc11.mf b/fonts/cyrillic/cmcyr/mf/cmcsc11.mf
new file mode 100644
index 0000000000..c4bf1617e9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsc11.mf
@@ -0,0 +1,109 @@
+% This is CMCSC11.MF in text format, as of Aug 26, 1986.
+% Computer Modern Caps and Small Caps 11 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size 11pt#;
+
+u#:=21.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.4/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=297/36pt#; % height of tallest characters
+asc_height#:=275/36pt#; % height of lowercase ascenders
+cap_height#:=270.6/36pt#; % height of caps
+fig_height#:=255.2/36pt#; % height of numerals
+x_height#:=170.5/36pt#; % height of lowercase without ascenders
+math_axis#:=99/36pt#; % axis of symmetry for math symbols
+bar_height#:=95.7/36pt#; % height of crossbar in lowercase e
+comma_depth#:=77/36pt#; % depth of comma below baseline
+desc_depth#:=77/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7.5/36pt#; % width of extrafine details
+hair#:=9.5/36pt#; % lowercase hairline breadth
+stem#:=25.67/36pt#; % lowercase stem breadth
+curve#:=30.25/36pt#; % lowercase curve breadth
+ess#:=27.5/36pt#; % breadth in middle of lowercase s
+flare#:=34.5/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38.5/36pt#; % diameter of dots
+cap_hair#:=11.15/36pt#; % uppercase hairline breadth
+cap_stem#:=32.1/36pt#; % uppercase stem breadth
+cap_curve#:=38.4/36pt#; % uppercase curve breadth
+cap_ess#:=39.5/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.41pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=22/36pt#; % vertical distance from serif base to tangent
+jut#:=30.25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37.58/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10.45/36pt#; % horizontal protrusion of beak serifs
+beak#:=77/36pt#; % vertical protrusion of beak serifs
+vair#:=8.2/36pt#; % vertical diameter of hairlines
+notch_cut#:=11pt#; % maximum breadth above or below notches
+bar#:=11.46/36pt#; % lowercase bar thickness
+slab#:=11.46/36pt#; % serif and arm thickness
+cap_bar#:=11.46/36pt#; % uppercase bar thickness
+cap_band#:=11.46/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=11pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8.25/36pt#; % amount of overshoot for curves
+apex_o#:=8.25/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.08; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=17/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=4.3/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=2.6/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=219/36pt#; % height of tallest characters
+lower.cap_height#:=203/36pt#; % height of caps
+lower.x_height#:=127/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=71/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=57/36pt#; % depth of comma below baseline
+
+lower.flare#:=26/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=9.2/36pt#; % uppercase hairline breadth
+lower.stem#:=21.56/36pt#; % lowercase stem breadth
+lower.cap_stem#:=26/36pt#; % uppercase stem breadth
+lower.cap_curve#:=32/36pt#; % uppercase curve breadth
+lower.cap_ess#:=31.6/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=26.3/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=7.3/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=56/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=9.4/36pt#; % serif and arm thickness
+lower.cap_bar#:=9.4/36pt#; % uppercase bar thickness
+lower.cap_band#:=9.4/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=11pt#; % max breadth above/below uppercase notches
+
+lower.o#:=5.15/36pt#; % amount of overshoot for curves
+lower.apex_o#:=4.12/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsc12.mf b/fonts/cyrillic/cmcyr/mf/cmcsc12.mf
new file mode 100644
index 0000000000..0f3bde5415
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsc12.mf
@@ -0,0 +1,109 @@
+% This is CMCSC12.MF in text format, as of August 26, 1986.
+% Computer Modern Caps and Small Caps 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=295.2/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=104.4/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7.5/36pt#; % width of extrafine details
+hair#:=9.5/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=30/36pt#; % breadth in middle of lowercase s
+flare#:=36/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=42/36pt#; % diameter of dots
+cap_hair#:=11.5/36pt#; % uppercase hairline breadth
+cap_stem#:=35/36pt#; % uppercase stem breadth
+cap_curve#:=40/36pt#; % uppercase curve breadth
+cap_ess#:=38/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=24/36pt#; % vertical distance from serif base to tangent
+jut#:=33/36pt#; % protrusion of lowercase serifs
+cap_jut#:=41/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=8.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=12.5/36pt#; % lowercase bar thickness
+slab#:=12.5/36pt#; % serif and arm thickness
+cap_bar#:=12.5/36pt#; % uppercase bar thickness
+cap_band#:=12.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=9/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=18.8/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=2.88/36pt#; %extra space added to all sidebars
+
+lower.body_height#:=239/36pt#; % height of tallest characters
+lower.cap_height#:=222/36pt#; % height of caps
+lower.x_height#:=139/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=78/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=62/36pt#; % depth of comma below baseline
+
+lower.flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=9.5/36pt#; % uppercase hairline breadth
+lower.stem#:=23.5/36pt#; % lowercase stem breadth
+lower.cap_stem#:=28/36pt#; % uppercase stem breadth
+lower.cap_curve#:=33/36pt#; % uppercase curve breadth
+lower.cap_ess#:=30/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=28.7/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=7.98/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=62/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=10.3/36pt#; % serif and arm thickness
+lower.cap_bar#:=10.3/36pt#; % uppercase bar thickness
+lower.cap_band#:=10.3/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+
+lower.o#:=5.6/36pt#; % amount of overshoot for curves
+lower.apex_o#:=4.5/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsc14.mf b/fonts/cyrillic/cmcyr/mf/cmcsc14.mf
new file mode 100644
index 0000000000..c69e2a2474
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsc14.mf
@@ -0,0 +1,109 @@
+% This is CMCSC14.MF in text format, as of August 26, 1986.
+% Computer Modern Caps and Small Caps 14 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size 14pt#;
+
+u#:=27.4/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=6.77/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=378/36pt#; % height of tallest characters
+asc_height#:=350/36pt#; % height of lowercase ascenders
+cap_height#:=344.4/36pt#; % height of caps
+fig_height#:=324.8/36pt#; % height of numerals
+x_height#:=217/36pt#; % height of lowercase without ascenders
+math_axis#:=126/36pt#; % axis of symmetry for math symbols
+bar_height#:=121.8/36pt#; % height of crossbar in lowercase e
+comma_depth#:=98/36pt#; % depth of comma below baseline
+desc_depth#:=98/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=8.75/36pt#; % width of extrafine details
+hair#:=11.08/36pt#; % lowercase hairline breadth
+stem#:=32.66/36pt#; % lowercase stem breadth
+curve#:=38.5/36pt#; % lowercase curve breadth
+ess#:=35/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=45/36pt#; % diameter of dots
+cap_hair#:=13.4/36pt#; % uppercase hairline breadth
+cap_stem#:=40.8/36pt#; % uppercase stem breadth
+cap_curve#:=46.66/36pt#; % uppercase curve breadth
+cap_ess#:=44.33/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.51pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=28/36pt#; % vertical distance from serif base to tangent
+jut#:=38.5/36pt#; % protrusion of lowercase serifs
+cap_jut#:=47.8/36pt#; % protrusion of uppercase serifs
+beak_jut#:=13.3/36pt#; % horizontal protrusion of beak serifs
+beak#:=98/36pt#; % vertical protrusion of beak serifs
+vair#:=9.9/36pt#; % vertical diameter of hairlines
+notch_cut#:=14pt#; % maximum breadth above or below notches
+bar#:=14.58/36pt#; % lowercase bar thickness
+slab#:=14.58/36pt#; % serif and arm thickness
+cap_bar#:=14.58/36pt#; % uppercase bar thickness
+cap_band#:=14.58/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=14pt#; % max breadth above/below uppercase notches
+serif_drop#:=5.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=10.5/36pt#; % amount of overshoot for curves
+apex_o#:=10.5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=21.9/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=5.4/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=3.3/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=279/36pt#; % height of tallest characters
+lower.cap_height#:=259/36pt#; % height of caps
+lower.x_height#:=162/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=91/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=72.79/36pt#; % depth of comma below baseline
+
+lower.flare#:=31.8/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=11/36pt#; % up percase hairline breadth
+lower.stem#:=27/36pt#; % lowercase stem breadth
+lower.cap_stem#:=33/36pt#; % uppercase stem breadth
+lower.cap_curve#:=39/36pt#; % uppercase curve breadth
+lower.cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=33/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=9.3/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=72/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=12/36pt#; % seri f and arm thickness
+lower.cap_bar#:=12/36pt#; % upp ercase bar thickness
+lower.cap_band#:=12/36pt#; % up percase thickness above/below lobes
+lower.cap_notch_cut#:=14pt#; % max breadth above/below uppercase notches
+
+lower.o#:=6.5/36pt#; % amount of overshoot for curves
+lower.apex_o#:=5.25/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsc18.mf b/fonts/cyrillic/cmcyr/mf/cmcsc18.mf
new file mode 100644
index 0000000000..549f8f26bb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsc18.mf
@@ -0,0 +1,109 @@
+% This is CMCSC18.MF in text format, as of August 26, 1986.
+% Computer Modern Caps and Small Caps 18 point (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size 18pt#;
+
+u#:=35.25/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=8.7/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=-0.12pt#; % extra space added to all sidebars
+
+body_height#:=486/36pt#; % height of tallest characters
+asc_height#:=450/36pt#; % height of lowercase ascenders
+cap_height#:=443/36pt#; % height of caps
+fig_height#:=417.6/36pt#; % height of numerals
+x_height#:=279/36pt#; % height of lowercase without ascenders
+math_axis#:=162/36pt#; % axis of symmetry for math symbols
+bar_height#:=156.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=126/36pt#; % depth of comma below baseline
+desc_depth#:=126/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=10.7/36pt#; % width of extrafine details
+hair#:=14.25/36pt#; % lowercase hairline breadth
+stem#:=42/36pt#; % lowercase stem breadth
+curve#:=49.5/36pt#; % lowercase curve breadth
+ess#:=45/36pt#; % breadth in middle of lowercase s
+flare#:=54/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=63/36pt#; % diameter of dots
+cap_hair#:=17.25/36pt#; % uppercase hairline breadth
+cap_stem#:=52.5/36pt#; % uppercase stem breadth
+cap_curve#:=60/36pt#; % uppercase curve breadth
+cap_ess#:=57/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.66pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=36/36pt#; % vertical distance from serif base to tangent
+jut#:=49.5/36pt#; % protrusion of lowercase serifs
+cap_jut#:=61.5/36pt#; % protrusion of uppercase serifs
+beak_jut#:=17/36pt#; % horizontal protrusion of beak serifs
+beak#:=126/36pt#; % vertical protrusion of beak serifs
+vair#:=12.75/36pt#; % vertical diameter of hairlines
+notch_cut#:=18pt#; % maximum breadth above or below notches
+bar#:=18.75/36pt#; % lowercase bar thickness
+slab#:=18.75/36pt#; % serif and arm thickness
+cap_bar#:=18.75/36pt#; % uppercase bar thickness
+cap_band#:=18.75/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=18pt#; % max breadth above/below uppercase notches
+serif_drop#:=7.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=13.5/36pt#; % amount of overshoot for curves
+apex_o#:=13.5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.8; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=28/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=6.96/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=4.3/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=359.6/36pt#; % height of tallest characters
+lower.cap_height#:=333/36pt#; % height of caps
+lower.x_height#:=208.6/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=116.9/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=93.59/36pt#; % depth of comma below baseline
+
+lower.flare#:=40.9/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=14/36pt#; % up percase hairline breadth
+lower.stem#:=44/36pt#; % lowercase stem breadth
+lower.cap_stem#:=42.5/36pt#; % uppercase stem breadth
+lower.cap_curve#:=50/36pt#; % uppercase curve breadth
+lower.cap_ess#:=45.6/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=43/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=11.9/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=93/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=15.5/36pt#; % seri f and arm thickness
+lower.cap_bar#:=15.5/36pt#; % upp ercase bar thickness
+lower.cap_band#:=15.5/36pt#; % up percase thickness above/below lobes
+lower.cap_notch_cut#:=14pt#; % max breadth above/below uppercase notches
+
+lower.o#:=8.43/36pt#; % amount of overshoot for curves
+lower.apex_o#:=6.75/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsc24.mf b/fonts/cyrillic/cmcyr/mf/cmcsc24.mf
new file mode 100644
index 0000000000..111a78647c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsc24.mf
@@ -0,0 +1,109 @@
+% This is CMCSC24.MF in text format, as of August 26, 1986.
+% Computer Modern Caps and Small Caps 24 point (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size 24pt#;
+
+u#:=47/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=11.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=-0.12pt#; % extra space added to all sidebars
+
+body_height#:=648/36pt#; % height of tallest characters
+asc_height#:=600/36pt#; % height of lowercase ascenders
+cap_height#:=590.4/36pt#; % height of caps
+fig_height#:=556.8/36pt#; % height of numerals
+x_height#:=372/36pt#; % height of lowercase without ascenders
+math_axis#:=216/36pt#; % axis of symmetry for math symbols
+bar_height#:=208.8/36pt#; % height of crossbar in lowercase e
+comma_depth#:=168/36pt#; % depth of comma below baseline
+desc_depth#:=168/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=15/36pt#; % width of extrafine details
+hair#:=19/36pt#; % lowercase hairline breadth
+stem#:=56/36pt#; % lowercase stem breadth
+curve#:=66/36pt#; % lowercase curve breadth
+ess#:=60/36pt#; % breadth in middle of lowercase s
+flare#:=72/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=84/36pt#; % diameter of dots
+cap_hair#:=23/36pt#; % uppercase hairline breadth
+cap_stem#:=70/36pt#; % uppercase stem breadth
+cap_curve#:=80/36pt#; % uppercase curve breadth
+cap_ess#:=76/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.88pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=48/36pt#; % vertical distance from serif base to tangent
+jut#:=66/36pt#; % protrusion of lowercase serifs
+cap_jut#:=82/36pt#; % protrusion of uppercase serifs
+beak_jut#:=22.8/36pt#; % horizontal protrusion of beak serifs
+beak#:=168/36pt#; % vertical protrusion of beak serifs
+vair#:=17/36pt#; % vertical diameter of hairlines
+notch_cut#:=24pt#; % maximum breadth above or below notches
+bar#:=25/36pt#; % lowercase bar thickness
+slab#:=25/36pt#; % serif and arm thickness
+cap_bar#:=25/36pt#; % uppercase bar thickness
+cap_band#:=25/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=24pt#; % max breadth above/below uppercase notches
+serif_drop#:=9.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=18/36pt#; % amount of overshoot for curves
+apex_o#:=18/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-1.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=37.6/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=9/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=5.7/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=479/36pt#; % height of tallest characters
+lower.cap_height#:=443.9/36pt#; % height of caps
+lower.x_height#:=278/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=155.9/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=124.7/36pt#; % depth of comma below baseline
+
+lower.flare#:=54.5/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=19/36pt#; % up percase hairline breadth
+lower.stem#:=47/36pt#; % lowercase stem breadth
+lower.cap_stem#:=56.7/36pt#; % uppercase stem breadth
+lower.cap_curve#:=66.9/36pt#; % uppercase curve breadth
+lower.cap_ess#:=60.8/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=57/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=15.96/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=124/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=20.6/36pt#; % serif and arm thickness
+lower.cap_bar#:=20.6/36pt#; % uppercase bar thickness
+lower.cap_band#:=20.6/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=24pt#; % max breadth above/below uppercase notches
+
+lower.o#:=11.25/36pt#; % amount of overshoot for curves
+lower.apex_o#:=9/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsc36.mf b/fonts/cyrillic/cmcyr/mf/cmcsc36.mf
new file mode 100644
index 0000000000..cda54cc9c1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsc36.mf
@@ -0,0 +1,109 @@
+% This is CMCSC36.MF in text format, as of August 26, 1986.
+% Computer Modern Caps and Small Caps 36 point (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size 36pt#;
+
+u#:=64.1/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=15.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=972/36pt#; % height of tallest characters
+asc_height#:=900/36pt#; % height of lowercase ascenders
+cap_height#:=885.6/36pt#; % height of caps
+fig_height#:=835.2/36pt#; % height of numerals
+x_height#:=558/36pt#; % height of lowercase without ascenders
+math_axis#:=324/36pt#; % axis of symmetry for math symbols
+bar_height#:=313.2/36pt#; % height of crossbar in lowercase e
+comma_depth#:=252/36pt#; % depth of comma below baseline
+desc_depth#:=252/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=20.45/36pt#; % width of extrafine details
+hair#:=25.9/36pt#; % lowercase hairline breadth
+stem#:=76.36/36pt#; % lowercase stem breadth
+curve#:=90/36pt#; % lowercase curve breadth
+ess#:=81.8/36pt#; % breadth in middle of lowercase s
+flare#:=98/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=114.5/36pt#; % diameter of dots
+cap_hair#:=31.36/36pt#; % uppercase hairline breadth
+cap_stem#:=95.45/36pt#; % uppercase stem breadth
+cap_curve#:=109/36pt#; % uppercase curve breadth
+cap_ess#:=103.6/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=1.2pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=72/36pt#; % vertical distance from serif base to tangent
+jut#:=90/36pt#; % protrusion of lowercase serifs
+cap_jut#:=111.8/36pt#; % protrusion of uppercase serifs
+beak_jut#:=31/36pt#; % horizontal protrusion of beak serifs
+beak#:=252/36pt#; % vertical protrusion of beak serifs
+vair#:=23/36pt#; % vertical diameter of hairlines
+notch_cut#:=36pt#; % maximum breadth above or below notches
+bar#:=34/36pt#; % lowercase bar thickness
+slab#:=34/36pt#; % serif and arm thickness
+cap_bar#:=34/36pt#; % uppercase bar thickness
+cap_band#:=34/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=36pt#; % max breadth above/below uppercase notches
+serif_drop#:=14.4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=24.5/36pt#; % amount of overshoot for curves
+apex_o#:=24.5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-2.6; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=51.28/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=12.6/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=8.6/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=719/36pt#; % height of tallest characters
+lower.cap_height#:=665.9/36pt#; % height of caps
+lower.x_height#:=417/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=233.9/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=187/36pt#; % depth of comma below baseline
+
+lower.flare#:=74/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=25.9/36pt#; % uppercase hairline breadth
+lower.stem#:=80/36pt#; % lowercase stem breadth
+lower.cap_stem#:=77/36pt#; % uppercase stem breadth
+lower.cap_curve#:=91/36pt#; % uppercase curve breadth
+lower.cap_ess#:=82.88/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=78/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=21/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=186/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=28/36pt#; % seri f and arm thickness
+lower.cap_bar#:=28/36pt#; % upp ercase bar thickness
+lower.cap_band#:=28/36pt#; % up percase thickness above/below lobes
+lower.cap_notch_cut#:=36pt#; % max breadth above/below uppercase notches
+
+lower.o#:=15.3/36pt#; % amount of overshoot for curves
+lower.apex_o#:=12.25/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsc8.mf b/fonts/cyrillic/cmcyr/mf/cmcsc8.mf
new file mode 100644
index 0000000000..e7a3f68868
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsc8.mf
@@ -0,0 +1,115 @@
+% CMCSC8.MF June 1990
+% This Metafont file is part of AMSFonts 2.0.
+% Copyright (C) 1990, American Mathematical Society.
+% All rights reserved. Copying of this file is authorized only if either:
+% (1) you make absolutely no changes to your copy including filename; OR
+% (2) if you do make changes, you first rename it to some other filename.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Computer Modern Roman Cap and Small Cap 8 point; created at AMS
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size 8pt#;
+
+u#:=18/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=2.5/36pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=25.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=9.5/36pt#; % uppercase hairline breadth
+cap_stem#:=26.5/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=29/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=13/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=2.7/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=4/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=146/36pt#; % height of tallest characters
+lower.cap_height#:=145.8/36pt#; % height of caps
+lower.x_height#:=85/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=47.6/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=38/36pt#; % depth of comma below baseline
+
+lower.flare#:=20/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=8.1/36pt#; % uppercase hairline breadth
+lower.stem#:=17/36pt#; % lowercase stem breadth
+lower.cap_stem#:=21/36pt#; % uppercase stem breadth
+lower.cap_curve#:=25/36pt#; % uppercase curve breadth
+lower.cap_ess#:=20/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=20/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=5.4/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=38/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=8.1/36pt#; % serif and arm thickness
+lower.cap_bar#:=8.1/36pt#; % uppercase bar thickness
+lower.cap_band#:=8.1/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+
+lower.o#:=4/36pt#; % amount of overshoot for curves
+lower.apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsc9.mf b/fonts/cyrillic/cmcyr/mf/cmcsc9.mf
new file mode 100644
index 0000000000..599bcd3ca0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsc9.mf
@@ -0,0 +1,115 @@
+% CMCSC9.MF June 1990
+% This Metafont file is part of AMSFonts 2.0.
+% Copyright (C) 1990, American Mathematical Society.
+% All rights reserved. Copying of this file is authorized only if either:
+% (1) you make absolutely no changes to your copy including filename; OR
+% (2) if you do make changes, you first rename it to some other filename.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Computer Modern Roman Caps and Small Caps 9 point; created at AMS
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size 9pt#;
+
+u#:=19/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=3.5/36pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=10/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=33/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=33/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=14.5/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=3.4/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=3.5/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=173/36pt#; % height of tallest characters
+lower.cap_height#:=170.4/36pt#; % height of caps
+lower.x_height#:=100.5/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=56.3/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=45/36pt#; % depth of comma below baseline
+
+lower.flare#:=22/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=8.6/36pt#; % uppercase hairline breadth
+lower.stem#:=19/36pt#; % lowercase stem breadth
+lower.cap_stem#:=23.5/36pt#; % uppercase stem breadth
+lower.cap_curve#:=28/36pt#; % uppercase curve breadth
+lower.cap_ess#:=24/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=23/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=6.2/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=45/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=8.6/36pt#; % serif and arm thickness
+lower.cap_bar#:=8.6/36pt#; % uppercase bar thickness
+lower.cap_band#:=8.6/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+
+lower.o#:=4.5/36pt#; % amount of overshoot for curves
+lower.apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcscsl1.mf b/fonts/cyrillic/cmcyr/mf/cmcscsl1.mf
new file mode 100644
index 0000000000..72c35f4a1e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcscsl1.mf
@@ -0,0 +1,110 @@
+% Computer Modern Roman Caps and Small Caps Slanted 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSCSL"; font_size 10pt#;
+
+% first come parameters used to set the uppercase letters
+% (including some for lowercase that aren't actually used)
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=5/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=16/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=4/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=2.4/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=200/36pt#; % height of tallest characters
+lower.cap_height#:=185/36pt#; % height of caps
+lower.x_height#:=116/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=65/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=52/36pt#; % depth of comma below baseline
+
+lower.flare#:=25/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=9.1/36pt#; % uppercase hairline breadth
+lower.stem#:=21/36pt#; % lowercase stem breadth
+lower.cap_stem#:=26/36pt#; % uppercase stem breadth
+lower.cap_curve#:=31/36pt#; % uppercase curve breadth
+lower.cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=26/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=7/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=52/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=9.1/36pt#; % serif and arm thickness
+lower.cap_bar#:=9.1/36pt#; % uppercase bar thickness
+lower.cap_band#:=9.1/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+
+lower.o#:=5/36pt#; % amount of overshoot for curves
+lower.apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate csc % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsl10.mf b/fonts/cyrillic/cmcyr/mf/cmcsl10.mf
new file mode 100644
index 0000000000..a1642bf832
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsl10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Slanted 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSL"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsl12.mf b/fonts/cyrillic/cmcyr/mf/cmcsl12.mf
new file mode 100644
index 0000000000..b0bdc89b6d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsl12.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Slanted Roman 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSL"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=295.2/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=104.4/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7.5/36pt#; % width of extrafine details
+hair#:=9.5/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=30/36pt#; % breadth in middle of lowercase s
+flare#:=36/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=42/36pt#; % diameter of dots
+cap_hair#:=11.5/36pt#; % uppercase hairline breadth
+cap_stem#:=35/36pt#; % uppercase stem breadth
+cap_curve#:=40/36pt#; % uppercase curve breadth
+cap_ess#:=38/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=24/36pt#; % vertical distance from serif base to tangent
+jut#:=33/36pt#; % protrusion of lowercase serifs
+cap_jut#:=41/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=8.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=12.5/36pt#; % lowercase bar thickness
+slab#:=12.5/36pt#; % serif and arm thickness
+cap_bar#:=12.5/36pt#; % uppercase bar thickness
+cap_band#:=12.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=9/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsl8.mf b/fonts/cyrillic/cmcyr/mf/cmcsl8.mf
new file mode 100644
index 0000000000..3a7786b83c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsl8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Slanted Roman 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSL"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=25.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=9.5/36pt#; % uppercase hairline breadth
+cap_stem#:=26.5/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=29/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsl9.mf b/fonts/cyrillic/cmcyr/mf/cmcsl9.mf
new file mode 100644
index 0000000000..0b7943f5f5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsl9.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Slanted Roman 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSL"; font_size 9pt#;
+
+u#:=18.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=10/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=33/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=33/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcsltt1.mf b/fonts/cyrillic/cmcyr/mf/cmcsltt1.mf
new file mode 100644
index 0000000000..7a78d2da49
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcsltt1.mf
@@ -0,0 +1,75 @@
+% Computer Modern Slanted Typewriter Text for use with 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSLTT"; font_size 10pt#;
+
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=250/36pt#; % height of tallest characters
+asc_height#:=220/36pt#; % height of lowercase ascenders
+cap_height#:=220/36pt#; % height of caps
+fig_height#:=220/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=110/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=50/36pt#; % depth of comma below baseline
+desc_depth#:=80/36pt#; % depth of lowercase descenders
+
+crisp#:=22/36pt#; % diameter of serif corners
+tiny#:=22/36pt#; % diameter of rounded corners
+fine#:=21/36pt#; % diameter of sharply rounded corners
+thin_join#:=21/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=22/36pt#; % breadth in middle of lowercase s
+flare#:=32/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=36/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=25/36pt#; % uppercase stem breadth
+cap_curve#:=25/36pt#; % uppercase curve breadth
+cap_ess#:=25/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=25/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=34/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=34/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=25/36pt#; % maximum breadth above or below notches
+bar#:=22/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=22/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=10/36pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcss10.mf b/fonts/cyrillic/cmcyr/mf/cmcss10.mf
new file mode 100644
index 0000000000..46e67290ab
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcss10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif 10 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=15/36pt#; % width adjustment for certain characters
+serif_fit#:=-7/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-10/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=250/36pt#; % height of caps
+fig_height#:=236/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=45/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=17/36pt#; % width of extrafine details
+hair#:=28/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=28/36pt#; % breadth in middle of lowercase s
+flare#:=25/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=30/36pt#; % diameter of dots
+cap_hair#:=28/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=32/36pt#; % uppercase curve breadth
+cap_ess#:=32/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.5/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=18/36pt#; % maximum breadth above or below notches
+bar#:=21/36pt#; % lowercase bar thickness
+slab#:=23/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=20/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=5/36pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.96; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcss12.mf b/fonts/cyrillic/cmcyr/mf/cmcss12.mf
new file mode 100644
index 0000000000..44ef72a99c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcss12.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif 12 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=17/36pt#; % width adjustment for certain characters
+serif_fit#:=-9/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-13/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=300/36pt#; % height of caps
+fig_height#:=283/36pt#; % height of numerals
+x_height#:=192/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=97/36pt#; % height of crossbar in lowercase e
+comma_depth#:=54/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=20/36pt#; % width of extrafine details
+hair#:=33/36pt#; % lowercase hairline breadth
+stem#:=33/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=33/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=33/36pt#; % uppercase hairline breadth
+cap_stem#:=37/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=37/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.6/36pt#; % vertical protrusion of beak serifs
+vair#:=26/36pt#; % vertical diameter of hairlines
+notch_cut#:=22/36pt#; % maximum breadth above or below notches
+bar#:=25/36pt#; % lowercase bar thickness
+slab#:=27/36pt#; % serif and arm thickness
+cap_bar#:=26/36pt#; % uppercase bar thickness
+cap_band#:=24/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=31/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=6/36pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.98; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcss17.mf b/fonts/cyrillic/cmcyr/mf/cmcss17.mf
new file mode 100644
index 0000000000..ca5a4a5a88
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcss17.mf
@@ -0,0 +1,75 @@
+% Computer Modern Sans Serif 17 pt (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 17.28pt#;
+
+u#:=32.5/36pt#; % unit width
+width_adj#:=24/36pt#; % width adjustment for certain characters
+serif_fit#:=-12/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-17/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=466/36pt#; % height of tallest characters
+asc_height#:=432/36pt#; % height of lowercase ascenders
+cap_height#:=432/36pt#; % height of caps
+fig_height#:=408/36pt#; % height of numerals
+x_height#:=267.8/36pt#; % height of lowercase without ascenders
+math_axis#:=155.5/36pt#; % axis of symmetry for math symbols
+bar_height#:=136/36pt#; % height of crossbar in lowercase e
+comma_depth#:=78/36pt#; % depth of comma below baseline
+desc_depth#:=121/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=28/36pt#; % width of extrafine details
+hair#:=47/36pt#; % lowercase hairline breadth
+stem#:=47/36pt#; % lowercase stem breadth
+curve#:=47/36pt#; % lowercase curve breadth
+ess#:=47/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=50/36pt#; % diameter of dots
+cap_hair#:=47/36pt#; % uppercase hairline breadth
+cap_stem#:=52/36pt#; % uppercase stem breadth
+cap_curve#:=52/36pt#; % uppercase curve breadth
+cap_ess#:=52/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.8/36pt#; % vertical protrusion of beak serifs
+vair#:=38/36pt#; % vertical diameter of hairlines
+notch_cut#:=32/36pt#; % maximum breadth above or below notches
+bar#:=36/36pt#; % lowercase bar thickness
+slab#:=40/36pt#; % serif and arm thickness
+cap_bar#:=38/36pt#; % uppercase bar thickness
+cap_band#:=35/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=46/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=7/36pt#; % extra width at diagonal junctions
+
+o#:=10/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.4; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcss8.mf b/fonts/cyrillic/cmcyr/mf/cmcss8.mf
new file mode 100644
index 0000000000..9421bcad47
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcss8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif 8 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=12/36pt#; % width adjustment for certain characters
+serif_fit#:=-6/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-8.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=200/36pt#; % height of caps
+fig_height#:=189/36pt#; % height of numerals
+x_height#:=128/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=63/36pt#; % height of crossbar in lowercase e
+comma_depth#:=37/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=15/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=22/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=26/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=29/36pt#; % uppercase curve breadth
+cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.4/36pt#; % vertical protrusion of beak serifs
+vair#:=19/36pt#; % vertical diameter of hairlines
+notch_cut#:=16/36pt#; % maximum breadth above or below notches
+bar#:=18/36pt#; % lowercase bar thickness
+slab#:=20/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=22/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=4/36pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.93; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcss9.mf b/fonts/cyrillic/cmcyr/mf/cmcss9.mf
new file mode 100644
index 0000000000..5a729d920b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcss9.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif 9 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 9pt#;
+
+u#:=18.5/36pt#; % unit width
+width_adj#:=13/36pt#; % width adjustment for certain characters
+serif_fit#:=-6.5/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-9/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=225/36pt#; % height of caps
+fig_height#:=236/36pt#; % height of numerals
+x_height#:=144/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=71/36pt#; % height of crossbar in lowercase e
+comma_depth#:=41/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=16/36pt#; % width of extrafine details
+hair#:=27/36pt#; % lowercase hairline breadth
+stem#:=27/36pt#; % lowercase stem breadth
+curve#:=27/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=24/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=28/36pt#; % diameter of dots
+cap_hair#:=27/36pt#; % uppercase hairline breadth
+cap_stem#:=31/36pt#; % uppercase stem breadth
+cap_curve#:=31/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.5/36pt#; % vertical protrusion of beak serifs
+vair#:=21/36pt#; % vertical diameter of hairlines
+notch_cut#:=17/36pt#; % maximum breadth above or below notches
+bar#:=20/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=21/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=24/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=4.5/36pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcssbx1.mf b/fonts/cyrillic/cmcyr/mf/cmcssbx1.mf
new file mode 100644
index 0000000000..e08c03533c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcssbx1.mf
@@ -0,0 +1,75 @@
+% Computer Modern Sans Serif Bold Extended 10 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSBX"; font_size 10pt#;
+
+u#:=22/36pt#; % unit width
+width_adj#:=22/36pt#; % width adjustment for certain characters
+serif_fit#:=-9/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-11/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=250/36pt#; % height of caps
+fig_height#:=250/36pt#; % height of numerals
+x_height#:=165/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=90/36pt#; % height of crossbar in lowercase e
+comma_depth#:=38/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=26/36pt#; % diameter of serif corners
+tiny#:=26/36pt#; % diameter of rounded corners
+fine#:=9/36pt#; % diameter of sharply rounded corners
+thin_join#:=9/36pt#; % width of extrafine details
+hair#:=49/36pt#; % lowercase hairline breadth
+stem#:=49/36pt#; % lowercase stem breadth
+curve#:=49/36pt#; % lowercase curve breadth
+ess#:=43/36pt#; % breadth in middle of lowercase s
+flare#:=40/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=47/36pt#; % diameter of dots
+cap_hair#:=49/36pt#; % uppercase hairline breadth
+cap_stem#:=53/36pt#; % uppercase stem breadth
+cap_curve#:=53/36pt#; % uppercase curve breadth
+cap_ess#:=51/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=30/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=1.5/36pt#; % vertical protrusion of beak serifs
+vair#:=26/36pt#; % vertical diameter of hairlines
+notch_cut#:=49/36pt#; % maximum breadth above or below notches
+bar#:=26/36pt#; % lowercase bar thickness
+slab#:=36/36pt#; % serif and arm thickness
+cap_bar#:=34/36pt#; % uppercase bar thickness
+cap_band#:=31/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=45/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=2/36pt#; % for small refinements of hairline height
+apex_corr#:=18/36pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.88; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=3/4; % parameter for superellipses
+superpull:=1/18; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcssdc1.mf b/fonts/cyrillic/cmcyr/mf/cmcssdc1.mf
new file mode 100644
index 0000000000..f2bcb097eb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcssdc1.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif Demibold Condensed 10 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSDC"; font_size 10pt#;
+
+u#:=19/36pt#; % unit width
+width_adj#:=15/36pt#; % width adjustment for certain characters
+serif_fit#:=-8/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-9/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=250/36pt#; % height of caps
+fig_height#:=250/36pt#; % height of numerals
+x_height#:=170/36pt#; % height of lowercase without ascenders
+math_axis#:=95/36pt#; % axis of symmetry for math symbols
+bar_height#:=95/36pt#; % height of crossbar in lowercase e
+comma_depth#:=40/36pt#; % depth of comma below baseline
+desc_depth#:=60/36pt#; % depth of lowercase descenders
+
+crisp#:=23/36pt#; % diameter of serif corners
+tiny#:=23/36pt#; % diameter of rounded corners
+fine#:=8/36pt#; % diameter of sharply rounded corners
+thin_join#:=8/36pt#; % width of extrafine details
+hair#:=40/36pt#; % lowercase hairline breadth
+stem#:=40/36pt#; % lowercase stem breadth
+curve#:=40/36pt#; % lowercase curve breadth
+ess#:=37/36pt#; % breadth in middle of lowercase s
+flare#:=31/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=40/36pt#; % uppercase hairline breadth
+cap_stem#:=44/36pt#; % uppercase stem breadth
+cap_curve#:=44/36pt#; % uppercase curve breadth
+cap_ess#:=42/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=25/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=1.5/36pt#; % vertical protrusion of beak serifs
+vair#:=23/36pt#; % vertical diameter of hairlines
+notch_cut#:=40/36pt#; % maximum breadth above or below notches
+bar#:=23/36pt#; % lowercase bar thickness
+slab#:=31/36pt#; % serif and arm thickness
+cap_bar#:=29/36pt#; % uppercase bar thickness
+cap_band#:=27/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=37/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=2/36pt#; % for small refinements of hairline height
+apex_corr#:=14/36pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.91; % factor applied to weights of heavy characters
+math_spread:=.3; % extra openness of math symbols
+superness:=.74; % parameter for superellipses
+superpull:=1/18; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic; % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcssi10.mf b/fonts/cyrillic/cmcyr/mf/cmcssi10.mf
new file mode 100644
index 0000000000..69a36bf35f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcssi10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Slanted Sans Serif 10 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=15/36pt#; % width adjustment for certain characters
+serif_fit#:=-7/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-10/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=250/36pt#; % height of caps
+fig_height#:=236/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=45/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=17/36pt#; % width of extrafine details
+hair#:=28/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=28/36pt#; % breadth in middle of lowercase s
+flare#:=25/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=30/36pt#; % diameter of dots
+cap_hair#:=28/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=32/36pt#; % uppercase curve breadth
+cap_ess#:=32/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.5/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=18/36pt#; % maximum breadth above or below notches
+bar#:=21/36pt#; % lowercase bar thickness
+slab#:=23/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=20/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=5/36pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.96; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcssi12.mf b/fonts/cyrillic/cmcyr/mf/cmcssi12.mf
new file mode 100644
index 0000000000..6055fef435
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcssi12.mf
@@ -0,0 +1,75 @@
+% Computer Modern Slanted Sans Serif 12 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=17/36pt#; % width adjustment for certain characters
+serif_fit#:=-9/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-13/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=300/36pt#; % height of caps
+fig_height#:=283/36pt#; % height of numerals
+x_height#:=192/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=97/36pt#; % height of crossbar in lowercase e
+comma_depth#:=54/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=20/36pt#; % width of extrafine details
+hair#:=33/36pt#; % lowercase hairline breadth
+stem#:=33/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=33/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=33/36pt#; % uppercase hairline breadth
+cap_stem#:=37/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=37/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.6/36pt#; % vertical protrusion of beak serifs
+vair#:=26/36pt#; % vertical diameter of hairlines
+notch_cut#:=22/36pt#; % maximum breadth above or below notches
+bar#:=25/36pt#; % lowercase bar thickness
+slab#:=27/36pt#; % serif and arm thickness
+cap_bar#:=26/36pt#; % uppercase bar thickness
+cap_band#:=24/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=31/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=6/36pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.98; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcssi17.mf b/fonts/cyrillic/cmcyr/mf/cmcssi17.mf
new file mode 100644
index 0000000000..04aef08adb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcssi17.mf
@@ -0,0 +1,75 @@
+% Computer Modern Slanted Sans Serif 17 pt (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 17.28pt#;
+
+u#:=32.5/36pt#; % unit width
+width_adj#:=24/36pt#; % width adjustment for certain characters
+serif_fit#:=-12/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-17/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=466/36pt#; % height of tallest characters
+asc_height#:=432/36pt#; % height of lowercase ascenders
+cap_height#:=432/36pt#; % height of caps
+fig_height#:=408/36pt#; % height of numerals
+x_height#:=267.8/36pt#; % height of lowercase without ascenders
+math_axis#:=155.5/36pt#; % axis of symmetry for math symbols
+bar_height#:=136/36pt#; % height of crossbar in lowercase e
+comma_depth#:=78/36pt#; % depth of comma below baseline
+desc_depth#:=121/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=28/36pt#; % width of extrafine details
+hair#:=47/36pt#; % lowercase hairline breadth
+stem#:=47/36pt#; % lowercase stem breadth
+curve#:=47/36pt#; % lowercase curve breadth
+ess#:=47/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=50/36pt#; % diameter of dots
+cap_hair#:=47/36pt#; % uppercase hairline breadth
+cap_stem#:=52/36pt#; % uppercase stem breadth
+cap_curve#:=52/36pt#; % uppercase curve breadth
+cap_ess#:=52/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.8/36pt#; % vertical protrusion of beak serifs
+vair#:=38/36pt#; % vertical diameter of hairlines
+notch_cut#:=32/36pt#; % maximum breadth above or below notches
+bar#:=36/36pt#; % lowercase bar thickness
+slab#:=40/36pt#; % serif and arm thickness
+cap_bar#:=38/36pt#; % uppercase bar thickness
+cap_band#:=35/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=46/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=7/36pt#; % extra width at diagonal junctions
+
+o#:=10/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.4; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcssi8.mf b/fonts/cyrillic/cmcyr/mf/cmcssi8.mf
new file mode 100644
index 0000000000..ba508b26a6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcssi8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Slanted Sans Serif 8 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=12/36pt#; % width adjustment for certain characters
+serif_fit#:=-6/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-8.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=200/36pt#; % height of caps
+fig_height#:=189/36pt#; % height of numerals
+x_height#:=128/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=63/36pt#; % height of crossbar in lowercase e
+comma_depth#:=37/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=15/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=22/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=26/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=29/36pt#; % uppercase curve breadth
+cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.4/36pt#; % vertical protrusion of beak serifs
+vair#:=19/36pt#; % vertical diameter of hairlines
+notch_cut#:=16/36pt#; % maximum breadth above or below notches
+bar#:=18/36pt#; % lowercase bar thickness
+slab#:=20/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=22/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=4/36pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.93; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcssi9.mf b/fonts/cyrillic/cmcyr/mf/cmcssi9.mf
new file mode 100644
index 0000000000..a8285eb43a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcssi9.mf
@@ -0,0 +1,75 @@
+% Computer Modern Slanted Sans Serif 9 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 9pt#;
+
+u#:=18.5/36pt#; % unit width
+width_adj#:=13/36pt#; % width adjustment for certain characters
+serif_fit#:=-6.5/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-9/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=225/36pt#; % height of caps
+fig_height#:=236/36pt#; % height of numerals
+x_height#:=144/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=71/36pt#; % height of crossbar in lowercase e
+comma_depth#:=41/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=16/36pt#; % width of extrafine details
+hair#:=27/36pt#; % lowercase hairline breadth
+stem#:=27/36pt#; % lowercase stem breadth
+curve#:=27/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=24/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=28/36pt#; % diameter of dots
+cap_hair#:=27/36pt#; % uppercase hairline breadth
+cap_stem#:=31/36pt#; % uppercase stem breadth
+cap_curve#:=31/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.5/36pt#; % vertical protrusion of beak serifs
+vair#:=21/36pt#; % vertical diameter of hairlines
+notch_cut#:=17/36pt#; % maximum breadth above or below notches
+bar#:=20/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=21/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=24/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=4.5/36pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcssq8.mf b/fonts/cyrillic/cmcyr/mf/cmcssq8.mf
new file mode 100644
index 0000000000..288e03b6d5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcssq8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Sans Serif Quotation Style 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMSSQ"; font_size 8pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=2/36pt#; % width adjustment for certain characters
+serif_fit#:=-10/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-14/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=220/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=197/36pt#; % height of caps
+fig_height#:=190/36pt#; % height of numerals
+x_height#:=150/36pt#; % height of lowercase without ascenders
+math_axis#:=80/36pt#; % axis of symmetry for math symbols
+bar_height#:=80/36pt#; % height of crossbar in lowercase e
+comma_depth#:=40/36pt#; % depth of comma below baseline
+desc_depth#:=40/36pt#; % depth of lowercase descenders
+
+crisp#:=18/36pt#; % diameter of serif corners
+tiny#:=18/36pt#; % diameter of rounded corners
+fine#:=8/36pt#; % diameter of sharply rounded corners
+thin_join#:=8/36pt#; % width of extrafine details
+hair#:=23/36pt#; % lowercase hairline breadth
+stem#:=23/36pt#; % lowercase stem breadth
+curve#:=23/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=21/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=28/36pt#; % diameter of dots
+cap_hair#:=23/36pt#; % uppercase hairline breadth
+cap_stem#:=27/36pt#; % uppercase stem breadth
+cap_curve#:=27/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=20/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=0pt#; % vertical protrusion of beak serifs
+vair#:=18/36pt#; % vertical diameter of hairlines
+notch_cut#:=23/36pt#; % maximum breadth above or below notches
+bar#:=18/36pt#; % lowercase bar thickness
+slab#:=19/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=23/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=.5/36pt#; % for small refinements of stem breadth
+vair_corr#:=.5/36pt#; % for small refinements of hairline height
+apex_corr#:=4/36pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=2/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/10; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcssqi8.mf b/fonts/cyrillic/cmcyr/mf/cmcssqi8.mf
new file mode 100644
index 0000000000..0bdcff574c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcssqi8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif Quotation Style Slanted 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSQI"; font_size 8pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=2/36pt#; % width adjustment for certain characters
+serif_fit#:=-10/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-14/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=220/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=197/36pt#; % height of caps
+fig_height#:=190/36pt#; % height of numerals
+x_height#:=150/36pt#; % height of lowercase without ascenders
+math_axis#:=80/36pt#; % axis of symmetry for math symbols
+bar_height#:=80/36pt#; % height of crossbar in lowercase e
+comma_depth#:=40/36pt#; % depth of comma below baseline
+desc_depth#:=40/36pt#; % depth of lowercase descenders
+
+crisp#:=18/36pt#; % diameter of serif corners
+tiny#:=18/36pt#; % diameter of rounded corners
+fine#:=8/36pt#; % diameter of sharply rounded corners
+thin_join#:=8/36pt#; % width of extrafine details
+hair#:=23/36pt#; % lowercase hairline breadth
+stem#:=23/36pt#; % lowercase stem breadth
+curve#:=23/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=21/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=28/36pt#; % diameter of dots
+cap_hair#:=23/36pt#; % uppercase hairline breadth
+cap_stem#:=27/36pt#; % uppercase stem breadth
+cap_curve#:=27/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=20/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=0pt#; % vertical protrusion of beak serifs
+vair#:=18/36pt#; % vertical diameter of hairlines
+notch_cut#:=23/36pt#; % maximum breadth above or below notches
+bar#:=18/36pt#; % lowercase bar thickness
+slab#:=19/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=23/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=.5/36pt#; % for small refinements of stem breadth
+vair_corr#:=.5/36pt#; % for small refinements of hairline height
+apex_corr#:=4/36pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=2/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/10; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcti10.mf b/fonts/cyrillic/cmcyr/mf/cmcti10.mf
new file mode 100644
index 0000000000..0518eb5883
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcti10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Text Italic 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 10pt#;
+
+u#:=18.4/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=9.2/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=23/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=29/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=34/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=30/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcti12.mf b/fonts/cyrillic/cmcyr/mf/cmcti12.mf
new file mode 100644
index 0000000000..ac8ed9f474
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcti12.mf
@@ -0,0 +1,75 @@
+% Computer Modern Text Italic 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 12pt#;
+
+u#:=21.6/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=10.8/36pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=295.2/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=104.4/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7.5/36pt#; % width of extrafine details
+hair#:=12/36pt#; % lowercase hairline breadth
+stem#:=26/36pt#; % lowercase stem breadth
+curve#:=31/36pt#; % lowercase curve breadth
+ess#:=29/36pt#; % breadth in middle of lowercase s
+flare#:=32/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=42/36pt#; % diameter of dots
+cap_hair#:=11.5/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=34/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=24/36pt#; % vertical distance from serif base to tangent
+jut#:=35/36pt#; % protrusion of lowercase serifs
+cap_jut#:=38/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=8.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=12.5/36pt#; % lowercase bar thickness
+slab#:=12.5/36pt#; % serif and arm thickness
+cap_bar#:=12.5/36pt#; % uppercase bar thickness
+cap_band#:=12.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=9/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcti7.mf b/fonts/cyrillic/cmcyr/mf/cmcti7.mf
new file mode 100644
index 0000000000..6f8c98e9f0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcti7.mf
@@ -0,0 +1,75 @@
+% Computer Modern Text Italic 7 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 7pt#;
+
+u#:=14.8/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=9.4/36pt#; % extra space added to all sidebars
+
+body_height#:=189/36pt#; % height of tallest characters
+asc_height#:=175/36pt#; % height of lowercase ascenders
+cap_height#:=172.2/36pt#; % height of caps
+fig_height#:=162.4/36pt#; % height of numerals
+x_height#:=108.5/36pt#; % height of lowercase without ascenders
+math_axis#:=63/36pt#; % axis of symmetry for math symbols
+bar_height#:=60.9/36pt#; % height of crossbar in lowercase e
+comma_depth#:=49/36pt#; % depth of comma below baseline
+desc_depth#:=49/36pt#; % depth of lowercase descenders
+
+crisp#:=7/36pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=10.5/36pt#; % lowercase hairline breadth
+stem#:=18.5/36pt#; % lowercase stem breadth
+curve#:=21.5/36pt#; % lowercase curve breadth
+ess#:=21/36pt#; % breadth in middle of lowercase s
+flare#:=21/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=29/36pt#; % diameter of dots
+cap_hair#:=10.5/36pt#; % uppercase hairline breadth
+cap_stem#:=21.5/36pt#; % uppercase stem breadth
+cap_curve#:=24.5/36pt#; % uppercase curve breadth
+cap_ess#:=21/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.34pt#; % thickness of lines in math symbols
+
+dish#:=.9/36pt#; % amount erased at top or bottom of serifs
+bracket#:=14/36pt#; % vertical distance from serif base to tangent
+jut#:=21/36pt#; % protrusion of lowercase serifs
+cap_jut#:=24/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=49/36pt#; % vertical protrusion of beak serifs
+vair#:=7/36pt#; % vertical diameter of hairlines
+notch_cut#:=7pt#; % maximum breadth above or below notches
+bar#:=9/36pt#; % lowercase bar thickness
+slab#:=9/36pt#; % serif and arm thickness
+cap_bar#:=9/36pt#; % uppercase bar thickness
+cap_band#:=9/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.9/36pt#; % for small refinements of stem breadth
+vair_corr#:=.9/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.6; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcti8.mf b/fonts/cyrillic/cmcyr/mf/cmcti8.mf
new file mode 100644
index 0000000000..38d01fe325
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcti8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Text Italic 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 8pt#;
+
+u#:=15.8/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=7.9/36pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=20/36pt#; % lowercase stem breadth
+curve#:=23.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=24/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=23.5/36pt#; % uppercase stem breadth
+cap_curve#:=27/36pt#; % uppercase curve breadth
+cap_ess#:=24/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=24/36pt#; % protrusion of lowercase serifs
+cap_jut#:=27/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.9/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcti9.mf b/fonts/cyrillic/cmcyr/mf/cmcti9.mf
new file mode 100644
index 0000000000..0e65e8ceeb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcti9.mf
@@ -0,0 +1,75 @@
+% Computer Modern Text Italic 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 9pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=8.5/36pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=26/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=26/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=26/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=27/36pt#; % protrusion of lowercase serifs
+cap_jut#:=30.5/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.5/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmctitle.mf b/fonts/cyrillic/cmcyr/mf/cmctitle.mf
new file mode 100644
index 0000000000..2bbc08c01e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmctitle.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif Demibold Condensed 10 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCtitle"; font_size 10pt#;
+
+u#:=19/36pt#; % unit width
+width_adj#:=15/36pt#; % width adjustment for certain characters
+serif_fit#:=-8/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-9/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=250/36pt#; % height of caps
+fig_height#:=250/36pt#; % height of numerals
+x_height#:=170/36pt#; % height of lowercase without ascenders
+math_axis#:=95/36pt#; % axis of symmetry for math symbols
+bar_height#:=95/36pt#; % height of crossbar in lowercase e
+comma_depth#:=40/36pt#; % depth of comma below baseline
+desc_depth#:=60/36pt#; % depth of lowercase descenders
+
+crisp#:=23/36pt#; % diameter of serif corners
+tiny#:=23/36pt#; % diameter of rounded corners
+fine#:=8/36pt#; % diameter of sharply rounded corners
+thin_join#:=8/36pt#; % width of extrafine details
+hair#:=40/36pt#; % lowercase hairline breadth
+stem#:=40/36pt#; % lowercase stem breadth
+curve#:=40/36pt#; % lowercase curve breadth
+ess#:=37/36pt#; % breadth in middle of lowercase s
+flare#:=31/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=40/36pt#; % uppercase hairline breadth
+cap_stem#:=44/36pt#; % uppercase stem breadth
+cap_curve#:=44/36pt#; % uppercase curve breadth
+cap_ess#:=42/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=25/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=1.5/36pt#; % vertical protrusion of beak serifs
+vair#:=23/36pt#; % vertical diameter of hairlines
+notch_cut#:=40/36pt#; % maximum breadth above or below notches
+bar#:=23/36pt#; % lowercase bar thickness
+slab#:=31/36pt#; % serif and arm thickness
+cap_bar#:=29/36pt#; % uppercase bar thickness
+cap_band#:=27/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=37/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=2/36pt#; % for small refinements of hairline height
+apex_corr#:=14/36pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.91; % factor applied to weights of heavy characters
+math_spread:=.3; % extra openness of math symbols
+superness:=.74; % parameter for superellipses
+superpull:=1/18; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytitle; % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmctt10.mf b/fonts/cyrillic/cmcyr/mf/cmctt10.mf
new file mode 100644
index 0000000000..59c4a5f9ad
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmctt10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Typewriter Text for use with 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTT"; font_size 10pt#;
+
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=250/36pt#; % height of tallest characters
+asc_height#:=220/36pt#; % height of lowercase ascenders
+cap_height#:=220/36pt#; % height of caps
+fig_height#:=220/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=110/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=50/36pt#; % depth of comma below baseline
+desc_depth#:=80/36pt#; % depth of lowercase descenders
+
+crisp#:=22/36pt#; % diameter of serif corners
+tiny#:=22/36pt#; % diameter of rounded corners
+fine#:=21/36pt#; % diameter of sharply rounded corners
+thin_join#:=21/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=22/36pt#; % breadth in middle of lowercase s
+flare#:=32/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=36/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=25/36pt#; % uppercase stem breadth
+cap_curve#:=25/36pt#; % uppercase curve breadth
+cap_ess#:=25/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=25/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=34/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=34/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=25/36pt#; % maximum breadth above or below notches
+bar#:=22/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=22/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=10/36pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmctt12.mf b/fonts/cyrillic/cmcyr/mf/cmctt12.mf
new file mode 100644
index 0000000000..8c897e5363
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmctt12.mf
@@ -0,0 +1,75 @@
+% Computer Modern Typewriter Text for use with 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTT"; font_size 12pt#;
+
+u#:=24.7/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=300/36pt#; % height of tallest characters
+asc_height#:=264/36pt#; % height of lowercase ascenders
+cap_height#:=264/36pt#; % height of caps
+fig_height#:=264/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=132/36pt#; % axis of symmetry for math symbols
+bar_height#:=95/36pt#; % height of crossbar in lowercase e
+comma_depth#:=60/36pt#; % depth of comma below baseline
+desc_depth#:=96/36pt#; % depth of lowercase descenders
+
+crisp#:=25/36pt#; % diameter of serif corners
+tiny#:=25/36pt#; % diameter of rounded corners
+fine#:=22/36pt#; % diameter of sharply rounded corners
+thin_join#:=22/36pt#; % width of extrafine details
+hair#:=28/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=35/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=39/36pt#; % diameter of dots
+cap_hair#:=28/36pt#; % uppercase hairline breadth
+cap_stem#:=28/36pt#; % uppercase stem breadth
+cap_curve#:=28/36pt#; % uppercase curve breadth
+cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=28/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=39/36pt#; % protrusion of lowercase serifs
+cap_jut#:=39/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=39/36pt#; % vertical protrusion of beak serifs
+vair#:=25/36pt#; % vertical diameter of hairlines
+notch_cut#:=28/36pt#; % maximum breadth above or below notches
+bar#:=25/36pt#; % lowercase bar thickness
+slab#:=25/36pt#; % serif and arm thickness
+cap_bar#:=25/36pt#; % uppercase bar thickness
+cap_band#:=25/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=28/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=11/36pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.86; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmctt8.mf b/fonts/cyrillic/cmcyr/mf/cmctt8.mf
new file mode 100644
index 0000000000..39fa39be75
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmctt8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Typewriter Text for use with 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTT"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=200/36pt#; % height of tallest characters
+asc_height#:=176/36pt#; % height of lowercase ascenders
+cap_height#:=176/36pt#; % height of caps
+fig_height#:=176/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=88/36pt#; % axis of symmetry for math symbols
+bar_height#:=63/36pt#; % height of crossbar in lowercase e
+comma_depth#:=40/36pt#; % depth of comma below baseline
+desc_depth#:=64/36pt#; % depth of lowercase descenders
+
+crisp#:=19/36pt#; % diameter of serif corners
+tiny#:=19/36pt#; % diameter of rounded corners
+fine#:=18/36pt#; % diameter of sharply rounded corners
+thin_join#:=18/36pt#; % width of extrafine details
+hair#:=22/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=22/36pt#; % lowercase curve breadth
+ess#:=19/36pt#; % breadth in middle of lowercase s
+flare#:=28/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=31/36pt#; % diameter of dots
+cap_hair#:=22/36pt#; % uppercase hairline breadth
+cap_stem#:=22/36pt#; % uppercase stem breadth
+cap_curve#:=22/36pt#; % uppercase curve breadth
+cap_ess#:=22/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=22/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=27/36pt#; % protrusion of lowercase serifs
+cap_jut#:=27/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=27/36pt#; % vertical protrusion of beak serifs
+vair#:=19/36pt#; % vertical diameter of hairlines
+notch_cut#:=22/36pt#; % maximum breadth above or below notches
+bar#:=19/36pt#; % lowercase bar thickness
+slab#:=19/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=22/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=8/36pt#; % extra width at diagonal junctions
+
+o#:=3/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmctt9.mf b/fonts/cyrillic/cmcyr/mf/cmctt9.mf
new file mode 100644
index 0000000000..3c2b7aa521
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmctt9.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Typewriter Text for use with 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTT"; font_size 9pt#;
+
+u#:=18.9/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=225/36pt#; % height of tallest characters
+asc_height#:=198/36pt#; % height of lowercase ascenders
+cap_height#:=198/36pt#; % height of caps
+fig_height#:=198/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=99/36pt#; % axis of symmetry for math symbols
+bar_height#:=71/36pt#; % height of crossbar in lowercase e
+comma_depth#:=45/36pt#; % depth of comma below baseline
+desc_depth#:=72/36pt#; % depth of lowercase descenders
+
+crisp#:=21/36pt#; % diameter of serif corners
+tiny#:=21/36pt#; % diameter of rounded corners
+fine#:=20/36pt#; % diameter of sharply rounded corners
+thin_join#:=20/36pt#; % width of extrafine details
+hair#:=24/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=24/36pt#; % lowercase curve breadth
+ess#:=21/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=33/36pt#; % diameter of dots
+cap_hair#:=24/36pt#; % uppercase hairline breadth
+cap_stem#:=24/36pt#; % uppercase stem breadth
+cap_curve#:=24/36pt#; % uppercase curve breadth
+cap_ess#:=24/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=24/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=31/36pt#; % protrusion of lowercase serifs
+cap_jut#:=31/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=31/36pt#; % vertical protrusion of beak serifs
+vair#:=21/36pt#; % vertical diameter of hairlines
+notch_cut#:=24/36pt#; % maximum breadth above or below notches
+bar#:=21/36pt#; % lowercase bar thickness
+slab#:=21/36pt#; % serif and arm thickness
+cap_bar#:=21/36pt#; % uppercase bar thickness
+cap_band#:=21/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=24/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=9/36pt#; % extra width at diagonal junctions
+
+o#:=3.5/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcu10.mf b/fonts/cyrillic/cmcyr/mf/cmcu10.mf
new file mode 100644
index 0000000000..1d196d505c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcu10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Unslanted Italic 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCU"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=10/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=22/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=32/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcyr10.mf b/fonts/cyrillic/cmcyr/mf/cmcyr10.mf
new file mode 100644
index 0000000000..c4668ae1e3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcyr10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcyr12.mf b/fonts/cyrillic/cmcyr/mf/cmcyr12.mf
new file mode 100644
index 0000000000..ea46935523
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcyr12.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Roman 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=295.2/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=104.4/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7.5/36pt#; % width of extrafine details
+hair#:=9.5/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=30/36pt#; % breadth in middle of lowercase s
+flare#:=36/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=42/36pt#; % diameter of dots
+cap_hair#:=11.5/36pt#; % uppercase hairline breadth
+cap_stem#:=35/36pt#; % uppercase stem breadth
+cap_curve#:=40/36pt#; % uppercase curve breadth
+cap_ess#:=38/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=24/36pt#; % vertical distance from serif base to tangent
+jut#:=33/36pt#; % protrusion of lowercase serifs
+cap_jut#:=41/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=8.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=12.5/36pt#; % lowercase bar thickness
+slab#:=12.5/36pt#; % serif and arm thickness
+cap_bar#:=12.5/36pt#; % uppercase bar thickness
+cap_band#:=12.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=9/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcyr17.mf b/fonts/cyrillic/cmcyr/mf/cmcyr17.mf
new file mode 100644
index 0000000000..e4f6a805be
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcyr17.mf
@@ -0,0 +1,75 @@
+% Computer Modern Roman 17 point (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 17.28pt#;
+
+u#:=32.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=-0.1pt#; % extra space added to all sidebars
+
+body_height#:=466/36pt#; % height of tallest characters
+asc_height#:=432/36pt#; % height of lowercase ascenders
+cap_height#:=425/36pt#; % height of caps
+fig_height#:=401/36pt#; % height of numerals
+x_height#:=267.8/36pt#; % height of lowercase without ascenders
+math_axis#:=155.5/36pt#; % axis of symmetry for math symbols
+bar_height#:=150/36pt#; % height of crossbar in lowercase e
+comma_depth#:=121/36pt#; % depth of comma below baseline
+desc_depth#:=121/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=9/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=33/36pt#; % lowercase stem breadth
+curve#:=41/36pt#; % lowercase curve breadth
+ess#:=35/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=51/36pt#; % diameter of dots
+cap_hair#:=13/36pt#; % uppercase hairline breadth
+cap_stem#:=40/36pt#; % uppercase stem breadth
+cap_curve#:=48/36pt#; % uppercase curve breadth
+cap_ess#:=43/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=34/36pt#; % vertical distance from serif base to tangent
+jut#:=42/36pt#; % protrusion of lowercase serifs
+cap_jut#:=50/36pt#; % protrusion of uppercase serifs
+beak_jut#:=15/36pt#; % horizontal protrusion of beak serifs
+beak#:=121/36pt#; % vertical protrusion of beak serifs
+vair#:=10/36pt#; % vertical diameter of hairlines
+notch_cut#:=17pt#; % maximum breadth above or below notches
+bar#:=16/36pt#; % lowercase bar thickness
+slab#:=16/36pt#; % serif and arm thickness
+cap_bar#:=16/36pt#; % uppercase bar thickness
+cap_band#:=16/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=17pt#; % max breadth above/below uppercase notches
+serif_drop#:=17/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=10/36pt#; % amount of overshoot for curves
+apex_o#:=10/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcyr5.mf b/fonts/cyrillic/cmcyr/mf/cmcyr5.mf
new file mode 100644
index 0000000000..8379a51d22
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcyr5.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic 5 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 5pt#;
+
+u#:=12.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=2/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=5/36pt#; % extra space added to all sidebars
+
+body_height#:=135/36pt#; % height of tallest characters
+asc_height#:=125/36pt#; % height of lowercase ascenders
+cap_height#:=123/36pt#; % height of caps
+fig_height#:=116/36pt#; % height of numerals
+x_height#:=77.5/36pt#; % height of lowercase without ascenders
+math_axis#:=45/36pt#; % axis of symmetry for math symbols
+bar_height#:=43.5/36pt#; % height of crossbar in lowercase e
+comma_depth#:=35/36pt#; % depth of comma below baseline
+desc_depth#:=35/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=6/36pt#; % diameter of rounded corners
+fine#:=5/36pt#; % diameter of sharply rounded corners
+thin_join#:=5/36pt#; % width of extrafine details
+hair#:=7.5/36pt#; % lowercase hairline breadth
+stem#:=16/36pt#; % lowercase stem breadth
+curve#:=18/36pt#; % lowercase curve breadth
+ess#:=12/36pt#; % breadth in middle of lowercase s
+flare#:=19/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=22/36pt#; % diameter of dots
+cap_hair#:=8/36pt#; % uppercase hairline breadth
+cap_stem#:=19/36pt#; % uppercase stem breadth
+cap_curve#:=21/36pt#; % uppercase curve breadth
+cap_ess#:=14/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.28pt#; % thickness of lines in math symbols
+
+dish#:=.7/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=15/36pt#; % protrusion of lowercase serifs
+cap_jut#:=20/36pt#; % protrusion of uppercase serifs
+beak_jut#:=6/36pt#; % horizontal protrusion of beak serifs
+beak#:=35/36pt#; % vertical protrusion of beak serifs
+vair#:=6/36pt#; % vertical diameter of hairlines
+notch_cut#:=5pt#; % maximum breadth above or below notches
+bar#:=8/36pt#; % lowercase bar thickness
+slab#:=8/36pt#; % serif and arm thickness
+cap_bar#:=8/36pt#; % uppercase bar thickness
+cap_band#:=8/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=5pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.7/36pt#; % for small refinements of stem breadth
+vair_corr#:=.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcyr6.mf b/fonts/cyrillic/cmcyr/mf/cmcyr6.mf
new file mode 100644
index 0000000000..ebc07e907b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcyr6.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic 6 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 6pt#;
+
+u#:=14/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=2.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=3/36pt#; % extra space added to all sidebars
+
+body_height#:=162/36pt#; % height of tallest characters
+asc_height#:=150/36pt#; % height of lowercase ascenders
+cap_height#:=147.6/36pt#; % height of caps
+fig_height#:=139.2/36pt#; % height of numerals
+x_height#:=93/36pt#; % height of lowercase without ascenders
+math_axis#:=54/36pt#; % axis of symmetry for math symbols
+bar_height#:=52.2/36pt#; % height of crossbar in lowercase e
+comma_depth#:=42/36pt#; % depth of comma below baseline
+desc_depth#:=42/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=8/36pt#; % lowercase hairline breadth
+stem#:=18/36pt#; % lowercase stem breadth
+curve#:=20.5/36pt#; % lowercase curve breadth
+ess#:=17/36pt#; % breadth in middle of lowercase s
+flare#:=21/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=26/36pt#; % diameter of dots
+cap_hair#:=8.5/36pt#; % uppercase hairline breadth
+cap_stem#:=21.5/36pt#; % uppercase stem breadth
+cap_curve#:=24/36pt#; % uppercase curve breadth
+cap_ess#:=19/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.31pt#; % thickness of lines in math symbols
+
+dish#:=.8/36pt#; % amount erased at top or bottom of serifs
+bracket#:=12/36pt#; % vertical distance from serif base to tangent
+jut#:=17/36pt#; % protrusion of lowercase serifs
+cap_jut#:=23/36pt#; % protrusion of uppercase serifs
+beak_jut#:=6.8/36pt#; % horizontal protrusion of beak serifs
+beak#:=42/36pt#; % vertical protrusion of beak serifs
+vair#:=7/36pt#; % vertical diameter of hairlines
+notch_cut#:=6pt#; % maximum breadth above or below notches
+bar#:=8.5/36pt#; % lowercase bar thickness
+slab#:=8.5/36pt#; % serif and arm thickness
+cap_bar#:=8.5/36pt#; % uppercase bar thickness
+cap_band#:=8.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=6pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.8/36pt#; % for small refinements of stem breadth
+vair_corr#:=.7/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4.5/36pt#; % amount of overshoot for curves
+apex_o#:=4.5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.8; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcyr7.mf b/fonts/cyrillic/cmcyr/mf/cmcyr7.mf
new file mode 100644
index 0000000000..4de418a91b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcyr7.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Roman 7 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 7pt#;
+
+u#:=15.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=2/36pt#; % extra space added to all sidebars
+
+body_height#:=189/36pt#; % height of tallest characters
+asc_height#:=175/36pt#; % height of lowercase ascenders
+cap_height#:=172.2/36pt#; % height of caps
+fig_height#:=162.4/36pt#; % height of numerals
+x_height#:=108.5/36pt#; % height of lowercase without ascenders
+math_axis#:=63/36pt#; % axis of symmetry for math symbols
+bar_height#:=60.9/36pt#; % height of crossbar in lowercase e
+comma_depth#:=49/36pt#; % depth of comma below baseline
+desc_depth#:=49/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=8.5/36pt#; % lowercase hairline breadth
+stem#:=20/36pt#; % lowercase stem breadth
+curve#:=23/36pt#; % lowercase curve breadth
+ess#:=21/36pt#; % breadth in middle of lowercase s
+flare#:=24/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=29/36pt#; % diameter of dots
+cap_hair#:=9/36pt#; % uppercase hairline breadth
+cap_stem#:=24/36pt#; % uppercase stem breadth
+cap_curve#:=27/36pt#; % uppercase curve breadth
+cap_ess#:=23/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.34pt#; % thickness of lines in math symbols
+
+dish#:=.9/36pt#; % amount erased at top or bottom of serifs
+bracket#:=14/36pt#; % vertical distance from serif base to tangent
+jut#:=19/36pt#; % protrusion of lowercase serifs
+cap_jut#:=26/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.6/36pt#; % horizontal protrusion of beak serifs
+beak#:=49/36pt#; % vertical protrusion of beak serifs
+vair#:=7/36pt#; % vertical diameter of hairlines
+notch_cut#:=7pt#; % maximum breadth above or below notches
+bar#:=9/36pt#; % lowercase bar thickness
+slab#:=9/36pt#; % serif and arm thickness
+cap_bar#:=9/36pt#; % uppercase bar thickness
+cap_band#:=9/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.9/36pt#; % for small refinements of stem breadth
+vair_corr#:=.9/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.6; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcyr8.mf b/fonts/cyrillic/cmcyr/mf/cmcyr8.mf
new file mode 100644
index 0000000000..5d12253082
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcyr8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Roman 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=25.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=9.5/36pt#; % uppercase hairline breadth
+cap_stem#:=26.5/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=29/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/cmcyr9.mf b/fonts/cyrillic/cmcyr/mf/cmcyr9.mf
new file mode 100644
index 0000000000..18fc3271e9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cmcyr9.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Roman 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 9pt#;
+
+u#:=18.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=10/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=33/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=33/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/cmcyr/mf/coding.bak b/fonts/cyrillic/cmcyr/mf/coding.bak
new file mode 100644
index 0000000000..7ce9c009ff
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/coding.bak
@@ -0,0 +1,69 @@
+% that coding is KOI-8
+
+CYR_a := oct"101";
+CYR_be := oct"102";
+CYR_ve := oct"127";
+CYR_ghe := oct"107";
+CYR_de := oct"104";
+CYR_ie := oct"105";
+CYR_yo := oct"74";
+CYR_zhe := oct"126";
+CYR_ze := oct"132";
+CYR_i := oct"111";
+CYR_short_i := oct"112";
+CYR_ka := oct"113";
+CYR_el := oct"114";
+CYR_em := oct"115";
+CYR_en := oct"116";
+CYR_o := oct"117";
+CYR_pe := oct"120";
+CYR_er := oct"122";
+CYR_es := oct"123";
+CYR_te := oct"124";
+CYR_u := oct"125";
+CYR_ef := oct"106";
+CYR_ha := oct"110";
+CYR_tse := oct"103";
+CYR_che := oct"136";
+CYR_sha := oct"133";
+CYR_shcha := oct"135";
+CYR_hard_sign := oct"137";
+CYR_yeru := oct"131";
+CYR_soft_sign := oct"130";
+CYR_e := oct"134";
+CYR_yu := oct"100";
+CYR_ya := oct"121";
+
+CYR_A := oct"141";
+CYR_BE := oct"142";
+CYR_VE := oct"167";
+CYR_GHE := oct"147";
+CYR_DE := oct"144";
+CYR_IE := oct"145";
+CYR_YO := oct"76";
+CYR_ZHE := oct"166";
+CYR_ZE := oct"172";
+CYR_I := oct"151";
+CYR_SHORT_I := oct"152";
+CYR_KA := oct"153";
+CYR_EL := oct"154";
+CYR_EM := oct"155";
+CYR_EN := oct"156";
+CYR_O := oct"157";
+CYR_PE := oct"160";
+CYR_ER := oct"162";
+CYR_ES := oct"163";
+CYR_TE := oct"164";
+CYR_U := oct"165";
+CYR_EF := oct"146";
+CYR_HA := oct"150";
+CYR_TSE := oct"143";
+CYR_CHE := oct"176";
+CYR_SHA := oct"173";
+CYR_SHCHA := oct"175";
+CYR_HARD_SIGN := oct"177";
+CYR_YERU := oct"171";
+CYR_SOFT_SIGN := oct"170";
+CYR_E := oct"174";
+CYR_YU := oct"140";
+CYR_YA := oct"161";
diff --git a/fonts/cyrillic/cmcyr/mf/coding.mf b/fonts/cyrillic/cmcyr/mf/coding.mf
new file mode 100644
index 0000000000..65513e3ce5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/coding.mf
@@ -0,0 +1,69 @@
+% that coding is KOI-7
+
+CYR_a := oct"101";
+CYR_be := oct"102";
+CYR_ve := oct"127";
+CYR_ghe := oct"107";
+CYR_de := oct"104";
+CYR_ie := oct"105";
+CYR_yo := oct"74";
+CYR_zhe := oct"126";
+CYR_ze := oct"132";
+CYR_i := oct"111";
+CYR_short_i := oct"112";
+CYR_ka := oct"113";
+CYR_el := oct"114";
+CYR_em := oct"115";
+CYR_en := oct"116";
+CYR_o := oct"117";
+CYR_pe := oct"120";
+CYR_er := oct"122";
+CYR_es := oct"123";
+CYR_te := oct"124";
+CYR_u := oct"125";
+CYR_ef := oct"106";
+CYR_ha := oct"110";
+CYR_tse := oct"103";
+CYR_che := oct"136";
+CYR_sha := oct"133";
+CYR_shcha := oct"135";
+CYR_hard_sign := oct"137";
+CYR_yeru := oct"131";
+CYR_soft_sign := oct"130";
+CYR_e := oct"134";
+CYR_yu := oct"100";
+CYR_ya := oct"121";
+
+CYR_A := oct"141";
+CYR_BE := oct"142";
+CYR_VE := oct"167";
+CYR_GHE := oct"147";
+CYR_DE := oct"144";
+CYR_IE := oct"145";
+CYR_YO := oct"76";
+CYR_ZHE := oct"166";
+CYR_ZE := oct"172";
+CYR_I := oct"151";
+CYR_SHORT_I := oct"152";
+CYR_KA := oct"153";
+CYR_EL := oct"154";
+CYR_EM := oct"155";
+CYR_EN := oct"156";
+CYR_O := oct"157";
+CYR_PE := oct"160";
+CYR_ER := oct"162";
+CYR_ES := oct"163";
+CYR_TE := oct"164";
+CYR_U := oct"165";
+CYR_EF := oct"146";
+CYR_HA := oct"150";
+CYR_TSE := oct"143";
+CYR_CHE := oct"176";
+CYR_SHA := oct"173";
+CYR_SHCHA := oct"175";
+CYR_HARD_SIGN := oct"177";
+CYR_YERU := oct"171";
+CYR_SOFT_SIGN := oct"170";
+CYR_E := oct"174";
+CYR_YU := oct"140";
+CYR_YA := oct"161";
diff --git a/fonts/cyrillic/cmcyr/mf/cyrillic.mf b/fonts/cyrillic/cmcyr/mf/cyrillic.mf
new file mode 100644
index 0000000000..9af2e2d87a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cyrillic.mf
@@ -0,0 +1,276 @@
+% The Computer Modern Cyrillic family of fonts (by N.Glonti)
+
+let cmchar=message; % `|cmchar|' should precede each character
+
+font_coding_scheme:="TeX text";
+input coding;
+
+mode_setup; font_setup;
+
+
+input cyru; % upper case (majuscules)
+input cyrl; % lower case (minuscules)
+input cyrsymb; % three additional char
+
+font_slant slant;
+font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#;
+
+
+% k#:=.5u#; kk#:=.75u#; kkk#:=1.5u#; kkkk#:=-2u#;
+
+ k#:=.25u#; kk#:=.5u#; kkk#:=0.75u#; kkkk#:=-1.25
+u#;
+
+%k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
+%k#:=2u#; kk#:=u#; kkk#:=3u#; kkkk#:=-5u#;
+ ligtable CYR_a: % a
+ CYR_ya kern -kk#, % ya
+ CYR_u kern -kk#, % u
+ CYR_de kern k#, % d
+ CYR_che kern -kk#; % ch
+
+ ligtable CYR_be: % b
+ CYR_ve kern -k#, % ve
+ CYR_ghe kern -k#, % ghe
+ CYR_ie kern k#, % e
+ CYR_zhe kern -k#, % zhe
+ CYR_i kern -k#, % i
+ CYR_ka kern -k#, % ka
+ CYR_em kern -k#, % em
+ CYR_en kern -k#, % en
+ CYR_pe kern -k#, % pe
+ CYR_er kern -k#, % er
+% CYR_ef kern -k#, % (was -kk# AS) f
+ CYR_ha kern -k#, % x
+% CYR_o kern -k#, % o (-kkkk -> -kkk AS)
+ CYR_es kern -k#, % s (-kkkk -> -kkk AS)
+ CYR_u kern -k#, % u
+ CYR_soft_sign kern -k#, % soft_sign
+ CYR_yeru kern -k#, % yeru
+ CYR_shcha kern -k#, % shcha
+ CYR_tse kern -k#; % tse
+
+ ligtable CYR_tse: CYR_sha: CYR_shcha:
+ CYR_en: CYR_em: CYR_pe:
+ CYR_be kern -k#, % be
+ CYR_o kern -k#, % o
+ CYR_ie kern -k#, % es
+ CYR_ef kern -k#, % ef
+ CYR_es kern -k#, % ie
+ CYR_de kern k#; % d
+
+ ligtable CYR_de: % d
+ CYR_be kern -kkk#, % be
+ CYR_o kern -kkk#, % o
+ CYR_ie kern -kkk#, % es
+ CYR_ef kern -kk#, % ef
+ CYR_es kern -kkk#, % ie
+ CYR_de kern kk#; % d
+
+ ligtable CYR_ie: % e
+ CYR_be kern kkk#, % b
+ CYR_de kern -kk#, % d
+% CYR_ie kern -k#, % e
+ CYR_zhe kern -kk#, % e
+% CYR_ef kern -k#, % f
+ CYR_ha kern -kk#, % x
+% CYR_o kern -k#, % o
+% CYR_es kern -k#, % s
+% CYR_te kern -k#, % t
+ CYR_u kern -k#; % u
+
+ ligtable CYR_ef: % f
+ CYR_ie kern k#, % e
+ CYR_ha kern -kk#, % x
+ CYR_i kern -kk#, % i
+ CYR_en kern -k#, %
+ CYR_pe kern -k#, %
+ CYR_er kern -k#, %
+ CYR_o kern k#, % o
+ CYR_es kern k#, % s
+ CYR_te kern -k#; % t
+
+ ligtable CYR_ghe: % g
+ CYR_be kern -k#, % b
+ CYR_ie kern -kkk#, % e
+ CYR_o kern -kkk#, % o
+ CYR_es kern -kkk#; % s
+
+ ligtable CYR_ha: % kh
+ CYR_ie kern -kk#, % e
+ CYR_o kern -kk#, % o
+ CYR_ef kern -kk#, %
+ CYR_es kern -kk#; % s
+
+ ligtable CYR_ka: % k
+ CYR_ie kern -kk#, % e
+ CYR_ef kern -kk#, % f
+ CYR_o kern -kk#, % o
+ CYR_es kern -kk#, % s
+ CYR_u kern -k#; % u
+
+ ligtable CYR_el: % l
+ CYR_ie kern -kk#, % e
+ CYR_ef kern -kk#, % f
+ CYR_o kern -kk#, % o
+ CYR_es kern -kk#; % s
+
+ ligtable CYR_o: % o
+% CYR_be kern -k#, % b (was kkkk AS)
+ CYR_ve kern -kk#, % ve
+ CYR_de kern -kkk#, % de
+% CYR_ie kern -k#, % e (was kkkk AS)
+ CYR_ha kern -kk#, % x
+% CYR_o kern -k#, % o (was kkkk AS)
+% CYR_es kern -kk#, % s (was kkkk AS)
+ CYR_em kern -kk#, %
+ CYR_en kern -kk#, %
+ CYR_pe kern -kk#, %
+ CYR_i kern -kk#, %
+ CYR_short_i kern -kk#, %
+ CYR_ka kern -kk#, %
+ CYR_er kern -kk#, %
+ CYR_sha kern -kk#, %
+ CYR_shcha kern -kk#, %
+ CYR_che kern -kkk#, %
+ CYR_zhe kern -kk#; % zh
+
+ ligtable CYR_er: % p
+% CYR_be kern -k#, % b (kkkk -> -kkk AS)
+% CYR_ie kern -k#, % e(kkkk -> -kkk AS)
+ CYR_ha kern -kk#, % x
+% CYR_o kern -k#, % o (kkkk -> -kkk AS)
+% CYR_es kern -kk#, % s (kkkk -> -kkk AS)
+ CYR_te kern -k#; % t
+
+%ligtable CYR_es: % s
+% CYR_be kern -k#, % b
+% CYR_ie kern -k#, % e
+% CYR_ef kern -k#, % f
+% CYR_o kern -k#, % o
+% CYR_es kern -k#; % s
+ ligtable CYR_te: % t
+ CYR_en kern -k#, %
+ CYR_es kern -k#, %
+ CYR_ie kern -k#, % e
+ CYR_o kern -k#; % o
+ ligtable CYR_u: % u
+ CYR_de kern -k#, % d
+ CYR_el kern -kk#, %
+ CYR_a kern -k#; % s
+ ligtable CYR_zhe: % zh
+ CYR_be kern -kk#, % b
+ CYR_ie kern -kk#, %
+ CYR_ef kern -kk#, %
+ CYR_o kern -kk#, % o
+ CYR_es kern -kk#; % s
+
+ ligtable CYR_ve: % w
+ CYR_te kern -k#; % d
+
+%ligtable CYR_ze: % z
+% CYR_be kern -k#, % b
+% CYR_ie kern -k#, % e
+% CYR_o kern -k#, % o
+% CYR_es kern -k#; % s
+
+ ligtable CYR_A: % A
+ CYR_u kern -kk#, %
+ CYR_CHE kern -kkk#; % ch
+
+ ligtable CYR_BE: % B
+ CYR_O kern -k#, % o
+ CYR_ES kern -k#, % s
+ CYR_U kern -kk#; % u
+
+ ligtable CYR_GHE: CYR_U: % G U
+ CYR_A kern -kk#, % a
+% CYR_ve kern -kk#, % w
+% CYR_GHE kern -kk#, % g
+ CYR_DE kern -kk#, % d
+% CYR_IE kern -kk#, % e
+ CYR_EF kern -kk#, % f
+ CYR_HA kern -kk#, % kh
+% CYR_I kern -kk#, % i
+% CYR_SHORT_I kern -kk#, % j
+% CYR_KA kern -kk#, % k
+ CYR_EL kern -kk#, % l
+% CYR_EM kern -kk#, % m
+% CYR_EN kern -kk#, % n
+% CYR_O kern -kk#, % o
+% CYR_PE kern -kk#, % p
+ CYR_YA kern -kk#, % ya
+% CYR_ER kern -kk#, % r
+ CYR_ES kern -kk#, % s
+ CYR_TE kern -kk#, % t
+ CYR_U kern -kk#; % u
+% CYR_VE kern -kk#, % w
+% CYR_SOFT_SIGN kern -kk#, % '
+% CYR_YERU kern -kk#, % y
+% CYR_ZE kern -kk#, % z
+% CYR_SHA kern -kk#, % sh
+% CYR_SHCHA kern -kk#, % shch
+% CYR_CHE kern -kk#; % ch
+% CYR_HARD_SIGN kern -k#; % ''
+
+ ligtable CYR_O: CYR_ES: CYR_EF:
+ CYR_de kern -kkk#, %
+ CYR_A kern -kkk#, %
+ CYR_VE kern -kkk#, %
+ CYR_GHE kern -kkk#, %
+ CYR_ER kern -kkk#, %
+ CYR_PE kern -kkk#, %
+ CYR_EN kern -kkk#, %
+ CYR_E kern -kkk#, %
+ CYR_HA kern -kkk#, %
+ CYR_I kern -kkk#, %
+ CYR_KA kern -kkk#, %
+ CYR_EM kern -kkk#, %
+ CYR_SHA kern -kkk#, %
+ CYR_SHCHA kern -kkk#, %
+ CYR_SHORT_I kern -kkk#; % j
+
+ ligtable CYR_EN: CYR_EM: CYR_ER: CYR_PE:
+ CYR_ZHE: CYR_KA: CYR_DE: CYR_HA:
+ CYR_O kern -kkk#, %
+ CYR_ES kern -kkk#, %
+ CYR_EF kern -kkk#; %
+
+ ligtable CYR_TE: % T
+ CYR_A kern -kkk#, % a
+% CYR_VE kern -kkk#, % w
+% CYR_GHE kern -kkk#, % g
+ CYR_DE kern -kkk#, % d
+ CYR_IE kern -kkk#, % e
+ CYR_EF kern -kkk#, % f
+ CYR_HA kern -kkk#, % kh
+ CYR_I kern -kkk#, % i
+ CYR_SHORT_I kern -kkk#, % j
+ CYR_KA kern -kkk#, % k
+ CYR_EL kern -kkk#, % l
+% CYR_EM kern -kkk#, % m
+% CYR_EN kern -kkk#, % n
+ CYR_O kern -kkk#, % o
+% CYR_PE kern -kkk#, % p
+ CYR_YA kern -kkk#, % ya
+% CYR_ER kern -kkk#, % r
+ CYR_ES kern -kkk#, % s
+ CYR_TE kern -kkk#, % t
+ CYR_U kern -kkk#, % u
+% CYR_VE kern -kkk#, %
+% CYR_SOFT_SIGN kern -kkk#, %
+% CYR_YERU kern -kkk#, % y
+ CYR_ZE kern -kkk#; % z
+% CYR_SHA kern -kk#, % sh
+% CYR_SHCHA kern -kk#, % shch
+% CYR_CHE kern -kk#, % ch
+% CYR_HARD_SIGN kern -kk#; %
+fi;
+bye.
diff --git a/fonts/cyrillic/cmcyr/mf/cyrl.mf b/fonts/cyrillic/cmcyr/mf/cyrl.mf
new file mode 100644
index 0000000000..a9e9f90865
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cyrl.mf
@@ -0,0 +1,1061 @@
+cmchar "The cyrillic letter a";
+beginchar(CYR_a,9u#,x_height#,0);
+bh#:=min(bar_height#,1.14x_height#-bar_height#); define_pixels(bh);
+italcorr 1/3[bh#,x_height#]*slant+.5stem#-serif_fit#-2u#;
+adjust_fit(0,serif_fit# if serifs: if hair#+.5stem#>1.5u#:-.25u# fi\\fi);
+pickup fine.nib; top y3r=h+vround 1.5oo;
+if serifs: pos1(flare,180); pos2(hair,180);
+ pos3(vair,90); lft x1r=hround max(u,2.1u-.5flare); x3=.5w-.5u;
+ y1=min(bh+.5flare+2vair+2,.9[bh,h]-.5flare);
+ bulb(3,2,1); % bulb
+else: pos1(5/7[vair,flare],95); x1l=good.x 1.5u; x1r:=good.x x1r;
+ pos3(1/8[vair,thin_join],90);
+ x3=.5w-.2u; top y1r=vround .82[bh,top y3r];
+ filldraw stroke term.e(3,1,left,.9,4); fi % terminal
+pos4(stem,0); rt x4r=hround(w-2.5u+.5stem); y4=1/3[bh,h];
+pos5(stem,0); x5=x4; y5=max(.55bh,2vair);
+filldraw stroke super_arc.e(3,4)&z4e..z5e; % arc and stem
+pos6(.3[thin_join,vair],90); x6=x4; bot y6=bh;
+pos7(hround(curve-2stem_corr),180);
+lft x7r=hround max(.5u,1.5u-.5curve); y7=1/3[top y8l,top y6r];
+pos8(vair,270); x8l=.5w-.75u; bot y8r=-oo;
+pos9(thin_join,360); z9l=z5l;
+(x,y8r)=whatever[z8l,z9l]; x8r:=max(x,x8-u);
+{{interim superness:=more_super;
+ filldraw stroke z9e{down}...z8e{left}...{up}z7e&super_arc.e(7,6)}}; % bowl
+if serifs: numeric shaved_stem; shaved_stem=hround(stem-3stem_corr);
+ if hair#+.5stem#>1.5u#: pickup tiny.nib;
+ pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; y10=.2[.5tiny,bh];
+ pos11(shaved_stem,0); rt x11r=hround(w-.25u); bot y11=0;
+ pos12(shaved_stem,0); x11=x12; top y12=slab+eps;
+ filldraw z5'l---z10l...z11l{right}--z11r
+ --z12r{left}...z10r+.75(z12-z11)---z5'r--cycle; % foot
+ else: pickup crisp.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; y10=1/3bh;
+ pos11(.2[vair,stem],90); x11r=.5[x10r,x12r]; bot y11l=-vround .5oo;
+ pos12(hair,180); rt x12l=hround(w-.1u); y12=max(y10,y11+vair);
+ pos13(hair,180); x13=x12; top y13=max(vround .6bh,top y12);
+ (x',y11l)=whatever[z11r,z12r]; x11l:=max(x',x10);
+ filldraw stroke z5'e---z10e...z11e{right}...z12e---z13e; fi % hook
+else: numeric shaved_stem; shaved_stem=hround(stem-stem_corr);
+ pickup tiny.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; bot y10=0;
+ filldraw stroke z5'e--z10e; fi % base of stem
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "The cyrillic letter be";
+beginchar(CYR_be,9u#,fig_height#,0);
+italcorr .7x_height#*slant;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=x_height+vround 1.5oo; y3r=-oo;
+y2=y4=.5x_height-vair_corr; y2l:=y4l:=.52x_height;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+penpos2'(hair,180); lft x2'r=x2r; y2'=y2r;
+penpos5(.8curve,90); penpos6(.8curve,90);
+penpos6'(.8curve,-90); x6=.5[x5,x7]; y6=y5; z6'=z6;
+penpos7(thin_join,0); rt x7r=rt x4r;
+top y7=h; top y5r=.97h; x5=x1;
+fill stroke z2'e{up}...{right}z5e..z6e;
+fill circ_stroke pulled_arc.e(7,6');
+penlabels(1,2,2',3,4,5,6',6,7); endchar;
+
+cmchar "The cyrillic letter ve";
+beginchar(CYR_ve,9u#,x_height#,0);
+italcorr .5x_height#*slant+min(.5curve#-u#,-.25u#);
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(2.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos6(middle_weight,-90); penpos7(middle_weight,-90);
+penpos8(middle_weight,90); penpos9(middle_weight,90);
+penpos5(right_curve-stem_corr,0); penpos10(right_curve,0);
+penpos11(cap_band,-90); penpos12(cap_band,-90);
+z3r=top z1; y4=y3; y5=.5[y4,y6]; y6=y7; y7l-y8l=vair;
+z12r=bot z2; y11=y12; y10=.5[y11,y9]; y8=y9; .5[y7l,y8l]=.52h;
+x4=x6; x9=x11=x4+.5u; x7=x8=x1; x9l:=x4+.25u;
+x5r=hround(w-u); x10r=hround(w-.5u);
+if serifs: right_curve=curve-stem_corr; x4=.5[x1,w-1.5u];
+else: right_curve=curve-3stem_corr; x4=.5[x1,w-2.5u];
+ x4l:=x4l-.5u; x9l:=x9l-.5u; fi
+x6l:=x6l-.5u; x11l:=x11l-.5u;
+fill stroke z3e..super_arc.e(4,5) & super_arc.e(5,6)..z7e; % upper lobe
+fill stroke z8e..super_arc.e(9,10) & super_arc.e(10,11)..z12e; % lower lobe
+if serifs: nodish_serif(1,2,a,1/3,jut,b,1/3,.5jut); % upper serif
+ nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); fi % lower serif
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+cmchar "The cyrillic letter ghe";
+beginchar(CYR_ghe,8.5u#,x_height#,0);
+italcorr x_height#*slant;
+adjust_fit(serif_fit#,0);
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.75u); y4=good.y(y3l-.6beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+nodish_serif(1,2,a,1/3,jut,b,1/3,.5jut); % upper serif
+dish_serif(2,1,c,1/3,jut,d,1/3,1.25jut); % lower serif
+penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter de";
+beginchar(CYR_de,10u#,x_height#,comma_depth#);
+italcorr x_height#*slant-serif_fit#
+ +.75jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(0,serif_fit#);
+pickup tiny.nib; numeric thin_stem;
+thin_stem=if monospace: stem-tiny
+ else: min(hair,stem-1.3tiny) fi;
+if serifs: penpos1(thin_stem,0); penpos2(thin_stem,0); x2=.5[hround .5u,x1];
+else: penpos1(thin_stem,0); penpos2(thin_stem,0); x2=.5u+stem; fi
+pos3(stem,0); pos4(stem,0);
+x1l=x0l=.33w; top y1=h; bot y2=0;
+rt x3r=rt x4r=hround(w-2u); top y3=h; bot y4=0;
+filldraw stroke z3e--z4e;
+filldraw stroke z1e{down}..z2e; % stem and arc
+if serifs: pickup crisp.nib; numeric inner_jut,newbracket;
+ newbracket:=max(1.5,bracket); inner_jut:=.5(x3l-x1r);
+ path p[]; p1=z1{down}...z2;
+ p12=(0,y1-newbracket)--(w,y1-newbracket);
+ p21=(0,y2+newbracket)--(w,y2+newbracket);
+ z12=p1 intersectionpoint p12; z21=p1 intersectionpoint p21;
+ nodish_serif(1,12,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(3,4,c,1/3,inner_jut,d,1/3,jut); % upper right serif
+ inner_jut:=.5(x4l-x2r);
+ nodish_serif(2,21,e,1/3,jut,f,1/3,inner_jut); % middle left serif
+ nodish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % middle right serif
+ pickup crisp.nib;
+ pos5(slab,90); pos6(hair,180); pos7(hair,0);
+ x5=.5[x2,x4]; bot y5l=0;
+ rt x7r=tiny.rt x4r+jut; lft x6r=tiny.lft x2l-jut;
+ y6=y7=good.y(y5l-.5beak)-eps;
+ arm(5,6,m,1.25beak_darkness,0); % left beak
+ arm(5,7,n,1.25beak_darkness,0); % right beak
+else:
+ pos1'(slab,90); pos3'(slab,90);
+ pos6(slab,90); pos7(slab,90);
+ pos6'(slab,0); pos7'(slab,0);
+ pos8(slab,0); pos9(slab,0);
+ lft x1'=lft x1l; rt x3'=rt x3r; top y1'r=top y3'r=h;
+ lft x6=lft x6'l=lft x8l=.5u; rt x7=rt x7'r=rt x9r=w-.5u;
+ bot y6l=bot y7l=0; y6'=y7'=y6; bot y8=bot y9=-.75d;
+ filldraw stroke z1'e--z3'e; % upper bar
+ filldraw stroke z6e--z7e; % lower bar
+ filldraw stroke z6'e--z8e; % left beak
+ filldraw stroke z7'e--z9e; % right beak
+fi
+penlabels(1,1',2,3,3',4,5,6,7,8,9,12,21); endchar;
+
+cmchar "The cyrillic letter ie";
+beginchar(CYR_ie,7.25u#+max(.75u#,.5curve#),x_height#,0);
+italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
+adjust_fit(if monospace: .25u#,.5u# else: 0,0 fi);
+numeric left_curve,right_curve;
+left_curve=right_curve+6stem_corr=curve if not serifs: -3stem_corr fi;
+if right_curve<tiny.breadth: right_curve:=tiny.breadth; fi
+if left_curve<tiny.breadth: left_curve:=tiny.breadth; fi
+pickup tiny.nib; pos1(right_curve,0);
+pos2(vair,90); pos3(left_curve,180);
+y1=good.y bar_height; top y2r=h+vround 1.5oo; y0l=bot y1;
+rt x1r=hround min(w-.5u,w-u+.5right_curve);
+lft x3r=hround max(.5u,1.25u-.5left_curve); x2=.5w+.25u;
+{{interim superness:=more_super;
+ filldraw stroke super_arc.e(1,2)}}; % right bowl
+y3=.5[y2,y4]; bot y4r=-oo; x4=x2+.25u;
+if serifs: pos4(vair',270); pos5(hair,360);
+ y5=max(good.y(.5bar_height-.9),y4l+vair); x5r=x1r;
+ (x,y4l)=whatever[z4r,z5]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)
+ ...{x5-x4,5(y5-y4)}z5e; % left bowl, arc, and terminal
+else: pos4(vair,270);
+ filldraw stroke super_arc.e(2,3) & super_arc.e(3,4); % left bowl and arc
+ pickup fine.nib; pos4'(vair,270); z4=z4';
+ pos5(.5[vair,flare],275); rt x5r=hround(w-.6u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke term.e(4',5,right,1,4); fi % terminal
+path testpath; testpath=super_arc.r(2,3) & super_arc.r(3,4);
+y1'r=y0r=y0l+.6[thin_join,vair]; y1'l=y0l; x1'l=x1'r=x1;
+forsuffixes $=l,r:
+ x0$=xpart(((0,y0$)--(x1,y0$)) intersectionpoint testpath); endfor
+fill stroke z0e--z1'e; % crossbar
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter yo";
+numeric dot_diam#,dot_diam;
+dot_diam#=max(dot_size#,cap_curve#);
+beginchar(CYR_yo,7.25u#+max(.75u#,.5curve#),1.4x_height#,0);
+dot_diam=max(tiny.breadth,hround(max(dot_size,cap_curve)-2stem_corr));
+italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
+adjust_fit(if monospace: .25u#,.5u# else: 0,0 fi);
+numeric left_curve,right_curve,letter_h; letter_h=x_height;
+left_curve=right_curve+6stem_corr=curve if not serifs: -3stem_corr fi;
+if right_curve<tiny.breadth: right_curve:=tiny.breadth; fi
+if left_curve<tiny.breadth: left_curve:=tiny.breadth; fi
+pickup tiny.nib; pos1(right_curve,0);
+pos2(vair,90); pos3(left_curve,180);
+y1=good.y bar_height; top y2r=letter_h+vround 1.5oo; y0l=bot y1;
+rt x1r=hround min(w-.5u,w-u+.5right_curve);
+lft x3r=hround max(.5u,1.25u-.5left_curve); x2=.5w+.25u;
+{{interim superness:=more_super;
+ filldraw stroke super_arc.e(1,2)}}; % right bowl
+y3=.5[y2,y4]; bot y4r=-oo; x4=x2+.25u;
+if serifs: pos4(vair',270); pos5(hair,360);
+ y5=max(good.y(.5bar_height-.9),y4l+vair); x5r=x1r;
+ (x,y4l)=whatever[z4r,z5]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)
+ ...{x5-x4,5(y5-y4)}z5e; % left bowl, arc, and terminal
+else: pos4(vair,270);
+ filldraw stroke super_arc.e(2,3) & super_arc.e(3,4); % left bowl and arc
+ pickup fine.nib; pos4'(vair,270); z4=z4';
+ pos5(.5[vair,flare],275); rt x5r=hround(w-.6u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke term.e(4',5,right,1,4); fi % terminal
+path testpath; testpath=super_arc.r(2,3) & super_arc.r(3,4);
+y1'r=y0r=y0l+.6[thin_join,vair]; y1'l=y0l; x1'l=x1'r=x1;
+forsuffixes $=l,r:
+ x0$=xpart(((0,y0$)--(x1,y0$)) intersectionpoint testpath); endfor
+fill stroke z0e--z1'e; % crossbar
+pos6(dot_diam,0); pos7(dot_diam,90);
+x6=x7=2.5u; top y7r=h+1;
+if bot y7l<letter_h+o+slab: y7l:=min(y7r-eps,letter_h+o+slab+.5tiny); fi
+y6=.5[y7l,y7r]; dot(6,7); % left dot
+pos8(dot_diam,0); penpos9(y7r-y7l,90); y8=y9=y6; x8=x9=w-x6;
+dot(8,9); % right dot
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter zhe";
+beginchar(CYR_zhe,14u#,x_height#,0);
+italcorr x_height#*slant-.2u#;
+adjust_fit(serif_fit#,serif_fit#);
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+x1=x2=.5w; top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+stem2=max(tiny.breadth,fudged.stem-3stem_corr);
+rt x3r=w-lft x7l=hround(r-letter_fit-.9u-right_jut);
+rt x6r=w-lft x9l=hround(r-letter_fit-.5u-right_jut);
+top y3=top y7=h; bot y6=bot y9=0; x4=x1; y4=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+penpos7(alpha1*(stem1-tiny),0);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0); penpos9(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=y7'$=h; y6'$=y9'$=0;
+ z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4];
+ x8$=w-x5$; y8$=y5$; endfor
+z5=.5[z5l,z5r]; z8=.5[z8l,z8r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+x7'r=w-x3'r; x7'l=w-x3'l; x9'r=w-x6'r; x9'l=w-x6'l;
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % right upper diagonal
+fill z4r--diag_end(4r,7'r,1,.5,7'l,4l)--z4l--cycle; % left upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % right lower diagonal
+fill z8l--diag_end(8l,9'l,.5,1,9'r,8r)--z8r--cycle; % left lower diagonal
+if serifs: numeric inner_jut,mon_jut;
+ if rt x2r+jut+.5u+1<=lft x6l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x6l-inner_jut; fi
+ mon_jut=if monospace: inner_jut else: jut fi;
+ dish_serif(1,2,a,1/3,mon_jut,b,1/3,mon_jut); % upper stem serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower stem serif
+ dish_serif(3,4,e,2/3,right_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark); % lower diagonal serif
+ dish_serif(7,4,i,1/2,right_jut,j,2/3,right_jut)(dark); % upper diagonal serif
+ dish_serif(9,8,k,1/3,right_jut,l,1/2,inner_jut)(dark); fi %lower diagonal seri
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter ze";
+beginchar(CYR_ze,7.5u#,x_height#,0);
+italcorr x_height#*slant-.5u#;
+adjust_fit(0,0);
+pickup fine.nib;
+if serifs: pos1(hair,180); pos2(cap_band,90);
+ pos3(max(fine.breadth,curve-stem_corr),0); pos4(vair',270);
+ lft x1r=u; top y2r=h+oo;
+ bot y1=min(vround .7h,bot y2l-eps); rt x3r=hround(w-u);
+ pos7(vair,-90); pos8(vair,-90);
+ pos9(max(fine.breadth,vround 2/3vair),90); pos10(curve,0);
+ x9=.5w-u; x2=x4=.5w-.5u; bot y4r=-oo;
+ rt x10r=w-.5u; lft x8=min(hround 5u,lft x9)-eps;
+ y3=.5[top y7l,bot y2l]; y10=.5[bot y9l,top y4l];
+ top y8l=vround(.54h+.5vair); y8r=y9l;
+ x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+ pos5(hair,180); lft x5r=hround(.5u);
+ y5=max(good.y(.3bar_height),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=max(x,x4l-.5u);
+ interim superness:=more_super;
+ filldraw stroke z1e{up}
+ ... pulled_super_arc.e(2,3)(.5superpull)
+ & z3e{down}...z7e---z8e; % upper bowl
+ filldraw z8r--z9l--z9r--z8l---cycle; % middle tip
+ filldraw stroke pulled_super_arc.e(9,10)(.5superpull)
+ & pulled_super_arc.e(10,4)(.5superpull)
+ ..z5e; % arc and lower terminal
+ pos6(.3[fine.breadth,hair],180); x6r=x1r; top y6=h+o;
+ x1'-x1r=1.5curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x1-x2,10(y2-y1)}..z2{right};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: pos1(1.2flare,100); pos2(slab,90);
+ pos3(curve,0); pos4(slab,-90); pos5(flare,-95);
+ rt x1r=hround(1.1u); x2=.5w; x4=.45[x1,x10]; x9=.5w-u;
+ rt x3r=hround w-max(u,2u-.5curve); rt x5r=hround(.9u);
+ top y1r=vround .9h+oo; top y2r=h+oo; y3=.5[y7,y2];
+ bot y4r=-oo; bot y5r=vround .15h-oo; y5l:=good.y y5l; x5l:=good.x x5l;
+ pos7(vair,-90); pos8(vair,-90);
+ pos9(max(fine.breadth,vround 2/3vair),90); pos10(curve,0);
+ rt x10r=hround(w-.75u); lft x8=min(hround 5u,lft x9)-eps;
+ y10=.5[y9,y4]; top y8l=vround(.54h+.5vair); y8r=y9l;
+ x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+ filldraw stroke rterm.e(2,1,left,.9,4) & super_arc.e(2,3)
+ & pulled_arc.e(3,8); % upper bowl
+ filldraw stroke pulled_arc.e(9,10)
+ & super_arc.e(10,4) & term.e(4,5,left,.8,4); fi % lower bowl
+penlabels(1,1',2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "The cyrillic letter i";
+beginchar(CYR_i,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+top y1=top y3=h; bot y2=bot y4=0;
+x1=x2; x3=x4; x1l=w-x3r;
+rt x3r=hround(w-2.5u+.5fudged.stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: y5=h-y6=.12h;
+ else: bot y5l=h-top y6r=0; fi
+x5=rt x2r; x6=lft x3l;
+if hefty: numeric upper_notch,lower_notch,alpha;
+ alpha=if monospace: 100 else: 90 fi;
+ upper_notch=h-notch_cut; lower_notch=notch_cut;
+ penpos5(1.5stem,alpha); penpos6(1.5stem,alpha);
+ x2'=rt x2r; z2'=whatever[z6r,z5r]; x3'=lft x3l; z3'=whatever[z5l,z6l];
+ fill z5l..
+ if y2'<lower_notch: {right}(x2'+1,lower_notch){up}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y3'>upper_notch: {left}(x3'-1,upper_notch){down}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,90); penpos6(whatever,90);
+ z7=z6l-(max(eps,hair-tiny),0) rotated (angle(z5-z6)-90);
+ z5r=z7+whatever*(z5-z6); z6r=z7+whatever*(z5-z6);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); fi % lower right serif
+penlabels(1,2,2',3,3',4,4',5,6); endchar;
+
+cmchar "The cyrillic letter short_i";
+beginchar(CYR_short_i,10u#,if serifs: 1.5x_height#
+ else: 1.4x_height# fi,0);
+italcorr 1.5x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+top y1=top y3=x_height; bot y2=bot y4=0;
+x1=x2; x3=x4; x1l=w-x3r;
+rt x3r=hround(w-2.5u+.5fudged.stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: y5=x_height-y6=.12x_height;
+ else: bot y5l=x_height-top y6r=0; fi
+x5=rt x2r; x6=lft x3l;
+if hefty: numeric upper_notch,lower_notch,alpha;
+ alpha=if monospace: 100 else: 90 fi;
+ upper_notch=x_height-notch_cut; lower_notch=notch_cut;
+ penpos5(1.5stem,alpha); penpos6(1.5stem,alpha);
+ x2'=rt x2r; z2'=whatever[z6r,z5r]; x3'=lft x3l; z3'=whatever[z5l,z6l];
+ fill z5l..
+ if y2'<lower_notch: {right}(x2'+1,lower_notch){up}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y3'>upper_notch: {left}(x3'-1,upper_notch){down}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,90); penpos6(whatever,90);
+ z6'=z6l-(max(eps,hair-tiny),0) rotated (angle(z5-z6)-90);
+ z5r=z6'+whatever*(z5-z6); z6r=z6'+whatever*(z5-z6);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % lower left serif
+ if monospace: penpos7(.25vair,-90);
+ else: penpos7(vair,-90); fi
+ penpos8(.7vair,-180); penpos9(.5flare,-180);
+ penpos10(.7vair,0); penpos11(.5flare,0);
+ x7=.5[x8,x10]; bot y7r=.8h;
+ x8=.5w-2u; x10=w-x8; y8=y11=.95h;
+ bulb(7,8,9); % left bulb
+ bulb(7,10,11); % right bulb
+else: pickup fine.nib; penpos7(.75vair,-90);
+ penpos8(.75vair,-180); penpos10(.75vair,0);
+ x7=.5[x8,x10]; y7=.85h;
+ x8r=x1r; x10r=x3l; top y8=top y10=h;
+ filldraw stroke z8e...z7e...z10e;
+fi
+penlabels(1,2,2',3,3',4,5,6,7,8,9,10,11); endchar;
+
+cmchar "The cyrillic letter ka";
+beginchar(CYR_ka,9.5u#,x_height#,0);
+italcorr x_height#*slant-.5u#;
+adjust_fit(serif_fit#,serif_fit#);
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+lft x1l=lft x2l=hround(2.5u-.5fudged.stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem2=max(tiny.breadth,fudged.stem-3stem_corr);
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+top y3=h; rt x3r=hround(r-letter_fit-.75u-right_jut);
+bot y6=0; rt x6r=hround(r-letter_fit-.5u-right_jut);
+x4=x1; y4=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor
+z5=.5[z5l,z5r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+% we have also |z3'l=z3l+penoffset z4-z3 of currentpen+whatever*(z3-z4)|;\]
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal
+if serifs: numeric inner_jut;
+ if rt x2r+jut+.5u+1<=lft x6l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x6l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper stem serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower stem serif
+ dish_serif(3,4,e,2/3,right_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark);fi % lower diagonal serif
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter el";
+beginchar(CYR_el,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#
+ +.75jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(0,serif_fit#);
+pickup tiny.nib; numeric thin_stem;
+thin_stem=min(1.2hair,stem);
+if serifs: pos1(thin_stem,0); pos12(thin_stem,0);
+else: pos1(hair,0); pos12(hair,0); fi
+pos5(stem,0); pos6(stem,0);
+x1=.33w; top y1=h; x12=x1; y12=.5h;
+rt x5r=rt x6r=hround(w-2.5u+.5stem); top y5=h; bot y6=0;
+filldraw stroke z5e--z6e; % right stem
+if serifs:
+ numeric light_bulb,inner_jut;
+ inner_jut:=.5(x5l-x1r); light_bulb=hround 7/8[hair,flare];
+ pos2(thin_stem,-90); pos3(thin_stem,-180);
+ pos4(light_bulb,-180);
+ bot y2r=-oo; x2=.3[x4,x1];
+ y4=.2h; rt x4l=hround 2u; z4r=z3r;
+ bulb(2,3,4); % bulb
+ filldraw stroke z2e{right}...{up}z12e--z1e; % left stem and arc
+ nodish_serif(1,12,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(5,6,g,1/3,inner_jut,h,1/3,jut); % upper right serif
+ dish_serif(6,5,e,1/3,jut,f,1/3,jut); % lower right serif
+else: pos1'(slab,90); pos5'(slab,90);
+ pos2(hair,-90); pos3(hair,-90);
+ x2=.5u; x3=x2+u; bot y2r=0; bot y3r=-oo;
+ lft x1'=lft x1l; rt x5'=rt x5r; top y1'r=top y5'r=h;
+ filldraw stroke z1'e--z5'e; % upper bar
+ filldraw stroke z2e...z3e{right}...{up}z12e--z1e; % stem and arc
+fi
+penlabels(1,1',2,3,4,5,5',6,7); endchar;
+
+cmchar "The cyrillic letter em";
+beginchar(CYR_em,12u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+numeric stem[]; % thicknesses of the four strokes
+stem1=hround(fudged.hair+stem_corr);
+stem2=hround(fudged.stem-4stem_corr);
+stem3=hround(fudged.hair-stem_corr);
+stem4=hround(fudged.stem-3stem_corr);
+if stem4<stem1: stem4:=stem1; fi
+pickup tiny.nib; pos1(stem1,0); pos2(stem1,0);
+pos3(stem4,0); pos4(stem4,0);
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround(w-2.5u+.5stem4);
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(stem2,0); penpos6(stem2,0); penpos7(stem3,0); penpos8(stem3,0);
+x5l=x1; x6l=x7l; x8=lft x3l; x6-x5=x8-x7; y5=y8=h; y6=y7;
+if hefty: y6=if monospace: vround 1/3h else: o fi;
+ numeric upper_notch,lower_notch;
+ upper_notch=h-notch_cut; lower_notch=y6+notch_cut;
+ x1'=rt x1r; z1'=whatever[z5l,z6l]; x3'=lft x3l; z3'=whatever[z7r,z8r];
+ z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..
+ if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ if y3'<upper_notch: ...{up}(x3'-1,upper_notch){right} fi
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}
+ if y0<=lower_notch: ..{z7-z8}z0{z5-z6}..
+ else: ...{down}(x0+.5,lower_notch)--(x0-.5,lower_notch){up}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonals
+else: y6=0; z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..{z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}..{z7-z8}z0{z5-z6}
+ ..{z5-z6}diag_in(6r,5r,1,5l)--cycle; fi % diagonals
+if serifs: serif(1,2,a,1/3,-jut); % upper left serif
+ dish_serif(2,1,b,1/2,jut,c,1/2,jut)(dark); % lower left serif
+ serif(3,4,d,1/3,jut); % upper right serif
+ dish_serif(4,3,e,1/3,jut,f,1/3,jut); fi % lower right serif
+penlabels(0,1,1',2,3,3',4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter en";
+beginchar(CYR_en,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(bar,90); penpos6(bar,90);
+x5=x1; x6=x3; y5=y6=.52h;
+fill stroke z5e--z6e; % bar
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); fi % lower left serif
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter o";
+beginchar(CYR_o,9u#,x_height#,0);
+italcorr .7x_height#*slant;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=h+vround 1.5oo; y3r=-oo;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter pe";
+beginchar(CYR_pe,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % lower left serif
+ inner_jut:=inner_jut+u;
+ nodish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper left serif
+else: pos5(slab,90); pos6(slab,90);
+ lft x5=x1l; rt x6=x3r; y5r=y6r=y3;
+ filldraw stroke z5e--z6e; fi % upper bar
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter er";
+beginchar(CYR_er,10u#+serif_fit#,x_height#,desc_depth#);
+italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#);
+adjust_fit(serif_fit#,0);
+pickup tiny.nib; pos1(stem',0); pos2(stem,0);
+pos0'(stem',0); pos0(stem,0); z0l=z0'l; x0'=x1; x0=x2;
+lft x1l=hround(2.5u-.5stem'); top y1=h if serifs: +min(oo,serif_drop) fi;
+numeric edge; edge=rt x2r;
+pickup fine.nib; pos3(if hefty:thin_join else: hair fi,180);
+pos4(vair',90); pos5(curve,0); pos6(vair,-90); penpos7(x3l-x3r,-180);
+rt x3l=max(rt x3l-(lft x3r-tiny.lft x2l), 1/3[rt x2,edge]);
+y3=1/8[bar_height,x_height];
+x4l=w-.5(w-serif_fit)+.5u; top y4r=x_height+oo;
+rt x5r=hround min(w-1.35u+.5curve,w-.6u); y5=.5x_height;
+x6l=x4l-.2u; bot y6r=-oo;
+x7=x3; y7=min(y3,y6+y4-y3+.6vair);
+(x,y4r)=whatever[z3l,z4l]; x4r:=min(x,.5[x5r,x4]);
+(x',y6r)=whatever[z7l,z6l]; x6r:=min(x',.5[x5r,x6]);
+filldraw stroke z3e{up}...{right}z4e&super_arc.e(4,5)
+ &super_arc.e(5,6)&z6e{left}...{up}z7e; % bowl
+y0=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{right}z4l));
+pickup tiny.nib; bot y2=-d;
+filldraw stroke z1e--z0'e--z0e--z2e; % stem
+pickup crisp.nib; pos8(hair,0); pos7'(stem,0);
+z7'=z2; x8l=x7'l; bot y8=0;
+filldraw stroke z7'e--z8e; % point
+if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); % upper serif
+ dish_serif(2,0,b,1/3,jut,c,1/3,jut); fi % lower serif
+penlabels(0,1,2,3,4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter es";
+beginchar(CYR_es,8u#,x_height#,0);
+italcorr x_height#*slant-.2u#;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+pickup fine.nib; pos2(vair',90); pos4(vair',270);
+x2=x4=.5(w+u); top y2r=vround(h+1.5oo); bot y4r=-oo;
+pos3(curve,180); lft x3r=hround max(.6u,1.35u-.5curve); y3=.5h;
+if serifs: pos1(hair,0); pos0(flare,0);
+ y1=min(bar_height+.5flare+2vair'+2,.9[bar_height,h]-.5flare);
+ rt x1r=hround(w-.7u); bulb(2,1,0); % bulb
+ pos5(hair,0); rt x5r=hround(w-.5u);
+ y5=max(good.y(.5bar_height-.9),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e; % arc and lower terminal
+else: pos1(4/7[vair',flare],80);
+ rt x1r=hround(w-.6u); top y1r=vround .82[bar_height,top y2r];
+ filldraw stroke term.e(2,1,right,.8,4); % upper terminal
+ pos5(.6[vair',flare],275); rt x5r=hround(w-.5u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ forsuffixes e=l,r: path p.e; p.e=z4e{right}..tension .9 and 1..z5e;
+ if angle direction 1 of p.e>75:
+ p.e:=z4e{right}..tension atleast.9 and 1..{dir 75}z5e; fi endfor
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull) & p.e; fi % arc and lower terminal
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter te";
+beginchar(CYR_te,10u#,x_height#,0);
+italcorr x_height#*slant-beak_jut#-.25u#;
+adjust_fit(0,0);
+h:=vround(h-2stem_corr);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+if odd(w-stem): change_width; fi
+lft x1l=lft x2l=hround(.5w-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.65u); y4=good.y(y3l-.6beak)-eps;
+arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak
+pos5(hair,180); x5=w-x4; y5=y4;
+arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak
+if serifs: dish_serif(2,1,c,1/3,1.414jut,d,1/3,1.414jut); % lower serif
+ nodish_serif(1,2,a,1/3,.5jut,b,1/3,.5jut); fi % upper bracketing
+penlabels(1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter u";
+beginchar(CYR_u,if serifs:9.5u# else:9u# fi,x_height#,desc_depth#);
+italcorr x_height#*slant+.25u#;
+adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
+numeric left_stem,right_stem,bot_stem,bot_vair,outer_jut;
+left_stem=fudged.stem-stem_corr;
+right_stem=fudged.hair if hefty:-2stem_corr fi;
+bot_stem=fudged.hair if hefty:-8stem_corr fi;
+bot_vair=Vround(if serifs: vair else:.5[vair,bot_stem] fi);
+outer_jut=.75jut;
+x1l=w-x4r=l+letter_fit+outer_jut+.25u; y1=y4r=h; y2=y3=0; x2l=x3l;
+numeric alpha,alpha[]; x9=3u; y9=bot_vair-d-oo;
+alpha1=diag_ratio(2,bot_stem,y1-y3,x4r-x1l-apex_corr);
+alpha2=diag_ratio(1,bot_stem,y1-y9,x4r-x9);
+if alpha1<alpha2: x2l-x1l=x4r-x3r+apex_corr; alpha=alpha1;
+else: alpha=alpha2; z3l=whatever[z9,z4r-(alpha*bot_stem,0)]; fi
+penpos3(alpha*bot_stem,0); penpos4(alpha*right_stem,0);
+alpha3=(y1++(x2l-x1l))/y1;
+penpos1(alpha3*left_stem,0); penpos2(alpha3*left_stem,0);
+z0=whatever[z1r,z2r]=z4l+whatever*(z3r-z4r);
+if y0>notch_cut: y0:=notch_cut;
+ fill z0+.5right{up}...{z4r-z3r}diag_end(0,4l,1,1,4r,3r)
+ --z3r--z2l--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % left and right diagonals
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--z3r--z2l
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals
+penpos5(alpha*bot_stem,0); z5r=whatever[z3r,z4r]; y5-.5vair=-.5d;
+if serifs: numeric light_bulb; light_bulb=hround 7/8[hair,flare]; clearpen;
+ penpos6(vair,-90); penpos7(hair,-180); penpos8(light_bulb,-180);
+ x6=2u; y6r=-d-oo; y8-.5light_bulb=-.85d; x8r=hround .35u;
+ fill stroke z3e---z5e...{left}z6e; bulb(6,7,8); % arc and bulb
+ numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+jut+.5u+1<=lft x4'l-jut: inner_jut=jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % right serif
+else: penpos6(bot_vair,-90); x6=2.5u; y6r=-d-oo;
+ fill stroke z3e---z5e...{left}z6e; % arc
+ pickup fine.nib; pos6'(bot_vair,-90); z6'=z6;
+ pos7(2/3[bot_vair,flare],-85);
+ lft x7l=hround u; bot y7r=vround-.96d-oo; y7l:=good.y y7l;
+ filldraw stroke term.e(6',7,left,1,4); fi % arc and terminal
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter ef";
+beginchar(CYR_ef,12u#,x_height#+desc_depth#,desc_depth#);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+if odd(w-stem): change_width; fi
+top y1=h if serifs: +min(oo,serif_drop) fi;
+x1=x2=.5w; bot y2=-d;
+penpos3(cap_band,180);penpos3'(cap_band,0);
+penpos4(cap_band,90); penpos5(curve,0);
+penpos6(.5[vair,cap_band],-90);
+penpos7(.5[vair,cap_band],180); penpos7'(.5[vair,cap_band],0);
+penpos8(cap_band,90); penpos9(curve,180);
+penpos10(.5[vair,cap_band],270);
+x3l=x7l=rt x1r; x3'l=x7'l=lft x1l;
+y4r=y8r=x_height+oo; y5=y9=.5[y4l,y6l];
+x4r=x6r=.5[x1,x5]; x8r=x10r=.5[x9,x1];
+x5r=w-x9r=w-.5u;
+y7=y7'=.25x_height; y3=y3'=x_height-y7; y6r=y10r=-oo;
+filldraw stroke z1e--z2e; % stem
+fill stroke z3e{up}..pulled_arc.e(4,5) & pulled_arc.e(5,6)..{up}z7e;
+fill stroke z3'e{up}..pulled_arc.e(8,9) & pulled_arc.e(9,10)..{up}z7'e; % lobe
+if serifs:
+ sloped_serif.l(1,2,a,1/3,jut,.1h); % upper serif
+ dish_serif(2,1,b,1/3,jut,c,1/3,jut); fi % lower serif
+penlabels(0,1,2,3,3',4,5,6,7,7',8,9,10); endchar;
+
+cmchar "The cyrillic letter ha";
+beginchar(CYR_ha,if serifs:9.5u# else:9u# fi,x_height#,0);
+italcorr x_height#*slant-.05u#;
+adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
+numeric stem[],outer_jut,xjut,alpha[];
+stem1=fudged.stem-4stem_corr; stem2=min(fudged.hair,stem1);
+outer_jut=.75jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi;
+x1l=l+letter_fit+.1u+outer_jut; x2r=r-letter_fit-.3u-outer_jut-xjut;
+x3l=l+letter_fit+outer_jut+xjut; x4r=r-letter_fit-outer_jut;
+y1=y2=h; y3=y4=0;
+alpha1=diag_ratio(1,stem1,h,x4r-x1l);
+alpha2=diag_ratio(1,stem2,h,x2r-x3l);
+penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0);
+penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0);
+if hefty: z0=whatever[z1,z4]=whatever[z2,z3];
+ x12=x34=x0; y13=y24=y0;
+ z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l];
+ z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r];
+ forsuffixes $=13,24,34: z$'=.2[z$,z0]; endfor
+ fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34'
+ --diag_end(34',4l,.5,1,4r,24')--z24'
+ --diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals
+else: fill diag_end(4r,1r,.5,1,1l,4l)
+ --diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal
+ fill diag_end(2l,3l,.5,1,3r,2r)
+ --diag_end(3r,2r,.5,1,2l,3l)--cycle; fi % right diagonal
+if serifs: numeric inner_jut[]; pickup tiny.nib;
+ prime_points_inside(1,4); prime_points_inside(2,3);
+ prime_points_inside(3,2); prime_points_inside(4,1);
+ if rt x1'r+jut+.5u+1<=lft x2'l-jut-xjut: inner_jut1=jut;
+ else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi
+ if rt x3'r+jut+.5u+1<=lft x4'l-jut-xjut: inner_jut2=jut;
+ else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi
+ dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif
+ dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif
+ dish_serif(2',3,e,2/3,inner_jut1+xjut,
+ f,1/2,outer_jut+xjut)(dark); % upper right serif
+ dish_serif(3',2,g,1/2,outer_jut+xjut,
+ h,2/3,inner_jut2+xjut)(dark); fi % lower left serif
+penlabels(0,1,2,3,4,12,13,24,34); endchar;
+
+cmchar "The cyrillic letter tse";
+beginchar(CYR_tse,10u#,x_height#,comma_depth#);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,c,1/3, jut,d,1/3,inner_jut); % lower left serif
+ nodish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % lower right serif
+ pickup crisp.nib; pos5(slab,90); pos6(hair,0);
+ x5=.5[x2,x4]; bot y5l=0;
+ rt x6r=tiny.rt x4r+jut; y6=good.y(y5l-.5beak)-eps;
+ arm(5,6,m,1.25beak_darkness,0); % beak
+else: pos2'(slab,90); pos4'(slab,90);
+ pos5(slab,0); pos6(slab,0);
+ lft x2'=lft x2l; rt x4'=rt x5r=rt x6r=w-.5u;
+ bot y2'l=bot y4'l=0; y5=y4; bot y6=-.75d;
+ filldraw stroke z2'e--z4'e; % lower bar
+ filldraw stroke z5e--z6e; % right beak
+fi
+penlabels(1,2,2',3,4,4',5,6); endchar;
+
+cmchar "The cyrillic letter che";
+beginchar(CYR_che,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+numeric light_vair; light_vair=vair-fine;
+lft x1l=hround(2.5u-.5stem); x1=x2; x3l=w-x1r; x3r=x4r;
+top y1=h; bot y4=0;
+penpos2'(stem-fine,-180); z2'=z2; y3=y1; y2=.65h;
+penpos5(light_vair,-90); penpos6(light_vair,0);
+y6=.5h; lft x6l=lft x3l; if rt x6r>rt x3r: x6r:=x3r; fi
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+pickup fine.nib; bot y5r=y6-vair-.05h; x5=.5w;
+filldraw stroke {{interim superness:=hein_super;
+ pulled_super_arc.e(2',5)(.01superpull)}}
+ & z5e{right}...z6e; % arc
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ dish_serif(4,3,g,1/3,jut,h,1/3,jut); fi % lower right serif
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter sha";
+beginchar(CYR_sha,15u#,x_height#,0);
+italcorr x_height#*slant-.25u#;
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+pos3(stem',0); pos4(stem',0);
+pos5(stem',0); pos6(stem',0);
+if odd(w-stem'): change_width; fi
+lft x1l=lft x2l=hround(2.5u-.5stem);
+x3=x4=.5w; x5=x6=w-x1;
+top y1=top y5=top y3=h; bot y2=bot y6=bot y4=0;
+z3=.5[z1,z5]; z4=.5[z2,z6];
+filldraw stroke z1e--z2e; % right stem
+filldraw stroke z3e--z4e; % middle stem
+filldraw stroke z5e--z6e; % left stem
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,c,1/3,inner_jut,d,1/3,inner_jut); % upper middle serif
+ dish_serif(5,6,e,1/3,inner_jut,f,1/3, jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,g,1/3, jut,h,1/3, inner_jut); % lower left serif
+ nodish_serif(4,3,i,1/3,inner_jut, j,1/3,inner_jut); % lower middle serif
+ nodish_serif(6,5,k,1/3,inner_jut, l,1/3,jut); % lower right serif
+else: pos2'(slab,90); pos6'(slab,90);
+ lft x2'=lft x1l; rt x6'=rt x6r; bot y2'l=bot y6'l=0;
+ filldraw stroke z2'e--z6'e; % lower bar
+fi
+penlabels(1,2,2',3,4,5,6,6'); endchar;
+
+
+cmchar "The cyrillic letter shcha";
+beginchar(CYR_shcha,15u#,x_height#,comma_depth#);
+italcorr x_height#*slant-.25u#;
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+pos3(stem',0); pos4(stem',0);
+pos5(stem',0); pos6(stem',0);
+if odd(w-stem'): change_width; fi
+lft x1l=lft x2l=hround (2.25u-.5stem);
+x3=x4=.5w; x5=x6=w-x1;
+top y1=top y5=top y3=h; bot y2=bot y6=bot y4=0;
+z3=.5[z1,z5]; z4=.5[z2,z6];
+filldraw stroke z1e--z2e; % right stem
+filldraw stroke z3e--z4e; % middle stem
+filldraw stroke z5e--z6e; % left stem
+if serifs:
+ numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,c,1/3,inner_jut,d,1/3,inner_jut); % upper middle serif
+ dish_serif(5,6,e,1/3,inner_jut,f,1/3, jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,g,1/3, jut,h,1/3, inner_jut); % lower left serif
+ nodish_serif(4,3,i,1/3,inner_jut, j,1/3,inner_jut); % lower middle serif
+ nodish_serif(6,5,k,1/3,inner_jut, l,1/3,jut); % lower right serif
+ pickup crisp.nib; pos7(slab,90); pos8(hair,0);
+ x7=.5[x4,x6]; bot y7l=0;
+ rt x8r=tiny.rt x6r+jut; y8=good.y(y7l-.5beak)-eps;
+ arm(7,8,m,1.25beak_darkness,0); % beak
+else: pos2'(slab,90); pos6'(slab,90);
+ pos7(slab,0); pos8(slab,0);
+ lft x2'=lft x1l; rt x6'=rt x7r=rt x8r=w-.5u;
+ bot y2'l=bot y6'l=0; y7=y6; bot y8=-.75d;
+ filldraw stroke z2'e--z6'e; % lower bar
+ filldraw stroke z7e--z8e; % right beak
+fi
+penlabels(1,2,2',3,4,5,6,6',7,8); endchar;
+
+cmchar "The cyrillic letter hard_sign";
+beginchar(CYR_hard_sign,10.5u#,x_height#,0);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(4u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x7r=hround(w-.5u); x8l:=x8l-.5u;
+if serifs: right_curve=curve-stem_corr; x6=.5[x1,w-u];
+else: right_curve=curve-3stem_corr; x6=.5[x1,w-1.2u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+pickup crisp.nib; pos3(slab,90); pos4(hair,180);
+top y3r=h; x3=x1; lft x4r=hround(.5u); y4=good.y(y3l-.6beak)-eps;
+arm(3,4,e,beak_darkness,-.7beak_jut); % upper arm and beak
+if serifs: nodish_serif(1,2,a,0,jut,b,1/3,jut); % upper serif
+nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); fi % lower serif
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter yeru";
+beginchar(CYR_yeru,13u#,x_height#,0);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(2.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+pos3(stem,0); pos4(stem,0); x3=x4=w-x1; top y3=h; bot y4=0;
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6ltop
+:=x6-.25u; x8l:=x8l-.5u;
+x7r=if serifs: tiny.lft x3l-jut; else: 8.5u; fi
+if serifs: right_curve=curve-stem_corr; x6=.5[x1,w-4.5u];
+else: right_curve=curve-3stem_corr; x6=.5[x1,w-5.2u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+filldraw stroke z3e--z4e; % right stem
+if serifs: dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper left serif
+nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); % lower left serif
+dish_serif(3,4,e,1/3,1.05jut,f,1/3,1.05jut); % upper right serif
+dish_serif(4,3,g,1/3,1.05jut,h,1/3,1.05jut); fi % lower right serif
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter soft_sign";
+beginchar(CYR_soft_sign,9u#,x_height#,0);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(2.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x7r=hround(w-.5u); x8l:=x8l-.5u;
+if serifs: right_curve=curve-stem_corr; x6=.5[x1,w-u];
+else: right_curve=curve-3stem_corr; x6=.5[x1,w-1.2u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+if serifs: dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper serif
+nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); fi % lower serif
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter e";
+beginchar(CYR_e,8u#,x_height#,0);
+italcorr x_height#*slant-.2u#;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+pickup fine.nib;
+pos2(cap_band,90); pos4(vair',270); pos3(curve,0);
+x2=x4=.5(w-u); top y2r=h+oo; bot y4r=-oo;
+rt x3r=w-hround min(.6u,1.35u-.5curve); y3=.5h;
+if serifs: pos1(hair,180);
+ lft x1r=u; bot y1=min(vround .7h,bot y2l-eps);
+ pos5(hair,180); lft x5r=hround(.5u);
+ y5=max(good.y(.5bar_height-.9),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=max(x,x4l-.5u);
+ filldraw stroke z1e{up}
+ ..pulled_super_arc.e(2,3)(superpull)%(.7superpull)
+ & pulled_super_arc.e(3,4)(superpull)%(.5superpull)
+ ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e; % arc and lower terminal
+ pos6(.3[fine.breadth,hair],180); x6r=x1r; top y6=h+o;
+ x1'-x1r=1.5curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x1-x2,10(y2-y1)}..z2{right};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: pos1(4/7[vair',flare],110);
+ lft x1r=hround(.6u);
+ top y1r=vround .82[bar_height,top y2r];
+ filldraw stroke term.e(2,1,left,.8,4); % upper terminal
+ pos5(.6[vair',flare],265); lft x5r=hround(.5u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ forsuffixes e=l,r: path p.e; p.e=z4e{left}..tension .9 and 1..z5e;
+ if angle direction 1 of p.e<105:
+ p.e:=z4e{left}..tension atleast.9 and 1..{dir 105}z5e; fi endfor
+ filldraw stroke pulled_super_arc.e(2,3)(.5superpull)
+ & pulled_super_arc.e(3,4)(.7superpull) & p.e; fi % arc and lower terminal
+penpos7(bar,90); penpos8(bar,90);
+x7=lft x3l; x8=.5w-1.5u;
+y7=y8=.5h;
+fill stroke z7e--z8e; % bar
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter yu";
+beginchar(CYR_yu,13.5u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,if monospace: .5u# else: 0 fi);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+penpos5(vair,90); penpos7(vair',-90);
+penpos6(curve,180); penpos8(curve,0);
+x5=x7=.5[x6,x8]; y5r=h+oo; y7r=-oo;
+x8r=hround(w-.5u); x6r=hround(w-8.5u);
+y6=y8=.5h-vair_corr; y6l:=y8l:=.52h;
+penstroke pulled_arc.e(5,6) & pulled_arc.e(6,7)
+ & pulled_arc.e(7,8) & pulled_arc.e(8,5) & cycle; % bowl
+penpos3(bar,90); penpos4(bar,90); x3=x1; x4=x6; y3=y4=.52h;
+fill stroke z3e--z4e; % bar
+if serifs: numeric inner_jut; inner_jut=jut;
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); fi % lower left serif
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter ya";
+beginchar(CYR_ya,8u#+.5max(2u#,curve#),x_height#,0);
+italcorr .75cap_height#*slant- if serifs: 1.75 else: .5 fi\\ u#;
+adjust_fit(0,serif_fit#);
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+rt x1r=rt x2r=w-hround(2.5u-.5stem'); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(curve if hefty:-3stem_corr fi,180);
+penpos6(vair,-90); penpos7(vair,-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7; x7=x2; y7=.5h; x4=x6;
+if serifs: x4=.5w+.5u; x5r=hround(1.5u);
+else: x4=.5w-.5u; x5r=hround(.75u); fi
+x4l:=x6l:=x4+.125curve;
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+pos6'(curve,0); pos8(curve,0); x6'r=x6l; y6'=y6;
+tiny.lft x8l=.5u+.5jut; bot y8=0;
+filldraw stroke z6'e--z8e; % diagonal stem
+if serifs: numeric inner_jut;
+ if rt x8r+u+1<=lft x2l-jut: inner_jut=jut;
+ else: lft x2l-u-1=rt x8r+inner_jut; fi
+ nodish_serif(1,2,a,1/3,.5jut,b,1/3,jut); % upper serif
+ dish_serif(2,1,c,1/3,inner_jut,d,1/3,jut); % lower serif
+ serif(8,6',e,1/3,-.5jut); fi % lower diagonal serif
+penlabels(1,2,3,4,5,6,7,8); endchar;
diff --git a/fonts/cyrillic/cmcyr/mf/cyrlc.mf b/fonts/cyrillic/cmcyr/mf/cyrlc.mf
new file mode 100644
index 0000000000..d63e637a92
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cyrlc.mf
@@ -0,0 +1,1179 @@
+ "Lowercase Softened N ligature";
+call charbegin('010,pvbli+.5pwi/pu+pvbls+phbls+.5pwii/pu+phbli,px,0,.33.px.slant);
+hpen; lft1x1=round(pvbli.u); x2=x1; x3=good1(x1+pvbls.u); x4=x3;
+top1y1=m; y1=y3; bot1y2=0; y2=y4;
+w1 draw 1..2; % left stem
+w1 draw 3..4; % right stem
+if lcs0: call `a serif(1,1,2,-lcs);
+ call `b serif(1,1,2,lcs); % upper left serif
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,lcs); % lower left serif
+ call `e serif(3,1,4,-lcs);
+ call `f serif(3,1,4,lcs);
+ call `g serif(4,1,3,-lcs);
+ call `h serif(4,1,3,.5lcs); % lower right serif
+fi;
+x5=x1; x6=x3; y5=y6; y5=.52m;
+w0 draw 5..6; % bar
+x25=x3; x26=.5[x25,x27];
+y25=y26=lb; x28=x26; bot0y28=0;
+rt2x27=round(r-phbli.u); y27=.5[y25,y4];
+lft0x29=lft2x27; rt0x30=rt2x27; y29=y30=y27;
+call `f lune(26,28,29,30,.48.rdns,.48.rdns,.48.rdns,.48.rdns); % bowl
+w0 draw 25..26; % connections to stem
+w0 draw 4..28.
+ "Lowercase Softened L ligature";
+call charbegin('011,plli+.4pwiii/pu+llwidth+phbls+.5pwii/pu+phbli,px,0,.33px.slant);
+hpen; x1=good1((plli+llwidth).u+.4w3); x2=x1; bot0y1=0; top0y2=m; y3=y2; x4=x3;
+cpen;
+if ssflag=0: x6=(plli+1.5).u; x3=good0(x6+1.75u); y4=y3-s;
+new w99; w99=.8w3;
+lft99x8=lft0x7=round(plli.u); y8=y7=.12m;
+else: x7=plli.u; y7=y6; x7=x6-.75u; x3=good0(x6+.75u); y4=y3; fi;
+bot0y6=-oo;
+hpen;
+w1 draw 1..2; % vertical stroke
+w0 draw 2..3; % upper bar
+if lcs0: call `a serif(1,1,2,.5lcs); % all the serifs
+ call `b serif(1,1,2,-lcs);
+ call `c serif(2,1,1,lcs);
+ call `d serif(2,1,1,-lcs);
+ call `e dserif(3,0,4,lcs);
+ call `f dserif(3,0,4,-lcs);
+fi;
+cpen;
+if ssflag=0:
+w0 draw 4{0,-1}..6{-1,0}..7{0,1};
+w99 draw 8; % bulb
+else:
+w0 draw 4{0,-1}..6{-1,0}..7;
+fi;
+x25=x1; x26=.5[x25,x27];
+y25=y26=lb; x28=x26; bot0y28=0;
+rt2x27=round(r-phbli.u); y27=.5[y25,y1];
+lft0x29=lft2x27; rt0x30=rt2x27; y29=y30=y27;
+call `f lune(26,28,29,30,.48.rdns,.48.rdns,.48.rdns,.48.rdns); % bowl
+w0 draw 25..26; % connections to stem
+w0 draw 1..28.
+ "Serbian dzh";
+call charbegin('012,2.pvbli+pwi/pu+pvbls,px,.4pd,px.slant);
+hpen; lft1x1=round(pvbli.u); x2=x1; rt1x3=round(r-pvbli.u); x4=x3;
+top1y1=m; y1=y3; bot1y2=0; y2=y4;
+w1 draw 1..2; % left stem
+w1 draw 3..4; % right stem
+if lcs0: call `a serif(1,1,2,-lcs);
+ call `b serif(1,1,2,lcs); % upper left serif
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,.5lcs); % lower left serif
+ call `e serif(3,1,4,-lcs);
+ call `f serif(3,1,4,lcs); % upper right serif
+ call `g serif(4,1,3,-.5lcs);
+ call `h serif(4,4,3,lcs); % lower right serif
+fi;
+w0 draw 2..4; % bar
+new w99; w99=.85w1;
+rt99x5=.5[x2,x4]=lft99x6; y5=0=y6;
+x7=.2[x5,x6]; x8=.8[x5,x6]; y7=-.4d=y8;
+ddraw 7..5,8..6. % middle spur
+ "The letter i (for Ukrainian)";
+call charbegin('014,2.pvbli+pw1/pu,ph,0,ph.slant);
+hpen; x1=x2=good1 .5r; top1y1=m+ssdoo; bot1y2=0;
+w1 draw 1..2; % stem
+cpen; top3y3=h-ssd; rt3x3=rt1x1; w3 draw 3; % dot
+if lcs0: call `a sserif(1,1,2,-lcs); % upper serif
+ call `b serif(2,1,1,-lcs);
+ call `c serif(2,1,1,lcs); % lower serif
+fi.
+ "Ukrainian ebar";
+call charbegin('015,poli+qza.(.5pwii/pu)+lepwidth+.5pw/pu+plzi,px,0,px.slant);
+cpen; rt0x901=round(r-plzi.u);
+if ssflag=0: y901=.12m; x1=.44[x901,x3];
+else: y901=.15m; x1=.36[x901,x3]; fi;
+x1=x2; top0y1=m+oo; bot0y2=-oo;
+new w99; w99=qza.w2;
+lft99x3=round(poli.u); y3=.5[y1,y2];
+lft0x13=lft99x3; rt0x23=rt99x3;
+y13=y23=y3;
+call lune(1,2,23,13,.42rdns,.42rdns,.42rdns,.42rdns); % bowl
+if ssflag=0:
+x903=x901+.3u; y903=y901+(1.5+qyg).w0;
+x101=good0(x901-.2u); y101=.9m;
+x103=x101+.1u; y103=y101-(1.5+qyg).w0;
+new tailex; tailex=1.2; new tailmid; tailmid=.6;
+call arcpoint(2,901,902,1,0,tailex,1,.5,.5);
+call arcpoint(2,903,904,1,0,tailmid,1,.55,.5);
+call arcpoint(1,101,102,1,0,tailex,-1,.5,.5);
+call arcpoint(1,103,104,1,0,tailmid,-1,.55,.5);
+
+w0 ddraw 2{1,0}..902{x901-x2,y901-y2}..901{tailex,1},
+ 2{1,0}..904{x903-x2,y903-y2}..903{tailmid,1};
+
+w0 ddraw 1{1,0}..102{x101-x1,y101-y1}..101{tailex,-1},
+ 1{1,0}..104{x103-x1,y103-y1}..103{tailmid,-1};
+else:
+new slp; slp=1.2;
+x101=x901; y101=.85m;
+call arcpoint(1,101,102,1,0,slp,-1,.5,.5);
+call arcpoint(2,901,902,1,0,slp,1,.5,.5);
+w0 draw 1{1,0}..102{x101-x1,y101-y1}..101{slp,-1};
+ draw 2{1,0}..902{x901-x2,y901-y2}..901{slp,1};
+fi;
+cpen;
+if ssflag=0:
+y509=y510=y511=round .51m; x509=round(rt0x901-(1.2+qyh).u);
+x510=.5[x509,x511];
+y515-y509=.1(m-e); y509-y516=.1(m-e);
+x515=.4[x509,x510]; x516=.6[x510,x511];
+new hgt,bdth,theta,sintheta,costheta,acoef,bcoef,ccoef;
+hgt=w0; bdth=qzb.(1.75w0); theta=-30; sintheta=sind theta; costheta=cosd theta;
+x511-.5bdth.costheta=rt99x3+.25u;
+acoef=4.((costheta.costheta)/(bdth.bdth)+(sintheta.sintheta)/(hgt.hgt));
+bcoef=8.sintheta.costheta(1/(bdth.bdth)-1/(hgt.hgt));
+ccoef=4.((sintheta.sintheta)/(bdth.bdth)+(costheta.costheta)/(hgt.hgt));
+spen(acoef,bcoef,ccoef,0,0,0,0);
+draw 509..515..510{-2,-1}..516..511; % center tilde
+else:
+x800=1[x3,x1]; y800=y3;
+w0 draw 800..3;
+fi.
+ "Serbian dbar";
+call charbegin('016,2.pvbli+pwi/pu+pvbls,ph,0,.5px.slant);
+hpen; lft1x1=round(pvbli.u); x2=x1; top1y1=h; bot1y2=0;
+w1 draw 1..2; %left vertical stem
+if lcs>0: call `a serif(2,1,1,-lcs); %bot lft. lft. serif
+ call `b sserif(1,1,2,-lcs); %top lft. lft. serif
+ call `c serif(2,1,1,.75lcs); %bot inside lft. serif
+fi;
+x4=.5[x2,x7]; y4=-d;
+rt0x5=rt1x1; y5=1/4[e,m]; %point near middle of left stem
+x6=.5[x2,x7]; top0y6=m+oo; %top of curve
+rt1x7=round(r-pvbli.u); y7=.5[y6,y4];
+cpen; w0 draw 5{0,1}..6{1,0}; %shoulder
+call `e arc(6,7,w1); %right bowl
+call `f arc(4,7,w1); %right bowl
+cpen;
+lft0x8=lft1x1-lcs.u; rt0x9=x6; y8=y9=.5[m,h];
+w0 draw 8..9. % top bar
+ "Serbian cprime";
+call charbegin('017,2.pvbli+pwi/pu+pvbls,ph,0,.9px.slant);
+hpen; lft1x1=round(pvbli.u); x2=x1; top1y1=h; bot1y2=0;
+w1 draw 1..2; %left vertical stem
+rt1x7=round(r-pvbli.u); y7=1/3[e,m]; x8=x7; bot1y8=0;
+rt0x3=rt1x2; y3=1/4[e,m];
+x4=.5[x2,x7]; top3y4=m+oo;
+rt0x6=rt1x7; lft0x5=lft1x7;
+new stwo; stwo = sqrt 1.23114413sqrttwo; % the constant is $2^{3/10}$
+x9=1/stwo[x4,x5]; x10=1/stwo[x4,x6];
+y5=y6=y7; y9=y10=1/stwo[y7,y4];
+w0 draw 3{0,1}..4{1,0}; % link
+ddraw 4{1,0}..10{x6-x4,y6-y4}..6{0,-1},
+ 4{1,0}..9{x5-x4,y5-y4}..5{0,-1}; % shoulder
+w1 draw 7..8; % stem
+if lcs>0: call `a serif(2,1,1,-lcs); %bot lft. lft. serif
+ call `b sserif(1,1,2,-lcs); %top lft. lft. serif
+ call `c serif(2,1,1,.75lcs); %bot inside lft. serif
+ call `e serif(8,1,7,-.75lcs); %bot inside rt serif
+ call `f serif(8,1,7,lcs); %bot rt rt serif
+fi;
+cpen;
+lft0x15=lft1x1-lcs.u; rt0x17=.6[x2,x8]; y15=y17=.5[m,h];
+w0 draw 15..17. % top bar
+ "The letter s";
+call charbegin('036,7,px,0,px.slant-.5pu);
+hpen; top0y1=m+oo; bot0y5=-oo;
+x3=.5r; (y3-w6-.5w8)=(m-2w6-w8).(e/m); % white space ratio
+lft11x2=round u;
+if lcs=0: x1=x5=x3; lft0x6=round 2/3u; rt0x7=round(r-u); rt11x4=round(r-.75u);
+ y6=1/3[top0 0,y3]; y7=1/4[bot0m,y3];
+ w0 draw 6{x5-x6,3(y5-y6)}..5{1,0}; % lower left stroke
+ draw 7{x1-x7,2(y1-y7)}..1{-1,0}; % upper right stroke
+else: if w0=w1: x1=x5=x3; x6=x2; x7=x4; rt11x4=round(r-u);
+ y6=1/3[top0 0,y3]; y7=1/4[bot0m,y3];
+ w0 draw 6{x5-x6,3(y5-y6)}..5{1,0}; % lower left stroke
+ draw 7{x1-x7,2(y1-y7)}..1{-1,0}; % upper right stroke
+ x8=x9=x6; y9=y6+.5lcs.aspect.u+eps; bot0y8=0;
+ x10=x11=x7; y11=y7-.5lcs.aspect.u-eps; top0y10=m;
+ w0 draw 8..9; % lower serif
+ draw 10..11; % upper serif
+ else: x1=x3-.5u; x5=x3+.5u; lft0x6=round u; rt0x7=round(r-u);
+ rt11x4=round(r-.5u);
+ y6=good6(5/7 y3)-1; y7=good6(2/7[y3,m+oo])+1;
+ bot0y8=0; y9=y6; x8=x6; rt1x6=rt0x9;
+ top0y10=m+oo; y11=y7; x10=x7; lft1x7=lft0x11;
+ w0 ddraw 6..8, 9..8; % lower serif
+ ddraw 7..10, 11..10; % upper serif
+ rpen#; w1 draw 6{0,-1}..5{1,0}; % erase excess
+ lpen#; w1 draw 7{0,1}..1{-1,0}; % ditto
+ hpen; w0 draw 6{0,-1}..5{1,0}; % lower left stroke
+ draw 7{0,1}..1{-1,0}; % upper right stroke
+ fi;
+fi;
+new aa;
+if m+oo-e>e: aa=m+oo-e;
+else: aa=e;
+fi;
+call `a sdraw(1,2,3,4,5,w11,w8,-aa/(12u)); % middle stroke
+if ptsize>18:
+ if mode=2: call snip(pa);
+ fi;
+fi.
+ "Cyrillic letter ja";
+call charbegin('037,plki+.5pw/pu+ljawidth+.5pwi/pu+pvbli,px,0,px.slant);
+hpen; rt1x1=rt1x2=round(r-pvbli.u); top1y1=m; bot1y2=0;
+w1 draw 1..2; %stem
+if lcs>0: call `a serif(1,1,2,lcs); %upper serif
+ call `b serif(2,1,1,lcs);
+ call `c serif(2,1,1,-lcs); %lower serifs
+fi;
+x3=x1; y3=.5m;
+x25=good2(x1-(pvbls-.75).u); y25=.5[y1,y3];
+rt0x26=rt2x25; lft0x27=lft2x25; y26=y27=1[y3,y25];
+x29=.5[x1,x25]; top0y29=m;
+x28=.5[x3,x25]; y28=y3;
+call `e lune(29,28,26,27,.48rdns,.48rdns,.48rdns,.48rdns); % upper bowl
+cpen; w0 draw 29..1; % connections to stem
+ draw 28..3;
+
+bot0y460=-oo;
+if ssflag=0:
+x450=lft1x3-0u; y450=y3;
+x460=(plki+1).u;
+x454=(.52+qya)[x450,x460]; y454=.5[y450,y460];
+x455=.82[x450,x460]; y455=.8[y450,y460];
+
+new dirml,dirmr; dirml=.45+qyb; dirmr=.3+qyc;
+
+
+call arcpoint(450,454,452,-1,0,dirml(x460-x450),y460-y450,.55,.3);
+call arcpoint(454,460,458,dirml(x460-x450),y460-y450,-1,0,.6,.5);
+call arcpoint(450,455,451,-1,0,dirmr(x460-x450),y460-y450,.5,.5);
+call arcpoint(455,460,459,dirmr(x460-x450),y460-y450,-1,0,.5,.4);
+
+call arcpoint(450,451,421,-1,0,x455-x450,y455-y450,.4,.6);
+call arcpoint(450,452,422,-1,0,x454-x450,y454-y450,.4,.5);
+call arcpoint(451,455,425,x455-x450,y455-y450,dirmr(x460-x450),y460-y450,.5,.5);
+call arcpoint(452,454,424,x454-x450,y454-y450,dirml(x460-x450),y460-y450,.6,.3);
+
+w0 ddraw 450{-1,0}..422{x452-x450,y452-y450}.. % leg
+ 452{x454-x450,y454-y450}..424{x454-x452,y454-y452}..
+ 454{dirml(x460-x450),y460-y450}..458{x460-x454,y460-y454}..
+ 460{-1,0},
+ 450{-1,0}..421{x451-x450,y451-y450}..
+ 451{x455-x450,y455-y450}..425{x455-x451,y455-y451}..
+ 455{dirmr(x460-x450),y460-y450}..459{x460-x455,y460-y455}..
+ 460{-1,0};
+w0 draw 3..450;
+
+lft0x469=round(plki.u); y469=.25y450;
+x465=.7[x460,x469]; y465=.3[y460,y469];
+w0 draw 460{-1,0}..465..469{0,1}; % foot
+else:
+hpen; lft2x460=plki.u;
+w2 draw 28..460;
+fi.
+ "Cyrillic letter ju";
+call charbegin('030,pvbli+.5pwi/pu+(4+qyi)+(lowidth-.75)+.5pwii/pu+poli,px,0,.5.px.slant);
+hpen; lft1x1=round (pvbli.u); x2=x1; top1y1=m; bot1y2=0;
+w1 draw 1..2; %left stem
+if lcs>0: call `a serif(1,1,2,-lcs);
+ call `b serif(1,1,2,lcs); %upper serifs
+ call `c serif(2,1,1,-lcs);
+ call `d serif (2,1,1,lcs); %lower serifs
+fi;
+x3=x1; y3=.5m; y4=y3; x4=good2(x1+(4+qyi).u);
+w0 draw 3..4; %horizontal bar
+rt2x6=round(r-poli.u); x5=.5(x4+x6)=x7; top0y5=m+o; bot0y7=-o; y6=y4;
+lft0x24=lft2x4; rt0x34=rt2x4; y24=y34=y4; lft0x26=lft2x6;
+rt0x36=rt2x6; y26=y36=y6;
+call lune(5,7,26,36,.42rdns,.42rdns,.42rdns,.42rdns); % bowl
+call lune(5,7,34,24,.42rdns,.42rdns,.42rdns,.42rdns).
+ "Cyrillic letter zh";
+call charbegin('031,2.plki+pw/pu+2.lkwidth,px,0,px.slant);
+hpen; x1=good1 .5r; x3=x2=x1;
+top1y1=m; bot1y2=0;
+w1 draw 1..2; % stem
+if lcs>0: call `a serif(1,1,2,-lcs); % serifs on stem
+ call `b serif(1,1,2,lcs);
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,lcs);
+fi;
+cpen;
+new w99; w99=.8w3;
+y3=good6 .5m; rt99x118=round(r-(plki+.5).u); top99y118=m;
+y150=y3;
+if ssflag=0: x150=rt1x3; x160=x118-.25w99; top0y160=m+oo;
+else: x150=rt1x3+u; rt0x160=r-(plki+.5).u; top0y160=m+oo; fi;
+rt0x161=rt99x118; y161=y118;
+x154=.6[x150,x160]; y154=.55[y150,y160];
+x155=.73[x150,x160]; y155=.75[y150,y160];
+
+lft99x318=round((plki+.5).u); top99y318=m;
+y350=y3;
+if ssflag=0: x350=lft1x3; x360=x318+.25w99; top0y360=m+oo;
+else: x350=lft1x3-u; lft0x360=(plki+.5).u; top0y360=m+oo; fi;
+lft0x361=lft99x318; y361=y318;
+x354=.6[x350,x360]; y354=.55[y350,y360];
+x355=.73[x350,x360]; y355=.75[y350,y360];
+
+new dirml,dirmr; dirml=.5; dirmr=.25;
+
+call arcpoint(150,154,152,1,0,dirml(x160-x150),y160-y150,.6,.4);
+call arcpoint(154,160,158,dirml(x160-x150),y160-y150,1,0,.68,.5);
+call arcpoint(150,155,151,1,0,dirmr(x160-x150),y160-y150,.4,.6);
+call arcpoint(155,160,159,dirmr(x160-x150),y160-y150,1,0,.55,.5);
+
+call arcpoint(150,151,121,1,0,x155-x150,y155-y150,.78,.5);
+call arcpoint(151,155,125,x155-x150,y155-y150,dirmr(x160-x150),y160-y150,.5,.5);
+call arcpoint(150,152,122,1,0,x154-x150,y154-y150,.5,.5);
+call arcpoint(152,154,124,x154-x150,y154-y150,dirml(x160-x150),y160-y150,.5,.5);
+
+call arcpoint(350,354,352,-1,0,dirml(x360-x350),y360-y350,.6,.4);
+call arcpoint(354,360,358,dirml(x360-x350),y360-y350,-1,0,.68,.5);
+call arcpoint(350,355,351,-1,0,dirmr(x360-x350),y360-y350,.4,.6);
+call arcpoint(355,360,359,dirmr(x360-x350),y360-y350,-1,0,.55,.5);
+
+call arcpoint(350,351,321,-1,0,x355-x350,y355-y350,.78,.5);
+call arcpoint(351,355,325,x355-x350,y355-y350,dirmr(x360-x350),y360-y350,.5,.5);
+call arcpoint(350,352,322,-1,0,x354-x350,y354-y350,.5,.5);
+call arcpoint(352,354,324,x354-x350,y354-y350,dirml(x360-x350),y360-y350,.5,.5);
+
+if ssflag=0:
+w0 ddraw 150{1,0}..122{x152-x150,y152-y150}.. % upper right arm
+ 152{x154-x150,y154-y150}..124{x154-x152,y154-y152}..
+ 154{dirml(x160-x150),y160-y150}..158{x160-x154,y160-y154}..
+ 160..161{0,-1},
+ 150{1,0}..121{x151-x150,y151-y150}..
+ 151{x155-x150,y155-y150}..125{x155-x151,y155-y151}..
+ 155{dirmr(x160-x150),y160-y150}..159{x160-x155,y160-y155}..
+ 160..161{0,-1};
+w99 draw 118; % right bulb
+
+w0 ddraw 350{-1,0}..322{x352-x350,y352-y350}.. % upper left arm
+ 352{x354-x350,y354-y350}..324{x354-x352,y354-y352}..
+ 354{dirml(x360-x350),y360-y350}..358{x360-x354,y360-y354}..
+ 360..361{0,-1},
+ 350{-1,0}..321{x351-x350,y351-y350}..
+ 351{x355-x350,y355-y350}..325{x355-x351,y355-y351}..
+ 355{dirmr(x360-x350),y360-y350}..359{x360-x355,y360-y355}..
+ 360..361{0,-1};
+w99 draw 318; % left bulb
+else:
+x170=x160+.3u; y170=y160;
+w0 draw 150{1,0}..122{x152-x150,y152-y150}.. % upper right arm
+ 152{x154-x150,y154-y150}..124{x154-x152,y154-y152}..
+ 154{dirml(x160-x150),y160-y150}..158{x160-x154,y160-y154}..
+ 160{1,0}..170;
+x370=x360-.3u; y370=y360;
+w0 draw 350{-1,0}..322{x352-x350,y352-y350}.. % upper left arm
+ 352{x354-x350,y354-y350}..324{x354-x352,y354-y352}..
+ 354{dirml(x360-x350),y360-y350}..358{x360-x354,y360-y354}..
+ 360{-1,0}..370;
+fi;
+
+y250=y3;
+if ssflag=0: x250=rt1x3+.5u; x260=r-(plki+1.5).u; bot0y260=-oo;
+else: x250=rt1x3+1.5u; rt0x260=r-plki.u; bot0y260=-oo; fi;
+x254=(.55+qyd)[x250,x260]; y254=.5[y250,y260];
+x255=.84[x250,x260]; y255=.8[y250,y260];
+
+y450=y3;
+if ssflag=0: x450=lft1x3-.5u; x460=(plki+1.5).u; bot0y460=-oo;
+else: x450=lft1x3-1.5u; lft0x460=plki.u; bot0y460=-oo; fi;
+x454=(.55+qyd)[x450,x460]; y454=.5[y450,y460];
+x455=.84[x450,x460]; y455=.8[y450,y460];
+
+new dirml,dirmr; dirml=.37+qye; dirmr=.15+qyf;
+
+call arcpoint(250,254,252,1,0,dirml(x260-x250),y260-y250,.55,.3);
+call arcpoint(254,260,258,dirml(x260-x250),y260-y250,1,0,.6,.5);
+call arcpoint(250,255,251,1,0,dirmr(x260-x250),y260-y250,.5,.5);
+call arcpoint(255,260,259,dirmr(x260-x250),y260-y250,1,0,.5,.4);
+
+call arcpoint(250,251,221,1,0,x255-x250,y255-y250,.4,.6);
+call arcpoint(250,252,222,1,0,x254-x250,y254-y250,.4,.5);
+call arcpoint(251,255,225,x255-x250,y255-y250,dirmr(x260-x250),y260-y250,.5,.5);
+call arcpoint(252,254,224,x254-x250,y254-y250,dirml(x260-x250),y260-y250,.6,.3);
+
+call arcpoint(450,454,452,-1,0,dirml(x460-x450),y460-y450,.55,.3);
+call arcpoint(454,460,458,dirml(x460-x450),y460-y450,-1,0,.6,.5);
+call arcpoint(450,455,451,-1,0,dirmr(x460-x450),y460-y450,.5,.5);
+call arcpoint(455,460,459,dirmr(x460-x450),y460-y450,-1,0,.5,.4);
+
+call arcpoint(450,451,421,-1,0,x455-x450,y455-y450,.4,.6);
+call arcpoint(450,452,422,-1,0,x454-x450,y454-y450,.4,.5);
+call arcpoint(451,455,425,x455-x450,y455-y450,dirmr(x460-x450),y460-y450,.5,.5);
+call arcpoint(452,454,424,x454-x450,y454-y450,dirml(x460-x450),y460-y450,.6,.3);
+
+if ssflag=0:
+w0 ddraw 250{1,0}..222{x252-x250,y252-y250}.. % left leg
+ 252{x254-x250,y254-y250}..224{x254-x252,y254-y252}..
+ 254{dirml(x260-x250),y260-y250}..258{x260-x254,y260-y254}..
+ 260{1,0},
+ 250{1,0}..221{x251-x250,y251-y250}..
+ 251{x255-x250,y255-y250}..225{x255-x251,y255-y251}..
+ 255{dirmr(x260-x250),y260-y250}..259{x260-x255,y260-y255}..
+ 260{1,0};
+
+w0 ddraw 450{-1,0}..422{x452-x450,y452-y450}.. % left leg
+ 452{x454-x450,y454-y450}..424{x454-x452,y454-y452}..
+ 454{dirml(x460-x450),y460-y450}..458{x460-x454,y460-y454}..
+ 460{-1,0},
+ 450{-1,0}..421{x451-x450,y451-y450}..
+ 451{x455-x450,y455-y450}..425{x455-x451,y455-y451}..
+ 455{dirmr(x460-x450),y460-y450}..459{x460-x455,y460-y455}..
+ 460{-1,0};
+else:
+x270=x260; bot0y270=-oo;
+w0 draw 250{1,0}..222{x252-x250,y252-y250}.. % left leg
+ 252{x254-x250,y254-y250}..224{x254-x252,y254-y252}..
+ 254{dirml(x260-x250),y260-y250}..258{x260-x254,y260-y254}..
+ 260..270{1,0};
+x470=x460; bot0y470=-oo;
+w0 draw 450{-1,0}..422{x452-x450,y452-y450}.. % left leg
+ 452{x454-x450,y454-y450}..424{x454-x452,y454-y452}..
+ 454{dirml(x460-x450),y460-y450}..458{x460-x454,y460-y454}..
+ 460..470{-1,0};
+fi;
+cpen;
+w0 draw 3..250; % connections to stem
+ draw 3..450;
+
+if ssflag=0:
+rt0x269=round(r-plki.u); y269=.25y250;
+x265=.7[x260,x269]; y265=.3[y260,y269];
+w0 draw 260{1,0}..265..269{0,1}; % foot on right leg
+
+lft0x469=round(plki.u); y469=.25y450;
+x465=.7[x460,x469]; y465=.3[y460,y469];
+w0 draw 460{-1,0}..465..469{0,1}; % foot on left leg
+fi.
+ "Dotless letter i (for Ukrainian)";
+call charbegin('075,2.pvbli+pw1/pu,px,0,px.slant);
+hpen; x1=x2=good1 .5r; top1y1=m+ssdoo; bot1y2=0;
+w1 draw 1..2; % stem
+if lcs0: call `a sserif(1,1,2,-lcs); % upper serif
+ call `b serif(2,1,1,-lcs);
+ call `c serif(2,1,1,lcs); % lower serif
+fi.
+ "Lowercase Cyrillic soft sign";
+call charbegin('176,pvbli+.5pwi/pu+phbls+.5pwii/pu+phbli,px,0,.33.px.slant);
+hpen; lft1x1=lft1x2=round(pvbli.u);
+top1y1=m; bot1y2=0;
+w1 draw 1..2; % stem
+if lcs  0:
+ call `a serif(1,1,2, -lcs); % upper stem serif
+ call `b serif(1,1,2, lcs);
+ call `c serif(2,1,1, -lcs); % lower stem serif
+ call `d serif(2,1,1,.25lcs);
+fi;
+x25=x1; x26=.5[x25,x27];
+y25=y26=lb; x28=x26; bot0y28=0;
+rt2x27=round(r-phbli.u); y27=.5[y25,y2];
+lft0x29=lft2x27; rt0x30=rt2x27; y29=y30=y27;
+call `f lune(26,28,29,30,.48.rdns,.48.rdns,.48.rdns,.48.rdns); % bowl
+w0 draw 25..26; % connections to stem
+w0 draw 2..28.
+ "Lowercase Cyrillic hard sign";
+call charbegin('177,plai+.5pw/pu+(plal-1)+phbls+.5pwii/pu+phbli,px,0,1/3px.slant);
+hpen; x1=good1((plai+plal-1).u+.5w0); x2=x1; top1y1 = m; bot1y2 = 0;
+w1 draw 1..2; % stem
+if lcs  0:
+ call `a serif(1,1,2,-.5lcs); % upper stem serif
+ call `b serif(1,1,2, lcs);
+ call `c serif(2,1,1, -lcs); % lower stem serif
+ call `d serif(2,1,1,.5lcs);
+fi;
+lft0x3=round(plai.u); y3=y1; % upper arm and serif
+ x4= good0(x3-.5u); y4 = y3-sas;
+call `e arm(1,3,4,sas);
+x25= x1; x26=.4[x25,x27];
+y25= y26=lb+oo; x28=x26; bot0y28=0;
+rt2x27=round(r-phbli.u); y27=.5[y25,y2];
+lft0x29=lft2x27; rt0x30=rt2x27; y29=y30=y27;
+call `f lune(26,28,29,30,.48.rdns,.48.rdns,.48.rdns,.48.rdns); % bowl
+x44=x25; y44=.2[y25,y27];
+w0 draw 44{0,1}..26{1,0}; % connections to stem
+w0 draw 2..28.
+ "Cyrillic letter eprime";
+call charbegin('013,plzi+.5pw/pu+lepwidth+qza.(.5pwii/pu)+poli,px,0,.5.px.slant);
+cpen; lft0x901=round(plzi.u);
+if ssflag=0: y901=.12m; x1=.44[x901,x3];
+else: y901=.15m; x1=.36[x901,x3]; fi;
+x1=x2; top0y1=m+oo; bot0y2=-oo;
+new w99; w99=qza.w2;
+rt99x3=round(r-poli.u); y3=.5[y1,y2];
+rt0x13=rt99x3; lft0x23=lft99x3;
+y13=y23=y3;
+call lune(1,2,23,13,.42rdns,.42rdns,.42rdns,.42rdns); % bowl
+if ssflag=0:
+x903=x901-.3u; y903=y901+(1.5+qyg).w0;
+lft0x101=round(lft0x901+.2u); y101=.9m;
+x103=x101-.1u; y103=y101-(1.5+qyg).w0;
+new tailex; tailex=-1.2; new tailmid; tailmid=-.6;
+call arcpoint(2,901,902,-1,0,tailex,1,.5,.5);
+call arcpoint(2,903,904,-1,0,tailmid,1,.55,.5);
+call arcpoint(1,101,102,-1,0,tailex,-1,.5,.5);
+call arcpoint(1,103,104,-1,0,tailmid,-1,.55,.5);
+
+w0 ddraw 2{-1,0}..902{x901-x2,y901-y2}..901{tailex,1},
+ 2{-1,0}..904{x903-x2,y903-y2}..903{tailmid,1};
+
+w0 ddraw 1{-1,0}..102{x101-x1,y101-y1}..101{tailex,-1},
+ 1{-1,0}..104{x103-x1,y103-y1}..103{tailmid,-1};
+else:
+new slp; slp=-1.2;
+x101=x901; y101=.85m;
+call arcpoint(1,101,102,-1,0,slp,-1,.5,.5);
+
+call arcpoint(2,901,902,-1,0,slp,1,.5,.5);
+w0 draw 1{-1,0}..102{x101-x1,y101-y1}..101{slp,-1};
+ draw 2{-1,0}..902{x901-x2,y901-y2}..901{slp,1};
+fi;
+
+cpen;
+if ssflag=0:
+y509=y510=y511=round .51m; x509=round(lft0x901+(1.2+qyh).u); x510=.5[x509,x511];
+y515-y509=.1(m-e); y509-y516=.1(m-e);
+x515=.4[x509,x510]; x516=.6[x510,x511];
+new hgt,bdth,theta,sintheta,costheta,acoef,bcoef,ccoef;
+hgt=w0; bdth=qzb.(1.75w0); theta=30; sintheta=sind theta; costheta=cosd theta;
+x511+.5bdth.costheta=lft99x3-.25u;
+acoef=4.((costheta.costheta)/(bdth.bdth)+(sintheta.sintheta)/(hgt.hgt));
+bcoef=8.sintheta.costheta(1/(bdth.bdth)-1/(hgt.hgt));
+ccoef=4.((sintheta.sintheta)/(bdth.bdth)+(costheta.costheta)/(hgt.hgt));
+spen(acoef,bcoef,ccoef,0,0,0,0);
+draw 509..515..510{2,-1}..516..511; % center tilde
+else:
+x800=1[x3,x1]; y800=y3;
+w0 draw 800..3;
+fi.
+
+ "Cyrillic letter a";
+call charbegin(`a,plcali+.5pwii/pu+lawidth+.5pwi/pu+plcari,px,0,1/3[pe,px].slant);
+cpen; lft3x1=round((plcali+.8).u);
+if top3(top3top6e+2)>.9[e,m]: top3y1=.9[e,m];
+else: y1=top3top6e+2;
+fi;
+w3 draw 1; % bulb
+hpen; lft0x2=lft3x1; y2=y1; x3=4u; top0y3=m+oo;
+rt1x4=rt1x5=round(r-plcari.u); y4=1/3[e,m];
+w0 draw 2{0,1}..3{1,0}; call `a arc(3,4,w1); % shoulder
+if lcs=0: bot1y5=0; w1 draw 4..5; % stem
+else: rt0x7=round(r-(plcari-1.5).u); y5=.2[top1 0,e];
+ w1 draw 4..5; % stem
+ if rt1x5+.75ulft0x7: rt0x6=.5[rt1x5,rt0x7];
+ bot0y6=0; y7=.5e;
+ draw |w1#|5{0,-1}..
+ |w0#|6{1,0}..7{0,1}; % hook
+ else: rt1x6=round(r-.5u); bot1y6=0;
+ w1 draw 5{0,-1}..6{1,0}; % foot
+ fi;
+fi;
+x8=x9+1.5u; y8=e; x9=x4; y9=e;
+lft2x11=round(plcali.u); y11=.2[w6,y9];
+x12=.23[x11,x8]; bot0y12=-oo; x13=.38[x11,x8]; y13=.015[y12,y9];
+x10=x9; y10=.3[y12,y9];
+call arc(9,11,w2); % upper part of bowl
+draw |w2#|11{0,-1}..
+ |.7[w0,w2]|12{1,0}..|w0#|13..10(..8). % lower part of bowl
+ "Cyrillic letter b";
+call charbegin(`b,2.poli+pwii/pu+lowidth-.25,ph,0,ph.slant-.25pu);
+hpen; x1=.5[x2,x3]; lft2x2=round(poli.u); rt2x3=round(r-poli.u);
+top0y1=m+oo; bot0y2=-oo; y3=y2;
+call `a darc(1,2,w2); call `b darc(1,3,w2); % bowl
+lft0x4=lft2x2; y4=.5[y1,y2];
+x5=x2+2u; x6=x3-2u; y5=.6[m,h]; y6=2/3[m,h];
+x7=x8=x5; x9=x10=x6; rt0x11=rt2x3; top0y11=h+oo;
+vpen; w7 draw 5..6; % bar
+top7y5=top6y7; top7y6=top6y9; bot7y5=bot6y8; bot7y6=bot6y10;
+hpen; w0 ddraw 4{0,1}..7{x6-x5,y6-y5}, 4{0,1}..8{x6-x5,y6-y5}; % link
+ddraw 9{x6-x5,y6-y5}..11{0,1}, 10{x6-x5,y6-y5}..11{0,1}. % hook
+ "Cyrillic letter ts";
+call charbegin(`c,pvbli+.5pwi/pu+pvbls+plstla+.5pw/pu+plali,px,psas,px.slant);
+hpen; lft1x1=round(pvbli.u); x2=x1; x3=good1(r-.5w0-(plali+plstla).u);
+x4=x3; x5=.5[x1,x3];
+top0y1=m; bot0y2=0; y3=y1; y2=y5=y4=y6;
+rt0x6=round(r-plali.u); x7=good0(x6+.5u); y7=y6-sas;
+if lcs0:call `a serif(1,1,2,-lcs);
+ call `b serif(1,1,2,lcs);
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,.5lcs);
+ call `e serif(3,1,4,-lcs);
+ call `f serif(3,1,4,lcs);
+ call `g serif(4,1,3,-.5lcs);
+ new tmp; tmp=crisp; new crisp; crisp=0;
+ rt0x12=rt1x4;
+ call `h serif(4,1,3,(x6-x12)/u);
+ new crisp; crisp=tmp;
+fi;
+w1 draw 1..2; % left stem
+w1 draw 3..4; % right stem
+w0 draw 2..4; % bar
+call `i carm(5,6,7,sas). % lower arm
+ "Cyrillic letter d";
+call charbegin(`d,2.plali+pw/pu+ldwidth+plstla,px,psas,px.slant);
+hpen; lft0x9=lft0x8-.5u; lft0x8=round(plali.u);
+x5=.5[x1,x3]; rt0x6=round(r-plali.u); rt0x7=rt0x6+.5u;
+x1=good0(x8+2u); x2=x8+u; x3=good1(r-(plali+plstla).u-.5w0); x4=x3;
+top0y1=m; bot0y2=0; y3=y1; y8=y2=y5=y4=y6; y7=y9=y6-sas;
+y10=y1-s; y11=y2+s;
+x10=x1;
+(x11-x2)/(y11-y2)=(.3(x1+x3)-x2)/(.3(y1+y3)-y2);
+if lcs0: call `a dserif(1,0,10,-lcs);
+ call `b dserif(1,0,10,lcs); % upper left serif
+ call `c serif(3,1,4,-.5lcs);
+ call `d serif(3,1,4,lcs); % upper right serif
+ new tmp; tmp=crisp; new crisp; crisp=0;
+ call `e serif(2,0,11,(x8-x2)/u);% lower left serif
+ rt0x12=rt1x4;
+ call `j serif(4,1,3,(x6-x12)/u);% lower right serif
+ new crisp; crisp=tmp;
+ call `f serif(2,0,11,lcs); % lower left serif
+ call `i serif(4,1,3,-.5lcs); % lower right serif
+fi;
+w1 draw 3..4; % right stem
+w0 draw 10{0,-1}..11{x2-x11,y2-y11}; % diagonal
+draw 1..3; % upper bar
+call `g carm(5,8,9,sas); % left arm
+call `h carm(5,6,7,sas). % right arm
+ "Cyrillic letter e";
+call charbegin(`e,2.poli+pwii/pu+(lowidth-1.25),px,0,pe.slant);
+hpen; x3=.5r; top0y3=m+oo; y1=e; y2=.5[y5,y3];
+lft2x2=round(fixwidth[poli.u,(poli+.25).u]); rt2x1=round(r-fixwidth[poli.u,(poli+.25).u]);
+fi;
+bot0y5=-oo; x5=x3+.5u;
+new save; save=sqrttwo; new sqrttwo; sqrttwo=sqrt 1.3save;
+call `a arc(3,1,w1); % bowl
+new sqrttwo; sqrttwo=save;
+call `b arc(3,2,w2); call `c arc(5,2,w2); % stroke
+new aa; y1=y4=aa[y2,y3]; x4-1=(sqrt(1-aa.aa))[x3,x2];
+w0 draw 4..1; % bar
+if w0=w1: x6=x1; x7-x5=x1-x3; y7=y2;
+ new aa; x6=aa[x5,x7]; y6=(sqrt(1-aa.aa))[y7,y5];
+else: rt0x6=rt2x1; x7=x6; y6=.5e-1; y7=e;
+fi;
+w0 draw 5{1,0}..6(..7). % point
+ "Cyrillic letter f";
+call charbegin(`f,2.poli+pwi/pu+lfwidth,ph,pd,.6px.slant);
+hpen; x1=x2=good1 .5r; top1y1=h; bot1y2=-d;
+w1 draw 1..2; % stem
+if lcs0: call `a sserif(1,1,2,-lcs); % upper serif
+ call `b serif(2,1,1,-lcs);
+ call `c serif(2,1,1,lcs); % lower serif
+fi;
+lft1x7=round(poli.u); rt0x5=rt1x1;
+x3=.6[x5,x7];
+x3+x4=x5+x6=x7+x8=r; y3=y4; y5=y6; y7=y8; % symmetry
+top0y3=m+oo; bot0y5=-oo; y5=y7;
+x10+x3=2x1; y9=y7; x9+x4=2x1; y10=y8;
+x11=x1; 2y11=y3+y10;
+call `d darc(4,8,w1); % right bowl
+call `e darc(3,7,w1); % left bowl
+call `f arc(4,11,w0); call `g arc(10,11,w0); % right innards
+call `h arc(3,11,w0); call `i arc(9,11,w0). % left innards
+ "Cyrillic letter g";
+call charbegin(`g,pvbli+.5pwi/pu+plal+.5pw/pu+plai,px,0,px.slant);
+hpen; lft1x1=round(pvbli.u); x2=x1; top1y1=m; bot1y2=0;
+w1 draw 1..2; % stem
+if lcs0:
+ call `a serif(1,1,2,-lcs);
+ call `b serif(1,1,2,.5lcs); % upper stem serif
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,lcs); % lower stem serif
+fi;
+rt0x3=round(r-plai.u); x4=good0(x3+.5u); y3=y1; y4=y3-sas;
+call `e arm(1,3,4,sas). % upper arm and serif
+ "Cyrillic letter kh";
+call charbegin(`h,2.pvbli+pwii/pu+lkhwidth,px,0,px.slant);
+hpen; lft2x1=round(pvbli.u); rt2x4=round(r-pvbli.u); x3=x1; x2=good0(x4-.25u);
+top2y1=m; bot2y4=0; y2=y1; y3=y4;
+w2 draw 1..4; % upper left to lower right diagonal
+w0 draw 3..2; % lower left to upper right diagonal
+if lcs0: call `a serif(1,2,4,-lcs);
+ call `b serif(1,2,4,lcs); % upper left serif
+ call `c serif(4,2,1,-lcs);
+ call `d serif(4,2,1,lcs); % lower right serif
+ new ss; ss=.5(w2-w0)/u; % correction to \\{lcs} makes $w0$ like $w2$
+ call `e dserif(2,0,3,-lcs-ss);
+ call `f dserif(2,0,3,lcs+ss); % upper right serif
+ call `g dserif(3,0,2,-lcs-ss);
+ call `h dserif(3,0,2,lcs+ss); % lower left serif
+fi.
+ "Cyrillic letter i";
+call charbegin(`i,2.pvbli+pwi/pu+pvbls,px,0,px.slant);
+hpen; lft1x1=lft1x2=round(pvbli.u);
+rt1x3=rt1x4=round(r-pvbli.u);
+top1y1=m; y1=y3;
+bot1y2=0; y2=y4;
+w1 draw 1..2; % stems
+ draw 3..4;
+if lcs  0:
+ call `a serif(1,1,2,-lcs); % upper left serif
+ call `b serif(1,1,2, lcs);
+ call `c serif(2,1,1,-lcs); % lower left serif
+ call `d serif(2,1,1, lcs);
+ call `e serif(3,1,4,-lcs); % upper right serif
+ call `f serif(3,1,4, lcs);
+ call `g serif(4,1,3,-lcs); % lower right serif
+ call `h serif(4,1,3, lcs);
+fi;
+new w99; w99=.8w0;
+w99 draw 3..2. % bar
+ "The letter j";
+call charbegin(`j,6,ph,pd,ph.slant+.5pwi-2pu);
+hpen; x1=x2=good1(r-2.5u);
+if fixwidth=0: rt3x4=round 1.25u;
+else: lft3x4=round u;
+fi;
+cpen; top3y3=h-ssd; rt3x3=rt1x1; w3 draw 3; % dot
+bot3y4=-.9d; w3 draw 4; % bulb
+hpen; top1y1=m+ssdoo; bot1y2=-1/3 d;
+bot0y5=-d-oo; y4=y6; lft0x6=lft3x4; x5=.5[x2,x6];
+draw |w1|1..|w1#|2{0,-1}..|w0#|5{-1,0}..6{0,1}; % stem and tail
+if lcs0: call `a sserif(1,1,2,-lcs); % serif
+fi;
+if ptsize>14:
+ if mode=2: call snip(pa); call snip(px+po); call snip(0);
+ fi;
+fi.
+ "Cyrillic letter k";
+call charbegin(`k,pvbli+.5pwi/pu+lkwidth+.5pw/pu+plki,px,0,px.slant);
+hpen; lft1x1=round(pvbli.u); x3=x2=x1; top1y1=m; bot1y2=0;
+w1 draw 1..2; % stem
+if lcs>0: call `a serif(1,1,2,-lcs); % serifs on stem
+ call `b serif(1,1,2,lcs);
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,lcs);
+fi;
+cpen;
+new w99; w99=.8w3;
+y3=good6 .5m; rt99x118=round(r-(plki+.5).u); top99y118=m;
+y150=y3;
+if ssflag=0: x150=rt1x3; x160=x118-.25w99; top0y160=m+oo;
+else: x150=rt1x3+u; rt0x160=r-(plki+.5).u; top0y160=m+oo; fi;
+rt0x161=rt99x118; y161=y118;
+x154=.6[x150,x160]; y154=.55[y150,y160];
+x155=.73[x150,x160]; y155=.75[y150,y160];
+
+new dirml,dirmr; dirml=.5; dirmr=.25;
+
+call arcpoint(150,154,152,1,0,dirml(x160-x150),y160-y150,.6,.4);
+call arcpoint(154,160,158,dirml(x160-x150),y160-y150,1,0,.68,.5);
+call arcpoint(150,155,151,1,0,dirmr(x160-x150),y160-y150,.4,.6);
+call arcpoint(155,160,159,dirmr(x160-x150),y160-y150,1,0,.55,.5);
+
+call arcpoint(150,151,121,1,0,x155-x150,y155-y150,.78,.5);
+call arcpoint(151,155,125,x155-x150,y155-y150,dirmr(x160-x150),y160-y150,.5,.5);
+call arcpoint(150,152,122,1,0,x154-x150,y154-y150,.5,.5);
+call arcpoint(152,154,124,x154-x150,y154-y150,dirml(x160-x150),y160-y150,.5,.5);
+
+if ssflag=0:
+w0 ddraw 150{1,0}..122{x152-x150,y152-y150}.. % upper arm
+ 152{x154-x150,y154-y150}..124{x154-x152,y154-y152}..
+ 154{dirml(x160-x150),y160-y150}..158{x160-x154,y160-y154}..
+ 160..161{0,-1},
+ 150{1,0}..121{x151-x150,y151-y150}..
+ 151{x155-x150,y155-y150}..125{x155-x151,y155-y151}..
+ 155{dirmr(x160-x150),y160-y150}..159{x160-x155,y160-y155}..
+ 160..161{0,-1};
+w99 draw 118; % bulb
+else:
+x170=x160+.3u; y170=y160;
+w0 draw 150{1,0}..122{x152-x150,y152-y150}.. % upper arm
+ 152{x154-x150,y154-y150}..124{x154-x152,y154-y152}..
+ 154{dirml(x160-x150),y160-y150}..158{x160-x154,y160-y154}..
+ 160{1,0}..170{1,0};
+fi;
+
+y250=y3;
+if ssflag=0: x250=rt1x3+.5u; x260=r-(plki+1.5).u; bot0y260=-oo;
+else: x250=rt1x3+1.5u; rt0x260=r-plki.u; bot0y260=-oo; fi;
+x254=(.55+qyd)[x250,x260]; y254=.5[y250,y260];
+x255=.84[x250,x260]; y255=.8[y250,y260];
+new dirml,dirmr; dirml=.37+qye; dirmr=.15+qyf;
+
+call arcpoint(250,254,252,1,0,dirml(x260-x250),y260-y250,.55,.3);
+call arcpoint(254,260,258,dirml(x260-x250),y260-y250,1,0,.6,.5);
+call arcpoint(250,255,251,1,0,dirmr(x260-x250),y260-y250,.5,.5);
+call arcpoint(255,260,259,dirmr(x260-x250),y260-y250,1,0,.5,.4);
+
+call arcpoint(250,251,221,1,0,x255-x250,y255-y250,.4,.6);
+call arcpoint(250,252,222,1,0,x254-x250,y254-y250,.4,.5);
+call arcpoint(251,255,225,x255-x250,y255-y250,dirmr(x260-x250),y260-y250,.5,.5);
+call arcpoint(252,254,224,x254-x250,y254-y250,dirml(x260-x250),y260-y250,.6,.3);
+
+if ssflag=0:
+w0 ddraw 250{1,0}..222{x252-x250,y252-y250}.. % leg
+ 252{x254-x250,y254-y250}..224{x254-x252,y254-y252}..
+ 254{dirml(x260-x250),y260-y250}..258{x260-x254,y260-y254}..
+ 260{1,0},
+ 250{1,0}..221{x251-x250,y251-y250}..
+ 251{x255-x250,y255-y250}..225{x255-x251,y255-y251}..
+ 255{dirmr(x260-x250),y260-y250}..259{x260-x255,y260-y255}..
+ 260{1,0};
+else:
+x270=x260; bot0y270=-oo;
+w0 draw 250{1,0}..222{x252-x250,y252-y250}.. % leg
+ 252{x254-x250,y254-y250}..224{x254-x252,y254-y252}..
+ 254{dirml(x260-x250),y260-y250}..258{x260-x254,y260-y254}..
+ 260..270{1,0};
+fi;
+cpen;
+w0 draw 3..250; % connection to stem
+if ssflag=0:
+rt0x269=round(r-plki.u); y269=.25y250;
+x265=.7[x260,x269]; y265=.3[y260,y269];
+w0 draw 260{1,0}..265..269{0,1}; % foot on leg
+fi.
+ "Cyrillic letter l";
+call charbegin(`l,plli+.4pwiii/pu+llwidth+.5pwi/pu+pvbli,px,0,px.slant);
+hpen; rt1x1=round(r-pvbli.u); x2=x1; bot0y1=0; top0y2=m; y3=y2; x4=x3;
+cpen;
+if ssflag=0: x6=(plli+1.5).u; x3=good0(x6+1.75u); y4=y3-s;
+new w99; w99=.8w3;
+lft99x8=lft0x7=round(plli.u); y8=y7=.12m;
+else: x7=plli.u; y7=y6; x7=x6-.75u; x3=good0(x6+.75u); y4=y3; fi;
+bot0y6=-oo;
+hpen;
+w1 draw 1..2; % vertical stroke
+w0 draw 2..3; % upper bar
+if lcs0: call `a serif(1,1,2,lcs); % serifs
+ call `b serif(1,1,2,-lcs);
+ call `c serif(2,1,1,lcs);
+ call `d serif(2,1,1,-lcs);
+ call `e dserif(3,0,4,lcs);
+ call `f dserif(3,0,4,-lcs);
+fi;
+cpen;
+if ssflag=0:
+w0 draw 4{0,-1}..6{-1,0}..7{0,1};
+w99 draw 8; % bulb
+else:
+w0 draw 4{0,-1}..6{-1,0}..7;
+fi.
+ "Cyrillic letter m";
+call charbegin(`m,2.pvbli+.5(pw+pwi)/pu+lmwidth,px,0,px.slant);
+if fudge1: new w0,w1; % lines will be thinner in fudged styles
+ w0=round(fudge.pixels.pw+blacker); w1=round(fudge.pixels.pwi+blacker);
+fi;
+hpen; lft0x1=round(pvbli.u); x1=x2; top0y1=m; bot0y2=0;
+new w99; w99=round .8[w0,w1];
+rt99x3=round(r-pvbli.u); x3=x4; top99y3=m; bot99y4=0;
+lft99x5=lft0x1+del; lft0x6=lft99x3-del; y1=y5; y6=y3;
+x7-x5=x6-x8; lft99x7=lft0x8; bot4y7=0; y8=y7;
+w0 draw 5..1..1..2; % left stem
+w99 draw 5..7; % left diagonal
+rpen#; w1 draw 8..6; % erase excess at lower right
+hpen; w0 draw 8..6..6..3; % right diagonal
+w1 draw 3..4; % right stem
+if ucs0: call `a dserif(2,0,1,-lcs);
+ call `b dserif(2,0,1,lcs); % lower left serif
+ call `c serif(5,4,7,-lcs-del/u); % upper left serif
+ call `d serif(3,99,4,lcs); % upper right serif
+ call `e serif(4,99,3,-lcs);
+ call `f serif(4,99,3,lcs); % lower right serif
+fi;
+if fudge1: new w0,w1; % restore normal sizes in fudged styles
+ w0=round(pixels.pw+blacker); w1=round(pixels.pwi+blacker);
+fi.
+ "Cyrillic letter n";
+call charbegin(`n,2.pvbli+pwi/pu+pvbls,px,0,px.slant);
+hpen; lft1x1=round(pvbli.u); x2=x1;
+rt1x3=round(r-pvbli.u); x4=x3;
+top1y1=m; y1=y3;
+bot1y2=0; y2=y4;
+w1 draw 1..2; % left stem
+w1 draw 3..4; % right stem
+if lcs0: call `a serif(1,1,2,-lcs);
+ call `b serif(1,1,2,lcs); % upper left serif
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,lcs); % lower left serif
+ call `e serif(3,1,4,-lcs);
+ call `f serif(3,1,4,lcs); % upper right serif
+ call `g serif(4,1,3,-lcs);
+ call `h serif(4,1,3,lcs); % lower right serif
+fi;
+x5=x1; x6=x3; y5=y6; y5=(px/phh).ub;
+w0 draw 5..6. % bar
+ "Cyrillic letter o";
+call charbegin(`o,2.poli+pwii/pu+lowidth,px,0,.5px.slant);
+hpen;
+if fixwidth0: new save; save=sqrttwo;
+ new sqrttwo; sqrttwo=sqrt save; % super-superellipse
+ lft2x2=round 1.5u;
+else: lft2x2=round(poli.u);
+fi;
+x1=r-x1; % axis of left-right symmetry
+top0y1=m+oo;
+bot0y2=-oo; y3=y2; x3=r-x2;
+%call `a darc(1,2,w5); % left part of bowl
+%call `b darc(1,3,w5); % right part of bowl
+lft0x112=lft2x2; good0 x112=x12;
+rt0x122=rt2x2; good0 x122=x22; y12=y22=.5[y1,y2];
+lft0x113=lft2x3; good0 x113=x13;
+rt0x123=rt2x3; good0x123=x23; y13=y23=y12;
+x5=x1; bot0y5=-o;
+call lune(1,5,22,12,.42rdns,.42rdns,.42rdns,.42rdns);
+call lune(1,5,13,23,.42rdns,.42rdns,.42rdns,.42rdns);
+
+if fixwidth0: new sqrttwo; sqrttwo=save;
+fi.
+ "Cyrillic letter p";
+call charbegin(`p,2.pvbli+pwi/pu+pvbls,px,0,px.slant);
+hpen; lft1x1=round(pvbli.u); x2=x1;
+rt1x3=round(r-pvbli.u); x4=x3;
+top1y1=m; y1=y3;
+bot1y2=0; y2=y4;
+w1 draw 1..2; % left stem
+w1 draw 3..4; % right stem
+if lcs0: call `a serif(1,1,2,-lcs);
+ call `b serif(1,1,2,.5lcs); % upper left serif
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,lcs); % lower left serif
+ call `e serif(3,1,4,-.5lcs);
+ call `f serif(3,1,4,lcs); % upper right serif
+ call `g serif(4,1,3,-lcs);
+ call `h serif(4,1,3,lcs); % lower right serif
+fi;
+w0 draw 1..3. % bar
+ "Cyrillic letter ch";
+call charbegin(`q,2.pvbli+pwi/pu+pvbls-.25,px,0,px.slant);
+hpen; rt1x1=round(r-pvbli.u); x2=x1; bot1y1=0; top1y2=m;
+y4=y2; lft1x4=round(pvbli.u);
+w1 draw 1..2; %right vertical stem
+x3=x4; lft0x6=lft1x1; x5=.5[x3,x6];
+new vfr; vfr=.9px/phh;
+top1y2-bot1y5=vfr.(m+oo); top1y4-y3=vfr.(1/3[e,m]); top1y2-y6=vfr.(.25[e,m]);
+new stwo; stwo=1.37; x7=1/stwo[x5,x3]; y7=1/stwo[y3,y5];
+rt0x31=rt1x3; lft0x32=lft1x3; y31=y32=y3;
+x71=1/stwo[x5,x31]; x72=1/stwo[x5,x32];
+y71=1/stwo[y31,y5]; y72=1/stwo[y32,y5];
+w1 draw 4..3; %left vertical
+w0 draw 5{1,0}..6{0,1}; %hump
+ ddraw 31{0,-1}..71{x5-x31,y5-y31}..5{1,0},
+ 32{0,-1}..72{x5-x32,y5-y32}..5{1,0};
+if lcs>0: call `a serif(2,4,1,lcs); %top rt. rt. serif
+ call `b serif(1,4,2,lcs); %bot rt. rt. serif
+ call `c serif(2,4,1,-.5lcs); %top inside rt. serif
+ call `d serif(1,4,2,-lcs); %bot left serif
+ call `e serif(4,4,3,.5lcs); %top inside lft serif
+ call `f serif(4,4,3,-lcs); %top lft lft serif
+fi.
+ "Cyrillic letter r";
+call charbegin(`r,pvbli+.5pwi/pu+(lowidth-.75)+.5pwii/pu+poli,px,pd,.5px.slant);
+hpen; lft1x1=lft1x2=lft1x3=round(pvbli.u); x4=x5=.55[x1,x6];
+rt2x6=round(r-poli.u);
+top1y1=m+ssdoo; bot1y2=-d; top0y4=m+oo; bot0y5=-oo;
+y3=.5[y4,y5]; y6=y5;
+w1 draw 1..2; % stem
+w0 draw 5{-1,0}..3{0,1}..4{1,0}; % left part of bowl
+call `a darc(4,6,w2); % right part of bowl
+if lcs0: call `b sserif(1,1,2,-lcs); % upper serif
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,lcs); % lower serif
+fi.
+ "Cyrillic letter s";
+call charbegin(`s,poli+.5pwii/pu+lswidth+.5pwiii/pu+plsi,px,0,px.slant-pu);
+cpen; rt3x1=round(r-plsi.u);
+if top3(top3top6e+2)>.9[e,m]: top3y1=.9[e,m];
+else: y1=top3top6e+2;
+fi;
+if ssflag=0: w3 draw 1; fi; % bulb
+hpen; rt0x2=rt3x1; y2=y1; x3=x5=.6[x4,x1]; top0y3=m+oo;
+lft2x4=round(poli.u); y4=y5; bot0y5=-oo;
+call `a darc(3,4,w2); % stroke
+if w0=w1: x6=x2; x7-x5=x5-x4; y7=.5[y3,y5];
+ new aa; x6=aa[x5,x7]; y6=(sqrt(1-aa.aa))[y7,y5];
+else: lft0x6=x2; y6=.45e; x7=x6; y7=e;
+fi;
+if ssflag=0: w0 draw 2{0,1}..3{-1,0}; % shoulder
+else: x12=x6; y3-y12=y6-y5;
+x8=x7; y12-y8=y7-y6; w0 draw 3{1,0}..12(..8);
+fi;
+w0 draw 5{1,0}..6(..7); % point
+if ptsize>18:
+ if mode=2: call snip(pa);
+ fi;
+fi.
+ "Cyrillic letter t";
+call charbegin(`t,2.plali+pw/pu+2.(plal-1),px,0,px.slant);
+hpen; x1=good1 .5r; x2=x1; top1y1=m; bot1y2=0;
+w1 draw 1..2; % stem
+if lcs0: call `a serif(1,1,2,-.5lcs);
+ call `b serif(1,1,2,.5lcs); % upper bracketing
+ call `c serif(2,1,1,-1.25lcs);
+ call `d serif(2,1,1,1.25lcs); % lower serif
+fi;
+lft0x5=round(plai.u); x6=good0(x5-.5u); y3=y1; y4=y3-sas;
+x5+x3=x6+x4=x1+x1; y5=y1; y6=y4; % left-right symmetry
+call `e arm(1,3,4,sas); % upper right arm and serif
+call `f arm(1,5,6,sas). % upper left arm and serif
+ "Cyrillic letter u";
+call charbegin(`u,pllui+.5pwi/pu+luwidth+.5pw/pu+prlui,px,pd,px.slant);
+hpen; lft1x1=round(pllui.u); rt0x4=round(r-prlui.u);
+x2-x1=x4-x3; lft0x3=lft1x2+.5del;
+top1y1=m; y4=y1; bot1y2=-o;y3=y2;
+w1 draw 1..2; w0 draw 2..3; % left diagonal stroke
+rpen#; w1 draw 3..4; % erase excess at lower right
+
+if ssflag=0: cpen; lft3x8=lft0x7=round((pllui-1).u); bot3y8=-.9d; y7=y8;
+hpen; x6=x8+u; bot0y5=-.5d;
+else: x6=x5; x7=x6-u; hpen; bot0y7=bot0y6=bot0y5;
+fi;
+bot0y6=-d-oo;
+new aa; x5=aa[x3,x4]; y5=aa[y3,y4];
+cpen;
+if ssflag=0:
+w0 draw 4..3{x3-x4,y3-y4}..6{-1,0}..7{0,1}; % right diagonal and tail
+w3 draw 8; % bulb
+else:
+w0 draw 4..3{x3-x4,y3-y4}..6{-1,0}..7;
+fi;
+if lcs0: call `a serif(1,1,2,-lcs);
+ call `b serif(1,1,2,lcs); % left serif
+ call `c dserif(4,0,3,-lcs);
+ call `d dserif(4,0,3,lcs); % right serif
+fi.
+ "Cyrillic letter v";
+call charbegin(`v,pvbli+.5pwi/pu+phbls+.5pwii/pu+phbli,px,0,.75px.slant);
+hpen; lft1x1=lft1x2=round(pvbli.u); top1y1=m; bot1y2=0;
+w1 draw1..2; % stem
+if lcs0:
+ call `a serif(1,1,2,-lcs);
+ call `b serif(1,1,2,.5lcs); % upper serif
+ call `c serif(2,1,1,-lcs);
+ call `d serif(2,1,1,.5lcs); % lower serif
+fi;
+x3=x1; y3=.52m;
+rt1x25=round(r-(phbli+.5).u); y25=.5[y1,y3];
+lft0x26=lft1x25; rt0x27=rt1x25; y26=y27=1[y3,y25];
+x29=.5[x1,x25]; top0y29=m;
+x28=.5[x3,x25]; y28=y3;
+call `e lune(29,28,26,27,.48rdns,.48rdns,.48rdns,.48rdns); % upper bowl
+hpen; w0 draw 29..1; % connection to stem
+ draw 28..3;
+rt2x41=round(r-phbli.u); y41=.55[y2,y3];
+lft0x42=lft2x41; rt0x43=rt2x41; y42=y43=.55[y2,y3];
+x45=.5[x2,x41]; bot0y45=0;
+call `f lune(28,45,42,43,.48rdns,.48rdns,.48rdns,.48rdns); % lower bowl
+hpen; w0 draw 45..2. % connection to stem
+ "Cyrillic letter shch";
+call charbegin(`w,pvbli+.5pwi/pu+2.pvblshs+plstla+.5pw/pu+plali,px,psas,px.slant);
+hpen; lft1x1=lft1x2=round(pvbli.u); x3=good1(x1+pvblshs.u)=x4;
+x5=x6=good1(r-.5w0-(plali+plstla).u);;
+top1y1=m; y1=y3=y5; bot1y2=0; y2=y4=y6=y7;
+rt0x7=round(r-plali.u); rt0x8=r; y8=y7-sas;
+w1 draw 1..2; % stems
+ draw 3..4;
+ draw 5..6;
+if lcs  0:
+ if 4lcs.u+2w1>x5-x1-2u: new aa; 4aa.u+2w1=x5-x1-2u;
+ else: new aa; aa=lcs;
+ fi;
+ call `a serif(1,1,2,- lcs); % upper left serif
+ call `b serif(1,1,2, aa);
+ call `c serif(2,1,1,- lcs); % lower left serif
+ call `d serif(2,1,1, .5lcs);
+ call `e serif(3,1,4,- aa); % upper middle serif
+ call `f serif(3,1,4, aa);
+ call `g serif(4,1,3,-.5lcs); % lower middle serif
+ call `h serif(4,1,3, .5lcs);
+ call `i serif(5,1,6,- aa); % upper right serif
+ call `j serif(5,1,6, lcs);
+ call `k serif(6,1,5,-.5lcs); % lower right serif
+ new tmp; tmp=crisp; new crisp; crisp=0;
+ rt0x12=rt1x6;
+ call `l serif(6,1,5,(x7-x12)/u);
+ new crisp; crisp=tmp;
+fi;
+w0 draw 2..6; % bottom bar
+call `m carm(4,7,8,sas).
+ "Cyrillic letter sh";
+call charbegin(`x,2.pvbli+pwi/pu+2.pvblshs,px,0,px.slant);
+hpen; lft1x1=lft1x2=round(pvbli.u);
+x3=good1 .5r; rt1x5=round(r-pvbli.u); x4=x3; x6=x5;
+top1y1=m; y1=y3=y5;
+bot1y2=0; y2=y4=y6;
+w1 draw 1..2; % stems
+ draw 3..4;
+ draw 5..6;
+if lcs  0:
+ if 4lcs.u+2w1>x5-x1-2u: new aa; 4aa.u+2w1=x5-x1-2u;
+ else: new aa; aa=lcs;
+ fi;
+ call `a serif(1,1,2,- lcs); % upper left serif
+ call `b serif(1,1,2, aa);
+ call `c serif(2,1,1,- lcs); % lower left serif
+ call `d serif(2,1,1, .5lcs);
+ call `e serif(3,1,4,- aa); % upper middle serif
+ call `f serif(3,1,4, aa);
+ call `g serif(4,1,3,-.5lcs); % lower middle serif
+ call `h serif(4,1,3, .5lcs);
+ call `i serif(5,1,6,- aa); % upper right serif
+ call `j serif(5,1,6, lcs);
+ call `k serif(6,1,5,-.5lcs); % lower right serif
+ call `l serif(6,1,5, lcs);
+fi;
+w0 draw 2..6. % bottom bar
+ "Cyrillic letter y";
+call charbegin(`y,2.pvbli+pwi/pu+phbls+(3.5+qyi),px,0,px.slant);
+hpen; lft1x1=lft1x2=round(pvbli.u); rt1x3=rt1x4=round(r-pvbli.u);
+top1y1=top1y3=m; bot1y2=bot1y4=0;
+w1 draw 1..2; % stems
+ draw 3..4;
+if lcs  0:
+ call `a serif(1,1,2, -lcs); % upper left serif
+ call `b serif(1,1,2, lcs);
+ call `c serif(2,1,1, -lcs); % lower left serif
+ call `d serif(2,1,1,.5lcs);
+ call `e serif(3,1,4, -lcs); % upper right serif
+ call `f serif(3,1,4, lcs);
+ call `g serif(4,1,3, -lcs); % lower right serif
+ call `h serif(4,1,3, lcs);
+fi;
+x25=x1; x26=.5[x25,x27];
+y25=y26=lb; x28=x26; bot0y28=0;
+x27=good1(x1+phbls.u); y27=.5[y25,y2];
+lft0x29=lft2x27; rt0x30=rt2x27; y29=y30=y27;
+call `f lune(26,28,29,30,.48.rdns,.48.rdns,.48.rdns,.48.rdns); % bowl
+w0 draw 25..26; % connections to stem
+w0 draw 2..28.
+ "Cyrillic letter z";
+call charbegin(`z,plzi+.5pw/pu+lzwidth+.5pwii/pu+phbli,px,0,px.slant);
+cpen;
+if ssflag=0: lft0x901=round(plzi.u); y901=.08m; x1=.45[x901,x7];
+else: lft0x901=round(plzi.u); y901=.15m; x1=.4[x901,x7];
+fi;
+top0y1=m+oo;
+y5=(px/phh).ub; x5=x1;
+bot0y9=-oo; x9=x1;
+rt1x3=round(r-(phbli+.5).u); y3=.5[y1,y5];
+rt0x4=rt1x3; lft0x2=lft1x3; y2=y3=y4;
+rt2x7=round(r-phbli.u); y7=.5[y5,y9];
+rt0x8=rt2x7; lft0x6=lft2x7; y6=y7=y8;
+call exlune(1,5,2,4,.45rdns,.45rdns,.45rdns,.45rdns,0,.3); % bowls
+call exlune(5,9,6,8,.45rdns,.47rdns,.45rdns,.45rdns,.25,0);
+if ssflag=0: x15=x5-1.15u; else: x15=x5; fi;
+y15=y5;
+w0 draw 5..15; % center line
+if ssflag=0:
+x903=x901-.1u; y903=y901+(1.5+qyg).w0;
+lft0x101=round((plzi+.2).u); y101=.92m;
+x103=x101-.1u; y103=y101-(1.5+qyg).w0;
+new tailex; tailex=-1.2; new tailmid; tailmid=-.6;
+call arcpoint(9,901,902,-1,0,tailex,1,.5,.5);
+call arcpoint(9,903,904,-1,0,tailmid,1,.55,.5);
+call arcpoint(1,101,102,-1,0,tailex,-1,.5,.5);
+call arcpoint(1,103,104,-1,0,tailmid,-1,.55,.5);
+w0 ddraw 1{-1,0}..102{x101-x1,y101-y1}..101{tailex,-1},
+ 1{-1,0}..104{x103-x1,y103-y1}..103{tailmid,-1};
+w0 ddraw 9{-1,0}..902{x901-x9,y901-y9}..901{tailex,1},
+ 9{-1,0}..904{x903-x9,y903-y9}..903{tailmid,1};
+else:
+lft0x101=round((plzi+.1).u); y101=.85m;
+new tail; tail=-1.2;
+call arcpoint(1,101,102,-1,0,tail,-1,.5,.5);
+call arcpoint(9,901,902,-1,0,tail,1,.5,.5);
+w0 draw 1{-1,0}..102{x101-x1,y101-y1}..101{tail,-1};
+ draw 9{-1,0}..902{x901-x9,y901-y9}..901{tail,1};
+fi.
diff --git a/fonts/cyrillic/cmcyr/mf/cyrsymb.mf b/fonts/cyrillic/cmcyr/mf/cyrsymb.mf
new file mode 100644
index 0000000000..6bb49ba643
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cyrsymb.mf
@@ -0,0 +1,92 @@
+cmchar "open cyrillic quote (looks like <<)";
+beginchar(oct"035",10u#,x_height#,0);
+adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup rule.nib;
+lft x2=hround u-epsilon; x1=x3=.55w;
+y1=h; y3=0; y2=.5[y1,y3];
+draw z1--z2--z3; % left diagonals
+x4=w-x2; y4=.9[y3,y1]; y6=.1[y3,y1];
+x5-x2=x6-x3=x4-x1; y5=y2;
+draw z4--z5--z6; % right diagonals
+z2'=z2; x2':=x2-.625rule_thickness;
+z5'=z5; x5':=x5+.625rule_thickness;
+draw z1--z2'--z3; % left diagonals
+draw z4--z5'--z6; % right diagonals
+labels(1,2,3,4,5,6); endchar;
+
+cmchar "close cyrillic quote (looks like >>)";
+beginchar(oct"036",10u#,x_height#,0);
+adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup rule.nib;
+lft x2=.55w; x1=x3=hround u-epsilon;
+y1=.9h; y3=.1h; y2=.5[y1,y3];
+y4=h; y6=0; y5=.5[y4,y6];
+draw z1--z2--z3; % left diagonals
+x4=w-x2;
+x5-x2=x6-x3=x4-x1;
+draw z4--z5--z6; % right diagonals
+z2'=z2; x2':=x2-.625rule_thickness;
+z5'=z5; x5':=x5+.625rule_thickness;
+draw z1--z2'--z3; % left diagonals
+draw z4--z5'--z6; % right diagonals
+labels(1,2,3,4,5,6);
+endchar;
+
+cmchar "The number mark";
+beginchar(oct"031",17u#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric thin_stem,letter_w,light_bulb; letter_w=14u;
+thin_stem=hround(fudged.hair+stem_corr);
+pickup tiny.nib; pos1(thin_stem,0); pos2(thin_stem,0);
+pos3(thin_stem,0); pos4(thin_stem,0);
+top y1=h; bot y4=0;
+if serifs: top y3=h-bot y2=.9h; else: top y3=h; bot y2=0; fi
+x1=x2; x3=x4; x1l=letter_w-x3r;
+rt x3r=hround min(letter_w-3u,letter_w-4u+.5fudged.cap_stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if hefty: penpos5(fudged.cap_stem,0); penpos6(fudged.cap_stem,0);
+ x5l=x1; x6r=x4; y5=h; y6=0;
+ numeric upper_notch,lower_notch;
+ upper_notch=h-cap_notch_cut; lower_notch=cap_notch_cut;
+ x1'=rt x1r; z1'=whatever[z5l,z6l]; x4'=lft x4l; z4'=whatever[z5r,z6r];
+ fill z5l..
+ if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y4'>lower_notch: {left}(x4'-1,lower_notch){up}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,0); penpos6(whatever,90);
+ z5l=z1l; z6l=z4l;
+ z7=z6l+(max(eps,cap_stem-3stem_corr-tiny),0) rotated (angle(z5l-z6l)-90);
+ z5r=z7+whatever*(z5l-z6l); z6r=z7+whatever*(z5l-z6l);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: serif(5,6,a,1/3,-cap_jut); % upper left serif
+ light_bulb=hround 7/8[cap_hair,flare];
+ z2'r=(tiny.rt x2r,y2); z2'l=(tiny.lft x2l,y2);
+ z3'l=(tiny.rt x3r,y3); z3'r=(tiny.lft x3l,y3);
+ penpos8(vair,-90); penpos9(cap_hair,-180); penpos10(light_bulb,-180);
+ penpos11(vair,90); penpos12(cap_hair,0); penpos13(light_bulb,0);
+ x8=x1-1.25u; x11=letter_w-x8;
+ x10r=hround .5u; x13r=hround(letter_w-.5u);
+ if monospace: y10=u; y11=h-y8=h;
+ else: y10=2u-min(.5light_bulb,.5u); top y11r=h+o; bot y8r=-o; fi
+ y13=h-y10;
+ fill stroke z2'e{down}...{left}z8e;
+ fill stroke z3'e{up}...{right}z11e; % upper and lower arcs
+ clearpen;
+ bulb(8,9,10); bulb(11,12,13); fi % upper and lower bulbs
+numeric thick_hair; thick_hair=max(hair,.75stem);
+penpos14(vair,90); penpos16(vair,-90);
+penpos15(thick_hair,180); penpos17(thick_hair,0);
+interim superness:=sqrt(more_super*hein_super);
+if monospace: x15=hround(w-4.5u); rt x17r=hround(w-.5u);
+ else: x15=hround(w-4u); rt x17r=hround(w-.5u); fi
+x14=x16=.5[x15,x17]; y14r=h-y16r=.7h; y15=y17=.5[y14,y16];
+if x17l<=x15l+10: x15l:=x15r+vair; x17l:=x17r-vair; fi
+penstroke pulled_arc.e(14,15) & pulled_arc.e(15,16)
+ & pulled_arc.e(16,17) & pulled_arc.e(17,14) & cycle; % bowl
+pickup crisp.nib; pos18(thick_hair,90); pos19(thick_hair,90);
+bot y18l=bot y19l=.075h; rt x19=x17r; lft x18=x15r;
+filldraw stroke z18e--z19e; % bar
+math_fit(0,max(.5ic#-.5u#,0));
+penlabels(1,1',2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
diff --git a/fonts/cyrillic/cmcyr/mf/cyrt.mf b/fonts/cyrillic/cmcyr/mf/cyrt.mf
new file mode 100644
index 0000000000..7723705019
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cyrt.mf
@@ -0,0 +1,1024 @@
+cmchar "The cyrillic letter a";
+beginchar(CYR_a,9u#,x_height#,0);
+bh#:=min(bar_height#,1.14x_height#-bar_height#); define_pixels(bh);
+italcorr 1/3[bh#,x_height#]*slant+.5stem#-serif_fit#-2u#;
+adjust_fit(0,serif_fit# if serifs: if hair#+.5stem#>1.5u#:-.25u# fi\\fi);
+pickup fine.nib; top y3r=h+vround 1.5oo;
+if serifs: pos1(flare,180); pos2(hair,180);
+ pos3(vair,90); lft x1r=hround max(u,2.1u-.5flare); x3=.5w-.5u;
+ y1=min(bh+.5flare+2vair+2,.9[bh,h]-.5flare);
+ bulb(3,2,1); % bulb
+else: pos1(5/7[vair,flare],95); x1l=good.x 1.5u; x1r:=good.x x1r;
+ pos3(1/8[vair,thin_join],90);
+ x3=.5w-.2u; top y1r=vround .82[bh,top y3r];
+ filldraw stroke term.e(3,1,left,.9,4); fi % terminal
+pos4(stem,0); rt x4r=hround(w-2.5u+.5stem); y4=1/3[bh,h];
+pos5(stem,0); x5=x4; y5=max(.55bh,2vair);
+filldraw stroke super_arc.e(3,4)&z4e..z5e; % arc and stem
+pos6(.3[thin_join,vair],90); x6=x4; bot y6=bh;
+pos7(hround(curve-2stem_corr),180);
+lft x7r=hround max(.5u,1.5u-.5curve); y7=1/3[top y8l,top y6r];
+pos8(vair,270); x8l=.5w-.75u; bot y8r=-oo;
+pos9(thin_join,360); z9l=z5l;
+(x,y8r)=whatever[z8l,z9l]; x8r:=max(x,x8-u);
+{{interim superness:=more_super;
+ filldraw stroke z9e{down}...z8e{left}...{up}z7e&super_arc.e(7,6)}}; % bowl
+if serifs: numeric shaved_stem; shaved_stem=hround(stem-3stem_corr);
+ if hair#+.5stem#>1.5u#: pickup tiny.nib;
+ pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; y10=.2[.5tiny,bh];
+ pos11(shaved_stem,0); rt x11r=hround(w-.25u); bot y11=0;
+ pos12(shaved_stem,0); x11=x12; top y12=slab+eps;
+ filldraw z5'l---z10l...z11l{right}--z11r
+ --z12r{left}...z10r+.75(z12-z11)---z5'r--cycle; % foot
+ else: pickup crisp.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; y10=1/3bh;
+ pos11(.2[vair,stem],90); x11r=.5[x10r,x12r]; bot y11l=-vround .5oo;
+ pos12(hair,180); rt x12l=hround(w-.1u); y12=max(y10,y11+vair);
+ pos13(hair,180); x13=x12; top y13=max(vround .6bh,top y12);
+ (x',y11l)=whatever[z11r,z12r]; x11l:=max(x',x10);
+ filldraw stroke z5'e---z10e...z11e{right}...z12e---z13e; fi % hook
+else: numeric shaved_stem; shaved_stem=hround(stem-stem_corr);
+ pickup tiny.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; bot y10=0;
+ filldraw stroke z5'e--z10e; fi % base of stem
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "The cyrillic letter be";
+beginchar(CYR_be,9u#,fig_height#,0);
+italcorr .7x_height#*slant;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=x_height+vround 1.5oo; y3r=-oo;
+y2=y4=.5x_height-vair_corr; y2l:=y4l:=.52x_height;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+penpos2'(vair,180); lft x2'r=x2r; y2'=y2r;
+penpos5(.8curve,90); penpos6(.8curve,90);
+penpos6'(.8curve,-90); x6=.5[x5,x7]; y6=y5; z6'=z6;
+penpos7(thin_join,0); rt x7r=rt x4r;
+top y7=h; top y5r=.97h; x5=x1;
+fill stroke z2'e{up}...{right}z5e..z6e;
+fill circ_stroke pulled_arc.e(7,6');
+penlabels(1,2,2',3,4,5,6',6,7); endchar;
+
+cmchar "The cyrillic letter ve";
+beginchar(CYR_ve,9u#,x_height#,0);
+italcorr .5x_height#*slant+min(.5curve#-u#,-.25u#);
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.75vair;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(2.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(.75vair,90); penpos4(.75vair,90);
+penpos6(middle_weight,-90); penpos7(middle_weight,-90);
+penpos8(middle_weight,90); penpos9(middle_weight,90);
+penpos5(right_curve-stem_corr,0); penpos10(right_curve,0);
+penpos11(.75vair,-90); penpos12(.75vair,-90);
+z3r=top z1; y4=y3; y5=.5[y4,y6]; y6=y7; y7l-y8l=vair;
+z12r=bot z2; bot y11=bot y12; y10=.5[y11,y9]; y8=y9; .5[y7l,y8l]=.52h;
+x4=x6; x9=x11=x4+.5u; x7=x8=x1; x9l:=x4+.25u;
+x5r=hround(w-u); x10r=hround(w-.5u);
+if serifs: right_curve=curve-stem_corr; x4=.5[x1,w-1.5u];
+else: right_curve=curve-3stem_corr; x4=.5[x1,w-2.5u];
+ x4l:=x4l-.5u; x9l:=x9l-.5u; fi
+x6l:=x6l-.5u; x11l:=x11l-.5u;
+fill stroke z3e..super_arc.e(4,5) & super_arc.e(5,6)..z7e; % upper lobe
+fill stroke z8e..super_arc.e(9,10) & super_arc.e(10,11)..z12e; % lower lobe
+if serifs: nodish_serif(1,2,a,1/3,jut,b,1/3,.5jut); % upper serif
+ nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); fi % lower serif
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+cmchar "The cyrillic letter ghe";
+beginchar(CYR_ghe,8.5u#,x_height#,0);
+italcorr x_height#*slant;
+adjust_fit(serif_fit#,0);
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.75u); y4=good.y(y3l-.6beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+nodish_serif(1,2,a,1/3,jut,b,1/3,.5jut); % upper serif
+dish_serif(2,1,c,1/3,jut,d,1/3,1.25jut); % lower serif
+penlabels(1,2,3,4); endchar;
+
+def ellipse_set(suffix $,@,@@,$$) = % given |z$,x@,z$$|, find |y@| and |z@@|
+% such that the path |z${x@-x$,0}..z@{0,y@-y$}..{z$$-z@@}z@@|
+% is consistent with an ellipse
+% and such that the line |z@@--z$$| has a given |slope|
+ alpha_:=slope*(x$-x@); beta_:=y$$-y$-slope*(x$-x$$);
+ gamma_:=alpha_/beta_;
+ y@-y$=.5(beta_-alpha_*gamma_);
+ x$-x@@=-2gamma_*(x$-x@)/(1+gamma_*gamma_);
+ y@@-y$$=slope*(x$$-x@@) enddef;
+
+cmchar "The cyrillic letter ghe";
+beginchar(CYR_ghe,7.1u#,x_height#,0);
+italcorr x_height#*slant-.3u#;
+adjust_fit(if monospace: .5u#,.4u# else: 0,-.2u# fi);
+numeric theta; theta=90+angle(40u,h); slope:=-h/40u; % angle at middle
+numeric s_slab; s_slab=if serifs:vair else:Vround .1[vair,stem] fi;
+numeric ess'; ess'=max(fine.breadth,ess);
+pickup fine.nib; pos2(max(fine.breadth,s_slab-vround vair_corr),-80);
+pos0(ess',theta); pos7(s_slab,-90); x2l=x0=x7=.5w;
+top y2l=h+vround 1.5oo; bot y7r=-oo;
+y0-.5ess'=y7l+.52(y2r-y7l-ess');
+rt x3l=hround(w-.6u); lft x6r=hround .6u;
+x3l-x3r=x6l-x6r=hround .5[s_slab,ess']-fine;
+ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r;
+ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r;
+interim superness:=more_super;
+filldraw stroke super_arc.e(2,3) & z3e{down}
+ ..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke
+pos1(4/7[s_slab,flare],-80); pos8(flare,-80);
+x1l=good.x(x1l+u-lft x1); rt x8r=hround(w-.5u);
+top y1l=vround(.93h+1.5oo); bot y8r=vround .1h-oo;
+filldraw stroke term.e(2,1,left,.9,4); % upper arc and terminal
+filldraw stroke term.e(7,8,right,1,4); % lower arc and terminal
+penlabels(0,1,1',2,3,4,5,6,7,8,8',9,10); endchar;
+
+cmchar "The cyrillic letter de";
+beginchar(CYR_de,10u#+serif_fit#,x_height#,desc_depth#);
+italcorr x_height#*slant-serif_fit#+.5stem#-2u# if serifs:+.5u# fi;
+adjust_fit(0,serif_fit# if serifs: -.5u# fi);
+pickup tiny.nib; pos1(stem',0); pos2(stem,0);
+pos0'(stem',0); pos0(stem,0); z0r=z0'r; x0'=x1; x0=x2;
+rt x1r=hround(w-2.5u+.5stem');
+numeric edge; edge=lft x2l;
+path edge_path; edge_path=(edge,h)--(edge,0);
+pickup fine.nib; pos3(if hefty:thin_join else: hair fi,0);
+pos4(vair,90); pos5(curve,180); pos6(vair,270); penpos7(x3r-x3l,360);
+lft x3l=min(lft x3l-(rt x3r-tiny.rt x2r),2/3[lft x2,edge]); y3=bar_height;
+x4l=.5(w-serif_fit)-.3u; top y4r=x_height+oo;
+lft x5r=hround max(1.35u-.5curve,.6u); y5=.5x_height;
+x6l=x4l-.2u; bot y6r=vround 1/3vair;
+lft x7l=edge; y7=min(y3,y6+y4-y3+.6vair);
+(x,y4r)=whatever[z3l,z4l]; x4r:=max(x,.5[x5r,x4]);
+(x',y6r)=whatever[z7l,z6l]; x6r:=max(x',.5[x5r,x6]);
+filldraw stroke z3e{up}...{left}z4e&super_arc.e(4,5)
+ &super_arc.e(5,6)&z6e{right}...{up}z7e; % bowl
+y1=ypart(edge_path intersectionpoint(z3l{up}...{left}z4l));
+y0=ypart(edge_path intersectionpoint(z7l{down}...{left}z6l));
+pickup tiny.nib; bot y2=if serifs: -.25d else: 0 fi;
+filldraw stroke z1e--z0'e--z0e--z2e; % stem
+pickup crisp.nib;
+pos8(hround(hair-stem_corr),0); pos7'(stem',0);
+z7'=z1; x8r=x7'r; top y8=h+oo;
+filldraw stroke z7'e--z8e; % point
+if serifs: pickup tiny.nib;
+ pos9(vair,-90); x9=.5[x2,x10]; bot y9r=-d-o-1;
+ pos10(hair,-180); lft x10r=hround u; y10=-.75d+.5flare;
+ pos11(flare,-180); z11r=z10r;
+ bulb(9,10,11); filldraw stroke super_arc.e(2,9); % tail
+else: pickup fine.nib; pos2'(stem,0); z2'=z2;
+ z2''r=z2'r; z2''=z2'; z2''l=(x2'l,0);
+ pos9(vair,-90); x9=4.5u; bot y9r=-d-o-1;
+ pos10(.5[vair,flare],-90); lft x10=hround 1.25u;
+ y10r=good.y -5/6d; y10l:=good.y y10l;
+ filldraw stroke z2'e..z2''e&super_arc.e(2'',9)
+ & term.e(9,10,left,.9,4); fi % tail
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
+
+cmchar "The cyrillic letter ie";
+beginchar(CYR_ie,7.25u#+max(.75u#,.5curve#),x_height#,0);
+italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
+adjust_fit(if monospace: .25u#,.5u# else: 0,0 fi);
+numeric left_curve,right_curve;
+left_curve=right_curve+6stem_corr=curve if not serifs: -3stem_corr fi;
+if right_curve<tiny.breadth: right_curve:=tiny.breadth; fi
+if left_curve<tiny.breadth: left_curve:=tiny.breadth; fi
+pickup tiny.nib; pos1(right_curve,0);
+pos2(vair,90); pos3(left_curve,180);
+y1=good.y bar_height; top y2r=h+vround 1.5oo; y0l=bot y1;
+rt x1r=hround min(w-.5u,w-u+.5right_curve);
+lft x3r=hround max(.5u,1.25u-.5left_curve); x2=.5w+.25u;
+{{interim superness:=more_super;
+ filldraw stroke super_arc.e(1,2)}}; % right bowl
+y3=.5[y2,y4]; bot y4r=-oo; x4=x2+.25u;
+if serifs: pos4(vair',270); pos5(hair,360);
+ y5=max(good.y(.5bar_height-.9),y4l+vair); x5r=x1r;
+ (x,y4l)=whatever[z4r,z5]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)
+ ...{x5-x4,5(y5-y4)}z5e; % left bowl, arc, and terminal
+else: pos4(vair,270);
+ filldraw stroke super_arc.e(2,3) & super_arc.e(3,4); % left bowl and arc
+ pickup fine.nib; pos4'(vair,270); z4=z4';
+ pos5(.5[vair,flare],275); rt x5r=hround(w-.6u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke term.e(4',5,right,1,4); fi % terminal
+path testpath; testpath=super_arc.r(2,3) & super_arc.r(3,4);
+y1'r=y0r=y0l+.6[thin_join,vair]; y1'l=y0l; x1'l=x1'r=x1;
+forsuffixes $=l,r:
+ x0$=xpart(((0,y0$)--(x1,y0$)) intersectionpoint testpath); endfor
+fill stroke z0e--z1'e; % crossbar
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter ye";
+numeric dot_diam#,dot_diam;
+dot_diam#=max(dot_size#,cap_curve#);
+beginchar(CYR_ye,7.25u#+max(.75u#,.5curve#),1.4x_height#,0);
+dot_diam=max(tiny.breadth,hround(max(dot_size,cap_curve)-2stem_corr));
+italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
+adjust_fit(if monospace: .25u#,.5u# else: 0,0 fi);
+numeric left_curve,right_curve,letter_h; letter_h=x_height;
+left_curve=right_curve+6stem_corr=curve if not serifs: -3stem_corr fi;
+if right_curve<tiny.breadth: right_curve:=tiny.breadth; fi
+if left_curve<tiny.breadth: left_curve:=tiny.breadth; fi
+pickup tiny.nib; pos1(right_curve,0);
+pos2(vair,90); pos3(left_curve,180);
+y1=good.y bar_height; top y2r=letter_h+vround 1.5oo; y0l=bot y1;
+rt x1r=hround min(w-.5u,w-u+.5right_curve);
+lft x3r=hround max(.5u,1.25u-.5left_curve); x2=.5w+.25u;
+{{interim superness:=more_super;
+ filldraw stroke super_arc.e(1,2)}}; % right bowl
+y3=.5[y2,y4]; bot y4r=-oo; x4=x2+.25u;
+if serifs: pos4(vair',270); pos5(hair,360);
+ y5=max(good.y(.5bar_height-.9),y4l+vair); x5r=x1r;
+ (x,y4l)=whatever[z4r,z5]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)
+ ...{x5-x4,5(y5-y4)}z5e; % left bowl, arc, and terminal
+else: pos4(vair,270);
+ filldraw stroke super_arc.e(2,3) & super_arc.e(3,4); % left bowl and arc
+ pickup fine.nib; pos4'(vair,270); z4=z4';
+ pos5(.5[vair,flare],275); rt x5r=hround(w-.6u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke term.e(4',5,right,1,4); fi % terminal
+path testpath; testpath=super_arc.r(2,3) & super_arc.r(3,4);
+y1'r=y0r=y0l+.6[thin_join,vair]; y1'l=y0l; x1'l=x1'r=x1;
+forsuffixes $=l,r:
+ x0$=xpart(((0,y0$)--(x1,y0$)) intersectionpoint testpath); endfor
+fill stroke z0e--z1'e; % crossbar
+pos6(dot_diam,0); pos7(dot_diam,90);
+x6=x7=2.5u; top y7r=h+1;
+if bot y7l<letter_h+o+slab: y7l:=min(y7r-eps,letter_h+o+slab+.5tiny); fi
+y6=.5[y7l,y7r]; dot(6,7); % left dot
+pos8(dot_diam,0); penpos9(y7r-y7l,90); y8=y9=y6; x8=x9=w-x6;
+dot(8,9); % right dot
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter zhe";
+beginchar(CYR_zhe,15.5u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+numeric arc_width; arc_width=7u;
+pos2(vair,-90); pos3(.8curve,0); pos4(vair,90); % NG
+pos9(vair,90); pos10(.8curve,180); pos11(vair,270); % NG
+x2=x4=w-x9=.5(arc_width-2u); x11=x9;
+rt x3r=w-lft x10r=hround(arc_width-2.5u+.5curve); % NG
+x6=x5; bot y2r=-oo; top y9r=h+oo;
+top y4r=h+oo; bot y11r=-oo; y3=h-y10=.5[y2,y4];
+pos5(4/7[vair',flare],110); pos8(4/7[vair',flare],80);
+rt x8r=w-lft x5r=hround(w-.6u); top y8r=top y5r=vround .82[bar_height,top y9r];
+filldraw stroke term.e(4,5,left,.8,4); % left upper terminal
+filldraw stroke term.e(9,8,right,.8,-4); % right upper terminal
+pos1(.6[vair',flare],265); pos12(.6[vair',flare],275);
+rt x12r=w-lft x1r=hround(w-.5u);
+y1r=good.y(y1r+1/3bar_height-y1); y1l:=good.y y1l; x1l:=good.x x1l;
+y12r=good.y(y12r+1/3bar_height-y12); y12l:=good.y y12l; x12l:=good.x x12l;
+forsuffixes e=l,r: path p.e,q.e;
+p.e=z2e{left}..tension .9 and 1..z1e;
+q.e=z11e{right}..tension .9 and 1..z12e;
+if angle direction 1 of p.e>75:
+ p.e:=z2e{left}..tension atleast.9 and 1..{dir 115}z1e;
+ q.e:=z11e{right}..tension atleast.9 and 1..{dir 75}z12e; fi endfor
+filldraw stroke pulled_super_arc.e(4,3)(.7superpull)
+ & pulled_super_arc.e(3,2)(.5superpull) & p.e; % left arc and lower terminal
+filldraw stroke pulled_super_arc.e(9,10)(.7superpull)
+ & pulled_super_arc.e(10,11)(.5superpull) & q.e; % right arc and terminal
+pos14(.9stem,0); pos15(.9stem,0); % NG
+x14=x15=.5w; top y14=h; bot y15=0;
+filldraw stroke z14e--z15e; % stem
+penpos3'(bar,90); penpos10'(bar,90); z3'=z3; z10'=z10;
+fill stroke z3'e--z10'e; % bar
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar;
+
+cmchar "The cyrillic letter ze";
+beginchar(CYR_ze,7.5u#,x_height#,0);
+italcorr x_height#*slant-.5u#;
+adjust_fit(0,0);
+pickup fine.nib;
+pos1(1.2flare,100); pos2(slab,90);
+pos3(flare,0); pos4(slab,-90); pos5(flare,-95);
+rt x1r=hround(1.1u); x2=.5w; x4=.45[x1,x10]; x9=.5w-u;
+rt x3r=hround w-max(u,2u-.5curve); rt x5r=hround(.9u);
+top y1r=vround .9h+oo; top y2r=h+oo; y3=.5[y7,y2];
+bot y4r=-oo; bot y5r=vround .15h-oo; y5l:=good.y y5l; x5l:=good.x x5l;
+pos7(vair,-90); pos8(vair,-90);
+pos9(max(fine.breadth,vround 2/3vair),90); pos10(flare,0);
+rt x10r=hround(w-.75u); lft x8=min(hround 5u,lft x9)-eps;
+y10=.5[y9,y4]; top y8l=vround(.54h+.5vair); y8r=y9l;
+x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+filldraw stroke rterm.e(2,1,left,.9,4) & super_arc.e(2,3)
+& pulled_arc.e(3,8); % upper bowl
+filldraw stroke pulled_arc.e(9,10)
+ & super_arc.e(10,4) & term.e(4,5,left,.8,4); % lower bowl
+penlabels(1,1',2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "The cyrillic letter i";
+beginchar(CYR_i,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+numeric light_vair; light_vair=vair if hefty: -vround 2vair_corr fi;
+if light_vair<fine.breadth: light_vair:=fine.breadth; fi
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem',0);
+lft x1l=hround(2.5u-.5stem); x1=x2; x3=w-x1; x3r=x4r;
+if serifs: top y1=h+min(oo,serif_drop); bot y4=-min(oo,serif_drop);
+else: top y1=h; bot y4=0; fi
+pos0(stem,0); pos0'(stem',0); x0=x3; x0'=x4; y0=y0';
+penpos2'(stem-fine,-180); z2'=z2; y3=y1; y2=.5bar_height;
+penpos5(max(eps,light_vair-fine),-90); penpos6(thin_join-fine,0);
+y6=y0=2/3bar_height;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e..z0e--z0'e..z4e; % right stem
+pickup fine.nib; bot y5r=-oo; x5l=.5w-.25u; lft x6l=tiny.lft x0l;
+(x,y5r)=whatever[z5l,z6l]; x5r:=max(x,.5[x5,x2'r]);
+filldraw stroke {{interim superness:=hein_super;
+ pulled_arc.e(2',5)}} & z5e{right}...{up}z6e; % arc
+if serifs: sloped_serif.l(1,2,a,1/3,jut,serif_drop); % upper left serif
+ sloped_serif.l(3,0,b,1/3,jut,serif_drop); % upper right serif
+ sloped_serif.r(4,0',c,1/3,jut,min(oo,serif_drop)); fi % lower right serif
+penlabels(1,2,3,4,5); labels(6); endchar;
+
+cmchar "The cyrillic letter short_i";
+beginchar(CYR_short_i,10u#,if serifs: 1.5x_height#
+ else: 1.4x_height# fi,0);
+italcorr 1.5x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+numeric light_vair; light_vair=vair if hefty: -vround 2vair_corr fi;
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem',0);
+lft x1l=hround(2.5u-.5stem); x1=x2; x3=w-x1; x3r=x4r;
+if serifs: top y1=x_height+min(oo,serif_drop); bot y4=-min(oo,serif_drop);
+else: top y1=x_height; bot y4=0; fi
+pos0(stem,0); pos0'(stem',0); x0=x3; x0'=x4; y0=y0';
+penpos2'(stem-fine,-180); z2'=z2; y3=y1; y2=.5bar_height;
+penpos5(max(eps,light_vair-fine),-90); penpos6(thin_join-fine,0);
+y6=y0=2/3bar_height;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e..z0e--z0'e..z4e; % right stem
+pickup fine.nib; bot y5r=-oo; x5l=.5w-.25u; lft x6l=tiny.lft x0l;
+(x,y5r)=whatever[z5l,z6l]; x5r:=max(x,.5[x5,x2'r]);
+filldraw stroke {{interim superness:=hein_super;
+ pulled_arc.e(2',5)}} & z5e{right}...{up}z6e; % arc
+if serifs: sloped_serif.l(1,2,a,1/3,jut,serif_drop); % upper left serif
+ sloped_serif.l(3,0,b,1/3,jut,serif_drop); % upper right serif
+ sloped_serif.r(4,0',c,1/3,jut,min(oo,serif_drop)); fi % lower right serif
+pickup fine.nib; penpos7(.75vair,-90);
+penpos8(.75vair,-180); penpos10(.75vair,0);
+x7=.5[x8,x10]; y7=.85h;
+x8r=x1r; x10r=x3l; top y8=top y10=h;
+filldraw stroke z8e...z7e...z10e;
+penlabels(1,2,2',3,3',4,5,6,7,8,9,10,11); endchar;
+
+cmchar "The cyrillic letter ka";
+beginchar(CYR_ka,9.5u#,x_height#,0);
+italcorr x_height#*slant-.5u#;
+adjust_fit(serif_fit#,serif_fit#);
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+lft x1l=lft x2l=hround(2.5u-.5fudged.stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem2=max(tiny.breadth,fudged.stem-3stem_corr);
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+top y3=h; rt x3r=hround(r-letter_fit-.75u-right_jut);
+bot y6=0; rt x6r=hround(r-letter_fit-.5u-right_jut);
+x4=x1; y4=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor
+z5=.5[z5l,z5r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+% we have also |z3'l=z3l+penoffset z4-z3 of currentpen+whatever*(z3-z4)|;\]
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal
+if serifs: numeric inner_jut;
+ if rt x2r+jut+.5u+1<=lft x6l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x6l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper stem serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower stem serif
+ dish_serif(3,4,e,2/3,right_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark);fi % lower diagonal serif
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter el";
+beginchar(CYR_el,9.5u#,x_height#,0);
+italcorr x_height#*slant-.5u;
+adjust_fit(0,serif_fit#);
+pickup tiny.nib;
+numeric light_stem; light_stem=.9stem;
+pos1(light_stem,0); pos2(light_stem,0); pos3(light_stem,0);
+lft x1l=.5u; rt x3r=w-.5u; bot y1=bot y3=0;
+x2=.5[x1,x3]; top y2=h;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z2e--z3e; % right stem
+penlabels(1,2,3); endchar;
+
+%cmchar "The cyrillic letter el";
+%beginchar(CYR_el,10u#,x_height#,0);
+%italcorr x_height#*slant-serif_fit#
+% +.75jut#-2.5u#+min(.5stem#,u#);
+%adjust_fit(0,serif_fit#);
+%pickup tiny.nib;
+%pos1(hair,90); pos2(hair,90); pos3(hair,180);
+%pos4(stem,0); pos4'(slab,90); pos5(stem,0);
+%x3=.33w; rt x4r=rt x5r=hround(w-2.5u+.5stem);
+%top y4=h; bot y5=0; y3=.52h;
+%filldraw stroke z4e--z5e; % right stem
+%x1=u; x2=x1+.75u; bot y1l=0; bot y2l=0;
+%rt x4'=rt x4r; top y4'r=h;
+%filldraw stroke z1e..z2e{right}...{up}z3e{up}..{right}z4'e; % stem and arc
+%penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter em";
+beginchar(CYR_em,12u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+numeric stem[]; % thicknesses of the four strokes
+stem1=hround(fudged.hair+stem_corr);
+stem2=hround(fudged.stem-4stem_corr);
+stem3=hround(fudged.hair-stem_corr);
+stem4=hround(fudged.stem-3stem_corr);
+if stem4<stem1: stem4:=stem1; fi
+pickup tiny.nib; pos1(stem1,0); pos2(stem1,0);
+pos3(stem4,0); pos4(stem4,0);
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround(w-2.5u+.5stem4);
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(stem2,0); penpos6(stem2,0); penpos7(stem3,0); penpos8(stem3,0);
+x5l=x1; x6l=x7l; x8=lft x3l; x6-x5=x8-x7; y5=y8=h; y6=y7;
+y6=1/3h;
+if hefty:
+%y6=if monospace: vround 1/3h else: o fi;
+ numeric upper_notch,lower_notch;
+ upper_notch=h-notch_cut; lower_notch=y6+notch_cut;
+ x1'=rt x1r; z1'=whatever[z5l,z6l]; x3'=lft x3l; z3'=whatever[z7r,z8r];
+ z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..
+ if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ if y3'<upper_notch: ...{up}(x3'-1,upper_notch){right} fi
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}
+ if y0<=lower_notch: ..{z7-z8}z0{z5-z6}..
+ else: ...{down}(x0+.5,lower_notch)--(x0-.5,lower_notch){up}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonals
+else:
+%y6=0;
+ z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..{z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}..{z7-z8}z0{z5-z6}
+ ..{z5-z6}diag_in(6r,5r,1,5l)--cycle; fi % diagonals
+if serifs: serif(1,2,a,1/3,-jut); % upper left serif
+ dish_serif(2,1,b,1/2,jut,c,1/2,jut)(dark); % lower left serif
+ serif(3,4,d,1/3,jut); % upper right serif
+ dish_serif(4,3,e,1/3,jut,f,1/3,jut); fi % lower right serif
+penlabels(0,1,1',2,3,3',4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter en";
+beginchar(CYR_en,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(bar,90); penpos6(bar,90);
+x5=x1; x6=x3; y5=y6=.52h;
+fill stroke z5e--z6e; % bar
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); fi % lower left serif
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter o";
+beginchar(CYR_o,9u#,x_height#,0);
+italcorr .7x_height#*slant;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=h+vround 1.5oo; y3r=-oo;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter pe";
+beginchar(CYR_pe,10u#,x_height#,0);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+numeric shaved_stem; shaved_stem=hround(stem-2stem_corr);
+pos1'(shaved_stem,0); pos2'(shaved_stem,0); pos3(stem,0);
+lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; x3=w-x1;
+top y1=h+min(oo,serif_drop); bot y2=0; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+h_stroke(2,a,3,4); % arch and right stem
+if serifs: sloped_serif.l(1',2',b,1/3,jut,serif_drop); % upper left serif
+ numeric inner_jut; pickup tiny.nib;
+ if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower left serif
+ dish_serif(4,3,e,1/3,inner_jut,f,1/3,jut); fi % lower right serif
+penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter er";
+beginchar(CYR_er,10u#+serif_fit#,x_height#,desc_depth#);
+italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#);
+adjust_fit(serif_fit#,0);
+pickup tiny.nib; pos1(stem',0); pos2(stem,0);
+pos0'(stem',0); pos0(stem,0); z0l=z0'l; x0'=x1; x0=x2;
+lft x1l=hround(2.5u-.5stem'); top y1=h if serifs: +min(oo,serif_drop) fi;
+numeric edge; edge=rt x2r;
+pickup fine.nib; pos3(if hefty:thin_join else: hair fi,180);
+pos4(vair',90); pos5(curve,0); pos6(vair,-90); penpos7(x3l-x3r,-180);
+rt x3l=max(rt x3l-(lft x3r-tiny.lft x2l), 1/3[rt x2,edge]);
+y3=1/8[bar_height,x_height];
+x4l=w-.5(w-serif_fit)+.5u; top y4r=x_height+oo;
+rt x5r=hround min(w-1.35u+.5curve,w-.6u); y5=.5x_height;
+x6l=x4l-.2u; bot y6r=-oo;
+x7=x3; y7=min(y3,y6+y4-y3+.6vair);
+(x,y4r)=whatever[z3l,z4l]; x4r:=min(x,.5[x5r,x4]);
+(x',y6r)=whatever[z7l,z6l]; x6r:=min(x',.5[x5r,x6]);
+filldraw stroke z3e{up}...{right}z4e&super_arc.e(4,5)
+ &super_arc.e(5,6)&z6e{left}...{up}z7e; % bowl
+y0=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{right}z4l));
+pickup tiny.nib; bot y2=-d;
+filldraw stroke z1e--z0'e--z0e--z2e; % stem
+pickup crisp.nib; pos8(hair,0); pos7'(stem,0);
+z7'=z2; x8l=x7'l; bot y8=0;
+filldraw stroke z7'e--z8e; % point
+if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); % upper serif
+ dish_serif(2,0,b,1/3,jut,c,1/3,jut); fi % lower serif
+penlabels(0,1,2,3,4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter es";
+beginchar(CYR_es,8u#,x_height#,0);
+italcorr x_height#*slant-.2u#;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+pickup fine.nib; pos2(vair',90); pos4(vair',270);
+x2=x4=.5(w+u); top y2r=vround(h+1.5oo); bot y4r=-oo;
+pos3(curve,180); lft x3r=hround max(.6u,1.35u-.5curve); y3=.5h;
+if serifs: pos1(hair,0); pos0(flare,0);
+ y1=min(bar_height+.5flare+2vair'+2,.9[bar_height,h]-.5flare);
+ rt x1r=hround(w-.7u); bulb(2,1,0); % bulb
+ pos5(hair,0); rt x5r=hround(w-.5u);
+ y5=max(good.y(.5bar_height-.9),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e; % arc and lower terminal
+else: pos1(4/7[vair',flare],80);
+ rt x1r=hround(w-.6u); top y1r=vround .82[bar_height,top y2r];
+ filldraw stroke term.e(2,1,right,.8,4); % upper terminal
+ pos5(.6[vair',flare],275); rt x5r=hround(w-.5u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ forsuffixes e=l,r: path p.e; p.e=z4e{right}..tension .9 and 1..z5e;
+ if angle direction 1 of p.e>75:
+ p.e:=z4e{right}..tension atleast.9 and 1..{dir 75}z5e; fi endfor
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull) & p.e; fi % arc and lower terminal
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter te";
+beginchar(CYR_te,10u#,x_height#,0);
+italcorr x_height#*slant-beak_jut#-.25u#;
+adjust_fit(0,0);
+h:=vround(h-2stem_corr);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+if odd(w-stem): change_width; fi
+lft x1l=lft x2l=hround(.5w-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.65u); y4=good.y(y3l-.6beak)-eps;
+arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak
+pos5(hair,180); x5=w-x4; y5=y4;
+arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak
+if serifs: dish_serif(2,1,c,1/3,1.414jut,d,1/3,1.414jut); % lower serif
+ nodish_serif(1,2,a,1/3,.5jut,b,1/3,.5jut); fi % upper bracketing
+penlabels(1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter te";
+beginchar(oct"040",15u#,x_height#,0);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+numeric shaved_stem; shaved_stem=hround(mfudged.stem-2stem_corr);
+pickup tiny.nib; pos1(mfudged.stem,0); pos2(mfudged.stem,0);
+pos1'(shaved_stem,0); pos2'(shaved_stem,0);
+pos3(mfudged.stem,0); pos5(mfudged.stem,0);
+lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l;
+lft x3l=hround(.5w-.5stem); x5-x3=x3-x1;
+if not monospace: r:=hround(x5+x1)-l; fi % change width for better fit
+top y1=h+min(oo,serif_drop); bot y2=0; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+h_stroke(2,a,3,4); % left arch and middle stem
+h_stroke(4,b,5,6); % right arch and right stem
+if serifs: sloped_serif.l(1',2',c,1/3,jut,serif_drop); % upper left serif
+ numeric inner_jut; pickup tiny.nib;
+ if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(2,1,d,1/3,jut,e,1/3,jut); % lower left serif
+ dish_serif(4,3,f,1/3,inner_jut,g,1/3,jut); % lower middle serif
+ dish_serif(6,5,h,1/3,inner_jut,i,1/3,jut); fi % lower right serif
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter u";
+beginchar(CYR_u,if serifs:9.5u# else:9u# fi,x_height#,desc_depth#);
+italcorr x_height#*slant+.25u#;
+adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
+numeric left_stem,right_stem,bot_stem,bot_vair,outer_jut;
+left_stem=fudged.stem-stem_corr;
+right_stem=fudged.hair if hefty:-2stem_corr fi;
+bot_stem=fudged.hair if hefty:-8stem_corr fi;
+bot_vair=Vround(if serifs: vair else:.5[vair,bot_stem] fi);
+outer_jut=.75jut;
+x1l=w-x4r=l+letter_fit+outer_jut+.25u; y1=y4r=h; y2=y3=0; x2l=x3l;
+numeric alpha,alpha[]; x9=3u; y9=bot_vair-d-oo;
+alpha1=diag_ratio(2,bot_stem,y1-y3,x4r-x1l-apex_corr);
+alpha2=diag_ratio(1,bot_stem,y1-y9,x4r-x9);
+if alpha1<alpha2: x2l-x1l=x4r-x3r+apex_corr; alpha=alpha1;
+else: alpha=alpha2; z3l=whatever[z9,z4r-(alpha*bot_stem,0)]; fi
+penpos3(alpha*bot_stem,0); penpos4(alpha*right_stem,0);
+alpha3=(y1++(x2l-x1l))/y1;
+penpos1(alpha3*left_stem,0); penpos2(alpha3*left_stem,0);
+z0=whatever[z1r,z2r]=z4l+whatever*(z3r-z4r);
+if y0>notch_cut: y0:=notch_cut;
+ fill z0+.5right{up}...{z4r-z3r}diag_end(0,4l,1,1,4r,3r)
+ --z3r--z2l--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % left and right diagonals
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--z3r--z2l
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals
+penpos5(alpha*bot_stem,0); z5r=whatever[z3r,z4r]; y5-.5vair=-.5d;
+if serifs: numeric light_bulb; light_bulb=hround 7/8[hair,flare]; clearpen;
+ penpos6(vair,-90); penpos7(hair,-180); penpos8(light_bulb,-180);
+ x6=2u; y6r=-d-oo; y8-.5light_bulb=-.85d; x8r=hround .35u;
+ fill stroke z3e---z5e...{left}z6e; bulb(6,7,8); % arc and bulb
+ numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+jut+.5u+1<=lft x4'l-jut: inner_jut=jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % right serif
+else: penpos6(bot_vair,-90); x6=2.5u; y6r=-d-oo;
+ fill stroke z3e---z5e...{left}z6e; % arc
+ pickup fine.nib; pos6'(bot_vair,-90); z6'=z6;
+ pos7(2/3[bot_vair,flare],-85);
+ lft x7l=hround u; bot y7r=vround-.96d-oo; y7l:=good.y y7l;
+ filldraw stroke term.e(6',7,left,1,4); fi % arc and terminal
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter ef";
+beginchar(CYR_ef,12u#,x_height#+desc_depth#,desc_depth#);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+if odd(w-stem): change_width; fi
+top y1=h if serifs: +min(oo,serif_drop) fi;
+x1=x2=.5w; bot y2=-d;
+penpos3(.75vair,180);penpos3'(.75vair,0);
+penpos4(.75vair,90); penpos5(curve,0);
+penpos6(.5[vair,.75vair],-90);
+penpos7(.75vair,180); penpos7'(.75vair,0);
+penpos8(.75vair,90); penpos9(curve,180);
+penpos10(.75vair,270);
+x3l=x7l=rt x1r; x3'l=x7'l=lft x1l;
+y4r=y8r=x_height+oo; y5=y9=.5[y4l,y6l];
+x4r=x6r=.5[x1,x5]; x8r=x10r=.5[x9,x1];
+x5r=w-x9r=w-.5u;
+y7=y7'=.25x_height; y3=y3'=x_height-y7; y6r=y10r=-oo;
+filldraw stroke z1e--z2e; % stem
+fill stroke z3e{up}..pulled_arc.e(4,5) & pulled_arc.e(5,6)..{up}z7e;
+fill stroke z3'e{up}..pulled_arc.e(8,9) & pulled_arc.e(9,10)..{up}z7'e; % lobe
+if serifs:
+ sloped_serif.l(1,2,a,1/3,jut,.1h); % upper serif
+ dish_serif(2,1,b,1/3,jut,c,1/3,jut); fi % lower serif
+penlabels(0,1,2,3,3',4,5,6,7,7',8,9,10); endchar;
+
+cmchar "The cyrillic letter ha";
+beginchar(CYR_ha,if serifs:9.5u# else:9u# fi,x_height#,0);
+italcorr x_height#*slant-.05u#;
+adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
+numeric stem[],outer_jut,xjut,alpha[];
+stem1=fudged.stem-4stem_corr; stem2=min(fudged.hair,stem1);
+outer_jut=.75jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi;
+x1l=l+letter_fit+.1u+outer_jut; x2r=r-letter_fit-.3u-outer_jut-xjut;
+x3l=l+letter_fit+outer_jut+xjut; x4r=r-letter_fit-outer_jut;
+y1=y2=h; y3=y4=0;
+alpha1=diag_ratio(1,stem1,h,x4r-x1l);
+alpha2=diag_ratio(1,stem2,h,x2r-x3l);
+penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0);
+penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0);
+if hefty: z0=whatever[z1,z4]=whatever[z2,z3];
+ x12=x34=x0; y13=y24=y0;
+ z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l];
+ z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r];
+ forsuffixes $=13,24,34: z$'=.2[z$,z0]; endfor
+ fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34'
+ --diag_end(34',4l,.5,1,4r,24')--z24'
+ --diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals
+else: fill diag_end(4r,1r,.5,1,1l,4l)
+ --diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal
+ fill diag_end(2l,3l,.5,1,3r,2r)
+ --diag_end(3r,2r,.5,1,2l,3l)--cycle; fi % right diagonal
+if serifs: numeric inner_jut[]; pickup tiny.nib;
+ prime_points_inside(1,4); prime_points_inside(2,3);
+ prime_points_inside(3,2); prime_points_inside(4,1);
+ if rt x1'r+jut+.5u+1<=lft x2'l-jut-xjut: inner_jut1=jut;
+ else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi
+ if rt x3'r+jut+.5u+1<=lft x4'l-jut-xjut: inner_jut2=jut;
+ else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi
+ dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif
+ dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif
+ dish_serif(2',3,e,2/3,inner_jut1+xjut,
+ f,1/2,outer_jut+xjut)(dark); % upper right serif
+ dish_serif(3',2,g,1/2,outer_jut+xjut,
+ h,2/3,inner_jut2+xjut)(dark); fi % lower left serif
+penlabels(0,1,2,3,4,12,13,24,34); endchar;
+
+cmchar "The cyrillic letter tse";
+beginchar(CYR_tse,11u#,x_height#,comma_depth#);
+italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+numeric light_vair,letter_w; letter_w=10u;
+light_vair=vair if hefty: -vround 2vair_corr fi;
+if light_vair<fine.breadth: light_vair:=fine.breadth; fi
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem',0);
+lft x1l=hround(2.5u-.5stem); x1=x2; x3=letter_w-x1; x3r=x4r;
+top y1=h; bot y4=.12h;
+pos0(stem,0); pos0'(stem',0); x0=x3; x0'=x4; y0=y0';
+penpos2'(stem-fine,-180); z2'=z2; y3=y1; y2=.5bar_height;
+penpos5(max(eps,light_vair-fine),-90); penpos6(thin_join-fine,0);
+y6=y0=2/3bar_height;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e..z0e--z0'e..z4e; % right stem
+z4'l=lft z4l; z4'r=rt z4r;
+penpos7(stem,40); penpos8(stem,-35);
+rt x7r=w-.5u; y7=0; x8l=x4l; y8=-d;
+(z8l-z9)=whatever*(z8r-z7r); y9=.5[y7l,y7r];
+fill stroke z4'e{down}..z7e; % lower arc
+fill z8l--z8r--z7r--z9--cycle; % appendix
+pickup fine.nib; bot y5r=-oo; x5l=.5letter_w-.25u; lft x6l=tiny.lft x0l;
+(x,y5r)=whatever[z5l,z6l]; x5r:=max(x,.5[x5,x2'r]);
+filldraw stroke {{interim superness:=hein_super;
+ pulled_arc.e(2',5)}} & z5e{right}...{up}z6e; % arc
+penlabels(1,2,3,4,5,7,8,9); labels(6); endchar;
+
+cmchar "The cyrillic letter che";
+beginchar(CYR_che,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+numeric light_vair; light_vair=vair-fine;
+lft x1l=hround(2.5u-.5stem); x1=x2; x3l=w-x1r; x3r=x4r;
+top y1=h; bot y4=0;
+penpos2'(stem-fine,-180); z2'=z2; y3=y1; y2=.65h;
+penpos5(light_vair,-90); penpos6(light_vair,0);
+y6=.5h; lft x6l=lft x3l; if rt x6r>rt x3r: x6r:=x3r; fi
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+pickup fine.nib; bot y5r=y6-vair-.05h; x5=.5w;
+filldraw stroke {{interim superness:=hein_super;
+ pulled_super_arc.e(2',5)(.01superpull)}}
+ & z5e{right}...z6e; % arc
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ dish_serif(4,3,g,1/3,jut,h,1/3,jut); fi % lower right serif
+penlabels(1,2,3,4,5,6); endchar;
+
+ def i_stroke(suffix $,@,@@,$$) =
+ penpos$$(x@@l-x@@r,180); x$$=x@@; top y$$=h;
+ y@@=h-1/3[bar_height,x_height];
+ penpos$''(x$l-x$r,180); x$''=x$; y$''=h-1/8[bar_height,x_height];
+ filldraw stroke z$''e--z$e; % thicken the lower left stem
+ penpos@0(min(rt x$l-lft x$r,thin_join)-fine,0); pickup fine.nib;
+ lft x@0l=tiny.lft x$r; y@0=y$'';
+ pos@1(vair,-90); pos@@'(x@@l-x@@r+tiny,180); z@@'=z@@;
+ x@1=.5[lft x@@'r,lft x@0l]; bot y@1r=-oo;
+ (x@,y@1l)=whatever[z@0l,z@1r]; x@1l:=x@;
+ filldraw stroke z@0e{down}...{left}z@1e
+ &{{interim superness:=hein_super; super_arc.e(@1,@@')}}; % arch
+ pickup tiny.nib; filldraw stroke z@@e--z$$e; % right stem
+ labels(@0); penlabels(@0,@1); enddef;
+
+cmchar "The cyrillic letter sha";
+beginchar(CYR_sha,15u#,x_height#,0);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+numeric shaved_stem; shaved_stem=hround(mfudged.stem-2stem_corr);
+pickup tiny.nib; pos1(mfudged.stem,180); pos2(mfudged.stem,180);
+pos1'(shaved_stem,180); pos2'(shaved_stem,180);
+pos3(mfudged.stem,180); pos5(mfudged.stem,180);
+rt x1l=hround(w-2.5u+.5stem); x1l=x1'l=x2l=x2'l;
+rt x3l=hround(.5w+.5stem); x5-x3=x3-x1;
+if not monospace: r:=hround(x1+x5)-l; fi % change width for better fit
+bot y1=-min(oo,serif_drop); top y2=h; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+i_stroke(2,a,3,4); % left arch and middle stem
+i_stroke(4,b,5,6); % right arch and right stem
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter shcha";
+beginchar(CYR_shcha,16u#,x_height#,comma_depth#);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+numeric shaved_stem,letter_w; letter_w=15u;
+shaved_stem=hround(mfudged.stem-2stem_corr);
+pickup tiny.nib; pos1(mfudged.stem,180); pos2(mfudged.stem,180);
+pos1'(shaved_stem,180); pos2'(shaved_stem,180);
+pos3(mfudged.stem,180); pos5(mfudged.stem,180);
+rt x1l=hround(letter_w-2.5u+.5stem); x1l=x1'l=x2l=x2'l;
+rt x3l=hround(.5letter_w+.5stem); x5-x3=x3-x1;
+if not monospace: r:=hround(x1+x5+u)-l; fi % change width for better fit
+bot y1=.12h; top y2=h; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+i_stroke(2,a,3,4); % left arch and middle stem
+i_stroke(4,b,5,6); % right arch and right stem
+z6'l=lft z1r; z6'r=rt z1l;
+penpos7(stem,40); penpos8(stem,-35);
+rt x7r=w-.5u; y7=0; x8l=x1r; y8=-d;
+(z8l-z9)=whatever*(z8r-z7r); y9=.5[y7l,y7r];
+fill stroke z6'e{down}..z7e; % lower arc
+fill z8l--z8r--z7r--z9--cycle; % appendix
+penlabels(1,2,3,4,5,6,6',7,8,9); endchar;
+
+cmchar "The cyrillic letter hard_sign";
+beginchar(CYR_hard_sign,10.5u#,x_height#,0);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(4u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(.75vair,90); penpos6(.75vair,90); penpos7(right_curve,0);
+penpos8(.75vair,-90); penpos9(.75vair,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x7r=hround(w-.5u); x8l:=x8l-.5u;
+if serifs: right_curve=curve-stem_corr; x6=.5[x1,w-u];
+else: right_curve=curve-3stem_corr; x6=.5[x1,w-1.2u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+pickup crisp.nib; pos3(slab,90); pos4(hair,180);
+top y3r=h; x3=x1; lft x4r=hround(.5u); y4=good.y(y3l-.6beak)-eps;
+arm(3,4,e,beak_darkness,-.7beak_jut); % upper arm and beak
+if serifs: nodish_serif(1,2,a,0,jut,b,1/3,jut); % upper serif
+nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); fi % lower serif
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter yeru";
+beginchar(CYR_yeru,13u#,x_height#,0);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(2.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+pos3(stem,0); pos4(stem,0); x3=x4=w-x1; top y3=h; bot y4=0;
+penpos5(.75vair,90); penpos6(.75vair,90); penpos7(right_curve,0);
+penpos8(.75vair,-90); penpos9(.75vair,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6ltop:=x6-.25u; x8l:=x8l-.5u;
+x7r=if serifs: tiny.lft x3l-jut; else: 8.5u; fi
+if serifs: right_curve=curve-stem_corr; x6=.5[x1,w-4.5u];
+else: right_curve=curve-3stem_corr; x6=.5[x1,w-5.2u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+filldraw stroke z3e--z4e; % right stem
+if serifs: dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper left serif
+nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); % lower left serif
+dish_serif(3,4,e,1/3,1.05jut,f,1/3,1.05jut); % upper right serif
+dish_serif(4,3,g,1/3,1.05jut,h,1/3,1.05jut); fi % lower right serif
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter soft_sign";
+beginchar(CYR_soft_sign,9u#,x_height#,0);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(2.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(.75vair,90); penpos6(.75vair,90); penpos7(right_curve,0);
+penpos8(.75vair,-90); penpos9(.75vair,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x7r=hround(w-.5u); x8l:=x8l-.5u;
+if serifs: right_curve=curve-stem_corr; x6=.5[x1,w-u];
+else: right_curve=curve-3stem_corr; x6=.5[x1,w-1.2u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+if serifs: dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper serif
+nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); fi % lower serif
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter e";
+beginchar(CYR_e,8u#,x_height#,0);
+italcorr x_height#*slant-.2u#;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+pickup fine.nib;
+pos2(cap_band,90); pos4(vair',270); pos3(curve,0);
+x2=x4=.5(w-u); top y2r=h+oo; bot y4r=-oo;
+rt x3r=w-hround min(.6u,1.35u-.5curve); y3=.5h;
+if serifs: pos1(hair,180);
+ lft x1r=u; bot y1=min(vround .7h,bot y2l-eps);
+ pos5(hair,180); lft x5r=hround(.5u);
+ y5=max(good.y(.5bar_height-.9),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=max(x,x4l-.5u);
+ filldraw stroke z1e{up}
+ ..pulled_super_arc.e(2,3)(superpull)%(.7superpull)
+ & pulled_super_arc.e(3,4)(superpull)%(.5superpull)
+ ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e; % arc and lower terminal
+ pos6(.3[fine.breadth,hair],180); x6r=x1r; top y6=h+o;
+ x1'-x1r=1.5curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x1-x2,10(y2-y1)}..z2{right};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: pos1(4/7[vair',flare],110);
+ lft x1r=hround(.6u);
+ top y1r=vround .82[bar_height,top y2r];
+ filldraw stroke term.e(2,1,left,.8,4); % upper terminal
+ pos5(.6[vair',flare],265); lft x5r=hround(.5u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ forsuffixes e=l,r: path p.e; p.e=z4e{left}..tension .9 and 1..z5e;
+ if angle direction 1 of p.e<105:
+ p.e:=z4e{left}..tension atleast.9 and 1..{dir 105}z5e; fi endfor
+ filldraw stroke pulled_super_arc.e(2,3)(.5superpull)
+ & pulled_super_arc.e(3,4)(.7superpull) & p.e; fi % arc and lower terminal
+penpos7(bar,90); penpos8(bar,90);
+x7=lft x3l; x8=.5w-1.5u;
+y7=y8=.5h;
+fill stroke z7e--z8e; % bar
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter yu";
+beginchar(CYR_yu,13.5u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,if monospace: .5u# else: 0 fi);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+penpos5(vair,90); penpos7(vair',-90);
+penpos6(curve,180); penpos8(curve,0);
+x5=x7=.5[x6,x8]; y5r=h+oo; y7r=-oo;
+x8r=hround(w-.5u); x6r=hround(w-8.5u);
+y6=y8=.5h-vair_corr; y6l:=y8l:=.52h;
+penstroke pulled_arc.e(5,6) & pulled_arc.e(6,7)
+ & pulled_arc.e(7,8) & pulled_arc.e(8,5) & cycle; % bowl
+penpos3(bar,90); penpos4(bar,90); x3=x1; x4=x6; y3=y4=.52h;
+fill stroke z3e--z4e; % bar
+if serifs: numeric inner_jut; inner_jut=jut;
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); fi % lower left serif
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter ya";
+beginchar(CYR_ya,8u#+.5max(2u#,curve#),x_height#,0);
+italcorr .75cap_height#*slant- if serifs: 1.75 else: .5 fi\\ u#;
+adjust_fit(0,serif_fit#);
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+rt x1r=rt x2r=w-hround(2.5u-.5stem'); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(.75vair,90); penpos4(.75vair,90);
+penpos5(curve if hefty:-3stem_corr fi,180);
+penpos6(vair,-90); penpos7(vair,-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7; x7=x2; y7=.5h; x4=x6;
+if serifs: x4=.5w+.5u; x5r=hround(1.5u);
+else: x4=.5w; x5r=hround(.75u); fi
+x4l:=x6l:=x4+.125curve;
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+pos6'(curve,0); pos8(curve,0); x6'r=x6l; y6'=y6;
+tiny.lft x8l=.5u+.5jut; bot y8=0;
+filldraw stroke z6'e--z8e; % diagonal stem
+if serifs: numeric inner_jut;
+ if rt x8r+u+1<=lft x2l-jut: inner_jut=jut;
+ else: lft x2l-u-1=rt x8r+inner_jut; fi
+ nodish_serif(1,2,a,1/3,.5jut,b,1/3,jut); % upper serif
+ dish_serif(2,1,c,1/3,inner_jut,d,1/3,jut); % lower serif
+ serif(8,6',e,1/3,-.5jut); fi % lower diagonal serif
+penlabels(1,2,3,4,5,6,7,8); endchar;
diff --git a/fonts/cyrillic/cmcyr/mf/cyru.mf b/fonts/cyrillic/cmcyr/mf/cyru.mf
new file mode 100644
index 0000000000..b26fd5aa32
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cyru.mf
@@ -0,0 +1,1027 @@
+cmchar "The cyrillic letter A";
+beginchar(CYR_A,13u#,cap_height#,0);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric left_stem,right_stem,outer_jut,alpha;
+right_stem=cap_stem-stem_corr;
+left_stem=min(cap_hair if hefty: -3stem_corr fi,right_stem);
+outer_jut=.8cap_jut; x1l=w-x4r=l+letter_fit+outer_jut+.5u; y1=y4=0;
+x2-x1=x4-x3; x3r=x2r+apex_corr; y2=y3=h+apex_o+apex_oo;
+alpha=diag_ratio(2,left_stem,y2-y1,x4r-x1l-apex_corr);
+penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+z0=whatever[z1r,z2r]=whatever[z3l,z4l];
+if y0<h-cap_notch_cut: y0:=h-cap_notch_cut;
+ fill z0+.5right{down}...{z4-z3}diag_end(3l,4l,1,1,4r,3r)
+ --diag_end(4r,3r,1,1,2l,1l)--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{up}z0+.5left--cycle; % left and right diagonals
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--diag_end(4r,3r,1,1,2l,1l)
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals
+penpos5(whatever,angle(z2-z1)); z5=whatever[z1,z2];
+penpos6(whatever,angle(z3-z4)); z6=whatever[z3,z4]; y6=y5;
+if hefty: y5r else: y5 fi =5/12y0;
+y5r-y5l=y6r-y6l=cap_band; penstroke z5e--z6e; % bar line
+if serifs: numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/2,outer_jut,b,.6,inner_jut)(dark); % left serif
+ dish_serif(4',3,c,1/2,inner_jut,d,1/3,outer_jut); fi % right serif
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter BE";
+beginchar(CYR_BE,12.5u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve;
+left_stem=cap_stem-hround 2stem_corr;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x8=x6; x5=x1; x6l:=x6-.25u; x7r=hround(w-u); x8l:=x8l-.5u;
+if serifs: right_curve=cap_curve-stem_corr; x6=.5[x1,w-1.8u];
+else: right_curve=cap_curve-3stem_corr; x6=.5[x1,w-1.5u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-2u); y4=good.y(y3l-.8beak)-eps;
+arm(3,4,e,beak_darkness,.9beak_jut); % upper arm and beak
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter VE";
+beginchar(CYR_VE,12.5u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos6(middle_weight,-90); penpos7(middle_weight,-90);
+penpos8(middle_weight,90); penpos9(middle_weight,90);
+penpos5(right_curve-stem_corr,0); penpos10(right_curve,0);
+penpos11(cap_band,-90); penpos12(cap_band,-90);
+z3r=top z1; y4=y3; y5=.5[y4,y6]; y6=y7; y7l-y8l=vair;
+z12r=bot z2; y11=y12; y10=.5[y11,y9]; y8=y9; .5[y7l,y8l]=.52h;
+x4=x6; x9=x11=x4+.5u; x7=x8=x1; x9l:=x4+.25u;
+x5r=hround(w-1.5u); x10r=hround(w-u);
+if serifs: right_curve=cap_curve-stem_corr; x4=.5[x1,w-1.5u];
+else: right_curve=cap_curve-3stem_corr; x4=.5[x1,w-2.5u];
+ x4l:=x4l-.5u; x9l:=x9l-.5u; fi
+x6l:=x6l-.5u; x11l:=x11l-.5u;
+fill stroke z3e..super_arc.e(4,5) & super_arc.e(5,6)..z7e; % upper lobe
+fill stroke z8e..super_arc.e(9,10) & super_arc.e(10,11)..z12e; % lower lobe
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+cmchar "The cyrillic letter GHE";
+beginchar(CYR_GHE,11.5u#-width_adj#,cap_height#,0);
+italcorr cap_height#*slant-beak_jut#-.25u#;
+adjust_fit(cap_serif_fit#,0);
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.75u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,1.25cap_jut); fi % lower serif
+math_fit(0,ic#-2.5u#); penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter DE";
+beginchar(CYR_DE,13u#,cap_height#,comma_depth#);
+italcorr cap_height#*slant-cap_serif_fit#
+ +.75cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(0,cap_serif_fit#);
+pickup tiny.nib; numeric thin_stem;
+thin_stem=if monospace: cap_stem-tiny
+ else: min(cap_hair,cap_stem-1.5tiny) fi;
+if serifs: penpos1(thin_stem,0); penpos2(thin_stem,0);
+penpos0(thin_stem,0); x2=.5[hround .5u,x1];
+else: penpos1(thin_stem,0); penpos2(thin_stem,0);
+penpos0(thin_stem,0); x2=.5u+cap_stem; fi
+pos3(cap_stem,0); pos4(cap_stem,0);
+x1l=x0l=.33w; top y1=h; y0=.75h; bot y2=0;
+rt x3r=rt x4r=hround(w-2u); top y3=h; bot y4=0;
+filldraw stroke z3e--z4e;
+filldraw stroke z1e--z0e{down}..z2e; % stem and arc
+if serifs: pickup crisp.nib; numeric inner_jut, newbracket;
+ newbracket:=max(1.5,bracket); inner_jut:=.5(x3l-x1r);
+ path p[]; p1=z1{down}...z2;
+ p12=(0,y1-newbracket)--(w,y1-newbracket);
+ p21=(0,y2+newbracket)--(w,y2+newbracket);
+ z12=p1 intersectionpoint p12; z21=p1 intersectionpoint p21;
+ nodish_serif(1,12,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(3,4,c,1/3,inner_jut,d,1/3,cap_jut); % upper right serif
+ inner_jut:=.5(x4l-x2r);
+ nodish_serif(2,21,e,1/3,cap_jut,f,1/3,inner_jut); % middle left serif
+ nodish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % middle right serif
+ pickup crisp.nib;
+ pos5(slab,90); pos6(cap_hair,180); pos7(cap_hair,0);
+ x5=.5[x2,x4]; bot y5l=0;
+ rt x7r=tiny.rt x4r+cap_jut; lft x6r=tiny.lft x2l-cap_jut;
+ y6=y7=good.y(y5l-.5beak)-eps;
+ arm(5,6,m,1.25beak_darkness,0); % left beak
+ arm(5,7,n,1.25beak_darkness,0); % right beak
+else:
+ pos1'(slab,90); pos3'(slab,90);
+ pos6(slab,90); pos7(slab,90);
+ pos6'(stem,0); pos7'(stem,0);
+ pos8(stem,0); pos9(stem,0);
+ lft x1'=lft x1l; rt x3'=rt x3r; top y1'r=top y3'r=h;
+ lft x6=lft x6'l=lft x8l=.5u; rt x7=rt x7'r=rt x9r=w-.5u;
+ bot y6l=bot y7l=0; y6'=y7'=y6; bot y8=bot y9=-.8d;
+ filldraw stroke z1'e--z3'e; % upper bar
+ filldraw stroke z6e--z7e; % lower bar
+ filldraw stroke z6'e--z8e; % left beak
+ filldraw stroke z7'e--z9e; % right beak
+fi
+math_fit(0,.5ic#-.5u#);
+penlabels(0,1,1',2,3,3',4,5,6,7,8,9,12,21); endchar;
+
+cmchar "The cyrillic letter IE";
+beginchar(CYR_IE,12u#-width_adj#,cap_height#,0);
+italcorr cap_height#*slant-beak_jut#-.5u#;
+adjust_fit(cap_serif_fit#,0);
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+pos5(cap_bar,-90); pos6(hair,0);
+top y5l=vround(.52[y2,y1]+.5cap_bar); x5=x1;
+pos0(cap_bar,90); pos7(hair,0);
+z0=z5; x6=x7; y6-y5l=y0l-y7;
+if serifs: rt x6r=hround(w-4.4u+.5hair); y6=good.y(y5l+.6beak)+eps;
+ rt x9r=hround(w-.5u);
+else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u); fi
+arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif
+pos8(slab if not serifs:+2stem_corr fi,-90); pos9(hair,0);
+bot y8r=0; x8=x2; y9=good.y(y8l+7/6beak)+eps;
+arm(8,9,h,beak_darkness,1.5beak_jut); % lower arm and beak
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter YO";
+numeric dot_diam#,dot_diam;
+dot_diam#=max(dot_size#,cap_curve#);
+beginchar(CYR_YO,12u#-width_adj#,1.3cap_height#,0);
+dot_diam=max(tiny.breadth,hround(max(dot_size,cap_curve)-2stem_corr));
+italcorr cap_height#*slant-beak_jut#-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric letter_h; letter_h=cap_height;
+letter_h:=vround(letter_h-stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=letter_h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=letter_h; x3=x1; rt x4r=hround(w-u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+pos5(cap_bar,-90); pos6(hair,0);
+top y5l=vround(.52[y2,y1]+.5cap_bar); x5=x1;
+pos0(cap_bar,90); pos7(hair,0);
+z0=z5; x6=x7; y6-y5l=y0l-y7;
+if serifs: rt x6r=hround(w-4.4u+.5hair); y6=good.y(y5l+.6beak)+eps;
+ rt x9r=hround(w-.5u);
+else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u); fi
+arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif
+pos8(slab if not serifs:+2stem_corr fi,-90); pos9(hair,0);
+bot y8r=0; x8=x2; y9=good.y(y8l+7/6beak)+eps;
+arm(8,9,h,beak_darkness,1.5beak_jut); % lower arm and beak
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+pos10(dot_diam,0); pos11(dot_diam,90);
+x10=x11=3.5u; top y11r=h+1;
+if bot y11l<letter_h+o+slab: y11l:=min(y11r-eps,letter_h+o+slab+.5tiny); fi
+y10=.5[y11l,y11r]; dot(10,11); % left dot
+pos12(dot_diam,0); penpos13(y11r-y11l,90); y12=y13=y10; x12=x13=w-x10;
+dot(12,13); % right dot
+math_fit(0,.5ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "The cyrillic letter ZHE";
+beginchar(CYR_ZHE,21u#,cap_height#,0);
+italcorr cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6cap_jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.cap_stem,0); pos2(fudged.cap_stem,0);
+x1=x2=.5w; top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem2=max(tiny.breadth,fudged.cap_stem-3stem_corr);
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+rt x3r=w-lft x7l=hround(r-letter_fit-u-right_jut);
+rt x6r=w-lft x9l=hround(r-letter_fit-.75u-right_jut);
+top y3=top y7=h; bot y6=bot y9=0; x4=x4'=x1; y4=y4'=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+penpos7(alpha1*(stem1-tiny),0);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0); penpos9(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=y7'$=h; y6'$=y9'$=0;
+ z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4];
+ x8$=w-x5$; y8$=y5$; endfor
+z5=.5[z5l,z5r]; z8=.5[z8l,z8r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+x7'r=w-x3'r; x7'l=w-x3'l; x9'r=w-x6'r; x9'l=w-x6'l;
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % right upper diagonal
+fill z4r--diag_end(4r,7'r,1,.5,7'l,4l)--z4l--cycle; % left upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % right lower diagonal
+fill z8l--diag_end(8l,9'l,.5,1,9'r,8r)--z8r--cycle; % left lower diagonal
+if serifs: numeric inner_jut;
+ if rt x2r+cap_jut+.5u+1<=lft x6l-cap_jut: inner_jut=cap_jut;
+ else: rt x2r+cap_jut+.5u+1=lft x6l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper stem serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower stem serif
+ dish_serif(3,4,e,2/3,1.2cap_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark); % lower diagonal serif
+ dish_serif(7,4,i,1/2,right_jut,j,2/3,1.2cap_jut)(dark); % upper diagonal seri
+ dish_serif(9,8,k,1/3,right_jut,l,1/2,inner_jut)(dark);fi % lower diagonal seri
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter ZE";
+beginchar(CYR_ZE,11u#,cap_height#,0);
+italcorr cap_height#*slant-.5u#;
+adjust_fit(0,0);pickup fine.nib;
+if serifs: pos1(cap_hair,180); pos2(cap_band,90);
+ pos3(max(fine.breadth,cap_curve-stem_corr),0); pos4(vair',270);
+ lft x1r=1.5u; top y2r=h+o;
+ bot y1=min(vround .7h,bot y2l-eps); rt x3r=hround(w-u);
+ pos7(cap_bar,-90); pos8(cap_bar,-90);
+ pos9(max(fine.breadth,vround 2/3cap_bar),90); pos10(cap_curve,0);
+ x9=.5w-.75u; x2=x4=.5w; bot y4r=-o;
+ rt x10r=w-.5u; lft x8=min(hround 5u,lft x9)-eps;
+ y3=.5[top y7l,bot y2l]; y10=.5[bot y9l,top y4l];
+ top y8l=vround(.54h+.5vair); y8r=y9l;
+ x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+ pos5(cap_hair,180); lft x5r=hround(u);
+ y5=max(good.y(.6bar_height),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=max(x,x4l-.5u);
+ interim superness:=more_super;
+ filldraw stroke z1e{up}
+ ... pulled_super_arc.e(2,3)(.5superpull)
+ & z3e{down}...z7e---z8e; % upper bowl
+% filldraw z8r--z9l--z9r--z8l---cycle; % middle tip
+ filldraw stroke pulled_super_arc.e(9,10)(.5superpull)
+ & pulled_super_arc.e(10,4)(.5superpull)
+ ..z5e; % arc and lower terminal
+ pos6(.3[fine.breadth,cap_hair],180); x6r=x1r; top y6=h+o;
+ x1'-x1r=1.5cap_curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x1-x2,10(y2-y1)}..z2{right};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: pos1(1.2flare,100); pos2(slab,90);
+ pos3(cap_curve,0); pos4(slab,-90); pos5(flare,-95);
+ rt x1r=hround(1.1u); x2=.5w; x4=.45[x1,x10]; x9=.5w-u;
+ rt x3r=hround w-max(u,2u-.5cap_curve); rt x5r=hround(.9u);
+ top y1r=vround .9h+o; top y2r=h+o; y3=.5[y7,y2];
+ bot y4r=-o; bot y5r=vround .15h-o; y5l:=good.y y5l; x5l:=good.x x5l;
+ pos7(vair,-90); pos8(vair,-90);
+ pos9(max(fine.breadth,vround 2/3vair),90); pos10(cap_curve,0);
+ rt x10r=hround(w-.75u); lft x8=min(hround 5u,lft x9)-eps;
+ y10=.5[y9,y4]; top y8l=vround(.54h+.5vair); y8r=y9l;
+ x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+ filldraw stroke rterm.e(2,1,left,.9,4) & super_arc.e(2,3)
+ & pulled_arc.e(3,8); % upper bowl
+ filldraw stroke pulled_arc.e(9,10)
+ & super_arc.e(10,4) & term.e(4,5,left,.8,4); fi % lower bowl
+penlabels(1,1',2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "The cyrillic letter I";
+beginchar(CYR_I,13u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+top y1=top y3=h; bot y2=bot y4=0;
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround min(w-2u,w-3u+.5fudged.cap_stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: y5=h-y6=.1h;
+ else: bot y5l=h-top y6r=0; fi
+x5=rt x2r; x6=lft x3l;
+if hefty: numeric upper_notch,lower_notch,alpha;
+ alpha=if monospace: 100 else: 90 fi;
+ upper_notch=h-cap_notch_cut; lower_notch=cap_notch_cut;
+ penpos5(1.5cap_stem,alpha); penpos6(1.5cap_stem,alpha);
+ x2'=rt x2r; z2'=whatever[z6r,z5r]; x3'=lft x3l; z3'=whatever[z5l,z6l];
+ fill z5l..
+ if y2'<lower_notch: {right}(x2'+1,lower_notch){up}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y3'>upper_notch: {left}(x3'-1,upper_notch){down}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,90); penpos6(whatever,90);
+ z7=z6l-(cap_hair,0) rotated (angle(z5-z6)-90);
+ z5r=z7+whatever*(z5-z6); z6r=z7+whatever*(z5-z6);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); fi % lower left serif
+math_fit(0,max(.5ic#-.5u#,0));
+penlabels(1,2,2',3,3',4,5,6,7); endchar;
+
+cmchar "The cyrillic letter SHORT I";
+beginchar(CYR_SHORT_I,13u#+width_adj#,1.3cap_height#,0);
+italcorr 1.3cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+pos3(cap_stem',0); pos4(cap_stem',0);
+pickup tiny.nib; top y1=top y3=cap_height; bot y2=bot y4=0;
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround min(w-2u,w-3u+.5fudged.cap_stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: y5=cap_height-y6=.12cap_height;
+ else: bot y5l=cap_height-top y6r=0; fi
+x5=rt x2r; x6=lft x3l;
+if hefty: numeric upper_notch,lower_notch,alpha;
+ alpha=if monospace: 100 else: 90 fi;
+ upper_notch=cap_height-cap_notch_cut; lower_notch=cap_notch_cut;
+ penpos5(1.5cap_stem,alpha); penpos6(1.5cap_stem,alpha);
+ x2'=rt x2r; z2'=whatever[z6r,z5r]; x3'=lft x3l; z3'=whatever[z5l,z6l];
+ fill z5l..
+ if y2'<lower_notch: {right}(x2'+1,lower_notch){up}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y3'>upper_notch: {left}(x3'-1,upper_notch){down}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,90); penpos6(whatever,90);
+ z6'=z6l-(cap_hair,0) rotated (angle(z5-z6)-90);
+ z5r=z6'+whatever*(z5-z6); z6r=z6'+whatever*(z5-z6);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper right serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % lower right serif
+ if monospace: penpos7(.25vair,-90);
+ else: penpos7(vair,-90); fi
+ penpos8(.7vair,-180); penpos9(.75flare,-180);
+ penpos10(.7vair,0); penpos11(.75flare,0);
+ x7=.5[x8,x10]; bot y7r=.85h;
+ x8=.5w-2u; x10=w-x8; y8=y11=.95h;
+ bulb(7,8,9); % left bulb
+ bulb(7,10,11); % right bulb
+else: pickup fine.nib; penpos7(.75vair,-90);
+ penpos8(.75vair,-180); penpos10(.75vair,0);
+ x7=.5[x8,x10]; y7=.9h;
+ x8r=x1r; x10r=x3l; top y8=top y10=h;
+ filldraw stroke z8e...z7e...z10e;
+fi
+math_fit(0,max(.5ic#-.5u#,0));
+penlabels(1,2,2',3,3',4,5,6,7,8,9,10,11); endchar;
+
+cmchar "The cyrillic letter KA";
+beginchar(CYR_KA,13.5u#,cap_height#,0);
+italcorr cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6cap_jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.cap_stem,0); pos2(fudged.cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5fudged.cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem2=max(tiny.breadth,fudged.cap_stem-3stem_corr);
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+top y3=h; rt x3r=hround(r-letter_fit-u-right_jut);
+bot y6=0; rt x6r=hround(r-letter_fit-.75u-right_jut);
+x4=x1; y4=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor
+z5=.5[z5l,z5r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+% we have also |z3'l=z3l+penoffset z4-z3 of currentpen+whatever*(z3-z4)|;\]
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal
+if serifs: numeric inner_jut;
+ if rt x2r+cap_jut+.5u+1<=lft x6l-cap_jut: inner_jut=cap_jut;
+ else: rt x2r+cap_jut+.5u+1=lft x6l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper stem serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower stem serif
+ dish_serif(3,4,e,2/3,1.2cap_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark);fi % lower diagonal serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter EL";
+beginchar(CYR_EL,13u#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#
+ +.75cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(0,cap_serif_fit#);
+pickup tiny.nib; numeric thin_stem;
+thin_stem=min(1.5cap_hair,cap_stem);
+if serifs: pos1(thin_stem,0); pos12(thin_stem,0);
+else: pos1(cap_hair,0); pos12(cap_hair,0); fi
+pos5(cap_stem,0); pos6(cap_stem,0);
+x1=.33w; top y1=h; x12=x1; y12=.5h;
+rt x5r=rt x6r=hround(w-3u+.5cap_stem); top y5=h; bot y6=0;
+filldraw stroke z5e--z6e; % right stem
+if serifs: numeric inner_jut;
+ inner_jut:=.5(x5l-x1r);
+ pos2(thin_stem,-90); pos3(thin_stem,-180);
+ pos4(1.2flare,-180);
+ bot y2r=-o; x2=.38[x4,x1]; y4=.15h; rt x4l=hround 2.5u; z4r=z3r;
+ bulb(2,3,4); % bulb
+ filldraw stroke z2e{right}...{up}z12e--z1e; % left stem and arc
+ nodish_serif(1,12,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(5,6,g,1/3,inner_jut,h,1/3,cap_jut); % upper right serif
+ dish_serif(6,5,e,1/3,cap_jut,f,1/3,cap_jut); % lower right serif
+else: pos1'(slab,90); pos5'(slab,90);
+ pos2(cap_hair,-90); pos3(cap_hair,-90);
+ x2=.5u; x3=x2+u; bot y2r=0; bot y3r=-o;
+ lft x1'=lft x1l; rt x5'=rt x5r; top y1'r=top y5'r=h;
+ filldraw stroke z1'e--z5'e; % upper bar
+ filldraw stroke z2e...z3e{right}...{up}z12e--z1e; % stem and arc
+fi
+math_fit(0,.5ic#-.5u#);
+penlabels(1,1',2,3,4,5,5',6,7); endchar;
+
+cmchar "The cyrillic letter EM";
+beginchar(CYR_EM,16u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric stem[]; % thicknesses of the four strokes
+stem1=hround(fudged.hair+stem_corr);
+stem2=hround(fudged.cap_stem-4stem_corr);
+stem3=hround(fudged.hair-stem_corr);
+stem4=hround(fudged.cap_stem-3stem_corr);
+if stem4<stem1: stem4:=stem1; fi
+pickup tiny.nib; pos1(stem1,0); pos2(stem1,0);
+pos3(stem4,0); pos4(stem4,0);
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround min(w-2u,w-3u+.5stem4);
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(stem2,0); penpos6(stem2,0); penpos7(stem3,0); penpos8(stem3,0);
+x5l=x1; x6l=x7l; x8=lft x3l; x6-x5=x8-x7; y5=y8=h; y6=y7;
+if hefty: y6=if monospace: vround 1/3h else: o fi;
+ numeric upper_notch,lower_notch;
+ upper_notch=h-cap_notch_cut; lower_notch=y6+cap_notch_cut;
+ x1'=rt x1r; z1'=whatever[z5l,z6l]; x3'=lft x3l; z3'=whatever[z7r,z8r];
+ z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..
+ if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ if y3'<upper_notch: ...{up}(x3'-1,upper_notch){right} fi
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}
+ if y0<=lower_notch: ..{z7-z8}z0{z5-z6}..
+ else: ...{down}(x0+.5,lower_notch)--(x0-.5,lower_notch){up}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonals
+else: y6=0; z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..{z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}..{z7-z8}z0{z5-z6}
+ ..{z5-z6}diag_in(6r,5r,1,5l)--cycle; fi % diagonals
+if serifs: serif(1,2,a,1/3,-cap_jut); % upper left serif
+ dish_serif(2,1,b,1/2,cap_jut,c,1/2,cap_jut)(dark); % lower left serif
+ serif(3,4,d,1/3,cap_jut); % upper right serif
+ dish_serif(4,3,e,1/3,cap_jut,f,1/3,cap_jut); fi % lower right serif
+math_fit(0,max(.5ic#-.5u#,0));
+penlabels(0,1,1',2,3,3',4,5,6,7,8); endchar;
+
+
+cmchar "The cyrillic letter EN";
+beginchar(CYR_EN,13u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(cap_bar,90); penpos6(cap_bar,90);
+x5=x1; x6=x3; y5=y6=.52h;
+fill stroke z5e--z6e; % bar
+if serifs:
+ numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); fi % lower left serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter O";
+beginchar(CYR_O,14u#-width_adj#,cap_height#,0);
+italcorr .7cap_height#*slant-.5u#;
+adjust_fit(0,0);
+penpos1(vair',90); penpos3(vround(vair+1.5vair_corr),-90);
+penpos2(cap_curve,180); penpos4(cap_curve,0);
+if monospace: x2r=hround 1.5u;
+ interim superness:=sqrt superness; % make |"O"|, not |"0"|
+else: x2r=hround u; fi
+x4r=w-x2r; x1=x3=.5w; y1r=h+o; y3r=-o;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_super_arc.e(1,2)(.5superpull)
+ & pulled_super_arc.e(2,3)(.5superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ & pulled_super_arc.e(4,1)(.5superpull) & cycle; % bowl
+math_fit(-.3cap_height#*slant-.5u#,ic#-.5u#); penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter PE";
+beginchar(CYR_PE,13u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % lower left serif
+ inner_jut:=inner_jut+2u;
+ nodish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
+else: pos5(slab,90); pos6(slab,90);
+ lft x5=x1l; rt x6=x3r; y5r=y6r=y3;
+ filldraw stroke z5e--z6e; fi % upper bar
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter ER";
+beginchar(CYR_ER,12u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+pickup tiny.nib; penpos1(cap_stem'-tiny,0); penpos2(cap_stem-tiny,0);
+pos0(cap_stem',0); pos0'(cap_stem,0);
+lft x1l=hround max(2u,3u-.5cap_stem'); top y1=h; bot y2=0;
+x1l=x2l=x0l=x0'l; y0=y0'=y7;
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(cap_curve if hefty:-3stem_corr fi,0);
+penpos6(.5[vair,cap_band],-90); penpos7(.5[vair,cap_band],-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7;
+x7=x2; y7l=vround .5h; x4=x6=.5w+.75u; x5r=hround(w-u);
+x4l:=x6l:=x4-.25cap_curve;
+filldraw stroke z1e--z0e--z0'e--z2e; % stem
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+if serifs: nodish_serif(1,0,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ dish_serif(2,0',c,1/3,cap_jut,d,1/3,cap_jut); fi % lower serif
+math_fit(0,ic#-2.5u#); penlabels(0,1,2,3,4,5,6,7); endchar;
+
+cmchar "The cyrillic letter ES";
+if serifs: beginchar(CYR_ES,13u#,cap_height#,0);
+ italcorr cap_height#*slant-.5u#;
+ adjust_fit(0,0);
+ pickup fine.nib; pos1(cap_hair,0); pos2(cap_band,90);
+ pos3(cap_curve,180); pos4(cap_band,270); pos5(hair,360);
+ rt x1r=rt x5r=hround(w-u); lft x3r=hround u; x2=x4=.55[x3,x1];
+ top y2r=h+o; bot y4r=-o; y3=.5[y2,y4];
+ bot y1=min(vround max(.6h,x_height-.5vair),bot y2l-eps);
+ y5=max(good.y .95(h-y1),y4l+eps);
+ (x2l',y2l)=whatever[z2r,z1l]; x2l:=min(x2l',x2l+.5u);
+ (x4l',y4l)=whatever[z4r,z5l]; x4l:=min(x4l',x4l+.5u);
+ filldraw stroke z1e{x2-x1,10(y2-y1)}
+ ...pulled_arc.e(2,3) & pulled_arc.e(3,4)...{up}z5e; % arc
+ pos6(.3[fine.breadth,cap_hair],0); x6r=x1r; top y6=h+o;
+ x1r-x1'=2cap_curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x2-x1,10(y2-y1)}..z2{left};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: beginchar(CYR_ES,11.5u#,cap_height#,0);
+ italcorr cap_height#*slant-.5u#;
+ adjust_fit(0,0);
+ pickup fine.nib; pos1(1.2flare,80); pos2(slab,90);
+ pos3(cap_curve,180); pos4(slab,270); pos5(flare,275);
+ rt x1r=hround(w-1.1u); x2=x4=.5w+1.25u;
+ lft x3r=hround max(u,2u-.5cap_curve); rt x5r=hround(w-.9u);
+ top y1r=vround .95h+o; top y2r=h+o; y3=.5h;
+ bot y4r=-o; bot y5r=vround .08h-o; y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke rterm.e(2,1,right,.9,4) & super_arc.e(2,3)
+ & super_arc.e(3,4) & term.e(4,5,right,.8,4); fi % arc and terminals
+math_fit(-.3cap_height#*slant-.5u#,.5ic#);
+penlabels(1,1',2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter TE";
+beginchar(CYR_TE,13u#-width_adj#,cap_height#,0);
+italcorr cap_height#*slant-beak_jut#-.25u#;
+adjust_fit(0,0);
+h:=vround(h-2stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.65u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak
+pos5(hair,180); x5=w-x4; y5=y4;
+arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak
+if serifs: dish_serif(2,1,c,1/3,1.414cap_jut,d,1/3,1.414cap_jut); % lower serif
+ nodish_serif(1,2,a,1/3,.5cap_jut,b,1/3,.5cap_jut); fi % upper bracketing
+math_fit(-.75cap_height#*slant,ic#-2.5u#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter U";
+beginchar(CYR_U,13u#,cap_height#,0);
+italcorr cap_height#*slant+.25u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric left_stem,right_stem,bot_stem,bot_vair,outer_jut;
+left_stem=fudged.cap_stem-stem_corr;
+right_stem=fudged.hair if hefty:-2stem_corr fi;
+bot_stem=fudged.hair if hefty:-8stem_corr fi;
+bot_vair=Vround(if serifs: vair else: .5[vair,bot_stem] fi);
+outer_jut=.75cap_jut;
+x1l=w-x4r=l+letter_fit+outer_jut+.25u; y1=y4r=h; y2=y3=3.5u; x2l=x3l;
+numeric alpha,alpha[]; x9=5u; y9=bot_vair-o;
+alpha1=diag_ratio(2,bot_stem,y1-y3,x4r-x1l-apex_corr);
+alpha2=diag_ratio(1,bot_stem,y1-y9,x4r-x9);
+if alpha1<alpha2: x2l-x1l=x4r-x3r+apex_corr; alpha=alpha1;
+else: alpha=alpha2; z3l=whatever[z9,z4r-(alpha*bot_stem,0)]; fi
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+alpha3=(y1++(x2l-x1l))/y1;
+penpos1(alpha3*left_stem,0); penpos2(alpha3*left_stem,0);
+z0=whatever[z1r,z2r]=z4l+whatever*(z3r-z4r);
+fill z0+.5right{up}...{z4r-z3r}diag_end(0,4l,1,1,4r,3r)
+ --z3r--z2l--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % left and right diagonals
+penpos5(alpha*right_stem,0); z5r=whatever[z3r,z4r]; y5=.5[y3,y9];
+if serifs: numeric light_bulb;
+ light_bulb=hround 7/8[cap_hair,flare]; clearpen;
+ penpos6(vair,-90); penpos7(cap_hair,-180); penpos8(light_bulb,-180);
+ x6=4u; y6r=-o; y8+.5light_bulb=3u; x8r=hround 1.5u;
+ fill stroke z3e---z5e...{left}z6e; bulb(6,7,8); % arc and bulb
+ numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % right serif
+else: penpos6(right_stem,-90); x6=4.75u; y6r=-o;
+ fill stroke z3e---z5e...{left}z6e; % arc
+ pickup fine.nib; pos6'(right_stem,-90); z6'=z6;
+ pos7(2/3[bot_stem,flare],-85);
+ lft x7l=hround 3.5u; bot y7r=.02h-o; y7l:=good.y y7l;
+ filldraw stroke term.e(6',7,left,1,4); fi % arc and terminal
+math_fit(0,.5ic#); penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter EF";
+beginchar(CYR_EF,14u#-width_adj#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+pickup tiny.nib; penpos1(cap_stem'-tiny,0); penpos2(cap_stem-tiny,0);
+x1=x2=.5w; top y1=h; bot y2=0;
+penpos3(cap_band,90); penpos4(cap_band,90); penpos5(curve,0);
+penpos6(.5[vair,cap_band],-90); penpos7(.5[vair,cap_band],-90);
+penpos8(cap_band,90); penpos9(curve,180);
+penpos10(.5[vair,cap_band],270);
+x3=x1; y3=y4=y8=vround .8h; y5=y9=.5[y4l,y6l];
+x7=x2; y7=vround .2h; x4r=x6r=w-x8r=w-x10r=.5w+1.75u;
+x5r=w-x9r=hround(w-.5u); y6=y10=y7;
+filldraw stroke z1e--z2e; % stem
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e;
+fill stroke z3e..pulled_arc.e(8,9) & pulled_arc.e(9,10)..z7e; % lobe
+if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper serif
+dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); fi % lower serif
+math_fit(0,ic#-2.5u#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "The cyrillic letter HA";
+beginchar(CYR_HA,13u#,cap_height#,0);
+italcorr cap_height#*slant-.25u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric stem[],outer_jut,xjut,alpha[];
+stem1=cap_stem-2stem_corr; stem2=min(cap_hair,stem1);
+outer_jut=.75cap_jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi;
+x1l=l+letter_fit+.5u+outer_jut; x2r=r-letter_fit-u-outer_jut-xjut;
+x3l=l+letter_fit+.25u+outer_jut+xjut; x4r=r-letter_fit-.25u-outer_jut;
+y1=y2=h; y3=y4=0;
+alpha1=diag_ratio(1,stem1,h,x4r-x1l);
+alpha2=diag_ratio(1,stem2,h,x2r-x3l);
+penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0);
+penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0);
+if hefty: z0=whatever[z1,z4]=whatever[z2,z3];
+ x12=x34=x0; y13=y24=y0;
+ z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l];
+ z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r];
+ forsuffixes $=13,24,34: z$'=.1[z$,z0]; endfor
+ fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34'
+ --diag_end(34',4l,.5,1,4r,24')--z24'
+ --diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals
+else: fill diag_end(4r,1r,.5,1,1l,4l)
+ --diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal
+ fill diag_end(2l,3l,.5,1,3r,2r)
+ --diag_end(3r,2r,.5,1,2l,3l)--cycle; fi % right diagonal
+if serifs: numeric inner_jut[]; pickup tiny.nib;
+ prime_points_inside(1,4); prime_points_inside(2,3);
+ prime_points_inside(3,2); prime_points_inside(4,1);
+ if rt x1'r+cap_jut+.5u+1<=lft x2'l-cap_jut-xjut: inner_jut1=cap_jut;
+ else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi
+ if rt x3'r+cap_jut+.5u+1<=lft x4'l-cap_jut-xjut: inner_jut2=cap_jut;
+ else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi
+ dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif
+ dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif
+ dish_serif(2',3,e,2/3,inner_jut1+xjut,
+ f,1/2,outer_jut+xjut)(dark); % upper right serif
+ dish_serif(3',2,g,1/2,outer_jut+xjut,
+ h,2/3,inner_jut2+xjut)(dark); fi % lower left serif
+math_fit(0,.5ic#); penlabels(0,1,2,3,4,12,13,24,34); endchar;
+
+cmchar "The cyrillic letter TSE";
+beginchar(CYR_TSE,13u#+width_adj#,cap_height#,comma_depth#);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,c,1/3, cap_jut,d,1/3,inner_jut); % lower left serif
+ nodish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % lower right serif
+ pickup crisp.nib; pos5(slab,90); pos6(hair,0);
+ x5=.5[x2,x4]; bot y5l=0;
+ rt x6r=tiny.rt x4r+cap_jut; y6=good.y(y5l-.75beak)-eps;
+ arm(5,6,m,1.25beak_darkness,0); % beak
+else: pos2'(slab,90); pos4'(slab,90);
+ pos5(stem,0); pos6(stem,0);
+ lft x2'=lft x2l; rt x4'=rt x5r=rt x6r=w-.5u;
+ bot y2'l=bot y4'l=0; y5=y4; bot y6=-.8d;
+ filldraw stroke z2'e--z4'e; % lower bar
+ filldraw stroke z5e--z6e; % right beak
+fi
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter CHE";
+beginchar(CYR_CHE,13u#,cap_height#,0); % [AS]
+italcorr cap_height#*slant-serif_fit#+.5cap_stem#-2u#;
+adjust_fit(cap_serif_fit#+stem_shift#,cap_serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=hround(2.5u-.5cap_stem); x1=x2; x3l=w-x1r; x3r=x4r;
+top y1=h; bot y4=0;
+penpos2'(cap_stem-fine,-180); z2'=z2; y3=y1; y2=.65h;
+if monospace: penpos5(.5vair,-90); penpos6(.5vair,-90);
+else: penpos5(vair,-90); penpos6(vair,-25); fi
+y6=.52h; lft x6l=lft x3l;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+pickup fine.nib; bot y5r=y6-vair-.1h; x5=.5w;
+filldraw stroke {{interim superness:=hein_super;
+ pulled_super_arc.e(2',5)(.01superpull)}}
+ & z5e{right}...z6e; % arc
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ dish_serif(4,3,g,1/3,jut,h,1/3,jut); fi % lower right serif
+penlabels(1,2,2',3,4,5,6); endchar;
+
+cmchar "The cyrillic letter SHA";
+beginchar(CYR_SHA,18u#,cap_height#,0);
+italcorr cap_height#*slant-.25u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+pos3(cap_stem',0); pos4(cap_stem',0);
+pos5(cap_stem',0); pos6(cap_stem',0);
+if odd(w-cap_stem'): change_width; fi
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem);
+x3=x4=.5w; x5=x6=w-x1;
+top y1=top y5=top y3=h; bot y2=bot y6=bot y4=0;
+filldraw stroke z1e--z2e; % right stem
+filldraw stroke z3e--z4e; % middle stem
+filldraw stroke z5e--z6e; % left stem
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,c,1/3,inner_jut,d,1/3,inner_jut); % upper middle serif
+ dish_serif(5,6,e,1/3,inner_jut,f,1/3, cap_jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,g,1/3,cap_jut,h,1/3,inner_jut); % lower left serif
+ nodish_serif(4,3,i,1/3,inner_jut,j,1/3,inner_jut); % lower middle serif
+ nodish_serif(6,5,k,1/3,inner_jut,l,1/3,cap_jut); % lower right serif
+else: pos2'(slab,90); pos6'(slab,90);
+ lft x2'=lft x1l; rt x6'=rt x6r; bot y2'l=bot y6'l=0;
+ filldraw stroke z2'e--z6'e; % lower bar
+fi
+math_fit(0,.5ic#); penlabels(1,2,2',3,4,5,6,6'); endchar;
+
+cmchar "The cyrillic letter SHCHA";
+beginchar(CYR_SHCHA,18u#,cap_height#,comma_depth#);
+italcorr cap_height#*slant-.25u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+pos3(cap_stem',0); pos4(cap_stem',0);
+pos5(cap_stem',0); pos6(cap_stem',0);
+if odd(w-cap_stem'): change_width; fi
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem);
+x3=x4=.5w; x5=x6=w-x1;
+top y1=top y5=top y3=h; bot y2=bot y6=bot y4=0;
+filldraw stroke z1e--z2e; % right stem
+filldraw stroke z3e--z4e; % middle stem
+filldraw stroke z5e--z6e; % left stem
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,c,1/3,inner_jut,d,1/3,inner_jut); % upper middle serif
+ dish_serif(5,6,e,1/3,inner_jut,f,1/3, cap_jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,g,1/3, cap_jut,h,1/3, inner_jut); % lower left serif
+ nodish_serif(4,3,i,1/3,inner_jut, j,1/3,inner_jut); % lower middle serif
+ nodish_serif(6,5,k,1/3,inner_jut, l,1/3, cap_jut); % lower right serif
+ pickup crisp.nib; pos7(slab,90); pos8(hair,0);
+ x7=.5[x4,x6]; bot y7l=0;
+ rt x8r=tiny.rt x6r+cap_jut; y8=good.y(y7l-.75beak)-eps;
+ arm(7,8,m,1.25beak_darkness,0); % beak
+else: pos2'(slab,90); pos6'(slab,90);
+ pos7(stem,0); pos8(stem,0);
+ lft x2'=lft x1l; rt x6'=rt x7r=rt x8r=w-.5u;
+ bot y2'l=bot y6'l=0; y7=y6; bot y8=-.8d;
+ filldraw stroke z2'e--z6'e; % lower bar
+ filldraw stroke z7e--z8e; % right beak
+fi
+math_fit(0,.5ic#); penlabels(1,2,2',3,4,5,6,6',7,8); endchar;
+
+cmchar "The cyrillic letter HARD_SIGN";
+beginchar(CYR_HARD_SIGN,16u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(5.5u,6.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x8=x6; x5=x1; x6l:=x6-.25u; x7r=hround(w-u); x8l:=x8l-.5u;
+if serifs: right_curve=cap_curve-stem_corr; x6=.5[x1,w-1.8u];
+else: right_curve=cap_curve-3stem_corr; x6=.5[x1,w-1.5u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+pickup crisp.nib; pos3(slab,90); pos4(cap_hair,180);
+top y3r=h; x3=x1; lft x4r=hround(.5u); y4=good.y(y3l-.75beak)-eps;
+arm(3,4,e,beak_darkness,-.7beak_jut); % upper arm and beak
+if serifs: nodish_serif(1,2,a,0,cap_jut,b,1/3,cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter YERU";
+beginchar(CYR_YERU,17.5u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+pos3(cap_stem,0); pos4(cap_stem,0);
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+x3=x4=w-x1; top y3=h; bot y4=0;
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x8l:=x8l-.5u;
+rt x7r=if serifs: tiny.lft x3l-cap_jut; else: 11.5u; fi
+if serifs: right_curve=cap_curve-stem_corr; x6=.5[x1,w-6.8u];
+else: right_curve=cap_curve-3stem_corr; x6=.5[x1,w-7.5u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+filldraw stroke z3e--z4e; % right stem
+if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper left serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); % lower left serif
+ dish_serif(3,4,e,1/3,1.05cap_jut,f,1/3,1.05cap_jut); % upper right serif
+ dish_serif(4,3,g,1/3,1.05cap_jut,h,1/3,1.05cap_jut); fi % lower right serif
+labels(1,2,3,4,5,6,7,8,9);
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter SOFT_SIGN";
+beginchar(CYR_SOFT_SIGN,12.5u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x7r=hround(w-u); x8l:=x8l-.5u;
+if serifs: right_curve=cap_curve-stem_corr; x6=.5[x1,w-1.8u];
+else: right_curve=cap_curve-3stem_corr; x6=.5[x1,w-1.5u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter E";
+if serifs: beginchar(CYR_E,13u#,cap_height#,0);
+ italcorr cap_height#*slant-.5u#;
+ adjust_fit(0,0);
+ pickup fine.nib; pos1(cap_hair,180); pos2(cap_band,90);
+ pos3(cap_curve,0); pos4(cap_band,270); pos5(hair,180);
+ lft x1r=lft x5r=hround u; rt x3r=hround (w-u); x2=x4=.55[x3,x1];
+ top y2r=h+o; bot y4r=-o; y3=.5[y2,y4];
+ bot y1=min(vround max(.6h,x_height-.5vair),bot y2l-eps);
+ y5=max(good.y .95(h-y1),y4l+eps);
+ (x2l',y2l)=whatever[z2r,z1l]; x2l:=max(x2l',x2l-.5u);
+ (x4l',y4l)=whatever[z4r,z5l]; x4l:=max(x4l',x4l-.5u);
+ filldraw stroke z1e{x2-x1,10(y2-y1)}
+ ...pulled_arc.e(2,3) & pulled_arc.e(3,4)...{up}z5e; % arc
+ pos6(.3[fine.breadth,cap_hair],180); x6r=x1r; top y6=h+o;
+ x1'-x1r=2cap_curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x2-x1,10(y2-y1)}..z2{right};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: beginchar(CYR_E,11.5u#,cap_height#,0);
+ italcorr cap_height#*slant-.5u#;
+ adjust_fit(0,0);
+ pickup fine.nib; pos1(1.2flare,110); pos2(slab,90);
+ pos3(cap_curve,0); pos4(slab,270); pos5(flare,265);
+ lft x1r=hround 1.1u; x2=x4=.5w-1.25u;
+ rt x3r=w-hround max(u,2u-.5cap_curve); lft x5r=hround .9u;
+ top y1r=vround .95h+o; top y2r=h+o; y3=.5h;
+ bot y4r=-o; bot y5r=vround .08h-o; y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke rterm.e(2,1,left,.9,4) & super_arc.e(2,3)
+ & super_arc.e(3,4) & term.e(4,5,left,.8,4); fi % arc and terminals
+penpos7(cap_bar,90); penpos8(cap_bar,90);
+x7=lft x3l; x8=.5w-1.5u;
+%if serifs: y7l=y8l else:
+y7=y8=.5h;
+fill stroke z7e--z8e; % bar
+math_fit(-.3cap_height#*slant-.5u#,.5ic#);
+penlabels(1,1',2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter YU";
+beginchar(CYR_YU,20u#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+penpos5(vair',90); penpos7(vround(vair+1.5vair_corr),-90);
+penpos6(cap_curve,180); penpos8(cap_curve,0);
+if monospace: x8r=hround(w-1.5u); x6r=hround(w-12.5u);
+ interim superness:=sqrt superness; % make |"O"|, not |"0"|
+else: x8r=hround(w-u); x6r=hround(w-13u); fi
+x5=x7=.5[x8,x6]; y5r=h+o; y7r=-o; y6=y8=.5h-vair_corr; y6l:=y8l:=.52h;
+penstroke pulled_super_arc.e(5,6)(.5superpull)
+ & pulled_super_arc.e(6,7)(.5superpull)
+ & pulled_super_arc.e(7,8)(.5superpull)
+ & pulled_super_arc.e(8,5)(.5superpull) & cycle; % bowl
+penpos3(cap_bar,90); penpos4(cap_bar,90);
+x3=x1; x4=x6; y3=y4=.52h;
+fill stroke z3e--z4e; % bar
+if serifs: numeric inner_jut; inner_jut=cap_jut;
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); fi % lower left serif
+math_fit(-.3cap_height#*slant-.5u#,ic#-.5u#);
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter YA";
+beginchar(CYR_YA,12u#+.5max(2u#,cap_curve#),cap_height#,0);
+italcorr .75cap_height#*slant- if serifs: 1.75 else: .5 fi\\ u#;
+adjust_fit(0,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+rt x1r=rt x2r=w-hround(3u-.5cap_stem'); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(cap_curve if hefty:-3stem_corr fi,180);
+penpos6(vair,-90); penpos7(vair,-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7; x7=x2; y7=.5h; x4=x6;
+if serifs: x4=.5w+.5u; x5r=hround(1.5u);
+else: x4=.5w-.5u; x5r=hround u; fi
+x4l:=x6l:=x4+.125cap_curve;
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+pos6'(cap_curve,0); x6'r=x6l+.5u; y6'=y6;
+pos8(cap_curve,0); tiny.lft x8l=.5u+.5cap_jut; bot y8=0;
+filldraw stroke z6'e--z8e; % diagonal stem
+if serifs:
+ nodish_serif(1,2,a,1/3,.5cap_jut,b,1/3,cap_jut); % upper serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower serif
+ serif(8,6',e,1/3,-.5cap_jut); fi % lower diagonal serif
+math_fit(0,.75ic#); penlabels(1,2,3,4,5,6,7,8); endchar;
+
diff --git a/fonts/cyrillic/cmcyr/mf/cytextit.mf b/fonts/cyrillic/cmcyr/mf/cytextit.mf
new file mode 100644
index 0000000000..bf0f130236
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cytextit.mf
@@ -0,0 +1,29 @@
+% The Computer Modern Cyrillic Text Italic family
+
+let cmchar=message; % `|cmchar|' should precede each character
+
+mode_setup; font_setup;
+input coding;
+font_coding_scheme:="TeX text";
+
+font_slant slant; font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+ letter_fit#:=letter_fit:=0;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#; fi
+
+input cyru; % upper case (majuscules)
+input citall; % lower case (minuscules)
+input cyrsymb; % three additional char
+%if ligs>0: input comlig; fi % ligatures common with roman text
+%if ligs<=1: input romsub; fi % substitutes for ligatures
+
+
+if not monospace:
+ k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
+fi
+bye.
diff --git a/fonts/cyrillic/cmcyr/mf/cytitle.mf b/fonts/cyrillic/cmcyr/mf/cytitle.mf
new file mode 100644
index 0000000000..8cbe730544
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/mf/cytitle.mf
@@ -0,0 +1,280 @@
+% The Computer Modern Cyrillic family of fonts (by N.Glonti)
+
+let cmchar=message; % `|cmchar|' should precede each character
+
+font_coding_scheme:="TeX text";
+input coding;
+
+mode_setup; font_setup;
+
+%input romand; % numerals
+%input romanp; % ampersand, question marks, currency sign
+%input punct; % punctuation symbols common to roman and italic text
+%input ruslig; % simple ligatures
+
+input cyru; % upper case (majuscules)
+input cyrt; % lower case (minuscules)
+%input cyrsymb; % number mark, cyrillic quotes
+
+font_slant slant;
+font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#;
+
+
+% k#:=.5u#; kk#:=.75u#; kkk#:=1.5u#; kkkk#:=-2u#;
+
+ k#:=.25u#; kk#:=.5u#; kkk#:=0.75u#; kkkk#:=-1.25
+u#;
+
+%k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
+%k#:=2u#; kk#:=u#; kkk#:=3u#; kkkk#:=-5u#;
+ ligtable CYR_a: % a
+ CYR_ya kern -kk#, % ya
+ CYR_u kern -kk#, % u
+ CYR_de kern k#, % d
+ CYR_che kern -kk#; % ch
+
+ ligtable CYR_be: % b
+ CYR_ve kern -k#, % ve
+ CYR_ghe kern -k#, % ghe
+ CYR_ie kern k#, % e
+ CYR_zhe kern -k#, % zhe
+ CYR_i kern -k#, % i
+ CYR_ka kern -k#, % ka
+ CYR_em kern -k#, % em
+ CYR_en kern -k#, % en
+ CYR_pe kern -k#, % pe
+ CYR_er kern -k#, % er
+% CYR_ef kern -k#, % (was -kk# AS) f
+ CYR_ha kern -k#, % x
+% CYR_o kern -k#, % o (-kkkk -> -kkk AS)
+ CYR_es kern -k#, % s (-kkkk -> -kkk AS)
+ CYR_u kern -k#, % u
+ CYR_soft_sign kern -k#, % soft_sign
+ CYR_yeru kern -k#, % yeru
+ CYR_shcha kern -k#, % shcha
+ CYR_tse kern -k#; % tse
+
+ ligtable CYR_tse: CYR_sha: CYR_shcha:
+ CYR_en: CYR_em: CYR_pe:
+ CYR_be kern -k#, % be
+ CYR_o kern -k#, % o
+ CYR_ie kern -k#, % es
+ CYR_ef kern -k#, % ef
+ CYR_es kern -k#, % ie
+ CYR_de kern k#; % d
+
+ ligtable CYR_de: % d
+ CYR_be kern -kkk#, % be
+ CYR_o kern -kkk#, % o
+ CYR_ie kern -kkk#, % es
+ CYR_ef kern -kk#, % ef
+ CYR_es kern -kkk#, % ie
+ CYR_de kern kk#; % d
+
+ ligtable CYR_ie: % e
+ CYR_be kern kkk#, % b
+ CYR_de kern -kk#, % d
+% CYR_ie kern -k#, % e
+ CYR_zhe kern -kk#, % e
+% CYR_ef kern -k#, % f
+ CYR_ha kern -kk#, % x
+% CYR_o kern -k#, % o
+% CYR_es kern -k#, % s
+% CYR_te kern -k#, % t
+ CYR_u kern -k#; % u
+
+ ligtable CYR_ef: % f
+ CYR_ie kern k#, % e
+ CYR_ha kern -kk#, % x
+ CYR_i kern -kk#, % i
+ CYR_en kern -k#, %
+ CYR_pe kern -k#, %
+ CYR_er kern -k#, %
+ CYR_o kern k#, % o
+ CYR_es kern k#, % s
+ CYR_te kern -k#; % t
+
+ ligtable CYR_ghe: % g
+ CYR_be kern -k#, % b
+ CYR_ie kern -kkk#, % e
+ CYR_o kern -kkk#, % o
+ CYR_es kern -kkk#; % s
+
+ ligtable CYR_ha: % kh
+ CYR_ie kern -kk#, % e
+ CYR_o kern -kk#, % o
+ CYR_ef kern -kk#, %
+ CYR_es kern -kk#; % s
+
+ ligtable CYR_ka: % k
+ CYR_ie kern -kk#, % e
+ CYR_ef kern -kk#, % f
+ CYR_o kern -kk#, % o
+ CYR_es kern -kk#, % s
+ CYR_u kern -k#; % u
+
+ ligtable CYR_el: % l
+ CYR_ie kern -kk#, % e
+ CYR_ef kern -kk#, % f
+ CYR_o kern -kk#, % o
+ CYR_es kern -kk#; % s
+
+ ligtable CYR_o: % o
+% CYR_be kern -k#, % b (was kkkk AS)
+ CYR_ve kern -kk#, % ve
+ CYR_de kern -kkk#, % de
+% CYR_ie kern -k#, % e (was kkkk AS)
+ CYR_ha kern -kk#, % x
+% CYR_o kern -k#, % o (was kkkk AS)
+% CYR_es kern -kk#, % s (was kkkk AS)
+ CYR_em kern -kk#, %
+ CYR_en kern -kk#, %
+ CYR_pe kern -kk#, %
+ CYR_i kern -kk#, %
+ CYR_short_i kern -kk#, %
+ CYR_ka kern -kk#, %
+ CYR_er kern -kk#, %
+ CYR_sha kern -kk#, %
+ CYR_shcha kern -kk#, %
+ CYR_che kern -kkk#, %
+ CYR_zhe kern -kk#; % zh
+
+ ligtable CYR_er: % p
+% CYR_be kern -k#, % b (kkkk -> -kkk AS)
+% CYR_ie kern -k#, % e(kkkk -> -kkk AS)
+ CYR_ha kern -kk#, % x
+% CYR_o kern -k#, % o (kkkk -> -kkk AS)
+% CYR_es kern -kk#, % s (kkkk -> -kkk AS)
+ CYR_te kern -k#; % t
+
+%ligtable CYR_es: % s
+% CYR_be kern -k#, % b
+% CYR_ie kern -k#, % e
+% CYR_ef kern -k#, % f
+% CYR_o kern -k#, % o
+% CYR_es kern -k#; % s
+ ligtable CYR_te: % t
+ CYR_en kern -k#, %
+ CYR_es kern -k#, %
+ CYR_ie kern -k#, % e
+ CYR_o kern -k#; % o
+ ligtable CYR_u: % u
+ CYR_de kern -k#, % d
+ CYR_el kern -kk#, %
+ CYR_a kern -k#; % s
+ ligtable CYR_zhe: % zh
+ CYR_be kern -kk#, % b
+ CYR_ie kern -kk#, %
+ CYR_ef kern -kk#, %
+ CYR_o kern -kk#, % o
+ CYR_es kern -kk#; % s
+
+ ligtable CYR_ve: % w
+ CYR_te kern -k#; % d
+
+%ligtable CYR_ze: % z
+% CYR_be kern -k#, % b
+% CYR_ie kern -k#, % e
+% CYR_o kern -k#, % o
+% CYR_es kern -k#; % s
+
+ ligtable CYR_A: % A
+ CYR_u kern -kk#, %
+ CYR_CHE kern -kkk#; % ch
+
+ ligtable CYR_BE: % B
+ CYR_O kern -k#, % o
+ CYR_ES kern -k#, % s
+ CYR_U kern -kk#; % u
+
+ ligtable CYR_GHE: CYR_U: % G U
+ CYR_A kern -kk#, % a
+% CYR_ve kern -kk#, % w
+% CYR_GHE kern -kk#, % g
+ CYR_DE kern -kk#, % d
+% CYR_IE kern -kk#, % e
+ CYR_EF kern -kk#, % f
+ CYR_HA kern -kk#, % kh
+% CYR_I kern -kk#, % i
+% CYR_SHORT_I kern -kk#, % j
+% CYR_KA kern -kk#, % k
+ CYR_EL kern -kk#, % l
+% CYR_EM kern -kk#, % m
+% CYR_EN kern -kk#, % n
+% CYR_O kern -kk#, % o
+% CYR_PE kern -kk#, % p
+ CYR_YA kern -kk#, % ya
+% CYR_ER kern -kk#, % r
+ CYR_ES kern -kk#, % s
+ CYR_TE kern -kk#, % t
+ CYR_U kern -kk#; % u
+% CYR_VE kern -kk#, % w
+% CYR_SOFT_SIGN kern -kk#, % '
+% CYR_YERU kern -kk#, % y
+% CYR_ZE kern -kk#, % z
+% CYR_SHA kern -kk#, % sh
+% CYR_SHCHA kern -kk#, % shch
+% CYR_CHE kern -kk#; % ch
+% CYR_HARD_SIGN kern -k#; % ''
+
+ ligtable CYR_O: CYR_ES: CYR_EF:
+ CYR_de kern -kkk#, %
+ CYR_A kern -kkk#, %
+ CYR_VE kern -kkk#, %
+ CYR_GHE kern -kkk#, %
+ CYR_ER kern -kkk#, %
+ CYR_PE kern -kkk#, %
+ CYR_EN kern -kkk#, %
+ CYR_E kern -kkk#, %
+ CYR_HA kern -kkk#, %
+ CYR_I kern -kkk#, %
+ CYR_KA kern -kkk#, %
+ CYR_EM kern -kkk#, %
+ CYR_SHA kern -kkk#, %
+ CYR_SHCHA kern -kkk#, %
+ CYR_SHORT_I kern -kkk#; % j
+
+ ligtable CYR_EN: CYR_EM: CYR_ER: CYR_PE:
+ CYR_ZHE: CYR_KA: CYR_DE: CYR_HA:
+ CYR_O kern -kkk#, %
+ CYR_ES kern -kkk#, %
+ CYR_EF kern -kkk#; %
+
+ ligtable CYR_TE: % T
+ CYR_A kern -kkk#, % a
+% CYR_VE kern -kkk#, % w
+% CYR_GHE kern -kkk#, % g
+ CYR_DE kern -kkk#, % d
+ CYR_IE kern -kkk#, % e
+ CYR_EF kern -kkk#, % f
+ CYR_HA kern -kkk#, % kh
+ CYR_I kern -kkk#, % i
+ CYR_SHORT_I kern -kkk#, % j
+ CYR_KA kern -kkk#, % k
+ CYR_EL kern -kkk#, % l
+% CYR_EM kern -kkk#, % m
+% CYR_EN kern -kkk#, % n
+ CYR_O kern -kkk#, % o
+% CYR_PE kern -kkk#, % p
+ CYR_YA kern -kkk#, % ya
+% CYR_ER kern -kkk#, % r
+ CYR_ES kern -kkk#, % s
+ CYR_TE kern -kkk#, % t
+ CYR_U kern -kkk#, % u
+% CYR_VE kern -kkk#, %
+% CYR_SOFT_SIGN kern -kkk#, %
+% CYR_YERU kern -kkk#, % y
+ CYR_ZE kern -kkk#; % z
+% CYR_SHA kern -kk#, % sh
+% CYR_SHCHA kern -kk#, % shch
+% CYR_CHE kern -kk#, % ch
+% CYR_HARD_SIGN kern -kk#; %
+fi;
+bye.
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcb10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcb10.tfm
new file mode 100644
index 0000000000..c463b66485
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcb10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx10.tfm
new file mode 100644
index 0000000000..d8e3f9a962
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx12.tfm
new file mode 100644
index 0000000000..f4cc67d58a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx5.tfm
new file mode 100644
index 0000000000..fa6cec26a3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx6.tfm
new file mode 100644
index 0000000000..3471c35767
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx7.tfm
new file mode 100644
index 0000000000..75e87bb984
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx8.tfm
new file mode 100644
index 0000000000..587884199f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx9.tfm
new file mode 100644
index 0000000000..27b03e1f38
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbx9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbxsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbxsl10.tfm
new file mode 100644
index 0000000000..f376d32153
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbxsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbxti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbxti10.tfm
new file mode 100644
index 0000000000..e3b6b1c023
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcbxti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc10.tfm
new file mode 100644
index 0000000000..7a9684bed3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc8.tfm
new file mode 100644
index 0000000000..eb8c6ffc61
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc9.tfm
new file mode 100644
index 0000000000..7a2c81a75f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmccsc9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcinch.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcinch.tfm
new file mode 100644
index 0000000000..cd033df6e5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcinch.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcitt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcitt10.tfm
new file mode 100644
index 0000000000..1287ef43c3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcitt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl10.tfm
new file mode 100644
index 0000000000..c344f56068
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl12.tfm
new file mode 100644
index 0000000000..f5f24727fd
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl8.tfm
new file mode 100644
index 0000000000..42b7071f7f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl9.tfm
new file mode 100644
index 0000000000..9b5226cd25
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsl9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsltt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsltt10.tfm
new file mode 100644
index 0000000000..92a813663b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcsltt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss10.tfm
new file mode 100644
index 0000000000..f07582d204
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss12.tfm
new file mode 100644
index 0000000000..28ba367396
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss17.tfm
new file mode 100644
index 0000000000..e07fd1f1ca
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss8.tfm
new file mode 100644
index 0000000000..5aa7c6c49a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss9.tfm
new file mode 100644
index 0000000000..70cb203851
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcss9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssbx10.tfm
new file mode 100644
index 0000000000..6dbaf129d3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssdc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssdc10.tfm
new file mode 100644
index 0000000000..4d4deb4c12
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssdc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi10.tfm
new file mode 100644
index 0000000000..6c82c70307
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi12.tfm
new file mode 100644
index 0000000000..25faa3b6c0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi17.tfm
new file mode 100644
index 0000000000..13e63dd65b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi8.tfm
new file mode 100644
index 0000000000..806ae72716
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi9.tfm
new file mode 100644
index 0000000000..af0845a1c1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssq8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssq8.tfm
new file mode 100644
index 0000000000..5443201e93
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssq8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssqi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssqi8.tfm
new file mode 100644
index 0000000000..f2c32a64f7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcssqi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti10.tfm
new file mode 100644
index 0000000000..b1691bad5f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti12.tfm
new file mode 100644
index 0000000000..4c4c0f3e31
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti7.tfm
new file mode 100644
index 0000000000..16033916bb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti8.tfm
new file mode 100644
index 0000000000..4bec86d4a3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti9.tfm
new file mode 100644
index 0000000000..ae23860142
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcti9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt10.tfm
new file mode 100644
index 0000000000..03c0cf0bc9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt12.tfm
new file mode 100644
index 0000000000..2cfe5760ce
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt8.tfm
new file mode 100644
index 0000000000..ae8c763314
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt9.tfm
new file mode 100644
index 0000000000..4765dde299
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmctt9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcu10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcu10.tfm
new file mode 100644
index 0000000000..0c0dbdf131
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcu10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr10.tfm
new file mode 100644
index 0000000000..7f014d0ea0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr12.tfm
new file mode 100644
index 0000000000..aad6ff4174
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr17.tfm
new file mode 100644
index 0000000000..930cdf020d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr5.tfm
new file mode 100644
index 0000000000..1b2b1a4e8b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr6.tfm
new file mode 100644
index 0000000000..9e8f2dc23a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr7.tfm
new file mode 100644
index 0000000000..f7ef5650a7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr8.tfm
new file mode 100644
index 0000000000..19c10a0040
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr9.tfm
new file mode 100644
index 0000000000..890ecbc699
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr/cmcyr9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmb10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmb10.tfm
new file mode 100644
index 0000000000..815de83397
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmb10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx10.tfm
new file mode 100644
index 0000000000..c20e257cd1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx12.tfm
new file mode 100644
index 0000000000..df44ce6fb5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx5.tfm
new file mode 100644
index 0000000000..78b8a43c80
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx6.tfm
new file mode 100644
index 0000000000..e00375caa4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx7.tfm
new file mode 100644
index 0000000000..3dd773982e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx8.tfm
new file mode 100644
index 0000000000..e8b5c36301
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx9.tfm
new file mode 100644
index 0000000000..71fa621f5e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbx9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbxsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbxsl10.tfm
new file mode 100644
index 0000000000..7a41f4eb1c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbxsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbxti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbxti10.tfm
new file mode 100644
index 0000000000..f002510710
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmbxti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc10.tfm
new file mode 100644
index 0000000000..06a0136ff6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc8.tfm
new file mode 100644
index 0000000000..09739a5e43
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc9.tfm
new file mode 100644
index 0000000000..3f0ee843eb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmcsc9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcminch.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcminch.tfm
new file mode 100644
index 0000000000..1b48634499
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcminch.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmitt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmitt10.tfm
new file mode 100644
index 0000000000..3e64ada938
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmitt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi10.tfm
new file mode 100644
index 0000000000..f8d3d7cb72
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi12.tfm
new file mode 100644
index 0000000000..f8e6b78a26
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi5.tfm
new file mode 100644
index 0000000000..f3e03c3abf
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi6.tfm
new file mode 100644
index 0000000000..13707db97a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi7.tfm
new file mode 100644
index 0000000000..97479b4710
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi8.tfm
new file mode 100644
index 0000000000..093da95ec8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi9.tfm
new file mode 100644
index 0000000000..6cba061080
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmib10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmib10.tfm
new file mode 100644
index 0000000000..a903216aeb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmmib10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr10.tfm
new file mode 100644
index 0000000000..ceb6af9b13
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr12.tfm
new file mode 100644
index 0000000000..00b4be1312
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr17.tfm
new file mode 100644
index 0000000000..dfea915da3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr5.tfm
new file mode 100644
index 0000000000..e0813138bb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr6.tfm
new file mode 100644
index 0000000000..a3039a2f8f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr7.tfm
new file mode 100644
index 0000000000..7a68610697
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr8.tfm
new file mode 100644
index 0000000000..c4f7af5635
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr9.tfm
new file mode 100644
index 0000000000..00ba06bd70
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmr9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl10.tfm
new file mode 100644
index 0000000000..937b2a6dbd
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl12.tfm
new file mode 100644
index 0000000000..50d38fabe5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl8.tfm
new file mode 100644
index 0000000000..62c43435b0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl9.tfm
new file mode 100644
index 0000000000..97a1c87c6e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsl9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsltt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsltt10.tfm
new file mode 100644
index 0000000000..5b3e1d1674
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmsltt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss10.tfm
new file mode 100644
index 0000000000..468735a9db
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss12.tfm
new file mode 100644
index 0000000000..03eb506442
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss17.tfm
new file mode 100644
index 0000000000..a56f38c950
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss8.tfm
new file mode 100644
index 0000000000..15005bdf43
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss9.tfm
new file mode 100644
index 0000000000..67223a449d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmss9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssbx10.tfm
new file mode 100644
index 0000000000..031ea47a34
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssdc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssdc10.tfm
new file mode 100644
index 0000000000..73d9aa43c3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssdc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi10.tfm
new file mode 100644
index 0000000000..4efd7e9fd8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi12.tfm
new file mode 100644
index 0000000000..482b3d678b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi17.tfm
new file mode 100644
index 0000000000..1f60aa77d5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi8.tfm
new file mode 100644
index 0000000000..2d4d89d826
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi9.tfm
new file mode 100644
index 0000000000..44d2705ac2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssq8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssq8.tfm
new file mode 100644
index 0000000000..8510748a24
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssq8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssqi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssqi8.tfm
new file mode 100644
index 0000000000..f943df0bfc
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmssqi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti10.tfm
new file mode 100644
index 0000000000..239d5c35c7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti12.tfm
new file mode 100644
index 0000000000..92e89e6c74
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti7.tfm
new file mode 100644
index 0000000000..034dd3de66
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti8.tfm
new file mode 100644
index 0000000000..3d358605b0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti9.tfm
new file mode 100644
index 0000000000..005af77481
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmti9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt10.tfm
new file mode 100644
index 0000000000..0c7eb8e13b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt12.tfm
new file mode 100644
index 0000000000..bf73f255f4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt8.tfm
new file mode 100644
index 0000000000..71377d82f3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt9.tfm
new file mode 100644
index 0000000000..d97b380557
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmtt9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmu10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmu10.tfm
new file mode 100644
index 0000000000..1df3d33878
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6d/xcmu10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmb10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmb10.tfm
new file mode 100644
index 0000000000..d6a30a2637
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmb10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx10.tfm
new file mode 100644
index 0000000000..7969dd6898
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx12.tfm
new file mode 100644
index 0000000000..5ece54a5ec
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx5.tfm
new file mode 100644
index 0000000000..db5a08fe2e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx6.tfm
new file mode 100644
index 0000000000..628b58a5d0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx7.tfm
new file mode 100644
index 0000000000..4f770c9431
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx8.tfm
new file mode 100644
index 0000000000..65758590c5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx9.tfm
new file mode 100644
index 0000000000..67f9562a78
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbx9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbxsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbxsl10.tfm
new file mode 100644
index 0000000000..f30b6fe88c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbxsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbxti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbxti10.tfm
new file mode 100644
index 0000000000..2d1cfcbda8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmbxti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc10.tfm
new file mode 100644
index 0000000000..f8a0439824
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc8.tfm
new file mode 100644
index 0000000000..7393e2ab00
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc9.tfm
new file mode 100644
index 0000000000..fa1962baa2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmcsc9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycminch.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycminch.tfm
new file mode 100644
index 0000000000..2b9b312973
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycminch.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmitt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmitt10.tfm
new file mode 100644
index 0000000000..25c42c34aa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmitt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi10.tfm
new file mode 100644
index 0000000000..2d744a52d9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi12.tfm
new file mode 100644
index 0000000000..e08e5cd74b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi5.tfm
new file mode 100644
index 0000000000..3cf964273c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi6.tfm
new file mode 100644
index 0000000000..d83fd53afb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi7.tfm
new file mode 100644
index 0000000000..8bf1c66bb3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi8.tfm
new file mode 100644
index 0000000000..8a896e30da
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi9.tfm
new file mode 100644
index 0000000000..d074ada4cd
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmib10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmib10.tfm
new file mode 100644
index 0000000000..57d4d0e41d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmmib10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr10.tfm
new file mode 100644
index 0000000000..a9693e52c1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr12.tfm
new file mode 100644
index 0000000000..2c0423a470
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr17.tfm
new file mode 100644
index 0000000000..be367b9f20
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr5.tfm
new file mode 100644
index 0000000000..4ac5e25d74
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr6.tfm
new file mode 100644
index 0000000000..1e3d2b18fa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr7.tfm
new file mode 100644
index 0000000000..1e1e29057c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr8.tfm
new file mode 100644
index 0000000000..8e4d2d2e9d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr9.tfm
new file mode 100644
index 0000000000..a878b11d48
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmr9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl10.tfm
new file mode 100644
index 0000000000..d28ef4c6ab
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl12.tfm
new file mode 100644
index 0000000000..2b3d1c444b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl8.tfm
new file mode 100644
index 0000000000..8c2aa4e642
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl9.tfm
new file mode 100644
index 0000000000..eb9be2be69
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsl9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsltt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsltt10.tfm
new file mode 100644
index 0000000000..6eab2f6146
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmsltt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss10.tfm
new file mode 100644
index 0000000000..fd4e7d68ba
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss12.tfm
new file mode 100644
index 0000000000..ead187d28c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss17.tfm
new file mode 100644
index 0000000000..0f40e44dd6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss8.tfm
new file mode 100644
index 0000000000..f02686d596
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss9.tfm
new file mode 100644
index 0000000000..84c44ed789
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmss9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssbx10.tfm
new file mode 100644
index 0000000000..d3471d2b69
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssdc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssdc10.tfm
new file mode 100644
index 0000000000..c7c0b2495e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssdc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi10.tfm
new file mode 100644
index 0000000000..16eba59318
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi12.tfm
new file mode 100644
index 0000000000..ec35eaf164
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi17.tfm
new file mode 100644
index 0000000000..56c062b23d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi8.tfm
new file mode 100644
index 0000000000..485ee0736a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi9.tfm
new file mode 100644
index 0000000000..a3d9602f54
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssq8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssq8.tfm
new file mode 100644
index 0000000000..ed69d96f0d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssq8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssqi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssqi8.tfm
new file mode 100644
index 0000000000..328c5aea61
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmssqi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti10.tfm
new file mode 100644
index 0000000000..557e7204e0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti12.tfm
new file mode 100644
index 0000000000..533cdc3729
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti7.tfm
new file mode 100644
index 0000000000..c141c99e93
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti8.tfm
new file mode 100644
index 0000000000..cddcfd9fac
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti9.tfm
new file mode 100644
index 0000000000..38164a094a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmti9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt10.tfm
new file mode 100644
index 0000000000..542c28fdec
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt12.tfm
new file mode 100644
index 0000000000..03146ac46e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt8.tfm
new file mode 100644
index 0000000000..a6e0af0077
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt9.tfm
new file mode 100644
index 0000000000..599aa48cb7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmtt9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmu10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmu10.tfm
new file mode 100644
index 0000000000..9b28b0e541
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6i/ycmu10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmb10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmb10.tfm
new file mode 100644
index 0000000000..6127853f90
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmb10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx10.tfm
new file mode 100644
index 0000000000..57046b86b8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx12.tfm
new file mode 100644
index 0000000000..9d3339a741
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx5.tfm
new file mode 100644
index 0000000000..e7011776e7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx6.tfm
new file mode 100644
index 0000000000..c047ab9508
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx7.tfm
new file mode 100644
index 0000000000..65f8eb857a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx8.tfm
new file mode 100644
index 0000000000..905ee612d3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx9.tfm
new file mode 100644
index 0000000000..8167b3f5a1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbx9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbxsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbxsl10.tfm
new file mode 100644
index 0000000000..2f287044f2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbxsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbxti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbxti10.tfm
new file mode 100644
index 0000000000..1fc865872d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmbxti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc10.tfm
new file mode 100644
index 0000000000..e2b339b504
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc8.tfm
new file mode 100644
index 0000000000..5963caab61
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc9.tfm
new file mode 100644
index 0000000000..4357476418
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmcsc9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcminch.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcminch.tfm
new file mode 100644
index 0000000000..4609da9676
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcminch.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmitt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmitt10.tfm
new file mode 100644
index 0000000000..79b3b397c6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmitt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi10.tfm
new file mode 100644
index 0000000000..5e8e25040c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi12.tfm
new file mode 100644
index 0000000000..b8e3d38387
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi5.tfm
new file mode 100644
index 0000000000..3e0511d10d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi6.tfm
new file mode 100644
index 0000000000..b4e87a60b6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi7.tfm
new file mode 100644
index 0000000000..0a2f9588ef
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi8.tfm
new file mode 100644
index 0000000000..f10c478abb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi9.tfm
new file mode 100644
index 0000000000..b0f16988d9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmib10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmib10.tfm
new file mode 100644
index 0000000000..03bdccc468
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmmib10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr10.tfm
new file mode 100644
index 0000000000..4479219c7c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr12.tfm
new file mode 100644
index 0000000000..8e0b139c9d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr17.tfm
new file mode 100644
index 0000000000..a16ccb3f53
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr5.tfm
new file mode 100644
index 0000000000..a16ffcfbd7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr6.tfm
new file mode 100644
index 0000000000..352de242cf
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr7.tfm
new file mode 100644
index 0000000000..b7ea35a709
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr8.tfm
new file mode 100644
index 0000000000..b9666a2fa2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr9.tfm
new file mode 100644
index 0000000000..92cf63dca1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmr9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl10.tfm
new file mode 100644
index 0000000000..c0780c542b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl12.tfm
new file mode 100644
index 0000000000..0fcec21633
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl8.tfm
new file mode 100644
index 0000000000..669dfefa43
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl9.tfm
new file mode 100644
index 0000000000..05901549d3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsl9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsltt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsltt10.tfm
new file mode 100644
index 0000000000..0a3fde84c8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmsltt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss10.tfm
new file mode 100644
index 0000000000..f411bd485c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss12.tfm
new file mode 100644
index 0000000000..f4bd7be56c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss17.tfm
new file mode 100644
index 0000000000..2fe27ebd87
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss8.tfm
new file mode 100644
index 0000000000..941d343d85
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss9.tfm
new file mode 100644
index 0000000000..57544b4a4b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmss9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssbx10.tfm
new file mode 100644
index 0000000000..f790cb4b20
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssdc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssdc10.tfm
new file mode 100644
index 0000000000..27e5103bac
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssdc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi10.tfm
new file mode 100644
index 0000000000..04b36c3e24
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi12.tfm
new file mode 100644
index 0000000000..1d4fa9421e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi17.tfm
new file mode 100644
index 0000000000..67fcbc150a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi8.tfm
new file mode 100644
index 0000000000..67f5192c4b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi9.tfm
new file mode 100644
index 0000000000..536af2e8c4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssq8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssq8.tfm
new file mode 100644
index 0000000000..f05ceaeac3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssq8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssqi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssqi8.tfm
new file mode 100644
index 0000000000..5983037cc5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmssqi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti10.tfm
new file mode 100644
index 0000000000..64c73e5d00
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti12.tfm
new file mode 100644
index 0000000000..ca04c9a787
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti7.tfm
new file mode 100644
index 0000000000..f2303f52b4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti8.tfm
new file mode 100644
index 0000000000..1d504f30f4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti9.tfm
new file mode 100644
index 0000000000..3b8c7e3ae7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmti9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt10.tfm
new file mode 100644
index 0000000000..7f86b8f8b4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt12.tfm
new file mode 100644
index 0000000000..fc1bade46a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt8.tfm
new file mode 100644
index 0000000000..36ab7b1d7d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt9.tfm
new file mode 100644
index 0000000000..3dc4d8e0da
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmtt9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmu10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmu10.tfm
new file mode 100644
index 0000000000..d8c26ca309
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6k/kcmu10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmb10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmb10.tfm
new file mode 100644
index 0000000000..cc7a3ec2ea
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmb10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx10.tfm
new file mode 100644
index 0000000000..d5bd499235
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx12.tfm
new file mode 100644
index 0000000000..ca232d5a9b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx5.tfm
new file mode 100644
index 0000000000..9547d83afd
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx6.tfm
new file mode 100644
index 0000000000..2e69a5a512
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx7.tfm
new file mode 100644
index 0000000000..0469fd322a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx8.tfm
new file mode 100644
index 0000000000..c258abb0a5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx9.tfm
new file mode 100644
index 0000000000..1273e44ad2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbx9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbxsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbxsl10.tfm
new file mode 100644
index 0000000000..9f91272f01
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbxsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbxti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbxti10.tfm
new file mode 100644
index 0000000000..f454724bff
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmbxti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc10.tfm
new file mode 100644
index 0000000000..18a967e901
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc8.tfm
new file mode 100644
index 0000000000..68eb1abb3e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc9.tfm
new file mode 100644
index 0000000000..bb7121b095
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmcsc9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcminch.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcminch.tfm
new file mode 100644
index 0000000000..9eec6d5964
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcminch.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmitt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmitt10.tfm
new file mode 100644
index 0000000000..a4f2519f78
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmitt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi10.tfm
new file mode 100644
index 0000000000..a4d07bed17
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi12.tfm
new file mode 100644
index 0000000000..f4512e4538
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi5.tfm
new file mode 100644
index 0000000000..1b7c7eb2be
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi6.tfm
new file mode 100644
index 0000000000..e264f8c72a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi7.tfm
new file mode 100644
index 0000000000..bacfd0dc7e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi8.tfm
new file mode 100644
index 0000000000..030b9e1a83
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi9.tfm
new file mode 100644
index 0000000000..6c76c49d7f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmib10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmib10.tfm
new file mode 100644
index 0000000000..9cf0ffebaa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmmib10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr10.tfm
new file mode 100644
index 0000000000..ae7ccf35d1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr12.tfm
new file mode 100644
index 0000000000..d25c51f847
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr17.tfm
new file mode 100644
index 0000000000..88e42b5a5c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr5.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr5.tfm
new file mode 100644
index 0000000000..1273a9af29
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr5.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr6.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr6.tfm
new file mode 100644
index 0000000000..98ac6a2319
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr6.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr7.tfm
new file mode 100644
index 0000000000..c9c78fabda
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr8.tfm
new file mode 100644
index 0000000000..18a3f075db
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr9.tfm
new file mode 100644
index 0000000000..1f99e4e2a2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmr9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl10.tfm
new file mode 100644
index 0000000000..1080ca3040
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl12.tfm
new file mode 100644
index 0000000000..fc2873c6c8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl8.tfm
new file mode 100644
index 0000000000..83ea3189ca
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl9.tfm
new file mode 100644
index 0000000000..ab1cd429c4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsl9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsltt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsltt10.tfm
new file mode 100644
index 0000000000..1a332cff4f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmsltt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss10.tfm
new file mode 100644
index 0000000000..020627680a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss12.tfm
new file mode 100644
index 0000000000..127201c29f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss17.tfm
new file mode 100644
index 0000000000..5284c99178
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss8.tfm
new file mode 100644
index 0000000000..e490c33edd
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss9.tfm
new file mode 100644
index 0000000000..66ce7ae4a5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmss9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssbx10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssbx10.tfm
new file mode 100644
index 0000000000..6866cc30c8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssdc10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssdc10.tfm
new file mode 100644
index 0000000000..d999dc2c37
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssdc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi10.tfm
new file mode 100644
index 0000000000..44374e7b37
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi12.tfm
new file mode 100644
index 0000000000..dd850e472f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi17.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi17.tfm
new file mode 100644
index 0000000000..d705020deb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi17.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi8.tfm
new file mode 100644
index 0000000000..29b7ecdbc3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi9.tfm
new file mode 100644
index 0000000000..58291744d0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssq8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssq8.tfm
new file mode 100644
index 0000000000..3c1dd4d725
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssq8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssqi8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssqi8.tfm
new file mode 100644
index 0000000000..65aa7cda28
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmssqi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti10.tfm
new file mode 100644
index 0000000000..5d09dc6788
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti12.tfm
new file mode 100644
index 0000000000..63abf3dd9e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti7.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti7.tfm
new file mode 100644
index 0000000000..db4aaed3f9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti7.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti8.tfm
new file mode 100644
index 0000000000..d6faeeacef
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti9.tfm
new file mode 100644
index 0000000000..85540208a8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmti9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt10.tfm
new file mode 100644
index 0000000000..186170b94d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt12.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt12.tfm
new file mode 100644
index 0000000000..3c17560050
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt12.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt8.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt8.tfm
new file mode 100644
index 0000000000..01db6e988b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt8.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt9.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt9.tfm
new file mode 100644
index 0000000000..99956e93ed
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmtt9.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmu10.tfm b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmu10.tfm
new file mode 100644
index 0000000000..fc21d2ed0e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/tfm/cmcyr6w/wcmu10.tfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcb10.pfb b/fonts/cyrillic/cmcyr/type1/cmcb10.pfb
new file mode 100644
index 0000000000..396df04037
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcb10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcbx10.pfb b/fonts/cyrillic/cmcyr/type1/cmcbx10.pfb
new file mode 100644
index 0000000000..a71cd9f3b1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcbx10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcbx12.pfb b/fonts/cyrillic/cmcyr/type1/cmcbx12.pfb
new file mode 100644
index 0000000000..1a1accbbbd
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcbx12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcbx5.pfb b/fonts/cyrillic/cmcyr/type1/cmcbx5.pfb
new file mode 100644
index 0000000000..06b840d23a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcbx5.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcbx6.pfb b/fonts/cyrillic/cmcyr/type1/cmcbx6.pfb
new file mode 100644
index 0000000000..ab60df4648
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcbx6.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcbx7.pfb b/fonts/cyrillic/cmcyr/type1/cmcbx7.pfb
new file mode 100644
index 0000000000..156bcc98c4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcbx7.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcbx8.pfb b/fonts/cyrillic/cmcyr/type1/cmcbx8.pfb
new file mode 100644
index 0000000000..dc8c30fc8d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcbx8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcbx9.pfb b/fonts/cyrillic/cmcyr/type1/cmcbx9.pfb
new file mode 100644
index 0000000000..9da2d16f28
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcbx9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcbxsl1.pfb b/fonts/cyrillic/cmcyr/type1/cmcbxsl1.pfb
new file mode 100644
index 0000000000..eb60c690be
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcbxsl1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcbxti1.pfb b/fonts/cyrillic/cmcyr/type1/cmcbxti1.pfb
new file mode 100644
index 0000000000..ef806df8b5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcbxti1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmccsc10.pfb b/fonts/cyrillic/cmcyr/type1/cmccsc10.pfb
new file mode 100644
index 0000000000..877e810f95
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmccsc10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmccsc8.pfb b/fonts/cyrillic/cmcyr/type1/cmccsc8.pfb
new file mode 100644
index 0000000000..d01ef5ea51
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmccsc8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmccsc9.pfb b/fonts/cyrillic/cmcyr/type1/cmccsc9.pfb
new file mode 100644
index 0000000000..847275cad8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmccsc9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcinch7.pfb b/fonts/cyrillic/cmcyr/type1/cmcinch7.pfb
new file mode 100644
index 0000000000..081a03c60d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcinch7.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcitt10.pfb b/fonts/cyrillic/cmcyr/type1/cmcitt10.pfb
new file mode 100644
index 0000000000..c25594ad59
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcitt10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcsl10.pfb b/fonts/cyrillic/cmcyr/type1/cmcsl10.pfb
new file mode 100644
index 0000000000..8d7f719c13
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcsl10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcsl12.pfb b/fonts/cyrillic/cmcyr/type1/cmcsl12.pfb
new file mode 100644
index 0000000000..d0baf14b24
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcsl12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcsl8.pfb b/fonts/cyrillic/cmcyr/type1/cmcsl8.pfb
new file mode 100644
index 0000000000..dd7556e543
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcsl8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcsl9.pfb b/fonts/cyrillic/cmcyr/type1/cmcsl9.pfb
new file mode 100644
index 0000000000..4737817c07
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcsl9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcsltt1.pfb b/fonts/cyrillic/cmcyr/type1/cmcsltt1.pfb
new file mode 100644
index 0000000000..efecb58cf7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcsltt1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcss10.pfb b/fonts/cyrillic/cmcyr/type1/cmcss10.pfb
new file mode 100644
index 0000000000..a68d40bf4a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcss10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcss12.pfb b/fonts/cyrillic/cmcyr/type1/cmcss12.pfb
new file mode 100644
index 0000000000..f1f9e274eb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcss12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcss17.pfb b/fonts/cyrillic/cmcyr/type1/cmcss17.pfb
new file mode 100644
index 0000000000..cd628ee8be
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcss17.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcss8.pfb b/fonts/cyrillic/cmcyr/type1/cmcss8.pfb
new file mode 100644
index 0000000000..3d8e89d5e7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcss8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcss9.pfb b/fonts/cyrillic/cmcyr/type1/cmcss9.pfb
new file mode 100644
index 0000000000..c9dbf42195
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcss9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcssbx1.pfb b/fonts/cyrillic/cmcyr/type1/cmcssbx1.pfb
new file mode 100644
index 0000000000..8f451e2cf5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcssbx1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcssdc1.pfb b/fonts/cyrillic/cmcyr/type1/cmcssdc1.pfb
new file mode 100644
index 0000000000..345d1c8822
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcssdc1.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcssi10.pfb b/fonts/cyrillic/cmcyr/type1/cmcssi10.pfb
new file mode 100644
index 0000000000..bd31437c7c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcssi10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcssi12.pfb b/fonts/cyrillic/cmcyr/type1/cmcssi12.pfb
new file mode 100644
index 0000000000..2cde9d7d5f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcssi12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcssi17.pfb b/fonts/cyrillic/cmcyr/type1/cmcssi17.pfb
new file mode 100644
index 0000000000..52f8d9fee5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcssi17.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcssi8.pfb b/fonts/cyrillic/cmcyr/type1/cmcssi8.pfb
new file mode 100644
index 0000000000..4fce617f6a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcssi8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcssi9.pfb b/fonts/cyrillic/cmcyr/type1/cmcssi9.pfb
new file mode 100644
index 0000000000..cb588aff3c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcssi9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcssq8.pfb b/fonts/cyrillic/cmcyr/type1/cmcssq8.pfb
new file mode 100644
index 0000000000..6a04c1139b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcssq8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcssqi8.pfb b/fonts/cyrillic/cmcyr/type1/cmcssqi8.pfb
new file mode 100644
index 0000000000..57aaf9d9c4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcssqi8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcti10.pfb b/fonts/cyrillic/cmcyr/type1/cmcti10.pfb
new file mode 100644
index 0000000000..e184d06633
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcti10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcti12.pfb b/fonts/cyrillic/cmcyr/type1/cmcti12.pfb
new file mode 100644
index 0000000000..84d1a0dece
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcti12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcti7.pfb b/fonts/cyrillic/cmcyr/type1/cmcti7.pfb
new file mode 100644
index 0000000000..f938db6631
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcti7.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcti8.pfb b/fonts/cyrillic/cmcyr/type1/cmcti8.pfb
new file mode 100644
index 0000000000..05061b4316
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcti8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcti9.pfb b/fonts/cyrillic/cmcyr/type1/cmcti9.pfb
new file mode 100644
index 0000000000..64b5f92fa3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcti9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmctt10.pfb b/fonts/cyrillic/cmcyr/type1/cmctt10.pfb
new file mode 100644
index 0000000000..c88f1a6264
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmctt10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmctt12.pfb b/fonts/cyrillic/cmcyr/type1/cmctt12.pfb
new file mode 100644
index 0000000000..d9e9b8b4a3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmctt12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmctt8.pfb b/fonts/cyrillic/cmcyr/type1/cmctt8.pfb
new file mode 100644
index 0000000000..48fc5eca46
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmctt8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmctt9.pfb b/fonts/cyrillic/cmcyr/type1/cmctt9.pfb
new file mode 100644
index 0000000000..ce17d72dfb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmctt9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcu10.pfb b/fonts/cyrillic/cmcyr/type1/cmcu10.pfb
new file mode 100644
index 0000000000..6bad152946
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcu10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcyr10.pfb b/fonts/cyrillic/cmcyr/type1/cmcyr10.pfb
new file mode 100644
index 0000000000..20baa32e4f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcyr10.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcyr12.pfb b/fonts/cyrillic/cmcyr/type1/cmcyr12.pfb
new file mode 100644
index 0000000000..5b4da629e2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcyr12.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcyr17.pfb b/fonts/cyrillic/cmcyr/type1/cmcyr17.pfb
new file mode 100644
index 0000000000..0ccb9b9aff
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcyr17.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcyr5.pfb b/fonts/cyrillic/cmcyr/type1/cmcyr5.pfb
new file mode 100644
index 0000000000..c556111bc0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcyr5.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcyr6.pfb b/fonts/cyrillic/cmcyr/type1/cmcyr6.pfb
new file mode 100644
index 0000000000..185675f391
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcyr6.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcyr7.pfb b/fonts/cyrillic/cmcyr/type1/cmcyr7.pfb
new file mode 100644
index 0000000000..b0aa7b96b0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcyr7.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcyr8.pfb b/fonts/cyrillic/cmcyr/type1/cmcyr8.pfb
new file mode 100644
index 0000000000..36d93e9753
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcyr8.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/cmcyr9.pfb b/fonts/cyrillic/cmcyr/type1/cmcyr9.pfb
new file mode 100644
index 0000000000..55078eff85
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/cmcyr9.pfb
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcb10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcb10.pfm
new file mode 100644
index 0000000000..935bb08635
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcb10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcbx10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx10.pfm
new file mode 100644
index 0000000000..f4cf87b64d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcbx12.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx12.pfm
new file mode 100644
index 0000000000..6f15eefccc
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx12.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcbx5.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx5.pfm
new file mode 100644
index 0000000000..98876cdf99
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx5.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcbx6.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx6.pfm
new file mode 100644
index 0000000000..d9a62c08c9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx6.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcbx7.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx7.pfm
new file mode 100644
index 0000000000..1ea153c48d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx7.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcbx8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx8.pfm
new file mode 100644
index 0000000000..f8d923dabb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcbx9.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx9.pfm
new file mode 100644
index 0000000000..95b8f71b51
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcbx9.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcbxsl1.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcbxsl1.pfm
new file mode 100644
index 0000000000..e4f6f43953
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcbxsl1.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcbxti1.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcbxti1.pfm
new file mode 100644
index 0000000000..d82ade7ac6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcbxti1.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmccsc10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmccsc10.pfm
new file mode 100644
index 0000000000..f8a92c54d7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmccsc10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmccsc8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmccsc8.pfm
new file mode 100644
index 0000000000..3967dcd64c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmccsc8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmccsc9.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmccsc9.pfm
new file mode 100644
index 0000000000..63864770b2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmccsc9.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcinch7.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcinch7.pfm
new file mode 100644
index 0000000000..ec8190ddd3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcinch7.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcitt10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcitt10.pfm
new file mode 100644
index 0000000000..92a1221c0d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcitt10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcsl10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcsl10.pfm
new file mode 100644
index 0000000000..f3af250683
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcsl10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcsl12.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcsl12.pfm
new file mode 100644
index 0000000000..032bf75ebc
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcsl12.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcsl8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcsl8.pfm
new file mode 100644
index 0000000000..eb26480e04
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcsl8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcsl9.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcsl9.pfm
new file mode 100644
index 0000000000..79390690fa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcsl9.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcsltt1.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcsltt1.pfm
new file mode 100644
index 0000000000..9c7393bbe5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcsltt1.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcss10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcss10.pfm
new file mode 100644
index 0000000000..eefbab9184
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcss10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcss12.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcss12.pfm
new file mode 100644
index 0000000000..efcc9db682
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcss12.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcss17.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcss17.pfm
new file mode 100644
index 0000000000..f00c0ea371
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcss17.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcss8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcss8.pfm
new file mode 100644
index 0000000000..5569ab2b98
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcss8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcss9.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcss9.pfm
new file mode 100644
index 0000000000..af452e3b88
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcss9.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcssbx1.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcssbx1.pfm
new file mode 100644
index 0000000000..7060bfd8fa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcssbx1.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcssdc1.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcssdc1.pfm
new file mode 100644
index 0000000000..237a9e4120
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcssdc1.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcssi10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi10.pfm
new file mode 100644
index 0000000000..420281416f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcssi12.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi12.pfm
new file mode 100644
index 0000000000..6a3efa386d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi12.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcssi17.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi17.pfm
new file mode 100644
index 0000000000..f98d489b5d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi17.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcssi8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi8.pfm
new file mode 100644
index 0000000000..46d74b4355
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcssi9.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi9.pfm
new file mode 100644
index 0000000000..53314c2a03
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcssi9.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcssq8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcssq8.pfm
new file mode 100644
index 0000000000..b62222971b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcssq8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcssqi8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcssqi8.pfm
new file mode 100644
index 0000000000..c6e1dd8f0b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcssqi8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcti10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcti10.pfm
new file mode 100644
index 0000000000..1f48a1a93a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcti10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcti12.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcti12.pfm
new file mode 100644
index 0000000000..33d38a98f5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcti12.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcti7.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcti7.pfm
new file mode 100644
index 0000000000..d5d8ee3da7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcti7.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcti8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcti8.pfm
new file mode 100644
index 0000000000..eac6352651
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcti8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcti9.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcti9.pfm
new file mode 100644
index 0000000000..1bf50a9b74
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcti9.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmctt10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmctt10.pfm
new file mode 100644
index 0000000000..a3e4573fc5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmctt10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmctt12.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmctt12.pfm
new file mode 100644
index 0000000000..dd3b502724
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmctt12.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmctt8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmctt8.pfm
new file mode 100644
index 0000000000..5e20e6cca5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmctt8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmctt9.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmctt9.pfm
new file mode 100644
index 0000000000..dff7c19e1a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmctt9.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcu10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcu10.pfm
new file mode 100644
index 0000000000..bfd1a78205
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcu10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcyr10.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr10.pfm
new file mode 100644
index 0000000000..c6a70469be
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr10.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcyr12.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr12.pfm
new file mode 100644
index 0000000000..c44f058ce5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr12.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcyr17.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr17.pfm
new file mode 100644
index 0000000000..9883bb401a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr17.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcyr5.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr5.pfm
new file mode 100644
index 0000000000..3fe5e5b48c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr5.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcyr6.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr6.pfm
new file mode 100644
index 0000000000..8feca9e2df
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr6.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcyr7.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr7.pfm
new file mode 100644
index 0000000000..b309434baa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr7.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcyr8.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr8.pfm
new file mode 100644
index 0000000000..460550e20c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr8.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/type1/pfm/cmcyr9.pfm b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr9.pfm
new file mode 100644
index 0000000000..21df5ac77d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/type1/pfm/cmcyr9.pfm
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/cmalt b/fonts/cyrillic/cmcyr/vf/cmcyr6d/cmalt
new file mode 100644
index 0000000000..67a7e05b9d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/cmalt
@@ -0,0 +1 @@
+0 0 128 % copy all 128 characters
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/cmalte b/fonts/cyrillic/cmcyr/vf/cmcyr6d/cmalte
new file mode 100644
index 0000000000..4ccbb3234d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/cmalte
@@ -0,0 +1,5 @@
+0 0 60 % copy upto "<" char
+60 254 1 % save this character
+61 61 1 % copy one char
+62 255 1 % save this character
+63 63 65 % copy the rest just after ">" char
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/cyralt b/fonts/cyrillic/cmcyr/vf/cmcyr6d/cyralt
new file mode 100644
index 0000000000..101cd1aa48
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/cyralt
@@ -0,0 +1,64 @@
+ 64 238 1 % @ - > yu
+ 65 160 1 % A - > a
+ 66 161 1 % B - > be
+ 67 230 1 % C - > tse
+ 68 164 1 % D - > de
+ 69 165 1 % E - > ie
+ 70 228 1 % F - > ef
+ 71 163 1 % G - > ghe
+ 72 229 1 % H - > ha
+ 73 168 1 % I - > i
+ 74 169 1 % J - > short i
+ 75 170 1 % K - > ka
+ 76 171 1 % L - > el
+ 77 172 1 % M - > em
+ 78 173 1 % N - > en
+ 79 174 1 % O - > o
+ 80 175 1 % P - > pe
+ 81 239 1 % Q - > ya
+ 82 224 1 % R - > er
+ 83 225 1 % S - > es
+ 84 226 1 % T - > te
+ 85 227 1 % U - > u
+ 86 166 1 % V - > zhe
+ 87 162 1 % W - > ve
+ 88 236 1 % X - > soft sign
+ 89 235 1 % Y - > yeru
+ 90 167 1 % Z - > ze
+ 91 232 1 % [ - > sha
+ 92 237 1 % \ - > e
+ 93 233 1 % ] - > shcha
+ 94 231 1 % ^ - > che
+ 95 234 1 % _ - > hard sign
+ 96 158 1 % ` - > YU
+ 97 128 1 % a - > A
+ 98 129 1 % b - > BE
+ 99 150 1 % c - > TSE
+100 132 1 % d - > DE
+101 133 1 % e - > IE
+102 148 1 % f - > EF
+103 131 1 % g - > GHE
+104 149 1 % h - > HA
+105 136 1 % i - > I
+106 137 1 % j - > SHORT i
+107 138 1 % k - > KA
+108 139 1 % l - > EL
+109 140 1 % m - > EM
+110 141 1 % n - > EN
+111 142 1 % o - > O
+112 143 1 % p - > PE
+113 159 1 % q - > YA
+114 144 1 % r - > ER
+115 145 1 % s - > ES
+116 146 1 % t - > TE
+117 147 1 % u - > U
+118 134 1 % v - > ZHE
+119 130 1 % w - > VE
+120 156 1 % x - > SOFT sign
+121 155 1 % y - > YERU
+122 135 1 % z - > ZE
+123 152 1 % { - > SHA
+124 157 1 % | - > E
+125 153 1 % } - > SHCHA
+126 151 1 % ~ - > CHE
+127 154 1 % ? - > HARD sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/cyralte b/fonts/cyrillic/cmcyr/vf/cmcyr6d/cyralte
new file mode 100644
index 0000000000..366e743d7e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/cyralte
@@ -0,0 +1,69 @@
+ 64 238 1 % @ - > yu
+ 65 160 1 % A - > a
+ 66 161 1 % B - > be
+ 67 230 1 % C - > tse
+ 68 164 1 % D - > de
+ 69 165 1 % E - > ie
+ 70 228 1 % F - > ef
+ 71 163 1 % G - > ghe
+ 72 229 1 % H - > ha
+ 73 168 1 % I - > i
+ 74 169 1 % J - > short i
+ 75 170 1 % K - > ka
+ 76 171 1 % L - > el
+ 77 172 1 % M - > em
+ 78 173 1 % N - > en
+ 79 174 1 % O - > o
+ 80 175 1 % P - > pe
+ 81 239 1 % Q - > ya
+ 82 224 1 % R - > er
+ 83 225 1 % S - > es
+ 84 226 1 % T - > te
+ 85 227 1 % U - > u
+ 86 166 1 % V - > zhe
+ 87 162 1 % W - > ve
+ 88 236 1 % X - > soft sign
+ 89 235 1 % Y - > yeru
+ 90 167 1 % Z - > ze
+ 91 232 1 % [ - > sha
+ 92 237 1 % \ - > e
+ 93 233 1 % ] - > shcha
+ 94 231 1 % ^ - > che
+ 95 234 1 % _ - > hard sign
+ 96 158 1 % ` - > YU
+ 97 128 1 % a - > A
+ 98 129 1 % b - > BE
+ 99 150 1 % c - > TSE
+100 132 1 % d - > DE
+101 133 1 % e - > IE
+102 148 1 % f - > EF
+103 131 1 % g - > GHE
+104 149 1 % h - > HA
+105 136 1 % i - > I
+106 137 1 % j - > SHORT i
+107 138 1 % k - > KA
+108 139 1 % l - > EL
+109 140 1 % m - > EM
+110 141 1 % n - > EN
+111 142 1 % o - > O
+112 143 1 % p - > PE
+113 159 1 % q - > YA
+114 144 1 % r - > ER
+115 145 1 % s - > ES
+116 146 1 % t - > TE
+117 147 1 % u - > U
+118 134 1 % v - > ZHE
+119 130 1 % w - > VE
+120 156 1 % x - > SOFT sign
+121 155 1 % y - > YERU
+122 135 1 % z - > ZE
+123 152 1 % { - > SHA
+124 157 1 % | - > E
+125 153 1 % } - > SHCHA
+126 151 1 % ~ - > CHE
+127 154 1 % ? - > HARD sign
+ 62 240 1 % ? - > YO
+ 60 241 1 % ? - > yo
+ 29 60 1 % - > rewrite < characters by <<
+ 30 62 1 % - > rewrite > characters by >>
+ 25 242 1 % - > numero sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/merge.alt b/fonts/cyrillic/cmcyr/vf/cmcyr6d/merge.alt
new file mode 100644
index 0000000000..ce19f60ca0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/merge.alt
@@ -0,0 +1,60 @@
+xcmb10 -tcmalte cmb10 -tcyralte cmcb10
+xcmbx5 -tcmalte cmbx5 -tcyralte cmcbx5
+xcmbx6 -tcmalte cmbx6 -tcyralte cmcbx6
+xcmbx7 -tcmalte cmbx7 -tcyralte cmcbx7
+xcmbx8 -tcmalte cmbx8 -tcyralte cmcbx8
+xcmbx9 -tcmalte cmbx9 -tcyralte cmcbx9
+xcmbx10 -tcmalte cmbx10 -tcyralte cmcbx10
+xcmbx12 -tcmalte cmbx12 -tcyralte cmcbx12
+xcmbxsl10 -tcmalte cmbxsl10 -tcyralte cmcbxsl10
+xcmbxti10 -tcmalte cmbxti10 -tcyralte cmcbxti10
+xcmcsc8 -tcmalte cmcsc8 -tcyralte cmccsc8
+xcmcsc9 -tcmalte cmcsc9 -tcyralte cmccsc9
+xcmcsc10 -tcmalte cmcsc10 -tcyralte cmccsc10
+xcminch -tcmalte cminch -tcyralte cmcinch
+xcmmi5 -tcmalt cmmi5 -tcyralt cmcyr5
+xcmmi6 -tcmalt cmmi6 -tcyralt cmcyr6
+xcmmi7 -tcmalt cmmi7 -tcyralt cmcti7
+xcmmi8 -tcmalt cmmi8 -tcyralt cmcti8
+xcmmi9 -tcmalt cmmi9 -tcyralt cmcti9
+xcmmi10 -tcmalt cmmi10 -tcyralt cmcti10
+xcmmi12 -tcmalt cmmi12 -tcyralt cmcti12
+xcmmib10 -tcmalt cmmib10 -tcyralt cmcbx10
+xcmitt10 -tcmalt cmitt10 -tcyralt cmcitt10
+xcmr5 -tcmalte cmr5 -tcyralte cmcyr5
+xcmr6 -tcmalte cmr6 -tcyralte cmcyr6
+xcmr7 -tcmalte cmr7 -tcyralte cmcyr7
+xcmr8 -tcmalte cmr8 -tcyralte cmcyr8
+xcmr9 -tcmalte cmr9 -tcyralte cmcyr9
+xcmr10 -tcmalte cmr10 -tcyralte cmcyr10
+xcmr12 -tcmalte cmr12 -tcyralte cmcyr12
+xcmr17 -tcmalte cmr17 -tcyralte cmcyr17
+xcmsl8 -tcmalte cmsl8 -tcyralte cmcsl8
+xcmsl9 -tcmalte cmsl9 -tcyralte cmcsl9
+xcmsl10 -tcmalte cmsl10 -tcyralte cmcsl10
+xcmsl12 -tcmalte cmsl12 -tcyralte cmcsl12
+xcmsltt10 -tcmalte cmsltt10 -tcyralte cmcsltt10
+xcmss8 -tcmalte cmss8 -tcyralte cmcss8
+xcmssq8 -tcmalte cmssq8 -tcyralte cmcssq8
+xcmssqi8 -tcmalte cmssqi8 -tcyralte cmcssqi8
+xcmss9 -tcmalte cmss9 -tcyralte cmcss9
+xcmss10 -tcmalte cmss10 -tcyralte cmcss10
+xcmss12 -tcmalte cmss12 -tcyralte cmcss12
+xcmss17 -tcmalte cmss17 -tcyralte cmcss17
+xcmssbx10 -tcmalte cmssbx10 -tcyralte cmcssbx10
+xcmssdc10 -tcmalte cmssdc10 -tcyralte cmcssdc10
+xcmssi8 -tcmalte cmssi8 -tcyralte cmcssi8
+xcmssi9 -tcmalte cmssi9 -tcyralte cmcssi9
+xcmssi10 -tcmalte cmssi10 -tcyralte cmcssi10
+xcmssi12 -tcmalte cmssi12 -tcyralte cmcssi12
+xcmssi17 -tcmalte cmssi17 -tcyralte cmcssi17
+xcmti7 -tcmalte cmti7 -tcyralte cmcti7
+xcmti8 -tcmalte cmti8 -tcyralte cmcti8
+xcmti9 -tcmalte cmti9 -tcyralte cmcti9
+xcmti10 -tcmalte cmti10 -tcyralte cmcti10
+xcmti12 -tcmalte cmti12 -tcyralte cmcti12
+xcmtt8 -tcmalt cmtt8 -tcyralt cmctt8
+xcmtt9 -tcmalt cmtt9 -tcyralt cmctt9
+xcmtt10 -tcmalt cmtt10 -tcyralt cmctt10
+xcmtt12 -tcmalt cmtt12 -tcyralt cmctt12
+xcmu10 -tcmalte cmu10 -tcyralte cmcu10
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/merge.bat b/fonts/cyrillic/cmcyr/vf/cmcyr6d/merge.bat
new file mode 100644
index 0000000000..4409fd844c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/merge.bat
@@ -0,0 +1,3 @@
+set TEXDIR=d:\tex
+set TEXTFM=%TEXDIR%\pro\tfm\cmcyr;%TEXDIR%\TFM\cm;%TEXDIR%\TFM\extracm
+..\..\tfmerge -lmerge.alt
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/wncalt b/fonts/cyrillic/cmcyr/vf/cmcyr6d/wncalt
new file mode 100644
index 0000000000..f5afaeae43
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/wncalt
@@ -0,0 +1,64 @@
+ 16 158 1 % ? - > YU
+ 17 134 1 % ? - > ZHE
+ 18 137 1 % ? - > SHORT I
+ 19 240 1 % ? - > YO
+ 23 159 1 % ? - > YA
+ 65 128 1 % A - > A
+ 66 129 1 % B - > BE
+ 67 150 1 % C - > TSE
+ 68 132 1 % D - > DE
+ 69 133 1 % E - > IE
+ 70 148 1 % F - > EF
+ 71 131 1 % G - > GHE
+ 72 149 1 % H - > HA
+ 73 136 1 % I - > I
+ 75 138 1 % K - > KA
+ 76 139 1 % L - > EL
+ 77 140 1 % M - > EM
+ 78 141 1 % N - > EN
+ 79 142 1 % O - > O
+ 80 143 1 % P - > PE
+ 81 151 1 % Q - > CHE
+ 82 144 1 % R - > ER
+ 83 145 1 % S - > ES
+ 84 146 1 % T - > TE
+ 85 147 1 % U - > U
+ 86 130 1 % V - > VE
+ 87 153 1 % W - > SHCHA
+ 88 152 1 % X - > SHA
+ 89 155 1 % Y - > YERU
+ 90 135 1 % Z - > ZE
+ 94 156 1 % ^ - > SOFT SIGN
+ 95 154 1 % _ - > HARD SIGN
+ 21 238 1 % ? - > yu
+ 22 166 1 % ? - > zhe
+ 23 169 1 % ? - > short i
+ 24 241 1 % ? - > yo
+ 31 239 1 % ? - > ya
+ 97 160 1 % a - > a
+ 98 161 1 % b - > be
+ 99 230 1 % c - > tse
+100 164 1 % d - > de
+101 165 1 % e - > ie
+102 228 1 % f - > ef
+103 163 1 % g - > ghe
+104 229 1 % h - > ha
+105 168 1 % i - > i
+107 170 1 % k - > ka
+108 171 1 % l - > el
+109 172 1 % m - > em
+110 173 1 % n - > en
+111 174 1 % o - > o
+112 175 1 % p - > pe
+113 231 1 % q - > che
+114 224 1 % r - > er
+115 225 1 % s - > es
+116 226 1 % t - > te
+117 227 1 % u - > u
+118 162 1 % v - > ve
+119 233 1 % w - > shcha
+120 232 1 % x - > sha
+121 235 1 % y - > yeru
+122 167 1 % z - > ze
+126 237 1 % ^ - > soft sign
+127 234 1 % _ - > hard sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/wncalte b/fonts/cyrillic/cmcyr/vf/cmcyr6d/wncalte
new file mode 100644
index 0000000000..5e26a149aa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/wncalte
@@ -0,0 +1,66 @@
+ 16 158 1 % ? - > YU
+ 17 134 1 % ? - > ZHE
+ 18 137 1 % ? - > SHORT I
+ 19 240 1 % ? - > YO
+ 23 159 1 % ? - > YA
+ 65 128 1 % A - > A
+ 66 129 1 % B - > BE
+ 67 150 1 % C - > TSE
+ 68 132 1 % D - > DE
+ 69 133 1 % E - > IE
+ 70 148 1 % F - > EF
+ 71 131 1 % G - > GHE
+ 72 149 1 % H - > HA
+ 73 136 1 % I - > I
+ 75 138 1 % K - > KA
+ 76 139 1 % L - > EL
+ 77 140 1 % M - > EM
+ 78 141 1 % N - > EN
+ 79 142 1 % O - > O
+ 80 143 1 % P - > PE
+ 81 151 1 % Q - > CHE
+ 82 144 1 % R - > ER
+ 83 145 1 % S - > ES
+ 84 146 1 % T - > TE
+ 85 147 1 % U - > U
+ 86 130 1 % V - > VE
+ 87 153 1 % W - > SHCHA
+ 88 152 1 % X - > SHA
+ 89 155 1 % Y - > YERU
+ 90 135 1 % Z - > ZE
+ 94 156 1 % ^ - > SOFT SIGN
+ 95 154 1 % _ - > HARD SIGN
+ 21 238 1 % ? - > yu
+ 22 166 1 % ? - > zhe
+ 23 169 1 % ? - > short i
+ 24 241 1 % ? - > yo
+ 31 239 1 % ? - > ya
+ 97 160 1 % a - > a
+ 98 161 1 % b - > be
+ 99 230 1 % c - > tse
+100 164 1 % d - > de
+101 165 1 % e - > ie
+102 228 1 % f - > ef
+103 163 1 % g - > ghe
+104 229 1 % h - > ha
+105 168 1 % i - > i
+107 170 1 % k - > ka
+108 171 1 % l - > el
+109 172 1 % m - > em
+110 173 1 % n - > en
+111 174 1 % o - > o
+112 175 1 % p - > pe
+113 231 1 % q - > che
+114 224 1 % r - > er
+115 225 1 % s - > es
+116 226 1 % t - > te
+117 227 1 % u - > u
+118 162 1 % v - > ve
+119 233 1 % w - > shcha
+120 232 1 % x - > sha
+121 235 1 % y - > yeru
+122 167 1 % z - > ze
+126 237 1 % ^ - > soft sign
+127 234 1 % _ - > hard sign
+ 29 60 1 % - > rewrite < characters by <<
+ 30 62 1 % - > rewrite > characters by >>
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmb10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmb10.vf
new file mode 100644
index 0000000000..c86f1c2870
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmb10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx10.vf
new file mode 100644
index 0000000000..c00219903d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx12.vf
new file mode 100644
index 0000000000..13c0a667ed
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx5.vf
new file mode 100644
index 0000000000..6df3a0a7be
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx6.vf
new file mode 100644
index 0000000000..fcf94eff63
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx7.vf
new file mode 100644
index 0000000000..8331126c46
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx8.vf
new file mode 100644
index 0000000000..8324258f69
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx9.vf
new file mode 100644
index 0000000000..fb927ac62a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbx9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbxsl10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbxsl10.vf
new file mode 100644
index 0000000000..52f2de3839
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbxsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbxti10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbxti10.vf
new file mode 100644
index 0000000000..7a1c37a40e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmbxti10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc10.vf
new file mode 100644
index 0000000000..3cd7d07294
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc8.vf
new file mode 100644
index 0000000000..912c0b8825
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc9.vf
new file mode 100644
index 0000000000..77dc8e6565
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmcsc9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcminch.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcminch.vf
new file mode 100644
index 0000000000..0939b026e7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcminch.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmitt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmitt10.vf
new file mode 100644
index 0000000000..311e4a0d6c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmitt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi10.vf
new file mode 100644
index 0000000000..424eb253fc
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi12.vf
new file mode 100644
index 0000000000..1a793ef930
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi5.vf
new file mode 100644
index 0000000000..fc0a19bfca
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi6.vf
new file mode 100644
index 0000000000..84e60a6593
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi7.vf
new file mode 100644
index 0000000000..6cd57e68a1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi8.vf
new file mode 100644
index 0000000000..883ad97bc8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi9.vf
new file mode 100644
index 0000000000..289b33eb0c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmi9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmib10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmib10.vf
new file mode 100644
index 0000000000..bdee6dcf50
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmmib10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr10.vf
new file mode 100644
index 0000000000..79acfd7707
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr12.vf
new file mode 100644
index 0000000000..4abc7a586c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr17.vf
new file mode 100644
index 0000000000..b32b071bcc
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr5.vf
new file mode 100644
index 0000000000..396855cc42
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr6.vf
new file mode 100644
index 0000000000..83ff6207e1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr7.vf
new file mode 100644
index 0000000000..d67e2fe7d5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr8.vf
new file mode 100644
index 0000000000..f291c9544f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr9.vf
new file mode 100644
index 0000000000..fb8039d1a6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmr9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl10.vf
new file mode 100644
index 0000000000..f5da7b220c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl12.vf
new file mode 100644
index 0000000000..0a321c7565
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl8.vf
new file mode 100644
index 0000000000..5647286362
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl9.vf
new file mode 100644
index 0000000000..9ce0dce3b0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsl9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsltt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsltt10.vf
new file mode 100644
index 0000000000..34c39b998d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmsltt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss10.vf
new file mode 100644
index 0000000000..bcb4355ad0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss12.vf
new file mode 100644
index 0000000000..a79a938a82
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss17.vf
new file mode 100644
index 0000000000..749c1be4c6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss8.vf
new file mode 100644
index 0000000000..299d66936c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss9.vf
new file mode 100644
index 0000000000..22146cdf20
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmss9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssbx10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssbx10.vf
new file mode 100644
index 0000000000..6efa66a8e2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssdc10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssdc10.vf
new file mode 100644
index 0000000000..b772e16ae2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssdc10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi10.vf
new file mode 100644
index 0000000000..432447ed59
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi12.vf
new file mode 100644
index 0000000000..e071d059e3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi17.vf
new file mode 100644
index 0000000000..71235dc06d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi8.vf
new file mode 100644
index 0000000000..41072aa83a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi9.vf
new file mode 100644
index 0000000000..f1ad950200
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssi9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssq8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssq8.vf
new file mode 100644
index 0000000000..902ff3ce63
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssq8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssqi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssqi8.vf
new file mode 100644
index 0000000000..f3f64ad33d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmssqi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti10.vf
new file mode 100644
index 0000000000..d8feac32ed
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti12.vf
new file mode 100644
index 0000000000..be4681407a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti7.vf
new file mode 100644
index 0000000000..c723badaa7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti8.vf
new file mode 100644
index 0000000000..36bc3be31a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti9.vf
new file mode 100644
index 0000000000..3082e948ae
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmti9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt10.vf
new file mode 100644
index 0000000000..5e375a7847
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt12.vf
new file mode 100644
index 0000000000..505ae4d3e8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt8.vf
new file mode 100644
index 0000000000..33800df857
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt9.vf
new file mode 100644
index 0000000000..bee7034c99
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmtt9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmu10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmu10.vf
new file mode 100644
index 0000000000..f08c04581a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6d/xcmu10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/cmiso b/fonts/cyrillic/cmcyr/vf/cmcyr6i/cmiso
new file mode 100644
index 0000000000..67a7e05b9d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/cmiso
@@ -0,0 +1 @@
+0 0 128 % copy all 128 characters
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/cmisoe b/fonts/cyrillic/cmcyr/vf/cmcyr6i/cmisoe
new file mode 100644
index 0000000000..a70e25cd4e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/cmisoe
@@ -0,0 +1,5 @@
+0 0 60 % copy upto "<" char
+60 128 1 % save this character
+61 61 1 % copy one char
+62 129 1 % save this character
+63 63 65 % copy the rest just after ">" char
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/cyriso b/fonts/cyrillic/cmcyr/vf/cmcyr6i/cyriso
new file mode 100644
index 0000000000..28f1a0624c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/cyriso
@@ -0,0 +1,64 @@
+ 64 238 1 % @ - > yu
+ 65 208 1 % A - > a
+ 66 209 1 % B - > be
+ 67 230 1 % C - > tse
+ 68 212 1 % D - > de
+ 69 213 1 % E - > ie
+ 70 228 1 % F - > ef
+ 71 211 1 % G - > ghe
+ 72 229 1 % H - > ha
+ 73 216 1 % I - > i
+ 74 217 1 % J - > short i
+ 75 218 1 % K - > ka
+ 76 219 1 % L - > el
+ 77 220 1 % M - > em
+ 78 221 1 % N - > en
+ 79 222 1 % O - > o
+ 80 223 1 % P - > pe
+ 81 239 1 % Q - > ya
+ 82 224 1 % R - > er
+ 83 225 1 % S - > es
+ 84 226 1 % T - > te
+ 85 227 1 % U - > u
+ 86 214 1 % V - > zhe
+ 87 210 1 % W - > ve
+ 88 236 1 % X - > soft sign
+ 89 235 1 % Y - > yeru
+ 90 215 1 % Z - > ze
+ 91 232 1 % [ - > sha
+ 92 237 1 % \ - > e
+ 93 233 1 % ] - > shcha
+ 94 231 1 % ^ - > che
+ 95 234 1 % _ - > hard sign
+ 96 206 1 % ` - > YU
+ 97 176 1 % a - > A
+ 98 177 1 % b - > BE
+ 99 198 1 % c - > TSE
+100 180 1 % d - > DE
+101 181 1 % e - > IE
+102 196 1 % f - > EF
+103 179 1 % g - > GHE
+104 197 1 % h - > HA
+105 184 1 % i - > I
+106 185 1 % j - > SHORT i
+107 186 1 % k - > KA
+108 187 1 % l - > EL
+109 188 1 % m - > EM
+110 189 1 % n - > EN
+111 190 1 % o - > O
+112 191 1 % p - > PE
+113 207 1 % q - > YA
+114 192 1 % r - > ER
+115 193 1 % s - > ES
+116 194 1 % t - > TE
+117 195 1 % u - > U
+118 182 1 % v - > ZHE
+119 178 1 % w - > VE
+120 204 1 % x - > SOFT sign
+121 203 1 % y - > YERU
+122 183 1 % z - > ZE
+123 200 1 % { - > SHA
+124 205 1 % | - > E
+125 201 1 % } - > SHCHA
+126 199 1 % ~ - > CHE
+127 202 1 % ? - > HARD sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/cyrisoe b/fonts/cyrillic/cmcyr/vf/cmcyr6i/cyrisoe
new file mode 100644
index 0000000000..0eaa4c4acd
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/cyrisoe
@@ -0,0 +1,69 @@
+ 64 238 1 % @ - > yu
+ 65 208 1 % A - > a
+ 66 209 1 % B - > be
+ 67 230 1 % C - > tse
+ 68 212 1 % D - > de
+ 69 213 1 % E - > ie
+ 70 228 1 % F - > ef
+ 71 211 1 % G - > ghe
+ 72 229 1 % H - > ha
+ 73 216 1 % I - > i
+ 74 217 1 % J - > short i
+ 75 218 1 % K - > ka
+ 76 219 1 % L - > el
+ 77 220 1 % M - > em
+ 78 221 1 % N - > en
+ 79 222 1 % O - > o
+ 80 223 1 % P - > pe
+ 81 239 1 % Q - > ya
+ 82 224 1 % R - > er
+ 83 225 1 % S - > es
+ 84 226 1 % T - > te
+ 85 227 1 % U - > u
+ 86 214 1 % V - > zhe
+ 87 210 1 % W - > ve
+ 88 236 1 % X - > soft sign
+ 89 235 1 % Y - > yeru
+ 90 215 1 % Z - > ze
+ 91 232 1 % [ - > sha
+ 92 237 1 % \ - > e
+ 93 233 1 % ] - > shcha
+ 94 231 1 % ^ - > che
+ 95 234 1 % _ - > hard sign
+ 96 206 1 % ` - > YU
+ 97 176 1 % a - > A
+ 98 177 1 % b - > BE
+ 99 198 1 % c - > TSE
+100 180 1 % d - > DE
+101 181 1 % e - > IE
+102 196 1 % f - > EF
+103 179 1 % g - > GHE
+104 197 1 % h - > HA
+105 184 1 % i - > I
+106 185 1 % j - > SHORT i
+107 186 1 % k - > KA
+108 187 1 % l - > EL
+109 188 1 % m - > EM
+110 189 1 % n - > EN
+111 190 1 % o - > O
+112 191 1 % p - > PE
+113 207 1 % q - > YA
+114 192 1 % r - > ER
+115 193 1 % s - > ES
+116 194 1 % t - > TE
+117 195 1 % u - > U
+118 182 1 % v - > ZHE
+119 178 1 % w - > VE
+120 204 1 % x - > SOFT sign
+121 203 1 % y - > YERU
+122 183 1 % z - > ZE
+123 200 1 % { - > SHA
+124 205 1 % | - > E
+125 201 1 % } - > SHCHA
+126 199 1 % ~ - > CHE
+127 202 1 % ? - > HARD sign
+ 62 161 1 % ? - > YO
+ 60 241 1 % ? - > yo
+ 29 60 1 % - > rewrite < characters by <<
+ 30 62 1 % - > rewrite > characters by >>
+ 25 240 1 % - > numero sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/merge.6i b/fonts/cyrillic/cmcyr/vf/cmcyr6i/merge.6i
new file mode 100644
index 0000000000..3afe616f77
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/merge.6i
@@ -0,0 +1,60 @@
+ycmb10 -tcmisoe cmb10 -tcyrisoe cmcb10
+ycmbx5 -tcmisoe cmbx5 -tcyrisoe cmcbx5
+ycmbx6 -tcmisoe cmbx6 -tcyrisoe cmcbx6
+ycmbx7 -tcmisoe cmbx7 -tcyrisoe cmcbx7
+ycmbx8 -tcmisoe cmbx8 -tcyrisoe cmcbx8
+ycmbx9 -tcmisoe cmbx9 -tcyrisoe cmcbx9
+ycmbx10 -tcmisoe cmbx10 -tcyrisoe cmcbx10
+ycmbx12 -tcmisoe cmbx12 -tcyrisoe cmcbx12
+ycmbxsl10 -tcmisoe cmbxsl10 -tcyrisoe cmcbxsl10
+ycmbxti10 -tcmisoe cmbxti10 -tcyrisoe cmcbxti10
+ycmcsc8 -tcmisoe cmcsc8 -tcyrisoe cmccsc8
+ycmcsc9 -tcmisoe cmcsc9 -tcyrisoe cmccsc9
+ycmcsc10 -tcmisoe cmcsc10 -tcyrisoe cmccsc10
+ycminch -tcmisoe cminch -tcyrisoe cmcinch
+ycmmi5 -tcmiso cmmi5 -tcyriso cmcyr5
+ycmmi6 -tcmiso cmmi6 -tcyriso cmcyr6
+ycmmi7 -tcmiso cmmi7 -tcyriso cmcti7
+ycmmi8 -tcmiso cmmi8 -tcyriso cmcti8
+ycmmi9 -tcmiso cmmi9 -tcyriso cmcti9
+ycmmi10 -tcmiso cmmi10 -tcyriso cmcti10
+ycmmi12 -tcmiso cmmi12 -tcyriso cmcti12
+ycmmib10 -tcmiso cmmib10 -tcyriso cmcbx10
+ycmitt10 -tcmiso cmitt10 -tcyriso cmcitt10
+ycmr5 -tcmisoe cmr5 -tcyrisoe cmcyr5
+ycmr6 -tcmisoe cmr6 -tcyrisoe cmcyr6
+ycmr7 -tcmisoe cmr7 -tcyrisoe cmcyr7
+ycmr8 -tcmisoe cmr8 -tcyrisoe cmcyr8
+ycmr9 -tcmisoe cmr9 -tcyrisoe cmcyr9
+ycmr10 -tcmisoe cmr10 -tcyrisoe cmcyr10
+ycmr12 -tcmisoe cmr12 -tcyrisoe cmcyr12
+ycmr17 -tcmisoe cmr17 -tcyrisoe cmcyr17
+ycmsl8 -tcmisoe cmsl8 -tcyrisoe cmcsl8
+ycmsl9 -tcmisoe cmsl9 -tcyrisoe cmcsl9
+ycmsl10 -tcmisoe cmsl10 -tcyrisoe cmcsl10
+ycmsl12 -tcmisoe cmsl12 -tcyrisoe cmcsl12
+ycmsltt10 -tcmisoe cmsltt10 -tcyrisoe cmcsltt10
+ycmss8 -tcmisoe cmss8 -tcyrisoe cmcss8
+ycmssq8 -tcmisoe cmssq8 -tcyrisoe cmcssq8
+ycmssqi8 -tcmisoe cmssqi8 -tcyrisoe cmcssqi8
+ycmss9 -tcmisoe cmss9 -tcyrisoe cmcss9
+ycmss10 -tcmisoe cmss10 -tcyrisoe cmcss10
+ycmss12 -tcmisoe cmss12 -tcyrisoe cmcss12
+ycmss17 -tcmisoe cmss17 -tcyrisoe cmcss17
+ycmssbx10 -tcmisoe cmssbx10 -tcyrisoe cmcssbx10
+ycmssdc10 -tcmisoe cmssdc10 -tcyrisoe cmcssdc10
+ycmssi8 -tcmisoe cmssi8 -tcyrisoe cmcssi8
+ycmssi9 -tcmisoe cmssi9 -tcyrisoe cmcssi9
+ycmssi10 -tcmisoe cmssi10 -tcyrisoe cmcssi10
+ycmssi12 -tcmisoe cmssi12 -tcyrisoe cmcssi12
+ycmssi17 -tcmisoe cmssi17 -tcyrisoe cmcssi17
+ycmti7 -tcmisoe cmti7 -tcyrisoe cmcti7
+ycmti8 -tcmisoe cmti8 -tcyrisoe cmcti8
+ycmti9 -tcmisoe cmti9 -tcyrisoe cmcti9
+ycmti10 -tcmisoe cmti10 -tcyrisoe cmcti10
+ycmti12 -tcmisoe cmti12 -tcyrisoe cmcti12
+ycmtt8 -tcmiso cmtt8 -tcyriso cmctt8
+ycmtt9 -tcmiso cmtt9 -tcyriso cmctt9
+ycmtt10 -tcmiso cmtt10 -tcyriso cmctt10
+ycmtt12 -tcmiso cmtt12 -tcyriso cmctt12
+ycmu10 -tcmisoe cmu10 -tcyrisoe cmcu10
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/merge.bat b/fonts/cyrillic/cmcyr/vf/cmcyr6i/merge.bat
new file mode 100644
index 0000000000..93466b2c04
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/merge.bat
@@ -0,0 +1,3 @@
+set TF=f:\tex\texmf\fonts\tfm\public
+set TEXTFM=%TF%\cmcyr;%TF%\cm;%TF%\extracm
+f:\tex\bin\dos\tfmerge -lmerge.6i
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/wnciso b/fonts/cyrillic/cmcyr/vf/cmcyr6i/wnciso
new file mode 100644
index 0000000000..76d565fd0c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/wnciso
@@ -0,0 +1,64 @@
+ 16 206 1 % ? - > YU
+ 17 182 1 % ? - > ZHE
+ 18 185 1 % ? - > SHORT I
+ 19 161 1 % ? - > YO
+ 23 207 1 % ? - > YA
+ 65 176 1 % A - > A
+ 66 177 1 % B - > BE
+ 67 198 1 % C - > TSE
+ 68 180 1 % D - > DE
+ 69 181 1 % E - > IE
+ 70 196 1 % F - > EF
+ 71 179 1 % G - > GHE
+ 72 197 1 % H - > HA
+ 73 184 1 % I - > I
+ 75 186 1 % K - > KA
+ 76 187 1 % L - > EL
+ 77 188 1 % M - > EM
+ 78 189 1 % N - > EN
+ 79 190 1 % O - > O
+ 80 191 1 % P - > PE
+ 81 199 1 % Q - > CHE
+ 82 192 1 % R - > ER
+ 83 193 1 % S - > ES
+ 84 194 1 % T - > TE
+ 85 195 1 % U - > U
+ 86 178 1 % V - > VE
+ 87 201 1 % W - > SHCHA
+ 88 200 1 % X - > SHA
+ 89 203 1 % Y - > YERU
+ 90 183 1 % Z - > ZE
+ 94 202 1 % ^ - > SOFT SIGN
+ 95 204 1 % _ - > HARD SIGN
+ 21 238 1 % ? - > yu
+ 22 214 1 % ? - > zhe
+ 23 217 1 % ? - > short i
+ 24 241 1 % ? - > yo
+ 31 239 1 % ? - > ya
+ 97 208 1 % a - > a
+ 98 209 1 % b - > be
+ 99 230 1 % c - > tse
+100 212 1 % d - > de
+101 213 1 % e - > ie
+102 228 1 % f - > ef
+103 211 1 % g - > ghe
+104 229 1 % h - > ha
+105 216 1 % i - > i
+107 218 1 % k - > ka
+108 219 1 % l - > el
+109 220 1 % m - > em
+110 221 1 % n - > en
+111 222 1 % o - > o
+112 223 1 % p - > pe
+113 231 1 % q - > che
+114 224 1 % r - > er
+115 225 1 % s - > es
+116 226 1 % t - > te
+117 227 1 % u - > u
+118 210 1 % v - > ve
+119 233 1 % w - > shcha
+120 232 1 % x - > sha
+121 235 1 % y - > yeru
+122 215 1 % z - > ze
+126 237 1 % ^ - > soft sign
+127 234 1 % _ - > hard sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/wncisoe b/fonts/cyrillic/cmcyr/vf/cmcyr6i/wncisoe
new file mode 100644
index 0000000000..092492ccb0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/wncisoe
@@ -0,0 +1,66 @@
+ 16 206 1 % ? - > YU
+ 17 182 1 % ? - > ZHE
+ 18 185 1 % ? - > SHORT I
+ 19 161 1 % ? - > YO
+ 23 207 1 % ? - > YA
+ 65 176 1 % A - > A
+ 66 177 1 % B - > BE
+ 67 198 1 % C - > TSE
+ 68 180 1 % D - > DE
+ 69 181 1 % E - > IE
+ 70 196 1 % F - > EF
+ 71 179 1 % G - > GHE
+ 72 197 1 % H - > HA
+ 73 184 1 % I - > I
+ 75 186 1 % K - > KA
+ 76 187 1 % L - > EL
+ 77 188 1 % M - > EM
+ 78 189 1 % N - > EN
+ 79 190 1 % O - > O
+ 80 191 1 % P - > PE
+ 81 199 1 % Q - > CHE
+ 82 192 1 % R - > ER
+ 83 193 1 % S - > ES
+ 84 194 1 % T - > TE
+ 85 195 1 % U - > U
+ 86 178 1 % V - > VE
+ 87 201 1 % W - > SHCHA
+ 88 200 1 % X - > SHA
+ 89 203 1 % Y - > YERU
+ 90 183 1 % Z - > ZE
+ 94 202 1 % ^ - > SOFT SIGN
+ 95 204 1 % _ - > HARD SIGN
+ 21 238 1 % ? - > yu
+ 22 214 1 % ? - > zhe
+ 23 217 1 % ? - > short i
+ 24 241 1 % ? - > yo
+ 31 239 1 % ? - > ya
+ 97 208 1 % a - > a
+ 98 209 1 % b - > be
+ 99 230 1 % c - > tse
+100 212 1 % d - > de
+101 213 1 % e - > ie
+102 228 1 % f - > ef
+103 211 1 % g - > ghe
+104 229 1 % h - > ha
+105 216 1 % i - > i
+107 218 1 % k - > ka
+108 219 1 % l - > el
+109 220 1 % m - > em
+110 221 1 % n - > en
+111 222 1 % o - > o
+112 223 1 % p - > pe
+113 231 1 % q - > che
+114 224 1 % r - > er
+115 225 1 % s - > es
+116 226 1 % t - > te
+117 227 1 % u - > u
+118 210 1 % v - > ve
+119 233 1 % w - > shcha
+120 232 1 % x - > sha
+121 235 1 % y - > yeru
+122 215 1 % z - > ze
+126 237 1 % ^ - > soft sign
+127 234 1 % _ - > hard sign
+ 29 60 1 % - > rewrite < characters by <<
+ 30 62 1 % - > rewrite > characters by >>
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmb10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmb10.vf
new file mode 100644
index 0000000000..3838645baf
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmb10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx10.vf
new file mode 100644
index 0000000000..172f79d7a5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx12.vf
new file mode 100644
index 0000000000..3b08ec4196
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx5.vf
new file mode 100644
index 0000000000..dc15676470
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx6.vf
new file mode 100644
index 0000000000..b3b3b9625e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx7.vf
new file mode 100644
index 0000000000..c8829b1212
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx8.vf
new file mode 100644
index 0000000000..a46ab789af
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx9.vf
new file mode 100644
index 0000000000..4bdf3fbb87
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbx9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbxsl10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbxsl10.vf
new file mode 100644
index 0000000000..03d48bd4df
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbxsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbxti10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbxti10.vf
new file mode 100644
index 0000000000..f5610930e9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmbxti10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc10.vf
new file mode 100644
index 0000000000..9ecfb93bf6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc8.vf
new file mode 100644
index 0000000000..474e84eb7e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc9.vf
new file mode 100644
index 0000000000..6a38ba7a92
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmcsc9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycminch.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycminch.vf
new file mode 100644
index 0000000000..b652152778
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycminch.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmitt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmitt10.vf
new file mode 100644
index 0000000000..b96e30bc2b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmitt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi10.vf
new file mode 100644
index 0000000000..cfe80ae5b5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi12.vf
new file mode 100644
index 0000000000..be28b4cd28
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi5.vf
new file mode 100644
index 0000000000..61967151b4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi6.vf
new file mode 100644
index 0000000000..cb580cf529
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi7.vf
new file mode 100644
index 0000000000..c24bfc24e8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi8.vf
new file mode 100644
index 0000000000..9de367b7ad
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi9.vf
new file mode 100644
index 0000000000..072acc8998
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmi9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmib10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmib10.vf
new file mode 100644
index 0000000000..39bb997ac7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmmib10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr10.vf
new file mode 100644
index 0000000000..43bef9da4c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr12.vf
new file mode 100644
index 0000000000..058b9ae0be
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr17.vf
new file mode 100644
index 0000000000..3167254876
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr5.vf
new file mode 100644
index 0000000000..f58d520a43
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr6.vf
new file mode 100644
index 0000000000..35dde8cc5f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr7.vf
new file mode 100644
index 0000000000..96de20b02f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr8.vf
new file mode 100644
index 0000000000..c9763e25f2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr9.vf
new file mode 100644
index 0000000000..d45701c179
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmr9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl10.vf
new file mode 100644
index 0000000000..276abd3285
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl12.vf
new file mode 100644
index 0000000000..8b61ca08cf
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl8.vf
new file mode 100644
index 0000000000..5fe63d4459
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl9.vf
new file mode 100644
index 0000000000..06ae742afe
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsl9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsltt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsltt10.vf
new file mode 100644
index 0000000000..e4fbb97205
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmsltt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss10.vf
new file mode 100644
index 0000000000..14acd705d5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss12.vf
new file mode 100644
index 0000000000..35062e5f16
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss17.vf
new file mode 100644
index 0000000000..06ea025663
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss8.vf
new file mode 100644
index 0000000000..c9e5f8b60b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss9.vf
new file mode 100644
index 0000000000..73172859ee
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmss9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssbx10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssbx10.vf
new file mode 100644
index 0000000000..88f55ce817
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssdc10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssdc10.vf
new file mode 100644
index 0000000000..1d288cec50
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssdc10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi10.vf
new file mode 100644
index 0000000000..45c8b974e2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi12.vf
new file mode 100644
index 0000000000..225cc89433
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi17.vf
new file mode 100644
index 0000000000..d41758998f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi8.vf
new file mode 100644
index 0000000000..8ee99094b5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi9.vf
new file mode 100644
index 0000000000..a8ad459d03
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssi9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssq8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssq8.vf
new file mode 100644
index 0000000000..a96efffdaf
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssq8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssqi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssqi8.vf
new file mode 100644
index 0000000000..afbd7fcbe6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmssqi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti10.vf
new file mode 100644
index 0000000000..015e1697ae
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti12.vf
new file mode 100644
index 0000000000..a00f132623
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti7.vf
new file mode 100644
index 0000000000..2a26906a02
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti8.vf
new file mode 100644
index 0000000000..478595ac69
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti9.vf
new file mode 100644
index 0000000000..a7839f6751
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmti9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt10.vf
new file mode 100644
index 0000000000..5f4447dc96
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt12.vf
new file mode 100644
index 0000000000..6d73c4b084
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt8.vf
new file mode 100644
index 0000000000..a42b1d582e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt9.vf
new file mode 100644
index 0000000000..262f008e24
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmtt9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmu10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmu10.vf
new file mode 100644
index 0000000000..13afc59294
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6i/ycmu10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkde b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkde
new file mode 100644
index 0000000000..67a7e05b9d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkde
@@ -0,0 +1 @@
+0 0 128 % copy all 128 characters
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkdee b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkdee
new file mode 100644
index 0000000000..a70e25cd4e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkdee
@@ -0,0 +1,5 @@
+0 0 60 % copy upto "<" char
+60 128 1 % save this character
+61 61 1 % copy one char
+62 129 1 % save this character
+63 63 65 % copy the rest just after ">" char
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkoi8 b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkoi8
new file mode 100644
index 0000000000..67a7e05b9d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkoi8
@@ -0,0 +1 @@
+0 0 128 % copy all 128 characters
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkoi8e b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkoi8e
new file mode 100644
index 0000000000..a70e25cd4e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cmkoi8e
@@ -0,0 +1,5 @@
+0 0 60 % copy upto "<" char
+60 128 1 % save this character
+61 61 1 % copy one char
+62 129 1 % save this character
+63 63 65 % copy the rest just after ">" char
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkde b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkde
new file mode 100644
index 0000000000..79af5b69b4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkde
@@ -0,0 +1,2 @@
+ 64 192 63 % all charcatres are shifted at 128 positions
+127 191 1 % HARD SIGN
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkdee b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkdee
new file mode 100644
index 0000000000..b562b09187
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkdee
@@ -0,0 +1,4 @@
+ 64 192 63 % all charcatres are shifted at 128 positions
+127 191 1
+ 29 60 1 % - > rewrite < characters by <<
+ 30 62 1 % - > rewrite > characters by >>
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkoi8 b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkoi8
new file mode 100644
index 0000000000..9976e8e0f1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkoi8
@@ -0,0 +1 @@
+ 64 192 64 % all charcatres are shifted at 128 positions
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkoi8e b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkoi8e
new file mode 100644
index 0000000000..bda87c7013
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/cyrkoi8e
@@ -0,0 +1,4 @@
+ 64 192 64 % all charcatres are shifted at 128 positions
+ 29 60 1 % - > rewrite < characters by <<
+ 30 62 1 % - > rewrite > characters by >>
+ 25 136 1 % numero sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmb10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmb10.vf
new file mode 100644
index 0000000000..4ab4e51537
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmb10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx10.vf
new file mode 100644
index 0000000000..f7df7bbbb6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx12.vf
new file mode 100644
index 0000000000..4e9c846515
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx5.vf
new file mode 100644
index 0000000000..8cd2c4ed48
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx6.vf
new file mode 100644
index 0000000000..c4f5d9bfdf
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx7.vf
new file mode 100644
index 0000000000..1f7e178ad9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx8.vf
new file mode 100644
index 0000000000..62abdf98ea
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx9.vf
new file mode 100644
index 0000000000..8c34d9d999
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbx9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbxsl10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbxsl10.vf
new file mode 100644
index 0000000000..57bfd21d40
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbxsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbxti10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbxti10.vf
new file mode 100644
index 0000000000..fb275ebcf9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmbxti10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc10.vf
new file mode 100644
index 0000000000..8e7d18993f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc8.vf
new file mode 100644
index 0000000000..6761736a83
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc9.vf
new file mode 100644
index 0000000000..c23801083c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmcsc9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcminch.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcminch.vf
new file mode 100644
index 0000000000..8225ed05da
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcminch.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmitt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmitt10.vf
new file mode 100644
index 0000000000..4365544d64
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmitt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi10.vf
new file mode 100644
index 0000000000..055dfb6301
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi12.vf
new file mode 100644
index 0000000000..174ea6d9f1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi5.vf
new file mode 100644
index 0000000000..cf8a121206
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi6.vf
new file mode 100644
index 0000000000..2e432f9d05
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi7.vf
new file mode 100644
index 0000000000..bb2f73a12c
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi8.vf
new file mode 100644
index 0000000000..4b4a0ede3d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi9.vf
new file mode 100644
index 0000000000..6b632bb965
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmi9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmib10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmib10.vf
new file mode 100644
index 0000000000..46163143cb
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmmib10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr10.vf
new file mode 100644
index 0000000000..9efcd51289
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr12.vf
new file mode 100644
index 0000000000..bbb2aef5a2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr17.vf
new file mode 100644
index 0000000000..92897deb59
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr5.vf
new file mode 100644
index 0000000000..21a819a360
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr6.vf
new file mode 100644
index 0000000000..f90d5784fe
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr7.vf
new file mode 100644
index 0000000000..ee9f76df51
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr8.vf
new file mode 100644
index 0000000000..428bc9a117
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr9.vf
new file mode 100644
index 0000000000..263828e5de
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmr9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl10.vf
new file mode 100644
index 0000000000..bb1132141a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl12.vf
new file mode 100644
index 0000000000..ee6cfe2745
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl8.vf
new file mode 100644
index 0000000000..d4ce093c7b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl9.vf
new file mode 100644
index 0000000000..8f5ad7e34a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsl9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsltt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsltt10.vf
new file mode 100644
index 0000000000..b2935d7fe6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmsltt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss10.vf
new file mode 100644
index 0000000000..8f46472925
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss12.vf
new file mode 100644
index 0000000000..64c94cf2d1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss17.vf
new file mode 100644
index 0000000000..0d919d95a8
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss8.vf
new file mode 100644
index 0000000000..13cc546414
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss9.vf
new file mode 100644
index 0000000000..5d89142e1a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmss9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssbx10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssbx10.vf
new file mode 100644
index 0000000000..e36174ec51
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssdc10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssdc10.vf
new file mode 100644
index 0000000000..e5758aedb9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssdc10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi10.vf
new file mode 100644
index 0000000000..c7009a8993
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi12.vf
new file mode 100644
index 0000000000..7cb1cc096f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi17.vf
new file mode 100644
index 0000000000..b08e078a4e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi8.vf
new file mode 100644
index 0000000000..94f4bb9f28
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi9.vf
new file mode 100644
index 0000000000..ecad32a44e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssi9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssq8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssq8.vf
new file mode 100644
index 0000000000..efe8abcd8f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssq8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssqi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssqi8.vf
new file mode 100644
index 0000000000..3aad072c53
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmssqi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti10.vf
new file mode 100644
index 0000000000..87a5a353c3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti12.vf
new file mode 100644
index 0000000000..c4b6642e5a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti7.vf
new file mode 100644
index 0000000000..07c775999e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti8.vf
new file mode 100644
index 0000000000..1d1afdcb92
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti9.vf
new file mode 100644
index 0000000000..69a4aba2cf
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmti9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt10.vf
new file mode 100644
index 0000000000..45f14e86a9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt12.vf
new file mode 100644
index 0000000000..731474f109
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt8.vf
new file mode 100644
index 0000000000..8c46d574f2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt9.vf
new file mode 100644
index 0000000000..f3e6f263fe
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmtt9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmu10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmu10.vf
new file mode 100644
index 0000000000..9d0dff1796
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/kcmu10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.6k b/fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.6k
new file mode 100644
index 0000000000..635a951823
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.6k
@@ -0,0 +1,60 @@
+kcmb10 -tcmkoi8e cmb10 -tcyrkoi8e cmcb10
+kcmbx5 -tcmkoi8e cmbx5 -tcyrkoi8e cmcbx5
+kcmbx6 -tcmkoi8e cmbx6 -tcyrkoi8e cmcbx6
+kcmbx7 -tcmkoi8e cmbx7 -tcyrkoi8e cmcbx7
+kcmbx8 -tcmkoi8e cmbx8 -tcyrkoi8e cmcbx8
+kcmbx9 -tcmkoi8e cmbx9 -tcyrkoi8e cmcbx9
+kcmbx10 -tcmkoi8e cmbx10 -tcyrkoi8e cmcbx10
+kcmbx12 -tcmkoi8e cmbx12 -tcyrkoi8e cmcbx12
+kcmbxsl10 -tcmkoi8e cmbxsl10 -tcyrkoi8e cmcbxsl10
+kcmbxti10 -tcmkoi8e cmbxti10 -tcyrkoi8e cmcbxti10
+kcmcsc8 -tcmkoi8e cmcsc8 -tcyrkoi8e cmccsc8
+kcmcsc9 -tcmkoi8e cmcsc9 -tcyrkoi8e cmccsc9
+kcmcsc10 -tcmkoi8e cmcsc10 -tcyrkoi8e cmccsc10
+kcminch -tcmkoi8e cminch -tcyrkoi8e cmcinch
+kcmmi5 -tcmkoi8 cmmi5 -tcyrkoi8 cmcyr5
+kcmmi6 -tcmkoi8 cmmi6 -tcyrkoi8 cmcyr6
+kcmmi7 -tcmkoi8 cmmi7 -tcyrkoi8 cmcti7
+kcmmi8 -tcmkoi8 cmmi8 -tcyrkoi8 cmcti8
+kcmmi9 -tcmkoi8 cmmi9 -tcyrkoi8 cmcti9
+kcmmi10 -tcmkoi8 cmmi10 -tcyrkoi8 cmcti10
+kcmmi12 -tcmkoi8 cmmi12 -tcyrkoi8 cmcti12
+kcmmib10 -tcmkoi8 cmmib10 -tcyrkoi8 cmcbx10
+kcmitt10 -tcmkoi8 cmitt10 -tcyrkoi8 cmcitt10
+kcmr5 -tcmkoi8e cmr5 -tcyrkoi8e cmcyr5
+kcmr6 -tcmkoi8e cmr6 -tcyrkoi8e cmcyr6
+kcmr7 -tcmkoi8e cmr7 -tcyrkoi8e cmcyr7
+kcmr8 -tcmkoi8e cmr8 -tcyrkoi8e cmcyr8
+kcmr9 -tcmkoi8e cmr9 -tcyrkoi8e cmcyr9
+kcmr10 -tcmkoi8e cmr10 -tcyrkoi8e cmcyr10
+kcmr12 -tcmkoi8e cmr12 -tcyrkoi8e cmcyr12
+kcmr17 -tcmkoi8e cmr17 -tcyrkoi8e cmcyr17
+kcmsl8 -tcmkoi8e cmsl8 -tcyrkoi8e cmcsl8
+kcmsl9 -tcmkoi8e cmsl9 -tcyrkoi8e cmcsl9
+kcmsl10 -tcmkoi8e cmsl10 -tcyrkoi8e cmcsl10
+kcmsl12 -tcmkoi8e cmsl12 -tcyrkoi8e cmcsl12
+kcmsltt10 -tcmkoi8 cmsltt10 -tcyrkoi8 cmcsltt10
+kcmss8 -tcmkoi8e cmss8 -tcyrkoi8e cmcss8
+kcmssq8 -tcmkoi8e cmssq8 -tcyrkoi8e cmcssq8
+kcmssqi8 -tcmkoi8e cmssqi8 -tcyrkoi8e cmcssqi8
+kcmss9 -tcmkoi8e cmss9 -tcyrkoi8e cmcss9
+kcmss10 -tcmkoi8e cmss10 -tcyrkoi8e cmcss10
+kcmss12 -tcmkoi8e cmss12 -tcyrkoi8e cmcss12
+kcmss17 -tcmkoi8e cmss17 -tcyrkoi8e cmcss17
+kcmssbx10 -tcmkoi8e cmssbx10 -tcyrkoi8e cmcssbx10
+kcmssdc10 -tcmkoi8e cmssdc10 -tcyrkoi8e cmcssdc10
+kcmssi8 -tcmkoi8e cmssi8 -tcyrkoi8e cmcssi8
+kcmssi9 -tcmkoi8e cmssi9 -tcyrkoi8e cmcssi9
+kcmssi10 -tcmkoi8e cmssi10 -tcyrkoi8e cmcssi10
+kcmssi12 -tcmkoi8e cmssi12 -tcyrkoi8e cmcssi12
+kcmssi17 -tcmkoi8e cmssi17 -tcyrkoi8e cmcssi17
+kcmti7 -tcmkoi8e cmti7 -tcyrkoi8e cmcti7
+kcmti8 -tcmkoi8e cmti8 -tcyrkoi8e cmcti8
+kcmti9 -tcmkoi8e cmti9 -tcyrkoi8e cmcti9
+kcmti10 -tcmkoi8e cmti10 -tcyrkoi8e cmcti10
+kcmti12 -tcmkoi8e cmti12 -tcyrkoi8e cmcti12
+kcmtt8 -tcmkoi8 cmtt8 -tcyrkoi8 cmctt8
+kcmtt9 -tcmkoi8 cmtt9 -tcyrkoi8 cmctt9
+kcmtt10 -tcmkoi8 cmtt10 -tcyrkoi8 cmctt10
+kcmtt12 -tcmkoi8 cmtt12 -tcyrkoi8 cmctt12
+kcmu10 -tcmkoi8e cmu10 -tcyrkoi8e cmcu10
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.bat b/fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.bat
new file mode 100644
index 0000000000..a62d8cf6e2
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.bat
@@ -0,0 +1,3 @@
+set TF=f:\tex\texmf\fonts\tfm\public
+set TEXTFM=%TF%\cmcyr;%TF%\cm;%TF%\extracm
+f:\tex\bin\dos\tfmerge -lmerge.6k
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.koi b/fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.koi
new file mode 100644
index 0000000000..76a6a28da7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/merge.koi
@@ -0,0 +1,60 @@
+xcmb10 -tcmkoi8e cmb10 -tcyrkoi8e cmcb10
+xcmbx5 -tcmkoi8e cmbx5 -tcyrkoi8e cmcbx5
+xcmbx6 -tcmkoi8e cmbx6 -tcyrkoi8e cmcbx6
+xcmbx7 -tcmkoi8e cmbx7 -tcyrkoi8e cmcbx7
+xcmbx8 -tcmkoi8e cmbx8 -tcyrkoi8e cmcbx8
+xcmbx9 -tcmkoi8e cmbx9 -tcyrkoi8e cmcbx9
+xcmbx10 -tcmkoi8e cmbx10 -tcyrkoi8e cmcbx10
+xcmbx12 -tcmkoi8e cmbx12 -tcyrkoi8e cmcbx12
+xcmbxsl10 -tcmkoi8e cmbxsl10 -tcyrkoi8e cmcbxsl10
+xcmbxti10 -tcmkoi8e cmbxti10 -tcyrkoi8e cmcbxti10
+xcmcsc8 -tcmkoi8e cmcsc8 -tcyrkoi8e cmccsc8
+xcmcsc9 -tcmkoi8e cmcsc9 -tcyrkoi8e cmccsc9
+xcmcsc10 -tcmkoi8e cmcsc10 -tcyrkoi8e cmccsc10
+xcminch -tcmkoi8e cminch -tcyrkoi8e cmcinch
+xcmmi5 -tcmkoi8 cmmi5 -tcyrkoi8 cmcyr5
+xcmmi6 -tcmkoi8 cmmi6 -tcyrkoi8 cmcyr6
+xcmmi7 -tcmkoi8 cmmi7 -tcyrkoi8 cmcti7
+xcmmi8 -tcmkoi8 cmmi8 -tcyrkoi8 cmcti8
+xcmmi9 -tcmkoi8 cmmi9 -tcyrkoi8 cmcti9
+xcmmi10 -tcmkoi8 cmmi10 -tcyrkoi8 cmcti10
+xcmmi12 -tcmkoi8 cmmi12 -tcyrkoi8 cmcti12
+xcmmib10 -tcmkoi8 cmmib10 -tcyrkoi8 cmcbx10
+xcmitt10 -tcmkoi8 cmitt10 -tcyrkoi8 cmcitt10
+xcmr5 -tcmkoi8e cmr5 -tcyrkoi8e cmcyr5
+xcmr6 -tcmkoi8e cmr6 -tcyrkoi8e cmcyr6
+xcmr7 -tcmkoi8e cmr7 -tcyrkoi8e cmcyr7
+xcmr8 -tcmkoi8e cmr8 -tcyrkoi8e cmcyr8
+xcmr9 -tcmkoi8e cmr9 -tcyrkoi8e cmcyr9
+xcmr10 -tcmkoi8e cmr10 -tcyrkoi8e cmcyr10
+xcmr12 -tcmkoi8e cmr12 -tcyrkoi8e cmcyr12
+xcmr17 -tcmkoi8e cmr17 -tcyrkoi8e cmcyr17
+xcmsl8 -tcmkoi8e cmsl8 -tcyrkoi8e cmcsl8
+xcmsl9 -tcmkoi8e cmsl9 -tcyrkoi8e cmcsl9
+xcmsl10 -tcmkoi8e cmsl10 -tcyrkoi8e cmcsl10
+xcmsl12 -tcmkoi8e cmsl12 -tcyrkoi8e cmcsl12
+xcmsltt10 -tcmkoi8 cmsltt10 -tcyrkoi8 cmcsltt10
+xcmss8 -tcmkoi8e cmss8 -tcyrkoi8e cmcss8
+xcmssq8 -tcmkoi8e cmssq8 -tcyrkoi8e cmcssq8
+xcmssqi8 -tcmkoi8e cmssqi8 -tcyrkoi8e cmcssqi8
+xcmss9 -tcmkoi8e cmss9 -tcyrkoi8e cmcss9
+xcmss10 -tcmkoi8e cmss10 -tcyrkoi8e cmcss10
+xcmss12 -tcmkoi8e cmss12 -tcyrkoi8e cmcss12
+xcmss17 -tcmkoi8e cmss17 -tcyrkoi8e cmcss17
+xcmssbx10 -tcmkoi8e cmssbx10 -tcyrkoi8e cmcssbx10
+xcmssdc10 -tcmkoi8e cmssdc10 -tcyrkoi8e cmcssdc10
+xcmssi8 -tcmkoi8e cmssi8 -tcyrkoi8e cmcssi8
+xcmssi9 -tcmkoi8e cmssi9 -tcyrkoi8e cmcssi9
+xcmssi10 -tcmkoi8e cmssi10 -tcyrkoi8e cmcssi10
+xcmssi12 -tcmkoi8e cmssi12 -tcyrkoi8e cmcssi12
+xcmssi17 -tcmkoi8e cmssi17 -tcyrkoi8e cmcssi17
+xcmti7 -tcmkoi8e cmti7 -tcyrkoi8e cmcti7
+xcmti8 -tcmkoi8e cmti8 -tcyrkoi8e cmcti8
+xcmti9 -tcmkoi8e cmti9 -tcyrkoi8e cmcti9
+xcmti10 -tcmkoi8e cmti10 -tcyrkoi8e cmcti10
+xcmti12 -tcmkoi8e cmti12 -tcyrkoi8e cmcti12
+xcmtt8 -tcmkoi8 cmtt8 -tcyrkoi8 cmctt8
+xcmtt9 -tcmkoi8 cmtt9 -tcyrkoi8 cmctt9
+xcmtt10 -tcmkoi8 cmtt10 -tcyrkoi8 cmctt10
+xcmtt12 -tcmkoi8 cmtt12 -tcyrkoi8 cmctt12
+xcmu10 -tcmkoi8e cmu10 -tcyrkoi8e cmcu10
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/wnckoi8 b/fonts/cyrillic/cmcyr/vf/cmcyr6k/wnckoi8
new file mode 100644
index 0000000000..4d904aabc5
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/wnckoi8
@@ -0,0 +1,62 @@
+ 16 224 1 % ? - > YU
+ 17 231 1 % ? - > ZHE
+ 18 234 1 % ? - > SHORT I
+ 23 241 1 % ? - > YA
+ 65 225 1 % A - > A
+ 66 226 1 % B - > BE
+ 67 227 1 % C - > TSE
+ 68 228 1 % D - > DE
+ 69 229 1 % E - > IE
+ 70 230 1 % F - > EF
+ 71 231 1 % G - > GHE
+ 72 232 1 % H - > HA
+ 73 233 1 % I - > I
+ 75 235 1 % K - > KA
+ 76 236 1 % L - > EL
+ 77 237 1 % M - > EM
+ 78 238 1 % N - > EN
+ 79 239 1 % O - > O
+ 80 240 1 % P - > PE
+ 81 254 1 % Q - > CHE
+ 82 242 1 % R - > ER
+ 83 243 1 % S - > ES
+ 84 244 1 % T - > TE
+ 85 245 1 % U - > U
+ 86 247 1 % V - > VE
+ 87 253 1 % W - > SHCHA
+ 88 251 1 % X - > SHA
+ 89 249 1 % Y - > YERU
+ 90 250 1 % Z - > ZE
+ 94 248 1 % ^ - > SOFT SIGN
+ 95 255 1 % _ - > HARD SIGN
+ 21 192 1 % ? - > yu
+ 22 214 1 % ? - > zhe
+ 23 202 1 % ? - > short i
+ 31 209 1 % ? - > ya
+ 97 193 1 % a - > a
+ 98 194 1 % b - > be
+ 99 195 1 % c - > tse
+100 196 1 % d - > de
+101 197 1 % e - > ie
+102 198 1 % f - > ef
+103 199 1 % g - > ghe
+104 200 1 % h - > ha
+105 201 1 % i - > i
+107 203 1 % k - > ka
+108 204 1 % l - > el
+109 205 1 % m - > em
+110 206 1 % n - > en
+111 207 1 % o - > o
+112 209 1 % p - > pe
+113 222 1 % q - > che
+114 210 1 % r - > er
+115 211 1 % s - > es
+116 212 1 % t - > te
+117 213 1 % u - > u
+118 215 1 % v - > ve
+119 221 1 % w - > shcha
+120 219 1 % x - > sha
+121 217 1 % y - > yeru
+122 218 1 % z - > ze
+126 216 1 % ^ - > soft sign
+127 223 1 % _ - > hard sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6k/wnckoi8e b/fonts/cyrillic/cmcyr/vf/cmcyr6k/wnckoi8e
new file mode 100644
index 0000000000..2d81e00a7d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6k/wnckoi8e
@@ -0,0 +1,64 @@
+ 16 224 1 % ? - > YU
+ 17 231 1 % ? - > ZHE
+ 18 234 1 % ? - > SHORT I
+ 23 241 1 % ? - > YA
+ 65 225 1 % A - > A
+ 66 226 1 % B - > BE
+ 67 227 1 % C - > TSE
+ 68 228 1 % D - > DE
+ 69 229 1 % E - > IE
+ 70 230 1 % F - > EF
+ 71 231 1 % G - > GHE
+ 72 232 1 % H - > HA
+ 73 233 1 % I - > I
+ 75 235 1 % K - > KA
+ 76 236 1 % L - > EL
+ 77 237 1 % M - > EM
+ 78 238 1 % N - > EN
+ 79 239 1 % O - > O
+ 80 240 1 % P - > PE
+ 81 254 1 % Q - > CHE
+ 82 242 1 % R - > ER
+ 83 243 1 % S - > ES
+ 84 244 1 % T - > TE
+ 85 245 1 % U - > U
+ 86 247 1 % V - > VE
+ 87 253 1 % W - > SHCHA
+ 88 251 1 % X - > SHA
+ 89 249 1 % Y - > YERU
+ 90 250 1 % Z - > ZE
+ 94 248 1 % ^ - > SOFT SIGN
+ 95 255 1 % _ - > HARD SIGN
+ 21 192 1 % ? - > yu
+ 22 214 1 % ? - > zhe
+ 23 202 1 % ? - > short i
+ 31 209 1 % ? - > ya
+ 97 193 1 % a - > a
+ 98 194 1 % b - > be
+ 99 195 1 % c - > tse
+100 196 1 % d - > de
+101 197 1 % e - > ie
+102 198 1 % f - > ef
+103 199 1 % g - > ghe
+104 200 1 % h - > ha
+105 201 1 % i - > i
+107 203 1 % k - > ka
+108 204 1 % l - > el
+109 205 1 % m - > em
+110 206 1 % n - > en
+111 207 1 % o - > o
+112 209 1 % p - > pe
+113 222 1 % q - > che
+114 210 1 % r - > er
+115 211 1 % s - > es
+116 212 1 % t - > te
+117 213 1 % u - > u
+118 215 1 % v - > ve
+119 221 1 % w - > shcha
+120 219 1 % x - > sha
+121 217 1 % y - > yeru
+122 218 1 % z - > ze
+126 216 1 % ^ - > soft sign
+127 223 1 % _ - > hard sign
+ 29 60 1 % - > rewrite < characters by <<
+ 30 62 1 % - > rewrite > characters by >>
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/cmwin b/fonts/cyrillic/cmcyr/vf/cmcyr6w/cmwin
new file mode 100644
index 0000000000..67a7e05b9d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/cmwin
@@ -0,0 +1 @@
+0 0 128 % copy all 128 characters
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/cmwine b/fonts/cyrillic/cmcyr/vf/cmcyr6w/cmwine
new file mode 100644
index 0000000000..4c14e85dd6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/cmwine
@@ -0,0 +1,5 @@
+0 0 60 % copy upto "<" char
+60 171 1 % save this character
+61 61 1 % copy one char
+62 187 1 % save this character
+63 63 65 % copy the rest just after ">" char
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/cyrwin b/fonts/cyrillic/cmcyr/vf/cmcyr6w/cyrwin
new file mode 100644
index 0000000000..b5a18a6383
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/cyrwin
@@ -0,0 +1,64 @@
+ 64 254 1 % @ - > yu
+ 65 224 1 % A - > a
+ 66 225 1 % B - > be
+ 67 246 1 % C - > tse
+ 68 228 1 % D - > de
+ 69 229 1 % E - > ie
+ 70 244 1 % F - > ef
+ 71 227 1 % G - > ghe
+ 72 245 1 % H - > ha
+ 73 232 1 % I - > i
+ 74 233 1 % J - > short i
+ 75 234 1 % K - > ka
+ 76 235 1 % L - > el
+ 77 236 1 % M - > em
+ 78 237 1 % N - > en
+ 79 238 1 % O - > o
+ 80 239 1 % P - > pe
+ 81 255 1 % Q - > ya
+ 82 240 1 % R - > er
+ 83 241 1 % S - > es
+ 84 242 1 % T - > te
+ 85 243 1 % U - > u
+ 86 230 1 % V - > zhe
+ 87 226 1 % W - > ve
+ 88 252 1 % X - > soft sign
+ 89 251 1 % Y - > yeru
+ 90 231 1 % Z - > ze
+ 91 248 1 % [ - > sha
+ 92 253 1 % \ - > e
+ 93 249 1 % ] - > shcha
+ 94 247 1 % ^ - > che
+ 95 250 1 % _ - > hard sign
+ 96 222 1 % ` - > YU
+ 97 192 1 % a - > A
+ 98 193 1 % b - > BE
+ 99 214 1 % c - > TSE
+100 196 1 % d - > DE
+101 197 1 % e - > IE
+102 212 1 % f - > EF
+103 195 1 % g - > GHE
+104 213 1 % h - > HA
+105 200 1 % i - > I
+106 201 1 % j - > SHORT i
+107 202 1 % k - > KA
+108 203 1 % l - > EL
+109 204 1 % m - > EM
+110 205 1 % n - > EN
+111 206 1 % o - > O
+112 207 1 % p - > PE
+113 223 1 % q - > YA
+114 208 1 % r - > ER
+115 209 1 % s - > ES
+116 210 1 % t - > TE
+117 211 1 % u - > U
+118 198 1 % v - > ZHE
+119 194 1 % w - > VE
+120 220 1 % x - > SOFT sign
+121 219 1 % y - > YERU
+122 199 1 % z - > ZE
+123 216 1 % { - > SHA
+124 221 1 % | - > E
+125 217 1 % } - > SHCHA
+126 215 1 % ~ - > CHE
+127 218 1 % ? - > HARD sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/cyrwine b/fonts/cyrillic/cmcyr/vf/cmcyr6w/cyrwine
new file mode 100644
index 0000000000..c7c5e4dba1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/cyrwine
@@ -0,0 +1,69 @@
+ 64 254 1 % @ - > yu
+ 65 224 1 % A - > a
+ 66 225 1 % B - > be
+ 67 246 1 % C - > tse
+ 68 228 1 % D - > de
+ 69 229 1 % E - > ie
+ 70 244 1 % F - > ef
+ 71 227 1 % G - > ghe
+ 72 245 1 % H - > ha
+ 73 232 1 % I - > i
+ 74 233 1 % J - > short i
+ 75 234 1 % K - > ka
+ 76 235 1 % L - > el
+ 77 236 1 % M - > em
+ 78 237 1 % N - > en
+ 79 238 1 % O - > o
+ 80 239 1 % P - > pe
+ 81 255 1 % Q - > ya
+ 82 240 1 % R - > er
+ 83 241 1 % S - > es
+ 84 242 1 % T - > te
+ 85 243 1 % U - > u
+ 86 230 1 % V - > zhe
+ 87 226 1 % W - > ve
+ 88 252 1 % X - > soft sign
+ 89 251 1 % Y - > yeru
+ 90 231 1 % Z - > ze
+ 91 248 1 % [ - > sha
+ 92 253 1 % \ - > e
+ 93 249 1 % ] - > shcha
+ 94 247 1 % ^ - > che
+ 95 250 1 % _ - > hard sign
+ 96 222 1 % ` - > YU
+ 97 192 1 % a - > A
+ 98 193 1 % b - > BE
+ 99 214 1 % c - > TSE
+100 196 1 % d - > DE
+101 197 1 % e - > IE
+102 212 1 % f - > EF
+103 195 1 % g - > GHE
+104 213 1 % h - > HA
+105 200 1 % i - > I
+106 201 1 % j - > SHORT i
+107 202 1 % k - > KA
+108 203 1 % l - > EL
+109 204 1 % m - > EM
+110 205 1 % n - > EN
+111 206 1 % o - > O
+112 207 1 % p - > PE
+113 223 1 % q - > YA
+114 208 1 % r - > ER
+115 209 1 % s - > ES
+116 210 1 % t - > TE
+117 211 1 % u - > U
+118 198 1 % v - > ZHE
+119 194 1 % w - > VE
+120 220 1 % x - > SOFT sign
+121 219 1 % y - > YERU
+122 199 1 % z - > ZE
+123 216 1 % { - > SHA
+124 221 1 % | - > E
+125 217 1 % } - > SHCHA
+126 215 1 % ~ - > CHE
+127 218 1 % ? - > HARD sign
+ 62 168 1 % ? - > YO
+ 60 184 1 % ? - > yo
+ 29 60 1 % - > rewrite < characters by <<
+ 30 62 1 % - > rewrite > characters by >>
+ 25 185 1 % - > numero sign
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.6w b/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.6w
new file mode 100644
index 0000000000..c3cac76135
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.6w
@@ -0,0 +1,60 @@
+wcmb10 -tcmwine cmb10 -tcyrwine cmcb10
+wcmbx5 -tcmwine cmbx5 -tcyrwine cmcbx5
+wcmbx6 -tcmwine cmbx6 -tcyrwine cmcbx6
+wcmbx7 -tcmwine cmbx7 -tcyrwine cmcbx7
+wcmbx8 -tcmwine cmbx8 -tcyrwine cmcbx8
+wcmbx9 -tcmwine cmbx9 -tcyrwine cmcbx9
+wcmbx10 -tcmwine cmbx10 -tcyrwine cmcbx10
+wcmbx12 -tcmwine cmbx12 -tcyrwine cmcbx12
+wcmbxsl10 -tcmwine cmbxsl10 -tcyrwine cmcbxsl10
+wcmbxti10 -tcmwine cmbxti10 -tcyrwine cmcbxti10
+wcmcsc8 -tcmwine cmcsc8 -tcyrwine cmccsc8
+wcmcsc9 -tcmwine cmcsc9 -tcyrwine cmccsc9
+wcmcsc10 -tcmwine cmcsc10 -tcyrwine cmccsc10
+wcminch -tcmwine cminch -tcyrwine cmcinch
+wcmmi5 -tcmwin cmmi5 -tcyrwin cmcyr5
+wcmmi6 -tcmwin cmmi6 -tcyrwin cmcyr6
+wcmmi7 -tcmwin cmmi7 -tcyrwin cmcti7
+wcmmi8 -tcmwin cmmi8 -tcyrwin cmcti8
+wcmmi9 -tcmwin cmmi9 -tcyrwin cmcti9
+wcmmi10 -tcmwin cmmi10 -tcyrwin cmcti10
+wcmmi12 -tcmwin cmmi12 -tcyrwin cmcti12
+wcmmib10 -tcmwin cmmib10 -tcyrwin cmcbx10
+wcmitt10 -tcmwin cmitt10 -tcyrwin cmcitt10
+wcmr5 -tcmwine cmr5 -tcyrwine cmcyr5
+wcmr6 -tcmwine cmr6 -tcyrwine cmcyr6
+wcmr7 -tcmwine cmr7 -tcyrwine cmcyr7
+wcmr8 -tcmwine cmr8 -tcyrwine cmcyr8
+wcmr9 -tcmwine cmr9 -tcyrwine cmcyr9
+wcmr10 -tcmwine cmr10 -tcyrwine cmcyr10
+wcmr12 -tcmwine cmr12 -tcyrwine cmcyr12
+wcmr17 -tcmwine cmr17 -tcyrwine cmcyr17
+wcmsl8 -tcmwine cmsl8 -tcyrwine cmcsl8
+wcmsl9 -tcmwine cmsl9 -tcyrwine cmcsl9
+wcmsl10 -tcmwine cmsl10 -tcyrwine cmcsl10
+wcmsl12 -tcmwine cmsl12 -tcyrwine cmcsl12
+wcmsltt10 -tcmwine cmsltt10 -tcyrwine cmcsltt10
+wcmss8 -tcmwine cmss8 -tcyrwine cmcss8
+wcmssq8 -tcmwine cmssq8 -tcyrwine cmcssq8
+wcmssqi8 -tcmwine cmssqi8 -tcyrwine cmcssqi8
+wcmss9 -tcmwine cmss9 -tcyrwine cmcss9
+wcmss10 -tcmwine cmss10 -tcyrwine cmcss10
+wcmss12 -tcmwine cmss12 -tcyrwine cmcss12
+wcmss17 -tcmwine cmss17 -tcyrwine cmcss17
+wcmssbx10 -tcmwine cmssbx10 -tcyrwine cmcssbx10
+wcmssdc10 -tcmwine cmssdc10 -tcyrwine cmcssdc10
+wcmssi8 -tcmwine cmssi8 -tcyrwine cmcssi8
+wcmssi9 -tcmwine cmssi9 -tcyrwine cmcssi9
+wcmssi10 -tcmwine cmssi10 -tcyrwine cmcssi10
+wcmssi12 -tcmwine cmssi12 -tcyrwine cmcssi12
+wcmssi17 -tcmwine cmssi17 -tcyrwine cmcssi17
+wcmti7 -tcmwine cmti7 -tcyrwine cmcti7
+wcmti8 -tcmwine cmti8 -tcyrwine cmcti8
+wcmti9 -tcmwine cmti9 -tcyrwine cmcti9
+wcmti10 -tcmwine cmti10 -tcyrwine cmcti10
+wcmti12 -tcmwine cmti12 -tcyrwine cmcti12
+wcmtt8 -tcmwin cmtt8 -tcyrwin cmctt8
+wcmtt9 -tcmwin cmtt9 -tcyrwin cmctt9
+wcmtt10 -tcmwin cmtt10 -tcyrwin cmctt10
+wcmtt12 -tcmwin cmtt12 -tcyrwin cmctt12
+wcmu10 -tcmwine cmu10 -tcyrwine cmcu10
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.bat b/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.bat
new file mode 100644
index 0000000000..4fc4d169c3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.bat
@@ -0,0 +1,3 @@
+set TF=f:\tex\texmf\fonts\tfm\public
+set TEXTFM=%TF%\cmcyr;%TF%\cm;%TF%\extracm
+f:\tex\bin\dos\tfmerge -lmerge.6w
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.o6w b/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.o6w
new file mode 100644
index 0000000000..d8741bd4e6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.o6w
@@ -0,0 +1,60 @@
+cmbw10 -tcmwine cmb10 -tcyrwine cmcb10
+cmbxw5 -tcmwine cmbx5 -tcyrwine cmcbx5
+cmbxw6 -tcmwine cmbx6 -tcyrwine cmcbx6
+cmbxw7 -tcmwine cmbx7 -tcyrwine cmcbx7
+cmbxw8 -tcmwine cmbx8 -tcyrwine cmcbx8
+cmbxw9 -tcmwine cmbx9 -tcyrwine cmcbx9
+cmbxw10 -tcmwine cmbx10 -tcyrwine cmcbx10
+cmbxw12 -tcmwine cmbx12 -tcyrwine cmcbx12
+cmbxslw10 -tcmwine cmbxsl10 -tcyrwine cmcbxsl10
+cmbxtiw10 -tcmwine cmbxti10 -tcyrwine cmcbxti10
+cmcscw8 -tcmwine cmcsc8 -tcyrwine cmccsc8
+cmcscw9 -tcmwine cmcsc9 -tcyrwine cmccsc9
+cmcscw10 -tcmwine cmcsc10 -tcyrwine cmccsc10
+cminchw -tcmwine cminch -tcyrwine cmcinch
+cmmiw5 -tcmwin cmmi5 -tcyrwin cmcyr5
+cmmiw6 -tcmwin cmmi6 -tcyrwin cmcyr6
+cmmiw7 -tcmwin cmmi7 -tcyrwin cmcti7
+cmmiw8 -tcmwin cmmi8 -tcyrwin cmcti8
+cmmiw9 -tcmwin cmmi9 -tcyrwin cmcti9
+cmmiw10 -tcmwin cmmi10 -tcyrwin cmcti10
+cmmiw12 -tcmwin cmmi12 -tcyrwin cmcti12
+cmmibw10 -tcmwin cmmib10 -tcyrwin cmcbx10
+cmittw10 -tcmwin cmitt10 -tcyrwin cmcitt10
+cmrw5 -tcmwine cmr5 -tcyrwine cmcyr5
+cmrw6 -tcmwine cmr6 -tcyrwine cmcyr6
+cmrw7 -tcmwine cmr7 -tcyrwine cmcyr7
+cmrw8 -tcmwine cmr8 -tcyrwine cmcyr8
+cmrw9 -tcmwine cmr9 -tcyrwine cmcyr9
+cmrw10 -tcmwine cmr10 -tcyrwine cmcyr10
+cmrw12 -tcmwine cmr12 -tcyrwine cmcyr12
+cmrw17 -tcmwine cmr17 -tcyrwine cmcyr17
+cmswl8 -tcmwine cmsl8 -tcyrwine cmcsl8
+cmslw9 -tcmwine cmsl9 -tcyrwine cmcsl9
+cmslw10 -tcmwine cmsl10 -tcyrwine cmcsl10
+cmslw12 -tcmwine cmsl12 -tcyrwine cmcsl12
+cmslttw10 -tcmwine cmsltt10 -tcyrwine cmcsltt10
+cmssw8 -tcmwine cmss8 -tcyrwine cmcss8
+cmssqw8 -tcmwine cmssq8 -tcyrwine cmcssq8
+cmssqiw8 -tcmwine cmssqi8 -tcyrwine cmcssqi8
+cmssw9 -tcmwine cmss9 -tcyrwine cmcss9
+cmssw10 -tcmwine cmss10 -tcyrwine cmcss10
+cmssw12 -tcmwine cmss12 -tcyrwine cmcss12
+cmssw17 -tcmwine cmss17 -tcyrwine cmcss17
+cmssbxw10 -tcmwine cmssbx10 -tcyrwine cmcssbx10
+cmssdcw10 -tcmwine cmssdc10 -tcyrwine cmcssdc10
+cmssiw8 -tcmwine cmssi8 -tcyrwine cmcssi8
+cmssiw9 -tcmwine cmssi9 -tcyrwine cmcssi9
+cmssiw10 -tcmwine cmssi10 -tcyrwine cmcssi10
+cmssiw12 -tcmwine cmssi12 -tcyrwine cmcssi12
+cmssiw17 -tcmwine cmssi17 -tcyrwine cmcssi17
+cmtiw7 -tcmwine cmti7 -tcyrwine cmcti7
+cmtiw8 -tcmwine cmti8 -tcyrwine cmcti8
+cmtiw9 -tcmwine cmti9 -tcyrwine cmcti9
+cmtiw10 -tcmwine cmti10 -tcyrwine cmcti10
+cmtiw12 -tcmwine cmti12 -tcyrwine cmcti12
+cmttw8 -tcmwin cmtt8 -tcyrwin cmctt8
+cmttw9 -tcmwin cmtt9 -tcyrwin cmctt9
+cmttw10 -tcmwin cmtt10 -tcyrwin cmctt10
+cmttw12 -tcmwin cmtt12 -tcyrwin cmctt12
+cmuw10 -tcmwine cmu10 -tcyrwine cmcu10
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.win b/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.win
new file mode 100644
index 0000000000..d8979066dc
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/merge.win
@@ -0,0 +1,60 @@
+xcmb10 -tcmwine cmb10 -tcyrwine cmcb10
+xcmbx5 -tcmwine cmbx5 -tcyrwine cmcbx5
+xcmbx6 -tcmwine cmbx6 -tcyrwine cmcbx6
+xcmbx7 -tcmwine cmbx7 -tcyrwine cmcbx7
+xcmbx8 -tcmwine cmbx8 -tcyrwine cmcbx8
+xcmbx9 -tcmwine cmbx9 -tcyrwine cmcbx9
+xcmbx10 -tcmwine cmbx10 -tcyrwine cmcbx10
+xcmbx12 -tcmwine cmbx12 -tcyrwine cmcbx12
+xcmbxsl10 -tcmwine cmbxsl10 -tcyrwine cmcbxsl10
+xcmbxti10 -tcmwine cmbxti10 -tcyrwine cmcbxti10
+xcmcsc8 -tcmwine cmcsc8 -tcyrwine cmccsc8
+xcmcsc9 -tcmwine cmcsc9 -tcyrwine cmccsc9
+xcmcsc10 -tcmwine cmcsc10 -tcyrwine cmccsc10
+xcminch -tcmwine cminch -tcyrwine cmcinch
+xcmmi5 -tcmwin cmmi5 -tcyrwin cmcyr5
+xcmmi6 -tcmwin cmmi6 -tcyrwin cmcyr6
+xcmmi7 -tcmwin cmmi7 -tcyrwin cmcti7
+xcmmi8 -tcmwin cmmi8 -tcyrwin cmcti8
+xcmmi9 -tcmwin cmmi9 -tcyrwin cmcti9
+xcmmi10 -tcmwin cmmi10 -tcyrwin cmcti10
+xcmmi12 -tcmwin cmmi12 -tcyrwin cmcti12
+xcmmib10 -tcmwin cmmib10 -tcyrwin cmcbx10
+xcmitt10 -tcmwin cmitt10 -tcyrwin cmcitt10
+xcmr5 -tcmwine cmr5 -tcyrwine cmcyr5
+xcmr6 -tcmwine cmr6 -tcyrwine cmcyr6
+xcmr7 -tcmwine cmr7 -tcyrwine cmcyr7
+xcmr8 -tcmwine cmr8 -tcyrwine cmcyr8
+xcmr9 -tcmwine cmr9 -tcyrwine cmcyr9
+xcmr10 -tcmwine cmr10 -tcyrwine cmcyr10
+xcmr12 -tcmwine cmr12 -tcyrwine cmcyr12
+xcmr17 -tcmwine cmr17 -tcyrwine cmcyr17
+xcmsl8 -tcmwine cmsl8 -tcyrwine cmcsl8
+xcmsl9 -tcmwine cmsl9 -tcyrwine cmcsl9
+xcmsl10 -tcmwine cmsl10 -tcyrwine cmcsl10
+xcmsl12 -tcmwine cmsl12 -tcyrwine cmcsl12
+xcmsltt10 -tcmwine cmsltt10 -tcyrwine cmcsltt10
+xcmss8 -tcmwine cmss8 -tcyrwine cmcss8
+xcmssq8 -tcmwine cmssq8 -tcyrwine cmcssq8
+xcmssqi8 -tcmwine cmssqi8 -tcyrwine cmcssqi8
+xcmss9 -tcmwine cmss9 -tcyrwine cmcss9
+xcmss10 -tcmwine cmss10 -tcyrwine cmcss10
+xcmss12 -tcmwine cmss12 -tcyrwine cmcss12
+xcmss17 -tcmwine cmss17 -tcyrwine cmcss17
+xcmssbx10 -tcmwine cmssbx10 -tcyrwine cmcssbx10
+xcmssdc10 -tcmwine cmssdc10 -tcyrwine cmcssdc10
+xcmssi8 -tcmwine cmssi8 -tcyrwine cmcssi8
+xcmssi9 -tcmwine cmssi9 -tcyrwine cmcssi9
+xcmssi10 -tcmwine cmssi10 -tcyrwine cmcssi10
+xcmssi12 -tcmwine cmssi12 -tcyrwine cmcssi12
+xcmssi17 -tcmwine cmssi17 -tcyrwine cmcssi17
+xcmti7 -tcmwine cmti7 -tcyrwine cmcti7
+xcmti8 -tcmwine cmti8 -tcyrwine cmcti8
+xcmti9 -tcmwine cmti9 -tcyrwine cmcti9
+xcmti10 -tcmwine cmti10 -tcyrwine cmcti10
+xcmti12 -tcmwine cmti12 -tcyrwine cmcti12
+xcmtt8 -tcmwin cmtt8 -tcyrwin cmctt8
+xcmtt9 -tcmwin cmtt9 -tcyrwin cmctt9
+xcmtt10 -tcmwin cmtt10 -tcyrwin cmctt10
+xcmtt12 -tcmwin cmtt12 -tcyrwin cmctt12
+xcmu10 -tcmwine cmu10 -tcyrwine cmcu10
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmb10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmb10.vf
new file mode 100644
index 0000000000..2e15abedac
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmb10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx10.vf
new file mode 100644
index 0000000000..f2ccf800f3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx12.vf
new file mode 100644
index 0000000000..a121206849
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx5.vf
new file mode 100644
index 0000000000..bd81d2acb4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx6.vf
new file mode 100644
index 0000000000..38c18f31ec
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx7.vf
new file mode 100644
index 0000000000..8bf617f5d0
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx8.vf
new file mode 100644
index 0000000000..ead2c6fe33
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx9.vf
new file mode 100644
index 0000000000..da777e444f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbx9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbxsl10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbxsl10.vf
new file mode 100644
index 0000000000..863da07710
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbxsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbxti10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbxti10.vf
new file mode 100644
index 0000000000..6cd827b342
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmbxti10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc10.vf
new file mode 100644
index 0000000000..f7c42645c6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc8.vf
new file mode 100644
index 0000000000..3bb948fb0d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc9.vf
new file mode 100644
index 0000000000..cd892dfd84
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmcsc9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcminch.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcminch.vf
new file mode 100644
index 0000000000..7fcd5d87f6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcminch.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmitt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmitt10.vf
new file mode 100644
index 0000000000..e31b655825
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmitt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi10.vf
new file mode 100644
index 0000000000..1b995bbcb6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi12.vf
new file mode 100644
index 0000000000..0047fd16e9
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi5.vf
new file mode 100644
index 0000000000..f55a2c9a24
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi6.vf
new file mode 100644
index 0000000000..b6b31583fa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi7.vf
new file mode 100644
index 0000000000..0cd81ff696
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi8.vf
new file mode 100644
index 0000000000..9d490220d7
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi9.vf
new file mode 100644
index 0000000000..3fe37f989a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmi9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmib10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmib10.vf
new file mode 100644
index 0000000000..0e2918a2d1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmmib10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr10.vf
new file mode 100644
index 0000000000..b67fe20b8a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr12.vf
new file mode 100644
index 0000000000..a5c3dbbc63
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr17.vf
new file mode 100644
index 0000000000..2a50cc0d4a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr5.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr5.vf
new file mode 100644
index 0000000000..48fe214d8e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr5.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr6.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr6.vf
new file mode 100644
index 0000000000..109b5cb06a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr6.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr7.vf
new file mode 100644
index 0000000000..3320fd62a3
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr8.vf
new file mode 100644
index 0000000000..e96ab4f522
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr9.vf
new file mode 100644
index 0000000000..c9fff94e5e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmr9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl10.vf
new file mode 100644
index 0000000000..dcf7e33f2d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl12.vf
new file mode 100644
index 0000000000..126e44bf4a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl8.vf
new file mode 100644
index 0000000000..0df38b4198
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl9.vf
new file mode 100644
index 0000000000..7e0b4ce809
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsl9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsltt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsltt10.vf
new file mode 100644
index 0000000000..59bb92c441
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmsltt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss10.vf
new file mode 100644
index 0000000000..9bc667f21e
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss12.vf
new file mode 100644
index 0000000000..6b41b65ae6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss17.vf
new file mode 100644
index 0000000000..429c9406ab
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss8.vf
new file mode 100644
index 0000000000..b29cd6c390
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss9.vf
new file mode 100644
index 0000000000..6f6f9f8652
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmss9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssbx10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssbx10.vf
new file mode 100644
index 0000000000..949b36c852
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssdc10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssdc10.vf
new file mode 100644
index 0000000000..2dc3f7e41a
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssdc10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi10.vf
new file mode 100644
index 0000000000..3132b413f6
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi12.vf
new file mode 100644
index 0000000000..a824905cfa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi17.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi17.vf
new file mode 100644
index 0000000000..6dd9dd146d
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi17.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi8.vf
new file mode 100644
index 0000000000..b3daf5f7fd
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi9.vf
new file mode 100644
index 0000000000..9514f978fa
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssi9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssq8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssq8.vf
new file mode 100644
index 0000000000..1a6a365772
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssq8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssqi8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssqi8.vf
new file mode 100644
index 0000000000..0c8567a9d1
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmssqi8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti10.vf
new file mode 100644
index 0000000000..1e17b06824
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti12.vf
new file mode 100644
index 0000000000..88de87e552
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti7.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti7.vf
new file mode 100644
index 0000000000..70758d1bef
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti7.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti8.vf
new file mode 100644
index 0000000000..7cf77a1197
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti9.vf
new file mode 100644
index 0000000000..b1192d3df4
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmti9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt10.vf
new file mode 100644
index 0000000000..059c6ba92b
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt12.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt12.vf
new file mode 100644
index 0000000000..0c76674738
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt12.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt8.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt8.vf
new file mode 100644
index 0000000000..d30c8c54be
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt8.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt9.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt9.vf
new file mode 100644
index 0000000000..f930c9d02f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmtt9.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmu10.vf b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmu10.vf
new file mode 100644
index 0000000000..41b8887b8f
--- /dev/null
+++ b/fonts/cyrillic/cmcyr/vf/cmcyr6w/wcmu10.vf
Binary files differ
diff --git a/fonts/cyrillic/cmcyralt/cmcyralt.tex b/fonts/cyrillic/cmcyralt/cmcyralt.tex
new file mode 100644
index 0000000000..affc71399f
--- /dev/null
+++ b/fonts/cyrillic/cmcyralt/cmcyralt.tex
@@ -0,0 +1,49 @@
+%Format: NFSS1ltx
+\documentstyle[a4,cmcyr]{article}
+\newfont{\lgo}{logo10 scaled 1000}
+\def\MF{{\lgo META}\-{\lgo FONT}}
+\begin{document}
+\title{Computer Modern Cyrillic Fonts\\ ¢  «ìâ¥à­ â¨¢­®© ª®¤¨à®¢ª¥}
+\author{€«¥ªá ­¤à • à¨­}
+\maketitle
+Š®««¥ªæ¨ï ¢ª«îç ¥â
+\begin{itemize}
+\item {\tt cmcyrmf.zip}---
+\MF\ ⥪áâë 䮭⮢ ᮧ¤ ­­ëå . ƒ«®­â¨ ¨ €. ‘ ¬ à¨­ë¬.
+Ÿ ®¤­ ª® ¨§¬¥­¨« ª®¤¨à®¢ªã â ª ç⮠ᨬ¢®«ë ­ ç¨­ îâáï á® 128-© ¯®§¨æ¨¨ ¨
+à á¯®«®¦¥­¨¥ ᨬ¢®«®¢ ᮮ⢥âáâ¢ã¥â {\it  «ìâ¥à­ â¨¢­®¬ã} ¢ à¨ ­âã. Šà®¬¥ ⮣®
+ï ¤®¡ ¢¨« {\tt typewriter caps} ¨ ¤®¡ ¨« {\it \"¥}-italic. Ÿ ¯à¨« £ î
+mfjob-ä ©«, {\tt cmcyr.mfj} ¤«ï £¥­¨à æ¨¨ pk-fonts ¨ {\tt cmcyr.bat}
+¤«ï £¥­¨à æ¨¨ ¡¨¡«¨®â¥ª¨. ‡ ¬¥âì⥠®¤­ ª® çâ® \MF\ ¢ë¤ \"¥â ®è¨¡ªã ¯à¨
+£¥­¥à æ¨¨ {\tt czssq8 mag 1.44}. ‚¨¤¨¬® íâ® bug ¢ cmcyr. Mfjob ¯à®¨£­®à¨àã¥â
+íâ㠮訡ªã ¥á«¨ ¥£® ¢ë§ë¢ âì á ®¯æ¨¥© /i.
+
+\item —⮡ë ᤥ« âì ¢®§¬®¦­ë¬ ®¤­®¢à¥¬¥­­®¥ ¨á¯®«ì§®¢ ­¨¥ àãááª¨å ¨
+« â¨­áª¨å ¡ãª¢ ­¥®¡å®¤¨¬® ¨¬¥âì ­ ¡®à 䮭⮢ ᮤ¥à¦ é¨å « â¨­áª¨¥ ¨ àãá᪨¥
+¡ãª¢ë ®¤­®¢à¥¬¥­­®. ’ ª¨¥ ä®­âë ¬®¦­® ¡ë«® ¡ë ᮧ¤ âì ¨á¯®«ì§ãï \MF.
+Ž¤­ ª® â ª ª ª « â¨­áª¨¥ áâ ­¤ àâ­ë¥ ä®­âë 㦥 ¨¬¥îâáï ­  ¢á¥å á¨á⥬ å, íâ®
+¯à¨¢¥«®-¡ë ª ­¥­ã¦­®© âà â¥ ¤¨áª®¢®£® ¯à®áâà ­á⢠. ®í⮬ã ï ᮧ¤ «
+᮫«¥ªæ¨î ¢¨àâã «ì­ëå 䮭⮢, \linebreak {\tt cmcyrvf.zip}. …᫨ ª®£®-â® ¨­â¥à¥áãîâ
+⥪áâë â® ®­¨ ¢ {\tt cmcyrvpl.zip}.
+
+\item {\tt tfm}-ä ©«ë ᮮ⢥âáâ¢ãî騥 䨧¨ç¥áª¨¬ ¨ ¢¨àâã «ì­ë¬ ä®­â ¬--\linebreak
+{\tt cmcyrtfm.zip}
+
+\item 㦭® ®¤­ ª® ¥é¥ çâ®¡ë ¯¥à¥­®áë ¡ë«¨ ¯à ¢¨«ì­ë¬¨. ®íâ®\-¬ã ï ¢ª«î\-ç î
+àãá᪨¥ hyphenation patterns {\tt rhyphen.tex}. Žà¨£¨­ «ì­ë© ä ©« ¡ë«
+ᮧ¤ ­ „. ‚㫨ᮬ, ï ⮫쪮 ¯®¬¥­ï« ª®¤¨à®¢ªã. ⨠patterns § £à㦠îâáï
+¢ {\tt lhyphen.rus}. Ÿ ¯à¨« £ î {\tt fmtalt.bat} ¤«ï £¥­¨à æ¨¨ ä®à¬ â .
+Ž¡à â¨â¥ ¢­¨¬ ­¨¥ ­  ®¯æ¨¨ /8 ¨ /o ¤«ï Em\TeX\ ª®â®àë¥ ¯®§¢®«ïîâ 8-¡¨â®¢ë¥
+ᨬ¢®«ë ­  ¢å®¤¥ ¨ ¢ë室¥. Ÿ â ª¦¥ ¯à¨« £ î ¬®¨ {\tt set-tex.bat} ¨
+{\tt lj.cnf}
+
+\item  ª®­¥æ ­ã¦¥­ ä ©« {\tt cmcyr.sty} ª®â®àë© § ¬¥­ï¥â áâ ­¤ àâ­ë¥ ä®­âë
+­  ¢¨àâã «ì­ë¥. Ÿ í⮠ᤥ« « ⮫쪮 ¤«ï NFSS. ‘¤¥« âì íâ® ¤«ï OFSS ¬­¥ ¤ãåã
+­¥ 墠⨫®.
+
+\item …é¥ ï ¯à¨« £ î ®ç¥­ì 㤮¡­ë© ¤à ©¢¥à íªà ­  ¨ ª« ¢¨ âãàë „.ƒ®àï祢 
+{\tt ENHRUS}
+
+
+\end{itemize}
+\end{document}
diff --git a/fonts/cyrillic/cmcyralt/readme b/fonts/cyrillic/cmcyralt/readme
new file mode 100644
index 0000000000..e2418d41a7
--- /dev/null
+++ b/fonts/cyrillic/cmcyralt/readme
@@ -0,0 +1,41 @@
+ Russian fonts in alternative encoding.
+
+The alternative encoding is de-facto standard on MS-DOS PC
+computers in Russia. In this encoding first half of code
+table (0-127) coincides with standard ASCII and cyrillic
+characters are located in second part of the table (128-255).
+Usually some simple screen and keyboard driver is used in order
+to type cyrillic characters.
+
+This directory contains:
+
+readme - this file
+readme.ori - original readme by A.Harin
+cmcyralt.tex - original readme by A.Harin in Russian
+
+mf.zip - METAFONT sources *.mf of cmcyr fonts by A.Samarin and N.Glonti
+ with modifications by A.Harin
+
+vf.zip - Virtual fonts *.vf by A.Harin. This composite fonts
+ reproduce alternative encoding by mapping first half
+ of ASCII table to standard TeX's Computer Modern font
+ and second part to cmcyr fonts in alternative encoding.
+
+vpl.zip - readable analog of *.vf files
+
+tfm.zip - Font Metric files
+
+emtex.zip - Some useful files which can help to set up
+ Russian fonts with emTeX
+
+The LaTeX styles which can be used with these fonts are in CTAN:
+/macros/latex209/contrib/cmcyralt for LaTeX NFSS1
+/macros/latex/contrib/other/cmcyralt for LaTeX 2e
+
+In order to use this fonts and styles you will need TeX which
+understand 8-bit input, and drivers which understand virtual fonts.
+The best choice for MS-DOS PC is emTeX and its dvidrv drivers
+(/systems/msdos/emtex directory on CTAN).
+
+Uploaded by Vadim V. Zhytnikov (vvzhy@phy.ncu.edu.tw)
+on the behalf of Alexander Harin (harin@lourie.und.ac.za)
diff --git a/fonts/cyrillic/cmcyralt/readme.ori b/fonts/cyrillic/cmcyralt/readme.ori
new file mode 100644
index 0000000000..d64b33cdf6
--- /dev/null
+++ b/fonts/cyrillic/cmcyralt/readme.ori
@@ -0,0 +1,47 @@
+Note added by Jan Labanowski (jkl@osc.edu) on Jan 2, 1994:
+cmcyr.zip is a complete set zipped
+cmcyr.tar.Z is a complete set as compressed tar archive
+cmcyr directory contains all files uncompressed as they appear in archives
+The uncompressed files take about 2.7Mbytes
+----------------------------------------------------------------------
+
+
+
+Computer modern cyrillic fonts in alternative coding.
+
+This collection includes:
+
+cmcyrmf.zip Metafont sources of fonts created by N Glonti and A Samarin.
+I however have changed the coding such that characters start from the 128th
+position and the layout corresponds to alternative coding. Also I have
+added typewriter caps and yo-italic. I include cmcyr.mfj for the
+generation of pk-files and cmcyr.bat for the generation of the library.
+Note that metafont can give errors when generating some fonts at higher magnifications
+(eg czssq8 mag 1.44). This is probably a bug in cmcyr. Just ignore them.
+(Call mfjob with option /i)
+
+
+
+To use both russian and english letters one needs a set of fonts
+that contain both latin and russian characters. This is done using
+virtual fonts, cmcyrvf.zip. Sources are in cmcyrvpl.zip.
+
+tfm-files, cmcyrtfm.zip
+
+hyphenation patterns, rhyphen.tex.
+
+A batch file fmtalt.bat for the generation of the new format (NFSS1). Note
+options /8 and /o for EmTeX that make possible 8-bit input and output.
+
+cmcyr.sty substitute virtual fonts instead of standard ones, requires NFSS.
+Get a latest version of NFSS1.
+
+cyrnfss2.zip - support for nfss2 or latex2e.
+
+enhrus -- convenient driver for screen and keyboard that loads russian
+character set (alternative variant). Key layout corresponds to russian
+typewriter.
+
+
+Alexander Harin (harin@lourie.und.ac.za)
+28-12-1993
diff --git a/fonts/cyrillic/glonti/README b/fonts/cyrillic/glonti/README
new file mode 100644
index 0000000000..4420933822
--- /dev/null
+++ b/fonts/cyrillic/glonti/README
@@ -0,0 +1,72 @@
+*What's this*
+
+glonti-fonts is a package of LCY and T2A encoded virtual fonts that
+are composed from CM and CMCYR fonts. The package is intended
+primarily for plain TeX based formats that use Knuths original font
+selection, font naming, and font coding schemes.
+
+*About CMCYR fonts*
+
+CMCYR fonts was created by Nana Glonti and Alexander Samarin from
+Institute for High Energy Physics at Protvino, Moscow area. These
+fonts was created primarily for typesetting Russian translation of
+`The TeXbook'. The fonts contain only Russian letters and a couple
+of typographic symbols traditionaly used in Russian typesetting. The
+package consists of 52 fonts and not changed since 1992.
+
+Later in 1993 Basil K. Malyshev from IHEP released Type 1 outlines of
+these fonts under the title `Paradissa font collection'.
+
+*About this distribution*
+
+glonti-fonts package contains both pre-generated virtual fonts and files
+that was used to generate them. You don't have to regenerate VFs,
+just copy pre-generated ones into your TeX tree. Virtual fonts was
+generated agains original TFMs as distributed from CTAN and can be
+produced by METAFONT from corresponding font sources. Please do not
+use them with CMCYR metrics that included with `c1fonts' package or
+you'll get numerious warning messages about incorrect checksums from
+your DVI drivers.
+
+These vrtual fonts references both CM and CMCYR fonts. Base CM fonts
+contains caps and small caps in 10pt size only. To use 8pt and 9pt
+csc you'll need `cmextra' part of AMSFonts 2.1.
+
+*Using virtual fonts*
+
+Use them with `cyrplain' format found in `T2' package. You can find
+`T2' package on CTAN or at ftp://ftp.vsu.ru/pub/tex/. The `T2'
+package also contains a bunch of other plain-based Cyrillic formats.
+
+If you wish to use these fonts with LaTeX take *.fd files from the
+`tex' subdirectory. Don't use fontinst generated *.fd files, they're
+incorrect! The LaTeX NFSS family names for the fonts are `cgr',
+`cgss', and `cgtt'.
+
+*Regenerating virtual fonts*
+
+There are some reasons to regenerate virtual fonts. For example, you
+can do a better glyph faking. To regenerate virtual fonts you'll need
+fontinst and a conventional Unix environment (GNU make, sed, fileutils)
+as found in any Linux distribution. Or you can, like me, use Cygwin
+tools under Windows.
+
+Type `make'. After a somewhat lengthy process there will be a bunch
+of files in working directory. Type `make dist'. Two subdirectories
+will be created in the working directory namely `vf' and `tfm'. VF
+and TFM files will be copied to these subdirectories.
+
+*Bugs and limitations*
+
+There are two CMCYR fonts bugs. First, CMCYR caps and small caps
+don't contain `numero', `guillemotleft', and `guillemotright' glyphs.
+Second, small italic letters driver doesn't contain `cyryo' glyph, but
+it is faked in virtual fonts.
+
+The `quotedblbase' potentially can be faked using commas. But it
+marked as \unfakeable in ot1.etx, so I have not trying to fake it.
+
+Happy TeXing in new year!
+
+Iliya Peregoudov <zooloo@freemail.ru>
+December 30, 2001
diff --git a/fonts/cyrillic/glonti/source/Makefile b/fonts/cyrillic/glonti/source/Makefile
new file mode 100644
index 0000000000..7782a7e2df
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/Makefile
@@ -0,0 +1,111 @@
+# Makefile for glonti-fonts
+
+SHELL = /bin/sh
+DISTDIR = .
+
+basenames = \
+ r5 r6 r7 r8 r9 r10 r12 r17 \
+ sl8 sl9 sl10 sl12 \
+ ti7 ti8 ti9 ti10 ti12 \
+ csc8 csc9 csc10 \
+ u10 b10 \
+ bx5 bx6 bx7 bx8 bx9 bx10 bx12 \
+ bxsl10 bxti10 \
+ ss8 ss9 ss10 ss12 ss17 \
+ ssi8 ssi9 ssi10 ssi12 ssi17 \
+ ssbx10 ssdc10 ssq8 ssqi8 \
+ tt8 tt9 tt10 tt12 \
+ sltt10 itt10
+
+vf_lcy = $(addsuffix .vf,$(addprefix gl,$(basenames)))
+tfm_lcy = $(addsuffix .tfm,$(addprefix gl,$(basenames)))
+vpl_lcy = $(addsuffix .vpl,$(addprefix gl,$(basenames)))
+
+vf_t2a = $(addsuffix .vf,$(addprefix ga,$(basenames)))
+tfm_t2a = $(addsuffix .tfm,$(addprefix ga,$(basenames)))
+vpl_t2a = $(addsuffix .vpl,$(addprefix ga,$(basenames)))
+
+cmpl = \
+ cmr5.pl cmr6.pl cmr7.pl cmr8.pl cmr9.pl cmr10.pl cmr12.pl cmr17.pl \
+ cmsl8.pl cmsl9.pl cmsl10.pl cmsl12.pl \
+ cmti7.pl cmti8.pl cmti9.pl cmti10.pl cmti12.pl \
+ cmcsc8.pl cmcsc9.pl cmcsc10.pl \
+ cmu10.pl cmb10.pl \
+ cmbx5.pl cmbx6.pl cmbx7.pl cmbx8.pl cmbx9.pl cmbx10.pl cmbx12.pl \
+ cmbxsl10.pl cmbxti10.pl \
+ cmss8.pl cmss9.pl cmss10.pl cmss12.pl cmss17.pl \
+ cmssi8.pl cmssi9.pl cmssi10.pl cmssi12.pl cmssi17.pl \
+ cmssbx10.pl cmssdc10.pl cmssq8.pl cmssqi8.pl \
+ cmtt8.pl cmtt9.pl cmtt10.pl cmtt12.pl \
+ cmsltt10.pl cmitt10.pl
+
+cmcyrpl = \
+ cmcyr5.pl cmcyr6.pl cmcyr7.pl cmcyr8.pl cmcyr9.pl cmcyr10.pl cmcyr12.pl cmcyr17.pl \
+ cmcsl8.pl cmcsl9.pl cmcsl10.pl cmcsl12.pl \
+ cmcti7.pl cmcti8.pl cmcti9.pl cmcti10.pl cmcti12.pl \
+ cmccsc8.pl cmccsc9.pl cmccsc10.pl \
+ cmcu10.pl cmcb10.pl \
+ cmcbx5.pl cmcbx6.pl cmcbx7.pl cmcbx8.pl cmcbx9.pl cmcbx10.pl cmcbx12.pl \
+ cmcbxsl10.pl cmcbxti10.pl \
+ cmcss8.pl cmcss9.pl cmcss10.pl cmcss12.pl cmcss17.pl \
+ cmcssi8.pl cmcssi9.pl cmcssi10.pl cmcssi12.pl cmcssi17.pl \
+ cmcssbx10.pl cmcssdc10.pl cmcssq8.pl cmcssqi8.pl \
+ cmctt8.pl cmctt9.pl cmctt10.pl cmctt12.pl \
+ cmcsltt10.pl cmcitt10.pl
+
+.PHONY: all dist glfonts glinch gafonts gainch
+
+all: glfonts glinch gafonts gainch
+
+dist: $(vf_lcy) $(tfm_lcy) $(vf_t2a) $(tfm_t2a) glinch.vf glinch.tfm gainch.vf gainch.tfm
+ mkdir -p $(DISTDIR)
+ mkdir -p $(DISTDIR)/vf
+ mkdir -p $(DISTDIR)/tfm
+ cp -p $(vf_lcy) glinch.vf $(vf_t2a) gainch.vf $(DISTDIR)/vf
+ cp -p $(tfm_lcy) glinch.tfm $(tfm_t2a) gainch.tfm $(DISTDIR)/tfm
+
+glfonts: $(vf_lcy) $(tfm_lcy)
+$(vpl_lcy): glfonts.tex $(cmpl) $(cmcyrpl)
+ fontinst glfonts
+
+glinch: glinch.vf glinch.tfm
+glinch.vpl: glinch.tex cminch.pl cmcinch.pl
+ fontinst glinch
+
+gafonts: $(vf_t2a) $(tfm_t2a)
+$(vpl_t2a): gafonts.tex $(cmpl) $(cmcyrpl)
+ fontinst gafonts
+
+gainch: gainch.vf gainch.tfm
+gainch.vpl: gainch.tex cminch.pl cmcinch.pl
+ fontinst gainch
+
+cmcinch.pl:
+ tftopl cmcinch tmp.pl
+ sed '3 s/ASCII CAPS/CMCYR CAPS/' tmp.pl >cmcinch.pl
+ rm -f tmp.pl
+
+cmccsc%.pl:
+ tftopl cmccsc$* tmp.pl
+ sed '3 s/TEX TEXT WITHOUT F-LIGATURES/CMCYR CAPS AND SMALL CAPS/' tmp.pl >cmccsc$*.pl
+ rm -f tmp.pl
+
+cmcsc%.pl:
+ tftopl cmcsc$* cmcsc$*.pl
+
+cmc%.pl:
+ tftopl cmc$* tmp.pl
+ sed '3 s/TEX TEXT/CMCYR TEXT/' tmp.pl >cmc$*.pl
+ rm -f tmp.pl
+
+%.pl:
+ tftopl $* $*.pl
+
+%.vf %.tfm: %.vpl
+ vptovf $*.vpl $*.vf $*.tfm
+
+.PHONY: clean distclean
+clean:
+ rm -f *.log *.fd cm*.mtx *.vpl *.vf *.tfm
+distclean:
+ rm -f *.log *.fd cm*.mtx *.vpl *.vf *.tfm *.pl
diff --git a/fonts/cyrillic/glonti/source/cmcinch.etx b/fonts/cyrillic/glonti/source/cmcinch.etx
new file mode 100644
index 0000000000..bc03c05c23
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/cmcinch.etx
@@ -0,0 +1,44 @@
+\relax
+
+\encoding
+
+\setcommand\uc#1#2{#1}
+
+\nextslot{"3E}
+\setslot{\uc{CYRYO}{cyruo}}\endsetslot
+
+\nextslot{"60}
+\setslot{\uc{CYRYU}{cyryu}}\endsetslot
+\setslot{\uc{CYRA}{cyra}}\endsetslot
+\setslot{\uc{CYRB}{cyrb}}\endsetslot
+\setslot{\uc{CYRC}{cyrc}}\endsetslot
+\setslot{\uc{CYRD}{cyrd}}\endsetslot
+\setslot{\uc{CYRE}{cyre}}\endsetslot
+\setslot{\uc{CYRF}{cyrf}}\endsetslot
+\setslot{\uc{CYRG}{cyrg}}\endsetslot
+\setslot{\uc{CYRH}{cyrh}}\endsetslot
+\setslot{\uc{CYRI}{cyri}}\endsetslot
+\setslot{\uc{CYRISHRT}{cyrishrt}}\endsetslot
+\setslot{\uc{CYRK}{cyrk}}\endsetslot
+\setslot{\uc{CYRL}{cyrl}}\endsetslot
+\setslot{\uc{CYRM}{cyrm}}\endsetslot
+\setslot{\uc{CYRN}{cyrn}}\endsetslot
+\setslot{\uc{CYRO}{cyro}}\endsetslot
+\setslot{\uc{CYRP}{cyrp}}\endsetslot
+\setslot{\uc{CYRYA}{cyrya}}\endsetslot
+\setslot{\uc{CYRR}{cyrr}}\endsetslot
+\setslot{\uc{CYRS}{cyrs}}\endsetslot
+\setslot{\uc{CYRT}{cyrt}}\endsetslot
+\setslot{\uc{CYRU}{cyru}}\endsetslot
+\setslot{\uc{CYRZH}{cyrzh}}\endsetslot
+\setslot{\uc{CYRV}{cyrv}}\endsetslot
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}\endsetslot
+\setslot{\uc{CYRERY}{cyrery}}\endsetslot
+\setslot{\uc{CYRZ}{cyrz}}\endsetslot
+\setslot{\uc{CYRSH}{cyrsh}}\endsetslot
+\setslot{\uc{CYREREV}{cyrerev}}\endsetslot
+\setslot{\uc{CYRSHCH}{cyrshch}}\endsetslot
+\setslot{\uc{CYRCH}{cyrch}}\endsetslot
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}\endsetslot
+
+\endencoding
diff --git a/fonts/cyrillic/glonti/source/cmcyr.etx b/fonts/cyrillic/glonti/source/cmcyr.etx
new file mode 100644
index 0000000000..04e111e296
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/cmcyr.etx
@@ -0,0 +1,23 @@
+\relax
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+
+\nextslot{"19}
+\setslot{numero}\endsetslot
+
+\nextslot{"1D}
+\setslot{guillemotleft}\endsetslot
+\setslot{guillemotright}\endsetslot
+
+\nextslot{"3C}
+\setslot{\lc{CYRYO}{cyruo}}\endsetslot
+
+\nextslot{"3E}
+\setslot{\uc{CYRYO}{cyruo}}\endsetslot
+
+\inputetx{cmcyrl}
+
+\endencoding
diff --git a/fonts/cyrillic/glonti/source/cmcyrc.etx b/fonts/cyrillic/glonti/source/cmcyrc.etx
new file mode 100644
index 0000000000..bde860f641
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/cmcyrc.etx
@@ -0,0 +1,15 @@
+\relax
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+
+\nextslot{"1E}
+\setslot{\lc{CYRYO}{cyruo}}\endsetslot
+\nextslot{"3E}
+\setslot{\uc{CYRYO}{cyruo}}\endsetslot
+
+\inputetx{cmcyrl}
+
+\endencoding
diff --git a/fonts/cyrillic/glonti/source/cmcyrl.etx b/fonts/cyrillic/glonti/source/cmcyrl.etx
new file mode 100644
index 0000000000..c53c28ca04
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/cmcyrl.etx
@@ -0,0 +1,74 @@
+\relax
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+
+\nextslot{"40}
+\setslot{\lc{CYRYU}{cyryu}}\endsetslot
+\setslot{\lc{CYRA}{cyra}}\endsetslot
+\setslot{\lc{CYRB}{cyrb}}\endsetslot
+\setslot{\lc{CYRC}{cyrc}}\endsetslot
+\setslot{\lc{CYRD}{cyrd}}\endsetslot
+\setslot{\lc{CYRE}{cyre}}\endsetslot
+\setslot{\lc{CYRF}{cyrf}}\endsetslot
+\setslot{\lc{CYRG}{cyrg}}\endsetslot
+\setslot{\lc{CYRH}{cyrh}}\endsetslot
+\setslot{\lc{CYRI}{cyri}}\endsetslot
+\setslot{\lc{CYRISHRT}{cyrishrt}}\endsetslot
+\setslot{\lc{CYRK}{cyrk}}\endsetslot
+\setslot{\lc{CYRL}{cyrl}}\endsetslot
+\setslot{\lc{CYRM}{cyrm}}\endsetslot
+\setslot{\lc{CYRN}{cyrn}}\endsetslot
+\setslot{\lc{CYRO}{cyro}}\endsetslot
+\setslot{\lc{CYRP}{cyrp}}\endsetslot
+\setslot{\lc{CYRYA}{cyrya}}\endsetslot
+\setslot{\lc{CYRR}{cyrr}}\endsetslot
+\setslot{\lc{CYRS}{cyrs}}\endsetslot
+\setslot{\lc{CYRT}{cyrt}}\endsetslot
+\setslot{\lc{CYRU}{cyru}}\endsetslot
+\setslot{\lc{CYRZH}{cyrzh}}\endsetslot
+\setslot{\lc{CYRV}{cyrv}}\endsetslot
+\setslot{\lc{CYRSFTSN}{cyrsftsn}}\endsetslot
+\setslot{\lc{CYRERY}{cyrery}}\endsetslot
+\setslot{\lc{CYRZ}{cyrz}}\endsetslot
+\setslot{\lc{CYRSH}{cyrsh}}\endsetslot
+\setslot{\lc{CYREREV}{cyrerev}}\endsetslot
+\setslot{\lc{CYRSHCH}{cyrshch}}\endsetslot
+\setslot{\lc{CYRCH}{cyrch}}\endsetslot
+\setslot{\lc{CYRHRDSN}{cyrhrdsn}}\endsetslot
+\setslot{\uc{CYRYU}{cyryu}}\endsetslot
+\setslot{\uc{CYRA}{cyra}}\endsetslot
+\setslot{\uc{CYRB}{cyrb}}\endsetslot
+\setslot{\uc{CYRC}{cyrc}}\endsetslot
+\setslot{\uc{CYRD}{cyrd}}\endsetslot
+\setslot{\uc{CYRE}{cyre}}\endsetslot
+\setslot{\uc{CYRF}{cyrf}}\endsetslot
+\setslot{\uc{CYRG}{cyrg}}\endsetslot
+\setslot{\uc{CYRH}{cyrh}}\endsetslot
+\setslot{\uc{CYRI}{cyri}}\endsetslot
+\setslot{\uc{CYRISHRT}{cyrishrt}}\endsetslot
+\setslot{\uc{CYRK}{cyrk}}\endsetslot
+\setslot{\uc{CYRL}{cyrl}}\endsetslot
+\setslot{\uc{CYRM}{cyrm}}\endsetslot
+\setslot{\uc{CYRN}{cyrn}}\endsetslot
+\setslot{\uc{CYRO}{cyro}}\endsetslot
+\setslot{\uc{CYRP}{cyrp}}\endsetslot
+\setslot{\uc{CYRYA}{cyrya}}\endsetslot
+\setslot{\uc{CYRR}{cyrr}}\endsetslot
+\setslot{\uc{CYRS}{cyrs}}\endsetslot
+\setslot{\uc{CYRT}{cyrt}}\endsetslot
+\setslot{\uc{CYRU}{cyru}}\endsetslot
+\setslot{\uc{CYRZH}{cyrzh}}\endsetslot
+\setslot{\uc{CYRV}{cyrv}}\endsetslot
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}\endsetslot
+\setslot{\uc{CYRERY}{cyrery}}\endsetslot
+\setslot{\uc{CYRZ}{cyrz}}\endsetslot
+\setslot{\uc{CYRSH}{cyrsh}}\endsetslot
+\setslot{\uc{CYREREV}{cyrerev}}\endsetslot
+\setslot{\uc{CYRSHCH}{cyrshch}}\endsetslot
+\setslot{\uc{CYRCH}{cyrch}}\endsetslot
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}\endsetslot
+
+\endencoding
diff --git a/fonts/cyrillic/glonti/source/cminch.etx b/fonts/cyrillic/glonti/source/cminch.etx
new file mode 100644
index 0000000000..4ad8ac59f8
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/cminch.etx
@@ -0,0 +1,48 @@
+\relax
+
+\encoding
+
+\setcommand\digit#1{#1}
+\setcommand\uc#1#2{#1}
+
+\nextslot{"30}
+\setslot{\digit{zero}}\endsetslot
+\setslot{\digit{one}}\endsetslot
+\setslot{\digit{two}}\endsetslot
+\setslot{\digit{three}}\endsetslot
+\setslot{\digit{four}}\endsetslot
+\setslot{\digit{five}}\endsetslot
+\setslot{\digit{six}}\endsetslot
+\setslot{\digit{seven}}\endsetslot
+\setslot{\digit{eight}}\endsetslot
+\setslot{\digit{nine}}\endsetslot
+
+\nextslot{"41}
+\setslot{\uc{A}{a}}\endsetslot
+\setslot{\uc{B}{b}}\endsetslot
+\setslot{\uc{C}{c}}\endsetslot
+\setslot{\uc{D}{d}}\endsetslot
+\setslot{\uc{E}{e}}\endsetslot
+\setslot{\uc{F}{f}}\endsetslot
+\setslot{\uc{G}{g}}\endsetslot
+\setslot{\uc{H}{h}}\endsetslot
+\setslot{\uc{I}{i}}\endsetslot
+\setslot{\uc{J}{j}}\endsetslot
+\setslot{\uc{K}{k}}\endsetslot
+\setslot{\uc{L}{l}}\endsetslot
+\setslot{\uc{M}{m}}\endsetslot
+\setslot{\uc{N}{n}}\endsetslot
+\setslot{\uc{O}{o}}\endsetslot
+\setslot{\uc{P}{p}}\endsetslot
+\setslot{\uc{Q}{q}}\endsetslot
+\setslot{\uc{R}{r}}\endsetslot
+\setslot{\uc{S}{s}}\endsetslot
+\setslot{\uc{T}{t}}\endsetslot
+\setslot{\uc{U}{u}}\endsetslot
+\setslot{\uc{V}{v}}\endsetslot
+\setslot{\uc{W}{w}}\endsetslot
+\setslot{\uc{X}{x}}\endsetslot
+\setslot{\uc{Y}{y}}\endsetslot
+\setslot{\uc{Z}{z}}\endsetslot
+
+\endencoding
diff --git a/fonts/cyrillic/glonti/source/gafonts.tex b/fonts/cyrillic/glonti/source/gafonts.tex
new file mode 100644
index 0000000000..28ff1eff3b
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/gafonts.tex
@@ -0,0 +1,82 @@
+% fontinst script for all CMCYR fonts except of cmcinch
+\input fontinst.sty
+\input fnstcorr
+\input cyralias
+
+\declareencoding{CMCYR TEXT}{cmcyr}
+\declareencoding{CMCYR CAPS AND SMALL CAPS}{cmcyrc}
+
+\installfonts
+
+\installfamily{T2A}{cgr}{\hyphenchar\font45 }
+
+\installfont{gar5}{cmr5,cmcyr5,latin,cyrillic}{t2a}{T2A}{cgr}{m}{n}{5}
+\installfont{gar6}{cmr6,cmcyr6,latin,cyrillic}{t2a}{T2A}{cgr}{m}{n}{6}
+\installfont{gar7}{cmr7,cmcyr7,latin,cyrillic}{t2a}{T2A}{cgr}{m}{n}{7}
+\installfont{gar8}{cmr8,cmcyr8,latin,cyrillic}{t2a}{T2A}{cgr}{m}{n}{8}
+\installfont{gar9}{cmr9,cmcyr9,latin,cyrillic}{t2a}{T2A}{cgr}{m}{n}{9}
+\installfont{gar10}{cmr10,cmcyr10,latin,cyrillic}{t2a}{T2A}{cgr}{m}{n}{10}
+\installfont{gar12}{cmr12,cmcyr12,latin,cyrillic}{t2a}{T2A}{cgr}{m}{n}{12}
+\installfont{gar17}{cmr17,cmcyr17,latin,cyrillic}{t2a}{T2A}{cgr}{m}{n}{17}
+
+\installfont{gasl8}{cmsl8,cmcsl8,latin,cyrillic}{t2a}{T2A}{cgr}{m}{sl}{8}
+\installfont{gasl9}{cmsl9,cmcsl9,latin,cyrillic}{t2a}{T2A}{cgr}{m}{sl}{9}
+\installfont{gasl10}{cmsl10,cmcsl10,latin,cyrillic}{t2a}{T2A}{cgr}{m}{sl}{10}
+\installfont{gasl12}{cmsl12,cmcsl12,latin,cyrillic}{t2a}{T2A}{cgr}{m}{sl}{12}
+
+\installfont{gati7}{cmti7,cmcti7,latin,cyrillic}{t2a}{T2A}{cgr}{m}{it}{7}
+\installfont{gati8}{cmti8,cmcti8,latin,cyrillic}{t2a}{T2A}{cgr}{m}{it}{8}
+\installfont{gati9}{cmti9,cmcti9,latin,cyrillic}{t2a}{T2A}{cgr}{m}{it}{9}
+\installfont{gati10}{cmti10,cmcti10,latin,cyrillic}{t2a}{T2A}{cgr}{m}{it}{10}
+\installfont{gati12}{cmti12,cmcti12,latin,cyrillic}{t2a}{T2A}{cgr}{m}{it}{12}
+
+\installfont{gacsc8}{cmcsc8,cmccsc8,latin,cyrillic}{t2a}{T2A}{cgr}{m}{sc}{8}
+\installfont{gacsc9}{cmcsc9,cmccsc9,latin,cyrillic}{t2a}{T2A}{cgr}{m}{sc}{9}
+\installfont{gacsc10}{cmcsc10,cmccsc10,latin,cyrillic}{t2a}{T2A}{cgr}{m}{sc}{10}
+
+\installfont{gau10}{cmu10,cmcu10,latin,cyrillic}{t2a}{T2A}{cgr}{m}{ui}{10}
+\installfont{gab10}{cmb10,cmcb10,latin,cyrillic}{t2a}{T2A}{cgr}{b}{n}{10}
+
+\installfont{gabx5}{cmbx5,cmcbx5,latin,cyrillic}{t2a}{T2A}{cgr}{bx}{n}{5}
+\installfont{gabx6}{cmbx6,cmcbx6,latin,cyrillic}{t2a}{T2A}{cgr}{bx}{n}{6}
+\installfont{gabx7}{cmbx7,cmcbx7,latin,cyrillic}{t2a}{T2A}{cgr}{bx}{n}{7}
+\installfont{gabx8}{cmbx8,cmcbx8,latin,cyrillic}{t2a}{T2A}{cgr}{bx}{n}{8}
+\installfont{gabx9}{cmbx9,cmcbx9,latin,cyrillic}{t2a}{T2A}{cgr}{bx}{n}{9}
+\installfont{gabx10}{cmbx10,cmcbx10,latin,cyrillic}{t2a}{T2A}{cgr}{bx}{n}{10}
+\installfont{gabx12}{cmbx12,cmcbx12,latin,cyrillic}{t2a}{T2A}{cgr}{bx}{n}{12}
+
+\installfont{gabxsl10}{cmbxsl10,cmcbxsl10,latin,cyrillic}{t2a}{T2A}{cgr}{bx}{sl}{10}
+\installfont{gabxti10}{cmbxti10,cmcbxti10,latin,cyrillic}{t2a}{T2A}{cgr}{bx}{it}{10}
+
+\installfamily{T2A}{cgss}{\hyphenchar\font45 }
+
+\installfont{gass8}{cmss8,cmcss8,latin,cyrillic}{t2a}{T2A}{cgss}{m}{n}{8}
+\installfont{gass9}{cmss9,cmcss9,latin,cyrillic}{t2a}{T2A}{cgss}{m}{n}{9}
+\installfont{gass10}{cmss10,cmcss10,latin,cyrillic}{t2a}{T2A}{cgss}{m}{n}{10}
+\installfont{gass12}{cmss12,cmcss12,latin,cyrillic}{t2a}{T2A}{cgss}{m}{n}{12}
+\installfont{gass17}{cmss17,cmcss17,latin,cyrillic}{t2a}{T2A}{cgss}{m}{n}{17}
+
+\installfont{gassi8}{cmssi8,cmcssi8,latin,cyrillic}{t2a}{T2A}{cgss}{m}{sl}{8}
+\installfont{gassi9}{cmssi9,cmcssi9,latin,cyrillic}{t2a}{T2A}{cgss}{m}{sl}{9}
+\installfont{gassi10}{cmssi10,cmcssi10,latin,cyrillic}{t2a}{T2A}{cgss}{m}{sl}{10}
+\installfont{gassi12}{cmssi12,cmcssi12,latin,cyrillic}{t2a}{T2A}{cgss}{m}{sl}{12}
+\installfont{gassi17}{cmssi17,cmcssi17,latin,cyrillic}{t2a}{T2A}{cgss}{m}{sl}{17}
+
+\installfont{gassdc10}{cmssdc10,cmcssdc10,latin,cyrillic}{t2a}{T2A}{cgss}{sbc}{n}{10}
+\installfont{gassbx10}{cmssbx10,cmcssbx10,latin,cyrillic}{t2a}{T2A}{cgss}{bx}{n}{10}
+
+\installfont{gassq8}{cmssq8,cmcssq8,latin,cyrillic}{t2a}{T2A}{cgss}{q}{n}{8}
+\installfont{gassqi8}{cmssqi8,cmcssqi8,latin,cyrillic}{t2a}{T2A}{cgss}{q}{sl}{8}
+
+\installfamily{T2A}{cgtt}{\hyphenchar\font\m@ne}
+
+\installfont{gatt8}{cmtt8,cmctt8,tt,latin,cyrillic}{t2a}{T2A}{cgtt}{m}{n}{8}
+\installfont{gatt9}{cmtt9,cmctt9,tt,latin,cyrillic}{t2a}{T2A}{cgtt}{m}{n}{9}
+\installfont{gatt10}{cmtt10,cmctt10,tt,latin,cyrillic}{t2a}{T2A}{cgtt}{m}{n}{10}
+\installfont{gatt12}{cmtt12,cmctt12,tt,latin,cyrillic}{t2a}{T2A}{cgtt}{m}{n}{12}
+
+\installfont{gasltt10}{cmsltt10,cmcsltt10,tt,latin,cyrillic}{t2a}{T2A}{cgtt}{m}{sl}{10}
+\installfont{gaitt10}{cmitt10,cmcitt10,tt,latin,cyrillic}{t2a}{T2A}{cgtt}{m}{it}{10}
+
+\endinstallfonts
+\bye
diff --git a/fonts/cyrillic/glonti/source/gainch.etx b/fonts/cyrillic/glonti/source/gainch.etx
new file mode 100644
index 0000000000..69cade0cfb
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/gainch.etx
@@ -0,0 +1,47 @@
+\relax
+
+\encoding
+
+\setstr{codingscheme}{TEX CYRILLIC CAPS AND DIGITS - T2A}
+\setcommand\uc#1#2{#1}
+
+\nextslot{"9C}
+\setslot{\uc{CYRYO}{cyryo}}\endsetslot
+
+\nextslot{"C0}
+\setslot{\uc{CYRA}{cyra}}\endsetslot
+\setslot{\uc{CYRB}{cyrb}}\endsetslot
+\setslot{\uc{CYRV}{cyrv}}\endsetslot
+\setslot{\uc{CYRG}{cyrg}}\endsetslot
+\setslot{\uc{CYRD}{cyrd}}\endsetslot
+\setslot{\uc{CYRE}{cyre}}\endsetslot
+\setslot{\uc{CYRZH}{cyrzh}}\endsetslot
+\setslot{\uc{CYRZ}{cyrz}}\endsetslot
+\setslot{\uc{CYRI}{cyri}}\endsetslot
+\setslot{\uc{CYRISHRT}{cyrishrt}}\endsetslot
+\setslot{\uc{CYRK}{cyrk}}\endsetslot
+\setslot{\uc{CYRL}{cyrl}}\endsetslot
+\setslot{\uc{CYRM}{cyrm}}\endsetslot
+\setslot{\uc{CYRN}{cyrn}}\endsetslot
+\setslot{\uc{CYRO}{cyro}}\endsetslot
+\setslot{\uc{CYRP}{cyrp}}\endsetslot
+\setslot{\uc{CYRR}{cyrr}}\endsetslot
+\setslot{\uc{CYRS}{cyrs}}\endsetslot
+\setslot{\uc{CYRT}{cyrt}}\endsetslot
+\setslot{\uc{CYRU}{cyru}}\endsetslot
+\setslot{\uc{CYRF}{cyrf}}\endsetslot
+\setslot{\uc{CYRH}{cyrh}}\endsetslot
+\setslot{\uc{CYRC}{cyrc}}\endsetslot
+\setslot{\uc{CYRCH}{cyrch}}\endsetslot
+\setslot{\uc{CYRSH}{cyrsh}}\endsetslot
+\setslot{\uc{CYRSHCH}{cyrshch}}\endsetslot
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}\endsetslot
+\setslot{\uc{CYRERY}{cyrery}}\endsetslot
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}\endsetslot
+\setslot{\uc{CYREREV}{cyrerev}}\endsetslot
+\setslot{\uc{CYRYU}{cyryu}}\endsetslot
+\setslot{\uc{CYRYA}{cyrya}}\endsetslot
+
+\inputetx{cminch}
+
+\endencoding
diff --git a/fonts/cyrillic/glonti/source/gainch.tex b/fonts/cyrillic/glonti/source/gainch.tex
new file mode 100644
index 0000000000..2aeb28ad83
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/gainch.tex
@@ -0,0 +1,17 @@
+% fontinst script for cmcinch
+\input fontinst.sty
+\input fnstcorr
+\input cyralias
+
+\declareencoding{ASCII CAPS AND DIGITS}{cminch}
+\declareencoding{CMCYR CAPS}{cmcinch}
+\declaresize{72}{<72.27>}
+
+\installfonts
+
+\installfamily{T2A}{cgin}{}
+
+\installfont{gainch}{cminch,cmcinch}{gainch}{T2A}{cgin}{n}{m}{72}
+
+\endinstallfonts
+\bye
diff --git a/fonts/cyrillic/glonti/source/glfonts.tex b/fonts/cyrillic/glonti/source/glfonts.tex
new file mode 100644
index 0000000000..5aef4a0333
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/glfonts.tex
@@ -0,0 +1,82 @@
+% fontinst script for all CMCYR fonts except of cmcinch
+\input fontinst.sty
+\input fnstcorr
+\input cyralias
+
+\declareencoding{CMCYR TEXT}{cmcyr}
+\declareencoding{CMCYR CAPS AND SMALL CAPS}{cmcyrc}
+
+\installfonts
+
+\installfamily{LCY}{cgr}{\hyphenchar\font45 }
+
+\installfont{glr5}{cmr5,cmcyr5,latin,cyrillic}{lcy}{LCY}{cgr}{m}{n}{5}
+\installfont{glr6}{cmr6,cmcyr6,latin,cyrillic}{lcy}{LCY}{cgr}{m}{n}{6}
+\installfont{glr7}{cmr7,cmcyr7,latin,cyrillic}{lcy}{LCY}{cgr}{m}{n}{7}
+\installfont{glr8}{cmr8,cmcyr8,latin,cyrillic}{lcy}{LCY}{cgr}{m}{n}{8}
+\installfont{glr9}{cmr9,cmcyr9,latin,cyrillic}{lcy}{LCY}{cgr}{m}{n}{9}
+\installfont{glr10}{cmr10,cmcyr10,latin,cyrillic}{lcy}{LCY}{cgr}{m}{n}{10}
+\installfont{glr12}{cmr12,cmcyr12,latin,cyrillic}{lcy}{LCY}{cgr}{m}{n}{12}
+\installfont{glr17}{cmr17,cmcyr17,latin,cyrillic}{lcy}{LCY}{cgr}{m}{n}{17}
+
+\installfont{glsl8}{cmsl8,cmcsl8,latin,cyrillic}{lcy}{LCY}{cgr}{m}{sl}{8}
+\installfont{glsl9}{cmsl9,cmcsl9,latin,cyrillic}{lcy}{LCY}{cgr}{m}{sl}{9}
+\installfont{glsl10}{cmsl10,cmcsl10,latin,cyrillic}{lcy}{LCY}{cgr}{m}{sl}{10}
+\installfont{glsl12}{cmsl12,cmcsl12,latin,cyrillic}{lcy}{LCY}{cgr}{m}{sl}{12}
+
+\installfont{glti7}{cmti7,cmcti7,latin,cyrillic}{lcy}{LCY}{cgr}{m}{it}{7}
+\installfont{glti8}{cmti8,cmcti8,latin,cyrillic}{lcy}{LCY}{cgr}{m}{it}{8}
+\installfont{glti9}{cmti9,cmcti9,latin,cyrillic}{lcy}{LCY}{cgr}{m}{it}{9}
+\installfont{glti10}{cmti10,cmcti10,latin,cyrillic}{lcy}{LCY}{cgr}{m}{it}{10}
+\installfont{glti12}{cmti12,cmcti12,latin,cyrillic}{lcy}{LCY}{cgr}{m}{it}{12}
+
+\installfont{glcsc8}{cmcsc8,cmccsc8,latin,cyrillic}{lcy}{LCY}{cgr}{m}{sc}{8}
+\installfont{glcsc9}{cmcsc9,cmccsc9,latin,cyrillic}{lcy}{LCY}{cgr}{m}{sc}{9}
+\installfont{glcsc10}{cmcsc10,cmccsc10,latin,cyrillic}{lcy}{LCY}{cgr}{m}{sc}{10}
+
+\installfont{glu10}{cmu10,cmcu10,latin,cyrillic}{lcy}{LCY}{cgr}{m}{ui}{10}
+\installfont{glb10}{cmb10,cmcb10,latin,cyrillic}{lcy}{LCY}{cgr}{b}{n}{10}
+
+\installfont{glbx5}{cmbx5,cmcbx5,latin,cyrillic}{lcy}{LCY}{cgr}{bx}{n}{5}
+\installfont{glbx6}{cmbx6,cmcbx6,latin,cyrillic}{lcy}{LCY}{cgr}{bx}{n}{6}
+\installfont{glbx7}{cmbx7,cmcbx7,latin,cyrillic}{lcy}{LCY}{cgr}{bx}{n}{7}
+\installfont{glbx8}{cmbx8,cmcbx8,latin,cyrillic}{lcy}{LCY}{cgr}{bx}{n}{8}
+\installfont{glbx9}{cmbx9,cmcbx9,latin,cyrillic}{lcy}{LCY}{cgr}{bx}{n}{9}
+\installfont{glbx10}{cmbx10,cmcbx10,latin,cyrillic}{lcy}{LCY}{cgr}{bx}{n}{10}
+\installfont{glbx12}{cmbx12,cmcbx12,latin,cyrillic}{lcy}{LCY}{cgr}{bx}{n}{12}
+
+\installfont{glbxsl10}{cmbxsl10,cmcbxsl10,latin,cyrillic}{lcy}{LCY}{cgr}{bx}{sl}{10}
+\installfont{glbxti10}{cmbxti10,cmcbxti10,latin,cyrillic}{lcy}{LCY}{cgr}{bx}{it}{10}
+
+\installfamily{LCY}{cgss}{\hyphenchar\font45 }
+
+\installfont{glss8}{cmss8,cmcss8,latin,cyrillic}{lcy}{LCY}{cgss}{m}{n}{8}
+\installfont{glss9}{cmss9,cmcss9,latin,cyrillic}{lcy}{LCY}{cgss}{m}{n}{9}
+\installfont{glss10}{cmss10,cmcss10,latin,cyrillic}{lcy}{LCY}{cgss}{m}{n}{10}
+\installfont{glss12}{cmss12,cmcss12,latin,cyrillic}{lcy}{LCY}{cgss}{m}{n}{12}
+\installfont{glss17}{cmss17,cmcss17,latin,cyrillic}{lcy}{LCY}{cgss}{m}{n}{17}
+
+\installfont{glssi8}{cmssi8,cmcssi8,latin,cyrillic}{lcy}{LCY}{cgss}{m}{sl}{8}
+\installfont{glssi9}{cmssi9,cmcssi9,latin,cyrillic}{lcy}{LCY}{cgss}{m}{sl}{9}
+\installfont{glssi10}{cmssi10,cmcssi10,latin,cyrillic}{lcy}{LCY}{cgss}{m}{sl}{10}
+\installfont{glssi12}{cmssi12,cmcssi12,latin,cyrillic}{lcy}{LCY}{cgss}{m}{sl}{12}
+\installfont{glssi17}{cmssi17,cmcssi17,latin,cyrillic}{lcy}{LCY}{cgss}{m}{sl}{17}
+
+\installfont{glssdc10}{cmssdc10,cmcssdc10,latin,cyrillic}{lcy}{LCY}{cgss}{sbc}{n}{10}
+\installfont{glssbx10}{cmssbx10,cmcssbx10,latin,cyrillic}{lcy}{LCY}{cgss}{bx}{n}{10}
+
+\installfont{glssq8}{cmssq8,cmcssq8,latin,cyrillic}{lcy}{LCY}{cgss}{q}{n}{8}
+\installfont{glssqi8}{cmssqi8,cmcssqi8,latin,cyrillic}{lcy}{LCY}{cgss}{q}{sl}{8}
+
+\installfamily{LCY}{cgtt}{\hyphenchar\font\m@ne}
+
+\installfont{gltt8}{cmtt8,cmctt8,tt,latin,cyrillic}{lcytt}{LCY}{cgtt}{m}{n}{8}
+\installfont{gltt9}{cmtt9,cmctt9,tt,latin,cyrillic}{lcytt}{LCY}{cgtt}{m}{n}{9}
+\installfont{gltt10}{cmtt10,cmctt10,tt,latin,cyrillic}{lcytt}{LCY}{cgtt}{m}{n}{10}
+\installfont{gltt12}{cmtt12,cmctt12,tt,latin,cyrillic}{lcytt}{LCY}{cgtt}{m}{n}{12}
+
+\installfont{glsltt10}{cmsltt10,cmcsltt10,tt,latin,cyrillic}{lcytt}{LCY}{cgtt}{m}{sl}{10}
+\installfont{glitt10}{cmitt10,cmcitt10,tt,latin,cyrillic}{lcytt}{LCY}{cgtt}{m}{it}{10}
+
+\endinstallfonts
+\bye
diff --git a/fonts/cyrillic/glonti/source/glinch.etx b/fonts/cyrillic/glonti/source/glinch.etx
new file mode 100644
index 0000000000..f51dbc7e46
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/glinch.etx
@@ -0,0 +1,47 @@
+\relax
+
+\encoding
+
+\setstr{codingscheme}{TEX CYRILLIC CAPS AND DIGITS}
+\setcommand\uc#1#2{#1}
+
+\nextslot{"80}
+\setslot{\uc{CYRA}{cyra}}\endsetslot
+\setslot{\uc{CYRB}{cyrb}}\endsetslot
+\setslot{\uc{CYRV}{cyrv}}\endsetslot
+\setslot{\uc{CYRG}{cyrg}}\endsetslot
+\setslot{\uc{CYRD}{cyrd}}\endsetslot
+\setslot{\uc{CYRE}{cyre}}\endsetslot
+\setslot{\uc{CYRZH}{cyrzh}}\endsetslot
+\setslot{\uc{CYRZ}{cyrz}}\endsetslot
+\setslot{\uc{CYRI}{cyri}}\endsetslot
+\setslot{\uc{CYRISHRT}{cyrishrt}}\endsetslot
+\setslot{\uc{CYRK}{cyrk}}\endsetslot
+\setslot{\uc{CYRL}{cyrl}}\endsetslot
+\setslot{\uc{CYRM}{cyrm}}\endsetslot
+\setslot{\uc{CYRN}{cyrn}}\endsetslot
+\setslot{\uc{CYRO}{cyro}}\endsetslot
+\setslot{\uc{CYRP}{cyrp}}\endsetslot
+\setslot{\uc{CYRR}{cyrr}}\endsetslot
+\setslot{\uc{CYRS}{cyrs}}\endsetslot
+\setslot{\uc{CYRT}{cyrt}}\endsetslot
+\setslot{\uc{CYRU}{cyru}}\endsetslot
+\setslot{\uc{CYRF}{cyrf}}\endsetslot
+\setslot{\uc{CYRH}{cyrh}}\endsetslot
+\setslot{\uc{CYRC}{cyrc}}\endsetslot
+\setslot{\uc{CYRCH}{cyrch}}\endsetslot
+\setslot{\uc{CYRSH}{cyrsh}}\endsetslot
+\setslot{\uc{CYRSHCH}{cyrshch}}\endsetslot
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}\endsetslot
+\setslot{\uc{CYRERY}{cyrery}}\endsetslot
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}\endsetslot
+\setslot{\uc{CYREREV}{cyrerev}}\endsetslot
+\setslot{\uc{CYRYU}{cyryu}}\endsetslot
+\setslot{\uc{CYRYA}{cyrya}}\endsetslot
+
+\nextslot{"F0}
+\setslot{\uc{CYRYO}{cyryo}}\endsetslot
+
+\inputetx{cminch}
+
+\endencoding
diff --git a/fonts/cyrillic/glonti/source/glinch.tex b/fonts/cyrillic/glonti/source/glinch.tex
new file mode 100644
index 0000000000..8af2c0bc6d
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/glinch.tex
@@ -0,0 +1,17 @@
+% fontinst script for cmcinch
+\input fontinst.sty
+\input fnstcorr
+\input cyralias
+
+\declareencoding{ASCII CAPS AND DIGITS}{cminch}
+\declareencoding{CMCYR CAPS}{cmcinch}
+\declaresize{72}{<72.27>}
+
+\installfonts
+
+\installfamily{LCY}{cgin}{}
+
+\installfont{glinch}{cminch,cmcinch}{glinch}{LCY}{cgin}{n}{m}{72}
+
+\endinstallfonts
+\bye
diff --git a/fonts/cyrillic/glonti/source/tt.mtx b/fonts/cyrillic/glonti/source/tt.mtx
new file mode 100644
index 0000000000..2d8d15d5c3
--- /dev/null
+++ b/fonts/cyrillic/glonti/source/tt.mtx
@@ -0,0 +1,7 @@
+\relax
+\metrics
+
+\setint{typewriter}{0}
+\setint{monowidth}{9876}
+
+\endmetrics
diff --git a/fonts/cyrillic/glonti/tex/glonti.sty b/fonts/cyrillic/glonti/tex/glonti.sty
new file mode 100644
index 0000000000..d78ee6cccc
--- /dev/null
+++ b/fonts/cyrillic/glonti/tex/glonti.sty
@@ -0,0 +1,15 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{glonti}[2002/12/14 v1.0 Glonti fonts as defaults]
+\RequirePackage[LCY]{fontenc}
+\DeclareSymbolFont{operators}{LCY}{cgr} {m}{n}
+\SetSymbolFont{operators}{bold}{LCY}{cgr} {bx}{n}
+\DeclareMathAlphabet{\mathbf}{LCY}{cgr}{bx}{n}
+\DeclareMathAlphabet{\mathsf}{LCY}{cgss}{m}{n}
+\DeclareMathAlphabet{\mathit}{LCY}{cgr}{m}{it}
+\DeclareMathAlphabet{\mathtt}{LCY}{cgtt}{m}{n}
+\SetMathAlphabet\mathsf{bold}{LCY}{cgss}{bx}{n}
+\SetMathAlphabet\mathit{bold}{LCY}{cgr}{bx}{it}
+\renewcommand{\rmdefault}{cgr}
+\renewcommand{\sfdefault}{cgss}
+\renewcommand{\ttdefault}{cgtt}
+\endinput
diff --git a/fonts/cyrillic/glonti/tex/lcycgr.fd b/fonts/cyrillic/glonti/tex/lcycgr.fd
new file mode 100644
index 0000000000..45135f379d
--- /dev/null
+++ b/fonts/cyrillic/glonti/tex/lcycgr.fd
@@ -0,0 +1,47 @@
+\ProvidesFile{lcycgr.fd}[2001/12/30 v1.0 glonti-fonts]
+\DeclareFontFamily{LCY}{cgr}{\hyphenchar\font45 }
+\DeclareFontShape{LCY}{cgr}{m}{n}{%
+ <5><6><7><8><9><10><12>gen*glr%
+ <10.95>glr10%
+ <14.4>glr12%
+ <17.28><20.74><24.88>glr17%
+}{}
+\DeclareFontShape{LCY}{cgr}{m}{sl}{%
+ <5><6><7>glsl8%
+ <8><9>gen*glsl%
+ <10><10.95>glsl10%
+ <12><14.4><17.28><20.74><24.88>glsl12%
+}{}
+\DeclareFontShape{LCY}{cgr}{m}{it}{%
+ <5><6><7>glti7%
+ <8>glti8%
+ <9>glti9%
+ <10><10.95>glti10%
+ <12><14.4><17.28><20.74><24.88>glti12%
+}{}
+\DeclareFontShape{LCY}{cgr}{m}{sc}{%
+ <5><6><7><8>glcsc8%
+ <9>glcsc9%
+ <10><10.95><12><14.4><17.28><20.74><24.88>glcsc10%
+}{}
+\DeclareFontShape{LCY}{cgr}{m}{ui}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>glu10%
+}{}
+\DeclareFontShape{LCY}{cgr}{b}{n}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>glb10%
+}{}
+\DeclareFontShape{LCY}{cgr}{bx}{n}{%
+ <5><6><7><8><9>gen*glbx%
+ <10><10.95>glbx10%
+ <12><14.4><17.28><20.74><24.88>glbx12%
+}{}
+\DeclareFontShape{LCY}{cgr}{bx}{sl}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>glbxsl10%
+}{}
+\DeclareFontShape{LCY}{cgr}{bx}{it}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>glbxti10%
+}{}
+\DeclareFontShape{LCY}{cgr}{bx}{ui}{%
+ <->sub*cgr/m/ui%
+}{}
+\endinput
diff --git a/fonts/cyrillic/glonti/tex/lcycgss.fd b/fonts/cyrillic/glonti/tex/lcycgss.fd
new file mode 100644
index 0000000000..15a8b132cd
--- /dev/null
+++ b/fonts/cyrillic/glonti/tex/lcycgss.fd
@@ -0,0 +1,35 @@
+\ProvidesFile{lcycgss.fd}[2001/12/30 v1.0 glonti-fonts]
+\DeclareFontFamily{LCY}{cgss}{\hyphenchar\font45 }
+\DeclareFontShape{LCY}{cgss}{m}{n}{%
+ <5><6><7><8>glss8%
+ <9>glss9%
+ <10><10.95>glss10%
+ <12><14.4>glss12%
+ <17.28><20.74><24.88>glss17%
+}{}
+\DeclareFontShape{LCY}{cgss}{m}{it}{%
+ <->sub*cgss/m/sl%
+}{}
+\DeclareFontShape{LCY}{cgss}{m}{sl}{%
+ <5><6><7><8>glssi8%
+ <9>glssi9%
+ <10><10.95>glssi10%
+ <12><14.4>glssi12%
+ <17.28><20.74><24.88>glssi17%
+}{}
+\DeclareFontShape{LCY}{cgss}{m}{sc}{%
+ <->sub*cgr/m/sc%
+}{}
+\DeclareFontShape{LCY}{cgss}{m}{ui}{%
+ <->sub*cgr/m/ui%
+}{}
+\DeclareFontShape{LCY}{cgss}{sbc}{n}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>glssdc10%
+}{}
+\DeclareFontShape{LCY}{cgss}{bx}{n}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>glssbx10%
+}{}
+\DeclareFontShape{LCY}{cgss}{bx}{ui}{%
+ <->sub*cgr/bx/ui%
+}{}
+\endinput
diff --git a/fonts/cyrillic/glonti/tex/lcycgtt.fd b/fonts/cyrillic/glonti/tex/lcycgtt.fd
new file mode 100644
index 0000000000..8ee5df0770
--- /dev/null
+++ b/fonts/cyrillic/glonti/tex/lcycgtt.fd
@@ -0,0 +1,30 @@
+\ProvidesFile{lcycgtt.fd}[2001/12/30 v1.0 glonti-fonts]
+\DeclareFontFamily{LCY}{cgtt}{\hyphenchar \font\m@ne}
+\DeclareFontShape{LCY}{cgtt}{m}{n}{%
+ <5><6><7><8>gltt8%
+ <9>gltt9%
+ <10><10.95>gltt10%
+ <12><14.4><17.28><20.74><24.88>gltt12%
+}{}
+\DeclareFontShape{LCY}{cgtt}{m}{it}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>glitt10%
+}{}
+\DeclareFontShape{LCY}{cgtt}{m}{sl}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>glsltt10%
+}{}
+\DeclareFontShape{LCY}{cgtt}{m}{sc}{%
+ <->ssub*cgtt/m/n%
+}{}
+\DeclareFontShape{LCY}{cgtt}{m}{ui}{%
+ <->ssub*cgtt/m/it%
+}{}
+\DeclareFontShape{LCY}{cgtt}{bx}{n}{%
+ <->ssub*cgtt/m/n%
+}{}
+\DeclareFontShape{LCY}{cgtt}{bx}{it}{%
+ <->ssub*cgtt/m/it%
+}{}
+\DeclareFontShape{LCY}{cgtt}{bx}{ui}{%
+ <->ssub*cgtt/m/it%
+}{}
+\endinput
diff --git a/fonts/cyrillic/glonti/tex/t2acgr.fd b/fonts/cyrillic/glonti/tex/t2acgr.fd
new file mode 100644
index 0000000000..85c2c932bd
--- /dev/null
+++ b/fonts/cyrillic/glonti/tex/t2acgr.fd
@@ -0,0 +1,47 @@
+\ProvidesFile{t2acgr.fd}[2001/12/30 v1.0 glonti-fonts]
+\DeclareFontFamily{T2A}{cgr}{\hyphenchar\font45 }
+\DeclareFontShape{T2A}{cgr}{m}{n}{%
+ <5><6><7><8><9><10><12>gen*gar%
+ <10.95>gar10%
+ <14.4>gar12%
+ <17.28><20.74><24.88>gar17%
+}{}
+\DeclareFontShape{T2A}{cgr}{m}{sl}{%
+ <5><6><7>gasl8%
+ <8><9>gen*gasl%
+ <10><10.95>gasl10%
+ <12><14.4><17.28><20.74><24.88>gasl12%
+}{}
+\DeclareFontShape{T2A}{cgr}{m}{it}{%
+ <5><6><7>gati7%
+ <8>gati8%
+ <9>gati9%
+ <10><10.95>gati10%
+ <12><14.4><17.28><20.74><24.88>gati12%
+}{}
+\DeclareFontShape{T2A}{cgr}{m}{sc}{%
+ <5><6><7><8>gacsc8%
+ <9>gacsc9%
+ <10><10.95><12><14.4><17.28><20.74><24.88>gacsc10%
+}{}
+\DeclareFontShape{T2A}{cgr}{m}{ui}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>gau10%
+}{}
+\DeclareFontShape{T2A}{cgr}{b}{n}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>gab10%
+}{}
+\DeclareFontShape{T2A}{cgr}{bx}{n}{%
+ <5><6><7><8><9>gen*gabx%
+ <10><10.95>gabx10%
+ <12><14.4><17.28><20.74><24.88>gabx12%
+}{}
+\DeclareFontShape{T2A}{cgr}{bx}{sl}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>gabxsl10%
+}{}
+\DeclareFontShape{T2A}{cgr}{bx}{it}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>gabxti10%
+}{}
+\DeclareFontShape{T2A}{cgr}{bx}{ui}{%
+ <->sub*cgr/m/ui%
+}{}
+\endinput
diff --git a/fonts/cyrillic/glonti/tex/t2acgss.fd b/fonts/cyrillic/glonti/tex/t2acgss.fd
new file mode 100644
index 0000000000..f543802247
--- /dev/null
+++ b/fonts/cyrillic/glonti/tex/t2acgss.fd
@@ -0,0 +1,35 @@
+\ProvidesFile{t2acgss.fd}[2001/12/30 v1.0 glonti-fonts]
+\DeclareFontFamily{T2A}{cgss}{\hyphenchar\font45 }
+\DeclareFontShape{T2A}{cgss}{m}{n}{%
+ <5><6><7><8>gass8%
+ <9>gass9%
+ <10><10.95>gass10%
+ <12><14.4>gass12%
+ <17.28><20.74><24.88>gass17%
+}{}
+\DeclareFontShape{T2A}{cgss}{m}{it}{%
+ <->sub*cgss/m/sl%
+}{}
+\DeclareFontShape{T2A}{cgss}{m}{sl}{%
+ <5><6><7><8>gassi8%
+ <9>gassi9%
+ <10><10.95>gassi10%
+ <12><14.4>gassi12%
+ <17.28><20.74><24.88>gassi17%
+}{}
+\DeclareFontShape{T2A}{cgss}{m}{sc}{%
+ <->sub*cgr/m/sc%
+}{}
+\DeclareFontShape{T2A}{cgss}{m}{ui}{%
+ <->sub*cgr/m/ui%
+}{}
+\DeclareFontShape{T2A}{cgss}{sbc}{n}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>gassdc10%
+}{}
+\DeclareFontShape{T2A}{cgss}{bx}{n}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>gassbx10%
+}{}
+\DeclareFontShape{T2A}{cgss}{bx}{ui}{%
+ <->sub*cgr/bx/ui%
+}{}
+\endinput
diff --git a/fonts/cyrillic/glonti/tex/t2acgtt.fd b/fonts/cyrillic/glonti/tex/t2acgtt.fd
new file mode 100644
index 0000000000..4fc18b4f88
--- /dev/null
+++ b/fonts/cyrillic/glonti/tex/t2acgtt.fd
@@ -0,0 +1,30 @@
+\ProvidesFile{t2acgtt.fd}[2001/12/30 v1.0 glonti-fonts]
+\DeclareFontFamily{T2A}{cgtt}{\hyphenchar \font\m@ne}
+\DeclareFontShape{T2A}{cgtt}{m}{n}{%
+ <5><6><7><8>gatt8%
+ <9>gatt9%
+ <10><10.95>gatt10%
+ <12><14.4><17.28><20.74><24.88>gatt12%
+}{}
+\DeclareFontShape{T2A}{cgtt}{m}{it}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>gaitt10%
+}{}
+\DeclareFontShape{T2A}{cgtt}{m}{sl}{%
+ <5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>gasltt10%
+}{}
+\DeclareFontShape{T2A}{cgtt}{m}{sc}{%
+ <->ssub*cgtt/m/n%
+}{}
+\DeclareFontShape{T2A}{cgtt}{m}{ui}{%
+ <->ssub*cgtt/m/it%
+}{}
+\DeclareFontShape{T2A}{cgtt}{bx}{n}{%
+ <->ssub*cgtt/m/n%
+}{}
+\DeclareFontShape{T2A}{cgtt}{bx}{it}{%
+ <->ssub*cgtt/m/it%
+}{}
+\DeclareFontShape{T2A}{cgtt}{bx}{ui}{%
+ <->ssub*cgtt/m/it%
+}{}
+\endinput
diff --git a/fonts/cyrillic/glonti/tfm/gab10.tfm b/fonts/cyrillic/glonti/tfm/gab10.tfm
new file mode 100644
index 0000000000..d81e420544
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gab10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gabx10.tfm b/fonts/cyrillic/glonti/tfm/gabx10.tfm
new file mode 100644
index 0000000000..a133ad7a0e
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gabx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gabx12.tfm b/fonts/cyrillic/glonti/tfm/gabx12.tfm
new file mode 100644
index 0000000000..a9f3dca393
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gabx12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gabx5.tfm b/fonts/cyrillic/glonti/tfm/gabx5.tfm
new file mode 100644
index 0000000000..98a705822d
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gabx5.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gabx6.tfm b/fonts/cyrillic/glonti/tfm/gabx6.tfm
new file mode 100644
index 0000000000..05e6ab4c58
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gabx6.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gabx7.tfm b/fonts/cyrillic/glonti/tfm/gabx7.tfm
new file mode 100644
index 0000000000..6f366cf475
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gabx7.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gabx8.tfm b/fonts/cyrillic/glonti/tfm/gabx8.tfm
new file mode 100644
index 0000000000..5378e2bdda
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gabx8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gabx9.tfm b/fonts/cyrillic/glonti/tfm/gabx9.tfm
new file mode 100644
index 0000000000..4252ebb75b
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gabx9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gabxsl10.tfm b/fonts/cyrillic/glonti/tfm/gabxsl10.tfm
new file mode 100644
index 0000000000..b6ab4d1dee
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gabxsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gabxti10.tfm b/fonts/cyrillic/glonti/tfm/gabxti10.tfm
new file mode 100644
index 0000000000..761a13f7d4
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gabxti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gacsc10.tfm b/fonts/cyrillic/glonti/tfm/gacsc10.tfm
new file mode 100644
index 0000000000..2c0c5e6d17
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gacsc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gacsc8.tfm b/fonts/cyrillic/glonti/tfm/gacsc8.tfm
new file mode 100644
index 0000000000..7dbd8c80ae
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gacsc8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gacsc9.tfm b/fonts/cyrillic/glonti/tfm/gacsc9.tfm
new file mode 100644
index 0000000000..6a9fd9efe0
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gacsc9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gainch.tfm b/fonts/cyrillic/glonti/tfm/gainch.tfm
new file mode 100644
index 0000000000..b14c2c9cf9
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gainch.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gaitt10.tfm b/fonts/cyrillic/glonti/tfm/gaitt10.tfm
new file mode 100644
index 0000000000..b30ba18d95
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gaitt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gar10.tfm b/fonts/cyrillic/glonti/tfm/gar10.tfm
new file mode 100644
index 0000000000..12ec111aec
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gar10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gar12.tfm b/fonts/cyrillic/glonti/tfm/gar12.tfm
new file mode 100644
index 0000000000..d513801be7
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gar12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gar17.tfm b/fonts/cyrillic/glonti/tfm/gar17.tfm
new file mode 100644
index 0000000000..49a9c4dd93
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gar17.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gar5.tfm b/fonts/cyrillic/glonti/tfm/gar5.tfm
new file mode 100644
index 0000000000..6f46f7175d
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gar5.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gar6.tfm b/fonts/cyrillic/glonti/tfm/gar6.tfm
new file mode 100644
index 0000000000..8e573aac5e
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gar6.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gar7.tfm b/fonts/cyrillic/glonti/tfm/gar7.tfm
new file mode 100644
index 0000000000..80a6dd0dd8
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gar7.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gar8.tfm b/fonts/cyrillic/glonti/tfm/gar8.tfm
new file mode 100644
index 0000000000..87ecd04f21
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gar8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gar9.tfm b/fonts/cyrillic/glonti/tfm/gar9.tfm
new file mode 100644
index 0000000000..ad812fed15
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gar9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gasl10.tfm b/fonts/cyrillic/glonti/tfm/gasl10.tfm
new file mode 100644
index 0000000000..8f61872e07
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gasl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gasl12.tfm b/fonts/cyrillic/glonti/tfm/gasl12.tfm
new file mode 100644
index 0000000000..848d1dbc1d
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gasl12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gasl8.tfm b/fonts/cyrillic/glonti/tfm/gasl8.tfm
new file mode 100644
index 0000000000..db050f4974
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gasl8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gasl9.tfm b/fonts/cyrillic/glonti/tfm/gasl9.tfm
new file mode 100644
index 0000000000..fd32641ea0
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gasl9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gasltt10.tfm b/fonts/cyrillic/glonti/tfm/gasltt10.tfm
new file mode 100644
index 0000000000..0a6484597f
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gasltt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gass10.tfm b/fonts/cyrillic/glonti/tfm/gass10.tfm
new file mode 100644
index 0000000000..4502bfc382
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gass10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gass12.tfm b/fonts/cyrillic/glonti/tfm/gass12.tfm
new file mode 100644
index 0000000000..389c168e88
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gass12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gass17.tfm b/fonts/cyrillic/glonti/tfm/gass17.tfm
new file mode 100644
index 0000000000..43a8608ad8
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gass17.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gass8.tfm b/fonts/cyrillic/glonti/tfm/gass8.tfm
new file mode 100644
index 0000000000..d7529a828e
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gass8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gass9.tfm b/fonts/cyrillic/glonti/tfm/gass9.tfm
new file mode 100644
index 0000000000..32b6910771
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gass9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gassbx10.tfm b/fonts/cyrillic/glonti/tfm/gassbx10.tfm
new file mode 100644
index 0000000000..ba074501a3
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gassbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gassdc10.tfm b/fonts/cyrillic/glonti/tfm/gassdc10.tfm
new file mode 100644
index 0000000000..990444964a
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gassdc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gassi10.tfm b/fonts/cyrillic/glonti/tfm/gassi10.tfm
new file mode 100644
index 0000000000..ae924a1089
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gassi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gassi12.tfm b/fonts/cyrillic/glonti/tfm/gassi12.tfm
new file mode 100644
index 0000000000..e96bdaa26d
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gassi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gassi17.tfm b/fonts/cyrillic/glonti/tfm/gassi17.tfm
new file mode 100644
index 0000000000..04c9ca3203
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gassi17.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gassi8.tfm b/fonts/cyrillic/glonti/tfm/gassi8.tfm
new file mode 100644
index 0000000000..94d41ef48c
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gassi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gassi9.tfm b/fonts/cyrillic/glonti/tfm/gassi9.tfm
new file mode 100644
index 0000000000..8b45662f07
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gassi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gassq8.tfm b/fonts/cyrillic/glonti/tfm/gassq8.tfm
new file mode 100644
index 0000000000..8f341db538
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gassq8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gassqi8.tfm b/fonts/cyrillic/glonti/tfm/gassqi8.tfm
new file mode 100644
index 0000000000..3dee4ee7e9
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gassqi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gati10.tfm b/fonts/cyrillic/glonti/tfm/gati10.tfm
new file mode 100644
index 0000000000..6200e04d69
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gati10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gati12.tfm b/fonts/cyrillic/glonti/tfm/gati12.tfm
new file mode 100644
index 0000000000..c3a99317e8
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gati12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gati7.tfm b/fonts/cyrillic/glonti/tfm/gati7.tfm
new file mode 100644
index 0000000000..376d096446
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gati7.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gati8.tfm b/fonts/cyrillic/glonti/tfm/gati8.tfm
new file mode 100644
index 0000000000..c2f29e40be
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gati8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gati9.tfm b/fonts/cyrillic/glonti/tfm/gati9.tfm
new file mode 100644
index 0000000000..e8f9523377
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gati9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gatt10.tfm b/fonts/cyrillic/glonti/tfm/gatt10.tfm
new file mode 100644
index 0000000000..e038af3259
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gatt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gatt12.tfm b/fonts/cyrillic/glonti/tfm/gatt12.tfm
new file mode 100644
index 0000000000..a13bd4acad
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gatt12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gatt8.tfm b/fonts/cyrillic/glonti/tfm/gatt8.tfm
new file mode 100644
index 0000000000..549b5b31bf
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gatt8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gatt9.tfm b/fonts/cyrillic/glonti/tfm/gatt9.tfm
new file mode 100644
index 0000000000..e974707032
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gatt9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gau10.tfm b/fonts/cyrillic/glonti/tfm/gau10.tfm
new file mode 100644
index 0000000000..c6cc45448a
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gau10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glb10.tfm b/fonts/cyrillic/glonti/tfm/glb10.tfm
new file mode 100644
index 0000000000..d6b53d10fe
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glb10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glbx10.tfm b/fonts/cyrillic/glonti/tfm/glbx10.tfm
new file mode 100644
index 0000000000..fa6301c042
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glbx12.tfm b/fonts/cyrillic/glonti/tfm/glbx12.tfm
new file mode 100644
index 0000000000..4f6d01aa45
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glbx12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glbx5.tfm b/fonts/cyrillic/glonti/tfm/glbx5.tfm
new file mode 100644
index 0000000000..fbb0f45813
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glbx5.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glbx6.tfm b/fonts/cyrillic/glonti/tfm/glbx6.tfm
new file mode 100644
index 0000000000..e40b3a5dfc
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glbx6.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glbx7.tfm b/fonts/cyrillic/glonti/tfm/glbx7.tfm
new file mode 100644
index 0000000000..245080058a
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glbx7.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glbx8.tfm b/fonts/cyrillic/glonti/tfm/glbx8.tfm
new file mode 100644
index 0000000000..1ebc2781b5
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glbx8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glbx9.tfm b/fonts/cyrillic/glonti/tfm/glbx9.tfm
new file mode 100644
index 0000000000..0301b43b7a
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glbx9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glbxsl10.tfm b/fonts/cyrillic/glonti/tfm/glbxsl10.tfm
new file mode 100644
index 0000000000..291043c4c2
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glbxsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glbxti10.tfm b/fonts/cyrillic/glonti/tfm/glbxti10.tfm
new file mode 100644
index 0000000000..5d771db12c
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glbxti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glcsc10.tfm b/fonts/cyrillic/glonti/tfm/glcsc10.tfm
new file mode 100644
index 0000000000..b2c2ec5470
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glcsc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glcsc8.tfm b/fonts/cyrillic/glonti/tfm/glcsc8.tfm
new file mode 100644
index 0000000000..d81cf6319c
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glcsc8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glcsc9.tfm b/fonts/cyrillic/glonti/tfm/glcsc9.tfm
new file mode 100644
index 0000000000..72c7856cf2
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glcsc9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glinch.tfm b/fonts/cyrillic/glonti/tfm/glinch.tfm
new file mode 100644
index 0000000000..8235b82cb4
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glinch.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glitt10.tfm b/fonts/cyrillic/glonti/tfm/glitt10.tfm
new file mode 100644
index 0000000000..5ac25f19dc
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glitt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glr10.tfm b/fonts/cyrillic/glonti/tfm/glr10.tfm
new file mode 100644
index 0000000000..145d5eeab4
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glr10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glr12.tfm b/fonts/cyrillic/glonti/tfm/glr12.tfm
new file mode 100644
index 0000000000..dc0e2ba3ed
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glr12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glr17.tfm b/fonts/cyrillic/glonti/tfm/glr17.tfm
new file mode 100644
index 0000000000..068a1b29a7
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glr17.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glr5.tfm b/fonts/cyrillic/glonti/tfm/glr5.tfm
new file mode 100644
index 0000000000..dd8f00d40a
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glr5.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glr6.tfm b/fonts/cyrillic/glonti/tfm/glr6.tfm
new file mode 100644
index 0000000000..0b29237cdf
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glr6.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glr7.tfm b/fonts/cyrillic/glonti/tfm/glr7.tfm
new file mode 100644
index 0000000000..3e963b0aa8
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glr7.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glr8.tfm b/fonts/cyrillic/glonti/tfm/glr8.tfm
new file mode 100644
index 0000000000..94f44a14a8
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glr8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glr9.tfm b/fonts/cyrillic/glonti/tfm/glr9.tfm
new file mode 100644
index 0000000000..ea9c30960d
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glr9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glsl10.tfm b/fonts/cyrillic/glonti/tfm/glsl10.tfm
new file mode 100644
index 0000000000..00060622a5
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glsl10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glsl12.tfm b/fonts/cyrillic/glonti/tfm/glsl12.tfm
new file mode 100644
index 0000000000..d7fcbb561e
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glsl12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glsl8.tfm b/fonts/cyrillic/glonti/tfm/glsl8.tfm
new file mode 100644
index 0000000000..90d24763e9
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glsl8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glsl9.tfm b/fonts/cyrillic/glonti/tfm/glsl9.tfm
new file mode 100644
index 0000000000..10310856a9
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glsl9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glsltt10.tfm b/fonts/cyrillic/glonti/tfm/glsltt10.tfm
new file mode 100644
index 0000000000..31ccc4bba1
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glsltt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glss10.tfm b/fonts/cyrillic/glonti/tfm/glss10.tfm
new file mode 100644
index 0000000000..30d7e2b199
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glss10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glss12.tfm b/fonts/cyrillic/glonti/tfm/glss12.tfm
new file mode 100644
index 0000000000..b285795dca
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glss12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glss17.tfm b/fonts/cyrillic/glonti/tfm/glss17.tfm
new file mode 100644
index 0000000000..4f95b7412c
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glss17.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glss8.tfm b/fonts/cyrillic/glonti/tfm/glss8.tfm
new file mode 100644
index 0000000000..dd4194d182
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glss8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glss9.tfm b/fonts/cyrillic/glonti/tfm/glss9.tfm
new file mode 100644
index 0000000000..a834849a71
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glss9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glssbx10.tfm b/fonts/cyrillic/glonti/tfm/glssbx10.tfm
new file mode 100644
index 0000000000..70e2fa2f00
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glssbx10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glssdc10.tfm b/fonts/cyrillic/glonti/tfm/glssdc10.tfm
new file mode 100644
index 0000000000..f96d9426d4
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glssdc10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glssi10.tfm b/fonts/cyrillic/glonti/tfm/glssi10.tfm
new file mode 100644
index 0000000000..c172990725
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glssi10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glssi12.tfm b/fonts/cyrillic/glonti/tfm/glssi12.tfm
new file mode 100644
index 0000000000..ccf1e79635
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glssi12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glssi17.tfm b/fonts/cyrillic/glonti/tfm/glssi17.tfm
new file mode 100644
index 0000000000..ed6bcbcd5d
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glssi17.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glssi8.tfm b/fonts/cyrillic/glonti/tfm/glssi8.tfm
new file mode 100644
index 0000000000..025e90b42a
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glssi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glssi9.tfm b/fonts/cyrillic/glonti/tfm/glssi9.tfm
new file mode 100644
index 0000000000..6c937a0dd1
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glssi9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glssq8.tfm b/fonts/cyrillic/glonti/tfm/glssq8.tfm
new file mode 100644
index 0000000000..ffa92ab2d7
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glssq8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glssqi8.tfm b/fonts/cyrillic/glonti/tfm/glssqi8.tfm
new file mode 100644
index 0000000000..91de9891e1
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glssqi8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glti10.tfm b/fonts/cyrillic/glonti/tfm/glti10.tfm
new file mode 100644
index 0000000000..a1bf62e3c0
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glti10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glti12.tfm b/fonts/cyrillic/glonti/tfm/glti12.tfm
new file mode 100644
index 0000000000..72d07626bc
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glti12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glti7.tfm b/fonts/cyrillic/glonti/tfm/glti7.tfm
new file mode 100644
index 0000000000..f1e3b75afc
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glti7.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glti8.tfm b/fonts/cyrillic/glonti/tfm/glti8.tfm
new file mode 100644
index 0000000000..2f6ffd2c2f
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glti8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glti9.tfm b/fonts/cyrillic/glonti/tfm/glti9.tfm
new file mode 100644
index 0000000000..77ab43d3a7
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glti9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gltt10.tfm b/fonts/cyrillic/glonti/tfm/gltt10.tfm
new file mode 100644
index 0000000000..91fe0c117d
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gltt10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gltt12.tfm b/fonts/cyrillic/glonti/tfm/gltt12.tfm
new file mode 100644
index 0000000000..4e99f55e9d
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gltt12.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gltt8.tfm b/fonts/cyrillic/glonti/tfm/gltt8.tfm
new file mode 100644
index 0000000000..4cd0a79edd
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gltt8.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/gltt9.tfm b/fonts/cyrillic/glonti/tfm/gltt9.tfm
new file mode 100644
index 0000000000..46c055a90e
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/gltt9.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/tfm/glu10.tfm b/fonts/cyrillic/glonti/tfm/glu10.tfm
new file mode 100644
index 0000000000..41e5feb944
--- /dev/null
+++ b/fonts/cyrillic/glonti/tfm/glu10.tfm
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gab10.vf b/fonts/cyrillic/glonti/vf/gab10.vf
new file mode 100644
index 0000000000..15bd5b5445
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gab10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gabx10.vf b/fonts/cyrillic/glonti/vf/gabx10.vf
new file mode 100644
index 0000000000..ab2b2a2758
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gabx10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gabx12.vf b/fonts/cyrillic/glonti/vf/gabx12.vf
new file mode 100644
index 0000000000..34927b2101
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gabx12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gabx5.vf b/fonts/cyrillic/glonti/vf/gabx5.vf
new file mode 100644
index 0000000000..c66f2f6b9d
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gabx5.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gabx6.vf b/fonts/cyrillic/glonti/vf/gabx6.vf
new file mode 100644
index 0000000000..37547730c4
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gabx6.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gabx7.vf b/fonts/cyrillic/glonti/vf/gabx7.vf
new file mode 100644
index 0000000000..85a2eef487
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gabx7.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gabx8.vf b/fonts/cyrillic/glonti/vf/gabx8.vf
new file mode 100644
index 0000000000..61b51e70b0
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gabx8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gabx9.vf b/fonts/cyrillic/glonti/vf/gabx9.vf
new file mode 100644
index 0000000000..2506e47b20
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gabx9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gabxsl10.vf b/fonts/cyrillic/glonti/vf/gabxsl10.vf
new file mode 100644
index 0000000000..ff9372a22b
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gabxsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gabxti10.vf b/fonts/cyrillic/glonti/vf/gabxti10.vf
new file mode 100644
index 0000000000..9da0949139
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gabxti10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gacsc10.vf b/fonts/cyrillic/glonti/vf/gacsc10.vf
new file mode 100644
index 0000000000..0830a78d12
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gacsc10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gacsc8.vf b/fonts/cyrillic/glonti/vf/gacsc8.vf
new file mode 100644
index 0000000000..f7db4020aa
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gacsc8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gacsc9.vf b/fonts/cyrillic/glonti/vf/gacsc9.vf
new file mode 100644
index 0000000000..d4139681ca
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gacsc9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gainch.vf b/fonts/cyrillic/glonti/vf/gainch.vf
new file mode 100644
index 0000000000..ca0c14a6f8
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gainch.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gaitt10.vf b/fonts/cyrillic/glonti/vf/gaitt10.vf
new file mode 100644
index 0000000000..cd01976e03
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gaitt10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gar10.vf b/fonts/cyrillic/glonti/vf/gar10.vf
new file mode 100644
index 0000000000..43cf9baad8
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gar10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gar12.vf b/fonts/cyrillic/glonti/vf/gar12.vf
new file mode 100644
index 0000000000..4423c358e3
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gar12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gar17.vf b/fonts/cyrillic/glonti/vf/gar17.vf
new file mode 100644
index 0000000000..c8cc2fa728
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gar17.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gar5.vf b/fonts/cyrillic/glonti/vf/gar5.vf
new file mode 100644
index 0000000000..85281208f3
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gar5.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gar6.vf b/fonts/cyrillic/glonti/vf/gar6.vf
new file mode 100644
index 0000000000..3649c06b1d
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gar6.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gar7.vf b/fonts/cyrillic/glonti/vf/gar7.vf
new file mode 100644
index 0000000000..840991acea
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gar7.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gar8.vf b/fonts/cyrillic/glonti/vf/gar8.vf
new file mode 100644
index 0000000000..9029913d1a
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gar8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gar9.vf b/fonts/cyrillic/glonti/vf/gar9.vf
new file mode 100644
index 0000000000..22c19f265a
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gar9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gasl10.vf b/fonts/cyrillic/glonti/vf/gasl10.vf
new file mode 100644
index 0000000000..0bb750ebd6
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gasl10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gasl12.vf b/fonts/cyrillic/glonti/vf/gasl12.vf
new file mode 100644
index 0000000000..dbac58b704
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gasl12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gasl8.vf b/fonts/cyrillic/glonti/vf/gasl8.vf
new file mode 100644
index 0000000000..51fb989502
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gasl8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gasl9.vf b/fonts/cyrillic/glonti/vf/gasl9.vf
new file mode 100644
index 0000000000..cad3eaed00
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gasl9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gasltt10.vf b/fonts/cyrillic/glonti/vf/gasltt10.vf
new file mode 100644
index 0000000000..f5661435f3
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gasltt10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gass10.vf b/fonts/cyrillic/glonti/vf/gass10.vf
new file mode 100644
index 0000000000..d5f65fc745
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gass10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gass12.vf b/fonts/cyrillic/glonti/vf/gass12.vf
new file mode 100644
index 0000000000..0f41465d8c
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gass12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gass17.vf b/fonts/cyrillic/glonti/vf/gass17.vf
new file mode 100644
index 0000000000..2108d594cc
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gass17.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gass8.vf b/fonts/cyrillic/glonti/vf/gass8.vf
new file mode 100644
index 0000000000..346d139ab4
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gass8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gass9.vf b/fonts/cyrillic/glonti/vf/gass9.vf
new file mode 100644
index 0000000000..6ff41f47e4
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gass9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gassbx10.vf b/fonts/cyrillic/glonti/vf/gassbx10.vf
new file mode 100644
index 0000000000..75987e85f0
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gassbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gassdc10.vf b/fonts/cyrillic/glonti/vf/gassdc10.vf
new file mode 100644
index 0000000000..f7e51a6e30
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gassdc10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gassi10.vf b/fonts/cyrillic/glonti/vf/gassi10.vf
new file mode 100644
index 0000000000..6fdd2f3317
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gassi10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gassi12.vf b/fonts/cyrillic/glonti/vf/gassi12.vf
new file mode 100644
index 0000000000..447bbd6343
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gassi12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gassi17.vf b/fonts/cyrillic/glonti/vf/gassi17.vf
new file mode 100644
index 0000000000..b4ef2a7384
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gassi17.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gassi8.vf b/fonts/cyrillic/glonti/vf/gassi8.vf
new file mode 100644
index 0000000000..d74dd844a3
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gassi8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gassi9.vf b/fonts/cyrillic/glonti/vf/gassi9.vf
new file mode 100644
index 0000000000..09e7f9a1ba
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gassi9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gassq8.vf b/fonts/cyrillic/glonti/vf/gassq8.vf
new file mode 100644
index 0000000000..5118c9b389
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gassq8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gassqi8.vf b/fonts/cyrillic/glonti/vf/gassqi8.vf
new file mode 100644
index 0000000000..a3cd68ea97
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gassqi8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gati10.vf b/fonts/cyrillic/glonti/vf/gati10.vf
new file mode 100644
index 0000000000..ed1512d5ea
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gati10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gati12.vf b/fonts/cyrillic/glonti/vf/gati12.vf
new file mode 100644
index 0000000000..aa3d341d1f
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gati12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gati7.vf b/fonts/cyrillic/glonti/vf/gati7.vf
new file mode 100644
index 0000000000..8741b201b3
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gati7.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gati8.vf b/fonts/cyrillic/glonti/vf/gati8.vf
new file mode 100644
index 0000000000..de7e86f423
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gati8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gati9.vf b/fonts/cyrillic/glonti/vf/gati9.vf
new file mode 100644
index 0000000000..283428bf21
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gati9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gatt10.vf b/fonts/cyrillic/glonti/vf/gatt10.vf
new file mode 100644
index 0000000000..423c388087
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gatt10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gatt12.vf b/fonts/cyrillic/glonti/vf/gatt12.vf
new file mode 100644
index 0000000000..f1f4de80f9
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gatt12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gatt8.vf b/fonts/cyrillic/glonti/vf/gatt8.vf
new file mode 100644
index 0000000000..5fbf33edec
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gatt8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gatt9.vf b/fonts/cyrillic/glonti/vf/gatt9.vf
new file mode 100644
index 0000000000..516f41331e
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gatt9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gau10.vf b/fonts/cyrillic/glonti/vf/gau10.vf
new file mode 100644
index 0000000000..23893c81da
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gau10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glb10.vf b/fonts/cyrillic/glonti/vf/glb10.vf
new file mode 100644
index 0000000000..fcb6458eff
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glb10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glbx10.vf b/fonts/cyrillic/glonti/vf/glbx10.vf
new file mode 100644
index 0000000000..794c27b287
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glbx12.vf b/fonts/cyrillic/glonti/vf/glbx12.vf
new file mode 100644
index 0000000000..2051c349bf
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glbx12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glbx5.vf b/fonts/cyrillic/glonti/vf/glbx5.vf
new file mode 100644
index 0000000000..011e7e51f4
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glbx5.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glbx6.vf b/fonts/cyrillic/glonti/vf/glbx6.vf
new file mode 100644
index 0000000000..91c41907d8
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glbx6.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glbx7.vf b/fonts/cyrillic/glonti/vf/glbx7.vf
new file mode 100644
index 0000000000..cd7a9733d5
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glbx7.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glbx8.vf b/fonts/cyrillic/glonti/vf/glbx8.vf
new file mode 100644
index 0000000000..7db64c39ba
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glbx8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glbx9.vf b/fonts/cyrillic/glonti/vf/glbx9.vf
new file mode 100644
index 0000000000..eae62a3a97
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glbx9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glbxsl10.vf b/fonts/cyrillic/glonti/vf/glbxsl10.vf
new file mode 100644
index 0000000000..cb4f7e3699
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glbxsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glbxti10.vf b/fonts/cyrillic/glonti/vf/glbxti10.vf
new file mode 100644
index 0000000000..268e83a66f
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glbxti10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glcsc10.vf b/fonts/cyrillic/glonti/vf/glcsc10.vf
new file mode 100644
index 0000000000..df2cef3206
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glcsc10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glcsc8.vf b/fonts/cyrillic/glonti/vf/glcsc8.vf
new file mode 100644
index 0000000000..3c43769183
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glcsc8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glcsc9.vf b/fonts/cyrillic/glonti/vf/glcsc9.vf
new file mode 100644
index 0000000000..84c90f207d
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glcsc9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glinch.vf b/fonts/cyrillic/glonti/vf/glinch.vf
new file mode 100644
index 0000000000..87eada8b86
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glinch.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glitt10.vf b/fonts/cyrillic/glonti/vf/glitt10.vf
new file mode 100644
index 0000000000..487db06061
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glitt10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glr10.vf b/fonts/cyrillic/glonti/vf/glr10.vf
new file mode 100644
index 0000000000..0eeb02f7e1
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glr10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glr12.vf b/fonts/cyrillic/glonti/vf/glr12.vf
new file mode 100644
index 0000000000..b31cf08021
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glr12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glr17.vf b/fonts/cyrillic/glonti/vf/glr17.vf
new file mode 100644
index 0000000000..f81e3cc43c
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glr17.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glr5.vf b/fonts/cyrillic/glonti/vf/glr5.vf
new file mode 100644
index 0000000000..7fad16c8aa
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glr5.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glr6.vf b/fonts/cyrillic/glonti/vf/glr6.vf
new file mode 100644
index 0000000000..31573cf439
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glr6.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glr7.vf b/fonts/cyrillic/glonti/vf/glr7.vf
new file mode 100644
index 0000000000..0b0469d52f
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glr7.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glr8.vf b/fonts/cyrillic/glonti/vf/glr8.vf
new file mode 100644
index 0000000000..371cb4184d
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glr8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glr9.vf b/fonts/cyrillic/glonti/vf/glr9.vf
new file mode 100644
index 0000000000..a9ce902596
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glr9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glsl10.vf b/fonts/cyrillic/glonti/vf/glsl10.vf
new file mode 100644
index 0000000000..c89e7efde1
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glsl10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glsl12.vf b/fonts/cyrillic/glonti/vf/glsl12.vf
new file mode 100644
index 0000000000..5b62b925fd
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glsl12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glsl8.vf b/fonts/cyrillic/glonti/vf/glsl8.vf
new file mode 100644
index 0000000000..5bffd619af
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glsl8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glsl9.vf b/fonts/cyrillic/glonti/vf/glsl9.vf
new file mode 100644
index 0000000000..4f080a8b52
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glsl9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glsltt10.vf b/fonts/cyrillic/glonti/vf/glsltt10.vf
new file mode 100644
index 0000000000..cb3a4cda12
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glsltt10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glss10.vf b/fonts/cyrillic/glonti/vf/glss10.vf
new file mode 100644
index 0000000000..40d1b90d02
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glss10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glss12.vf b/fonts/cyrillic/glonti/vf/glss12.vf
new file mode 100644
index 0000000000..ebbfd45bfb
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glss12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glss17.vf b/fonts/cyrillic/glonti/vf/glss17.vf
new file mode 100644
index 0000000000..a8db23f600
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glss17.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glss8.vf b/fonts/cyrillic/glonti/vf/glss8.vf
new file mode 100644
index 0000000000..20804eba56
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glss8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glss9.vf b/fonts/cyrillic/glonti/vf/glss9.vf
new file mode 100644
index 0000000000..d93d5f8c6a
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glss9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glssbx10.vf b/fonts/cyrillic/glonti/vf/glssbx10.vf
new file mode 100644
index 0000000000..a4badac670
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glssbx10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glssdc10.vf b/fonts/cyrillic/glonti/vf/glssdc10.vf
new file mode 100644
index 0000000000..cc002f1694
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glssdc10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glssi10.vf b/fonts/cyrillic/glonti/vf/glssi10.vf
new file mode 100644
index 0000000000..9dbf1c6360
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glssi10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glssi12.vf b/fonts/cyrillic/glonti/vf/glssi12.vf
new file mode 100644
index 0000000000..adff845ca1
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glssi12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glssi17.vf b/fonts/cyrillic/glonti/vf/glssi17.vf
new file mode 100644
index 0000000000..bfc05c38e0
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glssi17.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glssi8.vf b/fonts/cyrillic/glonti/vf/glssi8.vf
new file mode 100644
index 0000000000..efa419beb5
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glssi8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glssi9.vf b/fonts/cyrillic/glonti/vf/glssi9.vf
new file mode 100644
index 0000000000..512f6752fa
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glssi9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glssq8.vf b/fonts/cyrillic/glonti/vf/glssq8.vf
new file mode 100644
index 0000000000..2e820fd184
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glssq8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glssqi8.vf b/fonts/cyrillic/glonti/vf/glssqi8.vf
new file mode 100644
index 0000000000..a1c4e255d5
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glssqi8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glti10.vf b/fonts/cyrillic/glonti/vf/glti10.vf
new file mode 100644
index 0000000000..fb52416a7a
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glti10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glti12.vf b/fonts/cyrillic/glonti/vf/glti12.vf
new file mode 100644
index 0000000000..0d46b333e9
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glti12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glti7.vf b/fonts/cyrillic/glonti/vf/glti7.vf
new file mode 100644
index 0000000000..9981e3180f
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glti7.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glti8.vf b/fonts/cyrillic/glonti/vf/glti8.vf
new file mode 100644
index 0000000000..35f94eda88
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glti8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glti9.vf b/fonts/cyrillic/glonti/vf/glti9.vf
new file mode 100644
index 0000000000..8d111080b5
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glti9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gltt10.vf b/fonts/cyrillic/glonti/vf/gltt10.vf
new file mode 100644
index 0000000000..25d52b1dcd
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gltt10.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gltt12.vf b/fonts/cyrillic/glonti/vf/gltt12.vf
new file mode 100644
index 0000000000..7a4f99f86d
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gltt12.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gltt8.vf b/fonts/cyrillic/glonti/vf/gltt8.vf
new file mode 100644
index 0000000000..bf8a8d3ed5
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gltt8.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/gltt9.vf b/fonts/cyrillic/glonti/vf/gltt9.vf
new file mode 100644
index 0000000000..50a0f6a91f
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/gltt9.vf
Binary files differ
diff --git a/fonts/cyrillic/glonti/vf/glu10.vf b/fonts/cyrillic/glonti/vf/glu10.vf
new file mode 100644
index 0000000000..0574848128
--- /dev/null
+++ b/fonts/cyrillic/glonti/vf/glu10.vf
Binary files differ
diff --git a/fonts/cyrillic/lh/README b/fonts/cyrillic/lh/README
new file mode 100644
index 0000000000..7298f71532
--- /dev/null
+++ b/fonts/cyrillic/lh/README
@@ -0,0 +1,15 @@
+lhfonts 3.5g
+Cyrillic alphabet fonts ("LH") with support of LaTeX standard encodings.
+
+ The LH fonts address the problem of the wide variety of alphabets
+ that are written with Cyrillic-style characters. The fonts are the
+ original basis of the set of T2* and X2 encodings that are now used
+ when LaTeX users need to write in Cyrillic languages.
+
+ There are also offered the latex/lh bundle of packages for standard
+ LaTeX Cyrillic and traditional encodings.
+
+Please look installation documentation in the install
+
+ report errors to Olga Lapko,
+ e-mail: Lapko.O@g23.relcom.ru, tr-paw@yandex.ru
diff --git a/fonts/cyrillic/lh/install b/fonts/cyrillic/lh/install
new file mode 100644
index 0000000000..f7241f25e8
--- /dev/null
+++ b/fonts/cyrillic/lh/install
@@ -0,0 +1,181 @@
+INSTALLATION OF LH FONTS AND THEIR LaTeX SUPPORT
+================================================
+
+Font installation
+=================
+
+These are installation instructions for the LH fonts package version 3.5(d-g).
+
+The following sections are for teTeX, TeXLive, MikTeX and emTeX users;
+however, it is simple to install LH fonts on any TeX system, as these
+instructions are quite generic.
+
+First of all, an important note. Please, REMOVE (i.e., backup) all old
+LH fonts (all MF, PK, TFM and VF files) from your TEXMF tree, since
+otherwise the name conflicts and unpredictable errors are guaranteed.
+The fonts with names wn*.mf (e.g. wnr10.mf) which actually use LH
+fonts also should be removed. However, the AMS Washington Cyrillic
+fonts with names wncy*.mf (e.g. wncyr10.mf) can happily coexist with
+the LH fonts and should not be deleted.
+
+After installing the fonts, you can test your setup with
+
+ "tex testfont" or "latex nfssfont" or "tex fontchart"
+
+specifying e.g. larm1000 as the font (testfont.tex is part of emTeX's
+Metafont package). The directory `texmf/doc/fonts/lh/fonttest' of current
+package includes textfox.tex which is the extension of testfont.tex (it inclues
+\xtable command of table with decimal code numbers).
+
+The LaTeX samples which could run standard and traditional font encodings
+are in `texmf/doc/fonts/lh/samples' subdir. They could test the installation
+of current package and of all fonts of chosen encoding.
+
+
+teTeX, TeXLive, MikTeX:
+-----------------------
+
+teTeX: First, you can get the latest version of teTeX, --- it already
+includes LH fonts properly installed (in particular, you should upgrade
+from teTeX-0.4 to teTeX-1.0 or later).
+
+If you have not cyrillic fonts package in your TeX system:
+0) Check copied contents with manifest.txt
+1) Unpack the LH fonts package. The directory tree follow the TeX
+ directory structure for teTeX, TeXLive and MikTeX. Just copy all
+ unzipped files into directories respectively.
+
+NOTE. If you copied zip-files of both source package (lhfnt35*-source.zip) and
+generated mf-files (lhfnt35*-gen-mf.zip) just follow step 1) and then 5)
+
+2) If there were no lh-lcy, lh-ot2, lh-t2*, lh-x2, lh-xSlav subdirs
+ in `texmf/fonts/source/lh' directory (i.e. you didn't copied
+ lhfnt35*-gen-mf.zip):
+2a)go to the `texmf/source/fonts/lh/tex' directory;
+2b)make sure that there are subdirectories with following names:
+ wrk
+ wrk\lh-lcy
+ wrk\lh-ot2
+ wrk\lh-t2a
+ wrk\lh-t2b
+ wrk\lh-t2c
+ wrk\lh-t2d
+ wrk\lh-x2
+ wrk\lh-xSlav
+ wrk\lh-temp
+ any of them could be necessary during creation of METAFONT etc. files;
+2c)run (plain) tex on 99allenc.tex to produce the base and miscellaneous
+ (SliTeX, CM Bright, Concrete) font files for la, lb, lc, ld, rx, wn, and
+ lh fonts for encodings T2A, T2B, T2C, T2D, X2, OT2, LCY, respectively.
+ They will be created in appropriate lh-* subdirs.
+
+ [If you won't need SliTeX, CM Bright or/and Concrete fonts, change flags
+ \SliTeXtrue, \CMBrighttrue, or/and \Concretetrue flags to false
+ repectively in the file `texmf/source/fonts/lh/tex/setter.tex'.]
+
+ [If your version of TeX does not support automatic (on the fly)
+ generation of METAFONT files (for creation of TFM files), you may
+ need to change the command \MakeFileHeadsfalse to \MakeFileHeadstrue
+ in the file `texmf/source/fonts/lh/tex/setter.tex' first.]
+
+2d)Copy all [non-empty] subdirs with created .mf files from
+ `texmf/source/fonts/lh/tex/wrk' subdirectory into `texmf/fonts/source/lh'
+ directory as a whole.
+
+3) teTeX: Run mktexlsr (or texhash) to have all new files `registered'.
+ MikTeX:
+ Run Start>Programs>MikTeX>MikTeX Options>General>`Refresh Now' button.
+ TeXLive(2005):
+ Run Start>Programs>TeXlive>Maintenance>`Rebuild ls-R filenames databases'.
+
+
+emTeX:
+------
+
+[Instruction based on EmTeX95 release. With hope that it could be useful.]
+
+1) Unpack the LH fonts package.
+ Copying rules:
+ subdirs from `zip:texmf/fonts/source/lh' (with mf-files)
+ files from base, nont2, specific,lh-concrete subdirs
+ -> in the root of emtex/mfinput/lh-base
+ OR rename and move subdirs to emtex/mfinput/lh-<dir>
+ (with `lh-' prefix). ;
+ all other subdirs (lh-<dir>) -> in the root of emtex/mfinput/lh-gen
+ OR move subdirs to emtex/mfinput/<lh-dir>
+ (with `lh-' prefix). ;
+ subdir `zip:texmf/tex/latex/lhfonts' -> emtex/texinput/lhfonts ;
+ subdirs from `zip:texmf/doc/fonts/lh' -> emtex/doc/lhfonts ;
+ subdir `zip:texmf/source/fonts/lh/tex' -> emtex/texinput/lhfonts/fntsrc ;
+ subdir `zip:texmf/source/latex/lhfonts' -> emtex/texinput/lhfonts/texsrc .
+
+2) If there are no lh-lcy, lh-ot2, lh-t2*, lh-x2, lh-xSlav subdirs
+ in `zip:texmf/fonts/source/lh' directory:
+2a)Go to the `zip:source/fonts/lh/tex' [emtex/texinput/lhfonts/fntsrc]
+ [Follow instructions from 2b-2c in teTex... instructions]
+ directory and run (plain) tex on 99allenc.tex to produce the base
+ files for la, lb, lc, ld, rx, wn, and lh fonts for encodings
+ T2A, T2B, T2C, T2D, X2, OT2, LCY, respectively. They will created in
+ consequent lh-* subdirs.
+
+2b)Copy files from these subdirs to the root of `emtex/mfinput/lh-gen'
+ directory OR move subdirs to emtex/mfinput/<lh-dir> (with `lh-' prefix).
+
+3) Replace the file `emtex\mfjob\dvidrv.mfj' with
+ `zip:texmf/source/fonts/lh/dvidrv.mfj'
+ to enable automatic .pk font creation for all standard lh encodings.
+ [OR _append_ `zip:texmf/source/fonts/lh/dvidrvlh.mfj file at the head
+ of emtex's dvidrv.mfj.]
+
+4) Change in setter.tex flag \MakeFileHeadsfalse to \MakeFileHeadstrue and
+ run necessary ##**-<xx>.tex file where <xx> -- font in necessary encoding:
+ 01cm-lh.tex - LCY (DOS) encoding
+ 03cm-wn.tex - OT2 (AmS WNCYR) transliteration encoding
+ 04cm-vf.tex - 7-bit (N. Glonti) encoding
+ 11ex-rx.tex - X2 encoding
+ 12ex-la.tex - T2A encoding
+ 13ex-lb.tex - T2B encoding
+ 14ex-lc.tex - T2C encoding
+ 15ex-ld.tex - T2D encoding
+ to create mfjob file(s).
+
+5) Create the .tfm files you'll need, using the <xx>job.mfj files. This
+ will *not* create PK files to save time.
+
+6) To enable subdirectory searching, don't forget to have `!' or `!!'
+ (whatever is appropriate for you) appended to the directory names in
+ %MFINPUT% and %TEXINPUT% settings.
+
+
+LaTeX installation
+==================
+
+The subdir `texmf/source/latex/lh' includes minor additions (packages and
+font definition files) to standard LaTeX cyrillic support (`latex/cyrillic'
+directory).
+
+To install run following ins file(s):
+lcyfonts.ins - LCY (DOS) encoding
+ot2fonts.ins - OT2 (AmS WNCYR) transliteration encoding
+t2ccfonts.ins - T2*/X2 encoding, additions for Concrete fonts
+
+There is also file nfssfox.dtx/ins - eXtension of nfssfont package
+ (standard nfssfont.tex's set with additional \xtable command, which
+ prints decimal letter codes). Install it and test font in the same way
+ as with nfssfont.tex.
+
+
+Checking of font and LaTeX installation
+=======================================
+
+You may check installation of font and LaTeX installation in
+`texmf/doc/fonts/lh/samples' directory
+lh-lcy.tex, lh-lcytext.tex - LCY (DOS) encoding
+lh-ot2.tex, lh-ot2text.tex - OT2 (AmS WNCYR) transliteration encoding
+lh-t2a.tex, lh-t2atext.tex - T2A encoding (change preamble to check other
+ T2*/X2 encodings and document encodings)
+
+ Happy TeXing!
+
+Please report errors to Olga Lapko,
+e-mail: Lapko.O@g23.relcom.ru, tr-paw@yandex.ru
diff --git a/fonts/cyrillic/lh/manifest.txt b/fonts/cyrillic/lh/manifest.txt
new file mode 100644
index 0000000000..6067bc070d
--- /dev/null
+++ b/fonts/cyrillic/lh/manifest.txt
@@ -0,0 +1,77 @@
+The current distribution includes all files for work under MikTeX or TeXLive.
+That means that most header files of fonts are created on the fly by
+font utilities. If it is not happen please read install file and
+texmf\source\fonts\lh\tex\00readme.txt file.
+
+
+Zipped variant:
+===============
+
+lhfnt35*-source.zip - NECESSARY PART: source files and documentation
+lhfnt35*-gen-mf.zip - OPTIONAL PART [these files were generated from
+ texmf\sorce folder-directory;
+ you may generate them using *install*
+ documentation]: generated METAFONT files (ready-to-use
+ addition with TeX Directory Structure for teTeX/TeXLive
+ and MikTeX platforms).
+ This package could NOT have "unzipped version" on CTAN.
+
+
+Unzipped variant:
+=================
+
+lhfnt35*-source.zip
+-------------------
+texmf\doc\fonts\lh\beresta\*.* - documentation files of all T2* letters
+texmf\doc\fonts\lh\lhfonts\*.* - package documentation (history and
+ advanced installation)
+texmf\doc\fonts\lh\fonttest\*.* - font testing files
+texmf\doc\fonts\lh\samples\*.* - LaTeX testing files of LH package
+=================================================================================
+texmf\fonts\source\lh\base\*.* - base METAFONT files for T2*/X2 and
+ traditional encodings
+texmf\fonts\source\lh\nont2\*.* - additional letters for other encodings
+texmf\fonts\source\lh\specific\*.* - letters in specific forms (Concrete
+ and Russian small caps)
+texmf\fonts\source\lh\lh-conc\*.* - font headers for bold faced Concrete
+ Cyrillic
+=================================================================================
+Here are also source files which create files which lie in lhfnt35*-gen-mf.zip:
+texmf\source\fonts\lh\tex\*.* - tex-files to generate METAFONT files
+ for different encodings
+texmf\source\fonts\lh\tex\wrk\<subdirs> - please read 09readme.txt file in
+<subdirs: lh-lcy,lh-ot2, texmf\source\fonts\lh\tex\ directory
+ lh-t2a,lh-t2b,lh-t2c,lh-t2d, and make sure that there are necessary
+ lh-x2,lh-xSlav,lh-temp> empty dirs for succefull TeXing
+---------------------------------------------------------------------------------
+texmf\source\latex\lh*.* - dtx- and ins- files for installation
+ of LaTeX packages and font definition
+ files
+=================================================================================
+texmf\source\fonts\lh\*.mfj - maybe obsolete already: the MFjob files
+ for EmTeX which create font files LH
+ (these files have not their own folder
+ in TDS structure)
+=================================================================================
+texmf\tex\plain\lh\*.* - the testfox.tex and testkern.tex
+ files for font tests
+
+lhfnt35*-gen-mf.zip
+-------------------
+In following folders lie only font headers which cannot be generated automatically
+with MikTeX and TeXlive font creation utilities (if you need anyway to create
+ALL font headers please read the 00readme.txt file in texmf\fonts\source\lh\tex
+folder and edit necessary settings in setter.tex file)
+texmf\fonts\source\lh\lh-lcy\*.* - generated METAFONT files for DOS
+ encoding
+texmf\fonts\source\lh\lh-ot2\*.* - generated METAFONT files for WNCYR
+ transliteration encoding
+texmf\fonts\source\lh\lh-t2*\*.* - generated METAFONT files for T2A,
+ T2B, T2C,T2D LaTeX Cyrillic encodings
+texmf\fonts\source\lh\lh-x2\*.* - generated METAFONT files for
+ X2 Cyrillic container
+texmf\fonts\source\lh\lh-xSlav\*.* - generated METAFONT files for fonts
+ with old Slav letters
+ (LaTeX support absent)
+=================================================================================
+texmf\tex\latex\lh\*.* - minor LaTeX support for LH fonts \ No newline at end of file
diff --git a/fonts/cyrillic/lh/readme35c.1st b/fonts/cyrillic/lh/readme35c.1st
new file mode 100644
index 0000000000..f747fc959f
--- /dev/null
+++ b/fonts/cyrillic/lh/readme35c.1st
@@ -0,0 +1,9 @@
+ver 3.5 patch level 4 (March 2006) --
+---------------------------------------
+In this version was corrected the width
+bug in file lgt2upu.mf - corrected the
+widths of letters ZHE_dsc and K_dsc:
+restored widths of roman shape from
+version 3.4.
+The font metrics are going to be stable
+(as ec fonts).
diff --git a/fonts/cyrillic/lh/readme35g.1st b/fonts/cyrillic/lh/readme35g.1st
new file mode 100644
index 0000000000..b36f9a19c3
--- /dev/null
+++ b/fonts/cyrillic/lh/readme35g.1st
@@ -0,0 +1,24 @@
+ver 3.5 patch level 7 (August 2009) --
+---------------------------------------
+In this version there were fixed metric
+bugs
+*) in typewriter fonts (T2* encoding);
+this fix changes metrics for fonts,
+started with la*/lb*/lc* letters
+(example with la* fonts):
+latt latc last lait laltt8
+
+*) in ligature of uppercase letter tse
+(OT2 encoding); this fix changes all
+metrics of wn* fonts.
+(Please remember that wncy* fonts like
+wncyr10, do not belong to this package)
+
+I hope that the old documents are still
+work with new version - the bug of
+ff-ligatures was visible and could be
+corrected with usage of T1 fonts; in
+wn* fonts just new ligature was added.
+
+The font metrics are still going to be
+stable.
diff --git a/fonts/cyrillic/literat/README b/fonts/cyrillic/literat/README
new file mode 100644
index 0000000000..e72c2fc9e1
--- /dev/null
+++ b/fonts/cyrillic/literat/README
@@ -0,0 +1,51 @@
+ Literat package v0.2
+ May 20, 1999
+
+This is an experimental version of virtual fonts for PDF(La)TeX or dvips
+which are based on free family of type1 fonts by ParaGraph International,
+named Literaturnaya. The type1 fonts are available at
+
+ ftp://ftp.vsu.ru/pub/tex/literat.zip
+
+The virtual fonts are available at
+
+ ftp://ftp.vsu.ru/pub/tex/literat-*.tar.gz
+
+These fonts are available in T2A, OT1, T1 and TS1 encodings.
+
+we included two map files (tli.map and literat.map). PLEASE USE ONE
+OF THEM, NOT BOTH. :-) tli.map contains references to PFB fonts with
+K.Berry names (so you'll need to rename pfb files; this is done by
+the install-tli.sh script), while literat.map contains references
+to the original filenames of PFB fonts.
+
+The simple installation script as well as examples of usage are included
+into this bundle.
+
+Happy TeXing!
+
+Please mail bug reports, your comments and proposals to:
+
+ Vladimir Volovich <vvv@vsu.ru>
+ Anatoliy A. Malyarenko <maa@kilots.kiev.ua>
+
+Changes from version 0.1 of April 15, 1999:
+
+* added virtual fonts for OT1, T1, TS1 encodings (in addition to T2A)
+* added font shapes: now 12 for each of T2A, OT1, T1, and 8 for TS1
+ (against 6 in the previous version)
+* virtual fonts `optimized' because regenerated with current version of
+ fontinst (e.g. removed duplicated kerns)
+* fixed incorrect name for one font
+* renamed raw fonts from `original' names (matching original pfb files)
+ to r<berry-name>.tfm, thus removing underscores in filenames
+ (MikTeX's ps2pk had problems with this?).
+
+TODO:
+* add some more font shapes? underlined, overstroke, and spaced come to
+ mind...
+* add some more faked glyphs
+* write support in literat.sty for new versions of pdftex which do not
+ accept extended fonts in map files (in case of adding faked glyphs
+ which will require such fonts)
+
diff --git a/fonts/cyrillic/literat/license b/fonts/cyrillic/literat/license
new file mode 100644
index 0000000000..13a94d98ee
--- /dev/null
+++ b/fonts/cyrillic/literat/license
@@ -0,0 +1,69 @@
+Literat package
+
+The *.pfb, *.afm, *.inf files (12 of each kind) in this package, located
+in the directories fonts/type1/paragrap/literat/ and fonts/afm/paragrap/literat/
+are licensed under the below "FONT PACKAGE LICENSE".
+File names thus covered are: lit{55,56,75,76}_{is,t1,ts}.{pfb,afm,inf}
+
+All the rest TeX support files in this package are copyright 1999, 2007
+ Vladimir Volovich <vvv@vsu.ru>
+ Anatoliy A. Malyarenko <maa@kilots.kiev.ua>
+and are licensed under the LaTeX Project Public License (LPPL).
+
+================================================
+FONT PACKAGE LICENSE
+
+Copyright (c) 1996 ParaGraph International
+Copyright (c) 1996 Russian Foundation for Basic Research
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+This is a free font package included into RFBR TeX distribution.
+It contains four font shapes in three encodings:
+- LaTeX T1 encoding
+- LaTeX TS1 encoding
+- ISO8859-5 encoding
+
+In the folowing paragraphs "fonts" stands for Type 1 fonts together with
+metric files and also any conversions and renderings of them.
+
+You are allowed:
+- to use fonts with any TeX distribution;
+- to use fonts with any graphic editors for preparing pictures to be
+ included into TeX documents;
+- to use fonts with other programs (such as WWW browsers) for
+ screening purpose only;
+- to convert fonts into any format for above purposes;
+- to include fonts into electronic documents (such as PDF) ;
+- to distribute fonts together with RFBR TeX distribution.
+
+In all cases you must make reference to this license.
+
+Note: Use of these fonts as platform fonts in graphic environments such as
+ Microsoft Windows, OS/2 Presentation Manager, X Window, etc. permitted
+ according to above rules.
+
+You are not allowed:
+- to make any changes to font and metric files, including reencoding;
+- to use fonts for hardcopy making with any programs except TeX drivers;
+- to distribute this fonts as an independent package;
+
+If you concerned in further development of this font family and if you try
+to improve it by adding new or correcting existing character glyphs, you
+must do all your work locally and you must send all your changes to addresses
+given below. Be sure that further improvements will be distributed under terms
+of this license. You may not distribute neither fonts under development nor
+documents including such fonts.
+
+CONTACTING ADDRESSES:
+
+ParaGraph International:
+ 32 Krasikova street, 19th floor
+ Moscow 117418 Russia
+ phone: + 7 (095) 129-1500
+ fax: + 7 (095) 129-0911
+ http://www.paragraph.com
+
+
+
diff --git a/fonts/cyrillic/old_slavonic/izhitsa/attention.txt b/fonts/cyrillic/old_slavonic/izhitsa/attention.txt
new file mode 100644
index 0000000000..c6b79cd433
--- /dev/null
+++ b/fonts/cyrillic/old_slavonic/izhitsa/attention.txt
@@ -0,0 +1,4 @@
+The chars '001-'005 and '011-'015 have new positions in
+comparison with first version of the font dated March 15,
+1998.
+
diff --git a/fonts/cyrillic/old_slavonic/izhitsa/izh1251.mf b/fonts/cyrillic/old_slavonic/izhitsa/izh1251.mf
new file mode 100644
index 0000000000..15cc3ce093
--- /dev/null
+++ b/fonts/cyrillic/old_slavonic/izhitsa/izh1251.mf
@@ -0,0 +1 @@
+wining=1; input izhitsa.mf
diff --git a/fonts/cyrillic/old_slavonic/izhitsa/izhitsa.mf b/fonts/cyrillic/old_slavonic/izhitsa/izhitsa.mf
new file mode 100644
index 0000000000..1728ff038c
--- /dev/null
+++ b/fonts/cyrillic/old_slavonic/izhitsa/izhitsa.mf
@@ -0,0 +1,12938 @@
+if unknown wining: wining:=0; fi
+if unknown specific: specific:=0; fi
+
+if wining<>0: input wbcoding;
+else: input lbcoding; fi
+
+% Izhitsa
+%
+
+mode_setup;
+if unknown FontSize: FontSize := 10pt#; fi
+FX# := FontSize * 0.0010;
+FY# := FontSize * 0.0010;
+
+def nonzerowinding =
+ cull currentpicture dropping (0,0);
+enddef;
+extra_endchar := extra_endchar & "nonzerowinding;";
+%
+smoothing := 0; autorounding := 0;
+turningcheck := 0;
+define_pixels (FX, FY);
+%
+picture chp[];
+pair p[];
+%
+def seac (expr achar, bchar, adx, ady) =
+ currentpicture := chp[bchar] + chp[achar] shifted (adx * FX, ady * FY);
+enddef;
+def endseacchar =
+ endgroup
+enddef;
+%
+def FuF (expr p_path) =
+ path this_path;
+ this_path = (p_path -- cycle);
+% fill (this_path xscaled FX yscaled FY);
+ fill (this_path);
+enddef;
+%
+vardef lbl@#(text t) =
+ if proofing > 1:
+ forsuffixes $$=b,:
+ forsuffixes $=t:
+ makelabel@# (str$.$$, z$.$$);
+ endfor
+ endfor
+ fi
+enddef;
+
+beginchar(oct"36",680FX#,370FY#,0FY#);
+"Ydieresis";
+z1=(4FX,126FY);
+z2=(22FX,167FY);
+z3=(45FX,204FY);
+z4=(72FX,239FY);
+z5=(103FX,272FY);
+z6=(137FX,301FY);
+z7=(174FX,325FY);
+z8=(213FX,345FY);
+z9=(254FX,360FY);
+z10=(297FX,369FY);
+z11=(340FX,373FY);
+z12=(383FX,369FY);
+z13=(426FX,360FY);
+z14=(467FX,345FY);
+z15=(506FX,325FY);
+z16=(543FX,301FY);
+z17=(577FX,272FY);
+z18=(608FX,239FY);
+z19=(635FX,204FY);
+z20=(658FX,167FY);
+z21=(676FX,126FY);
+z22=(648FX,116FY);
+z23=(631FX,143FY);
+z24=(610FX,177FY);
+z25=(586FX,209FY);
+z26=(558FX,238FY);
+z27=(526FX,262FY);
+z28=(492FX,283FY);
+z29=(456FX,299FY);
+z30=(418FX,311FY);
+z31=(380FX,318FY);
+z32=(340FX,320FY);
+z33=(300FX,318FY);
+z34=(262FX,311FY);
+z35=(224FX,299FY);
+z36=(188FX,283FY);
+z37=(154FX,262FY);
+z38=(122FX,238FY);
+z39=(94FX,209FY);
+z40=(70FX,177FY);
+z41=(49FX,143FY);
+z42=(32FX,116FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+-- z29
+-- z30
+-- z31
+-- z32
+-- z33
+-- z34
+-- z35
+-- z36
+-- z37
+-- z38
+-- z39
+-- z40
+-- z41
+-- z42
+);
+lbl (range 1 thru 42);
+endchar;
+
+
+beginchar(oct"42",766FX#,714FY#,14FY#);
+"Aring";
+z1=(399FX,350FY);
+z2=(399FX,308FY);
+z3=(151FX,308FY);
+z4=(151FX,350FY);
+z5=(192FX,350FY);
+z6=(374FX,466FY);
+z7=(541FX,403FY);
+z8=(401FX,672FY);
+z9=(269FX,557FY);
+z10=(300FX,557FY);
+z11=(300FX,515FY);
+z12=(52FX,515FY);
+z13=(52FX,557FY);
+z14=(100FX,557FY);
+z15=(377FX,714FY);
+z16=(719FX,392FY);
+z17=(611FX,163FY);
+z18=(552FX,5FY);
+z19=(388FX,-14FY);
+z20=(96FX,177FY);
+z21=(59FX,178FY);
+z22=(59FX,219FY);
+z23=(321FX,219FY);
+z24=(321FX,178FY);
+z25=(271FX,178FY);
+z26=(457FX,28FY);
+z27=(494FX,35FY);
+z28=(484FX,88FY);
+z29=(513FX,250FY);
+z30=(538FX,364FY);
+z31=(425FX,410FY);
+z32=(362FX,350FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+{27,75} .. {76,0}z6
+{55,0} .. {55,-48}z7
+{14,104} .. {-125,0}z8
+{-92,0} .. {-8,-45}z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+{52,133} .. {82,0}z15
+{145,0} .. {0,-251}z16
+{0,-75} .. {-93,-114}z17
+{-38,-46} .. {11,-65}z18
+{-44,-14} .. {-45,0}z19
+{-121,0} .. {-59,105}z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+{13,-61} .. {129,0}z26
+{19,0} .. {10,5}z27
+{-6,15} .. {0,24}z28
+{0,71} .. {17,57}z29
+{13,42} .. {5,32}z30
+{-27,31} .. {-39,0}z31
+{-20,0} .. {-13,-42}z32
+);
+lbl (range 1 thru 32);
+endchar;
+
+beginchar(oct"43",510FX#,479FY#,46FY#);
+"e";
+z1=(50FX,420FY);
+z2=(72FX,412FY);
+z3=(109FX,429FY);
+z4=(259FX,479FY);
+z5=(473FX,237FY);
+z6=(473FX,203FY);
+z7=(225FX,-34FY);
+z8=(45FX,43FY);
+z9=(64FX,64FY);
+z10=(193FX,12FY);
+z11=(332FX,192FY);
+z12=(265FX,221FY);
+z13=(191FX,190FY);
+z14=(144FX,173FY);
+z15=(92FX,195FY);
+z16=(37FX,246FY);
+z17=(57FX,273FY);
+z18=(95FX,257FY);
+z19=(164FX,289FY);
+z20=(200FX,295FY);
+z21=(333FX,238FY);
+z22=(256FX,443FY);
+z23=(204FX,406FY);
+z24=(117FX,354FY);
+z25=(24FX,389FY);
+FuF (z1
+{7,-6} .. {6,0}z2
+{11,0} .. {14,10}z3
+{24,15} .. {69,0}z4
+{151,0} .. {5,-87}z5
+{1,-11} .. {0,-11}z6
+{-9,-198} .. {-85,0}z7
+{-81,0} .. {-38,41}z8
+-- z9
+{53,-38} .. {34,0}z10
+{91,0} .. {-3,95}z11
+{-8,7} .. {-33,0}z12
+{-26,0} .. {-31,-21}z13
+{-15,-10} .. {-21,0}z14
+{-24,0} .. {-16,12}z15
+{-20,15} .. {-26,30}z16
+-- z17
+{10,-9} .. {12,0}z18
+{18,0} .. {41,15}z19
+{11,4} .. {12,0}z20
+{38,0} .. {27,-21}z21
+{-2,74} .. {-71,0}z22
+{-22,0} .. {-14,-16}z23
+{-40,-46} .. {-19,0}z24
+{-26,0} .. {-29,19}z25
+);
+%chp[101]:=currentpicture;
+lbl (range 1 thru 25);
+endchar;
+
+
+beginchar(oct"41",297FX#,797FY#,0FY#);
+"exclam";
+z1=(177FX,239FY);
+z2=(214FX,526FY);
+z3=(237FX,670FY);
+z4=(148FX,797FY);
+z5=(60FX,670FY);
+z6=(75FX,551FY);
+z7=(119FX,239FY);
+z8=(89FX,63FY);
+z9=(112FX,1FY);
+z10=(146FX,2FY);
+z11=(188FX,0FY);
+z12=(199FX,0FY);
+z13=(212FX,15FY);
+z14=(211FX,62FY);
+z15=(212FX,110FY);
+z16=(199FX,125FY);
+z17=(188FX,125FY);
+z18=(146FX,123FY);
+z19=(112FX,124FY);
+z20=(89FX,63FY);
+FuF (z1
+{8,168} .. {16,63}z2
+{7,26} .. {0,46}z3
+{0,80} .. {-30,0}z4
+{-27,0} .. {0,-86}z5
+{0,-45} .. {10,-43}z6
+{27,-116} .. {8,-118}z7
+);
+FuF (z8
+{-3,-64} .. {17,1}z9
+{13,1} .. {11,0}z10
+{14,0} .. {14,-1}z11
+{4,0} .. {4,1}z12
+{12,2} .. {0,5}z13
+{0,16} .. {0,18}z14
+{0,19} .. {0,17}z15
+{0,5} .. {-12,2}z16
+{-4,1} .. {-4,0}z17
+{-14,-1} .. {-14,0}z18
+{-11,0} .. {-15,0}z19
+{-17,0} .. {-3,-60}z20
+);
+lbl (range 1 thru 20);
+endchar;
+
+
+beginchar(oct"011",704FX#,467FY#,11FY#);
+"numbersign";
+z1=(431FX,465FY);
+z2=(414FX,457FY);
+z3=(417FX,436FY);
+z4=(194FX,436FY);
+z5=(183FX,467FY);
+z6=(173FX,467FY);
+z7=(127FX,465FY);
+z8=(97FX,466FY);
+z9=(59FX,266FY);
+z10=(97FX,0FY);
+z11=(144FX,0FY);
+z12=(195FX,28FY);
+z13=(180FX,266FY);
+z14=(189FX,398FY);
+z15=(427FX,398FY);
+z16=(349FX,304FY);
+z17=(244FX,119FY);
+z18=(244FX,88FY);
+z19=(343FX,-11FY);
+z20=(482FX,103FY);
+z21=(501FX,151FY);
+z22=(514FX,106FY);
+z23=(526FX,68FY);
+z24=(539FX,16FY);
+z25=(550FX,0FY);
+z26=(652FX,0FY);
+z27=(672FX,9FY);
+z28=(650FX,70FY);
+z29=(595FX,251FY);
+z30=(563FX,375FY);
+z31=(546FX,454FY);
+z32=(545FX,459FY);
+z33=(533FX,465FY);
+z34=(514FX,465FY);
+z35=(439FX,366FY);
+z36=(452FX,320FY);
+z37=(465FX,273FY);
+z38=(483FX,196FY);
+z39=(398FX,115FY);
+z40=(346FX,169FY);
+z41=(439FX,366FY);
+FuF (z1
+{-6,0} .. {0,-8}z2
+{0,-5} .. {2,-5}z3
+-- z4
+{3,18} .. {-15,2}z5
+{-4,1} .. {-3,0}z6
+{-15,-1} .. {-15,0}z7
+{-12,0} .. {-11,0}z8
+{-22,0} .. {0,-195}z9
+{0,-253} .. {33,0}z10
+-- z11
+{55,0} .. {-2,18}z12
+{-15,120} .. {0,46}z13
+{0,42} .. {5,44}z14
+-- z15
+{-25,-32} .. {-34,-40}z16
+{-76,-87} .. {-5,-55}z17
+{-1,-10} .. {1,-10}z18
+{6,-45} .. {56,0}z19
+{80,0} .. {19,42}z20
+{8,16} .. {6,20}z21
+{7,-21} .. {4,-17}z22
+{6,-20} .. {5,-14}z23
+{9,-31} .. {2,-13}z24
+{2,-9} .. {8,0}z25
+-- z26
+{10,0} .. {0,8}z27
+{0,8} .. {-12,39}z28
+{-11,31} .. {-5,19}z29
+{-18,60} .. {-11,45}z30
+{-6,25} .. {-4,30}z31
+{0,2} .. {-1,2}z32
+{-1,5} .. {-7,0}z33
+{-7,0} .. {-5,0}z34
+);
+FuF (z35
+{7,-24} .. {4,-16}z36
+{7,-24} .. {5,-18}z37
+{13,-44} .. {0,-16}z38
+{0,-29} .. {-57,0}z39
+{-37,0} .. {0,23}z40
+{0,56} .. {47,60}z41
+);
+lbl (range 1 thru 41);
+endchar;
+
+beginchar(oct"44",516FX#,728FY#,88FY#);
+"dollar";
+z1=(271FX,28FY);
+z2=(271FX,294FY);
+z3=(357FX,227FY);
+z4=(384FX,152FY);
+z5=(349FX,61FY);
+z6=(271FX,28FY);
+z7=(237FX,638FY);
+z8=(237FX,408FY);
+z9=(190FX,442FY);
+z10=(159FX,471FY);
+z11=(134FX,532FY);
+z12=(155FX,596FY);
+z13=(237FX,638FY);
+z14=(415FX,500FY);
+z15=(431FX,500FY);
+z16=(431FX,612FY);
+z17=(364FX,647FY);
+z18=(320FX,657FY);
+z19=(271FX,664FY);
+z20=(271FX,728FY);
+z21=(237FX,728FY);
+z22=(237FX,664FY);
+z23=(160FX,650FY);
+z24=(106FX,614FY);
+z25=(61FX,512FY);
+z26=(85FX,431FY);
+z27=(144FX,370FY);
+z28=(186FX,342FY);
+z29=(237FX,310FY);
+z30=(237FX,28FY);
+z31=(174FX,38FY);
+z32=(127FX,67FY);
+z33=(69FX,182FY);
+z34=(53FX,182FY);
+z35=(53FX,52FY);
+z36=(129FX,16FY);
+z37=(237FX,0FY);
+z38=(237FX,-88FY);
+z39=(271FX,-88FY);
+z40=(271FX,0FY);
+z41=(369FX,28FY);
+z42=(438FX,84FY);
+z43=(463FX,174FY);
+z44=(443FX,261FY);
+z45=(386FX,321FY);
+z46=(271FX,392FY);
+z47=(271FX,638FY);
+z48=(363FX,602FY);
+z49=(415FX,500FY);
+FuF (z1
+-- z2
+{40,-26} .. {18,-19}z3
+{18,-19} .. {0,-31}z4
+{0,-44} .. {-23,-17}z5
+{-23,-17} .. {-29,-5}z6
+);
+FuF (z7
+-- z8
+{-19,14} .. {-12,9}z9
+{-12,10} .. {-9,9}z10
+{-17,18} .. {0,23}z11
+{1,21} .. {14,22}z12
+{14,22} .. {41,6}z13
+);
+FuF (z14
+-- z15
+-- z16
+{-19,17} .. {-25,6}z17
+{-14,4} .. {-15,3}z18
+{-15,3} .. {-18,2}z19
+-- z20
+-- z21
+-- z22
+{-28,0} .. {-23,-9}z23
+{-20,-8} .. {-16,-16}z24
+{-30,-29} .. {0,-39}z25
+{0,-30} .. {16,-24}z26
+{17,-24} .. {23,-16}z27
+{11,-9} .. {17,-10}z28
+{14,-9} .. {20,-12}z29
+-- z30
+{-24,1} .. {-18,6}z31
+{-18,6} .. {-14,13}z32
+{-28,26} .. {-11,51}z33
+-- z34
+-- z35
+{22,-14} .. {29,-10}z36
+{30,-11} .. {42,0}z37
+-- z38
+-- z39
+-- z40
+{37,6} .. {28,13}z41
+{30,14} .. {17,24}z42
+{17,25} .. {0,35}z43
+{0,35} .. {-13,23}z44
+{-14,23} .. {-24,17}z45
+{-25,18} .. {-52,30}z46
+-- z47
+{35,-5} .. {26,-19}z48
+{27,-20} .. {8,-48}z49
+);
+lbl (range 1 thru 49);
+endchar;
+
+beginchar(oct"45",845FX#,676FY#,14FY#);
+"percent";
+z1=(283FX,358FY);
+z2=(207FX,324FY);
+z3=(162FX,341FY);
+z4=(146FX,398FY);
+z5=(169FX,496FY);
+z6=(225FX,592FY);
+z7=(289FX,632FY);
+z8=(306FX,622FY);
+z9=(356FX,600FY);
+z10=(366FX,554FY);
+z11=(343FX,447FY);
+z12=(283FX,358FY);
+z13=(257FX,-14FY);
+z14=(637FX,676FY);
+z15=(599FX,676FY);
+z16=(532FX,626FY);
+z17=(443FX,608FY);
+z18=(358FX,636FY);
+z19=(283FX,662FY);
+z20=(178FX,625FY);
+z21=(100FX,532FY);
+z22=(71FX,426FY);
+z23=(108FX,324FY);
+z24=(186FX,290FY);
+z25=(292FX,331FY);
+z26=(365FX,434FY);
+z27=(390FX,548FY);
+z28=(384FX,594FY);
+z29=(449FX,584FY);
+z30=(508FX,592FY);
+z31=(532FX,601FY);
+z32=(553FX,612FY);
+z33=(553FX,610FY);
+z34=(209FX,-14FY);
+z35=(603FX,295FY);
+z36=(679FX,340FY);
+z37=(728FX,316FY);
+z38=(748FX,254FY);
+z39=(726FX,158FY);
+z40=(669FX,67FY);
+z41=(594FX,30FY);
+z42=(542FX,53FY);
+z43=(530FX,106FY);
+z44=(550FX,191FY);
+z45=(603FX,295FY);
+z46=(741FX,351FY);
+z47=(667FX,372FY);
+z48=(565FX,336FY);
+z49=(485FX,244FY);
+z50=(455FX,138FY);
+z51=(484FX,39FY);
+z52=(576FX,0FY);
+z53=(678FX,41FY);
+z54=(749FX,144FY);
+z55=(774FX,262FY);
+z56=(741FX,351FY);
+FuF (z1
+{-25,-23} .. {-26,0}z2
+{-20,1} .. {-10,11}z3
+{-11,12} .. {0,26}z4
+{1,28} .. {15,37}z5
+{16,37} .. {22,27}z6
+{23,27} .. {20,0}z7
+{5,-1} .. {6,-6}z8
+{10,-9} .. {24,-6}z9
+{7,-20} .. {0,-11}z10
+{0,-36} .. {-15,-36}z11
+{-15,-37} .. {-25,-23}z12
+);
+FuF (z13
+-- z14
+-- z15
+{-22,-21} .. {-22,-12}z16
+{-23,-12} .. {-37,0}z17
+{-36,1} .. {-21,18}z18
+{-20,18} .. {-30,0}z19
+{-37,0} .. {-33,-25}z20
+{-33,-25} .. {-19,-37}z21
+{-19,-38} .. {0,-33}z22
+{1,-46} .. {24,-22}z23
+{24,-23} .. {28,0}z24
+{40,1} .. {31,27}z25
+{32,28} .. {17,41}z26
+{17,41} .. {0,35}z27
+{0,17} .. {-4,14}z28
+{15,-7} .. {29,0}z29
+{25,0} .. {15,5}z30
+{10,3} .. {6,3}z31
+{7,4} .. {7,4}z32
+-- z33
+-- z34
+);
+FuF (z35
+{22,30} .. {28,0}z36
+{20,0} .. {13,-16}z37
+{14,-17} .. {0,-25}z38
+{0,-28} .. {-15,-36}z39
+{-14,-37} .. {-24,-24}z40
+{-24,-25} .. {-26,0}z41
+{-27,1} .. {-7,15}z42
+{-8,16} .. {0,19}z43
+{1,18} .. {13,39}z44
+{14,40} .. {22,30}z45
+);
+FuF (z46
+{-22,14} .. {-27,0}z47
+{-35,0} .. {-33,-24}z48
+{-34,-25} .. {-20,-37}z49
+{-20,-37} .. {0,-34}z50
+{0,-40} .. {19,-26}z51
+{20,-26} .. {42,0}z52
+{38,0} .. {30,27}z53
+{30,28} .. {17,41}z54
+{17,41} .. {0,37}z55
+{0,45} .. {-22,14}z56
+);
+lbl (range 1 thru 56);
+endchar;
+
+
+beginchar(oct"50",524FX#,838FY#,210FY#);
+"parenleft";
+z1=(408FX,-177FY);
+z2=(344FX,-77FY);
+z3=(299FX,78FY);
+z4=(282FX,314FY);
+z5=(299FX,551FY);
+z6=(344FX,706FY);
+z7=(408FX,805FY);
+z8=(385FX,838FY);
+z9=(258FX,718FY);
+z10=(157FX,550FY);
+z11=(116FX,332FY);
+z12=(116FX,296FY);
+z13=(196FX,-1FY);
+z14=(385FX,-210FY);
+FuF (z1
+{-27,30} .. {-16,37}z2
+{-20,44} .. {-10,59}z3
+{-12,67} .. {0,91}z4
+{0,92} .. {11,66}z5
+{10,59} .. {20,45}z6
+{17,37} .. {26,29}z7
+-- z8
+{-49,-36} .. {-36,-44}z9
+{-43,-52} .. {-24,-60}z10
+{-28,-70} .. {0,-76}z11
+-- z12
+{0,-105} .. {53,-93}z13
+{47,-83} .. {79,-57}z14
+);
+lbl (range 1 thru 14);
+endchar;
+
+beginchar(oct"51",524FX#,838FY#,210FY#);
+"parenright";
+z1=(139FX,-210FY);
+z2=(328FX,-1FY);
+z3=(408FX,296FY);
+z4=(408FX,332FY);
+z5=(366FX,550FY);
+z6=(265FX,719FY);
+z7=(139FX,838FY);
+z8=(116FX,805FY);
+z9=(180FX,705FY);
+z10=(225FX,551FY);
+z11=(242FX,314FY);
+z12=(225FX,77FY);
+z13=(179FX,-78FY);
+z14=(116FX,-177FY);
+FuF (z1
+{79,57} .. {47,82}z2
+{53,93} .. {0,105}z3
+-- z4
+{-1,77} .. {-28,69}z5
+{-24,61} .. {-43,52}z6
+{-37,44} .. {-47,36}z7
+-- z8
+{26,-30} .. {17,-37}z9
+{20,-44} .. {10,-59}z10
+{11,-67} .. {0,-91}z11
+{-1,-92} .. {-11,-66}z12
+{-11,-58} .. {-20,-45}z13
+{-17,-37} .. {-25,-29}z14
+);
+lbl (range 1 thru 14);
+endchar;
+
+beginchar(oct"52",593FX#,742FY#,0FY#);
+"asterisk";
+z1=(279FX,575FY);
+z2=(270FX,568FY);
+z3=(263FX,559FY);
+z4=(215FX,602FY);
+z5=(190FX,624FY);
+z6=(152FX,637FY);
+z7=(119FX,620FY);
+z8=(104FX,577FY);
+z9=(120FX,534FY);
+z10=(161FX,519FY);
+z11=(207FX,524FY);
+z12=(239FX,529FY);
+z13=(253FX,528FY);
+z14=(262FX,506FY);
+z15=(210FX,471FY);
+z16=(158FX,420FY);
+z17=(175FX,370FY);
+z18=(215FX,349FY);
+z19=(263FX,383FY);
+z20=(276FX,443FY);
+z21=(280FX,467FY);
+z22=(287FX,487FY);
+z23=(295FX,486FY);
+z24=(310FX,489FY);
+z25=(318FX,468FY);
+z26=(322FX,440FY);
+z27=(337FX,379FY);
+z28=(382FX,351FY);
+z29=(423FX,373FY);
+z30=(439FX,422FY);
+z31=(421FX,455FY);
+z32=(389FX,474FY);
+z33=(352FX,494FY);
+z34=(335FX,509FY);
+z35=(339FX,516FY);
+z36=(341FX,525FY);
+z37=(340FX,531FY);
+z38=(349FX,533FY);
+z39=(355FX,533FY);
+z40=(386FX,528FY);
+z41=(431FX,523FY);
+z42=(475FX,541FY);
+z43=(489FX,581FY);
+z44=(477FX,619FY);
+z45=(440FX,641FY);
+z46=(386FX,614FY);
+z47=(358FX,585FY);
+z48=(345FX,572FY);
+z49=(330FX,563FY);
+z50=(311FX,575FY);
+z51=(319FX,604FY);
+z52=(330FX,628FY);
+z53=(342FX,654FY);
+z54=(351FX,687FY);
+z55=(332FX,729FY);
+z56=(295FX,742FY);
+z57=(259FX,729FY);
+z58=(239FX,687FY);
+z59=(248FX,653FY);
+z60=(260FX,627FY);
+z61=(275FX,598FY);
+z62=(279FX,575FY);
+FuF (z1
+{-4,-2} .. {-2,-3}z2
+{-3,-2} .. {-2,-4}z3
+{-12,7} .. {-20,22}z4
+{-9,10} .. {-8,5}z5
+{-13,9} .. {-12,0}z6
+{-12,0} .. {-10,-11}z7
+{-10,-12} .. {0,-17}z8
+{1,-19} .. {10,-10}z9
+{11,-10} .. {17,0}z10
+{16,1} .. {15,3}z11
+{16,4} .. {6,0}z12
+{7,0} .. {3,-1}z13
+{1,-8} .. {5,-7}z14
+{-12,-14} .. {-23,-9}z15
+{-35,-15} .. {0,-19}z16
+{1,-19} .. {11,-14}z17
+{12,-14} .. {15,0}z18
+{23,1} .. {9,22}z19
+{5,11} .. {4,29}z20
+{2,10} .. {1,6}z21
+{1,7} .. {3,7}z22
+{4,-1} .. {2,0}z23
+{5,0} .. {5,2}z24
+{4,-7} .. {1,-7}z25
+{1,-4} .. {2,-15}z26
+{5,-30} .. {6,-11}z27
+{9,-19} .. {21,0}z28
+{17,1} .. {11,14}z29
+{11,15} .. {0,18}z30
+{0,13} .. {-12,9}z31
+{-5,4} .. {-17,9}z32
+{-18,10} .. {-7,4}z33
+{-7,5} .. {-4,5}z34
+{2,3} .. {1,2}z35
+{2,3} .. {0,3}z36
+{0,2} .. {-1,2}z37
+{5,2} .. {2,0}z38
+{2,0} .. {2,0}z39
+{5,0} .. {15,-3}z40
+{16,-3} .. {14,0}z41
+{18,0} .. {11,12}z42
+{10,11} .. {0,16}z43
+{0,13} .. {-8,13}z44
+{-10,15} .. {-15,0}z45
+{-17,0} .. {-19,-18}z46
+{-6,-5} .. {-13,-14}z47
+{-5,-6} .. {-4,-3}z48
+{-4,-4} .. {-6,-3}z49
+{-5,6} .. {-8,2}z50
+{0,9} .. {5,10}z51
+{6,11} .. {2,5}z52
+{6,13} .. {2,4}z53
+{6,14} .. {0,8}z54
+{0,18} .. {-13,10}z55
+{-11,9} .. {-14,0}z56
+{-13,0} .. {-11,-9}z57
+{-13,-10} .. {0,-18}z58
+{0,-10} .. {6,-13}z59
+{4,-8} .. {4,-9}z60
+{5,-9} .. {5,-10}z61
+{3,-8} .. {0,-8}z62
+);
+lbl (range 1 thru 62);
+endchar;
+
+beginchar(oct"53",577FX#,506FY#,0FY#);
+"plus";
+z1=(257FX,506FY);
+z2=(257FX,286FY);
+z3=(39FX,286FY);
+z4=(39FX,220FY);
+z5=(257FX,220FY);
+z6=(257FX,0FY);
+z7=(322FX,0FY);
+z8=(322FX,220FY);
+z9=(538FX,220FY);
+z10=(538FX,286FY);
+z11=(322FX,286FY);
+z12=(322FX,506FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+);
+lbl (range 1 thru 12);
+endchar;
+
+beginchar(oct"54",327FX#,136FY#,160FY#);
+"comma";
+z1=(180FX,-11FY);
+z2=(172FX,-43FY);
+z3=(164FX,-71FY);
+z4=(120FX,-112FY);
+z5=(82FX,-131FY);
+z6=(90FX,-160FY);
+z7=(194FX,-135FY);
+z8=(250FX,-83FY);
+z9=(275FX,-36FY);
+z10=(280FX,-2FY);
+z11=(265FX,66FY);
+z12=(217FX,116FY);
+z13=(135FX,136FY);
+z14=(104FX,132FY);
+z15=(73FX,117FY);
+z16=(48FX,91FY);
+z17=(47FX,69FY);
+z18=(51FX,51FY);
+z19=(56FX,39FY);
+z20=(77FX,32FY);
+z21=(103FX,38FY);
+z22=(137FX,45FY);
+z23=(167FX,30FY);
+z24=(181FX,-3FY);
+z25=(180FX,-11FY);
+FuF (z1
+{-5,-20} .. {0,-1}z2
+{-1,-3} .. {-5,-16}z3
+{-17,-19} .. {-12,-9}z4
+{-9,-7} .. {-16,-6}z5
+-- z6
+{41,1} .. {29,16}z7
+{23,13} .. {15,22}z8
+{9,13} .. {8,19}z9
+{4,9} .. {0,14}z10
+{0,24} .. {-10,21}z11
+{-12,24} .. {-20,9}z12
+{-32,13} .. {-23,0}z13
+{-11,-1} .. {-10,-2}z14
+{-10,-2} .. {-10,-8}z15
+{-9,-7} .. {-8,-11}z16
+-- z17
+{0,-3} .. {3,-9}z18
+{1,-3} .. {2,-5}z19
+{7,-5} .. {7,0}z20
+{5,0} .. {13,4}z21
+{13,5} .. {10,0}z22
+{11,0} .. {9,-10}z23
+{10,-11} .. {0,-11}z24
+{0,-2} .. {-1,-3}z25
+);
+lbl (range 1 thru 25);
+endchar;
+
+beginchar(oct"175",378FX#,84FY#,1FY#);
+"hyphen";
+z1=(341FX,84FY);
+z2=(37FX,84FY);
+z3=(37FX,-1FY);
+z4=(341FX,-1FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+);
+lbl (range 1 thru 4);
+endchar;
+
+beginchar(oct"56",269FX#,125FY#,0FY#);
+"period";
+z1=(73FX,63FY);
+z2=(78FX,7FY);
+z3=(82FX,2FY);
+z4=(97FX,1FY);
+z5=(115FX,2FY);
+z6=(131FX,2FY);
+z7=(149FX,1FY);
+z8=(173FX,0FY);
+z9=(183FX,0FY);
+z10=(195FX,7FY);
+z11=(196FX,15FY);
+z12=(195FX,62FY);
+z13=(196FX,110FY);
+z14=(193FX,121FY);
+z15=(183FX,125FY);
+z16=(173FX,125FY);
+z17=(155FX,124FY);
+z18=(131FX,123FY);
+z19=(115FX,124FY);
+z20=(97FX,124FY);
+z21=(79FX,117FY);
+z22=(73FX,63FY);
+FuF (z1
+{1,-31} .. {3,-7}z2
+{1,-3} .. {2,0}z3
+{2,-1} .. {8,0}z4
+{5,1} .. {7,0}z5
+{8,0} .. {3,0}z6
+{1,0} .. {11,-1}z7
+{12,-1} .. {4,0}z8
+{3,0} .. {4,0}z9
+{7,2} .. {1,3}z10
+{1,2} .. {0,4}z11
+-- z12
+-- z13
+{0,6} .. {-2,2}z14
+{-2,3} .. {-5,0}z15
+-- z16
+{-1,0} .. {-11,-1}z17
+{-12,-1} .. {-4,0}z18
+{-4,1} .. {-7,0}z19
+{-8,0} .. {-4,0}z20
+{-10,0} .. {-2,-5}z21
+{-4,-8} .. {0,-28}z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(oct"57",486FX#,414FY#,232FY#);
+"slash";
+z1=(486FX,414FY);
+z2=(389FX,414FY);
+z3=(296FX,259FY);
+z4=(234FX,285FY);
+z5=(186FX,206FY);
+z6=(248FX,180FY);
+z7=(163FX,39FY);
+z8=(104FX,65FY);
+z9=(56FX,-18FY);
+z10=(115FX,-42FY);
+z11=(0FX,-232FY);
+z12=(98FX,-232FY);
+z13=(192FX,-75FY);
+z14=(251FX,-100FY);
+z15=(303FX,-22FY);
+z16=(240FX,6FY);
+z17=(326FX,148FY);
+z18=(378FX,126FY);
+z19=(425FX,205FY);
+z20=(373FX,227FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+);
+lbl (range 1 thru 20);
+endchar;
+
+beginchar(oct"60",531FX#,709FY#,14FY#);
+"zero";
+z1=(284FX,-14FY);
+z2=(498FX,336FY);
+z3=(276FX,709FY);
+z4=(204FX,659FY);
+z5=(177FX,634FY);
+z6=(33FX,360FY);
+z7=(284FX,-14FY);
+z8=(350FX,107FY);
+z9=(99FX,439FY);
+z10=(191FX,576FY);
+z11=(427FX,217FY);
+z12=(350FX,107FY);
+FuF (z1
+{71,0} .. {0,157}z2
+{0,126} .. {-81,0}z3
+{-20,0} .. {-30,-29}z4
+{-10,-9} .. {-14,-13}z5
+{-41,-38} .. {0,-149}z6
+{0,-205} .. {58,0}z7
+);
+FuF (z8
+{-59,0} .. {0,131}z9
+{0,73} .. {33,0}z10
+{53,0} .. {0,-124}z11
+{0,-49} .. {-31,0}z12
+);
+lbl (range 1 thru 12);
+endchar;
+
+beginchar(oct"61",445FX#,714FY#,0FY#);
+"one";
+z1=(381FX,0FY);
+z2=(381FX,31FY);
+z3=(307FX,31FY);
+z4=(307FX,714FY);
+z5=(64FX,615FY);
+z6=(70FX,579FY);
+z7=(121FX,588FY);
+z8=(162FX,520FY);
+z9=(162FX,31FY);
+z10=(87FX,31FY);
+z11=(87FX,0FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+{-86,-58} .. {-89,-17}z5
+-- z6
+{15,4} .. {8,0}z7
+{38,0} .. {0,-41}z8
+-- z9
+-- z10
+-- z11
+);
+lbl (range 1 thru 11);
+endchar;
+
+beginchar(oct"62",559FX#,709FY#,11FY#);
+"two";
+z1=(478FX,152FY);
+z2=(414FX,109FY);
+z3=(340FX,115FY);
+z4=(281FX,121FY);
+z5=(203FX,103FY);
+z6=(471FX,552FY);
+z7=(292FX,709FY);
+z8=(58FX,554FY);
+z9=(118FX,496FY);
+z10=(244FX,573FY);
+z11=(350FX,448FY);
+z12=(198FX,173FY);
+z13=(106FX,68FY);
+z14=(59FX,18FY);
+z15=(86FX,-11FY);
+z16=(197FX,15FY);
+z17=(352FX,-1FY);
+z18=(433FX,-11FY);
+z19=(501FX,132FY);
+FuF (z1
+{-18,-25} .. {-29,0}z2
+{-19,0} .. {-33,5}z3
+{-22,3} .. {-19,0}z4
+{-24,0} .. {-23,-12}z5
+{212,243} .. {0,83}z6
+{0,98} .. {-89,0}z7
+{-81,0} .. {-66,-123}z8
+-- z9
+{38,42} .. {59,0}z10
+{69,0} .. {0,-77}z11
+{0,-27} .. {-138,-172}z12
+{-35,-44} .. {-49,-49}z13
+{-23,-24} .. {-18,-20}z14
+-- z15
+{12,8} .. {67,0}z16
+{44,0} .. {18,-3}z17
+{33,-5} .. {33,-3}z18
+-- z19
+);
+lbl (range 1 thru 19);
+endchar;
+
+beginchar(oct"63",552FX#,709FY#,47FY#);
+"three";
+z1=(95FX,514FY);
+z2=(237FX,604FY);
+z3=(324FX,536FY);
+z4=(140FX,343FY);
+z5=(160FX,306FY);
+z6=(251FX,330FY);
+z7=(352FX,221FY);
+z8=(95FX,6FY);
+z9=(117FX,-47FY);
+z10=(508FX,280FY);
+z11=(372FX,410FY);
+z12=(368FX,417FY);
+z13=(469FX,585FY);
+z14=(304FX,709FY);
+z15=(44FX,549FY);
+FuF (z1
+{27,50} .. {57,0}z2
+{74,0} .. {0,-17}z3
+{0,-65} .. {-109,-39}z4
+-- z5
+{38,16} .. {35,0}z6
+{86,0} .. {0,-37}z7
+{0,-68} .. {-210,-55}z8
+-- z9
+{242,43} .. {0,116}z10
+{0,42} .. {-114,12}z11
+-- z12
+{49,45} .. {0,65}z13
+{0,79} .. {-88,0}z14
+{-57,0} .. {-76,-142}z15
+);
+lbl (range 1 thru 15);
+endchar;
+
+beginchar(oct"64",623FX#,714FY#,0FY#);
+"four";
+z1=(349FX,31FY);
+z2=(269FX,31FY);
+z3=(269FX,0FY);
+z4=(550FX,0FY);
+z5=(550FX,31FY);
+z6=(480FX,31FY);
+z7=(480FX,196FY);
+z8=(508FX,193FY);
+z9=(524FX,191FY);
+z10=(560FX,184FY);
+z11=(594FX,318FY);
+z12=(480FX,292FY);
+z13=(480FX,522FY);
+z14=(517FX,693FY);
+z15=(470FX,714FY);
+z16=(410FX,661FY);
+z17=(83FX,308FY);
+z18=(29FX,233FY);
+z19=(46FX,165FY);
+z20=(263FX,198FY);
+z21=(349FX,196FY);
+z22=(349FX,289FY);
+z23=(228FX,286FY);
+z24=(130FX,281FY);
+z25=(261FX,455FY);
+z26=(349FX,543FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+{12,-1} .. {10,-2}z8
+{6,-1} .. {8,-1}z9
+{13,-2} .. {15,-4}z10
+-- z11
+{-47,-23} .. {-29,1}z12
+-- z13
+{0,67} .. {30,61}z14
+-- z15
+{-17,-20} .. {-32,-24}z16
+{-171,-132} .. {-70,-99}z17
+{-23,-33} .. {-21,-28}z18
+-- z19
+{35,16} .. {123,0}z20
+{10,0} .. {58,-2}z21
+);
+FuF (z22
+{-47,1} .. {-45,-2}z23
+{-35,-2} .. {-43,-2}z24
+{14,27} .. {93,109}z25
+{29,34} .. {40,32}z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(oct"65",561FX#,714FY#,37FY#);
+"five";
+z1=(453FX,714FY);
+z2=(366FX,671FY);
+z3=(284FX,679FY);
+z4=(167FX,690FY);
+z5=(82FX,470FY);
+z6=(212FX,348FY);
+z7=(336FX,221FY);
+z8=(113FX,11FY);
+z9=(130FX,-37FY);
+z10=(466FX,298FY);
+z11=(257FX,474FY);
+z12=(158FX,552FY);
+z13=(173FX,592FY);
+z14=(332FX,575FY);
+z15=(428FX,580FY);
+z16=(479FX,707FY);
+FuF (z1
+{-23,-43} .. {-27,0}z2
+{-24,0} .. {-35,4}z3
+{-32,3} .. {-55,4}z4
+{-57,-108} .. {0,-53}z5
+{0,-74} .. {68,-26}z6
+{63,-25} .. {0,-76}z7
+{0,-95} .. {-127,-24}z8
+-- z9
+{190,23} .. {0,147}z10
+{0,144} .. {-56,8}z11
+{-54,8} .. {0,62}z12
+{0,15} .. {7,12}z13
+{64,-10} .. {52,0}z14
+{33,0} .. {24,2}z15
+{20,56} .. {23,46}z16
+);
+lbl (range 1 thru 16);
+endchar;
+
+beginchar(oct"66",549FX#,736FY#,14FY#);
+"six";
+z1=(367FX,736FY);
+z2=(31FX,271FY);
+z3=(269FX,-14FY);
+z4=(503FX,274FY);
+z5=(326FX,500FY);
+z6=(199FX,397FY);
+z7=(219FX,381FY);
+z8=(253FX,383FY);
+z9=(427FX,200FY);
+z10=(354FX,84FY);
+z11=(151FX,341FY);
+z12=(340FX,652FY);
+z13=(396FX,709FY);
+FuF (z1
+{-232,-192} .. {0,-128}z2
+{0,-131} .. {67,0}z3
+{53,0} .. {0,117}z4
+{0,110} .. {-50,0}z5
+{-34,0} .. {-18,-28}z6
+-- z7
+{10,3} .. {12,0}z8
+{66,0} .. {0,-76}z9
+{0,-49} .. {-39,-35}z10
+{-107,72} .. {0,132}z11
+{0,121} .. {74,74}z12
+{30,30} .. {20,21}z13
+);
+lbl (range 1 thru 13);
+endchar;
+
+beginchar(oct"67",512FX#,714FY#,88FY#);
+"seven";
+z1=(450FX,714FY);
+z2=(288FX,690FY);
+z3=(209FX,690FY);
+z4=(87FX,702FY);
+z5=(67FX,639FY);
+z6=(35FX,534FY);
+z7=(83FX,517FY);
+z8=(162FX,548FY);
+z9=(324FX,548FY);
+z10=(343FX,548FY);
+z11=(91FX,-64FY);
+z12=(217FX,-88FY);
+z13=(212FX,15FY);
+z14=(306FX,325FY);
+z15=(486FX,684FY);
+FuF (z1
+{-31,-14} .. {-95,-2}z2
+{-26,-1} .. {-26,1}z3
+{-48,1} .. {-40,8}z4
+{-9,-23} .. {-7,-24}z5
+{-10,-36} .. {-15,-44}z6
+-- z7
+{9,33} .. {46,0}z8
+-- z9
+-- z10
+{-78,-142} .. {-35,-186}z11
+{49,-4} .. {48,-18}z12
+{-8,47} .. {0,17}z13
+{0,116} .. {21,48}z14
+{100,230} .. {43,59}z15
+);
+lbl (range 1 thru 15);
+endchar;
+
+beginchar(oct"70",538FX#,709FY#,14FY#);
+"eight";
+z1=(146FX,365FY);
+z2=(31FX,211FY);
+z3=(255FX,-14FY);
+z4=(507FX,190FY);
+z5=(368FX,379FY);
+z6=(476FX,524FY);
+z7=(275FX,709FY);
+z8=(54FX,496FY);
+z9=(146FX,365FY);
+z10=(336FX,402FY);
+z11=(136FX,569FY);
+z12=(192FX,627FY);
+z13=(390FX,470FY);
+z14=(336FX,402FY);
+z15=(349FX,72FY);
+z16=(271FX,114FY);
+z17=(228FX,143FY);
+z18=(120FX,276FY);
+z19=(174FX,341FY);
+z20=(261FX,300FY);
+z21=(409FX,148FY);
+z22=(349FX,72FY);
+FuF (z1
+{-101,-58} .. {0,-44}z2
+{0,-109} .. {60,0}z3
+{58,0} .. {0,94}z4
+{0,94} .. {-96,58}z5
+{55,42} .. {0,64}z6
+{0,89} .. {-58,0}z7
+{-73,0} .. {0,-107}z8
+{0,-29} .. {78,-51}z9
+);
+FuF (z10
+{-87,41} .. {0,74}z11
+{0,30} .. {22,0}z12
+{45,0} .. {0,-78}z13
+{0,-37} .. {-23,-9}z14
+);
+FuF (z15
+{-36,13} .. {-27,18}z16
+{-16,11} .. {-23,15}z17
+{-33,20} .. {0,67}z18
+{0,34} .. {23,0}z19
+{16,0} .. {51,-30}z20
+{74,-43} .. {0,-69}z21
+{0,-34} .. {-29,-13}z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(oct"71",541FX#,709FY#,39FY#);
+"nine";
+z1=(170FX,-39FY);
+z2=(506FX,429FY);
+z3=(269FX,709FY);
+z4=(177FX,650FY);
+z5=(35FX,426FY);
+z6=(212FX,201FY);
+z7=(338FX,303FY);
+z8=(318FX,319FY);
+z9=(284FX,316FY);
+z10=(110FX,499FY);
+z11=(183FX,616FY);
+z12=(384FX,365FY);
+z13=(138FX,-1FY);
+FuF (z1
+{154,138} .. {0,173}z2
+{0,153} .. {-47,0}z3
+{-27,0} .. {-36,-31}z4
+{-30,-26} .. {0,-111}z5
+{0,-110} .. {51,0}z6
+{36,0} .. {24,36}z7
+-- z8
+{-6,-2} .. {-13,0}z9
+{-66,0} .. {0,79}z10
+{0,43} .. {44,39}z11
+{107,-72} .. {0,-128}z12
+{0,-123} .. {-106,-88}z13
+);
+lbl (range 1 thru 13);
+endchar;
+
+beginchar(oct"72",297FX#,475FY#,0FY#);
+"colon";
+z1=(87FX,413FY);
+z2=(92FX,357FY);
+z3=(111FX,351FY);
+z4=(145FX,352FY);
+z5=(186FX,350FY);
+z6=(197FX,350FY);
+z7=(210FX,365FY);
+z8=(209FX,412FY);
+z9=(210FX,460FY);
+z10=(197FX,475FY);
+z11=(186FX,475FY);
+z12=(145FX,473FY);
+z13=(111FX,474FY);
+z14=(87FX,413FY);
+z15=(87FX,63FY);
+z16=(92FX,7FY);
+z17=(111FX,1FY);
+z18=(145FX,2FY);
+z19=(186FX,0FY);
+z20=(197FX,0FY);
+z21=(210FX,15FY);
+z22=(209FX,62FY);
+z23=(210FX,110FY);
+z24=(197FX,125FY);
+z25=(186FX,125FY);
+z26=(145FX,123FY);
+z27=(111FX,124FY);
+z28=(87FX,63FY);
+FuF (z1
+{0,-13} .. {5,-14}z2
+{1,-6} .. {15,1}z3
+{13,1} .. {11,0}z4
+{13,0} .. {14,-1}z5
+{4,0} .. {4,1}z6
+{14,2} .. {0,5}z7
+{0,18} .. {0,15}z8
+{0,16} .. {0,18}z9
+{0,5} .. {-14,2}z10
+{-4,1} .. {-4,0}z11
+{-14,-1} .. {-13,0}z12
+{-11,0} .. {-13,0}z13
+{-15,1} .. {0,-60}z14
+);
+FuF (z15
+{0,-13} .. {5,-14}z16
+{1,-6} .. {15,1}z17
+{13,1} .. {11,0}z18
+{13,0} .. {14,-1}z19
+{4,0} .. {4,1}z20
+{14,2} .. {0,5}z21
+{0,18} .. {0,15}z22
+{0,16} .. {0,18}z23
+{0,5} .. {-14,2}z24
+{-4,1} .. {-4,0}z25
+{-14,-1} .. {-13,0}z26
+{-11,0} .. {-13,0}z27
+{-15,1} .. {0,-60}z28
+);
+lbl (range 1 thru 28);
+endchar;
+
+beginchar(oct"73",286FX#,475FY#,185FY#);
+"semicolon";
+z1=(78FX,413FY);
+z2=(82FX,364FY);
+z3=(102FX,351FY);
+z4=(120FX,352FY);
+z5=(136FX,352FY);
+z6=(154FX,351FY);
+z7=(178FX,350FY);
+z8=(189FX,350FY);
+z9=(201FX,359FY);
+z10=(201FX,365FY);
+z11=(200FX,412FY);
+z12=(201FX,460FY);
+z13=(198FX,471FY);
+z14=(189FX,475FY);
+z15=(178FX,475FY);
+z16=(160FX,474FY);
+z17=(136FX,473FY);
+z18=(102FX,474FY);
+z19=(84FX,466FY);
+z20=(78FX,413FY);
+z21=(160FX,-13FY);
+z22=(160FX,-24FY);
+z23=(153FX,-59FY);
+z24=(144FX,-84FY);
+z25=(112FX,-128FY);
+z26=(67FX,-156FY);
+z27=(75FX,-185FY);
+z28=(178FX,-154FY);
+z29=(232FX,-90FY);
+z30=(255FX,-36FY);
+z31=(259FX,-12FY);
+z32=(240FX,53FY);
+z33=(186FX,104FY);
+z34=(111FX,124FY);
+z35=(100FX,123FY);
+z36=(85FX,121FY);
+z37=(50FX,111FY);
+z38=(28FX,91FY);
+z39=(27FX,69FY);
+z40=(31FX,51FY);
+z41=(36FX,39FY);
+z42=(57FX,32FY);
+z43=(83FX,38FY);
+z44=(117FX,45FY);
+z45=(147FX,26FY);
+z46=(160FX,-13FY);
+FuF (z1
+{1,-24} .. {2,-9}z2
+{3,-9} .. {11,0}z3
+{5,1} .. {7,0}z4
+{8,0} .. {3,0}z5
+{1,0} .. {11,-1}z6
+{12,-1} .. {4,0}z7
+{3,0} .. {4,0}z8
+{7,1} .. {1,5}z9
+{0,2} .. {0,2}z10
+-- z11
+-- z12
+{0,6} .. {-2,2}z13
+{-2,3} .. {-4,0}z14
+{-4,0} .. {-4,0}z15
+{-1,0} .. {-11,-1}z16
+{-11,-1} .. {-5,0}z17
+-- z18
+{-9,0} .. {-3,-5}z19
+{-4,-8} .. {0,-28}z20
+);
+FuF (z21
+{0,-3} .. {0,-4}z22
+{0,-10} .. {-5,-13}z23
+{-2,-6} .. {-4,-11}z24
+{-6,-16} .. {-15,-13}z25
+{-14,-13} .. {-16,-6}z26
+-- z27
+{40,1} .. {29,20}z28
+{21,16} .. {15,27}z29
+{3,7} .. {12,29}z30
+{3,7} .. {0,9}z31
+{0,22} .. {-13,21}z32
+{-14,25} .. {-22,10}z33
+{-31,13} .. {-19,0}z34
+{-1,-1} .. {-6,0}z35
+{-6,0} .. {-4,-1}z36
+{-15,-3} .. {-8,-4}z37
+{-8,-5} .. {-7,-9}z38
+-- z39
+{0,-3} .. {3,-9}z40
+{1,-3} .. {2,-5}z41
+{7,-5} .. {7,0}z42
+{5,0} .. {13,4}z43
+{13,5} .. {10,0}z44
+{11,0} .. {9,-13}z45
+{9,-13} .. {0,-13}z46
+);
+lbl (range 1 thru 46);
+endchar;
+
+
+beginchar(oct"75",577FX#,386FY#,0FY#);
+"equal";
+z1=(538FX,120FY);
+z2=(538FX,186FY);
+z3=(39FX,186FY);
+z4=(39FX,120FY);
+z5=(538FX,320FY);
+z6=(538FX,386FY);
+z7=(39FX,386FY);
+z8=(39FX,320FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+);
+FuF (z5
+-- z6
+-- z7
+-- z8
+);
+lbl (range 1 thru 8);
+endchar;
+
+
+beginchar(oct"77",532FX#,820FY#,14FY#);
+"question";
+z1=(255FX,195FY);
+z2=(333FX,306FY);
+z3=(478FX,567FY);
+z4=(253FX,820FY);
+z5=(54FX,589FY);
+z6=(108FX,589FY);
+z7=(198FX,714FY);
+z8=(326FX,522FY);
+z9=(264FX,364FY);
+z10=(209FX,195FY);
+z11=(172FX,49FY);
+z12=(195FX,-13FY);
+z13=(229FX,-12FY);
+z14=(271FX,-14FY);
+z15=(282FX,-14FY);
+z16=(295FX,2FY);
+z17=(293FX,48FY);
+z18=(295FX,96FY);
+z19=(282FX,111FY);
+z20=(271FX,111FY);
+z21=(229FX,110FY);
+z22=(195FX,110FY);
+z23=(172FX,49FY);
+FuF (z1
+{1,63} .. {32,22}z2
+{143,100} .. {0,53}z3
+{0,109} .. {-73,0}z4
+{-60,0} .. {-18,-125}z5
+-- z6
+{15,71} .. {33,0}z7
+{52,0} .. {0,-116}z8
+{0,-79} .. {-31,-47}z9
+{-11,-17} .. {6,-74}z10
+);
+FuF (z11
+{-2,-66} .. {17,1}z12
+{13,1} .. {11,0}z13
+{14,0} .. {14,-1}z14
+{4,0} .. {4,1}z15
+{12,2} .. {0,5}z16
+{0,18} .. {0,26}z17
+{0,17} .. {0,17}z18
+{0,6} .. {-12,2}z19
+{-4,1} .. {-4,0}z20
+{-14,-1} .. {-14,0}z21
+{-11,0} .. {-13,0}z22
+{-16,0} .. {-2,-60}z23
+);
+lbl (range 1 thru 23);
+endchar;
+
+beginchar(oct"005",703FX#,465FY#,3FY#);
+"at";
+z1=(261FX,278FY);
+z2=(13FX,28FY);
+z3=(38FX,-3FY);
+z4=(91FX,0FY);
+z5=(135FX,-1FY);
+z6=(160FX,52FY);
+z7=(290FX,248FY);
+z8=(292FX,151FY);
+z9=(293FX,76FY);
+z10=(325FX,0FY);
+z11=(349FX,0FY);
+z12=(372FX,0FY);
+z13=(423FX,29FY);
+z14=(413FX,248FY);
+z15=(544FX,52FY);
+z16=(569FX,-1FY);
+z17=(593FX,0FY);
+z18=(612FX,0FY);
+z19=(636FX,-1FY);
+z20=(665FX,-3FY);
+z21=(690FX,15FY);
+z22=(690FX,28FY);
+z23=(431FX,280FY);
+z24=(567FX,390FY);
+z25=(602FX,440FY);
+z26=(561FX,464FY);
+z27=(542FX,464FY);
+z28=(171FX,464FY);
+z29=(150FX,465FY);
+z30=(110FX,439FY);
+z31=(136FX,407FY);
+z32=(380FX,292FY);
+z33=(255FX,430FY);
+z34=(463FX,430FY);
+z35=(516FX,409FY);
+z36=(498FX,389FY);
+FuF (z1
+{-176,-34} .. {0,-47}z2
+{0,-30} .. {15,0}z3
+{22,0} .. {25,0}z4
+{12,0} .. {15,0}z5
+{12,0} .. {2,49}z6
+{5,87} .. {93,11}z7
+{2,-50} .. {0,-22}z8
+{0,-25} .. {1,-44}z9
+{2,-66} .. {30,-1}z10
+{8,0} .. {8,0}z11
+{8,0} .. {8,0}z12
+{54,-2} .. {-2,17}z13
+{-6,45} .. {2,116}z14
+{108,-13} .. {2,-50}z15
+{2,-52} .. {12,0}z16
+{8,0} .. {8,1}z17
+{6,0} .. {6,0}z18
+{8,0} .. {8,0}z19
+{9,-1} .. {10,0}z20
+{14,0} .. {2,17}z21
+{1,4} .. {0,4}z22
+{-8,87} .. {-156,25}z23
+-- z24
+{17,14} .. {0,23}z25
+{0,24} .. {-13,0}z26
+{-6,0} .. {-5,0}z27
+-- z28
+{-9,0} .. {-13,0}z29
+{-29,0} .. {0,-14}z30
+{0,-16} .. {10,-10}z31
+);
+FuF (z32
+-- z33
+-- z34
+{23,0} .. {0,-25}z35
+{0,-4} .. {-14,-11}z36
+);
+lbl (range 1 thru 36);
+endchar;
+
+beginchar(oct"101",695FX#,714FY#,14FY#);
+"A";
+z1=(280FX,672FY);
+z2=(209FX,490FY);
+z3=(40FX,106FY);
+z4=(152FX,-14FY);
+z5=(389FX,301FY);
+z6=(464FX,42FY);
+z7=(388FX,42FY);
+z8=(388FX,0FY);
+z9=(688FX,0FY);
+z10=(688FX,42FY);
+z11=(619FX,42FY);
+z12=(435FX,672FY);
+z13=(514FX,672FY);
+z14=(514FX,714FY);
+z15=(203FX,714FY);
+z16=(203FX,672FY);
+z17=(360FX,396FY);
+z18=(205FX,141FY);
+z19=(148FX,190FY);
+z20=(148FX,216FY);
+z21=(219FX,404FY);
+z22=(315FX,555FY);
+FuF (z1
+{12,-74} .. {-52,-79}z2
+{-83,-126} .. {0,-115}z3
+{0,-86} .. {56,0}z4
+{116,0} .. {28,132}z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+);
+FuF (z17
+{-10,-77} .. {-82,0}z18
+{-25,0} .. {-6,38}z19
+{-1,9} .. {1,9}z20
+{8,76} .. {24,43}z21
+{24,44} .. {52,72}z22
+);
+%chp[65]:=currentpicture;
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(oct"102",642FX#,714FY#,0FY#);
+"B";
+z1=(121FX,42FY);
+z2=(38FX,42FY);
+z3=(38FX,0FY);
+z4=(520FX,0FY);
+z5=(597FX,54FY);
+z6=(598FX,81FY);
+z7=(598FX,240FY);
+z8=(527FX,310FY);
+z9=(518FX,310FY);
+z10=(307FX,388FY);
+z11=(351FX,443FY);
+z12=(442FX,411FY);
+z13=(598FX,553FY);
+z14=(390FX,714FY);
+z15=(121FX,359FY);
+z16=(276FX,42FY);
+z17=(276FX,369FY);
+z18=(400FX,281FY);
+z19=(443FX,222FY);
+z20=(443FX,109FY);
+z21=(399FX,42FY);
+z22=(276FX,404FY);
+z23=(364FX,672FY);
+z24=(443FX,569FY);
+z25=(380FX,466FY);
+z26=(334FX,483FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+{79,0} .. {1,33}z5
+{0,18} .. {0,12}z6
+-- z7
+{0,37} .. {-80,-2}z8
+{-3,0} .. {-3,0}z9
+{-80,0} .. {-70,56}z10
+-- z11
+{27,-18} .. {33,0}z12
+{70,0} .. {0,109}z13
+{0,83} .. {-134,0}z14
+{-222,0} .. {0,-220}z15
+);
+FuF (z16
+-- z17
+{34,-39} .. {57,-31}z18
+{42,-23} .. {0,-27}z19
+-- z20
+{0,-58} .. {-31,0}z21
+);
+FuF (z22
+{-1,92} .. {101,0}z23
+{41,0} .. {0,-76}z24
+{0,-85} .. {-19,0}z25
+{-4,0} .. {-29,16}z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(oct"103",694FX#,714FY#,22FY#);
+"C";
+z1=(669FX,452FY);
+z2=(669FX,494FY);
+z3=(628FX,494FY);
+z4=(352FX,714FY);
+z5=(46FX,404FY);
+z6=(141FX,176FY);
+z7=(216FX,4FY);
+z8=(216FX,-10FY);
+z9=(289FX,-22FY);
+z10=(628FX,274FY);
+z11=(669FX,274FY);
+z12=(669FX,316FY);
+z13=(407FX,316FY);
+z14=(407FX,274FY);
+z15=(450FX,274FY);
+z16=(292FX,4FY);
+z17=(268FX,10FY);
+z18=(272FX,24FY);
+z19=(280FX,66FY);
+z20=(258FX,211FY);
+z21=(222FX,457FY);
+z22=(342FX,672FY);
+z23=(450FX,494FY);
+z24=(407FX,494FY);
+z25=(407FX,452FY);
+FuF (z1
+-- z2
+-- z3
+{-12,71} .. {-214,0}z4
+{-164,0} .. {0,-195}z5
+{0,-61} .. {89,-114}z6
+{77,-99} .. {0,-41}z7
+{0,-8} .. {0,-5}z8
+{18,-7} .. {41,0}z9
+{151,0} .. {8,172}z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+{12,-133} .. {-79,0}z16
+{-12,0} .. {-6,4}z17
+{1,4} .. {2,8}z18
+{2,8} .. {0,19}z19
+{0,39} .. {-15,60}z20
+{-22,92} .. {0,84}z21
+{0,172} .. {55,0}z22
+{50,0} .. {-3,-146}z23
+-- z24
+-- z25
+);
+%chp[67]:=currentpicture;
+lbl (range 1 thru 25);
+endchar;
+
+beginchar(oct"104",736FX#,731FY#,197FY#);
+"D";
+z1=(479FX,0FY);
+z2=(618FX,-170FY);
+z3=(644FX,-197FY);
+z4=(673FX,-150FY);
+z5=(721FX,17FY);
+z6=(677FX,54FY);
+z7=(581FX,42FY);
+z8=(441FX,42FY);
+z9=(601FX,408FY);
+z10=(350FX,731FY);
+z11=(108FX,324FY);
+z12=(248FX,42FY);
+z13=(158FX,42FY);
+z14=(108FX,46FY);
+z15=(62FX,54FY);
+z16=(18FX,17FY);
+z17=(33FX,-28FY);
+z18=(67FX,-150FY);
+z19=(95FX,-197FY);
+z20=(134FX,-126FY);
+z21=(260FX,0FY);
+z22=(299FX,0FY);
+z23=(357FX,-18FY);
+z24=(395FX,0FY);
+z25=(247FX,588FY);
+z26=(474FX,251FY);
+z27=(457FX,154FY);
+z28=(208FX,467FY);
+z29=(247FX,588FY);
+FuF (z1
+{97,0} .. {36,-139}z2
+{4,-14} .. {18,0}z3
+{29,0} .. {1,14}z4
+{5,112} .. {0,90}z5
+{0,20} .. {-29,0}z6
+{-58,0} .. {-69,0}z7
+-- z8
+{133,144} .. {0,81}z9
+{0,197} .. {-76,0}z10
+{-80,0} .. {0,-198}z11
+{0,-95} .. {97,-91}z12
+-- z13
+{-16,0} .. {-11,1}z14
+{-27,4} .. {-14,0}z15
+{-28,0} .. {0,-21}z16
+{0,-13} .. {9,-19}z17
+{29,-59} .. {0,-18}z18
+{0,-17} .. {29,0}z19
+{25,0} .. {11,42}z20
+{26,102} .. {83,0}z21
+-- z22
+{13,-10} .. {18,0}z23
+{12,0} .. {8,5}z24
+);
+FuF (z25
+{156,15} .. {0,-148}z26
+{0,-38} .. {-11,-31}z27
+{-125,-30} .. {0,162}z28
+{0,38} .. {28,33}z29
+);
+lbl (range 1 thru 29);
+endchar;
+
+beginchar(oct"105",732FX#,714FY#,14FY#);
+"E";
+z1=(369FX,350FY);
+z2=(369FX,308FY);
+z3=(617FX,308FY);
+z4=(617FX,350FY);
+z5=(576FX,350FY);
+z6=(394FX,466FY);
+z7=(227FX,403FY);
+z8=(367FX,672FY);
+z9=(499FX,557FY);
+z10=(468FX,557FY);
+z11=(468FX,515FY);
+z12=(716FX,515FY);
+z13=(716FX,557FY);
+z14=(668FX,557FY);
+z15=(391FX,714FY);
+z16=(49FX,392FY);
+z17=(157FX,163FY);
+z18=(216FX,5FY);
+z19=(380FX,-14FY);
+z20=(672FX,177FY);
+z21=(709FX,178FY);
+z22=(709FX,219FY);
+z23=(447FX,219FY);
+z24=(447FX,178FY);
+z25=(497FX,178FY);
+z26=(311FX,28FY);
+z27=(274FX,35FY);
+z28=(284FX,88FY);
+z29=(255FX,250FY);
+z30=(230FX,364FY);
+z31=(343FX,410FY);
+z32=(406FX,350FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+{-27,75} .. {-76,0}z6
+{-55,0} .. {-55,-48}z7
+{-14,104} .. {125,0}z8
+{92,0} .. {8,-45}z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+{-52,133} .. {-82,0}z15
+{-145,0} .. {0,-251}z16
+{0,-75} .. {93,-114}z17
+{38,-46} .. {-11,-65}z18
+{44,-14} .. {45,0}z19
+{121,0} .. {59,105}z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+{-13,-61} .. {-129,0}z26
+{-19,0} .. {-10,5}z27
+{6,15} .. {0,24}z28
+{0,71} .. {-17,57}z29
+{-13,42} .. {-5,32}z30
+{27,31} .. {39,0}z31
+{20,0} .. {13,-42}z32
+);
+%chp[69]:=currentpicture;
+lbl (range 1 thru 32);
+endchar;
+
+beginchar(oct"106",954FX#,731FY#,18FY#);
+"F";
+z1=(714FX,375FY);
+z2=(465FX,731FY);
+z3=(226FX,375FY);
+z4=(205FX,375FY);
+z5=(189FX,374FY);
+z6=(172FX,374FY);
+z7=(53FX,387FY);
+z8=(9FX,351FY);
+z9=(39FX,269FY);
+z10=(57FX,183FY);
+z11=(86FX,137FY);
+z12=(118FX,187FY);
+z13=(223FX,333FY);
+z14=(472FX,-18FY);
+z15=(708FX,333FY);
+z16=(824FX,187FY);
+z17=(856FX,137FY);
+z18=(885FX,183FY);
+z19=(903FX,269FY);
+z20=(933FX,351FY);
+z21=(889FX,387FY);
+z22=(755FX,374FY);
+z23=(733FX,375FY);
+z24=(333FX,375FY);
+z25=(324FX,467FY);
+z26=(362FX,588FY);
+z27=(576FX,375FY);
+z28=(584FX,333FY);
+z29=(572FX,154FY);
+z30=(346FX,333FY);
+FuF (z1
+{26,223} .. {-70,0}z2
+{-72,0} .. {1,-144}z3
+-- z4
+{-5,0} .. {-5,-1}z5
+{-6,0} .. {-6,0}z6
+{-78,0} .. {-43,0}z7
+{-30,0} .. {0,-18}z8
+{0,-18} .. {18,-48}z9
+{11,-30} .. {1,-30}z10
+{1,-18} .. {27,0}z11
+{23,0} .. {7,30}z12
+{23,87} .. {72,6}z13
+{-1,-193} .. {65,0}z14
+{57,0} .. {29,174}z15
+{80,4} .. {23,-87}z16
+{7,-30} .. {23,0}z17
+{27,0} .. {1,18}z18
+{1,30} .. {11,30}z19
+{18,48} .. {0,18}z20
+{0,18} .. {-30,0}z21
+{-33,0} .. {-73,0}z22
+{-8,0} .. {-7,0}z23
+);
+FuF (z24
+{-10,35} .. {0,30}z25
+{0,67} .. {19,22}z26
+{145,14} .. {13,-56}z27
+);
+FuF (z28
+{6,-38} .. {-24,-67}z29
+{-114,-27} .. {-30,79}z30
+);
+lbl (range 1 thru 30);
+endchar;
+
+beginchar(oct"107",1015FX#,998FY#,0FY#);
+"G";
+z1=(436FX,938FY);
+z2=(431FX,876FY);
+z3=(430FX,822FY);
+z4=(430FX,750FY);
+z5=(439FX,708FY);
+z6=(475FX,694FY);
+z7=(508FX,694FY);
+z8=(523FX,694FY);
+z9=(578FX,700FY);
+z10=(592FX,720FY);
+z11=(591FX,728FY);
+z12=(591FX,735FY);
+z13=(584FX,855FY);
+z14=(585FX,900FY);
+z15=(588FX,938FY);
+z16=(669FX,938FY);
+z17=(689FX,938FY);
+z18=(709FX,939FY);
+z19=(831FX,906FY);
+z20=(867FX,818FY);
+z21=(872FX,793FY);
+z22=(895FX,778FY);
+z23=(920FX,793FY);
+z24=(925FX,821FY);
+z25=(953FX,898FY);
+z26=(987FX,956FY);
+z27=(990FX,968FY);
+z28=(987FX,980FY);
+z29=(976FX,993FY);
+z30=(953FX,998FY);
+z31=(868FX,994FY);
+z32=(814FX,990FY);
+z33=(765FX,989FY);
+z34=(717FX,987FY);
+z35=(309FX,987FY);
+z36=(248FX,990FY);
+z37=(213FX,990FY);
+z38=(114FX,996FY);
+z39=(73FX,998FY);
+z40=(52FX,996FY);
+z41=(37FX,980FY);
+z42=(42FX,952FY);
+z43=(55FX,927FY);
+z44=(83FX,877FY);
+z45=(100FX,823FY);
+z46=(105FX,793FY);
+z47=(131FX,778FY);
+z48=(154FX,794FY);
+z49=(158FX,818FY);
+z50=(188FX,900FY);
+z51=(253FX,933FY);
+z52=(352FX,939FY);
+z53=(393FX,938FY);
+z54=(436FX,938FY);
+z55=(502FX,226FY);
+z56=(589FX,105FY);
+z57=(714FX,1FY);
+z58=(891FX,219FY);
+z59=(965FX,417FY);
+z60=(980FX,580FY);
+z61=(982FX,618FY);
+z62=(984FX,646FY);
+z63=(978FX,688FY);
+z64=(965FX,700FY);
+z65=(955FX,701FY);
+z66=(941FX,701FY);
+z67=(909FX,701FY);
+z68=(877FX,701FY);
+z69=(863FX,701FY);
+z70=(850FX,701FY);
+z71=(826FX,701FY);
+z72=(794FX,696FY);
+z73=(785FX,676FY);
+z74=(791FX,648FY);
+z75=(809FX,600FY);
+z76=(836FX,536FY);
+z77=(860FX,460FY);
+z78=(870FX,380FY);
+z79=(849FX,271FY);
+z80=(779FX,151FY);
+z81=(689FX,263FY);
+z82=(637FX,388FY);
+z83=(614FX,494FY);
+z84=(608FX,509FY);
+z85=(595FX,516FY);
+z86=(583FX,516FY);
+z87=(548FX,514FY);
+z88=(513FX,513FY);
+z89=(472FX,514FY);
+z90=(441FX,504FY);
+z91=(436FX,481FY);
+z92=(444FX,377FY);
+z93=(472FX,281FY);
+z94=(426FX,200FY);
+z95=(378FX,139FY);
+z96=(259FX,299FY);
+z97=(208FX,468FY);
+z98=(197FX,605FY);
+z99=(200FX,650FY);
+z100=(203FX,685FY);
+z101=(200FX,699FY);
+z102=(189FX,703FY);
+z103=(186FX,703FY);
+z104=(182FX,702FY);
+z105=(160FX,701FY);
+z106=(129FX,701FY);
+z107=(122FX,701FY);
+z108=(100FX,701FY);
+z109=(88FX,700FY);
+z110=(77FX,700FY);
+z111=(70FX,700FY);
+z112=(62FX,701FY);
+z113=(50FX,702FY);
+z114=(42FX,701FY);
+z115=(27FX,630FY);
+z116=(25FX,552FY);
+z117=(51FX,372FY);
+z118=(140FX,174FY);
+z119=(313FX,1FY);
+z120=(421FX,104FY);
+z121=(502FX,226FY);
+FuF (z1
+{-2,-27} .. {-1,-15}z2
+{-1,-16} .. {0,-21}z3
+-- z4
+{1,-19} .. {6,-9}z5
+{6,-10} .. {18,0}z6
+-- z7
+-- z8
+{28,0} .. {9,4}z9
+{10,5} .. {0,8}z10
+{0,3} .. {-1,3}z11
+{0,4} .. {0,1}z12
+{-5,34} .. {0,46}z13
+{0,15} .. {1,15}z14
+{1,16} .. {1,10}z15
+-- z16
+{7,0} .. {7,0}z17
+{7,1} .. {7,0}z18
+{59,-1} .. {22,-22}z19
+{20,-19} .. {4,-40}z20
+{2,-14} .. {1,-3}z21
+{4,-10} .. {11,0}z22
+{13,0} .. {4,10}z23
+{2,4} .. {1,15}z24
+{4,30} .. {15,21}z25
+{19,27} .. {4,12}z26
+{2,4} .. {0,4}z27
+{-1,4} .. {-2,4}z28
+{-3,6} .. {-5,2}z29
+{-5,3} .. {-10,0}z30
+{-9,-1} .. {-48,-2}z31
+{-26,-2} .. {-10,-1}z32
+{-12,0} .. {-21,-1}z33
+{-22,-1} .. {-10,0}z34
+-- z35
+{-2,1} .. {-39,2}z36
+{-8,0} .. {-15,0}z37
+{-11,1} .. {-55,4}z38
+{-20,1} .. {-7,0}z39
+{-9,-1} .. {-5,-1}z40
+{-10,-3} .. {0,-8}z41
+{0,-10} .. {3,-9}z42
+{4,-9} .. {5,-7}z43
+{11,-16} .. {8,-17}z44
+{10,-21} .. {1,-15}z45
+{2,-16} .. {2,-5}z46
+{5,-10} .. {12,0}z47
+{11,0} .. {4,11}z48
+{1,3} .. {1,13}z49
+{4,37} .. {16,18}z50
+{15,16} .. {28,6}z51
+{21,4} .. {45,0}z52
+{14,-1} .. {14,0}z53
+{15,0} .. {14,0}z54
+);
+FuF (z55
+{20,-39} .. {38,-42}z56
+{39,-42} .. {44,-28}z57
+{75,70} .. {43,76}z58
+{36,64} .. {14,69}z59
+{10,49} .. {0,60}z60
+{1,14} .. {1,11}z61
+{2,12} .. {0,7}z62
+{0,21} .. {-4,7}z63
+{-5,8} .. {-4,0}z64
+{-4,1} .. {-3,0}z65
+{-3,0} .. {-6,0}z66
+-- z67
+-- z68
+-- z69
+-- z70
+-- z71
+{-15,0} .. {-7,-3}z72
+{-6,-3} .. {0,-10}z73
+{0,-6} .. {4,-12}z74
+{4,-13} .. {8,-19}z75
+{13,-30} .. {5,-13}z76
+{11,-28} .. {5,-23}z77
+{7,-28} .. {0,-25}z78
+{0,-33} .. {-14,-40}z79
+{-17,-47} .. {-30,-33}z80
+{-34,29} .. {-26,46}z81
+{-21,37} .. {-14,46}z82
+{-11,36} .. {-5,35}z83
+{-2,8} .. {-2,2}z84
+{-3,4} .. {-6,1}z85
+-- z86
+{-8,0} .. {-15,-1}z87
+{-16,-1} .. {-7,0}z88
+-- z89
+{-16,0} .. {-5,-7}z90
+{-3,-5} .. {0,-10}z91
+{0,-39} .. {5,-30}z92
+{5,-30} .. {13,-34}z93
+{-10,-26} .. {-21,-28}z94
+{-9,-12} .. {-23,-29}z95
+{-50,45} .. {-30,62}z96
+{-24,51} .. {-10,62}z97
+{-7,44} .. {0,47}z98
+{0,13} .. {2,17}z99
+{2,18} .. {0,6}z100
+{0,7} .. {-2,2}z101
+{-2,3} .. {-5,0}z102
+{-1,0} .. {-1,0}z103
+{-1,-1} .. {-1,0}z104
+{-2,0} .. {-13,-1}z105
+{-13,0} .. {-8,0}z106
+-- z107
+-- z108
+{-4,-1} .. {-4,0}z109
+{-4,0} .. {-4,0}z110
+{-3,0} .. {-2,0}z111
+{-3,1} .. {-3,0}z112
+{-4,1} .. {-4,0}z113
+{-4,0} .. {-1,-1}z114
+{-7,-5} .. {-3,-43}z115
+{-1,-22} .. {0,-30}z116
+{0,-59} .. {17,-61}z117
+{20,-72} .. {39,-60}z118
+{46,-70} .. {69,-45}z119
+{44,36} .. {28,33}z120
+{30,35} .. {24,46}z121
+);
+lbl (range 1 thru 121);
+endchar;
+
+beginchar(oct"110",780FX#,700FY#,0FY#);
+"H";
+z1=(278FX,485FY);
+z2=(499FX,215FY);
+z3=(499FX,42FY);
+z4=(430FX,42FY);
+z5=(430FX,0FY);
+z6=(737FX,0FY);
+z7=(737FX,42FY);
+z8=(654FX,42FY);
+z9=(654FX,658FY);
+z10=(737FX,658FY);
+z11=(737FX,700FY);
+z12=(430FX,700FY);
+z13=(430FX,658FY);
+z14=(499FX,658FY);
+z15=(499FX,281FY);
+z16=(278FX,552FY);
+z17=(278FX,658FY);
+z18=(347FX,658FY);
+z19=(347FX,700FY);
+z20=(40FX,700FY);
+z21=(40FX,658FY);
+z22=(123FX,658FY);
+z23=(123FX,42FY);
+z24=(40FX,42FY);
+z25=(40FX,0FY);
+z26=(347FX,0FY);
+z27=(347FX,42FY);
+z28=(278FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+);
+lbl (range 1 thru 28);
+endchar;
+
+beginchar(oct"111",420FX#,700FY#,0FY#);
+"I";
+z1=(140FX,42FY);
+z2=(57FX,42FY);
+z3=(57FX,0FY);
+z4=(378FX,0FY);
+z5=(378FX,42FY);
+z6=(295FX,42FY);
+z7=(295FX,658FY);
+z8=(378FX,658FY);
+z9=(378FX,700FY);
+z10=(57FX,700FY);
+z11=(57FX,658FY);
+z12=(140FX,658FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+);
+%chp[73]:=currentpicture;
+lbl (range 1 thru 12);
+endchar;
+
+beginchar(oct"112",958FX#,852FY#,0FY#);
+"J";
+z1=(578FX,199FY);
+z2=(578FX,852FY);
+z3=(437FX,820FY);
+z4=(437FX,199FY);
+z5=(398FX,199FY);
+z6=(251FX,669FY);
+z7=(320FX,669FY);
+z8=(320FX,700FY);
+z9=(21FX,700FY);
+z10=(21FX,669FY);
+z11=(89FX,669FY);
+z12=(251FX,157FY);
+z13=(437FX,157FY);
+z14=(437FX,42FY);
+z15=(354FX,42FY);
+z16=(354FX,0FY);
+z17=(661FX,0FY);
+z18=(661FX,42FY);
+z19=(578FX,42FY);
+z20=(578FX,157FY);
+z21=(697FX,157FY);
+z22=(697FX,199FY);
+z23=(660FX,199FY);
+z24=(858FX,580FY);
+z25=(918FX,562FY);
+z26=(933FX,563FY);
+z27=(946FX,665FY);
+z28=(955FX,694FY);
+z29=(874FX,714FY);
+z30=(647FX,331FY);
+z31=(629FX,267FY);
+z32=(611FX,199FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+{42,153} .. {118,0}z24
+{22,0} .. {15,-8}z25
+-- z26
+{-1,65} .. {7,19}z27
+{4,11} .. {3,14}z28
+{-19,14} .. {-22,0}z29
+{-135,0} .. {-45,-165}z30
+{-10,-37} .. {-6,-19}z31
+{-9,-32} .. {-6,-23}z32
+);
+lbl (range 1 thru 32);
+endchar;
+
+beginchar(oct"113",711FX#,844FY#,249FY#);
+"K";
+z1=(698FX,-223FY);
+z2=(502FX,-128FY);
+z3=(320FX,-183FY);
+z4=(205FX,-195FY);
+z5=(88FX,-104FY);
+z6=(184FX,-26FY);
+z7=(292FX,-52FY);
+z8=(414FX,-85FY);
+z9=(495FX,-92FY);
+z10=(649FX,99FY);
+z11=(437FX,328FY);
+z12=(437FX,340FY);
+z13=(607FX,525FY);
+z14=(371FX,694FY);
+z15=(422FX,734FY);
+z16=(457FX,708FY);
+z17=(486FX,708FY);
+z18=(516FX,789FY);
+z19=(533FX,809FY);
+z20=(445FX,844FY);
+z21=(335FX,715FY);
+z22=(296FX,822FY);
+z23=(152FX,822FY);
+z24=(249FX,694FY);
+z25=(46FX,461FY);
+z26=(200FX,461FY);
+z27=(327FX,657FY);
+z28=(439FX,515FY);
+z29=(283FX,354FY);
+z30=(46FX,167FY);
+z31=(222FX,167FY);
+z32=(331FX,307FY);
+z33=(473FX,125FY);
+z34=(473FX,87FY);
+z35=(416FX,-25FY);
+z36=(316FX,-4FY);
+z37=(151FX,28FY);
+z38=(31FX,-97FY);
+z39=(209FX,-243FY);
+z40=(431FX,-205FY);
+z41=(487FX,-202FY);
+z42=(666FX,-249FY);
+FuF (z1
+{-89,93} .. {-24,0}z2
+{-80,0} .. {-69,-20}z3
+{-26,-8} .. {-39,0}z4
+{-66,0} .. {0,44}z5
+{0,37} .. {67,0}z6
+{35,0} .. {40,-14}z7
+{36,-13} .. {59,-11}z8
+{27,-5} .. {27,0}z9
+{55,0} .. {0,150}z10
+{0,110} .. {-166,50}z11
+-- z12
+{97,33} .. {0,115}z13
+{0,91} .. {-139,2}z14
+{11,27} .. {17,0}z15
+{11,0} .. {7,-23}z16
+-- z17
+{-6,38} .. {17,20}z18
+{11,11} .. {5,7}z19
+{-24,28} .. {-25,0}z20
+{-63,0} .. {-26,-70}z21
+-- z22
+-- z23
+-- z24
+{-143,-10} .. {1,-104}z25
+-- z26
+{-3,113} .. {101,0}z27
+{100,0} .. {0,-53}z28
+{0,-153} .. {-54,-4}z29
+{-95,-7} .. {-4,-171}z30
+-- z31
+{-8,64} .. {102,0}z32
+{85,0} .. {6,-157}z33
+{0,-13} .. {-1,-13}z34
+{-2,-48} .. {-45,0}z35
+{-15,0} .. {-63,23}z36
+{-47,17} .. {-59,0}z37
+{-57,0} .. {0,-63}z38
+{0,-82} .. {108,0}z39
+{92,0} .. {71,10}z40
+{18,3} .. {19,0}z41
+{55,0} .. {55,-26}z42
+);
+lbl (range 1 thru 42);
+endchar;
+
+beginchar(CYR_SHCHA,1091FX#,700FY#,170FY#);
+"Ugrave";
+z1=(549FX,-170FY);
+z2=(546FX,-169FY);
+z3=(544FX,-170FY);
+z4=(464FX,0FY);
+z5=(464FX,-66FY);
+z6=(374FX,-65FY);
+z7=(546FX,-169FY);
+z8=(711FX,-62FY);
+z9=(620FX,-63FY);
+z10=(620FX,0FY);
+z11=(1060FX,0FY);
+z12=(1060FX,42FY);
+z13=(977FX,42FY);
+z14=(977FX,658FY);
+z15=(1060FX,658FY);
+z16=(1060FX,700FY);
+z17=(753FX,700FY);
+z18=(753FX,658FY);
+z19=(822FX,658FY);
+z20=(822FX,42FY);
+z21=(620FX,42FY);
+z22=(620FX,658FY);
+z23=(689FX,658FY);
+z24=(689FX,700FY);
+z25=(396FX,700FY);
+z26=(396FX,658FY);
+z27=(465FX,658FY);
+z28=(465FX,42FY);
+z29=(263FX,42FY);
+z30=(263FX,658FY);
+z31=(332FX,658FY);
+z32=(332FX,700FY);
+z33=(25FX,700FY);
+z34=(25FX,658FY);
+z35=(108FX,658FY);
+z36=(108FX,42FY);
+z37=(25FX,42FY);
+z38=(25FX,0FY);
+FuF (z1
+-- z2
+-- z3
+);
+FuF (z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+-- z29
+-- z30
+-- z31
+-- z32
+-- z33
+-- z34
+-- z35
+-- z36
+-- z37
+-- z38
+);
+lbl (range 1 thru 38);
+endchar;
+
+beginchar(CYR_O,627FX#,727FY#,27FY#);
+"O";
+z1=(320FX,727FY);
+z2=(275FX,704FY);
+z3=(232FX,667FY);
+z4=(36FX,339FY);
+z5=(213FX,46FY);
+z6=(315FX,-27FY);
+z7=(382FX,22FY);
+z8=(591FX,355FY);
+z9=(457FX,605FY);
+z10=(362FX,693FY);
+z11=(320FX,727FY);
+z12=(254FX,595FY);
+z13=(357FX,462FY);
+z14=(490FX,274FY);
+z15=(490FX,240FY);
+z16=(365FX,102FY);
+z17=(284FX,217FY);
+z18=(133FX,448FY);
+z19=(254FX,595FY);
+FuF (z1
+{-20,0} .. {-10,-11}z2
+{-10,-10} .. {-30,-24}z3
+{-70,-55} .. {0,-162}z4
+{0,-152} .. {79,-68}z5
+{71,-61} .. {14,0}z6
+{17,0} .. {34,34}z7
+{119,115} .. {0,150}z8
+{0,120} .. {-71,62}z9
+{-63,55} .. {-30,31}z10
+{-18,19} .. {-14,0}z11
+);
+FuF (z12
+{12,-36} .. {72,-80}z13
+{64,-72} .. {9,-55}z14
+{2,-11} .. {-2,-11}z15
+{-9,-60} .. {-55,-21}z16
+{-4,37} .. {-62,61}z17
+{-97,95} .. {0,65}z18
+{0,63} .. {74,10}z19
+);
+%chp[79]:=currentpicture;
+lbl (range 1 thru 19);
+endchar;
+
+
+beginchar(oct"120",678FX#,714FY#,0FY#);
+"P";
+z1=(287FX,267FY);
+z2=(356FX,357FY);
+z3=(378FX,346FY);
+z4=(460FX,320FY);
+z5=(629FX,514FY);
+z6=(376FX,714FY);
+z7=(135FX,560FY);
+z8=(132FX,408FY);
+z9=(132FX,42FY);
+z10=(49FX,42FY);
+z11=(49FX,0FY);
+z12=(370FX,0FY);
+z13=(370FX,42FY);
+z14=(287FX,42FY);
+z15=(287FX,327FY);
+z16=(287FX,462FY);
+z17=(369FX,672FY);
+z18=(453FX,516FY);
+z19=(388FX,391FY);
+z20=(351FX,408FY);
+FuF (z1
+-- z2
+{6,-3} .. {14,-7}z3
+{26,-14} .. {36,0}z4
+{97,0} .. {0,110}z5
+{0,111} .. {-163,0}z6
+{-105,0} .. {-40,-97}z7
+{-3,-74} .. {0,-36}z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+);
+FuF (z15
+-- z16
+{0,93} .. {86,0}z17
+{71,0} .. {0,-82}z18
+{0,-111} .. {-20,0}z19
+{-7,0} .. {-11,9}z20
+);
+lbl (range 1 thru 20);
+endchar;
+
+beginchar(oct"121",1190FX#,731FY#,257FY#);
+"Q";
+z1=(320FX,727FY);
+z2=(275FX,704FY);
+z3=(232FX,667FY);
+z4=(36FX,339FY);
+z5=(213FX,46FY);
+z6=(315FX,-27FY);
+z7=(382FX,22FY);
+z8=(591FX,355FY);
+z9=(457FX,605FY);
+z10=(362FX,693FY);
+z11=(320FX,727FY);
+z12=(254FX,595FY);
+z13=(357FX,462FY);
+z14=(490FX,274FY);
+z15=(490FX,240FY);
+z16=(365FX,102FY);
+z17=(284FX,217FY);
+z18=(133FX,448FY);
+z19=(254FX,595FY);
+%
+z20=(941FX,0FY);
+z21=(941FX,42FY);
+z22=(891FX,42FY);
+z23=(924FX,191FY);
+z24=(1091FX,573FY);
+z25=(1132FX,558FY);
+z26=(1150FX,549FY);
+z27=(1165FX,549FY);
+z28=(1177FX,656FY);
+z29=(1186FX,686FY);
+z30=(1100FX,714FY);
+z31=(971FX,580FY);
+z32=(859FX,125FY);
+z33=(734FX,658FY);
+z34=(803FX,658FY);
+z35=(803FX,700FY);
+z36=(534FX,700FY);
+z37=(534FX,658FY);
+z38=(575FX,658FY);
+z39=(734FX,0FY);
+z40=(825FX,0FY);
+z41=(817FX,-65FY);
+z42=(803FX,-257FY);
+z43=(896FX,-250FY);
+z44=(896FX,-225FY);
+z45=(884FX,-122FY);
+z46=(884FX,-77FY);
+z47=(889FX,0FY);
+FuF (z1
+{-20,0} .. {-10,-11}z2
+{-10,-10} .. {-30,-24}z3
+{-70,-55} .. {0,-162}z4
+{0,-152} .. {79,-68}z5
+{71,-61} .. {14,0}z6
+{17,0} .. {34,34}z7
+{119,115} .. {0,150}z8
+{0,120} .. {-71,62}z9
+{-63,55} .. {-30,31}z10
+{-18,19} .. {-14,0}z11
+);
+FuF (z12
+{12,-36} .. {72,-80}z13
+{64,-72} .. {9,-55}z14
+{2,-11} .. {-2,-11}z15
+{-9,-60} .. {-55,-21}z16
+{-4,37} .. {-62,61}z17
+{-97,95} .. {0,65}z18
+{0,63} .. {74,10}z19
+);
+FuF (z20
+-- z21
+-- z22
+{15,62} .. {11,52}z23
+{21,101} .. {104,0}z24
+{15,0} .. {13,-7}z25
+{9,-5} .. {7,-4}z26
+-- z27
+{-1,77} .. {8,17}z28
+{5,12} .. {2,13}z29
+{-12,18} .. {-21,0}z30
+{-83,0} .. {-18,-56}z31
+{-14,-44} .. {-64,-297}z32
+-- z33
+-- z34
+-- z35
+-- z36
+-- z37
+-- z38
+-- z39
+-- z40
+{-6,-47} .. {-3,-26}z41
+{-8,-58} .. {1,-56}z42
+-- z43
+{3,11} .. {-2,8}z44
+{-5,24} .. {-1,48}z45
+{0,15} .. {0,15}z46
+{1,25} .. {3,25}z47
+);
+lbl (range 1 thru 47);
+endchar;
+
+beginchar(oct"122",1138FX#,713FY#,0FY#);
+"R";
+z1=(558FX,700FY);
+z2=(138FX,700FY);
+z3=(83FX,707FY);
+z4=(54FX,713FY);
+z5=(21FX,673FY);
+z6=(57FX,549FY);
+z7=(88FX,484FY);
+z8=(120FX,525FY);
+z9=(254FX,658FY);
+z10=(320FX,658FY);
+z11=(320FX,42FY);
+z12=(237FX,42FY);
+z13=(237FX,0FY);
+z14=(735FX,0FY);
+z15=(795FX,70FY);
+z16=(795FX,269FY);
+z17=(734FX,334FY);
+z18=(693FX,332FY);
+z19=(475FX,411FY);
+z20=(475FX,658FY);
+z21=(558FX,658FY);
+z22=(475FX,42FY);
+z23=(475FX,356FY);
+z24=(587FX,296FY);
+z25=(639FX,241FY);
+z26=(640FX,217FY);
+z27=(640FX,98FY);
+z28=(565FX,42FY);
+z29=(879FX,42FY);
+z30=(824FX,42FY);
+z31=(824FX,0FY);
+z32=(1117FX,0FY);
+z33=(1117FX,42FY);
+z34=(1034FX,42FY);
+z35=(1034FX,658FY);
+z36=(1117FX,658FY);
+z37=(1117FX,700FY);
+z38=(810FX,700FY);
+z39=(810FX,658FY);
+z40=(879FX,658FY);
+FuF (z1
+-- z2
+{-8,0} .. {-30,6}z3
+{-13,3} .. {-9,0}z4
+{-20,0} .. {0,-22}z5
+{0,-115} .. {10,-108}z6
+{3,-30} .. {28,0}z7
+{23,0} .. {6,22}z8
+{14,51} .. {97,0}z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+{34,0} .. {0,68}z15
+-- z16
+{0,28} .. {-65,-5}z17
+{-14,-1} .. {-14,0}z18
+{-69,0} .. {-55,48}z19
+-- z20
+-- z21
+);
+FuF (z22
+-- z23
+{36,-30} .. {35,-11}z24
+{52,-16} .. {1,-30}z25
+{0,-20} .. {0,-18}z26
+-- z27
+{0,-56} .. {-29,0}z28
+);
+FuF (z29
+-- z30
+-- z31
+-- z32
+-- z33
+-- z34
+-- z35
+-- z36
+-- z37
+-- z38
+-- z39
+-- z40
+);
+lbl (range 1 thru 40);
+endchar;
+
+beginchar(oct"123",625FX#,714FY#,111FY#);
+"S";
+z1=(577FX,499FY);
+z2=(590FX,520FY);
+z3=(342FX,714FY);
+z4=(84FX,496FY);
+z5=(296FX,322FY);
+z6=(428FX,188FY);
+z7=(350FX,28FY);
+z8=(297FX,41FY);
+z9=(144FX,78FY);
+z10=(21FX,-49FY);
+z11=(43FX,-111FY);
+z12=(96FX,-94FY);
+z13=(164FX,-89FY);
+z14=(161FX,-52FY);
+z15=(205FX,17FY);
+z16=(300FX,-10FY);
+z17=(420FX,-31FY);
+z18=(604FX,168FY);
+z19=(404FX,346FY);
+z20=(260FX,485FY);
+z21=(263FX,542FY);
+z22=(347FX,676FY);
+z23=(429FX,520FY);
+z24=(442FX,500FY);
+FuF (z1
+{13,0} .. {0,10}z2
+{0,83} .. {-162,0}z3
+{-117,0} .. {0,-157}z4
+{0,-161} .. {69,-7}z5
+{110,-12} .. {0,-64}z6
+{0,-59} .. {-72,0}z7
+{-18,0} .. {-17,6}z8
+{-77,27} .. {-33,0}z9
+{-80,0} .. {0,-70}z10
+{0,-34} .. {11,0}z11
+{10,0} .. {27,4}z12
+{28,5} .. {0,12}z13
+{0,7} .. {0,20}z14
+{0,48} .. {29,0}z15
+{24,0} .. {44,-15}z16
+{47,-17} .. {45,0}z17
+{164,0} .. {0,63}z18
+{0,58} .. {-167,25}z19
+{-66,10} .. {0,129}z20
+{0,15} .. {1,34}z21
+{1,37} .. {77,0}z22
+{29,0} .. {-5,-137}z23
+{0,-10} .. {13,0}z24
+);
+%chp[83]:=currentpicture;
+lbl (range 1 thru 24);
+endchar;
+
+beginchar(oct"124",765FX#,714FY#,0FY#);
+"T";
+z1=(305FX,42FY);
+z2=(222FX,42FY);
+z3=(222FX,0FY);
+z4=(543FX,0FY);
+z5=(543FX,42FY);
+z6=(460FX,42FY);
+z7=(460FX,658FY);
+z8=(503FX,658FY);
+z9=(626FX,545FY);
+z10=(668FX,462FY);
+z11=(696FX,508FY);
+z12=(715FX,595FY);
+z13=(745FX,676FY);
+z14=(701FX,714FY);
+z15=(567FX,699FY);
+z16=(531FX,700FY);
+z17=(234FX,700FY);
+z18=(198FX,699FY);
+z19=(64FX,714FY);
+z20=(20FX,676FY);
+z21=(50FX,595FY);
+z22=(68FX,508FY);
+z23=(97FX,462FY);
+z24=(130FX,512FY);
+z25=(262FX,658FY);
+z26=(305FX,658FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+{52,0} .. {33,-121}z9
+{15,-58} .. {25,0}z10
+{30,0} .. {0,13}z11
+{1,24} .. {10,27}z12
+{13,37} .. {0,19}z13
+{0,17} .. {-31,0}z14
+{-22,0} .. {-91,0}z15
+{-15,0} .. {-13,0}z16
+-- z17
+{-13,0} .. {-15,0}z18
+{-91,0} .. {-22,0}z19
+{-31,0} .. {0,-17}z20
+{0,-19} .. {13,-36}z21
+{11,-30} .. {1,-29}z22
+{1,-19} .. {27,0}z23
+{23,0} .. {8,30}z24
+{40,157} .. {66,0}z25
+-- z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(oct"125",670FX#,764FY#,14FY#);
+"U";
+z1=(159FX,733FY);
+z2=(27FX,501FY);
+z3=(233FX,300FY);
+z4=(145FX,151FY);
+z5=(340FX,-14FY);
+z6=(546FX,183FY);
+z7=(398FX,343FY);
+z8=(398FX,347FY);
+z9=(655FX,752FY);
+z10=(512FX,764FY);
+z11=(487FX,733FY);
+z12=(540FX,609FY);
+z13=(359FX,378FY);
+z14=(257FX,454FY);
+z15=(130FX,601FY);
+z16=(195FX,704FY);
+z17=(276FX,282FY);
+z18=(435FX,133FY);
+z19=(330FX,36FY);
+z20=(203FX,155FY);
+z21=(276FX,282FY);
+FuF (z1
+{-123,-132} .. {0,-48}z2
+{0,-122} .. {87,-20}z3
+{-57,-35} .. {0,-57}z4
+{0,-99} .. {127,0}z5
+{154,0} .. {0,83}z6
+{0,57} .. {-95,45}z7
+-- z8
+{206,97} .. {12,90}z9
+{-48,-6} .. {-48,14}z10
+-- z11
+{49,-59} .. {0,-29}z12
+{0,-133} .. {-51,-25}z13
+{-34,28} .. {-45,31}z14
+{-43,29} .. {0,63}z15
+{0,34} .. {39,28}z16
+);
+FuF (z17
+{127,-45} .. {0,-41}z18
+{0,-43} .. {-72,0}z19
+{-86,0} .. {0,60}z20
+{0,49} .. {46,28}z21
+);
+%chp[85]:=currentpicture;
+lbl (range 1 thru 21);
+endchar;
+
+beginchar(oct"126",746FX#,715FY#,0FY#);
+"V";
+z1=(251FX,658FY);
+z2=(321FX,658FY);
+z3=(321FX,700FY);
+z4=(7FX,700FY);
+z5=(7FX,658FY);
+z6=(90FX,658FY);
+z7=(258FX,0FY);
+z8=(467FX,0FY);
+z9=(467FX,42FY);
+z10=(420FX,42FY);
+z11=(449FX,140FY);
+z12=(471FX,214FY);
+z13=(531FX,422FY);
+z14=(640FX,571FY);
+z15=(699FX,550FY);
+z16=(715FX,550FY);
+z17=(716FX,603FY);
+z18=(736FX,687FY);
+z19=(708FX,703FY);
+z20=(649FX,715FY);
+z21=(442FX,309FY);
+z22=(385FX,115FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+{13,45} .. {10,34}z11
+{8,28} .. {11,38}z12
+{29,96} .. {14,55}z13
+{24,96} .. {65,0}z14
+{23,0} .. {25,-13}z15
+-- z16
+{-2,21} .. {2,20}z17
+{7,76} .. {0,9}z18
+{0,10} .. {-7,2}z19
+{-21,6} .. {-23,0}z20
+{-119,0} .. {-62,-243}z21
+{-16,-65} .. {-36,-111}z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(oct"127",986FX#,700FY#,28FY#);
+"W";
+z1=(517FX,205FY);
+z2=(698FX,-28FY);
+z3=(939FX,410FY);
+z4=(960FX,642FY);
+z5=(920FX,699FY);
+z6=(800FX,699FY);
+z7=(768FX,674FY);
+z8=(791FX,594FY);
+z9=(847FX,367FY);
+z10=(758FX,128FY);
+z11=(579FX,596FY);
+z12=(579FX,631FY);
+z13=(581FX,675FY);
+z14=(548FX,700FY);
+z15=(512FX,699FY);
+z16=(502FX,699FY);
+z17=(481FX,699FY);
+z18=(448FX,699FY);
+z19=(420FX,681FY);
+z20=(417FX,626FY);
+z21=(417FX,579FY);
+z22=(488FX,263FY);
+z23=(438FX,185FY);
+z24=(379FX,116FY);
+z25=(200FX,600FY);
+z26=(205FX,682FY);
+z27=(184FX,700FY);
+z28=(137FX,699FY);
+z29=(110FX,699FY);
+z30=(76FX,699FY);
+z31=(55FX,699FY);
+z32=(38FX,544FY);
+z33=(325FX,-28FY);
+z34=(517FX,205FY);
+FuF (z1
+{47,-92} .. {76,-68}z2
+{125,137} .. {36,186}z3
+{20,102} .. {5,53}z4
+{5,53} .. {-34,0}z5
+-- z6
+{-19,0} .. {0,-23}z7
+{0,-18} .. {17,-41}z8
+{51,-124} .. {0,-52}z9
+{0,-94} .. {-54,-79}z10
+{-110,84} .. {-4,210}z11
+{0,12} .. {0,11}z12
+{1,12} .. {0,16}z13
+{0,27} .. {-21,-1}z14
+{-13,-1} .. {-12,0}z15
+{-3,0} .. {-3,0}z16
+{-7,0} .. {-7,0}z17
+{-11,0} .. {-13,1}z18
+{-29,3} .. {0,-17}z19
+{-1,-24} .. {-1,-32}z20
+{-1,-15} .. {0,-16}z21
+{3,-122} .. {49,-97}z22
+{-16,-33} .. {-20,-27}z23
+{-19,-26} .. {-27,-26}z24
+{-170,156} .. {0,93}z25
+{0,50} .. {0,18}z26
+{0,20} .. {-15,-1}z27
+{-18,-1} .. {-15,0}z28
+{-9,0} .. {-9,0}z29
+{-11,0} .. {-12,2}z30
+{-8,1} .. {-5,-3}z31
+{-14,-9} .. {0,-17}z32
+{0,-115} .. {250,-179}z33
+{70,50} .. {75,115}z34
+);
+lbl (range 1 thru 34);
+endchar;
+
+beginchar(oct"130",740FX#,714FY#,0FY#);
+"X";
+z1=(264FX,658FY);
+z2=(338FX,658FY);
+z3=(338FX,700FY);
+z4=(26FX,700FY);
+z5=(26FX,658FY);
+z6=(92FX,658FY);
+z7=(267FX,359FY);
+z8=(207FX,235FY);
+z9=(193FX,205FY);
+z10=(24FX,42FY);
+z11=(24FX,0FY);
+z12=(267FX,0FY);
+z13=(267FX,42FY);
+z14=(196FX,65FY);
+z15=(241FX,195FY);
+z16=(299FX,306FY);
+z17=(454FX,42FY);
+z18=(359FX,42FY);
+z19=(359FX,0FY);
+z20=(716FX,0FY);
+z21=(716FX,42FY);
+z22=(631FX,42FY);
+z23=(403FX,434FY);
+z24=(421FX,471FY);
+z25=(434FX,497FY);
+z26=(532FX,584FY);
+z27=(613FX,550FY);
+z28=(642FX,550FY);
+z29=(645FX,575FY);
+z30=(645FX,583FY);
+z31=(657FX,627FY);
+z32=(665FX,643FY);
+z33=(674FX,662FY);
+z34=(682FX,683FY);
+z35=(584FX,714FY);
+z36=(410FX,580FY);
+z37=(393FX,542FY);
+z38=(369FX,488FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+{-4,-7} .. {-7,-16}z9
+{-48,-104} .. {-92,8}z10
+-- z11
+-- z12
+-- z13
+{-34,-3} .. {0,26}z14
+{0,25} .. {18,34}z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+{6,15} .. {8,15}z24
+{4,8} .. {7,15}z25
+{27,52} .. {56,0}z26
+{27,0} .. {40,-29}z27
+-- z28
+{4,11} .. {-1,9}z29
+{0,3} .. {0,2}z30
+{0,20} .. {4,10}z31
+{3,6} .. {4,8}z32
+{5,10} .. {3,7}z33
+{6,10} .. {0,5}z34
+{0,16} .. {-30,0}z35
+{-106,0} .. {-39,-85}z36
+{-8,-20} .. {-7,-14}z37
+{-11,-23} .. {-8,-21}z38
+);
+lbl (range 1 thru 38);
+endchar;
+
+beginchar(oct"131",848FX#,700FY#,0FY#);
+"Y";
+z1=(501FX,42FY);
+z2=(501FX,362FY);
+z3=(765FX,658FY);
+z4=(826FX,658FY);
+z5=(826FX,700FY);
+z6=(542FX,700FY);
+z7=(542FX,658FY);
+z8=(588FX,658FY);
+z9=(590FX,624FY);
+z10=(423FX,399FY);
+z11=(259FX,658FY);
+z12=(306FX,658FY);
+z13=(306FX,700FY);
+z14=(22FX,700FY);
+z15=(22FX,658FY);
+z16=(83FX,658FY);
+z17=(346FX,362FY);
+z18=(346FX,42FY);
+z19=(290FX,42FY);
+z20=(290FX,0FY);
+z21=(556FX,0FY);
+z22=(556FX,42FY);
+FuF (z1
+-- z2
+{172,40} .. {16,145}z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+{1,-9} .. {0,-12}z9
+{0,-129} .. {-93,0}z10
+{-60,0} .. {6,212}z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+{18,-172} .. {145,-35}z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+);
+%chp[89]:=currentpicture;
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(oct"132",604FX#,706FY#,256FY#);
+"Z";
+z1=(21FX,34FY);
+z2=(21FX,0FY);
+z3=(172FX,0FY);
+z4=(428FX,-128FY);
+z5=(346FX,-221FY);
+z6=(337FX,-221FY);
+z7=(327FX,-247FY);
+z8=(404FX,-256FY);
+z9=(590FX,-110FY);
+z10=(333FX,40FY);
+z11=(218FX,42FY);
+z12=(179FX,42FY);
+z13=(551FX,672FY);
+z14=(553FX,700FY);
+z15=(133FX,700FY);
+z16=(57FX,706FY);
+z17=(17FX,678FY);
+z18=(31FX,632FY);
+z19=(61FX,514FY);
+z20=(89FX,472FY);
+z21=(137FX,563FY);
+z22=(300FX,656FY);
+z23=(335FX,657FY);
+z24=(380FX,658FY);
+FuF (z1
+-- z2
+-- z3
+{134,0} .. {0,-130}z4
+{0,-35} .. {-67,1}z5
+{-5,0} .. {-3,0}z6
+-- z7
+{23,-5} .. {27,0}z8
+{134,0} .. {0,67}z9
+{0,146} .. {-83,1}z10
+{-72,0} .. {-36,0}z11
+-- z12
+-- z13
+-- z14
+-- z15
+{-22,0} .. {-25,0}z16
+{-12,0} .. {0,-27}z17
+{0,-15} .. {7,-15}z18
+{18,-41} .. {3,-30}z19
+{2,-17} .. {22,0}z20
+{29,0} .. {11,41}z21
+{16,60} .. {136,2}z22
+{17,0} .. {14,1}z23
+{12,0} .. {25,1}z24
+);
+%chp[90]:=currentpicture;
+lbl (range 1 thru 24);
+endchar;
+
+beginchar(oct"133",556FX#,783FY#,199FY#);
+"bracketleft";
+z1=(138FX,783FY);
+z2=(138FX,-199FY);
+z3=(445FX,-199FY);
+z4=(445FX,-157FY);
+z5=(293FX,-157FY);
+z6=(293FX,741FY);
+z7=(445FX,741FY);
+z8=(445FX,783FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+);
+lbl (range 1 thru 8);
+endchar;
+
+
+beginchar(oct"135",547FX#,783FY#,199FY#);
+"bracketright";
+z1=(400FX,783FY);
+z2=(93FX,783FY);
+z3=(93FX,741FY);
+z4=(245FX,741FY);
+z5=(245FX,-157FY);
+z6=(93FX,-157FY);
+z7=(93FX,-199FY);
+z8=(400FX,-199FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+);
+lbl (range 1 thru 8);
+endchar;
+
+beginchar(oct"147",713FX#,670FY#,19FY#);
+"asciicircum";
+z1=(308FX,629FY);
+z2=(304FX,549FY);
+z3=(304FX,499FY);
+z4=(335FX,460FY);
+z5=(358FX,460FY);
+z6=(368FX,460FY);
+z7=(415FX,489FY);
+z8=(413FX,629FY);
+z9=(469FX,629FY);
+z10=(606FX,546FY);
+z11=(625FX,518FY);
+z12=(646FX,548FY);
+z13=(689FX,641FY);
+z14=(689FX,658FY);
+z15=(665FX,670FY);
+z16=(569FX,665FY);
+z17=(502FX,663FY);
+z18=(220FX,663FY);
+z19=(154FX,665FY);
+z20=(57FX,670FY);
+z21=(32FX,658FY);
+z22=(45FX,621FY);
+z23=(76FX,548FY);
+z24=(97FX,518FY);
+z25=(116FX,546FY);
+z26=(308FX,629FY);
+z27=(354FX,137FY);
+z28=(500FX,-19FY);
+z29=(684FX,381FY);
+z30=(687FX,427FY);
+z31=(671FX,465FY);
+z32=(657FX,465FY);
+z33=(635FX,465FY);
+z34=(613FX,465FY);
+z35=(603FX,465FY);
+z36=(594FX,465FY);
+z37=(549FX,448FY);
+z38=(566FX,395FY);
+z39=(608FX,243FY);
+z40=(545FX,85FY);
+z41=(431FX,322FY);
+z42=(418FX,337FY);
+z43=(410FX,337FY);
+z44=(361FX,335FY);
+z45=(333FX,336FY);
+z46=(308FX,313FY);
+z47=(333FX,175FY);
+z48=(268FX,77FY);
+z49=(143FX,399FY);
+z50=(147FX,454FY);
+z51=(132FX,466FY);
+z52=(96FX,465FY);
+z53=(91FX,465FY);
+z54=(76FX,465FY);
+z55=(50FX,465FY);
+z56=(36FX,465FY);
+z57=(24FX,362FY);
+z58=(223FX,-19FY);
+z59=(354FX,137FY);
+FuF (z1
+{-2,-23} .. {-1,-25}z2
+{0,-17} .. {1,-17}z3
+{1,-37} .. {16,0}z4
+{8,0} .. {8,0}z5
+{3,0} .. {3,0}z6
+{54,-1} .. {-2,16}z7
+{-5,37} .. {5,41}z8
+-- z9
+{58,0} .. {11,-93}z10
+{1,-8} .. {18,0}z11
+{20,0} .. {1,11}z12
+{6,55} .. {13,37}z13
+{2,5} .. {-2,5}z14
+{-5,12} .. {-7,0}z15
+{-11,0} .. {-23,-2}z16
+{-22,-1} .. {-22,0}z17
+-- z18
+{-22,0} .. {-21,1}z19
+{-25,2} .. {-11,0}z20
+{-5,0} .. {0,-13}z21
+{0,-13} .. {7,-10}z22
+{12,-18} .. {3,-25}z23
+{1,-11} .. {20,0}z24
+{18,0} .. {1,8}z25
+{10,95} .. {115,-1}z26
+);
+FuF (z27
+{26,-53} .. {60,-39}z28
+{167,155} .. {2,98}z29
+{1,27} .. {0,17}z30
+{0,31} .. {-8,1}z31
+{-5,1} .. {-5,0}z32
+{-7,0} .. {-7,0}z33
+{-8,0} .. {-12,0}z34
+{-3,0} .. {-3,0}z35
+{-3,0} .. {-3,0}z36
+{-27,0} .. {0,-20}z37
+{0,-9} .. {13,-30}z38
+{17,-38} .. {0,-56}z39
+{0,-39} .. {-46,-50}z40
+{-77,65} .. {-8,60}z41
+{-1,4} .. {-12,2}z42
+{-3,0} .. {-3,0}z43
+{-16,-1} .. {-16,0}z44
+{-11,0} .. {-10,0}z45
+{-24,0} .. {0,-11}z46
+{0,-49} .. {20,-49}z47
+{-13,-34} .. {-36,-45}z48
+{-111,98} .. {0,76}z49
+{0,24} .. {0,15}z50
+{0,12} .. {-11,-1}z51
+{-14,-1} .. {-12,0}z52
+{-2,0} .. {-1,0}z53
+{-5,0} .. {-5,0}z54
+{-8,0} .. {-9,1}z55
+{-5,1} .. {-3,-2}z56
+{-12,-7} .. {0,-14}z57
+{0,-108} .. {153,-102}z58
+{59,48} .. {35,66}z59
+);
+lbl (range 1 thru 59);
+endchar;
+
+
+beginchar(oct"22",209FX#,847FY#,0FY#);
+"grave";
+z1=(159FX,580FY);
+z2=(205FX,564FY);
+z3=(100FX,799FY);
+z4=(58FX,844FY);
+z5=(38FX,847FY);
+z6=(8FX,823FY);
+z7=(5FX,812FY);
+z8=(4FX,804FY);
+z9=(22FX,759FY);
+FuF (z1
+-- z2
+-- z3
+{-14,25} .. {-14,5}z4
+{-8,2} .. {-5,0}z5
+{-14,0} .. {-6,-16}z6
+{-2,-4} .. {0,-3}z7
+{-1,-3} .. {0,-2}z8
+{0,-14} .. {12,-16}z9
+);
+%chp[193]:=currentpicture;
+lbl (range 1 thru 9);
+endchar;
+
+beginchar(oct"141",506FX#,465FY#,11FY#);
+"a";
+z1=(230FX,465FY);
+z2=(210FX,459FY);
+z3=(213FX,439FY);
+z4=(220FX,405FY);
+z5=(160FX,330FY);
+z6=(35FX,119FY);
+z7=(142FX,-11FY);
+z8=(300FX,151FY);
+z9=(313FX,106FY);
+z10=(325FX,68FY);
+z11=(338FX,16FY);
+z12=(349FX,0FY);
+z13=(451FX,0FY);
+z14=(471FX,9FY);
+z15=(374FX,325FY);
+z16=(366FX,355FY);
+z17=(351FX,412FY);
+z18=(344FX,459FY);
+z19=(332FX,465FY);
+z20=(238FX,366FY);
+z21=(253FX,313FY);
+z22=(266FX,269FY);
+z23=(282FX,196FY);
+z24=(197FX,115FY);
+z25=(138FX,183FY);
+z26=(238FX,366FY);
+FuF (z1
+{-7,0} .. {0,-8}z2
+{0,-5} .. {3,-10}z3
+{4,-12} .. {0,-10}z4
+{0,-17} .. {-36,-42}z5
+{-37,-42} .. {0,-76}z6
+{0,-48} .. {85,0}z7
+{88,0} .. {25,82}z8
+{7,-21} .. {4,-17}z9
+{6,-20} .. {5,-14}z10
+{9,-31} .. {2,-13}z11
+{2,-9} .. {8,0}z12
+-- z13
+{10,0} .. {0,8}z14
+{0,24} .. {-69,280}z15
+{-3,12} .. {-3,10}z16
+{-7,30} .. {-4,15}z17
+{-7,28} .. {-1,9}z18
+{-2,6} .. {-7,0}z19
+);
+FuF (z20
+{8,-23} .. {4,-19}z21
+{4,-17} .. {7,-22}z22
+{11,-38} .. {0,-16}z23
+{0,-30} .. {-57,0}z24
+{-44,0} .. {0,28}z25
+{0,19} .. {90,98}z26
+);
+%chp[97]:=currentpicture;
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(oct"143",415FX#,500FY#,34FY#);
+"c";
+z1=(342FX,164FY);
+z2=(328FX,143FY);
+z3=(285FX,88FY);
+z4=(138FX,323FY);
+z5=(155FX,410FY);
+z6=(273FX,335FY);
+z7=(294FX,313FY);
+z8=(338FX,368FY);
+z9=(366FX,407FY);
+z10=(205FX,500FY);
+z11=(43FX,241FY);
+z12=(215FX,-34FY);
+z13=(375FX,138FY);
+FuF (z1
+{-7,-9} .. {-5,-8}z2
+{-7,-11} .. {-23,-23}z3
+{-76,29} .. {0,94}z4
+{0,11} .. {16,33}z5
+{70,-15} .. {19,-25}z6
+{11,-15} .. {4,0}z7
+{8,0} .. {40,41}z8
+{19,20} .. {0,8}z9
+{0,36} .. {-18,0}z10
+{-51,0} .. {0,-121}z11
+{0,-113} .. {63,0}z12
+{40,0} .. {46,97}z13
+);
+%chp[99]:=currentpicture;
+lbl (range 1 thru 13);
+endchar;
+
+beginchar(oct"144",676FX#,481FY#,188FY#);
+"d";
+z1=(418FX,34FY);
+z2=(516FX,259FY);
+z3=(325FX,481FY);
+z4=(142FX,216FY);
+z5=(221FX,34FY);
+z6=(123FX,34FY);
+z7=(85FX,36FY);
+z8=(46FX,37FY);
+z9=(-2FX,16FY);
+z10=(24FX,-42FY);
+z11=(105FX,-187FY);
+z12=(157FX,-180FY);
+z13=(130FX,-77FY);
+z14=(196FX,0FY);
+z15=(259FX,0FY);
+z16=(329FX,-21FY);
+z17=(385FX,0FY);
+z18=(464FX,0FY);
+z19=(538FX,-78FY);
+z20=(510FX,-181FY);
+z21=(562FX,-188FY);
+z22=(640FX,-47FY);
+z23=(669FX,14FY);
+z24=(621FX,37FY);
+z25=(504FX,34FY);
+z26=(250FX,377FY);
+z27=(424FX,163FY);
+z28=(413FX,93FY);
+z29=(225FX,303FY);
+z30=(250FX,377FY);
+FuF (z1
+{83,92} .. {0,31}z2
+{0,155} .. {-34,0}z3
+{-60,0} .. {0,-132}z4
+{0,-40} .. {65,-63}z5
+-- z6
+{-13,0} .. {-12,1}z7
+{-13,0} .. {-13,0}z8
+{-20,0} .. {0,-20}z9
+{0,-18} .. {10,-15}z10
+{22,-29} .. {30,-72}z11
+-- z12
+{-13,32} .. {0,24}z13
+{0,59} .. {23,0}z14
+-- z15
+{21,-20} .. {21,0}z16
+{18,0} .. {11,12}z17
+-- z18
+{67,0} .. {0,-22}z19
+{0,-28} .. {-10,-24}z20
+-- z21
+{36,81} .. {30,42}z22
+{15,20} .. {0,19}z23
+{0,22} .. {-24,0}z24
+{-46,0} .. {-67,0}z25
+);
+FuF (z26
+{109,-11} .. {0,-98}z27
+{0,-32} .. {-4,-13}z28
+{-113,-9} .. {0,100}z29
+{0,38} .. {11,14}z30
+);
+lbl (range 1 thru 30);
+endchar;
+
+beginchar(oct"145",490FX#,479FY#,46FY#);
+"e";
+z1=(448FX,420FY);
+z2=(426FX,412FY);
+z3=(389FX,429FY);
+z4=(239FX,479FY);
+z5=(25FX,237FY);
+z6=(25FX,203FY);
+z7=(273FX,-34FY);
+z8=(453FX,43FY);
+z9=(434FX,64FY);
+z10=(305FX,12FY);
+z11=(166FX,192FY);
+z12=(233FX,221FY);
+z13=(307FX,190FY);
+z14=(354FX,173FY);
+z15=(406FX,195FY);
+z16=(461FX,246FY);
+z17=(441FX,273FY);
+z18=(403FX,257FY);
+z19=(334FX,289FY);
+z20=(298FX,295FY);
+z21=(165FX,238FY);
+z22=(242FX,443FY);
+z23=(294FX,406FY);
+z24=(381FX,354FY);
+z25=(474FX,389FY);
+FuF (z1
+{-7,-6} .. {-6,0}z2
+{-11,0} .. {-14,10}z3
+{-24,15} .. {-69,0}z4
+{-151,0} .. {-5,-87}z5
+{-1,-11} .. {0,-11}z6
+{9,-198} .. {85,0}z7
+{81,0} .. {38,41}z8
+-- z9
+{-53,-38} .. {-34,0}z10
+{-91,0} .. {3,95}z11
+{8,7} .. {33,0}z12
+{26,0} .. {31,-21}z13
+{15,-10} .. {21,0}z14
+{24,0} .. {16,12}z15
+{20,15} .. {26,30}z16
+-- z17
+{-10,-9} .. {-12,0}z18
+{-18,0} .. {-41,15}z19
+{-11,4} .. {-12,0}z20
+{-38,0} .. {-27,-21}z21
+{2,74} .. {71,0}z22
+{22,0} .. {14,-16}z23
+{40,-46} .. {19,0}z24
+{26,0} .. {29,19}z25
+);
+%chp[101]:=currentpicture;
+lbl (range 1 thru 25);
+endchar;
+
+beginchar(oct"146",784FX#,481FY#,14FY#);
+"f";
+z1=(583FX,237FY);
+z2=(394FX,481FY);
+z3=(212FX,237FY);
+z4=(98FX,237FY);
+z5=(49FX,242FY);
+z6=(1FX,221FY);
+z7=(27FX,163FY);
+z8=(108FX,17FY);
+z9=(160FX,24FY);
+z10=(143FX,75FY);
+z11=(133FX,127FY);
+z12=(213FX,203FY);
+z13=(400FX,-14FY);
+z14=(577FX,203FY);
+z15=(651FX,125FY);
+z16=(624FX,22FY);
+z17=(676FX,15FY);
+z18=(757FX,161FY);
+z19=(783FX,219FY);
+z20=(734FX,242FY);
+z21=(693FX,237FY);
+z22=(301FX,237FY);
+z23=(293FX,303FY);
+z24=(319FX,377FY);
+z25=(482FX,237FY);
+z26=(489FX,206FY);
+z27=(482FX,93FY);
+z28=(314FX,206FY);
+FuF (z1
+{17,190} .. {-40,0}z2
+{-44,0} .. {-22,-161}z3
+-- z4
+{-20,0} .. {-29,0}z5
+{-20,0} .. {0,-20}z6
+{0,-18} .. {10,-15}z7
+{26,-35} .. {37,-84}z8
+-- z9
+{-9,23} .. {-5,16}z10
+{-5,18} .. {0,21}z11
+{0,58} .. {39,-3}z12
+{-2,-99} .. {72,0}z13
+{49,0} .. {27,111}z14
+{37,3} .. {0,-60}z15
+{0,-13} .. {-27,-64}z16
+-- z17
+{31,76} .. {17,22}z18
+{12,16} .. {0,19}z19
+{0,20} .. {-25,0}z20
+{-16,0} .. {-15,0}z21
+);
+FuF (z22
+{-5,21} .. {0,19}z23
+{0,16} .. {20,26}z24
+{79,-8} .. {22,-68}z25
+);
+FuF (z26
+{5,-24} .. {-15,-52}z27
+{-70,-6} .. {-30,72}z28
+);
+lbl (range 1 thru 28);
+endchar;
+
+beginchar(oct"150",678FX#,742FY#,2FY#);
+"h";
+z1=(380FX,430FY);
+z2=(425FX,430FY);
+z3=(513FX,344FY);
+z4=(506FX,293FY);
+z5=(549FX,289FY);
+z6=(595FX,403FY);
+z7=(612FX,446FY);
+z8=(592FX,467FY);
+z9=(534FX,464FY);
+z10=(384FX,464FY);
+z11=(412FX,727FY);
+z12=(388FX,742FY);
+z13=(312FX,742FY);
+z14=(266FX,464FY);
+z15=(229FX,464FY);
+z16=(97FX,469FY);
+z17=(38FX,478FY);
+z18=(9FX,441FY);
+z19=(33FX,385FY);
+z20=(84FX,277FY);
+z21=(136FX,286FY);
+z22=(124FX,343FY);
+z23=(241FX,430FY);
+z24=(264FX,430FY);
+z25=(258FX,325FY);
+z26=(251FX,74FY);
+z27=(286FX,0FY);
+z28=(540FX,0FY);
+z29=(563FX,-1FY);
+z30=(580FX,-2FY);
+z31=(597FX,-2FY);
+z32=(654FX,39FY);
+z33=(575FX,197FY);
+z34=(374FX,257FY);
+z35=(380FX,430FY);
+z36=(375FX,34FY);
+z37=(372FX,159FY);
+z38=(374FX,212FY);
+z39=(507FX,67FY);
+z40=(506FX,35FY);
+z41=(489FX,34FY);
+FuF (z1
+-- z2
+{81,0} .. {0,-43}z3
+{0,-23} .. {-2,-7}z4
+-- z5
+{21,70} .. {6,11}z6
+{13,22} .. {0,10}z7
+{0,12} .. {-12,0}z8
+{-19,0} .. {-28,0}z9
+-- z10
+{10,241} .. {0,106}z11
+{0,16} .. {-10,0}z12
+-- z13
+{-35,0} .. {-13,-262}z14
+-- z15
+{-24,0} .. {-40,5}z16
+{-26,4} .. {-15,0}z17
+{-14,0} .. {0,-16}z18
+{0,-19} .. {9,-14}z19
+{14,-21} .. {13,-49}z20
+-- z21
+{-6,18} .. {0,16}z22
+{0,84} .. {39,0}z23
+-- z24
+{-3,-58} .. {-2,-36}z25
+{-7,-91} .. {0,-51}z26
+{0,-69} .. {26,0}z27
+-- z28
+{8,0} .. {8,0}z29
+{6,0} .. {5,-1}z30
+{6,0} .. {6,0}z31
+{22,-1} .. {0,45}z32
+{0,36} .. {-68,54}z33
+{-52,41} .. {-82,6}z34
+{0,36} .. {5,136}z35
+);
+FuF (z36
+{-3,46} .. {0,52}z37
+{0,26} .. {2,16}z38
+{122,-15} .. {0,-37}z39
+{0,-13} .. {-1,-10}z40
+-- z41
+);
+lbl (range 1 thru 41);
+endchar;
+
+beginchar(oct"151",303FX#,651FY#,0FY#);
+"i";
+z1=(86FX,267FY);
+z2=(124FX,0FY);
+z3=(171FX,0FY);
+z4=(222FX,29FY);
+z5=(207FX,271FY);
+z6=(217FX,405FY);
+z7=(223FX,451FY);
+z8=(211FX,467FY);
+z9=(200FX,467FY);
+z10=(158FX,465FY);
+z11=(124FX,466FY);
+z12=(86FX,267FY);
+z13=(127FX,650FY);
+z14=(115FX,649FY);
+z15=(110FX,641FY);
+z16=(108FX,629FY);
+z17=(107FX,616FY);
+z18=(108FX,597FY);
+z19=(108FX,576FY);
+z20=(113FX,533FY);
+z21=(127FX,527FY);
+z22=(155FX,528FY);
+z23=(168FX,528FY);
+z24=(181FX,526FY);
+z25=(191FX,526FY);
+z26=(198FX,531FY);
+z27=(201FX,542FY);
+z28=(200FX,562FY);
+z29=(199FX,588FY);
+z30=(200FX,612FY);
+z31=(201FX,636FY);
+z32=(199FX,647FY);
+z33=(191FX,651FY);
+z34=(180FX,650FY);
+z35=(155FX,650FY);
+FuF (z1
+{0,-255} .. {36,0}z2
+-- z3
+{54,0} .. {-3,20}z4
+{-15,110} .. {0,61}z5
+{0,71} .. {7,47}z6
+{4,24} .. {0,10}z7
+{0,5} .. {-13,3}z8
+{-4,1} .. {-4,0}z9
+{-14,-1} .. {-14,0}z10
+{-11,0} .. {-12,0}z11
+{-28,0} .. {0,-187}z12
+);
+FuF (z13
+{-6,0} .. {-2,-1}z14
+{-2,-1} .. {-2,-4}z15
+{-2,-4} .. {0,-4}z16
+{-1,-4} .. {0,-5}z17
+{1,-4} .. {0,-9}z18
+{0,-9} .. {0,-5}z19
+{0,-23} .. {3,-6}z20
+{2,-4} .. {7,0}z21
+-- z22
+{6,0} .. {3,0}z23
+{3,0} .. {6,-1}z24
+{3,0} .. {4,0}z25
+{3,1} .. {1,2}z26
+{2,3} .. {0,5}z27
+{0,6} .. {-1,8}z28
+{-1,9} .. {0,9}z29
+{1,6} .. {0,10}z30
+{1,11} .. {0,5}z31
+{0,5} .. {-1,2}z32
+{-2,3} .. {-4,0}z33
+{-3,-1} .. {-4,0}z34
+{-4,0} .. {-13,0}z35
+);
+lbl (range 1 thru 35);
+endchar;
+
+beginchar(oct"154",354FX#,651FY#,0FY#);
+"i";
+z1=(95FX,267FY);
+z2=(133FX,0FY);
+z3=(180FX,0FY);
+z4=(231FX,29FY);
+z5=(216FX,271FY);
+z6=(226FX,405FY);
+z7=(232FX,451FY);
+z8=(220FX,467FY);
+z9=(209FX,467FY);
+z10=(167FX,465FY);
+z11=(133FX,466FY);
+z12=(95FX,267FY);
+z13=(70FX,650FY);
+z14=(58FX,649FY);
+z15=(53FX,641FY);
+z16=(51FX,629FY);
+z17=(50FX,616FY);
+z18=(51FX,597FY);
+z19=(51FX,576FY);
+z20=(56FX,533FY);
+z21=(70FX,527FY);
+z22=(98FX,528FY);
+z23=(111FX,528FY);
+z24=(124FX,526FY);
+z25=(134FX,526FY);
+z26=(141FX,531FY);
+z27=(144FX,542FY);
+z28=(143FX,562FY);
+z29=(142FX,588FY);
+z30=(143FX,612FY);
+z31=(144FX,636FY);
+z32=(142FX,647FY);
+z33=(134FX,651FY);
+z34=(123FX,650FY);
+z35=(98FX,650FY);
+z36=(229FX,650FY);
+z37=(217FX,649FY);
+z38=(212FX,641FY);
+z39=(210FX,629FY);
+z40=(209FX,614FY);
+z41=(210FX,597FY);
+z42=(210FX,576FY);
+z43=(215FX,533FY);
+z44=(229FX,527FY);
+z45=(240FX,528FY);
+z46=(249FX,528FY);
+z47=(262FX,528FY);
+z48=(284FX,526FY);
+z49=(293FX,526FY);
+z50=(301FX,531FY);
+z51=(304FX,542FY);
+z52=(303FX,558FY);
+z53=(302FX,588FY);
+z54=(304FX,636FY);
+z55=(293FX,651FY);
+z56=(273FX,650FY);
+z57=(249FX,650FY);
+FuF (z1
+{0,-255} .. {36,0}z2
+-- z3
+{54,0} .. {-3,20}z4
+{-15,110} .. {0,61}z5
+{0,71} .. {7,47}z6
+{4,24} .. {0,10}z7
+{0,5} .. {-13,3}z8
+{-4,1} .. {-4,0}z9
+{-14,-1} .. {-14,0}z10
+{-11,0} .. {-12,0}z11
+{-28,0} .. {0,-187}z12
+);
+FuF (z13
+{-6,0} .. {-2,-1}z14
+{-2,-1} .. {-2,-4}z15
+{-2,-4} .. {0,-4}z16
+{-1,-4} .. {0,-5}z17
+{1,-4} .. {0,-9}z18
+{0,-9} .. {0,-5}z19
+{0,-23} .. {3,-6}z20
+{2,-4} .. {7,0}z21
+-- z22
+{6,0} .. {3,0}z23
+{3,0} .. {6,-1}z24
+{3,0} .. {4,0}z25
+{3,1} .. {1,2}z26
+{2,3} .. {0,5}z27
+{0,6} .. {-1,8}z28
+{-1,9} .. {0,9}z29
+{1,6} .. {0,10}z30
+{1,11} .. {0,5}z31
+{0,5} .. {-1,2}z32
+{-2,3} .. {-4,0}z33
+{-3,-1} .. {-4,0}z34
+{-4,0} .. {-13,0}z35
+);
+FuF (z36
+{-6,0} .. {-2,-1}z37
+{-2,-1} .. {-1,-4}z38
+{-1,-4} .. {0,-4}z39
+{-1,-4} .. {0,-6}z40
+{1,-4} .. {0,-8}z41
+{0,-9} .. {0,-5}z42
+{0,-23} .. {3,-6}z43
+{2,-4} .. {7,0}z44
+{5,1} .. {3,0}z45
+{3,0} .. {3,0}z46
+{5,0} .. {4,0}z47
+{5,-1} .. {10,-1}z48
+{2,0} .. {4,0}z49
+{3,1} .. {2,2}z50
+{2,3} .. {0,4}z51
+{-1,2} .. {0,9}z52
+{-1,9} .. {0,11}z53
+-- z54
+{-1,10} .. {-7,0}z55
+{-7,-1} .. {-7,0}z56
+{-8,0} .. {-9,0}z57
+);
+lbl (range 1 thru 57);
+endchar;
+
+
+beginchar(oct"152",684FX#,742FY#,256FY#);
+"j";
+z1=(361FX,-1FY);
+z2=(432FX,-1FY);
+z3=(443FX,-1FY);
+z4=(453FX,69FY);
+z5=(474FX,217FY);
+z6=(561FX,351FY);
+z7=(600FX,325FY);
+z8=(623FX,326FY);
+z9=(625FX,366FY);
+z10=(630FX,411FY);
+z11=(649FX,456FY);
+z12=(601FX,476FY);
+z13=(417FX,105FY);
+z14=(409FX,33FY);
+z15=(362FX,33FY);
+z16=(374FX,539FY);
+z17=(379FX,665FY);
+z18=(384FX,736FY);
+z19=(372FX,742FY);
+z20=(361FX,742FY);
+z21=(315FX,741FY);
+z22=(286FX,742FY);
+z23=(259FX,708FY);
+z24=(266FX,616FY);
+z25=(271FX,539FY);
+z26=(279FX,33FY);
+z27=(240FX,33FY);
+z28=(236FX,69FY);
+z29=(223FX,166FY);
+z30=(203FX,291FY);
+z31=(192FX,360FY);
+z32=(157FX,465FY);
+z33=(107FX,465FY);
+z34=(57FX,467FY);
+z35=(43FX,467FY);
+z36=(35FX,455FY);
+z37=(50FX,398FY);
+z38=(119FX,40FY);
+z39=(119FX,18FY);
+z40=(138FX,-1FY);
+z41=(279FX,-1FY);
+z42=(279FX,-256FY);
+z43=(361FX,-256FY);
+FuF (z1
+-- z2
+{5,0} .. {2,1}z3
+{5,3} .. {4,54}z4
+{4,51} .. {8,48}z5
+{7,39} .. {64,0}z6
+{22,0} .. {4,-14}z7
+-- z8
+{1,7} .. {0,16}z9
+{0,16} .. {6,17}z10
+{6,15} .. {0,14}z11
+{0,9} .. {-39,0}z12
+{-74,0} .. {-24,-309}z13
+{-3,-38} .. {-5,-24}z14
+-- z15
+-- z16
+{1,38} .. {2,40}z17
+{2,55} .. {0,6}z18
+{0,4} .. {-5,1}z19
+{-4,1} .. {-4,0}z20
+{-15,-1} .. {-15,0}z21
+{-9,0} .. {-10,0}z22
+{-14,0} .. {1,-32}z23
+{2,-59} .. {5,-92}z24
+{3,-46} .. {0,-21}z25
+-- z26
+-- z27
+{-2,10} .. {-2,20}z28
+{-3,27} .. {-9,58}z29
+{-10,72} .. {-7,37}z30
+{-6,34} .. {-4,28}z31
+{-15,98} .. {-13,0}z32
+-- z33
+{-12,0} .. {-9,1}z34
+{-5,1} .. {-4,-2}z35
+{-4,-2} .. {0,-5}z36
+{0,-8} .. {14,-40}z37
+{49,-141} .. {2,-56}z38
+{0,-7} .. {0,-8}z39
+{-1,-22} .. {17,0}z40
+-- z41
+-- z42
+-- z43
+);
+lbl (range 1 thru 43);
+endchar;
+
+beginchar(oct"153",536FX#,597FY#,236FY#);
+"k";
+z1=(108FX,582FY);
+z2=(187FX,476FY);
+z3=(52FX,308FY);
+z4=(154FX,308FY);
+z5=(239FX,450FY);
+z6=(313FX,353FY);
+z7=(209FX,236FY);
+z8=(52FX,96FY);
+z9=(169FX,96FY);
+z10=(242FX,211FY);
+z11=(337FX,80FY);
+z12=(298FX,-25FY);
+z13=(228FX,-11FY);
+z14=(129FX,13FY);
+z15=(34FX,-68FY);
+z16=(201FX,-199FY);
+z17=(253FX,-189FY);
+z18=(309FX,-182FY);
+z19=(485FX,-236FY);
+z20=(505FX,-208FY);
+z21=(356FX,-113FY);
+z22=(273FX,-139FY);
+z23=(209FX,-165FY);
+z24=(77FX,-89FY);
+z25=(142FX,-20FY);
+z26=(239FX,-49FY);
+z27=(350FX,-69FY);
+z28=(458FX,65FY);
+z29=(300FX,222FY);
+z30=(426FX,352FY);
+z31=(268FX,476FY);
+z32=(302FX,513FY);
+z33=(326FX,495FY);
+z34=(345FX,495FY);
+z35=(364FX,555FY);
+z36=(376FX,573FY);
+z37=(318FX,597FY);
+z38=(258FX,541FY);
+z39=(244FX,499FY);
+z40=(211FX,582FY);
+FuF (z1
+-- z2
+{-100,-8} .. {0,-69}z3
+-- z4
+{-4,128} .. {38,0}z5
+{67,0} .. {0,-40}z6
+{0,-107} .. {-40,-5}z7
+{-56,-7} .. {1,-120}z8
+-- z9
+{-4,36} .. {71,0}z10
+{73,0} .. {0,-82}z11
+{0,-39} .. {-37,0}z12
+{-6,0} .. {-50,16}z13
+{-27,9} .. {-42,0}z14
+{-74,0} .. {0,-29}z15
+{0,-82} .. {97,0}z16
+{18,0} .. {16,3}z17
+{18,4} .. {19,0}z18
+{53,0} .. {47,-37}z19
+-- z20
+{-49,56} .. {-58,0}z21
+{-31,0} .. {-25,-13}z22
+{-22,-11} .. {-24,0}z23
+{-56,0} .. {0,55}z24
+{0,32} .. {53,0}z25
+{32,0} .. {32,-12}z26
+{55,-20} .. {21,0}z27
+{57,0} .. {0,93}z28
+{0,69} .. {-131,31}z29
+{108,17} .. {0,51}z30
+{0,90} .. {-71,1}z31
+{4,27} .. {11,0}z32
+{6,0} .. {5,-15}z33
+-- z34
+{-3,29} .. {9,12}z35
+{7,10} .. {4,6}z36
+{-16,24} .. {-5,0}z37
+{-39,0} .. {-8,-22}z38
+{-6,-15} .. {-5,-19}z39
+-- z40
+);
+lbl (range 1 thru 40);
+endchar;
+
+
+beginchar(CYR_shcha,823FX#,467FY#,221FY#);
+"m";
+z1=(473FX,34FY);
+z2=(469FX,131FY);
+z3=(464FX,271FY);
+z4=(475FX,403FY);
+z5=(481FX,451FY);
+z6=(468FX,467FY);
+z7=(458FX,467FY);
+z8=(412FX,465FY);
+z9=(382FX,466FY);
+z10=(343FX,267FY);
+z11=(352FX,34FY);
+z12=(196FX,34FY);
+z13=(187FX,271FY);
+z14=(194FX,393FY);
+z15=(204FX,451FY);
+z16=(191FX,467FY);
+z17=(180FX,467FY);
+z18=(134FX,465FY);
+z19=(104FX,466FY);
+z20=(66FX,267FY);
+z21=(104FX,0FY);
+z22=(354FX,0FY);
+z23=(407FX,-221FY);
+z24=(454FX,-221FY);
+z25=(483FX,-193FY);
+z26=(468FX,0FY);
+z27=(704FX,0FY);
+z28=(756FX,29FY);
+z29=(740FX,271FY);
+z30=(747FX,393FY);
+z31=(757FX,451FY);
+z32=(744FX,467FY);
+z33=(733FX,467FY);
+z34=(687FX,465FY);
+z35=(657FX,466FY);
+z36=(619FX,267FY);
+z37=(629FX,34FY);
+FuF (z1
+{-2,45} .. {-2,37}z2
+{-3,49} .. {0,47}z3
+{0,61} .. {7,42}z4
+{4,26} .. {0,10}z5
+{0,7} .. {-13,2}z6
+{-4,1} .. {-3,0}z7
+{-15,-1} .. {-15,0}z8
+{-17,0} .. {-12,0}z9
+{-22,0} .. {0,-200}z10
+{0,-148} .. {4,-33}z11
+-- z12
+{-6,97} .. {0,78}z13
+{0,58} .. {3,26}z14
+{6,41} .. {0,13}z15
+{0,5} .. {-12,2}z16
+{-4,1} .. {-4,0}z17
+{-15,-2} .. {-15,0}z18
+{-10,0} .. {-11,0}z19
+{-28,0} .. {0,-187}z20
+{0,-255} .. {33,0}z21
+-- z22
+{10,-223} .. {23,0}z23
+-- z24
+{33,0} .. {-2,13}z25
+{-10,76} .. {-3,74}z26
+-- z27
+{55,0} .. {0,19}z28
+{0,42} .. {0,151}z29
+{0,51} .. {4,32}z30
+{6,41} .. {0,13}z31
+{0,5} .. {-12,2}z32
+{-4,1} .. {-4,0}z33
+{-15,-2} .. {-15,0}z34
+{-10,0} .. {-10,0}z35
+{-28,0} .. {0,-187}z36
+{0,-128} .. {1,-14}z37
+);
+lbl (range 1 thru 37);
+endchar;
+
+beginchar(oct"160",470FX#,499FY#,256FY#);
+"p";
+z1=(145FX,72FY);
+z2=(277FX,-15FY);
+z3=(417FX,187FY);
+z4=(238FX,499FY);
+z5=(50FX,211FY);
+z6=(68FX,-25FY);
+z7=(73FX,-158FY);
+z8=(72FX,-240FY);
+z9=(72FX,-246FY);
+z10=(95FX,-256FY);
+z11=(158FX,-122FY);
+z12=(149FX,38FY);
+z13=(145FX,72FY);
+z14=(173FX,405FY);
+z15=(310FX,160FY);
+z16=(310FX,123FY);
+z17=(256FX,46FY);
+z18=(131FX,250FY);
+z19=(173FX,405FY);
+FuF (z1
+{25,-46} .. {51,0}z2
+{80,0} .. {0,119}z3
+{0,170} .. {-61,0}z4
+{-48,0} .. {0,-180}z5
+{0,-70} .. {11,-123}z6
+{6,-65} .. {0,-35}z7
+{0,-46} .. {-2,-19}z8
+{0,-2} .. {1,-2}z9
+{2,-7} .. {7,0}z10
+{35,0} .. {0,108}z11
+{0,73} .. {-3,24}z12
+{-2,18} .. {-2,13}z13
+);
+FuF (z14
+{78,-38} .. {5,-72}z15
+{1,-12} .. {-1,-12}z16
+{-5,-66} .. {-17,0}z17
+{-46,0} .. {0,127}z18
+{0,65} .. {32,48}z19
+);
+lbl (range 1 thru 19);
+endchar;
+
+beginchar(oct"161",907FX#,481FY#,272FY#);
+"q";
+z1=(43FX,206FY);
+z2=(227FX,-14FY);
+z3=(408FX,259FY);
+z4=(222FX,481FY);
+z5=(43FX,206FY);
+z6=(145FX,377FY);
+z7=(326FX,169FY);
+z8=(309FX,101FY);
+z9=(114FX,303FY);
+z10=(145FX,377FY);
+z11=(874FX,326FY);
+z12=(876FX,366FY);
+z13=(882FX,411FY);
+z14=(900FX,456FY);
+z15=(853FX,476FY);
+z16=(697FX,283FY);
+z17=(658FX,33FY);
+z18=(618FX,33FY);
+z19=(616FX,50FY);
+z20=(579FX,301FY);
+z21=(562FX,391FY);
+z22=(555FX,425FY);
+z23=(518FX,465FY);
+z24=(493FX,465FY);
+z25=(449FX,466FY);
+z26=(413FX,455FY);
+z27=(424FX,411FY);
+z28=(497FX,40FY);
+z29=(497FX,18FY);
+z30=(507FX,-3FY);
+z31=(590FX,0FY);
+z32=(648FX,0FY);
+z33=(641FX,-50FY);
+z34=(622FX,-249FY);
+z35=(640FX,-272FY);
+z36=(726FX,-249FY);
+z37=(706FX,-2FY);
+z38=(813FX,351FY);
+z39=(851FX,325FY);
+FuF (z1
+{0,-101} .. {66,0}z2
+{68,0} .. {0,115}z3
+{0,156} .. {-44,0}z4
+{-47,0} .. {0,-158}z5
+);
+FuF (z6
+{112,-11} .. {0,-98}z7
+{0,-25} .. {-13,-23}z8
+{-136,-15} .. {0,68}z9
+{0,21} .. {19,22}z10
+);
+FuF (z11
+{3,14} .. {-1,17}z12
+{-1,19} .. {7,16}z13
+{9,18} .. {0,15}z14
+{0,18} .. {-22,0}z15
+{-111,0} .. {-13,-55}z16
+{-12,-52} .. {-11,-120}z17
+-- z18
+{-1,6} .. {0,8}z19
+{-2,45} .. {-10,53}z20
+{-7,36} .. {-5,25}z21
+{-5,23} .. {-2,13}z22
+{-7,48} .. {-25,-2}z23
+{-9,-1} .. {-8,1}z24
+{-19,0} .. {-14,2}z25
+{-11,1} .. {0,-17}z26
+{0,-5} .. {11,-31}z27
+{39,-105} .. {4,-97}z28
+{0,-7} .. {0,-8}z29
+{-1,-10} .. {13,0}z30
+{15,0} .. {62,0}z31
+-- z32
+{-2,-21} .. {-3,-19}z33
+{-7,-45} .. {0,-95}z34
+{0,-12} .. {20,0}z35
+{78,0} .. {0,11}z36
+{0,102} .. {0,212}z37
+{0,308} .. {40,0}z38
+{18,0} .. {5,-17}z39
+);
+lbl (range 1 thru 39);
+endchar;
+
+beginchar(oct"162",920FX#,478FY#,2FY#);
+"r";
+z1=(175FX,286FY);
+z2=(163FX,343FY);
+z3=(280FX,431FY);
+z4=(302FX,431FY);
+z5=(291FX,171FY);
+z6=(291FX,39FY);
+z7=(325FX,0FY);
+z8=(573FX,0FY);
+z9=(596FX,-1FY);
+z10=(630FX,-2FY);
+z11=(687FX,39FY);
+z12=(608FX,197FY);
+z13=(414FX,256FY);
+z14=(417FX,352FY);
+z15=(431FX,450FY);
+z16=(418FX,466FY);
+z17=(361FX,465FY);
+z18=(268FX,465FY);
+z19=(136FX,470FY);
+z20=(77FX,478FY);
+z21=(48FX,441FY);
+z22=(65FX,396FY);
+z23=(123FX,277FY);
+z24=(415FX,34FY);
+z25=(412FX,159FY);
+z26=(414FX,212FY);
+z27=(547FX,67FY);
+z28=(546FX,35FY);
+z29=(529FX,34FY);
+z30=(814FX,0FY);
+z31=(865FX,29FY);
+z32=(850FX,270FY);
+z33=(866FX,450FY);
+z34=(853FX,466FY);
+z35=(842FX,466FY);
+z36=(801FX,464FY);
+z37=(767FX,465FY);
+z38=(729FX,266FY);
+z39=(734FX,74FY);
+z40=(767FX,0FY);
+FuF (z1
+{-2,6} .. {0,27}z2
+{0,38} .. {109,0}z3
+-- z4
+{-8,-68} .. {0,-131}z5
+-- z6
+{0,-37} .. {13,0}z7
+-- z8
+{8,0} .. {8,0}z9
+{11,-1} .. {9,0}z10
+{26,-1} .. {0,46}z11
+{0,20} .. {-77,59}z12
+{-31,24} .. {-100,2}z13
+{0,27} .. {3,35}z14
+{6,74} .. {0,21}z15
+{0,5} .. {-12,0}z16
+{-7,0} .. {-42,0}z17
+-- z18
+{-33,0} .. {-31,4}z19
+{-26,3} .. {-15,0}z20
+{-14,0} .. {0,-20}z21
+{0,-20} .. {8,-12}z22
+{29,-43} .. {16,-50}z23
+);
+FuF (z24
+{-3,46} .. {0,52}z25
+{0,26} .. {2,16}z26
+{122,-15} .. {0,-37}z27
+{0,-13} .. {-1,-10}z28
+-- z29
+);
+FuF (z30
+{54,0} .. {-3,20}z31
+{-10,73} .. {0,126}z32
+{0,138} .. {0,28}z33
+{0,7} .. {-13,2}z34
+{-4,1} .. {-4,0}z35
+{-13,-1} .. {-13,0}z36
+{-13,0} .. {-18,0}z37
+{-26,0} .. {0,-190}z38
+{0,-63} .. {3,-68}z39
+{3,-69} .. {24,0}z40
+);
+lbl (range 1 thru 40);
+endchar;
+
+beginchar(oct"163",572FX#,476FY#,90FY#);
+"s";
+z1=(48FX,-90FY);
+z2=(78FX,-63FY);
+z3=(219FX,-6FY);
+z4=(262FX,-9FY);
+z5=(341FX,-20FY);
+z6=(550FX,159FY);
+z7=(423FX,292FY);
+z8=(347FX,276FY);
+z9=(281FX,265FY);
+z10=(176FX,351FY);
+z11=(266FX,432FY);
+z12=(339FX,363FY);
+z13=(353FX,338FY);
+z14=(458FX,387FY);
+z15=(249FX,476FY);
+z16=(40FX,330FY);
+z17=(160FX,210FY);
+z18=(269FX,223FY);
+z19=(316FX,230FY);
+z20=(410FX,152FY);
+z21=(319FX,33FY);
+z22=(271FX,42FY);
+z23=(192FX,60FY);
+z24=(22FX,-68FY);
+FuF (z1
+{10,9} .. {16,15}z2
+{31,29} .. {76,0}z3
+{14,0} .. {14,-2}z4
+{28,-4} .. {27,0}z5
+{178,0} .. {0,52}z6
+{0,40} .. {-106,0}z7
+{-24,0} .. {-28,-7}z8
+{-22,-5} .. {-22,0}z9
+{-65,0} .. {0,49}z10
+{0,46} .. {57,0}z11
+{46,0} .. {10,-25}z12
+{6,-14} .. {5,0}z13
+{23,0} .. {0,12}z14
+{0,24} .. {-115,0}z15
+{-57,0} .. {0,-132}z16
+{0,-98} .. {41,0}z17
+{31,0} .. {41,8}z18
+{15,3} .. {16,0}z19
+{61,0} .. {0,-42}z20
+{0,-46} .. {-71,0}z21
+{-16,0} .. {-16,5}z22
+{-31,9} .. {-33,0}z23
+{-37,0} .. {-76,-125}z24
+);
+%chp[115]:=currentpicture;
+lbl (range 1 thru 24);
+endchar;
+
+beginchar(oct"165",568FX#,737FY#,11FY#);
+"u";
+z1=(111FX,647FY);
+z2=(15FX,476FY);
+z3=(131FX,313FY);
+z4=(176FX,281FY);
+z5=(154FX,261FY);
+z6=(83FX,131FY);
+z7=(251FX,-11FY);
+z8=(423FX,144FY);
+z9=(313FX,323FY);
+z10=(562FX,701FY);
+z11=(562FX,711FY);
+z12=(558FX,720FY);
+z13=(550FX,720FY);
+z14=(438FX,737FY);
+z15=(416FX,703FY);
+z16=(469FX,576FY);
+z17=(323FX,389FY);
+z18=(276FX,353FY);
+z19=(195FX,412FY);
+z20=(88FX,537FY);
+z21=(134FX,623FY);
+z22=(217FX,256FY);
+z23=(238FX,243FY);
+z24=(345FX,113FY);
+z25=(252FX,31FY);
+z26=(136FX,132FY);
+z27=(217FX,256FY);
+FuF (z1
+{-48,-38} .. {0,-72}z2
+{0,-82} .. {53,-36}z3
+{18,-12} .. {18,-14}z4
+{-8,-7} .. {-12,-11}z5
+{-28,-24} .. {0,-67}z6
+{0,-81} .. {106,0}z7
+{102,0} .. {0,86}z8
+{0,75} .. {-66,57}z9
+{248,187} .. {8,120}z10
+{0,3} .. {0,4}z11
+{0,4} .. {-2,1}z12
+{-2,1} .. {-3,-1}z13
+{-42,-7} .. {-37,11}z14
+-- z15
+{37,-43} .. {0,-59}z16
+{0,-80} .. {-83,-62}z17
+{-22,-17} .. {-18,-14}z18
+{-35,29} .. {-22,14}z19
+{-47,31} .. {0,58}z20
+{0,34} .. {22,21}z21
+);
+FuF (z22
+{9,-6} .. {8,-5}z23
+{56,-31} .. {0,-48}z24
+{0,-39} .. {-60,0}z25
+{-71,0} .. {0,53}z26
+{0,34} .. {63,44}z27
+);
+%chp[117]:=currentpicture;
+lbl (range 1 thru 27);
+endchar;
+
+beginchar(oct"166",513FX#,477FY#,1FY#);
+"v";
+z1=(477FX,326FY);
+z2=(477FX,366FY);
+z3=(502FX,456FY);
+z4=(454FX,477FY);
+z5=(298FX,283FY);
+z6=(262FX,33FY);
+z7=(231FX,33FY);
+z8=(226FX,70FY);
+z9=(206FX,216FY);
+z10=(195FX,283FY);
+z11=(163FX,453FY);
+z12=(131FX,465FY);
+z13=(98FX,465FY);
+z14=(48FX,467FY);
+z15=(34FX,467FY);
+z16=(26FX,455FY);
+z17=(41FX,398FY);
+z18=(110FX,40FY);
+z19=(110FX,18FY);
+z20=(129FX,-1FY);
+z21=(284FX,-1FY);
+z22=(299FX,5FY);
+z23=(306FX,69FY);
+z24=(327FX,217FY);
+z25=(414FX,351FY);
+z26=(452FX,326FY);
+FuF (z1
+-- z2
+{0,82} .. {0,57}z3
+{0,9} .. {-39,0}z4
+{-65,0} .. {-35,-143}z5
+{-19,-77} .. {-8,-93}z6
+-- z7
+{-2,10} .. {-3,21}z8
+{-4,41} .. {-13,79}z9
+{-6,34} .. {-4,25}z10
+{-7,44} .. {-9,27}z11
+{-5,13} .. {-26,0}z12
+-- z13
+{-12,0} .. {-9,1}z14
+{-5,1} .. {-4,-2}z15
+{-4,-2} .. {0,-5}z16
+{0,-7} .. {14,-39}z17
+{36,-103} .. {3,-78}z18
+{0,-7} .. {0,-8}z19
+{-1,-22} .. {17,0}z20
+-- z21
+{7,0} .. {3,8}z22
+{6,15} .. {1,20}z23
+{2,45} .. {8,46}z24
+{7,38} .. {64,0}z25
+{17,0} .. {5,-16}z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(oct"167",689FX#,466FY#,19FY#);
+"w";
+z1=(357FX,137FY);
+z2=(483FX,-19FY);
+z3=(666FX,369FY);
+z4=(669FX,427FY);
+z5=(653FX,465FY);
+z6=(640FX,465FY);
+z7=(617FX,465FY);
+z8=(609FX,465FY);
+z9=(597FX,465FY);
+z10=(577FX,465FY);
+z11=(531FX,448FY);
+z12=(560FX,366FY);
+z13=(590FX,243FY);
+z14=(527FX,85FY);
+z15=(406FX,396FY);
+z16=(408FX,449FY);
+z17=(386FX,466FY);
+z18=(357FX,465FY);
+z19=(334FX,465FY);
+z20=(310FX,466FY);
+z21=(289FX,453FY);
+z22=(288FX,407FY);
+z23=(337FX,175FY);
+z24=(264FX,77FY);
+z25=(140FX,399FY);
+z26=(144FX,454FY);
+z27=(129FX,466FY);
+z28=(93FX,465FY);
+z29=(72FX,465FY);
+z30=(47FX,466FY);
+z31=(27FX,452FY);
+z32=(20FX,362FY);
+z33=(219FX,-19FY);
+z34=(357FX,137FY);
+FuF (z1
+{36,-65} .. {58,-51}z2
+{172,160} .. {7,89}z3
+{3,43} .. {1,16}z4
+{2,31} .. {-12,1}z5
+{-4,0} .. {-4,0}z6
+{-8,0} .. {-8,0}z7
+{-3,0} .. {-3,0}z8
+{-4,0} .. {-4,0}z9
+{-10,0} .. {-7,0}z10
+{-24,0} .. {0,-20}z11
+{0,-10} .. {6,-13}z12
+{23,-54} .. {0,-42}z13
+{0,-50} .. {-42,-42}z14
+{-110,84} .. {0,57}z15
+{0,19} .. {0,17}z16
+{0,14} .. {-20,0}z17
+{-14,0} .. {-10,0}z18
+{-7,0} .. {-7,0}z19
+{-8,0} .. {-9,1}z20
+{-19,2} .. {-1,-12}z21
+{-1,-15} .. {0,-20}z22
+{0,-45} .. {48,-91}z23
+{-23,-43} .. {-34,-31}z24
+{-109,103} .. {0,83}z25
+{0,40} .. {0,16}z26
+{0,12} .. {-11,-1}z27
+{-13,-1} .. {-12,0}z28
+{-7,0} .. {-7,0}z29
+{-8,0} .. {-9,1}z30
+{-13,2} .. {-3,-16}z31
+{-3,-19} .. {0,-40}z32
+{0,-86} .. {174,-125}z33
+{46,26} .. {26,55}z34
+);
+lbl (range 1 thru 34);
+endchar;
+
+beginchar(oct"170",463FX#,476FY#,245FY#);
+"x";
+z1=(42FX,465FY);
+z2=(23FX,445FY);
+z3=(54FX,377FY);
+z4=(81FX,319FY);
+z5=(114FX,249FY);
+z6=(142FX,188FY);
+z7=(172FX,120FY);
+z8=(37FX,-179FY);
+z9=(15FX,-222FY);
+z10=(52FX,-245FY);
+z11=(201FX,54FY);
+z12=(231FX,-15FY);
+z13=(277FX,-117FY);
+z14=(312FX,-195FY);
+z15=(354FX,-245FY);
+z16=(447FX,-245FY);
+z17=(447FX,-197FY);
+z18=(385FX,-80FY);
+z19=(305FX,93FY);
+z20=(267FX,182FY);
+z21=(366FX,335FY);
+z22=(418FX,307FY);
+z23=(437FX,319FY);
+z24=(436FX,360FY);
+z25=(460FX,444FY);
+z26=(391FX,476FY);
+z27=(241FX,236FY);
+z28=(223FX,277FY);
+z29=(165FX,417FY);
+z30=(145FX,462FY);
+z31=(107FX,465FY);
+FuF (z1
+{-13,0} .. {0,-20}z2
+{0,-11} .. {22,-48}z3
+{14,-30} .. {10,-21}z4
+{18,-37} .. {12,-25}z5
+{13,-32} .. {11,-22}z6
+{11,-24} .. {13,-31}z7
+{-22,-89} .. {-48,-66}z8
+{-10,-15} .. {0,-12}z9
+{0,-11} .. {30,0}z10
+{27,0} .. {86,299}z11
+{12,-28} .. {11,-25}z12
+{25,-57} .. {16,-36}z13
+{15,-31} .. {8,-23}z14
+{7,-18} .. {24,0}z15
+-- z16
+{10,0} .. {-24,38}z17
+{-28,45} .. {-19,39}z18
+{-30,64} .. {-44,100}z19
+{-16,35} .. {-14,35}z20
+{38,113} .. {41,0}z21
+{11,0} .. {24,-26}z22
+-- z23
+{-3,17} .. {1,15}z24
+{6,84} .. {0,38}z25
+{0,13} .. {-28,0}z26
+{-60,0} .. {-56,-194}z27
+{-10,22} .. {-6,14}z28
+{-25,56} .. {-33,84}z29
+{-9,23} .. {-8,9}z30
+{-11,11} .. {-18,0}z31
+);
+lbl (range 1 thru 31);
+endchar;
+
+beginchar(oct"171",518FX#,476FY#,285FY#);
+"y";
+z1=(222FX,34FY);
+z2=(220FX,51FY);
+z3=(183FX,301FY);
+z4=(166FX,391FY);
+z5=(159FX,425FY);
+z6=(122FX,465FY);
+z7=(97FX,465FY);
+z8=(53FX,466FY);
+z9=(17FX,455FY);
+z10=(28FX,411FY);
+z11=(101FX,40FY);
+z12=(101FX,18FY);
+z13=(111FX,-3FY);
+z14=(194FX,0FY);
+z15=(252FX,0FY);
+z16=(245FX,-50FY);
+z17=(226FX,-249FY);
+z18=(244FX,-272FY);
+z19=(330FX,-249FY);
+z20=(310FX,-2FY);
+z21=(417FX,351FY);
+z22=(455FX,325FY);
+z23=(478FX,326FY);
+z24=(480FX,366FY);
+z25=(486FX,411FY);
+z26=(504FX,456FY);
+z27=(457FX,476FY);
+z28=(301FX,283FY);
+z29=(262FX,34FY);
+FuF (z1
+{-1,6} .. {0,8}z2
+{-2,46} .. {-10,52}z3
+{-7,37} .. {-5,25}z4
+{-5,23} .. {-2,13}z5
+{-7,48} .. {-25,-2}z6
+{-9,-1} .. {-8,1}z7
+{-19,0} .. {-14,2}z8
+{-11,1} .. {0,-17}z9
+{0,-5} .. {11,-31}z10
+{39,-105} .. {4,-97}z11
+{0,-7} .. {0,-8}z12
+{-1,-10} .. {13,0}z13
+{15,0} .. {62,0}z14
+-- z15
+{-2,-21} .. {-3,-19}z16
+{-7,-45} .. {0,-95}z17
+{0,-12} .. {20,0}z18
+{78,0} .. {0,11}z19
+{0,102} .. {0,212}z20
+{0,308} .. {40,0}z21
+{18,0} .. {5,-17}z22
+-- z23
+{3,14} .. {-1,17}z24
+{-1,19} .. {7,16}z25
+{8,18} .. {0,15}z26
+{0,18} .. {-22,0}z27
+{-111,0} .. {-13,-55}z28
+{-13,-52} .. {-11,-122}z29
+);
+%chp[121]:=currentpicture;
+lbl (range 1 thru 29);
+endchar;
+
+beginchar(CYR_u,518FX#,476FY#,285FY#);
+"y";
+z1=(219FX,34FY);
+z2=(217FX,51FY);
+z3=(180FX,301FY);
+z4=(163FX,391FY);
+z5=(156FX,425FY);
+z6=(119FX,465FY);
+z7=(94FX,465FY);
+z8=(50FX,466FY);
+z9=(14FX,455FY);
+z10=(25FX,411FY);
+z11=(98FX,40FY);
+z12=(98FX,18FY);
+z13=(108FX,-3FY);
+z14=(191FX,0FY);
+z15=(249FX,0FY);
+z16=(242FX,-50FY);
+z17=(223FX,-249FY);
+z18=(241FX,-272FY);
+z19=(327FX,-249FY);
+z20=(307FX,-2FY);
+z21=(414FX,351FY);
+z22=(452FX,325FY);
+z23=(475FX,326FY);
+z24=(477FX,366FY);
+z25=(483FX,411FY);
+z26=(501FX,456FY);
+z27=(454FX,476FY);
+z28=(298FX,283FY);
+z29=(259FX,34FY);
+FuF (z1
+{-1,6} .. {0,8}z2
+{-2,46} .. {-10,52}z3
+{-7,37} .. {-5,25}z4
+{-5,23} .. {-2,13}z5
+{-7,48} .. {-25,-2}z6
+{-9,-1} .. {-8,1}z7
+{-19,0} .. {-14,2}z8
+{-11,1} .. {0,-17}z9
+{0,-5} .. {11,-31}z10
+{39,-105} .. {4,-97}z11
+{0,-7} .. {0,-8}z12
+{-1,-10} .. {13,0}z13
+{15,0} .. {62,0}z14
+-- z15
+{-2,-21} .. {-3,-19}z16
+{-7,-45} .. {0,-95}z17
+{0,-12} .. {20,0}z18
+{78,0} .. {0,11}z19
+{0,102} .. {0,212}z20
+{0,308} .. {40,0}z21
+{18,0} .. {5,-17}z22
+-- z23
+{3,14} .. {-1,17}z24
+{-1,19} .. {7,16}z25
+{8,18} .. {0,15}z26
+{0,18} .. {-22,0}z27
+{-111,0} .. {-13,-55}z28
+{-13,-52} .. {-11,-122}z29
+);
+%chp[121]:=currentpicture;
+lbl (range 1 thru 29);
+endchar;
+
+beginchar(oct"172",542FX#,470FY#,263FY#);
+"z";
+z1=(212FX,294FY);
+z2=(196FX,369FY);
+z3=(325FX,431FY);
+z4=(410FX,431FY);
+z5=(419FX,432FY);
+z6=(427FX,432FY);
+z7=(448FX,418FY);
+z8=(89FX,144FY);
+z9=(26FX,63FY);
+z10=(92FX,0FY);
+z11=(177FX,2FY);
+z12=(248FX,2FY);
+z13=(386FX,-122FY);
+z14=(314FX,-237FY);
+z15=(328FX,-263FY);
+z16=(516FX,-78FY);
+z17=(289FX,42FY);
+z18=(227FX,40FY);
+z19=(172FX,63FY);
+z20=(387FX,294FY);
+z21=(468FX,367FY);
+z22=(512FX,434FY);
+z23=(442FX,466FY);
+z24=(427FX,466FY);
+z25=(410FX,465FY);
+z26=(240FX,465FY);
+z27=(117FX,470FY);
+z28=(86FX,444FY);
+z29=(111FX,389FY);
+z30=(153FX,294FY);
+FuF (z1
+{-9,23} .. {0,21}z2
+{0,55} .. {83,0}z3
+-- z4
+{3,0} .. {3,1}z5
+{2,0} .. {3,0}z6
+{7,0} .. {0,-13}z7
+{0,-46} .. {-171,-143}z8
+{-26,-22} .. {0,-34}z9
+{0,-37} .. {52,0}z10
+{29,0} .. {29,1}z11
+{24,1} .. {24,-1}z12
+{33,-1} .. {0,-116}z13
+{0,-10} .. {-66,-46}z14
+-- z15
+{75,25} .. {0,95}z16
+{0,123} .. {-72,0}z17
+{-20,0} .. {-22,-1}z18
+{-19,-1} .. {0,27}z19
+{0,47} .. {122,105}z20
+{44,38} .. {30,27}z21
+{16,15} .. {0,25}z22
+{0,28} .. {-36,0}z23
+{-5,0} .. {-5,0}z24
+{-6,-1} .. {-6,0}z25
+-- z26
+{-84,0} .. {-62,0}z27
+{-24,0} .. {0,-12}z28
+{0,-19} .. {11,-17}z29
+{17,-26} .. {9,-34}z30
+);
+%chp[122]:=currentpicture;
+lbl (range 1 thru 30);
+endchar;
+
+
+beginchar(oct"25",454FX#,830FY#,0FY#);
+"quoteright";
+z1=(453FX,798FY);
+z2=(454FX,788FY);
+z3=(427FX,735FY);
+z4=(252FX,575FY);
+z5=(201FX,567FY);
+z6=(354FX,791FY);
+z7=(405FX,829FY);
+z8=(418FX,830FY);
+z9=(453FX,798FY);
+z10=(43FX,800FY);
+z11=(18FX,778FY);
+z12=(7FX,758FY);
+z13=(2FX,745FY);
+z14=(0FX,737FY);
+z15=(3FX,729FY);
+z16=(12FX,727FY);
+z17=(26FX,729FY);
+z18=(29FX,730FY);
+z19=(47FX,743FY);
+z20=(74FX,754FY);
+z21=(85FX,752FY);
+z22=(113FX,744FY);
+z23=(129FX,730FY);
+z24=(141FX,702FY);
+z25=(134FX,674FY);
+z26=(120FX,625FY);
+z27=(90FX,584FY);
+z28=(106FX,566FY);
+z29=(165FX,617FY);
+z30=(192FX,669FY);
+z31=(203FX,701FY);
+z32=(205FX,736FY);
+z33=(205FX,747FY);
+z34=(177FX,796FY);
+z35=(122FX,819FY);
+z36=(82FX,815FY);
+z37=(43FX,800FY);
+FuF (z1
+{1,-5} .. {0,-2}z2
+{0,-18} .. {-18,-17}z3
+-- z4
+-- z5
+-- z6
+{19,24} .. {15,2}z7
+{4,1} .. {5,0}z8
+{20,0} .. {4,-22}z9
+);
+FuF (z10
+{-12,-8} .. {-5,-7}z11
+{-6,-8} .. {-1,-6}z12
+{-3,-6} .. {0,-3}z13
+{-2,-3} .. {0,-3}z14
+{0,-4} .. {2,-1}z15
+{2,-2} .. {4,0}z16
+{5,0} .. {5,1}z17
+{1,1} .. {1,0}z18
+{7,5} .. {5,4}z19
+{11,7} .. {8,0}z20
+{4,0} .. {4,-1}z21
+{14,-3} .. {5,-2}z22
+{5,-3} .. {6,-7}z23
+{8,-9} .. {0,-10}z24
+{-1,-8} .. {-4,-10}z25
+{-1,-15} .. {-9,-18}z26
+{-9,-19} .. {-11,-9}z27
+-- z28
+{26,15} .. {14,19}z29
+{8,11} .. {10,24}z30
+{5,11} .. {2,10}z31
+{2,12} .. {0,12}z32
+{0,5} .. {0,2}z33
+{-3,18} .. {-16,14}z34
+{-17,16} .. {-20,0}z35
+{-14,0} .. {-13,-3}z36
+{-15,-4} .. {-12,-6}z37
+);
+lbl (range 1 thru 37);
+endchar;
+
+beginchar(oct"137",546FX#,354FY#,0FY#);
+"bullet";
+z1=(162FX,243FY);
+z2=(273FX,133FY);
+z3=(384FX,243FY);
+z4=(273FX,354FY);
+z5=(162FX,243FY);
+FuF (z1
+{0,-67} .. {54,0}z2
+{54,0} .. {0,67}z3
+{0,68} .. {-53,0}z4
+{-53,0} .. {0,-68}z5
+);
+lbl (range 1 thru 5);
+endchar;
+
+beginchar(oct"173",658FX#,465FY#,0FY#);
+"endash";
+z1=(307FX,465FY);
+z2=(280FX,446FY);
+z3=(281FX,431FY);
+z4=(173FX,274FY);
+z5=(24FX,27FY);
+z6=(24FX,15FY);
+z7=(38FX,0FY);
+z8=(585FX,0FY);
+z9=(634FX,28FY);
+z10=(469FX,339FY);
+z11=(411FX,413FY);
+z12=(393FX,465FY);
+z13=(388FX,465FY);
+z14=(378FX,465FY);
+z15=(197FX,211FY);
+z16=(306FX,385FY);
+z17=(391FX,268FY);
+z18=(433FX,211FY);
+z19=(155FX,38FY);
+z20=(179FX,171FY);
+z21=(456FX,171FY);
+z22=(499FX,38FY);
+FuF (z1
+{-12,0} .. {2,-22}z2
+{0,-5} .. {0,-5}z3
+{0,-61} .. {-59,-53}z4
+{-45,-40} .. {-8,-121}z5
+{0,-4} .. {0,-4}z6
+{1,-14} .. {9,0}z7
+-- z8
+{39,0} .. {0,36}z9
+{0,119} .. {-48,51}z10
+{-36,39} .. {-8,17}z11
+{-11,23} .. {-10,2}z12
+{-2,0} .. {-2,0}z13
+{-4,0} .. {-3,0}z14
+);
+FuF (z15
+{51,48} .. {15,59}z16
+{49,-73} .. {17,-20}z17
+{17,-21} .. {16,-25}z18
+);
+FuF (z19
+{-4,41} .. {19,34}z20
+-- z21
+{24,-37} .. {-5,-41}z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(oct"174",1071FX#,242FY#,0FY#);
+"emdash";
+z1=(105FX,242FY);
+z2=(105FX,187FY);
+z3=(966FX,187FY);
+z4=(966FX,242FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+);
+lbl (range 1 thru 4);
+endchar;
+
+
+beginchar(oct"46",454FX#,958FY#,0FY#);
+"oe";
+z1=(453FX,933FY);
+z2=(454FX,925FY);
+z3=(428FX,884FY);
+z4=(258FX,772FY);
+z5=(206FX,764FY);
+z6=(354FX,927FY);
+z7=(406FX,957FY);
+z8=(412FX,958FY);
+z9=(417FX,958FY);
+z10=(453FX,933FY);
+z11=(43FX,934FY);
+z12=(17FX,917FY);
+z13=(8FX,902FY);
+z14=(2FX,893FY);
+z15=(0FX,886FY);
+z16=(3FX,879FY);
+z17=(12FX,878FY);
+z18=(22FX,879FY);
+z19=(29FX,881FY);
+z20=(53FX,893FY);
+z21=(74FX,898FY);
+z22=(79FX,898FY);
+z23=(85FX,897FY);
+z24=(113FX,891FY);
+z25=(129FX,881FY);
+z26=(141FX,859FY);
+z27=(134FX,838FY);
+z28=(123FX,804FY);
+z29=(95FX,778FY);
+z30=(112FX,764FY);
+z31=(158FX,791FY);
+z32=(193FX,834FY);
+z33=(203FX,859FY);
+z34=(205FX,885FY);
+z35=(205FX,893FY);
+z36=(177FX,931FY);
+z37=(122FX,949FY);
+z38=(81FX,946FY);
+z39=(43FX,934FY);
+FuF (z1
+{1,-4} .. {0,-2}z2
+{0,-14} .. {-17,-14}z3
+-- z4
+-- z5
+-- z6
+{18,18} .. {17,2}z7
+{1,0} .. {3,1}z8
+{2,0} .. {1,0}z9
+{21,0} .. {4,-16}z10
+);
+FuF (z11
+{-11,-6} .. {-6,-6}z12
+{-4,-4} .. {-3,-6}z13
+{-3,-4} .. {-1,-2}z14
+{-2,-3} .. {0,-1}z15
+{0,-4} .. {2,-1}z16
+{3,-1} .. {3,0}z17
+{4,0} .. {3,1}z18
+{3,1} .. {2,1}z19
+{7,4} .. {9,5}z20
+{7,4} .. {7,0}z21
+{1,0} .. {2,0}z22
+{2,0} .. {2,-1}z23
+{14,-2} .. {5,-2}z24
+{5,-2} .. {5,-5}z25
+{8,-8} .. {0,-7}z26
+{-1,-7} .. {-4,-7}z27
+{0,-12} .. {-7,-11}z28
+{-8,-11} .. {-11,-6}z29
+-- z30
+{20,10} .. {10,9}z31
+{12,9} .. {12,20}z32
+{5,9} .. {2,8}z33
+{2,8} .. {0,9}z34
+{0,4} .. {0,1}z35
+{-3,14} .. {-16,11}z36
+{-17,12} .. {-20,0}z37
+{-14,-1} .. {-14,-2}z38
+{-13,-3} .. {-12,-5}z39
+);
+lbl (range 1 thru 39);
+endchar;
+
+
+beginchar(oct"157",691FX#,519FY#,51FY#);
+"exclamdown";
+z1=(284FX,42FY);
+z2=(224FX,65FY);
+z3=(197FX,100FY);
+z4=(182FX,155FY);
+z5=(179FX,235FY);
+z6=(183FX,314FY);
+z7=(205FX,367FY);
+z8=(245FX,405FY);
+z9=(290FX,417FY);
+z10=(313FX,398FY);
+z11=(342FX,391FY);
+z12=(394FX,417FY);
+z13=(449FX,398FY);
+z14=(478FX,368FY);
+z15=(506FX,316FY);
+z16=(513FX,240FY);
+z17=(507FX,154FY);
+z18=(481FX,89FY);
+z19=(454FX,60FY);
+z20=(400FX,41FY);
+z21=(377FX,67FY);
+z22=(342FX,77FY);
+z23=(308FX,67FY);
+z24=(284FX,42FY);
+z25=(405FX,-3FY);
+z26=(594FX,82FY);
+z27=(639FX,236FY);
+z28=(594FX,388FY);
+z29=(405FX,469FY);
+z30=(383FX,505FY);
+z31=(342FX,519FY);
+z32=(302FX,505FY);
+z33=(279FX,469FY);
+z34=(95FX,388FY);
+z35=(52FX,237FY);
+z36=(95FX,82FY);
+z37=(279FX,-3FY);
+z38=(302FX,-38FY);
+z39=(342FX,-51FY);
+z40=(382FX,-38FY);
+z41=(405FX,-3FY);
+FuF (z1
+{-25,4} .. {-15,11}z2
+{-12,9} .. {-6,14}z3
+{-8,19} .. {-2,18}z4
+{-2,19} .. {0,35}z5
+{0,35} .. {3,18}z6
+{4,19} .. {11,17}z7
+{11,18} .. {16,8}z8
+{12,6} .. {18,2}z9
+{7,-8} .. {9,-5}z10
+{9,-5} .. {10,0}z11
+{23,1} .. {12,17}z12
+{23,-3} .. {14,-10}z13
+{8,-6} .. {11,-14}z14
+{15,-17} .. {4,-17}z15
+{5,-18} .. {0,-33}z16
+{0,-35} .. {-4,-23}z17
+{-5,-29} .. {-12,-15}z18
+{-10,-14} .. {-8,-6}z19
+{-15,-10} .. {-22,-3}z20
+{-6,12} .. {-10,6}z21
+{-11,7} .. {-13,0}z22
+{-12,-1} .. {-10,-6}z23
+{-11,-6} .. {-5,-10}z24
+);
+FuF (z25
+{89,11} .. {37,46}z26
+{30,37} .. {0,66}z27
+{0,65} .. {-30,36}z28
+{-38,44} .. {-89,10}z29
+{-3,15} .. {-12,9}z30
+{-12,10} .. {-15,0}z31
+{-15,0} .. {-11,-9}z32
+{-12,-9} .. {-3,-15}z33
+{-87,-10} .. {-35,-44}z34
+{-29,-36} .. {0,-65}z35
+{1,-67} .. {28,-37}z36
+{36,-47} .. {87,-10}z37
+{4,-15} .. {11,-9}z38
+{12,-9} .. {15,0}z39
+{16,0} .. {11,9}z40
+{12,9} .. {3,14}z41
+);
+lbl (range 1 thru 41);
+endchar;
+
+
+
+beginchar(CYR_YA,982FX#,700FY#,0FY#);
+"currency";
+z1=(322FX,700FY);
+z2=(322FX,658FY);
+z3=(422FX,658FY);
+z4=(266FX,455FY);
+z5=(54FX,42FY);
+z6=(24FX,42FY);
+z7=(24FX,0FY);
+z8=(262FX,0FY);
+z9=(262FX,42FY);
+z10=(224FX,42FY);
+z11=(220FX,90FY);
+z12=(274FX,330FY);
+z13=(400FX,289FY);
+z14=(400FX,42FY);
+z15=(345FX,42FY);
+z16=(345FX,0FY);
+z17=(609FX,0FY);
+z18=(609FX,42FY);
+z19=(554FX,42FY);
+z20=(554FX,289FY);
+z21=(650FX,318FY);
+z22=(744FX,42FY);
+z23=(706FX,42FY);
+z24=(706FX,0FY);
+z25=(952FX,0FY);
+z26=(952FX,42FY);
+z27=(923FX,42FY);
+z28=(726FX,463FY);
+z29=(567FX,700FY);
+z30=(454FX,613FY);
+z31=(515FX,527FY);
+z32=(623FX,364FY);
+z33=(474FX,331FY);
+z34=(293FX,374FY);
+z35=(339FX,439FY);
+z36=(454FX,613FY);
+FuF (z1
+-- z2
+-- z3
+{-23,-58} .. {-95,-91}z4
+{-109,-105} .. {-3,-205}z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+{-3,16} .. {0,20}z11
+{0,66} .. {42,55}z12
+{9,-5} .. {74,-13}z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+{42,7} .. {40,18}z21
+{71,-113} .. {-4,-83}z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+{3,158} .. {-100,130}z28
+{-105,136} .. {-23,53}z29
+);
+FuF (z30
+{21,-38} .. {22,-28}z31
+{24,-30} .. {47,-81}z32
+{-41,-27} .. {-45,0}z33
+{-45,0} .. {-49,29}z34
+{12,21} .. {26,33}z35
+{75,97} .. {18,44}z36
+);
+lbl (range 1 thru 36);
+endchar;
+
+beginchar(oct"012",1334FX#,700FY#,0FY#);
+"currency";
+z1=(678FX,700FY);
+z2=(678FX,658FY);
+z3=(778FX,658FY);
+z4=(622FX,455FY);
+z5=(410FX,42FY);
+z6=(380FX,42FY);
+z7=(380FX,0FY);
+z8=(618FX,0FY);
+z9=(618FX,42FY);
+z10=(580FX,42FY);
+z11=(576FX,90FY);
+z12=(630FX,330FY);
+z13=(756FX,289FY);
+z14=(756FX,42FY);
+z15=(701FX,42FY);
+z16=(701FX,0FY);
+z17=(965FX,0FY);
+z18=(965FX,42FY);
+z19=(910FX,42FY);
+z20=(910FX,289FY);
+z21=(1006FX,318FY);
+z22=(1100FX,42FY);
+z23=(1062FX,42FY);
+z24=(1062FX,0FY);
+z25=(1308FX,0FY);
+z26=(1308FX,42FY);
+z27=(1279FX,42FY);
+z28=(1082FX,463FY);
+z29=(923FX,700FY);
+z30=(810FX,613FY);
+z31=(871FX,527FY);
+z32=(979FX,364FY);
+z33=(830FX,331FY);
+z34=(649FX,374FY);
+z35=(695FX,439FY);
+z36=(810FX,613FY);
+z37=(109FX,42FY);
+z38=(26FX,42FY);
+z39=(26FX,0FY);
+z40=(330FX,0FY);
+z41=(330FX,42FY);
+z42=(264FX,42FY);
+z43=(264FX,658FY);
+z44=(347FX,658FY);
+z45=(347FX,700FY);
+z46=(26FX,700FY);
+z47=(26FX,658FY);
+z48=(109FX,658FY);
+z49=(610FX,390FY);
+z50=(264FX,390FY);
+z51=(264FX,340FY);
+z52=(610FX,340FY);
+FuF (z1
+-- z2
+-- z3
+{-23,-58} .. {-95,-91}z4
+{-109,-105} .. {-3,-205}z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+{-3,16} .. {0,20}z11
+{0,66} .. {42,55}z12
+{9,-5} .. {74,-13}z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+{42,7} .. {40,18}z21
+{71,-113} .. {-4,-83}z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+{3,158} .. {-100,130}z28
+{-105,136} .. {-23,53}z29
+);
+FuF (z30
+{21,-38} .. {22,-28}z31
+{24,-30} .. {47,-81}z32
+{-41,-27} .. {-45,0}z33
+{-45,0} .. {-49,29}z34
+{12,21} .. {26,33}z35
+{75,97} .. {18,44}z36
+);
+FuF (z37
+-- z38
+-- z39
+-- z40
+-- z41
+-- z42
+-- z43
+-- z44
+-- z45
+-- z46
+-- z47
+-- z48
+);
+FuF (z49
+-- z50
+-- z51
+-- z52
+);
+lbl (range 1 thru 52);
+endchar;
+
+beginchar(oct"002",1060FX#,714FY#,14FY#);
+"currency";
+z1=(706FX,350FY);
+z2=(706FX,308FY);
+z3=(954FX,308FY);
+z4=(954FX,350FY);
+z5=(913FX,350FY);
+z6=(731FX,466FY);
+z7=(564FX,403FY);
+z8=(704FX,672FY);
+z9=(836FX,557FY);
+z10=(805FX,557FY);
+z11=(805FX,515FY);
+z12=(1053FX,515FY);
+z13=(1053FX,557FY);
+z14=(1005FX,557FY);
+z15=(728FX,714FY);
+z16=(386FX,392FY);
+z17=(494FX,163FY);
+z18=(553FX,5FY);
+z19=(717FX,-14FY);
+z20=(1009FX,177FY);
+z21=(1046FX,178FY);
+z22=(1046FX,219FY);
+z23=(784FX,219FY);
+z24=(784FX,178FY);
+z25=(834FX,178FY);
+z26=(648FX,28FY);
+z27=(611FX,35FY);
+z28=(621FX,88FY);
+z29=(592FX,250FY);
+z30=(567FX,364FY);
+z31=(680FX,410FY);
+z32=(743FX,350FY);
+z33=(109FX,42FY);
+z34=(26FX,42FY);
+z35=(26FX,0FY);
+z36=(330FX,0FY);
+z37=(330FX,42FY);
+z38=(264FX,42FY);
+z39=(264FX,658FY);
+z40=(347FX,658FY);
+z41=(347FX,700FY);
+z42=(26FX,700FY);
+z43=(26FX,658FY);
+z44=(109FX,658FY);
+z45=(550FX,390FY);
+z46=(264FX,390FY);
+z47=(264FX,340FY);
+z48=(550FX,340FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+{-27,75} .. {-76,0}z6
+{-55,0} .. {-55,-48}z7
+{-14,104} .. {125,0}z8
+{92,0} .. {8,-45}z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+{-52,133} .. {-82,0}z15
+{-145,0} .. {0,-251}z16
+{0,-75} .. {93,-114}z17
+{38,-46} .. {-11,-65}z18
+{44,-14} .. {45,0}z19
+{121,0} .. {59,105}z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+{-13,-61} .. {-129,0}z26
+{-19,0} .. {-10,5}z27
+{6,15} .. {0,24}z28
+{0,71} .. {-17,57}z29
+{-13,42} .. {-5,32}z30
+{27,31} .. {39,0}z31
+{20,0} .. {13,-42}z32
+);
+FuF (z33
+-- z34
+-- z35
+-- z36
+-- z37
+-- z38
+-- z39
+-- z40
+-- z41
+-- z42
+-- z43
+-- z44
+);
+FuF (z45
+-- z46
+-- z47
+-- z48
+);
+lbl (range 1 thru 48);
+endchar;
+
+
+
+beginchar(oct"21",371FX#,850FY#,0FY#);
+"dieresis";
+z1=(325FX,583FY);
+z2=(371FX,567FY);
+z3=(266FX,802FY);
+z4=(223FX,846FY);
+z5=(204FX,850FY);
+z6=(173FX,825FY);
+z7=(171FX,815FY);
+z8=(170FX,807FY);
+z9=(188FX,761FY);
+z10=(155FX,583FY);
+z11=(201FX,567FY);
+z12=(96FX,802FY);
+z13=(53FX,846FY);
+z14=(34FX,850FY);
+z15=(3FX,825FY);
+z16=(1FX,815FY);
+z17=(0FX,807FY);
+z18=(18FX,761FY);
+FuF (z1
+-- z2
+-- z3
+{-14,25} .. {-15,4}z4
+{-8,3} .. {-5,0}z5
+{-14,0} .. {-7,-17}z6
+{-2,-3} .. {0,-3}z7
+{-1,-3} .. {0,-2}z8
+{0,-14} .. {12,-17}z9
+);
+FuF (z10
+-- z11
+-- z12
+{-14,25} .. {-15,4}z13
+{-8,3} .. {-5,0}z14
+{-14,0} .. {-7,-17}z15
+{-2,-3} .. {0,-3}z16
+{-1,-3} .. {0,-2}z17
+{0,-14} .. {12,-17}z18
+);
+%chp[200]:=currentpicture;
+lbl (range 1 thru 18);
+endchar;
+
+
+beginchar(oct"27",411FX#,843FY#,0FY#);
+"macron";
+z1=(80FX,757FY);
+z2=(69FX,757FY);
+z3=(57FX,757FY);
+z4=(20FX,744FY);
+z5=(0FX,675FY);
+z6=(8FX,641FY);
+z7=(26FX,636FY);
+z8=(71FX,636FY);
+z9=(95FX,638FY);
+z10=(106FX,664FY);
+z11=(107FX,682FY);
+z12=(107FX,699FY);
+z13=(108FX,709FY);
+z14=(109FX,717FY);
+z15=(115FX,722FY);
+z16=(118FX,722FY);
+z17=(123FX,722FY);
+z18=(331FX,722FY);
+z19=(342FX,722FY);
+z20=(353FX,722FY);
+z21=(391FX,734FY);
+z22=(411FX,802FY);
+z23=(411FX,812FY);
+z24=(403FX,838FY);
+z25=(384FX,843FY);
+z26=(341FX,843FY);
+z27=(309FX,834FY);
+z28=(305FX,814FY);
+z29=(304FX,782FY);
+z30=(302FX,762FY);
+z31=(295FX,757FY);
+FuF (z1
+{-5,0} .. {-3,0}z2
+{-5,0} .. {-4,0}z3
+{-17,0} .. {-8,-9}z4
+{-11,-12} .. {-3,-34}z5
+{0,-17} .. {5,-6}z6
+{4,-4} .. {8,0}z7
+-- z8
+{12,0} .. {4,2}z9
+{8,4} .. {0,13}z10
+{1,5} .. {0,7}z11
+{0,9} .. {0,3}z12
+-- z13
+-- z14
+{0,3} .. {4,0}z15
+-- z16
+-- z17
+-- z18
+{4,0} .. {3,0}z19
+{4,0} .. {3,0}z20
+{18,0} .. {7,8}z21
+{11,12} .. {3,34}z22
+{0,3} .. {0,4}z23
+{0,13} .. {-5,4}z24
+{-5,3} .. {-8,0}z25
+-- z26
+{-17,0} .. {-5,-6}z27
+{-3,-4} .. {0,-9}z28
+{0,-12} .. {-1,-10}z29
+{-1,-9} .. {0,-4}z30
+{1,-3} .. {-6,0}z31
+);
+lbl (range 1 thru 31);
+endchar;
+
+
+
+beginchar(oct"23",213FX#,865FY#,0FY#);
+"acute";
+z1=(209FX,838FY);
+z2=(212FX,819FY);
+z3=(194FX,771FY);
+z4=(50FX,583FY);
+z5=(1FX,567FY);
+z6=(112FX,813FY);
+z7=(156FX,860FY);
+z8=(176FX,865FY);
+z9=(209FX,838FY);
+FuF (z1
+{2,-7} .. {0,-6}z2
+{0,-16} .. {-12,-16}z3
+-- z4
+-- z5
+-- z6
+{14,27} .. {15,5}z7
+{7,3} .. {6,0}z8
+{15,0} .. {7,-18}z9
+);
+%chp[194]:=currentpicture;
+lbl (range 1 thru 9);
+endchar;
+
+
+beginchar(oct"33",498FX#,905FY#,0FY#);
+"onequarter";
+z1=(435FX,752FY);
+z2=(480FX,727FY);
+z3=(498FX,719FY);
+z4=(457FX,711FY);
+z5=(415FX,717FY);
+z6=(375FX,734FY);
+z7=(350FX,752FY);
+z8=(306FX,788FY);
+z9=(268FX,820FY);
+z10=(228FX,845FY);
+z11=(209FX,851FY);
+z12=(189FX,852FY);
+z13=(155FX,848FY);
+z14=(133FX,840FY);
+z15=(114FX,827FY);
+z16=(88FX,797FY);
+z17=(77FX,772FY);
+z18=(63FX,737FY);
+z19=(51FX,731FY);
+z20=(24FX,740FY);
+z21=(0FX,755FY);
+z22=(9FX,808FY);
+z23=(34FX,850FY);
+z24=(48FX,863FY);
+z25=(74FX,881FY);
+z26=(98FX,892FY);
+z27=(111FX,897FY);
+z28=(179FX,905FY);
+z29=(214FX,902FY);
+z30=(246FX,894FY);
+z31=(275FX,881FY);
+z32=(322FX,844FY);
+z33=(346FX,819FY);
+z34=(376FX,794FY);
+z35=(409FX,767FY);
+z36=(435FX,752FY);
+z37=(246FX,654FY);
+z38=(240FX,644FY);
+z39=(231FX,632FY);
+z40=(222FX,621FY);
+z41=(179FX,651FY);
+z42=(160FX,701FY);
+z43=(162FX,721FY);
+z44=(167FX,737FY);
+z45=(201FX,723FY);
+z46=(218FX,706FY);
+z47=(223FX,699FY);
+z48=(225FX,697FY);
+z49=(232FX,705FY);
+z50=(244FX,720FY);
+z51=(256FX,736FY);
+z52=(225FX,761FY);
+z53=(188FX,775FY);
+z54=(146FX,740FY);
+z55=(120FX,667FY);
+z56=(146FX,600FY);
+z57=(192FX,570FY);
+z58=(226FX,591FY);
+z59=(260FX,643FY);
+FuF (z1
+{30,-17} .. {0,0}z2
+{9,-5} .. {3,-1}z3
+{-8,-5} .. {-20,0}z4
+{-13,1} .. {-15,4}z5
+{-15,3} .. {-12,8}z6
+{-7,5} .. {-9,7}z7
+{-3,3} .. {-26,21}z8
+{-8,7} .. {-18,15}z9
+{-16,13} .. {-11,3}z10
+{-7,3} .. {-6,1}z11
+{-7,1} .. {-7,0}z12
+{-12,0} .. {-10,-3}z13
+{-12,-4} .. {-3,-2}z14
+{-6,-5} .. {-7,-4}z15
+{-10,-7} .. {-8,-13}z16
+{-4,-6} .. {-3,-10}z17
+{-8,-21} .. {-1,-3}z18
+{-4,-4} .. {-5,0}z19
+{-8,0} .. {-11,6}z20
+{-7,4} .. {-9,6}z21
+{0,19} .. {6,17}z22
+{3,9} .. {14,19}z23
+{6,6} .. {4,3}z24
+{11,9} .. {7,3}z25
+{6,5} .. {10,3}z26
+{3,1} .. {5,2}z27
+{25,5} .. {21,0}z28
+{11,0} .. {12,-2}z29
+{13,-2} .. {9,-3}z30
+{5,-2} .. {14,-6}z31
+-- z32
+{9,-9} .. {7,-7}z33
+{3,-2} .. {17,-14}z34
+{12,-9} .. {11,-9}z35
+{5,-4} .. {13,-7}z36
+);
+FuF (z37
+{-3,-4} .. {-1,-3}z38
+{-4,-7} .. {-2,-2}z39
+{-3,-3} .. {-4,-5}z40
+{-18,8} .. {-10,13}z41
+{-13,15} .. {0,19}z42
+{1,7} .. {1,7}z43
+{2,7} .. {2,4}z44
+{14,-3} .. {9,-7}z45
+{4,-4} .. {7,-8}z46
+{2,-4} .. {2,-1}z47
+{1,-1} .. {1,-1}z48
+{1,1} .. {4,5}z49
+{4,6} .. {4,4}z50
+{8,9} .. {0,1}z51
+{0,7} .. {-21,10}z52
+{-20,10} .. {-5,0}z53
+{-12,0} .. {-16,-23}z54
+{-18,-25} .. {0,-23}z55
+{0,-23} .. {17,-22}z56
+{17,-20} .. {14,0}z57
+{9,1} .. {14,14}z58
+{14,15} .. {9,20}z59
+);
+lbl (range 1 thru 59);
+endchar;
+
+beginchar(oct"47",205FX#,857FY#,0FY#);
+"questiondown";
+z1=(53FX,790FY);
+z2=(104FX,838FY);
+z3=(205FX,857FY);
+z4=(175FX,828FY);
+z5=(141FX,779FY);
+z6=(136FX,754FY);
+z7=(147FX,692FY);
+z8=(152FX,656FY);
+z9=(151FX,639FY);
+z10=(100FX,578FY);
+z11=(0FX,569FY);
+z12=(42FX,599FY);
+z13=(71FX,637FY);
+z14=(60FX,677FY);
+z15=(50FX,759FY);
+z16=(53FX,790FY);
+FuF (z1
+{5,20} .. {29,13}z2
+{29,13} .. {39,0}z3
+{-17,-16} .. {-3,-4}z4
+{-15,-15} .. {-8,-18}z5
+{-3,-8} .. {0,-9}z6
+{1,-8} .. {7,-33}z7
+{4,-15} .. {0,-9}z8
+{0,-6} .. {-1,-5}z9
+{-7,-31} .. {-28,-10}z10
+{-18,-6} .. {-49,0}z11
+{3,4} .. {25,17}z12
+{17,12} .. {2,13}z13
+{-5,17} .. {-2,10}z14
+{-6,32} .. {0,23}z15
+{0,11} .. {2,9}z16
+);
+lbl (range 1 thru 16);
+endchar;
+
+beginchar(CYR_A,695FX#,714FY#,14FY#);
+"Agrave";
+z1=(277FX,672FY);
+z2=(206FX,490FY);
+z3=(37FX,106FY);
+z4=(149FX,-14FY);
+z5=(386FX,301FY);
+z6=(461FX,42FY);
+z7=(385FX,42FY);
+z8=(385FX,0FY);
+z9=(685FX,0FY);
+z10=(685FX,42FY);
+z11=(616FX,42FY);
+z12=(432FX,672FY);
+z13=(511FX,672FY);
+z14=(511FX,714FY);
+z15=(200FX,714FY);
+z16=(200FX,672FY);
+z17=(357FX,396FY);
+z18=(202FX,141FY);
+z19=(145FX,190FY);
+z20=(145FX,216FY);
+z21=(216FX,404FY);
+z22=(312FX,555FY);
+FuF (z1
+{12,-74} .. {-52,-79}z2
+{-83,-126} .. {0,-115}z3
+{0,-86} .. {56,0}z4
+{116,0} .. {28,132}z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+);
+FuF (z17
+{-10,-77} .. {-82,0}z18
+{-25,0} .. {-6,38}z19
+{-1,9} .. {1,9}z20
+{8,76} .. {24,43}z21
+{24,44} .. {52,72}z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(CYR_BE,640FX#,717FY#,0FY#);
+"Aacute";
+z1=(43FX,700FY);
+z2=(43FX,658FY);
+z3=(126FX,658FY);
+z4=(126FX,42FY);
+z5=(43FX,42FY);
+z6=(43FX,0FY);
+z7=(540FX,0FY);
+z8=(603FX,70FY);
+z9=(603FX,265FY);
+z10=(539FX,330FY);
+z11=(498FX,328FY);
+z12=(281FX,407FY);
+z13=(281FX,658FY);
+z14=(319FX,658FY);
+z15=(481FX,526FY);
+z16=(513FX,484FY);
+z17=(544FX,549FY);
+z18=(561FX,621FY);
+z19=(580FX,678FY);
+z20=(547FX,717FY);
+z21=(400FX,700FY);
+z22=(281FX,42FY);
+z23=(281FX,369FY);
+z24=(405FX,281FY);
+z25=(448FX,222FY);
+z26=(448FX,109FY);
+z27=(404FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+{61,0} .. {0,45}z8
+-- z9
+{0,70} .. {-33,-3}z10
+{-14,-1} .. {-14,0}z11
+{-71,0} .. {-44,42}z12
+-- z13
+-- z14
+{56,0} .. {39,-144}z15
+{6,-23} .. {23,0}z16
+{28,0} .. {3,30}z17
+{3,30} .. {8,21}z18
+{9,26} .. {0,15}z19
+{0,23} .. {-21,0}z20
+{-139,0} .. {-147,0}z21
+);
+FuF (z22
+-- z23
+{34,-39} .. {57,-31}z24
+{42,-23} .. {0,-27}z25
+-- z26
+{0,-58} .. {-31,0}z27
+);
+lbl (range 1 thru 27);
+endchar;
+
+beginchar(CYR_VE,651FX#,714FY#,0FY#);
+"Acircumflex";
+z1=(121FX,42FY);
+z2=(38FX,42FY);
+z3=(38FX,0FY);
+z4=(520FX,0FY);
+z5=(597FX,54FY);
+z6=(598FX,81FY);
+z7=(598FX,240FY);
+z8=(527FX,310FY);
+z9=(518FX,310FY);
+z10=(307FX,388FY);
+z11=(351FX,443FY);
+z12=(442FX,411FY);
+z13=(598FX,553FY);
+z14=(390FX,714FY);
+z15=(121FX,359FY);
+z16=(276FX,42FY);
+z17=(276FX,369FY);
+z18=(400FX,281FY);
+z19=(443FX,222FY);
+z20=(443FX,109FY);
+z21=(399FX,42FY);
+z22=(276FX,404FY);
+z23=(364FX,672FY);
+z24=(443FX,569FY);
+z25=(380FX,466FY);
+z26=(334FX,483FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+{79,0} .. {1,33}z5
+{0,18} .. {0,12}z6
+-- z7
+{0,37} .. {-80,-2}z8
+{-3,0} .. {-3,0}z9
+{-80,0} .. {-70,56}z10
+-- z11
+{27,-18} .. {33,0}z12
+{70,0} .. {0,109}z13
+{0,83} .. {-134,0}z14
+{-222,0} .. {0,-220}z15
+);
+FuF (z16
+-- z17
+{34,-39} .. {57,-31}z18
+{42,-23} .. {0,-27}z19
+-- z20
+{0,-58} .. {-31,0}z21
+);
+FuF (z22
+{-1,92} .. {101,0}z23
+{41,0} .. {0,-76}z24
+{0,-85} .. {-19,0}z25
+{-4,0} .. {-29,16}z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(CYR_GHE,591FX#,714FY#,0FY#);
+"Atilde";
+z1=(31FX,700FY);
+z2=(31FX,658FY);
+z3=(114FX,658FY);
+z4=(114FX,42FY);
+z5=(31FX,42FY);
+z6=(31FX,0FY);
+z7=(352FX,0FY);
+z8=(352FX,42FY);
+z9=(269FX,42FY);
+z10=(269FX,658FY);
+z11=(326FX,658FY);
+z12=(488FX,526FY);
+z13=(520FX,484FY);
+z14=(551FX,549FY);
+z15=(568FX,618FY);
+z16=(587FX,675FY);
+z17=(554FX,714FY);
+z18=(515FX,708FY);
+z19=(407FX,700FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+{56,0} .. {39,-144}z12
+{6,-23} .. {23,0}z13
+{28,0} .. {3,30}z14
+{3,28} .. {8,21}z15
+{9,26} .. {0,15}z16
+{0,19} .. {-25,0}z17
+{-9,0} .. {-21,-3}z18
+{-37,-5} .. {-35,0}z19
+);
+lbl (range 1 thru 19);
+endchar;
+
+beginchar(CYR_DE,694FX#,700FY#,178FY#);
+"Adieresis";
+z1=(523FX,700FY);
+z2=(193FX,700FY);
+z3=(193FX,658FY);
+z4=(247FX,658FY);
+z5=(306FX,613FY);
+z6=(251FX,468FY);
+z7=(121FX,125FY);
+z8=(84FX,51FY);
+z9=(48FX,55FY);
+z10=(9FX,26FY);
+z11=(19FX,-11FY);
+z12=(49FX,-131FY);
+z13=(78FX,-178FY);
+z14=(118FX,-111FY);
+z15=(310FX,0FY);
+z16=(412FX,0FY);
+z17=(582FX,-134FY);
+z18=(613FX,-178FY);
+z19=(651FX,-95FY);
+z20=(672FX,-21FY);
+z21=(685FX,21FY);
+z22=(656FX,55FY);
+z23=(610FX,43FY);
+z24=(467FX,658FY);
+z25=(523FX,658FY);
+z26=(261FX,42FY);
+z27=(177FX,107FY);
+z28=(332FX,494FY);
+z29=(342FX,439FY);
+z30=(415FX,117FY);
+z31=(435FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+{55,0} .. {0,-15}z5
+{0,-52} .. {-25,-42}z6
+{-49,-83} .. {-17,-134}z7
+{-4,-30} .. {-33,0}z8
+{-12,0} .. {-15,0}z9
+{-15,0} .. {0,-23}z10
+{0,-15} .. {4,-10}z11
+{15,-33} .. {4,-34}z12
+{2,-14} .. {25,0}z13
+{27,0} .. {7,26}z14
+{22,88} .. {144,0}z15
+-- z16
+{65,0} .. {20,-133}z17
+{2,-16} .. {26,0}z18
+{29,0} .. {7,40}z19
+{7,36} .. {8,20}z20
+{10,25} .. {0,7}z21
+{0,15} .. {-20,0}z22
+{-37,0} .. {-16,0}z23
+{-45,0} .. {-12,131}z24
+-- z25
+);
+FuF (z26
+{-61,0} .. {0,56}z27
+{0,75} .. {94,120}z28
+{4,-20} .. {4,-26}z29
+{10,-54} .. {44,-161}z30
+{8,-29} .. {11,-40}z31
+);
+lbl (range 1 thru 31);
+endchar;
+
+beginchar(CYR_E,726FX#,714FY#,14FY#);
+"Aring";
+z1=(366FX,350FY);
+z2=(366FX,308FY);
+z3=(614FX,308FY);
+z4=(614FX,350FY);
+z5=(573FX,350FY);
+z6=(391FX,466FY);
+z7=(224FX,403FY);
+z8=(364FX,672FY);
+z9=(496FX,557FY);
+z10=(465FX,557FY);
+z11=(465FX,515FY);
+z12=(713FX,515FY);
+z13=(713FX,557FY);
+z14=(665FX,557FY);
+z15=(388FX,714FY);
+z16=(46FX,392FY);
+z17=(154FX,163FY);
+z18=(213FX,5FY);
+z19=(377FX,-14FY);
+z20=(669FX,177FY);
+z21=(706FX,178FY);
+z22=(706FX,219FY);
+z23=(444FX,219FY);
+z24=(444FX,178FY);
+z25=(494FX,178FY);
+z26=(308FX,28FY);
+z27=(271FX,35FY);
+z28=(281FX,88FY);
+z29=(252FX,250FY);
+z30=(227FX,364FY);
+z31=(340FX,410FY);
+z32=(403FX,350FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+{-27,75} .. {-76,0}z6
+{-55,0} .. {-55,-48}z7
+{-14,104} .. {125,0}z8
+{92,0} .. {8,-45}z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+{-52,133} .. {-82,0}z15
+{-145,0} .. {0,-251}z16
+{0,-75} .. {93,-114}z17
+{38,-46} .. {-11,-65}z18
+{44,-14} .. {45,0}z19
+{121,0} .. {59,105}z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+{-13,-61} .. {-129,0}z26
+{-19,0} .. {-10,5}z27
+{6,15} .. {0,24}z28
+{0,71} .. {-17,57}z29
+{-13,42} .. {-5,32}z30
+{27,31} .. {39,0}z31
+{20,0} .. {13,-42}z32
+);
+lbl (range 1 thru 32);
+endchar;
+
+beginchar(CYR_ZHE,1009FX#,714FY#,0FY#);
+"AE";
+z1=(369FX,700FY);
+z2=(369FX,658FY);
+z3=(424FX,658FY);
+z4=(424FX,396FY);
+z5=(417FX,396FY);
+z6=(353FX,526FY);
+z7=(168FX,714FY);
+z8=(81FX,696FY);
+z9=(90FX,669FY);
+z10=(107FX,589FY);
+z11=(109FX,559FY);
+z12=(129FX,559FY);
+z13=(161FX,572FY);
+z14=(214FX,584FY);
+z15=(377FX,380FY);
+z16=(92FX,42FY);
+z17=(31FX,42FY);
+z18=(31FX,0FY);
+z19=(315FX,0FY);
+z20=(315FX,42FY);
+z21=(268FX,42FY);
+z22=(424FX,354FY);
+z23=(424FX,42FY);
+z24=(373FX,42FY);
+z25=(373FX,0FY);
+z26=(630FX,0FY);
+z27=(630FX,42FY);
+z28=(579FX,42FY);
+z29=(579FX,354FY);
+z30=(735FX,42FY);
+z31=(688FX,42FY);
+z32=(688FX,0FY);
+z33=(972FX,0FY);
+z34=(972FX,42FY);
+z35=(911FX,42FY);
+z36=(626FX,380FY);
+z37=(789FX,584FY);
+z38=(842FX,572FY);
+z39=(874FX,559FY);
+z40=(894FX,559FY);
+z41=(896FX,589FY);
+z42=(913FX,669FY);
+z43=(922FX,696FY);
+z44=(835FX,714FY);
+z45=(650FX,526FY);
+z46=(586FX,396FY);
+z47=(579FX,396FY);
+z48=(579FX,658FY);
+z49=(634FX,658FY);
+z50=(634FX,700FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+{-52,103} .. {-17,37}z6
+{-39,80} .. {-102,0}z7
+{-28,0} .. {-30,-14}z8
+{2,-10} .. {4,-10}z9
+{12,-28} .. {3,-51}z10
+{1,-12} .. {1,-13}z11
+-- z12
+{22,8} .. {11,5}z13
+{13,6} .. {26,0}z14
+{49,0} .. {76,-163}z15
+{-94,-14} .. {2,-266}z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+{-4,233} .. {76,7}z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+-- z29
+{75,-7} .. {-4,-233}z30
+-- z31
+-- z32
+-- z33
+-- z34
+-- z35
+{2,266} .. {-94,14}z36
+{76,163} .. {49,0}z37
+{26,0} .. {13,-6}z38
+{11,-5} .. {22,-8}z39
+-- z40
+{1,13} .. {1,12}z41
+{3,51} .. {12,28}z42
+{4,10} .. {2,10}z43
+{-30,14} .. {-28,0}z44
+{-102,0} .. {-39,-80}z45
+{-17,-37} .. {-52,-103}z46
+-- z47
+-- z48
+-- z49
+-- z50
+);
+lbl (range 1 thru 50);
+endchar;
+
+beginchar(CYR_ZE,629FX#,714FY#,110FY#);
+"Ccedilla";
+z1=(227FX,320FY);
+z2=(314FX,320FY);
+z3=(430FX,218FY);
+z4=(430FX,162FY);
+z5=(350FX,27FY);
+z6=(260FX,46FY);
+z7=(126FX,84FY);
+z8=(23FX,-41FY);
+z9=(52FX,-110FY);
+z10=(96FX,-96FY);
+z11=(133FX,-98FY);
+z12=(156FX,-100FY);
+z13=(166FX,-86FY);
+z14=(162FX,-51FY);
+z15=(202FX,11FY);
+z16=(351FX,-25FY);
+z17=(407FX,-31FY);
+z18=(606FX,162FY);
+z19=(462FX,330FY);
+z20=(406FX,343FY);
+z21=(406FX,361FY);
+z22=(415FX,364FY);
+z23=(583FX,532FY);
+z24=(326FX,714FY);
+z25=(50FX,521FY);
+z26=(52FX,501FY);
+z27=(64FX,501FY);
+z28=(223FX,524FY);
+z29=(219FX,563FY);
+z30=(320FX,672FY);
+z31=(407FX,535FY);
+z32=(407FX,502FY);
+z33=(225FX,378FY);
+FuF (z1
+-- z2
+{62,0} .. {7,-71}z3
+{2,-19} .. {-1,-19}z4
+{-3,-58} .. {-71,0}z5
+{-6,0} .. {-62,19}z6
+{-53,17} .. {-37,0}z7
+{-51,0} .. {0,-79}z8
+{0,-57} .. {12,0}z9
+{14,0} .. {26,0}z10
+{12,0} .. {12,-2}z11
+{8,-1} .. {8,0}z12
+{11,0} .. {0,8}z13
+{0,8} .. {0,16}z14
+{0,45} .. {22,0}z15
+{26,0} .. {82,-16}z16
+{19,-4} .. {19,0}z17
+{104,0} .. {0,119}z18
+{0,121} .. {-50,15}z19
+{-27,8} .. {-18,2}z20
+-- z21
+{3,1} .. {3,1}z22
+{48,15} .. {0,125}z23
+{0,114} .. {-137,0}z24
+{-85,0} .. {0,-168}z25
+{0,-8} .. {4,-3}z26
+{3,-2} .. {5,1}z27
+{152,25} .. {0,25}z28
+{0,10} .. {0,19}z29
+{0,90} .. {41,0}z30
+{79,0} .. {1,-59}z31
+{0,-11} .. {0,-11}z32
+{-2,-91} .. {-155,7}z33
+);
+lbl (range 1 thru 33);
+endchar;
+
+beginchar(CYR_I,777FX#,700FY#,0FY#);
+"Egrave";
+z1=(496FX,485FY);
+z2=(496FX,42FY);
+z3=(427FX,42FY);
+z4=(427FX,0FY);
+z5=(734FX,0FY);
+z6=(734FX,42FY);
+z7=(651FX,42FY);
+z8=(651FX,658FY);
+z9=(734FX,658FY);
+z10=(734FX,700FY);
+z11=(427FX,700FY);
+z12=(427FX,658FY);
+z13=(496FX,658FY);
+z14=(496FX,552FY);
+z15=(275FX,281FY);
+z16=(275FX,658FY);
+z17=(344FX,658FY);
+z18=(344FX,700FY);
+z19=(37FX,700FY);
+z20=(37FX,658FY);
+z21=(120FX,658FY);
+z22=(120FX,42FY);
+z23=(37FX,42FY);
+z24=(37FX,0FY);
+z25=(344FX,0FY);
+z26=(344FX,42FY);
+z27=(275FX,42FY);
+z28=(275FX,215FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+);
+lbl (range 1 thru 28);
+endchar;
+
+beginchar(CYR_SHORT_I,780FX#,902FY#,0FY#);
+"Eacute";
+z1=(508FX,485FY);
+z2=(508FX,42FY);
+z3=(439FX,42FY);
+z4=(439FX,0FY);
+z5=(746FX,0FY);
+z6=(746FX,42FY);
+z7=(663FX,42FY);
+z8=(663FX,658FY);
+z9=(746FX,658FY);
+z10=(746FX,700FY);
+z11=(450FX,700FY);
+z12=(450FX,658FY);
+z13=(508FX,658FY);
+z14=(508FX,552FY);
+z15=(287FX,281FY);
+z16=(287FX,658FY);
+z17=(345FX,658FY);
+z18=(345FX,700FY);
+z19=(49FX,700FY);
+z20=(49FX,658FY);
+z21=(132FX,658FY);
+z22=(132FX,42FY);
+z23=(49FX,42FY);
+z24=(49FX,0FY);
+z25=(356FX,0FY);
+z26=(356FX,42FY);
+z27=(287FX,42FY);
+z28=(287FX,215FY);
+z29=(516FX,892FY);
+z30=(391FX,820FY);
+z31=(296FX,902FY);
+z32=(257FX,891FY);
+z33=(398FX,729FY);
+z34=(560FX,876FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+);
+FuF (z29
+{-16,-30} .. {-70,0}z30
+{-54,0} .. {-13,34}z31
+-- z32
+{13,-83} .. {78,0}z33
+{67,0} .. {31,80}z34
+);
+lbl (range 1 thru 34);
+endchar;
+
+beginchar(CYR_KA,726FX#,714FY#,0FY#);
+"Ecircumflex";
+z1=(278FX,391FY);
+z2=(278FX,658FY);
+z3=(347FX,658FY);
+z4=(347FX,700FY);
+z5=(40FX,700FY);
+z6=(40FX,658FY);
+z7=(123FX,658FY);
+z8=(123FX,42FY);
+z9=(40FX,42FY);
+z10=(40FX,0FY);
+z11=(340FX,0FY);
+z12=(340FX,42FY);
+z13=(278FX,42FY);
+z14=(278FX,356FY);
+z15=(462FX,42FY);
+z16=(423FX,42FY);
+z17=(423FX,0FY);
+z18=(695FX,0FY);
+z19=(695FX,42FY);
+z20=(635FX,42FY);
+z21=(356FX,380FY);
+z22=(519FX,584FY);
+z23=(573FX,572FY);
+z24=(605FX,559FY);
+z25=(625FX,559FY);
+z26=(628FX,607FY);
+z27=(653FX,696FY);
+z28=(565FX,714FY);
+z29=(366FX,498FY);
+z30=(345FX,455FY);
+z31=(329FX,419FY);
+z32=(315FX,391FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+{163,-32} .. {-10,-172}z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+{-4,245} .. {-136,31}z21
+{73,144} .. {60,0}z22
+{26,0} .. {12,-6}z23
+{11,-5} .. {22,-8}z24
+-- z25
+{0,20} .. {2,17}z26
+{3,32} .. {25,65}z27
+{-25,11} .. {-32,0}z28
+{-105,0} .. {-49,-98}z29
+{-11,-23} .. {-6,-13}z30
+{-5,-13} .. {-6,-12}z31
+-- z32
+);
+lbl (range 1 thru 32);
+endchar;
+
+beginchar(CYR_EL,679FX#,700FY#,7FY#);
+"Edieresis";
+z1=(360FX,42FY);
+z2=(360FX,0FY);
+z3=(654FX,0FY);
+z4=(654FX,42FY);
+z5=(581FX,42FY);
+z6=(562FX,111FY);
+z7=(440FX,658FY);
+z8=(501FX,658FY);
+z9=(501FX,700FY);
+z10=(171FX,700FY);
+z11=(171FX,658FY);
+z12=(240FX,658FY);
+z13=(274FX,633FY);
+z14=(203FX,468FY);
+z15=(137FX,340FY);
+z16=(43FX,63FY);
+z17=(43FX,28FY);
+z18=(98FX,-7FY);
+z19=(157FX,-7FY);
+z20=(213FX,-7FY);
+z21=(227FX,14FY);
+z22=(172FX,218FY);
+z23=(249FX,459FY);
+z24=(306FX,549FY);
+z25=(323FX,466FY);
+z26=(425FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+{-6,25} .. {-10,32}z6
+{-47,154} .. {-23,171}z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+{18,0} .. {0,-24}z13
+{0,-40} .. {-16,-29}z14
+{-22,-41} .. {-47,-91}z15
+{-75,-146} .. {-4,-71}z16
+{-1,-12} .. {1,-12}z17
+{4,-43} .. {17,2}z18
+{20,2} .. {20,-3}z19
+{19,-3} .. {17,8}z20
+{11,5} .. {0,8}z21
+{0,210} .. {0,206}z22
+{0,91} .. {30,56}z23
+{21,41} .. {25,29}z24
+{6,-24} .. {8,-45}z25
+{14,-76} .. {54,-163}z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(CYR_EM,1073FX#,700FY#,7FY#);
+"Igrave";
+z1=(423FX,42FY);
+z2=(371FX,42FY);
+z3=(371FX,0FY);
+z4=(663FX,0FY);
+z5=(663FX,42FY);
+z6=(610FX,42FY);
+z7=(708FX,568FY);
+z8=(821FX,42FY);
+z9=(777FX,42FY);
+z10=(777FX,0FY);
+z11=(1045FX,0FY);
+z12=(1045FX,42FY);
+z13=(976FX,42FY);
+z14=(842FX,658FY);
+z15=(907FX,658FY);
+z16=(907FX,700FY);
+z17=(638FX,700FY);
+z18=(638FX,658FY);
+z19=(682FX,658FY);
+z20=(571FX,71FY);
+z21=(444FX,658FY);
+z22=(500FX,658FY);
+z23=(500FX,700FY);
+z24=(214FX,700FY);
+z25=(214FX,658FY);
+z26=(288FX,658FY);
+z27=(185FX,423FY);
+z28=(28FX,63FY);
+z29=(84FX,-7FY);
+z30=(142FX,-7FY);
+z31=(200FX,-7FY);
+z32=(214FX,14FY);
+z33=(214FX,64FY);
+z34=(200FX,230FY);
+z35=(314FX,550FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+{13,-77} .. {-67,-91}z27
+{-86,-115} .. {0,-157}z28
+{0,-78} .. {34,4}z29
+{20,2} .. {20,-3}z30
+{20,-3} .. {18,8}z31
+{12,5} .. {1,9}z32
+{2,17} .. {-1,17}z33
+{-3,50} .. {0,55}z34
+{0,111} .. {74,115}z35
+);
+lbl (range 1 thru 35);
+endchar;
+
+beginchar(CYR_EN,774FX#,700FY#,0FY#);
+"Iacute";
+z1=(281FX,485FY);
+z2=(502FX,215FY);
+z3=(502FX,42FY);
+z4=(433FX,42FY);
+z5=(433FX,0FY);
+z6=(740FX,0FY);
+z7=(740FX,42FY);
+z8=(657FX,42FY);
+z9=(657FX,658FY);
+z10=(740FX,658FY);
+z11=(740FX,700FY);
+z12=(433FX,700FY);
+z13=(433FX,658FY);
+z14=(502FX,658FY);
+z15=(502FX,281FY);
+z16=(281FX,552FY);
+z17=(281FX,658FY);
+z18=(350FX,658FY);
+z19=(350FX,700FY);
+z20=(43FX,700FY);
+z21=(43FX,658FY);
+z22=(126FX,658FY);
+z23=(126FX,42FY);
+z24=(43FX,42FY);
+z25=(43FX,0FY);
+z26=(350FX,0FY);
+z27=(350FX,42FY);
+z28=(281FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+);
+lbl (range 1 thru 28);
+endchar;
+
+beginchar(oct"117",784FX#,755FY#,63FY#);
+"Icircumflex";
+z1=(450FX,664FY);
+z2=(528FX,600FY);
+z3=(560FX,489FY);
+z4=(566FX,350FY);
+z5=(560FX,207FY);
+z6=(529FX,90FY);
+z7=(453FX,22FY);
+z8=(428FX,54FY);
+z9=(391FX,65FY);
+z10=(353FX,54FY);
+z11=(331FX,23FY);
+z12=(253FX,91FY);
+z13=(221FX,207FY);
+z14=(215FX,350FY);
+z15=(222FX,490FY);
+z16=(256FX,600FY);
+z17=(335FX,664FY);
+z18=(357FX,641FY);
+z19=(393FX,634FY);
+z20=(427FX,641FY);
+z21=(450FX,664FY);
+z22=(328FX,705FY);
+z23=(123FX,583FY);
+z24=(41FX,350FY);
+z25=(123FX,113FY);
+z26=(328FX,-14FY);
+z27=(350FX,-50FY);
+z28=(394FX,-63FY);
+z29=(437FX,-50FY);
+z30=(456FX,-14FY);
+z31=(661FX,113FY);
+z32=(743FX,351FY);
+z33=(661FX,584FY);
+z34=(457FX,705FY);
+z35=(435FX,742FY);
+z36=(391FX,755FY);
+z37=(348FX,742FY);
+z38=(328FX,705FY);
+FuF (z1
+{34,-12} .. {18,-31}z2
+{16,-28} .. {6,-46}z3
+{4,-33} .. {0,-60}z4
+{0,-60} .. {-4,-36}z5
+{-6,-50} .. {-15,-28}z6
+{-18,-34} .. {-33,-12}z7
+{-6,14} .. {-11,7}z8
+{-11,8} .. {-13,0}z9
+{-15,0} .. {-11,-7}z10
+{-10,-7} .. {-4,-13}z11
+{-34,12} .. {-18,34}z12
+{-16,29} .. {-5,48}z13
+{-4,34} .. {0,62}z14
+{0,59} .. {5,34}z15
+{7,46} .. {16,27}z16
+{19,32} .. {34,11}z17
+{6,-11} .. {9,-4}z18
+{10,-5} .. {14,0}z19
+{13,1} .. {10,4}z20
+{10,5} .. {5,10}z21
+);
+FuF (z22
+{-83,-17} .. {-54,-65}z23
+{-55,-66} .. {0,-89}z24
+{1,-90} .. {54,-68}z25
+{55,-69} .. {82,-16}z26
+{3,-16} .. {12,-8}z27
+{13,-9} .. {17,0}z28
+{18,1} .. {11,8}z29
+{11,8} .. {2,16}z30
+{83,17} .. {54,68}z31
+{55,69} .. {0,90}z32
+{-1,90} .. {-54,66}z33
+{-54,65} .. {-82,16}z34
+{-3,17} .. {-12,8}z35
+{-13,9} .. {-17,0}z36
+{-18,-1} .. {-11,-8}z37
+{-12,-9} .. {-2,-16}z38
+);
+lbl (range 1 thru 38);
+endchar;
+
+beginchar(CYR_PE,765FX#,700FY#,0FY#);
+"Idieresis";
+z1=(272FX,658FY);
+z2=(493FX,658FY);
+z3=(493FX,42FY);
+z4=(424FX,42FY);
+z5=(424FX,0FY);
+z6=(731FX,0FY);
+z7=(731FX,42FY);
+z8=(648FX,42FY);
+z9=(648FX,658FY);
+z10=(731FX,658FY);
+z11=(731FX,700FY);
+z12=(34FX,700FY);
+z13=(34FX,658FY);
+z14=(117FX,658FY);
+z15=(117FX,42FY);
+z16=(34FX,42FY);
+z17=(34FX,0FY);
+z18=(341FX,0FY);
+z19=(341FX,42FY);
+z20=(272FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+);
+lbl (range 1 thru 20);
+endchar;
+
+beginchar(CYR_ER,681FX#,714FY#,0FY#);
+"Eth";
+z1=(287FX,267FY);
+z2=(356FX,357FY);
+z3=(378FX,346FY);
+z4=(460FX,320FY);
+z5=(629FX,514FY);
+z6=(376FX,714FY);
+z7=(135FX,560FY);
+z8=(132FX,408FY);
+z9=(132FX,42FY);
+z10=(49FX,42FY);
+z11=(49FX,0FY);
+z12=(370FX,0FY);
+z13=(370FX,42FY);
+z14=(287FX,42FY);
+z15=(287FX,327FY);
+z16=(287FX,462FY);
+z17=(369FX,672FY);
+z18=(453FX,516FY);
+z19=(388FX,391FY);
+z20=(351FX,408FY);
+FuF (z1
+-- z2
+{6,-3} .. {14,-7}z3
+{26,-14} .. {36,0}z4
+{97,0} .. {0,110}z5
+{0,111} .. {-163,0}z6
+{-105,0} .. {-40,-97}z7
+{-3,-74} .. {0,-36}z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+);
+FuF (z15
+-- z16
+{0,93} .. {86,0}z17
+{71,0} .. {0,-82}z18
+{0,-111} .. {-20,0}z19
+{-7,0} .. {-11,9}z20
+);
+lbl (range 1 thru 20);
+endchar;
+
+beginchar(CYR_ES,685FX#,714FY#,22FY#);
+"Ntilde";
+z1=(669FX,452FY);
+z2=(669FX,494FY);
+z3=(628FX,494FY);
+z4=(352FX,714FY);
+z5=(46FX,404FY);
+z6=(141FX,176FY);
+z7=(216FX,4FY);
+z8=(216FX,-10FY);
+z9=(289FX,-22FY);
+z10=(628FX,274FY);
+z11=(669FX,274FY);
+z12=(669FX,316FY);
+z13=(407FX,316FY);
+z14=(407FX,274FY);
+z15=(450FX,274FY);
+z16=(292FX,4FY);
+z17=(268FX,10FY);
+z18=(272FX,24FY);
+z19=(280FX,66FY);
+z20=(258FX,211FY);
+z21=(222FX,457FY);
+z22=(342FX,672FY);
+z23=(450FX,494FY);
+z24=(407FX,494FY);
+z25=(407FX,452FY);
+FuF (z1
+-- z2
+-- z3
+{-12,71} .. {-214,0}z4
+{-164,0} .. {0,-195}z5
+{0,-61} .. {89,-114}z6
+{77,-99} .. {0,-41}z7
+{0,-8} .. {0,-5}z8
+{18,-7} .. {41,0}z9
+{151,0} .. {8,172}z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+{12,-133} .. {-79,0}z16
+{-12,0} .. {-6,4}z17
+{1,4} .. {2,8}z18
+{2,8} .. {0,19}z19
+{0,39} .. {-15,60}z20
+{-22,92} .. {0,84}z21
+{0,172} .. {55,0}z22
+{50,0} .. {-3,-146}z23
+-- z24
+-- z25
+);
+lbl (range 1 thru 25);
+endchar;
+
+beginchar(CYR_TE,747FX#,714FY#,0FY#);
+"Ograve";
+z1=(293FX,42FY);
+z2=(210FX,42FY);
+z3=(210FX,0FY);
+z4=(531FX,0FY);
+z5=(531FX,42FY);
+z6=(448FX,42FY);
+z7=(448FX,658FY);
+z8=(491FX,658FY);
+z9=(614FX,545FY);
+z10=(656FX,462FY);
+z11=(684FX,508FY);
+z12=(703FX,595FY);
+z13=(733FX,676FY);
+z14=(689FX,714FY);
+z15=(555FX,699FY);
+z16=(519FX,700FY);
+z17=(222FX,700FY);
+z18=(186FX,699FY);
+z19=(52FX,714FY);
+z20=(8FX,676FY);
+z21=(38FX,595FY);
+z22=(56FX,508FY);
+z23=(85FX,462FY);
+z24=(118FX,512FY);
+z25=(250FX,658FY);
+z26=(293FX,658FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+{52,0} .. {33,-121}z9
+{15,-58} .. {25,0}z10
+{30,0} .. {0,13}z11
+{1,24} .. {10,27}z12
+{13,37} .. {0,19}z13
+{0,17} .. {-31,0}z14
+{-22,0} .. {-91,0}z15
+{-15,0} .. {-13,0}z16
+-- z17
+{-13,0} .. {-15,0}z18
+{-91,0} .. {-22,0}z19
+{-31,0} .. {0,-17}z20
+{0,-19} .. {13,-36}z21
+{11,-30} .. {1,-29}z22
+{1,-19} .. {27,0}z23
+{23,0} .. {8,30}z24
+{40,157} .. {66,0}z25
+-- z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(CYR_U,678FX#,714FY#,257FY#);
+"Oacute";
+z1=(420FX,0FY);
+z2=(420FX,42FY);
+z3=(370FX,42FY);
+z4=(403FX,191FY);
+z5=(570FX,573FY);
+z6=(611FX,558FY);
+z7=(629FX,549FY);
+z8=(644FX,549FY);
+z9=(656FX,656FY);
+z10=(665FX,686FY);
+z11=(579FX,714FY);
+z12=(450FX,580FY);
+z13=(338FX,125FY);
+z14=(213FX,658FY);
+z15=(282FX,658FY);
+z16=(282FX,700FY);
+z17=(13FX,700FY);
+z18=(13FX,658FY);
+z19=(54FX,658FY);
+z20=(213FX,0FY);
+z21=(304FX,0FY);
+z22=(296FX,-65FY);
+z23=(282FX,-257FY);
+z24=(375FX,-250FY);
+z25=(375FX,-225FY);
+z26=(363FX,-122FY);
+z27=(363FX,-77FY);
+z28=(368FX,0FY);
+FuF (z1
+-- z2
+-- z3
+{15,62} .. {11,52}z4
+{21,101} .. {104,0}z5
+{15,0} .. {13,-7}z6
+{9,-5} .. {7,-4}z7
+-- z8
+{-1,77} .. {8,17}z9
+{5,12} .. {2,13}z10
+{-12,18} .. {-21,0}z11
+{-83,0} .. {-18,-56}z12
+{-14,-44} .. {-64,-297}z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+{-6,-47} .. {-3,-26}z22
+{-8,-58} .. {1,-56}z23
+-- z24
+{3,11} .. {-2,8}z25
+{-5,24} .. {-1,48}z26
+{0,15} .. {0,15}z27
+{1,25} .. {2,25}z28
+);
+lbl (range 1 thru 28);
+endchar;
+
+beginchar(CYR_EF,957FX#,700FY#,0FY#);
+"Ocircumflex";
+z1=(634FX,0FY);
+z2=(634FX,42FY);
+z3=(551FX,42FY);
+z4=(551FX,131FY);
+z5=(590FX,120FY);
+z6=(689FX,104FY);
+z7=(906FX,284FY);
+z8=(691FX,547FY);
+z9=(551FX,648FY);
+z10=(551FX,658FY);
+z11=(635FX,658FY);
+z12=(635FX,700FY);
+z13=(322FX,700FY);
+z14=(322FX,658FY);
+z15=(406FX,658FY);
+z16=(406FX,648FY);
+z17=(266FX,547FY);
+z18=(51FX,284FY);
+z19=(268FX,104FY);
+z20=(367FX,120FY);
+z21=(406FX,131FY);
+z22=(406FX,42FY);
+z23=(323FX,42FY);
+z24=(323FX,0FY);
+z25=(551FX,599FY);
+z26=(740FX,331FY);
+z27=(598FX,161FY);
+z28=(551FX,166FY);
+z29=(406FX,599FY);
+z30=(406FX,166FY);
+z31=(359FX,161FY);
+z32=(217FX,331FY);
+z33=(406FX,599FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+{12,-3} .. {23,-7}z5
+{33,-10} .. {46,0}z6
+{106,0} .. {0,111}z7
+{0,130} .. {-77,48}z8
+{-56,35} .. {-70,57}z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+{-70,-57} .. {-56,-35}z17
+{-77,-48} .. {0,-130}z18
+{0,-111} .. {106,0}z19
+{46,0} .. {33,10}z20
+{23,7} .. {12,3}z21
+-- z22
+-- z23
+-- z24
+);
+FuF (z25
+{107,-89} .. {0,-106}z26
+{0,-77} .. {-99,0}z27
+{-18,0} .. {-13,3}z28
+);
+FuF (z29
+-- z30
+{-13,-3} .. {-18,0}z31
+{-99,0} .. {0,77}z32
+{0,106} .. {107,89}z33
+);
+lbl (range 1 thru 33);
+endchar;
+
+beginchar(CYR_KHA,740FX#,714FY#,0FY#);
+"Otilde";
+z1=(264FX,658FY);
+z2=(338FX,658FY);
+z3=(338FX,700FY);
+z4=(26FX,700FY);
+z5=(26FX,658FY);
+z6=(92FX,658FY);
+z7=(267FX,359FY);
+z8=(207FX,235FY);
+z9=(193FX,205FY);
+z10=(24FX,42FY);
+z11=(24FX,0FY);
+z12=(267FX,0FY);
+z13=(267FX,42FY);
+z14=(196FX,65FY);
+z15=(241FX,195FY);
+z16=(299FX,306FY);
+z17=(454FX,42FY);
+z18=(359FX,42FY);
+z19=(359FX,0FY);
+z20=(716FX,0FY);
+z21=(716FX,42FY);
+z22=(631FX,42FY);
+z23=(403FX,434FY);
+z24=(421FX,471FY);
+z25=(434FX,497FY);
+z26=(532FX,584FY);
+z27=(613FX,550FY);
+z28=(642FX,550FY);
+z29=(645FX,575FY);
+z30=(645FX,583FY);
+z31=(657FX,627FY);
+z32=(665FX,643FY);
+z33=(674FX,662FY);
+z34=(682FX,683FY);
+z35=(584FX,714FY);
+z36=(410FX,580FY);
+z37=(393FX,542FY);
+z38=(369FX,488FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+{-4,-7} .. {-7,-16}z9
+{-48,-104} .. {-92,8}z10
+-- z11
+-- z12
+-- z13
+{-34,-3} .. {0,26}z14
+{0,25} .. {18,34}z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+{6,15} .. {8,15}z24
+{4,8} .. {7,15}z25
+{27,52} .. {56,0}z26
+{27,0} .. {40,-29}z27
+-- z28
+{4,11} .. {-1,9}z29
+{0,3} .. {0,2}z30
+{0,20} .. {4,10}z31
+{3,6} .. {4,8}z32
+{5,10} .. {3,7}z33
+{6,10} .. {0,5}z34
+{0,16} .. {-30,0}z35
+{-106,0} .. {-39,-85}z36
+{-8,-20} .. {-7,-14}z37
+{-11,-23} .. {-8,-21}z38
+);
+lbl (range 1 thru 38);
+endchar;
+
+beginchar(CYR_TSE,819FX#,700FY#,238FY#);
+"Odieresis";
+z1=(724FX,700FY);
+z2=(417FX,700FY);
+z3=(417FX,658FY);
+z4=(486FX,658FY);
+z5=(486FX,42FY);
+z6=(269FX,42FY);
+z7=(269FX,658FY);
+z8=(338FX,658FY);
+z9=(338FX,700FY);
+z10=(31FX,700FY);
+z11=(31FX,658FY);
+z12=(114FX,658FY);
+z13=(114FX,42FY);
+z14=(31FX,42FY);
+z15=(31FX,0FY);
+z16=(554FX,0FY);
+z17=(687FX,-120FY);
+z18=(738FX,-238FY);
+z19=(769FX,-192FY);
+z20=(800FX,-74FY);
+z21=(817FX,-3FY);
+z22=(771FX,51FY);
+z23=(675FX,42FY);
+z24=(641FX,42FY);
+z25=(641FX,658FY);
+z26=(724FX,658FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+{100,0} .. {17,-67}z17
+{24,-88} .. {28,0}z18
+{26,0} .. {2,18}z19
+{2,19} .. {21,58}z20
+{9,25} .. {0,23}z21
+{0,46} .. {-12,0}z22
+{-21,0} .. {-43,0}z23
+-- z24
+-- z25
+-- z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(CYR_CHE,759FX#,700FY#,0FY#);
+"multiply";
+z1=(490FX,42FY);
+z2=(421FX,42FY);
+z3=(421FX,0FY);
+z4=(728FX,0FY);
+z5=(728FX,42FY);
+z6=(645FX,42FY);
+z7=(645FX,658FY);
+z8=(728FX,658FY);
+z9=(728FX,700FY);
+z10=(428FX,700FY);
+z11=(428FX,658FY);
+z12=(490FX,658FY);
+z13=(490FX,351FY);
+z14=(264FX,658FY);
+z15=(331FX,658FY);
+z16=(331FX,700FY);
+z17=(31FX,700FY);
+z18=(31FX,658FY);
+z19=(91FX,658FY);
+z20=(208FX,365FY);
+z21=(490FX,309FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+{-185,-18} .. {11,195}z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+{4,-118} .. {92,-59}z20
+{77,-49} .. {92,-1}z21
+);
+lbl (range 1 thru 21);
+endchar;
+
+
+
+beginchar(CYR_SHA,1127FX#,700FY#,0FY#);
+"Oslash";
+z1=(284FX,42FY);
+z2=(284FX,658FY);
+z3=(353FX,658FY);
+z4=(353FX,700FY);
+z5=(46FX,700FY);
+z6=(46FX,658FY);
+z7=(129FX,658FY);
+z8=(129FX,42FY);
+z9=(46FX,42FY);
+z10=(46FX,0FY);
+z11=(1081FX,0FY);
+z12=(1081FX,42FY);
+z13=(998FX,42FY);
+z14=(998FX,658FY);
+z15=(1081FX,658FY);
+z16=(1081FX,700FY);
+z17=(774FX,700FY);
+z18=(774FX,658FY);
+z19=(843FX,658FY);
+z20=(843FX,42FY);
+z21=(641FX,42FY);
+z22=(641FX,658FY);
+z23=(710FX,658FY);
+z24=(710FX,700FY);
+z25=(417FX,700FY);
+z26=(417FX,658FY);
+z27=(486FX,658FY);
+z28=(486FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+);
+lbl (range 1 thru 28);
+endchar;
+
+beginchar(oct"115",1158FX#,700FY#,228FY#);
+"Ugrave";
+z1=(269FX,42FY);
+z2=(269FX,658FY);
+z3=(338FX,658FY);
+z4=(338FX,700FY);
+z5=(31FX,700FY);
+z6=(31FX,658FY);
+z7=(114FX,658FY);
+z8=(114FX,42FY);
+z9=(31FX,42FY);
+z10=(31FX,0FY);
+z11=(1016FX,0FY);
+z12=(1029FX,-100FY);
+z13=(1080FX,-228FY);
+z14=(1111FX,-172FY);
+z15=(1142FX,-54FY);
+z16=(1159FX,-3FY);
+z17=(1113FX,51FY);
+z18=(987FX,42FY);
+z19=(1016FX,42FY);
+z20=(983FX,42FY);
+z21=(983FX,658FY);
+z22=(1066FX,658FY);
+z23=(1066FX,700FY);
+z24=(759FX,700FY);
+z25=(759FX,658FY);
+z26=(828FX,658FY);
+z27=(828FX,42FY);
+z28=(626FX,42FY);
+z29=(626FX,658FY);
+z30=(695FX,658FY);
+z31=(695FX,700FY);
+z32=(402FX,700FY);
+z33=(402FX,658FY);
+z34=(471FX,658FY);
+z35=(471FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+{100,0} .. {17,-67}z12
+{24,-88} .. {28,0}z13
+{26,0} .. {2,18}z14
+{2,19} .. {21,58}z15
+{9,25} .. {0,23}z16
+{0,46} .. {-12,0}z17
+{-21,0} .. {-43,0}z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+-- z29
+-- z30
+-- z31
+-- z32
+-- z33
+-- z34
+-- z35
+);
+lbl (range 1 thru 35);
+endchar;
+
+beginchar(oct"114",1133FX#,700FY#,170FY#);
+"Ugrave";
+z1=(573FX,-170FY);
+z2=(570FX,-169FY);
+z3=(568FX,-170FY);
+z4=(488FX,0FY);
+z5=(488FX,-66FY);
+z6=(398FX,-65FY);
+z7=(570FX,-169FY);
+z8=(735FX,-62FY);
+z9=(644FX,-63FY);
+z10=(644FX,0FY);
+z11=(1084FX,0FY);
+z12=(1084FX,42FY);
+z13=(1001FX,42FY);
+z14=(1001FX,658FY);
+z15=(1084FX,658FY);
+z16=(1084FX,700FY);
+z17=(777FX,700FY);
+z18=(777FX,658FY);
+z19=(846FX,658FY);
+z20=(846FX,42FY);
+z21=(644FX,42FY);
+z22=(644FX,658FY);
+z23=(713FX,658FY);
+z24=(713FX,700FY);
+z25=(420FX,700FY);
+z26=(420FX,658FY);
+z27=(489FX,658FY);
+z28=(489FX,42FY);
+z29=(287FX,42FY);
+z30=(287FX,658FY);
+z31=(356FX,658FY);
+z32=(356FX,700FY);
+z33=(49FX,700FY);
+z34=(49FX,658FY);
+z35=(132FX,658FY);
+z36=(132FX,42FY);
+z37=(49FX,42FY);
+z38=(49FX,0FY);
+FuF (z1
+-- z2
+-- z3
+);
+FuF (z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+-- z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+-- z29
+-- z30
+-- z31
+-- z32
+-- z33
+-- z34
+-- z35
+-- z36
+-- z37
+-- z38
+);
+lbl (range 1 thru 38);
+endchar;
+
+
+beginchar(CYR_HARD_SIGN,826FX#,713FY#,0FY#);
+"Uacute";
+z1=(557FX,700FY);
+z2=(137FX,700FY);
+z3=(82FX,707FY);
+z4=(53FX,713FY);
+z5=(20FX,673FY);
+z6=(56FX,549FY);
+z7=(87FX,484FY);
+z8=(119FX,525FY);
+z9=(253FX,658FY);
+z10=(319FX,658FY);
+z11=(319FX,42FY);
+z12=(236FX,42FY);
+z13=(236FX,0FY);
+z14=(734FX,0FY);
+z15=(794FX,70FY);
+z16=(794FX,269FY);
+z17=(733FX,334FY);
+z18=(692FX,332FY);
+z19=(474FX,411FY);
+z20=(474FX,658FY);
+z21=(557FX,658FY);
+z22=(474FX,42FY);
+z23=(474FX,356FY);
+z24=(586FX,296FY);
+z25=(638FX,241FY);
+z26=(639FX,217FY);
+z27=(639FX,98FY);
+z28=(564FX,42FY);
+FuF (z1
+-- z2
+{-8,0} .. {-30,6}z3
+{-13,3} .. {-9,0}z4
+{-20,0} .. {0,-22}z5
+{0,-115} .. {10,-108}z6
+{3,-30} .. {28,0}z7
+{23,0} .. {6,22}z8
+{14,51} .. {97,0}z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+{34,0} .. {0,68}z15
+-- z16
+{0,28} .. {-65,-5}z17
+{-14,-1} .. {-14,0}z18
+{-69,0} .. {-55,48}z19
+-- z20
+-- z21
+);
+FuF (z22
+-- z23
+{36,-30} .. {35,-11}z24
+{52,-16} .. {1,-30}z25
+{0,-20} .. {0,-18}z26
+-- z27
+{0,-56} .. {-29,0}z28
+);
+lbl (range 1 thru 28);
+endchar;
+
+beginchar(CYR_ERY,1001FX#,700FY#,0FY#);
+"Ucircumflex";
+z1=(361FX,700FY);
+z2=(40FX,700FY);
+z3=(40FX,658FY);
+z4=(123FX,658FY);
+z5=(123FX,42FY);
+z6=(40FX,42FY);
+z7=(40FX,0FY);
+z8=(537FX,0FY);
+z9=(598FX,70FY);
+z10=(598FX,265FY);
+z11=(536FX,330FY);
+z12=(495FX,328FY);
+z13=(278FX,411FY);
+z14=(278FX,658FY);
+z15=(361FX,658FY);
+z16=(720FX,42FY);
+z17=(637FX,42FY);
+z18=(637FX,0FY);
+z19=(958FX,0FY);
+z20=(958FX,42FY);
+z21=(875FX,42FY);
+z22=(875FX,658FY);
+z23=(958FX,658FY);
+z24=(958FX,700FY);
+z25=(637FX,700FY);
+z26=(637FX,658FY);
+z27=(720FX,658FY);
+z28=(278FX,42FY);
+z29=(278FX,356FY);
+z30=(390FX,296FY);
+z31=(442FX,241FY);
+z32=(443FX,217FY);
+z33=(443FX,98FY);
+z34=(368FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+{40,0} .. {0,66}z9
+-- z10
+{0,70} .. {-31,-3}z11
+{-14,-1} .. {-14,0}z12
+{-45,0} .. {-58,54}z13
+-- z14
+-- z15
+);
+FuF (z16
+-- z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+);
+FuF (z28
+-- z29
+{36,-30} .. {35,-11}z30
+{52,-16} .. {1,-30}z31
+{0,-20} .. {0,-18}z32
+-- z33
+{0,-56} .. {-29,0}z34
+);
+lbl (range 1 thru 34);
+endchar;
+
+beginchar(CYR_SOFT_SIGN,638FX#,700FY#,0FY#);
+"Udieresis";
+z1=(361FX,700FY);
+z2=(40FX,700FY);
+z3=(40FX,658FY);
+z4=(123FX,658FY);
+z5=(123FX,42FY);
+z6=(40FX,42FY);
+z7=(40FX,0FY);
+z8=(537FX,0FY);
+z9=(598FX,70FY);
+z10=(598FX,265FY);
+z11=(536FX,330FY);
+z12=(495FX,328FY);
+z13=(278FX,411FY);
+z14=(278FX,658FY);
+z15=(361FX,658FY);
+z16=(278FX,42FY);
+z17=(278FX,356FY);
+z18=(390FX,296FY);
+z19=(442FX,241FY);
+z20=(443FX,217FY);
+z21=(443FX,98FY);
+z22=(368FX,42FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+{40,0} .. {0,66}z9
+-- z10
+{0,70} .. {-31,-3}z11
+{-14,-1} .. {-14,0}z12
+{-45,0} .. {-58,54}z13
+-- z14
+-- z15
+);
+FuF (z16
+-- z17
+{36,-30} .. {35,-11}z18
+{52,-16} .. {1,-30}z19
+{0,-20} .. {0,-18}z20
+-- z21
+{0,-56} .. {-29,0}z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(oct"000",685FX#,855FY#,0FY#);
+"Udieresis";
+z1=(277FX,855FY);
+z2=(122FX,820FY);
+z3=(122FX,658FY);
+z4=(122FX,658FY);
+z5=(122FX,42FY);
+z6=(39FX,42FY);
+z7=(39FX,0FY);
+z8=(657FX,0FY);
+z9=(657FX,42FY);
+z10=(597FX,42FY);
+z11=(597FX,70FY);
+z12=(597FX,265FY);
+z13=(535FX,330FY);
+z14=(494FX,328FY);
+z15=(277FX,411FY);
+z16=(277FX,658FY);
+z17=(277FX,658FY);
+z18=(320FX,0FY);
+z19=(320FX,42FY);
+z20=(277FX,42FY);
+z21=(277FX,356FY);
+z22=(389FX,296FY);
+z23=(441FX,241FY);
+z24=(442FX,217FY);
+z25=(442FX,98FY);
+z26=(442FX,42FY);
+z27=(400FX,42FY);
+z28=(400FX,0FY);
+z29=(500FX,665FY);
+z30=(15FX,665FY);
+z31=(15FX,630FY);
+z32=(500FX,630FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+{40,0} .. {0,66}z11
+-- z12
+{0,70} .. {-31,-3}z13
+{-14,-1} .. {-14,0}z14
+{-45,0} .. {-58,54}z15
+-- z16
+-- z17
+);
+FuF (z18
+-- z19
+-- z20
+-- z21
+{36,-30} .. {35,-11}z22
+{52,-16} .. {1,-30}z23
+{0,-20} .. {0,-18}z24
+-- z25
+%{0,-56} .. {-29,0}
+-- z26
+-- z27
+-- z28
+);
+FuF (z29
+-- z30
+-- z31
+-- z32
+);
+lbl (range 1 thru 32);
+endchar;
+
+
+beginchar(CYR_REV_E,732FX#,699FY#,2FY#);
+"Yacute";
+z1=(569FX,575FY);
+z2=(563FX,594FY);
+z3=(551FX,603FY);
+z4=(539FX,604FY);
+z5=(517FX,600FY);
+z6=(487FX,596FY);
+z7=(379FX,591FY);
+z8=(379FX,545FY);
+z9=(411FX,551FY);
+z10=(441FX,554FY);
+z11=(465FX,547FY);
+z12=(470FX,531FY);
+z13=(468FX,508FY);
+z14=(465FX,480FY);
+z15=(463FX,449FY);
+z16=(458FX,422FY);
+z17=(503FX,417FY);
+z18=(526FX,484FY);
+z19=(551FX,527FY);
+z20=(566FX,557FY);
+z21=(569FX,575FY);
+z22=(699FX,259FY);
+z23=(684FX,317FY);
+z24=(650FX,329FY);
+z25=(644FX,329FY);
+z26=(637FX,329FY);
+z27=(619FX,328FY);
+z28=(596FX,327FY);
+z29=(492FX,348FY);
+z30=(379FX,410FY);
+z31=(379FX,545FY);
+z32=(379FX,657FY);
+z33=(462FX,657FY);
+z34=(462FX,699FY);
+z35=(141FX,699FY);
+z36=(141FX,657FY);
+z37=(224FX,657FY);
+z38=(224FX,543FY);
+z39=(224FX,41FY);
+z40=(141FX,41FY);
+z41=(141FX,-2FY);
+z42=(638FX,-2FY);
+z43=(683FX,9FY);
+z44=(699FX,69FY);
+z45=(225FX,590FY);
+z46=(202FX,591FY);
+z47=(158FX,592FY);
+z48=(113FX,596FY);
+z49=(78FX,603FY);
+z50=(51FX,607FY);
+z51=(31FX,593FY);
+z52=(21FX,565FY);
+z53=(30FX,531FY);
+z54=(46FX,501FY);
+z55=(74FX,464FY);
+z56=(100FX,404FY);
+z57=(154FX,414FY);
+z58=(145FX,449FY);
+z59=(142FX,479FY);
+z60=(145FX,536FY);
+z61=(160FX,548FY);
+z62=(186FX,545FY);
+z63=(212FX,543FY);
+z64=(224FX,543FY);
+z65=(224FX,588FY);
+z66=(544FX,97FY);
+z67=(517FX,48FY);
+z68=(469FX,41FY);
+z69=(379FX,41FY);
+z70=(379FX,355FY);
+z71=(435FX,317FY);
+z72=(494FX,294FY);
+z73=(536FX,272FY);
+z74=(543FX,240FY);
+z75=(543FX,227FY);
+z76=(544FX,216FY);
+FuF (z1
+{0,8} .. {-4,5}z2
+{-4,6} .. {-4,0}z3
+{-5,1} .. {-4,0}z4
+{-5,-1} .. {-10,-2}z5
+{-10,-3} .. {-10,0}z6
+-- z7
+-- z8
+-- z9
+{13,2} .. {7,0}z10
+{12,-1} .. {5,-4}z11
+{4,-3} .. {0,-7}z12
+{0,-4} .. {-1,-11}z13
+{-2,-12} .. {0,-7}z14
+{0,-11} .. {-1,-10}z15
+{-2,-11} .. {-2,-8}z16
+-- z17
+{8,27} .. {8,18}z18
+{9,15} .. {8,14}z19
+{8,14} .. {2,6}z20
+{2,6} .. {0,6}z21
+);
+FuF (z22
+{0,28} .. {-10,11}z23
+{-8,8} .. {-15,0}z24
+{-1,0} .. {-3,0}z25
+{-3,0} .. {-2,0}z26
+{-1,-1} .. {-11,0}z27
+{-11,-1} .. {-5,0}z28
+{-28,0} .. {-42,14}z29
+{-50,17} .. {-26,24}z30
+-- z31
+-- z32
+-- z33
+-- z34
+-- z35
+-- z36
+-- z37
+-- z38
+-- z39
+-- z40
+-- z41
+-- z42
+{23,0} .. {7,7}z43
+{11,10} .. {0,30}z44
+);
+FuF (z45
+{-16,0} .. {0,1}z46
+{-19,1} .. {-11,0}z47
+{-11,1} .. {-19,2}z48
+{-12,3} .. {-11,2}z49
+{-12,3} .. {-6,0}z50
+{-7,0} .. {-6,-9}z51
+{-7,-10} .. {0,-9}z52
+{0,-9} .. {6,-13}z53
+{4,-8} .. {7,-12}z54
+{10,-13} .. {9,-12}z55
+{12,-17} .. {6,-23}z56
+-- z57
+{-4,13} .. {-2,10}z58
+{-2,11} .. {0,9}z59
+{0,30} .. {2,8}z60
+{2,8} .. {8,0}z61
+{9,-1} .. {8,-1}z62
+{9,-1} .. {8,0}z63
+-- z64
+-- z65
+);
+FuF (z66
+{0,-25} .. {-18,-8}z67
+{-10,-5} .. {-22,0}z68
+-- z69
+-- z70
+{18,-15} .. {20,-10}z71
+{17,-9} .. {22,-7}z72
+{22,-7} .. {6,-8}z73
+{5,-6} .. {0,-16}z74
+{0,-8} .. {0,-1}z75
+{1,-2} .. {0,-5}z76
+);
+lbl (range 1 thru 76);
+endchar;
+
+beginchar(CYR_YU,994FX#,727FY#,27FY#);
+"Thorn";
+z1=(283FX,400FY);
+z2=(283FX,658FY);
+z3=(366FX,658FY);
+z4=(366FX,700FY);
+z5=(45FX,700FY);
+z6=(45FX,658FY);
+z7=(128FX,658FY);
+z8=(128FX,42FY);
+z9=(45FX,42FY);
+z10=(45FX,0FY);
+z11=(366FX,0FY);
+z12=(366FX,42FY);
+z13=(283FX,42FY);
+z14=(283FX,358FY);
+z15=(410FX,358FY);
+z16=(578FX,53FY);
+z17=(688FX,-27FY);
+z18=(755FX,22FY);
+z19=(964FX,355FY);
+z20=(830FX,605FY);
+z21=(735FX,693FY);
+z22=(693FX,727FY);
+z23=(648FX,704FY);
+z24=(605FX,667FY);
+z25=(417FX,400FY);
+z26=(627FX,595FY);
+z27=(730FX,462FY);
+z28=(863FX,274FY);
+z29=(863FX,240FY);
+z30=(740FX,100FY);
+z31=(656FX,218FY);
+z32=(506FX,448FY);
+z33=(627FX,595FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+-- z15
+{-14,-163} .. {65,-55}z16
+{78,-67} .. {15,0}z17
+{17,0} .. {34,34}z18
+{119,115} .. {0,150}z19
+{0,120} .. {-71,62}z20
+{-63,55} .. {-30,31}z21
+{-18,19} .. {-14,0}z22
+{-20,0} .. {-10,-11}z23
+{-10,-11} .. {-31,-24}z24
+{-76,-60} .. {-17,-109}z25
+);
+FuF (z26
+{12,-36} .. {72,-80}z27
+{64,-71} .. {9,-55}z28
+{2,-11} .. {-2,-11}z29
+{-9,-67} .. {-52,-23}z30
+{-8,39} .. {-56,55}z31
+{-134,129} .. {0,38}z32
+{0,63} .. {76,10}z33
+);
+lbl (range 1 thru 33);
+endchar;
+
+beginchar(oct"010",1068FX#,715FY#,14FY#);
+"germandbls";
+z1=(716FX,396FY);
+z2=(689FX,296FY);
+z3=(635FX,190FY);
+z4=(561FX,141FY);
+z5=(525FX,152FY);
+z6=(504FX,190FY);
+z7=(503FX,203FY);
+z8=(503FX,208FY);
+z9=(504FX,216FY);
+z10=(521FX,289FY);
+z11=(548FX,353FY);
+z12=(575FX,404FY);
+z13=(612FX,469FY);
+z14=(671FX,555FY);
+z15=(336FX,0FY);
+z16=(340FX,0FY);
+z17=(615FX,567FY);
+z18=(262FX,566FY);
+z19=(262FX,673FY);
+z20=(345FX,673FY);
+z21=(345FX,715FY);
+z22=(24FX,715FY);
+z23=(24FX,673FY);
+z24=(107FX,673FY);
+z25=(107FX,42FY);
+z26=(24FX,42FY);
+z27=(24FX,0FY);
+z28=(336FX,0FY);
+z29=(335FX,42FY);
+z30=(262FX,42FY);
+z31=(262FX,520FY);
+z32=(584FX,519FY);
+z33=(565FX,490FY);
+z34=(484FX,360FY);
+z35=(421FX,229FY);
+z36=(396FX,106FY);
+z37=(431FX,14FY);
+z38=(508FX,-14FY);
+z39=(615FX,39FY);
+z40=(697FX,161FY);
+z41=(745FX,301FY);
+z42=(820FX,42FY);
+z43=(744FX,42FY);
+z44=(744FX,0FY);
+z45=(1044FX,0FY);
+z46=(1044FX,42FY);
+z47=(975FX,42FY);
+z48=(791FX,672FY);
+z49=(870FX,672FY);
+z50=(870FX,714FY);
+z51=(559FX,714FY);
+z52=(559FX,672FY);
+z53=(636FX,672FY);
+z54=(638FX,655FY);
+z55=(638FX,643FY);
+z56=(618FX,571FY);
+z57=(615FX,567FY);
+FuF (z1
+{-4,-29} .. {-14,-37}z2
+{-16,-44} .. {-20,-27}z3
+{-25,-33} .. {-25,0}z4
+{-15,0} .. {-9,7}z5
+{-12,8} .. {-2,17}z6
+{-1,4} .. {0,5}z7
+{0,1} .. {0,2}z8
+{1,4} .. {0,2}z9
+{2,23} .. {9,26}z10
+{7,21} .. {11,22}z11
+{8,16} .. {10,18}z12
+{14,27} .. {11,17}z13
+{16,25} .. {24,33}z14
+);
+FuF (z15
+-- z16
+);
+FuF (z17
+-- z18
+-- z19
+-- z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+-- z26
+-- z27
+-- z28
+-- z29
+-- z30
+-- z31
+-- z32
+{-7,-9} .. {-6,-10}z33
+{-35,-53} .. {-19,-34}z34
+{-28,-49} .. {-14,-38}z35
+{-17,-46} .. {0,-36}z36
+{0,-41} .. {23,-21}z37
+{20,-19} .. {31,0}z38
+{36,0} .. {35,35}z39
+{30,30} .. {25,51}z40
+{22,47} .. {10,47}z41
+-- z42
+-- z43
+-- z44
+-- z45
+-- z46
+-- z47
+-- z48
+-- z49
+-- z50
+-- z51
+-- z52
+-- z53
+{1,-8} .. {0,-3}z54
+{0,-3} .. {0,-5}z55
+{0,-25} .. {-13,-24}z56
+{-1,-1} .. {-1,-2}z57
+);
+lbl (range 1 thru 57);
+endchar;
+
+
+beginchar(CYR_a,491FX#,465FY#,11FY#);
+"agrave";
+z1=(224FX,465FY);
+z2=(204FX,459FY);
+z3=(207FX,439FY);
+z4=(214FX,405FY);
+z5=(154FX,330FY);
+z6=(29FX,119FY);
+z7=(136FX,-11FY);
+z8=(294FX,151FY);
+z9=(307FX,106FY);
+z10=(319FX,68FY);
+z11=(332FX,16FY);
+z12=(343FX,0FY);
+z13=(445FX,0FY);
+z14=(465FX,9FY);
+z15=(368FX,325FY);
+z16=(360FX,355FY);
+z17=(345FX,412FY);
+z18=(338FX,459FY);
+z19=(326FX,465FY);
+z20=(232FX,366FY);
+z21=(247FX,313FY);
+z22=(260FX,269FY);
+z23=(276FX,196FY);
+z24=(191FX,115FY);
+z25=(132FX,183FY);
+z26=(232FX,366FY);
+FuF (z1
+{-7,0} .. {0,-8}z2
+{0,-5} .. {3,-10}z3
+{4,-12} .. {0,-10}z4
+{0,-17} .. {-36,-42}z5
+{-37,-42} .. {0,-76}z6
+{0,-48} .. {85,0}z7
+{88,0} .. {25,82}z8
+{7,-21} .. {4,-17}z9
+{6,-20} .. {5,-14}z10
+{9,-31} .. {2,-13}z11
+{2,-9} .. {8,0}z12
+-- z13
+{10,0} .. {0,8}z14
+{0,24} .. {-69,280}z15
+{-3,12} .. {-3,10}z16
+{-7,30} .. {-4,15}z17
+{-7,28} .. {-1,9}z18
+{-2,6} .. {-7,0}z19
+);
+FuF (z20
+{8,-23} .. {4,-19}z21
+{4,-17} .. {7,-22}z22
+{11,-38} .. {0,-16}z23
+{0,-30} .. {-57,0}z24
+{-44,0} .. {0,28}z25
+{0,19} .. {90,98}z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(CYR_be,523FX#,465FY#,0FY#);
+"aacute";
+z1=(244FX,431FY);
+z2=(370FX,374FY);
+z3=(370FX,342FY);
+z4=(366FX,299FY);
+z5=(412FX,297FY);
+z6=(453FX,390FY);
+z7=(476FX,446FY);
+z8=(307FX,465FY);
+z9=(87FX,465FY);
+z10=(54FX,357FY);
+z11=(47FX,73FY);
+z12=(77FX,0FY);
+z13=(411FX,0FY);
+z14=(468FX,38FY);
+z15=(389FX,197FY);
+z16=(170FX,257FY);
+z17=(181FX,431FY);
+z18=(169FX,34FY);
+z19=(168FX,83FY);
+z20=(168FX,140FY);
+z21=(170FX,212FY);
+z22=(331FX,66FY);
+z23=(329FX,34FY);
+z24=(312FX,34FY);
+FuF (z1
+{73,0} .. {7,-56}z2
+{1,-11} .. {-1,-11}z3
+{-1,-16} .. {-3,-17}z4
+-- z5
+{20,50} .. {11,20}z6
+{12,21} .. {0,15}z7
+{0,37} .. {-100,0}z8
+-- z9
+{-34,0} .. {-4,-85}z10
+{-1,-18} .. {0,-68}z11
+{0,-58} .. {28,0}z12
+-- z13
+{33,0} .. {0,40}z14
+{0,43} .. {-59,46}z15
+{-61,48} .. {-73,3}z16
+{-1,69} .. {1,8}z17
+);
+FuF (z18
+-- z19
+-- z20
+{0,39} .. {3,24}z21
+{41,3} .. {0,-143}z22
+{0,-13} .. {-3,-11}z23
+-- z24
+);
+lbl (range 1 thru 24);
+endchar;
+
+beginchar(CYR_ve,540FX#,465FY#,0FY#);
+"acircumflex";
+z1=(107FX,465FY);
+z2=(65FX,172FY);
+z3=(97FX,0FY);
+z4=(403FX,0FY);
+z5=(493FX,67FY);
+z6=(263FX,256FY);
+z7=(263FX,262FY);
+z8=(442FX,408FY);
+z9=(347FX,465FY);
+z10=(188FX,281FY);
+z11=(195FX,430FY);
+z12=(311FX,391FY);
+z13=(188FX,281FY);
+z14=(189FX,36FY);
+z15=(186FX,159FY);
+z16=(188FX,242FY);
+z17=(347FX,93FY);
+z18=(252FX,34FY);
+z19=(189FX,36FY);
+FuF (z1
+{-35,0} .. {-6,-275}z2
+{-4,-160} .. {27,0}z3
+-- z4
+{48,0} .. {0,64}z5
+{0,121} .. {-71,17}z6
+-- z7
+{92,28} .. {0,82}z8
+{0,53} .. {-59,0}z9
+);
+FuF (z10
+{-1,49} .. {5,50}z11
+{65,4} .. {0,-48}z12
+{0,-45} .. {-79,4}z13
+);
+FuF (z14
+{-2,58} .. {0,30}z15
+{0,30} .. {0,7}z16
+{103,7} .. {0,-54}z17
+{0,-57} .. {-63,0}z18
+{-24,0} .. {-5,0}z19
+);
+lbl (range 1 thru 19);
+endchar;
+
+beginchar(CYR_ghe,445FX#,468FY#,0FY#);
+"atilde";
+z1=(253FX,431FY);
+z2=(340FX,346FY);
+z3=(334FX,295FY);
+z4=(376FX,291FY);
+z5=(386FX,321FY);
+z6=(403FX,364FY);
+z7=(422FX,403FY);
+z8=(439FX,447FY);
+z9=(392FX,468FY);
+z10=(140FX,465FY);
+z11=(98FX,466FY);
+z12=(60FX,266FY);
+z13=(98FX,0FY);
+z14=(158FX,0FY);
+z15=(198FX,29FY);
+z16=(181FX,270FY);
+z17=(193FX,431FY);
+FuF (z1
+{82,0} .. {0,-42}z2
+{0,-14} .. {-2,-13}z3
+-- z4
+{6,15} .. {3,10}z5
+{5,16} .. {11,23}z6
+{11,24} .. {6,12}z7
+{12,21} .. {0,10}z8
+{0,22} .. {-21,-1}z9
+{-140,-6} .. {-52,4}z10
+{-14,1} .. {-14,0}z11
+{-29,0} .. {0,-187}z12
+{0,-246} .. {35,0}z13
+-- z14
+{42,0} .. {0,17}z15
+{0,41} .. {0,152}z16
+{0,50} .. {8,52}z17
+);
+lbl (range 1 thru 17);
+endchar;
+
+beginchar(CYR_de,561FX#,468FY#,188FY#);
+"adieresis";
+z1=(308FX,-1FY);
+z2=(424FX,-78FY);
+z3=(397FX,-181FY);
+z4=(448FX,-188FY);
+z5=(528FX,-43FY);
+z6=(554FX,15FY);
+z7=(525FX,37FY);
+z8=(516FX,36FY);
+z9=(416FX,237FY);
+z10=(372FX,445FY);
+z11=(352FX,468FY);
+z12=(279FX,465FY);
+z13=(219FX,467FY);
+z14=(196FX,459FY);
+z15=(203FX,437FY);
+z16=(212FX,396FY);
+z17=(105FX,60FY);
+z18=(48FX,37FY);
+z19=(29FX,37FY);
+z20=(1FX,15FY);
+z21=(29FX,-47FY);
+z22=(106FX,-188FY);
+z23=(157FX,-181FY);
+z24=(130FX,-78FY);
+z25=(232FX,-1FY);
+z26=(138FX,33FY);
+z27=(194FX,174FY);
+z28=(248FX,376FY);
+z29=(263FX,376FY);
+z30=(270FX,332FY);
+z31=(331FX,109FY);
+z32=(365FX,33FY);
+FuF (z1
+{26,0} .. {0,-74}z2
+{0,-24} .. {-13,-32}z3
+-- z4
+{33,80} .. {12,16}z5
+{11,16} .. {0,19}z6
+{0,11} .. {-17,0}z7
+{-3,0} .. {-3,-1}z8
+{-22,-2} .. {-63,201}z9
+{-17,55} .. {-2,61}z10
+{-1,23} .. {-11,0}z11
+{-25,0} .. {-35,0}z12
+{-12,0} .. {-10,0}z13
+{-7,0} .. {0,-9}z14
+{0,-5} .. {6,-11}z15
+{5,-9} .. {0,-22}z16
+{0,-61} .. {-37,-53}z17
+{-10,-14} .. {-36,1}z18
+{-6,0} .. {-6,-1}z19
+{-22,-2} .. {0,-6}z20
+{0,-19} .. {14,-20}z21
+{29,-39} .. {21,-50}z22
+-- z23
+{-13,30} .. {0,23}z24
+{0,53} .. {58,0}z25
+);
+FuF (z26
+{18,33} .. {28,82}z27
+{12,37} .. {14,83}z28
+-- z29
+{4,-22} .. {2,-12}z30
+{5,-38} .. {47,-126}z31
+{13,-36} .. {14,-24}z32
+);
+lbl (range 1 thru 32);
+endchar;
+
+beginchar(CYR_e,385FX#,477FY#,13FY#);
+"aring";
+z1=(104FX,31FY);
+z2=(144FX,-13FY);
+z3=(170FX,-13FY);
+z4=(330FX,52FY);
+z5=(329FX,76FY);
+z6=(329FX,97FY);
+z7=(329FX,103FY);
+z8=(318FX,110FY);
+z9=(261FX,86FY);
+z10=(209FX,74FY);
+z11=(176FX,149FY);
+z12=(294FX,199FY);
+z13=(305FX,210FY);
+z14=(296FX,262FY);
+z15=(296FX,282FY);
+z16=(284FX,289FY);
+z17=(157FX,236FY);
+z18=(151FX,294FY);
+z19=(277FX,368FY);
+z20=(283FX,368FY);
+z21=(313FX,388FY);
+z22=(327FX,463FY);
+z23=(304FX,477FY);
+z24=(43FX,287FY);
+z25=(104FX,31FY);
+FuF (z1
+{8,-19} .. {23,-5}z2
+{8,-2} .. {9,1}z3
+{62,7} .. {0,38}z4
+{0,8} .. {0,8}z5
+{0,7} .. {1,7}z6
+{0,2} .. {-1,2}z7
+{-1,4} .. {-6,0}z8
+{-10,0} .. {-36,-14}z9
+{-24,-10} .. {-17,0}z10
+{-20,0} .. {-3,26}z11
+{26,34} .. {27,1}z12
+{7,0} .. {0,11}z13
+{0,10} .. {2,27}z14
+{0,7} .. {-2,7}z15
+{-2,6} .. {-7,0}z16
+{-25,0} .. {-20,-12}z17
+{-3,14} .. {0,15}z18
+{0,51} .. {91,0}z19
+{2,0} .. {2,0}z20
+{33,0} .. {0,11}z21
+{-1,46} .. {0,43}z22
+{0,16} .. {-9,-1}z23
+{-67,-7} .. {0,-172}z24
+{0,-72} .. {24,-62}z25
+);
+lbl (range 1 thru 25);
+endchar;
+
+beginchar(CYR_zhe,727FX#,476FY#,3FY#);
+"ae";
+z1=(425FX,206FY);
+z2=(561FX,33FY);
+z3=(587FX,-1FY);
+z4=(630FX,0FY);
+z5=(655FX,-1FY);
+z6=(683FX,-3FY);
+z7=(708FX,15FY);
+z8=(634FX,153FY);
+z9=(465FX,237FY);
+z10=(598FX,356FY);
+z11=(629FX,343FY);
+z12=(647FX,334FY);
+z13=(659FX,356FY);
+z14=(681FX,459FY);
+z15=(652FX,476FY);
+z16=(444FX,278FY);
+z17=(423FX,242FY);
+z18=(423FX,281FY);
+z19=(423FX,312FY);
+z20=(423FX,352FY);
+z21=(432FX,450FY);
+z22=(408FX,465FY);
+z23=(337FX,465FY);
+z24=(305FX,395FY);
+z25=(305FX,357FY);
+z26=(305FX,313FY);
+z27=(304FX,242FY);
+z28=(77FX,476FY);
+z29=(48FX,459FY);
+z30=(70FX,356FY);
+z31=(82FX,334FY);
+z32=(101FX,343FY);
+z33=(132FX,356FY);
+z34=(265FX,237FY);
+z35=(38FX,62FY);
+z36=(22FX,15FY);
+z37=(46FX,-3FY);
+z38=(75FX,-1FY);
+z39=(99FX,0FY);
+z40=(120FX,0FY);
+z41=(142FX,-1FY);
+z42=(172FX,44FY);
+z43=(303FX,206FY);
+z44=(305FX,123FY);
+z45=(340FX,0FY);
+z46=(396FX,0FY);
+z47=(435FX,29FY);
+z48=(425FX,206FY);
+FuF (z1
+{41,-7} .. {48,-138}z2
+{11,-30} .. {15,0}z3
+{18,0} .. {26,0}z4
+{8,0} .. {8,0}z5
+{9,-1} .. {10,0}z6
+{12,0} .. {0,17}z7
+{0,21} .. {-39,42}z8
+{-33,35} .. {-82,10}z9
+{46,93} .. {40,0}z10
+{16,0} .. {6,-5}z11
+{4,-4} .. {7,0}z12
+{12,0} .. {0,7}z13
+{2,66} .. {0,15}z14
+{0,8} .. {-19,0}z15
+{-57,0} .. {-62,-107}z16
+{-12,-22} .. {-7,-11}z17
+{0,30} .. {0,18}z18
+{0,10} .. {0,11}z19
+{0,13} .. {0,13}z20
+{3,78} .. {0,13}z21
+{0,8} .. {-23,0}z22
+-- z23
+{-21,0} .. {-1,-65}z24
+{0,-13} .. {0,-13}z25
+{0,-15} .. {0,-15}z26
+{-1,-32} .. {0,-36}z27
+{-81,154} .. {-53,0}z28
+{-19,0} .. {0,-8}z29
+{0,-15} .. {2,-66}z30
+{0,-8} .. {12,0}z31
+{8,0} .. {5,5}z32
+{6,5} .. {16,0}z33
+{25,0} .. {51,-106}z34
+{-147,-17} .. {-24,-50}z35
+{-11,-23} .. {0,-11}z36
+{0,-17} .. {14,0}z37
+{11,0} .. {9,1}z38
+{8,0} .. {8,0}z39
+{7,0} .. {7,0}z40
+{7,-1} .. {8,0}z41
+{17,0} .. {15,42}z42
+{46,132} .. {31,6}z43
+{1,-27} .. {1,-29}z44
+{2,-122} .. {30,0}z45
+-- z46
+{44,0} .. {-2,16}z47
+{-6,46} .. {4,81}z48
+);
+lbl (range 1 thru 48);
+endchar;
+
+beginchar(CYR_ze,522FX#,476FY#,59FY#);
+"ccedilla";
+z1=(213FX,198FY);
+z2=(258FX,198FY);
+z3=(357FX,108FY);
+z4=(285FX,11FY);
+z5=(208FX,34FY);
+z6=(145FX,61FY);
+z7=(0FX,-34FY);
+z8=(21FX,-59FY);
+z9=(192FX,-8FY);
+z10=(271FX,-31FY);
+z11=(357FX,-49FY);
+z12=(498FX,84FY);
+z13=(344FX,213FY);
+z14=(320FX,218FY);
+z15=(320FX,224FY);
+z16=(476FX,355FY);
+z17=(297FX,476FY);
+z18=(79FX,308FY);
+z19=(81FX,291FY);
+z20=(200FX,330FY);
+z21=(198FX,344FY);
+z22=(197FX,358FY);
+z23=(275FX,442FY);
+z24=(344FX,353FY);
+z25=(213FX,240FY);
+FuF (z1
+-- z2
+{50,0} .. {0,-57}z3
+{0,-72} .. {-33,0}z4
+{-22,0} .. {-27,19}z5
+{-18,12} .. {-32,0}z6
+{-60,0} .. {-42,-46}z7
+-- z8
+{37,21} .. {57,0}z9
+{17,0} .. {44,-15}z10
+{26,-9} .. {37,0}z11
+{92,0} .. {0,78}z12
+{0,102} .. {-49,7}z13
+{-10,2} .. {-9,2}z14
+-- z15
+{74,9} .. {0,98}z16
+{0,86} .. {-87,0}z17
+{-110,0} .. {0,-119}z18
+{0,-7} .. {4,0}z19
+{49,0} .. {0,21}z20
+{0,5} .. {-1,4}z21
+{0,5} .. {0,5}z22
+{0,34} .. {56,0}z23
+{47,0} .. {0,-50}z24
+{0,-86} .. {-85,-1}z25
+);
+lbl (range 1 thru 25);
+endchar;
+
+beginchar(CYR_i,538FX#,465FY#,0FY#);
+"egrave";
+z1=(179FX,270FY);
+z2=(191FX,408FY);
+z3=(196FX,449FY);
+z4=(183FX,465FY);
+z5=(94FX,465FY);
+z6=(58FX,266FY);
+z7=(63FX,102FY);
+z8=(67FX,39FY);
+z9=(96FX,0FY);
+z10=(155FX,0FY);
+z11=(195FX,29FY);
+z12=(179FX,229FY);
+z13=(347FX,330FY);
+z14=(383FX,0FY);
+z15=(442FX,0FY);
+z16=(482FX,29FY);
+z17=(466FX,270FY);
+z18=(478FX,408FY);
+z19=(483FX,449FY);
+z20=(470FX,465FY);
+z21=(383FX,465FY);
+z22=(349FX,371FY);
+FuF (z1
+{0,65} .. {6,39}z2
+{3,22} .. {0,9}z3
+{0,6} .. {-13,0}z4
+-- z5
+{-22,0} .. {0,-193}z6
+{0,-73} .. {4,-58}z7
+{2,-21} .. {1,-22}z8
+{2,-34} .. {16,0}z9
+-- z10
+{42,0} .. {-2,17}z11
+{-6,45} .. {-2,72}z12
+-- z13
+{-16,-307} .. {30,0}z14
+-- z15
+{42,0} .. {-2,17}z16
+{-10,74} .. {0,103}z17
+{0,67} .. {8,47}z18
+{3,22} .. {0,9}z19
+{0,6} .. {-13,0}z20
+-- z21
+{-31,0} .. {-5,-85}z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(CYR_short_i,532FX#,667FY#,0FY#);
+"eacute";
+z1=(176FX,270FY);
+z2=(188FX,408FY);
+z3=(193FX,449FY);
+z4=(180FX,465FY);
+z5=(91FX,465FY);
+z6=(55FX,266FY);
+z7=(60FX,102FY);
+z8=(64FX,39FY);
+z9=(93FX,0FY);
+z10=(152FX,0FY);
+z11=(192FX,29FY);
+z12=(176FX,229FY);
+z13=(344FX,330FY);
+z14=(380FX,0FY);
+z15=(439FX,0FY);
+z16=(479FX,29FY);
+z17=(463FX,270FY);
+z18=(475FX,408FY);
+z19=(480FX,449FY);
+z20=(467FX,465FY);
+z21=(380FX,465FY);
+z22=(346FX,371FY);
+z23=(381FX,640FY);
+z24=(372FX,627FY);
+z25=(291FX,595FY);
+z26=(216FX,667FY);
+z27=(189FX,660FY);
+z28=(195FX,633FY);
+z29=(278FX,505FY);
+z30=(403FX,626FY);
+FuF (z1
+{0,65} .. {6,39}z2
+{3,22} .. {0,9}z3
+{0,6} .. {-13,0}z4
+-- z5
+{-22,0} .. {0,-193}z6
+{0,-73} .. {4,-58}z7
+{2,-21} .. {1,-22}z8
+{2,-34} .. {16,0}z9
+-- z10
+{42,0} .. {-2,17}z11
+{-6,45} .. {-2,72}z12
+-- z13
+{-16,-307} .. {30,0}z14
+-- z15
+{42,0} .. {-2,17}z16
+{-10,74} .. {0,103}z17
+{0,67} .. {8,47}z18
+{3,22} .. {0,9}z19
+{0,6} .. {-13,0}z20
+-- z21
+{-31,0} .. {-5,-85}z22
+);
+FuF (z23
+-- z24
+{-14,-20} .. {-37,0}z25
+{-43,0} .. {-10,28}z26
+-- z27
+-- z28
+{18,-81} .. {28,0}z29
+{25,0} .. {46,103}z30
+);
+lbl (range 1 thru 30);
+endchar;
+
+beginchar(CYR_ka,483FX#,476FY#,3FY#);
+"ecircumflex";
+z1=(178FX,252FY);
+z2=(188FX,405FY);
+z3=(194FX,452FY);
+z4=(182FX,468FY);
+z5=(171FX,468FY);
+z6=(121FX,465FY);
+z7=(95FX,467FY);
+z8=(57FX,266FY);
+z9=(95FX,0FY);
+z10=(142FX,0FY);
+z11=(188FX,29FY);
+z12=(178FX,217FY);
+z13=(310FX,39FY);
+z14=(350FX,-2FY);
+z15=(383FX,0FY);
+z16=(419FX,-3FY);
+z17=(456FX,10FY);
+z18=(216FX,242FY);
+z19=(237FX,272FY);
+z20=(351FX,366FY);
+z21=(397FX,335FY);
+z22=(423FX,336FY);
+z23=(424FX,357FY);
+z24=(453FX,460FY);
+z25=(410FX,476FY);
+z26=(186FX,252FY);
+FuF (z1
+{-2,69} .. {7,48}z2
+{4,25} .. {0,10}z3
+{0,5} .. {-13,3}z4
+{-4,1} .. {-4,0}z5
+{-17,-2} .. {-17,0}z6
+{-9,0} .. {-9,0}z7
+{-28,0} .. {0,-188}z8
+{0,-254} .. {36,0}z9
+-- z10
+{52,0} .. {-2,17}z11
+{-5,38} .. {1,96}z12
+{71,-23} .. {13,-83}z13
+{7,-48} .. {29,4}z14
+{12,2} .. {10,0}z15
+{11,0} .. {13,-1}z16
+{15,-2} .. {0,17}z17
+{0,39} .. {-200,57}z18
+{10,13} .. {8,12}z19
+{30,50} .. {34,0}z20
+{17,0} .. {9,-21}z21
+-- z22
+{0,7} .. {0,11}z23
+{5,83} .. {0,25}z24
+{0,8} .. {-23,0}z25
+{-87,0} .. {-54,-97}z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(oct"001",488FX#,747FY#,3FY#);
+"ecircumflex";
+z1=(81FX,547FY);
+z2=(86FX,204FY);
+z3=(120FX,0FY);
+z4=(157FX,0FY);
+z5=(202FX,159FY);
+z6=(202FX,551FY);
+z7=(219FX,731FY);
+z8=(206FX,747FY);
+z9=(195FX,747FY);
+z10=(149FX,745FY);
+z11=(120FX,746FY);
+z12=(81FX,547FY);
+z13=(168FX,0FY);
+z14=(200FX,119FY);
+z15=(200FX,267FY);
+z16=(336FX,109FY);
+z17=(376FX,-2FY);
+z18=(409FX,0FY);
+z19=(445FX,-3FY);
+z20=(482FX,10FY);
+z21=(200FX,322FY);
+z22=(383FX,490FY);
+z23=(10FX,490FY);
+z24=(10FX,454FY);
+z25=(383FX,454FY);
+z26=(200FX,490FY);
+z27=(190FX,490FY);
+z28=(190FX,100FY);
+z29=(200FX,100FY);
+FuF (z1
+{0,-65} .. {3,-67}z2
+{3,-69} .. {25,0}z3
+-- z4
+{54,0} .. {-3,20}z5
+{-5,34} .. {0,120}z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+);
+FuF (z13
+{52,0} .. {-2,17}z14
+{-5,38} .. {1,96}z15
+{71,-23} .. {13,-83}z16
+{7,-48} .. {29,4}z17
+{12,2} .. {10,0}z18
+{11,0} .. {13,-1}z19
+{15,-2} .. {0,17}z20
+{0,39} .. {-200,57}z21
+);
+FuF (z22
+-- z23
+-- z24
+-- z25
+);
+FuF (z26
+-- z27
+-- z28
+-- z29
+);
+lbl (range 1 thru 29);
+endchar;
+
+
+beginchar(CYR_el,479FX#,465FY#,2FY#);
+"edieresis";
+z1=(221FX,387FY);
+z2=(228FX,354FY);
+z3=(235FX,319FY);
+z4=(256FX,236FY);
+z5=(269FX,186FY);
+z6=(353FX,0FY);
+z7=(393FX,1FY);
+z8=(434FX,0FY);
+z9=(462FX,14FY);
+z10=(376FX,249FY);
+z11=(333FX,439FY);
+z12=(302FX,465FY);
+z13=(212FX,465FY);
+z14=(192FX,456FY);
+z15=(192FX,444FY);
+z16=(198FX,414FY);
+z17=(132FX,284FY);
+z18=(23FX,32FY);
+z19=(55FX,-2FY);
+z20=(102FX,0FY);
+z21=(155FX,-1FY);
+z22=(174FX,11FY);
+z23=(153FX,50FY);
+z24=(136FX,125FY);
+z25=(192FX,314FY);
+z26=(221FX,387FY);
+FuF (z1
+{2,-14} .. {3,-12}z2
+{2,-9} .. {4,-21}z3
+{6,-28} .. {13,-45}z4
+{4,-17} .. {7,-27}z5
+{51,-193} .. {28,1}z6
+{14,1} .. {13,0}z7
+{13,0} .. {15,-1}z8
+{11,-1} .. {0,18}z9
+{0,17} .. {-66,207}z10
+{-7,23} .. {3,47}z11
+{1,17} .. {-36,0}z12
+-- z13
+{-8,0} .. {-4,-9}z14
+{-2,-4} .. {1,-4}z15
+{3,-9} .. {0,-14}z16
+{0,-38} .. {-20,-33}z17
+{-51,-79} .. {0,-86}z18
+{0,-30} .. {26,0}z19
+{15,0} .. {16,0}z20
+{18,0} .. {17,0}z21
+{6,0} .. {0,13}z22
+{0,10} .. {-12,25}z23
+{-13,28} .. {0,29}z24
+{0,47} .. {47,104}z25
+{12,27} .. {9,31}z26
+);
+lbl (range 1 thru 26);
+endchar;
+
+beginchar(CYR_em,706FX#,465FY#,0FY#);
+"igrave";
+z1=(198FX,465FY);
+z2=(174FX,452FY);
+z3=(174FX,425FY);
+z4=(112FX,270FY);
+z5=(25FX,45FY);
+z6=(41FX,0FY);
+z7=(128FX,0FY);
+z8=(129FX,35FY);
+z9=(111FX,114FY);
+z10=(201FX,343FY);
+z11=(271FX,47FY);
+z12=(315FX,0FY);
+z13=(392FX,0FY);
+z14=(400FX,24FY);
+z15=(400FX,46FY);
+z16=(470FX,305FY);
+z17=(478FX,264FY);
+z18=(594FX,0FY);
+z19=(662FX,0FY);
+z20=(684FX,14FY);
+z21=(675FX,47FY);
+z22=(574FX,448FY);
+z23=(545FX,465FY);
+z24=(463FX,465FY);
+z25=(440FX,459FY);
+z26=(448FX,368FY);
+z27=(421FX,292FY);
+z28=(370FX,129FY);
+z29=(309FX,415FY);
+z30=(276FX,465FY);
+FuF (z1
+{-11,0} .. {-5,-15}z2
+{-3,-9} .. {1,-9}z3
+{5,-45} .. {-46,-74}z4
+{-28,-45} .. {0,-78}z5
+{0,-23} .. {15,0}z6
+-- z7
+{16,0} .. {-11,27}z8
+{-7,20} .. {0,34}z9
+{0,73} .. {55,68}z10
+{29,-152} .. {20,-65}z11
+{17,-54} .. {15,0}z12
+-- z13
+{12,0} .. {-1,5}z14
+{-1,7} .. {0,7}z15
+{5,74} .. {38,83}z16
+{5,-20} .. {2,-13}z17
+{11,-63} .. {54,0}z18
+-- z19
+{13,0} .. {0,16}z20
+{0,12} .. {-5,11}z21
+{-78,166} .. {-12,133}z22
+{-1,10} .. {-28,0}z23
+-- z24
+{-8,0} .. {0,-8}z25
+{0,-14} .. {0,-59}z26
+{0,-15} .. {-18,-39}z27
+{-8,-17} .. {-12,-77}z28
+{-19,73} .. {-8,76}z29
+{-5,44} .. {-27,0}z30
+);
+lbl (range 1 thru 30);
+endchar;
+
+beginchar(CYR_en,531FX#,467FY#,0FY#);
+"iacute";
+z1=(339FX,226FY);
+z2=(377FX,0FY);
+z3=(424FX,0FY);
+z4=(476FX,29FY);
+z5=(460FX,270FY);
+z6=(467FX,393FY);
+z7=(477FX,451FY);
+z8=(464FX,467FY);
+z9=(453FX,467FY);
+z10=(407FX,465FY);
+z11=(377FX,466FY);
+z12=(339FX,266FY);
+z13=(180FX,354FY);
+z14=(191FX,451FY);
+z15=(178FX,467FY);
+z16=(167FX,467FY);
+z17=(122FX,465FY);
+z18=(92FX,466FY);
+z19=(57FX,266FY);
+z20=(92FX,0FY);
+z21=(139FX,0FY);
+z22=(192FX,29FY);
+z23=(178FX,251FY);
+z24=(178FX,313FY);
+FuF (z1
+{3,-208} .. {37,0}z2
+-- z3
+{55,0} .. {0,19}z4
+{0,42} .. {0,151}z5
+{0,43} .. {5,37}z6
+{6,41} .. {0,13}z7
+{0,5} .. {-12,2}z8
+{-4,1} .. {-4,0}z9
+{-15,-2} .. {-15,0}z10
+{-13,0} .. {-10,0}z11
+{-26,0} .. {3,-188}z12
+-- z13
+{5,91} .. {0,64}z14
+{0,7} .. {-13,2}z15
+{-4,1} .. {-4,0}z16
+{-15,-1} .. {-15,0}z17
+{-9,0} .. {-10,0}z18
+{-26,0} .. {0,-195}z19
+{0,-238} .. {32,0}z20
+-- z21
+{54,0} .. {0,20}z22
+{0,63} .. {1,148}z23
+{0,34} .. {0,25}z24
+);
+lbl (range 1 thru 24);
+endchar;
+
+beginchar(CYR_o,453FX#,486FY#,14FY#);
+"icircumflex";
+z1=(44FX,208FY);
+z2=(228FX,-14FY);
+z3=(409FX,262FY);
+z4=(223FX,486FY);
+z5=(44FX,208FY);
+z6=(146FX,381FY);
+z7=(327FX,171FY);
+z8=(310FX,102FY);
+z9=(115FX,306FY);
+z10=(146FX,381FY);
+FuF (z1
+{0,-102} .. {66,0}z2
+{68,0} .. {0,116}z3
+{0,158} .. {-44,0}z4
+{-47,0} .. {0,-160}z5
+);
+FuF (z6
+{112,-11} .. {0,-99}z7
+{0,-25} .. {-13,-24}z8
+{-136,-14} .. {0,68}z9
+{0,22} .. {19,22}z10
+);
+lbl (range 1 thru 10);
+endchar;
+
+beginchar(CYR_pe,545FX#,467FY#,0FY#);
+"idieresis";
+z1=(352FX,431FY);
+z2=(343FX,266FY);
+z3=(381FX,0FY);
+z4=(439FX,0FY);
+z5=(479FX,29FY);
+z6=(464FX,270FY);
+z7=(474FX,404FY);
+z8=(480FX,450FY);
+z9=(457FX,467FY);
+z10=(441FX,466FY);
+z11=(422FX,465FY);
+z12=(104FX,465FY);
+z13=(65FX,266FY);
+z14=(104FX,0FY);
+z15=(162FX,0FY);
+z16=(202FX,29FY);
+z17=(186FX,270FY);
+z18=(201FX,431FY);
+FuF (z1
+{-8,-63} .. {0,-60}z2
+{0,-254} .. {35,0}z3
+-- z4
+{42,0} .. {-2,17}z5
+{-16,120} .. {0,45}z6
+{0,71} .. {7,47}z7
+{4,24} .. {0,10}z8
+{0,6} .. {-24,0}z9
+{-5,0} .. {-5,-1}z10
+{-7,-1} .. {-6,0}z11
+-- z12
+{-27,0} .. {0,-185}z13
+{0,-254} .. {35,0}z14
+-- z15
+{42,0} .. {-2,17}z16
+{-4,31} .. {0,118}z17
+{0,53} .. {10,57}z18
+);
+lbl (range 1 thru 18);
+endchar;
+
+beginchar(CYR_er,467FX#,479FY#,263FY#);
+"eth";
+z1=(145FX,69FY);
+z2=(277FX,-15FY);
+z3=(417FX,180FY);
+z4=(238FX,479FY);
+z5=(50FX,204FY);
+z6=(68FX,-32FY);
+z7=(73FX,-165FY);
+z8=(72FX,-247FY);
+z9=(72FX,-253FY);
+z10=(95FX,-263FY);
+z11=(158FX,-129FY);
+z12=(149FX,37FY);
+z13=(145FX,69FY);
+z14=(173FX,389FY);
+z15=(310FX,154FY);
+z16=(310FX,118FY);
+z17=(256FX,44FY);
+z18=(131FX,240FY);
+z19=(173FX,389FY);
+FuF (z1
+{25,-44} .. {51,0}z2
+{80,0} .. {0,114}z3
+{0,163} .. {-61,0}z4
+{-48,0} .. {0,-180}z5
+{0,-70} .. {11,-123}z6
+{6,-65} .. {0,-35}z7
+{0,-46} .. {-2,-19}z8
+{0,-2} .. {1,-2}z9
+{2,-7} .. {7,0}z10
+{35,0} .. {0,108}z11
+{0,73} .. {-3,23}z12
+{-2,17} .. {-2,12}z13
+);
+FuF (z14
+{78,-36} .. {5,-69}z15
+{1,-12} .. {-1,-12}z16
+{-5,-63} .. {-17,0}z17
+{-46,0} .. {0,122}z18
+{0,63} .. {32,46}z19
+);
+lbl (range 1 thru 19);
+endchar;
+
+beginchar(oct"164",1019FX#,478FY#,11FY#);
+"bar";
+z1=(151FX,286FY);
+z2=(139FX,343FY);
+z3=(256FX,431FY);
+z4=(278FX,431FY);
+z5=(267FX,171FY);
+z6=(267FX,39FY);
+z7=(301FX,0FY);
+z8=(549FX,0FY);
+z9=(572FX,-1FY);
+z10=(606FX,-2FY);
+z11=(663FX,39FY);
+z12=(584FX,197FY);
+z13=(390FX,256FY);
+z14=(393FX,352FY);
+z15=(407FX,450FY);
+z16=(394FX,466FY);
+z17=(337FX,465FY);
+z18=(244FX,465FY);
+z19=(112FX,470FY);
+z20=(53FX,478FY);
+z21=(24FX,441FY);
+z22=(41FX,396FY);
+z23=(99FX,277FY);
+z24=(391FX,34FY);
+z25=(388FX,159FY);
+z26=(390FX,212FY);
+z27=(523FX,67FY);
+z28=(522FX,35FY);
+z29=(505FX,34FY);
+z30=(702FX,266FY);
+z31=(780FX,-11FY);
+z32=(977FX,30FY);
+z33=(994FX,53FY);
+z34=(995FX,72FY);
+z35=(981FX,86FY);
+z36=(854FX,48FY);
+z37=(822FX,183FY);
+z38=(833FX,401FY);
+z39=(839FX,451FY);
+z40=(827FX,467FY);
+z41=(816FX,467FY);
+z42=(770FX,465FY);
+z43=(740FX,466FY);
+z44=(702FX,266FY);
+FuF (z1
+{-2,6} .. {0,27}z2
+{0,38} .. {109,0}z3
+-- z4
+{-8,-68} .. {0,-131}z5
+-- z6
+{0,-37} .. {13,0}z7
+-- z8
+{8,0} .. {8,0}z9
+{11,-1} .. {9,0}z10
+{26,-1} .. {0,46}z11
+{0,20} .. {-76,59}z12
+{-31,24} .. {-100,2}z13
+{0,27} .. {3,35}z14
+{5,74} .. {0,21}z15
+{0,5} .. {-12,0}z16
+{-7,0} .. {-42,0}z17
+-- z18
+{-33,0} .. {-31,4}z19
+{-26,3} .. {-15,0}z20
+{-14,0} .. {0,-20}z21
+{0,-20} .. {8,-12}z22
+{29,-43} .. {16,-50}z23
+);
+FuF (z24
+{-3,46} .. {0,52}z25
+{0,26} .. {2,16}z26
+{122,-15} .. {0,-37}z27
+{0,-13} .. {-1,-10}z28
+-- z29
+);
+FuF (z30
+{0,-220} .. {96,0}z31
+{93,0} .. {32,13}z32
+{16,7} .. {0,7}z33
+{0,8} .. {0,6}z34
+{0,10} .. {-6,0}z35
+{-62,0} .. {-77,0}z36
+{-40,0} .. {0,79}z37
+{0,152} .. {8,48}z38
+{4,27} .. {0,11}z39
+{0,5} .. {-13,3}z40
+{-4,1} .. {-4,0}z41
+{-15,-2} .. {-15,0}z42
+{-13,0} .. {-10,0}z43
+{-28,0} .. {0,-188}z44
+);
+lbl (range 1 thru 44);
+endchar;
+
+beginchar(oct"156",518FX#,733FY#,0FY#);
+"braceright";
+z1=(278FX,39FY);
+z2=(309FX,0FY);
+z3=(370FX,0FY);
+z4=(407FX,29FY);
+z5=(399FX,149FY);
+z6=(406FX,237FY);
+z7=(393FX,252FY);
+z8=(382FX,252FY);
+z9=(336FX,251FY);
+z10=(307FX,252FY);
+z11=(277FX,203FY);
+z12=(177FX,308FY);
+z13=(275FX,432FY);
+z14=(345FX,368FY);
+z15=(362FX,338FY);
+z16=(467FX,387FY);
+z17=(258FX,476FY);
+z18=(46FX,295FY);
+z19=(278FX,160FY);
+z20=(133FX,640FY);
+z21=(57FX,551FY);
+z22=(88FX,512FY);
+z23=(134FX,512FY);
+z24=(168FX,541FY);
+z25=(166FX,600FY);
+z26=(167FX,603FY);
+z27=(171FX,605FY);
+z28=(172FX,605FY);
+z29=(175FX,606FY);
+z30=(180FX,606FY);
+z31=(343FX,606FY);
+z32=(472FX,693FY);
+z33=(441FX,733FY);
+z34=(395FX,733FY);
+z35=(361FX,704FY);
+z36=(363FX,646FY);
+z37=(363FX,644FY);
+z38=(355FX,639FY);
+z39=(349FX,639FY);
+FuF (z1
+{0,-38} .. {11,0}z2
+-- z3
+{41,0} .. {-2,14}z4
+{-5,35} .. {0,32}z5
+{0,59} .. {0,14}z6
+{0,8} .. {-13,2}z7
+{-4,1} .. {-4,0}z8
+{-15,-1} .. {-15,0}z9
+{-9,0} .. {-10,0}z10
+{-10,0} .. {5,-46}z11
+{-27,1} .. {0,92}z12
+{0,84} .. {57,0}z13
+{47,0} .. {7,-20}z14
+{6,-16} .. {6,0}z15
+{23,0} .. {0,12}z16
+{0,22} .. {-115,0}z17
+{-100,0} .. {0,-145}z18
+{0,-134} .. {104,25}z19
+);
+FuF (z20
+{-48,0} .. {0,-101}z21
+{0,-37} .. {14,0}z22
+-- z23
+{15,0} .. {-3,33}z24
+{-4,45} .. {3,5}z25
+{0,1} .. {0,2}z26
+{2,3} .. {2,0}z27
+-- z28
+{1,0} .. {1,0}z29
+{2,1} .. {2,0}z30
+-- z31
+{107,0} .. {0,105}z32
+{0,38} .. {-14,0}z33
+-- z34
+{-38,0} .. {2,-16}z35
+{2,-17} .. {0,-12}z36
+{0,-1} .. {0,-1}z37
+{1,-4} .. {-4,0}z38
+-- z39
+);
+lbl (range 1 thru 39);
+endchar;
+
+
+beginchar(oct"016",657FX#,465FY#,1FY#);
+"less";
+z1=(307FX,465FY);
+z2=(280FX,445FY);
+z3=(281FX,430FY);
+z4=(190FX,289FY);
+z5=(24FX,27FY);
+z6=(24FX,15FY);
+z7=(38FX,0FY);
+z8=(585FX,0FY);
+z9=(618FX,-1FY);
+z10=(633FX,28FY);
+z11=(489FX,317FY);
+z12=(411FX,413FY);
+z13=(393FX,465FY);
+z14=(388FX,465FY);
+z15=(378FX,465FY);
+z16=(329FX,36FY);
+z17=(239FX,262FY);
+z18=(306FX,385FY);
+z19=(396FX,262FY);
+z20=(158FX,38FY);
+z21=(199FX,219FY);
+z22=(272FX,38FY);
+z23=(380FX,38FY);
+z24=(432FX,216FY);
+z25=(498FX,38FY);
+FuF (z1
+{-29,0} .. {1,-11}z2
+{1,-5} .. {0,-5}z3
+{0,-45} .. {-70,-62}z4
+{-61,-54} .. {-7,-121}z5
+{0,-4} .. {0,-4}z6
+{1,-14} .. {9,0}z7
+-- z8
+{15,0} .. {12,0}z9
+{11,0} .. {0,25}z10
+{0,112} .. {-73,83}z11
+{-44,50} .. {-12,22}z12
+{-11,23} .. {-10,2}z13
+{-2,0} .. {-2,0}z14
+{-4,0} .. {-3,0}z15
+);
+FuF (z16
+-- z17
+{40,52} .. {8,24}z18
+{25,-40} .. {46,-57}z19
+);
+FuF (z20
+{-5,69} .. {39,57}z21
+-- z22
+);
+FuF (z23
+-- z24
+{40,-59} .. {-8,-69}z25
+);
+lbl (range 1 thru 25);
+endchar;
+
+beginchar(oct"013",878FX#,467FY#,3FY#);
+"greater";
+z1=(178FX,259FY);
+z2=(188FX,401FY);
+z3=(194FX,451FY);
+z4=(182FX,467FY);
+z5=(171FX,467FY);
+z6=(125FX,465FY);
+z7=(95FX,466FY);
+z8=(57FX,266FY);
+z9=(95FX,0FY);
+z10=(119FX,0FY);
+z11=(142FX,0FY);
+z12=(193FX,29FY);
+z13=(178FX,221FY);
+z14=(328FX,221FY);
+z15=(233FX,14FY);
+z16=(257FX,-3FY);
+z17=(310FX,0FY);
+z18=(353FX,-1FY);
+z19=(378FX,52FY);
+z20=(421FX,207FY);
+z21=(481FX,187FY);
+z22=(512FX,0FY);
+z23=(535FX,0FY);
+z24=(551FX,0FY);
+z25=(602FX,29FY);
+z26=(592FX,187FY);
+z27=(638FX,205FY);
+z28=(707FX,52FY);
+z29=(734FX,-1FY);
+z30=(777FX,0FY);
+z31=(798FX,-1FY);
+z32=(822FX,-3FY);
+z33=(848FX,28FY);
+z34=(667FX,345FY);
+z35=(598FX,453FY);
+z36=(582FX,465FY);
+z37=(513FX,465FY);
+z38=(486FX,445FY);
+z39=(496FX,413FY);
+z40=(364FX,259FY);
+z41=(518FX,370FY);
+z42=(620FX,237FY);
+z43=(531FX,215FY);
+z44=(437FX,237FY);
+z45=(518FX,370FY);
+FuF (z1
+{0,76} .. {7,45}z2
+{4,27} .. {0,11}z3
+{0,5} .. {-13,3}z4
+{-4,1} .. {-4,0}z5
+{-15,-2} .. {-15,0}z6
+{-13,0} .. {-10,0}z7
+{-28,0} .. {0,-188}z8
+{0,-255} .. {36,-1}z9
+{8,0} .. {8,0}z10
+{8,0} .. {8,0}z11
+{54,-2} .. {-2,17}z12
+{-14,109} .. {0,14}z13
+-- z14
+{-85,-91} .. {0,-19}z15
+{0,-17} .. {12,0}z16
+{13,0} .. {16,0}z17
+{18,0} .. {15,0}z18
+{19,0} .. {4,45}z19
+{9,86} .. {22,34}z20
+{11,-7} .. {34,-6}z21
+{-9,-180} .. {30,-1}z22
+{8,0} .. {8,0}z23
+{5,0} .. {5,0}z24
+{54,-1} .. {-2,18}z25
+{-7,49} .. {2,70}z26
+{14,3} .. {18,11}z27
+{20,-20} .. {16,-92}z28
+{8,-48} .. {19,0}z29
+{17,0} .. {25,0}z30
+{7,0} .. {7,0}z31
+{8,-1} .. {8,0}z32
+{17,0} .. {0,30}z33
+{0,105} .. {-61,74}z34
+{-44,53} .. {0,28}z35
+{0,10} .. {-19,0}z36
+-- z37
+{-29,0} .. {0,-11}z38
+{0,-27} .. {0,-26}z39
+{0,-20} .. {-111,-71}z40
+);
+FuF (z41
+{29,-48} .. {43,-48}z42
+{-10,-6} .. {-51,0}z43
+{-57,0} .. {-9,5}z44
+{40,57} .. {29,58}z45
+);
+lbl (range 1 thru 45);
+endchar;
+
+beginchar(oct"015",904FX#,467FY#,3FY#);
+"backslash";
+z1=(457FX,274FY);
+z2=(457FX,273FY);
+z3=(223FX,28FY);
+z4=(223FX,15FY);
+z5=(247FX,-3FY);
+z6=(300FX,0FY);
+z7=(344FX,-1FY);
+z8=(369FX,52FY);
+z9=(485FX,248FY);
+z10=(487FX,133FY);
+z11=(487FX,74FY);
+z12=(520FX,0FY);
+z13=(544FX,0FY);
+z14=(567FX,0FY);
+z15=(619FX,29FY);
+z16=(609FX,140FY);
+z17=(609FX,183FY);
+z18=(609FX,248FY);
+z19=(727FX,52FY);
+z20=(750FX,-1FY);
+z21=(794FX,0FY);
+z22=(819FX,-1FY);
+z23=(846FX,-3FY);
+z24=(871FX,15FY);
+z25=(871FX,28FY);
+z26=(613FX,280FY);
+z27=(749FX,390FY);
+z28=(787FX,441FY);
+z29=(737FX,465FY);
+z30=(367FX,465FY);
+z31=(346FX,466FY);
+z32=(305FX,440FY);
+z33=(331FX,408FY);
+z34=(433FX,312FY);
+z35=(178FX,312FY);
+z36=(180FX,352FY);
+z37=(189FX,418FY);
+z38=(194FX,451FY);
+z39=(182FX,467FY);
+z40=(171FX,467FY);
+z41=(125FX,465FY);
+z42=(95FX,466FY);
+z43=(57FX,266FY);
+z44=(95FX,0FY);
+z45=(119FX,0FY);
+z46=(142FX,0FY);
+z47=(193FX,29FY);
+z48=(178FX,274FY);
+z49=(575FX,292FY);
+z50=(450FX,430FY);
+z51=(658FX,430FY);
+z52=(711FX,418FY);
+z53=(711FX,409FY);
+z54=(693FX,389FY);
+FuF (z1
+-- z2
+{-192,-68} .. {-5,-59}z3
+{0,-4} .. {0,-4}z4
+{2,-17} .. {13,0}z5
+{22,0} .. {25,0}z6
+{12,0} .. {15,0}z7
+{11,0} .. {2,49}z8
+{3,70} .. {103,49}z9
+{4,-52} .. {-1,-34}z10
+{-1,-20} .. {1,-20}z11
+{3,-70} .. {27,-1}z12
+{8,0} .. {8,0}z13
+{8,0} .. {8,0}z14
+{55,-2} .. {0,17}z15
+{0,33} .. {-1,46}z16
+{0,14} .. {0,14}z17
+{0,22} .. {0,18}z18
+{78,-36} .. {4,-101}z19
+{2,-45} .. {19,0}z20
+{16,0} .. {20,0}z21
+{8,0} .. {9,0}z22
+{8,-1} .. {10,0}z23
+{14,0} .. {2,17}z24
+{1,4} .. {0,4}z25
+{-9,106} .. {-144,27}z26
+-- z27
+{24,19} .. {0,21}z28
+{0,26} .. {-22,0}z29
+-- z30
+{-7,0} .. {-9,0}z31
+{-31,0} .. {0,-14}z32
+{0,-15} .. {9,-9}z33
+-- z34
+-- z35
+{2,28} .. {0,14}z36
+{1,24} .. {7,35}z37
+{3,18} .. {0,8}z38
+{0,5} .. {-13,3}z39
+{-4,1} .. {-4,0}z40
+{-15,-2} .. {-15,0}z41
+{-13,0} .. {-10,0}z42
+{-28,0} .. {0,-186}z43
+{0,-255} .. {36,-1}z44
+{8,0} .. {8,0}z45
+{8,0} .. {8,0}z46
+{54,-2} .. {-2,17}z47
+{-11,80} .. {-1,69}z48
+);
+FuF (z49
+-- z50
+-- z51
+{20,0} .. {6,-14}z52
+{1,-3} .. {-1,-3}z53
+{-2,-5} .. {-12,-10}z54
+);
+lbl (range 1 thru 54);
+endchar;
+
+beginchar(oct"176",424FX#,467FY#,11FY#);
+"underscore";
+z1=(65FX,266FY);
+z2=(67FX,192FY);
+z3=(67FX,144FY);
+z4=(144FX,-11FY);
+z5=(359FX,72FY);
+z6=(345FX,86FY);
+z7=(218FX,48FY);
+z8=(186FX,183FY);
+z9=(186FX,270FY);
+z10=(196FX,396FY);
+z11=(203FX,451FY);
+z12=(190FX,467FY);
+z13=(180FX,467FY);
+z14=(134FX,465FY);
+z15=(104FX,466FY);
+z16=(65FX,266FY);
+FuF (z1
+{0,-25} .. {1,-23}z2
+{0,-20} .. {0,-17}z3
+{1,-117} .. {82,0}z4
+{83,0} .. {0,57}z5
+{0,12} .. {-5,0}z6
+{-71,0} .. {-79,0}z7
+{-34,0} .. {-1,104}z8
+{0,29} .. {0,29}z9
+{1,65} .. {6,40}z10
+{4,28} .. {0,13}z11
+{0,7} .. {-13,2}z12
+{-4,1} .. {-3,0}z13
+{-15,-1} .. {-15,0}z14
+{-9,0} .. {-10,0}z15
+{-27,0} .. {0,-188}z16
+);
+lbl (range 1 thru 16);
+endchar;
+
+beginchar(oct"37",294FX#,746FY#,0FY#);
+"Ydieresis";
+z1=(294FX,635FY);
+z2=(268FX,694FY);
+z3=(228FX,726FY);
+z4=(192FX,740FY);
+z5=(154FX,746FY);
+z6=(148FX,746FY);
+z7=(141FX,745FY);
+z8=(94FX,739FY);
+z9=(53FX,723FY);
+z10=(20FX,683FY);
+z11=(1FX,636FY);
+z12=(0FX,634FY);
+z13=(0FX,629FY);
+z14=(12FX,589FY);
+z15=(32FX,567FY);
+z16=(37FX,572FY);
+z17=(48FX,605FY);
+z18=(69FX,633FY);
+z19=(101FX,649FY);
+z20=(136FX,658FY);
+z21=(170FX,652FY);
+z22=(206FX,637FY);
+z23=(236FX,617FY);
+z24=(256FX,578FY);
+z25=(260FX,573FY);
+z26=(282FX,597FY);
+z27=(294FX,635FY);
+FuF (z1
+{-5,23} .. {-13,16}z2
+{-10,12} .. {-17,9}z3
+{-11,7} .. {-13,2}z4
+{-14,4} .. {-12,0}z5
+{-1,0} .. {-3,0}z6
+{-3,-1} .. {-2,0}z7
+{-13,0} .. {-18,-4}z8
+{-19,-5} .. {-9,-6}z9
+{-12,-9} .. {-10,-17}z10
+{-8,-14} .. {-5,-18}z11
+{0,-1} .. {-1,-1}z12
+{0,-2} .. {0,-1}z13
+{1,-12} .. {7,-15}z14
+{9,-15} .. {5,0}z15
+{2,0} .. {1,3}z16
+{4,15} .. {3,7}z17
+{5,13} .. {9,6}z18
+{9,6} .. {13,4}z19
+{13,5} .. {11,1}z20
+{10,0} .. {13,-4}z21
+{14,-4} .. {10,-6}z22
+{15,-9} .. {5,-5}z23
+{10,-10} .. {3,-16}z24
+{0,-4} .. {2,0}z25
+{6,0} .. {8,16}z26
+{10,16} .. {-1,9}z27
+);
+lbl (range 1 thru 27);
+endchar;
+
+beginchar(oct"26",419FX#,931FY#,0FY#);
+"scaron";
+z1=(370FX,689FY);
+z2=(419FX,680FY);
+z3=(274FX,894FY);
+z4=(225FX,930FY);
+z5=(219FX,931FY);
+z6=(214FX,931FY);
+z7=(179FX,901FY);
+z8=(178FX,891FY);
+z9=(204FX,840FY);
+z10=(44FX,804FY);
+z11=(18FX,783FY);
+z12=(8FX,763FY);
+z13=(2FX,750FY);
+z14=(0FX,741FY);
+z15=(4FX,734FY);
+z16=(12FX,732FY);
+z17=(27FX,734FY);
+z18=(29FX,735FY);
+z19=(48FX,748FY);
+z20=(75FX,759FY);
+z21=(86FX,757FY);
+z22=(113FX,749FY);
+z23=(130FX,735FY);
+z24=(141FX,707FY);
+z25=(137FX,679FY);
+z26=(121FX,630FY);
+z27=(91FX,589FY);
+z28=(107FX,571FY);
+z29=(166FX,622FY);
+z30=(193FX,674FY);
+z31=(203FX,706FY);
+z32=(206FX,740FY);
+z33=(205FX,752FY);
+z34=(177FX,801FY);
+z35=(123FX,824FY);
+z36=(82FX,820FY);
+z37=(44FX,804FY);
+FuF (z1
+-- z2
+-- z3
+{-18,22} .. {-14,2}z4
+{-2,1} .. {-2,0}z5
+{-2,0} .. {-2,0}z6
+{-20,0} .. {-4,-20}z7
+{-1,-5} .. {0,-2}z8
+{0,-17} .. {17,-17}z9
+);
+FuF (z10
+{-12,-7} .. {-6,-7}z11
+{-6,-8} .. {-1,-6}z12
+{-3,-6} .. {-1,-3}z13
+{-1,-3} .. {0,-3}z14
+{1,-3} .. {2,-1}z15
+{2,-2} .. {3,0}z16
+{5,0} .. {5,1}z17
+{1,1} .. {1,0}z18
+{7,5} .. {6,4}z19
+{10,7} .. {8,0}z20
+{3,0} .. {4,-1}z21
+{13,-3} .. {4,-2}z22
+{5,-3} .. {6,-7}z23
+{7,-9} .. {0,-10}z24
+{0,-9} .. {-3,-12}z25
+{-3,-15} .. {-9,-18}z26
+{-10,-19} .. {-11,-8}z27
+-- z28
+{25,15} .. {14,19}z29
+{8,11} .. {11,24}z30
+{5,11} .. {2,10}z31
+{2,12} .. {0,11}z32
+{-1,6} .. {0,2}z33
+{-2,18} .. {-17,15}z34
+{-17,16} .. {-19,0}z35
+{-14,0} .. {-13,-3}z36
+{-14,-4} .. {-11,-7}z37
+);
+lbl (range 1 thru 37);
+endchar;
+
+beginchar(oct"20",199FX#,676FY#,0FY#);
+"quotesingle";
+z1=(89FX,432FY);
+z2=(110FX,432FY);
+z3=(120FX,480FY);
+z4=(132FX,555FY);
+z5=(142FX,636FY);
+z6=(101FX,676FY);
+z7=(57FX,636FY);
+z8=(60FX,607FY);
+z9=(67FX,557FY);
+FuF (z1
+-- z2
+{6,29} .. {1,3}z3
+{2,11} .. {6,39}z4
+{7,40} .. {0,14}z5
+{0,27} .. {-27,0}z6
+{-29,0} .. {0,-27}z7
+{1,-7} .. {2,-13}z8
+{2,-13} .. {3,-21}z9
+);
+lbl (range 1 thru 9);
+endchar;
+
+beginchar(oct"114",461FX#,876FY#,0FY#);
+"yen";
+z1=(153FX,42FY);
+z2=(70FX,42FY);
+z3=(70FX,0FY);
+z4=(391FX,0FY);
+z5=(391FX,42FY);
+z6=(308FX,42FY);
+z7=(308FX,658FY);
+z8=(391FX,658FY);
+z9=(391FX,700FY);
+z10=(70FX,700FY);
+z11=(70FX,658FY);
+z12=(153FX,658FY);
+z13=(97FX,875FY);
+z14=(83FX,874FY);
+z15=(76FX,866FY);
+z16=(73FX,853FY);
+z17=(73FX,838FY);
+z18=(73FX,821FY);
+z19=(74FX,801FY);
+z20=(79FX,758FY);
+z21=(97FX,752FY);
+z22=(131FX,753FY);
+z23=(149FX,752FY);
+z24=(173FX,751FY);
+z25=(184FX,751FY);
+z26=(194FX,757FY);
+z27=(197FX,767FY);
+z28=(196FX,787FY);
+z29=(195FX,813FY);
+z30=(196FX,837FY);
+z31=(197FX,861FY);
+z32=(196FX,869FY);
+z33=(184FX,876FY);
+z34=(160FX,875FY);
+z35=(131FX,875FY);
+z36=(280FX,875FY);
+z37=(265FX,874FY);
+z38=(259FX,866FY);
+z39=(256FX,853FY);
+z40=(256FX,838FY);
+z41=(256FX,821FY);
+z42=(257FX,801FY);
+z43=(262FX,758FY);
+z44=(280FX,752FY);
+z45=(314FX,753FY);
+z46=(332FX,752FY);
+z47=(356FX,751FY);
+z48=(367FX,751FY);
+z49=(377FX,757FY);
+z50=(380FX,767FY);
+z51=(379FX,787FY);
+z52=(378FX,813FY);
+z53=(379FX,837FY);
+z54=(380FX,861FY);
+z55=(379FX,869FY);
+z56=(367FX,876FY);
+z57=(343FX,875FY);
+z58=(314FX,875FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+-- z7
+-- z8
+-- z9
+-- z10
+-- z11
+-- z12
+);
+FuF (z13
+{-8,0} .. {-2,-1}z14
+{-3,-1} .. {-2,-4}z15
+{-2,-5} .. {0,-4}z16
+{0,-3} .. {0,-7}z17
+{0,-3} .. {0,-8}z18
+{1,-8} .. {0,-5}z19
+{0,-23} .. {3,-6}z20
+{3,-4} .. {9,0}z21
+-- z22
+{1,0} .. {11,-1}z23
+{11,-1} .. {5,0}z24
+{3,0} .. {5,0}z25
+{5,1} .. {1,3}z26
+{2,4} .. {0,3}z27
+{-1,6} .. {0,8}z28
+{-1,9} .. {0,9}z29
+{0,6} .. {1,10}z30
+{1,11} .. {0,5}z31
+{-1,3} .. {0,2}z32
+{-2,5} .. {-6,0}z33
+{-7,-1} .. {-9,0}z34
+{-9,0} .. {-10,0}z35
+);
+FuF (z36
+{-8,0} .. {-2,-1}z37
+{-2,-1} .. {-2,-4}z38
+{-2,-5} .. {0,-4}z39
+{0,-3} .. {0,-7}z40
+{0,-3} .. {0,-8}z41
+{1,-8} .. {0,-5}z42
+{0,-23} .. {3,-6}z43
+{3,-4} .. {9,0}z44
+-- z45
+{1,0} .. {11,-1}z46
+{11,-1} .. {5,0}z47
+{3,0} .. {5,0}z48
+{5,1} .. {1,3}z49
+{2,4} .. {0,3}z50
+{-1,6} .. {0,8}z51
+{-1,9} .. {0,9}z52
+{0,6} .. {1,10}z53
+{1,11} .. {0,5}z54
+{-1,3} .. {0,2}z55
+{-2,5} .. {-6,0}z56
+{-7,-1} .. {-9,0}z57
+{-9,0} .. {-10,0}z58
+);
+lbl (range 1 thru 58);
+endchar;
+
+beginchar(oct"017",1137FX#,710FY#,15FY#);
+"brokenbar";
+z1=(1012FX,525FY);
+z2=(985FX,533FY);
+z3=(918FX,557FY);
+z4=(879FX,573FY);
+z5=(830FX,600FY);
+z6=(784FX,625FY);
+z7=(748FX,650FY);
+z8=(678FX,686FY);
+z9=(633FX,700FY);
+z10=(587FX,707FY);
+z11=(533FX,710FY);
+z12=(432FX,702FY);
+z13=(412FX,698FY);
+z14=(375FX,687FY);
+z15=(337FX,668FY);
+z16=(315FX,656FY);
+z17=(278FX,614FY);
+z18=(265FX,560FY);
+z19=(301FX,546FY);
+z20=(341FX,537FY);
+z21=(360FX,543FY);
+z22=(380FX,578FY);
+z23=(397FX,603FY);
+z24=(436FX,633FY);
+z25=(465FX,645FY);
+z26=(497FX,654FY);
+z27=(549FX,658FY);
+z28=(579FX,657FY);
+z29=(608FX,651FY);
+z30=(668FX,626FY);
+z31=(724FX,594FY);
+z32=(790FX,558FY);
+z33=(828FX,540FY);
+z34=(888FX,522FY);
+z35=(951FX,517FY);
+z36=(1012FX,525FY);
+z37=(1089FX,221FY);
+z38=(735FX,474FY);
+z39=(706FX,430FY);
+z40=(787FX,356FY);
+z41=(816FX,359FY);
+z42=(845FX,360FY);
+z43=(1018FX,251FY);
+z44=(835FX,140FY);
+z45=(602FX,299FY);
+z46=(534FX,299FY);
+z47=(534FX,299FY);
+z48=(535FX,299FY);
+z49=(302FX,140FY);
+z50=(117FX,251FY);
+z51=(291FX,360FY);
+z52=(320FX,359FY);
+z53=(348FX,356FY);
+z54=(429FX,430FY);
+z55=(388FX,471FY);
+z56=(48FX,221FY);
+z57=(297FX,-15FY);
+z58=(518FX,116FY);
+z59=(619FX,114FY);
+z60=(838FX,-15FY);
+z61=(1089FX,221FY);
+z62=(624FX,531FY);
+z63=(524FX,603FY);
+z64=(471FX,545FY);
+z65=(488FX,534FY);
+z66=(513FX,521FY);
+z67=(518FX,532FY);
+z68=(556FX,577FY);
+z69=(574FX,546FY);
+z70=(547FX,439FY);
+z71=(522FX,452FY);
+z72=(513FX,458FY);
+z73=(504FX,443FY);
+z74=(592FX,403FY);
+z75=(624FX,531FY);
+FuF (z1
+{-6,1} .. {-12,5}z2
+{-1,0} .. {-45,16}z3
+{-20,7} .. {-6,4}z4
+{-16,9} .. {-16,9}z5
+{-26,14} .. {-5,3}z6
+{-10,7} .. {-14,10}z7
+-- z8
+{-22,7} .. {-9,2}z9
+{-12,3} .. {-19,2}z10
+{-19,2} .. {-18,0}z11
+{-31,0} .. {-36,-6}z12
+{-8,-2} .. {-5,-1}z13
+{-14,-3} .. {-11,-4}z14
+{-9,-4} .. {-16,-10}z15
+{-5,-3} .. {-10,-5}z16
+{-19,-19} .. {-5,-9}z17
+{-8,-17} .. {0,-19}z18
+{13,-6} .. {11,-4}z19
+{16,-6} .. {11,0}z20
+{7,0} .. {6,4}z21
+{2,2} .. {11,21}z22
+{6,10} .. {6,7}z23
+{11,13} .. {14,8}z24
+{10,4} .. {9,5}z25
+{4,3} .. {17,4}z26
+{16,3} .. {19,0}z27
+{9,0} .. {11,-1}z28
+{9,-1} .. {11,-3}z29
+{16,-4} .. {24,-13}z30
+{25,-15} .. {12,-7}z31
+{39,-21} .. {5,-3}z32
+{14,-7} .. {12,-5}z33
+{17,-8} .. {23,-4}z34
+{22,-3} .. {20,0}z35
+{29,0} .. {13,6}z36
+);
+FuF (z37
+{0,146} .. {-249,-30}z38
+{-27,-3} .. {0,-5}z39
+{0,-65} .. {43,0}z40
+{10,0} .. {8,1}z41
+{10,0} .. {10,0}z42
+{70,0} .. {0,-74}z43
+{0,-63} .. {-102,0}z44
+{-178,0} .. {-2,112}z45
+-- z46
+-- z47
+-- z48
+{0,-110} .. {-176,0}z49
+{-104,0} .. {0,63}z50
+{0,74} .. {70,0}z51
+{11,0} .. {10,0}z52
+{8,-1} .. {9,0}z53
+{44,0} .. {0,65}z54
+{0,5} .. {-31,3}z55
+{-240,19} .. {0,-146}z56
+{0,-114} .. {177,0}z57
+{203,0} .. {21,24}z58
+{0,0} .. {50,-83}z59
+{28,-25} .. {201,0}z60
+{178,0} .. {0,114}z61
+);
+FuF (z62
+{-16,44} .. {-20,-7}z63
+{-7,-3} .. {5,-14}z64
+{1,-3} .. {11,-5}z65
+{22,-9} .. {3,2}z66
+{1,0} .. {2,7}z67
+{4,11} .. {26,16}z68
+{11,-10} .. {1,-5}z69
+{13,-33} .. {-27,-22}z70
+{-12,4} .. {-5,2}z71
+{-3,2} .. {-5,3}z72
+-- z73
+{32,-28} .. {16,6}z74
+{25,9} .. {-15,42}z75
+);
+lbl (range 1 thru 75);
+endchar;
+
+beginchar(oct"34",654FX#,893FY#,0FY#);
+"ordfeminine";
+z1=(441FX,676FY);
+z2=(186FX,676FY);
+z3=(212FX,701FY);
+z4=(249FX,746FY);
+z5=(278FX,788FY);
+z6=(310FX,847FY);
+z7=(326FX,847FY);
+z8=(335FX,825FY);
+z9=(351FX,786FY);
+z10=(402FX,714FY);
+z11=(421FX,693FY);
+z12=(441FX,676FY);
+z13=(251FX,888FY);
+z14=(250FX,889FY);
+z15=(201FX,890FY);
+z16=(165FX,891FY);
+z17=(125FX,892FY);
+z18=(83FX,893FY);
+z19=(66FX,891FY);
+z20=(60FX,882FY);
+z21=(48FX,842FY);
+z22=(9FX,774FY);
+z23=(0FX,754FY);
+z24=(12FX,743FY);
+z25=(56FX,737FY);
+z26=(79FX,739FY);
+z27=(97FX,753FY);
+z28=(110FX,772FY);
+z29=(130FX,802FY);
+z30=(135FX,807FY);
+z31=(133FX,802FY);
+z32=(133FX,803FY);
+z33=(137FX,811FY);
+z34=(148FX,831FY);
+z35=(159FX,855FY);
+z36=(171FX,862FY);
+z37=(183FX,862FY);
+z38=(191FX,862FY);
+z39=(210FX,864FY);
+z40=(234FX,865FY);
+z41=(259FX,863FY);
+z42=(269FX,857FY);
+z43=(224FX,772FY);
+z44=(149FX,689FY);
+z45=(127FX,680FY);
+z46=(84FX,678FY);
+z47=(63FX,678FY);
+z48=(41FX,675FY);
+z49=(31FX,667FY);
+z50=(30FX,657FY);
+z51=(32FX,650FY);
+z52=(37FX,637FY);
+z53=(51FX,602FY);
+z54=(71FX,565FY);
+z55=(128FX,569FY);
+z56=(108FX,603FY);
+z57=(99FX,637FY);
+z58=(126FX,654FY);
+z59=(231FX,659FY);
+z60=(262FX,659FY);
+z61=(291FX,659FY);
+z62=(377FX,659FY);
+z63=(397FX,659FY);
+z64=(420FX,659FY);
+z65=(536FX,651FY);
+z66=(573FX,632FY);
+z67=(564FX,603FY);
+z68=(539FX,569FY);
+z69=(596FX,565FY);
+z70=(622FX,597FY);
+z71=(636FX,626FY);
+z72=(649FX,648FY);
+z73=(654FX,667FY);
+z74=(645FX,675FY);
+z75=(621FX,678FY);
+z76=(611FX,677FY);
+z77=(572FX,690FY);
+z78=(499FX,777FY);
+z79=(474FX,815FY);
+z80=(449FX,882FY);
+z81=(443FX,891FY);
+z82=(427FX,893FY);
+z83=(384FX,892FY);
+z84=(344FX,891FY);
+z85=(277FX,893FY);
+z86=(258FX,892FY);
+z87=(251FX,888FY);
+FuF (z1
+-- z2
+{9,8} .. {8,9}z3
+{9,10} .. {16,20}z4
+{15,21} .. {4,7}z5
+{15,21} .. {7,19}z6
+-- z7
+-- z8
+{3,-13} .. {8,-14}z9
+{11,-21} .. {23,-27}z10
+{8,-10} .. {4,-5}z11
+{5,-6} .. {8,-6}z12
+);
+FuF (z13
+-- z14
+{-13,1} .. {-20,0}z15
+{-20,1} .. {-5,0}z16
+{-9,1} .. {-18,0}z17
+{-20,1} .. {-8,0}z18
+{-8,0} .. {-3,-1}z19
+{-3,-2} .. {-1,-4}z20
+{-1,-11} .. {-8,-16}z21
+{-6,-13} .. {-20,-32}z22
+{-6,-10} .. {0,-4}z23
+{0,-5} .. {8,-2}z24
+{15,-4} .. {14,0}z25
+{10,0} .. {6,1}z26
+{7,2} .. {6,7}z27
+{1,1} .. {7,11}z28
+{11,15} .. {3,5}z29
+{2,2} .. {1,2}z30
+-- z31
+{0,1} .. {0,0}z32
+{2,3} .. {1,3}z33
+{3,3} .. {5,10}z34
+{4,9} .. {3,8}z35
+{2,5} .. {6,0}z36
+{3,0} .. {5,0}z37
+{3,0} .. {2,0}z38
+{4,1} .. {9,0}z39
+{9,1} .. {7,0}z40
+{11,0} .. {6,-1}z41
+{7,-1} .. {0,-3}z42
+{-1,-15} .. {-29,-41}z43
+{-30,-42} .. {-20,-13}z44
+{-7,-4} .. {-7,-2}z45
+{-9,-1} .. {-20,0}z46
+-- z47
+{-9,0} .. {-5,-2}z48
+{-7,-2} .. {0,-3}z49
+{0,-3} .. {-1,-3}z50
+{0,-1} .. {1,-4}z51
+{1,-5} .. {2,-4}z52
+{7,-13} .. {3,-11}z53
+{5,-16} .. {9,-9}z54
+-- z55
+{-8,7} .. {-6,15}z56
+{-6,16} .. {0,7}z57
+{0,7} .. {18,4}z58
+{19,3} .. {52,0}z59
+{11,0} .. {10,0}z60
+{10,0} .. {9,0}z61
+-- z62
+{6,0} .. {7,0}z63
+{7,0} .. {8,0}z64
+{51,0} .. {27,-6}z65
+{22,-5} .. {3,-8}z66
+{2,-5} .. {-8,-14}z67
+{-9,-14} .. {-8,-8}z68
+-- z69
+{12,12} .. {6,9}z70
+{6,10} .. {4,10}z71
+{6,8} .. {3,7}z72
+{4,8} .. {0,5}z73
+{0,3} .. {-6,2}z74
+{-7,2} .. {-9,0}z75
+{-5,0} .. {-2,-1}z76
+{-15,0} .. {-11,9}z77
+{-18,13} .. {-31,45}z78
+{-11,16} .. {-6,10}z79
+{-17,29} .. {0,16}z80
+{-1,5} .. {-4,1}z81
+{-3,2} .. {-7,0}z82
+{-16,-1} .. {-13,0}z83
+{-14,-1} .. {-13,0}z84
+-- z85
+{-8,0} .. {-4,-1}z86
+{-5,-1} .. {0,-2}z87
+);
+lbl (range 1 thru 87);
+endchar;
+
+beginchar(oct"177",382FX#,386FY#,0FY#);
+"logicalnot";
+z1=(293FX,320FY);
+z2=(293FX,238FY);
+z3=(358FX,238FY);
+z4=(358FX,386FY);
+z5=(24FX,386FY);
+z6=(24FX,320FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+-- z6
+);
+lbl (range 1 thru 6);
+endchar;
+
+beginchar(oct"55",342FX#,258FY#,0FY#);
+"minus";
+z1=(293FX,258FY);
+z2=(49FX,258FY);
+z3=(49FX,194FY);
+z4=(293FX,194FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+);
+lbl (range 1 thru 4);
+endchar;
+
+beginchar(oct"24",206FX#,819FY#,0FY#);
+"twosuperior";
+z1=(43FX,800FY);
+z2=(18FX,778FY);
+z3=(8FX,758FY);
+z4=(2FX,745FY);
+z5=(0FX,737FY);
+z6=(3FX,729FY);
+z7=(12FX,727FY);
+z8=(26FX,729FY);
+z9=(29FX,730FY);
+z10=(48FX,743FY);
+z11=(75FX,754FY);
+z12=(85FX,752FY);
+z13=(113FX,744FY);
+z14=(129FX,730FY);
+z15=(141FX,702FY);
+z16=(134FX,674FY);
+z17=(121FX,625FY);
+z18=(91FX,584FY);
+z19=(107FX,566FY);
+z20=(166FX,617FY);
+z21=(193FX,669FY);
+z22=(203FX,701FY);
+z23=(206FX,736FY);
+z24=(205FX,747FY);
+z25=(177FX,796FY);
+z26=(123FX,819FY);
+z27=(82FX,815FY);
+z28=(43FX,800FY);
+FuF (z1
+{-11,-8} .. {-5,-7}z2
+{-6,-8} .. {-1,-6}z3
+{-3,-6} .. {-1,-3}z4
+{-2,-3} .. {0,-3}z5
+{0,-4} .. {2,-1}z6
+{3,-2} .. {3,0}z7
+{5,0} .. {5,1}z8
+{1,1} .. {1,0}z9
+{7,5} .. {6,4}z10
+{10,7} .. {8,0}z11
+{3,0} .. {3,-1}z12
+{14,-3} .. {5,-2}z13
+{5,-3} .. {5,-7}z14
+{8,-9} .. {0,-10}z15
+{0,-8} .. {-5,-10}z16
+{0,-15} .. {-8,-18}z17
+{-10,-19} .. {-11,-9}z18
+-- z19
+{25,15} .. {14,19}z20
+{7,11} .. {11,24}z21
+{5,11} .. {2,10}z22
+{2,12} .. {0,12}z23
+{-1,5} .. {0,2}z24
+{-2,18} .. {-16,14}z25
+{-17,16} .. {-19,0}z26
+{-15,0} .. {-13,-3}z27
+{-14,-4} .. {-12,-6}z28
+);
+lbl (range 1 thru 28);
+endchar;
+
+beginchar(oct"136",369FX#,467FY#,0FY#);
+"threesuperior";
+z1=(116FX,267FY);
+z2=(154FX,0FY);
+z3=(201FX,0FY);
+z4=(252FX,29FY);
+z5=(237FX,271FY);
+z6=(247FX,405FY);
+z7=(253FX,451FY);
+z8=(241FX,467FY);
+z9=(230FX,467FY);
+z10=(188FX,465FY);
+z11=(154FX,466FY);
+z12=(116FX,267FY);
+FuF (z1
+{0,-255} .. {36,0}z2
+-- z3
+{54,0} .. {-3,20}z4
+{-15,110} .. {0,61}z5
+{0,71} .. {7,47}z6
+{4,24} .. {0,10}z7
+{0,5} .. {-13,3}z8
+{-4,1} .. {-4,0}z9
+{-14,-1} .. {-14,0}z10
+{-11,0} .. {-12,0}z11
+{-28,0} .. {0,-187}z12
+);
+lbl (range 1 thru 12);
+endchar;
+
+beginchar(oct"134",413FX#,550FY#,0FY#);
+"mu";
+z1=(172FX,70FY);
+z2=(172FX,392FY);
+z3=(190FX,422FY);
+z4=(376FX,422FY);
+z5=(386FX,550FY);
+z6=(370FX,550FY);
+z7=(342FX,474FY);
+z8=(265FX,450FY);
+z9=(27FX,450FY);
+z10=(27FX,434FY);
+z11=(57FX,430FY);
+z12=(76FX,418FY);
+z13=(89FX,360FY);
+z14=(89FX,90FY);
+z15=(76FX,33FY);
+z16=(57FX,20FY);
+z17=(27FX,16FY);
+z18=(27FX,0FY);
+z19=(245FX,0FY);
+z20=(245FX,16FY);
+z21=(190FX,30FY);
+z22=(172FX,70FY);
+FuF (z1
+-- z2
+{0,20} .. {12,0}z3
+-- z4
+-- z5
+-- z6
+{-5,-35} .. {-14,-16}z7
+{-14,-16} .. {-38,0}z8
+-- z9
+-- z10
+{13,0} .. {7,-3}z11
+{9,-3} .. {4,-5}z12
+{9,-10} .. {0,-29}z13
+-- z14
+{0,-29} .. {-9,-9}z15
+{-5,-6} .. {-8,-3}z16
+{-9,-3} .. {-11,0}z17
+-- z18
+-- z19
+-- z20
+{-25,1} .. {-12,9}z21
+{-12,10} .. {0,17}z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(oct"40",466FX#,662FY#,154FY#);
+"paragraph";
+z1=(191FX,640FY);
+z2=(191FX,296FY);
+z3=(140FX,308FY);
+z4=(104FX,340FY);
+z5=(74FX,474FY);
+z6=(101FX,603FY);
+z7=(137FX,631FY);
+z8=(191FX,640FY);
+z9=(256FX,-154FY);
+z10=(256FX,640FY);
+z11=(314FX,640FY);
+z12=(314FX,-154FY);
+z13=(466FX,-154FY);
+z14=(466FX,-132FY);
+z15=(421FX,-126FY);
+z16=(395FX,-112FY);
+z17=(379FX,-42FY);
+z18=(379FX,554FY);
+z19=(395FX,624FY);
+z20=(422FX,638FY);
+z21=(466FX,644FY);
+z22=(466FX,662FY);
+z23=(207FX,662FY);
+z24=(86FX,642FY);
+z25=(20FX,581FY);
+z26=(0FX,474FY);
+z27=(20FX,366FY);
+z28=(84FX,297FY);
+z29=(191FX,274FY);
+z30=(191FX,-32FY);
+z31=(177FX,-111FY);
+z32=(151FX,-126FY);
+z33=(104FX,-132FY);
+z34=(104FX,-154FY);
+FuF (z1
+-- z2
+{-19,1} .. {-15,8}z3
+{-14,8} .. {-10,14}z4
+{-20,28} .. {0,62}z5
+{1,64} .. {18,22}z6
+{10,13} .. {14,6}z7
+{15,6} .. {21,0}z8
+);
+FuF (z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+{-18,0} .. {-12,4}z15
+{-12,4} .. {-5,6}z16
+{-11,12} .. {0,35}z17
+-- z18
+{1,36} .. {10,11}z19
+{6,6} .. {12,3}z20
+{13,4} .. {17,0}z21
+-- z22
+-- z23
+{-50,0} .. {-31,-13}z24
+{-31,-14} .. {-13,-27}z25
+{-14,-27} .. {0,-44}z26
+{0,-41} .. {13,-31}z27
+{14,-30} .. {29,-16}z28
+{29,-15} .. {42,0}z29
+-- z30
+{0,-41} .. {-9,-12}z31
+{-6,-7} .. {-12,-3}z32
+{-12,-4} .. {-19,0}z33
+-- z34
+);
+lbl (range 1 thru 34);
+endchar;
+
+beginchar(oct"35",269FX#,310FY#,0FY#);
+"periodcentered";
+z1=(79FX,254FY);
+z2=(134FX,200FY);
+z3=(190FX,254FY);
+z4=(134FX,310FY);
+z5=(79FX,254FY);
+FuF (z1
+{1,-36} .. {36,0}z2
+{38,0} .. {0,36}z3
+{0,38} .. {-37,0}z4
+{-37,0} .. {0,-37}z5
+);
+lbl (range 1 thru 5);
+endchar;
+
+beginchar(CYR_YO,735FX#,899FY#,14FY#);
+"onesuperior";
+z1=(363FX,350FY);
+z2=(363FX,308FY);
+z3=(611FX,308FY);
+z4=(611FX,350FY);
+z5=(570FX,350FY);
+z6=(388FX,466FY);
+z7=(221FX,403FY);
+z8=(361FX,672FY);
+z9=(493FX,557FY);
+z10=(462FX,557FY);
+z11=(462FX,515FY);
+z12=(710FX,515FY);
+z13=(710FX,557FY);
+z14=(662FX,557FY);
+z15=(385FX,714FY);
+z16=(43FX,392FY);
+z17=(151FX,163FY);
+z18=(210FX,5FY);
+z19=(374FX,-14FY);
+z20=(666FX,177FY);
+z21=(703FX,178FY);
+z22=(703FX,219FY);
+z23=(441FX,219FY);
+z24=(441FX,178FY);
+z25=(491FX,178FY);
+z26=(305FX,28FY);
+z27=(268FX,35FY);
+z28=(278FX,88FY);
+z29=(249FX,250FY);
+z30=(224FX,364FY);
+z31=(337FX,410FY);
+z32=(400FX,350FY);
+z33=(441FX,844FY);
+z34=(464FX,782FY);
+z35=(498FX,783FY);
+z36=(545FX,781FY);
+z37=(557FX,781FY);
+z38=(570FX,798FY);
+z39=(569FX,843FY);
+z40=(570FX,884FY);
+z41=(557FX,899FY);
+z42=(545FX,899FY);
+z43=(498FX,898FY);
+z44=(464FX,899FY);
+z45=(441FX,844FY);
+z46=(185FX,844FY);
+z47=(208FX,782FY);
+z48=(242FX,783FY);
+z49=(289FX,781FY);
+z50=(301FX,781FY);
+z51=(314FX,798FY);
+z52=(313FX,843FY);
+z53=(314FX,884FY);
+z54=(301FX,899FY);
+z55=(289FX,899FY);
+z56=(242FX,898FY);
+z57=(208FX,899FY);
+z58=(185FX,844FY);
+FuF (z1
+-- z2
+-- z3
+-- z4
+-- z5
+{-27,75} .. {-76,0}z6
+{-55,0} .. {-55,-48}z7
+{-14,104} .. {125,0}z8
+{92,0} .. {8,-45}z9
+-- z10
+-- z11
+-- z12
+-- z13
+-- z14
+{-52,133} .. {-82,0}z15
+{-145,0} .. {0,-251}z16
+{0,-75} .. {93,-114}z17
+{38,-46} .. {-11,-65}z18
+{44,-14} .. {45,0}z19
+{121,0} .. {59,105}z20
+-- z21
+-- z22
+-- z23
+-- z24
+-- z25
+{-13,-61} .. {-129,0}z26
+{-19,0} .. {-10,5}z27
+{6,15} .. {0,24}z28
+{0,71} .. {-17,57}z29
+{-13,42} .. {-5,32}z30
+{27,31} .. {39,0}z31
+{20,0} .. {13,-42}z32
+);
+FuF (z33
+{0,-64} .. {18,1}z34
+{13,0} .. {11,0}z35
+{15,0} .. {16,-1}z36
+{4,0} .. {4,1}z37
+{14,3} .. {0,5}z38
+{-1,16} .. {0,14}z39
+{0,13} .. {1,15}z40
+{0,6} .. {-14,2}z41
+{-4,1} .. {-4,0}z42
+{-15,-1} .. {-15,0}z43
+{-11,0} .. {-13,1}z44
+{-15,1} .. {0,-58}z45
+);
+FuF (z46
+{0,-64} .. {18,1}z47
+{13,0} .. {11,0}z48
+{15,0} .. {16,-1}z49
+{4,0} .. {4,1}z50
+{14,3} .. {0,5}z51
+{-1,16} .. {0,14}z52
+{0,13} .. {1,15}z53
+{0,6} .. {-14,2}z54
+{-4,1} .. {-4,0}z55
+{-15,-1} .. {-15,0}z56
+{-11,0} .. {-13,1}z57
+{-15,1} .. {0,-58}z58
+);
+lbl (range 1 thru 58);
+endchar;
+
+beginchar(CYR_yo,421FX#,689FY#,13FY#);
+"aring";
+z1=(113FX,31FY);
+z2=(153FX,-13FY);
+z3=(179FX,-13FY);
+z4=(339FX,52FY);
+z5=(338FX,76FY);
+z6=(338FX,97FY);
+z7=(338FX,103FY);
+z8=(327FX,110FY);
+z9=(270FX,86FY);
+z10=(218FX,74FY);
+z11=(185FX,149FY);
+z12=(303FX,199FY);
+z13=(314FX,210FY);
+z14=(305FX,262FY);
+z15=(305FX,282FY);
+z16=(293FX,289FY);
+z17=(166FX,236FY);
+z18=(160FX,294FY);
+z19=(286FX,368FY);
+z20=(292FX,368FY);
+z21=(322FX,388FY);
+z22=(336FX,463FY);
+z23=(313FX,477FY);
+z24=(52FX,287FY);
+z25=(113FX,31FY);
+z26=(51FX,634FY);
+z27=(74FX,572FY);
+z28=(108FX,573FY);
+z29=(155FX,571FY);
+z30=(167FX,571FY);
+z31=(180FX,588FY);
+z32=(179FX,633FY);
+z33=(180FX,674FY);
+z34=(167FX,689FY);
+z35=(155FX,689FY);
+z36=(108FX,688FY);
+z37=(74FX,689FY);
+z38=(51FX,634FY);
+z39=(251FX,634FY);
+z40=(274FX,572FY);
+z41=(308FX,573FY);
+z42=(355FX,571FY);
+z43=(367FX,571FY);
+z44=(380FX,588FY);
+z45=(379FX,633FY);
+z46=(380FX,674FY);
+z47=(367FX,689FY);
+z48=(355FX,689FY);
+z49=(308FX,688FY);
+z50=(274FX,689FY);
+z51=(251FX,634FY);
+FuF (z1
+{8,-19} .. {23,-5}z2
+{8,-2} .. {9,1}z3
+{62,7} .. {0,38}z4
+{0,8} .. {0,8}z5
+{0,7} .. {1,7}z6
+{0,2} .. {-1,2}z7
+{-1,4} .. {-6,0}z8
+{-10,0} .. {-36,-14}z9
+{-24,-10} .. {-17,0}z10
+{-20,0} .. {-3,26}z11
+{26,34} .. {27,1}z12
+{7,0} .. {0,11}z13
+{0,10} .. {2,27}z14
+{0,7} .. {-2,7}z15
+{-2,6} .. {-7,0}z16
+{-25,0} .. {-20,-12}z17
+{-3,14} .. {0,15}z18
+{0,51} .. {91,0}z19
+{2,0} .. {2,0}z20
+{33,0} .. {0,11}z21
+{-1,46} .. {0,43}z22
+{0,16} .. {-9,-1}z23
+{-67,-7} .. {0,-172}z24
+{0,-72} .. {24,-62}z25
+);
+FuF (z26
+{0,-64} .. {18,1}z27
+{13,0} .. {11,0}z28
+{15,0} .. {16,-1}z29
+{4,0} .. {4,1}z30
+{14,3} .. {0,5}z31
+{-1,16} .. {0,14}z32
+{0,13} .. {1,15}z33
+{0,6} .. {-14,2}z34
+{-4,1} .. {-4,0}z35
+{-15,-1} .. {-15,0}z36
+{-11,0} .. {-13,1}z37
+{-15,1} .. {0,-58}z38
+);
+FuF (z39
+{0,-64} .. {18,1}z40
+{13,0} .. {11,0}z41
+{15,0} .. {16,-1}z42
+{4,0} .. {4,1}z43
+{14,3} .. {0,5}z44
+{-1,16} .. {0,14}z45
+{0,13} .. {1,15}z46
+{0,6} .. {-14,2}z47
+{-4,1} .. {-4,0}z48
+{-15,-1} .. {-15,0}z49
+{-11,0} .. {-13,1}z50
+{-15,1} .. {0,-58}z51
+);
+lbl (range 1 thru 51);
+endchar;
+
+
+
+beginchar(oct"31",498FX#,875FY#,0FY#);
+"ordmasculine";
+z1=(114FX,646FY);
+z2=(143FX,590FY);
+z3=(193FX,570FY);
+z4=(242FX,600FY);
+z5=(270FX,670FY);
+z6=(237FX,748FY);
+z7=(190FX,772FY);
+z8=(145FX,737FY);
+z9=(114FX,646FY);
+z10=(158FX,725FY);
+z11=(215FX,692FY);
+z12=(235FX,630FY);
+z13=(227FX,598FY);
+z14=(218FX,598FY);
+z15=(162FX,633FY);
+z16=(145FX,691FY);
+z17=(148FX,708FY);
+z18=(158FX,725FY);
+z19=(435FX,722FY);
+z20=(480FX,698FY);
+z21=(498FX,690FY);
+z22=(458FX,682FY);
+z23=(415FX,687FY);
+z24=(375FX,705FY);
+z25=(350FX,723FY);
+z26=(306FX,759FY);
+z27=(268FX,791FY);
+z28=(228FX,816FY);
+z29=(209FX,822FY);
+z30=(189FX,823FY);
+z31=(154FX,819FY);
+z32=(133FX,810FY);
+z33=(114FX,798FY);
+z34=(88FX,768FY);
+z35=(76FX,743FY);
+z36=(63FX,708FY);
+z37=(50FX,702FY);
+z38=(24FX,711FY);
+z39=(0FX,725FY);
+z40=(8FX,779FY);
+z41=(33FX,821FY);
+z42=(48FX,833FY);
+z43=(73FX,852FY);
+z44=(98FX,863FY);
+z45=(111FX,867FY);
+z46=(178FX,875FY);
+z47=(214FX,872FY);
+z48=(245FX,865FY);
+z49=(275FX,851FY);
+z50=(322FX,815FY);
+z51=(346FX,790FY);
+z52=(376FX,765FY);
+z53=(409FX,738FY);
+z54=(435FX,722FY);
+FuF (z1
+{1,-22} .. {19,-16}z2
+{17,-14} .. {17,0}z3
+{16,0} .. {17,20}z4
+{18,23} .. {0,24}z5
+{-1,32} .. {-21,20}z6
+{-17,16} .. {-14,0}z7
+{-13,0} .. {-17,-23}z8
+{-21,-29} .. {0,-32}z9
+);
+FuF (z10
+{23,-3} .. {15,-19}z11
+{13,-18} .. {0,-23}z12
+{0,-13} .. {-5,-9}z13
+{-2,0} .. {-4,0}z14
+{-23,0} .. {-14,23}z15
+{-12,19} .. {0,20}z16
+{0,6} .. {2,6}z17
+{3,7} .. {4,5}z18
+);
+FuF (z19
+{30,-16} .. {0,0}z20
+{8,-5} .. {4,-1}z21
+{-8,-6} .. {-19,0}z22
+{-14,0} .. {-15,3}z23
+{-15,4} .. {-11,8}z24
+{-8,5} .. {-9,7}z25
+{-4,3} .. {-26,21}z26
+{-8,7} .. {-17,15}z27
+{-16,13} .. {-11,4}z28
+{-7,3} .. {-6,1}z29
+{-7,1} .. {-6,0}z30
+{-13,0} .. {-11,-3}z31
+{-11,-4} .. {-3,-3}z32
+{-6,-5} .. {-6,-4}z33
+{-10,-8} .. {-7,-13}z34
+{-4,-7} .. {-4,-10}z35
+{-7,-21} .. {-1,-2}z36
+{-4,-4} .. {-5,0}z37
+{-7,0} .. {-10,6}z38
+{-8,4} .. {-8,6}z39
+{0,19} .. {5,17}z40
+{4,9} .. {13,19}z41
+{7,5} .. {4,3}z42
+{10,10} .. {6,4}z43
+{7,4} .. {10,3}z44
+{3,1} .. {5,2}z45
+{24,6} .. {20,0}z46
+{12,0} .. {12,-2}z47
+{13,-2} .. {8,-3}z48
+{6,-2} .. {15,-7}z49
+-- z50
+{9,-10} .. {7,-7}z51
+{3,-3} .. {17,-14}z52
+{11,-9} .. {11,-9}z53
+{4,-4} .. {13,-7}z54
+);
+lbl (range 1 thru 54);
+endchar;
+
+
+beginchar(oct"32",498FX#,909FY#,0FY#);
+"onehalf";
+z1=(151FX,617FY);
+z2=(177FX,590FY);
+z3=(210FX,578FY);
+z4=(255FX,604FY);
+z5=(272FX,669FY);
+z6=(242FX,766FY);
+z7=(193FX,807FY);
+z8=(142FX,773FY);
+z9=(109FX,679FY);
+z10=(114FX,623FY);
+z11=(116FX,574FY);
+z12=(118FX,556FY);
+z13=(118FX,551FY);
+z14=(118FX,544FY);
+z15=(118FX,507FY);
+z16=(118FX,530FY);
+z17=(125FX,520FY);
+z18=(132FX,514FY);
+z19=(150FX,519FY);
+z20=(157FX,560FY);
+z21=(156FX,580FY);
+z22=(153FX,602FY);
+z23=(151FX,617FY);
+z24=(163FX,766FY);
+z25=(207FX,717FY);
+z26=(224FX,656FY);
+z27=(224FX,640FY);
+z28=(215FX,612FY);
+z29=(200FX,606FY);
+z30=(164FX,630FY);
+z31=(145FX,696FY);
+z32=(149FX,735FY);
+z33=(163FX,766FY);
+z34=(435FX,757FY);
+z35=(480FX,732FY);
+z36=(498FX,724FY);
+z37=(457FX,716FY);
+z38=(415FX,721FY);
+z39=(375FX,739FY);
+z40=(350FX,757FY);
+z41=(306FX,793FY);
+z42=(268FX,825FY);
+z43=(228FX,850FY);
+z44=(209FX,856FY);
+z45=(189FX,857FY);
+z46=(155FX,853FY);
+z47=(133FX,844FY);
+z48=(114FX,832FY);
+z49=(88FX,802FY);
+z50=(76FX,777FY);
+z51=(63FX,742FY);
+z52=(51FX,736FY);
+z53=(24FX,745FY);
+z54=(0FX,760FY);
+z55=(9FX,813FY);
+z56=(34FX,855FY);
+z57=(48FX,867FY);
+z58=(74FX,886FY);
+z59=(98FX,897FY);
+z60=(111FX,902FY);
+z61=(179FX,909FY);
+z62=(214FX,907FY);
+z63=(245FX,899FY);
+z64=(275FX,886FY);
+z65=(322FX,849FY);
+z66=(346FX,824FY);
+z67=(376FX,799FY);
+z68=(409FX,772FY);
+z69=(435FX,757FY);
+FuF (z1
+{7,-10} .. {11,-7}z2
+{11,-8} .. {11,0}z3
+{18,1} .. {12,17}z4
+{11,17} .. {0,27}z5
+{0,35} .. {-20,30}z6
+{-18,28} .. {-15,0}z7
+{-15,0} .. {-19,-23}z8
+{-22,-28} .. {0,-35}z9
+{0,-2} .. {3,-36}z10
+{2,-14} .. {0,-19}z11
+{1,-7} .. {1,-5}z12
+{0,-2} .. {0,-1}z13
+-- z14
+-- z15
+-- z16
+{1,-3} .. {4,-4}z17
+{4,-4} .. {1,0}z18
+{9,1} .. {3,3}z19
+{5,6} .. {0,21}z20
+{-1,10} .. {0,4}z21
+{0,5} .. {-2,10}z22
+{-1,6} .. {-1,4}z23
+);
+FuF (z24
+{17,-9} .. {12,-24}z25
+{12,-23} .. {0,-18}z26
+-- z27
+{0,-13} .. {-6,-5}z28
+{-4,-4} .. {-6,0}z29
+{-13,0} .. {-12,16}z30
+{-13,18} .. {0,26}z31
+{0,16} .. {3,11}z32
+{3,10} .. {7,10}z33
+);
+FuF (z34
+{30,-17} .. {0,0}z35
+{9,-5} .. {4,-1}z36
+{-8,-5} .. {-20,0}z37
+{-13,1} .. {-15,3}z38
+{-15,4} .. {-12,8}z39
+{-8,5} .. {-9,7}z40
+{-4,3} .. {-26,21}z41
+{-8,7} .. {-17,15}z42
+{-16,13} .. {-11,4}z43
+{-7,3} .. {-6,1}z44
+{-7,1} .. {-7,0}z45
+{-12,0} .. {-10,-3}z46
+{-12,-4} .. {-3,-3}z47
+{-6,-4} .. {-6,-4}z48
+{-10,-8} .. {-8,-13}z49
+{-4,-6} .. {-4,-10}z50
+{-7,-21} .. {-1,-2}z51
+{-4,-4} .. {-4,0}z52
+{-8,0} .. {-10,6}z53
+{-8,4} .. {-9,6}z54
+{0,19} .. {6,17}z55
+{3,9} .. {14,19}z56
+{6,6} .. {4,2}z57
+{10,10} .. {7,3}z58
+{6,4} .. {10,3}z59
+{3,1} .. {5,2}z60
+{25,5} .. {21,0}z61
+{11,0} .. {12,-1}z62
+{13,-2} .. {8,-3}z63
+{6,-2} .. {14,-6}z64
+-- z65
+{9,-9} .. {7,-7}z66
+{3,-2} .. {17,-14}z67
+{12,-9} .. {11,-9}z68
+{4,-4} .. {13,-6}z69
+);
+lbl (range 1 thru 69);
+endchar;
+
+beginchar(oct"30",499FX#,905FY#,0FY#);
+"threequarters";
+z1=(195FX,777FY);
+z2=(231FX,764FY);
+z3=(237FX,736FY);
+z4=(236FX,726FY);
+z5=(234FX,711FY);
+z6=(254FX,709FY);
+z7=(258FX,718FY);
+z8=(259FX,724FY);
+z9=(263FX,733FY);
+z10=(268FX,745FY);
+z11=(277FX,763FY);
+z12=(285FX,785FY);
+z13=(279FX,794FY);
+z14=(262FX,795FY);
+z15=(199FX,794FY);
+z16=(140FX,794FY);
+z17=(120FX,794FY);
+z18=(105FX,779FY);
+z19=(102FX,697FY);
+z20=(104FX,588FY);
+z21=(120FX,568FY);
+z22=(148FX,568FY);
+z23=(166FX,572FY);
+z24=(168FX,582FY);
+z25=(163FX,635FY);
+z26=(160FX,699FY);
+z27=(166FX,777FY);
+z28=(436FX,752FY);
+z29=(481FX,727FY);
+z30=(499FX,719FY);
+z31=(458FX,711FY);
+z32=(416FX,717FY);
+z33=(375FX,734FY);
+z34=(351FX,752FY);
+z35=(307FX,788FY);
+z36=(269FX,820FY);
+z37=(229FX,845FY);
+z38=(209FX,851FY);
+z39=(189FX,852FY);
+z40=(155FX,848FY);
+z41=(134FX,840FY);
+z42=(115FX,827FY);
+z43=(88FX,797FY);
+z44=(77FX,772FY);
+z45=(63FX,737FY);
+z46=(51FX,731FY);
+z47=(24FX,740FY);
+z48=(0FX,755FY);
+z49=(9FX,808FY);
+z50=(34FX,850FY);
+z51=(48FX,863FY);
+z52=(74FX,881FY);
+z53=(99FX,892FY);
+z54=(112FX,897FY);
+z55=(179FX,905FY);
+z56=(215FX,902FY);
+z57=(246FX,894FY);
+z58=(276FX,881FY);
+z59=(323FX,844FY);
+z60=(347FX,819FY);
+z61=(377FX,794FY);
+z62=(410FX,767FY);
+z63=(436FX,752FY);
+FuF (z1
+{18,0} .. {6,-9}z2
+{4,-6} .. {0,-13}z3
+{0,-2} .. {-1,-4}z4
+{-1,-5} .. {-1,-5}z5
+-- z6
+{3,5} .. {0,1}z7
+{1,2} .. {0,2}z8
+{2,3} .. {1,3}z9
+{2,4} .. {2,4}z10
+-- z11
+{6,11} .. {0,4}z12
+{0,5} .. {-4,1}z13
+{-4,1} .. {-8,0}z14
+{-21,-1} .. {-21,0}z15
+{-22,0} .. {-18,0}z16
+-- z17
+{-8,0} .. {-2,-10}z18
+{-2,-11} .. {0,-44}z19
+{0,-59} .. {1,-14}z20
+{3,-14} .. {8,0}z21
+-- z22
+{10,1} .. {2,2}z23
+{1,2} .. {0,5}z24
+{-3,18} .. {-1,18}z25
+{-2,19} .. {0,24}z26
+{0,25} .. {4,27}z27
+);
+FuF (z28
+{30,-17} .. {1,0}z29
+{8,-5} .. {4,-1}z30
+{-8,-5} .. {-20,0}z31
+{-14,1} .. {-15,4}z32
+{-16,3} .. {-12,8}z33
+{-7,5} .. {-9,7}z34
+{-4,3} .. {-25,21}z35
+{-9,7} .. {-17,15}z36
+{-16,13} .. {-11,3}z37
+{-7,3} .. {-6,1}z38
+{-6,1} .. {-7,0}z39
+{-12,0} .. {-11,-3}z40
+{-11,-4} .. {-3,-2}z41
+{-7,-5} .. {-6,-4}z42
+{-10,-7} .. {-8,-13}z43
+{-4,-6} .. {-4,-10}z44
+{-8,-21} .. {-2,-3}z45
+{-3,-4} .. {-5,0}z46
+{-7,0} .. {-11,6}z47
+{-7,4} .. {-9,6}z48
+{0,19} .. {6,17}z49
+{4,9} .. {13,19}z50
+{6,6} .. {3,3}z51
+{11,9} .. {7,3}z52
+{7,5} .. {10,3}z53
+{3,1} .. {6,2}z54
+{24,5} .. {20,0}z55
+{12,0} .. {12,-2}z56
+{13,-2} .. {8,-3}z57
+{5,-2} .. {15,-6}z58
+-- z59
+{9,-9} .. {7,-7}z60
+{3,-2} .. {18,-14}z61
+{11,-9} .. {11,-9}z62
+{4,-4} .. {14,-7}z63
+);
+lbl (range 1 thru 63);
+endchar;
+
+beginchar(oct"116",546FX#,726FY#,165FY#);
+"braceleft";
+z1=(353FX,-92FY);
+z2=(384FX,-165FY);
+z3=(447FX,-165FY);
+z4=(478FX,-136FY);
+z5=(470FX,4FY);
+z6=(480FX,156FY);
+z7=(467FX,171FY);
+z8=(456FX,171FY);
+z9=(412FX,170FY);
+z10=(383FX,171FY);
+z11=(353FX,63FY);
+z12=(183FX,248FY);
+z13=(292FX,431FY);
+z14=(362FX,348FY);
+z15=(375FX,313FY);
+z16=(393FX,313FY);
+z17=(419FX,314FY);
+z18=(457FX,312FY);
+z19=(497FX,335FY);
+z20=(278FX,476FY);
+z21=(49FX,208FY);
+z22=(229FX,-10FY);
+z23=(353FX,17FY);
+z24=(157FX,640FY);
+z25=(84FX,558FY);
+z26=(114FX,519FY);
+z27=(159FX,519FY);
+z28=(191FX,548FY);
+z29=(189FX,583FY);
+z30=(189FX,592FY);
+z31=(189FX,600FY);
+z32=(195FX,606FY);
+z33=(198FX,606FY);
+z34=(203FX,606FY);
+z35=(411FX,606FY);
+z36=(484FX,686FY);
+z37=(454FX,726FY);
+z38=(410FX,726FY);
+z39=(377FX,697FY);
+z40=(379FX,646FY);
+z41=(372FX,640FY);
+FuF (z1
+{0,-68} .. {24,0}z2
+-- z3
+{36,0} .. {-1,11}z4
+{-7,52} .. {0,19}z5
+{0,113} .. {0,32}z6
+{0,6} .. {-12,2}z7
+{-4,1} .. {-4,0}z8
+{-14,-1} .. {-15,0}z9
+{-9,0} .. {-10,0}z10
+{-24,0} .. {3,-99}z11
+{-166,-38} .. {0,76}z12
+{0,146} .. {51,0}z13
+{54,0} .. {6,-27}z14
+{3,-17} .. {7,-4}z15
+{5,-2} .. {7,1}z16
+{9,1} .. {8,0}z17
+{12,0} .. {15,-2}z18
+{26,-3} .. {0,31}z19
+{0,88} .. {-100,0}z20
+{-85,0} .. {0,-225}z21
+{0,-106} .. {127,0}z22
+{60,0} .. {22,11}z23
+);
+FuF (z24
+{-39,0} .. {0,-95}z25
+{0,-37} .. {13,0}z26
+-- z27
+{16,0} .. {-4,31}z28
+{-2,12} .. {0,12}z29
+{0,3} .. {0,3}z30
+{0,3} .. {0,3}z31
+{0,2} .. {5,0}z32
+{1,0} .. {1,0}z33
+{2,0} .. {1,0}z34
+-- z35
+{43,0} .. {0,92}z36
+{0,38} .. {-13,0}z37
+-- z38
+{-36,0} .. {2,-16}z39
+{6,-48} .. {4,-24}z40
+{1,-4} .. {-3,0}z41
+);
+lbl (range 1 thru 41);
+endchar;
+
+
+
+beginchar(CYR_es,406FX#,484FY#,11FY#);
+"ntilde";
+z1=(336FX,172FY);
+z2=(322FX,153FY);
+z3=(279FX,102FY);
+z4=(132FX,320FY);
+z5=(149FX,400FY);
+z6=(267FX,331FY);
+z7=(288FX,310FY);
+z8=(332FX,361FY);
+z9=(360FX,397FY);
+z10=(199FX,484FY);
+z11=(37FX,244FY);
+z12=(209FX,-11FY);
+z13=(369FX,148FY);
+FuF (z1
+{-7,-8} .. {-5,-7}z2
+{-7,-10} .. {-23,-21}z3
+{-76,27} .. {0,87}z4
+{0,10} .. {16,30}z5
+{70,-14} .. {19,-23}z6
+{11,-14} .. {4,0}z7
+{8,0} .. {40,38}z8
+{19,19} .. {0,7}z9
+{0,34} .. {-18,0}z10
+{-51,0} .. {0,-112}z11
+{0,-105} .. {63,0}z12
+{40,0} .. {46,89}z13
+);
+lbl (range 1 thru 13);
+endchar;
+
+beginchar(CYR_te,630FX#,477FY#,4FY#);
+"ograve";
+z1=(549FX,277FY);
+z2=(607FX,396FY);
+z3=(624FX,441FY);
+z4=(595FX,477FY);
+z5=(537FX,470FY);
+z6=(408FX,465FY);
+z7=(222FX,465FY);
+z8=(93FX,470FY);
+z9=(35FX,477FY);
+z10=(6FX,441FY);
+z11=(23FX,396FY);
+z12=(81FX,277FY);
+z13=(133FX,286FY);
+z14=(120FX,343FY);
+z15=(238FX,432FY);
+z16=(256FX,432FY);
+z17=(253FX,329FY);
+z18=(251FX,215FY);
+z19=(251FX,172FY);
+z20=(250FX,110FY);
+z21=(279FX,-4FY);
+z22=(338FX,-4FY);
+z23=(378FX,25FY);
+z24=(371FX,270FY);
+z25=(373FX,338FY);
+z26=(374FX,432FY);
+z27=(392FX,432FY);
+z28=(510FX,343FY);
+z29=(497FX,286FY);
+FuF (z1
+{16,50} .. {29,43}z2
+{8,12} .. {0,20}z3
+{0,20} .. {-14,0}z4
+{-15,0} .. {-29,-4}z5
+{-41,-6} .. {-43,0}z6
+-- z7
+{-43,0} .. {-41,6}z8
+{-29,4} .. {-15,0}z9
+{-14,0} .. {0,-20}z10
+{0,-20} .. {8,-12}z11
+{29,-43} .. {16,-50}z12
+-- z13
+{-5,17} .. {0,12}z14
+{0,88} .. {32,0}z15
+-- z16
+{-1,-62} .. {-1,-35}z17
+{-2,-58} .. {0,-43}z18
+{0,-14} .. {0,-14}z19
+{0,-24} .. {0,-34}z20
+{0,-99} .. {29,0}z21
+-- z22
+{42,0} .. {-2,17}z23
+{-4,31} .. {0,54}z24
+{0,23} .. {1,22}z25
+{0,28} .. {0,47}z26
+-- z27
+{37,0} .. {0,-87}z28
+{0,-18} .. {-7,-18}z29
+);
+lbl (range 1 thru 29);
+endchar;
+
+
+beginchar(CYR_ef,737FX#,708FY#,257FY#);
+"ocircumflex";
+z1=(327FX,-257FY);
+z2=(410FX,-257FY);
+z3=(410FX,23FY);
+z4=(527FX,-11FY);
+z5=(700FX,151FY);
+z6=(517FX,392FY);
+z7=(417FX,541FY);
+z8=(424FX,668FY);
+z9=(408FX,708FY);
+z10=(313FX,674FY);
+z11=(317FX,619FY);
+z12=(321FX,541FY);
+z13=(220FX,392FY);
+z14=(37FX,151FY);
+z15=(210FX,-11FY);
+z16=(327FX,23FY);
+z17=(326FX,58FY);
+z18=(285FX,49FY);
+z19=(162FX,201FY);
+z20=(280FX,385FY);
+z21=(319FX,421FY);
+z22=(418FX,421FY);
+z23=(443FX,397FY);
+z24=(483FX,360FY);
+z25=(575FX,201FY);
+z26=(452FX,49FY);
+z27=(411FX,58FY);
+FuF (z1
+-- z2
+-- z3
+{39,-28} .. {37,0}z4
+{125,0} .. {0,62}z5
+{0,105} .. {-98,73}z6
+{-64,47} .. {4,74}z7
+-- z8
+{1,16} .. {-21,0}z9
+{-25,0} .. {0,-21}z10
+{0,-11} .. {2,-33}z11
+-- z12
+{2,-46} .. {-101,-75}z13
+{-122,-90} .. {0,-98}z14
+{0,-102} .. {90,0}z15
+{37,0} .. {39,28}z16
+);
+FuF (z17
+{-7,-3} .. {-19,0}z18
+{-59,0} .. {0,108}z19
+{0,87} .. {65,56}z20
+{16,14} .. {14,14}z21
+);
+FuF (z22
+{12,-10} .. {9,-10}z23
+{12,-12} .. {24,-20}z24
+{45,-37} .. {0,-84}z25
+{0,-108} .. {-55,0}z26
+{-19,0} .. {-7,3}z27
+);
+lbl (range 1 thru 27);
+endchar;
+
+beginchar(CYR_kha,469FX#,476FY#,245FY#);
+"otilde";
+z1=(48FX,465FY);
+z2=(29FX,445FY);
+z3=(60FX,377FY);
+z4=(87FX,319FY);
+z5=(120FX,249FY);
+z6=(148FX,188FY);
+z7=(178FX,120FY);
+z8=(43FX,-179FY);
+z9=(21FX,-222FY);
+z10=(58FX,-245FY);
+z11=(207FX,54FY);
+z12=(237FX,-15FY);
+z13=(283FX,-117FY);
+z14=(318FX,-195FY);
+z15=(360FX,-245FY);
+z16=(453FX,-245FY);
+z17=(453FX,-197FY);
+z18=(391FX,-80FY);
+z19=(311FX,93FY);
+z20=(273FX,182FY);
+z21=(372FX,335FY);
+z22=(424FX,307FY);
+z23=(443FX,319FY);
+z24=(442FX,360FY);
+z25=(466FX,444FY);
+z26=(397FX,476FY);
+z27=(247FX,236FY);
+z28=(229FX,277FY);
+z29=(171FX,417FY);
+z30=(151FX,462FY);
+z31=(113FX,465FY);
+FuF (z1
+{-13,0} .. {0,-20}z2
+{0,-11} .. {22,-48}z3
+{14,-30} .. {10,-21}z4
+{18,-37} .. {12,-25}z5
+{13,-32} .. {11,-22}z6
+{11,-24} .. {13,-31}z7
+{-22,-89} .. {-48,-66}z8
+{-10,-15} .. {0,-12}z9
+{0,-11} .. {30,0}z10
+{27,0} .. {86,299}z11
+{12,-28} .. {11,-25}z12
+{25,-57} .. {16,-36}z13
+{15,-31} .. {8,-23}z14
+{7,-18} .. {24,0}z15
+-- z16
+{10,0} .. {-24,38}z17
+{-28,45} .. {-19,39}z18
+{-30,64} .. {-44,100}z19
+{-16,35} .. {-14,35}z20
+{38,113} .. {41,0}z21
+{11,0} .. {24,-26}z22
+-- z23
+{-3,17} .. {1,15}z24
+{6,84} .. {0,38}z25
+{0,13} .. {-28,0}z26
+{-60,0} .. {-56,-194}z27
+{-10,22} .. {-6,14}z28
+{-25,56} .. {-33,84}z29
+{-9,23} .. {-8,9}z30
+{-11,11} .. {-18,0}z31
+);
+lbl (range 1 thru 31);
+endchar;
+
+beginchar(CYR_tse,591FX#,467FY#,186FY#);
+"odieresis";
+z1=(195FX,34FY);
+z2=(186FX,270FY);
+z3=(196FX,405FY);
+z4=(202FX,451FY);
+z5=(189FX,467FY);
+z6=(179FX,467FY);
+z7=(144FX,465FY);
+z8=(103FX,466FY);
+z9=(65FX,266FY);
+z10=(97FX,-6FY);
+z11=(200FX,-1FY);
+z12=(278FX,0FY);
+z13=(466FX,-113FY);
+z14=(455FX,-186FY);
+z15=(510FX,-186FY);
+z16=(560FX,-32FY);
+z17=(579FX,34FY);
+z18=(551FX,58FY);
+z19=(507FX,49FY);
+z20=(489FX,49FY);
+z21=(462FX,270FY);
+z22=(469FX,392FY);
+z23=(479FX,451FY);
+z24=(466FX,467FY);
+z25=(455FX,467FY);
+z26=(420FX,465FY);
+z27=(379FX,466FY);
+z28=(341FX,266FY);
+z29=(344FX,143FY);
+z30=(347FX,34FY);
+FuF (z1
+{-8,124} .. {0,78}z2
+{0,69} .. {7,46}z3
+{4,24} .. {0,10}z4
+{0,7} .. {-13,2}z5
+{-4,1} .. {-3,0}z6
+{-11,-1} .. {-12,0}z7
+{-18,0} .. {-15,0}z8
+{-21,0} .. {0,-195}z9
+{0,-267} .. {32,0}z10
+{27,0} .. {83,2}z11
+{26,0} .. {24,0}z12
+{174,2} .. {0,-70}z13
+{0,-20} .. {-7,-28}z14
+-- z15
+{32,104} .. {10,28}z16
+{16,43} .. {0,9}z17
+{0,9} .. {-20,0}z18
+{-17,0} .. {-13,-3}z19
+{-6,-1} .. {-6,2}z20
+{-33,9} .. {0,144}z21
+{0,21} .. {6,45}z22
+{5,42} .. {0,13}z23
+{0,5} .. {-12,2}z24
+{-4,1} .. {-4,0}z25
+{-12,-1} .. {-11,0}z26
+{-13,0} .. {-14,0}z27
+{-25,0} .. {0,-188}z28
+{0,-39} .. {1,-45}z29
+{1,-45} .. {1,-43}z30
+);
+lbl (range 1 thru 30);
+endchar;
+
+beginchar(CYR_che,497FX#,467FY#,0FY#);
+"divide";
+z1=(315FX,232FY);
+z2=(354FX,0FY);
+z3=(408FX,0FY);
+z4=(452FX,29FY);
+z5=(436FX,270FY);
+z6=(453FX,450FY);
+z7=(440FX,467FY);
+z8=(429FX,467FY);
+z9=(387FX,465FY);
+z10=(357FX,466FY);
+z11=(314FX,275FY);
+z12=(290FX,266FY);
+z13=(278FX,266FY);
+z14=(182FX,427FY);
+z15=(149FX,465FY);
+z16=(66FX,465FY);
+z17=(38FX,458FY);
+z18=(38FX,430FY);
+z19=(185FX,192FY);
+z20=(242FX,210FY);
+z21=(315FX,232FY);
+FuF (z1
+{7,-218} .. {39,0}z2
+-- z3
+{43,0} .. {0,20}z4
+{0,71} .. {0,146}z5
+{0,173} .. {0,69}z6
+{0,11} .. {-6,1}z7
+{-4,1} .. {-4,0}z8
+{-14,-2} .. {-14,0}z9
+{-10,0} .. {-11,0}z10
+{-30,0} .. {-5,-181}z11
+{-8,-9} .. {-10,0}z12
+{-4,0} .. {-4,0}z13
+{-25,2} .. {-20,135}z14
+{-5,37} .. {-17,0}z15
+-- z16
+{-7,0} .. {-7,-7}z17
+{-6,-6} .. {3,-10}z18
+{24,-87} .. {62,0}z19
+{27,0} .. {15,11}z20
+{35,25} .. {12,-2}z21
+);
+lbl (range 1 thru 21);
+endchar;
+
+beginchar(CYR_sha,823FX#,467FY#,0FY#);
+"oslash";
+z1=(473FX,34FY);
+z2=(469FX,130FY);
+z3=(464FX,270FY);
+z4=(475FX,404FY);
+z5=(481FX,451FY);
+z6=(468FX,467FY);
+z7=(458FX,467FY);
+z8=(412FX,465FY);
+z9=(382FX,466FY);
+z10=(343FX,267FY);
+z11=(352FX,34FY);
+z12=(196FX,34FY);
+z13=(187FX,270FY);
+z14=(194FX,392FY);
+z15=(204FX,451FY);
+z16=(191FX,467FY);
+z17=(180FX,467FY);
+z18=(134FX,465FY);
+z19=(104FX,466FY);
+z20=(66FX,267FY);
+z21=(104FX,0FY);
+z22=(704FX,0FY);
+z23=(756FX,29FY);
+z24=(740FX,270FY);
+z25=(747FX,392FY);
+z26=(757FX,451FY);
+z27=(744FX,467FY);
+z28=(733FX,467FY);
+z29=(687FX,465FY);
+z30=(657FX,466FY);
+z31=(619FX,267FY);
+z32=(629FX,34FY);
+FuF (z1
+{-2,44} .. {-2,37}z2
+{-3,49} .. {0,46}z3
+{0,60} .. {7,44}z4
+{4,25} .. {0,10}z5
+{0,7} .. {-13,2}z6
+{-4,1} .. {-3,0}z7
+{-15,-1} .. {-15,0}z8
+{-17,0} .. {-12,0}z9
+{-22,0} .. {0,-200}z10
+{0,-148} .. {4,-33}z11
+-- z12
+{-6,94} .. {0,77}z13
+{0,65} .. {3,20}z14
+{6,42} .. {0,13}z15
+{0,5} .. {-12,2}z16
+{-4,1} .. {-4,0}z17
+{-15,-2} .. {-15,0}z18
+{-10,0} .. {-11,0}z19
+{-28,0} .. {0,-187}z20
+{0,-255} .. {33,0}z21
+-- z22
+{55,0} .. {0,19}z23
+{0,71} .. {0,145}z24
+{0,58} .. {4,26}z25
+{6,42} .. {0,13}z26
+{0,5} .. {-12,2}z27
+{-4,1} .. {-4,0}z28
+{-15,-2} .. {-15,0}z29
+{-10,0} .. {-10,0}z30
+{-28,0} .. {0,-187}z31
+{0,-128} .. {1,-14}z32
+);
+lbl (range 1 thru 32);
+endchar;
+
+beginchar(oct"155",876FX#,467FY#,178FY#);
+"oslashi";
+z1=(470FX,34FY);
+z2=(466FX,130FY);
+z3=(461FX,270FY);
+z4=(472FX,404FY);
+z5=(478FX,451FY);
+z6=(465FX,467FY);
+z7=(455FX,467FY);
+z8=(409FX,465FY);
+z9=(379FX,466FY);
+z10=(340FX,267FY);
+z11=(349FX,34FY);
+z12=(193FX,34FY);
+z13=(184FX,270FY);
+z14=(191FX,392FY);
+z15=(201FX,451FY);
+z16=(188FX,467FY);
+z17=(177FX,467FY);
+z18=(131FX,465FY);
+z19=(101FX,466FY);
+z20=(63FX,267FY);
+z21=(101FX,0FY);
+z22=(701FX,0FY);
+z23=(734FX,-90FY);
+z24=(785FX,-178FY);
+z25=(816FX,-144FY);
+z26=(847FX,-55FY);
+z27=(864FX,-3FY);
+z28=(818FX,51FY);
+z29=(722FX,42FY);
+z30=(753FX,29FY);
+z31=(737FX,270FY);
+z32=(744FX,392FY);
+z33=(754FX,451FY);
+z34=(741FX,467FY);
+z35=(730FX,467FY);
+z36=(684FX,465FY);
+z37=(654FX,466FY);
+z38=(616FX,267FY);
+z39=(626FX,34FY);
+FuF (z1
+{-2,44} .. {-2,37}z2
+{-3,49} .. {0,46}z3
+{0,60} .. {7,44}z4
+{4,25} .. {0,10}z5
+{0,7} .. {-13,2}z6
+{-4,1} .. {-3,0}z7
+{-15,-1} .. {-15,0}z8
+{-17,0} .. {-12,0}z9
+{-22,0} .. {0,-200}z10
+{0,-148} .. {4,-33}z11
+-- z12
+{-6,94} .. {0,77}z13
+{0,65} .. {3,20}z14
+{6,42} .. {0,13}z15
+{0,5} .. {-12,2}z16
+{-4,1} .. {-4,0}z17
+{-15,-2} .. {-15,0}z18
+{-10,0} .. {-11,0}z19
+{-28,0} .. {0,-187}z20
+{0,-255} .. {33,0}z21
+-- z22
+{100,0} .. {17,-67}z23
+{24,-88} .. {28,0}z24
+{26,0} .. {2,18}z25
+{2,19} .. {21,58}z26
+{9,25} .. {0,23}z27
+{0,46} .. {-12,0}z28
+{-21,0} .. {-43,0}z29
+{55,0} .. {0,19}z30
+{0,71} .. {0,145}z31
+{0,58} .. {4,26}z32
+{6,42} .. {0,13}z33
+{0,5} .. {-12,2}z34
+{-4,1} .. {-4,0}z35
+{-15,-2} .. {-15,0}z36
+{-10,0} .. {-10,0}z37
+{-28,0} .. {0,-187}z38
+{0,-128} .. {1,-14}z39
+);
+lbl (range 1 thru 39);
+endchar;
+
+
+beginchar(CYR_hard_sign,687FX#,478FY#,2FY#);
+"uacute";
+z1=(139FX,286FY);
+z2=(127FX,343FY);
+z3=(244FX,431FY);
+z4=(266FX,431FY);
+z5=(255FX,171FY);
+z6=(255FX,39FY);
+z7=(289FX,0FY);
+z8=(537FX,0FY);
+z9=(560FX,-1FY);
+z10=(594FX,-2FY);
+z11=(651FX,39FY);
+z12=(572FX,197FY);
+z13=(378FX,256FY);
+z14=(381FX,352FY);
+z15=(395FX,450FY);
+z16=(382FX,466FY);
+z17=(325FX,465FY);
+z18=(232FX,465FY);
+z19=(100FX,470FY);
+z20=(41FX,478FY);
+z21=(12FX,441FY);
+z22=(29FX,396FY);
+z23=(87FX,277FY);
+z24=(379FX,34FY);
+z25=(376FX,159FY);
+z26=(378FX,212FY);
+z27=(511FX,67FY);
+z28=(510FX,35FY);
+z29=(493FX,34FY);
+FuF (z1
+{-2,6} .. {0,27}z2
+{0,38} .. {109,0}z3
+-- z4
+{-8,-68} .. {0,-131}z5
+-- z6
+{0,-37} .. {13,0}z7
+-- z8
+{8,0} .. {8,0}z9
+{11,-1} .. {9,0}z10
+{26,-1} .. {0,46}z11
+{0,20} .. {-76,59}z12
+{-31,24} .. {-100,2}z13
+{0,27} .. {3,35}z14
+{5,74} .. {0,21}z15
+{0,5} .. {-12,0}z16
+{-7,0} .. {-42,0}z17
+-- z18
+{-33,0} .. {-31,4}z19
+{-26,3} .. {-15,0}z20
+{-14,0} .. {0,-20}z21
+{0,-20} .. {8,-12}z22
+{29,-43} .. {16,-50}z23
+);
+FuF (z24
+{-3,46} .. {0,52}z25
+{0,26} .. {2,16}z26
+{122,-15} .. {0,-37}z27
+{0,-13} .. {-1,-10}z28
+-- z29
+);
+lbl (range 1 thru 29);
+endchar;
+
+
+beginchar(CYR_ery,699FX#,467FY#,2FY#);
+"ucircumflex";
+z1=(355FX,0FY);
+z2=(378FX,-1FY);
+z3=(395FX,-2FY);
+z4=(412FX,-2FY);
+z5=(469FX,39FY);
+z6=(390FX,197FY);
+z7=(186FX,257FY);
+z8=(189FX,353FY);
+z9=(203FX,451FY);
+z10=(190FX,467FY);
+z11=(179FX,467FY);
+z12=(133FX,465FY);
+z13=(103FX,466FY);
+z14=(62FX,171FY);
+z15=(62FX,39FY);
+z16=(97FX,0FY);
+z17=(508FX,267FY);
+z18=(513FX,74FY);
+z19=(547FX,0FY);
+z20=(594FX,0FY);
+z21=(645FX,29FY);
+z22=(629FX,271FY);
+z23=(646FX,451FY);
+z24=(633FX,467FY);
+z25=(622FX,467FY);
+z26=(576FX,465FY);
+z27=(547FX,466FY);
+z28=(508FX,267FY);
+z29=(186FX,34FY);
+z30=(183FX,159FY);
+z31=(185FX,212FY);
+z32=(318FX,67FY);
+z33=(317FX,35FY);
+z34=(300FX,34FY);
+FuF (z1
+{8,0} .. {8,0}z2
+{6,0} .. {5,-1}z3
+{6,0} .. {6,0}z4
+{22,-1} .. {0,45}z5
+{0,36} .. {-68,54}z6
+{-55,43} .. {-72,4}z7
+{0,26} .. {3,36}z8
+{6,75} .. {0,21}z9
+{0,5} .. {-12,2}z10
+{-4,1} .. {-4,0}z11
+{-15,-2} .. {-15,0}z12
+{-12,0} .. {-10,0}z13
+{-37,0} .. {0,-263}z14
+-- z15
+{0,-38} .. {10,0}z16
+);
+FuF (z17
+{0,-65} .. {3,-67}z18
+{3,-69} .. {25,0}z19
+-- z20
+{54,0} .. {-3,20}z21
+{-5,34} .. {0,120}z22
+{0,100} .. {0,30}z23
+{0,7} .. {-13,2}z24
+{-4,1} .. {-4,0}z25
+{-15,-1} .. {-15,0}z26
+{-15,0} .. {-11,0}z27
+{-29,0} .. {0,-187}z28
+);
+FuF (z29
+{-3,46} .. {0,52}z30
+{0,26} .. {2,16}z31
+{122,-15} .. {0,-37}z32
+{0,-13} .. {-1,-10}z33
+-- z34
+);
+lbl (range 1 thru 34);
+endchar;
+
+
+beginchar(oct"003",510FX#,496FY#,18FY#);
+"ucircumflex";
+z1=(498FX,-3FY);
+z2=(434FX,37FY);
+z3=(369FX,116FY);
+z4=(342FX,234FY);
+z5=(369FX,352FY);
+z6=(434FX,430FY);
+z7=(498FX,479FY);
+z8=(475FX,496FY);
+z9=(348FX,436FY);
+z10=(257FX,352FY);
+z11=(226FX,243FY);
+z12=(226FX,225FY);
+z13=(286FX,76FY);
+z14=(475FX,-18FY);
+z15=(28FX,267FY);
+z16=(33FX,74FY);
+z17=(67FX,0FY);
+z18=(114FX,0FY);
+z19=(165FX,29FY);
+z20=(149FX,271FY);
+z21=(166FX,451FY);
+z22=(153FX,467FY);
+z23=(142FX,467FY);
+z24=(96FX,465FY);
+z25=(67FX,466FY);
+z26=(28FX,267FY);
+z27=(470FX,252FY);
+z28=(145FX,252FY);
+z29=(145FX,216FY);
+z30=(470FX,216FY);
+FuF (z1
+{-13,15} .. {-8,18}z2
+{-10,22} .. {-5,30}z3
+{-6,33} .. {0,45}z4
+{0,46} .. {5,33}z5
+{5,30} .. {10,22}z6
+{8,18} .. {13,15}z7
+-- z8
+{-25,-18} .. {-18,-22}z9
+{-22,-26} .. {-12,-30}z10
+{-14,-35} .. {0,-38}z11
+-- z12
+{0,-52} .. {26,-46}z13
+{23,-42} .. {40,-28}z14
+);
+FuF (z15
+{0,-65} .. {3,-67}z16
+{3,-69} .. {25,0}z17
+-- z18
+{54,0} .. {-3,20}z19
+{-5,34} .. {0,120}z20
+{0,100} .. {0,30}z21
+{0,7} .. {-13,2}z22
+{-4,1} .. {-4,0}z23
+{-15,-1} .. {-15,0}z24
+{-15,0} .. {-11,0}z25
+{-29,0} .. {0,-187}z26
+);
+FuF (z27
+-- z28
+-- z29
+-- z30
+);
+lbl (range 1 thru 30);
+endchar;
+
+
+beginchar(CYR_soft_sign,500FX#,467FY#,2FY#);
+"udieresis";
+z1=(355FX,0FY);
+z2=(378FX,-1FY);
+z3=(395FX,-2FY);
+z4=(412FX,-2FY);
+z5=(469FX,39FY);
+z6=(390FX,197FY);
+z7=(186FX,257FY);
+z8=(189FX,353FY);
+z9=(203FX,451FY);
+z10=(190FX,467FY);
+z11=(179FX,467FY);
+z12=(133FX,465FY);
+z13=(103FX,466FY);
+z14=(62FX,172FY);
+z15=(62FX,39FY);
+z16=(97FX,0FY);
+z17=(186FX,34FY);
+z18=(183FX,159FY);
+z19=(185FX,212FY);
+z20=(318FX,67FY);
+z21=(317FX,35FY);
+z22=(300FX,34FY);
+FuF (z1
+{8,0} .. {8,0}z2
+{6,0} .. {5,-1}z3
+{6,0} .. {6,0}z4
+{22,-1} .. {0,45}z5
+{0,36} .. {-68,54}z6
+{-55,43} .. {-72,4}z7
+{0,27} .. {3,35}z8
+{6,74} .. {0,20}z9
+{0,5} .. {-12,2}z10
+{-4,1} .. {-4,0}z11
+{-15,-2} .. {-15,0}z12
+{-12,0} .. {-10,0}z13
+{-37,0} .. {0,-262}z14
+-- z15
+{0,-38} .. {10,0}z16
+);
+FuF (z17
+{-3,46} .. {0,52}z18
+{0,26} .. {2,16}z19
+{122,-15} .. {0,-37}z20
+{0,-13} .. {-1,-10}z21
+-- z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(CYR_rev_e,681FX#,742FY#,2FY#);
+"yacute";
+z1=(380FX,430FY);
+z2=(425FX,430FY);
+z3=(513FX,344FY);
+z4=(506FX,293FY);
+z5=(549FX,289FY);
+z6=(595FX,403FY);
+z7=(612FX,446FY);
+z8=(592FX,467FY);
+z9=(534FX,464FY);
+z10=(384FX,464FY);
+z11=(412FX,727FY);
+z12=(388FX,742FY);
+z13=(312FX,742FY);
+z14=(266FX,464FY);
+z15=(229FX,464FY);
+z16=(97FX,469FY);
+z17=(38FX,478FY);
+z18=(9FX,441FY);
+z19=(33FX,385FY);
+z20=(84FX,277FY);
+z21=(136FX,286FY);
+z22=(124FX,343FY);
+z23=(241FX,430FY);
+z24=(264FX,430FY);
+z25=(258FX,325FY);
+z26=(251FX,74FY);
+z27=(286FX,0FY);
+z28=(540FX,0FY);
+z29=(563FX,-1FY);
+z30=(580FX,-2FY);
+z31=(597FX,-2FY);
+z32=(654FX,39FY);
+z33=(575FX,197FY);
+z34=(374FX,257FY);
+z35=(380FX,430FY);
+z36=(375FX,34FY);
+z37=(372FX,159FY);
+z38=(374FX,212FY);
+z39=(507FX,67FY);
+z40=(506FX,35FY);
+z41=(489FX,34FY);
+FuF (z1
+-- z2
+{81,0} .. {0,-43}z3
+{0,-23} .. {-2,-7}z4
+-- z5
+{21,70} .. {6,11}z6
+{13,22} .. {0,10}z7
+{0,12} .. {-12,0}z8
+{-19,0} .. {-28,0}z9
+-- z10
+{10,241} .. {0,106}z11
+{0,16} .. {-10,0}z12
+-- z13
+{-35,0} .. {-13,-262}z14
+-- z15
+{-24,0} .. {-40,5}z16
+{-26,4} .. {-15,0}z17
+{-14,0} .. {0,-16}z18
+{0,-19} .. {9,-14}z19
+{14,-21} .. {13,-49}z20
+-- z21
+{-6,18} .. {0,16}z22
+{0,84} .. {39,0}z23
+-- z24
+{-3,-58} .. {-2,-36}z25
+{-7,-91} .. {0,-51}z26
+{0,-69} .. {26,0}z27
+-- z28
+{8,0} .. {8,0}z29
+{6,0} .. {5,-1}z30
+{6,0} .. {6,0}z31
+{22,-1} .. {0,45}z32
+{0,36} .. {-68,54}z33
+{-52,41} .. {-82,6}z34
+{0,36} .. {5,136}z35
+);
+FuF (z36
+{-3,46} .. {0,52}z37
+{0,26} .. {2,16}z38
+{122,-15} .. {0,-37}z39
+{0,-13} .. {-1,-10}z40
+-- z41
+);
+lbl (range 1 thru 41);
+endchar;
+
+beginchar(CYR_yu,683FX#,481FY#,14FY#);
+"thorn";
+z1=(182FX,263FY);
+z2=(195FX,450FY);
+z3=(182FX,467FY);
+z4=(171FX,467FY);
+z5=(126FX,465FY);
+z6=(96FX,466FY);
+z7=(61FX,266FY);
+z8=(96FX,0FY);
+z9=(143FX,0FY);
+z10=(196FX,29FY);
+z11=(182FX,222FY);
+z12=(287FX,222FY);
+z13=(472FX,-14FY);
+z14=(652FX,260FY);
+z15=(466FX,481FY);
+z16=(291FX,263FY);
+z17=(394FX,378FY);
+z18=(575FX,169FY);
+z19=(557FX,102FY);
+z20=(363FX,275FY);
+z21=(363FX,304FY);
+z22=(394FX,378FY);
+FuF (z1
+{0,144} .. {0,48}z2
+{0,5} .. {-13,3}z3
+{-4,1} .. {-4,0}z4
+{-15,-2} .. {-15,0}z5
+{-10,0} .. {-10,0}z6
+{-29,0} .. {0,-178}z7
+{0,-238} .. {31,0}z8
+-- z9
+{54,0} .. {0,20}z10
+{0,56} .. {2,98}z11
+-- z12
+{-5,-140} .. {59,0}z13
+{69,0} .. {0,117}z14
+{0,156} .. {-39,0}z15
+{-37,0} .. {-23,-143}z16
+);
+FuF (z17
+{128,-15} .. {0,-74}z18
+{0,-24} .. {-12,-21}z19
+{-118,-12} .. {-7,71}z20
+{-1,9} .. {1,10}z21
+{4,42} .. {9,10}z22
+);
+lbl (range 1 thru 22);
+endchar;
+
+beginchar(CYR_ya,671FX#,465FY#,3FY#);
+"ydieresis";
+z1=(308FX,465FY);
+z2=(281FX,445FY);
+z3=(290FX,413FY);
+z4=(181FX,274FY);
+z5=(28FX,27FY);
+z6=(28FX,15FY);
+z7=(52FX,-3FY);
+z8=(104FX,0FY);
+z9=(148FX,-1FY);
+z10=(173FX,52FY);
+z11=(216FX,207FY);
+z12=(276FX,187FY);
+z13=(306FX,0FY);
+z14=(346FX,0FY);
+z15=(397FX,29FY);
+z16=(387FX,187FY);
+z17=(433FX,205FY);
+z18=(502FX,52FY);
+z19=(529FX,-1FY);
+z20=(572FX,0FY);
+z21=(617FX,-3FY);
+z22=(643FX,15FY);
+z23=(643FX,28FY);
+z24=(512FX,282FY);
+z25=(394FX,453FY);
+z26=(377FX,465FY);
+z27=(313FX,370FY);
+z28=(388FX,268FY);
+z29=(414FX,237FY);
+z30=(326FX,215FY);
+z31=(232FX,237FY);
+z32=(313FX,370FY);
+FuF (z1
+{-29,0} .. {0,-11}z2
+{0,-13} .. {4,-9}z3
+{-8,-53} .. {-68,-51}z4
+{-131,-99} .. {-3,-40}z5
+{0,-4} .. {0,-4}z6
+{1,-17} .. {15,0}z7
+{25,0} .. {38,0}z8
+{26,0} .. {18,0}z9
+{11,0} .. {2,49}z10
+{2,49} .. {37,59}z11
+{11,-7} .. {34,-6}z12
+{-16,-177} .. {26,0}z13
+-- z14
+{54,0} .. {-3,20}z15
+{-7,49} .. {3,69}z16
+{14,3} .. {18,11}z17
+{37,-37} .. {6,-51}z18
+{5,-49} .. {15,0}z19
+{19,0} .. {15,0}z20
+{17,0} .. {17,0}z21
+{13,0} .. {3,17}z22
+{1,4} .. {0,4}z23
+{-11,108} .. {-49,59}z24
+{-94,115} .. {-3,26}z25
+{-2,16} .. {-9,0}z26
+);
+FuF (z27
+{31,-51} .. {18,-21}z28
+{15,-17} .. {9,-10}z29
+{-10,-7} .. {-52,0}z30
+{-57,0} .. {-9,5}z31
+{40,57} .. {29,58}z32
+);
+lbl (range 1 thru 32);
+endchar;
+
+beginchar(oct"004",1129FX#,700FY#,0FY#);
+"at";
+z1=(430FX,420FY);
+z2=(59FX,47FY);
+z3=(97FX,0FY);
+z4=(176FX,5FY);
+z5=(242FX,3FY);
+z6=(279FX,83FY);
+z7=(474FX,376FY);
+z8=(477FX,231FY);
+z9=(478FX,118FY);
+z10=(526FX,5FY);
+z11=(561FX,5FY);
+z12=(596FX,5FY);
+z13=(672FX,49FY);
+z14=(658FX,376FY);
+z15=(854FX,83FY);
+z16=(891FX,3FY);
+z17=(927FX,5FY);
+z18=(955FX,5FY);
+z19=(991FX,3FY);
+z20=(1034FX,0FY);
+z21=(1072FX,27FY);
+z22=(1072FX,47FY);
+z23=(685FX,423FY);
+z24=(888FX,588FY);
+z25=(940FX,663FY);
+z26=(879FX,699FY);
+z27=(851FX,699FY);
+z28=(295FX,699FY);
+z29=(264FX,700FY);
+z30=(204FX,661FY);
+z31=(243FX,614FY);
+z32=(608FX,442FY);
+z33=(422FX,648FY);
+z34=(732FX,648FY);
+z35=(812FX,617FY);
+z36=(785FX,586FY);
+z37=(30FX,0FY);
+z38=(308FX,0FY);
+z39=(308FX,42FY);
+z40=(30FX,42FY);
+z41=(442FX,0FY);
+z42=(706FX,0FY);
+z43=(706FX,42FY);
+z44=(442FX,42FY);
+z45=(826FX,0FY);
+z46=(1099FX,0FY);
+z47=(1099FX,42FY);
+z48=(826FX,42FY);
+z49=(477FX,42FY);
+z50=(487FX,42FY);
+z51=(487FX,240FY);
+z52=(477FX,240FY);
+FuF (z1
+{-263,-50} .. {0,-70}z2
+{0,-45} .. {22,0}z3
+{33,0} .. {38,0}z4
+{17,0} .. {22,0}z5
+{17,0} .. {3,73}z6
+{8,130} .. {139,17}z7
+{3,-75} .. {0,-33}z8
+{0,-38} .. {2,-66}z9
+{3,-99} .. {45,-2}z10
+{12,0} .. {12,0}z11
+{12,0} .. {12,0}z12
+{81,-3} .. {-3,25}z13
+{-9,67} .. {3,174}z14
+{161,-19} .. {3,-75}z15
+{3,-78} .. {17,0}z16
+{12,0} .. {12,2}z17
+{9,0} .. {9,0}z18
+{12,0} .. {12,0}z19
+{14,-2} .. {15,0}z20
+{21,0} .. {3,25}z21
+{2,6} .. {0,6}z22
+{-12,130} .. {-233,38}z23
+-- z24
+{25,21} .. {0,34}z25
+{0,36} .. {-19,0}z26
+{-9,0} .. {-8,0}z27
+-- z28
+{-14,0} .. {-19,0}z29
+{-44,0} .. {0,-21}z30
+{0,-24} .. {15,-15}z31
+);
+FuF (z32
+-- z33
+-- z34
+{34,0} .. {0,-38}z35
+{0,-6} .. {-21,-17}z36
+);
+FuF (z37
+-- z38
+-- z39
+-- z40
+);
+FuF (z41
+-- z42
+-- z43
+-- z44
+);
+FuF (z45
+-- z46
+-- z47
+-- z48
+);
+FuF (z49
+-- z50
+-- z51
+-- z52
+);
+lbl (range 1 thru 52);
+endchar;
+
+
+beginchar(oct"014",1490FX#,717FY#,5FY#);
+"I";
+z1=(790FX,420FY);
+z2=(419FX,47FY);
+z3=(457FX,0FY);
+z4=(536FX,5FY);
+z5=(602FX,3FY);
+z6=(639FX,83FY);
+z7=(834FX,376FY);
+z8=(837FX,231FY);
+z9=(838FX,118FY);
+z10=(886FX,5FY);
+z11=(921FX,5FY);
+z12=(956FX,5FY);
+z13=(1032FX,49FY);
+z14=(1018FX,376FY);
+z15=(1214FX,83FY);
+z16=(1251FX,3FY);
+z17=(1287FX,5FY);
+z18=(1315FX,5FY);
+z19=(1351FX,3FY);
+z20=(1394FX,0FY);
+z21=(1432FX,27FY);
+z22=(1432FX,47FY);
+z23=(1045FX,423FY);
+z24=(1248FX,588FY);
+z25=(1300FX,663FY);
+z26=(1239FX,699FY);
+z27=(1211FX,699FY);
+z28=(655FX,699FY);
+z29=(624FX,700FY);
+z30=(564FX,661FY);
+z31=(603FX,614FY);
+z32=(968FX,442FY);
+z33=(782FX,648FY);
+z34=(1092FX,648FY);
+z35=(1172FX,617FY);
+z36=(1145FX,586FY);
+z37=(390FX,0FY);
+z38=(668FX,0FY);
+z39=(668FX,42FY);
+z40=(390FX,42FY);
+z41=(802FX,0FY);
+z42=(1066FX,0FY);
+z43=(1066FX,42FY);
+z44=(802FX,42FY);
+z45=(1186FX,0FY);
+z46=(1459FX,0FY);
+z47=(1459FX,42FY);
+z48=(1186FX,42FY);
+z49=(837FX,42FY);
+z50=(847FX,42FY);
+z51=(847FX,240FY);
+z52=(837FX,240FY);
+z53=(110FX,42FY);
+z54=(27FX,42FY);
+z55=(27FX,0FY);
+z56=(348FX,0FY);
+z57=(348FX,42FY);
+z58=(265FX,42FY);
+z59=(265FX,658FY);
+z60=(348FX,658FY);
+z61=(348FX,700FY);
+z62=(27FX,700FY);
+z63=(27FX,658FY);
+z64=(110FX,658FY);
+z65=(790FX,465FY);
+z66=(234FX,465FY);
+z67=(234FX,415FY);
+z68=(790FX,415FY);
+FuF (z1
+{-263,-50} .. {0,-70}z2
+{0,-45} .. {22,0}z3
+{33,0} .. {38,0}z4
+{17,0} .. {22,0}z5
+{17,0} .. {3,73}z6
+{8,130} .. {139,17}z7
+{3,-75} .. {0,-33}z8
+{0,-38} .. {2,-66}z9
+{3,-99} .. {45,-2}z10
+{12,0} .. {12,0}z11
+{12,0} .. {12,0}z12
+{81,-3} .. {-3,25}z13
+{-9,67} .. {3,174}z14
+{161,-19} .. {3,-75}z15
+{3,-78} .. {17,0}z16
+{12,0} .. {12,2}z17
+{9,0} .. {9,0}z18
+{12,0} .. {12,0}z19
+{14,-2} .. {15,0}z20
+{21,0} .. {3,25}z21
+{2,6} .. {0,6}z22
+{-12,130} .. {-233,38}z23
+-- z24
+{25,21} .. {0,34}z25
+{0,36} .. {-19,0}z26
+{-9,0} .. {-8,0}z27
+-- z28
+{-14,0} .. {-19,0}z29
+{-44,0} .. {0,-21}z30
+{0,-24} .. {15,-15}z31
+);
+FuF (z32
+-- z33
+-- z34
+{34,0} .. {0,-38}z35
+{0,-6} .. {-21,-17}z36
+);
+FuF (z37
+-- z38
+-- z39
+-- z40
+);
+FuF (z41
+-- z42
+-- z43
+-- z44
+);
+FuF (z45
+-- z46
+-- z47
+-- z48
+);
+FuF (z49
+-- z50
+-- z51
+-- z52
+);
+FuF (z53
+-- z54
+-- z55
+-- z56
+-- z57
+-- z58
+-- z59
+-- z60
+-- z61
+-- z62
+-- z63
+-- z64
+);
+FuF (z65
+-- z66
+-- z67
+-- z68
+);
+lbl (range 1 thru 68);
+endchar;
+
+
+
+
+%ligtable oct"0":oct"150" =: oct"140";
+
+ligtable CYR_o:CYR_u =: oct"161";
+
+ligtable CYR_O:CYR_U =: oct"121";
+
+ligtable oct"173":oct"55" =: oct"174";
+
+ligtable oct"55":oct"55" =: oct"173";
+
+font_slant := 0.0000;
+%font_normal_space := 600 * FX#;
+%font_normal_stretch := 300 * FX#;
+%font_normal_shrink := 199 * FX#;
+font_normal_space := 400 * FX#;
+font_normal_stretch := 150 * FX#;
+font_normal_shrink := 99 * FX#;
+font_x_height := 450 * FY#;
+font_quad := 1045 * FX#;
+designsize := FontSize;
+font_coding_scheme := "TeX text";
+font_identifier := "izhitsa";
+end.
diff --git a/fonts/cyrillic/old_slavonic/izhitsa/izhitsa.sty b/fonts/cyrillic/old_slavonic/izhitsa/izhitsa.sty
new file mode 100644
index 0000000000..334f47a914
--- /dev/null
+++ b/fonts/cyrillic/old_slavonic/izhitsa/izhitsa.sty
@@ -0,0 +1,196 @@
+%
+% The style file is intended to use Izhitsa font.
+
+% The command \<size>Slav (<size>=twl,elv,ten,nin,egt..) loads izhitsa
+% at a definite size. It works both in Plain TeX and LaTeX.
+% The command \Slav loads izhitsa font at size of the outer text.
+% It works with LaTeX only. The scheme applied supposes that
+% the font \<size>rmsl is invoked when roman in the outer
+% text is set by \<size>rm.
+% If the message "SLAV STYLE: font ... not found" appears,
+% the below list of fonts should be augmented.
+%
+% The usage of the commands looks like the following
+% ...{\Slav abc {\small abc} abc {\tenSlav abc} abc}...
+%
+% Both \<size>Slav and \Slav make a number of useful definition
+% (\titlo, \title, \ttl, accents and special symbols), which are
+% local within the group containing \[size]Slav.
+%
+% Oleg Motygin mov@snark.ipme.ru
+%
+
+\catcode`\@=11
+
+\ifx\slav@@loaded\relax\endinput\else\let\slav@@loaded=\relax\fi
+
+\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname
+ #1\endcsname\relax#2\else#3\fi}
+
+\newif\ifslav@sz@defd
+\slav@sz@defdfalse
+
+\font\svtnrmsl=izh1251 scaled \magstep2\relax
+\font\svtnrmslind=izh1251 scaled 833\relax
+\def\svtnSlav{\gdef\slav@sz{svtn}\slav@sz@defdtrue\slavmode}
+
+
+\font\frtnrmsl=izh1251 scaled \magstep1\relax
+\font\frtnrmslind=izh1251 scaled 760\relax
+\def\frtnSlav{\gdef\slav@sz{frtn}\slav@sz@defdtrue\slavmode}
+
+\font\twlrmsl=izh1251 scaled \magstephalf\relax
+\font\twlrmslind=izh1251 scaled 694\relax
+\def\twlSlav{\gdef\slav@sz{twl}\slav@sz@defdtrue\slavmode}
+
+\font\elvrmsl=izh1251\relax
+\font\elvrmslind=izh1251 scaled 634\relax
+\def\elvSlav{\gdef\slav@sz{elv}\slav@sz@defdtrue\slavmode}
+
+\font\tenrmsl=izh1251 scaled 913\relax
+\font\tenrmslind=izh1251 scaled 579\relax
+\def\tenSlav{\gdef\slav@sz{ten}\slav@sz@defdtrue\slavmode}
+
+\font\ninrmsl=izh1251 scaled 833\relax
+\font\ninrmslind=izh1251 scaled 528\relax
+\def\ninSlav{\gdef\slav@sz{nin}\slav@sz@defdtrue\slavmode}
+
+\font\egtrmsl=izh1251 scaled 760\relax
+\font\egtrmslind=izh1251 scaled 482\relax
+\def\egtSlav{\gdef\slav@sz{egt}\slav@sz@defdtrue\slavmode}
+
+\font\sevrmsl=izh1251 scaled 694\relax
+\font\sevrmslind=izh1251 scaled 420\relax
+\def\sevSlav{\gdef\slav@sz{sev}\slav@sz@defdtrue\slavmode}
+
+
+\def\parslav{\lineskiplimit=0pt\lineskip=0.2ex}
+
+\newdimen\hat@@sq
+
+\def\gobble#1{}
+
+\let\v@@@v=\v%
+\let\u@@@u=\"%
+
+
+\def\slavmode{%
+\def\v##1{\hbox{\bf\v@@@v{\Slav ##1}}}%
+\def\u##1{\hbox{\bf\u@@@u{\Slav ##1}}}%
+\def\rr{\mbox{$>$}}%
+\def\ll{\mbox{$<$}}%
+\def\"##1{{\accent17##1}}%
+\def\`##1{{\accent18##1}}%
+\def\'##1{{\accent19##1}}%
+\def\ced##1{{\accent20##1}}%
+\def\cedr##1{{\accent21##1}}%
+\def\cedl##1{{\accent22##1}}%
+\def\ddd##1{{\accent28##1}}%
+%
+\def\hatsq##1{\dimen\hat@@sq=##1%
+\dimen\hat@@sq=0.9\dimen\hat@@sq%
+\advance\dimen\hat@@sq by 0.135em%
+\ifdim \dimen\hat@@sq>0.7em \dimen\hat@@sq=0.9em\fi%
+\setbox0=\hbox{\vrule height0.5ex depth-0.25ex width0.07em%
+\vrule height0.5ex depth-0.45ex width0.5\dimen\hat@@sq\kern-0.275em%
+\vrule height0.45ex depth-0.4ex width0.5\dimen\hat@@sq%
+\vrule height0.65ex depth-0.4ex width0.07em%
+}\kern-0.05em\raise0.02ex\copy0}%
+%
+\def\slavstrut{\hbox{\vrule width0pt height2.2ex}}%
+%
+\def\titlo##1{\leavevmode\hbox{\setbox0\hbox{##1}%
+\dimen0=\ht0\advance\dimen0 by -0.15ex%
+\ifdim \dimen0<1.09ex \dimen0=1.09ex\fi%
+\setbox1=\hbox{\make@@box[\wd0]{\raise@@box{\dimen0}{\hatsq{\wd0}}}\kern-\wd0##1}%
+\ht1=1.8ex\copy1}}%
+%
+\def\titlet##1##2{\leavevmode\hbox{\setbox0\hbox{##2}\setbox2\hbox{\ind@slav ##1}%
+\dimen0=\dp2\advance\dimen0 by \ht0\advance\dimen0 by 0.2ex%
+%\ifdim \dimen0>1.45ex \dimen0=1.45ex\fi%
+\setbox1=\hbox{\make@@box[\wd0]{\raise@@box{\dimen0}%
+{\make@@box[0pt]{\ind@slav ##1}\raise@@box{.2ex}%
+{\make@@box[0pt]{\char30}}}}\kern-\wd0##2}\ht1=2.2ex\copy1}}%
+%
+\def\ttl##1##2{\leavevmode\hbox{\setbox0\hbox{##2}\setbox2\hbox{\ind@slav ##1}%
+\dimen0=\dp2\advance\dimen0 by \ht0\advance\dimen0 by 0.2ex%
+%\ifdim \dimen0>1.65ex \dimen0=1.45ex\fi%
+\setbox1=\hbox{\make@@box[\wd0]{\raise@@box{\dimen0}{\make@@box[0pt]%
+{\ind@slav##1}}}\kern-\wd0##2}\ht1=2.2ex\copy1}}%
+%
+\chardef\å='003%
+\chardef\Å='002%
+\chardef\Ó='004%
+\chardef\ó='005%
+\chardef\i='154%
+\chardef\I='114%
+\chardef\ê='137%
+\chardef\h='375%
+\chardef\H='335%
+\chardef\à='011%
+\chardef\À='010%
+\def\éà{\char'013}%
+\def\ÉÀ{\char'012}%
+\chardef\w='147%
+\chardef\W='107%
+\chardef\ÿ='357%
+\chardef\ß='237%
+\chardef\þ='015%
+\chardef\Þ='014%
+\chardef\j='001%
+\chardef\J='000%
+\def\ppmb##1{\setbox0=\hbox{##1}%
+\hbox{\kern-.035em\copy0\kern-\wd0%
+\kern.07em\copy0\kern-\wd0%
+\kern-.035em\box0}}%
+\edef\TTT{\ppmb{$\cdot\kern0.4em\cdot$}\llap{$\vcenter{\hbox{:\kern0.1em}}$\kern0.275em}}%
+\def\jh{\j\kern-0.04em h}%
+\def\N{\setbox0=\hbox{I}\hbox{\copy0\kern-0.5\wd0%
+\vrule width0.36em height0.85ex depth-0.75ex\kern-0.5\wd0\copy0}}%
+\ifslav@sz@defd%
+\edef\t@@t{\def\noexpand\a@@a{\csname\slav@sz rmsl\endcsname}}\t@@t%
+\edef\r@@r{\def\noexpand\ind@slav{\csname\slav@sz rmslind\endcsname}}\r@@r%
+\else%
+\def\ap@@pa##1{\edef\a@@a{\def\noexpand\a@@a{\csname%
+\expandafter\gobble\string##1sl\endcsname}}\a@@a}%
+\def\ap@@ind##1{\edef\ind@slav{\def\noexpand\ind@slav{\csname%
+\expandafter\gobble\string##1slind\endcsname}}\ind@slav}%
+\reset@font\rm%
+\edef\t@@t{\the\font}%
+\expandafter\ap@@pa\t@@t%
+\expandafter\ap@@ind\t@@t%
+\expandafter\ifx\a@@a \relax \typeout{SLAV STYLE: %
+font `\a@@a' not found (tenrmsl at 10pt substituted).}%
+\let\a@@a=\tenrmsl\global\let\ind@slav=\tenrmslind\fi%
+\fi%
+\a@@a}
+
+
+\def\slav#1{{\Slav #1}}
+
+\def\raise@@box#1#2{\hbox{\raise#1\hbox{#2}}}
+
+\def\make@@box[#1]#2{\hbox to #1{\hss\hbox{#2}\hss}}
+
+\def\Slav{\slav@sz@defdfalse\slavmode%
+\let\tiny@@slav=\tiny%
+\def\tiny{\tiny@@slav\slav@sz@defdfalse\slavmode}%
+\let\scriptsize@@slav=\scriptsize%
+\def\scriptsize{\scriptsize@@slav\slav@sz@defdfalse\slavmode}%
+\let\footnotesize@@slav=\footnotesize%
+\def\footnotesize{\footnotesize@@slav\slav@sz@defdfalse\slavmode}%
+\let\small@@slav=\small%
+\def\small{\small@@slav\slav@sz@defdfalse\slavmode}%
+\let\normalsize@@slav=\normalsize%
+\def\normalsize{\normalsize@@slav\slav@sz@defdfalse\slavmode}%
+\let\large@@slav=\large%
+\def\large{\large@@slav\slav@sz@defdfalse\slavmode}%
+\let\Large@@slav=\Large%
+\def\Large{\Large@@slav\slav@sz@defdfalse\slavmode}%
+\let\LARGE@@slav=\LARGE%
+\def\LARGE{\LARGE@@slav\slav@sz@defdfalse\slavmode}%
+\let\huge@@slav=\huge%
+\def\huge{\huge@@slav\slav@sz@defdfalse\slavmode}%
+\let\Huge@@slav=\Huge%
+\def\Huge{\Huge@@slav\slav@sz@defdfalse\slavmode}%
+}
diff --git a/fonts/cyrillic/old_slavonic/izhitsa/lbcoding.mf b/fonts/cyrillic/old_slavonic/izhitsa/lbcoding.mf
new file mode 100644
index 0000000000..bbb418f158
--- /dev/null
+++ b/fonts/cyrillic/old_slavonic/izhitsa/lbcoding.mf
@@ -0,0 +1,92 @@
+
+% Soviet alternative coding.
+
+CYR_A := 128;
+CYR_BE := 129;
+CYR_VE := 130;
+CYR_GHE := 131;
+CYR_DE := 132;
+CYR_E := 133;
+CYR_YO := 240;
+CYR_ZHE := 134;
+CYR_ZE := 135;
+CYR_I := 136;
+CYR_SHORT_I := 137;
+CYR_KA := 138;
+CYR_EL := 139;
+CYR_EM := 140;
+CYR_EN := 141;
+CYR_O := 142;
+CYR_PE := 143;
+CYR_ER := 144;
+CYR_ES := 145;
+CYR_TE := 146;
+CYR_U := 147;
+CYR_EF := 148;
+CYR_KHA := 149;
+CYR_TSE := 150;
+CYR_CHE := 151;
+CYR_SHA := 152;
+CYR_SHCHA := 153;
+CYR_HARD_SIGN := 154;
+CYR_ERY := 155;
+CYR_SOFT_SIGN := 156;
+CYR_REV_E := 157;
+CYR_YU := 158;
+CYR_YA := 159;
+
+CYR_a := 160;
+CYR_be := 161;
+CYR_ve := 162;
+CYR_ghe := 163;
+CYR_de := 164;
+CYR_e := 165;
+CYR_yo := 241;
+CYR_zhe := 166;
+CYR_ze := 167;
+CYR_i := 168;
+CYR_short_i := 169;
+CYR_ka := 170;
+CYR_el := 171;
+CYR_em := 172;
+CYR_en := 173;
+CYR_o := 174;
+CYR_pe := 175;
+CYR_er := 224;
+CYR_es := 225;
+CYR_te := 226;
+CYR_u := 227;
+CYR_ef := 228;
+CYR_kha := 229;
+CYR_tse := 230;
+CYR_che := 231;
+CYR_sha := 232;
+CYR_shcha := 233;
+CYR_hard_sign := 234;
+CYR_ery := 235;
+CYR_soft_sign := 236;
+CYR_rev_e := 237;
+CYR_yu := 238;
+CYR_ya := 239;
+
+%cyrpunc
+
+CYR_open_quote := 243;
+CYR_close_quote := 244;
+CYR_No := 242;
+
+%endinput;
+%%% the addition of another form of letters cyr_ de, zhe, ka, el, ya
+
+CYR_SPEC_ZHE:= 134; %if monospace: 134 else: 176 fi;
+CYR_SPEC_zhe:= 166; %if monospace: 166 else: 177 fi;
+CYR_SPEC_KA := 138; %if monospace: 138 else: 178 fi;
+CYR_SPEC_ka := 170; %if monospace: 170 else: 179 fi;
+CYR_SPEC_YA := 159; %if monospace: 159 else: 180 fi;
+CYR_SPEC_ya := 239; %if monospace: 239 else: 181 fi;
+
+
+if specific=1:
+forsuffixes $=ZHE, zhe, KA, ka, YA, ya: CYR_SPEC_$:=CYR_$; endfor fi
+
+
diff --git a/fonts/cyrillic/old_slavonic/izhitsa/readme b/fonts/cyrillic/old_slavonic/izhitsa/readme
new file mode 100644
index 0000000000..06399a2057
--- /dev/null
+++ b/fonts/cyrillic/old_slavonic/izhitsa/readme
@@ -0,0 +1,25 @@
+This directory contains
+
+Izhitsa.mf version of Old Slavonic font in Dos866 encoding
+Izh1251.mf the same font in Win1251 encoding
+lbcoding.mf Dos866 encoding
+wbcoding.mf Win1251 encoding
+Izhitsa.sty a style file for usage of Izh1251 with PlainTeX
+ and LaTeX2.09
+
+Suggestions:
+It would be nice if somebody can
+
+ 1) improve the quality of the font refining spaces between letters
+ by adding information on kerning pairs, something like this
+ ligtable CYR_GHE : CYR_o kern -15*FX#,
+ CYR_e kern -12*FX#;
+ and so on.
+
+ 2) write a font description and a style file for LaTeX2e
+
+ 3) create another family of Old Slavonic fonts.
+ Likely, the simpliest way is to convert Free True Type
+ Old Slavonic fonts (see e.g. www.dtcc.edu/~berlin/font/slavonic.htm)
+ to Meta Font sources using the program TTF2MF and
+ then rearrange them if needed.
diff --git a/fonts/cyrillic/old_slavonic/izhitsa/wbcoding.mf b/fonts/cyrillic/old_slavonic/izhitsa/wbcoding.mf
new file mode 100644
index 0000000000..f71abdcd30
--- /dev/null
+++ b/fonts/cyrillic/old_slavonic/izhitsa/wbcoding.mf
@@ -0,0 +1,91 @@
+
+
+CYR_A := 192;
+CYR_BE := 193;
+CYR_VE := 194;
+CYR_GHE := 195;
+CYR_DE := 196;
+CYR_E := 197;
+CYR_YO := 168;
+CYR_ZHE := 198;
+CYR_ZE := 199;
+CYR_I := 200;
+CYR_SHORT_I := 201;
+CYR_KA := 202;
+CYR_EL := 203;
+CYR_EM := 204;
+CYR_EN := 205;
+CYR_O := 206;
+CYR_PE := 207;
+CYR_ER := 208;
+CYR_ES := 209;
+CYR_TE := 210;
+CYR_U := 211;
+CYR_EF := 212;
+CYR_KHA := 213;
+CYR_TSE := 214;
+CYR_CHE := 215;
+CYR_SHA := 216;
+CYR_SHCHA := 217;
+CYR_HARD_SIGN := 218;
+CYR_ERY := 219;
+CYR_SOFT_SIGN := 220;
+CYR_REV_E := 221;
+CYR_YU := 222;
+CYR_YA := 223;
+
+CYR_a := 224;
+CYR_be := 225;
+CYR_ve := 226;
+CYR_ghe := 227;
+CYR_de := 228;
+CYR_e := 229;
+CYR_yo := 184;
+CYR_zhe := 230;
+CYR_ze := 231;
+CYR_i := 232;
+CYR_short_i := 233;
+CYR_ka := 234;
+CYR_el := 235;
+CYR_em := 236;
+CYR_en := 237;
+CYR_o := 238;
+CYR_pe := 239;
+CYR_er := 240;
+CYR_es := 241;
+CYR_te := 242;
+CYR_u := 243;
+CYR_ef := 244;
+CYR_kha := 245;
+CYR_tse := 246;
+CYR_che := 247;
+CYR_sha := 248;
+CYR_shcha := 249;
+CYR_hard_sign := 250;
+CYR_ery := 251;
+CYR_soft_sign := 252;
+CYR_rev_e := 253;
+CYR_yu := 254;
+CYR_ya := 255;
+
+%cyrpunc
+
+CYR_open_quote := 186;
+CYR_close_quote := 175;
+CYR_No := 170;
+
+%endinput;
+%%% the addition of another form of letters cyr_ de, zhe, ka, el, ya
+
+CYR_SPEC_ZHE:= 198; %if monospace: 134 else: 176 fi;
+CYR_SPEC_zhe:= 230; %if monospace: 166 else: 177 fi;
+CYR_SPEC_KA := 202; %if monospace: 138 else: 178 fi;
+CYR_SPEC_ka := 234; %if monospace: 170 else: 179 fi;
+CYR_SPEC_YA := 223; %if monospace: 159 else: 180 fi;
+CYR_SPEC_ya := 255; %if monospace: 239 else: 181 fi;
+
+
+if specific=1:
+forsuffixes $=ZHE, zhe, KA, ka, YA, ya: CYR_SPEC_$:=C055$; endfor fi
+
+
diff --git a/fonts/cyrillic/ot2cyr/AFIIOT2.etx b/fonts/cyrillic/ot2cyr/AFIIOT2.etx
new file mode 100644
index 0000000000..ac28e7cc2d
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/AFIIOT2.etx
@@ -0,0 +1,433 @@
+%% AFIIOT2.etx
+%% Copyright 1995 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+% Encoding: AMS Cyrillic
+% Encoding vector for AMS Washington WNCYR `CM' Cyrillic fonts
+% This uses the AFII numbers for the Cyrillic glyphs.
+%
+% This is derived from WNCYR.VEC distributed with Lucida Cyrillic;
+% therefore the AFII names. God only knows what other people
+% call all these things!
+%
+\relax
+\documentstyle[fontdoc,twocolumn]{article}
+\title{The \TeX\ OT2 vector (AFII style)}
+\author{Sebastian Rahtz}
+\date{October 1995}
+\begin{document}
+\maketitle
+\section{Introduction}
+This document describes the \TeX\ Cyrillic OT2 encoding vector,
+using mostly AFII numbers
+\encoding
+\needsfontinstversion{1.335}
+\comment{\section{Default values}}
+\setstr{codingscheme}{TEX CYRILLIC}
+\setint{italicslant}{0}
+\setint{xheight}{500}
+\setint{interword}{333}
+\comment{\section{Default font dimensions}}
+\setint{italicslant}{0}
+\setint{xheight}{
+ \ifisglyph{x}\then
+ \height{x}
+ \else
+ 0
+ \fi
+}
+\setint{interword}{
+ \ifisglyph{space}\then
+ \width{space}
+ \else
+ 0
+ \fi
+}
+\comment{\section{Default font dimensions}}
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+\else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+\fi
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+\else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+ % same as shrink
+\fi
+%
+\setslot{afii10059}
+% Nj Serbian soft N (looks like Hb)
+\endsetslot
+\setslot{afii10058}
+% Lj Serbian soft L (looks like Jb)
+\endsetslot
+\setslot{afii10145}
+% Dzh Serbian hard DJ
+\endsetslot
+\setslot{afii10047}
+% Ze Russian ZE (looks like mirrored E)
+\endsetslot
+\setslot{afii10055}
+% Iroman Ukranian I
+\endsetslot
+\setslot{afii10053}
+% Ye Ukranian YE
+\endsetslot
+\setslot{afii10051}
+% Dj Serbian soft DJ (looks like Th with tail)
+\endsetslot
+\setslot{afii10060}
+% Tsoft Serbian soft T (looks like Th)
+\endsetslot
+\setslot{afii10107}
+% nj Serbian soft n
+\endsetslot
+\setslot{afii10106}
+% lj Serbian soft l
+\endsetslot
+\setslot{afii10193}
+% dzh Serbian hard dj
+\endsetslot
+\setslot{afii10095}
+% ze Russian ze
+\endsetslot
+\setslot{afii10103}
+% iroman Ukranian i
+\endsetslot
+\setslot{afii10101}
+% ye Ukranian ye
+\endsetslot
+\setslot{afii10099}
+% dj Serbian soft dj (looks like barred h with tail)
+\endsetslot
+\setslot{afii10108}
+% tsoft Serbian soft t (looks like barred h)
+\endsetslot
+\setslot{afii10048}
+% Yu Russian YU (looks like IO)
+\endsetslot
+\setslot{afii10024}
+% Zhe Russian ZHE or ZH (looks like mirrored K plus K)
+\endsetslot
+\setslot{afii10027}
+% Ishort Russian short EE (I with cyrillic breve)
+\endsetslot
+\setslot{afii10023}
+% Yo Russan YO (looks like Edieresis)
+\endsetslot
+\setslot{Izhitsa}
+% afii????? Old Russian IZHITSA (looks like V)
+\endsetslot
+\setslot{Fita}
+% afii????? Old Russian FITA (looks like Theta)
+\endsetslot
+\setslot{afii10054}
+% Zelo Macedonian ZELO DZ (looks like S)
+\endsetslot
+\setslot{afii10049}
+% Ya Russian YA (looks like mirrored R)
+\endsetslot
+\setslot{afii10096}
+% yu Russan yu
+\endsetslot
+\setslot{afii10072}
+% zhe Russian zhe or zh
+\endsetslot
+\setslot{afii10075}
+% ishort Russian short ee
+\endsetslot
+\setslot{afii10071}
+% yo Russian yo
+\endsetslot
+\setslot{izhitsa}
+% afii????? Old Russian izhitsa
+\endsetslot
+\setslot{fita}
+% afii????? Old Russian fita
+\endsetslot
+\setslot{afii10102}
+% zelo Macedonian zelo dz
+\endsetslot
+\setslot{afii10097}
+% ya Russian ya
+\endsetslot
+\setslot{dieresis}
+\endsetslot
+\setslot{exclam}
+\endsetslot
+\setslot{quotedblright}
+\endsetslot
+\setslot{Yatz}
+% afii????? Old Russian letter YATZ
+\endsetslot
+\setslot{breve}
+% breve --- cyrillic breve
+\endsetslot
+\setslot{percent}
+\endsetslot
+\setslot{acute}
+\endsetslot
+\setslot{quoteright}
+% apostrophe
+\endsetslot
+\setslot{parenleft}
+\endsetslot
+\setslot{parenright}
+\endsetslot
+\setslot{asterisk}
+\endsetslot
+\setslot{yatz}
+% afii????? Old Russian letter yatz
+\endsetslot
+\setslot{comma}
+\endsetslot
+\setslot{hyphen}
+\endsetslot
+\setslot{period}
+\endsetslot
+\setslot{slash}
+% virgule
+\endsetslot
+\setslot{zero}
+\endsetslot
+\setslot{one}
+\endsetslot
+\setslot{two}
+\endsetslot
+\setslot{three}
+\endsetslot
+\setslot{four}
+\endsetslot
+\setslot{five}
+\endsetslot
+\setslot{six}
+\endsetslot
+\setslot{seven}
+\endsetslot
+\setslot{eight}
+\endsetslot
+\setslot{nine}
+\endsetslot
+\setslot{colon}
+\endsetslot
+\setslot{semicolon}
+\endsetslot
+\setslot{guillemotleft}
+% open Cyrillic quote
+\endsetslot
+\setslot{dotlessi}
+\endsetslot
+\setslot{guillemotright}
+% close Cyrillic quote
+\endsetslot
+\setslot{question}
+\endsetslot
+\setslot{breve}
+\endsetslot
+\setslot{afii10017}
+% A Russian AH
+\endsetslot
+\setslot{afii10018}
+% B Russian BE
+\endsetslot
+\setslot{afii10040}
+% C Russian TSE
+\endsetslot
+\setslot{afii10021}
+% D Russian DE
+\endsetslot
+\setslot{afii10022}
+% E Russian YE
+\endsetslot
+\setslot{afii10038}
+% F Russian EFF(looks like Phi)
+\endsetslot
+\setslot{afii10020}
+% G Russian GHE(looks like Gamma)
+\endsetslot
+\setslot{afii10039}
+% H Russian HHA or KHA(looks like X)
+\endsetslot
+\setslot{afii10026}
+% I Russian EE(looks like mirrored N)
+\endsetslot
+\setslot{afii10057}
+% J Serbian JE
+\endsetslot
+\setslot{afii10028}
+% K Russian KA
+\endsetslot
+\setslot{afii10029}
+% L Russian EL
+\endsetslot
+\setslot{afii10030}
+% M Russian EM
+\endsetslot
+\setslot{afii10031}
+% N Russian EN(looks like H)
+\endsetslot
+\setslot{afii10032}
+% O Russian O
+\endsetslot
+\setslot{afii10033}
+% P Russian PE(looks like Pi)
+\endsetslot
+\setslot{afii10041}
+% Q Russian CHE
+\endsetslot
+\setslot{afii10034}
+% R Russian ERR(looks like P)
+\endsetslot
+\setslot{afii10035}
+% S Russian ESS(looks like C)
+\endsetslot
+\setslot{afii10036}
+% T Russian TE
+\endsetslot
+\setslot{afii10037}
+% U Russian OO or U(looks like Y)
+\endsetslot
+\setslot{afii10019}
+% V Russian VE(looks like B)
+\endsetslot
+\setslot{afii10043}
+% W Russian SHCHA
+\endsetslot
+\setslot{afii10042}
+% X Russian SHA
+\endsetslot
+\setslot{afii10045}
+% Y Russian YERREE or ERY
+\endsetslot
+\setslot{afii10025}
+% Z Russian ZE(looks like 3)
+\endsetslot
+\setslot{bracketleft}
+\endsetslot
+\setslot{quotedblleft}
+\endsetslot
+\setslot{bracketright}
+\endsetslot
+\setslot{afii10046}
+% Soft Russian Soft Sign (applies to consonant preceding)
+\endsetslot
+\setslot{afii10044}
+% Hard Russian Hard Sign (applies to consonant preceding)
+\endsetslot
+\setslot{quoteleft}
+\endsetslot
+\setslot{afii10065}
+% a Russian ah
+\endsetslot
+\setslot{afii10066}
+% b Russian be
+\endsetslot
+\setslot{afii10088}
+% c Russian tse
+\endsetslot
+\setslot{afii10069}
+% d Russian de
+\endsetslot
+\setslot{afii10070}
+% e Russian ye
+\endsetslot
+\setslot{afii10086}
+% f Russian eff
+\endsetslot
+\setslot{afii10068}
+% g Russian ghe
+\endsetslot
+\setslot{afii10087}
+% h Russian hha or kha
+\endsetslot
+\setslot{afii10074}
+% i Russian ee
+\endsetslot
+\setslot{afii10105}
+% j Serbian je
+\endsetslot
+\setslot{afii10076}
+% k Russian ka
+\endsetslot
+\setslot{afii10077}
+% l Russian el
+\endsetslot
+\setslot{afii10078}
+% m Russian em
+\endsetslot
+\setslot{afii10079}
+% n Russian en
+\endsetslot
+\setslot{afii10080}
+% o Russian o
+\endsetslot
+\setslot{afii10081}
+% p Russian pe
+\endsetslot
+\setslot{afii10089}
+% q Russian che
+\endsetslot
+\setslot{afii10082}
+% r Russian err
+\endsetslot
+\setslot{afii10083}
+% s Russian ess
+\endsetslot
+\setslot{afii10084}
+% t Russian te
+\endsetslot
+\setslot{afii10085}
+% u Russian oo or u
+\endsetslot
+\setslot{afii10067}
+% v Russian ve
+\endsetslot
+\setslot{afii10091}
+% w Russian shcha
+\endsetslot
+\setslot{afii10090}
+% x Russian sha
+\endsetslot
+\setslot{afii10093}
+% y Russian yerree or ery
+\endsetslot
+\setslot{afii10073}
+% z Russian ze
+\endsetslot
+\setslot{endash}
+\endsetslot
+\setslot{emdash}
+\endsetslot
+\setslot{afii61352}
+% numero --- No. (number sign)
+\endsetslot
+\setslot{afii10094}
+% soft Russian Soft Sign (applies to consonant preceding)
+\endsetslot
+\setslot{afii10092}
+% hard Russian Hard Sign (applies to consonant preceding)
+\endsetslot
+
+\endencoding
+
+\end{document}
diff --git a/fonts/cyrillic/ot2cyr/AFIIcyr.mtx b/fonts/cyrillic/ot2cyr/AFIIcyr.mtx
new file mode 100644
index 0000000000..491d5f88e7
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/AFIIcyr.mtx
@@ -0,0 +1,181 @@
+%% AFIIcyr.mtx
+%% Copyright 1995 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+\relax
+\documentstyle[fontinst]{ltugboat}
+\title{The {\tt fontinst} Cyrillic glyphs}
+\author{Sebastian Rahtz}
+\date{October 14th 1995}
+\address{}
+\netaddress{s.rahtz@elsevier.co.uk}
+\begin{document}
+\maketitle
+\section{Introduction}
+This document describes the glyphs used by the {\tt fontinst}
+package when generating \TeX\ OT2 Cyrillic fonts
+\raggedright
+\metrics
+% Uses the fontinst package.
+\needsfontinstversion{1.335}
+% \unfakable is a glyph which can't be faked.
+\setcommand\unfakeable#1{
+ \setglyph{#1}
+ \ifisglyph{#1-not}\then
+ \moveup{\neg{\depth{#1-not}}}
+ \glyphrule{
+ \width{#1-not}
+ }{
+ \add{\depth{#1-not}}{\height{#1-not}}
+ }
+ \resetitalic{\italic{#1-not}}
+ \moveup{\depth{#1-not}}
+ \else
+ \glyphrule{500}{500}
+ \fi
+ \glyphwarning{missing glyph `#1'}
+ \endsetglyph
+}
+\unfakeable{afii10059}
+\unfakeable{afii10058}
+\unfakeable{afii10145}
+\unfakeable{afii10047}
+\unfakeable{afii10055}
+\unfakeable{afii10053}
+\unfakeable{afii10051}
+\unfakeable{afii10060}
+\unfakeable{afii10107}
+\unfakeable{afii10106}
+\unfakeable{afii10193}
+\unfakeable{afii10095}
+\unfakeable{afii10103}
+\unfakeable{afii10101}
+\unfakeable{afii10099}
+\unfakeable{afii10108}
+\unfakeable{afii10048}
+\unfakeable{afii10024}
+\unfakeable{afii10027}
+\unfakeable{afii10023}
+\unfakeable{Izhitsa}
+\unfakeable{Fita}
+\unfakeable{afii10054}
+\unfakeable{afii10049}
+\unfakeable{afii10096}
+\unfakeable{afii10072}
+\unfakeable{afii10075}
+\unfakeable{afii10071}
+\unfakeable{izhitsa}
+\unfakeable{fita}
+\unfakeable{afii10102}
+\unfakeable{afii10097}
+\unfakeable{dieresis}
+\unfakeable{exclam}
+\unfakeable{quotedblright}
+\unfakeable{Yatz}
+\unfakeable{breve}
+\unfakeable{percent}
+\unfakeable{acute}
+\unfakeable{quoteright}
+\unfakeable{parenleft}
+\unfakeable{parenright}
+\unfakeable{asterisk}
+\unfakeable{yatz}
+\unfakeable{comma}
+\unfakeable{hyphen}
+\unfakeable{period}
+\unfakeable{slash}
+\unfakeable{zero}
+\unfakeable{one}
+\unfakeable{two}
+\unfakeable{three}
+\unfakeable{four}
+\unfakeable{five}
+\unfakeable{six}
+\unfakeable{seven}
+\unfakeable{eight}
+\unfakeable{nine}
+\unfakeable{colon}
+\unfakeable{semicolon}
+\unfakeable{guillemotleft}
+\unfakeable{dotlessi}
+\unfakeable{guillemotright}
+\unfakeable{question}
+\unfakeable{breve}
+\unfakeable{afii10017}
+\unfakeable{afii10018}
+\unfakeable{afii10040}
+\unfakeable{afii10021}
+\unfakeable{afii10022}
+\unfakeable{afii10038}
+\unfakeable{afii10020}
+\unfakeable{afii10039}
+\unfakeable{afii10026}
+\unfakeable{afii10057}
+\unfakeable{afii10028}
+\unfakeable{afii10029}
+\unfakeable{afii10030}
+\unfakeable{afii10031}
+\unfakeable{afii10032}
+\unfakeable{afii10033}
+\unfakeable{afii10041}
+\unfakeable{afii10034}
+\unfakeable{afii10035}
+\unfakeable{afii10036}
+\unfakeable{afii10037}
+\unfakeable{afii10019}
+\unfakeable{afii10043}
+\unfakeable{afii10042}
+\unfakeable{afii10045}
+\unfakeable{afii10025}
+\unfakeable{bracketleft}
+\unfakeable{quotedblleft}
+\unfakeable{bracketright}
+\unfakeable{afii10046}
+\unfakeable{afii10044}
+\unfakeable{quoteleft}
+\unfakeable{afii10065}
+\unfakeable{afii10066}
+\unfakeable{afii10088}
+\unfakeable{afii10069}
+\unfakeable{afii10070}
+\unfakeable{afii10086}
+\unfakeable{afii10068}
+\unfakeable{afii10087}
+\unfakeable{afii10074}
+\unfakeable{afii10105}
+\unfakeable{afii10076}
+\unfakeable{afii10077}
+\unfakeable{afii10078}
+\unfakeable{afii10079}
+\unfakeable{afii10080}
+\unfakeable{afii10081}
+\unfakeable{afii10089}
+\unfakeable{afii10082}
+\unfakeable{afii10083}
+\unfakeable{afii10084}
+\unfakeable{afii10085}
+\unfakeable{afii10067}
+\unfakeable{afii10091}
+\unfakeable{afii10090}
+\unfakeable{afii10093}
+\unfakeable{afii10073}
+\unfakeable{endash}
+\unfakeable{emdash}
+\unfakeable{afii61352}
+\unfakeable{afii10094}
+\unfakeable{afii10092}
+\endmetrics
+\makesignature
+\end{document}
diff --git a/fonts/cyrillic/ot2cyr/OT2enc.def b/fonts/cyrillic/ot2cyr/OT2enc.def
new file mode 100644
index 0000000000..df585510de
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/OT2enc.def
@@ -0,0 +1,126 @@
+%% OT2enc.def
+%% Copyright 1996 S Rahtz, M Ellert, F Widmann
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+\ProvidesFile{OT2enc.def}[1996/03/08 OT2 encoding setup.
+ S Rahtz, M Ellert, F Widmann]
+%%
+%%
+\DeclareFontEncoding{OT2}{}{}
+\DeclareFontSubstitution{OT2}{wncyr}{m}{n}
+\DeclareTextAccent{\"}{OT2}{'040}
+\DeclareTextAccent{\'}{OT2}{'046}
+\DeclareTextAccent{\u}{OT2}{'100}
+\DeclareTextAccent{\U}{OT2}{'044}
+\DeclareTextCommand{\=}{OT2}[1]
+ {\PackageError{OT2enc}{accent \string\= not defined in cyrillic}#1}
+\DeclareTextCommand{\`}{OT2}[1]
+ {\PackageError{OT2enc}{accent \string\` not defined in cyrillic}#1}
+%%
+%% I've added a \U accent for the wide Cyrillic breve in addition
+%% to the \u accent used for the smaller breve. I recommend using
+%% \U accent for \U{i} and \U{u}. \U{i} has a composite declared
+%% below.
+%%
+%% Text symbols and composites
+%%
+%\DeclareTextCommandDefault{\Cdprime}{{\mathsurround=0pt$\ubar{\hbox{$''$}}$}}
+\DeclareTextCommandDefault{\Cdprime}{{\mathsurround=0pt\b{\hbox{$''$}}}}
+\DeclareTextCommandDefault{\Cprime}{{\mathsurround=0pt$'$}}
+\DeclareTextCommandDefault{\Dbar}{Dj}
+\DeclareTextCommandDefault{\Dzh}{Dzh{\cydot}}
+\DeclareTextCommandDefault{\Dz}{Dz}
+\DeclareTextCommandDefault{\cdprime}{\/{\mathsurround=0pt$''$}}
+\DeclareTextCommandDefault{\cprime}{\/{\mathsurround=0pt$'$}}
+\DeclareTextCommandDefault{\cydot}{{\mathsurround=0pt$\cdot$}}
+\DeclareTextCommandDefault{\dbar}{dj}
+\DeclareTextCommandDefault{\dzh}{dzh{\cydot}}
+\DeclareTextCommandDefault{\dz}{dz}
+\DeclareTextCommand{\Dbar}{OT2}{Dj}
+\DeclareTextCommand{\cydot}{OT2}{{\kern0pt}}
+\DeclareTextCommand{\dbar}{OT2}{dj}
+\DeclareTextCompositeCommand{\"}{OT2}{I}{{\accent'40\char'004}}
+\DeclareTextCompositeCommand{\"}{OT2}{\i}{\"\dotlessi}
+\DeclareTextCompositeCommand{\"}{OT2}{\i}{{\accent'40\char'075}}
+\DeclareTextCompositeCommand{\'}{OT2}{\i}{\'\dotlessi}
+\DeclareTextCompositeCommand{\U}{OT2}{\i}{\U\dotlessi}
+\DeclareTextCompositeCommand{\u}{OT2}{U}{{\accent'44U}}
+\DeclareTextCompositeCommand{\u}{OT2}{\i}{\u\dotlessi}
+\DeclareTextCompositeCommand{\u}{OT2}{u}{{\accent'44u}}
+\DeclareTextComposite{\"}{OT2}{E}{'023}
+\DeclareTextComposite{\"}{OT2}{e}{'033}
+\DeclareTextComposite{\'}{OT2}{C}{'007}
+\DeclareTextComposite{\'}{OT2}{c}{'017}
+\DeclareTextComposite{\=}{OT2}{E}{'05}
+\DeclareTextComposite{\=}{OT2}{I}{'04}
+\DeclareTextComposite{\=}{OT2}{\i}{'14}
+\DeclareTextComposite{\=}{OT2}{e}{'15}
+\DeclareTextComposite{\U}{OT2}{I}{'022}
+\DeclareTextComposite{\U}{OT2}{i}{'032}
+\DeclareTextComposite{\`}{OT2}{E}{'03}
+\DeclareTextComposite{\`}{OT2}{e}{'13}
+\DeclareTextComposite{\u}{OT2}{I}{'22}
+\DeclareTextComposite{\u}{OT2}{\i}{'32}
+\DeclareTextSymbol{\Cdprime}{OT2}{'137}
+\DeclareTextSymbol{\Cprime}{OT2}{'136}
+\DeclareTextSymbol{\DZH}{OT2}{'002}
+\DeclareTextSymbol{\DZ}{OT2}{'026}
+\DeclareTextSymbol{\Dzh}{OT2}{'002}
+\DeclareTextSymbol{\Dz}{OT2}{'026}
+\DeclareTextSymbol{\EE}{OT2}{'005}
+\DeclareTextSymbol{\Ee}{OT2}{'005}
+\DeclareTextSymbol{\E}{OT2}{'003}
+\DeclareTextSymbol{\Fita}{OT2}{'025}
+\DeclareTextSymbol{\Hard}{OT2}{'137}
+\DeclareTextSymbol{\Izhitza}{OT2}{'024}
+\DeclareTextSymbol{\I}{OT2}{'004}
+\DeclareTextSymbol{\Soft}{OT2}{'136}
+\DeclareTextSymbol{\Yatz}{OT2}{'043}
+\DeclareTextSymbol{\cdprime}{OT2}{'177}
+\DeclareTextSymbol{\cprime}{OT2}{'176}
+\DeclareTextSymbol{\dotlessi}{OT2}{'075}
+\DeclareTextSymbol{\dzh}{OT2}{'012}
+\DeclareTextSymbol{\dz}{OT2}{'036}
+\DeclareTextSymbol{\ee}{OT2}{'015}
+\DeclareTextSymbol{\e}{OT2}{'013}
+\DeclareTextSymbol{\fita}{OT2}{'035}
+\DeclareTextSymbol{\hard}{OT2}{'177}
+\DeclareTextSymbol{\izhitza}{OT2}{'034}
+\DeclareTextSymbol{\i}{OT2}{'014}
+\DeclareTextSymbol{\soft}{OT2}{'176}
+\DeclareTextSymbol{\yatz}{OT2}{'053}
+%%
+%% There is a problem when puting accent on letters treated
+%% as ligatures. In ordinary text yu and ya is rendered as
+%% soft u and soft a, but \'{yu} does not produce a soft u
+%% with an accent, but a y with an accent followed by an a.
+%% Therefore I've declared the following text symbols to be
+%% used when putting accent these letters. (Is there a need
+%% for putting accents on other ligature characters, such as
+%% sh, shch, ch, lj, nj, dj, kh, ts, zh?)
+%%
+\DeclareTextSymbol{\YU}{OT2}{'020}
+\DeclareTextSymbol{\Yu}{OT2}{'020}
+\DeclareTextSymbol{\yu}{OT2}{'030}
+\DeclareTextSymbol{\YA}{OT2}{'027}
+\DeclareTextSymbol{\Ya}{OT2}{'027}
+\DeclareTextSymbol{\ya}{OT2}{'037}
+%%
+\endinput
+%%
+%% End of file `OT2enc.def'.
+
+
diff --git a/fonts/cyrillic/ot2cyr/OT2hls.fd b/fonts/cyrillic/ot2cyr/OT2hls.fd
new file mode 100644
index 0000000000..ebf01ade52
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/OT2hls.fd
@@ -0,0 +1,54 @@
+%% OT2hls.fd
+%% Copyright 1996 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+%Filename: OT2hls.fd
+%Created by: tex makecyr
+%Created using fontinst v1.500
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{OT2hls.fd}
+ [1995/10/15 Fontinst v1.500 font definitions for OT2/hls.]
+
+\DeclareFontFamily{OT2}{hls}{}
+
+\DeclareFontShape{OT2}{hls}{b}{n}{
+ <-> hlsb7k
+}{}
+
+\DeclareFontShape{OT2}{hls}{b}{it}{
+ <-> hlsbo7k
+}{}
+
+\DeclareFontShape{OT2}{hls}{m}{n}{
+ <-> hlsro7k
+}{}
+
+\DeclareFontShape{OT2}{hls}{m}{it}{
+ <-> hlsr7k
+}{}
+
+\DeclareFontShape{OT2}{hls}{bx}{n}{<->ssub * hls/b/n}{}
+\DeclareFontShape{OT2}{hls}{bx}{it}{<->ssub * hls/b/it}{}
+\DeclareFontShape{OT2}{hls}{b}{ui}{<->sub * hls/b/it}{}
+\DeclareFontShape{OT2}{hls}{bx}{ui}{<->ssub * hls/b/ui}{}
+\DeclareFontShape{OT2}{hls}{l}{n}{<->ssub * hls/m/n}{}
+\DeclareFontShape{OT2}{hls}{l}{it}{<->ssub * hls/m/it}{}
+\DeclareFontShape{OT2}{hls}{m}{ui}{<->sub * hls/m/it}{}
+\DeclareFontShape{OT2}{hls}{l}{ui}{<->ssub * hls/m/ui}{}
+
+\endinput
diff --git a/fonts/cyrillic/ot2cyr/OT2hlst.fd b/fonts/cyrillic/ot2cyr/OT2hlst.fd
new file mode 100644
index 0000000000..a7732c3320
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/OT2hlst.fd
@@ -0,0 +1,54 @@
+%% OT2hlst.fd
+%% Copyright 1996 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+%Filename: OT2hlst.fd
+%Created by: tex makecyr
+%Created using fontinst v1.500
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{OT2hlst.fd}
+ [1995/10/15 Fontinst v1.500 font definitions for OT2/hlst.]
+
+\DeclareFontFamily{OT2}{hlst}{}
+
+\DeclareFontShape{OT2}{hlst}{b}{n}{
+ <-> hlsbt7k
+}{}
+
+\DeclareFontShape{OT2}{hlst}{b}{it}{
+ <-> hlsbot7k
+}{}
+
+\DeclareFontShape{OT2}{hlst}{m}{n}{
+ <-> hlsrot7k
+}{}
+
+\DeclareFontShape{OT2}{hlst}{m}{it}{
+ <-> hlsrt7k
+}{}
+
+\DeclareFontShape{OT2}{hlst}{bx}{n}{<->ssub * hlst/b/n}{}
+\DeclareFontShape{OT2}{hlst}{bx}{it}{<->ssub * hlst/b/it}{}
+\DeclareFontShape{OT2}{hlst}{b}{ui}{<->sub * hlst/b/it}{}
+\DeclareFontShape{OT2}{hlst}{bx}{ui}{<->ssub * hlst/b/ui}{}
+\DeclareFontShape{OT2}{hlst}{l}{n}{<->ssub * hlst/m/n}{}
+\DeclareFontShape{OT2}{hlst}{l}{it}{<->ssub * hlst/m/it}{}
+\DeclareFontShape{OT2}{hlst}{m}{ui}{<->sub * hlst/m/it}{}
+\DeclareFontShape{OT2}{hlst}{l}{ui}{<->ssub * hlst/m/ui}{}
+
+\endinput
diff --git a/fonts/cyrillic/ot2cyr/OT2info.tex b/fonts/cyrillic/ot2cyr/OT2info.tex
new file mode 100644
index 0000000000..ef2c76eb76
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/OT2info.tex
@@ -0,0 +1,254 @@
+%% OT2info.tex
+%% Copyright 1996 Mattias Ellert
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+\documentclass[a4paper]{article}
+\usepackage[OT2,OT1]{fontenc}
+
+\def\cyr{\fontencoding{OT2}\fontfamily{wncyr}\selectfont}
+
+\begin{document}
+
+\title{The OT2 encoding}
+\author{Mattias Ellert\\{\small t91mel@student.tdb.uu.se}}
+\date{March 8 1996}
+\maketitle
+
+The OT2 encoding is used for writing Cyrillic text in \LaTeX.
+The table on the next page shows how to use the encoding.
+The first column shows the Cyrillic letters, the second column shows
+how to write the letters in the OT2 encoding and the third column
+tells you in which languages the letters are used (Rus. = Russian,
+Ukr. = Ukrainian, Blr. = Belorussian, Bul. = Bulgarian. Mak. =
+Makedonian and of course Serb = Serb).
+
+Cyrillic letters with one-letter Roman equivalents can be entered `as
+is': {\cyr a, b, v, g}, etc. This is also true for some letter
+sequences that are treated as ligatures by the \LaTeX\ Cyrillic
+fonts ({\cyr dj, zh, lj, nj, kh, ts, ch, sh, shch, yu} and {\cyr
+ya}). Note that if you want to write the letter combination {\cyr
+t{}s} you have to write \texttt{t\{\}s} in order not to produce a
+{\cyr ts}.
+
+For the upper case versions of these letters the case is chosen by
+the first letter, i.e.\ \texttt{Ts} and \texttt{TS} are equivalent.
+This is also true for the letters that are written with \LaTeX\
+commands, \texttt{$\backslash$Dzh} and \texttt{$\backslash$DZH} both
+produce {\cyr\Dzh}. (In the commands however, you can not mix upper and
+lower case letters in the remainder of the command, e.g.\
+\texttt{$\backslash$DZh} does not work.) For letters whose commands
+contain the full name of the letter, and not just a transliteration,
+the all-upper-case version is not defined.
+
+Four different accents are declared in the OT2 encoding,
+\texttt{$\backslash$'\{\}} is used to produce an acute accent ({\cyr\'{}}),
+\texttt{$\backslash$"\{\}} is used for a dierisis ({\cyr\"{}}), and
+two different commands, \texttt{$\backslash$u\{\}} and
+\texttt{$\backslash$U\{\}} produce the Roman and Cyrillic style breves.
+We recommend using the latter in Cyrillic text. {\cyr\"{E}} and {\cyr\U{i}}
+(with the Cyrillic breve) have composites declared in the \LaTeX\
+Cyrillic fonts. There is also a dotless {\cyr\i\ (\dotlessi)} in
+the fonts, which can be written with the command
+\texttt{$\backslash$dotlessi}. There is usually no need for this however,
+since the encoding automatically replaces any {\cyr\i}'s with
+{\cyr\dotlessi}'s before putting an accent on them.
+
+In educational text it is customary to put an accent on the stressed
+vowel in multi-syllable words. There is however a problem with putting
+accents on {\cyr yu} and {\cyr ya} since these are treated as
+ligatures. For this reason the OT2 encoding defines the commands
+\texttt{$\backslash$yu, $\backslash$ya, $\backslash$Yu} and
+\texttt{$\backslash$Ya} which can be used in combinations like
+\texttt{$\backslash$'$\{\backslash$yu\}} to produce {\cyr\'{\yu},
+\'{\ya}, \'{\Yu}} and {\cyr\'{\Ya}}.
+
+\newpage
+\thispagestyle{empty}
+
+\begin{tabular}{|cc|cc|l|}
+ \hline
+ {\cyr A} & {\cyr a} & \texttt{A} & \texttt{a} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr B} & {\cyr b} & \texttt{B} & \texttt{b} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr V} & {\cyr v} & \texttt{V} & \texttt{v} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr G} & {\cyr g} & \texttt{G} & \texttt{g} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr \'{G}} & {\cyr \'{g}} & \texttt{$\backslash$'\{G\}} &
+ \texttt{$\backslash$'\{g\}} &
+ Mak. \\
+ \hline
+ {\cyr D} & {\cyr d} & \texttt{D} & \texttt{d} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr Dj} & {\cyr dj} & \texttt{Dj} & \texttt{dj} &
+ Serb \\
+ \hline
+ {\cyr E} & {\cyr e} & \texttt{E} & \texttt{e} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr \"{E}} & {\cyr \"{e}} & \texttt{$\backslash$"\{E\}} &
+ \texttt{$\backslash$"\{e\}} &
+ Rus., Blr. \\
+ \hline
+ {\cyr \Ee} & {\cyr \ee} & \texttt{$\backslash$Ee} &
+ \texttt{$\backslash$ee} &
+ Ukr. \\
+ \hline
+ {\cyr Zh} & {\cyr zh} & \texttt{Zh} & \texttt{zh} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr Z} & {\cyr z} & \texttt{Z} & \texttt{z} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr \Dz} & {\cyr \dz} & \texttt{$\backslash$Dz} &
+ \texttt{$\backslash$dz} &
+ Mak. \\
+ \hline
+ {\cyr I} & {\cyr i} & \texttt{I} & \texttt{i} &
+ Rus., Ukr., Bul., Mak., Serb \\
+ \hline
+ {\cyr \I} & {\cyr \i} & \texttt{$\backslash$I} &
+ \texttt{$\backslash$i} &
+ Ukr., Blr., Russian until 1917 \\
+ \hline
+ {\cyr \"{\I}} & {\cyr \"{\i}} &
+ \texttt{$\backslash$"\{$\backslash$I\}} &
+ \texttt{$\backslash$"\{$\backslash$i\}} &
+ Ukr. \\
+ \hline
+ {\cyr \U{I}} & {\cyr \U{i}} & \texttt{$\backslash$U\{I\}} &
+ \texttt{$\backslash$U\{i\}} &
+ Rus., Ukr., Blr., Bul. \\
+ \hline
+ {\cyr J} & {\cyr j} & \texttt{J} & \texttt{j} &
+ Mak., Serb \\
+ \hline
+ {\cyr K} & {\cyr k} & \texttt{K} & \texttt{k} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr \'{K}} & {\cyr \'{k}} & \texttt{$\backslash$'\{K\}} &
+ \texttt{$\backslash$'\{k\}} &
+ Mak. \\
+ \hline
+ {\cyr L} & {\cyr l} & \texttt{L} & \texttt{l} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr Lj} & {\cyr lj} & \texttt{Lj} & \texttt{lj} &
+ Mak., Serb \\
+ \hline
+ {\cyr M} & {\cyr m} & \texttt{M} & \texttt{m} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr N} & {\cyr n} & \texttt{N} & \texttt{n} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr Nj} & {\cyr nj} & \texttt{Nj} & \texttt{nj} &
+ Mak., Serb \\
+ \hline
+ {\cyr O} & {\cyr o} & \texttt{O} & \texttt{o} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr P} & {\cyr p} & \texttt{P} & \texttt{p} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr R} & {\cyr r} & \texttt{R} & \texttt{r} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr S} & {\cyr s} & \texttt{S} & \texttt{s} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr T} & {\cyr t} & \texttt{T} & \texttt{t} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr \'{C}} & {\cyr \'{c}} & \texttt{$\backslash$'\{C\}} &
+ \texttt{$\backslash$'\{c\}} &
+ Serb \\
+ \hline
+ {\cyr U} & {\cyr u} & \texttt{U} & \texttt{u} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr \U{U}} & {\cyr \U{u}} & \texttt{$\backslash$U\{U\}} &
+ \texttt{$\backslash$U\{u\}} &
+ Blr. \\
+ \hline
+ {\cyr F} & {\cyr f} & \texttt{F} & \texttt{f} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr Kh} & {\cyr kh} & \texttt{Kh} & \texttt{kh} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr Ts} & {\cyr ts} & \texttt{Ts} & \texttt{ts} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr Ch} & {\cyr ch} & \texttt{Ch} & \texttt{ch} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr \Dzh} & {\cyr \dzh} & \texttt{$\backslash$Dzh} &
+ \texttt{$\backslash$dzh} &
+ Mak., Serb \\
+ \hline
+ {\cyr Sh} & {\cyr sh} & \texttt{Sh} & \texttt{sh} &
+ Rus., Ukr., Blr., Bul., Mak., Serb \\
+ \hline
+ {\cyr Shch} & {\cyr shch} & \texttt{Shch} & \texttt{shch} &
+ Rus., Ukr., Bul. \\
+ \hline
+ {\cyr \Hard} & {\cyr \hard} & \texttt{$\backslash$Hard} &
+ \texttt{$\backslash$hard} &
+ Rus., Bul. \\
+ \hline
+ {\cyr Y} & {\cyr y} & \texttt{Y} & \texttt{y} &
+ Rus., Blr. \\
+ \hline
+ {\cyr \Soft} & {\cyr \soft} & \texttt{$\backslash$Soft} &
+ \texttt{$\backslash$soft} &
+ Rus., Ukr., Blr., Bul. \\
+ \hline
+ {\cyr \E} & {\cyr \e} & \texttt{$\backslash$E} &
+ \texttt{$\backslash$e} &
+ Rus., Blr. \\
+ \hline
+ {\cyr Yu} & {\cyr yu} & \texttt{Yu} & \texttt{yu} &
+ Rus., Ukr., Blr., Bul. \\
+ \hline
+ {\cyr Ya} & {\cyr ya} & \texttt{Ya} & \texttt{ya} &
+ Rus., Ukr., Blr., Bul. \\
+ \hline
+ {\cyr \Izhitza} & {\cyr \izhitza} & \texttt{$\backslash$Izhitza} &
+ \texttt{$\backslash$izhitza} & Russian until 1917 \\
+ \hline
+ {\cyr \Yatz} & {\cyr \yatz} & \texttt{$\backslash$Yatz} &
+ \texttt{$\backslash$yatz} & Russian until 1917 \\
+ \hline
+ {\cyr \Fita} & {\cyr \fita} & \texttt{$\backslash$Fita} &
+ \texttt{$\backslash$fita} & Russian until 1917 \\
+ \hline
+ {\cyr N0} & & \texttt{N0} & & \\
+ \hline
+ {\cyr <} & {\cyr >} & \texttt{<} & \texttt{>} & \\
+ \hline
+\end{tabular}
+
+
+\end{document}
+
+
diff --git a/fonts/cyrillic/ot2cyr/OT2mnt.fd b/fonts/cyrillic/ot2cyr/OT2mnt.fd
new file mode 100644
index 0000000000..dcf62d43a4
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/OT2mnt.fd
@@ -0,0 +1,54 @@
+%% OT2mnt.fd
+%% Copyright 1996 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+%Filename: OT2mnt.fd
+%Created by: tex makecyr
+%Created using fontinst v1.500
+
+%THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY
+
+\ProvidesFile{OT2mnt.fd}
+ [1995/10/15 Fontinst v1.500 font definitions for OT2/mnt.]
+
+\DeclareFontFamily{OT2}{mnt}{}
+
+\DeclareFontShape{OT2}{mnt}{m}{n}{
+ <-> mntr7k
+}{}
+
+\DeclareFontShape{OT2}{mnt}{m}{it}{
+ <-> mntro7k
+}{}
+
+\DeclareFontShape{OT2}{mnt}{b}{n}{
+ <-> mntb7k
+}{}
+
+\DeclareFontShape{OT2}{mnt}{b}{it}{
+ <-> mntbo7k
+}{}
+
+\DeclareFontShape{OT2}{mnt}{l}{n}{<->ssub * mnt/m/n}{}
+\DeclareFontShape{OT2}{mnt}{l}{it}{<->ssub * mnt/m/it}{}
+\DeclareFontShape{OT2}{mnt}{m}{ui}{<->sub * mnt/m/it}{}
+\DeclareFontShape{OT2}{mnt}{l}{ui}{<->ssub * mnt/m/ui}{}
+\DeclareFontShape{OT2}{mnt}{bx}{n}{<->ssub * mnt/b/n}{}
+\DeclareFontShape{OT2}{mnt}{bx}{it}{<->ssub * mnt/b/it}{}
+\DeclareFontShape{OT2}{mnt}{b}{ui}{<->sub * mnt/b/it}{}
+\DeclareFontShape{OT2}{mnt}{bx}{ui}{<->ssub * mnt/b/ui}{}
+
+\endinput
diff --git a/fonts/cyrillic/ot2cyr/OT2test.tex b/fonts/cyrillic/ot2cyr/OT2test.tex
new file mode 100644
index 0000000000..b0009b5f2d
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/OT2test.tex
@@ -0,0 +1,78 @@
+%% OT2test.tex
+%% Copyright 1996 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+\documentclass[a4paper]{article}
+\usepackage[OT2]{fontenc}
+
+\begin{document}
+
+{\rmfamily
+abvgde\"{e}zhzi\U{i}klmnoprstufkhtschshshch\hard y\soft \e yuya
+
+ABVGDE\"{E}ZHZI\U{I}KLMNOPRSTUFKHTSCHSHSHCH\Hard Y\Soft \E YUYA}
+
+\vspace{3ex}
+
+{\itshape
+abvgde\"{e}zhzi\U{i}klmnoprstufkhtschshshch\hard y\soft \e yuya
+
+ABVGDE\"{E}ZHZI\U{I}KLMNOPRSTUFKHTSCHSHSHCH\Hard Y\Soft \E YUYA}
+
+\vspace{3ex}
+
+{\bfseries
+abvgde\"{e}zhzi\U{i}klmnoprstufkhtschshshch\hard y\soft \e yuya
+
+ABVGDE\"{E}ZHZI\U{I}KLMNOPRSTUFKHTSCHSHSHCH\Hard Y\Soft \E YUYA}
+
+\vspace{3ex}
+
+{\scshape
+abvgde\"{e}zhzi\U{i}klmnoprstufkhtschshshch\hard y\soft \e yuya
+
+ABVGDE\"{E}ZHZI\U{I}KLMNOPRSTUFKHTSCHSHSHCH\Hard Y\Soft \E YUYA}
+
+\vspace{3ex}
+
+{\sffamily
+abvgde\"{e}zhzi\U{i}klmnoprstufkhtschshshch\hard y\soft \e yuya
+
+ABVGDE\"{E}ZHZI\U{I}KLMNOPRSTUFKHTSCHSHSHCH\Hard Y\Soft \E YUYA}
+
+\vspace{10ex}
+
+{\large TY I VY}
+
+\begin{verse}
+
+ Pustoe \emph{vy} serdechnym \emph{ty} \\
+ Ona, obmolvyas\soft, zamenila \\
+ I vse schastlivye mechty \\
+ V dushe vlyubl\"{e}nno\U{i} vozbudila. \\
+ Pred ne\U{i} zadumchivo stoyu, \\
+ Svesti oche\U{i} s ne\"{e} net sily; \\
+ I govoryu e\U{i}: kak \emph{vy} mily! \\
+ I myslyu: kak \emph{tebya} lyublyu! \\
+
+\end{verse}
+
+\begin{flushright}
+ A. S. Pushkin, 1828
+\end{flushright}
+
+
+\end{document}
diff --git a/fonts/cyrillic/ot2cyr/OT2wncyr.fd b/fonts/cyrillic/ot2cyr/OT2wncyr.fd
new file mode 100644
index 0000000000..2dd889a8b8
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/OT2wncyr.fd
@@ -0,0 +1,65 @@
+%% OT2wncyr.fd
+%% Copyright 1999 S. Rahtz, Th. B.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+\ProvidesFile{OT2wncyr.fd}[1999/01/14 Washington Cyrillic.
+ S. Rahtz/Th. B.]
+\DeclareFontFamily{OT2}{wncyr}{}
+\@ifundefined{DeclareThatWNFontShape}%
+{\@ifundefined{pdfoutput}%
+ {\def\DeclareThatWNFontShape#1#2#3#4#5#6{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}{%
+ <5> <6> <7> <8> <9> <10> gen * #5
+ <12> <10.95> <14.4> <17.28><20.74><24.88>#510}{#6}}}
+ {\ifnum\pdfoutput=1
+ \def\DeclareThatWNFontShape#1#2#3#4#5#6{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}{<->#510}{#6}}
+ \else
+ \def\DeclareThatWNFontShape#1#2#3#4#5#6{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}{%
+ <5> <6> <7> <8> <9> <10> gen * #5
+ <12> <10.95> <14.4> <17.28><20.74><24.88>#510}{#6}}
+ \fi}}{}
+\DeclareThatWNFontShape{OT2}{wncyr}{m}{n}{wncyr}{}
+\DeclareThatWNFontShape{OT2}{wncyr}{b}{n}{wncyb}{}
+\DeclareThatWNFontShape{OT2}{wncyr}{m}{it}{wncyi}{}
+\DeclareThatWNFontShape{OT2}{wncyr}{m}{sc}{wncysc}{}
+\DeclareFontShape{OT2}{wncyr}{bx}{n} {<->ssub * wncyr/b/n}{}
+\endinput
+\ProvidesFile{OT2wncyr.fd}[1999/01/14 Washington Cyrillic.
+ S. Rahtz/Th. B.]
+\DeclareFontFamily{OT2}{wncyr}{}
+\@ifundefined{DeclareThatWNFontShape}%
+{\@ifundefined{pdfoutput}%
+ {\def\DeclareThatWNFontShape#1#2#3#4#5#6{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}{%
+ <5> <6> <7> <8> <9> <10> gen * #5
+ <12> <10.95> <14.4> <17.28><20.74><24.88>#510}{#6}}}
+ {\ifnum\pdfoutput=1
+ \def\DeclareThatWNFontShape#1#2#3#4#5#6{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}{<->#510}{#6}}
+ \else
+ \def\DeclareThatWNFontShape#1#2#3#4#5#6{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}{%
+ <5> <6> <7> <8> <9> <10> gen * #5
+ <12> <10.95> <14.4> <17.28><20.74><24.88>#510}{#6}}
+ \fi}}{}
+\DeclareThatWNFontShape{OT2}{wncyr}{m}{n}{wncyr}{}
+\DeclareThatWNFontShape{OT2}{wncyr}{b}{n}{wncyb}{}
+\DeclareThatWNFontShape{OT2}{wncyr}{m}{it}{wncyi}{}
+\DeclareThatWNFontShape{OT2}{wncyr}{m}{sc}{wncysc}{}
+\DeclareFontShape{OT2}{wncyr}{bx}{n} {<->ssub * wncyr/b/n}{}
+\endinput
diff --git a/fonts/cyrillic/ot2cyr/OT2wncyss.fd b/fonts/cyrillic/ot2cyr/OT2wncyss.fd
new file mode 100644
index 0000000000..6c52e7b064
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/OT2wncyss.fd
@@ -0,0 +1,39 @@
+%% OT2wncyss.fd
+%% Copyright 1999 S. Rahtz, Th. B.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+\ProvidesFile{OT2wncyss.fd}[1999/01/14 Washington Cyrillic Sans.
+ S. Rahtz./Th. B.]
+\DeclareFontFamily{OT2}{wncyss}{}
+\@ifundefined{pdfoutput}%
+ {\def\DeclareThatWNSSFontShape#1#2#3#4#5#6{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}{%
+ <5> <6> <7> <8> #58 <9> #59
+ <10> <10.95> <12> <14.4> <17.28><20.74><24.88>#510}{#6}}}
+ {\ifnum\pdfoutput=1
+ \def\DeclareThatWNFontShape#1#2#3#4#5#6{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}{<->#510}{#6}}
+ \else
+ \def\DeclareThatWNSSFontShape#1#2#3#4#5#6{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}{%
+ <5> <6> <7> <8> #58 <9> #59
+ <10> <10.95> <12> <14.4><17.28><20.74><24.88>#510}{#6}}
+ \fi}
+\DeclareThatWNSSFontShape{OT2}{wncyss}{m}{n}{wncyss}{}{}
+\DeclareFontShape{OT2}{wncyss}{bx}{n}{<->sub * wncyss/m/n}{}
+\DeclareFontShape{OT2}{wncyss}{m}{i}{<->sub * wncyss/m/n}{}
+\endinput
+%%% \ No newline at end of file
diff --git a/fonts/cyrillic/ot2cyr/README b/fonts/cyrillic/ot2cyr/README
new file mode 100644
index 0000000000..2b8f2bb43a
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/README
@@ -0,0 +1,51 @@
+README
+Copyright 1995 Sebastian Rahtz
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Sebastian Rahtz.
+
+This work consists of all files listed in manifest.txt.
+
+I have spent some while trying to look at Cyrillic encoding in
+PostScript fonts, partly to make Lucida Cyrillic available.
+While doing that I also looked at Monotype Times.
+
+What I have done is create:
+
+ a) OT2enc.def and OT2wncyr.fd files to make Washington Cyrillic work
+ in normal LaTeX.
+
+ b) fontinst .mtx file for Cyrillic glyph names, and .etx file for
+ OT2 encoding; these in two versions, one for the names as found in
+ Monotype Times Cyrillic, and one for names in Lucida Cyrillic
+ (AFII numbers, whatever they may be)
+
+ c) a script (go) to run all the Monotype and Lucida fonts and make the metrics
+
+ d) dvips map files for both families.
+
+The result is a pretty good match for Lucida, and an almost perfect
+one for Monotype Times. The only thing missing in the latter (I pull
+in a few characters from the corresponding roman font) is the strange
+mis-shaped breve at '044 in Washington Cyrillic.
+
+Note that i have left the Y&Y names for Lucida Cyrillic alone as the `raw' names
+because I couldnt be bothered to rename them
+
+Have fun
+
+Sebastian Rahtz
+November 22nd 1995
+s.rahtz@elsevier.co.uk
+
+(looked at and checked by Mattias Eller (tt91mel@student.tdb.uu.se) in
+March 1996, and changes made to OT2enc.def and OT2wncyss.fd)
diff --git a/fonts/cyrillic/ot2cyr/go b/fonts/cyrillic/ot2cyr/go
new file mode 100644
index 0000000000..985afc9475
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/go
@@ -0,0 +1,30 @@
+## go
+## Copyright 1996 Sebastian Rahtz
+#
+# This work may be distributed and/or modified under the
+# conditions of the LaTeX Project Public License, either version 1.3
+# of this license or (at your option) any later version.
+# The latest version of this license is in
+# http://www.latex-project.org/lppl.txt
+# and version 1.3 or later is part of all distributions of LaTeX
+# version 2005/12/01 or later.
+#
+# This work has the LPPL maintenance status `maintained'.
+#
+# The Current Maintainer of this work is Sebastian Rahtz.
+#
+# This work consists of all files listed in manifest.txt.
+tex makecyr.tex
+for i in *.vpl
+do
+ B=`basename $i .vpl`
+ echo Process $i
+ vptovf $i $B.vf $B.tfm
+done
+for i in *.pl
+do
+ echo Process $i
+ B=`basename $i .pl`
+ pltotf $i $B.tfm
+done
+rm *.pl *.vpl *8a.tfm *8r* hls*mtx ls*mtx mnt*mtx
diff --git a/fonts/cyrillic/ot2cyr/hlsb7k.tfm b/fonts/cyrillic/ot2cyr/hlsb7k.tfm
new file mode 100644
index 0000000000..c800cbd5e9
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsb7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsb7k.vf b/fonts/cyrillic/ot2cyr/hlsb7k.vf
new file mode 100644
index 0000000000..f7d17b4f2b
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsb7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsbo7k.tfm b/fonts/cyrillic/ot2cyr/hlsbo7k.tfm
new file mode 100644
index 0000000000..3f29d23925
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsbo7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsbo7k.vf b/fonts/cyrillic/ot2cyr/hlsbo7k.vf
new file mode 100644
index 0000000000..7ee654a6cd
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsbo7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsbot7k.tfm b/fonts/cyrillic/ot2cyr/hlsbot7k.tfm
new file mode 100644
index 0000000000..e7d915ad70
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsbot7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsbot7k.vf b/fonts/cyrillic/ot2cyr/hlsbot7k.vf
new file mode 100644
index 0000000000..10b57dfa96
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsbot7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsbt7k.tfm b/fonts/cyrillic/ot2cyr/hlsbt7k.tfm
new file mode 100644
index 0000000000..b0a6128c03
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsbt7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsbt7k.vf b/fonts/cyrillic/ot2cyr/hlsbt7k.vf
new file mode 100644
index 0000000000..ac0915c86a
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsbt7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsr7k.tfm b/fonts/cyrillic/ot2cyr/hlsr7k.tfm
new file mode 100644
index 0000000000..521e9c804f
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsr7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsr7k.vf b/fonts/cyrillic/ot2cyr/hlsr7k.vf
new file mode 100644
index 0000000000..72737e8cd2
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsr7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsro7k.tfm b/fonts/cyrillic/ot2cyr/hlsro7k.tfm
new file mode 100644
index 0000000000..c5df3d58e5
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsro7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsro7k.vf b/fonts/cyrillic/ot2cyr/hlsro7k.vf
new file mode 100644
index 0000000000..8bfcfb2616
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsro7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsrot7k.tfm b/fonts/cyrillic/ot2cyr/hlsrot7k.tfm
new file mode 100644
index 0000000000..dab7adb925
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsrot7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsrot7k.vf b/fonts/cyrillic/ot2cyr/hlsrot7k.vf
new file mode 100644
index 0000000000..b683fa1e37
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsrot7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsrt7k.tfm b/fonts/cyrillic/ot2cyr/hlsrt7k.tfm
new file mode 100644
index 0000000000..93e4bb337d
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsrt7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/hlsrt7k.vf b/fonts/cyrillic/ot2cyr/hlsrt7k.vf
new file mode 100644
index 0000000000..19d418b178
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/hlsrt7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/lscy.map b/fonts/cyrillic/ot2cyr/lscy.map
new file mode 100644
index 0000000000..e8d9a78bd3
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscy.map
@@ -0,0 +1,24 @@
+%% lscy.map
+%% Copyright 1996 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+lscyb LucidaSansCyr-Bold <lscyb.pfb
+lscybo LucidaSansCyr-BoldObl <lscybo.pfb
+lscyo LucidaSansCyr-Obl <lscyo.pfb
+lscyr LucidaSansCyr <lscyr.pfb
+lstcyb LucidaSansTypCyr-Bold <lstcyb.pfb
+lstcybo LucidaSansTypCyr-BoldObl <lstcybo.pfb
+lstcyo LucidaSansTypCyr-Obl <lstcyo.pfb
+lstcyr LucidaSansTypCyr <lstcyr.pfb
diff --git a/fonts/cyrillic/ot2cyr/lscyb.afm b/fonts/cyrillic/ot2cyr/lscyb.afm
new file mode 100644
index 0000000000..523af57cb7
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscyb.afm
@@ -0,0 +1,261 @@
+StartFontMetrics 2.0
+Comment CreationDate: 93/Aug/12
+Comment ModificationDate: 93/Aug/15
+Comment ModificationDate: 94/May/11
+Comment Lucida is a registered trademark of Bigelow & Holmes Inc.
+Comment UniqueID 5054463
+FontName LucidaSansCyr-Bold
+FullName Lucida Sans Cyr Bold
+FamilyName LucidaSansCyr
+Weight Bold
+ItalicAngle 0.0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 1.002
+Notice (c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.
+Notice (c) 1993 Y&Y Inc. All rights reserved.
+EncodingScheme FontSpecific
+FontBBox -100 -211 1295 940
+CapHeight 723
+XHeight 542
+Descender -193
+Ascender 771
+StartCharMetrics 235
+C 32 ; WX 301 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 343 ; N exclam ; B 75 0 268 723 ;
+C 34 ; WX 530 ; N quotedbl ; B 42 434 500 771 ;
+C 35 ; WX 687 ; N numbersign ; B 31 0 656 723 ;
+C 36 ; WX 687 ; N dollar ; B 93 -96 594 819 ;
+C 37 ; WX 898 ; N percent ; B 18 -18 880 741 ;
+C 38 ; WX 792 ; N ampersand ; B 30 -18 762 741 ;
+C 39 ; WX 265 ; N quoteright ; B 36 434 229 771 ;
+C 40 ; WX 386 ; N parenleft ; B 36 -157 331 783 ;
+C 41 ; WX 386 ; N parenright ; B 54 -157 349 783 ;
+C 42 ; WX 464 ; N asterisk ; B 37 352 427 723 ;
+C 43 ; WX 687 ; N plus ; B 54 0 633 578 ;
+C 44 ; WX 343 ; N comma ; B 75 -145 268 193 ;
+C 45 ; WX 289 ; N hyphen ; B 36 259 253 367 ;
+C 46 ; WX 343 ; N period ; B 75 0 268 193 ;
+C 47 ; WX 596 ; N slash ; B 6 -145 590 771 ;
+C 48 ; WX 687 ; N zero ; B 36 -18 651 741 ;
+C 49 ; WX 687 ; N one ; B 157 0 452 735 ;
+C 50 ; WX 687 ; N two ; B 60 0 598 741 ;
+C 51 ; WX 687 ; N three ; B 95 -18 618 741 ;
+C 52 ; WX 687 ; N four ; B 42 0 627 723 ;
+C 53 ; WX 687 ; N five ; B 127 -18 619 723 ;
+C 54 ; WX 687 ; N six ; B 33 -18 636 741 ;
+C 55 ; WX 687 ; N seven ; B 130 0 654 723 ;
+C 56 ; WX 687 ; N eight ; B 53 -18 634 741 ;
+C 57 ; WX 687 ; N nine ; B 51 -18 654 741 ;
+C 58 ; WX 343 ; N colon ; B 75 0 268 542 ;
+C 59 ; WX 343 ; N semicolon ; B 75 -145 268 542 ;
+C 60 ; WX 687 ; N less ; B 54 0 633 578 ;
+C 61 ; WX 687 ; N equal ; B 54 114 633 452 ;
+C 62 ; WX 687 ; N greater ; B 54 0 633 578 ;
+C 63 ; WX 572 ; N question ; B 42 0 536 741 ;
+C 64 ; WX 833 ; N at ; B 36 -18 813 741 ;
+C 65 ; WX 773 ; N A ; B 12 0 759 723 ;
+C 66 ; WX 669 ; N B ; B 84 0 627 723 ;
+C 67 ; WX 726 ; N C ; B 36 -18 699 741 ;
+C 68 ; WX 819 ; N D ; B 84 0 783 723 ;
+C 69 ; WX 645 ; N E ; B 84 0 602 723 ;
+C 70 ; WX 602 ; N F ; B 84 0 584 723 ;
+C 71 ; WX 759 ; N G ; B 36 -18 687 741 ;
+C 72 ; WX 813 ; N H ; B 84 0 729 723 ;
+C 73 ; WX 361 ; N I ; B 84 0 277 723 ;
+C 74 ; WX 501 ; N J ; B 12 -145 417 723 ;
+C 75 ; WX 753 ; N K ; B 84 0 741 723 ;
+C 76 ; WX 620 ; N L ; B 84 0 602 723 ;
+C 77 ; WX 940 ; N M ; B 84 0 855 723 ;
+C 78 ; WX 783 ; N N ; B 84 0 699 723 ;
+C 79 ; WX 855 ; N O ; B 36 -18 819 741 ;
+C 80 ; WX 657 ; N P ; B 84 0 623 723 ;
+C 81 ; WX 855 ; N Q ; B 36 -151 934 741 ;
+C 82 ; WX 734 ; N R ; B 84 0 722 723 ;
+C 83 ; WX 594 ; N S ; B 42 -18 569 741 ;
+C 84 ; WX 735 ; N T ; B 9 0 726 723 ;
+C 85 ; WX 783 ; N U ; B 84 -18 699 723 ;
+C 86 ; WX 735 ; N V ; B 9 0 720 723 ;
+C 87 ; WX 940 ; N W ; B 15 0 928 723 ;
+C 88 ; WX 699 ; N X ; B 36 0 683 723 ;
+C 89 ; WX 738 ; N Y ; B 27 0 711 723 ;
+C 90 ; WX 675 ; N Z ; B 54 0 608 723 ;
+C 91 ; WX 386 ; N bracketleft ; B 72 -145 331 771 ;
+C 92 ; WX 596 ; N backslash ; B 6 -145 590 771 ;
+C 93 ; WX 386 ; N bracketright ; B 54 -145 313 771 ;
+C 94 ; WX 687 ; N asciicircum ; B 54 145 633 723 ;
+C 95 ; WX 500 ; N underscore ; B 30 -108 470 0 ;
+C 96 ; WX 265 ; N quoteleft ; B 36 434 229 771 ;
+C 97 ; WX 623 ; N a ; B 29 -12 581 554 ;
+C 98 ; WX 696 ; N b ; B 84 -12 660 771 ;
+C 99 ; WX 551 ; N c ; B 36 -12 513 554 ;
+C 100 ; WX 696 ; N d ; B 36 -12 611 771 ;
+C 101 ; WX 614 ; N e ; B 30 -13 569 554 ;
+C 102 ; WX 461 ; N f ; B 24 0 473 783 ; L i fi ; L l fl ;
+C 103 ; WX 696 ; N g ; B 36 -205 611 554 ;
+C 104 ; WX 693 ; N h ; B 84 0 614 771 ;
+C 105 ; WX 361 ; N i ; B 84 0 277 771 ;
+C 106 ; WX 361 ; N j ; B -100 -205 277 771 ;
+C 107 ; WX 681 ; N k ; B 84 0 652 771 ;
+C 108 ; WX 361 ; N l ; B 84 0 277 771 ;
+C 109 ; WX 1006 ; N m ; B 84 0 928 555 ;
+C 110 ; WX 693 ; N n ; B 84 0 614 554 ;
+C 111 ; WX 675 ; N o ; B 36 -12 639 554 ;
+C 112 ; WX 696 ; N p ; B 84 -193 660 554 ;
+C 113 ; WX 696 ; N q ; B 36 -193 611 554 ;
+C 114 ; WX 500 ; N r ; B 84 0 476 554 ;
+C 115 ; WX 622 ; N s ; B 76 -12 563 554 ;
+C 116 ; WX 436 ; N t ; B 41 -12 401 651 ;
+C 117 ; WX 693 ; N u ; B 78 -12 608 542 ;
+C 118 ; WX 663 ; N v ; B 24 0 639 542 ;
+C 119 ; WX 886 ; N w ; B 32 0 858 542 ;
+C 120 ; WX 568 ; N x ; B 25 0 555 542 ;
+C 121 ; WX 645 ; N y ; B 15 -193 633 542 ;
+C 122 ; WX 608 ; N z ; B 60 0 560 542 ;
+C 123 ; WX 386 ; N braceleft ; B 54 -145 334 771 ;
+C 124 ; WX 265 ; N bar ; B 72 -145 193 771 ;
+C 125 ; WX 386 ; N braceright ; B 51 -145 331 771 ;
+C 126 ; WX 687 ; N asciitilde ; B 54 181 633 392 ;
+C 160 ; WX 301 ; N nbspace ; B 0 0 0 0 ;
+C 161 ; WX 645 ; N afii10023 ; B 84 0 602 904 ;
+C 162 ; WX 843 ; N afii10051 ; B 6 -6 807 723 ;
+C 163 ; WX 542 ; N afii10052 ; B 84 0 536 940 ;
+C 164 ; WX 605 ; N afii10053 ; B 36 -18 569 741 ;
+C 165 ; WX 594 ; N afii10054 ; B 42 -18 569 741 ;
+C 166 ; WX 361 ; N afii10055 ; B 84 0 277 723 ;
+C 167 ; WX 361 ; N afii10056 ; B 18 0 343 904 ;
+C 168 ; WX 495 ; N afii10057 ; B 6 -181 411 723 ;
+C 169 ; WX 1030 ; N afii10058 ; B 6 0 994 723 ;
+C 170 ; WX 1093 ; N afii10059 ; B 84 0 1057 723 ;
+C 171 ; WX 843 ; N afii10060 ; B 6 0 765 723 ;
+C 172 ; WX 679 ; N afii10061 ; B 84 0 655 940 ;
+C 173 ; WX 585 ; N afii10050 ; B 84 0 579 867 ;
+C 174 ; WX 722 ; N afii10062 ; B -3 0 725 928 ;
+C 175 ; WX 813 ; N afii10145 ; B 84 -145 729 723 ;
+C 176 ; WX 773 ; N afii10017 ; B 12 0 759 723 ;
+C 177 ; WX 654 ; N afii10018 ; B 84 0 623 723 ;
+C 178 ; WX 669 ; N afii10019 ; B 84 0 627 723 ;
+C 179 ; WX 542 ; N afii10020 ; B 84 0 536 723 ;
+C 180 ; WX 852 ; N afii10021 ; B 24 -145 834 723 ;
+C 181 ; WX 645 ; N afii10022 ; B 84 0 602 723 ;
+C 182 ; WX 985 ; N afii10024 ; B 12 0 973 723 ;
+C 183 ; WX 590 ; N afii10025 ; B 30 -18 549 741 ;
+C 184 ; WX 819 ; N afii10026 ; B 84 0 735 723 ;
+C 185 ; WX 819 ; N afii10027 ; B 84 0 735 928 ;
+C 186 ; WX 679 ; N afii10028 ; B 84 0 655 723 ;
+C 187 ; WX 750 ; N afii10029 ; B 6 0 666 723 ;
+C 188 ; WX 940 ; N afii10030 ; B 84 0 855 723 ;
+C 189 ; WX 813 ; N afii10031 ; B 84 0 729 723 ;
+C 190 ; WX 855 ; N afii10032 ; B 36 -18 819 741 ;
+C 191 ; WX 813 ; N afii10033 ; B 84 0 729 723 ;
+C 192 ; WX 657 ; N afii10034 ; B 84 0 623 723 ;
+C 193 ; WX 726 ; N afii10035 ; B 36 -18 699 741 ;
+C 194 ; WX 735 ; N afii10036 ; B 9 0 726 723 ;
+C 195 ; WX 722 ; N afii10037 ; B -3 0 725 723 ;
+C 196 ; WX 813 ; N afii10038 ; B 24 0 789 723 ;
+C 197 ; WX 699 ; N afii10039 ; B 36 0 683 723 ;
+C 198 ; WX 843 ; N afii10040 ; B 84 -145 825 723 ;
+C 199 ; WX 738 ; N afii10041 ; B 66 0 654 723 ;
+C 200 ; WX 1000 ; N afii10042 ; B 84 0 916 723 ;
+C 201 ; WX 1030 ; N afii10043 ; B 84 -145 1012 723 ;
+C 202 ; WX 753 ; N afii10044 ; B 6 0 717 723 ;
+C 203 ; WX 967 ; N afii10045 ; B 84 0 883 723 ;
+C 204 ; WX 660 ; N afii10046 ; B 84 0 623 723 ;
+C 205 ; WX 605 ; N afii10047 ; B 36 -18 569 741 ;
+C 206 ; WX 1085 ; N afii10048 ; B 84 -18 1049 741 ;
+C 207 ; WX 699 ; N afii10049 ; B 6 0 614 723 ;
+C 208 ; WX 623 ; N afii10065 ; B 29 -12 581 554 ;
+C 209 ; WX 672 ; N afii10066 ; B 48 -12 636 797 ;
+C 210 ; WX 664 ; N afii10067 ; B 84 0 610 542 ;
+C 211 ; WX 530 ; N afii10068 ; B 84 0 518 542 ;
+C 212 ; WX 750 ; N afii10069 ; B 12 -120 726 542 ;
+C 213 ; WX 614 ; N afii10070 ; B 30 -13 569 554 ;
+C 214 ; WX 833 ; N afii10072 ; B 3 0 830 542 ;
+C 215 ; WX 533 ; N afii10073 ; B 36 -12 485 554 ;
+C 216 ; WX 723 ; N afii10074 ; B 84 0 639 542 ;
+C 217 ; WX 723 ; N afii10075 ; B 84 0 639 771 ;
+C 218 ; WX 621 ; N afii10076 ; B 84 0 606 542 ;
+C 219 ; WX 657 ; N afii10077 ; B 12 0 572 542 ;
+C 220 ; WX 774 ; N afii10078 ; B 84 0 690 542 ;
+C 221 ; WX 699 ; N afii10079 ; B 84 0 614 542 ;
+C 222 ; WX 675 ; N afii10080 ; B 36 -12 639 554 ;
+C 223 ; WX 699 ; N afii10081 ; B 84 0 614 542 ;
+C 224 ; WX 696 ; N afii10082 ; B 84 -193 660 554 ;
+C 225 ; WX 551 ; N afii10083 ; B 36 -12 514 554 ;
+C 226 ; WX 494 ; N afii10084 ; B 6 0 488 542 ;
+C 227 ; WX 638 ; N afii10085 ; B 25 -193 632 542 ;
+C 228 ; WX 928 ; N afii10086 ; B 42 -193 886 723 ;
+C 229 ; WX 568 ; N afii10087 ; B 25 0 555 542 ;
+C 230 ; WX 729 ; N afii10088 ; B 84 -120 699 542 ;
+C 231 ; WX 654 ; N afii10089 ; B 60 0 569 542 ;
+C 232 ; WX 988 ; N afii10090 ; B 84 0 904 542 ;
+C 233 ; WX 1018 ; N afii10091 ; B 84 -120 988 542 ;
+C 234 ; WX 642 ; N afii10092 ; B 6 0 605 542 ;
+C 235 ; WX 907 ; N afii10093 ; B 84 0 822 542 ;
+C 236 ; WX 611 ; N afii10094 ; B 84 0 581 542 ;
+C 237 ; WX 575 ; N afii10095 ; B 30 -12 539 554 ;
+C 238 ; WX 940 ; N afii10096 ; B 84 -12 904 554 ;
+C 239 ; WX 625 ; N afii10097 ; B 12 0 541 542 ;
+C 240 ; WX 1167 ; N afii61352 ; B 6 0 1155 723 ;
+C 241 ; WX 614 ; N afii10071 ; B 30 -13 569 747 ;
+C 242 ; WX 693 ; N afii10099 ; B 12 -205 614 771 ;
+C 243 ; WX 530 ; N afii10100 ; B 84 0 518 783 ;
+C 244 ; WX 575 ; N afii10101 ; B 36 -12 545 554 ;
+C 245 ; WX 622 ; N afii10102 ; B 76 -12 563 554 ;
+C 246 ; WX 361 ; N afii10103 ; B 84 0 277 771 ;
+C 247 ; WX 361 ; N afii10104 ; B 18 0 343 747 ;
+C 248 ; WX 361 ; N afii10105 ; B -100 -205 277 771 ;
+C 249 ; WX 925 ; N afii10106 ; B 12 0 889 542 ;
+C 250 ; WX 925 ; N afii10107 ; B 84 0 889 542 ;
+C 251 ; WX 693 ; N afii10108 ; B 12 0 614 771 ;
+C 252 ; WX 609 ; N afii10109 ; B 84 0 606 783 ;
+C 253 ; WX 572 ; N afii10098 ; B 84 0 566 663 ;
+C 254 ; WX 638 ; N afii10110 ; B 25 -193 632 771 ;
+C 255 ; WX 699 ; N afii10193 ; B 84 -120 614 542 ;
+C -1 ; WX 687 ; N currency ; B 20 38 667 685 ;
+C -1 ; WX 687 ; N section ; B 90 -163 596 741 ;
+C -1 ; WX 687 ; N paragraph ; B 84 -145 506 723 ;
+C -1 ; WX 265 ; N quotesingle ; B 42 434 235 771 ;
+C -1 ; WX 265 ; N quotesinglbase ; B 36 -145 229 193 ;
+C -1 ; WX 530 ; N quotedblbase ; B 36 -145 494 193 ;
+C -1 ; WX 530 ; N quotedblleft ; B 36 434 494 771 ;
+C -1 ; WX 530 ; N quotedblright ; B 36 434 494 771 ;
+C -1 ; WX 361 ; N guilsinglleft ; B 30 54 331 488 ;
+C -1 ; WX 361 ; N guilsinglright ; B 30 54 331 488 ;
+C -1 ; WX 614 ; N guillemotright ; B 30 54 584 488 ;
+C -1 ; WX 614 ; N guillemotleft ; B 30 54 584 488 ;
+C -1 ; WX 760 ; N dagger ; B 93 -160 667 800 ;
+C -1 ; WX 687 ; N daggerdbl ; B 84 -145 602 723 ;
+C -1 ; WX 687 ; N periodcentered ; B 271 217 416 361 ;
+C -1 ; WX 687 ; N bullet ; B 151 96 536 482 ;
+C -1 ; WX 1000 ; N ellipsis ; B 108 0 892 120 ;
+C -1 ; WX 1313 ; N perthousand ; B 18 -18 1295 741 ;
+C -1 ; WX 500 ; N endash ; B 33 259 467 355 ;
+C -1 ; WX 1000 ; N emdash ; B 30 259 970 331 ;
+C -1 ; WX 687 ; N registered ; B 84 223 602 741 ;
+C -1 ; WX 901 ; N trademark ; B 30 361 876 723 ;
+C -1 ; WX 825 ; N copyright ; B 33 -18 792 741 ;
+C -1 ; WX 265 ; N brokenbar ; B 72 -145 193 771 ;
+C -1 ; WX 289 ; N sfthyphen ; B 36 259 253 367 ;
+C -1 ; WX 687 ; N logicalnot ; B 54 114 633 452 ;
+C -1 ; WX 289 ; N degree ; B 36 524 253 741 ;
+C -1 ; WX 687 ; N plusminus ; B 54 0 633 578 ;
+C -1 ; WX 699 ; N mu ; B 84 -145 614 542 ;
+C -1 ; WX 687 ; N minus ; B 54 235 633 343 ;
+C -1 ; WX 361 ; N dotlessi ; B 84 0 277 542 ;
+C -1 ; WX 675 ; N grave ; B 169 626 437 783 ;
+C -1 ; WX 675 ; N acute ; B 238 626 506 783 ;
+C -1 ; WX 675 ; N circumflex ; B 157 626 518 783 ;
+C -1 ; WX 675 ; N tilde ; B 133 626 542 783 ;
+C -1 ; WX 675 ; N macron ; B 175 627 500 735 ;
+C -1 ; WX 675 ; N breve ; B 157 627 518 771 ;
+C -1 ; WX 675 ; N dotaccent ; B 265 626 410 771 ;
+C -1 ; WX 675 ; N dieresis ; B 175 627 500 747 ;
+C -1 ; WX 675 ; N ring ; B 227 626 448 848 ;
+C -1 ; WX 675 ; N cedilla ; B 247 -211 428 0 ;
+C -1 ; WX 675 ; N hungarumlaut ; B 173 626 594 783 ;
+C -1 ; WX 675 ; N ogonek ; B 237 -181 437 0 ;
+C -1 ; WX 675 ; N caron ; B 157 626 518 783 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/lscyb.mtx b/fonts/cyrillic/ot2cyr/lscyb.mtx
new file mode 100644
index 0000000000..3e8ab35008
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscyb.mtx
@@ -0,0 +1,273 @@
+%% lscyb.mtx
+%% Copyright 1996 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+%Filename: lscyb.mtx
+%Created by: tex makecyr
+%Created using: \afmtomtx{lscyb}{lscyb}
+
+%This file contains theinformation of lscyb.afm in a form
+%more easily read by TeX. It is used by the fontinst package.
+
+%THIS FILE CAN BE DELETED.
+
+\relax
+\metrics
+
+\needsfontinstversion{1.335}
+
+\setint{italicslant}{0}
+\setint{underlinethickness}{50 }
+\setint{capheight}{723 }
+\setint{xheight}{542 }
+\setint{ascender}{771 }
+\setrawglyph{space}{lscyb}{10pt}{32}{301}{0}{0}{0}
+\setrawglyph{exclam}{lscyb}{10pt}{33}{343}{723}{0}{0}
+\setrawglyph{quotedbl}{lscyb}{10pt}{34}{530}{771}{-434}{0}
+\setrawglyph{numbersign}{lscyb}{10pt}{35}{687}{723}{0}{0}
+\setrawglyph{dollar}{lscyb}{10pt}{36}{687}{819}{96}{0}
+\setrawglyph{percent}{lscyb}{10pt}{37}{898}{741}{18}{0}
+\setrawglyph{ampersand}{lscyb}{10pt}{38}{792}{741}{18}{0}
+\setrawglyph{quoteright}{lscyb}{10pt}{39}{265}{771}{-434}{0}
+\setrawglyph{parenleft}{lscyb}{10pt}{40}{386}{783}{157}{0}
+\setrawglyph{parenright}{lscyb}{10pt}{41}{386}{783}{157}{0}
+\setrawglyph{asterisk}{lscyb}{10pt}{42}{464}{723}{-352}{0}
+\setrawglyph{plus}{lscyb}{10pt}{43}{687}{578}{0}{0}
+\setrawglyph{comma}{lscyb}{10pt}{44}{343}{193}{145}{0}
+\setrawglyph{hyphen}{lscyb}{10pt}{45}{289}{367}{-259}{0}
+\setrawglyph{period}{lscyb}{10pt}{46}{343}{193}{0}{0}
+\setrawglyph{slash}{lscyb}{10pt}{47}{596}{771}{145}{0}
+\setrawglyph{zero}{lscyb}{10pt}{48}{687}{741}{18}{0}
+\setrawglyph{one}{lscyb}{10pt}{49}{687}{735}{0}{0}
+\setrawglyph{two}{lscyb}{10pt}{50}{687}{741}{0}{0}
+\setrawglyph{three}{lscyb}{10pt}{51}{687}{741}{18}{0}
+\setrawglyph{four}{lscyb}{10pt}{52}{687}{723}{0}{0}
+\setrawglyph{five}{lscyb}{10pt}{53}{687}{723}{18}{0}
+\setrawglyph{six}{lscyb}{10pt}{54}{687}{741}{18}{0}
+\setrawglyph{seven}{lscyb}{10pt}{55}{687}{723}{0}{0}
+\setrawglyph{eight}{lscyb}{10pt}{56}{687}{741}{18}{0}
+\setrawglyph{nine}{lscyb}{10pt}{57}{687}{741}{18}{0}
+\setrawglyph{colon}{lscyb}{10pt}{58}{343}{542}{0}{0}
+\setrawglyph{semicolon}{lscyb}{10pt}{59}{343}{542}{145}{0}
+\setrawglyph{less}{lscyb}{10pt}{60}{687}{578}{0}{0}
+\setrawglyph{equal}{lscyb}{10pt}{61}{687}{452}{-114}{0}
+\setrawglyph{greater}{lscyb}{10pt}{62}{687}{578}{0}{0}
+\setrawglyph{question}{lscyb}{10pt}{63}{572}{741}{0}{0}
+\setrawglyph{at}{lscyb}{10pt}{64}{833}{741}{18}{0}
+\setrawglyph{A}{lscyb}{10pt}{65}{773}{723}{0}{0}
+\setrawglyph{B}{lscyb}{10pt}{66}{669}{723}{0}{0}
+\setrawglyph{C}{lscyb}{10pt}{67}{726}{741}{18}{0}
+\setrawglyph{D}{lscyb}{10pt}{68}{819}{723}{0}{0}
+\setrawglyph{E}{lscyb}{10pt}{69}{645}{723}{0}{0}
+\setrawglyph{F}{lscyb}{10pt}{70}{602}{723}{0}{0}
+\setrawglyph{G}{lscyb}{10pt}{71}{759}{741}{18}{0}
+\setrawglyph{H}{lscyb}{10pt}{72}{813}{723}{0}{0}
+\setrawglyph{I}{lscyb}{10pt}{73}{361}{723}{0}{0}
+\setrawglyph{J}{lscyb}{10pt}{74}{501}{723}{145}{0}
+\setrawglyph{K}{lscyb}{10pt}{75}{753}{723}{0}{0}
+\setrawglyph{L}{lscyb}{10pt}{76}{620}{723}{0}{0}
+\setrawglyph{M}{lscyb}{10pt}{77}{940}{723}{0}{0}
+\setrawglyph{N}{lscyb}{10pt}{78}{783}{723}{0}{0}
+\setrawglyph{O}{lscyb}{10pt}{79}{855}{741}{18}{0}
+\setrawglyph{P}{lscyb}{10pt}{80}{657}{723}{0}{0}
+\setrawglyph{Q}{lscyb}{10pt}{81}{855}{741}{151}{0}
+\setrawglyph{R}{lscyb}{10pt}{82}{734}{723}{0}{0}
+\setrawglyph{S}{lscyb}{10pt}{83}{594}{741}{18}{0}
+\setrawglyph{T}{lscyb}{10pt}{84}{735}{723}{0}{0}
+\setrawglyph{U}{lscyb}{10pt}{85}{783}{723}{18}{0}
+\setrawglyph{V}{lscyb}{10pt}{86}{735}{723}{0}{0}
+\setrawglyph{W}{lscyb}{10pt}{87}{940}{723}{0}{0}
+\setrawglyph{X}{lscyb}{10pt}{88}{699}{723}{0}{0}
+\setrawglyph{Y}{lscyb}{10pt}{89}{738}{723}{0}{0}
+\setrawglyph{Z}{lscyb}{10pt}{90}{675}{723}{0}{0}
+\setrawglyph{bracketleft}{lscyb}{10pt}{91}{386}{771}{145}{0}
+\setrawglyph{backslash}{lscyb}{10pt}{92}{596}{771}{145}{0}
+\setrawglyph{bracketright}{lscyb}{10pt}{93}{386}{771}{145}{0}
+\setrawglyph{asciicircum}{lscyb}{10pt}{94}{687}{723}{-145}{0}
+\setrawglyph{underscore}{lscyb}{10pt}{95}{500}{0}{108}{0}
+\setrawglyph{quoteleft}{lscyb}{10pt}{96}{265}{771}{-434}{0}
+\setrawglyph{a}{lscyb}{10pt}{97}{623}{554}{12}{0}
+\setrawglyph{b}{lscyb}{10pt}{98}{696}{771}{12}{0}
+\setrawglyph{c}{lscyb}{10pt}{99}{551}{554}{12}{0}
+\setrawglyph{d}{lscyb}{10pt}{100}{696}{771}{12}{0}
+\setrawglyph{e}{lscyb}{10pt}{101}{614}{554}{13}{0}
+\setrawglyph{f}{lscyb}{10pt}{102}{461}{783}{0}{0}
+\setrawglyph{g}{lscyb}{10pt}{103}{696}{554}{205}{0}
+\setrawglyph{h}{lscyb}{10pt}{104}{693}{771}{0}{0}
+\setrawglyph{i}{lscyb}{10pt}{105}{361}{771}{0}{0}
+\setrawglyph{j}{lscyb}{10pt}{106}{361}{771}{205}{0}
+\setrawglyph{k}{lscyb}{10pt}{107}{681}{771}{0}{0}
+\setrawglyph{l}{lscyb}{10pt}{108}{361}{771}{0}{0}
+\setrawglyph{m}{lscyb}{10pt}{109}{1006}{555}{0}{0}
+\setrawglyph{n}{lscyb}{10pt}{110}{693}{554}{0}{0}
+\setrawglyph{o}{lscyb}{10pt}{111}{675}{554}{12}{0}
+\setrawglyph{p}{lscyb}{10pt}{112}{696}{554}{193}{0}
+\setrawglyph{q}{lscyb}{10pt}{113}{696}{554}{193}{0}
+\setrawglyph{r}{lscyb}{10pt}{114}{500}{554}{0}{0}
+\setrawglyph{s}{lscyb}{10pt}{115}{622}{554}{12}{0}
+\setrawglyph{t}{lscyb}{10pt}{116}{436}{651}{12}{0}
+\setrawglyph{u}{lscyb}{10pt}{117}{693}{542}{12}{0}
+\setrawglyph{v}{lscyb}{10pt}{118}{663}{542}{0}{0}
+\setrawglyph{w}{lscyb}{10pt}{119}{886}{542}{0}{0}
+\setrawglyph{x}{lscyb}{10pt}{120}{568}{542}{0}{0}
+\setrawglyph{y}{lscyb}{10pt}{121}{645}{542}{193}{0}
+\setrawglyph{z}{lscyb}{10pt}{122}{608}{542}{0}{0}
+\setrawglyph{braceleft}{lscyb}{10pt}{123}{386}{771}{145}{0}
+\setrawglyph{bar}{lscyb}{10pt}{124}{265}{771}{145}{0}
+\setrawglyph{braceright}{lscyb}{10pt}{125}{386}{771}{145}{0}
+\setrawglyph{asciitilde}{lscyb}{10pt}{126}{687}{392}{-181}{0}
+\setrawglyph{nbspace}{lscyb}{10pt}{160}{301}{0}{0}{0}
+\setrawglyph{afii10023}{lscyb}{10pt}{161}{645}{904}{0}{0}
+\setrawglyph{afii10051}{lscyb}{10pt}{162}{843}{723}{6}{0}
+\setrawglyph{afii10052}{lscyb}{10pt}{163}{542}{940}{0}{0}
+\setrawglyph{afii10053}{lscyb}{10pt}{164}{605}{741}{18}{0}
+\setrawglyph{afii10054}{lscyb}{10pt}{165}{594}{741}{18}{0}
+\setrawglyph{afii10055}{lscyb}{10pt}{166}{361}{723}{0}{0}
+\setrawglyph{afii10056}{lscyb}{10pt}{167}{361}{904}{0}{0}
+\setrawglyph{afii10057}{lscyb}{10pt}{168}{495}{723}{181}{0}
+\setrawglyph{afii10058}{lscyb}{10pt}{169}{1030}{723}{0}{0}
+\setrawglyph{afii10059}{lscyb}{10pt}{170}{1093}{723}{0}{0}
+\setrawglyph{afii10060}{lscyb}{10pt}{171}{843}{723}{0}{0}
+\setrawglyph{afii10061}{lscyb}{10pt}{172}{679}{940}{0}{0}
+\setrawglyph{afii10050}{lscyb}{10pt}{173}{585}{867}{0}{0}
+\setrawglyph{afii10062}{lscyb}{10pt}{174}{722}{928}{0}{0}
+\setrawglyph{afii10145}{lscyb}{10pt}{175}{813}{723}{145}{0}
+\setrawglyph{afii10017}{lscyb}{10pt}{176}{773}{723}{0}{0}
+\setrawglyph{afii10018}{lscyb}{10pt}{177}{654}{723}{0}{0}
+\setrawglyph{afii10019}{lscyb}{10pt}{178}{669}{723}{0}{0}
+\setrawglyph{afii10020}{lscyb}{10pt}{179}{542}{723}{0}{0}
+\setrawglyph{afii10021}{lscyb}{10pt}{180}{852}{723}{145}{0}
+\setrawglyph{afii10022}{lscyb}{10pt}{181}{645}{723}{0}{0}
+\setrawglyph{afii10024}{lscyb}{10pt}{182}{985}{723}{0}{0}
+\setrawglyph{afii10025}{lscyb}{10pt}{183}{590}{741}{18}{0}
+\setrawglyph{afii10026}{lscyb}{10pt}{184}{819}{723}{0}{0}
+\setrawglyph{afii10027}{lscyb}{10pt}{185}{819}{928}{0}{0}
+\setrawglyph{afii10028}{lscyb}{10pt}{186}{679}{723}{0}{0}
+\setrawglyph{afii10029}{lscyb}{10pt}{187}{750}{723}{0}{0}
+\setrawglyph{afii10030}{lscyb}{10pt}{188}{940}{723}{0}{0}
+\setrawglyph{afii10031}{lscyb}{10pt}{189}{813}{723}{0}{0}
+\setrawglyph{afii10032}{lscyb}{10pt}{190}{855}{741}{18}{0}
+\setrawglyph{afii10033}{lscyb}{10pt}{191}{813}{723}{0}{0}
+\setrawglyph{afii10034}{lscyb}{10pt}{192}{657}{723}{0}{0}
+\setrawglyph{afii10035}{lscyb}{10pt}{193}{726}{741}{18}{0}
+\setrawglyph{afii10036}{lscyb}{10pt}{194}{735}{723}{0}{0}
+\setrawglyph{afii10037}{lscyb}{10pt}{195}{722}{723}{0}{0}
+\setrawglyph{afii10038}{lscyb}{10pt}{196}{813}{723}{0}{0}
+\setrawglyph{afii10039}{lscyb}{10pt}{197}{699}{723}{0}{0}
+\setrawglyph{afii10040}{lscyb}{10pt}{198}{843}{723}{145}{0}
+\setrawglyph{afii10041}{lscyb}{10pt}{199}{738}{723}{0}{0}
+\setrawglyph{afii10042}{lscyb}{10pt}{200}{1000}{723}{0}{0}
+\setrawglyph{afii10043}{lscyb}{10pt}{201}{1030}{723}{145}{0}
+\setrawglyph{afii10044}{lscyb}{10pt}{202}{753}{723}{0}{0}
+\setrawglyph{afii10045}{lscyb}{10pt}{203}{967}{723}{0}{0}
+\setrawglyph{afii10046}{lscyb}{10pt}{204}{660}{723}{0}{0}
+\setrawglyph{afii10047}{lscyb}{10pt}{205}{605}{741}{18}{0}
+\setrawglyph{afii10048}{lscyb}{10pt}{206}{1085}{741}{18}{0}
+\setrawglyph{afii10049}{lscyb}{10pt}{207}{699}{723}{0}{0}
+\setrawglyph{afii10065}{lscyb}{10pt}{208}{623}{554}{12}{0}
+\setrawglyph{afii10066}{lscyb}{10pt}{209}{672}{797}{12}{0}
+\setrawglyph{afii10067}{lscyb}{10pt}{210}{664}{542}{0}{0}
+\setrawglyph{afii10068}{lscyb}{10pt}{211}{530}{542}{0}{0}
+\setrawglyph{afii10069}{lscyb}{10pt}{212}{750}{542}{120}{0}
+\setrawglyph{afii10070}{lscyb}{10pt}{213}{614}{554}{13}{0}
+\setrawglyph{afii10072}{lscyb}{10pt}{214}{833}{542}{0}{0}
+\setrawglyph{afii10073}{lscyb}{10pt}{215}{533}{554}{12}{0}
+\setrawglyph{afii10074}{lscyb}{10pt}{216}{723}{542}{0}{0}
+\setrawglyph{afii10075}{lscyb}{10pt}{217}{723}{771}{0}{0}
+\setrawglyph{afii10076}{lscyb}{10pt}{218}{621}{542}{0}{0}
+\setrawglyph{afii10077}{lscyb}{10pt}{219}{657}{542}{0}{0}
+\setrawglyph{afii10078}{lscyb}{10pt}{220}{774}{542}{0}{0}
+\setrawglyph{afii10079}{lscyb}{10pt}{221}{699}{542}{0}{0}
+\setrawglyph{afii10080}{lscyb}{10pt}{222}{675}{554}{12}{0}
+\setrawglyph{afii10081}{lscyb}{10pt}{223}{699}{542}{0}{0}
+\setrawglyph{afii10082}{lscyb}{10pt}{224}{696}{554}{193}{0}
+\setrawglyph{afii10083}{lscyb}{10pt}{225}{551}{554}{12}{0}
+\setrawglyph{afii10084}{lscyb}{10pt}{226}{494}{542}{0}{0}
+\setrawglyph{afii10085}{lscyb}{10pt}{227}{638}{542}{193}{0}
+\setrawglyph{afii10086}{lscyb}{10pt}{228}{928}{723}{193}{0}
+\setrawglyph{afii10087}{lscyb}{10pt}{229}{568}{542}{0}{0}
+\setrawglyph{afii10088}{lscyb}{10pt}{230}{729}{542}{120}{0}
+\setrawglyph{afii10089}{lscyb}{10pt}{231}{654}{542}{0}{0}
+\setrawglyph{afii10090}{lscyb}{10pt}{232}{988}{542}{0}{0}
+\setrawglyph{afii10091}{lscyb}{10pt}{233}{1018}{542}{120}{0}
+\setrawglyph{afii10092}{lscyb}{10pt}{234}{642}{542}{0}{0}
+\setrawglyph{afii10093}{lscyb}{10pt}{235}{907}{542}{0}{0}
+\setrawglyph{afii10094}{lscyb}{10pt}{236}{611}{542}{0}{0}
+\setrawglyph{afii10095}{lscyb}{10pt}{237}{575}{554}{12}{0}
+\setrawglyph{afii10096}{lscyb}{10pt}{238}{940}{554}{12}{0}
+\setrawglyph{afii10097}{lscyb}{10pt}{239}{625}{542}{0}{0}
+\setrawglyph{afii61352}{lscyb}{10pt}{240}{1167}{723}{0}{0}
+\setrawglyph{afii10071}{lscyb}{10pt}{241}{614}{747}{13}{0}
+\setrawglyph{afii10099}{lscyb}{10pt}{242}{693}{771}{205}{0}
+\setrawglyph{afii10100}{lscyb}{10pt}{243}{530}{783}{0}{0}
+\setrawglyph{afii10101}{lscyb}{10pt}{244}{575}{554}{12}{0}
+\setrawglyph{afii10102}{lscyb}{10pt}{245}{622}{554}{12}{0}
+\setrawglyph{afii10103}{lscyb}{10pt}{246}{361}{771}{0}{0}
+\setrawglyph{afii10104}{lscyb}{10pt}{247}{361}{747}{0}{0}
+\setrawglyph{afii10105}{lscyb}{10pt}{248}{361}{771}{205}{0}
+\setrawglyph{afii10106}{lscyb}{10pt}{249}{925}{542}{0}{0}
+\setrawglyph{afii10107}{lscyb}{10pt}{250}{925}{542}{0}{0}
+\setrawglyph{afii10108}{lscyb}{10pt}{251}{693}{771}{0}{0}
+\setrawglyph{afii10109}{lscyb}{10pt}{252}{609}{783}{0}{0}
+\setrawglyph{afii10098}{lscyb}{10pt}{253}{572}{663}{0}{0}
+\setrawglyph{afii10110}{lscyb}{10pt}{254}{638}{771}{193}{0}
+\setrawglyph{afii10193}{lscyb}{10pt}{255}{699}{542}{120}{0}
+\setnotglyph{currency}{lscyb}{10pt}{-1}{687}{685}{-38}{0}
+\setnotglyph{section}{lscyb}{10pt}{-1}{687}{741}{163}{0}
+\setnotglyph{paragraph}{lscyb}{10pt}{-1}{687}{723}{145}{0}
+\setnotglyph{quotesingle}{lscyb}{10pt}{-1}{265}{771}{-434}{0}
+\setnotglyph{quotesinglbase}{lscyb}{10pt}{-1}{265}{193}{145}{0}
+\setnotglyph{quotedblbase}{lscyb}{10pt}{-1}{530}{193}{145}{0}
+\setnotglyph{quotedblleft}{lscyb}{10pt}{-1}{530}{771}{-434}{0}
+\setnotglyph{quotedblright}{lscyb}{10pt}{-1}{530}{771}{-434}{0}
+\setnotglyph{guilsinglleft}{lscyb}{10pt}{-1}{361}{488}{-54}{0}
+\setnotglyph{guilsinglright}{lscyb}{10pt}{-1}{361}{488}{-54}{0}
+\setnotglyph{guillemotright}{lscyb}{10pt}{-1}{614}{488}{-54}{0}
+\setnotglyph{guillemotleft}{lscyb}{10pt}{-1}{614}{488}{-54}{0}
+\setnotglyph{dagger}{lscyb}{10pt}{-1}{760}{800}{160}{0}
+\setnotglyph{daggerdbl}{lscyb}{10pt}{-1}{687}{723}{145}{0}
+\setnotglyph{periodcentered}{lscyb}{10pt}{-1}{687}{361}{-217}{0}
+\setnotglyph{bullet}{lscyb}{10pt}{-1}{687}{482}{-96}{0}
+\setnotglyph{ellipsis}{lscyb}{10pt}{-1}{1000}{120}{0}{0}
+\setnotglyph{perthousand}{lscyb}{10pt}{-1}{1313}{741}{18}{0}
+\setnotglyph{endash}{lscyb}{10pt}{-1}{500}{355}{-259}{0}
+\setnotglyph{emdash}{lscyb}{10pt}{-1}{1000}{331}{-259}{0}
+\setnotglyph{registered}{lscyb}{10pt}{-1}{687}{741}{-223}{0}
+\setnotglyph{trademark}{lscyb}{10pt}{-1}{901}{723}{-361}{0}
+\setnotglyph{copyright}{lscyb}{10pt}{-1}{825}{741}{18}{0}
+\setnotglyph{brokenbar}{lscyb}{10pt}{-1}{265}{771}{145}{0}
+\setnotglyph{sfthyphen}{lscyb}{10pt}{-1}{289}{367}{-259}{0}
+\setnotglyph{logicalnot}{lscyb}{10pt}{-1}{687}{452}{-114}{0}
+\setnotglyph{degree}{lscyb}{10pt}{-1}{289}{741}{-524}{0}
+\setnotglyph{plusminus}{lscyb}{10pt}{-1}{687}{578}{0}{0}
+\setnotglyph{mu}{lscyb}{10pt}{-1}{699}{542}{145}{0}
+\setnotglyph{minus}{lscyb}{10pt}{-1}{687}{343}{-235}{0}
+\setnotglyph{dotlessi}{lscyb}{10pt}{-1}{361}{542}{0}{0}
+\setnotglyph{grave}{lscyb}{10pt}{-1}{675}{783}{-626}{0}
+\setnotglyph{acute}{lscyb}{10pt}{-1}{675}{783}{-626}{0}
+\setnotglyph{circumflex}{lscyb}{10pt}{-1}{675}{783}{-626}{0}
+\setnotglyph{tilde}{lscyb}{10pt}{-1}{675}{783}{-626}{0}
+\setnotglyph{macron}{lscyb}{10pt}{-1}{675}{735}{-627}{0}
+\setnotglyph{breve}{lscyb}{10pt}{-1}{675}{771}{-627}{0}
+\setnotglyph{dotaccent}{lscyb}{10pt}{-1}{675}{771}{-626}{0}
+\setnotglyph{dieresis}{lscyb}{10pt}{-1}{675}{747}{-627}{0}
+\setnotglyph{ring}{lscyb}{10pt}{-1}{675}{848}{-626}{0}
+\setnotglyph{cedilla}{lscyb}{10pt}{-1}{675}{0}{211}{0}
+\setnotglyph{hungarumlaut}{lscyb}{10pt}{-1}{675}{783}{-626}{0}
+\setnotglyph{ogonek}{lscyb}{10pt}{-1}{675}{0}{181}{0}
+\setnotglyph{caron}{lscyb}{10pt}{-1}{675}{783}{-626}{0}
+
+\endmetrics
diff --git a/fonts/cyrillic/ot2cyr/lscyb.tfm b/fonts/cyrillic/ot2cyr/lscyb.tfm
new file mode 100644
index 0000000000..f0bcd905e9
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscyb.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/lscybo.afm b/fonts/cyrillic/ot2cyr/lscybo.afm
new file mode 100644
index 0000000000..91322da742
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscybo.afm
@@ -0,0 +1,260 @@
+StartFontMetrics 2.0
+Comment CreationDate: 94/May/12
+Comment Lucida is a registered trademark of Bigelow & Holmes Inc.
+Comment UniqueID 5054465
+FontName LucidaSansCyr-BoldObl
+FullName Lucida Sans Cyr Bold Obl
+FamilyName LucidaSansCyr
+Weight Bold
+ItalicAngle -11.3
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 1.002
+Notice (c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.
+Notice (c) 1993 Y&Y Inc. All rights reserved.
+EncodingScheme FontSpecific
+FontBBox -137 -211 1354 940
+CapHeight 723
+XHeight 542
+Descender -193
+Ascender 771
+EncodingScheme FontSpecific
+StartCharMetrics 235
+C 32 ; WX 301 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 343 ; N exclam ; B 75 0 413 723 ;
+C 34 ; WX 530 ; N quotedbl ; B 165 434 654 771 ;
+C 35 ; WX 687 ; N numbersign ; B 71 0 761 723 ;
+C 36 ; WX 687 ; N dollar ; B 100 -96 697 819 ;
+C 37 ; WX 898 ; N percent ; B 101 -18 940 741 ;
+C 38 ; WX 792 ; N ampersand ; B 47 -18 846 741 ;
+C 39 ; WX 265 ; N quoteright ; B 123 434 356 771 ;
+C 40 ; WX 386 ; N parenleft ; B 75 -157 464 783 ;
+C 41 ; WX 386 ; N parenright ; B 23 -157 435 783 ;
+C 42 ; WX 464 ; N asterisk ; B 143 352 533 723 ;
+C 43 ; WX 687 ; N plus ; B 101 0 702 578 ;
+C 44 ; WX 343 ; N comma ; B 46 -145 279 193 ;
+C 45 ; WX 289 ; N hyphen ; B 88 259 326 367 ;
+C 46 ; WX 343 ; N period ; B 75 0 268 193 ;
+C 47 ; WX 596 ; N slash ; B -23 -145 604 771 ;
+C 48 ; WX 687 ; N zero ; B 36 -18 747 741 ;
+C 49 ; WX 687 ; N one ; B 259 0 452 735 ;
+C 50 ; WX 687 ; N two ; B 60 0 731 741 ;
+C 51 ; WX 687 ; N three ; B 96 -18 730 741 ;
+C 52 ; WX 687 ; N four ; B 78 0 699 723 ;
+C 53 ; WX 687 ; N five ; B 129 -18 749 723 ;
+C 54 ; WX 687 ; N six ; B 83 -18 715 741 ;
+C 55 ; WX 687 ; N seven ; B 155 0 799 723 ;
+C 56 ; WX 687 ; N eight ; B 65 -18 733 741 ;
+C 57 ; WX 687 ; N nine ; B 91 -18 749 741 ;
+C 58 ; WX 343 ; N colon ; B 75 0 376 542 ;
+C 59 ; WX 343 ; N semicolon ; B 46 -145 376 542 ;
+C 60 ; WX 687 ; N less ; B 112 0 749 578 ;
+C 61 ; WX 687 ; N equal ; B 77 114 723 452 ;
+C 62 ; WX 687 ; N greater ; B 54 0 691 578 ;
+C 63 ; WX 572 ; N question ; B 151 0 672 741 ;
+C 64 ; WX 833 ; N at ; B 76 -18 935 741 ;
+C 65 ; WX 773 ; N A ; B 12 0 759 723 ;
+C 66 ; WX 669 ; N B ; B 84 0 718 723 ;
+C 67 ; WX 726 ; N C ; B 83 -18 830 741 ;
+C 68 ; WX 819 ; N D ; B 84 0 879 723 ;
+C 69 ; WX 645 ; N E ; B 84 0 723 723 ;
+C 70 ; WX 602 ; N F ; B 84 0 729 723 ;
+C 71 ; WX 759 ; N G ; B 83 -18 831 741 ;
+C 72 ; WX 813 ; N H ; B 84 0 874 723 ;
+C 73 ; WX 361 ; N I ; B 84 0 277 723 ;
+C 74 ; WX 501 ; N J ; B -12 -145 441 723 ;
+C 75 ; WX 753 ; N K ; B 84 0 828 723 ;
+C 76 ; WX 620 ; N L ; B 84 0 602 723 ;
+C 77 ; WX 940 ; N M ; B 84 0 1000 723 ;
+C 78 ; WX 783 ; N N ; B 84 0 844 723 ;
+C 79 ; WX 855 ; N O ; B 62 -18 938 741 ;
+C 80 ; WX 657 ; N P ; B 84 0 743 723 ;
+C 81 ; WX 855 ; N Q ; B 61 -151 938 741 ;
+C 82 ; WX 734 ; N R ; B 84 0 745 723 ;
+C 83 ; WX 594 ; N S ; B 48 -18 658 741 ;
+C 84 ; WX 735 ; N T ; B 129 0 871 723 ;
+C 85 ; WX 783 ; N U ; B 118 -18 757 723 ;
+C 86 ; WX 735 ; N V ; B 154 0 737 723 ;
+C 87 ; WX 940 ; N W ; B 160 0 949 723 ;
+C 88 ; WX 699 ; N X ; B 36 0 818 723 ;
+C 89 ; WX 738 ; N Y ; B 172 0 716 723 ;
+C 90 ; WX 675 ; N Z ; B 54 0 753 723 ;
+C 91 ; WX 386 ; N bracketleft ; B 43 -145 485 771 ;
+C 92 ; WX 596 ; N backslash ; B 147 -145 561 771 ;
+C 93 ; WX 386 ; N bracketright ; B 25 -145 467 771 ;
+C 94 ; WX 687 ; N asciicircum ; B 83 145 662 723 ;
+C 95 ; WX 500 ; N underscore ; B 8 -108 470 0 ;
+C 96 ; WX 265 ; N quoteleft ; B 123 434 383 771 ;
+C 97 ; WX 623 ; N a ; B 40 -12 630 554 ;
+C 98 ; WX 696 ; N b ; B 84 -12 751 771 ;
+C 99 ; WX 551 ; N c ; B 72 -12 616 554 ;
+C 100 ; WX 696 ; N d ; B 54 -12 765 771 ;
+C 101 ; WX 614 ; N e ; B 68 -13 634 554 ;
+C 102 ; WX 461 ; N f ; B 96 0 625 783 ;
+C 103 ; WX 696 ; N g ; B 58 -205 719 554 ;
+C 104 ; WX 693 ; N h ; B 84 0 703 771 ;
+C 105 ; WX 361 ; N i ; B 84 0 431 771 ;
+C 106 ; WX 361 ; N j ; B -137 -205 431 771 ;
+C 107 ; WX 681 ; N k ; B 84 0 702 771 ;
+C 108 ; WX 361 ; N l ; B 84 0 277 771 ;
+C 109 ; WX 1006 ; N m ; B 84 0 1028 555 ;
+C 110 ; WX 693 ; N n ; B 84 0 703 554 ;
+C 111 ; WX 675 ; N o ; B 55 -12 729 554 ;
+C 112 ; WX 696 ; N p ; B 45 -193 751 554 ;
+C 113 ; WX 696 ; N q ; B 54 -193 719 554 ;
+C 114 ; WX 500 ; N r ; B 84 0 586 554 ;
+C 115 ; WX 622 ; N s ; B 79 -12 625 554 ;
+C 116 ; WX 436 ; N t ; B 113 -12 498 651 ;
+C 117 ; WX 693 ; N u ; B 98 -12 716 542 ;
+C 118 ; WX 663 ; N v ; B 132 0 639 542 ;
+C 119 ; WX 886 ; N w ; B 140 0 858 542 ;
+C 120 ; WX 568 ; N x ; B 25 0 651 542 ;
+C 121 ; WX 645 ; N y ; B 42 -193 633 542 ;
+C 122 ; WX 608 ; N z ; B 60 0 662 542 ;
+C 123 ; WX 386 ; N braceleft ; B 84 -145 488 771 ;
+C 124 ; WX 265 ; N bar ; B 43 -145 347 771 ;
+C 125 ; WX 386 ; N braceright ; B 22 -145 427 771 ;
+C 126 ; WX 687 ; N asciitilde ; B 93 181 709 392 ;
+C 160 ; WX 301 ; N nbspace ; B 0 0 0 0 ;
+C 161 ; WX 645 ; N afii10023 ; B 84 0 723 904 ;
+C 162 ; WX 843 ; N afii10051 ; B 126 -6 885 723 ;
+C 163 ; WX 542 ; N afii10052 ; B 84 0 715 940 ;
+C 164 ; WX 605 ; N afii10053 ; B 85 -18 703 741 ;
+C 165 ; WX 594 ; N afii10054 ; B 48 -18 658 741 ;
+C 166 ; WX 361 ; N afii10055 ; B 84 0 277 723 ;
+C 167 ; WX 361 ; N afii10056 ; B 84 0 524 904 ;
+C 168 ; WX 495 ; N afii10057 ; B -25 -181 428 723 ;
+C 169 ; WX 1030 ; N afii10058 ; B 6 0 1057 723 ;
+C 170 ; WX 1093 ; N afii10059 ; B 84 0 1120 723 ;
+C 171 ; WX 843 ; N afii10060 ; B 126 0 832 723 ;
+C 172 ; WX 679 ; N afii10061 ; B 84 0 755 940 ;
+C 173 ; WX 585 ; N afii10050 ; B 84 0 752 867 ;
+C 174 ; WX 722 ; N afii10062 ; B 73 0 749 928 ;
+C 175 ; WX 813 ; N afii10145 ; B 84 -145 874 723 ;
+C 176 ; WX 773 ; N afii10017 ; B 12 0 759 723 ;
+C 177 ; WX 654 ; N afii10018 ; B 84 0 686 723 ;
+C 178 ; WX 669 ; N afii10019 ; B 84 0 718 723 ;
+C 179 ; WX 542 ; N afii10020 ; B 84 0 681 723 ;
+C 180 ; WX 852 ; N afii10021 ; B -5 -145 880 723 ;
+C 181 ; WX 645 ; N afii10022 ; B 84 0 723 723 ;
+C 182 ; WX 985 ; N afii10024 ; B 12 0 1073 723 ;
+C 183 ; WX 590 ; N afii10025 ; B 31 -18 652 741 ;
+C 184 ; WX 819 ; N afii10026 ; B 84 0 880 723 ;
+C 185 ; WX 819 ; N afii10027 ; B 84 0 880 928 ;
+C 186 ; WX 679 ; N afii10028 ; B 84 0 755 723 ;
+C 187 ; WX 750 ; N afii10029 ; B 6 0 811 723 ;
+C 188 ; WX 940 ; N afii10030 ; B 84 0 1000 723 ;
+C 189 ; WX 813 ; N afii10031 ; B 84 0 874 723 ;
+C 190 ; WX 855 ; N afii10032 ; B 62 -18 938 741 ;
+C 191 ; WX 813 ; N afii10033 ; B 84 0 874 723 ;
+C 192 ; WX 657 ; N afii10034 ; B 84 0 743 723 ;
+C 193 ; WX 726 ; N afii10035 ; B 83 -18 830 741 ;
+C 194 ; WX 735 ; N afii10036 ; B 129 0 871 723 ;
+C 195 ; WX 722 ; N afii10037 ; B 73 0 725 723 ;
+C 196 ; WX 813 ; N afii10038 ; B 72 0 885 723 ;
+C 197 ; WX 699 ; N afii10039 ; B 36 0 818 723 ;
+C 198 ; WX 843 ; N afii10040 ; B 84 -145 874 723 ;
+C 199 ; WX 738 ; N afii10041 ; B 144 0 654 723 ;
+C 200 ; WX 1000 ; N afii10042 ; B 84 0 916 723 ;
+C 201 ; WX 1030 ; N afii10043 ; B 84 -145 1061 723 ;
+C 202 ; WX 753 ; N afii10044 ; B 126 0 780 723 ;
+C 203 ; WX 967 ; N afii10045 ; B 84 0 1028 723 ;
+C 204 ; WX 660 ; N afii10046 ; B 84 0 686 723 ;
+C 205 ; WX 605 ; N afii10047 ; B 38 -18 668 741 ;
+C 206 ; WX 1085 ; N afii10048 ; B 84 -18 1145 741 ;
+C 207 ; WX 699 ; N afii10049 ; B 6 0 614 723 ;
+C 208 ; WX 623 ; N afii10065 ; B 40 -12 630 554 ;
+C 209 ; WX 672 ; N afii10066 ; B 95 -12 705 797 ;
+C 210 ; WX 664 ; N afii10067 ; B 84 0 685 542 ;
+C 211 ; WX 530 ; N afii10068 ; B 84 0 626 542 ;
+C 212 ; WX 750 ; N afii10069 ; B -12 -120 748 542 ;
+C 213 ; WX 614 ; N afii10070 ; B 68 -13 634 554 ;
+C 214 ; WX 833 ; N afii10072 ; B 3 0 893 542 ;
+C 215 ; WX 533 ; N afii10073 ; B 38 -12 569 554 ;
+C 216 ; WX 723 ; N afii10074 ; B 84 0 747 542 ;
+C 217 ; WX 723 ; N afii10075 ; B 84 0 747 771 ;
+C 218 ; WX 621 ; N afii10076 ; B 84 0 676 542 ;
+C 219 ; WX 657 ; N afii10077 ; B 12 0 572 542 ;
+C 220 ; WX 774 ; N afii10078 ; B 84 0 798 542 ;
+C 221 ; WX 699 ; N afii10079 ; B 84 0 722 542 ;
+C 222 ; WX 675 ; N afii10080 ; B 55 -12 729 554 ;
+C 223 ; WX 699 ; N afii10081 ; B 84 0 722 542 ;
+C 224 ; WX 696 ; N afii10082 ; B 45 -193 751 554 ;
+C 225 ; WX 551 ; N afii10083 ; B 72 -12 616 554 ;
+C 226 ; WX 494 ; N afii10084 ; B 93 0 596 542 ;
+C 227 ; WX 638 ; N afii10085 ; B 29 -193 632 542 ;
+C 228 ; WX 928 ; N afii10086 ; B 72 -193 974 723 ;
+C 229 ; WX 568 ; N afii10087 ; B 25 0 651 542 ;
+C 230 ; WX 729 ; N afii10088 ; B 84 -120 722 542 ;
+C 231 ; WX 654 ; N afii10089 ; B 120 0 569 542 ;
+C 232 ; WX 988 ; N afii10090 ; B 84 0 904 542 ;
+C 233 ; WX 1018 ; N afii10091 ; B 84 -120 1012 542 ;
+C 234 ; WX 642 ; N afii10092 ; B 93 0 658 542 ;
+C 235 ; WX 907 ; N afii10093 ; B 84 0 930 542 ;
+C 236 ; WX 611 ; N afii10094 ; B 84 0 634 542 ;
+C 237 ; WX 575 ; N afii10095 ; B 33 -12 613 554 ;
+C 238 ; WX 940 ; N afii10096 ; B 84 -12 996 554 ;
+C 239 ; WX 625 ; N afii10097 ; B 12 0 541 542 ;
+C 240 ; WX 1167 ; N afii61352 ; B 6 0 1251 723 ;
+C 241 ; WX 614 ; N afii10071 ; B 68 -13 634 747 ;
+C 242 ; WX 693 ; N afii10099 ; B 84 -205 683 771 ;
+C 243 ; WX 530 ; N afii10100 ; B 84 0 663 783 ;
+C 244 ; WX 575 ; N afii10101 ; B 72 -12 632 554 ;
+C 245 ; WX 622 ; N afii10102 ; B 79 -12 625 554 ;
+C 246 ; WX 361 ; N afii10103 ; B 84 0 431 771 ;
+C 247 ; WX 361 ; N afii10104 ; B 84 0 492 747 ;
+C 248 ; WX 361 ; N afii10105 ; B -137 -205 431 771 ;
+C 249 ; WX 925 ; N afii10106 ; B 12 0 942 542 ;
+C 250 ; WX 925 ; N afii10107 ; B 84 0 942 542 ;
+C 251 ; WX 693 ; N afii10108 ; B 84 0 683 771 ;
+C 252 ; WX 609 ; N afii10109 ; B 84 0 696 783 ;
+C 253 ; WX 572 ; N afii10098 ; B 84 0 699 663 ;
+C 254 ; WX 638 ; N afii10110 ; B 29 -193 676 771 ;
+C 255 ; WX 699 ; N afii10193 ; B 84 -120 722 542 ;
+C -1 ; WX 289 ; N sfthyphen ; B 88 259 326 367 ;
+C -1 ; WX 687 ; N registered ; B 152 223 727 741 ;
+C -1 ; WX 687 ; N plusminus ; B 54 0 717 578 ;
+C -1 ; WX 825 ; N copyright ; B 64 -18 906 741 ;
+C -1 ; WX 687 ; N logicalnot ; B 123 114 723 452 ;
+C -1 ; WX 901 ; N trademark ; B 155 361 1021 723 ;
+C -1 ; WX 289 ; N degree ; B 144 524 392 741 ;
+C -1 ; WX 699 ; N mu ; B 55 -145 722 542 ;
+C -1 ; WX 687 ; N section ; B 76 -163 701 741 ;
+C -1 ; WX 687 ; N currency ; B 43 38 789 685 ;
+C -1 ; WX 265 ; N quotesingle ; B 165 434 274 771 ;
+C -1 ; WX 530 ; N quotedblleft ; B 123 434 648 771 ;
+C -1 ; WX 614 ; N guillemotleft ; B 84 54 668 488 ;
+C -1 ; WX 361 ; N guilsinglleft ; B 84 54 415 488 ;
+C -1 ; WX 361 ; N guilsinglright ; B 54 54 331 488 ;
+C -1 ; WX 500 ; N endash ; B 85 259 538 355 ;
+C -1 ; WX 760 ; N dagger ; B 173 -160 779 800 ;
+C -1 ; WX 687 ; N daggerdbl ; B 98 -145 703 723 ;
+C -1 ; WX 687 ; N periodcentered ; B 314 217 488 361 ;
+C -1 ; WX 687 ; N paragraph ; B 180 -145 651 723 ;
+C -1 ; WX 687 ; N bullet ; B 170 96 555 482 ;
+C -1 ; WX 265 ; N quotesinglbase ; B 7 -145 240 193 ;
+C -1 ; WX 530 ; N quotedblbase ; B 7 -145 533 193 ;
+C -1 ; WX 530 ; N quotedblright ; B 123 434 648 771 ;
+C -1 ; WX 614 ; N guillemotright ; B 54 54 638 488 ;
+C -1 ; WX 1000 ; N ellipsis ; B 108 0 916 120 ;
+C -1 ; WX 1313 ; N perthousand ; B 101 -18 1354 741 ;
+C -1 ; WX 675 ; N grave ; B 319 626 562 783 ;
+C -1 ; WX 675 ; N acute ; B 363 626 512 783 ;
+C -1 ; WX 675 ; N circumflex ; B 282 626 643 783 ;
+C -1 ; WX 675 ; N tilde ; B 258 626 699 783 ;
+C -1 ; WX 675 ; N macron ; B 300 627 647 735 ;
+C -1 ; WX 675 ; N breve ; B 311 627 672 771 ;
+C -1 ; WX 675 ; N dotaccent ; B 390 626 564 771 ;
+C -1 ; WX 675 ; N dieresis ; B 295 627 649 747 ;
+C -1 ; WX 675 ; N ring ; B 337 626 608 848 ;
+C -1 ; WX 675 ; N cedilla ; B 207 -211 408 0 ;
+C -1 ; WX 675 ; N hungarumlaut ; B 298 626 751 783 ;
+C -1 ; WX 675 ; N ogonek ; B 206 -181 437 0 ;
+C -1 ; WX 675 ; N caron ; B 274 626 675 783 ;
+C -1 ; WX 1000 ; N emdash ; B 82 259 1036 331 ;
+C -1 ; WX 361 ; N dotlessi ; B 84 0 277 542 ;
+C -1 ; WX 265 ; N brokenbar ; B 43 -145 347 771 ;
+C -1 ; WX 687 ; N minus ; B 101 235 702 343 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/lscybo.tfm b/fonts/cyrillic/ot2cyr/lscybo.tfm
new file mode 100644
index 0000000000..fa0ece4b4b
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscybo.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/lscyo.afm b/fonts/cyrillic/ot2cyr/lscyo.afm
new file mode 100644
index 0000000000..df67cb42b4
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscyo.afm
@@ -0,0 +1,259 @@
+StartFontMetrics 2.0
+Comment CreationDate: 94/May/12
+Comment Lucida is a registered trademark of Bigelow & Holmes Inc.
+Comment UniqueID 5054464
+FontName LucidaSansCyr-Obl
+FullName Lucida Sans Cyr Obl
+FamilyName LucidaSansCyr
+Weight Normal
+ItalicAngle -11.3
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 1.004
+Notice (c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.
+Notice (c) 1993 Y&Y Inc. All rights reserved.
+EncodingScheme FontSpecific
+FontBBox -117 -211 1111 940
+CapHeight 723
+XHeight 530
+Descender -193
+Ascender 771
+StartCharMetrics 235
+C 32 ; WX 316 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 316 ; N exclam ; B 110 0 351 723 ;
+C 34 ; WX 373 ; N quotedbl ; B 151 530 473 771 ;
+C 35 ; WX 633 ; N numbersign ; B 50 0 726 723 ;
+C 36 ; WX 632 ; N dollar ; B 113 -60 641 783 ;
+C 37 ; WX 669 ; N percent ; B 8 -18 729 741 ;
+C 38 ; WX 697 ; N ampersand ; B 52 -18 727 741 ;
+C 39 ; WX 316 ; N quoteright ; B 197 494 351 771 ;
+C 40 ; WX 325 ; N parenleft ; B 101 -145 430 771 ;
+C 41 ; WX 325 ; N parenright ; B 20 -145 349 771 ;
+C 42 ; WX 482 ; N asterisk ; B 166 367 540 723 ;
+C 43 ; WX 633 ; N plus ; B 102 24 646 554 ;
+C 44 ; WX 316 ; N comma ; B 67 -157 221 120 ;
+C 45 ; WX 325 ; N hyphen ; B 107 265 338 337 ;
+C 46 ; WX 316 ; N period ; B 98 0 218 120 ;
+C 47 ; WX 494 ; N slash ; B -23 -145 563 771 ;
+C 48 ; WX 633 ; N zero ; B 90 -18 687 741 ;
+C 49 ; WX 633 ; N one ; B 262 0 392 729 ;
+C 50 ; WX 632 ; N two ; B 83 0 649 741 ;
+C 51 ; WX 633 ; N three ; B 103 -18 635 741 ;
+C 52 ; WX 633 ; N four ; B 92 0 620 723 ;
+C 53 ; WX 633 ; N five ; B 121 -18 644 723 ;
+C 54 ; WX 633 ; N six ; B 111 -18 649 741 ;
+C 55 ; WX 633 ; N seven ; B 151 0 717 723 ;
+C 56 ; WX 633 ; N eight ; B 98 -18 677 741 ;
+C 57 ; WX 633 ; N nine ; B 113 -18 668 741 ;
+C 58 ; WX 316 ; N colon ; B 110 0 312 530 ;
+C 59 ; WX 316 ; N semicolon ; B 79 -157 312 530 ;
+C 60 ; WX 633 ; N less ; B 109 24 692 554 ;
+C 61 ; WX 633 ; N equal ; B 85 169 663 409 ;
+C 62 ; WX 633 ; N greater ; B 56 24 639 554 ;
+C 63 ; WX 422 ; N question ; B 122 0 540 741 ;
+C 64 ; WX 858 ; N at ; B 67 -18 944 741 ;
+C 65 ; WX 690 ; N A ; B 8 0 679 723 ;
+C 66 ; WX 575 ; N B ; B 93 0 627 723 ;
+C 67 ; WX 692 ; N C ; B 98 -18 777 741 ;
+C 68 ; WX 749 ; N D ; B 93 0 796 723 ;
+C 69 ; WX 542 ; N E ; B 93 0 642 723 ;
+C 70 ; WX 536 ; N F ; B 93 0 642 723 ;
+C 71 ; WX 723 ; N G ; B 98 -18 777 741 ;
+C 72 ; WX 735 ; N H ; B 93 0 787 723 ;
+C 73 ; WX 288 ; N I ; B 93 0 238 723 ;
+C 74 ; WX 311 ; N J ; B -117 -145 264 723 ;
+C 75 ; WX 653 ; N K ; B 93 0 730 723 ;
+C 76 ; WX 533 ; N L ; B 93 0 536 723 ;
+C 77 ; WX 861 ; N M ; B 93 0 913 723 ;
+C 78 ; WX 739 ; N N ; B 93 0 791 723 ;
+C 79 ; WX 777 ; N O ; B 77 -18 844 741 ;
+C 80 ; WX 553 ; N P ; B 93 0 654 723 ;
+C 81 ; WX 777 ; N Q ; B 78 -145 844 741 ;
+C 82 ; WX 633 ; N R ; B 93 0 646 723 ;
+C 83 ; WX 539 ; N S ; B 52 -18 587 741 ;
+C 84 ; WX 632 ; N T ; B 138 0 769 723 ;
+C 85 ; WX 693 ; N U ; B 117 -18 661 723 ;
+C 86 ; WX 654 ; N V ; B 162 0 704 723 ;
+C 87 ; WX 855 ; N W ; B 146 0 999 723 ;
+C 88 ; WX 626 ; N X ; B 8 0 739 723 ;
+C 89 ; WX 623 ; N Y ; B 153 0 660 723 ;
+C 90 ; WX 605 ; N Z ; B 46 0 703 723 ;
+C 91 ; WX 325 ; N bracketleft ; B 67 -145 443 771 ;
+C 92 ; WX 494 ; N backslash ; B 160 -145 459 771 ;
+C 93 ; WX 325 ; N bracketright ; B 7 -145 383 771 ;
+C 94 ; WX 633 ; N asciicircum ; B 90 193 620 723 ;
+C 95 ; WX 500 ; N underscore ; B 28 -72 458 0 ;
+C 96 ; WX 316 ; N quoteleft ; B 197 494 372 771 ;
+C 97 ; WX 552 ; N a ; B 60 -12 539 542 ;
+C 98 ; WX 630 ; N b ; B 95 -12 664 771 ;
+C 99 ; WX 512 ; N c ; B 75 -12 548 542 ;
+C 100 ; WX 630 ; N d ; B 71 -12 687 771 ;
+C 101 ; WX 557 ; N e ; B 74 -12 577 542 ;
+C 102 ; WX 367 ; N f ; B 114 0 550 783 ;
+C 103 ; WX 623 ; N g ; B 63 -205 639 542 ;
+C 104 ; WX 620 ; N h ; B 96 0 626 771 ;
+C 105 ; WX 289 ; N i ; B 96 0 338 723 ;
+C 106 ; WX 304 ; N j ; B -111 -205 353 723 ;
+C 107 ; WX 584 ; N k ; B 96 0 627 771 ;
+C 108 ; WX 289 ; N l ; B 96 0 250 771 ;
+C 109 ; WX 934 ; N m ; B 96 0 933 542 ;
+C 110 ; WX 620 ; N n ; B 96 0 626 542 ;
+C 111 ; WX 614 ; N o ; B 73 -12 647 542 ;
+C 112 ; WX 630 ; N p ; B 57 -193 664 542 ;
+C 113 ; WX 630 ; N q ; B 71 -193 639 542 ;
+C 114 ; WX 409 ; N r ; B 96 0 497 542 ;
+C 115 ; WX 509 ; N s ; B 81 -12 498 542 ;
+C 116 ; WX 374 ; N t ; B 109 -12 441 636 ;
+C 117 ; WX 620 ; N u ; B 100 -12 630 530 ;
+C 118 ; WX 518 ; N v ; B 115 0 528 530 ;
+C 119 ; WX 770 ; N w ; B 112 0 870 530 ;
+C 120 ; WX 613 ; N x ; B 43 0 658 530 ;
+C 121 ; WX 522 ; N y ; B 88 -193 532 530 ;
+C 122 ; WX 574 ; N z ; B 60 0 613 530 ;
+C 123 ; WX 325 ; N braceleft ; B 67 -145 413 771 ;
+C 124 ; WX 265 ; N bar ; B 67 -145 250 771 ;
+C 125 ; WX 325 ; N braceright ; B 37 -145 383 771 ;
+C 126 ; WX 633 ; N asciitilde ; B 94 199 653 377 ;
+C 160 ; WX 316 ; N nbspace ; B 0 0 0 0 ;
+C 161 ; WX 542 ; N afii10023 ; B 93 0 642 867 ;
+C 162 ; WX 795 ; N afii10051 ; B 135 -6 833 723 ;
+C 163 ; WX 509 ; N afii10052 ; B 93 0 642 940 ;
+C 164 ; WX 602 ; N afii10053 ; B 76 -18 694 741 ;
+C 165 ; WX 539 ; N afii10054 ; B 52 -18 587 741 ;
+C 166 ; WX 289 ; N afii10055 ; B 93 0 238 723 ;
+C 167 ; WX 289 ; N afii10056 ; B 93 0 456 867 ;
+C 168 ; WX 311 ; N afii10057 ; B -117 -145 264 723 ;
+C 169 ; WX 982 ; N afii10058 ; B 15 0 1007 723 ;
+C 170 ; WX 967 ; N afii10059 ; B 93 0 992 723 ;
+C 171 ; WX 762 ; N afii10060 ; B 138 0 789 723 ;
+C 172 ; WX 593 ; N afii10061 ; B 93 0 678 940 ;
+C 173 ; WX 509 ; N afii10050 ; B 93 0 670 867 ;
+C 174 ; WX 642 ; N afii10062 ; B 67 0 700 928 ;
+C 175 ; WX 735 ; N afii10145 ; B 93 -145 787 723 ;
+C 176 ; WX 690 ; N afii10017 ; B 8 0 679 723 ;
+C 177 ; WX 581 ; N afii10018 ; B 93 0 642 723 ;
+C 178 ; WX 575 ; N afii10019 ; B 93 0 627 723 ;
+C 179 ; WX 509 ; N afii10020 ; B 93 0 642 723 ;
+C 180 ; WX 762 ; N afii10021 ; B 7 -145 778 723 ;
+C 181 ; WX 542 ; N afii10022 ; B 93 0 642 723 ;
+C 182 ; WX 817 ; N afii10024 ; B 27 0 906 723 ;
+C 183 ; WX 540 ; N afii10025 ; B 34 -18 602 741 ;
+C 184 ; WX 741 ; N afii10026 ; B 93 0 793 723 ;
+C 185 ; WX 741 ; N afii10027 ; B 93 0 793 928 ;
+C 186 ; WX 593 ; N afii10028 ; B 93 0 678 723 ;
+C 187 ; WX 702 ; N afii10029 ; B 15 0 753 723 ;
+C 188 ; WX 861 ; N afii10030 ; B 93 0 913 723 ;
+C 189 ; WX 735 ; N afii10031 ; B 93 0 787 723 ;
+C 190 ; WX 777 ; N afii10032 ; B 77 -18 844 741 ;
+C 191 ; WX 735 ; N afii10033 ; B 93 0 787 723 ;
+C 192 ; WX 553 ; N afii10034 ; B 93 0 654 723 ;
+C 193 ; WX 692 ; N afii10035 ; B 98 -18 777 741 ;
+C 194 ; WX 632 ; N afii10036 ; B 138 0 769 723 ;
+C 195 ; WX 642 ; N afii10037 ; B 67 0 700 723 ;
+C 196 ; WX 693 ; N afii10038 ; B 75 0 764 723 ;
+C 197 ; WX 626 ; N afii10039 ; B 8 0 739 723 ;
+C 198 ; WX 769 ; N afii10040 ; B 93 -145 787 723 ;
+C 199 ; WX 630 ; N afii10041 ; B 118 0 579 723 ;
+C 200 ; WX 952 ; N afii10042 ; B 93 0 901 723 ;
+C 201 ; WX 985 ; N afii10043 ; B 93 -145 1003 723 ;
+C 202 ; WX 678 ; N afii10044 ; B 138 0 703 723 ;
+C 203 ; WX 804 ; N afii10045 ; B 93 0 856 723 ;
+C 204 ; WX 569 ; N afii10046 ; B 93 0 594 723 ;
+C 205 ; WX 602 ; N afii10047 ; B 44 -18 645 741 ;
+C 206 ; WX 966 ; N afii10048 ; B 93 -18 1030 741 ;
+C 207 ; WX 620 ; N afii10049 ; B 12 0 554 723 ;
+C 208 ; WX 552 ; N afii10065 ; B 60 -12 539 542 ;
+C 209 ; WX 596 ; N afii10066 ; B 75 -12 647 797 ;
+C 210 ; WX 525 ; N afii10067 ; B 96 0 538 530 ;
+C 211 ; WX 494 ; N afii10068 ; B 96 0 588 530 ;
+C 212 ; WX 672 ; N afii10069 ; B 12 -120 647 530 ;
+C 213 ; WX 557 ; N afii10070 ; B 74 -12 577 542 ;
+C 214 ; WX 728 ; N afii10072 ; B 24 0 765 530 ;
+C 215 ; WX 480 ; N afii10073 ; B 44 -12 508 542 ;
+C 216 ; WX 627 ; N afii10074 ; B 96 0 636 530 ;
+C 217 ; WX 627 ; N afii10075 ; B 96 0 649 771 ;
+C 218 ; WX 537 ; N afii10076 ; B 96 0 570 530 ;
+C 219 ; WX 587 ; N afii10077 ; B 18 0 597 530 ;
+C 220 ; WX 726 ; N afii10078 ; B 96 0 736 530 ;
+C 221 ; WX 627 ; N afii10079 ; B 96 0 636 530 ;
+C 222 ; WX 614 ; N afii10080 ; B 73 -12 647 542 ;
+C 223 ; WX 627 ; N afii10081 ; B 96 0 636 530 ;
+C 224 ; WX 630 ; N afii10082 ; B 57 -193 664 542 ;
+C 225 ; WX 512 ; N afii10083 ; B 75 -12 548 542 ;
+C 226 ; WX 494 ; N afii10084 ; B 95 0 594 530 ;
+C 227 ; WX 526 ; N afii10085 ; B 1 -193 526 530 ;
+C 228 ; WX 807 ; N afii10086 ; B 81 -193 831 723 ;
+C 229 ; WX 613 ; N afii10087 ; B 43 0 658 530 ;
+C 230 ; WX 669 ; N afii10088 ; B 96 -120 644 530 ;
+C 231 ; WX 524 ; N afii10089 ; B 102 0 437 530 ;
+C 232 ; WX 843 ; N afii10090 ; B 96 0 757 530 ;
+C 233 ; WX 886 ; N afii10091 ; B 96 -120 860 530 ;
+C 234 ; WX 560 ; N afii10092 ; B 101 0 561 530 ;
+C 235 ; WX 723 ; N afii10093 ; B 96 0 733 530 ;
+C 236 ; WX 506 ; N afii10094 ; B 99 0 514 530 ;
+C 237 ; WX 509 ; N afii10095 ; B 45 -12 544 542 ;
+C 238 ; WX 814 ; N afii10096 ; B 96 -12 847 542 ;
+C 239 ; WX 510 ; N afii10097 ; B 18 0 414 530 ;
+C 240 ; WX 1051 ; N afii61352 ; B 15 0 1111 723 ;
+C 241 ; WX 557 ; N afii10071 ; B 74 -12 577 711 ;
+C 242 ; WX 620 ; N afii10099 ; B 96 -205 609 771 ;
+C 243 ; WX 494 ; N afii10100 ; B 96 0 588 783 ;
+C 244 ; WX 509 ; N afii10101 ; B 73 -12 566 542 ;
+C 245 ; WX 509 ; N afii10102 ; B 81 -12 498 542 ;
+C 246 ; WX 289 ; N afii10103 ; B 96 0 338 723 ;
+C 247 ; WX 289 ; N afii10104 ; B 96 0 425 711 ;
+C 248 ; WX 304 ; N afii10105 ; B -111 -205 353 723 ;
+C 249 ; WX 801 ; N afii10106 ; B 18 0 802 530 ;
+C 250 ; WX 840 ; N afii10107 ; B 96 0 848 530 ;
+C 251 ; WX 620 ; N afii10108 ; B 96 0 609 759 ;
+C 252 ; WX 537 ; N afii10109 ; B 96 0 591 783 ;
+C 253 ; WX 494 ; N afii10098 ; B 96 0 612 651 ;
+C 254 ; WX 526 ; N afii10110 ; B 1 -193 576 771 ;
+C 255 ; WX 627 ; N afii10193 ; B 96 -120 636 530 ;
+C -1 ; WX 325 ; N sfthyphen ; B 107 265 338 337 ;
+C -1 ; WX 277 ; N degree ; B 140 524 387 741 ;
+C -1 ; WX 633 ; N registered ; B 180 307 662 741 ;
+C -1 ; WX 855 ; N copyright ; B 78 -18 921 741 ;
+C -1 ; WX 807 ; N trademark ; B 133 361 898 723 ;
+C -1 ; WX 795 ; N plusminus ; B 108 0 764 578 ;
+C -1 ; WX 627 ; N mu ; B 57 -193 636 530 ;
+C -1 ; WX 633 ; N logicalnot ; B 118 169 663 410 ;
+C -1 ; WX 633 ; N minus ; B 102 253 646 325 ;
+C -1 ; WX 265 ; N brokenbar ; B 67 -145 323 771 ;
+C -1 ; WX 632 ; N section ; B 83 -163 655 741 ;
+C -1 ; WX 633 ; N currency ; B 75 93 702 630 ;
+C -1 ; WX 229 ; N quotesingle ; B 175 506 252 771 ;
+C -1 ; WX 373 ; N quotedblleft ; B 158 518 473 771 ;
+C -1 ; WX 524 ; N guillemotleft ; B 107 48 577 482 ;
+C -1 ; WX 331 ; N guilsinglleft ; B 107 48 343 482 ;
+C -1 ; WX 331 ; N guilsinglright ; B 53 48 277 482 ;
+C -1 ; WX 500 ; N endash ; B 104 265 514 325 ;
+C -1 ; WX 633 ; N dagger ; B 191 -145 615 723 ;
+C -1 ; WX 633 ; N daggerdbl ; B 133 -145 615 723 ;
+C -1 ; WX 632 ; N periodcentered ; B 302 229 446 349 ;
+C -1 ; WX 633 ; N paragraph ; B 194 -145 648 723 ;
+C -1 ; WX 633 ; N bullet ; B 293 214 454 358 ;
+C -1 ; WX 316 ; N quotesinglbase ; B 69 -145 221 120 ;
+C -1 ; WX 373 ; N quotedblbase ; B 23 -157 338 96 ;
+C -1 ; WX 373 ; N quotedblright ; B 151 518 473 771 ;
+C -1 ; WX 524 ; N guillemotright ; B 53 48 523 482 ;
+C -1 ; WX 1000 ; N ellipsis ; B 120 0 898 96 ;
+C -1 ; WX 1012 ; N perthousand ; B 8 -18 1064 741 ;
+C -1 ; WX 614 ; N grave ; B 262 626 505 783 ;
+C -1 ; WX 614 ; N acute ; B 360 626 509 783 ;
+C -1 ; WX 614 ; N circumflex ; B 262 626 604 783 ;
+C -1 ; WX 614 ; N tilde ; B 270 626 618 741 ;
+C -1 ; WX 614 ; N macron ; B 276 626 604 699 ;
+C -1 ; WX 614 ; N breve ; B 292 626 624 771 ;
+C -1 ; WX 614 ; N dotaccent ; B 355 626 500 723 ;
+C -1 ; WX 614 ; N dieresis ; B 253 626 588 711 ;
+C -1 ; WX 614 ; N ring ; B 307 626 578 848 ;
+C -1 ; WX 614 ; N cedilla ; B 209 -211 400 0 ;
+C -1 ; WX 614 ; N hungarumlaut ; B 319 626 734 783 ;
+C -1 ; WX 614 ; N ogonek ; B 216 -181 403 0 ;
+C -1 ; WX 614 ; N caron ; B 253 626 635 783 ;
+C -1 ; WX 1000 ; N emdash ; B 101 265 1015 313 ;
+C -1 ; WX 289 ; N dotlessi ; B 96 0 202 530 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/lscyo.tfm b/fonts/cyrillic/ot2cyr/lscyo.tfm
new file mode 100644
index 0000000000..411c11951a
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscyo.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/lscyr.afm b/fonts/cyrillic/ot2cyr/lscyr.afm
new file mode 100644
index 0000000000..8f4540dce8
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscyr.afm
@@ -0,0 +1,262 @@
+StartFontMetrics 2.0
+Comment CreationDate: 93/June/10
+Comment ModificationDate: 93/June/20
+Comment ModificationDate: 94/Feb/4
+Comment ModificationDate: 94/May/4
+Comment Lucida is a registered trademark of Bigelow & Holmes Inc.
+Comment UniqueID 5054462
+FontName LucidaSansCyr
+FullName Lucida Sans Cyr
+FamilyName LucidaSansCyr
+Weight Normal
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -100
+UnderlineThickness 50
+Version 1.004
+Notice (c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.
+Notice (c) 1993 Y&Y Inc. All rights reserved.
+EncodingScheme FontSpecific
+FontBBox -90 -211 1024 940
+CapHeight 723
+XHeight 530
+Descender -193
+Ascender 771
+StartCharMetrics 235
+C 32 ; WX 316 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 316 ; N exclam ; B 110 0 206 723 ;
+C 34 ; WX 373 ; N quotedbl ; B 54 530 319 771 ;
+C 35 ; WX 633 ; N numbersign ; B 7 0 625 723 ;
+C 36 ; WX 632 ; N dollar ; B 105 -60 515 783 ;
+C 37 ; WX 669 ; N percent ; B 6 -18 663 741 ;
+C 38 ; WX 697 ; N ampersand ; B 36 -18 655 741 ;
+C 39 ; WX 316 ; N quoteright ; B 98 494 218 771 ;
+C 40 ; WX 325 ; N parenleft ; B 60 -145 289 771 ;
+C 41 ; WX 325 ; N parenright ; B 36 -145 265 771 ;
+C 42 ; WX 482 ; N asterisk ; B 54 367 428 723 ;
+C 43 ; WX 633 ; N plus ; B 51 24 581 554 ;
+C 44 ; WX 316 ; N comma ; B 98 -157 218 120 ;
+C 45 ; WX 325 ; N hyphen ; B 54 265 271 337 ;
+C 46 ; WX 316 ; N period ; B 98 0 218 120 ;
+C 47 ; WX 494 ; N slash ; B 6 -145 488 771 ;
+C 48 ; WX 633 ; N zero ; B 63 -18 569 741 ;
+C 49 ; WX 633 ; N one ; B 148 0 358 729 ;
+C 50 ; WX 632 ; N two ; B 83 0 517 741 ;
+C 51 ; WX 633 ; N three ; B 102 -18 523 741 ;
+C 52 ; WX 633 ; N four ; B 51 0 563 723 ;
+C 53 ; WX 633 ; N five ; B 122 -18 514 723 ;
+C 54 ; WX 633 ; N six ; B 67 -18 560 741 ;
+C 55 ; WX 633 ; N seven ; B 108 0 572 723 ;
+C 56 ; WX 633 ; N eight ; B 86 -18 570 741 ;
+C 57 ; WX 633 ; N nine ; B 76 -18 567 741 ;
+C 58 ; WX 316 ; N colon ; B 110 0 206 530 ;
+C 59 ; WX 316 ; N semicolon ; B 110 -157 206 530 ;
+C 60 ; WX 633 ; N less ; B 51 24 581 554 ;
+C 61 ; WX 633 ; N equal ; B 51 169 581 409 ;
+C 62 ; WX 633 ; N greater ; B 51 24 581 554 ;
+C 63 ; WX 422 ; N question ; B 18 0 404 741 ;
+C 64 ; WX 858 ; N at ; B 45 -18 822 741 ;
+C 65 ; WX 690 ; N A ; B 8 0 679 723 ;
+C 66 ; WX 575 ; N B ; B 93 0 534 723 ;
+C 67 ; WX 692 ; N C ; B 51 -18 636 741 ;
+C 68 ; WX 749 ; N D ; B 93 0 698 723 ;
+C 69 ; WX 542 ; N E ; B 93 0 518 723 ;
+C 70 ; WX 536 ; N F ; B 93 0 497 723 ;
+C 71 ; WX 723 ; N G ; B 51 -18 636 741 ;
+C 72 ; WX 735 ; N H ; B 93 0 642 723 ;
+C 73 ; WX 288 ; N I ; B 93 0 195 723 ;
+C 74 ; WX 311 ; N J ; B -90 -145 221 723 ;
+C 75 ; WX 653 ; N K ; B 93 0 635 723 ;
+C 76 ; WX 533 ; N L ; B 93 0 521 723 ;
+C 77 ; WX 861 ; N M ; B 93 0 768 723 ;
+C 78 ; WX 739 ; N N ; B 93 0 646 723 ;
+C 79 ; WX 777 ; N O ; B 51 -18 726 741 ;
+C 80 ; WX 553 ; N P ; B 93 0 535 723 ;
+C 81 ; WX 777 ; N Q ; B 51 -145 799 741 ;
+C 82 ; WX 633 ; N R ; B 93 0 622 723 ;
+C 83 ; WX 539 ; N S ; B 49 -18 489 741 ;
+C 84 ; WX 632 ; N T ; B 9 0 624 723 ;
+C 85 ; WX 693 ; N U ; B 87 -18 606 723 ;
+C 86 ; WX 654 ; N V ; B 17 0 649 723 ;
+C 87 ; WX 855 ; N W ; B 1 0 854 723 ;
+C 88 ; WX 626 ; N X ; B 8 0 600 723 ;
+C 89 ; WX 623 ; N Y ; B 8 0 610 723 ;
+C 90 ; WX 605 ; N Z ; B 46 0 558 723 ;
+C 91 ; WX 325 ; N bracketleft ; B 96 -145 289 771 ;
+C 92 ; WX 494 ; N backslash ; B 6 -145 488 771 ;
+C 93 ; WX 325 ; N bracketright ; B 36 -145 229 771 ;
+C 94 ; WX 633 ; N asciicircum ; B 51 193 581 723 ;
+C 95 ; WX 500 ; N underscore ; B 42 -72 458 0 ;
+C 96 ; WX 316 ; N quoteleft ; B 98 494 218 771 ;
+C 97 ; WX 552 ; N a ; B 50 -12 528 542 ;
+C 98 ; WX 630 ; N b ; B 96 -12 575 771 ;
+C 99 ; WX 512 ; N c ; B 54 -12 464 542 ;
+C 100 ; WX 630 ; N d ; B 54 -12 533 771 ;
+C 101 ; WX 557 ; N e ; B 54 -12 487 542 ;
+C 102 ; WX 367 ; N f ; B 39 0 397 783 ;
+C 103 ; WX 623 ; N g ; B 54 -205 533 542 ;
+C 104 ; WX 620 ; N h ; B 96 0 530 771 ;
+C 105 ; WX 289 ; N i ; B 96 0 193 723 ;
+C 106 ; WX 304 ; N j ; B -75 -205 208 723 ;
+C 107 ; WX 584 ; N k ; B 96 0 565 771 ;
+C 108 ; WX 289 ; N l ; B 96 0 193 771 ;
+C 109 ; WX 934 ; N m ; B 96 0 843 542 ;
+C 110 ; WX 620 ; N n ; B 96 0 530 542 ;
+C 111 ; WX 614 ; N o ; B 54 -12 560 542 ;
+C 112 ; WX 630 ; N p ; B 96 -193 575 542 ;
+C 113 ; WX 630 ; N q ; B 54 -193 533 542 ;
+C 114 ; WX 409 ; N r ; B 96 0 389 542 ;
+C 115 ; WX 509 ; N s ; B 77 -12 433 542 ;
+C 116 ; WX 374 ; N t ; B 34 -12 335 636 ;
+C 117 ; WX 620 ; N u ; B 90 -12 524 530 ;
+C 118 ; WX 518 ; N v ; B 9 0 512 530 ;
+C 119 ; WX 770 ; N w ; B 6 0 764 530 ;
+C 120 ; WX 613 ; N x ; B 43 0 568 530 ;
+C 121 ; WX 522 ; N y ; B 8 -193 517 530 ;
+C 122 ; WX 574 ; N z ; B 60 0 513 530 ;
+C 123 ; WX 325 ; N braceleft ; B 12 -145 259 771 ;
+C 124 ; WX 265 ; N bar ; B 96 -145 169 771 ;
+C 125 ; WX 325 ; N braceright ; B 66 -145 313 771 ;
+C 126 ; WX 633 ; N asciitilde ; B 51 199 581 377 ;
+C 160 ; WX 316 ; N nbspace ; B 0 0 0 0 ;
+C 161 ; WX 542 ; N afii10023 ; B 93 0 518 867 ;
+C 162 ; WX 795 ; N afii10051 ; B 6 -6 759 723 ;
+C 163 ; WX 509 ; N afii10052 ; B 93 0 497 940 ;
+C 164 ; WX 602 ; N afii10053 ; B 51 -18 560 741 ;
+C 165 ; WX 539 ; N afii10054 ; B 49 -18 489 741 ;
+C 166 ; WX 289 ; N afii10055 ; B 93 0 196 723 ;
+C 167 ; WX 289 ; N afii10056 ; B 6 0 283 867 ;
+C 168 ; WX 311 ; N afii10057 ; B -90 -145 221 723 ;
+C 169 ; WX 982 ; N afii10058 ; B 15 0 946 723 ;
+C 170 ; WX 967 ; N afii10059 ; B 93 0 931 723 ;
+C 171 ; WX 762 ; N afii10060 ; B 9 0 723 723 ;
+C 172 ; WX 593 ; N afii10061 ; B 93 0 562 940 ;
+C 173 ; WX 509 ; N afii10050 ; B 93 0 497 867 ;
+C 174 ; WX 642 ; N afii10062 ; B 36 0 651 928 ;
+C 175 ; WX 735 ; N afii10145 ; B 93 -145 642 723 ;
+C 176 ; WX 690 ; N afii10017 ; B 8 0 679 723 ;
+C 177 ; WX 581 ; N afii10018 ; B 93 0 533 723 ;
+C 178 ; WX 575 ; N afii10019 ; B 93 0 534 723 ;
+C 179 ; WX 509 ; N afii10020 ; B 93 0 497 723 ;
+C 180 ; WX 762 ; N afii10021 ; B 36 -145 732 723 ;
+C 181 ; WX 542 ; N afii10022 ; B 93 0 518 723 ;
+C 182 ; WX 817 ; N afii10024 ; B 27 0 790 723 ;
+C 183 ; WX 540 ; N afii10025 ; B 32 -18 499 741 ;
+C 184 ; WX 741 ; N afii10026 ; B 93 0 648 723 ;
+C 185 ; WX 741 ; N afii10027 ; B 93 0 648 928 ;
+C 186 ; WX 593 ; N afii10028 ; B 93 0 562 723 ;
+C 187 ; WX 702 ; N afii10029 ; B 15 0 608 723 ;
+C 188 ; WX 861 ; N afii10030 ; B 93 0 768 723 ;
+C 189 ; WX 735 ; N afii10031 ; B 93 0 642 723 ;
+C 190 ; WX 777 ; N afii10032 ; B 51 -18 726 741 ;
+C 191 ; WX 735 ; N afii10033 ; B 93 0 642 723 ;
+C 192 ; WX 553 ; N afii10034 ; B 93 0 535 723 ;
+C 193 ; WX 692 ; N afii10035 ; B 51 -18 636 741 ;
+C 194 ; WX 632 ; N afii10036 ; B 9 0 624 723 ;
+C 195 ; WX 642 ; N afii10037 ; B 36 0 651 723 ;
+C 196 ; WX 693 ; N afii10038 ; B 30 0 663 723 ;
+C 197 ; WX 626 ; N afii10039 ; B 8 0 600 723 ;
+C 198 ; WX 769 ; N afii10040 ; B 93 -145 738 723 ;
+C 199 ; WX 630 ; N afii10041 ; B 39 0 536 723 ;
+C 200 ; WX 952 ; N afii10042 ; B 93 0 858 723 ;
+C 201 ; WX 985 ; N afii10043 ; B 93 -145 955 723 ;
+C 202 ; WX 678 ; N afii10044 ; B 9 0 642 723 ;
+C 203 ; WX 804 ; N afii10045 ; B 93 0 711 723 ;
+C 204 ; WX 569 ; N afii10046 ; B 93 0 533 723 ;
+C 205 ; WX 602 ; N afii10047 ; B 42 -18 551 741 ;
+C 206 ; WX 966 ; N afii10048 ; B 93 -18 911 741 ;
+C 207 ; WX 620 ; N afii10049 ; B 12 0 527 723 ;
+C 208 ; WX 552 ; N afii10065 ; B 50 -12 528 542 ;
+C 209 ; WX 596 ; N afii10066 ; B 54 -12 545 797 ;
+C 210 ; WX 525 ; N afii10067 ; B 96 0 470 530 ;
+C 211 ; WX 494 ; N afii10068 ; B 96 0 482 530 ;
+C 212 ; WX 672 ; N afii10069 ; B 36 -120 630 530 ;
+C 213 ; WX 557 ; N afii10070 ; B 54 -12 487 542 ;
+C 214 ; WX 728 ; N afii10072 ; B 24 0 704 530 ;
+C 215 ; WX 480 ; N afii10073 ; B 42 -12 426 542 ;
+C 216 ; WX 627 ; N afii10074 ; B 96 0 530 530 ;
+C 217 ; WX 627 ; N afii10075 ; B 96 0 530 771 ;
+C 218 ; WX 537 ; N afii10076 ; B 96 0 489 530 ;
+C 219 ; WX 587 ; N afii10077 ; B 18 0 491 530 ;
+C 220 ; WX 726 ; N afii10078 ; B 96 0 630 530 ;
+C 221 ; WX 627 ; N afii10079 ; B 96 0 530 530 ;
+C 222 ; WX 614 ; N afii10080 ; B 54 -12 560 542 ;
+C 223 ; WX 627 ; N afii10081 ; B 96 0 530 530 ;
+C 224 ; WX 630 ; N afii10082 ; B 96 -193 575 542 ;
+C 225 ; WX 512 ; N afii10083 ; B 54 -12 464 542 ;
+C 226 ; WX 494 ; N afii10084 ; B 6 0 488 530 ;
+C 227 ; WX 526 ; N afii10085 ; B 6 -193 517 530 ;
+C 228 ; WX 807 ; N afii10086 ; B 60 -193 747 723 ;
+C 229 ; WX 613 ; N afii10087 ; B 43 0 568 530 ;
+C 230 ; WX 669 ; N afii10088 ; B 96 -120 627 530 ;
+C 231 ; WX 524 ; N afii10089 ; B 39 0 428 530 ;
+C 232 ; WX 843 ; N afii10090 ; B 96 0 747 530 ;
+C 233 ; WX 886 ; N afii10091 ; B 96 -120 843 530 ;
+C 234 ; WX 560 ; N afii10092 ; B 9 0 515 530 ;
+C 235 ; WX 723 ; N afii10093 ; B 96 0 627 530 ;
+C 236 ; WX 506 ; N afii10094 ; B 99 0 461 530 ;
+C 237 ; WX 509 ; N afii10095 ; B 42 -12 455 542 ;
+C 238 ; WX 814 ; N afii10096 ; B 96 -12 760 542 ;
+C 239 ; WX 510 ; N afii10097 ; B 18 0 414 530 ;
+C 240 ; WX 1051 ; N afii61352 ; B 15 0 1024 723 ;
+C 241 ; WX 557 ; N afii10071 ; B 54 -12 487 711 ;
+C 242 ; WX 620 ; N afii10099 ; B 0 -205 530 771 ;
+C 243 ; WX 494 ; N afii10100 ; B 96 0 482 783 ;
+C 244 ; WX 509 ; N afii10101 ; B 54 -12 467 542 ;
+C 245 ; WX 509 ; N afii10102 ; B 77 -12 433 542 ;
+C 246 ; WX 289 ; N afii10103 ; B 96 0 193 723 ;
+C 247 ; WX 289 ; N afii10104 ; B 6 0 283 711 ;
+C 248 ; WX 304 ; N afii10105 ; B -75 -205 208 723 ;
+C 249 ; WX 801 ; N afii10106 ; B 18 0 756 530 ;
+C 250 ; WX 840 ; N afii10107 ; B 96 0 795 530 ;
+C 251 ; WX 620 ; N afii10108 ; B 0 0 530 759 ;
+C 252 ; WX 537 ; N afii10109 ; B 96 0 489 783 ;
+C 253 ; WX 494 ; N afii10098 ; B 96 0 482 651 ;
+C 254 ; WX 526 ; N afii10110 ; B 6 -193 517 771 ;
+C 255 ; WX 627 ; N afii10193 ; B 96 -120 530 530 ;
+C -1 ; WX 633 ; N currency ; B 48 93 585 630 ;
+C -1 ; WX 632 ; N section ; B 108 -163 538 741 ;
+C -1 ; WX 633 ; N paragraph ; B 105 -145 503 723 ;
+C -1 ; WX 229 ; N quotesingle ; B 54 506 175 771 ;
+C -1 ; WX 316 ; N quotesinglbase ; B 98 -145 218 120 ;
+C -1 ; WX 373 ; N quotedblleft ; B 54 518 319 771 ;
+C -1 ; WX 373 ; N quotedblright ; B 54 518 319 771 ;
+C -1 ; WX 373 ; N quotedblbase ; B 54 -157 319 96 ;
+C -1 ; WX 331 ; N guilsinglleft ; B 54 48 295 482 ;
+C -1 ; WX 331 ; N guilsinglright ; B 36 48 277 482 ;
+C -1 ; WX 524 ; N guillemotleft ; B 54 48 488 482 ;
+C -1 ; WX 524 ; N guillemotright ; B 36 48 470 482 ;
+C -1 ; WX 633 ; N dagger ; B 111 -145 521 723 ;
+C -1 ; WX 633 ; N daggerdbl ; B 111 -145 521 723 ;
+C -1 ; WX 632 ; N periodcentered ; B 256 229 376 349 ;
+C -1 ; WX 633 ; N bullet ; B 244 214 389 358 ;
+C -1 ; WX 1000 ; N ellipsis ; B 120 0 879 96 ;
+C -1 ; WX 1012 ; N perthousand ; B 6 -18 1006 741 ;
+C -1 ; WX 500 ; N endash ; B 51 265 449 325 ;
+C -1 ; WX 1000 ; N emdash ; B 48 265 952 313 ;
+C -1 ; WX 633 ; N registered ; B 99 307 533 741 ;
+C -1 ; WX 807 ; N trademark ; B 0 361 753 723 ;
+C -1 ; WX 855 ; N copyright ; B 48 -18 807 741 ;
+C -1 ; WX 265 ; N brokenbar ; B 96 -145 169 771 ;
+C -1 ; WX 325 ; N sfthyphen ; B 54 265 271 337 ;
+C -1 ; WX 633 ; N logicalnot ; B 51 169 581 410 ;
+C -1 ; WX 277 ; N degree ; B 31 524 248 741 ;
+C -1 ; WX 795 ; N plusminus ; B 108 0 687 578 ;
+C -1 ; WX 627 ; N mu ; B 96 -193 530 530 ;
+C -1 ; WX 633 ; N minus ; B 51 253 581 325 ;
+C -1 ; WX 289 ; N dotlessi ; B 96 0 193 530 ;
+C -1 ; WX 614 ; N grave ; B 151 626 380 783 ;
+C -1 ; WX 614 ; N acute ; B 235 626 464 783 ;
+C -1 ; WX 614 ; N circumflex ; B 137 626 479 783 ;
+C -1 ; WX 614 ; N tilde ; B 145 626 470 741 ;
+C -1 ; WX 614 ; N macron ; B 151 626 464 699 ;
+C -1 ; WX 614 ; N breve ; B 145 626 470 771 ;
+C -1 ; WX 614 ; N dotaccent ; B 258 626 355 723 ;
+C -1 ; WX 614 ; N dieresis ; B 168 626 446 711 ;
+C -1 ; WX 614 ; N ring ; B 196 626 418 848 ;
+C -1 ; WX 614 ; N cedilla ; B 249 -211 418 0 ;
+C -1 ; WX 614 ; N hungarumlaut ; B 194 626 577 783 ;
+C -1 ; WX 614 ; N ogonek ; B 246 -181 403 0 ;
+C -1 ; WX 614 ; N caron ; B 136 626 478 783 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/lscyr.tfm b/fonts/cyrillic/ot2cyr/lscyr.tfm
new file mode 100644
index 0000000000..694e71e1d5
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lscyr.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/lstcyb.afm b/fonts/cyrillic/ot2cyr/lstcyb.afm
new file mode 100644
index 0000000000..40ddbac48a
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lstcyb.afm
@@ -0,0 +1,259 @@
+StartFontMetrics 2.0
+Comment CreationDate: 94/May/13
+Comment Lucida is a registered trademark of Bigelow & Holmes Inc.
+Comment UniqueID 5054467
+FontName LucidaSansTypCyr-Bold
+FullName Lucida Sans Typ Cyr Bold
+FamilyName LucidaSansTypCyr
+Weight Bold
+ItalicAngle 0.0
+IsFixedPitch true
+UnderlinePosition -100
+UnderlineThickness 50
+Version 1.000
+Notice (c) 1994 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.
+Notice (c) 1994 Y&Y Inc. All rights reserved.
+EncodingScheme FontSpecific
+FontBBox 0 -205 639 928
+CapHeight 723
+XHeight 530
+Descender -193
+Ascender 771
+StartCharMetrics 235
+C 32 ; WX 602 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 602 ; N exclam ; B 229 0 374 723 ;
+C 34 ; WX 602 ; N quotedbl ; B 96 482 506 771 ;
+C 35 ; WX 602 ; N numbersign ; B 36 0 567 723 ;
+C 36 ; WX 602 ; N dollar ; B 70 -78 526 801 ;
+C 37 ; WX 602 ; N percent ; B 0 -18 602 741 ;
+C 38 ; WX 602 ; N ampersand ; B 14 -18 601 741 ;
+C 39 ; WX 602 ; N quoteright ; B 217 458 386 771 ;
+C 40 ; WX 602 ; N parenleft ; B 147 -145 542 771 ;
+C 41 ; WX 602 ; N parenright ; B 60 -145 455 771 ;
+C 42 ; WX 602 ; N asterisk ; B 73 286 529 723 ;
+C 43 ; WX 602 ; N plus ; B 42 0 560 518 ;
+C 44 ; WX 602 ; N comma ; B 217 -145 386 169 ;
+C 45 ; WX 602 ; N hyphen ; B 102 214 500 304 ;
+C 46 ; WX 602 ; N period ; B 217 0 386 169 ;
+C 47 ; WX 602 ; N slash ; B 4 -145 599 771 ;
+C 48 ; WX 602 ; N zero ; B 36 -18 566 741 ;
+C 49 ; WX 602 ; N one ; B 108 0 542 741 ;
+C 50 ; WX 602 ; N two ; B 80 0 516 741 ;
+C 51 ; WX 602 ; N three ; B 99 -18 519 741 ;
+C 52 ; WX 602 ; N four ; B 47 0 559 723 ;
+C 53 ; WX 602 ; N five ; B 126 -18 514 723 ;
+C 54 ; WX 602 ; N six ; B 51 -18 552 741 ;
+C 55 ; WX 602 ; N seven ; B 110 0 538 723 ;
+C 56 ; WX 602 ; N eight ; B 59 -18 548 741 ;
+C 57 ; WX 602 ; N nine ; B 60 -18 561 741 ;
+C 58 ; WX 602 ; N colon ; B 217 0 386 530 ;
+C 59 ; WX 602 ; N semicolon ; B 217 -145 386 530 ;
+C 60 ; WX 602 ; N less ; B 42 0 560 518 ;
+C 61 ; WX 602 ; N equal ; B 42 114 560 404 ;
+C 62 ; WX 602 ; N greater ; B 42 0 560 518 ;
+C 63 ; WX 602 ; N question ; B 75 0 569 741 ;
+C 64 ; WX 602 ; N at ; B 25 -18 593 741 ;
+C 65 ; WX 602 ; N A ; B 10 0 592 723 ;
+C 66 ; WX 602 ; N B ; B 67 0 570 723 ;
+C 67 ; WX 602 ; N C ; B 20 -18 579 741 ;
+C 68 ; WX 602 ; N D ; B 42 0 582 723 ;
+C 69 ; WX 602 ; N E ; B 82 0 560 723 ;
+C 70 ; WX 602 ; N F ; B 84 0 584 723 ;
+C 71 ; WX 602 ; N G ; B 18 -18 567 741 ;
+C 72 ; WX 602 ; N H ; B 48 0 554 723 ;
+C 73 ; WX 602 ; N I ; B 60 0 542 723 ;
+C 74 ; WX 602 ; N J ; B 76 -18 514 723 ;
+C 75 ; WX 602 ; N K ; B 69 0 602 723 ;
+C 76 ; WX 602 ; N L ; B 105 0 587 723 ;
+C 77 ; WX 602 ; N M ; B 41 0 561 723 ;
+C 78 ; WX 602 ; N N ; B 54 0 548 723 ;
+C 79 ; WX 602 ; N O ; B 12 -18 590 741 ;
+C 80 ; WX 602 ; N P ; B 72 0 576 723 ;
+C 81 ; WX 602 ; N Q ; B 12 -133 639 741 ;
+C 82 ; WX 602 ; N R ; B 67 0 596 723 ;
+C 83 ; WX 602 ; N S ; B 47 -18 564 741 ;
+C 84 ; WX 602 ; N T ; B 12 0 590 723 ;
+C 85 ; WX 602 ; N U ; B 54 -18 548 723 ;
+C 86 ; WX 602 ; N V ; B 6 0 596 723 ;
+C 87 ; WX 602 ; N W ; B 3 0 600 723 ;
+C 88 ; WX 602 ; N X ; B 18 0 586 723 ;
+C 89 ; WX 602 ; N Y ; B 0 0 602 723 ;
+C 90 ; WX 602 ; N Z ; B 42 0 548 723 ;
+C 91 ; WX 602 ; N bracketleft ; B 181 -145 554 771 ;
+C 92 ; WX 602 ; N backslash ; B 8 -145 595 771 ;
+C 93 ; WX 602 ; N bracketright ; B 48 -145 422 771 ;
+C 94 ; WX 602 ; N asciicircum ; B 42 145 560 723 ;
+C 95 ; WX 602 ; N underscore ; B 0 -108 602 0 ;
+C 96 ; WX 602 ; N quoteleft ; B 217 458 386 771 ;
+C 97 ; WX 602 ; N a ; B 42 -12 571 542 ;
+C 98 ; WX 602 ; N b ; B 60 -12 572 771 ;
+C 99 ; WX 602 ; N c ; B 48 -12 542 542 ;
+C 100 ; WX 602 ; N d ; B 43 -12 554 771 ;
+C 101 ; WX 602 ; N e ; B 44 -12 560 542 ;
+C 102 ; WX 602 ; N f ; B 98 0 598 783 ;
+C 103 ; WX 602 ; N g ; B 42 -205 554 542 ;
+C 104 ; WX 602 ; N h ; B 69 0 539 771 ;
+C 105 ; WX 602 ; N i ; B 96 0 434 771 ;
+C 106 ; WX 602 ; N j ; B 60 -205 446 771 ;
+C 107 ; WX 602 ; N k ; B 83 0 593 771 ;
+C 108 ; WX 602 ; N l ; B 48 0 386 771 ;
+C 109 ; WX 602 ; N m ; B 42 0 560 542 ;
+C 110 ; WX 602 ; N n ; B 69 0 539 542 ;
+C 111 ; WX 602 ; N o ; B 24 -12 578 542 ;
+C 112 ; WX 602 ; N p ; B 57 -193 569 542 ;
+C 113 ; WX 602 ; N q ; B 43 -193 554 542 ;
+C 114 ; WX 602 ; N r ; B 108 0 548 542 ;
+C 115 ; WX 602 ; N s ; B 77 -12 539 542 ;
+C 116 ; WX 602 ; N t ; B 71 -12 538 651 ;
+C 117 ; WX 602 ; N u ; B 63 -12 533 530 ;
+C 118 ; WX 602 ; N v ; B 25 0 589 530 ;
+C 119 ; WX 602 ; N w ; B 5 0 598 530 ;
+C 120 ; WX 602 ; N x ; B 33 0 582 530 ;
+C 121 ; WX 602 ; N y ; B 20 -193 593 530 ;
+C 122 ; WX 602 ; N z ; B 57 0 556 530 ;
+C 123 ; WX 602 ; N braceleft ; B 108 -145 530 771 ;
+C 124 ; WX 602 ; N bar ; B 247 -145 355 771 ;
+C 125 ; WX 602 ; N braceright ; B 72 -145 494 771 ;
+C 126 ; WX 602 ; N asciitilde ; B 42 169 560 352 ;
+C 160 ; WX 602 ; N nbspace ; B 0 0 0 0 ;
+C 161 ; WX 602 ; N afii10023 ; B 82 0 560 892 ;
+C 162 ; WX 602 ; N afii10051 ; B 6 -6 572 723 ;
+C 163 ; WX 602 ; N afii10052 ; B 96 0 566 928 ;
+C 164 ; WX 602 ; N afii10053 ; B 27 -18 572 741 ;
+C 165 ; WX 602 ; N afii10054 ; B 47 -18 564 741 ;
+C 166 ; WX 602 ; N afii10055 ; B 60 0 542 723 ;
+C 167 ; WX 602 ; N afii10056 ; B 60 0 542 892 ;
+C 168 ; WX 602 ; N afii10057 ; B 76 -18 514 723 ;
+C 169 ; WX 602 ; N afii10058 ; B 0 0 596 723 ;
+C 170 ; WX 602 ; N afii10059 ; B 24 0 596 723 ;
+C 171 ; WX 602 ; N afii10060 ; B 3 0 584 723 ;
+C 172 ; WX 602 ; N afii10061 ; B 73 0 590 928 ;
+C 173 ; WX 602 ; N afii10050 ; B 96 0 566 867 ;
+C 174 ; WX 602 ; N afii10062 ; B 1 0 602 907 ;
+C 175 ; WX 602 ; N afii10145 ; B 48 -145 554 723 ;
+C 176 ; WX 602 ; N afii10017 ; B 10 0 592 723 ;
+C 177 ; WX 602 ; N afii10018 ; B 78 0 566 723 ;
+C 178 ; WX 602 ; N afii10019 ; B 67 0 570 723 ;
+C 179 ; WX 602 ; N afii10020 ; B 96 0 566 723 ;
+C 180 ; WX 602 ; N afii10021 ; B 0 -145 580 723 ;
+C 181 ; WX 602 ; N afii10022 ; B 82 0 560 723 ;
+C 182 ; WX 602 ; N afii10024 ; B 1 0 601 723 ;
+C 183 ; WX 602 ; N afii10025 ; B 47 -18 550 741 ;
+C 184 ; WX 602 ; N afii10026 ; B 48 0 554 723 ;
+C 185 ; WX 602 ; N afii10027 ; B 48 0 554 907 ;
+C 186 ; WX 602 ; N afii10028 ; B 73 0 590 723 ;
+C 187 ; WX 602 ; N afii10029 ; B 12 0 559 723 ;
+C 188 ; WX 602 ; N afii10030 ; B 30 0 572 723 ;
+C 189 ; WX 602 ; N afii10031 ; B 48 0 554 723 ;
+C 190 ; WX 602 ; N afii10032 ; B 12 -18 590 741 ;
+C 191 ; WX 602 ; N afii10033 ; B 48 0 554 723 ;
+C 192 ; WX 602 ; N afii10034 ; B 72 0 576 723 ;
+C 193 ; WX 602 ; N afii10035 ; B 20 -18 579 741 ;
+C 194 ; WX 602 ; N afii10036 ; B 12 0 590 723 ;
+C 195 ; WX 602 ; N afii10037 ; B 1 0 602 723 ;
+C 196 ; WX 602 ; N afii10038 ; B 9 0 593 723 ;
+C 197 ; WX 602 ; N afii10039 ; B 18 0 586 723 ;
+C 198 ; WX 602 ; N afii10040 ; B 35 -145 586 723 ;
+C 199 ; WX 602 ; N afii10041 ; B 47 0 529 723 ;
+C 200 ; WX 602 ; N afii10042 ; B 18 0 584 723 ;
+C 201 ; WX 602 ; N afii10043 ; B 18 -145 596 723 ;
+C 202 ; WX 602 ; N afii10044 ; B 3 0 587 723 ;
+C 203 ; WX 602 ; N afii10045 ; B 36 0 566 723 ;
+C 204 ; WX 602 ; N afii10046 ; B 78 0 566 723 ;
+C 205 ; WX 602 ; N afii10047 ; B 30 -18 575 741 ;
+C 206 ; WX 602 ; N afii10048 ; B 33 -18 584 741 ;
+C 207 ; WX 602 ; N afii10049 ; B 6 0 545 723 ;
+C 208 ; WX 602 ; N afii10065 ; B 42 -12 571 542 ;
+C 209 ; WX 602 ; N afii10066 ; B 42 -12 570 797 ;
+C 210 ; WX 602 ; N afii10067 ; B 67 0 549 530 ;
+C 211 ; WX 602 ; N afii10068 ; B 96 0 554 530 ;
+C 212 ; WX 602 ; N afii10069 ; B 12 -120 590 530 ;
+C 213 ; WX 602 ; N afii10070 ; B 44 -12 554 542 ;
+C 214 ; WX 602 ; N afii10072 ; B 3 0 599 530 ;
+C 215 ; WX 602 ; N afii10073 ; B 81 -12 530 542 ;
+C 216 ; WX 602 ; N afii10074 ; B 56 0 547 530 ;
+C 217 ; WX 602 ; N afii10075 ; B 56 0 547 750 ;
+C 218 ; WX 602 ; N afii10076 ; B 94 0 571 530 ;
+C 219 ; WX 602 ; N afii10077 ; B 15 0 530 530 ;
+C 220 ; WX 602 ; N afii10078 ; B 41 0 562 530 ;
+C 221 ; WX 602 ; N afii10079 ; B 72 0 530 530 ;
+C 222 ; WX 602 ; N afii10080 ; B 24 -12 578 542 ;
+C 223 ; WX 602 ; N afii10081 ; B 72 0 530 530 ;
+C 224 ; WX 602 ; N afii10082 ; B 57 -193 569 542 ;
+C 225 ; WX 602 ; N afii10083 ; B 54 -12 548 542 ;
+C 226 ; WX 602 ; N afii10084 ; B 36 0 566 530 ;
+C 227 ; WX 602 ; N afii10085 ; B 20 -193 593 530 ;
+C 228 ; WX 602 ; N afii10086 ; B 6 -193 596 723 ;
+C 229 ; WX 602 ; N afii10087 ; B 33 0 582 530 ;
+C 230 ; WX 602 ; N afii10088 ; B 54 -120 590 530 ;
+C 231 ; WX 602 ; N afii10089 ; B 48 0 521 530 ;
+C 232 ; WX 602 ; N afii10090 ; B 18 0 584 530 ;
+C 233 ; WX 602 ; N afii10091 ; B 18 -145 596 530 ;
+C 234 ; WX 602 ; N afii10092 ; B 21 0 572 530 ;
+C 235 ; WX 602 ; N afii10093 ; B 27 0 575 530 ;
+C 236 ; WX 602 ; N afii10094 ; B 102 0 563 530 ;
+C 237 ; WX 602 ; N afii10095 ; B 60 -12 551 542 ;
+C 238 ; WX 602 ; N afii10096 ; B 31 -12 583 542 ;
+C 239 ; WX 602 ; N afii10097 ; B 30 0 522 530 ;
+C 240 ; WX 602 ; N afii61352 ; B 0 0 602 723 ;
+C 241 ; WX 602 ; N afii10071 ; B 44 -12 554 735 ;
+C 242 ; WX 602 ; N afii10099 ; B 4 -205 539 771 ;
+C 243 ; WX 602 ; N afii10100 ; B 96 0 554 771 ;
+C 244 ; WX 602 ; N afii10101 ; B 51 -12 542 542 ;
+C 245 ; WX 602 ; N afii10102 ; B 77 -12 539 542 ;
+C 246 ; WX 602 ; N afii10103 ; B 96 0 434 771 ;
+C 247 ; WX 602 ; N afii10104 ; B 96 0 476 735 ;
+C 248 ; WX 602 ; N afii10105 ; B 60 -205 446 771 ;
+C 249 ; WX 602 ; N afii10106 ; B 3 0 593 530 ;
+C 250 ; WX 602 ; N afii10107 ; B 27 0 593 530 ;
+C 251 ; WX 602 ; N afii10108 ; B 4 0 539 771 ;
+C 252 ; WX 602 ; N afii10109 ; B 96 0 572 771 ;
+C 253 ; WX 602 ; N afii10098 ; B 96 0 554 651 ;
+C 254 ; WX 602 ; N afii10110 ; B 20 -193 593 750 ;
+C 255 ; WX 602 ; N afii10193 ; B 72 -120 530 530 ;
+C -1 ; WX 602 ; N grave ; B 181 626 422 771 ;
+C -1 ; WX 602 ; N acute ; B 180 626 422 771 ;
+C -1 ; WX 602 ; N breve ; B 151 626 452 751 ;
+C -1 ; WX 602 ; N caron ; B 149 626 453 771 ;
+C -1 ; WX 602 ; N cedilla ; B 230 -193 423 0 ;
+C -1 ; WX 602 ; N ogonek ; B 214 -193 388 0 ;
+C -1 ; WX 602 ; N circumflex ; B 149 626 453 771 ;
+C -1 ; WX 602 ; N tilde ; B 151 626 452 750 ;
+C -1 ; WX 602 ; N dieresis ; B 157 626 446 735 ;
+C -1 ; WX 602 ; N dotaccent ; B 241 626 361 747 ;
+C -1 ; WX 602 ; N hungarumlaut ; B 151 626 550 771 ;
+C -1 ; WX 602 ; N macron ; B 157 626 446 723 ;
+C -1 ; WX 602 ; N ring ; B 213 626 389 803 ;
+C -1 ; WX 602 ; N dotlessi ; B 96 0 434 530 ;
+C -1 ; WX 602 ; N brokenbar ; B 247 -145 355 771 ;
+C -1 ; WX 602 ; N bullet ; B 84 69 518 503 ;
+C -1 ; WX 602 ; N copyright ; B 30 -18 572 741 ;
+C -1 ; WX 602 ; N registered ; B 42 217 566 741 ;
+C -1 ; WX 602 ; N trademark ; B 0 361 602 723 ;
+C -1 ; WX 602 ; N currency ; B 38 102 565 620 ;
+C -1 ; WX 602 ; N dagger ; B 96 -145 506 723 ;
+C -1 ; WX 602 ; N daggerdbl ; B 96 -145 506 723 ;
+C -1 ; WX 602 ; N degree ; B 193 524 410 741 ;
+C -1 ; WX 602 ; N ellipsis ; B 46 0 556 108 ;
+C -1 ; WX 602 ; N emdash ; B 30 259 572 331 ;
+C -1 ; WX 602 ; N endash ; B 66 259 536 331 ;
+C -1 ; WX 602 ; N guillemotleft ; B 33 54 573 482 ;
+C -1 ; WX 602 ; N guillemotright ; B 30 54 569 482 ;
+C -1 ; WX 602 ; N guilsinglleft ; B 159 54 451 482 ;
+C -1 ; WX 602 ; N guilsinglright ; B 151 54 444 482 ;
+C -1 ; WX 602 ; N logicalnot ; B 42 114 560 404 ;
+C -1 ; WX 602 ; N minus ; B 42 214 560 304 ;
+C -1 ; WX 602 ; N plusminus ; B 42 0 560 518 ;
+C -1 ; WX 602 ; N mu ; B 63 -145 533 530 ;
+C -1 ; WX 602 ; N paragraph ; B 60 -145 495 723 ;
+C -1 ; WX 602 ; N section ; B 93 -157 509 741 ;
+C -1 ; WX 602 ; N periodcentered ; B 235 193 367 325 ;
+C -1 ; WX 602 ; N perthousand ; B 0 -18 602 741 ;
+C -1 ; WX 602 ; N quotedblbase ; B 96 -145 506 145 ;
+C -1 ; WX 602 ; N quotedblleft ; B 96 482 506 771 ;
+C -1 ; WX 602 ; N quotedblright ; B 96 482 506 771 ;
+C -1 ; WX 602 ; N quotesinglbase ; B 217 -145 386 169 ;
+C -1 ; WX 602 ; N quotesingle ; B 217 458 386 771 ;
+C -1 ; WX 602 ; N sfthyphen ; B 102 214 500 304 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/lstcyb.tfm b/fonts/cyrillic/ot2cyr/lstcyb.tfm
new file mode 100644
index 0000000000..b4ae3c4083
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lstcyb.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/lstcybo.afm b/fonts/cyrillic/ot2cyr/lstcybo.afm
new file mode 100644
index 0000000000..4bf611d582
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lstcybo.afm
@@ -0,0 +1,259 @@
+StartFontMetrics 2.0
+Comment CreationDate: 94/June/9
+Comment Lucida is a registered trademark of Bigelow & Holmes Inc.
+Comment UniqueID 5054469
+FontName LucidaSansTypCyr-BoldObl
+FullName Lucida Sans Typ Cyr Bold Obl
+FamilyName LucidaSansTypCyr
+Weight Bold
+ItalicAngle -11.3
+IsFixedPitch true
+UnderlinePosition -100
+UnderlineThickness 50
+Version 1.000
+Notice (c) 1994 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.
+Notice (c) 1994 Y&Y Inc. All rights reserved.
+EncodingScheme FontSpecific
+FontBBox -29 -205 750 928
+CapHeight 723
+XHeight 530
+Descender -193
+Ascender 771
+StartCharMetrics 235
+C 32 ; WX 602 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 602 ; N exclam ; B 229 0 519 723 ;
+C 34 ; WX 602 ; N quotedbl ; B 216 482 660 771 ;
+C 35 ; WX 602 ; N numbersign ; B 78 0 669 723 ;
+C 36 ; WX 602 ; N dollar ; B 78 -78 640 801 ;
+C 37 ; WX 602 ; N percent ; B 62 -18 661 741 ;
+C 38 ; WX 602 ; N ampersand ; B 29 -18 687 741 ;
+C 39 ; WX 602 ; N quoteright ; B 309 458 513 771 ;
+C 40 ; WX 602 ; N parenleft ; B 175 -145 677 771 ;
+C 41 ; WX 602 ; N parenright ; B 31 -145 552 771 ;
+C 42 ; WX 602 ; N asterisk ; B 174 286 630 723 ;
+C 43 ; WX 602 ; N plus ; B 85 0 621 518 ;
+C 44 ; WX 602 ; N comma ; B 188 -145 392 169 ;
+C 45 ; WX 602 ; N hyphen ; B 145 214 561 304 ;
+C 46 ; WX 602 ; N period ; B 217 0 386 169 ;
+C 47 ; WX 602 ; N slash ; B -25 -145 630 771 ;
+C 48 ; WX 602 ; N zero ; B 61 -18 686 741 ;
+C 49 ; WX 602 ; N one ; B 108 0 561 741 ;
+C 50 ; WX 602 ; N two ; B 80 0 648 741 ;
+C 51 ; WX 602 ; N three ; B 101 -18 629 741 ;
+C 52 ; WX 602 ; N four ; B 86 0 620 723 ;
+C 53 ; WX 602 ; N five ; B 128 -18 656 723 ;
+C 54 ; WX 602 ; N six ; B 97 -18 653 741 ;
+C 55 ; WX 602 ; N seven ; B 140 0 683 723 ;
+C 56 ; WX 602 ; N eight ; B 71 -18 644 741 ;
+C 57 ; WX 602 ; N nine ; B 87 -18 660 741 ;
+C 58 ; WX 602 ; N colon ; B 217 0 492 530 ;
+C 59 ; WX 602 ; N semicolon ; B 188 -145 492 530 ;
+C 60 ; WX 602 ; N less ; B 94 0 664 518 ;
+C 61 ; WX 602 ; N equal ; B 65 114 641 404 ;
+C 62 ; WX 602 ; N greater ; B 42 0 560 518 ;
+C 63 ; WX 602 ; N question ; B 172 0 705 741 ;
+C 64 ; WX 602 ; N at ; B 50 -18 678 741 ;
+C 65 ; WX 602 ; N A ; B 10 0 592 723 ;
+C 66 ; WX 602 ; N B ; B 67 0 662 723 ;
+C 67 ; WX 602 ; N C ; B 46 -18 723 741 ;
+C 68 ; WX 602 ; N D ; B 42 0 705 723 ;
+C 69 ; WX 602 ; N E ; B 82 0 679 723 ;
+C 70 ; WX 602 ; N F ; B 84 0 729 723 ;
+C 71 ; WX 602 ; N G ; B 43 -18 710 741 ;
+C 72 ; WX 602 ; N H ; B 48 0 699 723 ;
+C 73 ; WX 602 ; N I ; B 60 0 687 723 ;
+C 74 ; WX 602 ; N J ; B 76 -18 569 723 ;
+C 75 ; WX 602 ; N K ; B 69 0 738 723 ;
+C 76 ; WX 602 ; N L ; B 105 0 606 723 ;
+C 77 ; WX 602 ; N M ; B 41 0 706 723 ;
+C 78 ; WX 602 ; N N ; B 54 0 693 723 ;
+C 79 ; WX 602 ; N O ; B 36 -18 711 741 ;
+C 80 ; WX 602 ; N P ; B 72 0 708 723 ;
+C 81 ; WX 602 ; N Q ; B 36 -133 711 741 ;
+C 82 ; WX 602 ; N R ; B 67 0 675 723 ;
+C 83 ; WX 602 ; N S ; B 52 -18 660 741 ;
+C 84 ; WX 602 ; N T ; B 137 0 735 723 ;
+C 85 ; WX 602 ; N U ; B 86 -18 603 723 ;
+C 86 ; WX 602 ; N V ; B 151 0 638 723 ;
+C 87 ; WX 602 ; N W ; B 98 0 745 723 ;
+C 88 ; WX 602 ; N X ; B 18 0 712 723 ;
+C 89 ; WX 602 ; N Y ; B 145 0 636 723 ;
+C 90 ; WX 602 ; N Z ; B 42 0 693 723 ;
+C 91 ; WX 602 ; N bracketleft ; B 152 -145 708 771 ;
+C 92 ; WX 602 ; N backslash ; B 129 -145 566 771 ;
+C 93 ; WX 602 ; N bracketright ; B 19 -145 576 771 ;
+C 94 ; WX 602 ; N asciicircum ; B 71 145 589 723 ;
+C 95 ; WX 602 ; N underscore ; B -22 -108 602 0 ;
+C 96 ; WX 602 ; N quoteleft ; B 309 458 540 771 ;
+C 97 ; WX 602 ; N a ; B 53 -12 605 542 ;
+C 98 ; WX 602 ; N b ; B 60 -12 660 771 ;
+C 99 ; WX 602 ; N c ; B 66 -12 646 542 ;
+C 100 ; WX 602 ; N d ; B 62 -12 708 771 ;
+C 101 ; WX 602 ; N e ; B 63 -12 648 542 ;
+C 102 ; WX 602 ; N f ; B 182 0 750 783 ;
+C 103 ; WX 602 ; N g ; B 63 -205 660 542 ;
+C 104 ; WX 602 ; N h ; B 69 0 634 771 ;
+C 105 ; WX 602 ; N i ; B 183 0 588 771 ;
+C 106 ; WX 602 ; N j ; B 23 -205 600 771 ;
+C 107 ; WX 602 ; N k ; B 83 0 642 771 ;
+C 108 ; WX 602 ; N l ; B 183 0 386 771 ;
+C 109 ; WX 602 ; N m ; B 42 0 650 542 ;
+C 110 ; WX 602 ; N n ; B 69 0 634 542 ;
+C 111 ; WX 602 ; N o ; B 43 -12 665 542 ;
+C 112 ; WX 602 ; N p ; B 18 -193 657 542 ;
+C 113 ; WX 602 ; N q ; B 62 -193 660 542 ;
+C 114 ; WX 602 ; N r ; B 108 0 654 542 ;
+C 115 ; WX 602 ; N s ; B 81 -12 605 542 ;
+C 116 ; WX 602 ; N t ; B 155 -12 630 651 ;
+C 117 ; WX 602 ; N u ; B 74 -12 639 530 ;
+C 118 ; WX 602 ; N v ; B 131 0 590 530 ;
+C 119 ; WX 602 ; N w ; B 94 0 704 530 ;
+C 120 ; WX 602 ; N x ; B 33 0 667 530 ;
+C 121 ; WX 602 ; N y ; B 11 -193 593 530 ;
+C 122 ; WX 602 ; N z ; B 57 0 657 530 ;
+C 123 ; WX 602 ; N braceleft ; B 161 -145 684 771 ;
+C 124 ; WX 602 ; N bar ; B 218 -145 509 771 ;
+C 125 ; WX 602 ; N braceright ; B 43 -145 566 771 ;
+C 126 ; WX 602 ; N asciitilde ; B 77 169 629 352 ;
+C 160 ; WX 602 ; N nbspace ; B 0 0 0 0 ;
+C 161 ; WX 602 ; N afii10023 ; B 82 0 679 892 ;
+C 162 ; WX 602 ; N afii10051 ; B 114 -6 648 723 ;
+C 163 ; WX 602 ; N afii10052 ; B 96 0 711 928 ;
+C 164 ; WX 602 ; N afii10053 ; B 77 -18 706 741 ;
+C 165 ; WX 602 ; N afii10054 ; B 52 -18 660 741 ;
+C 166 ; WX 602 ; N afii10055 ; B 60 0 687 723 ;
+C 167 ; WX 602 ; N afii10056 ; B 60 0 687 892 ;
+C 168 ; WX 602 ; N afii10057 ; B 76 -18 659 723 ;
+C 169 ; WX 602 ; N afii10058 ; B 0 0 665 723 ;
+C 170 ; WX 602 ; N afii10059 ; B 24 0 665 723 ;
+C 171 ; WX 602 ; N afii10060 ; B 123 0 659 723 ;
+C 172 ; WX 602 ; N afii10061 ; B 73 0 706 928 ;
+C 173 ; WX 602 ; N afii10050 ; B 96 0 739 867 ;
+C 174 ; WX 602 ; N afii10062 ; B 63 0 747 907 ;
+C 175 ; WX 602 ; N afii10145 ; B 48 -145 699 723 ;
+C 176 ; WX 602 ; N afii10017 ; B 10 0 592 723 ;
+C 177 ; WX 602 ; N afii10018 ; B 78 0 654 723 ;
+C 178 ; WX 602 ; N afii10019 ; B 67 0 662 723 ;
+C 179 ; WX 602 ; N afii10020 ; B 96 0 711 723 ;
+C 180 ; WX 602 ; N afii10021 ; B -29 -145 677 723 ;
+C 181 ; WX 602 ; N afii10022 ; B 82 0 679 723 ;
+C 182 ; WX 602 ; N afii10024 ; B 2 0 746 723 ;
+C 183 ; WX 602 ; N afii10025 ; B 48 -18 651 741 ;
+C 184 ; WX 602 ; N afii10026 ; B 48 0 699 723 ;
+C 185 ; WX 602 ; N afii10027 ; B 48 0 699 907 ;
+C 186 ; WX 602 ; N afii10028 ; B 73 0 706 723 ;
+C 187 ; WX 602 ; N afii10029 ; B 12 0 559 723 ;
+C 188 ; WX 602 ; N afii10030 ; B 30 0 717 723 ;
+C 189 ; WX 602 ; N afii10031 ; B 48 0 699 723 ;
+C 190 ; WX 602 ; N afii10032 ; B 36 -18 711 741 ;
+C 191 ; WX 602 ; N afii10033 ; B 48 0 699 723 ;
+C 192 ; WX 602 ; N afii10034 ; B 72 0 708 723 ;
+C 193 ; WX 602 ; N afii10035 ; B 46 -18 699 741 ;
+C 194 ; WX 602 ; N afii10036 ; B 137 0 735 723 ;
+C 195 ; WX 602 ; N afii10037 ; B 63 0 747 723 ;
+C 196 ; WX 602 ; N afii10038 ; B 49 0 697 723 ;
+C 197 ; WX 602 ; N afii10039 ; B 18 0 712 723 ;
+C 198 ; WX 602 ; N afii10040 ; B 35 -145 680 723 ;
+C 199 ; WX 602 ; N afii10041 ; B 107 0 674 723 ;
+C 200 ; WX 602 ; N afii10042 ; B 18 0 729 723 ;
+C 201 ; WX 602 ; N afii10043 ; B 18 -145 717 723 ;
+C 202 ; WX 602 ; N afii10044 ; B 123 0 652 723 ;
+C 203 ; WX 602 ; N afii10045 ; B 36 0 711 723 ;
+C 204 ; WX 602 ; N afii10046 ; B 78 0 631 723 ;
+C 205 ; WX 602 ; N afii10047 ; B 32 -18 675 741 ;
+C 206 ; WX 602 ; N afii10048 ; B 33 -18 705 741 ;
+C 207 ; WX 602 ; N afii10049 ; B 6 0 690 723 ;
+C 208 ; WX 602 ; N afii10065 ; B 53 -12 605 542 ;
+C 209 ; WX 602 ; N afii10066 ; B 84 -12 656 797 ;
+C 210 ; WX 602 ; N afii10067 ; B 67 0 617 530 ;
+C 211 ; WX 602 ; N afii10068 ; B 96 0 660 530 ;
+C 212 ; WX 602 ; N afii10069 ; B -12 -120 635 530 ;
+C 213 ; WX 602 ; N afii10070 ; B 63 -12 643 542 ;
+C 214 ; WX 602 ; N afii10072 ; B 3 0 681 530 ;
+C 215 ; WX 602 ; N afii10073 ; B 84 -12 607 542 ;
+C 216 ; WX 602 ; N afii10074 ; B 56 0 653 530 ;
+C 217 ; WX 602 ; N afii10075 ; B 56 0 653 750 ;
+C 218 ; WX 602 ; N afii10076 ; B 94 0 652 530 ;
+C 219 ; WX 602 ; N afii10077 ; B 15 0 530 530 ;
+C 220 ; WX 602 ; N afii10078 ; B 41 0 668 530 ;
+C 221 ; WX 602 ; N afii10079 ; B 72 0 636 530 ;
+C 222 ; WX 602 ; N afii10080 ; B 43 -12 665 542 ;
+C 223 ; WX 602 ; N afii10081 ; B 72 0 636 530 ;
+C 224 ; WX 602 ; N afii10082 ; B 18 -193 657 542 ;
+C 225 ; WX 602 ; N afii10083 ; B 72 -12 630 542 ;
+C 226 ; WX 602 ; N afii10084 ; B 123 0 672 530 ;
+C 227 ; WX 602 ; N afii10085 ; B 11 -193 699 530 ;
+C 228 ; WX 602 ; N afii10086 ; B 24 -193 684 723 ;
+C 229 ; WX 602 ; N afii10087 ; B 33 0 667 530 ;
+C 230 ; WX 602 ; N afii10088 ; B 54 -120 612 530 ;
+C 231 ; WX 602 ; N afii10089 ; B 106 0 627 530 ;
+C 232 ; WX 602 ; N afii10090 ; B 18 0 690 530 ;
+C 233 ; WX 602 ; N afii10091 ; B 18 -145 678 530 ;
+C 234 ; WX 602 ; N afii10092 ; B 108 0 635 530 ;
+C 235 ; WX 602 ; N afii10093 ; B 27 0 681 530 ;
+C 236 ; WX 602 ; N afii10094 ; B 102 0 613 530 ;
+C 237 ; WX 602 ; N afii10095 ; B 63 -12 623 542 ;
+C 238 ; WX 602 ; N afii10096 ; B 31 -12 671 542 ;
+C 239 ; WX 602 ; N afii10097 ; B 30 0 628 530 ;
+C 240 ; WX 602 ; N afii61352 ; B 0 0 696 723 ;
+C 241 ; WX 602 ; N afii10071 ; B 63 -12 643 735 ;
+C 242 ; WX 602 ; N afii10099 ; B 69 -205 618 771 ;
+C 243 ; WX 602 ; N afii10100 ; B 96 0 660 771 ;
+C 244 ; WX 602 ; N afii10101 ; B 87 -12 629 542 ;
+C 245 ; WX 602 ; N afii10102 ; B 81 -12 605 542 ;
+C 246 ; WX 602 ; N afii10103 ; B 183 0 588 771 ;
+C 247 ; WX 602 ; N afii10104 ; B 183 0 623 735 ;
+C 248 ; WX 602 ; N afii10105 ; B 23 -205 600 771 ;
+C 249 ; WX 602 ; N afii10106 ; B 3 0 655 530 ;
+C 250 ; WX 602 ; N afii10107 ; B 27 0 655 530 ;
+C 251 ; WX 602 ; N afii10108 ; B 69 0 618 771 ;
+C 252 ; WX 602 ; N afii10109 ; B 96 0 653 771 ;
+C 253 ; WX 602 ; N afii10098 ; B 96 0 684 651 ;
+C 254 ; WX 602 ; N afii10110 ; B 11 -193 699 750 ;
+C 255 ; WX 602 ; N afii10193 ; B 72 -120 636 530 ;
+C -1 ; WX 602 ; N sfthyphen ; B 145 214 561 304 ;
+C -1 ; WX 602 ; N degree ; B 301 524 549 741 ;
+C -1 ; WX 602 ; N registered ; B 109 217 691 741 ;
+C -1 ; WX 602 ; N copyright ; B 74 -18 672 741 ;
+C -1 ; WX 602 ; N trademark ; B 130 361 747 723 ;
+C -1 ; WX 602 ; N plusminus ; B 42 0 636 518 ;
+C -1 ; WX 602 ; N mu ; B 34 -145 639 530 ;
+C -1 ; WX 602 ; N logicalnot ; B 105 114 641 404 ;
+C -1 ; WX 602 ; N minus ; B 85 214 621 304 ;
+C -1 ; WX 602 ; N brokenbar ; B 218 -145 509 771 ;
+C -1 ; WX 602 ; N section ; B 78 -157 616 741 ;
+C -1 ; WX 602 ; N currency ; B 72 102 676 620 ;
+C -1 ; WX 602 ; N quotesingle ; B 345 458 441 771 ;
+C -1 ; WX 602 ; N quotedblleft ; B 192 482 660 771 ;
+C -1 ; WX 602 ; N guillemotleft ; B 86 54 658 482 ;
+C -1 ; WX 602 ; N guilsinglleft ; B 212 54 470 482 ;
+C -1 ; WX 602 ; N guilsinglright ; B 173 54 444 482 ;
+C -1 ; WX 602 ; N endash ; B 118 259 602 331 ;
+C -1 ; WX 602 ; N dagger ; B 171 -145 605 723 ;
+C -1 ; WX 602 ; N daggerdbl ; B 113 -145 605 723 ;
+C -1 ; WX 602 ; N periodcentered ; B 274 193 432 325 ;
+C -1 ; WX 602 ; N paragraph ; B 158 -145 640 723 ;
+C -1 ; WX 602 ; N bullet ; B 117 69 599 503 ;
+C -1 ; WX 602 ; N quotesinglbase ; B 188 -145 392 169 ;
+C -1 ; WX 602 ; N quotedblbase ; B 67 -145 535 145 ;
+C -1 ; WX 602 ; N quotedblright ; B 192 482 660 771 ;
+C -1 ; WX 602 ; N guillemotright ; B 52 54 624 482 ;
+C -1 ; WX 602 ; N ellipsis ; B 46 0 578 108 ;
+C -1 ; WX 602 ; N perthousand ; B -4 -18 647 741 ;
+C -1 ; WX 602 ; N grave ; B 326 626 547 771 ;
+C -1 ; WX 602 ; N acute ; B 305 626 430 771 ;
+C -1 ; WX 602 ; N circumflex ; B 274 626 578 771 ;
+C -1 ; WX 602 ; N tilde ; B 276 626 602 750 ;
+C -1 ; WX 602 ; N macron ; B 282 626 591 723 ;
+C -1 ; WX 602 ; N breve ; B 300 626 602 751 ;
+C -1 ; WX 602 ; N dotaccent ; B 361 626 510 747 ;
+C -1 ; WX 602 ; N dieresis ; B 265 626 593 735 ;
+C -1 ; WX 602 ; N ring ; B 301 626 542 803 ;
+C -1 ; WX 602 ; N cedilla ; B 194 -193 403 0 ;
+C -1 ; WX 602 ; N hungarumlaut ; B 276 626 704 771 ;
+C -1 ; WX 602 ; N ogonek ; B 180 -193 388 0 ;
+C -1 ; WX 602 ; N caron ; B 303 626 512 771 ;
+C -1 ; WX 602 ; N emdash ; B 82 259 638 331 ;
+C -1 ; WX 602 ; N dotlessi ; B 183 0 434 530 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/lstcybo.tfm b/fonts/cyrillic/ot2cyr/lstcybo.tfm
new file mode 100644
index 0000000000..d96f7a3372
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lstcybo.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/lstcyo.afm b/fonts/cyrillic/ot2cyr/lstcyo.afm
new file mode 100644
index 0000000000..74f71a7ed2
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lstcyo.afm
@@ -0,0 +1,259 @@
+StartFontMetrics 2.0
+Comment CreationDate: 94/May/6
+Comment Lucida is a registered trademark of Bigelow & Holmes Inc.
+Comment UniqueID 5054468
+FontName LucidaSansTypCyr-Obl
+FullName Lucida Sans Typ Cyr Obl
+FamilyName LucidaSansTypCyr
+Weight Normal
+ItalicAngle -11.3
+IsFixedPitch true
+UnderlinePosition -100
+UnderlineThickness 50
+Version 1.002
+Notice (c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.
+Notice (c) 1993 Y&Y Inc. All rights reserved.
+EncodingScheme FontSpecific
+FontBBox -15 -205 739 928
+CapHeight 723
+XHeight 530
+Descender -193
+Ascender 771
+StartCharMetrics 235
+C 32 ; WX 602 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 602 ; N exclam ; B 241 0 494 723 ;
+C 34 ; WX 602 ; N quotedbl ; B 241 506 636 771 ;
+C 35 ; WX 602 ; N numbersign ; B 70 0 685 723 ;
+C 36 ; WX 602 ; N dollar ; B 113 -60 637 783 ;
+C 37 ; WX 602 ; N percent ; B -4 -18 677 741 ;
+C 38 ; WX 602 ; N ampersand ; B 27 -18 679 741 ;
+C 39 ; WX 602 ; N quoteright ; B 323 470 511 771 ;
+C 40 ; WX 602 ; N parenleft ; B 199 -145 671 771 ;
+C 41 ; WX 602 ; N parenright ; B 43 -145 530 771 ;
+C 42 ; WX 602 ; N asterisk ; B 185 302 617 723 ;
+C 43 ; WX 602 ; N plus ; B 87 0 619 518 ;
+C 44 ; WX 602 ; N comma ; B 198 -157 385 145 ;
+C 45 ; WX 602 ; N hyphen ; B 147 223 559 295 ;
+C 46 ; WX 602 ; N period ; B 229 0 374 145 ;
+C 47 ; WX 602 ; N slash ; B 7 -145 640 771 ;
+C 48 ; WX 602 ; N zero ; B 80 -18 667 741 ;
+C 49 ; WX 602 ; N one ; B 90 0 586 741 ;
+C 50 ; WX 602 ; N two ; B 82 0 628 741 ;
+C 51 ; WX 602 ; N three ; B 115 -18 627 741 ;
+C 52 ; WX 602 ; N four ; B 93 0 595 723 ;
+C 53 ; WX 602 ; N five ; B 133 -18 629 723 ;
+C 54 ; WX 602 ; N six ; B 101 -18 634 741 ;
+C 55 ; WX 602 ; N seven ; B 137 0 679 723 ;
+C 56 ; WX 602 ; N eight ; B 91 -18 646 741 ;
+C 57 ; WX 602 ; N nine ; B 114 -18 663 741 ;
+C 58 ; WX 602 ; N colon ; B 229 0 480 530 ;
+C 59 ; WX 602 ; N semicolon ; B 198 -157 480 530 ;
+C 60 ; WX 602 ; N less ; B 94 0 664 518 ;
+C 61 ; WX 602 ; N equal ; B 70 139 636 379 ;
+C 62 ; WX 602 ; N greater ; B 42 0 612 518 ;
+C 63 ; WX 602 ; N question ; B 194 0 667 741 ;
+C 64 ; WX 602 ; N at ; B 62 -18 676 741 ;
+C 65 ; WX 602 ; N A ; B 6 0 596 723 ;
+C 66 ; WX 602 ; N B ; B 90 0 640 723 ;
+C 67 ; WX 602 ; N C ; B 75 -18 681 741 ;
+C 68 ; WX 602 ; N D ; B 63 0 687 723 ;
+C 69 ; WX 602 ; N E ; B 105 0 674 723 ;
+C 70 ; WX 602 ; N F ; B 120 0 711 723 ;
+C 71 ; WX 602 ; N G ; B 62 -18 687 741 ;
+C 72 ; WX 602 ; N H ; B 72 0 675 723 ;
+C 73 ; WX 602 ; N I ; B 84 0 663 723 ;
+C 74 ; WX 602 ; N J ; B 97 -18 508 723 ;
+C 75 ; WX 602 ; N K ; B 83 0 684 723 ;
+C 76 ; WX 602 ; N L ; B 108 0 556 723 ;
+C 77 ; WX 602 ; N M ; B 46 0 701 723 ;
+C 78 ; WX 602 ; N N ; B 72 0 675 723 ;
+C 79 ; WX 602 ; N O ; B 55 -18 691 741 ;
+C 80 ; WX 602 ; N P ; B 111 0 691 723 ;
+C 81 ; WX 602 ; N Q ; B 55 -157 691 741 ;
+C 82 ; WX 602 ; N R ; B 90 0 634 723 ;
+C 83 ; WX 602 ; N S ; B 83 -18 635 741 ;
+C 84 ; WX 602 ; N T ; B 142 0 735 723 ;
+C 85 ; WX 602 ; N U ; B 108 -18 589 723 ;
+C 86 ; WX 602 ; N V ; B 152 0 658 723 ;
+C 87 ; WX 602 ; N W ; B 101 0 739 723 ;
+C 88 ; WX 602 ; N X ; B 5 0 728 723 ;
+C 89 ; WX 602 ; N Y ; B 160 0 653 723 ;
+C 90 ; WX 602 ; N Z ; B 48 0 695 723 ;
+C 91 ; WX 602 ; N bracketleft ; B 188 -145 672 771 ;
+C 92 ; WX 602 ; N backslash ; B 190 -145 537 771 ;
+C 93 ; WX 602 ; N bracketright ; B 55 -145 540 771 ;
+C 94 ; WX 602 ; N asciicircum ; B 71 145 589 723 ;
+C 95 ; WX 602 ; N underscore ; B -14 -72 602 0 ;
+C 96 ; WX 602 ; N quoteleft ; B 323 470 528 771 ;
+C 97 ; WX 602 ; N a ; B 76 -9 581 542 ;
+C 98 ; WX 602 ; N b ; B 83 -12 637 771 ;
+C 99 ; WX 602 ; N c ; B 98 -12 616 542 ;
+C 100 ; WX 602 ; N d ; B 79 -12 680 771 ;
+C 101 ; WX 602 ; N e ; B 86 -12 606 542 ;
+C 102 ; WX 602 ; N f ; B 161 0 738 783 ;
+C 103 ; WX 602 ; N g ; B 80 -205 633 542 ;
+C 104 ; WX 602 ; N h ; B 89 0 603 771 ;
+C 105 ; WX 602 ; N i ; B 176 0 540 771 ;
+C 106 ; WX 602 ; N j ; B 36 -205 591 771 ;
+C 107 ; WX 602 ; N k ; B 104 0 633 771 ;
+C 108 ; WX 602 ; N l ; B 224 0 429 771 ;
+C 109 ; WX 602 ; N m ; B 45 0 648 542 ;
+C 110 ; WX 602 ; N n ; B 89 0 603 542 ;
+C 111 ; WX 602 ; N o ; B 70 -12 638 542 ;
+C 112 ; WX 602 ; N p ; B 48 -193 640 542 ;
+C 113 ; WX 602 ; N q ; B 71 -193 624 542 ;
+C 114 ; WX 602 ; N r ; B 151 0 648 542 ;
+C 115 ; WX 602 ; N s ; B 95 -12 591 542 ;
+C 116 ; WX 602 ; N t ; B 152 -12 631 633 ;
+C 117 ; WX 602 ; N u ; B 106 -12 620 530 ;
+C 118 ; WX 602 ; N v ; B 136 0 592 530 ;
+C 119 ; WX 602 ; N w ; B 103 0 702 530 ;
+C 120 ; WX 602 ; N x ; B 45 0 649 530 ;
+C 121 ; WX 602 ; N y ; B 30 -193 595 530 ;
+C 122 ; WX 602 ; N z ; B 66 0 633 530 ;
+C 123 ; WX 602 ; N braceleft ; B 169 -145 654 771 ;
+C 124 ; WX 602 ; N bar ; B 236 -145 419 771 ;
+C 125 ; WX 602 ; N braceright ; B 73 -145 558 771 ;
+C 126 ; WX 602 ; N asciitilde ; B 79 170 626 348 ;
+C 160 ; WX 602 ; N nbspace ; B 0 0 0 0 ;
+C 161 ; WX 602 ; N afii10023 ; B 105 0 674 867 ;
+C 162 ; WX 602 ; N afii10051 ; B 136 -6 659 723 ;
+C 163 ; WX 602 ; N afii10052 ; B 120 0 711 928 ;
+C 164 ; WX 602 ; N afii10053 ; B 76 -18 694 741 ;
+C 165 ; WX 602 ; N afii10054 ; B 83 -18 635 741 ;
+C 166 ; WX 602 ; N afii10055 ; B 84 0 663 723 ;
+C 167 ; WX 602 ; N afii10056 ; B 84 0 663 867 ;
+C 168 ; WX 602 ; N afii10057 ; B 97 -18 508 723 ;
+C 169 ; WX 602 ; N afii10058 ; B 0 0 660 723 ;
+C 170 ; WX 602 ; N afii10059 ; B 54 0 655 723 ;
+C 171 ; WX 602 ; N afii10060 ; B 133 0 646 723 ;
+C 172 ; WX 602 ; N afii10061 ; B 100 0 688 928 ;
+C 173 ; WX 602 ; N afii10050 ; B 120 0 739 867 ;
+C 174 ; WX 602 ; N afii10062 ; B 49 0 651 928 ;
+C 175 ; WX 602 ; N afii10145 ; B 72 -145 675 723 ;
+C 176 ; WX 602 ; N afii10017 ; B 6 0 596 723 ;
+C 177 ; WX 602 ; N afii10018 ; B 102 0 654 723 ;
+C 178 ; WX 602 ; N afii10019 ; B 90 0 640 723 ;
+C 179 ; WX 602 ; N afii10020 ; B 120 0 711 723 ;
+C 180 ; WX 602 ; N afii10021 ; B -15 -145 648 723 ;
+C 181 ; WX 602 ; N afii10022 ; B 105 0 674 723 ;
+C 182 ; WX 602 ; N afii10024 ; B 3 0 738 723 ;
+C 183 ; WX 602 ; N afii10025 ; B 53 -18 622 741 ;
+C 184 ; WX 602 ; N afii10026 ; B 72 0 675 723 ;
+C 185 ; WX 602 ; N afii10027 ; B 72 0 675 928 ;
+C 186 ; WX 602 ; N afii10028 ; B 100 0 688 723 ;
+C 187 ; WX 602 ; N afii10029 ; B 12 0 680 723 ;
+C 188 ; WX 602 ; N afii10030 ; B 42 0 705 723 ;
+C 189 ; WX 602 ; N afii10031 ; B 72 0 675 723 ;
+C 190 ; WX 602 ; N afii10032 ; B 30 -18 691 741 ;
+C 191 ; WX 602 ; N afii10033 ; B 72 0 675 723 ;
+C 192 ; WX 602 ; N afii10034 ; B 111 0 691 723 ;
+C 193 ; WX 602 ; N afii10035 ; B 75 -18 681 741 ;
+C 194 ; WX 602 ; N afii10036 ; B 142 0 735 723 ;
+C 195 ; WX 602 ; N afii10037 ; B 49 0 651 723 ;
+C 196 ; WX 602 ; N afii10038 ; B 55 0 691 723 ;
+C 197 ; WX 602 ; N afii10039 ; B 5 0 728 723 ;
+C 198 ; WX 602 ; N afii10040 ; B 59 -145 659 723 ;
+C 199 ; WX 602 ; N afii10041 ; B 132 0 553 723 ;
+C 200 ; WX 602 ; N afii10042 ; B 36 0 624 723 ;
+C 201 ; WX 602 ; N afii10043 ; B 36 -145 711 723 ;
+C 202 ; WX 602 ; N afii10044 ; B 139 0 645 723 ;
+C 203 ; WX 602 ; N afii10045 ; B 48 0 603 723 ;
+C 204 ; WX 602 ; N afii10046 ; B 111 0 633 723 ;
+C 205 ; WX 602 ; N afii10047 ; B 44 -18 673 741 ;
+C 206 ; WX 602 ; N afii10048 ; B 36 -18 705 741 ;
+C 207 ; WX 602 ; N afii10049 ; B 6 0 551 723 ;
+C 208 ; WX 602 ; N afii10065 ; B 76 -9 581 542 ;
+C 209 ; WX 602 ; N afii10066 ; B 81 -12 653 797 ;
+C 210 ; WX 602 ; N afii10067 ; B 91 0 593 530 ;
+C 211 ; WX 602 ; N afii10068 ; B 120 0 660 530 ;
+C 212 ; WX 602 ; N afii10069 ; B 2 -120 591 530 ;
+C 213 ; WX 602 ; N afii10070 ; B 86 -12 606 542 ;
+C 214 ; WX 602 ; N afii10072 ; B 13 0 657 530 ;
+C 215 ; WX 602 ; N afii10073 ; B 83 -12 592 542 ;
+C 216 ; WX 602 ; N afii10074 ; B 84 0 624 530 ;
+C 217 ; WX 602 ; N afii10075 ; B 84 0 624 771 ;
+C 218 ; WX 602 ; N afii10076 ; B 120 0 617 530 ;
+C 219 ; WX 602 ; N afii10077 ; B 21 0 612 530 ;
+C 220 ; WX 602 ; N afii10078 ; B 59 0 650 530 ;
+C 221 ; WX 602 ; N afii10079 ; B 84 0 624 530 ;
+C 222 ; WX 602 ; N afii10080 ; B 70 -12 638 542 ;
+C 223 ; WX 602 ; N afii10081 ; B 84 0 624 530 ;
+C 224 ; WX 602 ; N afii10082 ; B 48 -193 640 542 ;
+C 225 ; WX 602 ; N afii10083 ; B 98 -12 616 542 ;
+C 226 ; WX 602 ; N afii10084 ; B 128 0 672 530 ;
+C 227 ; WX 602 ; N afii10085 ; B 36 -193 601 530 ;
+C 228 ; WX 602 ; N afii10086 ; B 63 -193 660 723 ;
+C 229 ; WX 602 ; N afii10087 ; B 45 0 649 530 ;
+C 230 ; WX 602 ; N afii10088 ; B 78 -120 592 530 ;
+C 231 ; WX 602 ; N afii10089 ; B 123 0 495 530 ;
+C 232 ; WX 602 ; N afii10090 ; B 36 0 585 530 ;
+C 233 ; WX 602 ; N afii10091 ; B 36 -145 672 530 ;
+C 234 ; WX 602 ; N afii10092 ; B 113 0 591 530 ;
+C 235 ; WX 602 ; N afii10093 ; B 48 0 660 530 ;
+C 236 ; WX 602 ; N afii10094 ; B 127 0 576 530 ;
+C 237 ; WX 602 ; N afii10095 ; B 75 -12 599 542 ;
+C 238 ; WX 602 ; N afii10096 ; B 36 -12 684 542 ;
+C 239 ; WX 602 ; N afii10097 ; B 54 0 498 530 ;
+C 240 ; WX 602 ; N afii61352 ; B 0 0 695 723 ;
+C 241 ; WX 602 ; N afii10071 ; B 86 -12 613 711 ;
+C 242 ; WX 602 ; N afii10099 ; B 89 -205 586 771 ;
+C 243 ; WX 602 ; N afii10100 ; B 120 0 660 771 ;
+C 244 ; WX 602 ; N afii10101 ; B 112 -12 628 542 ;
+C 245 ; WX 602 ; N afii10102 ; B 95 -12 591 542 ;
+C 246 ; WX 602 ; N afii10103 ; B 176 0 540 771 ;
+C 247 ; WX 602 ; N afii10104 ; B 176 0 600 711 ;
+C 248 ; WX 602 ; N afii10105 ; B 36 -205 591 771 ;
+C 249 ; WX 602 ; N afii10106 ; B 6 0 643 530 ;
+C 250 ; WX 602 ; N afii10107 ; B 45 0 643 530 ;
+C 251 ; WX 602 ; N afii10108 ; B 89 0 586 771 ;
+C 252 ; WX 602 ; N afii10109 ; B 120 0 623 771 ;
+C 253 ; WX 602 ; N afii10098 ; B 120 0 684 651 ;
+C 254 ; WX 602 ; N afii10110 ; B 30 -193 631 771 ;
+C 255 ; WX 602 ; N afii10193 ; B 84 -120 624 530 ;
+C -1 ; WX 602 ; N sfthyphen ; B 155 265 567 337 ;
+C -1 ; WX 602 ; N degree ; B 300 524 547 741 ;
+C -1 ; WX 602 ; N registered ; B 165 307 647 741 ;
+C -1 ; WX 602 ; N copyright ; B 77 -18 670 741 ;
+C -1 ; WX 602 ; N trademark ; B 133 361 735 723 ;
+C -1 ; WX 602 ; N plusminus ; B 42 0 633 518 ;
+C -1 ; WX 602 ; N mu ; B 58 -145 621 530 ;
+C -1 ; WX 602 ; N logicalnot ; B 105 145 637 386 ;
+C -1 ; WX 602 ; N minus ; B 87 223 619 295 ;
+C -1 ; WX 602 ; N brokenbar ; B 236 -145 491 771 ;
+C -1 ; WX 602 ; N section ; B 81 -160 619 741 ;
+C -1 ; WX 602 ; N currency ; B 86 115 661 610 ;
+C -1 ; WX 602 ; N quotesingle ; B 359 470 431 771 ;
+C -1 ; WX 602 ; N quotedblleft ; B 221 506 636 771 ;
+C -1 ; WX 602 ; N guillemotleft ; B 109 42 623 485 ;
+C -1 ; WX 602 ; N guilsinglleft ; B 222 42 522 485 ;
+C -1 ; WX 602 ; N guilsinglright ; B 186 42 433 485 ;
+C -1 ; WX 602 ; N endash ; B 119 265 601 325 ;
+C -1 ; WX 602 ; N dagger ; B 176 -145 600 723 ;
+C -1 ; WX 602 ; N daggerdbl ; B 118 -145 600 723 ;
+C -1 ; WX 602 ; N periodcentered ; B 282 205 426 325 ;
+C -1 ; WX 602 ; N paragraph ; B 158 -145 634 723 ;
+C -1 ; WX 602 ; N bullet ; B 198 142 519 431 ;
+C -1 ; WX 602 ; N quotesinglbase ; B 198 -157 385 145 ;
+C -1 ; WX 602 ; N quotedblbase ; B 91 -145 506 120 ;
+C -1 ; WX 602 ; N quotedblright ; B 221 506 636 771 ;
+C -1 ; WX 602 ; N guillemotright ; B 84 42 598 485 ;
+C -1 ; WX 602 ; N ellipsis ; B 52 0 569 96 ;
+C -1 ; WX 602 ; N perthousand ; B -4 -18 645 741 ;
+C -1 ; WX 602 ; N grave ; B 313 626 547 771 ;
+C -1 ; WX 602 ; N acute ; B 306 626 443 771 ;
+C -1 ; WX 602 ; N circumflex ; B 264 626 589 771 ;
+C -1 ; WX 602 ; N tilde ; B 264 626 612 741 ;
+C -1 ; WX 602 ; N macron ; B 288 626 580 699 ;
+C -1 ; WX 602 ; N breve ; B 290 626 618 771 ;
+C -1 ; WX 602 ; N dotaccent ; B 349 626 494 723 ;
+C -1 ; WX 602 ; N dieresis ; B 247 626 582 711 ;
+C -1 ; WX 602 ; N ring ; B 304 626 545 803 ;
+C -1 ; WX 602 ; N cedilla ; B 206 -193 384 0 ;
+C -1 ; WX 602 ; N hungarumlaut ; B 272 626 633 771 ;
+C -1 ; WX 602 ; N ogonek ; B 173 -193 367 0 ;
+C -1 ; WX 602 ; N caron ; B 293 626 533 771 ;
+C -1 ; WX 602 ; N emdash ; B 83 265 637 325 ;
+C -1 ; WX 602 ; N dotlessi ; B 176 0 373 530 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/lstcyo.tfm b/fonts/cyrillic/ot2cyr/lstcyo.tfm
new file mode 100644
index 0000000000..7338c8e5c5
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lstcyo.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/lstcyr.afm b/fonts/cyrillic/ot2cyr/lstcyr.afm
new file mode 100644
index 0000000000..945cc2ffd4
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lstcyr.afm
@@ -0,0 +1,261 @@
+StartFontMetrics 2.0
+Comment CreationDate: 93/Aug/10
+Comment ModificationDate: 93/Aug/16
+Comment ModificationDate: 94/May/5
+Comment Lucida is a registered trademark of Bigelow & Holmes Inc.
+Comment UniqueID 5054466
+FontName LucidaSansTypCyr
+FullName Lucida Sans Typ Cyr
+FamilyName LucidaSansTypCyr
+Weight Normal
+ItalicAngle 0.0
+IsFixedPitch true
+UnderlinePosition -100
+UnderlineThickness 50
+Version 1.002
+Notice (c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.
+Notice (c) 1993 Y&Y Inc. All rights reserved.
+EncodingScheme FontSpecific
+FontBBox 0 -205 615 928
+CapHeight 723
+XHeight 530
+Descender -193
+Ascender 771
+StartCharMetrics 235
+C 32 ; WX 602 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 602 ; N exclam ; B 241 0 361 723 ;
+C 34 ; WX 602 ; N quotedbl ; B 120 506 482 771 ;
+C 35 ; WX 602 ; N numbersign ; B 26 0 583 723 ;
+C 36 ; WX 602 ; N dollar ; B 105 -60 517 783 ;
+C 37 ; WX 602 ; N percent ; B 0 -18 602 741 ;
+C 38 ; WX 602 ; N ampersand ; B 11 -18 602 741 ;
+C 39 ; WX 602 ; N quoteright ; B 229 470 374 771 ;
+C 40 ; WX 602 ; N parenleft ; B 169 -145 530 771 ;
+C 41 ; WX 602 ; N parenright ; B 72 -145 434 771 ;
+C 42 ; WX 602 ; N asterisk ; B 80 302 522 723 ;
+C 43 ; WX 602 ; N plus ; B 42 0 560 518 ;
+C 44 ; WX 602 ; N comma ; B 229 -157 374 145 ;
+C 45 ; WX 602 ; N hyphen ; B 102 223 500 295 ;
+C 46 ; WX 602 ; N period ; B 229 0 374 145 ;
+C 47 ; WX 602 ; N slash ; B 36 -145 566 771 ;
+C 48 ; WX 602 ; N zero ; B 54 -18 548 741 ;
+C 49 ; WX 602 ; N one ; B 90 0 572 741 ;
+C 50 ; WX 602 ; N two ; B 82 0 496 741 ;
+C 51 ; WX 602 ; N three ; B 114 -18 513 741 ;
+C 52 ; WX 602 ; N four ; B 54 0 542 723 ;
+C 53 ; WX 602 ; N five ; B 132 -18 503 723 ;
+C 54 ; WX 602 ; N six ; B 79 -18 548 741 ;
+C 55 ; WX 602 ; N seven ; B 98 0 534 723 ;
+C 56 ; WX 602 ; N eight ; B 78 -18 538 741 ;
+C 57 ; WX 602 ; N nine ; B 73 -18 541 741 ;
+C 58 ; WX 602 ; N colon ; B 229 0 374 530 ;
+C 59 ; WX 602 ; N semicolon ; B 229 -157 374 530 ;
+C 60 ; WX 602 ; N less ; B 42 0 560 518 ;
+C 61 ; WX 602 ; N equal ; B 42 139 560 379 ;
+C 62 ; WX 602 ; N greater ; B 42 0 560 518 ;
+C 63 ; WX 602 ; N question ; B 80 0 530 741 ;
+C 64 ; WX 602 ; N at ; B 36 -18 602 741 ;
+C 65 ; WX 602 ; N A ; B 6 0 596 723 ;
+C 66 ; WX 602 ; N B ; B 90 0 543 723 ;
+C 67 ; WX 602 ; N C ; B 50 -18 564 741 ;
+C 68 ; WX 602 ; N D ; B 63 0 565 723 ;
+C 69 ; WX 602 ; N E ; B 105 0 551 723 ;
+C 70 ; WX 602 ; N F ; B 120 0 566 723 ;
+C 71 ; WX 602 ; N G ; B 37 -18 551 741 ;
+C 72 ; WX 602 ; N H ; B 72 0 530 723 ;
+C 73 ; WX 602 ; N I ; B 84 0 518 723 ;
+C 74 ; WX 602 ; N J ; B 96 -18 455 723 ;
+C 75 ; WX 602 ; N K ; B 83 0 587 723 ;
+C 76 ; WX 602 ; N L ; B 108 0 542 723 ;
+C 77 ; WX 602 ; N M ; B 46 0 556 723 ;
+C 78 ; WX 602 ; N N ; B 72 0 530 723 ;
+C 79 ; WX 602 ; N O ; B 30 -18 572 741 ;
+C 80 ; WX 602 ; N P ; B 111 0 565 723 ;
+C 81 ; WX 602 ; N Q ; B 30 -157 615 741 ;
+C 82 ; WX 602 ; N R ; B 90 0 587 723 ;
+C 83 ; WX 602 ; N S ; B 80 -18 545 741 ;
+C 84 ; WX 602 ; N T ; B 12 0 590 723 ;
+C 85 ; WX 602 ; N U ; B 75 -18 528 723 ;
+C 86 ; WX 602 ; N V ; B 7 0 595 723 ;
+C 87 ; WX 602 ; N W ; B 8 0 594 723 ;
+C 88 ; WX 602 ; N X ; B 5 0 595 723 ;
+C 89 ; WX 602 ; N Y ; B 15 0 599 723 ;
+C 90 ; WX 602 ; N Z ; B 48 0 554 723 ;
+C 91 ; WX 602 ; N bracketleft ; B 217 -145 518 771 ;
+C 92 ; WX 602 ; N backslash ; B 36 -145 566 771 ;
+C 93 ; WX 602 ; N bracketright ; B 84 -145 386 771 ;
+C 94 ; WX 602 ; N asciicircum ; B 42 145 560 723 ;
+C 95 ; WX 602 ; N underscore ; B 0 -72 602 0 ;
+C 96 ; WX 602 ; N quoteleft ; B 229 470 374 771 ;
+C 97 ; WX 602 ; N a ; B 66 -9 577 542 ;
+C 98 ; WX 602 ; N b ; B 84 -12 548 771 ;
+C 99 ; WX 602 ; N c ; B 80 -12 539 542 ;
+C 100 ; WX 602 ; N d ; B 62 -12 526 771 ;
+C 101 ; WX 602 ; N e ; B 69 -12 536 542 ;
+C 102 ; WX 602 ; N f ; B 72 0 586 783 ; L i fi ; L l fl ;
+C 103 ; WX 602 ; N g ; B 60 -205 527 542 ;
+C 104 ; WX 602 ; N h ; B 89 0 517 771 ;
+C 105 ; WX 602 ; N i ; B 84 0 386 771 ;
+C 106 ; WX 602 ; N j ; B 72 -205 437 771 ;
+C 107 ; WX 602 ; N k ; B 104 0 580 771 ;
+C 108 ; WX 602 ; N l ; B 84 0 386 771 ;
+C 109 ; WX 602 ; N m ; B 45 0 557 542 ;
+C 110 ; WX 602 ; N n ; B 89 0 517 542 ;
+C 111 ; WX 602 ; N o ; B 51 -12 551 542 ;
+C 112 ; WX 602 ; N p ; B 87 -193 551 542 ;
+C 113 ; WX 602 ; N q ; B 54 -193 518 542 ;
+C 114 ; WX 602 ; N r ; B 151 0 542 542 ;
+C 115 ; WX 602 ; N s ; B 91 -12 515 542 ;
+C 116 ; WX 602 ; N t ; B 63 -12 538 633 ;
+C 117 ; WX 602 ; N u ; B 86 -12 514 530 ;
+C 118 ; WX 602 ; N v ; B 30 0 572 530 ;
+C 119 ; WX 602 ; N w ; B 6 0 596 530 ;
+C 120 ; WX 602 ; N x ; B 45 0 563 530 ;
+C 121 ; WX 602 ; N y ; B 41 -193 575 530 ;
+C 122 ; WX 602 ; N z ; B 66 0 536 530 ;
+C 123 ; WX 602 ; N braceleft ; B 114 -145 500 771 ;
+C 124 ; WX 602 ; N bar ; B 265 -145 337 771 ;
+C 125 ; WX 602 ; N braceright ; B 102 -145 488 771 ;
+C 126 ; WX 602 ; N asciitilde ; B 42 170 560 348 ;
+C 160 ; WX 602 ; N nbspace ; B 0 0 0 0 ;
+C 161 ; WX 602 ; N afii10023 ; B 105 0 551 867 ;
+C 162 ; WX 602 ; N afii10051 ; B 6 -6 584 723 ;
+C 163 ; WX 602 ; N afii10052 ; B 120 0 566 928 ;
+C 164 ; WX 602 ; N afii10053 ; B 51 -18 560 741 ;
+C 165 ; WX 602 ; N afii10054 ; B 80 -18 545 741 ;
+C 166 ; WX 602 ; N afii10055 ; B 84 0 518 723 ;
+C 167 ; WX 602 ; N afii10056 ; B 84 0 518 867 ;
+C 168 ; WX 602 ; N afii10057 ; B 96 -18 455 723 ;
+C 169 ; WX 602 ; N afii10058 ; B 0 0 590 723 ;
+C 170 ; WX 602 ; N afii10059 ; B 54 0 584 723 ;
+C 171 ; WX 602 ; N afii10060 ; B 3 0 572 723 ;
+C 172 ; WX 602 ; N afii10061 ; B 100 0 572 928 ;
+C 173 ; WX 602 ; N afii10050 ; B 120 0 566 867 ;
+C 174 ; WX 602 ; N afii10062 ; B 18 0 602 928 ;
+C 175 ; WX 602 ; N afii10145 ; B 72 -145 530 723 ;
+C 176 ; WX 602 ; N afii10017 ; B 6 0 596 723 ;
+C 177 ; WX 602 ; N afii10018 ; B 102 0 545 723 ;
+C 178 ; WX 602 ; N afii10019 ; B 90 0 543 723 ;
+C 179 ; WX 602 ; N afii10020 ; B 120 0 566 723 ;
+C 180 ; WX 602 ; N afii10021 ; B 14 -145 575 723 ;
+C 181 ; WX 602 ; N afii10022 ; B 105 0 551 723 ;
+C 182 ; WX 602 ; N afii10024 ; B 3 0 599 723 ;
+C 183 ; WX 602 ; N afii10025 ; B 51 -18 518 741 ;
+C 184 ; WX 602 ; N afii10026 ; B 72 0 530 723 ;
+C 185 ; WX 602 ; N afii10027 ; B 72 0 530 928 ;
+C 186 ; WX 602 ; N afii10028 ; B 100 0 572 723 ;
+C 187 ; WX 602 ; N afii10029 ; B 12 0 535 723 ;
+C 188 ; WX 602 ; N afii10030 ; B 42 0 560 723 ;
+C 189 ; WX 602 ; N afii10031 ; B 72 0 530 723 ;
+C 190 ; WX 602 ; N afii10032 ; B 30 -18 572 741 ;
+C 191 ; WX 602 ; N afii10033 ; B 72 0 530 723 ;
+C 192 ; WX 602 ; N afii10034 ; B 111 0 565 723 ;
+C 193 ; WX 602 ; N afii10035 ; B 50 -18 564 741 ;
+C 194 ; WX 602 ; N afii10036 ; B 12 0 590 723 ;
+C 195 ; WX 602 ; N afii10037 ; B 18 0 602 723 ;
+C 196 ; WX 602 ; N afii10038 ; B 15 0 587 723 ;
+C 197 ; WX 602 ; N afii10039 ; B 5 0 595 723 ;
+C 198 ; WX 602 ; N afii10040 ; B 59 -145 586 723 ;
+C 199 ; WX 602 ; N afii10041 ; B 71 0 505 723 ;
+C 200 ; WX 602 ; N afii10042 ; B 36 0 566 723 ;
+C 201 ; WX 602 ; N afii10043 ; B 36 -145 602 723 ;
+C 202 ; WX 602 ; N afii10044 ; B 9 0 584 723 ;
+C 203 ; WX 602 ; N afii10045 ; B 48 0 554 723 ;
+C 204 ; WX 602 ; N afii10046 ; B 111 0 572 723 ;
+C 205 ; WX 602 ; N afii10047 ; B 42 -18 551 741 ;
+C 206 ; WX 602 ; N afii10048 ; B 36 -18 584 741 ;
+C 207 ; WX 602 ; N afii10049 ; B 6 0 518 723 ;
+C 208 ; WX 602 ; N afii10065 ; B 66 -9 577 542 ;
+C 209 ; WX 602 ; N afii10066 ; B 60 -12 551 797 ;
+C 210 ; WX 602 ; N afii10067 ; B 91 0 525 530 ;
+C 211 ; WX 602 ; N afii10068 ; B 120 0 554 530 ;
+C 212 ; WX 602 ; N afii10069 ; B 26 -120 577 530 ;
+C 213 ; WX 602 ; N afii10070 ; B 69 -12 536 542 ;
+C 214 ; WX 602 ; N afii10072 ; B 13 0 590 530 ;
+C 215 ; WX 602 ; N afii10073 ; B 79 -12 517 542 ;
+C 216 ; WX 602 ; N afii10074 ; B 84 0 518 530 ;
+C 217 ; WX 602 ; N afii10075 ; B 84 0 518 771 ;
+C 218 ; WX 602 ; N afii10076 ; B 120 0 536 530 ;
+C 219 ; WX 602 ; N afii10077 ; B 21 0 506 530 ;
+C 220 ; WX 602 ; N afii10078 ; B 59 0 544 530 ;
+C 221 ; WX 602 ; N afii10079 ; B 84 0 518 530 ;
+C 222 ; WX 602 ; N afii10080 ; B 51 -12 551 542 ;
+C 223 ; WX 602 ; N afii10081 ; B 84 0 518 530 ;
+C 224 ; WX 602 ; N afii10082 ; B 87 -193 551 542 ;
+C 225 ; WX 602 ; N afii10083 ; B 80 -12 539 542 ;
+C 226 ; WX 602 ; N afii10084 ; B 36 0 566 530 ;
+C 227 ; WX 602 ; N afii10085 ; B 47 -193 581 530 ;
+C 228 ; WX 602 ; N afii10086 ; B 30 -193 572 723 ;
+C 229 ; WX 602 ; N afii10087 ; B 45 0 563 530 ;
+C 230 ; WX 602 ; N afii10088 ; B 78 -120 578 530 ;
+C 231 ; WX 602 ; N afii10089 ; B 60 0 485 530 ;
+C 232 ; WX 602 ; N afii10090 ; B 36 0 566 530 ;
+C 233 ; WX 602 ; N afii10091 ; B 36 -145 602 530 ;
+C 234 ; WX 602 ; N afii10092 ; B 21 0 545 530 ;
+C 235 ; WX 602 ; N afii10093 ; B 48 0 554 530 ;
+C 236 ; WX 602 ; N afii10094 ; B 127 0 530 530 ;
+C 237 ; WX 602 ; N afii10095 ; B 72 -12 527 542 ;
+C 238 ; WX 602 ; N afii10096 ; B 36 -12 596 542 ;
+C 239 ; WX 602 ; N afii10097 ; B 54 0 498 530 ;
+C 240 ; WX 602 ; N afii61352 ; B 0 0 602 723 ;
+C 241 ; WX 602 ; N afii10071 ; B 69 -12 536 711 ;
+C 242 ; WX 602 ; N afii10099 ; B 17 -205 517 771 ;
+C 243 ; WX 602 ; N afii10100 ; B 120 0 554 771 ;
+C 244 ; WX 602 ; N afii10101 ; B 75 -12 530 542 ;
+C 245 ; WX 602 ; N afii10102 ; B 91 -12 515 542 ;
+C 246 ; WX 602 ; N afii10103 ; B 84 0 386 771 ;
+C 247 ; WX 602 ; N afii10104 ; B 84 0 458 711 ;
+C 248 ; WX 602 ; N afii10105 ; B 72 -205 437 771 ;
+C 249 ; WX 602 ; N afii10106 ; B 6 0 590 530 ;
+C 250 ; WX 602 ; N afii10107 ; B 45 0 590 530 ;
+C 251 ; WX 602 ; N afii10108 ; B 17 0 517 771 ;
+C 252 ; WX 602 ; N afii10109 ; B 120 0 536 771 ;
+C 253 ; WX 602 ; N afii10098 ; B 120 0 554 651 ;
+C 254 ; WX 602 ; N afii10110 ; B 41 -193 575 771 ;
+C 255 ; WX 602 ; N afii10193 ; B 84 -120 518 530 ;
+C -1 ; WX 602 ; N currency ; B 54 115 548 610 ;
+C -1 ; WX 602 ; N section ; B 106 -160 501 741 ;
+C -1 ; WX 602 ; N paragraph ; B 61 -145 489 723 ;
+C -1 ; WX 602 ; N quotesingle ; B 229 470 374 771 ;
+C -1 ; WX 602 ; N quotesinglbase ; B 229 -157 374 145 ;
+C -1 ; WX 602 ; N quotedblleft ; B 120 506 482 771 ;
+C -1 ; WX 602 ; N quotedblright ; B 120 506 482 771 ;
+C -1 ; WX 602 ; N quotedblbase ; B 120 -145 482 120 ;
+C -1 ; WX 602 ; N guilsinglleft ; B 170 42 433 485 ;
+C -1 ; WX 602 ; N guilsinglright ; B 170 42 433 485 ;
+C -1 ; WX 602 ; N guillemotleft ; B 57 42 534 485 ;
+C -1 ; WX 602 ; N guillemotright ; B 68 42 545 485 ;
+C -1 ; WX 602 ; N dagger ; B 96 -145 506 723 ;
+C -1 ; WX 602 ; N daggerdbl ; B 96 -145 506 723 ;
+C -1 ; WX 602 ; N periodcentered ; B 241 205 361 325 ;
+C -1 ; WX 602 ; N bullet ; B 157 142 446 431 ;
+C -1 ; WX 602 ; N ellipsis ; B 52 0 550 96 ;
+C -1 ; WX 602 ; N perthousand ; B 0 -18 602 741 ;
+C -1 ; WX 602 ; N endash ; B 66 265 536 325 ;
+C -1 ; WX 602 ; N emdash ; B 30 265 572 325 ;
+C -1 ; WX 602 ; N registered ; B 84 307 518 741 ;
+C -1 ; WX 602 ; N trademark ; B 0 361 590 723 ;
+C -1 ; WX 602 ; N copyright ; B 30 -18 572 741 ;
+C -1 ; WX 602 ; N brokenbar ; B 265 -145 337 771 ;
+C -1 ; WX 602 ; N sfthyphen ; B 102 265 500 337 ;
+C -1 ; WX 602 ; N logicalnot ; B 42 145 560 386 ;
+C -1 ; WX 602 ; N degree ; B 192 524 408 741 ;
+C -1 ; WX 602 ; N plusminus ; B 42 0 560 518 ;
+C -1 ; WX 602 ; N mu ; B 87 -145 515 530 ;
+C -1 ; WX 602 ; N minus ; B 42 223 560 295 ;
+C -1 ; WX 602 ; N dotlessi ; B 84 0 373 530 ;
+C -1 ; WX 602 ; N grave ; B 205 626 422 771 ;
+C -1 ; WX 602 ; N acute ; B 181 626 398 771 ;
+C -1 ; WX 602 ; N circumflex ; B 139 626 464 771 ;
+C -1 ; WX 602 ; N tilde ; B 139 626 464 741 ;
+C -1 ; WX 602 ; N macron ; B 163 626 440 699 ;
+C -1 ; WX 602 ; N breve ; B 139 626 464 771 ;
+C -1 ; WX 602 ; N dotaccent ; B 253 626 349 723 ;
+C -1 ; WX 602 ; N dieresis ; B 163 626 440 711 ;
+C -1 ; WX 602 ; N ring ; B 216 626 392 803 ;
+C -1 ; WX 602 ; N cedilla ; B 242 -193 403 0 ;
+C -1 ; WX 602 ; N hungarumlaut ; B 147 626 479 771 ;
+C -1 ; WX 602 ; N ogonek ; B 206 -193 367 0 ;
+C -1 ; WX 602 ; N caron ; B 139 626 464 771 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/lstcyr.tfm b/fonts/cyrillic/ot2cyr/lstcyr.tfm
new file mode 100644
index 0000000000..13fc70fc54
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/lstcyr.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/makecyr.tex b/fonts/cyrillic/ot2cyr/makecyr.tex
new file mode 100644
index 0000000000..aa91884651
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/makecyr.tex
@@ -0,0 +1,69 @@
+%% makecyr.tex
+%% Copyright 1995 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+% Sebastian Rahtz, October 14th 1995
+% Control file to build Cyrillic OT2 metrics for Lucida Sans
+% and Monotype Times
+%
+\input fontinst.sty
+
+\needsfontinstversion{1.317}
+%
+% 7k for TeX Cyrillic
+%
+\def\LucidaCyrillicFont#1#2#3#4#5#6{% Berry name, Y&Y name, series, shape,
+ % alternate base, family
+ \transformfont{#58r}{\reencodefont{8r}{\fromafm{#58a}}}
+ \installfont{#17k}
+ {#2,#58r,AFIIcyr}
+ {AFIIOT2}{OT2}{#6}{#3}{#4}{}
+}
+\def\TimesCyrillicFont#1#2#3#4{% Berry base name, series, shape, alternate
+ \transformfont{#48r}{\reencodefont{8r}{\fromafm{#48a}}}
+ \installfont{#17k}
+ {#1z,#48r,monocyr}
+ {monoOT2}{OT2}{mnt}{#2}{#3}{}
+}
+\installfonts
+ \installfamily{OT2}{hls}{}
+ \LucidaCyrillicFont{hlsb}{lscyb}{b}{n}{hlsb}{hls}
+ \LucidaCyrillicFont{hlsbo}{lscybo}{b}{it}{hlsbi}{hls}
+ \LucidaCyrillicFont{hlsro}{lscyo}{m}{n}{hlsri}{hls}
+ \LucidaCyrillicFont{hlsr}{lscyr}{m}{it}{hlsr}{hls}
+
+ \installfamily{OT2}{hlst}{}
+ \LucidaCyrillicFont{hlsbt}{lstcyb}{b}{n}{hlsbt}{hlst}
+ \LucidaCyrillicFont{hlsbot}{lstcybo}{b}{it}{hlsbot}{hlst}
+ \LucidaCyrillicFont{hlsrot}{lstcyo}{m}{n}{hlsrot}{hlst}
+ \LucidaCyrillicFont{hlsrt}{lstcyr}{m}{it}{hlsrt}{hlst}
+
+ \installfamily{OT2}{mnt}{}
+ \TimesCyrillicFont{mntr}{m}{n}{mntr}
+ \TimesCyrillicFont{mntro}{m}{it}{mntri}
+ \TimesCyrillicFont{mntb}{b}{n}{mntb}
+ \TimesCyrillicFont{mntbo}{b}{it}{mntbi}
+\endinstallfonts
+\bye
+
+% The Latin 2 fonts, havent thought about these yet.
+% lstl2b LucidaSansTypLat2-Bold
+% lstl2bo LucidaSansTypLat2-BoldObl
+% lstl2o LucidaSansTypLat2-Obl
+% lstl2r LucidaSansTypLat2
+% lsl2b LucidaSansLat2-Bold
+% lsl2bo LucidaSansLat2-BoldObl
+% lsl2o LucidaSansLat2-Obl
+% lsl2r LucidaSansLat2
diff --git a/fonts/cyrillic/ot2cyr/manifest.txt b/fonts/cyrillic/ot2cyr/manifest.txt
new file mode 100644
index 0000000000..3ee6a3f517
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/manifest.txt
@@ -0,0 +1,69 @@
+manifest.txt
+AFIIOT2.etx
+AFIIcyr.mtx
+OT2enc.def
+OT2hls.fd
+OT2hlst.fd
+OT2info.tex
+OT2mnt.fd
+OT2test.tex
+OT2wncyr.fd
+OT2wncyss.fd
+README
+go
+hlsb7k.tfm
+hlsb7k.vf
+hlsbo7k.tfm
+hlsbo7k.vf
+hlsbot7k.tfm
+hlsbot7k.vf
+hlsbt7k.tfm
+hlsbt7k.vf
+hlsr7k.tfm
+hlsr7k.vf
+hlsro7k.tfm
+hlsro7k.vf
+hlsrot7k.tfm
+hlsrot7k.vf
+hlsrt7k.tfm
+hlsrt7k.vf
+lscy.map
+lscyb.afm
+lscyb.mtx
+lscyb.tfm
+lscybo.afm
+lscybo.tfm
+lscyo.afm
+lscyo.tfm
+lscyr.afm
+lscyr.tfm
+lstcyb.afm
+lstcyb.tfm
+lstcybo.afm
+lstcybo.tfm
+lstcyo.afm
+lstcyo.tfm
+lstcyr.afm
+lstcyr.tfm
+makecyr.tex
+manifest.txt
+mntb7k.tfm
+mntb7k.vf
+mntbo7k.tfm
+mntbo7k.vf
+mntboz.afm
+mntboz.tfm
+mntbz.afm
+mntbz.tfm
+mntr7k.tfm
+mntr7k.vf
+mntro7k.tfm
+mntro7k.vf
+mntroz.afm
+mntroz.tfm
+mntrz.afm
+mntrz.tfm
+mntz.map
+monoOT2.etx
+monocyr.mtx
+wncyrps.vec
diff --git a/fonts/cyrillic/ot2cyr/mntb7k.tfm b/fonts/cyrillic/ot2cyr/mntb7k.tfm
new file mode 100644
index 0000000000..715ae93dbd
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntb7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntb7k.vf b/fonts/cyrillic/ot2cyr/mntb7k.vf
new file mode 100644
index 0000000000..84a4e77608
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntb7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntbo7k.tfm b/fonts/cyrillic/ot2cyr/mntbo7k.tfm
new file mode 100644
index 0000000000..c2ddcc7217
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntbo7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntbo7k.vf b/fonts/cyrillic/ot2cyr/mntbo7k.vf
new file mode 100644
index 0000000000..2d867106b6
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntbo7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntboz.afm b/fonts/cyrillic/ot2cyr/mntboz.afm
new file mode 100644
index 0000000000..5232713e52
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntboz.afm
@@ -0,0 +1,201 @@
+StartFontMetrics 2.0
+Comment Copyright (c) 1990 Adobe Systems Incorporated. All rights reserved
+Comment Creation Date: Thu Jun 21 09:29:37 1990
+Comment UniqueID 263855
+Comment VMusage 41192 49210
+FontName MTimesNewRomanCyrillic-BolInc
+FullName Times Cyrillic Bold Inclined
+FamilyName Times New Roman Cyrillic Bold Inclined
+Weight Bold
+ItalicAngle -15
+IsFixedPitch false
+FontBBox -155 -212 1159 877
+UnderlinePosition -181
+UnderlineThickness 61
+Version 2
+Notice Copyright (c) 1990 Adobe Systems Incorporated. All rights reservedTimes New Roman Cyrillic Bold Inclined is a trademark of the Monotype Corporation plc
+EncodingScheme FontSpecific
+StartCharMetrics 181
+C 32 ; WX 333 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 271 ; N exclam ; B 24 -12 326 705 ;
+C 34 ; WX 719 ; N E ; B 34 -15 687 702 ;
+C 35 ; WX 583 ; N slash ; B 53 -18 530 696 ;
+C 36 ; WX 385 ; N question ; B 72 -12 451 705 ;
+C 37 ; WX 333 ; N colon ; B 42 -12 291 457 ;
+C 38 ; WX 271 ; N period ; B 39 -12 200 148 ;
+C 39 ; WX 438 ; N e ; B 14 -12 405 457 ;
+C 40 ; WX 500 ; N parenleft ; B 101 -187 487 693 ;
+C 41 ; WX 500 ; N parenright ; B 13 -187 399 693 ;
+C 42 ; WX 333 ; N semicolon ; B 16 -187 319 457 ;
+C 43 ; WX 667 ; N plus ; B 62 0 605 542 ;
+C 44 ; WX 500 ; N buki ; B 38 -12 530 702 ;
+C 45 ; WX 333 ; N hyphen ; B 24 180 310 284 ;
+C 46 ; WX 719 ; N ju ; B 9 -6 694 457 ;
+C 47 ; WX 438 ; N jehstdieresis ; B 29 -12 480 672 ;
+C 48 ; WX 500 ; N zero ; B 35 -12 499 698 ;
+C 49 ; WX 500 ; N one ; B 19 0 444 698 ;
+C 50 ; WX 500 ; N two ; B 20 0 469 702 ;
+C 51 ; WX 500 ; N three ; B 17 -12 465 702 ;
+C 52 ; WX 500 ; N four ; B 18 -15 500 698 ;
+C 53 ; WX 500 ; N five ; B 19 -12 493 687 ;
+C 54 ; WX 500 ; N six ; B 19 -12 527 698 ;
+C 55 ; WX 500 ; N seven ; B 81 -15 537 687 ;
+C 56 ; WX 500 ; N eight ; B 17 -12 492 702 ;
+C 57 ; WX 500 ; N nine ; B 17 -16 502 698 ;
+C 58 ; WX 1000 ; N Schiwete ; B 21 0 1073 694 ;
+C 59 ; WX 1000 ; N schiwete ; B 24 -12 985 457 ;
+C 60 ; WX 667 ; N Buki ; B 17 0 715 687 ;
+C 61 ; WX 667 ; N equal ; B 62 104 605 439 ;
+C 62 ; WX 1156 ; N Ju ; B 18 -15 1136 702 ;
+C 63 ; WX 667 ; N Jehstdieresis ; B 21 0 711 877 ;
+C 64 ; WX 1052 ; N nosign ; B 21 -15 1031 687 ;
+C 65 ; WX 823 ; N Fert ; B 83 0 814 687 ;
+C 66 ; WX 823 ; N Ische ; B 10 0 903 687 ;
+C 67 ; WX 719 ; N Ssiowo ; B 87 -15 805 702 ;
+C 68 ; WX 667 ; N Wjedi ; B 17 0 688 687 ;
+C 69 ; WX 771 ; N U ; B 87 -15 857 687 ;
+C 70 ; WX 719 ; N As ; B 8 0 634 701 ;
+C 71 ; WX 823 ; N Pakoy ; B 11 0 905 687 ;
+C 72 ; WX 667 ; N Rzui ; B 15 0 685 687 ;
+C 73 ; WX 1000 ; N Scha ; B 31 0 1085 687 ;
+C 74 ; WX 771 ; N On ; B 91 -15 789 702 ;
+C 75 ; WX 771 ; N Ljudi ; B 17 -8 853 687 ;
+C 76 ; WX 771 ; N Dobro ; B 5 -193 834 687 ;
+C 77 ; WX 667 ; N Jher ; B 18 0 632 687 ;
+C 78 ; WX 667 ; N Twerdo ; B 110 0 735 687 ;
+C 79 ; WX 1000 ; N Schtscha ; B 31 -193 1085 687 ;
+C 80 ; WX 500 ; N Semlja ; B 23 -15 527 702 ;
+C 81 ; WX 823 ; N Ischedipthong ; B 10 0 903 867 ;
+C 82 ; WX 719 ; N Kako ; B 18 0 791 694 ;
+C 83 ; WX 1000 ; N Jerui ; B 14 0 1082 687 ;
+C 84 ; WX 667 ; N Jehst ; B 21 0 711 687 ;
+C 85 ; WX 667 ; N Glagol ; B 37 0 762 687 ;
+C 86 ; WX 990 ; N Muislete ; B 6 0 1069 687 ;
+C 87 ; WX 823 ; N Zui ; B 17 -193 903 687 ;
+C 88 ; WX 771 ; N Tscherw ; B 142 0 852 687 ;
+C 89 ; WX 823 ; N Nasche ; B 15 0 903 687 ;
+C 90 ; WX 771 ; N Ja ; B 12 0 850 687 ;
+C 91 ; WX 552 ; N chherr ; B 20 -12 531 457 ;
+C 92 ; WX 500 ; N guillemotright ; B 51 29 507 481 ;
+C 93 ; WX 438 ; N jerr ; B 31 -12 414 446 ;
+C 94 ; WX 271 ; N comma ; B -2 -187 203 121 ;
+C 95 ; WX 500 ; N underscore ; B -7 -212 505 -150 ;
+C 96 ; WX 500 ; N guillemotleft ; B 22 29 478 481 ;
+C 97 ; WX 719 ; N fert ; B 32 -212 698 702 ;
+C 98 ; WX 500 ; N ische ; B 26 -12 497 452 ;
+C 99 ; WX 438 ; N ssiowo ; B 51 -12 442 457 ;
+C 100 ; WX 438 ; N wjedi ; B 23 -12 424 457 ;
+C 101 ; WX 500 ; N u ; B -58 -212 480 457 ;
+C 102 ; WX 500 ; N as ; B 26 -12 489 457 ;
+C 103 ; WX 500 ; N pakoy ; B 11 -6 481 457 ;
+C 104 ; WX 500 ; N rzui ; B -104 -211 476 457 ;
+C 105 ; WX 771 ; N scha ; B 24 -12 769 451 ;
+C 106 ; WX 500 ; N on ; B 26 -12 473 457 ;
+C 107 ; WX 500 ; N ljudi ; B -15 -12 475 457 ;
+C 108 ; WX 500 ; N dobro ; B 28 -12 477 702 ;
+C 109 ; WX 438 ; N jher ; B 43 -12 413 457 ;
+C 110 ; WX 771 ; N twerdo ; B 6 -6 754 457 ;
+C 111 ; WX 771 ; N schtscha ; B 24 -192 769 451 ;
+C 112 ; WX 438 ; N semlja ; B 23 -12 412 457 ;
+C 113 ; WX 500 ; N ischedipthong ; B 30 -12 499 638 ;
+C 114 ; WX 500 ; N kako ; B 11 0 497 457 ;
+C 115 ; WX 667 ; N jerui ; B 43 -12 669 457 ;
+C 116 ; WX 438 ; N jehst ; B 29 -12 422 457 ;
+C 117 ; WX 438 ; N glagol ; B 22 -12 410 457 ;
+C 118 ; WX 719 ; N muislette ; B 19 -12 701 446 ;
+C 119 ; WX 500 ; N zui ; B 30 -192 499 451 ;
+C 120 ; WX 500 ; N tscherw ; B 62 -12 484 451 ;
+C 121 ; WX 500 ; N nasch ; B 9 -6 500 451 ;
+C 122 ; WX 552 ; N ja ; B 15 -12 536 446 ;
+C 123 ; WX 719 ; N Chherr ; B 12 0 799 687 ;
+C 124 ; WX 271 ; N quoteleft ; B 117 396 322 702 ;
+C 125 ; WX 719 ; N Jerr ; B 70 0 684 687 ;
+C 126 ; WX 271 ; N quoteright ; B 103 393 307 705 ;
+C 161 ; WX 385 ; N Idieresis ; B 14 0 523 877 ;
+C 162 ; WX 875 ; N percent ; B 30 -28 844 702 ;
+C 163 ; WX 771 ; N Ubreve ; B 87 -15 857 867 ;
+C 164 ; WX 719 ; N ampersand ; B 37 -15 699 702 ;
+C 165 ; WX 271 ; N idieresis ; B 17 -12 370 672 ;
+C 166 ; WX 604 ; N section ; B 61 -194 616 705 ;
+C 167 ; WX 667 ; N jeruiacute ; B 43 -12 669 693 ;
+C 168 ; WX 500 ; N kakoacute ; B 11 0 497 693 ;
+C 169 ; WX 354 ; N bullet ; B 32 209 321 498 ;
+C 170 ; WX 500 ; N quotedblleft ; B 131 393 551 702 ;
+C 171 ; WX 333 ; N acute ; B 209 506 417 679 ;
+C 172 ; WX 333 ; N dieresis ; B 114 515 425 643 ;
+C 173 ; WX 438 ; N yeacute ; B 41 -12 482 693 ;
+C 174 ; WX 719 ; N Ye ; B 74 -14 791 702 ;
+C 175 ; WX 719 ; N Eacute ; B 34 -15 687 849 ;
+C 176 ; WX 667 ; N numbersign ; B 38 -80 629 624 ;
+C 177 ; WX 719 ; N Yeacute ; B 74 -14 791 849 ;
+C 178 ; WX 281 ; N quotesingle ; B 156 352 314 677 ;
+C 179 ; WX 552 ; N quotedbl ; B 86 352 466 677 ;
+C 180 ; WX 719 ; N nj ; B 20 -6 687 457 ;
+C 181 ; WX 667 ; N jat ; B 18 -6 641 451 ;
+C 182 ; WX 385 ; N zelo ; B 17 -6 372 457 ;
+C 183 ; WX 500 ; N dsche ; B 17 -192 499 451 ;
+C 184 ; WX 823 ; N Ischeacute ; B 10 0 903 849 ;
+C 185 ; WX 500 ; N ischeacute ; B 26 -12 497 693 ;
+C 186 ; WX 500 ; N bukiserb ; B 28 -12 578 702 ;
+C 187 ; WX 500 ; N jschiza ; B 63 -12 526 457 ;
+C 188 ; WX 500 ; N fita ; B 26 -12 474 457 ;
+C 189 ; WX 552 ; N jaacute ; B 15 -12 536 693 ;
+C 190 ; WX 438 ; N ye ; B 41 -12 482 457 ;
+C 191 ; WX 438 ; N eacute ; B 14 -12 423 693 ;
+C 192 ; WX 1156 ; N Juacute ; B 18 -15 1136 849 ;
+C 193 ; WX 500 ; N asterisk ; B 147 325 536 705 ;
+C 194 ; WX 500 ; N djsche ; B 12 -212 478 702 ;
+C 195 ; WX 271 ; N je ; B -155 -210 300 705 ;
+C 196 ; WX 500 ; N asacute ; B 26 -12 494 692 ;
+C 197 ; WX 500 ; N tjsche ; B 12 -6 481 702 ;
+C 198 ; WX 500 ; N onacute ; B 26 -12 473 693 ;
+C 199 ; WX 583 ; N backslash ; B 51 -18 532 696 ;
+C 200 ; WX 583 ; N vertical ; B 239 -135 345 696 ;
+C 201 ; WX 271 ; N i ; B 17 -12 303 705 ;
+C 206 ; WX 667 ; N Jehstacute ; B 21 0 711 849 ;
+C 207 ; WX 438 ; N jehstacute ; B 29 -12 476 692 ;
+C 208 ; WX 500 ; N endash ; B -7 202 507 264 ;
+C 209 ; WX 1000 ; N emdash ; B -7 202 1007 264 ;
+C 210 ; WX 438 ; N glagolmac ; B 11 0 451 693 ;
+C 211 ; WX 667 ; N Glagolmac ; B 37 0 762 849 ;
+C 212 ; WX 500 ; N uacute ; B -58 -212 480 693 ;
+C 213 ; WX 771 ; N Uacute ; B 87 -15 857 849 ;
+C 214 ; WX 719 ; N juacute ; B 9 -6 694 693 ;
+C 215 ; WX 500 ; N Je ; B 22 -15 583 687 ;
+C 217 ; WX 1000 ; N ellipsis ; B 87 -12 913 151 ;
+C 218 ; WX 271 ; N periodcentered ; B 55 311 215 472 ;
+C 219 ; WX 500 ; N quotedblbase ; B 40 -185 460 122 ;
+C 220 ; WX 500 ; N ubreve ; B -58 -212 480 638 ;
+C 221 ; WX 500 ; N quotedblright ; B 131 393 551 705 ;
+C 222 ; WX 896 ; N schiwetebulg ; B 6 -12 871 702 ;
+C 223 ; WX 271 ; N glagolserb ; B 15 -12 319 587 ;
+C 224 ; WX 500 ; N dobroserb ; B -42 -212 493 452 ;
+C 225 ; WX 719 ; N Jschiza ; B 172 -15 801 694 ;
+C 226 ; WX 771 ; N Fita ; B 50 -15 748 702 ;
+C 227 ; WX 823 ; N Dsche ; B 17 -193 903 687 ;
+C 228 ; WX 771 ; N schiweteserb ; B 14 0 768 451 ;
+C 229 ; WX 719 ; N Kakoacute ; B 18 0 791 849 ;
+C 230 ; WX 500 ; N wjediserb ; B 22 -12 476 702 ;
+C 231 ; WX 1000 ; N Nj ; B 21 0 973 687 ;
+C 232 ; WX 667 ; N muisletteserb ; B 17 0 680 446 ;
+C 233 ; WX 500 ; N pakoyserb ; B 30 -12 502 587 ;
+C 234 ; WX 1000 ; N Jeruiacute ; B 14 0 1082 849 ;
+C 235 ; WX 604 ; N Zelo ; B 20 -15 652 702 ;
+C 236 ; WX 719 ; N Asacute ; B 8 0 764 849 ;
+C 237 ; WX 771 ; N twerdoserb ; B 24 -12 769 587 ;
+C 238 ; WX 719 ; N fertserb ; B 32 -211 693 702 ;
+C 239 ; WX 771 ; N Onacute ; B 91 -15 789 849 ;
+C 240 ; WX 1000 ; N Elj ; B 41 -8 969 687 ;
+C 241 ; WX 823 ; N Djsche ; B 49 -8 789 687 ;
+C 242 ; WX 385 ; N I ; B 14 0 471 687 ;
+C 243 ; WX 771 ; N Jaacute ; B 12 0 850 849 ;
+C 244 ; WX 823 ; N Tjsche ; B 50 0 745 687 ;
+C 245 ; WX 271 ; N dotlessi ; B 16 -12 259 457 ;
+C 246 ; WX 1073 ; N Schiwetebulg ; B 19 0 1159 687 ;
+C 247 ; WX 719 ; N Jat ; B 70 0 683 687 ;
+C 248 ; WX 500 ; N zuiserb ; B 22 -193 493 452 ;
+C 249 ; WX 396 ; N degree ; B 29 338 367 676 ;
+C 250 ; WX 698 ; N currency ; B 78 75 591 587 ;
+C 251 ; WX 719 ; N elj ; B 17 -12 687 457 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/mntboz.tfm b/fonts/cyrillic/ot2cyr/mntboz.tfm
new file mode 100644
index 0000000000..a53fe72710
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntboz.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntbz.afm b/fonts/cyrillic/ot2cyr/mntbz.afm
new file mode 100644
index 0000000000..01621f629a
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntbz.afm
@@ -0,0 +1,193 @@
+StartFontMetrics 2.0
+Comment Copyright (c) 1990 Adobe Systems Incorporated. All rights reserved
+Comment Creation Date: Thu Jun 21 09:23:46 1990
+Comment UniqueID 263854
+Comment VMusage 35463 43083
+FontName MTimesNewRomanCyrillic-Bold
+FullName Times Cyrillic Bold Upright
+FamilyName Times New Roman Cyrillic Bold
+Weight Bold
+ItalicAngle 0
+IsFixedPitch false
+FontBBox -21 -212 1112 878
+UnderlinePosition -181
+UnderlineThickness 61
+Version 3
+Notice Copyright (c) 1990 Adobe Systems Incorporated. All rights reservedTimes New Roman Cyrillic Bold is a trademark of the Monotype Corporation plc
+EncodingScheme FontSpecific
+StartCharMetrics 173
+C 32 ; WX 333 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 271 ; N exclam ; B 54 -14 217 702 ;
+C 34 ; WX 719 ; N E ; B 43 -14 675 702 ;
+C 35 ; WX 583 ; N slash ; B 53 -18 530 696 ;
+C 36 ; WX 385 ; N question ; B 14 -14 367 702 ;
+C 37 ; WX 271 ; N colon ; B 55 -14 215 475 ;
+C 38 ; WX 271 ; N period ; B 55 -14 215 148 ;
+C 39 ; WX 438 ; N e ; B 26 -14 415 475 ;
+C 40 ; WX 333 ; N parenleft ; B 33 -196 317 704 ;
+C 41 ; WX 333 ; N parenright ; B 16 -196 301 704 ;
+C 42 ; WX 271 ; N semicolon ; B 45 -179 229 475 ;
+C 43 ; WX 667 ; N plus ; B 62 0 605 542 ;
+C 44 ; WX 500 ; N buki ; B 27 -14 473 702 ;
+C 45 ; WX 333 ; N hyphen ; B 24 180 310 284 ;
+C 46 ; WX 771 ; N ju ; B 23 -4 745 468 ;
+C 47 ; WX 438 ; N jehstdieresis ; B 24 -14 419 676 ;
+C 48 ; WX 500 ; N zero ; B 23 -12 477 698 ;
+C 49 ; WX 500 ; N one ; B 61 0 425 698 ;
+C 50 ; WX 500 ; N two ; B 20 0 477 698 ;
+C 51 ; WX 500 ; N three ; B 20 -12 475 698 ;
+C 52 ; WX 500 ; N four ; B 15 0 480 698 ;
+C 53 ; WX 500 ; N five ; B 23 -12 475 687 ;
+C 54 ; WX 500 ; N six ; B 25 -12 481 698 ;
+C 55 ; WX 500 ; N seven ; B 14 -13 482 687 ;
+C 56 ; WX 500 ; N eight ; B 23 -12 477 698 ;
+C 57 ; WX 500 ; N nine ; B 22 -13 479 698 ;
+C 58 ; WX 1000 ; N Schiwete ; B 21 0 979 694 ;
+C 59 ; WX 719 ; N schiwete ; B 18 0 700 468 ;
+C 60 ; WX 667 ; N Buki ; B 21 0 643 687 ;
+C 61 ; WX 667 ; N equal ; B 62 104 605 439 ;
+C 62 ; WX 1156 ; N Ju ; B 14 -14 1112 702 ;
+C 63 ; WX 667 ; N Jehstdieresis ; B 18 0 645 878 ;
+C 64 ; WX 1052 ; N nosign ; B 23 -14 1030 691 ;
+C 65 ; WX 823 ; N Fert ; B 33 0 790 687 ;
+C 66 ; WX 823 ; N Ische ; B 13 0 810 687 ;
+C 67 ; WX 719 ; N Ssiowo ; B 46 -14 679 702 ;
+C 68 ; WX 667 ; N Wjedi ; B 16 0 643 687 ;
+C 69 ; WX 771 ; N U ; B 18 -14 753 687 ;
+C 70 ; WX 719 ; N As ; B 14 0 704 698 ;
+C 71 ; WX 823 ; N Pakoy ; B 13 0 809 687 ;
+C 72 ; WX 667 ; N Rzui ; B 18 0 643 687 ;
+C 73 ; WX 1000 ; N Scha ; B 29 0 971 687 ;
+C 74 ; WX 823 ; N On ; B 42 -14 781 702 ;
+C 75 ; WX 771 ; N Ljudi ; B 21 -8 756 687 ;
+C 76 ; WX 771 ; N Dobro ; B 26 -193 746 687 ;
+C 77 ; WX 667 ; N Jher ; B 20 0 644 687 ;
+C 78 ; WX 667 ; N Twerdo ; B 24 0 640 687 ;
+C 79 ; WX 1000 ; N Schtscha ; B 29 -193 971 687 ;
+C 80 ; WX 500 ; N Semlja ; B 15 -14 472 702 ;
+C 81 ; WX 823 ; N Ischedipthong ; B 13 0 810 865 ;
+C 82 ; WX 771 ; N Kako ; B 15 0 751 694 ;
+C 83 ; WX 1000 ; N Jerui ; B 19 0 981 687 ;
+C 84 ; WX 667 ; N Jehst ; B 18 0 645 687 ;
+C 85 ; WX 667 ; N Glagol ; B 25 0 643 687 ;
+C 86 ; WX 1000 ; N Muislete ; B 21 0 982 687 ;
+C 87 ; WX 823 ; N Zui ; B 23 -193 797 687 ;
+C 88 ; WX 771 ; N Tscherw ; B 14 0 758 687 ;
+C 89 ; WX 823 ; N Nasche ; B 11 0 812 687 ;
+C 90 ; WX 719 ; N Ja ; B 19 0 702 687 ;
+C 91 ; WX 552 ; N chherr ; B 22 0 536 464 ;
+C 92 ; WX 500 ; N guillemotright ; B 16 28 484 480 ;
+C 93 ; WX 552 ; N jerr ; B 19 0 529 464 ;
+C 94 ; WX 271 ; N comma ; B 45 -179 229 150 ;
+C 95 ; WX 500 ; N underscore ; B -6 -212 506 -150 ;
+C 96 ; WX 500 ; N guillemotleft ; B 16 28 484 480 ;
+C 97 ; WX 667 ; N fert ; B 29 -211 638 687 ;
+C 98 ; WX 500 ; N ische ; B 17 0 483 464 ;
+C 99 ; WX 438 ; N ssiowo ; B 24 -14 426 475 ;
+C 100 ; WX 500 ; N wjedi ; B 20 0 468 464 ;
+C 101 ; WX 500 ; N u ; B 17 -212 483 464 ;
+C 102 ; WX 500 ; N as ; B 38 -14 484 475 ;
+C 103 ; WX 500 ; N pakoy ; B 18 0 482 464 ;
+C 104 ; WX 500 ; N rzui ; B 15 -211 477 475 ;
+C 105 ; WX 771 ; N scha ; B 15 0 756 464 ;
+C 106 ; WX 500 ; N on ; B 28 -14 472 475 ;
+C 107 ; WX 552 ; N ljudi ; B 20 -4 538 464 ;
+C 108 ; WX 552 ; N dobro ; B 17 -122 530 464 ;
+C 109 ; WX 500 ; N jher ; B 20 0 469 464 ;
+C 110 ; WX 500 ; N twerdo ; B 27 0 473 464 ;
+C 111 ; WX 771 ; N schtscha ; B 15 -122 756 464 ;
+C 112 ; WX 438 ; N semlja ; B 30 -14 407 475 ;
+C 113 ; WX 500 ; N ischedipthong ; B 17 0 483 677 ;
+C 114 ; WX 552 ; N kako ; B 15 0 533 468 ;
+C 115 ; WX 719 ; N jerui ; B 17 0 704 464 ;
+C 116 ; WX 438 ; N jehst ; B 24 -14 419 475 ;
+C 117 ; WX 438 ; N glagol ; B 17 0 419 464 ;
+C 118 ; WX 667 ; N muislette ; B 18 0 649 464 ;
+C 119 ; WX 500 ; N zui ; B 15 -122 485 464 ;
+C 120 ; WX 500 ; N tscherw ; B 16 0 484 464 ;
+C 121 ; WX 500 ; N nasch ; B 18 0 482 464 ;
+C 122 ; WX 500 ; N ja ; B 21 0 487 464 ;
+C 123 ; WX 719 ; N Chherr ; B 17 0 702 687 ;
+C 124 ; WX 271 ; N quoteleft ; B 44 369 228 697 ;
+C 125 ; WX 771 ; N Jerr ; B 26 0 747 687 ;
+C 126 ; WX 271 ; N quoteright ; B 45 369 229 697 ;
+C 161 ; WX 385 ; N Idieresis ; B -3 0 388 878 ;
+C 162 ; WX 875 ; N percent ; B 47 -27 828 702 ;
+C 163 ; WX 771 ; N Ubreve ; B 18 -14 753 865 ;
+C 164 ; WX 771 ; N ampersand ; B 29 -14 715 702 ;
+C 165 ; WX 271 ; N idieresis ; B -21 0 292 676 ;
+C 166 ; WX 500 ; N section ; B 45 -212 457 716 ;
+C 167 ; WX 719 ; N jeruiacute ; B 17 0 704 704 ;
+C 168 ; WX 552 ; N kakoacute ; B 15 0 533 704 ;
+C 169 ; WX 354 ; N bullet ; B 32 209 321 498 ;
+C 170 ; WX 500 ; N quotedblleft ; B 40 369 458 697 ;
+C 171 ; WX 333 ; N acute ; B 111 515 315 684 ;
+C 172 ; WX 333 ; N dieresis ; B 10 520 323 650 ;
+C 173 ; WX 438 ; N yeacute ; B 26 -14 415 704 ;
+C 174 ; WX 719 ; N Ye ; B 43 -14 675 702 ;
+C 175 ; WX 719 ; N Eacute ; B 43 -14 675 848 ;
+C 176 ; WX 667 ; N numbersign ; B 38 -80 629 624 ;
+C 177 ; WX 719 ; N Yeacute ; B 43 -14 675 848 ;
+C 178 ; WX 281 ; N quotesingle ; B 69 352 213 677 ;
+C 179 ; WX 552 ; N quotedbl ; B 86 352 466 677 ;
+C 180 ; WX 771 ; N nj ; B 12 0 736 464 ;
+C 181 ; WX 552 ; N jat ; B 25 0 535 687 ;
+C 182 ; WX 385 ; N zelo ; B 20 -14 370 475 ;
+C 183 ; WX 500 ; N dsche ; B 15 -122 485 464 ;
+C 184 ; WX 823 ; N Ischeacute ; B 13 0 810 848 ;
+C 185 ; WX 500 ; N ischeacute ; B 17 0 483 704 ;
+C 186 ; WX 500 ; N bukiserb ; B 28 -14 472 702 ;
+C 187 ; WX 510 ; N jschiza ; B 22 -14 488 471 ;
+C 188 ; WX 500 ; N fita ; B 28 -14 472 475 ;
+C 189 ; WX 500 ; N jaacute ; B 21 0 487 704 ;
+C 190 ; WX 438 ; N ye ; B 26 -14 415 475 ;
+C 191 ; WX 438 ; N eacute ; B 26 -14 415 704 ;
+C 192 ; WX 1156 ; N Juacute ; B 14 -14 1112 848 ;
+C 193 ; WX 500 ; N asterisk ; B 55 325 445 702 ;
+C 194 ; WX 500 ; N djsche ; B 21 -212 464 687 ;
+C 195 ; WX 271 ; N je ; B -15 -212 219 703 ;
+C 196 ; WX 500 ; N asacute ; B 38 -14 484 704 ;
+C 197 ; WX 500 ; N tjsche ; B 14 0 487 687 ;
+C 198 ; WX 500 ; N onacute ; B 28 -14 472 704 ;
+C 199 ; WX 583 ; N backslash ; B 51 -18 532 696 ;
+C 200 ; WX 583 ; N vertical ; B 239 -135 345 696 ;
+C 201 ; WX 271 ; N i ; B 12 0 257 703 ;
+C 206 ; WX 667 ; N Jehstacute ; B 18 0 645 848 ;
+C 207 ; WX 438 ; N jehstacute ; B 24 -14 419 704 ;
+C 208 ; WX 500 ; N endash ; B -7 202 507 264 ;
+C 209 ; WX 1000 ; N emdash ; B -7 202 1007 264 ;
+C 210 ; WX 438 ; N glagolmac ; B 17 0 419 704 ;
+C 211 ; WX 667 ; N Glagolmac ; B 25 0 643 848 ;
+C 212 ; WX 500 ; N uacute ; B 17 -212 483 704 ;
+C 213 ; WX 771 ; N Uacute ; B 18 -14 753 848 ;
+C 214 ; WX 771 ; N juacute ; B 23 -4 745 704 ;
+C 215 ; WX 552 ; N Je ; B 23 -14 536 687 ;
+C 217 ; WX 1000 ; N ellipsis ; B 87 -14 913 151 ;
+C 218 ; WX 271 ; N periodcentered ; B 55 311 215 472 ;
+C 219 ; WX 500 ; N quotedblbase ; B 42 -179 460 150 ;
+C 220 ; WX 500 ; N ubreve ; B 17 -212 483 677 ;
+C 221 ; WX 500 ; N quotedblright ; B 42 369 460 697 ;
+C 222 ; WX 823 ; N schiwetebulg ; B 19 0 804 687 ;
+C 224 ; WX 500 ; N dobroserb ; B 25 -212 431 479 ;
+C 225 ; WX 771 ; N Jschiza ; B 13 -14 753 693 ;
+C 226 ; WX 823 ; N Fita ; B 42 -14 781 702 ;
+C 227 ; WX 823 ; N Dsche ; B 13 -193 809 687 ;
+C 229 ; WX 771 ; N Kakoacute ; B 15 0 751 848 ;
+C 231 ; WX 1000 ; N Nj ; B 20 0 978 687 ;
+C 234 ; WX 1000 ; N Jeruiacute ; B 19 0 981 848 ;
+C 235 ; WX 604 ; N Zelo ; B 36 -15 572 702 ;
+C 236 ; WX 719 ; N Asacute ; B 14 0 704 848 ;
+C 239 ; WX 823 ; N Onacute ; B 42 -14 781 848 ;
+C 240 ; WX 1000 ; N Elj ; B 30 -8 985 687 ;
+C 241 ; WX 823 ; N Djsche ; B 22 -8 788 687 ;
+C 242 ; WX 385 ; N I ; B 17 0 369 687 ;
+C 243 ; WX 719 ; N Jaacute ; B 19 0 702 848 ;
+C 244 ; WX 823 ; N Tjsche ; B 21 0 809 687 ;
+C 245 ; WX 271 ; N dotlessi ; B 12 0 257 464 ;
+C 246 ; WX 1063 ; N Schiwetebulg ; B 13 0 1050 687 ;
+C 247 ; WX 771 ; N Jat ; B 24 0 746 687 ;
+C 249 ; WX 396 ; N degree ; B 29 338 367 676 ;
+C 250 ; WX 698 ; N currency ; B 78 75 591 587 ;
+C 251 ; WX 771 ; N elj ; B 16 -4 756 464 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/mntbz.tfm b/fonts/cyrillic/ot2cyr/mntbz.tfm
new file mode 100644
index 0000000000..8a79ed4fbe
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntbz.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntr7k.tfm b/fonts/cyrillic/ot2cyr/mntr7k.tfm
new file mode 100644
index 0000000000..efbfb5597f
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntr7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntr7k.vf b/fonts/cyrillic/ot2cyr/mntr7k.vf
new file mode 100644
index 0000000000..2e6157229c
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntr7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntro7k.tfm b/fonts/cyrillic/ot2cyr/mntro7k.tfm
new file mode 100644
index 0000000000..966df4883f
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntro7k.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntro7k.vf b/fonts/cyrillic/ot2cyr/mntro7k.vf
new file mode 100644
index 0000000000..7a9bdc4aab
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntro7k.vf
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntroz.afm b/fonts/cyrillic/ot2cyr/mntroz.afm
new file mode 100644
index 0000000000..e276bd4b1c
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntroz.afm
@@ -0,0 +1,201 @@
+StartFontMetrics 2.0
+Comment Copyright (c) 1990 Adobe Systems Incorporated. All rights reserved
+Comment Creation Date: Thu Jun 21 09:17:56 1990
+Comment UniqueID 263853
+Comment VMusage 40647 48665
+FontName MTimesNewRomanCyrillic-Inc
+FullName Times New Roman Cyrillic Inclined
+FamilyName Times New Roman Cyrillic
+Weight Regular
+ItalicAngle -15
+IsFixedPitch false
+FontBBox -142 -214 1192 888
+UnderlinePosition -197
+UnderlineThickness 33
+Version 3
+Notice Copyright (c) 1990 Adobe Systems Incorporated. All rights reservedTimes New Roman Cyrillic is a trademark of the Monotype Corporation plc
+EncodingScheme FontSpecific
+StartCharMetrics 181
+C 32 ; WX 333 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 271 ; N exclam ; B 53 -12 297 687 ;
+C 34 ; WX 719 ; N E ; B 47 -15 675 690 ;
+C 35 ; WX 531 ; N slash ; B 57 -18 474 696 ;
+C 36 ; WX 385 ; N question ; B 99 -12 443 691 ;
+C 37 ; WX 333 ; N colon ; B 59 -12 273 457 ;
+C 38 ; WX 271 ; N period ; B 40 -12 141 90 ;
+C 39 ; WX 438 ; N e ; B 24 -12 399 457 ;
+C 40 ; WX 500 ; N parenleft ; B 129 -205 470 717 ;
+C 41 ; WX 500 ; N parenright ; B 30 -205 371 717 ;
+C 42 ; WX 333 ; N semicolon ; B 41 -128 292 457 ;
+C 43 ; WX 667 ; N plus ; B 68 0 599 529 ;
+C 44 ; WX 500 ; N buki ; B 42 -12 521 717 ;
+C 45 ; WX 333 ; N hyphen ; B 42 193 291 272 ;
+C 46 ; WX 719 ; N ju ; B 11 -6 678 457 ;
+C 47 ; WX 438 ; N jehstdieresis ; B 33 -12 478 658 ;
+C 48 ; WX 500 ; N zero ; B 23 -15 476 691 ;
+C 49 ; WX 500 ; N one ; B 62 0 430 691 ;
+C 50 ; WX 500 ; N two ; B 14 0 486 691 ;
+C 51 ; WX 500 ; N three ; B 22 -15 471 691 ;
+C 52 ; WX 500 ; N four ; B 14 -15 486 686 ;
+C 53 ; WX 500 ; N five ; B 15 -15 477 675 ;
+C 54 ; WX 500 ; N six ; B 22 -15 504 691 ;
+C 55 ; WX 500 ; N seven ; B 92 -14 517 675 ;
+C 56 ; WX 500 ; N eight ; B 14 -15 479 691 ;
+C 57 ; WX 500 ; N nine ; B 18 -15 482 691 ;
+C 58 ; WX 1000 ; N Schiwete ; B 24 0 1061 684 ;
+C 59 ; WX 1000 ; N schiwete ; B 28 -12 980 457 ;
+C 60 ; WX 667 ; N Buki ; B 24 0 736 675 ;
+C 61 ; WX 667 ; N equal ; B 69 120 598 412 ;
+C 62 ; WX 1156 ; N Ju ; B 45 -15 1133 690 ;
+C 63 ; WX 667 ; N Jehstdieresis ; B 17 0 713 871 ;
+C 64 ; WX 1052 ; N nosign ; B 19 -15 1037 690 ;
+C 65 ; WX 823 ; N Fert ; B 76 0 788 675 ;
+C 66 ; WX 823 ; N Ische ; B 19 0 884 675 ;
+C 67 ; WX 719 ; N Ssiowo ; B 104 -15 768 690 ;
+C 68 ; WX 667 ; N Wjedi ; B 18 0 673 675 ;
+C 69 ; WX 771 ; N U ; B 115 -15 851 675 ;
+C 70 ; WX 719 ; N As ; B 11 0 653 689 ;
+C 71 ; WX 823 ; N Pakoy ; B 22 0 887 675 ;
+C 72 ; WX 667 ; N Rzui ; B 22 0 671 675 ;
+C 73 ; WX 1000 ; N Scha ; B 32 0 1060 675 ;
+C 74 ; WX 771 ; N On ; B 100 -15 761 690 ;
+C 75 ; WX 771 ; N Ljudi ; B 21 -8 838 675 ;
+C 76 ; WX 771 ; N Dobro ; B 26 -192 839 675 ;
+C 77 ; WX 667 ; N Jher ; B 26 0 618 675 ;
+C 78 ; WX 667 ; N Twerdo ; B 103 0 756 675 ;
+C 79 ; WX 1000 ; N Schtscha ; B 33 -192 1061 675 ;
+C 80 ; WX 500 ; N Semlja ; B 8 -15 495 690 ;
+C 81 ; WX 823 ; N Ischedipthong ; B 19 0 884 848 ;
+C 82 ; WX 719 ; N Kako ; B 19 0 787 683 ;
+C 83 ; WX 1000 ; N Jerui ; B 27 0 1067 675 ;
+C 84 ; WX 667 ; N Jehst ; B 17 0 713 675 ;
+C 85 ; WX 667 ; N Glagol ; B 23 0 748 675 ;
+C 86 ; WX 990 ; N Muislete ; B 23 0 1040 675 ;
+C 87 ; WX 823 ; N Zui ; B 23 -192 886 675 ;
+C 88 ; WX 771 ; N Tscherw ; B 144 0 832 675 ;
+C 89 ; WX 823 ; N Nasche ; B 23 0 891 675 ;
+C 90 ; WX 771 ; N Ja ; B 15 0 825 675 ;
+C 91 ; WX 552 ; N chherr ; B 18 -12 541 457 ;
+C 92 ; WX 500 ; N guillemotright ; B 57 18 497 483 ;
+C 93 ; WX 438 ; N jerr ; B 27 -12 399 446 ;
+C 94 ; WX 271 ; N comma ; B 19 -128 162 88 ;
+C 95 ; WX 500 ; N underscore ; B -8 -212 508 -180 ;
+C 96 ; WX 500 ; N guillemotleft ; B 33 18 473 484 ;
+C 97 ; WX 719 ; N fert ; B 42 -214 690 717 ;
+C 98 ; WX 500 ; N ische ; B 32 -12 487 451 ;
+C 99 ; WX 438 ; N ssiowo ; B 48 -12 425 457 ;
+C 100 ; WX 438 ; N wjedi ; B 30 -12 409 457 ;
+C 101 ; WX 500 ; N u ; B -31 -214 478 457 ;
+C 102 ; WX 500 ; N as ; B 25 -12 484 457 ;
+C 103 ; WX 500 ; N pakoy ; B 12 -12 471 457 ;
+C 104 ; WX 500 ; N rzui ; B -91 -211 467 457 ;
+C 105 ; WX 771 ; N scha ; B 32 -12 742 457 ;
+C 106 ; WX 500 ; N on ; B 36 -12 461 457 ;
+C 107 ; WX 500 ; N ljudi ; B 0 -12 462 457 ;
+C 108 ; WX 500 ; N dobro ; B 41 -12 477 717 ;
+C 109 ; WX 438 ; N jher ; B 51 -12 398 457 ;
+C 110 ; WX 771 ; N twerdo ; B 8 -12 742 457 ;
+C 111 ; WX 771 ; N schtscha ; B 32 -192 742 457 ;
+C 112 ; WX 438 ; N semlja ; B 29 -12 411 457 ;
+C 113 ; WX 500 ; N ischedipthong ; B 38 -12 490 652 ;
+C 114 ; WX 500 ; N kako ; B 36 0 502 457 ;
+C 115 ; WX 667 ; N jerui ; B 61 -12 642 457 ;
+C 116 ; WX 438 ; N jehst ; B 33 -12 424 457 ;
+C 117 ; WX 438 ; N glagol ; B 32 -12 402 457 ;
+C 118 ; WX 719 ; N muislette ; B 0 -12 666 446 ;
+C 119 ; WX 500 ; N zui ; B 38 -192 490 457 ;
+C 120 ; WX 500 ; N tscherw ; B 53 -12 473 457 ;
+C 121 ; WX 500 ; N nasch ; B 26 -6 486 457 ;
+C 122 ; WX 552 ; N ja ; B 6 -12 503 446 ;
+C 123 ; WX 719 ; N Chherr ; B 33 0 817 675 ;
+C 124 ; WX 271 ; N quoteleft ; B 169 474 312 690 ;
+C 125 ; WX 719 ; N Jerr ; B 77 0 669 675 ;
+C 126 ; WX 271 ; N quoteright ; B 169 474 312 690 ;
+C 161 ; WX 385 ; N Idieresis ; B 13 0 531 871 ;
+C 162 ; WX 823 ; N percent ; B 68 -26 851 691 ;
+C 163 ; WX 771 ; N Ubreve ; B 115 -15 851 848 ;
+C 164 ; WX 719 ; N ampersand ; B 48 -15 699 690 ;
+C 165 ; WX 271 ; N idieresis ; B 57 -12 362 658 ;
+C 166 ; WX 604 ; N section ; B 69 -193 592 711 ;
+C 167 ; WX 667 ; N jeruiacute ; B 61 -12 642 690 ;
+C 168 ; WX 500 ; N kakoacute ; B 36 0 502 690 ;
+C 169 ; WX 354 ; N bullet ; B 53 227 301 474 ;
+C 170 ; WX 500 ; N quotedblleft ; B 170 474 534 690 ;
+C 171 ; WX 333 ; N acute ; B 200 517 360 684 ;
+C 172 ; WX 333 ; N dieresis ; B 132 515 410 619 ;
+C 173 ; WX 438 ; N yeacute ; B 27 -12 434 690 ;
+C 174 ; WX 719 ; N Ye ; B 82 -15 747 690 ;
+C 175 ; WX 719 ; N Eacute ; B 47 -15 675 888 ;
+C 176 ; WX 667 ; N numbersign ; B 43 -81 623 613 ;
+C 177 ; WX 719 ; N Yeacute ; B 82 -15 747 888 ;
+C 178 ; WX 177 ; N quotesingle ; B 111 392 240 677 ;
+C 179 ; WX 406 ; N quotedbl ; B 65 392 342 677 ;
+C 180 ; WX 719 ; N nj ; B 23 -6 681 457 ;
+C 181 ; WX 667 ; N jat ; B 19 -6 626 457 ;
+C 182 ; WX 385 ; N zelo ; B 8 -12 378 457 ;
+C 183 ; WX 500 ; N dsche ; B 30 -192 491 457 ;
+C 184 ; WX 823 ; N Ischeacute ; B 19 0 884 888 ;
+C 185 ; WX 500 ; N ischeacute ; B 32 -12 487 690 ;
+C 186 ; WX 500 ; N bukiserb ; B 45 -12 563 717 ;
+C 187 ; WX 500 ; N jschiza ; B 52 -12 484 457 ;
+C 188 ; WX 500 ; N fita ; B 40 -12 465 457 ;
+C 189 ; WX 552 ; N jaacute ; B 6 -12 503 690 ;
+C 190 ; WX 438 ; N ye ; B 27 -12 429 457 ;
+C 191 ; WX 438 ; N eacute ; B 24 -12 399 690 ;
+C 192 ; WX 1156 ; N Juacute ; B 45 -15 1133 888 ;
+C 193 ; WX 500 ; N asterisk ; B 146 308 504 717 ;
+C 194 ; WX 500 ; N djsche ; B 17 -214 455 717 ;
+C 195 ; WX 271 ; N je ; B -142 -214 304 657 ;
+C 196 ; WX 500 ; N asacute ; B 25 -12 484 690 ;
+C 197 ; WX 500 ; N tjsche ; B 16 -6 471 717 ;
+C 198 ; WX 500 ; N onacute ; B 36 -12 461 690 ;
+C 199 ; WX 531 ; N backslash ; B 57 -18 474 696 ;
+C 200 ; WX 531 ; N vertical ; B 233 -135 298 696 ;
+C 201 ; WX 271 ; N i ; B 57 -12 289 657 ;
+C 206 ; WX 667 ; N Jehstacute ; B 17 0 713 888 ;
+C 207 ; WX 438 ; N jehstacute ; B 33 -12 435 690 ;
+C 208 ; WX 500 ; N endash ; B -4 216 504 248 ;
+C 209 ; WX 1000 ; N emdash ; B -4 216 1004 248 ;
+C 210 ; WX 438 ; N glagolmac ; B 13 0 439 690 ;
+C 211 ; WX 667 ; N Glagolmac ; B 23 0 748 888 ;
+C 212 ; WX 500 ; N uacute ; B -31 -214 478 690 ;
+C 213 ; WX 771 ; N Uacute ; B 115 -15 851 888 ;
+C 214 ; WX 719 ; N juacute ; B 11 -6 678 690 ;
+C 215 ; WX 500 ; N Je ; B 17 -15 571 675 ;
+C 217 ; WX 1000 ; N ellipsis ; B 112 -12 888 99 ;
+C 218 ; WX 271 ; N periodcentered ; B 103 363 212 472 ;
+C 219 ; WX 500 ; N quotedblbase ; B 24 -128 389 88 ;
+C 220 ; WX 500 ; N ubreve ; B -31 -214 478 652 ;
+C 221 ; WX 500 ; N quotedblright ; B 173 474 538 690 ;
+C 222 ; WX 885 ; N schiwetebulg ; B -15 -12 876 717 ;
+C 223 ; WX 271 ; N glagolserb ; B 57 -12 318 581 ;
+C 224 ; WX 500 ; N dobroserb ; B -29 -214 492 457 ;
+C 225 ; WX 719 ; N Jschiza ; B 137 -15 792 683 ;
+C 226 ; WX 771 ; N Fita ; B 69 -15 730 690 ;
+C 227 ; WX 823 ; N Dsche ; B 23 -192 885 675 ;
+C 228 ; WX 771 ; N schiweteserb ; B 14 0 754 452 ;
+C 229 ; WX 719 ; N Kakoacute ; B 19 0 787 888 ;
+C 230 ; WX 500 ; N wjediserb ; B 23 -12 468 717 ;
+C 231 ; WX 1000 ; N Nj ; B 27 0 950 675 ;
+C 232 ; WX 667 ; N muisletteserb ; B 21 0 666 446 ;
+C 233 ; WX 500 ; N pakoyserb ; B 38 -12 490 581 ;
+C 234 ; WX 1000 ; N Jeruiacute ; B 27 0 1067 888 ;
+C 235 ; WX 604 ; N Zelo ; B 46 -15 630 690 ;
+C 236 ; WX 719 ; N Asacute ; B 11 0 783 888 ;
+C 237 ; WX 771 ; N twerdoserb ; B 32 -12 742 581 ;
+C 238 ; WX 719 ; N fertserb ; B 43 -202 677 717 ;
+C 239 ; WX 771 ; N Onacute ; B 100 -15 761 888 ;
+C 240 ; WX 1000 ; N Elj ; B 31 -8 958 675 ;
+C 241 ; WX 823 ; N Djsche ; B 85 -7 770 675 ;
+C 242 ; WX 385 ; N I ; B 13 0 471 675 ;
+C 243 ; WX 771 ; N Jaacute ; B 15 0 825 888 ;
+C 244 ; WX 823 ; N Tjsche ; B 85 0 748 675 ;
+C 245 ; WX 271 ; N dotlessi ; B 57 -12 247 457 ;
+C 246 ; WX 1115 ; N Schiwetebulg ; B 19 0 1192 675 ;
+C 247 ; WX 719 ; N Jat ; B 70 0 670 675 ;
+C 248 ; WX 500 ; N zuiserb ; B 32 -192 489 451 ;
+C 249 ; WX 396 ; N degree ; B 48 377 348 677 ;
+C 250 ; WX 688 ; N currency ; B 105 86 582 562 ;
+C 251 ; WX 719 ; N elj ; B 17 -12 679 457 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/mntroz.tfm b/fonts/cyrillic/ot2cyr/mntroz.tfm
new file mode 100644
index 0000000000..a8e29486f2
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntroz.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntrz.afm b/fonts/cyrillic/ot2cyr/mntrz.afm
new file mode 100644
index 0000000000..0e4a133e5e
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntrz.afm
@@ -0,0 +1,193 @@
+StartFontMetrics 2.0
+Comment Copyright (c) 1990 Adobe Systems Incorporated. All rights reserved
+Comment Creation Date: Wed Jun 13 08:47:27 1990
+Comment UniqueID 263846
+Comment VMusage 35546 43166
+FontName MTimesNewRomanCyrillic
+FullName Times New Roman Cyrillic Upright
+FamilyName Times New Roman Cyrillic
+Weight Regular
+ItalicAngle 0
+IsFixedPitch false
+FontBBox -73 -212 1248 889
+UnderlinePosition -197
+UnderlineThickness 33
+Version 3
+Notice Copyright (c) 1990 Adobe Systems Incorporated. All rights reservedTimes New Roman Cyrillic is a trademark of the Monotype Corporation plc
+EncodingScheme FontSpecific
+StartCharMetrics 173
+C 32 ; WX 333 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 271 ; N exclam ; B 82 -14 197 702 ;
+C 34 ; WX 719 ; N E ; B 28 -15 670 702 ;
+C 35 ; WX 531 ; N slash ; B 57 -18 474 696 ;
+C 36 ; WX 385 ; N question ; B 23 -14 364 702 ;
+C 37 ; WX 271 ; N colon ; B 81 -14 192 475 ;
+C 38 ; WX 271 ; N period ; B 80 -14 191 97 ;
+C 39 ; WX 438 ; N e ; B 15 -14 408 475 ;
+C 40 ; WX 333 ; N parenleft ; B 45 -211 318 717 ;
+C 41 ; WX 333 ; N parenright ; B 16 -211 288 717 ;
+C 42 ; WX 271 ; N semicolon ; B 62 -167 207 475 ;
+C 43 ; WX 667 ; N plus ; B 68 0 599 529 ;
+C 44 ; WX 552 ; N buki ; B 44 -14 504 711 ;
+C 45 ; WX 333 ; N hyphen ; B 42 193 291 272 ;
+C 46 ; WX 823 ; N ju ; B 19 -6 779 469 ;
+C 47 ; WX 438 ; N jehstdieresis ; B 28 -14 410 689 ;
+C 48 ; WX 500 ; N zero ; B 32 -12 467 698 ;
+C 49 ; WX 500 ; N one ; B 116 0 380 698 ;
+C 50 ; WX 500 ; N two ; B 28 0 474 698 ;
+C 51 ; WX 500 ; N three ; B 58 -12 435 698 ;
+C 52 ; WX 500 ; N four ; B 22 0 478 698 ;
+C 53 ; WX 500 ; N five ; B 62 -12 451 687 ;
+C 54 ; WX 500 ; N six ; B 47 -12 466 698 ;
+C 55 ; WX 500 ; N seven ; B 42 -12 462 687 ;
+C 56 ; WX 500 ; N eight ; B 58 -12 441 698 ;
+C 57 ; WX 500 ; N nine ; B 37 -12 455 698 ;
+C 58 ; WX 1000 ; N Schiwete ; B 22 0 978 693 ;
+C 59 ; WX 719 ; N schiwete ; B 22 0 697 468 ;
+C 60 ; WX 667 ; N Buki ; B 52 0 621 687 ;
+C 61 ; WX 667 ; N equal ; B 69 120 598 412 ;
+C 62 ; WX 1156 ; N Ju ; B 62 -15 1107 702 ;
+C 63 ; WX 667 ; N Jehstdieresis ; B 36 0 645 870 ;
+C 64 ; WX 1000 ; N nosign ; B 8 -15 981 694 ;
+C 65 ; WX 823 ; N Fert ; B 42 0 781 687 ;
+C 66 ; WX 823 ; N Ische ; B 34 0 789 687 ;
+C 67 ; WX 719 ; N Ssiowo ; B 42 -15 697 703 ;
+C 68 ; WX 667 ; N Wjedi ; B 41 0 622 687 ;
+C 69 ; WX 771 ; N U ; B 19 -15 760 687 ;
+C 70 ; WX 771 ; N As ; B 14 0 758 717 ;
+C 71 ; WX 823 ; N Pakoy ; B 38 0 785 687 ;
+C 72 ; WX 604 ; N Rzui ; B 25 0 586 687 ;
+C 73 ; WX 1000 ; N Scha ; B 39 0 961 687 ;
+C 74 ; WX 771 ; N On ; B 39 -15 736 702 ;
+C 75 ; WX 771 ; N Ljudi ; B 21 -7 733 687 ;
+C 76 ; WX 771 ; N Dobro ; B 40 -191 741 687 ;
+C 77 ; WX 667 ; N Jher ; B 51 0 621 687 ;
+C 78 ; WX 667 ; N Twerdo ; B 23 0 645 687 ;
+C 79 ; WX 1000 ; N Schtscha ; B 39 -191 961 687 ;
+C 80 ; WX 500 ; N Semlja ; B 26 -15 468 702 ;
+C 81 ; WX 823 ; N Ischedipthong ; B 34 0 789 860 ;
+C 82 ; WX 771 ; N Kako ; B 33 0 740 692 ;
+C 83 ; WX 1000 ; N Jerui ; B 43 0 957 687 ;
+C 84 ; WX 667 ; N Jehst ; B 36 0 645 687 ;
+C 85 ; WX 667 ; N Glagol ; B 48 0 640 687 ;
+C 86 ; WX 990 ; N Muislete ; B 43 0 946 687 ;
+C 87 ; WX 823 ; N Zui ; B 37 -191 782 687 ;
+C 88 ; WX 771 ; N Tscherw ; B 35 0 730 687 ;
+C 89 ; WX 823 ; N Nasche ; B 37 0 790 687 ;
+C 90 ; WX 771 ; N Ja ; B 13 0 720 687 ;
+C 91 ; WX 500 ; N chherr ; B 17 0 484 464 ;
+C 92 ; WX 500 ; N guillemotright ; B 28 18 469 484 ;
+C 93 ; WX 552 ; N jerr ; B 28 0 527 464 ;
+C 94 ; WX 271 ; N comma ; B 62 -167 207 99 ;
+C 95 ; WX 500 ; N underscore ; B -8 -212 508 -180 ;
+C 96 ; WX 500 ; N guillemotleft ; B 31 18 472 484 ;
+C 97 ; WX 667 ; N fert ; B 36 -211 625 717 ;
+C 98 ; WX 552 ; N ische ; B 24 0 528 464 ;
+C 99 ; WX 438 ; N ssiowo ; B 24 -14 424 475 ;
+C 100 ; WX 500 ; N wjedi ; B 29 0 462 464 ;
+C 101 ; WX 500 ; N u ; B 17 -212 484 464 ;
+C 102 ; WX 500 ; N as ; B 40 -14 483 475 ;
+C 103 ; WX 531 ; N pakoy ; B 20 0 512 464 ;
+C 104 ; WX 552 ; N rzui ; B 17 -211 523 475 ;
+C 105 ; WX 823 ; N scha ; B 25 0 798 464 ;
+C 106 ; WX 552 ; N on ; B 46 -14 509 475 ;
+C 107 ; WX 552 ; N ljudi ; B 16 -12 550 464 ;
+C 108 ; WX 552 ; N dobro ; B 19 -124 530 464 ;
+C 109 ; WX 500 ; N jher ; B 24 0 462 464 ;
+C 110 ; WX 500 ; N twerdo ; B 28 0 472 464 ;
+C 111 ; WX 823 ; N schtscha ; B 25 -124 798 464 ;
+C 112 ; WX 438 ; N semlja ; B 20 -14 389 475 ;
+C 113 ; WX 552 ; N ischedipthong ; B 24 0 528 680 ;
+C 114 ; WX 500 ; N kako ; B 27 0 475 469 ;
+C 115 ; WX 719 ; N jerui ; B 22 0 690 464 ;
+C 116 ; WX 438 ; N jehst ; B 28 -14 410 475 ;
+C 117 ; WX 438 ; N glagol ; B 18 0 415 464 ;
+C 118 ; WX 719 ; N muislette ; B 28 0 691 464 ;
+C 119 ; WX 552 ; N zui ; B 28 -124 524 464 ;
+C 120 ; WX 500 ; N tscherw ; B 25 0 475 464 ;
+C 121 ; WX 552 ; N nasch ; B 26 0 526 464 ;
+C 122 ; WX 500 ; N ja ; B 26 0 475 464 ;
+C 123 ; WX 771 ; N Chherr ; B 14 0 758 687 ;
+C 124 ; WX 271 ; N quoteleft ; B 62 452 207 717 ;
+C 125 ; WX 771 ; N Jerr ; B 26 0 725 687 ;
+C 126 ; WX 271 ; N quoteright ; B 62 435 207 702 ;
+C 161 ; WX 385 ; N Idieresis ; B 1 0 382 870 ;
+C 162 ; WX 823 ; N percent ; B 20 -28 803 701 ;
+C 163 ; WX 771 ; N Ubreve ; B 19 -15 760 860 ;
+C 164 ; WX 771 ; N ampersand ; B 33 -15 754 702 ;
+C 165 ; WX 271 ; N idieresis ; B -1 0 276 689 ;
+C 166 ; WX 385 ; N section ; B 18 -193 368 697 ;
+C 167 ; WX 719 ; N jeruiacute ; B 22 0 690 717 ;
+C 168 ; WX 500 ; N kakoacute ; B 27 0 475 717 ;
+C 169 ; WX 354 ; N bullet ; B 53 227 301 474 ;
+C 170 ; WX 500 ; N quotedblleft ; B 63 452 436 717 ;
+C 171 ; WX 333 ; N acute ; B 115 546 276 715 ;
+C 172 ; WX 333 ; N dieresis ; B 27 547 306 653 ;
+C 173 ; WX 438 ; N yeacute ; B 27 -14 419 717 ;
+C 174 ; WX 708 ; N Ye ; B 43 -15 683 702 ;
+C 175 ; WX 719 ; N Eacute ; B 28 -15 670 889 ;
+C 176 ; WX 667 ; N numbersign ; B 43 -81 623 613 ;
+C 177 ; WX 708 ; N Yeacute ; B 43 -15 683 889 ;
+C 178 ; WX 177 ; N quotesingle ; B 40 416 138 701 ;
+C 179 ; WX 406 ; N quotedbl ; B 65 392 342 677 ;
+C 180 ; WX 771 ; N nj ; B 23 0 734 464 ;
+C 181 ; WX 500 ; N jat ; B -28 0 470 711 ;
+C 182 ; WX 385 ; N zelo ; B 49 -14 352 475 ;
+C 183 ; WX 552 ; N dsche ; B 28 -124 524 464 ;
+C 184 ; WX 823 ; N Ischeacute ; B 34 0 789 889 ;
+C 185 ; WX 552 ; N ischeacute ; B 24 0 528 717 ;
+C 186 ; WX 552 ; N bukiserb ; B 47 -14 508 717 ;
+C 187 ; WX 552 ; N jschiza ; B 13 -14 539 471 ;
+C 188 ; WX 552 ; N fita ; B 46 -14 509 475 ;
+C 189 ; WX 500 ; N jaacute ; B 26 0 475 717 ;
+C 190 ; WX 438 ; N ye ; B 27 -14 419 475 ;
+C 191 ; WX 438 ; N eacute ; B 15 -14 408 717 ;
+C 192 ; WX 1156 ; N Juacute ; B 62 -15 1107 889 ;
+C 193 ; WX 500 ; N asterisk ; B 71 310 429 721 ;
+C 194 ; WX 500 ; N djsche ; B 26 -212 457 717 ;
+C 195 ; WX 271 ; N je ; B -73 -212 199 720 ;
+C 196 ; WX 500 ; N asacute ; B 40 -14 483 717 ;
+C 197 ; WX 552 ; N tjsche ; B 19 0 527 717 ;
+C 198 ; WX 552 ; N onacute ; B 46 -14 509 717 ;
+C 199 ; WX 531 ; N backslash ; B 57 -18 474 696 ;
+C 200 ; WX 531 ; N vertical ; B 233 -135 298 696 ;
+C 201 ; WX 271 ; N i ; B 24 0 249 720 ;
+C 206 ; WX 667 ; N Jehstacute ; B 36 0 645 889 ;
+C 207 ; WX 438 ; N jehstacute ; B 28 -14 410 717 ;
+C 208 ; WX 500 ; N endash ; B -4 216 504 248 ;
+C 209 ; WX 1000 ; N emdash ; B -4 216 1004 248 ;
+C 210 ; WX 438 ; N glagolmac ; B 18 0 415 717 ;
+C 211 ; WX 667 ; N Glagolmac ; B 48 0 640 889 ;
+C 212 ; WX 500 ; N uacute ; B 17 -212 484 717 ;
+C 213 ; WX 771 ; N Uacute ; B 19 -15 760 889 ;
+C 214 ; WX 823 ; N juacute ; B 19 -6 779 717 ;
+C 215 ; WX 438 ; N Je ; B 22 -15 416 687 ;
+C 217 ; WX 1000 ; N ellipsis ; B 111 -14 889 99 ;
+C 218 ; WX 271 ; N periodcentered ; B 81 363 190 472 ;
+C 219 ; WX 500 ; N quotedblbase ; B 67 -167 432 99 ;
+C 220 ; WX 500 ; N ubreve ; B 17 -212 484 680 ;
+C 221 ; WX 500 ; N quotedblright ; B 60 435 438 702 ;
+C 222 ; WX 917 ; N schiwetebulg ; B 12 0 905 717 ;
+C 224 ; WX 552 ; N dobroserb ; B 32 -212 455 482 ;
+C 225 ; WX 719 ; N Jschiza ; B -41 -15 696 694 ;
+C 226 ; WX 771 ; N Fita ; B 39 -15 736 702 ;
+C 227 ; WX 823 ; N Dsche ; B 37 -191 786 687 ;
+C 229 ; WX 771 ; N Kakoacute ; B 33 0 740 889 ;
+C 231 ; WX 1000 ; N Nj ; B 57 0 950 687 ;
+C 234 ; WX 1000 ; N Jeruiacute ; B 43 0 957 889 ;
+C 235 ; WX 552 ; N Zelo ; B 58 -16 508 702 ;
+C 236 ; WX 771 ; N Asacute ; B 14 0 758 889 ;
+C 239 ; WX 771 ; N Onacute ; B 39 -15 736 889 ;
+C 240 ; WX 1000 ; N Elj ; B 42 -7 945 687 ;
+C 241 ; WX 823 ; N Djsche ; B 25 -7 765 687 ;
+C 242 ; WX 385 ; N I ; B 34 0 350 687 ;
+C 243 ; WX 771 ; N Jaacute ; B 13 0 720 889 ;
+C 244 ; WX 823 ; N Tjsche ; B 31 0 786 687 ;
+C 245 ; WX 271 ; N dotlessi ; B 24 0 249 475 ;
+C 246 ; WX 1260 ; N Schiwetebulg ; B 13 0 1248 687 ;
+C 247 ; WX 719 ; N Jat ; B 21 0 674 687 ;
+C 249 ; WX 396 ; N degree ; B 48 401 348 701 ;
+C 250 ; WX 688 ; N currency ; B 105 86 582 562 ;
+C 251 ; WX 771 ; N elj ; B 12 -7 738 464 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/cyrillic/ot2cyr/mntrz.tfm b/fonts/cyrillic/ot2cyr/mntrz.tfm
new file mode 100644
index 0000000000..7b5c65595e
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntrz.tfm
Binary files differ
diff --git a/fonts/cyrillic/ot2cyr/mntz.map b/fonts/cyrillic/ot2cyr/mntz.map
new file mode 100644
index 0000000000..315f34c211
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/mntz.map
@@ -0,0 +1,20 @@
+%% mntz.map
+%% Copyright 1996 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+mntboz MTimesNewRomanCyrillic-BolInc <mntboz.pfb
+mntbz MTimesNewRomanCyrillic-Bold <mntbz.pfb
+mntroz MTimesNewRomanCyrillic-Inc <mntroz.pfb
+mntrz MTimesNewRomanCyrillic <mntrz.pfb
diff --git a/fonts/cyrillic/ot2cyr/monoOT2.etx b/fonts/cyrillic/ot2cyr/monoOT2.etx
new file mode 100644
index 0000000000..d97be9ca55
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/monoOT2.etx
@@ -0,0 +1,204 @@
+%% monoOT2.etx
+%% Copyright 1995 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+% Encoding: AMS Cyrillic
+% Encoding vector for AMS Washington WNCYR `CM' Cyrillic fonts
+% This uses the Monotype names for the Cyrillic glyphs.
+%
+\relax
+\documentstyle[fontdoc,twocolumn]{article}
+\title{The \TeX\ OT2 vector (Monotype names)}
+\author{Sebastian Rahtz}
+\date{October 1995}
+\begin{document}
+\maketitle
+\section{Introduction}
+This document describes the \TeX\ Cyrillic OT2 encoding vector,
+using Monotype character names.
+\encoding
+\needsfontinstversion{1.335}
+\comment{\section{Default values}}
+\setstr{codingscheme}{TEX CYRILLIC}
+\setint{italicslant}{0}
+\setint{xheight}{500}
+\setint{interword}{333}
+\comment{\section{Default font dimensions}}
+\setint{italicslant}{0}
+\setint{xheight}{
+ \ifisglyph{x}\then
+ \height{x}
+ \else
+ 0
+ \fi
+}
+\setint{interword}{
+ \ifisglyph{space}\then
+ \width{space}
+ \else
+ 0
+ \fi
+}
+\comment{\section{Default font dimensions}}
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+\else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+\fi
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+\else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+ % same as shrink
+\fi
+\nextslot{000}\setslot{Nj}\endsetslot
+\nextslot{001}\setslot{Elj}\endsetslot
+\nextslot{002}\setslot{Dsche}\endsetslot
+\nextslot{003}\setslot{E}\endsetslot
+\nextslot{004}\setslot{I}\endsetslot
+\nextslot{005}\setslot{Ye}\endsetslot
+\nextslot{006}\setslot{Djsche}\endsetslot
+\nextslot{007}\setslot{Tjsche}\endsetslot
+\nextslot{008}\setslot{nj}\endsetslot
+\nextslot{009}\setslot{elj}\endsetslot
+\nextslot{010}\setslot{dsche}\endsetslot
+\nextslot{011}\setslot{e}\endsetslot
+\nextslot{012}\setslot{i}\endsetslot
+\nextslot{013}\setslot{ye}\endsetslot
+\nextslot{014}\setslot{djsche}\endsetslot
+\nextslot{015}\setslot{tjsche}\endsetslot
+\nextslot{016}\setslot{Ju}\endsetslot
+\nextslot{017}\setslot{Schiwete}\endsetslot
+\nextslot{018}\setslot{Ischedipthong}\endsetslot
+\nextslot{019}\setslot{Jehstdieresis}\endsetslot
+\nextslot{020}\setslot{Jschiza}\endsetslot
+\nextslot{021}\setslot{Fita}\endsetslot
+\nextslot{022}\setslot{Zelo}\endsetslot
+\nextslot{023}\setslot{Ja}\endsetslot
+\nextslot{024}\setslot{ju}\endsetslot
+\nextslot{025}\setslot{schiwete}\endsetslot
+\nextslot{026}\setslot{ischedipthong}\endsetslot
+\nextslot{027}\setslot{jehstdieresis}\endsetslot
+\nextslot{028}\setslot{jschiza}\endsetslot
+\nextslot{029}\setslot{fita}\endsetslot
+\nextslot{030}\setslot{zelo}\endsetslot
+\nextslot{031}\setslot{ja}\endsetslot
+\nextslot{032}\setslot{dieresis}\endsetslot
+\nextslot{033}\setslot{exclam}\endsetslot
+\nextslot{034}\setslot{quotedblright}\endsetslot
+\nextslot{035}\setslot{Jat}\endsetslot
+\nextslot{036}\setslot{cyrbreve}\endsetslot % a cyrillic breve. no sign of this anywhere
+\nextslot{037}\setslot{percent}\endsetslot
+\nextslot{038}\setslot{acute}\endsetslot
+\nextslot{039}\setslot{quoteright}\endsetslot
+\nextslot{040}\setslot{parenleft}\endsetslot
+\nextslot{041}\setslot{parenright}\endsetslot
+\nextslot{042}\setslot{asterisk}\endsetslot
+\nextslot{043}\setslot{jat}\endsetslot
+\nextslot{044}\setslot{comma}\endsetslot
+\nextslot{045}\setslot{hyphen}\endsetslot
+\nextslot{046}\setslot{period}\endsetslot
+\nextslot{047}\setslot{slash}\endsetslot
+\nextslot{048}\setslot{zero}\endsetslot
+\nextslot{049}\setslot{one}\endsetslot
+\nextslot{050}\setslot{two}\endsetslot
+\nextslot{051}\setslot{three}\endsetslot
+\nextslot{052}\setslot{four}\endsetslot
+\nextslot{053}\setslot{five}\endsetslot
+\nextslot{054}\setslot{six}\endsetslot
+\nextslot{055}\setslot{seven}\endsetslot
+\nextslot{056}\setslot{eight}\endsetslot
+\nextslot{057}\setslot{nine}\endsetslot
+\nextslot{058}\setslot{colon}\endsetslot
+\nextslot{059}\setslot{semicolon}\endsetslot
+\nextslot{060}\setslot{guillemotleft}\endsetslot
+\nextslot{061}\setslot{dotlessi}\endsetslot
+\nextslot{062}\setslot{guillemotright}\endsetslot
+\nextslot{063}\setslot{question}\endsetslot
+\nextslot{064}\setslot{breve}\endsetslot
+\nextslot{065}\setslot{As}\endsetslot
+\nextslot{066}\setslot{Buki}\endsetslot
+\nextslot{067}\setslot{Zui}\endsetslot
+\nextslot{068}\setslot{Dobro}\endsetslot
+\nextslot{069}\setslot{Jehst}\endsetslot
+\nextslot{070}\setslot{Fert}\endsetslot
+\nextslot{071}\setslot{Glagol}\endsetslot
+\nextslot{072}\setslot{Chherr}\endsetslot
+\nextslot{073}\setslot{Ische}\endsetslot
+\nextslot{074}\setslot{Je}\endsetslot
+\nextslot{075}\setslot{Kako}\endsetslot
+\nextslot{076}\setslot{Ljudi}\endsetslot
+\nextslot{077}\setslot{Muislete}\endsetslot
+\nextslot{078}\setslot{Nasche}\endsetslot
+\nextslot{079}\setslot{On}\endsetslot
+\nextslot{080}\setslot{Pakoy}\endsetslot
+\nextslot{081}\setslot{Tscherw}\endsetslot
+\nextslot{082}\setslot{Rzui}\endsetslot
+\nextslot{083}\setslot{Ssiowo}\endsetslot
+\nextslot{084}\setslot{Twerdo}\endsetslot
+\nextslot{085}\setslot{U}\endsetslot
+\nextslot{086}\setslot{Wjedi}\endsetslot
+\nextslot{087}\setslot{Schtscha}\endsetslot
+\nextslot{088}\setslot{Scha}\endsetslot
+\nextslot{089}\setslot{Jerui}\endsetslot
+\nextslot{090}\setslot{Semlja}\endsetslot
+\nextslot{091}\setslot{bracketleft}\endsetslot
+\nextslot{092}\setslot{quotedblleft}\endsetslot
+\nextslot{093}\setslot{bracketright}\endsetslot
+\nextslot{094}\setslot{Jher}\endsetslot
+\nextslot{095}\setslot{Jerr}\endsetslot
+\nextslot{096}\setslot{quoteleft}\endsetslot
+\nextslot{097}\setslot{as}\endsetslot
+\nextslot{098}\setslot{buki}\endsetslot
+\nextslot{099}\setslot{zui}\endsetslot
+\nextslot{100}\setslot{dobro}\endsetslot
+\nextslot{101}\setslot{jehst}\endsetslot
+\nextslot{102}\setslot{fert}\endsetslot
+\nextslot{103}\setslot{glagol}\endsetslot
+\nextslot{104}\setslot{chherr}\endsetslot
+\nextslot{105}\setslot{ische}\endsetslot
+\nextslot{106}\setslot{je}\endsetslot
+\nextslot{107}\setslot{kako}\endsetslot
+\nextslot{108}\setslot{ljudi}\endsetslot
+\nextslot{109}\setslot{muislette}\endsetslot
+\nextslot{110}\setslot{nasch}\endsetslot
+\nextslot{111}\setslot{on}\endsetslot
+\nextslot{112}\setslot{pakoy}\endsetslot
+\nextslot{113}\setslot{tscherw}\endsetslot
+\nextslot{114}\setslot{rzui}\endsetslot
+\nextslot{115}\setslot{ssiowo}\endsetslot
+\nextslot{116}\setslot{twerdo}\endsetslot
+\nextslot{117}\setslot{u}\endsetslot
+\nextslot{118}\setslot{wjedi}\endsetslot
+\nextslot{119}\setslot{schtscha}\endsetslot
+\nextslot{120}\setslot{scha}\endsetslot
+\nextslot{121}\setslot{jerui}\endsetslot
+\nextslot{122}\setslot{semlja}\endsetslot
+\nextslot{123}\setslot{endash}\endsetslot
+\nextslot{124}\setslot{emdash}\endsetslot
+\nextslot{125}\setslot{nosign}\endsetslot
+\nextslot{126}\setslot{jher}\endsetslot
+\nextslot{127}\setslot{jerr}\endsetslot
+
+\endencoding
+
+\end{document}
diff --git a/fonts/cyrillic/ot2cyr/monocyr.mtx b/fonts/cyrillic/ot2cyr/monocyr.mtx
new file mode 100644
index 0000000000..9c7aa48931
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/monocyr.mtx
@@ -0,0 +1,181 @@
+%% monocyr.mtx
+%% Copyright 1995 Sebastian Rahtz
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Sebastian Rahtz.
+%
+% This work consists of all files listed in manifest.txt.
+%
+% Encoding: AMS Cyrillic
+% Glyphs for Washington WNCYR `CM' Cyrillic fonts
+% This uses the Monotype names for the Cyrillic glyphs.
+\relax
+\documentstyle[fontdoc,twocolumn]{article}
+\title{The \TeX\ OT2 vector (Monotype names)}
+\author{Sebastian Rahtz}
+\date{October 1995}
+\begin{document}
+\maketitle
+\section{Introduction}
+This document describes the \TeX\ Cyrillic OT2 glyphs,
+using Monotype character names.
+\metrics
+% Uses the fontinst package.
+\needsfontinstversion{1.335}
+% \unfakable is a glyph which can't be faked.
+\setcommand\unfakable#1{
+ \setglyph{#1}
+ \ifisglyph{#1-not}\then
+ \moveup{\neg{\depth{#1-not}}}
+ \glyphrule{
+ \width{#1-not}
+ }{
+ \add{\depth{#1-not}}{\height{#1-not}}
+ }
+ \resetitalic{\italic{#1-not}}
+ \moveup{\depth{#1-not}}
+ \else
+ \glyphrule{500}{500}
+ \fi
+ \glyphwarning{missing glyph `#1'}
+ \endsetglyph
+}
+\unfakable{Nj}
+\unfakable{Elj}
+\unfakable{Dsche}
+\unfakable{E}
+\unfakable{I}
+\unfakable{Ye}
+\unfakable{Djsche}
+\unfakable{Tjsche}
+\unfakable{nj}
+\unfakable{elj}
+\unfakable{dsche}
+\unfakable{e}
+\unfakable{i}
+\unfakable{ye}
+\unfakable{djsche}
+\unfakable{tjsche}
+\unfakable{Ju}
+\unfakable{Schiwete}
+\unfakable{Ischedipthong}
+\unfakable{Jehstdieresis}
+\unfakable{Jschiza}
+\unfakable{Fita}
+\unfakable{Zelo}
+\unfakable{Ja}
+\unfakable{ju}
+\unfakable{schiwete}
+\unfakable{ischedipthong}
+\unfakable{jehstdieresis}
+\unfakable{jschiza}
+\unfakable{fita}
+\unfakable{zelo}
+\unfakable{ja}
+\unfakable{dieresis}
+\unfakable{exclam}
+\unfakable{quotedblright}
+\unfakable{Jat}
+\unfakable{breve}
+\unfakable{acute}
+\unfakable{quoteright}
+\unfakable{parenleft}
+\unfakable{parenright}
+\unfakable{asterisk}
+\unfakable{jat}
+\unfakable{comma}
+\unfakable{hyphen}
+\unfakable{period}
+\unfakable{slash}
+\unfakable{zero}
+\unfakable{one}
+\unfakable{two}
+\unfakable{three}
+\unfakable{four}
+\unfakable{five}
+\unfakable{six}
+\unfakable{seven}
+\unfakable{eight}
+\unfakable{nine}
+\unfakable{colon}
+\unfakable{semicolon}
+\unfakable{guillemotleft}
+\unfakable{dotlessi}
+\unfakable{guillemotright}
+\unfakable{question}
+\unfakable{cyrbreve}
+\unfakable{As}
+\unfakable{Buki}
+\unfakable{Zui}
+\unfakable{Dobro}
+\unfakable{Jehst}
+\unfakable{Fert}
+\unfakable{Glagol}
+\unfakable{Chherr}
+\unfakable{Ische}
+\unfakable{Je}
+\unfakable{Kako}
+\unfakable{Ljudi}
+\unfakable{Muislete}
+\unfakable{Nasche}
+\unfakable{On}
+\unfakable{Pakoy}
+\unfakable{Tscherw}
+\unfakable{Rzui}
+\unfakable{Ssiowo}
+\unfakable{Twerdo}
+\unfakable{U}
+\unfakable{Wjedi}
+\unfakable{Schtscha}
+\unfakable{Scha}
+\unfakable{Jerui}
+\unfakable{Semlja}
+\unfakable{bracketleft}
+\unfakable{quotedblleft}
+\unfakable{bracketright}
+\unfakable{Jher}
+\unfakable{Jerr}
+\unfakable{quoteleft}
+\unfakable{as}
+\unfakable{buki}
+\unfakable{zui}
+\unfakable{dobro}
+\unfakable{jehst}
+\unfakable{fert}
+\unfakable{glagol}
+\unfakable{chherr}
+\unfakable{ische}
+\unfakable{je}
+\unfakable{kako}
+\unfakable{ljudi}
+\unfakable{muislette}
+\unfakable{nasch}
+\unfakable{on}
+\unfakable{pakoy}
+\unfakable{tscherw}
+\unfakable{rzui}
+\unfakable{ssiowo}
+\unfakable{twerdo}
+\unfakable{u}
+\unfakable{wjedi}
+\unfakable{schtscha}
+\unfakable{scha}
+\unfakable{jerui}
+\unfakable{semlja}
+\unfakable{endash}
+\unfakable{emdash}
+\unfakable{nosign}
+\unfakable{jher}
+\unfakable{jerr}
+\endmetrics
+\makesignature
+\end{document}
diff --git a/fonts/cyrillic/ot2cyr/wncyrps.vec b/fonts/cyrillic/ot2cyr/wncyrps.vec
new file mode 100644
index 0000000000..7e8fdb99e4
--- /dev/null
+++ b/fonts/cyrillic/ot2cyr/wncyrps.vec
@@ -0,0 +1,126 @@
+000 Nj
+001 Elj
+002 Dsche
+003 E
+004 I
+005 Ye
+006 Djsche
+007 Tjsche
+008 nj
+009 elj
+010 dsche
+011 e
+012 i
+013 ye
+014 djsche
+015 tjsche
+016 Ju
+017 Schiwete
+018 Ischedipthong
+019 Jehstdieresis
+020 Jschiza
+021 Fita
+022 Zelo
+023 Ja
+024 ju
+025 schiwete
+025 schiwetebulg
+026 ischedipthong
+027 jehstdieresis
+028 jschiza
+029 fita
+030 zelo
+031 ja
+032 dieresis
+033 exclam
+034 quotedblright
+035 Jat
+037 percent
+038 acute
+039 quoteright
+040 parenleft
+041 parenright
+042 asterisk
+043 jat
+044 comma
+045 hyphen
+046 period
+047 slash
+048 zero
+049 one
+050 two
+051 three
+052 four
+053 five
+054 six
+055 seven
+056 eight
+057 nine
+058 colon
+059 semicolon
+061 dotlessi
+062 guillemotleft
+062 guillemotright
+063 question
+065 As
+066 Buki
+067 Zui
+068 Dobro
+069 Jehst
+070 Fert
+071 Glagol
+072 Chherr
+073 Ische
+074 Je
+075 Kako
+076 Ljudi
+077 Muislete
+078 Nasche
+079 On
+080 Pakoy
+081 Tscherw
+082 Rzui
+083 Ssiowo
+084 Twerdo
+085 U
+086 Wjedi
+087 Schtscha
+088 Scha
+089 Jerui
+090 Semlja
+092 quotedblleft
+094 Jher
+095 Jerr
+096 quoteleft
+097 as
+098 buki
+099 zui
+100 dobro
+101 jehst
+102 fert
+103 glagol
+104 chherr
+105 ische
+106 je
+107 kako
+108 ljudi
+109 muislette
+110 nasch
+111 on
+112 pakoy
+113 tscherw
+114 rzui
+115 ssiowo
+116 twerdo
+117 u
+118 wjedi
+119 schtscha
+120 scha
+121 jerui
+122 semlja
+123 endash
+124 emdash
+125 nosign
+126 jher
+127 jerr
+
diff --git a/fonts/cyrillic/scyrillic/README b/fonts/cyrillic/scyrillic/README
new file mode 100644
index 0000000000..227626f88b
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/README
@@ -0,0 +1,44 @@
+This directory contains version 2.0 of the Cyrillic fonts created by
+Nana Glonti and Alexander Samarin at the Institute for High Energy
+Physics, Protvino, USSR. (email: SAMARIN@VXCERN.DECNET.CERN.CH)
+
+I renamed the fonts at Alex's suggestions to follow the font naming
+scheme described in ftp.cs.umb.edu
+[192.12.26.23]:pub/tex/fontname/fontname.texi.
+
+The non-typeface-specific Cyrillic files are:
+
+cycoding.mf assign character positions
+cyrillic.mf driver file + kerning table
+cyitall.mf lower case italic letters
+cyrl.mf lower case letters
+cyru.mf upper case letters
+cytextit.mf driver file for italic
+
+
+Here is the list of the typeface names with their meanings, and the
+sizes at which they are available. You can also use these fonts with
+the sauter distribution, to make the fonts at any point size: get
+ftp.cs.umb.edu:pub/tex/sauter.tar.Z.
+
+cmbizx 10 # bold italic extended
+cmbozx 10 # bold slanted extended
+cmbszx 10 # bold sans extended
+cmbz 10 # bold
+cmbzx 5 6 7 8 9 10 12 # bold extended
+czssq 8 # sans serif ``quotation''
+czssqi 8 # sans serif italic ``quotation''
+cmdszc 10 # demibold sans condensed
+cmrcz 8 9 10 # small caps
+cmrisz 8 9 10 12 17 # italic sans
+cmritz 10 # italic typewriter
+cmriz 7 8 9 10 12 # italic
+cmrotz 10 # slanted typewriter
+cmroz 8 9 10 12 # slanted
+cmrsz 8 9 10 12 17 # sans
+cmrtz 8 9 10 12 # typewriter
+cmruz 10 # unslanted italic
+cmrz 5 6 7 8 9 10 12 17 # regular
+
+
+karl@cs.umb.edu
diff --git a/fonts/cyrillic/scyrillic/cmbizx10.mf b/fonts/cyrillic/scyrillic/cmbizx10.mf
new file mode 100644
index 0000000000..39e364ea9d
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbizx10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Bold Extended Text Italic 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBXTI"; font_size 10pt#;
+
+u#:=21.2/36pt#; % unit width
+width_adj#:=11/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=7/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=11/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=247/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=85/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=13/36pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=20/36pt#; % lowercase hairline breadth
+stem#:=38/36pt#; % lowercase stem breadth
+curve#:=43/36pt#; % lowercase curve breadth
+ess#:=35/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=53/36pt#; % diameter of dots
+cap_hair#:=22/36pt#; % uppercase hairline breadth
+cap_stem#:=49/36pt#; % uppercase stem breadth
+cap_curve#:=52/36pt#; % uppercase curve breadth
+cap_ess#:=50/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=27/36pt#; % protrusion of lowercase serifs
+cap_jut#:=39/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=13/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=17/36pt#; % lowercase bar thickness
+slab#:=17/36pt#; % serif and arm thickness
+cap_bar#:=17/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=3/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmbozx10.mf b/fonts/cyrillic/scyrillic/cmbozx10.mf
new file mode 100644
index 0000000000..f65fb1f343
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbozx10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Extended Slanted 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBXSL"; font_size 10pt#;
+
+u#:=23/36pt#; % unit width
+width_adj#:=11/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=7/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=247/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=85/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=17/36pt#; % lowercase hairline breadth
+stem#:=41/36pt#; % lowercase stem breadth
+curve#:=46/36pt#; % lowercase curve breadth
+ess#:=38/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=56/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=51/36pt#; % uppercase stem breadth
+cap_curve#:=55/36pt#; % uppercase curve breadth
+cap_ess#:=53/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=39/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=13/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=17/36pt#; % lowercase bar thickness
+slab#:=17/36pt#; % serif and arm thickness
+cap_bar#:=17/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=3/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmbszx10.mf b/fonts/cyrillic/scyrillic/cmbszx10.mf
new file mode 100644
index 0000000000..e08c03533c
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbszx10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Sans Serif Bold Extended 10 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSBX"; font_size 10pt#;
+
+u#:=22/36pt#; % unit width
+width_adj#:=22/36pt#; % width adjustment for certain characters
+serif_fit#:=-9/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-11/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=250/36pt#; % height of caps
+fig_height#:=250/36pt#; % height of numerals
+x_height#:=165/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=90/36pt#; % height of crossbar in lowercase e
+comma_depth#:=38/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=26/36pt#; % diameter of serif corners
+tiny#:=26/36pt#; % diameter of rounded corners
+fine#:=9/36pt#; % diameter of sharply rounded corners
+thin_join#:=9/36pt#; % width of extrafine details
+hair#:=49/36pt#; % lowercase hairline breadth
+stem#:=49/36pt#; % lowercase stem breadth
+curve#:=49/36pt#; % lowercase curve breadth
+ess#:=43/36pt#; % breadth in middle of lowercase s
+flare#:=40/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=47/36pt#; % diameter of dots
+cap_hair#:=49/36pt#; % uppercase hairline breadth
+cap_stem#:=53/36pt#; % uppercase stem breadth
+cap_curve#:=53/36pt#; % uppercase curve breadth
+cap_ess#:=51/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=30/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=1.5/36pt#; % vertical protrusion of beak serifs
+vair#:=26/36pt#; % vertical diameter of hairlines
+notch_cut#:=49/36pt#; % maximum breadth above or below notches
+bar#:=26/36pt#; % lowercase bar thickness
+slab#:=36/36pt#; % serif and arm thickness
+cap_bar#:=34/36pt#; % uppercase bar thickness
+cap_band#:=31/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=45/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=2/36pt#; % for small refinements of hairline height
+apex_corr#:=18/36pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.88; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=3/4; % parameter for superellipses
+superpull:=1/18; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmbz10.mf b/fonts/cyrillic/scyrillic/cmbz10.mf
new file mode 100644
index 0000000000..9a6d975430
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbz10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Bold Roman 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCB"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=10/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=247/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=85/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=17/36pt#; % lowercase hairline breadth
+stem#:=41/36pt#; % lowercase stem breadth
+curve#:=46/36pt#; % lowercase curve breadth
+ess#:=38/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=56/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=51/36pt#; % uppercase stem breadth
+cap_curve#:=55/36pt#; % uppercase curve breadth
+cap_ess#:=53/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=13/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=17/36pt#; % lowercase bar thickness
+slab#:=17/36pt#; % serif and arm thickness
+cap_bar#:=17/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=3/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmbzx10.mf b/fonts/cyrillic/scyrillic/cmbzx10.mf
new file mode 100644
index 0000000000..88740e0240
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbzx10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Bold Extended 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 10pt#;
+
+u#:=23/36pt#; % unit width
+width_adj#:=11/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=7/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=247/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=85/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=17/36pt#; % lowercase hairline breadth
+stem#:=41/36pt#; % lowercase stem breadth
+curve#:=46/36pt#; % lowercase curve breadth
+ess#:=38/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=56/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=51/36pt#; % uppercase stem breadth
+cap_curve#:=55/36pt#; % uppercase curve breadth
+cap_ess#:=53/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=39/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=13/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=17/36pt#; % lowercase bar thickness
+slab#:=17/36pt#; % serif and arm thickness
+cap_bar#:=17/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=3/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmbzx12.mf b/fonts/cyrillic/scyrillic/cmbzx12.mf
new file mode 100644
index 0000000000..bdeba9c065
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbzx12.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Bold Extended Roman 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 12pt#;
+
+u#:=27/36pt#; % unit width
+width_adj#:=13/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=296.4/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=192/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=102/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10.5/36pt#; % width of extrafine details
+hair#:=18.3/36pt#; % lowercase hairline breadth
+stem#:=47/36pt#; % lowercase stem breadth
+curve#:=52/36pt#; % lowercase curve breadth
+ess#:=44/36pt#; % breadth in middle of lowercase s
+flare#:=51/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=62/36pt#; % diameter of dots
+cap_hair#:=20/36pt#; % uppercase hairline breadth
+cap_stem#:=57/36pt#; % uppercase stem breadth
+cap_curve#:=61/36pt#; % uppercase curve breadth
+cap_ess#:=59/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.66pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=12/36pt#; % vertical distance from serif base to tangent
+jut#:=30/36pt#; % protrusion of lowercase serifs
+cap_jut#:=46/36pt#; % protrusion of uppercase serifs
+beak_jut#:=12.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=14.3/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=18.5/36pt#; % lowercase bar thickness
+slab#:=18.5/36pt#; % serif and arm thickness
+cap_bar#:=18.5/36pt#; % uppercase bar thickness
+cap_band#:=18.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=2/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmbzx5.mf b/fonts/cyrillic/scyrillic/cmbzx5.mf
new file mode 100644
index 0000000000..8cb4c2f8d7
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbzx5.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Bold Extended Roman 5 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 5pt#;
+
+u#:=14.5/36pt#; % unit width
+width_adj#:=7/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=3/36pt#; % extra space added to all sidebars
+
+body_height#:=135/36pt#; % height of tallest characters
+asc_height#:=125/36pt#; % height of lowercase ascenders
+cap_height#:=123.5/36pt#; % height of caps
+fig_height#:=116/36pt#; % height of numerals
+x_height#:=80/36pt#; % height of lowercase without ascenders
+math_axis#:=45/36pt#; % axis of symmetry for math symbols
+bar_height#:=40/36pt#; % height of crossbar in lowercase e
+comma_depth#:=35/36pt#; % depth of comma below baseline
+desc_depth#:=35/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=9/36pt#; % diameter of rounded corners
+fine#:=8/36pt#; % diameter of sharply rounded corners
+thin_join#:=8/36pt#; % width of extrafine details
+hair#:=15/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=27/36pt#; % lowercase curve breadth
+ess#:=19/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=31/36pt#; % diameter of dots
+cap_hair#:=17/36pt#; % uppercase hairline breadth
+cap_stem#:=28/36pt#; % uppercase stem breadth
+cap_curve#:=31/36pt#; % uppercase curve breadth
+cap_ess#:=24/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.43pt#; % thickness of lines in math symbols
+
+dish#:=.7/36pt#; % amount erased at top or bottom of serifs
+bracket#:=5/36pt#; % vertical distance from serif base to tangent
+jut#:=13/36pt#; % protrusion of lowercase serifs
+cap_jut#:=19/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7/36pt#; % horizontal protrusion of beak serifs
+beak#:=25/36pt#; % vertical protrusion of beak serifs
+vair#:=10/36pt#; % vertical diameter of hairlines
+notch_cut#:=5pt#; % maximum breadth above or below notches
+bar#:=12/36pt#; % lowercase bar thickness
+slab#:=12/36pt#; % serif and arm thickness
+cap_bar#:=12/36pt#; % uppercase bar thickness
+cap_band#:=12/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=5pt#; % max breadth above/below uppercase notches
+serif_drop#:=1.5/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.5/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=9/36pt#; % extra width at diagonal junctions
+
+o#:=3/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1.5; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmbzx6.mf b/fonts/cyrillic/scyrillic/cmbzx6.mf
new file mode 100644
index 0000000000..8f184333d7
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbzx6.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Bold Extended Roman 6 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 6pt#;
+
+u#:=16.2/36pt#; % unit width
+width_adj#:=7.8/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=2/36pt#; % extra space added to all sidebars
+
+body_height#:=162/36pt#; % height of tallest characters
+asc_height#:=150/36pt#; % height of lowercase ascenders
+cap_height#:=148.2/36pt#; % height of caps
+fig_height#:=139.2/36pt#; % height of numerals
+x_height#:=96/36pt#; % height of lowercase without ascenders
+math_axis#:=54/36pt#; % axis of symmetry for math symbols
+bar_height#:=49/36pt#; % height of crossbar in lowercase e
+comma_depth#:=42/36pt#; % depth of comma below baseline
+desc_depth#:=42/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=10/36pt#; % diameter of rounded corners
+fine#:=9/36pt#; % diameter of sharply rounded corners
+thin_join#:=9/36pt#; % width of extrafine details
+hair#:=15.4/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=31/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=31/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=36/36pt#; % diameter of dots
+cap_hair#:=18/36pt#; % uppercase hairline breadth
+cap_stem#:=33/36pt#; % uppercase stem breadth
+cap_curve#:=36/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.47pt#; % thickness of lines in math symbols
+
+dish#:=.8/36pt#; % amount erased at top or bottom of serifs
+bracket#:=6/36pt#; % vertical distance from serif base to tangent
+jut#:=15/36pt#; % protrusion of lowercase serifs
+cap_jut#:=23/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.8/36pt#; % horizontal protrusion of beak serifs
+beak#:=36/36pt#; % vertical protrusion of beak serifs
+vair#:=11/36pt#; % vertical diameter of hairlines
+notch_cut#:=6pt#; % maximum breadth above or below notches
+bar#:=13/36pt#; % lowercase bar thickness
+slab#:=13/36pt#; % serif and arm thickness
+cap_bar#:=13/36pt#; % uppercase bar thickness
+cap_band#:=13/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=6pt#; % max breadth above/below uppercase notches
+serif_drop#:=1.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.6/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.1/36pt#; % for small refinements of hairline height
+apex_corr#:=5/36pt#; % extra width at diagonal junctions
+
+o#:=3/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1.3; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmbzx7.mf b/fonts/cyrillic/scyrillic/cmbzx7.mf
new file mode 100644
index 0000000000..0417af2313
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbzx7.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Bold Extended Roman 7 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 7pt#;
+
+u#:=17.9/36pt#; % unit width
+width_adj#:=8.6/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=1/36pt#; % extra space added to all sidebars
+
+body_height#:=189/36pt#; % height of tallest characters
+asc_height#:=175/36pt#; % height of lowercase ascenders
+cap_height#:=172.9/36pt#; % height of caps
+fig_height#:=162.4/36pt#; % height of numerals
+x_height#:=112/36pt#; % height of lowercase without ascenders
+math_axis#:=63/36pt#; % axis of symmetry for math symbols
+bar_height#:=58/36pt#; % height of crossbar in lowercase e
+comma_depth#:=49/36pt#; % depth of comma below baseline
+desc_depth#:=49/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=11/36pt#; % diameter of rounded corners
+fine#:=9/36pt#; % diameter of sharply rounded corners
+thin_join#:=9/36pt#; % width of extrafine details
+hair#:=15.8/36pt#; % lowercase hairline breadth
+stem#:=32/36pt#; % lowercase stem breadth
+curve#:=35/36pt#; % lowercase curve breadth
+ess#:=29/36pt#; % breadth in middle of lowercase s
+flare#:=35/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=41/36pt#; % diameter of dots
+cap_hair#:=18/36pt#; % uppercase hairline breadth
+cap_stem#:=38/36pt#; % uppercase stem breadth
+cap_curve#:=41/36pt#; % uppercase curve breadth
+cap_ess#:=37/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.51pt#; % thickness of lines in math symbols
+
+dish#:=.9/36pt#; % amount erased at top or bottom of serifs
+bracket#:=7/36pt#; % vertical distance from serif base to tangent
+jut#:=17/36pt#; % protrusion of lowercase serifs
+cap_jut#:=27/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.6/36pt#; % horizontal protrusion of beak serifs
+beak#:=46/36pt#; % vertical protrusion of beak serifs
+vair#:=11.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=7pt#; % maximum breadth above or below notches
+bar#:=14/36pt#; % lowercase bar thickness
+slab#:=14/36pt#; % serif and arm thickness
+cap_bar#:=14/36pt#; % uppercase bar thickness
+cap_band#:=14/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.1/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.7/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.2/36pt#; % for small refinements of hairline height
+apex_corr#:=2/36pt#; % extra width at diagonal junctions
+
+o#:=3/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1.1; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmbzx8.mf b/fonts/cyrillic/scyrillic/cmbzx8.mf
new file mode 100644
index 0000000000..b0df207e30
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbzx8.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Bold Extended Roman 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 8pt#;
+
+u#:=19.6/36pt#; % unit width
+width_adj#:=9.4/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.4/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=197.6/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=128/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=67/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=12/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=16.2/36pt#; % lowercase hairline breadth
+stem#:=35/36pt#; % lowercase stem breadth
+curve#:=39/36pt#; % lowercase curve breadth
+ess#:=32/36pt#; % breadth in middle of lowercase s
+flare#:=39/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=46/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=43/36pt#; % uppercase stem breadth
+cap_curve#:=46/36pt#; % uppercase curve breadth
+cap_ess#:=43/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.54pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=8/36pt#; % vertical distance from serif base to tangent
+jut#:=19/36pt#; % protrusion of lowercase serifs
+cap_jut#:=31/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=55/36pt#; % vertical protrusion of beak serifs
+vair#:=12/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=15/36pt#; % lowercase bar thickness
+slab#:=15/36pt#; % serif and arm thickness
+cap_bar#:=15/36pt#; % uppercase bar thickness
+cap_band#:=15/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.8/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.3/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.9; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmbzx9.mf b/fonts/cyrillic/scyrillic/cmbzx9.mf
new file mode 100644
index 0000000000..f10d1cfc25
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmbzx9.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Bold Extended Roman 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCBX"; font_size 9pt#;
+
+u#:=21.3/36pt#; % unit width
+width_adj#:=10.2/36pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=6.2/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=222.3/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=144/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=76/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=13/36pt#; % diameter of rounded corners
+fine#:=10/36pt#; % diameter of sharply rounded corners
+thin_join#:=10/36pt#; % width of extrafine details
+hair#:=16.6/36pt#; % lowercase hairline breadth
+stem#:=38/36pt#; % lowercase stem breadth
+curve#:=43/36pt#; % lowercase curve breadth
+ess#:=35/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=51/36pt#; % diameter of dots
+cap_hair#:=19/36pt#; % uppercase hairline breadth
+cap_stem#:=47/36pt#; % uppercase stem breadth
+cap_curve#:=51/36pt#; % uppercase curve breadth
+cap_ess#:=48/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.57pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=9/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=35/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=12.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=16/36pt#; % lowercase bar thickness
+slab#:=16/36pt#; % serif and arm thickness
+cap_bar#:=16/36pt#; % uppercase bar thickness
+cap_band#:=16/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.7/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1.9/36pt#; % for small refinements of stem breadth
+vair_corr#:=1.4/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.7; % extra openness of math symbols
+superness:=8/11; % parameter for superellipses
+superpull:=1/8; % extra openness inside bowls
+beak_darkness:=.4; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmdszc10.mf b/fonts/cyrillic/scyrillic/cmdszc10.mf
new file mode 100644
index 0000000000..f2bcb097eb
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmdszc10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif Demibold Condensed 10 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSDC"; font_size 10pt#;
+
+u#:=19/36pt#; % unit width
+width_adj#:=15/36pt#; % width adjustment for certain characters
+serif_fit#:=-8/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-9/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=250/36pt#; % height of caps
+fig_height#:=250/36pt#; % height of numerals
+x_height#:=170/36pt#; % height of lowercase without ascenders
+math_axis#:=95/36pt#; % axis of symmetry for math symbols
+bar_height#:=95/36pt#; % height of crossbar in lowercase e
+comma_depth#:=40/36pt#; % depth of comma below baseline
+desc_depth#:=60/36pt#; % depth of lowercase descenders
+
+crisp#:=23/36pt#; % diameter of serif corners
+tiny#:=23/36pt#; % diameter of rounded corners
+fine#:=8/36pt#; % diameter of sharply rounded corners
+thin_join#:=8/36pt#; % width of extrafine details
+hair#:=40/36pt#; % lowercase hairline breadth
+stem#:=40/36pt#; % lowercase stem breadth
+curve#:=40/36pt#; % lowercase curve breadth
+ess#:=37/36pt#; % breadth in middle of lowercase s
+flare#:=31/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=40/36pt#; % uppercase hairline breadth
+cap_stem#:=44/36pt#; % uppercase stem breadth
+cap_curve#:=44/36pt#; % uppercase curve breadth
+cap_ess#:=42/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=25/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=1.5/36pt#; % vertical protrusion of beak serifs
+vair#:=23/36pt#; % vertical diameter of hairlines
+notch_cut#:=40/36pt#; % maximum breadth above or below notches
+bar#:=23/36pt#; % lowercase bar thickness
+slab#:=31/36pt#; % serif and arm thickness
+cap_bar#:=29/36pt#; % uppercase bar thickness
+cap_band#:=27/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=37/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=2/36pt#; % for small refinements of hairline height
+apex_corr#:=14/36pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.91; % factor applied to weights of heavy characters
+math_spread:=.3; % extra openness of math symbols
+superness:=.74; % parameter for superellipses
+superpull:=1/18; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic; % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmrcz10.mf b/fonts/cyrillic/scyrillic/cmrcz10.mf
new file mode 100644
index 0000000000..49b61460b1
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrcz10.mf
@@ -0,0 +1,111 @@
+% Computer Modern Cyrillic Caps and Small Caps 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCCSC"; font_size 10pt#;
+
+% first come parameters used to set the uppercase letters
+% (including some for lowercase that aren't actually used)
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=5/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=16/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=4/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=2.4/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=200/36pt#; % height of tallest characters
+lower.cap_height#:=185/36pt#; % height of caps
+lower.x_height#:=116/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=65/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=52/36pt#; % depth of comma below baseline
+
+lower.flare#:=25/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=9.1/36pt#; % uppercase hairline breadth
+lower.stem#:=21/36pt#; % lowercase stem breadth
+lower.cap_stem#:=26/36pt#; % uppercase stem breadth
+lower.cap_curve#:=31/36pt#; % uppercase curve breadth
+lower.cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=26/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=7/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=52/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=9.1/36pt#; % serif and arm thickness
+lower.cap_bar#:=9.1/36pt#; % uppercase bar thickness
+lower.cap_band#:=9.1/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+
+lower.o#:=5/36pt#; % amount of overshoot for curves
+lower.apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate cyccsc % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrcz8.mf b/fonts/cyrillic/scyrillic/cmrcz8.mf
new file mode 100644
index 0000000000..b341433e23
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrcz8.mf
@@ -0,0 +1,117 @@
+% CMCSC8.MF June 1990
+% This Metafont file is part of AMSFonts 2.0.
+% Copyright (C) 1990, American Mathematical Society.
+% All rights reserved. Copying of this file is authorized only if either:
+% (1) you make absolutely no changes to your copy including filename; OR
+% (2) if you do make changes, you first rename it to some other filename.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Computer Modern Cyrillic Caps and Small Caps 8 point
+% Computer Modern Roman Cap and Small Cap 8 point; created at AMS
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCCSC"; font_size 8pt#;
+
+u#:=18/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=2.5/36pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=25.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=9.5/36pt#; % uppercase hairline breadth
+cap_stem#:=26.5/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=29/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=13/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=2.7/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=4/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=146/36pt#; % height of tallest characters
+lower.cap_height#:=145.8/36pt#; % height of caps
+lower.x_height#:=85/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=47.6/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=38/36pt#; % depth of comma below baseline
+
+lower.flare#:=20/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=8.1/36pt#; % uppercase hairline breadth
+lower.stem#:=17/36pt#; % lowercase stem breadth
+lower.cap_stem#:=21/36pt#; % uppercase stem breadth
+lower.cap_curve#:=25/36pt#; % uppercase curve breadth
+lower.cap_ess#:=20/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=20/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=5.4/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=38/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=8.1/36pt#; % serif and arm thickness
+lower.cap_bar#:=8.1/36pt#; % uppercase bar thickness
+lower.cap_band#:=8.1/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+
+lower.o#:=4/36pt#; % amount of overshoot for curves
+lower.apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate cyccsc % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrcz9.mf b/fonts/cyrillic/scyrillic/cmrcz9.mf
new file mode 100644
index 0000000000..9e08276b43
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrcz9.mf
@@ -0,0 +1,117 @@
+% CMCSC9.MF June 1990
+% This Metafont file is part of AMSFonts 2.0.
+% Copyright (C) 1990, American Mathematical Society.
+% All rights reserved. Copying of this file is authorized only if either:
+% (1) you make absolutely no changes to your copy including filename; OR
+% (2) if you do make changes, you first rename it to some other filename.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Computer Modern Cyrillic Caps and Small Caps 9 point; base on
+% Computer Modern Roman Caps and Small Caps 9 point; created at AMS
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCCSC"; font_size 9pt#;
+
+u#:=19/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=3.5/36pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=10/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=33/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=33/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:=14.5/36pt#; % unit width
+lower.width_adj#:=0pt#; % width adjustment for certain characters
+lower.cap_serif_fit#:=3.4/36pt#; % extra sidebar near uppercase serifs
+lower.letter_fit#:=3.5/36pt#; % extra space added to all sidebars
+
+lower.body_height#:=173/36pt#; % height of tallest characters
+lower.cap_height#:=170.4/36pt#; % height of caps
+lower.x_height#:=100.5/36pt#; % height of lowercase without ascenders
+lower.bar_height#:=56.3/36pt#; % height of crossbar in lowercase e
+lower.comma_depth#:=45/36pt#; % depth of comma below baseline
+
+lower.flare#:=22/36pt#; % diameter of bulbs or breadth of terminals
+lower.cap_hair#:=8.6/36pt#; % uppercase hairline breadth
+lower.stem#:=19/36pt#; % lowercase stem breadth
+lower.cap_stem#:=23.5/36pt#; % uppercase stem breadth
+lower.cap_curve#:=28/36pt#; % uppercase curve breadth
+lower.cap_ess#:=24/36pt#; % breadth in middle of uppercase s
+
+lower.cap_jut#:=23/36pt#; % protrusion of uppercase serifs
+lower.beak_jut#:=6.2/36pt#; % horizontal protrusion of beak serifs
+lower.beak#:=45/36pt#; % vertical protrusion of beak serifs
+lower.slab#:=8.6/36pt#; % serif and arm thickness
+lower.cap_bar#:=8.6/36pt#; % uppercase bar thickness
+lower.cap_band#:=8.6/36pt#; % uppercase thickness above/below lobes
+lower.cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+
+lower.o#:=4.5/36pt#; % amount of overshoot for curves
+lower.apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+lower.fudge:=1; % factor applied to weights of heavy characters
+
+generate cyccsc % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrisz10.mf b/fonts/cyrillic/scyrillic/cmrisz10.mf
new file mode 100644
index 0000000000..5174318e32
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrisz10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Slanted Sans Serif 10 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=15/36pt#; % width adjustment for certain characters
+serif_fit#:=-7/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-10/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=250/36pt#; % height of caps
+fig_height#:=236/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=45/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=17/36pt#; % width of extrafine details
+hair#:=28/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=28/36pt#; % breadth in middle of lowercase s
+flare#:=25/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=30/36pt#; % diameter of dots
+cap_hair#:=28/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=32/36pt#; % uppercase curve breadth
+cap_ess#:=32/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.5/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=18/36pt#; % maximum breadth above or below notches
+bar#:=21/36pt#; % lowercase bar thickness
+slab#:=23/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=20/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=5/36pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.96; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrisz12.mf b/fonts/cyrillic/scyrillic/cmrisz12.mf
new file mode 100644
index 0000000000..cde0c1373d
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrisz12.mf
@@ -0,0 +1,76 @@
+% Computer Modern Slanted Sans Serif 12 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=17/36pt#; % width adjustment for certain characters
+serif_fit#:=-9/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-13/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=300/36pt#; % height of caps
+fig_height#:=283/36pt#; % height of numerals
+x_height#:=192/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=97/36pt#; % height of crossbar in lowercase e
+comma_depth#:=54/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=20/36pt#; % width of extrafine details
+hair#:=33/36pt#; % lowercase hairline breadth
+stem#:=33/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=33/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=33/36pt#; % uppercase hairline breadth
+cap_stem#:=37/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=37/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.6/36pt#; % vertical protrusion of beak serifs
+vair#:=26/36pt#; % vertical diameter of hairlines
+notch_cut#:=22/36pt#; % maximum breadth above or below notches
+bar#:=25/36pt#; % lowercase bar thickness
+slab#:=27/36pt#; % serif and arm thickness
+cap_bar#:=26/36pt#; % uppercase bar thickness
+cap_band#:=24/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=31/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=6/36pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.98; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrisz17.mf b/fonts/cyrillic/scyrillic/cmrisz17.mf
new file mode 100644
index 0000000000..e530f8862c
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrisz17.mf
@@ -0,0 +1,76 @@
+% Computer Modern Slanted Sans Serif 17 pt (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 17.28pt#;
+
+u#:=32.5/36pt#; % unit width
+width_adj#:=24/36pt#; % width adjustment for certain characters
+serif_fit#:=-12/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-17/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=466/36pt#; % height of tallest characters
+asc_height#:=432/36pt#; % height of lowercase ascenders
+cap_height#:=432/36pt#; % height of caps
+fig_height#:=408/36pt#; % height of numerals
+x_height#:=267.8/36pt#; % height of lowercase without ascenders
+math_axis#:=155.5/36pt#; % axis of symmetry for math symbols
+bar_height#:=136/36pt#; % height of crossbar in lowercase e
+comma_depth#:=78/36pt#; % depth of comma below baseline
+desc_depth#:=121/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=28/36pt#; % width of extrafine details
+hair#:=47/36pt#; % lowercase hairline breadth
+stem#:=47/36pt#; % lowercase stem breadth
+curve#:=47/36pt#; % lowercase curve breadth
+ess#:=47/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=50/36pt#; % diameter of dots
+cap_hair#:=47/36pt#; % uppercase hairline breadth
+cap_stem#:=52/36pt#; % uppercase stem breadth
+cap_curve#:=52/36pt#; % uppercase curve breadth
+cap_ess#:=52/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.8/36pt#; % vertical protrusion of beak serifs
+vair#:=38/36pt#; % vertical diameter of hairlines
+notch_cut#:=32/36pt#; % maximum breadth above or below notches
+bar#:=36/36pt#; % lowercase bar thickness
+slab#:=40/36pt#; % serif and arm thickness
+cap_bar#:=38/36pt#; % uppercase bar thickness
+cap_band#:=35/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=46/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=7/36pt#; % extra width at diagonal junctions
+
+o#:=10/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.4; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrisz8.mf b/fonts/cyrillic/scyrillic/cmrisz8.mf
new file mode 100644
index 0000000000..022ac1d430
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrisz8.mf
@@ -0,0 +1,76 @@
+% Computer Modern Slanted Sans Serif 8 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=12/36pt#; % width adjustment for certain characters
+serif_fit#:=-6/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-8.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=200/36pt#; % height of caps
+fig_height#:=189/36pt#; % height of numerals
+x_height#:=128/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=63/36pt#; % height of crossbar in lowercase e
+comma_depth#:=37/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=15/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=22/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=26/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=29/36pt#; % uppercase curve breadth
+cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.4/36pt#; % vertical protrusion of beak serifs
+vair#:=19/36pt#; % vertical diameter of hairlines
+notch_cut#:=16/36pt#; % maximum breadth above or below notches
+bar#:=18/36pt#; % lowercase bar thickness
+slab#:=20/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=22/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=4/36pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.93; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrisz9.mf b/fonts/cyrillic/scyrillic/cmrisz9.mf
new file mode 100644
index 0000000000..e113cd51f5
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrisz9.mf
@@ -0,0 +1,76 @@
+% Computer Modern Slanted Sans Serif 9 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSI"; font_size 9pt#;
+
+u#:=18.5/36pt#; % unit width
+width_adj#:=13/36pt#; % width adjustment for certain characters
+serif_fit#:=-6.5/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-9/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=225/36pt#; % height of caps
+fig_height#:=236/36pt#; % height of numerals
+x_height#:=144/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=71/36pt#; % height of crossbar in lowercase e
+comma_depth#:=41/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=16/36pt#; % width of extrafine details
+hair#:=27/36pt#; % lowercase hairline breadth
+stem#:=27/36pt#; % lowercase stem breadth
+curve#:=27/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=24/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=28/36pt#; % diameter of dots
+cap_hair#:=27/36pt#; % uppercase hairline breadth
+cap_stem#:=31/36pt#; % uppercase stem breadth
+cap_curve#:=31/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.5/36pt#; % vertical protrusion of beak serifs
+vair#:=21/36pt#; % vertical diameter of hairlines
+notch_cut#:=17/36pt#; % maximum breadth above or below notches
+bar#:=20/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=21/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=24/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=4.5/36pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmritz10.mf b/fonts/cyrillic/scyrillic/cmritz10.mf
new file mode 100644
index 0000000000..7bb5638c0f
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmritz10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Italic Typewriter Text for use with 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCITT"; font_size 10pt#;
+
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=15/36pt#; % extra space added to all sidebars
+
+body_height#:=250/36pt#; % height of tallest characters
+asc_height#:=220/36pt#; % height of lowercase ascenders
+cap_height#:=220/36pt#; % height of caps
+fig_height#:=220/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=110/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=50/36pt#; % depth of comma below baseline
+desc_depth#:=80/36pt#; % depth of lowercase descenders
+
+crisp#:=22/36pt#; % diameter of serif corners
+tiny#:=22/36pt#; % diameter of rounded corners
+fine#:=21/36pt#; % diameter of sharply rounded corners
+thin_join#:=21/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=22/36pt#; % breadth in middle of lowercase s
+flare#:=32/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=36/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=25/36pt#; % uppercase stem breadth
+cap_curve#:=25/36pt#; % uppercase curve breadth
+cap_ess#:=25/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=25/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=40/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=34/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=25/36pt#; % maximum breadth above or below notches
+bar#:=22/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=22/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=10/36pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmriz10.mf b/fonts/cyrillic/scyrillic/cmriz10.mf
new file mode 100644
index 0000000000..9cb8611f60
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmriz10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Text Italic 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 10pt#;
+
+u#:=18.4/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=9.2/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=23/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=29/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=34/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=30/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmriz12.mf b/fonts/cyrillic/scyrillic/cmriz12.mf
new file mode 100644
index 0000000000..407149b108
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmriz12.mf
@@ -0,0 +1,76 @@
+% Computer Modern Text Italic 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 12pt#;
+
+u#:=21.6/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=10.8/36pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=295.2/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=104.4/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7.5/36pt#; % width of extrafine details
+hair#:=12/36pt#; % lowercase hairline breadth
+stem#:=26/36pt#; % lowercase stem breadth
+curve#:=31/36pt#; % lowercase curve breadth
+ess#:=29/36pt#; % breadth in middle of lowercase s
+flare#:=32/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=42/36pt#; % diameter of dots
+cap_hair#:=11.5/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=34/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=24/36pt#; % vertical distance from serif base to tangent
+jut#:=35/36pt#; % protrusion of lowercase serifs
+cap_jut#:=38/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=8.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=12.5/36pt#; % lowercase bar thickness
+slab#:=12.5/36pt#; % serif and arm thickness
+cap_bar#:=12.5/36pt#; % uppercase bar thickness
+cap_band#:=12.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=9/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmriz7.mf b/fonts/cyrillic/scyrillic/cmriz7.mf
new file mode 100644
index 0000000000..f00c832e50
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmriz7.mf
@@ -0,0 +1,76 @@
+% Computer Modern Text Italic 7 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 7pt#;
+
+u#:=14.8/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=9.4/36pt#; % extra space added to all sidebars
+
+body_height#:=189/36pt#; % height of tallest characters
+asc_height#:=175/36pt#; % height of lowercase ascenders
+cap_height#:=172.2/36pt#; % height of caps
+fig_height#:=162.4/36pt#; % height of numerals
+x_height#:=108.5/36pt#; % height of lowercase without ascenders
+math_axis#:=63/36pt#; % axis of symmetry for math symbols
+bar_height#:=60.9/36pt#; % height of crossbar in lowercase e
+comma_depth#:=49/36pt#; % depth of comma below baseline
+desc_depth#:=49/36pt#; % depth of lowercase descenders
+
+crisp#:=7/36pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=10.5/36pt#; % lowercase hairline breadth
+stem#:=18.5/36pt#; % lowercase stem breadth
+curve#:=21.5/36pt#; % lowercase curve breadth
+ess#:=21/36pt#; % breadth in middle of lowercase s
+flare#:=21/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=29/36pt#; % diameter of dots
+cap_hair#:=10.5/36pt#; % uppercase hairline breadth
+cap_stem#:=21.5/36pt#; % uppercase stem breadth
+cap_curve#:=24.5/36pt#; % uppercase curve breadth
+cap_ess#:=21/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.34pt#; % thickness of lines in math symbols
+
+dish#:=.9/36pt#; % amount erased at top or bottom of serifs
+bracket#:=14/36pt#; % vertical distance from serif base to tangent
+jut#:=21/36pt#; % protrusion of lowercase serifs
+cap_jut#:=24/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=49/36pt#; % vertical protrusion of beak serifs
+vair#:=7/36pt#; % vertical diameter of hairlines
+notch_cut#:=7pt#; % maximum breadth above or below notches
+bar#:=9/36pt#; % lowercase bar thickness
+slab#:=9/36pt#; % serif and arm thickness
+cap_bar#:=9/36pt#; % uppercase bar thickness
+cap_band#:=9/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.9/36pt#; % for small refinements of stem breadth
+vair_corr#:=.9/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.6; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmriz8.mf b/fonts/cyrillic/scyrillic/cmriz8.mf
new file mode 100644
index 0000000000..59c8e1ed5a
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmriz8.mf
@@ -0,0 +1,76 @@
+% Computer Modern Text Italic 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 8pt#;
+
+u#:=15.8/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=7.9/36pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=20/36pt#; % lowercase stem breadth
+curve#:=23.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=24/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=23.5/36pt#; % uppercase stem breadth
+cap_curve#:=27/36pt#; % uppercase curve breadth
+cap_ess#:=24/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=24/36pt#; % protrusion of lowercase serifs
+cap_jut#:=27/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.9/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmriz9.mf b/fonts/cyrillic/scyrillic/cmriz9.mf
new file mode 100644
index 0000000000..1c7fbe3801
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmriz9.mf
@@ -0,0 +1,76 @@
+% Computer Modern Text Italic 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTI"; font_size 9pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=8.5/36pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=8/36pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=26/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=26/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=26/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=27/36pt#; % protrusion of lowercase serifs
+cap_jut#:=30.5/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.5/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=.25; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrotz10.mf b/fonts/cyrillic/scyrillic/cmrotz10.mf
new file mode 100644
index 0000000000..c3f15adcf1
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrotz10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Slanted Typewriter Text for use with 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSLTT"; font_size 10pt#;
+
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=250/36pt#; % height of tallest characters
+asc_height#:=220/36pt#; % height of lowercase ascenders
+cap_height#:=220/36pt#; % height of caps
+fig_height#:=220/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=110/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=50/36pt#; % depth of comma below baseline
+desc_depth#:=80/36pt#; % depth of lowercase descenders
+
+crisp#:=22/36pt#; % diameter of serif corners
+tiny#:=22/36pt#; % diameter of rounded corners
+fine#:=21/36pt#; % diameter of sharply rounded corners
+thin_join#:=21/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=22/36pt#; % breadth in middle of lowercase s
+flare#:=32/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=36/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=25/36pt#; % uppercase stem breadth
+cap_curve#:=25/36pt#; % uppercase curve breadth
+cap_ess#:=25/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=25/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=34/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=34/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=25/36pt#; % maximum breadth above or below notches
+bar#:=22/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=22/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=10/36pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmroz10.mf b/fonts/cyrillic/scyrillic/cmroz10.mf
new file mode 100644
index 0000000000..a1642bf832
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmroz10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Slanted 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSL"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmroz12.mf b/fonts/cyrillic/scyrillic/cmroz12.mf
new file mode 100644
index 0000000000..b0bdc89b6d
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmroz12.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Slanted Roman 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSL"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=295.2/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=104.4/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7.5/36pt#; % width of extrafine details
+hair#:=9.5/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=30/36pt#; % breadth in middle of lowercase s
+flare#:=36/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=42/36pt#; % diameter of dots
+cap_hair#:=11.5/36pt#; % uppercase hairline breadth
+cap_stem#:=35/36pt#; % uppercase stem breadth
+cap_curve#:=40/36pt#; % uppercase curve breadth
+cap_ess#:=38/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=24/36pt#; % vertical distance from serif base to tangent
+jut#:=33/36pt#; % protrusion of lowercase serifs
+cap_jut#:=41/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=8.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=12.5/36pt#; % lowercase bar thickness
+slab#:=12.5/36pt#; % serif and arm thickness
+cap_bar#:=12.5/36pt#; % uppercase bar thickness
+cap_band#:=12.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=9/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmroz8.mf b/fonts/cyrillic/scyrillic/cmroz8.mf
new file mode 100644
index 0000000000..3a7786b83c
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmroz8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Slanted Roman 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSL"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=25.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=9.5/36pt#; % uppercase hairline breadth
+cap_stem#:=26.5/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=29/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmroz9.mf b/fonts/cyrillic/scyrillic/cmroz9.mf
new file mode 100644
index 0000000000..0b7943f5f5
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmroz9.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Slanted Roman 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSL"; font_size 9pt#;
+
+u#:=18.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=10/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=33/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=33/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmrsz10.mf b/fonts/cyrillic/scyrillic/cmrsz10.mf
new file mode 100644
index 0000000000..46e67290ab
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrsz10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif 10 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=15/36pt#; % width adjustment for certain characters
+serif_fit#:=-7/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-10/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=250/36pt#; % height of caps
+fig_height#:=236/36pt#; % height of numerals
+x_height#:=160/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=45/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=17/36pt#; % width of extrafine details
+hair#:=28/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=28/36pt#; % breadth in middle of lowercase s
+flare#:=25/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=30/36pt#; % diameter of dots
+cap_hair#:=28/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=32/36pt#; % uppercase curve breadth
+cap_ess#:=32/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.5/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=18/36pt#; % maximum breadth above or below notches
+bar#:=21/36pt#; % lowercase bar thickness
+slab#:=23/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=20/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=5/36pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.96; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmrsz12.mf b/fonts/cyrillic/scyrillic/cmrsz12.mf
new file mode 100644
index 0000000000..44ef72a99c
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrsz12.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif 12 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=17/36pt#; % width adjustment for certain characters
+serif_fit#:=-9/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-13/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=300/36pt#; % height of caps
+fig_height#:=283/36pt#; % height of numerals
+x_height#:=192/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=97/36pt#; % height of crossbar in lowercase e
+comma_depth#:=54/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=20/36pt#; % width of extrafine details
+hair#:=33/36pt#; % lowercase hairline breadth
+stem#:=33/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=33/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=33/36pt#; % uppercase hairline breadth
+cap_stem#:=37/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=37/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.6/36pt#; % vertical protrusion of beak serifs
+vair#:=26/36pt#; % vertical diameter of hairlines
+notch_cut#:=22/36pt#; % maximum breadth above or below notches
+bar#:=25/36pt#; % lowercase bar thickness
+slab#:=27/36pt#; % serif and arm thickness
+cap_bar#:=26/36pt#; % uppercase bar thickness
+cap_band#:=24/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=31/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=6/36pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.98; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmrsz17.mf b/fonts/cyrillic/scyrillic/cmrsz17.mf
new file mode 100644
index 0000000000..ca5a4a5a88
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrsz17.mf
@@ -0,0 +1,75 @@
+% Computer Modern Sans Serif 17 pt (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 17.28pt#;
+
+u#:=32.5/36pt#; % unit width
+width_adj#:=24/36pt#; % width adjustment for certain characters
+serif_fit#:=-12/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-17/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=466/36pt#; % height of tallest characters
+asc_height#:=432/36pt#; % height of lowercase ascenders
+cap_height#:=432/36pt#; % height of caps
+fig_height#:=408/36pt#; % height of numerals
+x_height#:=267.8/36pt#; % height of lowercase without ascenders
+math_axis#:=155.5/36pt#; % axis of symmetry for math symbols
+bar_height#:=136/36pt#; % height of crossbar in lowercase e
+comma_depth#:=78/36pt#; % depth of comma below baseline
+desc_depth#:=121/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=28/36pt#; % width of extrafine details
+hair#:=47/36pt#; % lowercase hairline breadth
+stem#:=47/36pt#; % lowercase stem breadth
+curve#:=47/36pt#; % lowercase curve breadth
+ess#:=47/36pt#; % breadth in middle of lowercase s
+flare#:=42/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=50/36pt#; % diameter of dots
+cap_hair#:=47/36pt#; % uppercase hairline breadth
+cap_stem#:=52/36pt#; % uppercase stem breadth
+cap_curve#:=52/36pt#; % uppercase curve breadth
+cap_ess#:=52/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.8/36pt#; % vertical protrusion of beak serifs
+vair#:=38/36pt#; % vertical diameter of hairlines
+notch_cut#:=32/36pt#; % maximum breadth above or below notches
+bar#:=36/36pt#; % lowercase bar thickness
+slab#:=40/36pt#; % serif and arm thickness
+cap_bar#:=38/36pt#; % uppercase bar thickness
+cap_band#:=35/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=46/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=7/36pt#; % extra width at diagonal junctions
+
+o#:=10/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.4; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmrsz8.mf b/fonts/cyrillic/scyrillic/cmrsz8.mf
new file mode 100644
index 0000000000..9421bcad47
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrsz8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif 8 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=12/36pt#; % width adjustment for certain characters
+serif_fit#:=-6/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-8.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=200/36pt#; % height of caps
+fig_height#:=189/36pt#; % height of numerals
+x_height#:=128/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=63/36pt#; % height of crossbar in lowercase e
+comma_depth#:=37/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=15/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=22/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=26/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=29/36pt#; % uppercase curve breadth
+cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.4/36pt#; % vertical protrusion of beak serifs
+vair#:=19/36pt#; % vertical diameter of hairlines
+notch_cut#:=16/36pt#; % maximum breadth above or below notches
+bar#:=18/36pt#; % lowercase bar thickness
+slab#:=20/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=17/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=22/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=4/36pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.93; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmrsz9.mf b/fonts/cyrillic/scyrillic/cmrsz9.mf
new file mode 100644
index 0000000000..5a729d920b
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrsz9.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif 9 pt
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSS"; font_size 9pt#;
+
+u#:=18.5/36pt#; % unit width
+width_adj#:=13/36pt#; % width adjustment for certain characters
+serif_fit#:=-6.5/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-9/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=225/36pt#; % height of caps
+fig_height#:=236/36pt#; % height of numerals
+x_height#:=144/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=71/36pt#; % height of crossbar in lowercase e
+comma_depth#:=41/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=16/36pt#; % width of extrafine details
+hair#:=27/36pt#; % lowercase hairline breadth
+stem#:=27/36pt#; % lowercase stem breadth
+curve#:=27/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=24/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=28/36pt#; % diameter of dots
+cap_hair#:=27/36pt#; % uppercase hairline breadth
+cap_stem#:=31/36pt#; % uppercase stem breadth
+cap_curve#:=31/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=.5/36pt#; % vertical protrusion of beak serifs
+vair#:=21/36pt#; % vertical diameter of hairlines
+notch_cut#:=17/36pt#; % maximum breadth above or below notches
+bar#:=20/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=21/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=24/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=4.5/36pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt 2; % parameter for superellipses
+superpull:=1/20; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmrtz10.mf b/fonts/cyrillic/scyrillic/cmrtz10.mf
new file mode 100644
index 0000000000..8dd3bf0daf
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrtz10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Typewriter Text for use with 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTT"; font_size 10pt#;
+
+u#:=21/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=250/36pt#; % height of tallest characters
+asc_height#:=220/36pt#; % height of lowercase ascenders
+cap_height#:=220/36pt#; % height of caps
+fig_height#:=220/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=110/36pt#; % axis of symmetry for math symbols
+bar_height#:=79/36pt#; % height of crossbar in lowercase e
+comma_depth#:=50/36pt#; % depth of comma below baseline
+desc_depth#:=80/36pt#; % depth of lowercase descenders
+
+crisp#:=22/36pt#; % diameter of serif corners
+tiny#:=22/36pt#; % diameter of rounded corners
+fine#:=21/36pt#; % diameter of sharply rounded corners
+thin_join#:=21/36pt#; % width of extrafine details
+hair#:=25/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=25/36pt#; % lowercase curve breadth
+ess#:=22/36pt#; % breadth in middle of lowercase s
+flare#:=32/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=36/36pt#; % diameter of dots
+cap_hair#:=25/36pt#; % uppercase hairline breadth
+cap_stem#:=25/36pt#; % uppercase stem breadth
+cap_curve#:=25/36pt#; % uppercase curve breadth
+cap_ess#:=25/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=25/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=34/36pt#; % protrusion of lowercase serifs
+cap_jut#:=34/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=34/36pt#; % vertical protrusion of beak serifs
+vair#:=22/36pt#; % vertical diameter of hairlines
+notch_cut#:=25/36pt#; % maximum breadth above or below notches
+bar#:=22/36pt#; % lowercase bar thickness
+slab#:=22/36pt#; % serif and arm thickness
+cap_bar#:=22/36pt#; % uppercase bar thickness
+cap_band#:=22/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=25/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=10/36pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrtz12.mf b/fonts/cyrillic/scyrillic/cmrtz12.mf
new file mode 100644
index 0000000000..225a2eed02
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrtz12.mf
@@ -0,0 +1,76 @@
+% Computer Modern Typewriter Text for use with 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTT"; font_size 12pt#;
+
+u#:=24.7/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=300/36pt#; % height of tallest characters
+asc_height#:=264/36pt#; % height of lowercase ascenders
+cap_height#:=264/36pt#; % height of caps
+fig_height#:=264/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=132/36pt#; % axis of symmetry for math symbols
+bar_height#:=95/36pt#; % height of crossbar in lowercase e
+comma_depth#:=60/36pt#; % depth of comma below baseline
+desc_depth#:=96/36pt#; % depth of lowercase descenders
+
+crisp#:=25/36pt#; % diameter of serif corners
+tiny#:=25/36pt#; % diameter of rounded corners
+fine#:=22/36pt#; % diameter of sharply rounded corners
+thin_join#:=22/36pt#; % width of extrafine details
+hair#:=28/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=35/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=39/36pt#; % diameter of dots
+cap_hair#:=28/36pt#; % uppercase hairline breadth
+cap_stem#:=28/36pt#; % uppercase stem breadth
+cap_curve#:=28/36pt#; % uppercase curve breadth
+cap_ess#:=28/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=28/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=39/36pt#; % protrusion of lowercase serifs
+cap_jut#:=39/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=39/36pt#; % vertical protrusion of beak serifs
+vair#:=25/36pt#; % vertical diameter of hairlines
+notch_cut#:=28/36pt#; % maximum breadth above or below notches
+bar#:=25/36pt#; % lowercase bar thickness
+slab#:=25/36pt#; % serif and arm thickness
+cap_bar#:=25/36pt#; % uppercase bar thickness
+cap_band#:=25/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=28/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=11/36pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.86; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrtz8.mf b/fonts/cyrillic/scyrillic/cmrtz8.mf
new file mode 100644
index 0000000000..b640a4f8b6
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrtz8.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Typewriter Text for use with 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTT"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=200/36pt#; % height of tallest characters
+asc_height#:=176/36pt#; % height of lowercase ascenders
+cap_height#:=176/36pt#; % height of caps
+fig_height#:=176/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=88/36pt#; % axis of symmetry for math symbols
+bar_height#:=63/36pt#; % height of crossbar in lowercase e
+comma_depth#:=40/36pt#; % depth of comma below baseline
+desc_depth#:=64/36pt#; % depth of lowercase descenders
+
+crisp#:=19/36pt#; % diameter of serif corners
+tiny#:=19/36pt#; % diameter of rounded corners
+fine#:=18/36pt#; % diameter of sharply rounded corners
+thin_join#:=18/36pt#; % width of extrafine details
+hair#:=22/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=22/36pt#; % lowercase curve breadth
+ess#:=19/36pt#; % breadth in middle of lowercase s
+flare#:=28/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=31/36pt#; % diameter of dots
+cap_hair#:=22/36pt#; % uppercase hairline breadth
+cap_stem#:=22/36pt#; % uppercase stem breadth
+cap_curve#:=22/36pt#; % uppercase curve breadth
+cap_ess#:=22/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=22/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=27/36pt#; % protrusion of lowercase serifs
+cap_jut#:=27/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=27/36pt#; % vertical protrusion of beak serifs
+vair#:=19/36pt#; % vertical diameter of hairlines
+notch_cut#:=22/36pt#; % maximum breadth above or below notches
+bar#:=19/36pt#; % lowercase bar thickness
+slab#:=19/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=22/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=8/36pt#; % extra width at diagonal junctions
+
+o#:=3/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrtz9.mf b/fonts/cyrillic/scyrillic/cmrtz9.mf
new file mode 100644
index 0000000000..a952e1bc2f
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrtz9.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Typewriter Text for use with 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCTT"; font_size 9pt#;
+
+u#:=18.9/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=225/36pt#; % height of tallest characters
+asc_height#:=198/36pt#; % height of lowercase ascenders
+cap_height#:=198/36pt#; % height of caps
+fig_height#:=198/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=99/36pt#; % axis of symmetry for math symbols
+bar_height#:=71/36pt#; % height of crossbar in lowercase e
+comma_depth#:=45/36pt#; % depth of comma below baseline
+desc_depth#:=72/36pt#; % depth of lowercase descenders
+
+crisp#:=21/36pt#; % diameter of serif corners
+tiny#:=21/36pt#; % diameter of rounded corners
+fine#:=20/36pt#; % diameter of sharply rounded corners
+thin_join#:=20/36pt#; % width of extrafine details
+hair#:=24/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=24/36pt#; % lowercase curve breadth
+ess#:=21/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=33/36pt#; % diameter of dots
+cap_hair#:=24/36pt#; % uppercase hairline breadth
+cap_stem#:=24/36pt#; % uppercase stem breadth
+cap_curve#:=24/36pt#; % uppercase curve breadth
+cap_ess#:=24/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=24/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=31/36pt#; % protrusion of lowercase serifs
+cap_jut#:=31/36pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=31/36pt#; % vertical protrusion of beak serifs
+vair#:=21/36pt#; % vertical diameter of hairlines
+notch_cut#:=24/36pt#; % maximum breadth above or below notches
+bar#:=21/36pt#; % lowercase bar thickness
+slab#:=21/36pt#; % serif and arm thickness
+cap_bar#:=21/36pt#; % uppercase bar thickness
+cap_band#:=21/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=24/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=0pt#; % for small refinements of stem breadth
+vair_corr#:=0pt#; % for small refinements of hairline height
+apex_corr#:=9/36pt#; % extra width at diagonal junctions
+
+o#:=3.5/36pt#; % amount of overshoot for curves
+apex_o#:=3/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=0.81; % factor applied to weights of heavy characters
+math_spread:=-1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=0; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=0; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=true; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=true; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmruz10.mf b/fonts/cyrillic/scyrillic/cmruz10.mf
new file mode 100644
index 0000000000..1d196d505c
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmruz10.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Unslanted Italic 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCU"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=10/36pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=22/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=32/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytextit % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/cmrz10.mf b/fonts/cyrillic/scyrillic/cmrz10.mf
new file mode 100644
index 0000000000..6d12f819cb
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrz10.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic 10 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrz12.mf b/fonts/cyrillic/scyrillic/cmrz12.mf
new file mode 100644
index 0000000000..49de1c3135
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrz12.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Roman 12 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 12pt#;
+
+u#:=23.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=324/36pt#; % height of tallest characters
+asc_height#:=300/36pt#; % height of lowercase ascenders
+cap_height#:=295.2/36pt#; % height of caps
+fig_height#:=278.4/36pt#; % height of numerals
+x_height#:=186/36pt#; % height of lowercase without ascenders
+math_axis#:=108/36pt#; % axis of symmetry for math symbols
+bar_height#:=104.4/36pt#; % height of crossbar in lowercase e
+comma_depth#:=84/36pt#; % depth of comma below baseline
+desc_depth#:=84/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7.5/36pt#; % width of extrafine details
+hair#:=9.5/36pt#; % lowercase hairline breadth
+stem#:=28/36pt#; % lowercase stem breadth
+curve#:=33/36pt#; % lowercase curve breadth
+ess#:=30/36pt#; % breadth in middle of lowercase s
+flare#:=36/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=42/36pt#; % diameter of dots
+cap_hair#:=11.5/36pt#; % uppercase hairline breadth
+cap_stem#:=35/36pt#; % uppercase stem breadth
+cap_curve#:=40/36pt#; % uppercase curve breadth
+cap_ess#:=38/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.44pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=24/36pt#; % vertical distance from serif base to tangent
+jut#:=33/36pt#; % protrusion of lowercase serifs
+cap_jut#:=41/36pt#; % protrusion of uppercase serifs
+beak_jut#:=11.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=84/36pt#; % vertical protrusion of beak serifs
+vair#:=8.5/36pt#; % vertical diameter of hairlines
+notch_cut#:=12pt#; % maximum breadth above or below notches
+bar#:=12.5/36pt#; % lowercase bar thickness
+slab#:=12.5/36pt#; % serif and arm thickness
+cap_bar#:=12.5/36pt#; % uppercase bar thickness
+cap_band#:=12.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=12pt#; % max breadth above/below uppercase notches
+serif_drop#:=4.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=9/36pt#; % amount of overshoot for curves
+apex_o#:=9/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrz17.mf b/fonts/cyrillic/scyrillic/cmrz17.mf
new file mode 100644
index 0000000000..40c800f624
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrz17.mf
@@ -0,0 +1,76 @@
+% Computer Modern Roman 17 point (more or less)
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 17.28pt#;
+
+u#:=32.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=-0.1pt#; % extra space added to all sidebars
+
+body_height#:=466/36pt#; % height of tallest characters
+asc_height#:=432/36pt#; % height of lowercase ascenders
+cap_height#:=425/36pt#; % height of caps
+fig_height#:=401/36pt#; % height of numerals
+x_height#:=267.8/36pt#; % height of lowercase without ascenders
+math_axis#:=155.5/36pt#; % axis of symmetry for math symbols
+bar_height#:=150/36pt#; % height of crossbar in lowercase e
+comma_depth#:=121/36pt#; % depth of comma below baseline
+desc_depth#:=121/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=9/36pt#; % width of extrafine details
+hair#:=11/36pt#; % lowercase hairline breadth
+stem#:=33/36pt#; % lowercase stem breadth
+curve#:=41/36pt#; % lowercase curve breadth
+ess#:=35/36pt#; % breadth in middle of lowercase s
+flare#:=45/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=51/36pt#; % diameter of dots
+cap_hair#:=13/36pt#; % uppercase hairline breadth
+cap_stem#:=40/36pt#; % uppercase stem breadth
+cap_curve#:=48/36pt#; % uppercase curve breadth
+cap_ess#:=43/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.6pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=34/36pt#; % vertical distance from serif base to tangent
+jut#:=42/36pt#; % protrusion of lowercase serifs
+cap_jut#:=50/36pt#; % protrusion of uppercase serifs
+beak_jut#:=15/36pt#; % horizontal protrusion of beak serifs
+beak#:=121/36pt#; % vertical protrusion of beak serifs
+vair#:=10/36pt#; % vertical diameter of hairlines
+notch_cut#:=17pt#; % maximum breadth above or below notches
+bar#:=16/36pt#; % lowercase bar thickness
+slab#:=16/36pt#; % serif and arm thickness
+cap_bar#:=16/36pt#; % uppercase bar thickness
+cap_band#:=16/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=17pt#; % max breadth above/below uppercase notches
+serif_drop#:=17/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=10/36pt#; % amount of overshoot for curves
+apex_o#:=10/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=-0.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrz5.mf b/fonts/cyrillic/scyrillic/cmrz5.mf
new file mode 100644
index 0000000000..bf4faf3e96
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrz5.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic 5 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 5pt#;
+
+u#:=12.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=2/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=5/36pt#; % extra space added to all sidebars
+
+body_height#:=135/36pt#; % height of tallest characters
+asc_height#:=125/36pt#; % height of lowercase ascenders
+cap_height#:=123/36pt#; % height of caps
+fig_height#:=116/36pt#; % height of numerals
+x_height#:=77.5/36pt#; % height of lowercase without ascenders
+math_axis#:=45/36pt#; % axis of symmetry for math symbols
+bar_height#:=43.5/36pt#; % height of crossbar in lowercase e
+comma_depth#:=35/36pt#; % depth of comma below baseline
+desc_depth#:=35/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=6/36pt#; % diameter of rounded corners
+fine#:=5/36pt#; % diameter of sharply rounded corners
+thin_join#:=5/36pt#; % width of extrafine details
+hair#:=7.5/36pt#; % lowercase hairline breadth
+stem#:=16/36pt#; % lowercase stem breadth
+curve#:=18/36pt#; % lowercase curve breadth
+ess#:=12/36pt#; % breadth in middle of lowercase s
+flare#:=19/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=22/36pt#; % diameter of dots
+cap_hair#:=8/36pt#; % uppercase hairline breadth
+cap_stem#:=19/36pt#; % uppercase stem breadth
+cap_curve#:=21/36pt#; % uppercase curve breadth
+cap_ess#:=14/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.28pt#; % thickness of lines in math symbols
+
+dish#:=.7/36pt#; % amount erased at top or bottom of serifs
+bracket#:=10/36pt#; % vertical distance from serif base to tangent
+jut#:=15/36pt#; % protrusion of lowercase serifs
+cap_jut#:=20/36pt#; % protrusion of uppercase serifs
+beak_jut#:=6/36pt#; % horizontal protrusion of beak serifs
+beak#:=35/36pt#; % vertical protrusion of beak serifs
+vair#:=6/36pt#; % vertical diameter of hairlines
+notch_cut#:=5pt#; % maximum breadth above or below notches
+bar#:=8/36pt#; % lowercase bar thickness
+slab#:=8/36pt#; % serif and arm thickness
+cap_bar#:=8/36pt#; % uppercase bar thickness
+cap_band#:=8/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=5pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.7/36pt#; % for small refinements of stem breadth
+vair_corr#:=.5/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4/36pt#; % amount of overshoot for curves
+apex_o#:=4/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=1; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=1; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrz6.mf b/fonts/cyrillic/scyrillic/cmrz6.mf
new file mode 100644
index 0000000000..3ae031dc08
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrz6.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic 6 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 6pt#;
+
+u#:=14/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=2.8/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=3/36pt#; % extra space added to all sidebars
+
+body_height#:=162/36pt#; % height of tallest characters
+asc_height#:=150/36pt#; % height of lowercase ascenders
+cap_height#:=147.6/36pt#; % height of caps
+fig_height#:=139.2/36pt#; % height of numerals
+x_height#:=93/36pt#; % height of lowercase without ascenders
+math_axis#:=54/36pt#; % axis of symmetry for math symbols
+bar_height#:=52.2/36pt#; % height of crossbar in lowercase e
+comma_depth#:=42/36pt#; % depth of comma below baseline
+desc_depth#:=42/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=8/36pt#; % lowercase hairline breadth
+stem#:=18/36pt#; % lowercase stem breadth
+curve#:=20.5/36pt#; % lowercase curve breadth
+ess#:=17/36pt#; % breadth in middle of lowercase s
+flare#:=21/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=26/36pt#; % diameter of dots
+cap_hair#:=8.5/36pt#; % uppercase hairline breadth
+cap_stem#:=21.5/36pt#; % uppercase stem breadth
+cap_curve#:=24/36pt#; % uppercase curve breadth
+cap_ess#:=19/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.31pt#; % thickness of lines in math symbols
+
+dish#:=.8/36pt#; % amount erased at top or bottom of serifs
+bracket#:=12/36pt#; % vertical distance from serif base to tangent
+jut#:=17/36pt#; % protrusion of lowercase serifs
+cap_jut#:=23/36pt#; % protrusion of uppercase serifs
+beak_jut#:=6.8/36pt#; % horizontal protrusion of beak serifs
+beak#:=42/36pt#; % vertical protrusion of beak serifs
+vair#:=7/36pt#; % vertical diameter of hairlines
+notch_cut#:=6pt#; % maximum breadth above or below notches
+bar#:=8.5/36pt#; % lowercase bar thickness
+slab#:=8.5/36pt#; % serif and arm thickness
+cap_bar#:=8.5/36pt#; % uppercase bar thickness
+cap_band#:=8.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=6pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.8/36pt#; % for small refinements of stem breadth
+vair_corr#:=.7/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=4.5/36pt#; % amount of overshoot for curves
+apex_o#:=4.5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.8; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrz7.mf b/fonts/cyrillic/scyrillic/cmrz7.mf
new file mode 100644
index 0000000000..ce8607b5c4
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrz7.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Roman 7 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 7pt#;
+
+u#:=15.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=3.5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=2/36pt#; % extra space added to all sidebars
+
+body_height#:=189/36pt#; % height of tallest characters
+asc_height#:=175/36pt#; % height of lowercase ascenders
+cap_height#:=172.2/36pt#; % height of caps
+fig_height#:=162.4/36pt#; % height of numerals
+x_height#:=108.5/36pt#; % height of lowercase without ascenders
+math_axis#:=63/36pt#; % axis of symmetry for math symbols
+bar_height#:=60.9/36pt#; % height of crossbar in lowercase e
+comma_depth#:=49/36pt#; % depth of comma below baseline
+desc_depth#:=49/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=7/36pt#; % diameter of rounded corners
+fine#:=6/36pt#; % diameter of sharply rounded corners
+thin_join#:=6/36pt#; % width of extrafine details
+hair#:=8.5/36pt#; % lowercase hairline breadth
+stem#:=20/36pt#; % lowercase stem breadth
+curve#:=23/36pt#; % lowercase curve breadth
+ess#:=21/36pt#; % breadth in middle of lowercase s
+flare#:=24/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=29/36pt#; % diameter of dots
+cap_hair#:=9/36pt#; % uppercase hairline breadth
+cap_stem#:=24/36pt#; % uppercase stem breadth
+cap_curve#:=27/36pt#; % uppercase curve breadth
+cap_ess#:=23/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.34pt#; % thickness of lines in math symbols
+
+dish#:=.9/36pt#; % amount erased at top or bottom of serifs
+bracket#:=14/36pt#; % vertical distance from serif base to tangent
+jut#:=19/36pt#; % protrusion of lowercase serifs
+cap_jut#:=26/36pt#; % protrusion of uppercase serifs
+beak_jut#:=7.6/36pt#; % horizontal protrusion of beak serifs
+beak#:=49/36pt#; % vertical protrusion of beak serifs
+vair#:=7/36pt#; % vertical diameter of hairlines
+notch_cut#:=7pt#; % maximum breadth above or below notches
+bar#:=9/36pt#; % lowercase bar thickness
+slab#:=9/36pt#; % serif and arm thickness
+cap_bar#:=9/36pt#; % uppercase bar thickness
+cap_band#:=9/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=7pt#; % max breadth above/below uppercase notches
+serif_drop#:=2.8/36pt#; % vertical drop of sloped serifs
+stem_corr#:=.9/36pt#; % for small refinements of stem breadth
+vair_corr#:=.9/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=5/36pt#; % amount of overshoot for curves
+apex_o#:=5/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.6; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrz8.mf b/fonts/cyrillic/scyrillic/cmrz8.mf
new file mode 100644
index 0000000000..25ec2a9a61
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrz8.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Roman 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 8pt#;
+
+u#:=17/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.1/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=216/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=196.8/36pt#; % height of caps
+fig_height#:=185.6/36pt#; % height of numerals
+x_height#:=124/36pt#; % height of lowercase without ascenders
+math_axis#:=72/36pt#; % axis of symmetry for math symbols
+bar_height#:=69.6/36pt#; % height of crossbar in lowercase e
+comma_depth#:=56/36pt#; % depth of comma below baseline
+desc_depth#:=56/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=22/36pt#; % lowercase stem breadth
+curve#:=25.5/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=27/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=32/36pt#; % diameter of dots
+cap_hair#:=9.5/36pt#; % uppercase hairline breadth
+cap_stem#:=26.5/36pt#; % uppercase stem breadth
+cap_curve#:=30/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.36pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=16/36pt#; % vertical distance from serif base to tangent
+jut#:=22/36pt#; % protrusion of lowercase serifs
+cap_jut#:=29/36pt#; % protrusion of uppercase serifs
+beak_jut#:=8.4/36pt#; % horizontal protrusion of beak serifs
+beak#:=56/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=8pt#; % maximum breadth above or below notches
+bar#:=9.5/36pt#; % lowercase bar thickness
+slab#:=9.5/36pt#; % serif and arm thickness
+cap_bar#:=9.5/36pt#; % uppercase bar thickness
+cap_band#:=9.5/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=8pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.2/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=6/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.4; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cmrz9.mf b/fonts/cyrillic/scyrillic/cmrz9.mf
new file mode 100644
index 0000000000..be37868a40
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cmrz9.mf
@@ -0,0 +1,76 @@
+% Computer Modern Cyrillic Roman 9 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCYR"; font_size 9pt#;
+
+u#:=18.5/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=4.6/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=243/36pt#; % height of tallest characters
+asc_height#:=225/36pt#; % height of lowercase ascenders
+cap_height#:=221.4/36pt#; % height of caps
+fig_height#:=208.8/36pt#; % height of numerals
+x_height#:=139.5/36pt#; % height of lowercase without ascenders
+math_axis#:=81/36pt#; % axis of symmetry for math symbols
+bar_height#:=78.3/36pt#; % height of crossbar in lowercase e
+comma_depth#:=63/36pt#; % depth of comma below baseline
+desc_depth#:=63/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=24/36pt#; % lowercase stem breadth
+curve#:=28/36pt#; % lowercase curve breadth
+ess#:=25/36pt#; % breadth in middle of lowercase s
+flare#:=30/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=35/36pt#; % diameter of dots
+cap_hair#:=10/36pt#; % uppercase hairline breadth
+cap_stem#:=29/36pt#; % uppercase stem breadth
+cap_curve#:=33/36pt#; % uppercase curve breadth
+cap_ess#:=31/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.38pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=18/36pt#; % vertical distance from serif base to tangent
+jut#:=25/36pt#; % protrusion of lowercase serifs
+cap_jut#:=33/36pt#; % protrusion of uppercase serifs
+beak_jut#:=9.2/36pt#; % horizontal protrusion of beak serifs
+beak#:=63/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=9pt#; % maximum breadth above or below notches
+bar#:=10/36pt#; % lowercase bar thickness
+slab#:=10/36pt#; % serif and arm thickness
+cap_bar#:=10/36pt#; % uppercase bar thickness
+cap_band#:=10/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=9pt#; % max breadth above/below uppercase notches
+serif_drop#:=3.6/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=7/36pt#; % amount of overshoot for curves
+apex_o#:=7/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.2; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/cyccsc.mf b/fonts/cyrillic/scyrillic/cyccsc.mf
new file mode 100644
index 0000000000..5a78959f37
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cyccsc.mf
@@ -0,0 +1,44 @@
+% Caps and Small Caps in Computer Modern Cyrillic
+
+let cmchar=message; % `|cmchar|' should precede each character
+
+font_coding_scheme:=if ligs=0: "TeX typewriter text"
+ else: "TeX text without f-ligatures" fi;
+spanish_shriek=oct"016"; spanish_query=oct"017";
+
+input cycoding;
+
+mode_setup; font_setup;
+input cyru; % upper case (majuscules)
+%input romsub; % substitutes for ligatures
+%if ligs>0: input comlig; fi % ligatures common with italic
+
+%ligtable "!": "`" =: spanish_shriek;
+%ligtable "?": "`" =: spanish_query;
+font_slant slant; font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#;
+fi;
+
+%%% fine lower
+forsuffixes $= u, width_adj, cap_serif_fit, letter_fit,
+ body_height, cap_height, x_height, bar_height, comma_depth,
+ flare, cap_hair, stem, cap_stem, cap_curve, cap_ess,
+ cap_jut, beak_jut, beak, slab, cap_bar, cap_band, cap_notch_cut,
+ o, apex_o: $.#:=lower.$.#; endfor
+fudge:=lower.fudge;
+font_setup; % now try again with |lower| settings
+extra_endchar:=extra_endchar&"charcode:=charcode+code_offset";
+code_offset:= ASCII"A" - ASCII"a";
+input cyru; % majuscules (in lowercase positions)
+%code_offset:=-3;
+%input romspu; % \AE, \OE, \O\ (in positions of \ae, \oe, \o)
+%code_offset:=0;
+%input cscspu; % substitutes for the remaining characters of romspl
+bye.
+
diff --git a/fonts/cyrillic/scyrillic/cycoding.mf b/fonts/cyrillic/scyrillic/cycoding.mf
new file mode 100644
index 0000000000..e89652b0bd
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cycoding.mf
@@ -0,0 +1,69 @@
+% that coding is KOI-8
+
+CYR_a := oct"101";
+CYR_be := oct"102";
+CYR_ve := oct"127";
+CYR_ghe := oct"107";
+CYR_de := oct"104";
+CYR_ie := oct"105";
+CYR_ye := oct"74";
+CYR_zhe := oct"126";
+CYR_ze := oct"132";
+CYR_i := oct"111";
+CYR_short_i := oct"112";
+CYR_ka := oct"113";
+CYR_el := oct"114";
+CYR_em := oct"115";
+CYR_en := oct"116";
+CYR_o := oct"117";
+CYR_pe := oct"120";
+CYR_er := oct"122";
+CYR_es := oct"123";
+CYR_te := oct"124";
+CYR_u := oct"125";
+CYR_ef := oct"106";
+CYR_ha := oct"110";
+CYR_tse := oct"103";
+CYR_che := oct"136";
+CYR_sha := oct"133";
+CYR_shcha := oct"135";
+CYR_hard_sign := oct"137";
+CYR_yeru := oct"131";
+CYR_soft_sign := oct"130";
+CYR_e := oct"134";
+CYR_yu := oct"100";
+CYR_ya := oct"121";
+
+CYR_A := oct"141";
+CYR_BE := oct"142";
+CYR_VE := oct"167";
+CYR_GHE := oct"147";
+CYR_DE := oct"144";
+CYR_IE := oct"145";
+CYR_YE := oct"76";
+CYR_ZHE := oct"166";
+CYR_ZE := oct"172";
+CYR_I := oct"151";
+CYR_SHORT_I := oct"152";
+CYR_KA := oct"153";
+CYR_EL := oct"154";
+CYR_EM := oct"155";
+CYR_EN := oct"156";
+CYR_O := oct"157";
+CYR_PE := oct"160";
+CYR_ER := oct"162";
+CYR_ES := oct"163";
+CYR_TE := oct"164";
+CYR_U := oct"165";
+CYR_EF := oct"146";
+CYR_HA := oct"150";
+CYR_TSE := oct"143";
+CYR_CHE := oct"176";
+CYR_SHA := oct"173";
+CYR_SHCHA := oct"175";
+CYR_HARD_SIGN := oct"177";
+CYR_YERU := oct"171";
+CYR_SOFT_SIGN := oct"170";
+CYR_E := oct"174";
+CYR_YU := oct"140";
+CYR_YA := oct"161";
diff --git a/fonts/cyrillic/scyrillic/cyitall.mf b/fonts/cyrillic/scyrillic/cyitall.mf
new file mode 100644
index 0000000000..35a5818aa5
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cyitall.mf
@@ -0,0 +1,661 @@
+% Computer Modern Cyrillic Italic lower case:
+
+cmchar "Cyrillic italic letter a";
+beginchar(CYR_a,9u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
+pos4(stem,0); x4=x0; y4+.5stem=vround .98h;
+x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
+rt x4r=hround(w-2.5u+.5stem);
+top y1r=h+oo; bot y3r=-oo; y0=y2=.5[y1,y3];
+filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
+ & pulled_arc.e(2,3) & super_arc.e(3,0); % bowl
+x5=x4; x7=w; hook_out(5,6,7); % closing hook
+filldraw circ_stroke z4e--z5e; % stem
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter be";
+beginchar(CYR_be,9u#,asc_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
+x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
+top y1r=x_height+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
+filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
+pos2'(hair,180); z2'r=z2r; pos5(vstem,90); pos5'(vstem,-90); z5'=z5;
+pos6(hair,0); rt x6r=hround(w-u); top y6=h; top y5r=vround .9h; x5=x1;
+filldraw stroke pulled_arc.e(6,5'); filldraw stroke pulled_arc.e(5,2');
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(1,2,3,4); endchar;
+
+cmchar "Cyrillic italic letter ve";
+beginchar(CYR_ve,9u#,x_height#,0);
+italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
+adjust_fit(0,0); pickup fine.nib;
+numeric heavy_hair; heavy_hair=hround .2[hair,stem];
+pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
+pos3(curve,180); pos4(vair,270); pos5(curve,0); pos6(vair,180);
+x0=rt x3l; rt x1r=hround(w-2.5u+.5heavy_hair); x2=x4=.5w;
+lft x3r=hround(1.5u-.5curve); x5r=good.x(w-u-eps); x6=x2;
+y0=y3=y6-.1u=bar_height; y1=.5[y0,y2];
+top y2r=h+oo; bot y4r=-oo; y5=vround .5bar_height;
+filldraw stroke z0e{right}...z1e{up}
+ ...pulled_arc.e(2,3) & pulled_arc.e(3,4) &
+ {{surerness:=hein_super; pulled_arc.e(4,5) & pulled_arc.e(5,6)}};
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter ghe";
+beginchar(CYR_ghe,8u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos2(hair,140); pos3(vair,90); pos4(curve,0);
+pos5(vair,-90); pos5'(vair,90); pos6(curve,180);
+pos7(vair,270); pos8(hair,320);
+x7=w-x3=.5(w+u); x5=.52w; y5=.52h; z5'=z5;
+lft x6r=w-rt x4r-.5u=hround(1.5u-.5curve); x8r=w-x2=good.x(w-eps);
+x9=x8; x1=x2; top y3=h+oo; y4=.5[y5,y3]; bot y7r=-oo; y6=.5[y5,y7];
+top y8l=h-bot y2l=vround .5bar_height; y9=h-y1=bar_height;
+path p[]; p1=z3{left}..z2..z1; p2=z7{right}..z8..z9;
+filldraw stroke pulled_arc.e(5,4)
+ & pulled_arc.e(4,3)...{direction 1 of p1}z2e;
+filldraw stroke pulled_arc.e(5',6)
+ & pulled_arc.e(6,7)...{direction 1 of p2}z8e; % arc
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter de";
+beginchar(CYR_de,9u#,asc_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,150); pos2(vair,90); pos3(curve,0);
+pos4(vair,270); pos5(curve,180); pos6(vair,90);
+x1=x5l; x2=.5w-u; y1=h-.25u; top y2r=h+o; y3=.5[y2,y4];
+x6=x4=.5w; lft x5r=w-rt x3r=hround(1.5u-.5curve);
+top y6r=x_height+oo; y5=.5[y6,y4]; bot y4r=-oo;
+path p; p=pulled_super_arc.l(3,4)(superpull);
+numeric t; t=xpart(p intersectiontimes((x4,y5)--(x3r,y5)));
+pos7(thin_join,0); z7l=point t of p;
+filldraw stroke z1e...pulled_super_arc.e(2,3)(superpull)
+ & {{interim superness:=more_super; pulled_super_arc.e(3,4)(superpull)}}
+ & {{less_tense; pulled_super_arc.e(4,5)(superpull)}}
+ & pulled_super_arc.e(5,6)(superpull)
+ & z6e{right}...{direction t of p}z7e; % arc and bowl
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter ie";
+beginchar(CYR_ie,8u#,x_height#,0);
+italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
+adjust_fit(0,0); pickup fine.nib;
+numeric heavy_hair; heavy_hair=hround .2[hair,stem];
+pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
+pos3(curve,180); pos4(vair,270); pos5(hair,320);
+x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u);
+lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
+y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
+top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6;
+filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter zhe";
+beginchar(CYR_zhe,17u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+numeric arc_width; arc_width=7u;
+pos0(flare,180); pos1(hair,180); pos2(vair,-90);
+pos3(curve,0); pos4(vair,90); pos5(hair,140);
+pos7(flare,0); pos8(hair,0); pos9(vair,90);
+pos10(curve,180); pos11(vair,270); pos12(hair,320);
+x2=x4=w-x9=.5(arc_width-u); x11=x9;
+lft x1r=w-rt x8r=min(lft x2,hround u)-eps;
+rt x3r=w-lft x10r=hround(arc_width-1.5u+.5curve);
+x5r=w-x12r=good.x(eps); x6=x5; x13=x12;
+y8=h-y1=.5[bar_height,h]; bot y2r=-oo; top y9r=h+oo;
+top y4r=h+oo; bot y11r=-oo; y3=h-y10=.5[y2,y4];
+bot y5l=h-top y12l=vround h-.5bar_height; y13=h-y6=bar_height;
+path p[]; p1=z4{left}..z5..z6; p2=z11{right}..z12..z13;
+filldraw stroke pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p1}z5e; % left arc
+filldraw stroke pulled_arc.e(9,10)
+ & pulled_arc.e(10,11)...{direction 1 of p2}z12e; % right arc
+bulb(2,1,0); bulb(9,8,7); % left and right bulb
+pos14(stem,0); pos15(stem,0); x14=x15=.5w; top y14=h; bot y15=0;
+filldraw stroke z14e--z15e; % stem
+penpos3'(bar,90); penpos10'(bar,90); z3'=z3; z10'=z10;
+fill stroke z3'e--z10'e; % bar
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar;
+
+cmchar "Cyrillic italic letter ze";
+beginchar(CYR_ze,8u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos1(hair,140); pos2(cap_band,90); pos4(vair,-90);
+x1r=good.x(eps); x0=x1; top y2r=h+o;
+bot y1l=vround h-.5bar_height; y0=h-bar_height;
+pos3(max(fine.breadth,curve-stem_corr),0);
+pos7(vair,-90); pos8(vair,-90); pos9(vair,90);
+x2=.45[2u,x10]; rt x3r=hround(w-u); x4=.45[x1,x10];
+pos10(curve,0); rt x10r=hround(w-.5u); lft x8=.5w-u;
+y3=.35[top y7l,bot y2l]; top y8l=vround(.54h+.5vair); z8r=z9l;
+x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+pos5'(hair,-180); pos5(flare,-180);
+bot y4r=0; rt x5l=hround 2u; z5r=z5'r;
+y10=.45[bot y8r,top y4l]; y5=max(good.y .95(h-y1),y4l+eps);
+(x2l',y2l)=whatever[z2r,z1l]; x2l:=max(x2l',x2l-.5u);
+(x4l',y4l)=whatever[z4r,z5l]; x4l:=max(x4l',x4l-.5u);
+path p; p=z0..z1..{right}z2;
+filldraw stroke z1e{direction 1 of p}
+ ...pulled_arc.e(2,3)
+ & z3e{down}...z7e---z8e; % upper bowl
+filldraw stroke z9e---pulled_arc.e(9,10)
+ & pulled_super_arc.e(10,4)(.5superpull); % lower bowl
+bulb(4,5',5); %bulb
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,7,8,9,10,11,12,13); endchar;
+
+cmchar "Cyrillic italic letter i";
+beginchar(CYR_i,9.5u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
+y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter short i";
+beginchar(CYR_short_i,9.5u#,x_height#+3.5u#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
+y3=.7[y4,y5]; bot y4r=-oo; y5=.57x_height; y6+.5stem=x_height;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+penpos10(hair-fine,-90); penpos11(hair-fine,-180); penpos12(.5flare,-180);
+penpos13(hair-fine,-90); penpos14(hair-fine,0); penpos15(.5flare,0);
+x10=.5[x11,x14]; x11=.5w-2u; x14=w-x11;
+y10=y13=x_height+u; y11=y14=h-.5u; z13=z10;
+bulb(10,11,12); bulb(13,14,15); % bulbs
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "Cyrillic italic letter ka";
+beginchar(CYR_ka,9.5u#,x_height#,0);
+italcorr x_height#*slant;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
+hook_in(0,a,1); % opening hook
+filldraw circ_stroke z2e--z1e; % left stem
+pos3(vair,90); x3=x1; y3=bar_height;
+pos4(vair,90); x4=w-2u; top y4r=x_height+oo;
+filldraw stroke z3e{right}..{right}z4e; % upper diagonal
+pos5(hair,0); pos6(flare,0);
+rt x5r=hround(w-.5u); y5+.5flare=vround(bot y4l-.03x_height);
+bulb(4,5,6); % bulb
+pos7(stem,0); pos8(vair,90); pos9(hair,180);
+x9+.5hair=hround(w+.5hair-eps); y9=1/3x_height;
+lft x7l=hround(w-2.75u-.5stem); y7=1/2y3; x8=w-1.2u; bot y8l=-oo;
+filldraw stroke z3e{right}...z7e{down}
+ ...z8e{right}...{up}z9e; % lower diagonal
+math_fit(0,1/3x_height#*slant+.5hair#+.5u#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter el";
+beginchar(CYR_el,9u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x6=x7; x9=w; hook_out(7,8,9); % closing hook
+top y6=top y0=h; x0=lft x6r;
+filldraw stroke z6e--z7e; % right stem
+pickup tiny.nib; pos0(hair,-90); pos1(hair,0); pos2(hair,0);
+y1=.5h; rt x1r=hround(w-5.25u); x2=x1; y2=.21h;
+pos3(vair,-90); pos4(hair,-180); pos5(flare,-180);
+bot y3r=0; x3=.5[x4,x2]; y5=.25h; rt x5l=hround 2u; z5r=z4r;
+filldraw stroke pulled_arc.e(0,1) & z1e--z2e & super_arc.e(2,3); % arc
+bulb(3,4,5); % bulb
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter em";
+beginchar(CYR_em,12u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+numeric stem[]; % thicknesses of the four strokes
+stem1=hround(fudged.stem-4stem_corr);
+stem2=hround(fudged.hair-stem_corr);
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); top y6=h;
+x6=x7; x9=w; hook_out(7,8,9); % closing hook
+filldraw stroke z6e--z7e; % right stem
+pickup tiny.nib; pos1(hair,0); pos2(hair,0);
+top y1=h; rt x1r=hround(w-8.25u); x2=x1; y2=.21h;
+pos3(vair,-90); pos4(hair,-180); pos5(flare,-180);
+bot y3r=0; x3=.5[x4,x2]; y5=.25h; rt x5l=hround 2u; z5r=z4r;
+filldraw stroke z1e--z2e & super_arc.e(2,3); % left stem and arc
+bulb(3,4,5); % bulb
+penpos10(stem1,0); penpos11(stem1,0); penpos12(stem2,0); penpos13(stem2,0);
+x10l=x1; x11l=x12l; x13=lft x6l; x11-x10=x13-x12; y10=y13=h; y11=y12;
+y11=0; z0=whatever[z10r,z11r]=whatever[z12l,z13l];
+fill z10l..{z11-z10}diag_in(10l,11l,1,11r)
+ ..diag_out(12l,1,12r,13r){z13-z12}
+ ..z13r--diag_out(13r,1,13l,12l){z12-z13}..{z12-z13}z0{z10-z11}
+ ..{z10-z11}diag_in(11r,10r,1,10l)--cycle; % diagonals
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "Cyrillic italic letter en";
+beginchar(CYR_en,9.5u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
+hook_in(0,a,1); % opening hook
+filldraw circ_stroke z2e--z1e; % left stem
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem); y6+.5stem=h;
+x6=x7; x9=w; hook_out(7,8,9); % closing hook
+filldraw circ_stroke z6e--z7e; % right stem
+penpos10(bar,90); penpos11(bar,90); x10=x1; x11=x6; y10=y11=.5h;
+fill stroke z10e--z11e; % bar
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
+
+cmchar "Cyrillic italic letter o";
+beginchar(CYR_o,9u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
+x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
+top y1r=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
+filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#); penlabels(1,2,3,4); endchar;
+
+cmchar "Cyrillic italic letter pe";
+beginchar(CYR_pe,10u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
+hook_in(0,a,1); % opening hook
+filldraw circ_stroke z2e--z1e; % left stem
+x4+.5stem=hround(w-2.5u+.5stem); x5=x4-.25u; ital_arch(2,3,4); % arch
+x7=w; hook_out(5,6,7)(skewed); % closing hook
+filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,a,1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter er";
+beginchar(CYR_er,9u#,x_height#,desc_depth#);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x2-.5stem=hround(2.5u-.5stem); hook_in(0,1,2); % opening hook
+pos4(hair,-180); pos5(vair,-90); pos6(curve,0); pos7(vair,90);
+x4=x2; rt x6r=hround(w-1.5u+.5curve); x5=x7=.5[x4,x6];
+bot y5r=-oo; top y7r=h+oo; y4=y6=.5[y5,y7];
+filldraw stroke super_arc.e(4,5) & pulled_arc.e(5,6)
+ & pulled_arc.e(6,7) & super_arc.e(7,4); % bowl
+pickup tiny.nib; pos2'(stem,0); pos3(stem,0);
+z2=z2'; x3=x2; bot y3=-d; filldraw stroke z2'e--z3e; % stem
+dish_serif(3,2',a,1/3,.75jut,b,1/3,jut); % serif
+math_fit(-min(2/3x_height#*slant-.5hair#-.5u#,
+ 2u#-.5stem#-desc_depth#*slant),ic#);
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter es";
+beginchar(CYR_es,8u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos0(flare,0); pos1(hair,0); pos2(vair,90);
+pos3(curve,180); pos4(vair,270); pos5(hair,320);
+x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-u))+eps;
+lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
+y1=.5[bar_height,h]; top y2r=h+oo; bulb(2,1,0); % bulb
+bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height;
+path p; p=z4{right}..z5..z6;
+filldraw stroke pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter te";
+beginchar(CYR_te,15u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(if monospace:-1.5u#,-2u# else: 0,0 fi); pickup fine.nib;
+numeric shaved_stem; shaved_stem=mfudged.stem;
+save stem; stem=shaved_stem;
+pos2(stem,0); x1=x2;
+if monospace: pos1(stem,0); lft x1l=hround(2.5u-.5stem); top y1=h;
+else: x0=0; lft x2l=hround(2.5u-.5stem);
+ hook_in(0,a,1); fi % opening hook
+y2-.5stem=-oo; filldraw circ_stroke z2e--z1e; % left stem
+x4+.5stem=hround(.5w+.5stem); ital_arch(2,3,4); % left arch
+pos5(stem,0); y5=y2; x5=x4;
+filldraw circ_stroke z5e--z4e; % middle stem
+x7+.5stem=hround(w-2.5u+.5stem);
+x8=x7-.25u; ital_arch(5,6,7); % right arch
+if monospace: pos9(vair,90); x9=good.x .5[x8,w]; bot y9l=0; y8=1/3h;
+ pos8(stem,0); filldraw stroke z8e{-u,-x_height}...{right}z9e; % terminal
+else: x9=w; hook_out(8,b,9)(skewed); fi % closing hook
+filldraw stroke z7e{down}..{-u,-x_height}z8e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,a,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter ef";
+beginchar(CYR_ef,12u#,asc_height#,desc_depth#);
+italcorr asc_height#*slant+.75u#;
+adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
+numeric theta; z88=(.5w-.5u,h); z89=(.5w+.5u,-d); theta=angle(z88-z89);
+pos0(flare,0); pos1(hair,0); pos2(vair,90);
+pos3(.5[hair,stem],180); pos4(stem,theta+90);
+pos5(stem,theta-90); pos6(.5[hair,stem],0);
+pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
+rt x1r=hround(w-2u); lft x8r=hround 2u; x2=.6[x1,x4]; x7=.6[x8,x5];
+y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
+y4=.15[x_height,h]; y5=.4[-d,y4];
+z4=whatever[z88,z89]; z5=whatever[z88,z89];
+x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
+bulb(2,1,0); bulb(7,8,9); % bulbs
+filldraw stroke z2e{left}...z3e...{z89-z88}z4e; % upper arc
+filldraw z4r--z5l--z5r--z4l--cycle; % stem
+filldraw stroke z5e{z89-z88}...z6e...{left}z7e; % lower arc
+penpos10(hair,180); penpos11(vair,90); penpos12(curve,0);
+penpos13(vair,-90); penpos14(hair,0); penpos15(vair,90);
+penpos16(curve,180); penpos17(vair,270);
+x10=x14=.5w; y11r=y15r=x_height+o; y12=y16=.5[y11l,y13l]; y13r=y17r=-o;
+y10=y14=.5x_height; x11r=x13r=w-x15r=w-x17r=.5w+1.75u;
+x12r=w-x16r=hround(w-.5u);
+fill stroke super_arc.e(10,11) & pulled_arc.e(11,12)
+ & pulled_arc.e(12,13) & super_arc.e(13,10);
+fill stroke super_arc.e(14,15) & pulled_arc.e(15,16)
+ & pulled_arc.e(16,17) & super_arc.e(17,14);
+math_fit(desc_depth#*slant+u#,x_height#*slant);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,88,89); endchar;
+
+cmchar "Cyrillic italic letter u";
+beginchar(CYR_u,8.5u#,x_height#,desc_depth#);
+italcorr x_height#*slant+.5stem#-u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-1.5u+.5stem);
+pos7(stem,0); pos8(vair,-90);
+y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
+y7=0; bot y8r=-d-oo; x5=x6=x7; x8=.5w;
+pos9(hair,-180); pos10(flare,-180); y9=-.5d;
+lft x9r=hround(2.75u-.5flare); bulb(8,9,10); % bulb
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e---z7e...{left}z8e; % right stem and link
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-1/3x_height#*slant);
+penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "Cyrillic italic letter ha";
+beginchar(CYR_ha,6.5u#+max(1.5u#,flare#),x_height#,0);
+italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant+.25u#);
+adjust_fit(0,0); pickup fine.nib;
+pos0(hair,180); pos1(vair,90); pos2(stem,0);
+pos3(stem,-180); pos4(vair,-90); pos5(hair,0);
+y0=y2=2/3h; y3=y5=1/3h; top y1r=h+oo; bot y4r=-oo;
+rt x2r=hround(.5w+.5stem-eps); x2=x3;
+x0-.5hair=hround-.5hair; x5+.5hair=hround(w+.5hair-eps);
+x1=.5[x0,x2]; x4=.5[x3,x5];
+filldraw stroke z0e{up}...pulled_arc.e(1,2); % opening hook
+filldraw z2l--z3r--z3l--z2r--cycle; % stem
+filldraw stroke pulled_arc.e(3,4)...{up}z5e; % closing hook
+pos3'(hair,180); pos6(hair,180); pos7(vair,90);
+pos8(hair,0); pos9(flare,0);
+x3'l=x6l=x3l; y3'=y3; y6=3/4h; x7=.5[x8,x2]; top y7r=h+oo;
+rt x8r=hround(w-.25u); y8+.5flare=vround(bot y7l-.03x_height);
+filldraw stroke z3'e---z6e...{right}z7e; bulb(7,8,9); % upper link and bulb
+pos2'(hair,0); pos16(hair,0); pos17(vair,-90);
+pos18(hair,-180); pos19(flare,-180);
+x2'l=x16l=x2l; y2'=y2; y16=1/4h; x17=.5[x18,x3]; bot y17r=-oo;
+lft x18r=hround.25u; y18-.5flare=vround(top y17l+.03x_height);
+filldraw stroke z2'e---z16e...{left}z17e; bulb(17,18,19); % lower link and bulb
+math_fit(0,ic#); penlabels(0,1,2,3,4,5,6,7,8,9,16,17,18,19); endchar;
+
+cmchar "Cyrillic italic letter tse";
+beginchar(CYR_tse,9.5u#,x_height#,desc_depth#-u#);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w;
+pos7(stem,0); pos8(vair,90);
+x9:=hround(x9+.5hair-eps)-.5hair; pos9(hair,180);
+y7=1/4x_height; bot y8l=-oo; y9=1/3x_height; x8=x7+1.5u;
+path p,p.l,p.r;
+forsuffixes $=r,l: p.$=z7${down}...z8${right}
+ ...{x9-(x7+2.5u),x_height}z9$; endfor;
+p=p.r--reverse p.l--cycle;
+filldraw p; % closing hook;
+y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+pos10(stem,-140); pos11(stem,-150);
+x11r=x10; x10r=.9[x7,x8]; x12=x8;
+y11=.5[y12,y10]; y10=-.25d; bot y12=-d;
+filldraw stroke (subpath (1.5,3.5) of p)..z10e..z11e..z12;
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+cmchar "Cyrillic italic letter che";
+beginchar(CYR_che,9.5u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.2u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
+y3=.7[y4,y5]; bot y4r=.325h; y5=.7h; y6+.5stem=h;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter sha";
+beginchar(CYR_sha,14.5u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); pos6(stem,-180); pos7(stem,-180);
+pos8(vair,-90); pos9(hair,0); pos10(stem,0);
+x4=.5[x3,x5]; x6=.5w; x8=.5[x5,x9]; rt x10r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=x10=x11; x13=w; hook_out(11,12,13); % closing hook
+y3=.7[y4,y5]; bot y4r=bot y8r=-oo; y5=y9=.57h; y7=y11;
+y6+.5stem=h; y10=y6;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e
+ ...super_arc.e(7,8)...{up}z9e; % middle stem and arc
+filldraw circ_stroke z10e--z11e; % right stem
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "Cyrillic italic letter shcha";
+beginchar(CYR_shcha,14.5u#,x_height#,desc_depth#-u#);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); pos6(stem,-180); pos7(stem,-180);
+pos8(vair,-90); pos9(hair,0); pos10(stem,0);
+x4=.5[x3,x5]; x6=.5w; x8=.5[x5,x9]; rt x10r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=x10=x11; x13=w;
+pos11(stem,0); pos12(vair,90);
+x13:=hround(x13+.5hair-eps)-.5hair; pos13(hair,180);
+y11=1/4x_height; bot y12l=-oo; y13=1/3x_height; x12=x11+1.5u;
+path p,p.l,p.r;
+forsuffixes $=r,l: p.$=z11${down}...z12${right}
+ ...{x13-(x11+2.5u),x_height}z13$; endfor;
+p=p.r--reverse p.l--cycle;
+filldraw p; % closing hook;
+y3=.7[y4,y5]; bot y4r=bot y8r=-oo; y5=y9=.57h; y7=y11;
+y6+.5stem=h; y10=y6;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e
+ ...super_arc.e(7,8)...{up}z9e; % middle stem and arc
+filldraw circ_stroke z10e--z11e; % right stem
+pos14(stem,-140); pos15(stem,-150);
+x15r=x14; x14r=.9[x11,x12]; x16=x12;
+y15=.5[y16,y14]; y14=-.25d; bot y16=-d;
+filldraw stroke (subpath (1.5,3.5) of p)..z14e..z15e..z16;
+math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar;
+
+cmchar "Cyrillic italic letter soft_sign";
+beginchar(CYR_soft_sign,8u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup tiny.nib;
+numeric x_bowl; x_bowl=2/3h;
+pos1(stem,0); pos2(stem,0); x1=x2;
+lft x1l=hround(1.5u-.5stem); top y1=h; y2=.5x_bowl;
+filldraw stroke z1e--z2e; % stem
+sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif
+pickup fine.nib; pos2'(stem,-180); pos3(vair,-90);
+pos4(curve,0); pos5(vair,90); pos0(hair,180);
+z0=z2=z2'; x3=x5=.5[x2,x4]; rt x4r=hround(8u-1.5u+.5curve);
+bot y3r=-oo; top y5r=x_bowl+oo; y4=y2;
+filldraw stroke pulled_arc.e(2',3) & pulled_arc.e(3,4)
+ & pulled_arc.e(4,5) & super_arc.e(5,0); % bowl
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "Cyrillic italic letter hard_sign";
+beginchar(CYR_hard_sign,12u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup tiny.nib;
+numeric x_bowl; x_bowl=.52h;
+pos1(vair,0); pos2(stem,0); x1=x2;
+lft x1l=hround(5.5u-.5stem); top y1=h+oo; y2=.5x_bowl;
+filldraw stroke z1e--z2e; % stem
+pickup fine.nib; pos2'(stem,-180); pos3(vair,-90);
+pos4(curve,0); pos5(vair,90); pos0(hair,180);
+z0=z2=z2'; x3=x5=.5[x2,x4]; rt x4r=hround(w-1.5u+.5curve);
+bot y3r=-oo; top y5r=x_bowl+oo; y4=y2;
+filldraw stroke pulled_arc.e(2',3) & pulled_arc.e(3,4)
+ & pulled_arc.e(4,5) & super_arc.e(5,0); % bowl
+pos1'(vair,0); pos6(vstem,-90); pos6'(vstem,90); pos7(vair,180);
+z1'=z1; x6=.5[x7,x1]; top y6l=h+oo; z6'=z6; lft x7r=0; y7=h-1.75u;
+filldraw stroke pulled_arc.e(1',6);
+filldraw stroke pulled_arc.e(6',7);
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6,7); endchar;
+
+cmchar "Cyrillic italic letter yeru";
+beginchar(CYR_yeru,12u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup tiny.nib;
+numeric x_bowl; x_bowl=2/3h;
+pos1(stem,0); pos2(stem,0); x1=x2;
+lft x1l=hround(1.5u-.5stem); top y1r=h+oo; y2=.5x_bowl;
+filldraw stroke z1e--z2e; % stem
+sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif
+pickup fine.nib; pos2'(stem,-180); pos3(vair,-90);
+pos4(curve,0); pos5(vair,90); pos0(hair,180);
+z0=z2=z2'; x3=x5=.5[x2,x4]; rt x4r=hround(8u-1.5u+.5curve);
+bot y3r=-oo; top y5r=x_bowl+oo; y4=y2;
+filldraw stroke pulled_arc.e(2',3) & pulled_arc.e(3,4)
+ & pulled_arc.e(4,5) & super_arc.e(5,0); % bowl
+pickup fine.nib; x7-.5stem=hround(9.5u-.5stem); x9=w;
+hook_out(7,8,9); % closing hook
+pickup tiny.nib; pos6(stem,0); pos7'(stem,0); z7'=z7;
+top y6=h; x6=x7; filldraw stroke z6e--z7e; % stem
+sloped_serif.l(6,7,b,1/3,jut,serif_drop); % serif
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "Cyrillic italic letter e";
+beginchar(CYR_e,8u#,x_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
+adjust_fit(0,0); pickup fine.nib;
+pos0(flare,180); pos1(hair,180); pos2(vair,-90);
+pos3(curve,0); pos4(vair,90); pos5(hair,140);
+x2=x4=.5(w-u); lft x1r=.25u;
+rt x3r=hround(w-1.5u+.5curve); x5r=good.x(eps); x6=x5;
+y1=.52[0,h-bar_height]; bot y2r=-oo; bulb(2,1,0); % bulb
+top y4r=h+oo; y3=.5[y2,y4]; bot y5l=vround h-.5bar_height; y6=h-bar_height;
+path p; p=z4{left}..z5..z6;
+filldraw stroke pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+penpos7(bar,90); penpos8(bar,90);
+x7=x3; y7=.52h; y8=y7; x8=.5w-hround(u);
+fill stroke z7e--z8e; % bar
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "Cyrillic italic letter yu";
+beginchar(CYR_yu,13u#,x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
+hook_in(0,a,1); % opening hook
+filldraw circ_stroke z2e--z1e; % left stem
+pos3(vair,90); pos4(curve,180); pos5(vair,270); pos6(curve,360);
+x3=x5=w-4.5u; rt x6r=hround(w-1.5u+.5curve); x4=w-(x6-4u);
+top y3r=h+oo; y4=y6=.5[y3,y5]; bot y5r=-oo;
+filldraw stroke pulled_arc.e(3,4) & pulled_arc.e(4,5)
+ & pulled_arc.e(5,6) & pulled_arc.e(6,3); % bowl
+penpos4'(bar,90); penpos7(bar,90); z4'=z4; x7=x1; y7=y4';
+fill stroke z4'e--z7e; % bar
+math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
+penlabels(1,2,3,4,4',5,6,7); endchar;
+
+cmchar "Cyrillic italic letter ya";
+beginchar(CYR_ya,8u#+.5max(2u#,curve#),x_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
+adjust_fit(0,0);
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+rt x1r=rt x2r=w-hround(2.5u-.5stem'); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(curve if hefty:-3stem_corr fi,180);
+penpos6(vair,-90); penpos7(vair,-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7;
+x7=x2; y7=.5h; x4=x6;
+if serifs: x4=.5w+.5u; x5r=hround(1.5u);
+else: x4=.5w-.5u; x5l=hround(.75u); fi
+x4l:=x6l:=x4+.125curve;
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+pos6'(vair,-90); pos0(stem,0);
+pos8(curve,0); pos9(vair,-90); pos10(hair,180);
+z6'=z6; rt x0r=rt x8r=hround(x5+2/3u+.5curve);
+y8=1/3[y2,y7]; y0=3/5[y2,y7]; x9=.5[x8l,x10r];
+bot y9l=0; lft x10r=hround(.05u); y10=1/4[y2,y7];
+filldraw stroke z6'e{left}..z0e---z8e....z9e{left}..z10e{up}; % tail
+nodish_serif(1,2,a,1/3,.5jut,b,1/3,jut); % upper serif
+dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower serif
+math_fit(-min(2/3x_height#*slant-.5hair#-.5u#,
+ 2u#-.5stem#-desc_depth#*slant),ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
+
diff --git a/fonts/cyrillic/scyrillic/cyrillic.mf b/fonts/cyrillic/scyrillic/cyrillic.mf
new file mode 100644
index 0000000000..8f4731caf7
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cyrillic.mf
@@ -0,0 +1,277 @@
+% The Computer Modern Cyrillic family of fonts (by N.Glonti)
+
+let cmchar=message; % `|cmchar|' should precede each character
+
+font_coding_scheme:="TeX text";
+input cycoding;
+
+mode_setup; font_setup;
+
+
+input cyru; % upper case (majuscules)
+input cyrl; % lower case (minuscules)
+input cyrsymb; % three additional char
+
+font_slant slant;
+font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#;
+
+
+% k#:=.5u#; kk#:=.75u#; kkk#:=1.5u#; kkkk#:=-2u#;
+
+ k#:=.25u#; kk#:=.5u#; kkk#:=0.75u#; kkkk#:=-1.25
+u#;
+
+%k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
+%k#:=2u#; kk#:=u#; kkk#:=3u#; kkkk#:=-5u#;
+ ligtable CYR_a: % a
+ CYR_ya kern -kk#, % ya
+ CYR_u kern -kk#, % u
+ CYR_de kern k#, % d
+ CYR_che kern -kk#; % ch
+
+ ligtable CYR_be: % b
+ CYR_ve kern -k#, % ve
+ CYR_ghe kern -k#, % ghe
+ CYR_ie kern k#, % e
+ CYR_zhe kern -k#, % zhe
+ CYR_i kern -k#, % i
+ CYR_ka kern -k#, % ka
+ CYR_em kern -k#, % em
+ CYR_en kern -k#, % en
+ CYR_pe kern -k#, % pe
+ CYR_er kern -k#, % er
+% CYR_ef kern -k#, % (was -kk# AS) f
+ CYR_ha kern -k#, % x
+% CYR_o kern -k#, % o (-kkkk -> -kkk AS)
+ CYR_es kern -k#, % s (-kkkk -> -kkk AS)
+ CYR_u kern -k#, % u
+ CYR_soft_sign kern -k#, % soft_sign
+ CYR_yeru kern -k#, % yeru
+ CYR_shcha kern -k#, % shcha
+ CYR_tse kern -k#; % tse
+
+ ligtable CYR_tse: CYR_sha: CYR_shcha:
+ CYR_en: CYR_em: CYR_pe:
+ CYR_be kern -k#, % be
+ CYR_o kern -k#, % o
+ CYR_ie kern -k#, % es
+ CYR_ef kern -k#, % ef
+ CYR_es kern -k#, % ie
+ CYR_de kern k#; % d
+
+ ligtable CYR_de: % d
+ CYR_be kern -kkk#, % be
+ CYR_o kern -kkk#, % o
+ CYR_ie kern -kkk#, % es
+ CYR_ef kern -kk#, % ef
+ CYR_es kern -kkk#, % ie
+ CYR_de kern kk#; % d
+
+ ligtable CYR_ie: % e
+ CYR_be kern kkk#, % b
+ CYR_de kern -kk#, % d
+% CYR_ie kern -k#, % e
+ CYR_zhe kern -kk#, % e
+% CYR_ef kern -k#, % f
+ CYR_ha kern -kk#, % x
+% CYR_o kern -k#, % o
+% CYR_es kern -k#, % s
+% CYR_te kern -k#, % t
+ CYR_u kern -k#; % u
+
+ ligtable CYR_ef: % f
+ CYR_ie kern k#, % e
+ CYR_ha kern -kk#, % x
+ CYR_i kern -kk#, % i
+ CYR_en kern -k#, %
+ CYR_pe kern -k#, %
+ CYR_er kern -k#, %
+ CYR_o kern k#, % o
+ CYR_es kern k#, % s
+ CYR_te kern -k#; % t
+
+ ligtable CYR_ghe: % g
+ CYR_be kern -k#, % b
+ CYR_ie kern -kkk#, % e
+ CYR_o kern -kkk#, % o
+ CYR_es kern -kkk#; % s
+
+ ligtable CYR_ha: % kh
+ CYR_ie kern -kk#, % e
+ CYR_o kern -kk#, % o
+ CYR_ef kern -kk#, %
+ CYR_es kern -kk#; % s
+
+ ligtable CYR_ka: % k
+ CYR_ie kern -kk#, % e
+ CYR_ef kern -kk#, % f
+ CYR_o kern -kk#, % o
+ CYR_es kern -kk#, % s
+ CYR_u kern -k#; % u
+
+ ligtable CYR_el: % l
+ CYR_ie kern -kk#, % e
+ CYR_ef kern -kk#, % f
+ CYR_o kern -kk#, % o
+ CYR_es kern -kk#; % s
+
+ ligtable CYR_o: % o
+% CYR_be kern -k#, % b (was kkkk AS)
+ CYR_ve kern -kk#, % ve
+ CYR_de kern -kkk#, % de
+% CYR_ie kern -k#, % e (was kkkk AS)
+ CYR_ha kern -kk#, % x
+% CYR_o kern -k#, % o (was kkkk AS)
+% CYR_es kern -kk#, % s (was kkkk AS)
+ CYR_em kern -kk#, %
+ CYR_en kern -kk#, %
+ CYR_pe kern -kk#, %
+ CYR_i kern -kk#, %
+ CYR_short_i kern -kk#, %
+ CYR_ka kern -kk#, %
+ CYR_er kern -kk#, %
+ CYR_sha kern -kk#, %
+ CYR_shcha kern -kk#, %
+ CYR_che kern -kkk#, %
+ CYR_zhe kern -kk#; % zh
+
+ ligtable CYR_er: % p
+% CYR_be kern -k#, % b (kkkk -> -kkk AS)
+% CYR_ie kern -k#, % e(kkkk -> -kkk AS)
+ CYR_ha kern -kk#, % x
+% CYR_o kern -k#, % o (kkkk -> -kkk AS)
+% CYR_es kern -kk#, % s (kkkk -> -kkk AS)
+ CYR_te kern -k#; % t
+
+%ligtable CYR_es: % s
+% CYR_be kern -k#, % b
+% CYR_ie kern -k#, % e
+% CYR_ef kern -k#, % f
+% CYR_o kern -k#, % o
+% CYR_es kern -k#; % s
+ ligtable CYR_te: % t
+ CYR_en kern -k#, %
+ CYR_es kern -k#, %
+ CYR_ie kern -k#, % e
+ CYR_o kern -k#; % o
+ ligtable CYR_u: % u
+ CYR_de kern -k#, % d
+ CYR_el kern -kk#, %
+ CYR_a kern -k#; % s
+ ligtable CYR_zhe: % zh
+ CYR_be kern -kk#, % b
+ CYR_ie kern -kk#, %
+ CYR_ef kern -kk#, %
+ CYR_o kern -kk#, % o
+ CYR_es kern -kk#; % s
+
+ ligtable CYR_ve: % w
+ CYR_te kern -k#; % d
+
+%ligtable CYR_ze: % z
+% CYR_be kern -k#, % b
+% CYR_ie kern -k#, % e
+% CYR_o kern -k#, % o
+% CYR_es kern -k#; % s
+
+ ligtable CYR_A: % A
+ CYR_u kern -kk#, %
+ CYR_CHE kern -kkk#; % ch
+
+ ligtable CYR_BE: % B
+ CYR_O kern -k#, % o
+ CYR_ES kern -k#, % s
+ CYR_U kern -kk#; % u
+
+ ligtable CYR_GHE: CYR_U: % G U
+ CYR_A kern -kk#, % a
+% CYR_ve kern -kk#, % w
+% CYR_GHE kern -kk#, % g
+ CYR_DE kern -kk#, % d
+% CYR_IE kern -kk#, % e
+ CYR_EF kern -kk#, % f
+ CYR_HA kern -kk#, % kh
+% CYR_I kern -kk#, % i
+% CYR_SHORT_I kern -kk#, % j
+% CYR_KA kern -kk#, % k
+ CYR_EL kern -kk#, % l
+% CYR_EM kern -kk#, % m
+% CYR_EN kern -kk#, % n
+% CYR_O kern -kk#, % o
+% CYR_PE kern -kk#, % p
+ CYR_YA kern -kk#, % ya
+% CYR_ER kern -kk#, % r
+ CYR_ES kern -kk#, % s
+ CYR_TE kern -kk#, % t
+ CYR_U kern -kk#; % u
+% CYR_VE kern -kk#, % w
+% CYR_SOFT_SIGN kern -kk#, % '
+% CYR_YERU kern -kk#, % y
+% CYR_ZE kern -kk#, % z
+% CYR_SHA kern -kk#, % sh
+% CYR_SHCHA kern -kk#, % shch
+% CYR_CHE kern -kk#; % ch
+% CYR_HARD_SIGN kern -k#; % ''
+
+ ligtable CYR_O: CYR_ES: CYR_EF:
+ CYR_de kern -kkk#, %
+ CYR_A kern -kkk#, %
+ CYR_VE kern -kkk#, %
+ CYR_GHE kern -kkk#, %
+ CYR_ER kern -kkk#, %
+ CYR_PE kern -kkk#, %
+ CYR_EN kern -kkk#, %
+ CYR_E kern -kkk#, %
+ CYR_HA kern -kkk#, %
+ CYR_I kern -kkk#, %
+ CYR_KA kern -kkk#, %
+ CYR_EM kern -kkk#, %
+ CYR_SHA kern -kkk#, %
+ CYR_SHCHA kern -kkk#, %
+ CYR_SHORT_I kern -kkk#; % j
+
+ ligtable CYR_EN: CYR_EM: CYR_ER: CYR_PE:
+ CYR_ZHE: CYR_KA: CYR_DE: CYR_HA:
+ CYR_O kern -kkk#, %
+ CYR_ES kern -kkk#, %
+ CYR_EF kern -kkk#; %
+
+ ligtable CYR_TE: % T
+ CYR_A kern -kkk#, % a
+% CYR_VE kern -kkk#, % w
+% CYR_GHE kern -kkk#, % g
+ CYR_DE kern -kkk#, % d
+ CYR_IE kern -kkk#, % e
+ CYR_EF kern -kkk#, % f
+ CYR_HA kern -kkk#, % kh
+ CYR_I kern -kkk#, % i
+ CYR_SHORT_I kern -kkk#, % j
+ CYR_KA kern -kkk#, % k
+ CYR_EL kern -kkk#, % l
+% CYR_EM kern -kkk#, % m
+% CYR_EN kern -kkk#, % n
+ CYR_O kern -kkk#, % o
+% CYR_PE kern -kkk#, % p
+ CYR_YA kern -kkk#, % ya
+% CYR_ER kern -kkk#, % r
+ CYR_ES kern -kkk#, % s
+ CYR_TE kern -kkk#, % t
+ CYR_U kern -kkk#, % u
+% CYR_VE kern -kkk#, %
+% CYR_SOFT_SIGN kern -kkk#, %
+% CYR_YERU kern -kkk#, % y
+ CYR_ZE kern -kkk#; % z
+% CYR_SHA kern -kk#, % sh
+% CYR_SHCHA kern -kk#, % shch
+% CYR_CHE kern -kk#, % ch
+% CYR_HARD_SIGN kern -kk#; %
+fi;
+bye.
+
diff --git a/fonts/cyrillic/scyrillic/cyrl.mf b/fonts/cyrillic/scyrillic/cyrl.mf
new file mode 100644
index 0000000000..c6f471a2b5
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cyrl.mf
@@ -0,0 +1,1062 @@
+cmchar "The cyrillic letter a";
+beginchar(CYR_a,9u#,x_height#,0);
+bh#:=min(bar_height#,1.14x_height#-bar_height#); define_pixels(bh);
+italcorr 1/3[bh#,x_height#]*slant+.5stem#-serif_fit#-2u#;
+adjust_fit(0,serif_fit# if serifs: if hair#+.5stem#>1.5u#:-.25u# fi\\fi);
+pickup fine.nib; top y3r=h+vround 1.5oo;
+if serifs: pos1(flare,180); pos2(hair,180);
+ pos3(vair,90); lft x1r=hround max(u,2.1u-.5flare); x3=.5w-.5u;
+ y1=min(bh+.5flare+2vair+2,.9[bh,h]-.5flare);
+ bulb(3,2,1); % bulb
+else: pos1(5/7[vair,flare],95); x1l=good.x 1.5u; x1r:=good.x x1r;
+ pos3(1/8[vair,thin_join],90);
+ x3=.5w-.2u; top y1r=vround .82[bh,top y3r];
+ filldraw stroke term.e(3,1,left,.9,4); fi % terminal
+pos4(stem,0); rt x4r=hround(w-2.5u+.5stem); y4=1/3[bh,h];
+pos5(stem,0); x5=x4; y5=max(.55bh,2vair);
+filldraw stroke super_arc.e(3,4)&z4e..z5e; % arc and stem
+pos6(.3[thin_join,vair],90); x6=x4; bot y6=bh;
+pos7(hround(curve-2stem_corr),180);
+lft x7r=hround max(.5u,1.5u-.5curve); y7=1/3[top y8l,top y6r];
+pos8(vair,270); x8l=.5w-.75u; bot y8r=-oo;
+pos9(thin_join,360); z9l=z5l;
+(x,y8r)=whatever[z8l,z9l]; x8r:=max(x,x8-u);
+{{interim superness:=more_super;
+ filldraw stroke z9e{down}...z8e{left}...{up}z7e&super_arc.e(7,6)}}; % bowl
+if serifs: numeric shaved_stem; shaved_stem=hround(stem-3stem_corr);
+ if hair#+.5stem#>1.5u#: pickup tiny.nib;
+ pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; y10=.2[.5tiny,bh];
+ pos11(shaved_stem,0); rt x11r=hround(w-.25u); bot y11=0;
+ pos12(shaved_stem,0); x11=x12; top y12=slab+eps;
+ filldraw z5'l---z10l...z11l{right}--z11r
+ --z12r{left}...z10r+.75(z12-z11)---z5'r--cycle; % foot
+ else: pickup crisp.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; y10=1/3bh;
+ pos11(.2[vair,stem],90); x11r=.5[x10r,x12r]; bot y11l=-vround .5oo;
+ pos12(hair,180); rt x12l=hround(w-.1u); y12=max(y10,y11+vair);
+ pos13(hair,180); x13=x12; top y13=max(vround .6bh,top y12);
+ (x',y11l)=whatever[z11r,z12r]; x11l:=max(x',x10);
+ filldraw stroke z5'e---z10e...z11e{right}...z12e---z13e; fi % hook
+else: numeric shaved_stem; shaved_stem=hround(stem-stem_corr);
+ pickup tiny.nib; pos5'(shaved_stem,0); rt x5'r=fine.rt x5r; y5'=y5;
+ pos10(shaved_stem,0); x10=x5'; bot y10=0;
+ filldraw stroke z5'e--z10e; fi % base of stem
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "The cyrillic letter be";
+beginchar(CYR_be,9u#,fig_height#,0);
+italcorr .7x_height#*slant;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=x_height+vround 1.5oo; y3r=-oo;
+y2=y4=.5x_height-vair_corr; y2l:=y4l:=.52x_height;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+penpos2'(hair,180); lft x2'r=x2r; y2'=y2r;
+penpos5(.8curve,90); penpos6(.8curve,90);
+penpos6'(.8curve,-90); x6=.5[x5,x7]; y6=y5; z6'=z6;
+penpos7(thin_join,0); rt x7r=rt x4r;
+top y7=h; top y5r=.97h; x5=x1;
+fill stroke z2'e{up}...{right}z5e..z6e;
+fill circ_stroke pulled_arc.e(7,6');
+penlabels(1,2,2',3,4,5,6',6,7); endchar;
+
+cmchar "The cyrillic letter ve";
+beginchar(CYR_ve,9u#,x_height#,0);
+italcorr .5x_height#*slant+min(.5curve#-u#,-.25u#);
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(2.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos6(middle_weight,-90); penpos7(middle_weight,-90);
+penpos8(middle_weight,90); penpos9(middle_weight,90);
+penpos5(right_curve-stem_corr,0); penpos10(right_curve,0);
+penpos11(cap_band,-90); penpos12(cap_band,-90);
+z3r=top z1; y4=y3; y5=.5[y4,y6]; y6=y7; y7l-y8l=vair;
+z12r=bot z2; y11=y12; y10=.5[y11,y9]; y8=y9; .5[y7l,y8l]=.52h;
+x4=x6; x9=x11=x4+.5u; x7=x8=x1; x9l:=x4+.25u;
+x5r=hround(w-u); x10r=hround(w-.5u);
+if serifs: right_curve=curve-stem_corr; x4=.5[x1,w-1.5u];
+else: right_curve=curve-3stem_corr; x4=.5[x1,w-2.5u];
+ x4l:=x4l-.5u; x9l:=x9l-.5u; fi
+x6l:=x6l-.5u; x11l:=x11l-.5u;
+fill stroke z3e..super_arc.e(4,5) & super_arc.e(5,6)..z7e; % upper lobe
+fill stroke z8e..super_arc.e(9,10) & super_arc.e(10,11)..z12e; % lower lobe
+if serifs: nodish_serif(1,2,a,1/3,jut,b,1/3,.5jut); % upper serif
+ nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); fi % lower serif
+penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+cmchar "The cyrillic letter ghe";
+beginchar(CYR_ghe,8.5u#,x_height#,0);
+italcorr x_height#*slant;
+adjust_fit(serif_fit#,0);
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.75u); y4=good.y(y3l-.6beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+nodish_serif(1,2,a,1/3,jut,b,1/3,.5jut); % upper serif
+dish_serif(2,1,c,1/3,jut,d,1/3,1.25jut); % lower serif
+penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter de";
+beginchar(CYR_de,10u#,x_height#,comma_depth#);
+italcorr x_height#*slant-serif_fit#
+ +.75jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(0,serif_fit#);
+pickup tiny.nib; numeric thin_stem;
+thin_stem=if monospace: stem-tiny
+ else: min(hair,stem-1.3tiny) fi;
+if serifs: penpos1(thin_stem,0); penpos2(thin_stem,0); x2=.5[hround .5u,x1];
+else: penpos1(thin_stem,0); penpos2(thin_stem,0); x2=.5u+stem; fi
+pos3(stem,0); pos4(stem,0);
+x1l=x0l=.33w; top y1=h; bot y2=0;
+rt x3r=rt x4r=hround(w-2u); top y3=h; bot y4=0;
+filldraw stroke z3e--z4e;
+filldraw stroke z1e{down}..z2e; % stem and arc
+if serifs: pickup crisp.nib; numeric inner_jut,newbracket;
+ newbracket:=max(1.5,bracket); inner_jut:=.5(x3l-x1r);
+ path p[]; p1=z1{down}...z2;
+ p12=(0,y1-newbracket)--(w,y1-newbracket);
+ p21=(0,y2+newbracket)--(w,y2+newbracket);
+ z12=p1 intersectionpoint p12; z21=p1 intersectionpoint p21;
+ nodish_serif(1,12,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(3,4,c,1/3,inner_jut,d,1/3,jut); % upper right serif
+ inner_jut:=.5(x4l-x2r);
+ nodish_serif(2,21,e,1/3,jut,f,1/3,inner_jut); % middle left serif
+ nodish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % middle right serif
+ pickup crisp.nib;
+ pos5(slab,90); pos6(hair,180); pos7(hair,0);
+ x5=.5[x2,x4]; bot y5l=0;
+ rt x7r=tiny.rt x4r+jut; lft x6r=tiny.lft x2l-jut;
+ y6=y7=good.y(y5l-.5beak)-eps;
+ arm(5,6,m,1.25beak_darkness,0); % left beak
+ arm(5,7,n,1.25beak_darkness,0); % right beak
+else:
+ pos1'(slab,90); pos3'(slab,90);
+ pos6(slab,90); pos7(slab,90);
+ pos6'(slab,0); pos7'(slab,0);
+ pos8(slab,0); pos9(slab,0);
+ lft x1'=lft x1l; rt x3'=rt x3r; top y1'r=top y3'r=h;
+ lft x6=lft x6'l=lft x8l=.5u; rt x7=rt x7'r=rt x9r=w-.5u;
+ bot y6l=bot y7l=0; y6'=y7'=y6; bot y8=bot y9=-.75d;
+ filldraw stroke z1'e--z3'e; % upper bar
+ filldraw stroke z6e--z7e; % lower bar
+ filldraw stroke z6'e--z8e; % left beak
+ filldraw stroke z7'e--z9e; % right beak
+fi
+penlabels(1,1',2,3,3',4,5,6,7,8,9,12,21); endchar;
+
+cmchar "The cyrillic letter ie";
+beginchar(CYR_ie,7.25u#+max(.75u#,.5curve#),x_height#,0);
+italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
+adjust_fit(if monospace: .25u#,.5u# else: 0,0 fi);
+numeric left_curve,right_curve;
+left_curve=right_curve+6stem_corr=curve if not serifs: -3stem_corr fi;
+if right_curve<tiny.breadth: right_curve:=tiny.breadth; fi
+if left_curve<tiny.breadth: left_curve:=tiny.breadth; fi
+pickup tiny.nib; pos1(right_curve,0);
+pos2(vair,90); pos3(left_curve,180);
+y1=good.y bar_height; top y2r=h+vround 1.5oo; y0l=bot y1;
+rt x1r=hround min(w-.5u,w-u+.5right_curve);
+lft x3r=hround max(.5u,1.25u-.5left_curve); x2=.5w+.25u;
+{{interim superness:=more_super;
+ filldraw stroke super_arc.e(1,2)}}; % right bowl
+y3=.5[y2,y4]; bot y4r=-oo; x4=x2+.25u;
+if serifs: pos4(vair',270); pos5(hair,360);
+ y5=max(good.y(.5bar_height-.9),y4l+vair); x5r=x1r;
+ (x,y4l)=whatever[z4r,z5]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)
+ ...{x5-x4,5(y5-y4)}z5e; % left bowl, arc, and terminal
+else: pos4(vair,270);
+ filldraw stroke super_arc.e(2,3) & super_arc.e(3,4); % left bowl and arc
+ pickup fine.nib; pos4'(vair,270); z4=z4';
+ pos5(.5[vair,flare],275); rt x5r=hround(w-.6u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke term.e(4',5,right,1,4); fi % terminal
+path testpath; testpath=super_arc.r(2,3) & super_arc.r(3,4);
+y1'r=y0r=y0l+.6[thin_join,vair]; y1'l=y0l; x1'l=x1'r=x1;
+forsuffixes $=l,r:
+ x0$=xpart(((0,y0$)--(x1,y0$)) intersectionpoint testpath); endfor
+fill stroke z0e--z1'e; % crossbar
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter ye";
+numeric dot_diam#,dot_diam;
+dot_diam#=max(dot_size#,cap_curve#);
+beginchar(CYR_ye,7.25u#+max(.75u#,.5curve#),1.4x_height#,0);
+dot_diam=max(tiny.breadth,hround(max(dot_size,cap_curve)-2stem_corr));
+italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
+adjust_fit(if monospace: .25u#,.5u# else: 0,0 fi);
+numeric left_curve,right_curve,letter_h; letter_h=x_height;
+left_curve=right_curve+6stem_corr=curve if not serifs: -3stem_corr fi;
+if right_curve<tiny.breadth: right_curve:=tiny.breadth; fi
+if left_curve<tiny.breadth: left_curve:=tiny.breadth; fi
+pickup tiny.nib; pos1(right_curve,0);
+pos2(vair,90); pos3(left_curve,180);
+y1=good.y bar_height; top y2r=letter_h+vround 1.5oo; y0l=bot y1;
+rt x1r=hround min(w-.5u,w-u+.5right_curve);
+lft x3r=hround max(.5u,1.25u-.5left_curve); x2=.5w+.25u;
+{{interim superness:=more_super;
+ filldraw stroke super_arc.e(1,2)}}; % right bowl
+y3=.5[y2,y4]; bot y4r=-oo; x4=x2+.25u;
+if serifs: pos4(vair',270); pos5(hair,360);
+ y5=max(good.y(.5bar_height-.9),y4l+vair); x5r=x1r;
+ (x,y4l)=whatever[z4r,z5]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)
+ ...{x5-x4,5(y5-y4)}z5e; % left bowl, arc, and terminal
+else: pos4(vair,270);
+ filldraw stroke super_arc.e(2,3) & super_arc.e(3,4); % left bowl and arc
+ pickup fine.nib; pos4'(vair,270); z4=z4';
+ pos5(.5[vair,flare],275); rt x5r=hround(w-.6u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke term.e(4',5,right,1,4); fi % terminal
+path testpath; testpath=super_arc.r(2,3) & super_arc.r(3,4);
+y1'r=y0r=y0l+.6[thin_join,vair]; y1'l=y0l; x1'l=x1'r=x1;
+forsuffixes $=l,r:
+ x0$=xpart(((0,y0$)--(x1,y0$)) intersectionpoint testpath); endfor
+fill stroke z0e--z1'e; % crossbar
+pos6(dot_diam,0); pos7(dot_diam,90);
+x6=x7=2.5u; top y7r=h+1;
+if bot y7l<letter_h+o+slab: y7l:=min(y7r-eps,letter_h+o+slab+.5tiny); fi
+y6=.5[y7l,y7r]; dot(6,7); % left dot
+pos8(dot_diam,0); penpos9(y7r-y7l,90); y8=y9=y6; x8=x9=w-x6;
+dot(8,9); % right dot
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter zhe";
+beginchar(CYR_zhe,14u#,x_height#,0);
+italcorr x_height#*slant-.2u#;
+adjust_fit(serif_fit#,serif_fit#);
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+x1=x2=.5w; top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+stem2=max(tiny.breadth,fudged.stem-3stem_corr);
+rt x3r=w-lft x7l=hround(r-letter_fit-.9u-right_jut);
+rt x6r=w-lft x9l=hround(r-letter_fit-.5u-right_jut);
+top y3=top y7=h; bot y6=bot y9=0; x4=x1; y4=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+penpos7(alpha1*(stem1-tiny),0);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0); penpos9(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=y7'$=h; y6'$=y9'$=0;
+ z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4];
+ x8$=w-x5$; y8$=y5$; endfor
+z5=.5[z5l,z5r]; z8=.5[z8l,z8r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+x7'r=w-x3'r; x7'l=w-x3'l; x9'r=w-x6'r; x9'l=w-x6'l;
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % right upper diagonal
+fill z4r--diag_end(4r,7'r,1,.5,7'l,4l)--z4l--cycle; % left upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % right lower diagonal
+fill z8l--diag_end(8l,9'l,.5,1,9'r,8r)--z8r--cycle; % left lower diagonal
+if serifs: numeric inner_jut,mon_jut;
+ if rt x2r+jut+.5u+1<=lft x6l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x6l-inner_jut; fi
+ mon_jut=if monospace: inner_jut else: jut fi;
+ dish_serif(1,2,a,1/3,mon_jut,b,1/3,mon_jut); % upper stem serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower stem serif
+ dish_serif(3,4,e,2/3,right_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark); % lower diagonal serif
+ dish_serif(7,4,i,1/2,right_jut,j,2/3,right_jut)(dark); % upper diagonal serif
+ dish_serif(9,8,k,1/3,right_jut,l,1/2,inner_jut)(dark); fi %lower diagonal seri
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter ze";
+beginchar(CYR_ze,7.5u#,x_height#,0);
+italcorr x_height#*slant-.5u#;
+adjust_fit(0,0);
+pickup fine.nib;
+if serifs: pos1(hair,180); pos2(cap_band,90);
+ pos3(max(fine.breadth,curve-stem_corr),0); pos4(vair',270);
+ lft x1r=u; top y2r=h+oo;
+ bot y1=min(vround .7h,bot y2l-eps); rt x3r=hround(w-u);
+ pos7(vair,-90); pos8(vair,-90);
+ pos9(max(fine.breadth,vround 2/3vair),90); pos10(curve,0);
+ x9=.5w-u; x2=x4=.5w-.5u; bot y4r=-oo;
+ rt x10r=w-.5u; lft x8=min(hround 5u,lft x9)-eps;
+ y3=.5[top y7l,bot y2l]; y10=.5[bot y9l,top y4l];
+ top y8l=vround(.54h+.5vair); y8r=y9l;
+ x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+ pos5(hair,180); lft x5r=hround(.5u);
+ y5=max(good.y(.3bar_height),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=max(x,x4l-.5u);
+ interim superness:=more_super;
+ filldraw stroke z1e{up}
+ ... pulled_super_arc.e(2,3)(.5superpull)
+ & z3e{down}...z7e---z8e; % upper bowl
+ filldraw z8r--z9l--z9r--z8l---cycle; % middle tip
+ filldraw stroke pulled_super_arc.e(9,10)(.5superpull)
+ & pulled_super_arc.e(10,4)(.5superpull)
+ ..z5e; % arc and lower terminal
+ pos6(.3[fine.breadth,hair],180); x6r=x1r; top y6=h+o;
+ x1'-x1r=1.5curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x1-x2,10(y2-y1)}..z2{right};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: pos1(1.2flare,100); pos2(slab,90);
+ pos3(curve,0); pos4(slab,-90); pos5(flare,-95);
+ rt x1r=hround(1.1u); x2=.5w; x4=.45[x1,x10]; x9=.5w-u;
+ rt x3r=hround w-max(u,2u-.5curve); rt x5r=hround(.9u);
+ top y1r=vround .9h+oo; top y2r=h+oo; y3=.5[y7,y2];
+ bot y4r=-oo; bot y5r=vround .15h-oo; y5l:=good.y y5l; x5l:=good.x x5l;
+ pos7(vair,-90); pos8(vair,-90);
+ pos9(max(fine.breadth,vround 2/3vair),90); pos10(curve,0);
+ rt x10r=hround(w-.75u); lft x8=min(hround 5u,lft x9)-eps;
+ y10=.5[y9,y4]; top y8l=vround(.54h+.5vair); y8r=y9l;
+ x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+ filldraw stroke rterm.e(2,1,left,.9,4) & super_arc.e(2,3)
+ & pulled_arc.e(3,8); % upper bowl
+ filldraw stroke pulled_arc.e(9,10)
+ & super_arc.e(10,4) & term.e(4,5,left,.8,4); fi % lower bowl
+penlabels(1,1',2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "The cyrillic letter i";
+beginchar(CYR_i,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+top y1=top y3=h; bot y2=bot y4=0;
+x1=x2; x3=x4; x1l=w-x3r;
+rt x3r=hround(w-2.5u+.5fudged.stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: y5=h-y6=.12h;
+ else: bot y5l=h-top y6r=0; fi
+x5=rt x2r; x6=lft x3l;
+if hefty: numeric upper_notch,lower_notch,alpha;
+ alpha=if monospace: 100 else: 90 fi;
+ upper_notch=h-notch_cut; lower_notch=notch_cut;
+ penpos5(1.5stem,alpha); penpos6(1.5stem,alpha);
+ x2'=rt x2r; z2'=whatever[z6r,z5r]; x3'=lft x3l; z3'=whatever[z5l,z6l];
+ fill z5l..
+ if y2'<lower_notch: {right}(x2'+1,lower_notch){up}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y3'>upper_notch: {left}(x3'-1,upper_notch){down}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,90); penpos6(whatever,90);
+ z7=z6l-(max(eps,hair-tiny),0) rotated (angle(z5-z6)-90);
+ z5r=z7+whatever*(z5-z6); z6r=z7+whatever*(z5-z6);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); fi % lower right serif
+penlabels(1,2,2',3,3',4,4',5,6); endchar;
+
+cmchar "The cyrillic letter short_i";
+beginchar(CYR_short_i,10u#,if serifs: 1.5x_height#
+ else: 1.4x_height# fi,0);
+italcorr 1.5x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+top y1=top y3=x_height; bot y2=bot y4=0;
+x1=x2; x3=x4; x1l=w-x3r;
+rt x3r=hround(w-2.5u+.5fudged.stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: y5=x_height-y6=.12x_height;
+ else: bot y5l=x_height-top y6r=0; fi
+x5=rt x2r; x6=lft x3l;
+if hefty: numeric upper_notch,lower_notch,alpha;
+ alpha=if monospace: 100 else: 90 fi;
+ upper_notch=x_height-notch_cut; lower_notch=notch_cut;
+ penpos5(1.5stem,alpha); penpos6(1.5stem,alpha);
+ x2'=rt x2r; z2'=whatever[z6r,z5r]; x3'=lft x3l; z3'=whatever[z5l,z6l];
+ fill z5l..
+ if y2'<lower_notch: {right}(x2'+1,lower_notch){up}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y3'>upper_notch: {left}(x3'-1,upper_notch){down}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,90); penpos6(whatever,90);
+ z6'=z6l-(max(eps,hair-tiny),0) rotated (angle(z5-z6)-90);
+ z5r=z6'+whatever*(z5-z6); z6r=z6'+whatever*(z5-z6);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % lower left serif
+ if monospace: penpos7(.25vair,-90);
+ else: penpos7(vair,-90); fi
+ penpos8(.7vair,-180); penpos9(.5flare,-180);
+ penpos10(.7vair,0); penpos11(.5flare,0);
+ x7=.5[x8,x10]; bot y7r=.8h;
+ x8=.5w-2u; x10=w-x8; y8=y11=.95h;
+ bulb(7,8,9); % left bulb
+ bulb(7,10,11); % right bulb
+else: pickup fine.nib; penpos7(.75vair,-90);
+ penpos8(.75vair,-180); penpos10(.75vair,0);
+ x7=.5[x8,x10]; y7=.85h;
+ x8r=x1r; x10r=x3l; top y8=top y10=h;
+ filldraw stroke z8e...z7e...z10e;
+fi
+penlabels(1,2,2',3,3',4,5,6,7,8,9,10,11); endchar;
+
+cmchar "The cyrillic letter ka";
+beginchar(CYR_ka,9.5u#,x_height#,0);
+italcorr x_height#*slant-.5u#;
+adjust_fit(serif_fit#,serif_fit#);
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+lft x1l=lft x2l=hround(2.5u-.5fudged.stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem2=max(tiny.breadth,fudged.stem-3stem_corr);
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+top y3=h; rt x3r=hround(r-letter_fit-.75u-right_jut);
+bot y6=0; rt x6r=hround(r-letter_fit-.5u-right_jut);
+x4=x1; y4=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor
+z5=.5[z5l,z5r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+% we have also |z3'l=z3l+penoffset z4-z3 of currentpen+whatever*(z3-z4)|;\]
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal
+if serifs: numeric inner_jut;
+ if rt x2r+jut+.5u+1<=lft x6l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x6l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper stem serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower stem serif
+ dish_serif(3,4,e,2/3,right_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark);fi % lower diagonal serif
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter el";
+beginchar(CYR_el,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#
+ +.75jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(0,serif_fit#);
+pickup tiny.nib; numeric thin_stem;
+thin_stem=min(1.2hair,stem);
+if serifs: pos1(thin_stem,0); pos12(thin_stem,0);
+else: pos1(hair,0); pos12(hair,0); fi
+pos5(stem,0); pos6(stem,0);
+x1=.33w; top y1=h; x12=x1; y12=.5h;
+rt x5r=rt x6r=hround(w-2.5u+.5stem); top y5=h; bot y6=0;
+filldraw stroke z5e--z6e; % right stem
+if serifs:
+ numeric light_bulb,inner_jut;
+ inner_jut:=.5(x5l-x1r); light_bulb=hround 7/8[hair,flare];
+ pos2(thin_stem,-90); pos3(thin_stem,-180);
+ pos4(light_bulb,-180);
+ bot y2r=-oo; x2=.3[x4,x1];
+ y4=.2h; rt x4l=hround 2u; z4r=z3r;
+ bulb(2,3,4); % bulb
+ filldraw stroke z2e{right}...{up}z12e--z1e; % left stem and arc
+ nodish_serif(1,12,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(5,6,g,1/3,inner_jut,h,1/3,jut); % upper right serif
+ dish_serif(6,5,e,1/3,jut,f,1/3,jut); % lower right serif
+else: pos1'(slab,90); pos5'(slab,90);
+ pos2(hair,-90); pos3(hair,-90);
+ x2=.5u; x3=x2+u; bot y2r=0; bot y3r=-oo;
+ lft x1'=lft x1l; rt x5'=rt x5r; top y1'r=top y5'r=h;
+ filldraw stroke z1'e--z5'e; % upper bar
+ filldraw stroke z2e...z3e{right}...{up}z12e--z1e; % stem and arc
+fi
+penlabels(1,1',2,3,4,5,5',6,7); endchar;
+
+cmchar "The cyrillic letter em";
+beginchar(CYR_em,12u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+numeric stem[]; % thicknesses of the four strokes
+stem1=hround(fudged.hair+stem_corr);
+stem2=hround(fudged.stem-4stem_corr);
+stem3=hround(fudged.hair-stem_corr);
+stem4=hround(fudged.stem-3stem_corr);
+if stem4<stem1: stem4:=stem1; fi
+pickup tiny.nib; pos1(stem1,0); pos2(stem1,0);
+pos3(stem4,0); pos4(stem4,0);
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround(w-2.5u+.5stem4);
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(stem2,0); penpos6(stem2,0); penpos7(stem3,0); penpos8(stem3,0);
+x5l=x1; x6l=x7l; x8=lft x3l; x6-x5=x8-x7; y5=y8=h; y6=y7;
+if hefty: y6=if monospace: vround 1/3h else: o fi;
+ numeric upper_notch,lower_notch;
+ upper_notch=h-notch_cut; lower_notch=y6+notch_cut;
+ x1'=rt x1r; z1'=whatever[z5l,z6l]; x3'=lft x3l; z3'=whatever[z7r,z8r];
+ z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..
+ if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ if y3'<upper_notch: ...{up}(x3'-1,upper_notch){right} fi
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}
+ if y0<=lower_notch: ..{z7-z8}z0{z5-z6}..
+ else: ...{down}(x0+.5,lower_notch)--(x0-.5,lower_notch){up}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonals
+else: y6=0; z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..{z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}..{z7-z8}z0{z5-z6}
+ ..{z5-z6}diag_in(6r,5r,1,5l)--cycle; fi % diagonals
+if serifs: serif(1,2,a,1/3,-jut); % upper left serif
+ dish_serif(2,1,b,1/2,jut,c,1/2,jut)(dark); % lower left serif
+ serif(3,4,d,1/3,jut); % upper right serif
+ dish_serif(4,3,e,1/3,jut,f,1/3,jut); fi % lower right serif
+penlabels(0,1,1',2,3,3',4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter en";
+beginchar(CYR_en,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(bar,90); penpos6(bar,90);
+x5=x1; x6=x3; y5=y6=.52h;
+fill stroke z5e--z6e; % bar
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); fi % lower left serif
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter o";
+beginchar(CYR_o,9u#,x_height#,0);
+italcorr .7x_height#*slant;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=h+vround 1.5oo; y3r=-oo;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter pe";
+beginchar(CYR_pe,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % lower left serif
+ inner_jut:=inner_jut+u;
+ nodish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper left serif
+else: pos5(slab,90); pos6(slab,90);
+ lft x5=x1l; rt x6=x3r; y5r=y6r=y3;
+ filldraw stroke z5e--z6e; fi % upper bar
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter er";
+beginchar(CYR_er,10u#+serif_fit#,x_height#,desc_depth#);
+italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#);
+adjust_fit(serif_fit#,0);
+pickup tiny.nib; pos1(stem',0); pos2(stem,0);
+pos0'(stem',0); pos0(stem,0); z0l=z0'l; x0'=x1; x0=x2;
+lft x1l=hround(2.5u-.5stem'); top y1=h if serifs: +min(oo,serif_drop) fi;
+numeric edge; edge=rt x2r;
+pickup fine.nib; pos3(if hefty:thin_join else: hair fi,180);
+pos4(vair',90); pos5(curve,0); pos6(vair,-90); penpos7(x3l-x3r,-180);
+rt x3l=max(rt x3l-(lft x3r-tiny.lft x2l), 1/3[rt x2,edge]);
+y3=1/8[bar_height,x_height];
+x4l=w-.5(w-serif_fit)+.5u; top y4r=x_height+oo;
+rt x5r=hround min(w-1.35u+.5curve,w-.6u); y5=.5x_height;
+x6l=x4l-.2u; bot y6r=-oo;
+x7=x3; y7=min(y3,y6+y4-y3+.6vair);
+(x,y4r)=whatever[z3l,z4l]; x4r:=min(x,.5[x5r,x4]);
+(x',y6r)=whatever[z7l,z6l]; x6r:=min(x',.5[x5r,x6]);
+filldraw stroke z3e{up}...{right}z4e&super_arc.e(4,5)
+ &super_arc.e(5,6)&z6e{left}...{up}z7e; % bowl
+y0=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{right}z4l));
+pickup tiny.nib; bot y2=-d;
+filldraw stroke z1e--z0'e--z0e--z2e; % stem
+pickup crisp.nib; pos8(hair,0); pos7'(stem,0);
+z7'=z2; x8l=x7'l; bot y8=0;
+filldraw stroke z7'e--z8e; % point
+if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); % upper serif
+ dish_serif(2,0,b,1/3,jut,c,1/3,jut); fi % lower serif
+penlabels(0,1,2,3,4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter es";
+beginchar(CYR_es,8u#,x_height#,0);
+italcorr x_height#*slant-.2u#;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+pickup fine.nib; pos2(vair',90); pos4(vair',270);
+x2=x4=.5(w+u); top y2r=vround(h+1.5oo); bot y4r=-oo;
+pos3(curve,180); lft x3r=hround max(.6u,1.35u-.5curve); y3=.5h;
+if serifs: pos1(hair,0); pos0(flare,0);
+ y1=min(bar_height+.5flare+2vair'+2,.9[bar_height,h]-.5flare);
+ rt x1r=hround(w-.7u); bulb(2,1,0); % bulb
+ pos5(hair,0); rt x5r=hround(w-.5u);
+ y5=max(good.y(.5bar_height-.9),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e; % arc and lower terminal
+else: pos1(4/7[vair',flare],80);
+ rt x1r=hround(w-.6u); top y1r=vround .82[bar_height,top y2r];
+ filldraw stroke term.e(2,1,right,.8,4); % upper terminal
+ pos5(.6[vair',flare],275); rt x5r=hround(w-.5u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ forsuffixes e=l,r: path p.e; p.e=z4e{right}..tension .9 and 1..z5e;
+ if angle direction 1 of p.e>75:
+ p.e:=z4e{right}..tension atleast.9 and 1..{dir 75}z5e; fi endfor
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull) & p.e; fi % arc and lower terminal
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter te";
+beginchar(CYR_te,10u#,x_height#,0);
+italcorr x_height#*slant-beak_jut#-.25u#;
+adjust_fit(0,0);
+h:=vround(h-2stem_corr);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+if odd(w-stem): change_width; fi
+lft x1l=lft x2l=hround(.5w-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.65u); y4=good.y(y3l-.6beak)-eps;
+arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak
+pos5(hair,180); x5=w-x4; y5=y4;
+arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak
+if serifs: dish_serif(2,1,c,1/3,1.414jut,d,1/3,1.414jut); % lower serif
+ nodish_serif(1,2,a,1/3,.5jut,b,1/3,.5jut); fi % upper bracketing
+penlabels(1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter u";
+beginchar(CYR_u,if serifs:9.5u# else:9u# fi,x_height#,desc_depth#);
+italcorr x_height#*slant+.25u#;
+adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
+numeric left_stem,right_stem,bot_stem,bot_vair,outer_jut;
+left_stem=fudged.stem-stem_corr;
+right_stem=fudged.hair if hefty:-2stem_corr fi;
+bot_stem=fudged.hair if hefty:-8stem_corr fi;
+bot_vair=Vround(if serifs: vair else:.5[vair,bot_stem] fi);
+outer_jut=.75jut;
+x1l=w-x4r=l+letter_fit+outer_jut+.25u; y1=y4r=h; y2=y3=0; x2l=x3l;
+numeric alpha,alpha[]; x9=3u; y9=bot_vair-d-oo;
+alpha1=diag_ratio(2,bot_stem,y1-y3,x4r-x1l-apex_corr);
+alpha2=diag_ratio(1,bot_stem,y1-y9,x4r-x9);
+if alpha1<alpha2: x2l-x1l=x4r-x3r+apex_corr; alpha=alpha1;
+else: alpha=alpha2; z3l=whatever[z9,z4r-(alpha*bot_stem,0)]; fi
+penpos3(alpha*bot_stem,0); penpos4(alpha*right_stem,0);
+alpha3=(y1++(x2l-x1l))/y1;
+penpos1(alpha3*left_stem,0); penpos2(alpha3*left_stem,0);
+z0=whatever[z1r,z2r]=z4l+whatever*(z3r-z4r);
+if y0>notch_cut: y0:=notch_cut;
+ fill z0+.5right{up}...{z4r-z3r}diag_end(0,4l,1,1,4r,3r)
+ --z3r--z2l--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % left and right diagonals
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--z3r--z2l
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals
+penpos5(alpha*bot_stem,0); z5r=whatever[z3r,z4r]; y5-.5vair=-.5d;
+if serifs: numeric light_bulb; light_bulb=hround 7/8[hair,flare]; clearpen;
+ penpos6(vair,-90); penpos7(hair,-180); penpos8(light_bulb,-180);
+ x6=2u; y6r=-d-oo; y8-.5light_bulb=-.85d; x8r=hround .35u;
+ fill stroke z3e---z5e...{left}z6e; bulb(6,7,8); % arc and bulb
+ numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+jut+.5u+1<=lft x4'l-jut: inner_jut=jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % right serif
+else: penpos6(bot_vair,-90); x6=2.5u; y6r=-d-oo;
+ fill stroke z3e---z5e...{left}z6e; % arc
+ pickup fine.nib; pos6'(bot_vair,-90); z6'=z6;
+ pos7(2/3[bot_vair,flare],-85);
+ lft x7l=hround u; bot y7r=vround-.96d-oo; y7l:=good.y y7l;
+ filldraw stroke term.e(6',7,left,1,4); fi % arc and terminal
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter ef";
+beginchar(CYR_ef,12u#,x_height#+desc_depth#,desc_depth#);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+if odd(w-stem): change_width; fi
+top y1=h if serifs: +min(oo,serif_drop) fi;
+x1=x2=.5w; bot y2=-d;
+penpos3(cap_band,180);penpos3'(cap_band,0);
+penpos4(cap_band,90); penpos5(curve,0);
+penpos6(.5[vair,cap_band],-90);
+penpos7(.5[vair,cap_band],180); penpos7'(.5[vair,cap_band],0);
+penpos8(cap_band,90); penpos9(curve,180);
+penpos10(.5[vair,cap_band],270);
+x3l=x7l=rt x1r; x3'l=x7'l=lft x1l;
+y4r=y8r=x_height+oo; y5=y9=.5[y4l,y6l];
+x4r=x6r=.5[x1,x5]; x8r=x10r=.5[x9,x1];
+x5r=w-x9r=w-.5u;
+y7=y7'=.25x_height; y3=y3'=x_height-y7; y6r=y10r=-oo;
+filldraw stroke z1e--z2e; % stem
+fill stroke z3e{up}..pulled_arc.e(4,5) & pulled_arc.e(5,6)..{up}z7e;
+fill stroke z3'e{up}..pulled_arc.e(8,9) & pulled_arc.e(9,10)..{up}z7'e; % lobe
+if serifs:
+ sloped_serif.l(1,2,a,1/3,jut,.1h); % upper serif
+ dish_serif(2,1,b,1/3,jut,c,1/3,jut); fi % lower serif
+penlabels(0,1,2,3,3',4,5,6,7,7',8,9,10); endchar;
+
+cmchar "The cyrillic letter ha";
+beginchar(CYR_ha,if serifs:9.5u# else:9u# fi,x_height#,0);
+italcorr x_height#*slant-.05u#;
+adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
+numeric stem[],outer_jut,xjut,alpha[];
+stem1=fudged.stem-4stem_corr; stem2=min(fudged.hair,stem1);
+outer_jut=.75jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi;
+x1l=l+letter_fit+.1u+outer_jut; x2r=r-letter_fit-.3u-outer_jut-xjut;
+x3l=l+letter_fit+outer_jut+xjut; x4r=r-letter_fit-outer_jut;
+y1=y2=h; y3=y4=0;
+alpha1=diag_ratio(1,stem1,h,x4r-x1l);
+alpha2=diag_ratio(1,stem2,h,x2r-x3l);
+penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0);
+penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0);
+if hefty: z0=whatever[z1,z4]=whatever[z2,z3];
+ x12=x34=x0; y13=y24=y0;
+ z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l];
+ z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r];
+ forsuffixes $=13,24,34: z$'=.2[z$,z0]; endfor
+ fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34'
+ --diag_end(34',4l,.5,1,4r,24')--z24'
+ --diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals
+else: fill diag_end(4r,1r,.5,1,1l,4l)
+ --diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal
+ fill diag_end(2l,3l,.5,1,3r,2r)
+ --diag_end(3r,2r,.5,1,2l,3l)--cycle; fi % right diagonal
+if serifs: numeric inner_jut[]; pickup tiny.nib;
+ prime_points_inside(1,4); prime_points_inside(2,3);
+ prime_points_inside(3,2); prime_points_inside(4,1);
+ if rt x1'r+jut+.5u+1<=lft x2'l-jut-xjut: inner_jut1=jut;
+ else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi
+ if rt x3'r+jut+.5u+1<=lft x4'l-jut-xjut: inner_jut2=jut;
+ else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi
+ dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif
+ dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif
+ dish_serif(2',3,e,2/3,inner_jut1+xjut,
+ f,1/2,outer_jut+xjut)(dark); % upper right serif
+ dish_serif(3',2,g,1/2,outer_jut+xjut,
+ h,2/3,inner_jut2+xjut)(dark); fi % lower left serif
+penlabels(0,1,2,3,4,12,13,24,34); endchar;
+
+cmchar "The cyrillic letter tse";
+beginchar(CYR_tse,10u#,x_height#,comma_depth#);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,c,1/3, jut,d,1/3,inner_jut); % lower left serif
+ nodish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % lower right serif
+ pickup crisp.nib; pos5(slab,90); pos6(hair,0);
+ x5=.5[x2,x4]; bot y5l=0;
+ rt x6r=tiny.rt x4r+jut; y6=good.y(y5l-.5beak)-eps;
+ arm(5,6,m,1.25beak_darkness,0); % beak
+else: pos2'(slab,90); pos4'(slab,90);
+ pos5(slab,0); pos6(slab,0);
+ lft x2'=lft x2l; rt x4'=rt x5r=rt x6r=w-.5u;
+ bot y2'l=bot y4'l=0; y5=y4; bot y6=-.75d;
+ filldraw stroke z2'e--z4'e; % lower bar
+ filldraw stroke z5e--z6e; % right beak
+fi
+penlabels(1,2,2',3,4,4',5,6); endchar;
+
+cmchar "The cyrillic letter che";
+beginchar(CYR_che,10u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+pos3(stem,0); pos4(stem,0);
+numeric light_vair; light_vair=vair-fine;
+lft x1l=hround(2.5u-.5stem); x1=x2; x3l=w-x1r; x3r=x4r;
+top y1=h; bot y4=0;
+penpos2'(stem-fine,-180); z2'=z2; y3=y1; y2=.65h;
+penpos5(light_vair,-90); penpos6(light_vair,0);
+y6=.5h; lft x6l=lft x3l; if rt x6r>rt x3r: x6r:=x3r; fi
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+pickup fine.nib; bot y5r=y6-vair-.05h; x5=.5w;
+filldraw stroke {{interim superness:=hein_super;
+ pulled_super_arc.e(2',5)(.01superpull)}}
+ & z5e{right}...z6e; % arc
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ dish_serif(4,3,g,1/3,jut,h,1/3,jut); fi % lower right serif
+penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter sha";
+beginchar(CYR_sha,15u#,x_height#,0);
+italcorr x_height#*slant-.25u#;
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+pos3(stem',0); pos4(stem',0);
+pos5(stem',0); pos6(stem',0);
+if odd(w-stem'): change_width; fi
+lft x1l=lft x2l=hround(2.5u-.5stem);
+x3=x4=.5w; x5=x6=w-x1;
+top y1=top y5=top y3=h; bot y2=bot y6=bot y4=0;
+z3=.5[z1,z5]; z4=.5[z2,z6];
+filldraw stroke z1e--z2e; % right stem
+filldraw stroke z3e--z4e; % middle stem
+filldraw stroke z5e--z6e; % left stem
+if serifs: numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,c,1/3,inner_jut,d,1/3,inner_jut); % upper middle serif
+ dish_serif(5,6,e,1/3,inner_jut,f,1/3, jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,g,1/3, jut,h,1/3, inner_jut); % lower left serif
+ nodish_serif(4,3,i,1/3,inner_jut, j,1/3,inner_jut); % lower middle serif
+ nodish_serif(6,5,k,1/3,inner_jut, l,1/3,jut); % lower right serif
+else: pos2'(slab,90); pos6'(slab,90);
+ lft x2'=lft x1l; rt x6'=rt x6r; bot y2'l=bot y6'l=0;
+ filldraw stroke z2'e--z6'e; % lower bar
+fi
+penlabels(1,2,2',3,4,5,6,6'); endchar;
+
+
+cmchar "The cyrillic letter shcha";
+beginchar(CYR_shcha,15u#,x_height#,comma_depth#);
+italcorr x_height#*slant-.25u#;
+adjust_fit(serif_fit#,serif_fit#);
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+pos3(stem',0); pos4(stem',0);
+pos5(stem',0); pos6(stem',0);
+if odd(w-stem'): change_width; fi
+lft x1l=lft x2l=hround (2.25u-.5stem);
+x3=x4=.5w; x5=x6=w-x1;
+top y1=top y5=top y3=h; bot y2=bot y6=bot y4=0;
+z3=.5[z1,z5]; z4=.5[z2,z6];
+filldraw stroke z1e--z2e; % right stem
+filldraw stroke z3e--z4e; % middle stem
+filldraw stroke z5e--z6e; % left stem
+if serifs:
+ numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,c,1/3,inner_jut,d,1/3,inner_jut); % upper middle serif
+ dish_serif(5,6,e,1/3,inner_jut,f,1/3, jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,g,1/3, jut,h,1/3, inner_jut); % lower left serif
+ nodish_serif(4,3,i,1/3,inner_jut, j,1/3,inner_jut); % lower middle serif
+ nodish_serif(6,5,k,1/3,inner_jut, l,1/3,jut); % lower right serif
+ pickup crisp.nib; pos7(slab,90); pos8(hair,0);
+ x7=.5[x4,x6]; bot y7l=0;
+ rt x8r=tiny.rt x6r+jut; y8=good.y(y7l-.5beak)-eps;
+ arm(7,8,m,1.25beak_darkness,0); % beak
+else: pos2'(slab,90); pos6'(slab,90);
+ pos7(slab,0); pos8(slab,0);
+ lft x2'=lft x1l; rt x6'=rt x7r=rt x8r=w-.5u;
+ bot y2'l=bot y6'l=0; y7=y6; bot y8=-.75d;
+ filldraw stroke z2'e--z6'e; % lower bar
+ filldraw stroke z7e--z8e; % right beak
+fi
+penlabels(1,2,2',3,4,5,6,6',7,8); endchar;
+
+cmchar "The cyrillic letter hard_sign";
+beginchar(CYR_hard_sign,10.5u#,x_height#,0);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(4u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x7r=hround(w-.5u); x8l:=x8l-.5u;
+if serifs: right_curve=curve-stem_corr; x6=.5[x1,w-u];
+else: right_curve=curve-3stem_corr; x6=.5[x1,w-1.2u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+pickup crisp.nib; pos3(slab,90); pos4(hair,180);
+top y3r=h; x3=x1; lft x4r=hround(.5u); y4=good.y(y3l-.6beak)-eps;
+arm(3,4,e,beak_darkness,-.7beak_jut); % upper arm and beak
+if serifs: nodish_serif(1,2,a,0,jut,b,1/3,jut); % upper serif
+nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); fi % lower serif
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter yeru";
+beginchar(CYR_yeru,13u#,x_height#,0);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(2.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+pos3(stem,0); pos4(stem,0); x3=x4=w-x1; top y3=h; bot y4=0;
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6ltop
+:=x6-.25u; x8l:=x8l-.5u;
+x7r=if serifs: tiny.lft x3l-jut; else: 8.5u; fi
+if serifs: right_curve=curve-stem_corr; x6=.5[x1,w-4.5u];
+else: right_curve=curve-3stem_corr; x6=.5[x1,w-5.2u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+filldraw stroke z3e--z4e; % right stem
+if serifs: dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper left serif
+nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); % lower left serif
+dish_serif(3,4,e,1/3,1.05jut,f,1/3,1.05jut); % upper right serif
+dish_serif(4,3,g,1/3,1.05jut,h,1/3,1.05jut); fi % lower right serif
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter soft_sign";
+beginchar(CYR_soft_sign,9u#,x_height#,0);
+italcorr .75x_height#*slant-.5u#;
+adjust_fit(serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround(2.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x7r=hround(w-.5u); x8l:=x8l-.5u;
+if serifs: right_curve=curve-stem_corr; x6=.5[x1,w-u];
+else: right_curve=curve-3stem_corr; x6=.5[x1,w-1.2u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+if serifs: dish_serif(1,2,a,1/3,jut,b,1/3,jut); % upper serif
+nodish_serif(2,1,c,1/3,jut,d,1/3,.5jut); fi % lower serif
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter e";
+beginchar(CYR_e,8u#,x_height#,0);
+italcorr x_height#*slant-.2u#;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+pickup fine.nib;
+pos2(cap_band,90); pos4(vair',270); pos3(curve,0);
+x2=x4=.5(w-u); top y2r=h+oo; bot y4r=-oo;
+rt x3r=w-hround min(.6u,1.35u-.5curve); y3=.5h;
+if serifs: pos1(hair,180);
+ lft x1r=u; bot y1=min(vround .7h,bot y2l-eps);
+ pos5(hair,180); lft x5r=hround(.5u);
+ y5=max(good.y(.5bar_height-.9),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=max(x,x4l-.5u);
+ filldraw stroke z1e{up}
+ ..pulled_super_arc.e(2,3)(superpull)%(.7superpull)
+ & pulled_super_arc.e(3,4)(superpull)%(.5superpull)
+ ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e; % arc and lower terminal
+ pos6(.3[fine.breadth,hair],180); x6r=x1r; top y6=h+o;
+ x1'-x1r=1.5curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x1-x2,10(y2-y1)}..z2{right};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: pos1(4/7[vair',flare],110);
+ lft x1r=hround(.6u);
+ top y1r=vround .82[bar_height,top y2r];
+ filldraw stroke term.e(2,1,left,.8,4); % upper terminal
+ pos5(.6[vair',flare],265); lft x5r=hround(.5u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ forsuffixes e=l,r: path p.e; p.e=z4e{left}..tension .9 and 1..z5e;
+ if angle direction 1 of p.e<105:
+ p.e:=z4e{left}..tension atleast.9 and 1..{dir 105}z5e; fi endfor
+ filldraw stroke pulled_super_arc.e(2,3)(.5superpull)
+ & pulled_super_arc.e(3,4)(.7superpull) & p.e; fi % arc and lower terminal
+penpos7(bar,90); penpos8(bar,90);
+x7=lft x3l; x8=.5w-1.5u;
+y7=y8=.5h;
+fill stroke z7e--z8e; % bar
+penlabels(0,1,2,3,4,5); endchar;
+
+cmchar "The cyrillic letter yu";
+beginchar(CYR_yu,13.5u#,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2.5u#+min(.5stem#,u#);
+adjust_fit(serif_fit#,if monospace: .5u# else: 0 fi);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+penpos5(vair,90); penpos7(vair',-90);
+penpos6(curve,180); penpos8(curve,0);
+x5=x7=.5[x6,x8]; y5r=h+oo; y7r=-oo;
+x8r=hround(w-.5u); x6r=hround(w-8.5u);
+y6=y8=.5h-vair_corr; y6l:=y8l:=.52h;
+penstroke pulled_arc.e(5,6) & pulled_arc.e(6,7)
+ & pulled_arc.e(7,8) & pulled_arc.e(8,5) & cycle; % bowl
+penpos3(bar,90); penpos4(bar,90); x3=x1; x4=x6; y3=y4=.52h;
+fill stroke z3e--z4e; % bar
+if serifs: numeric inner_jut; inner_jut=jut;
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); fi % lower left serif
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter ya";
+beginchar(CYR_ya,8u#+.5max(2u#,curve#),x_height#,0);
+italcorr .75cap_height#*slant- if serifs: 1.75 else: .5 fi\\ u#;
+adjust_fit(0,serif_fit#);
+pickup tiny.nib; pos1(stem',0); pos2(stem',0);
+rt x1r=rt x2r=w-hround(2.5u-.5stem'); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(curve if hefty:-3stem_corr fi,180);
+penpos6(vair,-90); penpos7(vair,-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7; x7=x2; y7=.5h; x4=x6;
+if serifs: x4=.5w+.5u; x5r=hround(1.5u);
+else: x4=.5w-.5u; x5r=hround(.75u); fi
+x4l:=x6l:=x4+.125curve;
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+pos6'(curve,0); pos8(curve,0); x6'r=x6l; y6'=y6;
+tiny.lft x8l=.5u+.5jut; bot y8=0;
+filldraw stroke z6'e--z8e; % diagonal stem
+if serifs: numeric inner_jut;
+ if rt x8r+u+1<=lft x2l-jut: inner_jut=jut;
+ else: lft x2l-u-1=rt x8r+inner_jut; fi
+ nodish_serif(1,2,a,1/3,.5jut,b,1/3,jut); % upper serif
+ dish_serif(2,1,c,1/3,inner_jut,d,1/3,jut); % lower serif
+ serif(8,6',e,1/3,-.5jut); fi % lower diagonal serif
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
diff --git a/fonts/cyrillic/scyrillic/cyrsymb.mf b/fonts/cyrillic/scyrillic/cyrsymb.mf
new file mode 100644
index 0000000000..b8bda8a4dd
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cyrsymb.mf
@@ -0,0 +1,93 @@
+cmchar "open cyrillic quote (looks like <<)";
+beginchar(oct"035",10u#,x_height#,0);
+adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup rule.nib;
+lft x2=hround u-epsilon; x1=x3=.55w;
+y1=h; y3=0; y2=.5[y1,y3];
+draw z1--z2--z3; % left diagonals
+x4=w-x2; y4=.9[y3,y1]; y6=.1[y3,y1];
+x5-x2=x6-x3=x4-x1; y5=y2;
+draw z4--z5--z6; % right diagonals
+z2'=z2; x2':=x2-.625rule_thickness;
+z5'=z5; x5':=x5+.625rule_thickness;
+draw z1--z2'--z3; % left diagonals
+draw z4--z5'--z6; % right diagonals
+labels(1,2,3,4,5,6); endchar;
+
+cmchar "close cyrillic quote (looks like >>)";
+beginchar(oct"036",10u#,x_height#,0);
+adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup rule.nib;
+lft x2=.55w; x1=x3=hround u-epsilon;
+y1=.9h; y3=.1h; y2=.5[y1,y3];
+y4=h; y6=0; y5=.5[y4,y6];
+draw z1--z2--z3; % left diagonals
+x4=w-x2;
+x5-x2=x6-x3=x4-x1;
+draw z4--z5--z6; % right diagonals
+z2'=z2; x2':=x2-.625rule_thickness;
+z5'=z5; x5':=x5+.625rule_thickness;
+draw z1--z2'--z3; % left diagonals
+draw z4--z5'--z6; % right diagonals
+labels(1,2,3,4,5,6);
+endchar;
+
+cmchar "The number mark";
+beginchar(oct"031",17u#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric thin_stem,letter_w,light_bulb; letter_w=14u;
+thin_stem=hround(fudged.hair+stem_corr);
+pickup tiny.nib; pos1(thin_stem,0); pos2(thin_stem,0);
+pos3(thin_stem,0); pos4(thin_stem,0);
+top y1=h; bot y4=0;
+if serifs: top y3=h-bot y2=.9h; else: top y3=h; bot y2=0; fi
+x1=x2; x3=x4; x1l=letter_w-x3r;
+rt x3r=hround min(letter_w-3u,letter_w-4u+.5fudged.cap_stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if hefty: penpos5(fudged.cap_stem,0); penpos6(fudged.cap_stem,0);
+ x5l=x1; x6r=x4; y5=h; y6=0;
+ numeric upper_notch,lower_notch;
+ upper_notch=h-cap_notch_cut; lower_notch=cap_notch_cut;
+ x1'=rt x1r; z1'=whatever[z5l,z6l]; x4'=lft x4l; z4'=whatever[z5r,z6r];
+ fill z5l..
+ if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y4'>lower_notch: {left}(x4'-1,lower_notch){up}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,0); penpos6(whatever,90);
+ z5l=z1l; z6l=z4l;
+ z7=z6l+(max(eps,cap_stem-3stem_corr-tiny),0) rotated (angle(z5l-z6l)-90);
+ z5r=z7+whatever*(z5l-z6l); z6r=z7+whatever*(z5l-z6l);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: serif(5,6,a,1/3,-cap_jut); % upper left serif
+ light_bulb=hround 7/8[cap_hair,flare];
+ z2'r=(tiny.rt x2r,y2); z2'l=(tiny.lft x2l,y2);
+ z3'l=(tiny.rt x3r,y3); z3'r=(tiny.lft x3l,y3);
+ penpos8(vair,-90); penpos9(cap_hair,-180); penpos10(light_bulb,-180);
+ penpos11(vair,90); penpos12(cap_hair,0); penpos13(light_bulb,0);
+ x8=x1-1.25u; x11=letter_w-x8;
+ x10r=hround .5u; x13r=hround(letter_w-.5u);
+ if monospace: y10=u; y11=h-y8=h;
+ else: y10=2u-min(.5light_bulb,.5u); top y11r=h+o; bot y8r=-o; fi
+ y13=h-y10;
+ fill stroke z2'e{down}...{left}z8e;
+ fill stroke z3'e{up}...{right}z11e; % upper and lower arcs
+ clearpen;
+ bulb(8,9,10); bulb(11,12,13); fi % upper and lower bulbs
+numeric thick_hair; thick_hair=max(hair,.75stem);
+penpos14(vair,90); penpos16(vair,-90);
+penpos15(thick_hair,180); penpos17(thick_hair,0);
+interim superness:=sqrt(more_super*hein_super);
+if monospace: x15=hround(w-4.5u); rt x17r=hround(w-.5u);
+ else: x15=hround(w-4u); rt x17r=hround(w-.5u); fi
+x14=x16=.5[x15,x17]; y14r=h-y16r=.7h; y15=y17=.5[y14,y16];
+if x17l<=x15l+10: x15l:=x15r+vair; x17l:=x17r-vair; fi
+penstroke pulled_arc.e(14,15) & pulled_arc.e(15,16)
+ & pulled_arc.e(16,17) & pulled_arc.e(17,14) & cycle; % bowl
+pickup crisp.nib; pos18(thick_hair,90); pos19(thick_hair,90);
+bot y18l=bot y19l=.075h; rt x19=x17r; lft x18=x15r;
+filldraw stroke z18e--z19e; % bar
+math_fit(0,max(.5ic#-.5u#,0));
+penlabels(1,1',2,3,4,4',5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
diff --git a/fonts/cyrillic/scyrillic/cyru.mf b/fonts/cyrillic/scyrillic/cyru.mf
new file mode 100644
index 0000000000..99d5b076d6
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cyru.mf
@@ -0,0 +1,1027 @@
+cmchar "The cyrillic letter A";
+beginchar(CYR_A,13u#,cap_height#,0);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric left_stem,right_stem,outer_jut,alpha;
+right_stem=cap_stem-stem_corr;
+left_stem=min(cap_hair if hefty: -3stem_corr fi,right_stem);
+outer_jut=.8cap_jut; x1l=w-x4r=l+letter_fit+outer_jut+.5u; y1=y4=0;
+x2-x1=x4-x3; x3r=x2r+apex_corr; y2=y3=h+apex_o+apex_oo;
+alpha=diag_ratio(2,left_stem,y2-y1,x4r-x1l-apex_corr);
+penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+z0=whatever[z1r,z2r]=whatever[z3l,z4l];
+if y0<h-cap_notch_cut: y0:=h-cap_notch_cut;
+ fill z0+.5right{down}...{z4-z3}diag_end(3l,4l,1,1,4r,3r)
+ --diag_end(4r,3r,1,1,2l,1l)--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{up}z0+.5left--cycle; % left and right diagonals
+else: fill z0--diag_end(0,4l,1,1,4r,3r)--diag_end(4r,3r,1,1,2l,1l)
+ --diag_end(2l,1l,1,1,1r,0)--cycle; fi % left and right diagonals
+penpos5(whatever,angle(z2-z1)); z5=whatever[z1,z2];
+penpos6(whatever,angle(z3-z4)); z6=whatever[z3,z4]; y6=y5;
+if hefty: y5r else: y5 fi =5/12y0;
+y5r-y5l=y6r-y6l=cap_band; penstroke z5e--z6e; % bar line
+if serifs: numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/2,outer_jut,b,.6,inner_jut)(dark); % left serif
+ dish_serif(4',3,c,1/2,inner_jut,d,1/3,outer_jut); fi % right serif
+penlabels(0,1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter BE";
+beginchar(CYR_BE,12.5u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve;
+left_stem=cap_stem-hround 2stem_corr;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x8=x6; x5=x1; x6l:=x6-.25u; x7r=hround(w-u); x8l:=x8l-.5u;
+if serifs: right_curve=cap_curve-stem_corr; x6=.5[x1,w-1.8u];
+else: right_curve=cap_curve-3stem_corr; x6=.5[x1,w-1.5u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-2u); y4=good.y(y3l-.8beak)-eps;
+arm(3,4,e,beak_darkness,.9beak_jut); % upper arm and beak
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter VE";
+beginchar(CYR_VE,12.5u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos6(middle_weight,-90); penpos7(middle_weight,-90);
+penpos8(middle_weight,90); penpos9(middle_weight,90);
+penpos5(right_curve-stem_corr,0); penpos10(right_curve,0);
+penpos11(cap_band,-90); penpos12(cap_band,-90);
+z3r=top z1; y4=y3; y5=.5[y4,y6]; y6=y7; y7l-y8l=vair;
+z12r=bot z2; y11=y12; y10=.5[y11,y9]; y8=y9; .5[y7l,y8l]=.52h;
+x4=x6; x9=x11=x4+.5u; x7=x8=x1; x9l:=x4+.25u;
+x5r=hround(w-1.5u); x10r=hround(w-u);
+if serifs: right_curve=cap_curve-stem_corr; x4=.5[x1,w-1.5u];
+else: right_curve=cap_curve-3stem_corr; x4=.5[x1,w-2.5u];
+ x4l:=x4l-.5u; x9l:=x9l-.5u; fi
+x6l:=x6l-.5u; x11l:=x11l-.5u;
+fill stroke z3e..super_arc.e(4,5) & super_arc.e(5,6)..z7e; % upper lobe
+fill stroke z8e..super_arc.e(9,10) & super_arc.e(10,11)..z12e; % lower lobe
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+cmchar "The cyrillic letter GHE";
+beginchar(CYR_GHE,11.5u#-width_adj#,cap_height#,0);
+italcorr cap_height#*slant-beak_jut#-.25u#;
+adjust_fit(cap_serif_fit#,0);
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.75u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,1.25cap_jut); fi % lower serif
+math_fit(0,ic#-2.5u#); penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter DE";
+beginchar(CYR_DE,13u#,cap_height#,comma_depth#);
+italcorr cap_height#*slant-cap_serif_fit#
+ +.75cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(0,cap_serif_fit#);
+pickup tiny.nib; numeric thin_stem;
+thin_stem=if monospace: cap_stem-tiny
+ else: min(cap_hair,cap_stem-1.5tiny) fi;
+if serifs: penpos1(thin_stem,0); penpos2(thin_stem,0);
+penpos0(thin_stem,0); x2=.5[hround .5u,x1];
+else: penpos1(thin_stem,0); penpos2(thin_stem,0);
+penpos0(thin_stem,0); x2=.5u+cap_stem; fi
+pos3(cap_stem,0); pos4(cap_stem,0);
+x1l=x0l=.33w; top y1=h; y0=.75h; bot y2=0;
+rt x3r=rt x4r=hround(w-2u); top y3=h; bot y4=0;
+filldraw stroke z3e--z4e;
+filldraw stroke z1e--z0e{down}..z2e; % stem and arc
+if serifs: pickup crisp.nib; numeric inner_jut, newbracket;
+ newbracket:=max(1.5,bracket); inner_jut:=.5(x3l-x1r);
+ path p[]; p1=z1{down}...z2;
+ p12=(0,y1-newbracket)--(w,y1-newbracket);
+ p21=(0,y2+newbracket)--(w,y2+newbracket);
+ z12=p1 intersectionpoint p12; z21=p1 intersectionpoint p21;
+ nodish_serif(1,12,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(3,4,c,1/3,inner_jut,d,1/3,cap_jut); % upper right serif
+ inner_jut:=.5(x4l-x2r);
+ nodish_serif(2,21,e,1/3,cap_jut,f,1/3,inner_jut); % middle left serif
+ nodish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % middle right serif
+ pickup crisp.nib;
+ pos5(slab,90); pos6(cap_hair,180); pos7(cap_hair,0);
+ x5=.5[x2,x4]; bot y5l=0;
+ rt x7r=tiny.rt x4r+cap_jut; lft x6r=tiny.lft x2l-cap_jut;
+ y6=y7=good.y(y5l-.5beak)-eps;
+ arm(5,6,m,1.25beak_darkness,0); % left beak
+ arm(5,7,n,1.25beak_darkness,0); % right beak
+else:
+ pos1'(slab,90); pos3'(slab,90);
+ pos6(slab,90); pos7(slab,90);
+ pos6'(stem,0); pos7'(stem,0);
+ pos8(stem,0); pos9(stem,0);
+ lft x1'=lft x1l; rt x3'=rt x3r; top y1'r=top y3'r=h;
+ lft x6=lft x6'l=lft x8l=.5u; rt x7=rt x7'r=rt x9r=w-.5u;
+ bot y6l=bot y7l=0; y6'=y7'=y6; bot y8=bot y9=-.8d;
+ filldraw stroke z1'e--z3'e; % upper bar
+ filldraw stroke z6e--z7e; % lower bar
+ filldraw stroke z6'e--z8e; % left beak
+ filldraw stroke z7'e--z9e; % right beak
+fi
+math_fit(0,.5ic#-.5u#);
+penlabels(0,1,1',2,3,3',4,5,6,7,8,9,12,21); endchar;
+
+cmchar "The cyrillic letter IE";
+beginchar(CYR_IE,12u#-width_adj#,cap_height#,0);
+italcorr cap_height#*slant-beak_jut#-.5u#;
+adjust_fit(cap_serif_fit#,0);
+h:=vround(h-stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+pos5(cap_bar,-90); pos6(hair,0);
+top y5l=vround(.52[y2,y1]+.5cap_bar); x5=x1;
+pos0(cap_bar,90); pos7(hair,0);
+z0=z5; x6=x7; y6-y5l=y0l-y7;
+if serifs: rt x6r=hround(w-4.4u+.5hair); y6=good.y(y5l+.6beak)+eps;
+ rt x9r=hround(w-.5u);
+else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u); fi
+arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif
+pos8(slab if not serifs:+2stem_corr fi,-90); pos9(hair,0);
+bot y8r=0; x8=x2; y9=good.y(y8l+7/6beak)+eps;
+arm(8,9,h,beak_darkness,1.5beak_jut); % lower arm and beak
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter YE";
+numeric dot_diam#,dot_diam;
+dot_diam#=max(dot_size#,cap_curve#);
+beginchar(CYR_YE,12u#-width_adj#,1.3cap_height#,0);
+dot_diam=max(tiny.breadth,hround(max(dot_size,cap_curve)-2stem_corr));
+italcorr cap_height#*slant-beak_jut#-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric letter_h; letter_h=cap_height;
+letter_h:=vround(letter_h-stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=letter_h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=letter_h; x3=x1; rt x4r=hround(w-u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,beak_jut); % upper arm and beak
+pos5(cap_bar,-90); pos6(hair,0);
+top y5l=vround(.52[y2,y1]+.5cap_bar); x5=x1;
+pos0(cap_bar,90); pos7(hair,0);
+z0=z5; x6=x7; y6-y5l=y0l-y7;
+if serifs: rt x6r=hround(w-4.4u+.5hair); y6=good.y(y5l+.6beak)+eps;
+ rt x9r=hround(w-.5u);
+else: rt x6r=hround(w-1.5u); y6=y5l+eps; rt x9r=hround(w-.75u); fi
+arm(5,6,f,beak_darkness,0); arm(0,7,g,beak_darkness,0); % middle arm and serif
+pos8(slab if not serifs:+2stem_corr fi,-90); pos9(hair,0);
+bot y8r=0; x8=x2; y9=good.y(y8l+7/6beak)+eps;
+arm(8,9,h,beak_darkness,1.5beak_jut); % lower arm and beak
+if serifs: nodish_serif(1,2,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+pos10(dot_diam,0); pos11(dot_diam,90);
+x10=x11=3.5u; top y11r=h+1;
+if bot y11l<letter_h+o+slab: y11l:=min(y11r-eps,letter_h+o+slab+.5tiny); fi
+y10=.5[y11l,y11r]; dot(10,11); % left dot
+pos12(dot_diam,0); penpos13(y11r-y11l,90); y12=y13=y10; x12=x13=w-x10;
+dot(12,13); % right dot
+math_fit(0,.5ic#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
+
+cmchar "The cyrillic letter ZHE";
+beginchar(CYR_ZHE,21u#,cap_height#,0);
+italcorr cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6cap_jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.cap_stem,0); pos2(fudged.cap_stem,0);
+x1=x2=.5w; top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem2=max(tiny.breadth,fudged.cap_stem-3stem_corr);
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+rt x3r=w-lft x7l=hround(r-letter_fit-u-right_jut);
+rt x6r=w-lft x9l=hround(r-letter_fit-.75u-right_jut);
+top y3=top y7=h; bot y6=bot y9=0; x4=x4'=x1; y4=y4'=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+penpos7(alpha1*(stem1-tiny),0);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0); penpos9(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=y7'$=h; y6'$=y9'$=0;
+ z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4];
+ x8$=w-x5$; y8$=y5$; endfor
+z5=.5[z5l,z5r]; z8=.5[z8l,z8r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+x7'r=w-x3'r; x7'l=w-x3'l; x9'r=w-x6'r; x9'l=w-x6'l;
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % right upper diagonal
+fill z4r--diag_end(4r,7'r,1,.5,7'l,4l)--z4l--cycle; % left upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % right lower diagonal
+fill z8l--diag_end(8l,9'l,.5,1,9'r,8r)--z8r--cycle; % left lower diagonal
+if serifs: numeric inner_jut;
+ if rt x2r+cap_jut+.5u+1<=lft x6l-cap_jut: inner_jut=cap_jut;
+ else: rt x2r+cap_jut+.5u+1=lft x6l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper stem serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower stem serif
+ dish_serif(3,4,e,2/3,1.2cap_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark); % lower diagonal serif
+ dish_serif(7,4,i,1/2,right_jut,j,2/3,1.2cap_jut)(dark); % upper diagonal seri
+ dish_serif(9,8,k,1/3,right_jut,l,1/2,inner_jut)(dark);fi % lower diagonal seri
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter ZE";
+beginchar(CYR_ZE,11u#,cap_height#,0);
+italcorr cap_height#*slant-.5u#;
+adjust_fit(0,0);pickup fine.nib;
+if serifs: pos1(cap_hair,180); pos2(cap_band,90);
+ pos3(max(fine.breadth,cap_curve-stem_corr),0); pos4(vair',270);
+ lft x1r=1.5u; top y2r=h+o;
+ bot y1=min(vround .7h,bot y2l-eps); rt x3r=hround(w-u);
+ pos7(cap_bar,-90); pos8(cap_bar,-90);
+ pos9(max(fine.breadth,vround 2/3cap_bar),90); pos10(cap_curve,0);
+ x9=.5w-.75u; x2=x4=.5w; bot y4r=-o;
+ rt x10r=w-.5u; lft x8=min(hround 5u,lft x9)-eps;
+ y3=.5[top y7l,bot y2l]; y10=.5[bot y9l,top y4l];
+ top y8l=vround(.54h+.5vair); y8r=y9l;
+ x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+ pos5(cap_hair,180); lft x5r=hround(u);
+ y5=max(good.y(.6bar_height),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=max(x,x4l-.5u);
+ interim superness:=more_super;
+ filldraw stroke z1e{up}
+ ... pulled_super_arc.e(2,3)(.5superpull)
+ & z3e{down}...z7e---z8e; % upper bowl
+% filldraw z8r--z9l--z9r--z8l---cycle; % middle tip
+ filldraw stroke pulled_super_arc.e(9,10)(.5superpull)
+ & pulled_super_arc.e(10,4)(.5superpull)
+ ..z5e; % arc and lower terminal
+ pos6(.3[fine.breadth,cap_hair],180); x6r=x1r; top y6=h+o;
+ x1'-x1r=1.5cap_curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x1-x2,10(y2-y1)}..z2{right};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: pos1(1.2flare,100); pos2(slab,90);
+ pos3(cap_curve,0); pos4(slab,-90); pos5(flare,-95);
+ rt x1r=hround(1.1u); x2=.5w; x4=.45[x1,x10]; x9=.5w-u;
+ rt x3r=hround w-max(u,2u-.5cap_curve); rt x5r=hround(.9u);
+ top y1r=vround .9h+o; top y2r=h+o; y3=.5[y7,y2];
+ bot y4r=-o; bot y5r=vround .15h-o; y5l:=good.y y5l; x5l:=good.x x5l;
+ pos7(vair,-90); pos8(vair,-90);
+ pos9(max(fine.breadth,vround 2/3vair),90); pos10(cap_curve,0);
+ rt x10r=hround(w-.75u); lft x8=min(hround 5u,lft x9)-eps;
+ y10=.5[y9,y4]; top y8l=vround(.54h+.5vair); y8r=y9l;
+ x7=1/3[x8,x3l]; z7=z8+whatever*(150u,h);
+ filldraw stroke rterm.e(2,1,left,.9,4) & super_arc.e(2,3)
+ & pulled_arc.e(3,8); % upper bowl
+ filldraw stroke pulled_arc.e(9,10)
+ & super_arc.e(10,4) & term.e(4,5,left,.8,4); fi % lower bowl
+penlabels(1,1',2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "The cyrillic letter I";
+beginchar(CYR_I,13u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+top y1=top y3=h; bot y2=bot y4=0;
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround min(w-2u,w-3u+.5fudged.cap_stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: y5=h-y6=.1h;
+ else: bot y5l=h-top y6r=0; fi
+x5=rt x2r; x6=lft x3l;
+if hefty: numeric upper_notch,lower_notch,alpha;
+ alpha=if monospace: 100 else: 90 fi;
+ upper_notch=h-cap_notch_cut; lower_notch=cap_notch_cut;
+ penpos5(1.5cap_stem,alpha); penpos6(1.5cap_stem,alpha);
+ x2'=rt x2r; z2'=whatever[z6r,z5r]; x3'=lft x3l; z3'=whatever[z5l,z6l];
+ fill z5l..
+ if y2'<lower_notch: {right}(x2'+1,lower_notch){up}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y3'>upper_notch: {left}(x3'-1,upper_notch){down}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,90); penpos6(whatever,90);
+ z7=z6l-(cap_hair,0) rotated (angle(z5-z6)-90);
+ z5r=z7+whatever*(z5-z6); z6r=z7+whatever*(z5-z6);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); fi % lower left serif
+math_fit(0,max(.5ic#-.5u#,0));
+penlabels(1,2,2',3,3',4,5,6,7); endchar;
+
+cmchar "The cyrillic letter SHORT I";
+beginchar(CYR_SHORT_I,13u#+width_adj#,1.3cap_height#,0);
+italcorr 1.3cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+pos3(cap_stem',0); pos4(cap_stem',0);
+pickup tiny.nib; top y1=top y3=cap_height; bot y2=bot y4=0;
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround min(w-2u,w-3u+.5fudged.cap_stem);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: y5=cap_height-y6=.12cap_height;
+ else: bot y5l=cap_height-top y6r=0; fi
+x5=rt x2r; x6=lft x3l;
+if hefty: numeric upper_notch,lower_notch,alpha;
+ alpha=if monospace: 100 else: 90 fi;
+ upper_notch=cap_height-cap_notch_cut; lower_notch=cap_notch_cut;
+ penpos5(1.5cap_stem,alpha); penpos6(1.5cap_stem,alpha);
+ x2'=rt x2r; z2'=whatever[z6r,z5r]; x3'=lft x3l; z3'=whatever[z5l,z6l];
+ fill z5l..
+ if y2'<lower_notch: {right}(x2'+1,lower_notch){up}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)--z6r..
+ if y3'>upper_notch: {left}(x3'-1,upper_notch){down}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonal
+else: penpos5(whatever,90); penpos6(whatever,90);
+ z6'=z6l-(cap_hair,0) rotated (angle(z5-z6)-90);
+ z5r=z6'+whatever*(z5-z6); z6r=z6'+whatever*(z5-z6);
+ filldraw stroke z5e..z6e; fi % diagonal
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper right serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % lower right serif
+ if monospace: penpos7(.25vair,-90);
+ else: penpos7(vair,-90); fi
+ penpos8(.7vair,-180); penpos9(.75flare,-180);
+ penpos10(.7vair,0); penpos11(.75flare,0);
+ x7=.5[x8,x10]; bot y7r=.85h;
+ x8=.5w-2u; x10=w-x8; y8=y11=.95h;
+ bulb(7,8,9); % left bulb
+ bulb(7,10,11); % right bulb
+else: pickup fine.nib; penpos7(.75vair,-90);
+ penpos8(.75vair,-180); penpos10(.75vair,0);
+ x7=.5[x8,x10]; y7=.9h;
+ x8r=x1r; x10r=x3l; top y8=top y10=h;
+ filldraw stroke z8e...z7e...z10e;
+fi
+math_fit(0,max(.5ic#-.5u#,0));
+penlabels(1,2,2',3,3',4,5,6,7,8,9,10,11); endchar;
+
+cmchar "The cyrillic letter KA";
+beginchar(CYR_KA,13.5u#,cap_height#,0);
+italcorr cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric right_jut,stem[],alpha[];
+if serifs: right_jut=.6cap_jut;
+else: right_jut=.4tiny; fi
+pickup tiny.nib; pos1(fudged.cap_stem,0); pos2(fudged.cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5fudged.cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+stem2=max(tiny.breadth,fudged.cap_stem-3stem_corr);
+stem1=max(tiny.breadth,fudged.hair if hefty:-3stem_corr fi);
+top y3=h; rt x3r=hround(r-letter_fit-u-right_jut);
+bot y6=0; rt x6r=hround(r-letter_fit-.75u-right_jut);
+x4=x1; y4=1/3h;
+alpha1=diag_ratio(1,.5(stem1-tiny),y3-y4,x3r-x4);
+penpos3(alpha1*(stem1-tiny),0); penpos4(whatever,-90);
+alpha2=diag_ratio(1,.5(stem2-tiny),y1-y6,x6r-x1);
+penpos6(alpha2*(stem2-tiny),0);
+forsuffixes $=l,r: y3'$=h; y6'$=0; z4$=z3'$+whatever*(z3-z4);
+ z5$=z6'$+whatever*(z1-z6)=whatever[z3,z4]; endfor
+z5=.5[z5l,z5r];
+z3'r=z3r+penoffset z3-z4 of currentpen+whatever*(z3-z4);
+% we have also |z3'l=z3l+penoffset z4-z3 of currentpen+whatever*(z3-z4)|;\]
+z6'r=z6r+penoffset z1-z6 of currentpen+whatever*(z1-z6);
+z6'l=z6l+penoffset z6-z1 of currentpen+whatever*(z1-z6);
+fill z4r--diag_end(4r,3'r,1,.5,3'l,4l)--z4l--cycle; % upper diagonal
+fill z5l--diag_end(5l,6'l,.5,1,6'r,5r)--z5r--cycle; % lower diagonal
+if serifs: numeric inner_jut;
+ if rt x2r+cap_jut+.5u+1<=lft x6l-cap_jut: inner_jut=cap_jut;
+ else: rt x2r+cap_jut+.5u+1=lft x6l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper stem serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower stem serif
+ dish_serif(3,4,e,2/3,1.2cap_jut,f,1/2,right_jut)(dark); % upper diagonal serif
+ dish_serif(6,5,g,1/2,inner_jut,h,1/3,right_jut)(dark);fi % lower diagonal serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter EL";
+beginchar(CYR_EL,13u#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#
+ +.75cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(0,cap_serif_fit#);
+pickup tiny.nib; numeric thin_stem;
+thin_stem=min(1.5cap_hair,cap_stem);
+if serifs: pos1(thin_stem,0); pos12(thin_stem,0);
+else: pos1(cap_hair,0); pos12(cap_hair,0); fi
+pos5(cap_stem,0); pos6(cap_stem,0);
+x1=.33w; top y1=h; x12=x1; y12=.5h;
+rt x5r=rt x6r=hround(w-3u+.5cap_stem); top y5=h; bot y6=0;
+filldraw stroke z5e--z6e; % right stem
+if serifs: numeric inner_jut;
+ inner_jut:=.5(x5l-x1r);
+ pos2(thin_stem,-90); pos3(thin_stem,-180);
+ pos4(1.2flare,-180);
+ bot y2r=-o; x2=.38[x4,x1]; y4=.15h; rt x4l=hround 2.5u; z4r=z3r;
+ bulb(2,3,4); % bulb
+ filldraw stroke z2e{right}...{up}z12e--z1e; % left stem and arc
+ nodish_serif(1,12,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(5,6,g,1/3,inner_jut,h,1/3,cap_jut); % upper right serif
+ dish_serif(6,5,e,1/3,cap_jut,f,1/3,cap_jut); % lower right serif
+else: pos1'(slab,90); pos5'(slab,90);
+ pos2(cap_hair,-90); pos3(cap_hair,-90);
+ x2=.5u; x3=x2+u; bot y2r=0; bot y3r=-o;
+ lft x1'=lft x1l; rt x5'=rt x5r; top y1'r=top y5'r=h;
+ filldraw stroke z1'e--z5'e; % upper bar
+ filldraw stroke z2e...z3e{right}...{up}z12e--z1e; % stem and arc
+fi
+math_fit(0,.5ic#-.5u#);
+penlabels(1,1',2,3,4,5,5',6,7); endchar;
+
+cmchar "The cyrillic letter EM";
+beginchar(CYR_EM,16u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric stem[]; % thicknesses of the four strokes
+stem1=hround(fudged.hair+stem_corr);
+stem2=hround(fudged.cap_stem-4stem_corr);
+stem3=hround(fudged.hair-stem_corr);
+stem4=hround(fudged.cap_stem-3stem_corr);
+if stem4<stem1: stem4:=stem1; fi
+pickup tiny.nib; pos1(stem1,0); pos2(stem1,0);
+pos3(stem4,0); pos4(stem4,0);
+x1=x2; x3=x4; x1l=w-x3r; rt x3r=hround min(w-2u,w-3u+.5stem4);
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(stem2,0); penpos6(stem2,0); penpos7(stem3,0); penpos8(stem3,0);
+x5l=x1; x6l=x7l; x8=lft x3l; x6-x5=x8-x7; y5=y8=h; y6=y7;
+if hefty: y6=if monospace: vround 1/3h else: o fi;
+ numeric upper_notch,lower_notch;
+ upper_notch=h-cap_notch_cut; lower_notch=y6+cap_notch_cut;
+ x1'=rt x1r; z1'=whatever[z5l,z6l]; x3'=lft x3l; z3'=whatever[z7r,z8r];
+ z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..
+ if y1'<upper_notch: {right}(x1'+1,upper_notch){down}... fi
+ {z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ if y3'<upper_notch: ...{up}(x3'-1,upper_notch){right} fi
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}
+ if y0<=lower_notch: ..{z7-z8}z0{z5-z6}..
+ else: ...{down}(x0+.5,lower_notch)--(x0-.5,lower_notch){up}... fi
+ {z5-z6}diag_in(6r,5r,1,5l)--cycle; % diagonals
+else: y6=0; z0=whatever[z5r,z6r]=whatever[z7l,z8l];
+ fill z5l..{z6-z5}diag_in(5l,6l,1,6r)..diag_out(7l,1,7r,8r){z8-z7}
+ ..z8r--diag_out(8r,1,8l,7l){z7-z8}..{z7-z8}z0{z5-z6}
+ ..{z5-z6}diag_in(6r,5r,1,5l)--cycle; fi % diagonals
+if serifs: serif(1,2,a,1/3,-cap_jut); % upper left serif
+ dish_serif(2,1,b,1/2,cap_jut,c,1/2,cap_jut)(dark); % lower left serif
+ serif(3,4,d,1/3,cap_jut); % upper right serif
+ dish_serif(4,3,e,1/3,cap_jut,f,1/3,cap_jut); fi % lower right serif
+math_fit(0,max(.5ic#-.5u#,0));
+penlabels(0,1,1',2,3,3',4,5,6,7,8); endchar;
+
+
+cmchar "The cyrillic letter EN";
+beginchar(CYR_EN,13u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+penpos5(cap_bar,90); penpos6(cap_bar,90);
+x5=x1; x6=x3; y5=y6=.52h;
+fill stroke z5e--z6e; % bar
+if serifs:
+ numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); fi % lower left serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter O";
+beginchar(CYR_O,14u#-width_adj#,cap_height#,0);
+italcorr .7cap_height#*slant-.5u#;
+adjust_fit(0,0);
+penpos1(vair',90); penpos3(vround(vair+1.5vair_corr),-90);
+penpos2(cap_curve,180); penpos4(cap_curve,0);
+if monospace: x2r=hround 1.5u;
+ interim superness:=sqrt superness; % make |"O"|, not |"0"|
+else: x2r=hround u; fi
+x4r=w-x2r; x1=x3=.5w; y1r=h+o; y3r=-o;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_super_arc.e(1,2)(.5superpull)
+ & pulled_super_arc.e(2,3)(.5superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ & pulled_super_arc.e(4,1)(.5superpull) & cycle; % bowl
+math_fit(-.3cap_height#*slant-.5u#,ic#-.5u#); penlabels(1,2,3,4); endchar;
+
+cmchar "The cyrillic letter PE";
+beginchar(CYR_PE,13u#+width_adj#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % lower left serif
+ inner_jut:=inner_jut+2u;
+ nodish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper left serif
+else: pos5(slab,90); pos6(slab,90);
+ lft x5=x1l; rt x6=x3r; y5r=y6r=y3;
+ filldraw stroke z5e--z6e; fi % upper bar
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter ER";
+beginchar(CYR_ER,12u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+pickup tiny.nib; penpos1(cap_stem'-tiny,0); penpos2(cap_stem-tiny,0);
+pos0(cap_stem',0); pos0'(cap_stem,0);
+lft x1l=hround max(2u,3u-.5cap_stem'); top y1=h; bot y2=0;
+x1l=x2l=x0l=x0'l; y0=y0'=y7;
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(cap_curve if hefty:-3stem_corr fi,0);
+penpos6(.5[vair,cap_band],-90); penpos7(.5[vair,cap_band],-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7;
+x7=x2; y7l=vround .5h; x4=x6=.5w+.75u; x5r=hround(w-u);
+x4l:=x6l:=x4-.25cap_curve;
+filldraw stroke z1e--z0e--z0'e--z2e; % stem
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+if serifs: nodish_serif(1,0,a,1/3,cap_jut,b,1/3,.5cap_jut); % upper serif
+ dish_serif(2,0',c,1/3,cap_jut,d,1/3,cap_jut); fi % lower serif
+math_fit(0,ic#-2.5u#); penlabels(0,1,2,3,4,5,6,7); endchar;
+
+cmchar "The cyrillic letter ES";
+if serifs: beginchar(CYR_ES,13u#,cap_height#,0);
+ italcorr cap_height#*slant-.5u#;
+ adjust_fit(0,0);
+ pickup fine.nib; pos1(cap_hair,0); pos2(cap_band,90);
+ pos3(cap_curve,180); pos4(cap_band,270); pos5(hair,360);
+ rt x1r=rt x5r=hround(w-u); lft x3r=hround u; x2=x4=.55[x3,x1];
+ top y2r=h+o; bot y4r=-o; y3=.5[y2,y4];
+ bot y1=min(vround max(.6h,x_height-.5vair),bot y2l-eps);
+ y5=max(good.y .95(h-y1),y4l+eps);
+ (x2l',y2l)=whatever[z2r,z1l]; x2l:=min(x2l',x2l+.5u);
+ (x4l',y4l)=whatever[z4r,z5l]; x4l:=min(x4l',x4l+.5u);
+ filldraw stroke z1e{x2-x1,10(y2-y1)}
+ ...pulled_arc.e(2,3) & pulled_arc.e(3,4)...{up}z5e; % arc
+ pos6(.3[fine.breadth,cap_hair],0); x6r=x1r; top y6=h+o;
+ x1r-x1'=2cap_curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x2-x1,10(y2-y1)}..z2{left};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: beginchar(CYR_ES,11.5u#,cap_height#,0);
+ italcorr cap_height#*slant-.5u#;
+ adjust_fit(0,0);
+ pickup fine.nib; pos1(1.2flare,80); pos2(slab,90);
+ pos3(cap_curve,180); pos4(slab,270); pos5(flare,275);
+ rt x1r=hround(w-1.1u); x2=x4=.5w+1.25u;
+ lft x3r=hround max(u,2u-.5cap_curve); rt x5r=hround(w-.9u);
+ top y1r=vround .95h+o; top y2r=h+o; y3=.5h;
+ bot y4r=-o; bot y5r=vround .08h-o; y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke rterm.e(2,1,right,.9,4) & super_arc.e(2,3)
+ & super_arc.e(3,4) & term.e(4,5,right,.8,4); fi % arc and terminals
+math_fit(-.3cap_height#*slant-.5u#,.5ic#);
+penlabels(1,1',2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter TE";
+beginchar(CYR_TE,13u#-width_adj#,cap_height#,0);
+italcorr cap_height#*slant-beak_jut#-.25u#;
+adjust_fit(0,0);
+h:=vround(h-2stem_corr);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround(.5w-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(slab,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.65u); y4=good.y(y3l-beak)-eps;
+arm(3,4,e,beak_darkness,.7beak_jut); % right arm and beak
+pos5(hair,180); x5=w-x4; y5=y4;
+arm(3,5,f,beak_darkness,-.7beak_jut); % left arm and beak
+if serifs: dish_serif(2,1,c,1/3,1.414cap_jut,d,1/3,1.414cap_jut); % lower serif
+ nodish_serif(1,2,a,1/3,.5cap_jut,b,1/3,.5cap_jut); fi % upper bracketing
+math_fit(-.75cap_height#*slant,ic#-2.5u#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter U";
+beginchar(CYR_U,13u#,cap_height#,0);
+italcorr cap_height#*slant+.25u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric left_stem,right_stem,bot_stem,bot_vair,outer_jut;
+left_stem=fudged.cap_stem-stem_corr;
+right_stem=fudged.hair if hefty:-2stem_corr fi;
+bot_stem=fudged.hair if hefty:-8stem_corr fi;
+bot_vair=Vround(if serifs: vair else: .5[vair,bot_stem] fi);
+outer_jut=.75cap_jut;
+x1l=w-x4r=l+letter_fit+outer_jut+.25u; y1=y4r=h; y2=y3=3.5u; x2l=x3l;
+numeric alpha,alpha[]; x9=5u; y9=bot_vair-o;
+alpha1=diag_ratio(2,bot_stem,y1-y3,x4r-x1l-apex_corr);
+alpha2=diag_ratio(1,bot_stem,y1-y9,x4r-x9);
+if alpha1<alpha2: x2l-x1l=x4r-x3r+apex_corr; alpha=alpha1;
+else: alpha=alpha2; z3l=whatever[z9,z4r-(alpha*bot_stem,0)]; fi
+penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
+alpha3=(y1++(x2l-x1l))/y1;
+penpos1(alpha3*left_stem,0); penpos2(alpha3*left_stem,0);
+z0=whatever[z1r,z2r]=z4l+whatever*(z3r-z4r);
+fill z0+.5right{up}...{z4r-z3r}diag_end(0,4l,1,1,4r,3r)
+ --z3r--z2l--diag_end(2l,1l,1,1,1r,2r){z2-z1}
+ ...{down}z0+.5left--cycle; % left and right diagonals
+penpos5(alpha*right_stem,0); z5r=whatever[z3r,z4r]; y5=.5[y3,y9];
+if serifs: numeric light_bulb;
+ light_bulb=hround 7/8[cap_hair,flare]; clearpen;
+ penpos6(vair,-90); penpos7(cap_hair,-180); penpos8(light_bulb,-180);
+ x6=4u; y6r=-o; y8+.5light_bulb=3u; x8r=hround 1.5u;
+ fill stroke z3e---z5e...{left}z6e; bulb(6,7,8); % arc and bulb
+ numeric inner_jut; pickup tiny.nib;
+ prime_points_inside(1,2); prime_points_inside(4,3);
+ if rt x1'r+cap_jut+.5u+1<=lft x4'l-cap_jut: inner_jut=cap_jut;
+ else: rt x1'r+inner_jut+.5u+1=lft x4'l-inner_jut; fi
+ dish_serif(1',2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
+ dish_serif(4',3,c,.6,inner_jut,d,1/2,outer_jut)(dark); % right serif
+else: penpos6(right_stem,-90); x6=4.75u; y6r=-o;
+ fill stroke z3e---z5e...{left}z6e; % arc
+ pickup fine.nib; pos6'(right_stem,-90); z6'=z6;
+ pos7(2/3[bot_stem,flare],-85);
+ lft x7l=hround 3.5u; bot y7r=.02h-o; y7l:=good.y y7l;
+ filldraw stroke term.e(6',7,left,1,4); fi % arc and terminal
+math_fit(0,.5ic#); penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter EF";
+beginchar(CYR_EF,14u#-width_adj#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+pickup tiny.nib; penpos1(cap_stem'-tiny,0); penpos2(cap_stem-tiny,0);
+x1=x2=.5w; top y1=h; bot y2=0;
+penpos3(cap_band,90); penpos4(cap_band,90); penpos5(curve,0);
+penpos6(.5[vair,cap_band],-90); penpos7(.5[vair,cap_band],-90);
+penpos8(cap_band,90); penpos9(curve,180);
+penpos10(.5[vair,cap_band],270);
+x3=x1; y3=y4=y8=vround .8h; y5=y9=.5[y4l,y6l];
+x7=x2; y7=vround .2h; x4r=x6r=w-x8r=w-x10r=.5w+1.75u;
+x5r=w-x9r=hround(w-.5u); y6=y10=y7;
+filldraw stroke z1e--z2e; % stem
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e;
+fill stroke z3e..pulled_arc.e(8,9) & pulled_arc.e(9,10)..z7e; % lobe
+if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper serif
+dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); fi % lower serif
+math_fit(0,ic#-2.5u#);
+penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "The cyrillic letter HA";
+beginchar(CYR_HA,13u#,cap_height#,0);
+italcorr cap_height#*slant-.25u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+numeric stem[],outer_jut,xjut,alpha[];
+stem1=cap_stem-2stem_corr; stem2=min(cap_hair,stem1);
+outer_jut=.75cap_jut; xjut= if serifs: (stem1-stem2)/4 else: 0 fi;
+x1l=l+letter_fit+.5u+outer_jut; x2r=r-letter_fit-u-outer_jut-xjut;
+x3l=l+letter_fit+.25u+outer_jut+xjut; x4r=r-letter_fit-.25u-outer_jut;
+y1=y2=h; y3=y4=0;
+alpha1=diag_ratio(1,stem1,h,x4r-x1l);
+alpha2=diag_ratio(1,stem2,h,x2r-x3l);
+penpos1(alpha1*stem1,0); penpos2(alpha2*stem2,0);
+penpos3(alpha2*stem2,0); penpos4(alpha1*stem1,0);
+if hefty: z0=whatever[z1,z4]=whatever[z2,z3];
+ x12=x34=x0; y13=y24=y0;
+ z12=whatever[z2l,z3l]; z13=whatever[z2l,z3l];
+ z24=whatever[z2r,z3r]; z34=whatever[z2r,z3r];
+ forsuffixes $=13,24,34: z$'=.1[z$,z0]; endfor
+ fill diag_end(12,1r,.5,1,1l,13')--z13'--diag_end(13',3l,1,.5,3r,34')--z34'
+ --diag_end(34',4l,.5,1,4r,24')--z24'
+ --diag_end(24',2r,1,.5,2l,12)--z12--cycle; % diagonals
+else: fill diag_end(4r,1r,.5,1,1l,4l)
+ --diag_end(1l,4l,.5,1,4r,1r)--cycle; % left diagonal
+ fill diag_end(2l,3l,.5,1,3r,2r)
+ --diag_end(3r,2r,.5,1,2l,3l)--cycle; fi % right diagonal
+if serifs: numeric inner_jut[]; pickup tiny.nib;
+ prime_points_inside(1,4); prime_points_inside(2,3);
+ prime_points_inside(3,2); prime_points_inside(4,1);
+ if rt x1'r+cap_jut+.5u+1<=lft x2'l-cap_jut-xjut: inner_jut1=cap_jut;
+ else: rt x1'r+inner_jut1+.5u+1=lft x2'l-inner_jut1-xjut; fi
+ if rt x3'r+cap_jut+.5u+1<=lft x4'l-cap_jut-xjut: inner_jut2=cap_jut;
+ else: rt x3'r+inner_jut2+.5u+1=lft x4'l-inner_jut2-xjut; fi
+ dish_serif(1',4,a,1/3,outer_jut,b,2/3,inner_jut1); % upper left serif
+ dish_serif(4',1,c,2/3,inner_jut2,d,1/3,outer_jut); % lower right serif
+ dish_serif(2',3,e,2/3,inner_jut1+xjut,
+ f,1/2,outer_jut+xjut)(dark); % upper right serif
+ dish_serif(3',2,g,1/2,outer_jut+xjut,
+ h,2/3,inner_jut2+xjut)(dark); fi % lower left serif
+math_fit(0,.5ic#); penlabels(0,1,2,3,4,12,13,24,34); endchar;
+
+cmchar "The cyrillic letter TSE";
+beginchar(CYR_TSE,13u#+width_adj#,cap_height#,comma_depth#);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,cap_jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,c,1/3, cap_jut,d,1/3,inner_jut); % lower left serif
+ nodish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); % lower right serif
+ pickup crisp.nib; pos5(slab,90); pos6(hair,0);
+ x5=.5[x2,x4]; bot y5l=0;
+ rt x6r=tiny.rt x4r+cap_jut; y6=good.y(y5l-.75beak)-eps;
+ arm(5,6,m,1.25beak_darkness,0); % beak
+else: pos2'(slab,90); pos4'(slab,90);
+ pos5(stem,0); pos6(stem,0);
+ lft x2'=lft x2l; rt x4'=rt x5r=rt x6r=w-.5u;
+ bot y2'l=bot y4'l=0; y5=y4; bot y6=-.8d;
+ filldraw stroke z2'e--z4'e; % lower bar
+ filldraw stroke z5e--z6e; % right beak
+fi
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter CHE";
+beginchar(CYR_CHE,13u#,cap_height#,0); % [AS]
+italcorr cap_height#*slant-serif_fit#+.5cap_stem#-2u#;
+adjust_fit(cap_serif_fit#+stem_shift#,cap_serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+pos3(cap_stem,0); pos4(cap_stem,0);
+lft x1l=hround(2.5u-.5cap_stem); x1=x2; x3l=w-x1r; x3r=x4r;
+top y1=h; bot y4=0;
+penpos2'(cap_stem-fine,-180); z2'=z2; y3=y1; y2=.65h;
+if monospace: penpos5(.5vair,-90); penpos6(.5vair,-90);
+else: penpos5(vair,-90); penpos6(vair,-25); fi
+y6=.52h; lft x6l=lft x3l;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+pickup fine.nib; bot y5r=y6-vair-.1h; x5=.5w;
+filldraw stroke {{interim superness:=hein_super;
+ pulled_super_arc.e(2',5)(.01superpull)}}
+ & z5e{right}...z6e; % arc
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ dish_serif(4,3,g,1/3,jut,h,1/3,jut); fi % lower right serif
+penlabels(1,2,2',3,4,5,6); endchar;
+
+cmchar "The cyrillic letter SHA";
+beginchar(CYR_SHA,18u#,cap_height#,0);
+italcorr cap_height#*slant-.25u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+pos3(cap_stem',0); pos4(cap_stem',0);
+pos5(cap_stem',0); pos6(cap_stem',0);
+if odd(w-cap_stem'): change_width; fi
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem);
+x3=x4=.5w; x5=x6=w-x1;
+top y1=top y5=top y3=h; bot y2=bot y6=bot y4=0;
+filldraw stroke z1e--z2e; % right stem
+filldraw stroke z3e--z4e; % middle stem
+filldraw stroke z5e--z6e; % left stem
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,c,1/3,inner_jut,d,1/3,inner_jut); % upper middle serif
+ dish_serif(5,6,e,1/3,inner_jut,f,1/3, cap_jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,g,1/3,cap_jut,h,1/3,inner_jut); % lower left serif
+ nodish_serif(4,3,i,1/3,inner_jut,j,1/3,inner_jut); % lower middle serif
+ nodish_serif(6,5,k,1/3,inner_jut,l,1/3,cap_jut); % lower right serif
+else: pos2'(slab,90); pos6'(slab,90);
+ lft x2'=lft x1l; rt x6'=rt x6r; bot y2'l=bot y6'l=0;
+ filldraw stroke z2'e--z6'e; % lower bar
+fi
+math_fit(0,.5ic#); penlabels(1,2,2',3,4,5,6,6'); endchar;
+
+cmchar "The cyrillic letter SHCHA";
+beginchar(CYR_SHCHA,18u#,cap_height#,comma_depth#);
+italcorr cap_height#*slant-.25u#;
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+pos3(cap_stem',0); pos4(cap_stem',0);
+pos5(cap_stem',0); pos6(cap_stem',0);
+if odd(w-cap_stem'): change_width; fi
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem);
+x3=x4=.5w; x5=x6=w-x1;
+top y1=top y5=top y3=h; bot y2=bot y6=bot y4=0;
+filldraw stroke z1e--z2e; % right stem
+filldraw stroke z3e--z4e; % middle stem
+filldraw stroke z5e--z6e; % left stem
+if serifs: numeric inner_jut;
+ if rt x1r+cap_jut+.5u+1<=lft x3l-cap_jut: inner_jut=cap_jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ dish_serif(1,2,a,1/3, cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,c,1/3,inner_jut,d,1/3,inner_jut); % upper middle serif
+ dish_serif(5,6,e,1/3,inner_jut,f,1/3, cap_jut); % upper right serif
+ inner_jut:=.5(x3l-x1r);
+ nodish_serif(2,1,g,1/3, cap_jut,h,1/3, inner_jut); % lower left serif
+ nodish_serif(4,3,i,1/3,inner_jut, j,1/3,inner_jut); % lower middle serif
+ nodish_serif(6,5,k,1/3,inner_jut, l,1/3, cap_jut); % lower right serif
+ pickup crisp.nib; pos7(slab,90); pos8(hair,0);
+ x7=.5[x4,x6]; bot y7l=0;
+ rt x8r=tiny.rt x6r+cap_jut; y8=good.y(y7l-.75beak)-eps;
+ arm(7,8,m,1.25beak_darkness,0); % beak
+else: pos2'(slab,90); pos6'(slab,90);
+ pos7(stem,0); pos8(stem,0);
+ lft x2'=lft x1l; rt x6'=rt x7r=rt x8r=w-.5u;
+ bot y2'l=bot y6'l=0; y7=y6; bot y8=-.8d;
+ filldraw stroke z2'e--z6'e; % lower bar
+ filldraw stroke z7e--z8e; % right beak
+fi
+math_fit(0,.5ic#); penlabels(1,2,2',3,4,5,6,6',7,8); endchar;
+
+cmchar "The cyrillic letter HARD_SIGN";
+beginchar(CYR_HARD_SIGN,16u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(5.5u,6.5u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x8=x6; x5=x1; x6l:=x6-.25u; x7r=hround(w-u); x8l:=x8l-.5u;
+if serifs: right_curve=cap_curve-stem_corr; x6=.5[x1,w-1.8u];
+else: right_curve=cap_curve-3stem_corr; x6=.5[x1,w-1.5u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+pickup crisp.nib; pos3(slab,90); pos4(cap_hair,180);
+top y3r=h; x3=x1; lft x4r=hround(.5u); y4=good.y(y3l-.75beak)-eps;
+arm(3,4,e,beak_darkness,-.7beak_jut); % upper arm and beak
+if serifs: nodish_serif(1,2,a,0,cap_jut,b,1/3,cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter YERU";
+beginchar(CYR_YERU,17.5u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+pos3(cap_stem,0); pos4(cap_stem,0);
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+x3=x4=w-x1; top y3=h; bot y4=0;
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x8l:=x8l-.5u;
+rt x7r=if serifs: tiny.lft x3l-cap_jut; else: 11.5u; fi
+if serifs: right_curve=cap_curve-stem_corr; x6=.5[x1,w-6.8u];
+else: right_curve=cap_curve-3stem_corr; x6=.5[x1,w-7.5u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+filldraw stroke z3e--z4e; % right stem
+if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper left serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); % lower left serif
+ dish_serif(3,4,e,1/3,1.05cap_jut,f,1/3,1.05cap_jut); % upper right serif
+ dish_serif(4,3,g,1/3,1.05cap_jut,h,1/3,1.05cap_jut); fi % lower right serif
+labels(1,2,3,4,5,6,7,8,9);
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter SOFT_SIGN";
+beginchar(CYR_SOFT_SIGN,12.5u#,cap_height#,0);
+italcorr .75cap_height#*slant-.5u#;
+adjust_fit(cap_serif_fit#,0);
+numeric left_stem,right_curve,middle_weight;
+left_stem=cap_stem-hround 2stem_corr; middle_weight=.6vair+.5;
+pickup tiny.nib; pos1(left_stem,0); pos2(left_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5left_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos5(cap_band,90); penpos6(cap_band,90); penpos7(right_curve,0);
+penpos8(cap_band,-90); penpos9(cap_band,-90);
+z9r=bot z2; y8=y9; y7=.5[y8,y6]; y5=y6=.52h;
+x6=x8; x5=x1; x6l:=x6-.25u; x7r=hround(w-u); x8l:=x8l-.5u;
+if serifs: right_curve=cap_curve-stem_corr; x6=.5[x1,w-1.8u];
+else: right_curve=cap_curve-3stem_corr; x6=.5[x1,w-1.5u];
+x6l:=x6l-.5u; fi
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8)..z9e; % lower lobe
+if serifs: dish_serif(1,2,a,1/3,cap_jut,b,1/3,cap_jut); % upper serif
+ nodish_serif(2,1,c,1/3,cap_jut,d,1/3,.5cap_jut); fi % lower serif
+math_fit(0,.5ic#); penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "The cyrillic letter E";
+if serifs: beginchar(CYR_E,13u#,cap_height#,0);
+ italcorr cap_height#*slant-.5u#;
+ adjust_fit(0,0);
+ pickup fine.nib; pos1(cap_hair,180); pos2(cap_band,90);
+ pos3(cap_curve,0); pos4(cap_band,270); pos5(hair,180);
+ lft x1r=lft x5r=hround u; rt x3r=hround (w-u); x2=x4=.55[x3,x1];
+ top y2r=h+o; bot y4r=-o; y3=.5[y2,y4];
+ bot y1=min(vround max(.6h,x_height-.5vair),bot y2l-eps);
+ y5=max(good.y .95(h-y1),y4l+eps);
+ (x2l',y2l)=whatever[z2r,z1l]; x2l:=max(x2l',x2l-.5u);
+ (x4l',y4l)=whatever[z4r,z5l]; x4l:=max(x4l',x4l-.5u);
+ filldraw stroke z1e{x2-x1,10(y2-y1)}
+ ...pulled_arc.e(2,3) & pulled_arc.e(3,4)...{up}z5e; % arc
+ pos6(.3[fine.breadth,cap_hair],180); x6r=x1r; top y6=h+o;
+ x1'-x1r=2cap_curve-fine; y1'=y1;
+ path upper_arc; upper_arc=z1{x2-x1,10(y2-y1)}..z2{right};
+ numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
+ filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
+else: beginchar(CYR_E,11.5u#,cap_height#,0);
+ italcorr cap_height#*slant-.5u#;
+ adjust_fit(0,0);
+ pickup fine.nib; pos1(1.2flare,110); pos2(slab,90);
+ pos3(cap_curve,0); pos4(slab,270); pos5(flare,265);
+ lft x1r=hround 1.1u; x2=x4=.5w-1.25u;
+ rt x3r=w-hround max(u,2u-.5cap_curve); lft x5r=hround .9u;
+ top y1r=vround .95h+o; top y2r=h+o; y3=.5h;
+ bot y4r=-o; bot y5r=vround .08h-o; y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke rterm.e(2,1,left,.9,4) & super_arc.e(2,3)
+ & super_arc.e(3,4) & term.e(4,5,left,.8,4); fi % arc and terminals
+penpos7(cap_bar,90); penpos8(cap_bar,90);
+x7=lft x3l; x8=.5w-1.5u;
+%if serifs: y7l=y8l else:
+y7=y8=.5h;
+fill stroke z7e--z8e; % bar
+math_fit(-.3cap_height#*slant-.5u#,.5ic#);
+penlabels(1,1',2,3,4,5,6); endchar;
+
+cmchar "The cyrillic letter YU";
+beginchar(CYR_YU,20u#,cap_height#,0);
+italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#);
+adjust_fit(cap_serif_fit#,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0);
+lft x1l=lft x2l=hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % left stem
+penpos5(vair',90); penpos7(vround(vair+1.5vair_corr),-90);
+penpos6(cap_curve,180); penpos8(cap_curve,0);
+if monospace: x8r=hround(w-1.5u); x6r=hround(w-12.5u);
+ interim superness:=sqrt superness; % make |"O"|, not |"0"|
+else: x8r=hround(w-u); x6r=hround(w-13u); fi
+x5=x7=.5[x8,x6]; y5r=h+o; y7r=-o; y6=y8=.5h-vair_corr; y6l:=y8l:=.52h;
+penstroke pulled_super_arc.e(5,6)(.5superpull)
+ & pulled_super_arc.e(6,7)(.5superpull)
+ & pulled_super_arc.e(7,8)(.5superpull)
+ & pulled_super_arc.e(8,5)(.5superpull) & cycle; % bowl
+penpos3(cap_bar,90); penpos4(cap_bar,90);
+x3=x1; x4=x6; y3=y4=.52h;
+fill stroke z3e--z4e; % bar
+if serifs: numeric inner_jut; inner_jut=cap_jut;
+ dish_serif(1,2,a,1/3,cap_jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,inner_jut); fi % lower left serif
+math_fit(-.3cap_height#*slant-.5u#,ic#-.5u#);
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "The cyrillic letter YA";
+beginchar(CYR_YA,12u#+.5max(2u#,cap_curve#),cap_height#,0);
+italcorr .75cap_height#*slant- if serifs: 1.75 else: .5 fi\\ u#;
+adjust_fit(0,cap_serif_fit#);
+pickup tiny.nib; pos1(cap_stem',0); pos2(cap_stem',0);
+rt x1r=rt x2r=w-hround(3u-.5cap_stem'); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+penpos3(cap_band,90); penpos4(cap_band,90);
+penpos5(cap_curve if hefty:-3stem_corr fi,180);
+penpos6(vair,-90); penpos7(vair,-90);
+z3r=top z1; y4=y3; y5=.5[y4l,y6l]; y6=y7; x7=x2; y7=.5h; x4=x6;
+if serifs: x4=.5w+.5u; x5r=hround(1.5u);
+else: x4=.5w-.5u; x5r=hround u; fi
+x4l:=x6l:=x4+.125cap_curve;
+fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
+pos6'(cap_curve,0); x6'r=x6l+.5u; y6'=y6;
+pos8(cap_curve,0); tiny.lft x8l=.5u+.5cap_jut; bot y8=0;
+filldraw stroke z6'e--z8e; % diagonal stem
+if serifs:
+ nodish_serif(1,2,a,1/3,.5cap_jut,b,1/3,cap_jut); % upper serif
+ dish_serif(2,1,c,1/3,cap_jut,d,1/3,cap_jut); % lower serif
+ serif(8,6',e,1/3,-.5cap_jut); fi % lower diagonal serif
+math_fit(0,.75ic#); penlabels(1,2,3,4,5,6,7,8); endchar;
+
diff --git a/fonts/cyrillic/scyrillic/cytextit.mf b/fonts/cyrillic/scyrillic/cytextit.mf
new file mode 100644
index 0000000000..4056d3bb2e
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cytextit.mf
@@ -0,0 +1,30 @@
+% The Computer Modern Cyrillic Text Italic family
+
+let cmchar=message; % `|cmchar|' should precede each character
+
+mode_setup; font_setup;
+input cycoding;
+font_coding_scheme:="TeX text";
+
+font_slant slant; font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+ letter_fit#:=letter_fit:=0;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#; fi
+
+input cyru; % upper case (majuscules)
+input cyitall; % lower case (minuscules)
+input cyrsymb; % three additional char
+%if ligs>0: input comlig; fi % ligatures common with roman text
+%if ligs<=1: input romsub; fi % substitutes for ligatures
+
+
+if not monospace:
+ k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
+fi
+bye.
+
diff --git a/fonts/cyrillic/scyrillic/cytitle.mf b/fonts/cyrillic/scyrillic/cytitle.mf
new file mode 100644
index 0000000000..ca7c68d4c8
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/cytitle.mf
@@ -0,0 +1,33 @@
+% This makes a short cyrillic font (caps only)
+
+let cmchar=message; % `|cmchar|' should precede each character
+
+font_coding_scheme:="ASCII caps";
+input cycoding;
+
+mode_setup; font_setup;
+
+input cyru; % upper case (majuscules)
+%input romand; % numerals
+
+font_slant slant; font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#;
+fi
+% k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
+% ligtable "P": "T": "Y": "A" kern kk#;
+% ligtable "F": "V": "W": "A" kern if serifs: kkk# else: kk#\\fi,
+% "K": "X": "O" kern k#, "C" kern k#, "G" kern k#, "Q" kern k#;
+% ligtable "O": "D": "X" kern k#, "W" kern k#, "A" kern k#,
+% "V" kern k#, "Y" kern k#;
+% ligtable "A": if serifs: "R": fi
+% "C" kern k#, "O" kern k#, "G" kern k#, "U" kern k#, "Q" kern k#,
+% "L": "T" kern kk#, "Y" kern kkk#, "V" kern kk#, "W" kern kkk#;
+% ligtable "I": "I" kern -k#; fi % Richard III
+bye.
+
diff --git a/fonts/cyrillic/scyrillic/czinch.mf b/fonts/cyrillic/scyrillic/czinch.mf
new file mode 100644
index 0000000000..77d17a40cf
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/czinch.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Inch-High Sans Serif Bold Extended Caps and Digits
+if unknown cmbase: input cmbase fi
+numeric Pt#; 250/36Pt#=1in#;
+font_identifier:="CMCINCH"; font_size 10Pt#;
+
+u#:=22/36Pt#; % unit width
+width_adj#:=22/36Pt#; % width adjustment for certain characters
+serif_fit#:=-9/36Pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-11/36Pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0Pt#; % extra space added to all sidebars
+
+body_height#:=270/36Pt#; % height of tallest characters
+asc_height#:=250/36Pt#; % height of lowercase ascenders
+cap_height#:=250/36Pt#; % height of caps
+fig_height#:=250/36Pt#; % height of numerals
+x_height#:=165/36Pt#; % height of lowercase without ascenders
+math_axis#:=90/36Pt#; % axis of symmetry for math symbols
+bar_height#:=90/36Pt#; % height of crossbar in lowercase e
+comma_depth#:=38/36Pt#; % depth of comma below baseline
+desc_depth#:=70/36Pt#; % depth of lowercase descenders
+
+crisp#:=26/36Pt#; % diameter of serif corners
+tiny#:=26/36Pt#; % diameter of rounded corners
+fine#:=9/36Pt#; % diameter of sharply rounded corners
+thin_join#:=9/36Pt#; % width of extrafine details
+hair#:=49/36Pt#; % lowercase hairline breadth
+stem#:=49/36Pt#; % lowercase stem breadth
+curve#:=49/36Pt#; % lowercase curve breadth
+ess#:=43/36Pt#; % breadth in middle of lowercase s
+flare#:=40/36Pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=47/36Pt#; % diameter of dots
+cap_hair#:=49/36Pt#; % uppercase hairline breadth
+cap_stem#:=53/36Pt#; % uppercase stem breadth
+cap_curve#:=53/36Pt#; % uppercase curve breadth
+cap_ess#:=51/36Pt#; % breadth in middle of uppercase s
+rule_thickness#:=30/36Pt#; % thickness of lines in math symbols
+
+dish#:=0Pt#; % amount erased at top or bottom of serifs
+bracket#:=0Pt#; % vertical distance from serif base to tangent
+jut#:=0Pt#; % protrusion of lowercase serifs
+cap_jut#:=0Pt#; % protrusion of uppercase serifs
+beak_jut#:=0Pt#; % horizontal protrusion of beak serifs
+beak#:=1.5/36Pt#; % vertical protrusion of beak serifs
+vair#:=26/36Pt#; % vertical diameter of hairlines
+notch_cut#:=49/36Pt#; % maximum breadth above or below notches
+bar#:=26/36Pt#; % lowercase bar thickness
+slab#:=36/36Pt#; % serif and arm thickness
+cap_bar#:=34/36Pt#; % uppercase bar thickness
+cap_band#:=31/36Pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=45/36Pt#; % max breadth above/below uppercase notches
+serif_drop#:=2/36Pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36Pt#; % for small refinements of stem breadth
+vair_corr#:=2/36Pt#; % for small refinements of hairline height
+apex_corr#:=18/36Pt#; % extra width at diagonal junctions
+
+o#:=8/36Pt#; % amount of overshoot for curves
+apex_o#:=0Pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.88; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=3/4; % parameter for superellipses
+superpull:=1/18; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cytitle % switch to the driver file
diff --git a/fonts/cyrillic/scyrillic/czssq8.mf b/fonts/cyrillic/scyrillic/czssq8.mf
new file mode 100644
index 0000000000..6aee80017f
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/czssq8.mf
@@ -0,0 +1,76 @@
+% Computer Modern Sans Serif Quotation Style 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMSSQ"; font_size 8pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=2/36pt#; % width adjustment for certain characters
+serif_fit#:=-10/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-14/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=220/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=197/36pt#; % height of caps
+fig_height#:=190/36pt#; % height of numerals
+x_height#:=150/36pt#; % height of lowercase without ascenders
+math_axis#:=80/36pt#; % axis of symmetry for math symbols
+bar_height#:=80/36pt#; % height of crossbar in lowercase e
+comma_depth#:=40/36pt#; % depth of comma below baseline
+desc_depth#:=40/36pt#; % depth of lowercase descenders
+
+crisp#:=18/36pt#; % diameter of serif corners
+tiny#:=18/36pt#; % diameter of rounded corners
+fine#:=8/36pt#; % diameter of sharply rounded corners
+thin_join#:=8/36pt#; % width of extrafine details
+hair#:=23/36pt#; % lowercase hairline breadth
+stem#:=23/36pt#; % lowercase stem breadth
+curve#:=23/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=21/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=28/36pt#; % diameter of dots
+cap_hair#:=23/36pt#; % uppercase hairline breadth
+cap_stem#:=27/36pt#; % uppercase stem breadth
+cap_curve#:=27/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=20/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=0pt#; % vertical protrusion of beak serifs
+vair#:=18/36pt#; % vertical diameter of hairlines
+notch_cut#:=23/36pt#; % maximum breadth above or below notches
+bar#:=18/36pt#; % lowercase bar thickness
+slab#:=19/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=23/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=.5/36pt#; % for small refinements of stem breadth
+vair_corr#:=.5/36pt#; % for small refinements of hairline height
+apex_corr#:=4/36pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=2/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/10; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file
+
diff --git a/fonts/cyrillic/scyrillic/czssqi8.mf b/fonts/cyrillic/scyrillic/czssqi8.mf
new file mode 100644
index 0000000000..0bdcff574c
--- /dev/null
+++ b/fonts/cyrillic/scyrillic/czssqi8.mf
@@ -0,0 +1,75 @@
+% Computer Modern Cyrillic Sans Serif Quotation Style Slanted 8 point
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSSQI"; font_size 8pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=2/36pt#; % width adjustment for certain characters
+serif_fit#:=-10/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=-14/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=220/36pt#; % height of tallest characters
+asc_height#:=200/36pt#; % height of lowercase ascenders
+cap_height#:=197/36pt#; % height of caps
+fig_height#:=190/36pt#; % height of numerals
+x_height#:=150/36pt#; % height of lowercase without ascenders
+math_axis#:=80/36pt#; % axis of symmetry for math symbols
+bar_height#:=80/36pt#; % height of crossbar in lowercase e
+comma_depth#:=40/36pt#; % depth of comma below baseline
+desc_depth#:=40/36pt#; % depth of lowercase descenders
+
+crisp#:=18/36pt#; % diameter of serif corners
+tiny#:=18/36pt#; % diameter of rounded corners
+fine#:=8/36pt#; % diameter of sharply rounded corners
+thin_join#:=8/36pt#; % width of extrafine details
+hair#:=23/36pt#; % lowercase hairline breadth
+stem#:=23/36pt#; % lowercase stem breadth
+curve#:=23/36pt#; % lowercase curve breadth
+ess#:=23/36pt#; % breadth in middle of lowercase s
+flare#:=21/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=28/36pt#; % diameter of dots
+cap_hair#:=23/36pt#; % uppercase hairline breadth
+cap_stem#:=27/36pt#; % uppercase stem breadth
+cap_curve#:=27/36pt#; % uppercase curve breadth
+cap_ess#:=27/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=20/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=0pt#; % vertical protrusion of beak serifs
+vair#:=18/36pt#; % vertical diameter of hairlines
+notch_cut#:=23/36pt#; % maximum breadth above or below notches
+bar#:=18/36pt#; % lowercase bar thickness
+slab#:=19/36pt#; % serif and arm thickness
+cap_bar#:=19/36pt#; % uppercase bar thickness
+cap_band#:=19/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=23/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=.5/36pt#; % for small refinements of stem breadth
+vair_corr#:=.5/36pt#; % for small refinements of hairline height
+apex_corr#:=4/36pt#; % extra width at diagonal junctions
+
+o#:=6/36pt#; % amount of overshoot for curves
+apex_o#:=2/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/10; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate cyrillic % switch to the driver file