summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-08-03 03:01:12 +0000
committerNorbert Preining <norbert@preining.info>2020-08-03 03:01:12 +0000
commite5053aca346b6b429f77806ea89e37d67da94b29 (patch)
tree49b473636d2663448ca7031ae9eb6b3b28b06f3d
parent1498fd91bffe57cfb36b3164ea5237cff0915559 (diff)
CTAN sync 202008030301
-rw-r--r--FILES.byname896
-rw-r--r--FILES.byname.gzbin2231219 -> 2229422 bytes
-rw-r--r--FILES.last07days749
-rw-r--r--fonts/bitter/README22
-rw-r--r--fonts/bitter/doc/bitter-samples.pdfbin18766 -> 13811 bytes
-rw-r--r--fonts/bitter/doc/bitter-samples.tex1
-rw-r--r--fonts/bitter/enc/bttr_6upxhe.enc62
-rw-r--r--fonts/bitter/enc/bttr_72jdjw.enc63
-rw-r--r--fonts/bitter/enc/bttr_azarls.enc63
-rw-r--r--fonts/bitter/enc/bttr_b5i5mx.enc62
-rw-r--r--fonts/bitter/enc/bttr_f2umud.enc63
-rw-r--r--fonts/bitter/enc/bttr_gljolu.enc63
-rw-r--r--fonts/bitter/enc/bttr_ncjtqa.enc63
-rw-r--r--fonts/bitter/enc/bttr_ssdm5h.enc63
-rw-r--r--fonts/bitter/enc/bttr_vzfpnj.enc63
-rw-r--r--fonts/bitter/enc/bttr_w3wxei.enc63
-rw-r--r--fonts/bitter/enc/bttr_x2bjkb.enc63
-rw-r--r--fonts/bitter/latex/LY1Bttr-TLF.fd67
-rw-r--r--fonts/bitter/latex/OT1Bttr-TLF.fd67
-rw-r--r--fonts/bitter/latex/T1Bttr-TLF.fd67
-rw-r--r--fonts/bitter/latex/TS1Bttr-TLF.fd67
-rw-r--r--fonts/bitter/latex/bitter.sty48
-rw-r--r--fonts/bitter/map/bitter.map14
-rw-r--r--fonts/bitter/tfm/Bttr-Bold-tlf-ly1--base.tfmbin0 -> 1824 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Bold-tlf-ly1.tfmbin0 -> 1924 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Bold-tlf-ot1.tfmbin0 -> 1408 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Bold-tlf-t1--base.tfmbin0 -> 1744 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Bold-tlf-t1.tfmbin0 -> 1852 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Bold-tlf-ts1--base.tfmbin0 -> 1396 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Bold-tlf-ts1.tfmbin0 -> 1400 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Italic-tlf-ly1--base.tfmbin0 -> 1988 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Italic-tlf-ly1.tfmbin0 -> 2036 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Italic-tlf-ot1.tfmbin0 -> 1452 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Italic-tlf-t1--base.tfmbin0 -> 1940 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Italic-tlf-t1.tfmbin0 -> 1992 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Italic-tlf-ts1--base.tfmbin0 -> 1416 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Italic-tlf-ts1.tfmbin0 -> 1416 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Regular-tlf-ly1--base.tfmbin0 -> 1712 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Regular-tlf-ly1.tfmbin0 -> 1928 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Regular-tlf-ot1.tfmbin0 -> 1476 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Regular-tlf-t1--base.tfmbin0 -> 1652 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Regular-tlf-t1.tfmbin0 -> 1880 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Regular-tlf-ts1--base.tfmbin0 -> 1376 bytes
-rw-r--r--fonts/bitter/tfm/Bttr-Regular-tlf-ts1.tfmbin0 -> 1380 bytes
-rw-r--r--fonts/bitter/type1/Bttr-Bold.pfbbin0 -> 38783 bytes
-rw-r--r--fonts/bitter/type1/Bttr-Italic.pfbbin0 -> 45380 bytes
-rw-r--r--fonts/bitter/type1/Bttr-Regular.pfbbin0 -> 40493 bytes
-rw-r--r--fonts/bitter/vf/Bttr-Bold-tlf-ly1.vfbin0 -> 1636 bytes
-rw-r--r--fonts/bitter/vf/Bttr-Bold-tlf-t1.vfbin0 -> 1344 bytes
-rw-r--r--fonts/bitter/vf/Bttr-Bold-tlf-ts1.vfbin0 -> 484 bytes
-rw-r--r--fonts/bitter/vf/Bttr-Italic-tlf-ly1.vfbin0 -> 1652 bytes
-rw-r--r--fonts/bitter/vf/Bttr-Italic-tlf-t1.vfbin0 -> 1628 bytes
-rw-r--r--fonts/bitter/vf/Bttr-Italic-tlf-ts1.vfbin0 -> 500 bytes
-rw-r--r--fonts/bitter/vf/Bttr-Regular-tlf-ly1.vfbin0 -> 1660 bytes
-rw-r--r--fonts/bitter/vf/Bttr-Regular-tlf-t1.vfbin0 -> 1348 bytes
-rw-r--r--fonts/bitter/vf/Bttr-Regular-tlf-ts1.vfbin0 -> 500 bytes
-rw-r--r--fonts/forum/README34
-rw-r--r--fonts/forum/doc/forum-samples.pdfbin14600 -> 24204 bytes
-rw-r--r--fonts/forum/doc/forum-samples.tex8
-rw-r--r--fonts/forum/enc/frm_acf3pt.enc63
-rw-r--r--fonts/forum/enc/frm_b5i5mx.enc62
-rw-r--r--fonts/forum/enc/frm_brq6mf.enc63
-rw-r--r--fonts/forum/enc/frm_e2otk2.enc63
-rw-r--r--fonts/forum/enc/frm_fx2ufv.enc63
-rw-r--r--fonts/forum/enc/frm_jsuphk.enc63
-rw-r--r--fonts/forum/enc/frm_smvvub.enc63
-rw-r--r--fonts/forum/enc/frm_ylkcu6.enc63
-rw-r--r--fonts/forum/latex/LY1Frm-LF.fd51
-rw-r--r--fonts/forum/latex/OT1Frm-LF.fd51
-rw-r--r--fonts/forum/latex/T1Frm-LF.fd51
-rw-r--r--fonts/forum/latex/T2AFrm-LF.fd51
-rw-r--r--fonts/forum/latex/T2BFrm-LF.fd51
-rw-r--r--fonts/forum/latex/T2CFrm-LF.fd51
-rw-r--r--fonts/forum/latex/TS1Frm-LF.fd51
-rw-r--r--fonts/forum/latex/forum.sty48
-rw-r--r--fonts/forum/map/forum.map28
-rw-r--r--fonts/forum/opentype/Forum-Regular.otfbin0 -> 140024 bytes
-rw-r--r--fonts/forum/opentype/Frm-Bold.otfbin0 -> 451020 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-ly1--base.tfmbin0 -> 1812 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-ly1--lcdfj.tfmbin0 -> 156 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-ly1.tfmbin0 -> 10628 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-ot1--base.tfmbin0 -> 1340 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-ot1--lcdfj.tfmbin0 -> 156 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-ot1.tfmbin0 -> 3768 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t1--base.tfmbin0 -> 1760 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t1--lcdfj.tfmbin0 -> 156 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t1.tfmbin0 -> 15772 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t2a--base.tfmbin0 -> 1984 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t2a--lcdfj.tfmbin0 -> 156 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t2a.tfmbin0 -> 12704 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t2b--base.tfmbin0 -> 1936 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t2b--lcdfj.tfmbin0 -> 156 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t2b.tfmbin0 -> 10784 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t2c--base.tfmbin0 -> 1932 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t2c--lcdfj.tfmbin0 -> 156 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-t2c.tfmbin0 -> 8768 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-ts1--base.tfmbin0 -> 1348 bytes
-rw-r--r--fonts/forum/tfm/Frm-Bold-lf-ts1.tfmbin0 -> 1356 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-ly1--base.tfmbin0 -> 1748 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-ly1--lcdfj.tfmbin0 -> 148 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-ly1.tfmbin0 -> 10564 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-ot1--base.tfmbin0 -> 1300 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-ot1--lcdfj.tfmbin0 -> 148 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-ot1.tfmbin0 -> 3728 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t1--base.tfmbin0 -> 1712 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t1--lcdfj.tfmbin0 -> 148 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t1.tfmbin0 -> 15724 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t2a--base.tfmbin0 -> 1940 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t2a--lcdfj.tfmbin0 -> 148 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t2a.tfmbin0 -> 12660 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t2b--base.tfmbin0 -> 1896 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t2b--lcdfj.tfmbin0 -> 148 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t2b.tfmbin0 -> 10744 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t2c--base.tfmbin0 -> 1888 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t2c--lcdfj.tfmbin0 -> 148 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-t2c.tfmbin0 -> 8724 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-ts1--base.tfmbin0 -> 1328 bytes
-rw-r--r--fonts/forum/tfm/Frm-lf-ts1.tfmbin0 -> 1336 bytes
-rw-r--r--fonts/forum/truetype/Forum-Regular.ttfbin241080 -> 0 bytes
-rw-r--r--fonts/forum/type1/Frm-Bold.pfbbin0 -> 394084 bytes
-rw-r--r--fonts/forum/type1/Frm-BoldLCDFJ.pfbbin0 -> 7212 bytes
-rw-r--r--fonts/forum/type1/Frm.pfbbin0 -> 86592 bytes
-rw-r--r--fonts/forum/type1/FrmLCDFJ.pfbbin0 -> 7123 bytes
-rw-r--r--fonts/forum/vf/Frm-Bold-lf-ly1.vfbin0 -> 1632 bytes
-rw-r--r--fonts/forum/vf/Frm-Bold-lf-ot1.vfbin0 -> 780 bytes
-rw-r--r--fonts/forum/vf/Frm-Bold-lf-t1.vfbin0 -> 1728 bytes
-rw-r--r--fonts/forum/vf/Frm-Bold-lf-t2a.vfbin0 -> 1680 bytes
-rw-r--r--fonts/forum/vf/Frm-Bold-lf-t2b.vfbin0 -> 1528 bytes
-rw-r--r--fonts/forum/vf/Frm-Bold-lf-t2c.vfbin0 -> 1472 bytes
-rw-r--r--fonts/forum/vf/Frm-Bold-lf-ts1.vfbin0 -> 424 bytes
-rw-r--r--fonts/forum/vf/Frm-lf-ly1.vfbin0 -> 1616 bytes
-rw-r--r--fonts/forum/vf/Frm-lf-ot1.vfbin0 -> 772 bytes
-rw-r--r--fonts/forum/vf/Frm-lf-t1.vfbin0 -> 1716 bytes
-rw-r--r--fonts/forum/vf/Frm-lf-t2a.vfbin0 -> 1672 bytes
-rw-r--r--fonts/forum/vf/Frm-lf-t2b.vfbin0 -> 1516 bytes
-rw-r--r--fonts/forum/vf/Frm-lf-t2c.vfbin0 -> 1460 bytes
-rw-r--r--fonts/forum/vf/Frm-lf-ts1.vfbin0 -> 420 bytes
-rw-r--r--info/install-latex-guide-zh-cn/README.md4
-rw-r--r--info/install-latex-guide-zh-cn/appendix/updateinfo.tex4
-rw-r--r--info/install-latex-guide-zh-cn/chapter/macos.tex6
-rw-r--r--info/install-latex-guide-zh-cn/chapter/preface.tex8
-rw-r--r--info/install-latex-guide-zh-cn/chapter/ubuntu.tex9
-rw-r--r--info/install-latex-guide-zh-cn/chapter/windows.tex6
-rw-r--r--info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdfbin699375 -> 700965 bytes
-rw-r--r--info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.tex2
-rw-r--r--info/lshort/chinese/README-zh.md16
-rw-r--r--info/lshort/chinese/README.md17
-rw-r--r--info/lshort/chinese/lshort-zh-cn.pdfbin1049683 -> 1452490 bytes
-rw-r--r--info/lshort/chinese/src/INSTRUCTIONS.md36
-rw-r--r--info/lshort/chinese/src/app.A.install.tex137
-rw-r--r--info/lshort/chinese/src/chap.02.text.tex380
-rw-r--r--info/lshort/chinese/src/chap/app.A.install.tex137
-rw-r--r--info/lshort/chinese/src/chap/app.B.error.help.tex (renamed from info/lshort/chinese/src/app.B.error.help.tex)72
-rw-r--r--info/lshort/chinese/src/chap/biblio.tex (renamed from info/lshort/chinese/src/biblio.tex)56
-rw-r--r--info/lshort/chinese/src/chap/chap.01.basics.tex (renamed from info/lshort/chinese/src/chap.01.basics.tex)260
-rw-r--r--info/lshort/chinese/src/chap/chap.02.text.tex357
-rw-r--r--info/lshort/chinese/src/chap/chap.03.elements.tex (renamed from info/lshort/chinese/src/chap.03.elements.tex)170
-rw-r--r--info/lshort/chinese/src/chap/chap.04.math.tex (renamed from info/lshort/chinese/src/chap.04.math.tex)153
-rw-r--r--info/lshort/chinese/src/chap/chap.05.style.tex (renamed from info/lshort/chinese/src/chap.05.style.tex)222
-rw-r--r--info/lshort/chinese/src/chap/chap.06.spec.tex (renamed from info/lshort/chinese/src/chap.06.spec.tex)77
-rw-r--r--info/lshort/chinese/src/chap/chap.07.graphic.tex (renamed from info/lshort/chinese/src/chap.07.graphic.tex)127
-rw-r--r--info/lshort/chinese/src/chap/chap.08.custom.tex (renamed from info/lshort/chinese/src/chap.08.custom.tex)64
-rw-r--r--info/lshort/chinese/src/chap/fdl.tex (renamed from info/lshort/chinese/src/fdl.tex)0
-rw-r--r--info/lshort/chinese/src/chap/preface.contrib.tex (renamed from info/lshort/chinese/src/preface.contrib.tex)20
-rw-r--r--info/lshort/chinese/src/chap/preface.overview.tex58
-rw-r--r--info/lshort/chinese/src/chap/sec.symbol.table.tex (renamed from info/lshort/chinese/src/sec.symbol.table.tex)107
-rw-r--r--info/lshort/chinese/src/chap/titlepage.tex (renamed from info/lshort/chinese/src/titlepage.tex)6
-rw-r--r--info/lshort/chinese/src/lshort-zh-cn-style.sty46
-rw-r--r--info/lshort/chinese/src/lshort-zh-cn.tex36
-rw-r--r--info/lshort/chinese/src/make.bat66
-rw-r--r--info/lshort/chinese/src/preface.overview.tex58
-rw-r--r--macros/luatex/generic/luatexja/README8
-rw-r--r--macros/luatex/generic/luatexja/doc/ltjclasses.pdfbin392691 -> 400100 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin689332 -> 687538 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1109921 -> 1104209 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja.dtx117
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty21
-rw-r--r--macros/luatex/generic/luatexja/src/jfm-kaiming.lua4
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-adjust.lua149
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-base.lua98
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-base.sty147
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-charrange.lua26
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-compat.lua87
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-direction.lua1002
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-inputbuf.lua33
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua25366
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-jfmglue.lua822
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-jfont.lua106
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-latex.sty1
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-lineskip.lua115
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua7
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-math.lua127
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-otf.lua106
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-pretreat.lua116
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua203
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-ruby.lua312
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-setwidth.lua130
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-stack.lua44
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua74
-rw-r--r--macros/luatex/generic/luatexja/src/ltjclasses.dtx159
-rw-r--r--macros/luatex/generic/luatexja/src/ltjsclasses.dtx62
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja-core.sty8
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.lua437
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty4
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjdefs.sty16
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjfont.sty161
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty79
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty21
-rw-r--r--macros/luatex/generic/luatexja/tool/function_uax50.lua2
-rwxr-xr-xmacros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl4
-rw-r--r--macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua9
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb268
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2211932 -> 2211952 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--systems/win32/w32tex/ChangeLog12
-rw-r--r--timestamp2
220 files changed, 9288 insertions, 27595 deletions
diff --git a/FILES.byname b/FILES.byname
index 8550607114..63e540b6cd 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5003,7 +5003,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2020/08/01 | 151367 | FILES.last07days
+2020/08/02 | 169920 | FILES.last07days
2018/06/27 | 99883 | fonts/academicons/academicons.pdf
2018/06/27 | 10779 | fonts/academicons/academicons.sty
2018/06/27 | 5774 | fonts/academicons/academicons.tex
@@ -13533,15 +13533,64 @@
2012/04/28 | 763 | fonts/bickham/README
2012/04/25 | 943 | fonts/bickham/ubickham.fd
2012/04/28 | 194300 | fonts/bickham.zip
-2020/07/25 | 18766 | fonts/bitter/doc/bitter-samples.pdf
-2020/07/25 | 213 | fonts/bitter/doc/bitter-samples.tex
-2020/07/25 | 4399 | fonts/bitter/doc/OFL.txt
-2020/07/25 | 1203 | fonts/bitter/latex/bitter.sty
-2020/07/25 | 1302 | fonts/bitter/README
-2020/07/25 | 23636 | fonts/bitter/truetype/Bitter-Bold.ttf
-2020/07/25 | 35828 | fonts/bitter/truetype/Bitter-Italic.ttf
-2020/07/25 | 87128 | fonts/bitter/truetype/Bitter-Regular.ttf
-2020/07/25 | 100150 | fonts/bitter.zip
+2020/08/02 | 13811 | fonts/bitter/doc/bitter-samples.pdf
+2020/08/02 | 238 | fonts/bitter/doc/bitter-samples.tex
+2020/08/02 | 4399 | fonts/bitter/doc/OFL.txt
+2020/08/02 | 2716 | fonts/bitter/enc/bttr_6upxhe.enc
+2020/08/02 | 2852 | fonts/bitter/enc/bttr_72jdjw.enc
+2020/08/02 | 2844 | fonts/bitter/enc/bttr_azarls.enc
+2020/08/02 | 2728 | fonts/bitter/enc/bttr_b5i5mx.enc
+2020/08/02 | 2860 | fonts/bitter/enc/bttr_f2umud.enc
+2020/08/02 | 2822 | fonts/bitter/enc/bttr_gljolu.enc
+2020/08/02 | 3139 | fonts/bitter/enc/bttr_ncjtqa.enc
+2020/08/02 | 3143 | fonts/bitter/enc/bttr_ssdm5h.enc
+2020/08/02 | 3135 | fonts/bitter/enc/bttr_vzfpnj.enc
+2020/08/02 | 2738 | fonts/bitter/enc/bttr_w3wxei.enc
+2020/08/02 | 2805 | fonts/bitter/enc/bttr_x2bjkb.enc
+2020/08/02 | 1531 | fonts/bitter/latex/bitter.sty
+2020/08/02 | 1448 | fonts/bitter/latex/LY1Bttr-TLF.fd
+2020/08/02 | 1448 | fonts/bitter/latex/OT1Bttr-TLF.fd
+2020/08/02 | 1433 | fonts/bitter/latex/T1Bttr-TLF.fd
+2020/08/02 | 1448 | fonts/bitter/latex/TS1Bttr-TLF.fd
+2020/08/02 | 1515 | fonts/bitter/map/bitter.map
+2020/08/02 | 1458 | fonts/bitter/README
+2020/08/02 | 1824 | fonts/bitter/tfm/Bttr-Bold-tlf-ly1--base.tfm
+2020/08/02 | 1924 | fonts/bitter/tfm/Bttr-Bold-tlf-ly1.tfm
+2020/08/02 | 1408 | fonts/bitter/tfm/Bttr-Bold-tlf-ot1.tfm
+2020/08/02 | 1744 | fonts/bitter/tfm/Bttr-Bold-tlf-t1--base.tfm
+2020/08/02 | 1852 | fonts/bitter/tfm/Bttr-Bold-tlf-t1.tfm
+2020/08/02 | 1396 | fonts/bitter/tfm/Bttr-Bold-tlf-ts1--base.tfm
+2020/08/02 | 1400 | fonts/bitter/tfm/Bttr-Bold-tlf-ts1.tfm
+2020/08/02 | 1988 | fonts/bitter/tfm/Bttr-Italic-tlf-ly1--base.tfm
+2020/08/02 | 2036 | fonts/bitter/tfm/Bttr-Italic-tlf-ly1.tfm
+2020/08/02 | 1452 | fonts/bitter/tfm/Bttr-Italic-tlf-ot1.tfm
+2020/08/02 | 1940 | fonts/bitter/tfm/Bttr-Italic-tlf-t1--base.tfm
+2020/08/02 | 1992 | fonts/bitter/tfm/Bttr-Italic-tlf-t1.tfm
+2020/08/02 | 1416 | fonts/bitter/tfm/Bttr-Italic-tlf-ts1--base.tfm
+2020/08/02 | 1416 | fonts/bitter/tfm/Bttr-Italic-tlf-ts1.tfm
+2020/08/02 | 1712 | fonts/bitter/tfm/Bttr-Regular-tlf-ly1--base.tfm
+2020/08/02 | 1928 | fonts/bitter/tfm/Bttr-Regular-tlf-ly1.tfm
+2020/08/02 | 1476 | fonts/bitter/tfm/Bttr-Regular-tlf-ot1.tfm
+2020/08/02 | 1652 | fonts/bitter/tfm/Bttr-Regular-tlf-t1--base.tfm
+2020/08/02 | 1880 | fonts/bitter/tfm/Bttr-Regular-tlf-t1.tfm
+2020/08/02 | 1376 | fonts/bitter/tfm/Bttr-Regular-tlf-ts1--base.tfm
+2020/08/02 | 1380 | fonts/bitter/tfm/Bttr-Regular-tlf-ts1.tfm
+2020/08/02 | 23636 | fonts/bitter/truetype/Bitter-Bold.ttf
+2020/08/02 | 35828 | fonts/bitter/truetype/Bitter-Italic.ttf
+2020/08/02 | 87128 | fonts/bitter/truetype/Bitter-Regular.ttf
+2020/08/02 | 38783 | fonts/bitter/type1/Bttr-Bold.pfb
+2020/08/02 | 45380 | fonts/bitter/type1/Bttr-Italic.pfb
+2020/08/02 | 40493 | fonts/bitter/type1/Bttr-Regular.pfb
+2020/08/02 | 1636 | fonts/bitter/vf/Bttr-Bold-tlf-ly1.vf
+2020/08/02 | 1344 | fonts/bitter/vf/Bttr-Bold-tlf-t1.vf
+2020/08/02 | 484 | fonts/bitter/vf/Bttr-Bold-tlf-ts1.vf
+2020/08/02 | 1652 | fonts/bitter/vf/Bttr-Italic-tlf-ly1.vf
+2020/08/02 | 1628 | fonts/bitter/vf/Bttr-Italic-tlf-t1.vf
+2020/08/02 | 500 | fonts/bitter/vf/Bttr-Italic-tlf-ts1.vf
+2020/08/02 | 1660 | fonts/bitter/vf/Bttr-Regular-tlf-ly1.vf
+2020/08/02 | 1348 | fonts/bitter/vf/Bttr-Regular-tlf-t1.vf
+2020/08/02 | 500 | fonts/bitter/vf/Bttr-Regular-tlf-ts1.vf
+2020/08/02 | 262017 | fonts/bitter.zip
1991/03/15 | 136037 | fonts/blackletter/blackletter.mf
2009/08/19 | 41753 | fonts/boisik/boisik.sty
2009/02/24 | 3129 | fonts/boisik/bskarr10.mf
@@ -41303,13 +41352,88 @@
2017/01/31 | 502120 | fonts/fonts-churchslavonic/PonomarUnicode.ttf
2017/02/01 | 1141 | fonts/fonts-churchslavonic/README
2017/02/02 | 2698931 | fonts/fonts-churchslavonic.zip
-2020/07/25 | 14600 | fonts/forum/doc/forum-samples.pdf
-2020/07/25 | 337 | fonts/forum/doc/forum-samples.tex
-2020/07/25 | 4399 | fonts/forum/doc/OFL.txt
-2020/07/25 | 908 | fonts/forum/latex/forum.sty
-2020/07/25 | 1393 | fonts/forum/README
-2020/07/25 | 241080 | fonts/forum/truetype/Forum-Regular.ttf
-2020/07/25 | 121918 | fonts/forum.zip
+2020/08/01 | 24204 | fonts/forum/doc/forum-samples.pdf
+2020/08/01 | 472 | fonts/forum/doc/forum-samples.tex
+2020/08/01 | 4399 | fonts/forum/doc/OFL.txt
+2020/08/01 | 2782 | fonts/forum/enc/frm_acf3pt.enc
+2020/08/01 | 2713 | fonts/forum/enc/frm_b5i5mx.enc
+2020/08/01 | 3094 | fonts/forum/enc/frm_brq6mf.enc
+2020/08/01 | 2782 | fonts/forum/enc/frm_e2otk2.enc
+2020/08/01 | 2812 | fonts/forum/enc/frm_fx2ufv.enc
+2020/08/01 | 2799 | fonts/forum/enc/frm_jsuphk.enc
+2020/08/01 | 2812 | fonts/forum/enc/frm_smvvub.enc
+2020/08/01 | 2782 | fonts/forum/enc/frm_ylkcu6.enc
+2020/08/01 | 1282 | fonts/forum/latex/forum.sty
+2020/08/01 | 1073 | fonts/forum/latex/LY1Frm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/OT1Frm-LF.fd
+2020/08/01 | 1063 | fonts/forum/latex/T1Frm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/T2AFrm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/T2BFrm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/T2CFrm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/TS1Frm-LF.fd
+2020/08/01 | 2149 | fonts/forum/map/forum.map
+2020/08/01 | 140024 | fonts/forum/opentype/Forum-Regular.otf
+2020/08/01 | 451020 | fonts/forum/opentype/Frm-Bold.otf
+2020/08/01 | 1849 | fonts/forum/README
+2020/08/01 | 1812 | fonts/forum/tfm/Frm-Bold-lf-ly1--base.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-ly1--lcdfj.tfm
+2020/08/01 | 10628 | fonts/forum/tfm/Frm-Bold-lf-ly1.tfm
+2020/08/01 | 1340 | fonts/forum/tfm/Frm-Bold-lf-ot1--base.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-ot1--lcdfj.tfm
+2020/08/01 | 3768 | fonts/forum/tfm/Frm-Bold-lf-ot1.tfm
+2020/08/01 | 1760 | fonts/forum/tfm/Frm-Bold-lf-t1--base.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-t1--lcdfj.tfm
+2020/08/01 | 15772 | fonts/forum/tfm/Frm-Bold-lf-t1.tfm
+2020/08/01 | 1984 | fonts/forum/tfm/Frm-Bold-lf-t2a--base.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-t2a--lcdfj.tfm
+2020/08/01 | 12704 | fonts/forum/tfm/Frm-Bold-lf-t2a.tfm
+2020/08/01 | 1936 | fonts/forum/tfm/Frm-Bold-lf-t2b--base.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-t2b--lcdfj.tfm
+2020/08/01 | 10784 | fonts/forum/tfm/Frm-Bold-lf-t2b.tfm
+2020/08/01 | 1932 | fonts/forum/tfm/Frm-Bold-lf-t2c--base.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-t2c--lcdfj.tfm
+2020/08/01 | 8768 | fonts/forum/tfm/Frm-Bold-lf-t2c.tfm
+2020/08/01 | 1348 | fonts/forum/tfm/Frm-Bold-lf-ts1--base.tfm
+2020/08/01 | 1356 | fonts/forum/tfm/Frm-Bold-lf-ts1.tfm
+2020/08/01 | 1748 | fonts/forum/tfm/Frm-lf-ly1--base.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-ly1--lcdfj.tfm
+2020/08/01 | 10564 | fonts/forum/tfm/Frm-lf-ly1.tfm
+2020/08/01 | 1300 | fonts/forum/tfm/Frm-lf-ot1--base.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-ot1--lcdfj.tfm
+2020/08/01 | 3728 | fonts/forum/tfm/Frm-lf-ot1.tfm
+2020/08/01 | 1712 | fonts/forum/tfm/Frm-lf-t1--base.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-t1--lcdfj.tfm
+2020/08/01 | 15724 | fonts/forum/tfm/Frm-lf-t1.tfm
+2020/08/01 | 1940 | fonts/forum/tfm/Frm-lf-t2a--base.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-t2a--lcdfj.tfm
+2020/08/01 | 12660 | fonts/forum/tfm/Frm-lf-t2a.tfm
+2020/08/01 | 1896 | fonts/forum/tfm/Frm-lf-t2b--base.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-t2b--lcdfj.tfm
+2020/08/01 | 10744 | fonts/forum/tfm/Frm-lf-t2b.tfm
+2020/08/01 | 1888 | fonts/forum/tfm/Frm-lf-t2c--base.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-t2c--lcdfj.tfm
+2020/08/01 | 8724 | fonts/forum/tfm/Frm-lf-t2c.tfm
+2020/08/01 | 1328 | fonts/forum/tfm/Frm-lf-ts1--base.tfm
+2020/08/01 | 1336 | fonts/forum/tfm/Frm-lf-ts1.tfm
+2020/08/01 | 7212 | fonts/forum/type1/Frm-BoldLCDFJ.pfb
+2020/08/01 | 394084 | fonts/forum/type1/Frm-Bold.pfb
+2020/08/01 | 7123 | fonts/forum/type1/FrmLCDFJ.pfb
+2020/08/01 | 86592 | fonts/forum/type1/Frm.pfb
+2020/08/01 | 1632 | fonts/forum/vf/Frm-Bold-lf-ly1.vf
+2020/08/01 | 780 | fonts/forum/vf/Frm-Bold-lf-ot1.vf
+2020/08/01 | 1728 | fonts/forum/vf/Frm-Bold-lf-t1.vf
+2020/08/01 | 1680 | fonts/forum/vf/Frm-Bold-lf-t2a.vf
+2020/08/01 | 1528 | fonts/forum/vf/Frm-Bold-lf-t2b.vf
+2020/08/01 | 1472 | fonts/forum/vf/Frm-Bold-lf-t2c.vf
+2020/08/01 | 424 | fonts/forum/vf/Frm-Bold-lf-ts1.vf
+2020/08/01 | 1616 | fonts/forum/vf/Frm-lf-ly1.vf
+2020/08/01 | 772 | fonts/forum/vf/Frm-lf-ot1.vf
+2020/08/01 | 1716 | fonts/forum/vf/Frm-lf-t1.vf
+2020/08/01 | 1672 | fonts/forum/vf/Frm-lf-t2a.vf
+2020/08/01 | 1516 | fonts/forum/vf/Frm-lf-t2b.vf
+2020/08/01 | 1460 | fonts/forum/vf/Frm-lf-t2c.vf
+2020/08/01 | 420 | fonts/forum/vf/Frm-lf-ts1.vf
+2020/08/02 | 877161 | fonts/forum.zip
2020/03/03 | 951 | fonts/fourier-GUT/afm/fourier-alt.afm
2020/03/03 | 832 | fonts/fourier-GUT/afm/fourier-alt-black.afm
2020/03/03 | 828 | fonts/fourier-GUT/afm/fourier-alt-bold.afm
@@ -160264,22 +160388,22 @@
1997/10/22 | 46895 | info/installing_psnfss_on_emtex.pdf
2020/07/16 | 3120 | info/install-latex-guide-zh-cn/appendix/mirror.tex
2020/07/16 | 2463 | info/install-latex-guide-zh-cn/appendix/offline.tex
-2020/07/16 | 2958 | info/install-latex-guide-zh-cn/appendix/updateinfo.tex
+2020/08/02 | 3050 | info/install-latex-guide-zh-cn/appendix/updateinfo.tex
2020/07/16 | 3610 | info/install-latex-guide-zh-cn/appendix/wsladdition.tex
2020/07/16 | 21659 | info/install-latex-guide-zh-cn/chapter/editor.tex
-2020/07/16 | 5071 | info/install-latex-guide-zh-cn/chapter/macos.tex
+2020/08/02 | 5330 | info/install-latex-guide-zh-cn/chapter/macos.tex
2020/07/16 | 3955 | info/install-latex-guide-zh-cn/chapter/overleaf.tex
-2020/07/16 | 2367 | info/install-latex-guide-zh-cn/chapter/preface.tex
-2020/07/16 | 12504 | info/install-latex-guide-zh-cn/chapter/ubuntu.tex
-2020/07/16 | 18339 | info/install-latex-guide-zh-cn/chapter/windows.tex
+2020/08/02 | 2527 | info/install-latex-guide-zh-cn/chapter/preface.tex
+2020/07/18 | 12597 | info/install-latex-guide-zh-cn/chapter/ubuntu.tex
+2020/07/18 | 18493 | info/install-latex-guide-zh-cn/chapter/windows.tex
2020/07/16 | 11153 | info/install-latex-guide-zh-cn/chapter/wsl.tex
-2020/07/16 | 699375 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
-2020/07/16 | 3189 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.tex
+2020/08/02 | 700965 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
+2020/07/22 | 3201 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.tex
2020/07/16 | 19039 | info/install-latex-guide-zh-cn/LICENSE
2020/07/16 | 491 | info/install-latex-guide-zh-cn/make.bat
2020/07/16 | 596 | info/install-latex-guide-zh-cn/makefile
-2020/07/16 | 2668 | info/install-latex-guide-zh-cn/README.md
-2020/07/16 | 737380 | info/install-latex-guide-zh-cn.zip
+2020/07/16 | 2680 | info/install-latex-guide-zh-cn/README.md
+2020/08/02 | 739257 | info/install-latex-guide-zh-cn.zip
2008/06/13 | 116805 | info/intro-scientific/earth-moon.pdf
2009/02/19 | 226 | info/intro-scientific/Makefile
2009/02/18 | 1350 | info/intro-scientific/README
@@ -160907,34 +161031,34 @@
2005/03/14 | 1621 | info/lshort/bulgarian/README
2005/03/12 | 248370 | info/lshort/bulgarian/src/lshort-bg.src.zip
2010/03/07 | 5518892 | info/lshort/bulgarian.zip
-2019/04/17 | 1049683 | info/lshort/chinese/lshort-zh-cn.pdf
-2019/04/17 | 1404 | info/lshort/chinese/README.md
-2019/04/17 | 1149 | info/lshort/chinese/README-zh.md
-2018/09/26 | 7727 | info/lshort/chinese/src/app.A.install.tex
-2018/09/02 | 13711 | info/lshort/chinese/src/app.B.error.help.tex
-2019/04/17 | 4609 | info/lshort/chinese/src/biblio.tex
-2019/04/14 | 23216 | info/lshort/chinese/src/chap.01.basics.tex
-2019/04/15 | 18356 | info/lshort/chinese/src/chap.02.text.tex
-2019/04/15 | 45560 | info/lshort/chinese/src/chap.03.elements.tex
-2019/03/17 | 36220 | info/lshort/chinese/src/chap.04.math.tex
-2019/03/17 | 35186 | info/lshort/chinese/src/chap.05.style.tex
-2019/04/15 | 33266 | info/lshort/chinese/src/chap.06.spec.tex
-2019/03/17 | 17080 | info/lshort/chinese/src/chap.07.graphic.tex
-2018/09/30 | 17957 | info/lshort/chinese/src/chap.08.custom.tex
-2018/09/02 | 22987 | info/lshort/chinese/src/fdl.tex
-2019/03/14 | 2559 | info/lshort/chinese/src/INSTRUCTIONS.md
-2019/03/17 | 319 | info/lshort/chinese/src/latexmkrc
-2018/09/02 | 338 | info/lshort/chinese/src/lshort-zh-cn.ist
-2018/09/02 | 7252 | info/lshort/chinese/src/lshort-zh-cn-layout.tex
-2019/03/17 | 9137 | info/lshort/chinese/src/lshort-zh-cn-style.sty
-2019/04/17 | 1067 | info/lshort/chinese/src/lshort-zh-cn.tex
-2019/04/15 | 634 | info/lshort/chinese/src/make.bat
-2019/03/17 | 573 | info/lshort/chinese/src/Makefile
-2018/09/02 | 10147 | info/lshort/chinese/src/preface.contrib.tex
-2018/09/02 | 3617 | info/lshort/chinese/src/preface.overview.tex
-2018/09/02 | 17523 | info/lshort/chinese/src/sec.symbol.table.tex
-2018/09/30 | 1370 | info/lshort/chinese/src/titlepage.tex
-2019/04/17 | 1160488 | info/lshort/chinese.zip
+2020/08/02 | 1452490 | info/lshort/chinese/lshort-zh-cn.pdf
+2020/08/02 | 1413 | info/lshort/chinese/README.md
+2020/08/02 | 1240 | info/lshort/chinese/README-zh.md
+2020/08/02 | 8089 | info/lshort/chinese/src/chap/app.A.install.tex
+2020/08/02 | 13713 | info/lshort/chinese/src/chap/app.B.error.help.tex
+2020/08/02 | 4632 | info/lshort/chinese/src/chap/biblio.tex
+2020/08/02 | 26377 | info/lshort/chinese/src/chap/chap.01.basics.tex
+2020/08/02 | 18886 | info/lshort/chinese/src/chap/chap.02.text.tex
+2020/08/02 | 46138 | info/lshort/chinese/src/chap/chap.03.elements.tex
+2020/08/02 | 36867 | info/lshort/chinese/src/chap/chap.04.math.tex
+2020/08/02 | 39430 | info/lshort/chinese/src/chap/chap.05.style.tex
+2020/08/02 | 32891 | info/lshort/chinese/src/chap/chap.06.spec.tex
+2020/08/02 | 17248 | info/lshort/chinese/src/chap/chap.07.graphic.tex
+2020/08/02 | 18011 | info/lshort/chinese/src/chap/chap.08.custom.tex
+2020/08/02 | 22987 | info/lshort/chinese/src/chap/fdl.tex
+2020/08/02 | 10174 | info/lshort/chinese/src/chap/preface.contrib.tex
+2020/08/02 | 3668 | info/lshort/chinese/src/chap/preface.overview.tex
+2020/08/02 | 17722 | info/lshort/chinese/src/chap/sec.symbol.table.tex
+2020/08/02 | 1379 | info/lshort/chinese/src/chap/titlepage.tex
+2020/08/02 | 2954 | info/lshort/chinese/src/INSTRUCTIONS.md
+2020/08/02 | 319 | info/lshort/chinese/src/latexmkrc
+2020/08/02 | 338 | info/lshort/chinese/src/lshort-zh-cn.ist
+2020/08/02 | 7252 | info/lshort/chinese/src/lshort-zh-cn-layout.tex
+2020/08/02 | 9559 | info/lshort/chinese/src/lshort-zh-cn-style.sty
+2020/08/02 | 1148 | info/lshort/chinese/src/lshort-zh-cn.tex
+2020/08/02 | 722 | info/lshort/chinese/src/make.bat
+2020/08/02 | 573 | info/lshort/chinese/src/Makefile
+2020/08/02 | 1566880 | info/lshort/chinese.zip
2011/06/15 | 925 | info/lshort/czech/CHANGES
2011/06/15 | 2150642 | info/lshort/czech/lshort-cs.pdf
2011/06/15 | 2235 | info/lshort/czech/Makefile
@@ -162928,7 +163052,7 @@
2020/02/01 | 2057969 | install/fonts/baskervaldx.tds.zip
2020/06/07 | 2740859 | install/fonts/baskervillef.tds.zip
2012/04/28 | 198542 | install/fonts/bickham.tds.zip
-2020/07/25 | 101858 | install/fonts/bitter.tds.zip
+2020/08/02 | 269387 | install/fonts/bitter.tds.zip
2017/02/25 | 332326 | install/fonts/boondox.tds.zip
2020/07/22 | 4080316 | install/fonts/cabin.tds.zip
2014/08/18 | 542101 | install/fonts/caladea.tds.zip
@@ -162959,7 +163083,7 @@
2013/01/24 | 104073 | install/fonts/figbas.tds.zip
2020/01/13 | 661758 | install/fonts/firamath.tds.zip
2020/06/06 | 26137779 | install/fonts/fira.tds.zip
-2020/07/25 | 123472 | install/fonts/forum.tds.zip
+2020/08/02 | 886357 | install/fonts/forum.tds.zip
2013/04/04 | 75615 | install/fonts/fouriernc.tds.zip
2011/11/09 | 2238415 | install/fonts/frcursive.tds.zip
2017/02/27 | 2854578 | install/fonts/gandhi.tds.zip
@@ -209868,111 +209992,113 @@
2015/10/04 | 263467 | macros/luatex/generic/luatexbase/luatexbase.pdf
2015/10/04 | 450 | macros/luatex/generic/luatexbase/README.md
2015/10/04 | 270547 | macros/luatex/generic/luatexbase.zip
-2020/05/17 | 1536 | macros/luatex/generic/luatexja/COPYING
-2020/05/17 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
-2020/05/17 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
-2020/05/17 | 164277 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
-2020/05/17 | 13429 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
-2020/05/17 | 392691 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
-2020/05/17 | 69351 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
-2020/05/17 | 455647 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
-2020/05/17 | 514092 | macros/luatex/generic/luatexja/doc/luatexja.dtx
-2020/05/17 | 689332 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
-2020/05/17 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
-2020/05/17 | 1109921 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
-2020/05/17 | 485933 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
-2020/05/17 | 38608 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
-2020/05/17 | 3782 | macros/luatex/generic/luatexja/README
-2020/05/17 | 4559 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
-2020/05/17 | 33458 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
-2020/05/17 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
-2020/05/17 | 1636 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
-2020/05/17 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
-2020/05/17 | 29172 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
-2020/05/17 | 7541 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
-2020/05/17 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
-2020/05/17 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
-2020/05/17 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
-2020/05/17 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
-2020/05/17 | 2601 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
-2020/05/17 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
-2020/05/17 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
-2020/05/17 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
-2020/05/17 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
-2020/05/17 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
-2020/05/17 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
-2020/05/17 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
-2020/05/17 | 13431 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
-2020/05/17 | 11337 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
-2020/05/17 | 26453 | macros/luatex/generic/luatexja/src/lltjext.sty
-2020/05/17 | 18950 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
-2020/05/17 | 11755 | macros/luatex/generic/luatexja/src/ltj-base.lua
-2020/05/17 | 12311 | macros/luatex/generic/luatexja/src/ltj-base.sty
-2020/05/17 | 3834 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
-2020/05/17 | 176639 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
-2020/05/17 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
-2020/05/17 | 4093 | macros/luatex/generic/luatexja/src/ltj-compat.lua
-2020/05/17 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
-2020/05/17 | 36892 | macros/luatex/generic/luatexja/src/ltj-direction.lua
-2020/05/17 | 1749 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
-2020/05/17 | 215230 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
-2020/05/17 | 47151 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
-2020/05/17 | 44363 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
-2020/05/17 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
-2020/05/17 | 18036 | macros/luatex/generic/luatexja/src/ltj-kinsoku_make.tex
-2020/05/17 | 2360 | macros/luatex/generic/luatexja/src/ltj-latex.sty
-2020/05/17 | 3857 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
-2020/05/17 | 5859 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
-2020/05/17 | 8607 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
-2020/05/17 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
-2020/05/17 | 7453 | macros/luatex/generic/luatexja/src/ltj-math.lua
-2020/05/17 | 8919 | macros/luatex/generic/luatexja/src/ltj-otf.lua
-2020/05/17 | 4294 | macros/luatex/generic/luatexja/src/ltj-plain.sty
-2020/05/17 | 6715 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
-2020/05/17 | 13258 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
-2020/05/17 | 28597 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
-2020/05/17 | 189433 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
-2020/05/17 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
-2020/05/17 | 12437 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
-2020/05/17 | 4671 | macros/luatex/generic/luatexja/src/ltj-stack.lua
-2020/05/17 | 7547 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
-2020/05/17 | 3855 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
-2020/05/17 | 28132 | macros/luatex/generic/luatexja/src/luatexja-core.sty
-2020/05/17 | 20308 | macros/luatex/generic/luatexja/src/luatexja.lua
-2020/05/17 | 1832 | macros/luatex/generic/luatexja/src/luatexja.sty
-2020/05/17 | 10758 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
-2020/05/17 | 6047 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
-2020/05/17 | 42117 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
-2020/05/17 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
-2020/05/17 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
-2020/05/17 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
-2020/05/17 | 1406 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
-2020/05/17 | 17141 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
-2020/05/17 | 14727 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
-2020/05/17 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
-2020/05/17 | 501 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
-2020/05/17 | 2997 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
-2020/05/17 | 933 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
-2020/05/17 | 5681 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
-2020/05/17 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
-2020/05/17 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
-2020/05/17 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
-2020/05/17 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
-2020/05/17 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
-2020/05/17 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
-2020/05/17 | 7710 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
-2020/05/17 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
-2020/05/17 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
-2020/05/17 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
-2020/05/17 | 3311 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
-2020/05/17 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
-2020/05/17 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
-2020/05/17 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
-2020/05/17 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
-2020/05/17 | 804 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
-2020/05/17 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
-2020/05/17 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
-2020/05/18 | 3837359 | macros/luatex/generic/luatexja.zip
+2020/08/02 | 1536 | macros/luatex/generic/luatexja/COPYING
+2020/08/02 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
+2020/08/02 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
+2020/08/02 | 164277 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
+2020/08/02 | 13429 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
+2020/08/02 | 400100 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
+2020/08/02 | 69351 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
+2020/08/02 | 455647 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
+2020/08/02 | 515782 | macros/luatex/generic/luatexja/doc/luatexja.dtx
+2020/08/02 | 687538 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+2020/08/02 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
+2020/08/02 | 1104209 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+2020/08/02 | 485933 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
+2020/08/02 | 38608 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
+2020/08/02 | 3781 | macros/luatex/generic/luatexja/README
+2020/08/02 | 4559 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
+2020/08/02 | 33458 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
+2020/08/02 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+2020/08/02 | 1636 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+2020/08/02 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
+2020/08/02 | 29300 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+2020/08/02 | 7541 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
+2020/08/02 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
+2020/08/02 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
+2020/08/02 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
+2020/08/02 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
+2020/08/02 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
+2020/08/02 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
+2020/08/02 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
+2020/08/02 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
+2020/08/02 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
+2020/08/02 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
+2020/08/02 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
+2020/08/02 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
+2020/08/02 | 13431 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
+2020/08/02 | 11337 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
+2020/08/02 | 26453 | macros/luatex/generic/luatexja/src/lltjext.sty
+2020/08/02 | 19350 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
+2020/08/02 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
+2020/08/02 | 8438 | macros/luatex/generic/luatexja/src/ltj-base.sty
+2020/08/02 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
+2020/08/02 | 177037 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
+2020/08/02 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
+2020/08/02 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
+2020/08/02 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
+2020/08/02 | 39789 | macros/luatex/generic/luatexja/src/ltj-direction.lua
+2020/08/02 | 1786 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+2020/08/02 | 154828 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
+2020/08/02 | 49951 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+2020/08/02 | 45456 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
+2020/08/02 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
+2020/08/02 | 18036 | macros/luatex/generic/luatexja/src/ltj-kinsoku_make.tex
+2020/08/02 | 2387 | macros/luatex/generic/luatexja/src/ltj-latex.sty
+2020/08/02 | 3755 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+2020/08/02 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
+2020/08/02 | 8607 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
+2020/08/02 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
+2020/08/02 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
+2020/08/02 | 8612 | macros/luatex/generic/luatexja/src/ltj-otf.lua
+2020/08/02 | 4294 | macros/luatex/generic/luatexja/src/ltj-plain.sty
+2020/08/02 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+2020/08/02 | 14507 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+2020/08/02 | 29754 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
+2020/08/02 | 188936 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
+2020/08/02 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
+2020/08/02 | 12792 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
+2020/08/02 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
+2020/08/02 | 7661 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
+2020/08/02 | 3855 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
+2020/08/02 | 28141 | macros/luatex/generic/luatexja/src/luatexja-core.sty
+2020/08/02 | 20196 | macros/luatex/generic/luatexja/src/luatexja.lua
+2020/08/02 | 1832 | macros/luatex/generic/luatexja/src/luatexja.sty
+2020/08/02 | 10758 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
+2020/08/02 | 6074 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+2020/08/02 | 40201 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+2020/08/02 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
+2020/08/02 | 2060 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
+2020/08/02 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
+2020/08/02 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
+2020/08/02 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
+2020/08/02 | 1406 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
+2020/08/02 | 17141 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+2020/08/02 | 14727 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
+2020/08/02 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
+2020/08/02 | 501 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
+2020/08/02 | 2997 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
+2020/08/02 | 933 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
+2020/08/02 | 5681 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
+2020/08/02 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+2020/08/02 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
+2020/08/02 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
+2020/08/02 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
+2020/08/02 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
+2020/08/02 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
+2020/08/02 | 7710 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
+2020/08/02 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
+2020/08/02 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
+2020/08/02 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
+2020/08/02 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
+2020/08/02 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
+2020/08/02 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
+2020/08/02 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
+2020/08/02 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
+2020/08/02 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
+2020/08/02 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
+2020/08/02 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
+2020/08/02 | 3835682 | macros/luatex/generic/luatexja.zip
2020/07/27 | 7595 | macros/luatex/generic/luatexko/ChangeLog
2020/07/27 | 325482 | macros/luatex/generic/luatexko/luatexko-doc.pdf
2020/07/27 | 31952 | macros/luatex/generic/luatexko/luatexko-doc.tex
@@ -259337,9 +259463,9 @@
2019/12/07 | 19816 | systems/texlive/tlnet/archive/hologo.source.r53048.tar.xz
2019/02/28 | 2788 | systems/texlive/tlnet/archive/hook-pre-commit-pkg.doc.r41378.tar.xz
2019/02/28 | 808 | systems/texlive/tlnet/archive/hook-pre-commit-pkg.r41378.tar.xz
-2020/07/22 | 687764 | systems/texlive/tlnet/archive/horoscop.doc.r55901.tar.xz
-2020/07/22 | 10492 | systems/texlive/tlnet/archive/horoscop.r55901.tar.xz
-2020/07/22 | 74096 | systems/texlive/tlnet/archive/horoscop.source.r55901.tar.xz
+2020/08/02 | 688112 | systems/texlive/tlnet/archive/horoscop.doc.r56021.tar.xz
+2020/08/02 | 10484 | systems/texlive/tlnet/archive/horoscop.r56021.tar.xz
+2020/08/02 | 74156 | systems/texlive/tlnet/archive/horoscop.source.r56021.tar.xz
2019/02/28 | 110020 | systems/texlive/tlnet/archive/hpsdiss.doc.r15878.tar.xz
2019/02/28 | 5708 | systems/texlive/tlnet/archive/hpsdiss.r15878.tar.xz
2019/02/28 | 11408 | systems/texlive/tlnet/archive/hpsdiss.source.r15878.tar.xz
@@ -260451,8 +260577,8 @@
2020/05/08 | 16240 | systems/texlive/tlnet/archive/libertinus.doc.r55064.tar.xz
2020/06/29 | 470752 | systems/texlive/tlnet/archive/libertinus-fonts.doc.r55689.tar.xz
2020/06/29 | 1666684 | systems/texlive/tlnet/archive/libertinus-fonts.r55689.tar.xz
-2020/04/26 | 658568 | systems/texlive/tlnet/archive/libertinus-otf.doc.r54872.tar.xz
-2020/04/26 | 3684 | systems/texlive/tlnet/archive/libertinus-otf.r54872.tar.xz
+2020/08/02 | 599756 | systems/texlive/tlnet/archive/libertinus-otf.doc.r56017.tar.xz
+2020/08/02 | 3684 | systems/texlive/tlnet/archive/libertinus-otf.r56017.tar.xz
2020/05/08 | 972 | systems/texlive/tlnet/archive/libertinus.r55064.tar.xz
2020/06/12 | 1329740 | systems/texlive/tlnet/archive/libertinust1math.doc.r55517.tar.xz
2020/06/12 | 1011352 | systems/texlive/tlnet/archive/libertinust1math.r55517.tar.xz
@@ -260463,8 +260589,8 @@
2019/02/28 | 4748 | systems/texlive/tlnet/archive/libgreek.source.r27789.tar.xz
2019/02/28 | 162064 | systems/texlive/tlnet/archive/librarian.doc.r19880.tar.xz
2019/02/28 | 6860 | systems/texlive/tlnet/archive/librarian.r19880.tar.xz
-2020/07/30 | 52500 | systems/texlive/tlnet/archive/librebaskerville.doc.r55986.tar.xz
-2020/07/30 | 576200 | systems/texlive/tlnet/archive/librebaskerville.r55986.tar.xz
+2020/08/02 | 33176 | systems/texlive/tlnet/archive/librebaskerville.doc.r56018.tar.xz
+2020/08/02 | 576200 | systems/texlive/tlnet/archive/librebaskerville.r56018.tar.xz
2019/02/28 | 20164 | systems/texlive/tlnet/archive/librebodoni.doc.r39375.tar.xz
2019/02/28 | 547364 | systems/texlive/tlnet/archive/librebodoni.r39375.tar.xz
2020/08/01 | 107932 | systems/texlive/tlnet/archive/librecaslon.doc.r56003.tar.xz
@@ -260601,8 +260727,8 @@
2019/10/16 | 367020 | systems/texlive/tlnet/archive/lni.doc.r52401.tar.xz
2019/10/16 | 11740 | systems/texlive/tlnet/archive/lni.r52401.tar.xz
2019/10/16 | 24584 | systems/texlive/tlnet/archive/lni.source.r52401.tar.xz
-2020/07/30 | 29460 | systems/texlive/tlnet/archive/lobster2.doc.r55984.tar.xz
-2020/07/30 | 514084 | systems/texlive/tlnet/archive/lobster2.r55984.tar.xz
+2020/08/02 | 100416 | systems/texlive/tlnet/archive/lobster2.doc.r56019.tar.xz
+2020/08/02 | 514092 | systems/texlive/tlnet/archive/lobster2.r56019.tar.xz
2019/02/28 | 175696 | systems/texlive/tlnet/archive/locality.doc.r20422.tar.xz
2019/02/28 | 2412 | systems/texlive/tlnet/archive/locality.r20422.tar.xz
2019/02/28 | 6612 | systems/texlive/tlnet/archive/locality.source.r20422.tar.xz
@@ -261086,8 +261212,8 @@
2020/07/31 | 80456 | systems/texlive/tlnet/archive/marathi.doc.r55998.tar.xz
2020/07/31 | 4420 | systems/texlive/tlnet/archive/marathi.r55998.tar.xz
2020/07/31 | 8184 | systems/texlive/tlnet/archive/marathi.source.r55998.tar.xz
-2020/07/25 | 16812 | systems/texlive/tlnet/archive/marcellus.doc.r55927.tar.xz
-2020/07/25 | 30744 | systems/texlive/tlnet/archive/marcellus.r55927.tar.xz
+2020/08/02 | 19864 | systems/texlive/tlnet/archive/marcellus.doc.r56016.tar.xz
+2020/08/02 | 178120 | systems/texlive/tlnet/archive/marcellus.r56016.tar.xz
2019/02/28 | 188416 | systems/texlive/tlnet/archive/margbib.doc.r15878.tar.xz
2019/02/28 | 1524 | systems/texlive/tlnet/archive/margbib.r15878.tar.xz
2019/02/28 | 4220 | systems/texlive/tlnet/archive/margbib.source.r15878.tar.xz
@@ -263605,8 +263731,8 @@
2020/04/28 | 9792 | systems/texlive/tlnet/archive/quantikz.r54911.tar.xz
2020/03/04 | 706564 | systems/texlive/tlnet/archive/quantumarticle.doc.r54080.tar.xz
2020/03/04 | 14464 | systems/texlive/tlnet/archive/quantumarticle.r54080.tar.xz
-2020/07/29 | 88832 | systems/texlive/tlnet/archive/quattrocento.doc.r55975.tar.xz
-2020/07/29 | 729180 | systems/texlive/tlnet/archive/quattrocento.r55975.tar.xz
+2020/08/02 | 142552 | systems/texlive/tlnet/archive/quattrocento.doc.r56020.tar.xz
+2020/08/02 | 729188 | systems/texlive/tlnet/archive/quattrocento.r56020.tar.xz
2019/02/28 | 181576 | systems/texlive/tlnet/archive/quicktype.doc.r42183.tar.xz
2019/02/28 | 1024 | systems/texlive/tlnet/archive/quicktype.r42183.tar.xz
2019/10/04 | 212988 | systems/texlive/tlnet/archive/quiz2socrative.doc.r52276.tar.xz
@@ -264968,8 +265094,8 @@
2020/03/24 | 280 | systems/texlive/tlnet/archive/texlive-cz.r54496.tar.xz
2020/03/29 | 1338300 | systems/texlive/tlnet/archive/texlive-de.doc.r54604.tar.xz
2020/03/29 | 272 | systems/texlive/tlnet/archive/texlive-de.r54604.tar.xz
-2020/08/01 | 167984 | systems/texlive/tlnet/archive/texlive-docindex.doc.r56001.tar.xz
-2020/08/01 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r56001.tar.xz
+2020/08/02 | 168052 | systems/texlive/tlnet/archive/texlive-docindex.doc.r56011.tar.xz
+2020/08/02 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r56011.tar.xz
2020/04/16 | 1891392 | systems/texlive/tlnet/archive/texlive-en.doc.r54755.tar.xz
2020/04/16 | 272 | systems/texlive/tlnet/archive/texlive-en.r54755.tar.xz
2020/03/22 | 3090144 | systems/texlive/tlnet/archive/texlive-es.doc.r54465.tar.xz
@@ -265025,7 +265151,7 @@
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz
-2020/08/01 | 218656 | systems/texlive/tlnet/archive/texlive-scripts.doc.r56002.tar.xz
+2020/08/02 | 218656 | systems/texlive/tlnet/archive/texlive-scripts.doc.r56012.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -265049,7 +265175,7 @@
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz
-2020/08/01 | 132020 | systems/texlive/tlnet/archive/texlive-scripts.r56002.tar.xz
+2020/08/02 | 132000 | systems/texlive/tlnet/archive/texlive-scripts.r56012.tar.xz
2020/05/31 | 36284 | systems/texlive/tlnet/archive/texlive-scripts.win32.r55357.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
2020/05/12 | 592 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-darwinlegacy.r55117.tar.xz
@@ -265924,7 +266050,7 @@
2020/03/24 | 5064 | systems/texlive/tlnet/archive/uowthesistitlepage.r54512.tar.xz
2019/02/28 | 812 | systems/texlive/tlnet/archive/upca.doc.r22511.tar.xz
2019/02/28 | 1840 | systems/texlive/tlnet/archive/upca.r22511.tar.xz
-2020/08/01 | 306064 | systems/texlive/tlnet/archive/updmap-map.r56002.tar.xz
+2020/08/02 | 305728 | systems/texlive/tlnet/archive/updmap-map.r56012.tar.xz
2019/11/16 | 344 | systems/texlive/tlnet/archive/uplatex.aarch64-linux.r52800.tar.xz
2019/11/16 | 344 | systems/texlive/tlnet/archive/uplatex.amd64-freebsd.r52800.tar.xz
2019/11/16 | 344 | systems/texlive/tlnet/archive/uplatex.amd64-netbsd.r52800.tar.xz
@@ -266693,16 +266819,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2020/06/13 | 105829 | systems/texlive/tlnet/install-tl
-2020/08/01 | 5500769 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2020/08/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2020/08/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/08/02 | 5500796 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/08/02 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/08/02 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2020/05/31 | 4770 | systems/texlive/tlnet/install-tl-windows.bat
-2020/08/01 | 19382076 | systems/texlive/tlnet/install-tl-windows.exe
-2020/08/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2020/08/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/08/01 | 24269318 | systems/texlive/tlnet/install-tl.zip
-2020/08/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2020/08/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/08/02 | 19381964 | systems/texlive/tlnet/install-tl-windows.exe
+2020/08/02 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/08/02 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/08/02 | 24269314 | systems/texlive/tlnet/install-tl.zip
+2020/08/02 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/08/02 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2020/03/05 | 1215 | systems/texlive/tlnet/README.md
2020/04/06 | 5961 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
2016/04/12 | 600 | systems/texlive/tlnet/tlpkg/gpg/random_seed
@@ -266711,7 +266837,7 @@
2020/04/06 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2020/07/15 | 48932 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2020/07/31 | 6585 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2020/08/01 | 6587 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/04/15 | 223687 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2018/04/29 | 13647 | systems/texlive/tlnet/tlpkg/installer/DirSelect.pm
@@ -266758,12 +266884,12 @@
2020/05/17 | 20322 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2020/05/03 | 4786 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2017/11/14 | 27560 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2020/08/01 | 16346286 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2020/08/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/08/02 | 16349084 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/08/02 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/05/13 | 86417 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2020/08/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2020/08/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/08/01 | 2209764 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/08/02 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/08/02 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/08/02 | 2211932 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2020/04/15 | 58761 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2020/03/20 | 41736 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2020/05/11 | 15010 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -269958,17 +270084,21 @@
2020/06/28 | 2522192 | systems/win32/miktex/setup/windows-x64/miktexsetup-4.0-x64.zip
2020/05/17 | 25080072 | systems/win32/miktex/setup/windows-x64/setup-2.9.7442-x64.exe
2020/06/27 | 24918792 | systems/win32/miktex/setup/windows-x64/setup-4.0-x64.exe
+2020/08/01 | 24931080 | systems/win32/miktex/setup/windows-x64/setup-4.1-x64.exe
2020/07/01 | 237885704 | systems/win32/miktex/setup/windows-x86/basic-miktex-20.6.29.exe
2020/05/17 | 238190344 | systems/win32/miktex/setup/windows-x86/basic-miktex-2.9.7442.exe
2020/05/18 | 2200324 | systems/win32/miktex/setup/windows-x86/miktexsetup-2.9.7442.zip
2020/06/28 | 2181385 | systems/win32/miktex/setup/windows-x86/miktexsetup-4.0.zip
2020/05/17 | 19894024 | systems/win32/miktex/setup/windows-x86/setup-2.9.7442.exe
2020/06/27 | 20249864 | systems/win32/miktex/setup/windows-x86/setup-4.0.exe
+2020/08/01 | 20262664 | systems/win32/miktex/setup/windows-x86/setup-4.1.exe
2020/06/30 | 24818 | systems/win32/miktex/source/CHANGELOG.md
2020/06/30 | 26419776 | systems/win32/miktex/source/miktex-20.6.29.tar.xz
2020/06/30 | 499 | systems/win32/miktex/source/miktex-20.6.29.tar.xz.asc
2020/06/28 | 26414676 | systems/win32/miktex/source/miktex-20.6.tar.xz
2020/06/28 | 499 | systems/win32/miktex/source/miktex-20.6.tar.xz.asc
+2020/08/02 | 26418152 | systems/win32/miktex/source/miktex-20.7.tar.xz
+2020/08/02 | 499 | systems/win32/miktex/source/miktex-20.7.tar.xz.asc
2019/05/29 | 25598304 | systems/win32/miktex/source/miktex-2.9.7050.tar.xz
2019/05/29 | 499 | systems/win32/miktex/source/miktex-2.9.7050.tar.xz.asc
2019/08/01 | 26862852 | systems/win32/miktex/source/miktex-2.9.7140.tar.xz
@@ -271245,7 +271375,7 @@
2020/02/04 | 281488 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2020/08/01 | 537434 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/08/02 | 537434 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -272406,9 +272536,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2020/08/01 | 38929 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2020/08/01 | 43039 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/08/01 | 202095 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2020/08/01 | 1205637 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/08/01 | 1123890 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/08/02 | 202085 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/08/02 | 1206705 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/08/02 | 1124927 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2020/08/01 | 13102 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2020/08/01 | 14104 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -272562,187 +272692,187 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2019/09/11 | 231430 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2020/08/01 | 537457 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/08/01 | 59342 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2020/08/01 | 67257 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2020/08/01 | 956334 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2020/08/01 | 1061412 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2020/08/01 | 28604 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2020/08/01 | 30910 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2020/08/01 | 29398 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/08/01 | 34774 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2020/08/01 | 49590 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/08/01 | 57159 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/08/01 | 84661 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2020/08/01 | 93640 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/08/01 | 65818 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2020/08/01 | 73449 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2020/08/01 | 27008 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2020/08/01 | 30889 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2020/08/01 | 329618 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2020/08/01 | 392366 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2020/08/01 | 32350 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2020/08/01 | 36359 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2020/08/01 | 72255 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2020/08/01 | 79418 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/08/01 | 203965 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2020/08/01 | 224086 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2020/08/01 | 169656 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2020/08/01 | 184488 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2020/08/01 | 51936 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2020/08/01 | 58660 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2020/08/01 | 20816 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2020/08/01 | 22981 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2020/08/01 | 460433 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2020/08/01 | 45317 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2020/08/01 | 51136 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2020/08/01 | 273697 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2020/08/01 | 310932 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2020/08/01 | 40820 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2020/08/01 | 45031 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2020/08/01 | 115880 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2020/08/01 | 130358 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2020/08/01 | 1265429 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2020/08/01 | 1404302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2020/08/01 | 95399 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2020/08/01 | 109730 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2020/08/01 | 43314 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2020/08/01 | 48086 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2020/08/01 | 46358 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2020/08/01 | 51235 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2020/08/01 | 57147 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2020/08/01 | 62977 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2020/08/01 | 133655 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2020/08/01 | 151863 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2020/08/01 | 72861 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2020/08/01 | 77366 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/08/01 | 68967 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2020/08/01 | 77315 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2020/08/01 | 246824 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2020/08/01 | 281779 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2020/08/01 | 25503 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2020/08/01 | 29058 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2020/08/01 | 100918 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2020/08/01 | 116785 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2020/08/01 | 63514 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2020/08/01 | 72611 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2020/08/01 | 94383 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2020/08/01 | 113580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2020/08/01 | 59039 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2020/08/01 | 65545 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2020/08/01 | 462708 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/08/01 | 549966 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2020/08/01 | 141852 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2020/08/01 | 154418 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2020/08/01 | 94511 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2020/08/01 | 108990 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2020/08/01 | 15948 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2020/08/01 | 17625 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2020/08/01 | 27801 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2020/08/01 | 29636 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2020/08/01 | 623926 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2020/08/01 | 677580 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2020/08/01 | 500566 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2020/08/01 | 561889 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2020/08/01 | 544357 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2020/08/01 | 583964 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2020/08/01 | 93621 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2020/08/01 | 102588 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2020/08/01 | 1746181 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2020/08/01 | 2031792 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/08/01 | 67277 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2020/08/01 | 73689 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/08/01 | 26995 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2020/08/01 | 31253 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/08/01 | 7548 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2020/08/01 | 8566 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2020/08/01 | 192837 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2020/08/01 | 211537 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2020/08/01 | 269404 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2020/08/01 | 305084 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2020/08/01 | 96479 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2020/08/01 | 101783 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2020/08/01 | 79692 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2020/08/01 | 88873 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2020/08/01 | 170419 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2020/08/01 | 189152 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2020/08/01 | 159878 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2020/08/01 | 180900 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2020/08/01 | 196318 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2020/08/01 | 177374 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2020/08/01 | 85158 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2020/08/01 | 96845 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/08/01 | 31222 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2020/08/01 | 35032 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2020/08/01 | 57313 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2020/08/01 | 64236 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2020/08/01 | 63360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2020/08/01 | 69913 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2020/08/01 | 45774 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2020/08/01 | 52201 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2020/08/01 | 192586 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2020/08/01 | 210277 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2020/08/01 | 35214 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2020/08/01 | 39332 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2020/08/01 | 327551 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2020/08/01 | 360764 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2020/08/01 | 187719 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2020/08/01 | 193834 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2020/08/01 | 207669 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2020/08/01 | 243051 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2020/08/01 | 78101 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2020/08/01 | 87298 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2020/08/01 | 922274 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2020/08/01 | 1021968 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2020/08/01 | 20005 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2020/08/01 | 23600 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2020/08/01 | 31209 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2020/08/01 | 36865 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2020/08/01 | 63554 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/08/01 | 71553 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2020/08/01 | 42623 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2020/08/01 | 50913 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2020/08/01 | 1192974 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2020/08/01 | 1325258 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2020/08/01 | 42061 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2020/08/01 | 51421 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2020/08/01 | 76795 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2020/08/01 | 82785 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2020/08/01 | 26852 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2020/08/01 | 29026 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2020/08/01 | 16022 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2020/08/01 | 17727 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2020/08/01 | 63427 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2020/08/01 | 69182 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2020/08/01 | 151836 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2020/08/01 | 165591 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2020/08/01 | 77487 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2020/08/01 | 87980 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2020/08/01 | 97376 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2020/08/01 | 104547 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2020/08/01 | 2534480 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2020/08/01 | 2657477 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2020/08/01 | 55560 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2020/08/01 | 62026 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2020/08/01 | 33089 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2020/08/01 | 36920 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2020/08/01 | 26612 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2020/08/01 | 32392 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2020/08/01 | 66013 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2020/08/01 | 70140 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2020/08/01 | 250289 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2020/08/01 | 279882 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2020/08/01 | 597780 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2020/08/01 | 638662 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2020/08/01 | 39266 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/08/01 | 43075 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/08/01 | 202091 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2020/08/01 | 1205353 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/08/01 | 1124661 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2020/08/01 | 13127 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2020/08/01 | 14130 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/08/02 | 537457 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/08/02 | 59343 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/08/02 | 67258 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/08/02 | 956336 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/08/02 | 1061413 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/08/02 | 28603 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/08/02 | 30909 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/08/02 | 29399 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/08/02 | 34774 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/08/02 | 49590 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/08/02 | 57160 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/08/02 | 84661 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/08/02 | 93640 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/08/02 | 65817 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/08/02 | 73449 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/08/02 | 27008 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/08/02 | 30890 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/08/02 | 329619 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/08/02 | 392366 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/08/02 | 32350 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/08/02 | 36361 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/08/02 | 72256 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/08/02 | 79418 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/08/02 | 203964 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/08/02 | 224086 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/08/02 | 169656 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/08/02 | 184490 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/08/02 | 51937 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/08/02 | 58660 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/08/02 | 20816 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/08/02 | 22980 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/08/02 | 460432 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2020/08/02 | 45319 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/08/02 | 51136 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/08/02 | 273698 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/08/02 | 310934 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/08/02 | 40821 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/08/02 | 45032 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/08/02 | 115883 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/08/02 | 130358 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/08/02 | 1265429 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/08/02 | 1404301 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/08/02 | 95400 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/08/02 | 109731 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/08/02 | 43314 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/08/02 | 48084 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/08/02 | 46356 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/08/02 | 51235 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/08/02 | 57148 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/08/02 | 62977 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/08/02 | 133657 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/08/02 | 151863 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/08/02 | 72860 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/08/02 | 77366 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/08/02 | 68968 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/08/02 | 77315 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/08/02 | 246824 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/08/02 | 281781 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/08/02 | 25502 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/08/02 | 29058 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/08/02 | 100918 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/08/02 | 116786 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/08/02 | 63515 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/08/02 | 72612 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/08/02 | 94382 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/08/02 | 113580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/08/02 | 59040 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/08/02 | 65546 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/08/02 | 462709 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/08/02 | 549966 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/08/02 | 141853 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/08/02 | 154420 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/08/02 | 94513 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/08/02 | 108990 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/08/02 | 15948 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/08/02 | 17626 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/08/02 | 27802 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/08/02 | 29637 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/08/02 | 623928 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/08/02 | 677580 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/08/02 | 500566 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/08/02 | 561890 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/08/02 | 544358 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/08/02 | 583963 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/08/02 | 93621 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/08/02 | 102589 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/08/02 | 1746183 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/08/02 | 2031791 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/08/02 | 67277 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/08/02 | 73689 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/08/02 | 26995 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/08/02 | 31252 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/08/02 | 7548 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/08/02 | 8566 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/08/02 | 192836 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/08/02 | 211538 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/08/02 | 269403 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/08/02 | 305084 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/08/02 | 96480 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/08/02 | 101781 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/08/02 | 79692 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/08/02 | 88874 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/08/02 | 170418 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/08/02 | 189153 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/08/02 | 159877 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/08/02 | 180901 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/08/02 | 196318 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/08/02 | 177375 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/08/02 | 85159 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/08/02 | 96846 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/08/02 | 31223 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/08/02 | 35031 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/08/02 | 57313 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/08/02 | 64237 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/08/02 | 63360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/08/02 | 69913 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/08/02 | 45775 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/08/02 | 52202 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/08/02 | 192587 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2020/08/02 | 210275 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2020/08/02 | 35215 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2020/08/02 | 39331 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2020/08/02 | 327553 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/08/02 | 360764 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/08/02 | 187720 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/08/02 | 193834 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/08/02 | 207673 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/08/02 | 243051 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/08/02 | 78101 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/08/02 | 87297 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/08/02 | 922274 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/08/02 | 1021969 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/08/02 | 20006 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/08/02 | 23599 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/08/02 | 31209 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/08/02 | 36865 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/08/02 | 63553 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/08/02 | 71552 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/08/02 | 42622 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/08/02 | 50912 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/08/02 | 1192971 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/08/02 | 1325255 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/08/02 | 42062 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/08/02 | 51420 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/08/02 | 76796 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2020/08/02 | 82786 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2020/08/02 | 26853 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/08/02 | 29026 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/08/02 | 16024 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/08/02 | 17728 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/08/02 | 63428 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/08/02 | 69184 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/08/02 | 151836 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/08/02 | 165591 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/08/02 | 77488 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/08/02 | 87981 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/08/02 | 97377 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/08/02 | 104547 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/08/02 | 2534481 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/08/02 | 2657475 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/08/02 | 55559 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/08/02 | 62028 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/08/02 | 33090 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2020/08/02 | 36921 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2020/08/02 | 26612 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/08/02 | 32391 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/08/02 | 66013 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/08/02 | 70141 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/08/02 | 250287 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/08/02 | 279882 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/08/02 | 597777 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/08/02 | 638661 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/08/02 | 39266 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/08/02 | 43072 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/08/02 | 202112 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/08/02 | 1205223 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/08/02 | 1124038 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/08/02 | 13126 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/08/02 | 14128 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2020/08/01 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/08/02 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -273059,7 +273189,7 @@
2008/11/07 | 35981 | systems/win32/miktex/tm/packages/prettyref.tar.lzma
2017/07/26 | 201385 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
-2020/08/01 | 1155 | systems/win32/miktex/tm/packages/pr.ini
+2020/08/02 | 1155 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -274209,7 +274339,7 @@
2020/07/18 | 4918556 | systems/win32/w32tex/aleph-w32.tar.xz
2020/07/25 | 65827980 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2020/07/31 | 692885 | systems/win32/w32tex/ChangeLog
+2020/07/31 | 693001 | systems/win32/w32tex/ChangeLog
2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0
2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1
2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2
@@ -274232,8 +274362,8 @@
2020/07/22 | 45585756 | systems/win32/w32tex/latex-dev.tar.xz
2020/05/30 | 29268960 | systems/win32/w32tex/latex.tar.xz
2020/06/13 | 996116 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz
-2020/07/15 | 401021176 | systems/win32/w32tex/ltxpkgdocs.tar.xz
-2020/07/28 | 33839212 | systems/win32/w32tex/ltxpkgs.tar.xz
+2020/07/31 | 398767444 | systems/win32/w32tex/ltxpkgdocs.tar.xz
+2020/07/31 | 33836960 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/07/25 | 3833528 | systems/win32/w32tex/luajittex-dev-w32.tar.xz
2020/07/28 | 3806484 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
2020/07/25 | 3839216 | systems/win32/w32tex/luajittex-w32.tar.xz
@@ -274425,7 +274555,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2020/08/02 | 186 | timestamp
+2020/08/03 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 23f3d3dadf..616c8eafe6 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index ce8892db15..d41152fc18 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,494 +1,794 @@
+2020/08/02 | 97377 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/08/02 | 96846 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/08/02 | 96480 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/08/02 | 956336 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/08/02 | 9559 | info/lshort/chinese/src/lshort-zh-cn-style.sty
+2020/08/02 | 95400 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/08/02 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
+2020/08/02 | 94513 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/08/02 | 94382 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/08/02 | 93640 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/08/02 | 93621 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/08/02 | 933 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
+2020/08/02 | 922274 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/08/02 | 896 | macros/luatex/generic/luatexja/tool/otf-KozMinPr6N-Regular.txt
+2020/08/02 | 88874 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/08/02 | 886357 | install/fonts/forum.tds.zip
+2020/08/02 | 87981 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/08/02 | 877161 | fonts/forum.zip
+2020/08/02 | 87297 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/08/02 | 87128 | fonts/bitter/truetype/Bitter-Regular.ttf
+2020/08/02 | 8612 | macros/luatex/generic/luatexja/src/ltj-otf.lua
+2020/08/02 | 8607 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
+2020/08/02 | 8566 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/08/02 | 85159 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/08/02 | 84661 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/08/02 | 8438 | macros/luatex/generic/luatexja/src/ltj-base.sty
+2020/08/02 | 82786 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2020/08/02 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
+2020/08/02 | 8106 | macros/luatex/generic/luatexja/src/jfm-min.lua
+2020/08/02 | 8089 | info/lshort/chinese/src/chap/app.A.install.tex
+2020/08/02 | 79692 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/08/02 | 79418 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/08/02 | 78101 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/08/02 | 77488 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/08/02 | 77366 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/08/02 | 77315 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/08/02 | 7710 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
+2020/08/02 | 76796 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2020/08/02 | 7661 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
+2020/08/02 | 7548 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/08/02 | 7541 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
+2020/08/02 | 74156 | systems/texlive/tlnet/archive/horoscop.source.r56021.tar.xz
+2020/08/02 | 739257 | info/install-latex-guide-zh-cn.zip
+2020/08/02 | 7370 | macros/luatex/generic/luatexja/src/ltj-math.lua
+2020/08/02 | 73689 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/08/02 | 73449 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/08/02 | 729188 | systems/texlive/tlnet/archive/quattrocento.r56020.tar.xz
+2020/08/02 | 72860 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/08/02 | 72612 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/08/02 | 7252 | info/lshort/chinese/src/lshort-zh-cn-layout.tex
+2020/08/02 | 722 | info/lshort/chinese/src/make.bat
+2020/08/02 | 72256 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/08/02 | 71552 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/08/02 | 7026 | macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+2020/08/02 | 70141 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/08/02 | 700965 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
+2020/08/02 | 69913 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/08/02 | 69351 | macros/luatex/generic/luatexja/doc/ltjltxdoc.pdf
+2020/08/02 | 69184 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/08/02 | 68968 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/08/02 | 6891 | macros/luatex/generic/luatexja/src/addons/luatexja-otf.sty
+2020/08/02 | 688112 | systems/texlive/tlnet/archive/horoscop.doc.r56021.tar.xz
+2020/08/02 | 687538 | macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+2020/08/02 | 677580 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/08/02 | 67277 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/08/02 | 67258 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/08/02 | 66013 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/08/02 | 65817 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/08/02 | 65546 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/08/02 | 64237 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/08/02 | 638661 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/08/02 | 63553 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/08/02 | 63515 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/08/02 | 63428 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/08/02 | 63360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/08/02 | 62977 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/08/02 | 623928 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/08/02 | 62028 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/08/02 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
+2020/08/02 | 6074 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+2020/08/02 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
+2020/08/02 | 599756 | systems/texlive/tlnet/archive/libertinus-otf.doc.r56017.tar.xz
+2020/08/02 | 597777 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/08/02 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
+2020/08/02 | 59343 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/08/02 | 59040 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/08/02 | 58660 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/08/02 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
+2020/08/02 | 583963 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/08/02 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
+2020/08/02 | 576200 | systems/texlive/tlnet/archive/librebaskerville.r56018.tar.xz
+2020/08/02 | 573 | info/lshort/chinese/src/Makefile
+2020/08/02 | 57313 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/08/02 | 57160 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/08/02 | 57148 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/08/02 | 5681 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
+2020/08/02 | 561890 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/08/02 | 55559 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/08/02 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
+2020/08/02 | 5500796 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/08/02 | 549966 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/08/02 | 544358 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/08/02 | 54427 | macros/luatex/generic/luatexja/src/ltj-jisx0208.lua
+2020/08/02 | 537457 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/08/02 | 537434 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/08/02 | 5330 | info/install-latex-guide-zh-cn/chapter/macos.tex
+2020/08/02 | 5222 | macros/luatex/generic/luatexja/src/ltj-debug.lua
+2020/08/02 | 52202 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/08/02 | 51937 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/08/02 | 515782 | macros/luatex/generic/luatexja/doc/luatexja.dtx
+2020/08/02 | 51420 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/08/02 | 514092 | systems/texlive/tlnet/archive/lobster2.r56019.tar.xz
+2020/08/02 | 51235 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/08/02 | 51136 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/08/02 | 50912 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/08/02 | 501 | macros/luatex/generic/luatexja/src/patches/lltjp-preview.sty
+2020/08/02 | 500 | fonts/bitter/vf/Bttr-Regular-tlf-ts1.vf
+2020/08/02 | 500 | fonts/bitter/vf/Bttr-Italic-tlf-ts1.vf
+2020/08/02 | 500566 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/08/02 | 499 | systems/win32/miktex/source/miktex-20.7.tar.xz.asc
+2020/08/02 | 49951 | macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+2020/08/02 | 49590 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/08/02 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/08/02 | 4871 | macros/luatex/generic/luatexja/src/ltj-stack.lua
+2020/08/02 | 485933 | macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf
+2020/08/02 | 484 | fonts/bitter/vf/Bttr-Bold-tlf-ts1.vf
+2020/08/02 | 4808 | macros/luatex/generic/luatexja/src/jfm-tmin.lua
+2020/08/02 | 48084 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/08/02 | 46356 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/08/02 | 4632 | info/lshort/chinese/src/chap/biblio.tex
+2020/08/02 | 462709 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/08/02 | 46138 | info/lshort/chinese/src/chap/chap.03.elements.tex
+2020/08/02 | 460432 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2020/08/02 | 45775 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/08/02 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/08/02 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/08/02 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/08/02 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/08/02 | 4559 | macros/luatex/generic/luatexja/src/addons/luatexja-adjust.sty
+2020/08/02 | 455647 | macros/luatex/generic/luatexja/doc/ltjsclasses.pdf
+2020/08/02 | 45456 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
+2020/08/02 | 45380 | fonts/bitter/type1/Bttr-Italic.pfb
+2020/08/02 | 45319 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/08/02 | 45032 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/08/02 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
+2020/08/02 | 4399 | fonts/bitter/doc/OFL.txt
+2020/08/02 | 43314 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/08/02 | 43072 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/08/02 | 4294 | macros/luatex/generic/luatexja/src/ltj-plain.sty
+2020/08/02 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
+2020/08/02 | 42622 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/08/02 | 42062 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/08/02 | 40821 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/08/02 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
+2020/08/02 | 40493 | fonts/bitter/type1/Bttr-Regular.pfb
+2020/08/02 | 40201 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+2020/08/02 | 400100 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
+2020/08/02 | 39789 | macros/luatex/generic/luatexja/src/ltj-direction.lua
+2020/08/02 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
+2020/08/02 | 39430 | info/lshort/chinese/src/chap/chap.05.style.tex
+2020/08/02 | 39331 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2020/08/02 | 39266 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/08/02 | 392366 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/08/02 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r56011.tar.xz
+2020/08/02 | 38783 | fonts/bitter/type1/Bttr-Bold.pfb
+2020/08/02 | 38608 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
+2020/08/02 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
+2020/08/02 | 3855 | macros/luatex/generic/luatexja/src/luatexja-compat.sty
+2020/08/02 | 3835682 | macros/luatex/generic/luatexja.zip
+2020/08/02 | 3781 | macros/luatex/generic/luatexja/README
+2020/08/02 | 3755 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+2020/08/02 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
+2020/08/02 | 36921 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2020/08/02 | 36867 | info/lshort/chinese/src/chap/chap.04.math.tex
+2020/08/02 | 36865 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/08/02 | 3684 | systems/texlive/tlnet/archive/libertinus-otf.r56017.tar.xz
+2020/08/02 | 3668 | info/lshort/chinese/src/chap/preface.overview.tex
+2020/08/02 | 36361 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/08/02 | 360764 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/08/02 | 35828 | fonts/bitter/truetype/Bitter-Italic.ttf
+2020/08/02 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
+2020/08/02 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
+2020/08/02 | 35215 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2020/08/02 | 35031 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/08/02 | 34774 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/08/02 | 338 | info/lshort/chinese/src/lshort-zh-cn.ist
+2020/08/02 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
+2020/08/02 | 33458 | macros/luatex/generic/luatexja/src/addons/luatexja-ajmacros.sty
+2020/08/02 | 33176 | systems/texlive/tlnet/archive/librebaskerville.doc.r56018.tar.xz
+2020/08/02 | 3313 | macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
+2020/08/02 | 33090 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2020/08/02 | 329619 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/08/02 | 32891 | info/lshort/chinese/src/chap/chap.06.spec.tex
+2020/08/02 | 327553 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/08/02 | 326 | macros/luatex/generic/luatexja/tool/otf-AdobeMyungjoStd-Medium.txt
+2020/08/02 | 32391 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/08/02 | 3238 | macros/luatex/generic/luatexja/doc/jfm-test.lua
+2020/08/02 | 32350 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/08/02 | 319 | info/lshort/chinese/src/latexmkrc
+2020/08/02 | 317 | macros/luatex/generic/luatexja/tool/otf-AdobeSongStd-Light.txt
+2020/08/02 | 3143 | fonts/bitter/enc/bttr_ssdm5h.enc
+2020/08/02 | 3139 | fonts/bitter/enc/bttr_ncjtqa.enc
+2020/08/02 | 3135 | fonts/bitter/enc/bttr_vzfpnj.enc
+2020/08/02 | 31252 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/08/02 | 31223 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/08/02 | 31209 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/08/02 | 310934 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/08/02 | 3100 | macros/luatex/generic/luatexja/tool/table_jisx0208.tex
+2020/08/02 | 30909 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/08/02 | 30890 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/08/02 | 305728 | systems/texlive/tlnet/archive/updmap-map.r56012.tar.xz
+2020/08/02 | 3050 | info/install-latex-guide-zh-cn/appendix/updateinfo.tex
+2020/08/02 | 305084 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/08/02 | 2997 | macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
+2020/08/02 | 29754 | macros/luatex/generic/luatexja/src/ltj-ruby.lua
+2020/08/02 | 29637 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/08/02 | 2954 | info/lshort/chinese/src/INSTRUCTIONS.md
+2020/08/02 | 29399 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/08/02 | 29300 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+2020/08/02 | 29058 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/08/02 | 29026 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/08/02 | 2860 | fonts/bitter/enc/bttr_f2umud.enc
+2020/08/02 | 28603 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/08/02 | 2852 | fonts/bitter/enc/bttr_72jdjw.enc
+2020/08/02 | 2844 | fonts/bitter/enc/bttr_azarls.enc
+2020/08/02 | 2822 | fonts/bitter/enc/bttr_gljolu.enc
+2020/08/02 | 281781 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/08/02 | 28141 | macros/luatex/generic/luatexja/src/luatexja-core.sty
+2020/08/02 | 2805 | fonts/bitter/enc/bttr_x2bjkb.enc
+2020/08/02 | 279882 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/08/02 | 27802 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/08/02 | 2738 | fonts/bitter/enc/bttr_w3wxei.enc
+2020/08/02 | 273698 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/08/02 | 2728 | fonts/bitter/enc/bttr_b5i5mx.enc
+2020/08/02 | 2716 | fonts/bitter/enc/bttr_6upxhe.enc
+2020/08/02 | 27008 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/08/02 | 26995 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/08/02 | 269403 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/08/02 | 269387 | install/fonts/bitter.tds.zip
+2020/08/02 | 26853 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/08/02 | 26612 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/08/02 | 2657475 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/08/02 | 26453 | macros/luatex/generic/luatexja/src/lltjext.sty
+2020/08/02 | 26418152 | systems/win32/miktex/source/miktex-20.7.tar.xz
+2020/08/02 | 26377 | info/lshort/chinese/src/chap/chap.01.basics.tex
+2020/08/02 | 262017 | fonts/bitter.zip
+2020/08/02 | 2601 | macros/luatex/generic/luatexja/src/jfm-banjiao.lua
+2020/08/02 | 2586 | macros/luatex/generic/luatexja/src/jfm-kaiming.lua
+2020/08/02 | 2575 | macros/luatex/generic/luatexja/src/jfm-quanjiao.lua
+2020/08/02 | 25502 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/08/02 | 2534481 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/08/02 | 2527 | info/install-latex-guide-zh-cn/chapter/preface.tex
+2020/08/02 | 250287 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/08/02 | 246824 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/08/02 | 243051 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/08/02 | 24269314 | systems/texlive/tlnet/install-tl.zip
+2020/08/02 | 238 | fonts/bitter/doc/bitter-samples.tex
+2020/08/02 | 2387 | macros/luatex/generic/luatexja/src/ltj-latex.sty
+2020/08/02 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
+2020/08/02 | 23636 | fonts/bitter/truetype/Bitter-Bold.ttf
+2020/08/02 | 23599 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/08/02 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
+2020/08/02 | 22987 | info/lshort/chinese/src/chap/fdl.tex
+2020/08/02 | 22980 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/08/02 | 224086 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/08/02 | 2211932 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/08/02 | 2207 | macros/luatex/generic/luatexja/src/jfm-CCT.lua
+2020/08/02 | 2193 | macros/luatex/generic/luatexja/src/addons/luatexja-zhfonts.sty
+2020/08/02 | 218656 | systems/texlive/tlnet/archive/texlive-scripts.doc.r56012.tar.xz
+2020/08/02 | 211538 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/08/02 | 210275 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2020/08/02 | 20816 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/08/02 | 207673 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/08/02 | 2060 | macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
+2020/08/02 | 2057 | macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
+2020/08/02 | 203964 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/08/02 | 2036 | fonts/bitter/tfm/Bttr-Italic-tlf-ly1.tfm
+2020/08/02 | 2031791 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/08/02 | 202112 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/08/02 | 202085 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/08/02 | 20196 | macros/luatex/generic/luatexja/src/luatexja.lua
+2020/08/02 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
+2020/08/02 | 20006 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/08/02 | 1992 | fonts/bitter/tfm/Bttr-Italic-tlf-t1.tfm
+2020/08/02 | 1988 | fonts/bitter/tfm/Bttr-Italic-tlf-ly1--base.tfm
+2020/08/02 | 19864 | systems/texlive/tlnet/archive/marcellus.doc.r56016.tar.xz
+2020/08/02 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
+2020/08/02 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
+2020/08/02 | 196318 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/08/02 | 1940 | fonts/bitter/tfm/Bttr-Italic-tlf-t1--base.tfm
+2020/08/02 | 193834 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/08/02 | 19381964 | systems/texlive/tlnet/install-tl-windows.exe
+2020/08/02 | 19350 | macros/luatex/generic/luatexja/src/ltj-adjust.lua
+2020/08/02 | 192 | macros/luatex/generic/luatexja/src/jfm-mono.lua
+2020/08/02 | 1928 | fonts/bitter/tfm/Bttr-Regular-tlf-ly1.tfm
+2020/08/02 | 192836 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/08/02 | 192587 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2020/08/02 | 1924 | fonts/bitter/tfm/Bttr-Bold-tlf-ly1.tfm
+2020/08/02 | 189153 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/08/02 | 188936 | macros/luatex/generic/luatexja/src/ltjsclasses.dtx
+2020/08/02 | 18886 | info/lshort/chinese/src/chap/chap.02.text.tex
+2020/08/02 | 1880 | fonts/bitter/tfm/Bttr-Regular-tlf-t1.tfm
+2020/08/02 | 187720 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/08/02 | 1852 | fonts/bitter/tfm/Bttr-Bold-tlf-t1.tfm
+2020/08/02 | 184490 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/08/02 | 1832 | macros/luatex/generic/luatexja/src/luatexja.sty
+2020/08/02 | 1824 | fonts/bitter/tfm/Bttr-Bold-tlf-ly1--base.tfm
+2020/08/02 | 180901 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/08/02 | 18036 | macros/luatex/generic/luatexja/src/ltj-kinsoku_make.tex
+2020/08/02 | 18011 | info/lshort/chinese/src/chap/chap.08.custom.tex
+2020/08/02 | 1786 | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+2020/08/02 | 178120 | systems/texlive/tlnet/archive/marcellus.r56016.tar.xz
+2020/08/02 | 177375 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/08/02 | 17728 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/08/02 | 17722 | info/lshort/chinese/src/chap/sec.symbol.table.tex
+2020/08/02 | 177037 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
+2020/08/02 | 17626 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/08/02 | 1746183 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/08/02 | 1744 | fonts/bitter/tfm/Bttr-Bold-tlf-t1--base.tfm
+2020/08/02 | 17248 | info/lshort/chinese/src/chap/chap.07.graphic.tex
+2020/08/02 | 17141 | macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+2020/08/02 | 1712 | fonts/bitter/tfm/Bttr-Regular-tlf-ly1--base.tfm
+2020/08/02 | 170418 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/08/02 | 169656 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/08/02 | 168052 | systems/texlive/tlnet/archive/texlive-docindex.doc.r56011.tar.xz
+2020/08/02 | 1660 | fonts/bitter/vf/Bttr-Regular-tlf-ly1.vf
+2020/08/02 | 165591 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/08/02 | 1652 | fonts/bitter/vf/Bttr-Italic-tlf-ly1.vf
+2020/08/02 | 1652 | fonts/bitter/tfm/Bttr-Regular-tlf-t1--base.tfm
+2020/08/02 | 164277 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
+2020/08/02 | 1636 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
+2020/08/02 | 1636 | fonts/bitter/vf/Bttr-Bold-tlf-ly1.vf
+2020/08/02 | 16349084 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/08/02 | 1628 | fonts/bitter/vf/Bttr-Italic-tlf-t1.vf
+2020/08/02 | 16024 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/08/02 | 159877 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/08/02 | 15948 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/08/02 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+2020/08/02 | 1566880 | info/lshort/chinese.zip
+2020/08/02 | 154828 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
+2020/08/02 | 154420 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/08/02 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/08/02 | 1536 | macros/luatex/generic/luatexja/COPYING
+2020/08/02 | 1531 | fonts/bitter/latex/bitter.sty
+2020/08/02 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/08/02 | 151863 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/08/02 | 151836 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/08/02 | 1515 | fonts/bitter/map/bitter.map
+2020/08/02 | 1476 | fonts/bitter/tfm/Bttr-Regular-tlf-ot1.tfm
+2020/08/02 | 14727 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
+2020/08/02 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/08/02 | 1458 | fonts/bitter/README
+2020/08/02 | 1452 | fonts/bitter/tfm/Bttr-Italic-tlf-ot1.tfm
+2020/08/02 | 1452490 | info/lshort/chinese/lshort-zh-cn.pdf
+2020/08/02 | 14507 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+2020/08/02 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/08/02 | 1448 | fonts/bitter/latex/TS1Bttr-TLF.fd
+2020/08/02 | 1448 | fonts/bitter/latex/OT1Bttr-TLF.fd
+2020/08/02 | 1448 | fonts/bitter/latex/LY1Bttr-TLF.fd
+2020/08/02 | 1433 | fonts/bitter/latex/T1Bttr-TLF.fd
+2020/08/02 | 142552 | systems/texlive/tlnet/archive/quattrocento.doc.r56020.tar.xz
+2020/08/02 | 141853 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/08/02 | 1416 | fonts/bitter/tfm/Bttr-Italic-tlf-ts1.tfm
+2020/08/02 | 1416 | fonts/bitter/tfm/Bttr-Italic-tlf-ts1--base.tfm
+2020/08/02 | 1413 | info/lshort/chinese/README.md
+2020/08/02 | 14128 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/08/02 | 1408 | fonts/bitter/tfm/Bttr-Bold-tlf-ot1.tfm
+2020/08/02 | 1406 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
+2020/08/02 | 1404301 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/08/02 | 1400 | fonts/bitter/tfm/Bttr-Bold-tlf-ts1.tfm
+2020/08/02 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
+2020/08/02 | 1396 | fonts/bitter/tfm/Bttr-Bold-tlf-ts1--base.tfm
+2020/08/02 | 13811 | fonts/bitter/doc/bitter-samples.pdf
+2020/08/02 | 1380 | fonts/bitter/tfm/Bttr-Regular-tlf-ts1.tfm
+2020/08/02 | 1379 | info/lshort/chinese/src/chap/titlepage.tex
+2020/08/02 | 1376 | fonts/bitter/tfm/Bttr-Regular-tlf-ts1--base.tfm
+2020/08/02 | 13713 | info/lshort/chinese/src/chap/app.B.error.help.tex
+2020/08/02 | 1348 | fonts/bitter/vf/Bttr-Regular-tlf-t1.vf
+2020/08/02 | 1344 | fonts/bitter/vf/Bttr-Bold-tlf-t1.vf
+2020/08/02 | 13431 | macros/luatex/generic/luatexja/src/jfm-ujis.lua
+2020/08/02 | 13429 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
+2020/08/02 | 133657 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/08/02 | 1325255 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/08/02 | 132000 | systems/texlive/tlnet/archive/texlive-scripts.r56012.tar.xz
+2020/08/02 | 13126 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/08/02 | 130358 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/08/02 | 12792 | macros/luatex/generic/luatexja/src/ltj-setwidth.lua
+2020/08/02 | 1278 | macros/luatex/generic/luatexja/src/ltjclasses.ins
+2020/08/02 | 126 | macros/luatex/generic/luatexja/src/ltjltxdoc.ins
+2020/08/02 | 1265429 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/08/02 | 1240 | info/lshort/chinese/README-zh.md
+2020/08/02 | 1224 | macros/luatex/generic/luatexja/tool/chars2defcharrange.rb
+2020/08/02 | 12151 | macros/luatex/generic/luatexja/src/ltj-base.lua
+2020/08/02 | 1206705 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/08/02 | 1205223 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/08/02 | 1192971 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/08/02 | 116786 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/08/02 | 115883 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/08/02 | 1155 | systems/win32/miktex/tm/packages/pr.ini
+2020/08/02 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/08/02 | 1148 | info/lshort/chinese/src/lshort-zh-cn.tex
+2020/08/02 | 113580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/08/02 | 11337 | macros/luatex/generic/luatexja/src/jfm-ujisv.lua
+2020/08/02 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
+2020/08/02 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
+2020/08/02 | 1124927 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/08/02 | 1124038 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/08/02 | 1104209 | macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+2020/08/02 | 109731 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/08/02 | 108990 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/08/02 | 10758 | macros/luatex/generic/luatexja/src/patches/lltjcore.sty
+2020/08/02 | 1061413 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/08/02 | 10484 | systems/texlive/tlnet/archive/horoscop.r56021.tar.xz
+2020/08/02 | 104547 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/08/02 | 102589 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/08/02 | 1021969 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/08/02 | 101781 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/08/02 | 10174 | info/lshort/chinese/src/chap/preface.contrib.tex
+2020/08/02 | 100918 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/08/02 | 100416 | systems/texlive/tlnet/archive/lobster2.doc.r56019.tar.xz
2020/08/01 | 97447 | systems/win32/miktex/tm/packages/miktex-texware-bin-2.9.tar.lzma
-2020/08/01 | 97376 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2020/08/01 | 96876 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/08/01 | 96845 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/08/01 | 96479 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
2020/08/01 | 96434 | systems/win32/miktex/tm/packages/miktex-mfware-bin-2.9.tar.lzma
2020/08/01 | 956868 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-2.9.tar.lzma
-2020/08/01 | 956334 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
2020/08/01 | 95443 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-2.9.tar.lzma
-2020/08/01 | 95399 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
2020/08/01 | 950 | macros/latex/contrib/thmtools/source/thmdef-mdframed.dtx
2020/08/01 | 94577 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-2.9.tar.lzma
-2020/08/01 | 94511 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
2020/08/01 | 94493 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-2.9.tar.lzma
-2020/08/01 | 94383 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
2020/08/01 | 93722 | systems/win32/miktex/tm/packages/miktex-lua53-bin-2.9.tar.lzma
2020/08/01 | 93643 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/08/01 | 93640 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/08/01 | 93621 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2020/08/01 | 922553 | systems/win32/miktex/tm/packages/miktex-poppler-bin-2.9.tar.lzma
-2020/08/01 | 922274 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2020/08/01 | 88873 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
2020/08/01 | 88731 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-x64-2.9.tar.lzma
2020/08/01 | 87983 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma
-2020/08/01 | 87980 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2020/08/01 | 87298 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/08/01 | 8768 | fonts/forum/tfm/Frm-Bold-lf-t2c.tfm
2020/08/01 | 87253 | systems/win32/miktex/tm/packages/miktex-png-bin-x64-2.9.tar.lzma
+2020/08/01 | 8724 | fonts/forum/tfm/Frm-lf-t2c.tfm
2020/08/01 | 871048 | install/fonts/librebaskerville.tds.zip
+2020/08/01 | 86592 | fonts/forum/type1/Frm.pfb
2020/08/01 | 859922 | fonts/librebaskerville.zip
2020/08/01 | 8580 | macros/latex/contrib/thmtools/source/thm-patch.dtx
-2020/08/01 | 8566 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
2020/08/01 | 8558 | systems/win32/miktex/tm/packages/miktex-md5-bin-x64-2.9.tar.lzma
2020/08/01 | 85242 | systems/win32/miktex/tm/packages/miktex-mpmcli-bin-2.9.tar.lzma
-2020/08/01 | 85158 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
2020/08/01 | 850 | fonts/marcellus/latex/TS1Mrcls-LF.fd
-2020/08/01 | 84661 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2020/08/01 | 84619 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-2.9.tar.lzma
2020/08/01 | 8352 | fonts/marcellus/tfm/Mrcls-Regular-lf-t1.tfm
-2020/08/01 | 82785 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
2020/08/01 | 82746 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
2020/08/01 | 805 | macros/latex/contrib/thmtools/README.md
-2020/08/01 | 79692 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
2020/08/01 | 79662 | systems/win32/miktex/tm/packages/miktex-mkfntmap-bin-2.9.tar.lzma
2020/08/01 | 79458 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/08/01 | 79418 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
2020/08/01 | 7911 | macros/latex/contrib/thmtools/source/thm-listof.dtx
2020/08/01 | 783185 | fonts/lobster2.zip
2020/08/01 | 78158 | systems/win32/miktex/tm/packages/miktex-png-bin-2.9.tar.lzma
-2020/08/01 | 78101 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/08/01 | 780 | fonts/forum/vf/Frm-Bold-lf-ot1.vf
2020/08/01 | 77545 | systems/win32/miktex/tm/packages/miktex-texify-bin-2.9.tar.lzma
-2020/08/01 | 77487 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
2020/08/01 | 77486 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
2020/08/01 | 77375 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/08/01 | 77366 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/08/01 | 77315 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2020/08/01 | 76795 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2020/08/01 | 772 | fonts/forum/vf/Frm-lf-ot1.vf
2020/08/01 | 76785 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin.tar.lzma
2020/08/01 | 76096 | systems/texlive/tlnet/archive/nicematrix.source.r56008.tar.xz
-2020/08/01 | 7548 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
2020/08/01 | 7515 | systems/win32/miktex/tm/packages/miktex-md5-bin-2.9.tar.lzma
2020/08/01 | 73697 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/08/01 | 73689 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/08/01 | 73449 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
2020/08/01 | 73435 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma
2020/08/01 | 72896 | fonts/marcellus/type1/Mrcls-Regular.pfb
-2020/08/01 | 72861 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
2020/08/01 | 72832 | systems/win32/miktex/tm/packages/miktex-fonts-bin-2.9.tar.lzma
-2020/08/01 | 72611 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
2020/08/01 | 72461 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-x64-2.9.tar.lzma
-2020/08/01 | 72255 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/08/01 | 7212 | fonts/forum/type1/Frm-BoldLCDFJ.pfb
2020/08/01 | 72021 | systems/win32/miktex/tm/packages/miktex-cjkutils-bin-2.9.tar.lzma
-2020/08/01 | 71553 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
2020/08/01 | 71530 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2020/08/01 | 70140 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/08/01 | 7123 | fonts/forum/type1/FrmLCDFJ.pfb
2020/08/01 | 70119 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma
-2020/08/01 | 69913 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
2020/08/01 | 69736 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma
2020/08/01 | 693256 | systems/texlive/tlnet/archive/librecaslon.r56003.tar.xz
2020/08/01 | 69184 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2020/08/01 | 69182 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2020/08/01 | 68967 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
2020/08/01 | 68777 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-2.9.tar.lzma
-2020/08/01 | 677580 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2020/08/01 | 676919 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2020/08/01 | 67365 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-x64-2.9.tar.lzma
2020/08/01 | 67306 | systems/win32/miktex/tm/packages/miktex-lzma-bin-2.9.tar.lzma
-2020/08/01 | 67277 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2020/08/01 | 67257 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
2020/08/01 | 6660 | systems/texlive/tlnet/archive/ejpecp.source.r56007.tar.xz
-2020/08/01 | 66013 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
2020/08/01 | 65911 | systems/win32/miktex/tm/packages/miktex-web-bin-2.9.tar.lzma
+2020/08/01 | 6587 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/08/01 | 65843 | fonts/marcellus/type1/MrclsSC-Regular.pfb
-2020/08/01 | 65818 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
2020/08/01 | 65730 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-2.9.tar.lzma
2020/08/01 | 65601 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2020/08/01 | 65545 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2020/08/01 | 6472 | fonts/marcellus/tfm/Mrcls-Regular-lf-ly1.tfm
-2020/08/01 | 64236 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
2020/08/01 | 64186 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-x64-2.9.tar.lzma
-2020/08/01 | 638662 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
2020/08/01 | 638294 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma
2020/08/01 | 6369 | macros/latex/contrib/biblatex-contrib/biblatex-publist/README
2020/08/01 | 63607 | systems/win32/miktex/tm/packages/miktex-ps2pk-bin-2.9.tar.lzma
-2020/08/01 | 63554 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/08/01 | 63514 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
2020/08/01 | 63499 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-2.9.tar.lzma
2020/08/01 | 63484 | systems/win32/miktex/tm/packages/miktex-graphite2-bin-2.9.tar.lzma
-2020/08/01 | 63427 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
2020/08/01 | 63409 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-2.9.tar.lzma
-2020/08/01 | 63360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
2020/08/01 | 62988 | systems/win32/miktex/tm/packages/miktex-fmt-bin-x64-2.9.tar.lzma
-2020/08/01 | 62977 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2020/08/01 | 623926 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
2020/08/01 | 623240 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2020/08/01 | 62026 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2020/08/01 | 61741 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2020/08/01 | 598947 | systems/win32/miktex/tm/packages/miktex-yap-bin-2.9.tar.lzma
-2020/08/01 | 597780 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2020/08/01 | 59342 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
2020/08/01 | 59338 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-2.9.tar.lzma
-2020/08/01 | 59039 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
2020/08/01 | 58991 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-2.9.tar.lzma
-2020/08/01 | 58660 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
2020/08/01 | 58650 | systems/win32/miktex/tm/packages/miktex-cweb-bin-x64-2.9.tar.lzma
2020/08/01 | 584361 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2020/08/01 | 583964 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2020/08/01 | 57313 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
2020/08/01 | 57297 | systems/win32/miktex/tm/packages/miktex-mthelp-bin-2.9.tar.lzma
2020/08/01 | 57219 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/08/01 | 57159 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/08/01 | 57147 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
2020/08/01 | 57061 | systems/win32/miktex/tm/packages/miktex-fmt-bin-2.9.tar.lzma
2020/08/01 | 5639 | macros/latex/contrib/thmtools/source/unique.dtx
2020/08/01 | 562950 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma
-2020/08/01 | 561889 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2020/08/01 | 55560 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
2020/08/01 | 55547 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-2.9.tar.lzma
2020/08/01 | 551241 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2020/08/01 | 5500769 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2020/08/01 | 549966 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2020/08/01 | 544357 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2020/08/01 | 544332 | systems/win32/miktex/tm/packages/miktex-log4cxx-bin-2.9.tar.lzma
-2020/08/01 | 537457 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/08/01 | 537434 | systems/win32/miktex/tm/packages/files.csv.lzma
2020/08/01 | 52230 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma
-2020/08/01 | 52201 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2020/08/01 | 51936 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2020/08/01 | 51847 | systems/win32/miktex/tm/packages/miktex-cweb-bin-2.9.tar.lzma
2020/08/01 | 51448 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma
-2020/08/01 | 51421 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2020/08/01 | 51311 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2020/08/01 | 51235 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2020/08/01 | 51136 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
2020/08/01 | 51084 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma
2020/08/01 | 510117 | systems/win32/miktex/doc/miktex.pdf
2020/08/01 | 50971 | systems/win32/miktex/tm/packages/miktex-psutils-bin-x64-2.9.tar.lzma
-2020/08/01 | 50913 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
2020/08/01 | 5024 | systems/texlive/tlnet/archive/ejpecp.r56007.tar.xz
-2020/08/01 | 500566 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
2020/08/01 | 500262 | systems/win32/miktex/tm/packages/miktex-libressl-bin-2.9.tar.lzma
2020/08/01 | 49605 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-2.9.tar.lzma
-2020/08/01 | 49590 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/08/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/08/01 | 488 | fonts/marcellus/vf/Mrcls-Regular-lf-ts1.vf
-2020/08/01 | 48086 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2020/08/01 | 48043 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma
+2020/08/01 | 472 | fonts/forum/doc/forum-samples.tex
2020/08/01 | 4717 | systems/win32/miktex/tm/packages/miktex-config-2.9.tar.lzma
2020/08/01 | 4697936 | systems/texlive/tlnet/archive/tcolorbox.doc.r56009.tar.xz
2020/08/01 | 4679 | macros/latex/contrib/thmtools/source/thm-amsthm.dtx
-2020/08/01 | 46358 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
2020/08/01 | 46339 | systems/win32/miktex/tm/packages/miktex-findtexmf-bin-2.9.tar.lzma
2020/08/01 | 462764 | systems/win32/miktex/tm/packages/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/08/01 | 462708 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
2020/08/01 | 460557 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma
-2020/08/01 | 460433 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2020/08/01 | 45774 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
2020/08/01 | 45743 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-2.9.tar.lzma
-2020/08/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/08/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2020/08/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/08/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2020/08/01 | 4534 | macros/latex/contrib/thmtools/source/thmdef-shaded.dtx
-2020/08/01 | 45317 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
2020/08/01 | 45290 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-2.9.tar.lzma
-2020/08/01 | 45031 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/08/01 | 451020 | fonts/forum/opentype/Frm-Bold.otf
2020/08/01 | 44985 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma
2020/08/01 | 44524 | fonts/marcellus/truetype/MarcellusSC-Regular.ttf
2020/08/01 | 44406 | macros/latex/contrib/thmtools/doc/thmtools-manual.tex
2020/08/01 | 4430 | fonts/marcellus/doc/OFL.txt
+2020/08/01 | 4399 | fonts/forum/doc/OFL.txt
2020/08/01 | 43348 | fonts/marcellus/truetype/Marcellus-Regular.ttf
-2020/08/01 | 43314 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
2020/08/01 | 43293 | systems/win32/miktex/tm/packages/miktex-expat-bin-2.9.tar.lzma
-2020/08/01 | 43075 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
2020/08/01 | 43039 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/08/01 | 42623 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
2020/08/01 | 42614 | systems/win32/miktex/tm/packages/miktex-psutils-bin-2.9.tar.lzma
-2020/08/01 | 42061 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/08/01 | 424 | fonts/forum/vf/Frm-Bold-lf-ts1.vf
+2020/08/01 | 420 | fonts/forum/vf/Frm-lf-ts1.vf
2020/08/01 | 42004 | systems/win32/miktex/tm/packages/miktex-synctex-bin-2.9.tar.lzma
-2020/08/01 | 40820 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
2020/08/01 | 40816 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-2.9.tar.lzma
-2020/08/01 | 39332 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2020/08/01 | 394084 | fonts/forum/type1/Frm-Bold.pfb
2020/08/01 | 39326 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
-2020/08/01 | 39266 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/08/01 | 392366 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2020/08/01 | 392344 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
2020/08/01 | 38929 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
-2020/08/01 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r56001.tar.xz
2020/08/01 | 38575 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
2020/08/01 | 3849 | macros/latex/contrib/thmtools/source/aliasctr.dtx
2020/08/01 | 379380 | macros/latex/contrib/biblatex-contrib/biblatex-publist.zip
+2020/08/01 | 3768 | fonts/forum/tfm/Frm-Bold-lf-ot1.tfm
+2020/08/01 | 3728 | fonts/forum/tfm/Frm-lf-ot1.tfm
2020/08/01 | 37088 | macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
2020/08/01 | 36948 | systems/win32/miktex/tm/packages/miktex-upmendex-bin-x64.tar.lzma
2020/08/01 | 3692 | fonts/marcellus/tfm/MrclsSC-Regular-lf-sc-ot1.tfm
-2020/08/01 | 36920 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
2020/08/01 | 36871 | systems/win32/miktex/tm/packages/miktex-posix-bin-x64-2.9.tar.lzma
-2020/08/01 | 36865 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2020/08/01 | 36359 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2020/08/01 | 36350 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
2020/08/01 | 360966 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-x64-2.9.tar.lzma
-2020/08/01 | 360764 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
2020/08/01 | 358192 | macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
2020/08/01 | 3526 | macros/latex/contrib/thmtools/source/thm-ntheorem.dtx
-2020/08/01 | 35214 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
2020/08/01 | 35185 | systems/win32/miktex/tm/packages/miktex-patgen-bin.tar.lzma
2020/08/01 | 35048 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma
-2020/08/01 | 35032 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2020/08/01 | 34774 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2020/08/01 | 34737 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-x64-2.9.tar.lzma
2020/08/01 | 3396 | systems/texlive/tlnet/archive/algxpar.r56006.tar.xz
2020/08/01 | 33093 | systems/win32/miktex/tm/packages/miktex-upmendex-bin.tar.lzma
-2020/08/01 | 33089 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
2020/08/01 | 330096 | systems/win32/miktex/tm/packages/miktex-cairo-bin-2.9.tar.lzma
-2020/08/01 | 329618 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2020/08/01 | 327551 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
2020/08/01 | 326960 | systems/win32/miktex/tm/packages/miktex-pdftex-bin-2.9.tar.lzma
-2020/08/01 | 32392 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2020/08/01 | 32385 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma
-2020/08/01 | 32350 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2020/08/01 | 3229 | macros/latex/contrib/thmtools/source/thm-autoref.dtx
2020/08/01 | 32275 | systems/win32/miktex/tm/packages/miktex-chktex-bin-2.9.tar.lzma
2020/08/01 | 31 | macros/latex/contrib/thmtools/doc/VERSION.tex
2020/08/01 | 3163 | fonts/marcellus/enc/mrcls_cvodtw.enc
-2020/08/01 | 31253 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/08/01 | 31222 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2020/08/01 | 31209 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
2020/08/01 | 31200 | systems/win32/miktex/tm/packages/miktex-mspack-bin-2.9.tar.lzma
2020/08/01 | 311 | fonts/marcellus/doc/marcellus-samples.tex
2020/08/01 | 31198 | systems/win32/miktex/tm/packages/miktex-posix-bin-2.9.tar.lzma
2020/08/01 | 31152 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/08/01 | 310932 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2020/08/01 | 310585 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2020/08/01 | 30910 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/08/01 | 3094 | fonts/forum/enc/frm_brq6mf.enc
2020/08/01 | 30891 | systems/win32/miktex/tm/packages/miktex-autosp-bin-x64-2.9.tar.lzma
-2020/08/01 | 30889 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2020/08/01 | 308728 | systems/texlive/tlnet/archive/ejpecp.doc.r56007.tar.xz
2020/08/01 | 30852 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-x64-2.9.tar.lzma
-2020/08/01 | 306064 | systems/texlive/tlnet/archive/updmap-map.r56002.tar.xz
2020/08/01 | 305087 | systems/win32/miktex/tm/packages/miktex-metapost-bin-x64-2.9.tar.lzma
-2020/08/01 | 305084 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
2020/08/01 | 303 | fonts/librebaskerville/doc/librebaskerville-samples.tex
2020/08/01 | 3003 | fonts/marcellus/enc/mrcls_37huou.enc
-2020/08/01 | 29636 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2020/08/01 | 29625 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-x64-2.9.tar.lzma
2020/08/01 | 2951 | fonts/marcellus/enc/mrcls_stzmvz.enc
-2020/08/01 | 29398 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
2020/08/01 | 2934 | fonts/marcellus/enc/mrcls_rfafok.enc
2020/08/01 | 29343 | systems/win32/miktex/tm/packages/miktex-axohelp-bin-2.9.tar.lzma
2020/08/01 | 29079 | fonts/librebaskerville/doc/librebaskerville-samples.pdf
-2020/08/01 | 29058 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2020/08/01 | 29058 | systems/win32/miktex/tm/packages/miktex-teckit-bin-x64-2.9.tar.lzma
2020/08/01 | 29027 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2020/08/01 | 29026 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2020/08/01 | 2882 | fonts/marcellus/enc/mrcls_rwr7kk.enc
2020/08/01 | 2867 | fonts/marcellus/enc/mrcls_rzkwvt.enc
2020/08/01 | 28639 | systems/win32/miktex/tm/packages/miktex-autosp-bin-2.9.tar.lzma
-2020/08/01 | 28604 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
2020/08/01 | 284460 | macros/latex/contrib/thmtools.zip
-2020/08/01 | 281779 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2020/08/01 | 281656 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/08/01 | 2812 | fonts/forum/enc/frm_smvvub.enc
+2020/08/01 | 2812 | fonts/forum/enc/frm_fx2ufv.enc
2020/08/01 | 2800 | fonts/marcellus/enc/mrcls_5az7w7.enc
-2020/08/01 | 279882 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/08/01 | 2799 | fonts/forum/enc/frm_jsuphk.enc
2020/08/01 | 279748 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma
2020/08/01 | 27946 | systems/win32/miktex/tm/packages/miktex-lacheck-bin-2.9.tar.lzma
-2020/08/01 | 27801 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/08/01 | 2782 | fonts/forum/enc/frm_ylkcu6.enc
+2020/08/01 | 2782 | fonts/forum/enc/frm_e2otk2.enc
+2020/08/01 | 2782 | fonts/forum/enc/frm_acf3pt.enc
2020/08/01 | 2779 | macros/latex/contrib/thmtools/source/thm-llncs.dtx
-2020/08/01 | 273697 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
2020/08/01 | 273537 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/08/01 | 2713 | fonts/forum/enc/frm_b5i5mx.enc
2020/08/01 | 27025 | systems/win32/miktex/tm/packages/miktex-makeindex-bin-2.9.tar.lzma
2020/08/01 | 27013 | systems/win32/miktex/tm/packages/miktex-bzip2-bin-2.9.tar.lzma
-2020/08/01 | 27008 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2020/08/01 | 26995 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2020/08/01 | 269404 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
2020/08/01 | 269336 | systems/win32/miktex/tm/packages/miktex-metapost-bin-2.9.tar.lzma
2020/08/01 | 269299 | install/fonts/marcellus.tds.zip
2020/08/01 | 26857 | systems/win32/miktex/tm/packages/miktex-teckit-bin-2.9.tar.lzma
-2020/08/01 | 26852 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
2020/08/01 | 26615 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-2.9.tar.lzma
-2020/08/01 | 26612 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2020/08/01 | 2657477 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
2020/08/01 | 2656698 | systems/win32/miktex/tm/packages/miktex-texworks-bin-x64-2.9.tar.lzma
2020/08/01 | 262137 | fonts/marcellus.zip
2020/08/01 | 2600 | fonts/marcellus/tfm/Mrcls-Regular-lf-ot1.tfm
-2020/08/01 | 25503 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
2020/08/01 | 25494 | systems/win32/miktex/tm/packages/miktex-fribidixetex-bin-2.9.tar.lzma
2020/08/01 | 2534849 | systems/win32/miktex/tm/packages/miktex-texworks-bin-2.9.tar.lzma
-2020/08/01 | 2534480 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
2020/08/01 | 251112 | systems/texlive/tlnet/archive/playfair.doc.r56005.tar.xz
-2020/08/01 | 250289 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
2020/08/01 | 250254 | systems/win32/miktex/tm/packages/miktex-xetex-bin-2.9.tar.lzma
+2020/08/01 | 24931080 | systems/win32/miktex/setup/windows-x64/setup-4.1-x64.exe
2020/08/01 | 246831 | systems/win32/miktex/tm/packages/miktex-freetype2-bin-2.9.tar.lzma
-2020/08/01 | 246824 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
2020/08/01 | 243079 | systems/win32/miktex/tm/packages/miktex-pmx-bin-x64-2.9.tar.lzma
-2020/08/01 | 243051 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2020/08/01 | 24269318 | systems/texlive/tlnet/install-tl.zip
+2020/08/01 | 24204 | fonts/forum/doc/forum-samples.pdf
2020/08/01 | 237505 | macros/latex/contrib/thmtools/doc/thmtools-manual.pdf
-2020/08/01 | 23600 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2020/08/01 | 23584 | systems/win32/miktex/tm/packages/miktex-popt-bin-x64-2.9.tar.lzma
2020/08/01 | 23004 | systems/win32/miktex/tm/packages/miktex-devnag-bin-x64-2.9.tar.lzma
2020/08/01 | 230008 | systems/texlive/tlnet/archive/tcolorbox.r56009.tar.xz
-2020/08/01 | 22981 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2020/08/01 | 2281492 | systems/texlive/tlnet/archive/merriweather.r56004.tar.xz
-2020/08/01 | 224086 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2020/08/01 | 224086 | systems/win32/miktex/tm/packages/miktex-console-bin-x64-2.9.tar.lzma
-2020/08/01 | 2209764 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
-2020/08/01 | 218656 | systems/texlive/tlnet/archive/texlive-scripts.doc.r56002.tar.xz
+2020/08/01 | 2149 | fonts/forum/map/forum.map
2020/08/01 | 21332 | systems/texlive/tlnet/archive/nicematrix.r56008.tar.xz
2020/08/01 | 2117 | macros/latex/contrib/thmtools/source/thmtools.dtx
2020/08/01 | 211701 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma
-2020/08/01 | 211537 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2020/08/01 | 210508 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma
-2020/08/01 | 210277 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2020/08/01 | 20816 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
2020/08/01 | 20773 | systems/win32/miktex/tm/packages/miktex-devnag-bin-2.9.tar.lzma
2020/08/01 | 207684 | systems/win32/miktex/tm/packages/miktex-pmx-bin-2.9.tar.lzma
-2020/08/01 | 207669 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
2020/08/01 | 2046 | macros/latex/contrib/thmtools/source/parseargs.dtx
-2020/08/01 | 203965 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
2020/08/01 | 2032182 | systems/win32/miktex/tm/packages/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/08/01 | 2031792 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/08/01 | 202095 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2020/08/01 | 202091 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/08/01 | 20262664 | systems/win32/miktex/setup/windows-x86/setup-4.1.exe
2020/08/01 | 201466 | systems/win32/miktex/tm/packages/miktex-console-bin-2.9.tar.lzma
-2020/08/01 | 20005 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
2020/08/01 | 19979 | systems/win32/miktex/tm/packages/miktex-popt-bin-2.9.tar.lzma
+2020/08/01 | 1984 | fonts/forum/tfm/Frm-Bold-lf-t2a--base.tfm
2020/08/01 | 196676 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-2.9.tar.lzma
-2020/08/01 | 196318 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/08/01 | 1940 | fonts/forum/tfm/Frm-lf-t2a--base.tfm
2020/08/01 | 194062 | systems/win32/miktex/tm/packages/miktex-pixman-bin-x64-2.9.tar.lzma
2020/08/01 | 1939 | fonts/librebaskerville/latex/librebaskerville.sty
-2020/08/01 | 193834 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2020/08/01 | 19382076 | systems/texlive/tlnet/install-tl-windows.exe
+2020/08/01 | 1936 | fonts/forum/tfm/Frm-Bold-lf-t2b--base.tfm
+2020/08/01 | 1932 | fonts/forum/tfm/Frm-Bold-lf-t2c--base.tfm
2020/08/01 | 192870 | systems/win32/miktex/tm/packages/miktex-metafont-bin-2.9.tar.lzma
-2020/08/01 | 192837 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2020/08/01 | 192586 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
2020/08/01 | 192513 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-2.9.tar.lzma
2020/08/01 | 19106 | macros/latex/contrib/thmtools/doc/COPYING
+2020/08/01 | 1896 | fonts/forum/tfm/Frm-lf-t2b--base.tfm
2020/08/01 | 189352 | systems/win32/miktex/tm/packages/miktex-mktex-bin-x64-2.9.tar.lzma
-2020/08/01 | 189152 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2020/08/01 | 187719 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/08/01 | 1888 | fonts/forum/tfm/Frm-lf-t2c--base.tfm
2020/08/01 | 187712 | systems/win32/miktex/tm/packages/miktex-pixman-bin-2.9.tar.lzma
+2020/08/01 | 1849 | fonts/forum/README
2020/08/01 | 184513 | systems/win32/miktex/tm/packages/miktex-curl-bin-x64-2.9.tar.lzma
-2020/08/01 | 184488 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/08/01 | 1812 | fonts/forum/tfm/Frm-Bold-lf-ly1--base.tfm
2020/08/01 | 180924 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma
-2020/08/01 | 180900 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2020/08/01 | 1784 | fonts/marcellus/tfm/Mrcls-Regular-lf-ly1--base.tfm
2020/08/01 | 1781 | fonts/marcellus/map/marcellus.map
2020/08/01 | 1780 | fonts/marcellus/tfm/MrclsSC-Regular-lf-sc-ly1--base.tfm
2020/08/01 | 177451 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma
-2020/08/01 | 177374 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2020/08/01 | 17732 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2020/08/01 | 1772 | fonts/marcellus/tfm/Mrcls-Regular-sup-ly1.tfm
-2020/08/01 | 17727 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2020/08/01 | 1768 | fonts/marcellus/tfm/Mrcls-Regular-sup-ly1--base.tfm
2020/08/01 | 1764 | fonts/marcellus/tfm/MrclsSC-Regular-sup-sc-ly1.tfm
2020/08/01 | 17631 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2020/08/01 | 17625 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
2020/08/01 | 1760 | fonts/marcellus/tfm/MrclsSC-Regular-sup-sc-ly1--base.tfm
-2020/08/01 | 1746181 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/08/01 | 1760 | fonts/forum/tfm/Frm-Bold-lf-t1--base.tfm
+2020/08/01 | 1748 | fonts/forum/tfm/Frm-lf-ly1--base.tfm
2020/08/01 | 1740227 | systems/win32/miktex/tm/packages/miktex-luatex-bin-2.9.tar.lzma
2020/08/01 | 173088 | systems/texlive/tlnet/archive/algxpar.doc.r56006.tar.xz
+2020/08/01 | 1728 | fonts/forum/vf/Frm-Bold-lf-t1.vf
2020/08/01 | 1724 | fonts/marcellus/tfm/Mrcls-Regular-lf-t1--base.tfm
2020/08/01 | 1720 | fonts/marcellus/tfm/MrclsSC-Regular-lf-sc-t1--base.tfm
2020/08/01 | 1720 | fonts/marcellus/tfm/Mrcls-Regular-sup-t1.tfm
+2020/08/01 | 1716 | fonts/forum/vf/Frm-lf-t1.vf
2020/08/01 | 1712 | fonts/marcellus/vf/MrclsSC-Regular-lf-sc-t1.vf
2020/08/01 | 1712 | fonts/marcellus/tfm/MrclsSC-Regular-sup-sc-t1.tfm
2020/08/01 | 1712 | fonts/marcellus/tfm/Mrcls-Regular-sup-t1--base.tfm
+2020/08/01 | 1712 | fonts/forum/tfm/Frm-lf-t1--base.tfm
2020/08/01 | 170527 | systems/win32/miktex/tm/packages/miktex-mktex-bin-2.9.tar.lzma
2020/08/01 | 1704 | fonts/marcellus/vf/Mrcls-Regular-lf-t1.vf
2020/08/01 | 1704 | fonts/marcellus/tfm/MrclsSC-Regular-sup-sc-t1--base.tfm
-2020/08/01 | 170419 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2020/08/01 | 1696 | fonts/marcellus/vf/MrclsSC-Regular-sup-sc-t1.vf
-2020/08/01 | 169656 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
2020/08/01 | 169643 | systems/win32/miktex/tm/packages/miktex-curl-bin-2.9.tar.lzma
2020/08/01 | 1692 | fonts/marcellus/vf/Mrcls-Regular-sup-t1.vf
2020/08/01 | 1684 | fonts/marcellus/vf/MrclsSC-Regular-lf-sc-ly1.vf
2020/08/01 | 16844 | fonts/marcellus/doc/marcellus-samples.pdf
2020/08/01 | 1680 | fonts/marcellus/vf/Mrcls-Regular-lf-ly1.vf
-2020/08/01 | 167984 | systems/texlive/tlnet/archive/texlive-docindex.doc.r56001.tar.xz
+2020/08/01 | 1680 | fonts/forum/vf/Frm-Bold-lf-t2a.vf
2020/08/01 | 1679544 | systems/texlive/tlnet/archive/playfair.r56005.tar.xz
2020/08/01 | 1672 | fonts/marcellus/vf/MrclsSC-Regular-sup-sc-ly1.vf
+2020/08/01 | 1672 | fonts/forum/vf/Frm-lf-t2a.vf
2020/08/01 | 1668 | fonts/marcellus/vf/Mrcls-Regular-sup-ly1.vf
2020/08/01 | 165644 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
-2020/08/01 | 165591 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2020/08/01 | 16383 | macros/latex/contrib/thmtools/source/thm-kv.dtx
-2020/08/01 | 16346286 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/08/01 | 1632 | fonts/forum/vf/Frm-Bold-lf-ly1.vf
+2020/08/01 | 1616 | fonts/forum/vf/Frm-lf-ly1.vf
2020/08/01 | 16168 | fonts/marcellus/tfm/MrclsSC-Regular-lf-sc-t1.tfm
-2020/08/01 | 16022 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
2020/08/01 | 16003 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-2.9.tar.lzma
-2020/08/01 | 159878 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
2020/08/01 | 159782 | systems/win32/miktex/tm/packages/miktex-mo-bin-2.9.tar.lzma
-2020/08/01 | 15948 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2020/08/01 | 15942 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-2.9.tar.lzma
-2020/08/01 | 154418 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/08/01 | 15772 | fonts/forum/tfm/Frm-Bold-lf-t1.tfm
+2020/08/01 | 15724 | fonts/forum/tfm/Frm-lf-t1.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-t2c--lcdfj.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-t2b--lcdfj.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-t2a--lcdfj.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-t1--lcdfj.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-ot1--lcdfj.tfm
+2020/08/01 | 156 | fonts/forum/tfm/Frm-Bold-lf-ly1--lcdfj.tfm
2020/08/01 | 154188 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-x64-2.9.tar.lzma
-2020/08/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2020/08/01 | 1531 | macros/latex/contrib/thmtools/source/thm-beamer.dtx
-2020/08/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2020/08/01 | 151863 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/08/01 | 1528 | fonts/forum/vf/Frm-Bold-lf-t2b.vf
2020/08/01 | 151856 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2020/08/01 | 151836 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/08/01 | 1516 | fonts/forum/vf/Frm-lf-t2b.vf
2020/08/01 | 151672 | systems/win32/miktex/tm/packages/miktex-tex-bin-2.9.tar.lzma
2020/08/01 | 1508 | fonts/marcellus/README
-2020/08/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2020/08/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-t2c--lcdfj.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-t2b--lcdfj.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-t2a--lcdfj.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-t1--lcdfj.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-ot1--lcdfj.tfm
+2020/08/01 | 148 | fonts/forum/tfm/Frm-lf-ly1--lcdfj.tfm
+2020/08/01 | 1472 | fonts/forum/vf/Frm-Bold-lf-t2c.vf
+2020/08/01 | 1460 | fonts/forum/vf/Frm-lf-t2c.vf
2020/08/01 | 1448 | fonts/marcellus/latex/marcellus.sty
2020/08/01 | 141941 | systems/win32/miktex/tm/packages/miktex-hunspell-bin-2.9.tar.lzma
-2020/08/01 | 141852 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2020/08/01 | 14130 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2020/08/01 | 14104 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
-2020/08/01 | 1404302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/08/01 | 140024 | fonts/forum/opentype/Forum-Regular.otf
2020/08/01 | 1399289 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2020/08/01 | 1382 | macros/latex/contrib/thmtools/source/thmdef-thmbox.dtx
2020/08/01 | 1381132 | systems/texlive/tlnet/archive/nicematrix.doc.r56008.tar.xz
2020/08/01 | 1359149 | install/fonts/quattrocento.tds.zip
2020/08/01 | 1356 | fonts/marcellus/tfm/Mrcls-Regular-lf-ts1.tfm
+2020/08/01 | 1356 | fonts/forum/tfm/Frm-Bold-lf-ts1.tfm
+2020/08/01 | 1348 | fonts/forum/tfm/Frm-Bold-lf-ts1--base.tfm
2020/08/01 | 1340 | fonts/marcellus/tfm/Mrcls-Regular-lf-ts1--base.tfm
+2020/08/01 | 1340 | fonts/forum/tfm/Frm-Bold-lf-ot1--base.tfm
2020/08/01 | 1340119 | fonts/quattrocento.zip
2020/08/01 | 133779 | systems/win32/miktex/tm/packages/miktex-fontconfig-bin-2.9.tar.lzma
-2020/08/01 | 133655 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/08/01 | 1336 | fonts/forum/tfm/Frm-lf-ts1.tfm
+2020/08/01 | 1328 | fonts/forum/tfm/Frm-lf-ts1--base.tfm
2020/08/01 | 1325421 | systems/win32/miktex/tm/packages/miktex-runtime-bin-x64-2.9.tar.lzma
-2020/08/01 | 1325258 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2020/08/01 | 132020 | systems/texlive/tlnet/archive/texlive-scripts.r56002.tar.xz
-2020/08/01 | 13127 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
2020/08/01 | 13102 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
-2020/08/01 | 130358 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2020/08/01 | 130290 | systems/win32/miktex/tm/packages/miktex-dvips-bin-x64-2.9.tar.lzma
-2020/08/01 | 1265429 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/08/01 | 1300 | fonts/forum/tfm/Frm-lf-ot1--base.tfm
+2020/08/01 | 1282 | fonts/forum/latex/forum.sty
+2020/08/01 | 12704 | fonts/forum/tfm/Frm-Bold-lf-t2a.tfm
+2020/08/01 | 12660 | fonts/forum/tfm/Frm-lf-t2a.tfm
2020/08/01 | 1263345 | systems/win32/miktex/tm/packages/miktex-dvisvgm-bin-2.9.tar.lzma
2020/08/01 | 1251 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
2020/08/01 | 1248 | fonts/marcellus/tfm/MrclsSC-Regular-sup-sc-ot1.tfm
2020/08/01 | 1228 | fonts/marcellus/tfm/Mrcls-Regular-sup-ot1.tfm
2020/08/01 | 12064 | macros/latex/contrib/thmtools/source/thm-restate.dtx
-2020/08/01 | 1205637 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/08/01 | 1205353 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/08/01 | 1192974 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
2020/08/01 | 1192382 | systems/win32/miktex/tm/packages/miktex-runtime-bin-2.9.tar.lzma
2020/08/01 | 116926 | systems/win32/miktex/tm/packages/miktex-gd-bin-x64-2.9.tar.lzma
-2020/08/01 | 116785 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2020/08/01 | 115880 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2020/08/01 | 115737 | systems/win32/miktex/tm/packages/miktex-dvips-bin-2.9.tar.lzma
-2020/08/01 | 1155 | systems/win32/miktex/tm/packages/pr.ini
-2020/08/01 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2020/08/01 | 114420 | systems/texlive/tlnet/archive/merriweather.doc.r56004.tar.xz
2020/08/01 | 113646 | systems/win32/miktex/tm/packages/miktex-gregorio-bin-x64-2.9.tar.lzma
2020/08/01 | 11360 | systems/texlive/tlnet/archive/algxpar.source.r56006.tar.xz
-2020/08/01 | 113580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
2020/08/01 | 11300 | fonts/marcellus/tfm/MrclsSC-Regular-lf-sc-ly1.tfm
-2020/08/01 | 1124661 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2020/08/01 | 1123890 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2020/08/01 | 109735 | systems/win32/miktex/tm/packages/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2020/08/01 | 109730 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
2020/08/01 | 1092 | macros/latex/contrib/thmtools/doc/changes.txt
-2020/08/01 | 108990 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
2020/08/01 | 108945 | systems/win32/miktex/tm/packages/miktex-jpeg-bin-x64-2.9.tar.lzma
2020/08/01 | 107932 | systems/texlive/tlnet/archive/librecaslon.doc.r56003.tar.xz
-2020/08/01 | 1061412 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/08/01 | 10784 | fonts/forum/tfm/Frm-Bold-lf-t2b.tfm
+2020/08/01 | 10744 | fonts/forum/tfm/Frm-lf-t2b.tfm
+2020/08/01 | 1073 | fonts/forum/latex/TS1Frm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/T2CFrm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/T2BFrm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/T2AFrm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/OT1Frm-LF.fd
+2020/08/01 | 1073 | fonts/forum/latex/LY1Frm-LF.fd
+2020/08/01 | 1063 | fonts/forum/latex/T1Frm-LF.fd
+2020/08/01 | 10628 | fonts/forum/tfm/Frm-Bold-lf-ly1.tfm
2020/08/01 | 1059455 | systems/win32/miktex/tm/packages/miktex-asymptote-bin-x64-2.9.tar.lzma
-2020/08/01 | 104547 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/08/01 | 10564 | fonts/forum/tfm/Frm-lf-ly1.tfm
2020/08/01 | 104480 | systems/win32/miktex/tm/packages/miktex-texware-bin-x64-2.9.tar.lzma
2020/08/01 | 1041 | fonts/marcellus/latex/OT1Mrcls-Sup.fd
2020/08/01 | 1041 | fonts/marcellus/latex/LY1Mrcls-Sup.fd
2020/08/01 | 1032 | fonts/marcellus/latex/T1Mrcls-Sup.fd
2020/08/01 | 1030 | fonts/marcellus/latex/OT1Mrcls-LF.fd
2020/08/01 | 1030 | fonts/marcellus/latex/LY1Mrcls-LF.fd
-2020/08/01 | 102588 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
2020/08/01 | 102572 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma
2020/08/01 | 1021 | fonts/marcellus/latex/T1Mrcls-LF.fd
-2020/08/01 | 1021968 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2020/08/01 | 1021741 | systems/win32/miktex/tm/packages/miktex-poppler-bin-x64-2.9.tar.lzma
-2020/08/01 | 101783 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
2020/08/01 | 101650 | systems/win32/miktex/tm/packages/miktex-mfware-bin-x64-2.9.tar.lzma
-2020/08/01 | 100918 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
2020/08/01 | 100916 | systems/win32/miktex/tm/packages/miktex-gd-bin-2.9.tar.lzma
2020/07/31 | 990520 | macros/latex/contrib/nicematrix/nicematrix.pdf
2020/07/31 | 9899 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
@@ -529,13 +829,12 @@
2020/07/31 | 76829 | macros/latex/contrib/tcolorbox/goldshade.png
2020/07/31 | 7152072 | macros/latex/contrib/tcolorbox/tcolorbox.pdf
2020/07/31 | 701562 | macros/latex/contrib/horoscop/horoscop.pdf
-2020/07/31 | 692885 | systems/win32/w32tex/ChangeLog
+2020/07/31 | 693001 | systems/win32/w32tex/ChangeLog
2020/07/31 | 6828 | fonts/playfair/tfm/PlyfrDisplay-BoldItalic-osf-ot1.tfm
2020/07/31 | 6812 | fonts/playfair/tfm/PlyfrDisplay-Regular-osf-sc-ot1.tfm
2020/07/31 | 6808 | fonts/playfair/tfm/PlyfrDisplay-Regular-lf-sc-ot1.tfm
2020/07/31 | 6788 | fonts/playfair/tfm/PlyfrDisplay-BoldItalic-lf-ot1.tfm
2020/07/31 | 6691 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_snippet.sty
-2020/07/31 | 6585 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/07/31 | 65796 | fonts/playfair/tfm/PlyfrDisplay-Bold-osf-t1.tfm
2020/07/31 | 65620 | fonts/playfair/tfm/PlyfrDisplay-Bold-lf-t1.tfm
2020/07/31 | 6476204 | systems/win32/w32tex/ptex-ng-w32.tar.xz
@@ -607,6 +906,7 @@
2020/07/31 | 41608 | fonts/playfair/tfm/PlyfrDisplay-Black-lf-sc-t1.tfm
2020/07/31 | 408728 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
2020/07/31 | 40332 | macros/latex/contrib/algxpar/algxpar.dtx
+2020/07/31 | 398767444 | systems/win32/w32tex/ltxpkgdocs.tar.xz
2020/07/31 | 3976 | fonts/playfair/tfm/PlyfrDisplay-Italic-osf-sc-ot1.tfm
2020/07/31 | 3948 | fonts/playfair/tfm/PlyfrDisplay-Italic-lf-sc-ot1.tfm
2020/07/31 | 38348 | fonts/playfair/tfm/PlyfrDisplay-Regular-osf-ly1.tfm
@@ -624,6 +924,7 @@
2020/07/31 | 35224 | macros/latex/contrib/tcolorbox/lichtspiel.jpg
2020/07/31 | 3448 | macros/latex/contrib/tcolorbox/tcolorbox.doc.verbatim.tex
2020/07/31 | 3412 | macros/latex/contrib/tcolorbox/tcblistings.code.tex
+2020/07/31 | 33836960 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/07/31 | 33492 | macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
2020/07/31 | 32893 | macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex
2020/07/31 | 3252 | fonts/quattrocento/latex/quattrocento.sty
@@ -961,7 +1262,6 @@
2020/07/30 | 667 | macros/latex/contrib/ltx4yt/README.md
2020/07/30 | 6136 | macros/latex/contrib/ejpecp/README
2020/07/30 | 5896 | systems/texlive/tlnet/archive/annee-scolaire.source.r55988.tar.xz
-2020/07/30 | 576200 | systems/texlive/tlnet/archive/librebaskerville.r55986.tar.xz
2020/07/30 | 572 | fonts/merriweather/vf/Merriwthr-UltraBold-osf-ts1.vf
2020/07/30 | 572 | fonts/merriweather/vf/Merriwthr-UltraBdIt-osf-ts1.vf
2020/07/30 | 572 | fonts/merriweather/vf/Merriwthr-Regular-osf-ts1.vf
@@ -972,7 +1272,6 @@
2020/07/30 | 568 | fonts/merriweather/vf/Merriwthr-Bold-osf-ts1.vf
2020/07/30 | 532 | fonts/merriweather/vf/MerriwthrSans-ExtraBoldItalic-osf-ts1.vf
2020/07/30 | 528 | fonts/merriweather/vf/MerriwthrSans-LightItalic-osf-ts1.vf
-2020/07/30 | 52500 | systems/texlive/tlnet/archive/librebaskerville.doc.r55986.tar.xz
2020/07/30 | 524 | fonts/merriweather/vf/MerriwthrSans-Regular-osf-ts1.vf
2020/07/30 | 524 | fonts/merriweather/vf/MerriwthrSans-ExtraBold-osf-ts1.vf
2020/07/30 | 524 | fonts/merriweather/vf/MerriwthrSans-BoldItalic-osf-ts1.vf
@@ -980,7 +1279,6 @@
2020/07/30 | 520 | fonts/merriweather/vf/MerriwthrSans-Light-osf-ts1.vf
2020/07/30 | 520 | fonts/merriweather/vf/MerriwthrSans-Italic-osf-ts1.vf
2020/07/30 | 520 | fonts/merriweather/vf/MerriwthrSans-Bold-osf-ts1.vf
-2020/07/30 | 514084 | systems/texlive/tlnet/archive/lobster2.r55984.tar.xz
2020/07/30 | 496920 | systems/texlive/tlnet/archive/babel-german.doc.r55989.tar.xz
2020/07/30 | 45622296 | systems/win32/w32tex/web2c-w32.tar.xz
2020/07/30 | 4450 | fonts/merriweather/doc/OFL.txt
@@ -1007,7 +1305,6 @@
2020/07/30 | 2992 | fonts/merriweather/enc/mwthr_3g4t7f.enc
2020/07/30 | 2980 | fonts/merriweather/enc/mwthr_zwbe7j.enc
2020/07/30 | 2980 | fonts/merriweather/enc/mwthr_iuohxq.enc
-2020/07/30 | 29460 | systems/texlive/tlnet/archive/lobster2.doc.r55984.tar.xz
2020/07/30 | 2933 | fonts/merriweather/enc/mwthr_7ytifx.enc
2020/07/30 | 2919 | fonts/merriweather/enc/mwthr_hzrl5s.enc
2020/07/30 | 2893 | fonts/merriweather/enc/mwthr_tvbl63.enc
@@ -1213,7 +1510,6 @@
2020/07/30 | 10660 | language/marathi/namuna-report.tex
2020/07/29 | 986 | macros/latex/contrib/annee-scolaire/README.md
2020/07/29 | 9473 | fonts/utilities/fontools/bin/splitttc
-2020/07/29 | 88832 | systems/texlive/tlnet/archive/quattrocento.doc.r55975.tar.xz
2020/07/29 | 862985 | macros/latex/contrib/clefval.zip
2020/07/29 | 816 | macros/latex/contrib/annee-scolaire/annee-scolaire.ins
2020/07/29 | 8032 | fonts/utilities/fontools/share/fontools_lgr.enc
@@ -1222,7 +1518,6 @@
2020/07/29 | 790401 | macros/latex/contrib/babel-contrib/german.zip
2020/07/29 | 76963 | fonts/lobster2/type1/Lbstr-Regular.pfb
2020/07/29 | 76803 | fonts/lobster2/type1/Lbstr-Italic.pfb
-2020/07/29 | 729180 | systems/texlive/tlnet/archive/quattrocento.r55975.tar.xz
2020/07/29 | 72448 | fonts/lobster2/opentype/LobsterTwo-BoldItalic.otf
2020/07/29 | 71552 | fonts/lobster2/opentype/LobsterTwo-Italic.otf
2020/07/29 | 7153 | fonts/lobster2/type1/Lbstr-RegularLCDFJ.pfb
@@ -1470,7 +1765,6 @@
2020/07/28 | 36644 | fonts/quattrocento/tfm/Quattro-Italic-lf-t1.tfm
2020/07/28 | 36432 | fonts/quattrocento/tfm/Quattro-Regular-lf-t1.tfm
2020/07/28 | 3446012 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz
-2020/07/28 | 33839212 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/07/28 | 33775 | macros/latex/contrib/genealogytree/gtrcore.node.code.tex
2020/07/28 | 335424 | systems/texlive/tlnet/archive/luatexko.doc.r55969.tar.xz
2020/07/28 | 3303 | fonts/librecaslon/enc/lcsln_fx4jx2.enc
@@ -2105,32 +2399,3 @@
2020/07/27 | 1053611 | macros/latex/contrib/tudscr/doc/tudscrsource.pdf
2020/07/27 | 10466 | macros/latex/contrib/tudscr/logo/DDC-03.pdf
2020/07/27 | 10456 | macros/latex/contrib/tudscr/logo/DDC-21.pdf
-2020/07/26 | 9993 | fonts/ektype-tanka/doc/EkType-tanka.tex
-2020/07/26 | 943880 | graphics/mcf2graph.zip
-2020/07/26 | 8984 | macros/latex/contrib/fei/referencias.bib
-2020/07/26 | 87170 | graphics/mcf2graph/mcf2graph.mf
-2020/07/26 | 725702 | macros/latex/contrib/doclicense.zip
-2020/07/26 | 67400 | systems/texlive/tlnet/archive/forum.r55952.tar.xz
-2020/07/26 | 63844 | systems/texlive/tlnet/archive/bitter.r55952.tar.xz
-2020/07/26 | 569071 | graphics/mcf2graph/mcf_manual.pdf
-2020/07/26 | 51127 | fonts/ektype-tanka/doc/EkType-tanka.pdf
-2020/07/26 | 49265 | graphics/mcf2graph/mcf_manual.tex
-2020/07/26 | 4901 | fonts/ektype-tanka/README.txt
-2020/07/26 | 438675 | macros/latex/contrib/fei/fei.pdf
-2020/07/26 | 36579 | macros/latex/contrib/doclicense/doclicense.dtx
-2020/07/26 | 36468 | graphics/mcf2graph/mcf_man_soc.mf
-2020/07/26 | 3642 | graphics/mcf2graph/README
-2020/07/26 | 3505133 | fonts/ektype-tanka.zip
-2020/07/26 | 340702 | macros/latex/contrib/fei.zip
-2020/07/26 | 289530 | graphics/mcf2graph/mcf_example.pdf
-2020/07/26 | 282969 | macros/latex/contrib/doclicense/doclicense.pdf
-2020/07/26 | 22562 | macros/latex/contrib/fei/fei-template-sublist.tex
-2020/07/26 | 21391 | macros/latex/contrib/fei/fei-template.tex
-2020/07/26 | 21240 | systems/texlive/tlnet/archive/bitter.doc.r55952.tar.xz
-2020/07/26 | 1859 | macros/latex/contrib/fei/README
-2020/07/26 | 17560 | systems/texlive/tlnet/archive/forum.doc.r55952.tar.xz
-2020/07/26 | 16700 | graphics/mcf2graph/mcf_mplib_exa.tex
-2020/07/26 | 153581 | graphics/mcf2graph/mcf_mplib_exa.pdf
-2020/07/26 | 13097788 | systems/texlive/tlnet/archive/koma-script.r55944.tar.xz
-2020/07/26 | 111348 | macros/latex/contrib/fei/fei.dtx
-2020/07/26 | 10171 | graphics/mcf2graph/CHANGELOG
diff --git a/fonts/bitter/README b/fonts/bitter/README
index b70d708dd8..ddd898b724 100644
--- a/fonts/bitter/README
+++ b/fonts/bitter/README
@@ -1,12 +1,11 @@
This is the README for the bitter package, version
-2020-07-25.
+2020-08-02.
This package provides the Bitter family of fonts,
designed by Sol Matas for Huerta Tipografica
-(http://www.huertatipografica.com.ar), for use with xeLaTeX
-and luaLaTeX. Bitter is a contemporary slab-serif typeface
-for text. There are regular and bold weights and an italic,
-but no bold italic.
+(http://www.huertatipografica.com.ar). Bitter is a
+contemporary slab-serif typeface for text. There are regular
+and bold weights and an italic, but no bold italic.
To install this package on a TDS-compliant TeX system
download the file "tex-archive"/install/fonts/bitter.tds.zip
@@ -14,7 +13,8 @@ where the preferred URL for "tex-archive" is
http://mirrors.ctan.org. Unzip the archive at the root
of an appropriate texmf tree, likely a personal or local
tree. If necessary, update the file-name database (e.g.,
-texhash).
+texhash). Update the font-map files by enabling the Map file
+bitter.map.
To use, add
@@ -33,7 +33,9 @@ The original Truetype fonts were obtained from
https://fonts.google.com/specimen/Bitter
and are licensed under the SIL Open Font License, version
-1.1; the text may be found in the doc directory. The rest
-of the package is licensed under the terms of the LaTeX
-Project Public License. The maintainer of this package is
-Bob Tennent (rdt at cs.queensu.ca).
+1.1; the text may be found in the doc directory. The type1
+fonts were generated by fontforge and re-named in compliance
+with the Reserved Font Name provision of the OFL license.
+The rest of the package is licensed under the terms of the
+LaTeX Project Public License. The maintainer of this package
+is Bob Tennent (rdt at cs.queensu.ca).
diff --git a/fonts/bitter/doc/bitter-samples.pdf b/fonts/bitter/doc/bitter-samples.pdf
index 0bbc621301..2c85d29be5 100644
--- a/fonts/bitter/doc/bitter-samples.pdf
+++ b/fonts/bitter/doc/bitter-samples.pdf
Binary files differ
diff --git a/fonts/bitter/doc/bitter-samples.tex b/fonts/bitter/doc/bitter-samples.tex
index 0761c0ce00..9403f92567 100644
--- a/fonts/bitter/doc/bitter-samples.tex
+++ b/fonts/bitter/doc/bitter-samples.tex
@@ -1,4 +1,5 @@
\documentclass{article}
+\usepackage[T1]{fontenc}
\usepackage{bitter}
\usepackage{lipsum}
\begin{document}
diff --git a/fonts/bitter/enc/bttr_6upxhe.enc b/fonts/bitter/enc/bttr_6upxhe.enc
new file mode 100644
index 0000000000..dfe12f1c3c
--- /dev/null
+++ b/fonts/bitter/enc/bttr_6upxhe.enc
@@ -0,0 +1,62 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_6upxhe2m74q2iptst22s37sn3e
+% Encoding created by otftotfm on Sun Aug 2 10:59:07 2020
+% Command line follows encoding
+/AutoEnc_6upxhe2m74q2iptst22s37sn3e [
+%00
+ /.notdef /Delta /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /Omega /.notdef /.notdef /.notdef /.notdef /.notdef
+%10
+ /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+%20
+ /space /exclam /quotedblright /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis
+%80
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /Lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%A0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%B0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%C0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%D0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%E0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ot1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=TEX TEXT Bttr-Italic.ttf Bttr-Italic-tlf-ot1'
diff --git a/fonts/bitter/enc/bttr_72jdjw.enc b/fonts/bitter/enc/bttr_72jdjw.enc
new file mode 100644
index 0000000000..936089b5a3
--- /dev/null
+++ b/fonts/bitter/enc/bttr_72jdjw.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_72jdjwm5vgvijtliocbuglmi3h
+% Encoding created by otftotfm on Sun Aug 2 10:59:06 2020
+% Command line follows encoding
+/AutoEnc_72jdjwm5vgvijtliocbuglmi3h [
+%00
+ /.notdef /Euro /.notdef /.notdef /fraction /dotaccent /hungarumlaut /ogonek
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%10
+ /dotlessi /.notdef /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /circumflex /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /tilde /dieresis
+%80
+ /Lslash /quotesingle /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl
+ /circumflex /perthousand /Scaron /guilsinglleft /OE /Zcaron /asciicircum /minus
+%90
+ /lslash /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
+ /tilde /.notdef /scaron /guilsinglright /oe /zcaron /asciitilde /Ydieresis
+%A0
+ /.notdef /exclamdown /cent /sterling /currency /yen /brokenbar /section
+ /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /.notdef /registered /macron
+%B0
+ /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
+ /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
+%C0
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
+%D0
+ /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
+ /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+%E0
+ /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+%F0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
+ /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ly1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=TEX TYPEWRITER AND WINDOWS ANSI --feature=kern
+% Bttr-Bold.ttf Bttr-Bold-tlf-ly1'
diff --git a/fonts/bitter/enc/bttr_azarls.enc b/fonts/bitter/enc/bttr_azarls.enc
new file mode 100644
index 0000000000..ea9949bfd7
--- /dev/null
+++ b/fonts/bitter/enc/bttr_azarls.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_azarlslxpu5crmzy6prv63uygf
+% Encoding created by otftotfm on Sun Aug 2 10:59:07 2020
+% Command line follows encoding
+/AutoEnc_azarlslxpu5crmzy6prv63uygf [
+%00
+ /.notdef /Euro /.notdef /.notdef /fraction /dotaccent /hungarumlaut /ogonek
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%10
+ /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /circumflex /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /tilde /dieresis
+%80
+ /Lslash /quotesingle /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl
+ /circumflex /perthousand /Scaron /guilsinglleft /OE /Zcaron /asciicircum /minus
+%90
+ /lslash /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
+ /tilde /trademark /scaron /guilsinglright /oe /zcaron /asciitilde /Ydieresis
+%A0
+ /.notdef /exclamdown /cent /sterling /currency /yen /brokenbar /section
+ /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /.notdef /registered /macron
+%B0
+ /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
+ /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
+%C0
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
+%D0
+ /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
+ /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+%E0
+ /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+%F0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
+ /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ly1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=TEX TYPEWRITER AND WINDOWS ANSI Bttr-Italic.ttf
+% Bttr-Italic-tlf-ly1'
diff --git a/fonts/bitter/enc/bttr_b5i5mx.enc b/fonts/bitter/enc/bttr_b5i5mx.enc
new file mode 100644
index 0000000000..13c9588d2e
--- /dev/null
+++ b/fonts/bitter/enc/bttr_b5i5mx.enc
@@ -0,0 +1,62 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_b5i5mxmtjpehcnzsivl27t6vdh
+% Encoding created by otftotfm on Sun Aug 2 10:59:06 2020
+% Command line follows encoding
+/AutoEnc_b5i5mxmtjpehcnzsivl27t6vdh [
+%00
+ /.notdef /Delta /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%10
+ /dotlessi /.notdef /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+%20
+ /space /exclam /quotedblright /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis
+%80
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /Lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%A0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%B0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%C0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%D0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%E0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ot1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=TEX TEXT --feature=kern Bttr-Bold.ttf Bttr-Bold-tlf-ot1'
diff --git a/fonts/bitter/enc/bttr_f2umud.enc b/fonts/bitter/enc/bttr_f2umud.enc
new file mode 100644
index 0000000000..08e869be24
--- /dev/null
+++ b/fonts/bitter/enc/bttr_f2umud.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_f2umud5nj76no6f4hufpv63avg
+% Encoding created by otftotfm on Sun Aug 2 10:59:07 2020
+% Command line follows encoding
+/AutoEnc_f2umud5nj76no6f4hufpv63avg [
+%00
+ /.notdef /Euro /.notdef /.notdef /fraction /dotaccent /hungarumlaut /ogonek
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%10
+ /dotlessi /.notdef /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /circumflex /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /tilde /dieresis
+%80
+ /Lslash /quotesingle /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl
+ /circumflex /perthousand /Scaron /guilsinglleft /OE /Zcaron /asciicircum /minus
+%90
+ /lslash /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
+ /tilde /trademark /scaron /guilsinglright /oe /zcaron /asciitilde /Ydieresis
+%A0
+ /uni00A0 /exclamdown /cent /sterling /currency /yen /brokenbar /section
+ /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /uni00AD /registered /macron
+%B0
+ /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
+ /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
+%C0
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
+%D0
+ /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
+ /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+%E0
+ /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+%F0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
+ /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ly1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=TEX TYPEWRITER AND WINDOWS ANSI --feature=kern
+% Bttr-Regular.ttf Bttr-Regular-tlf-ly1'
diff --git a/fonts/bitter/enc/bttr_gljolu.enc b/fonts/bitter/enc/bttr_gljolu.enc
new file mode 100644
index 0000000000..2850b6f33e
--- /dev/null
+++ b/fonts/bitter/enc/bttr_gljolu.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_gljoluzdupcjvmvcx5spx3cmkd
+% Encoding created by otftotfm on Sun Aug 2 10:59:06 2020
+% Command line follows encoding
+/AutoEnc_gljoluzdupcjvmvcx5spx3cmkd [
+%00
+ /grave /acute /circumflex /tilde /dieresis /hungarumlaut /ring /caron
+ /breve /macron /dotaccent /cedilla /ogonek /quotesinglbase /guilsinglleft /guilsinglright
+%10
+ /quotedblleft /quotedblright /quotedblbase /guillemotleft /guillemotright /endash /emdash /.notdef
+ /.notdef /dotlessi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /asciitilde /hyphen
+%80
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /Lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /Scaron /.notdef /.notdef /.notdef /.notdef /.notdef
+ /Ydieresis /.notdef /Zcaron /.notdef /.notdef /.notdef /.notdef /section
+%A0
+ /.notdef /aogonek /.notdef /.notdef /.notdef /.notdef /eogonek /.notdef
+ /.notdef /.notdef /lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%B0
+ /.notdef /.notdef /scaron /.notdef /.notdef /.notdef /.notdef /.notdef
+ /ydieresis /.notdef /zcaron /.notdef /.notdef /exclamdown /questiondown /sterling
+%C0
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
+%D0
+ /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /OE
+ /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /.notdef
+%E0
+ /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+%F0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /oe
+ /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /germandbls
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_t1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=EXTENDED TEX FONT ENCODING - LATIN --feature=kern
+% Bttr-Bold.ttf Bttr-Bold-tlf-t1'
diff --git a/fonts/bitter/enc/bttr_ncjtqa.enc b/fonts/bitter/enc/bttr_ncjtqa.enc
new file mode 100644
index 0000000000..617e56435d
--- /dev/null
+++ b/fonts/bitter/enc/bttr_ncjtqa.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_ncjtqa6w53xc5iw5jpj6lsnv3a
+% Encoding created by otftotfm on Sun Aug 2 10:59:07 2020
+% Command line follows encoding
+/AutoEnc_ncjtqa6w53xc5iw5jpj6lsnv3a [
+%00
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /cedilla /ogonek /quotesinglbase /exclam /asterisk
+%10
+ /question /C /quotedblbase /bar /exclamdown /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /questiondown /.notdef
+%20
+ /.notdef /endash /.notdef /.notdef /dollar /.notdef /.notdef /quotesingle
+ /.notdef /.notdef /.notdef /.notdef /comma /.notdef /period /fraction
+%30
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /minus /.notdef /.notdef
+%40
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%50
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /Omega
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%60
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%70
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%80
+ /.notdef /.notdef /.notdef /.notdef /dagger /daggerdbl /.notdef /perthousand
+ /bullet /.notdef /.notdef /.notdef /florin /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /trademark
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%A0
+ /.notdef /.notdef /cent /sterling /currency /yen /brokenbar /section
+ /.notdef /copyright /ordfeminine /.notdef /logicalnot /.notdef /registered /.notdef
+%B0
+ /degree /plusminus /twosuperior /threesuperior /.notdef /mu /paragraph /periodcentered
+ /.notdef /onesuperior /ordmasculine /radical /onequarter /onehalf /threequarters /Euro
+%C0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%D0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /multiply /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%E0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /divide /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ts1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=TEX TEXT COMPANION SYMBOLS 1---TS1 Bttr-Italic.ttf
+% Bttr-Italic-tlf-ts1'
diff --git a/fonts/bitter/enc/bttr_ssdm5h.enc b/fonts/bitter/enc/bttr_ssdm5h.enc
new file mode 100644
index 0000000000..7122fe6163
--- /dev/null
+++ b/fonts/bitter/enc/bttr_ssdm5h.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_ssdm5hoa4cjlz25r7myoz4wwob
+% Encoding created by otftotfm on Sun Aug 2 10:59:07 2020
+% Command line follows encoding
+/AutoEnc_ssdm5hoa4cjlz25r7myoz4wwob [
+%00
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /cedilla /ogonek /quotesinglbase /exclam /asterisk
+%10
+ /question /C /quotedblbase /bar /exclamdown /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /questiondown /.notdef
+%20
+ /.notdef /endash /.notdef /.notdef /dollar /.notdef /.notdef /quotesingle
+ /.notdef /.notdef /.notdef /.notdef /comma /.notdef /period /fraction
+%30
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /minus /.notdef /.notdef
+%40
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%50
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /uni03A9
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%60
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%70
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%80
+ /.notdef /.notdef /.notdef /.notdef /dagger /daggerdbl /.notdef /perthousand
+ /bullet /.notdef /.notdef /.notdef /florin /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /trademark
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%A0
+ /.notdef /.notdef /cent /sterling /currency /yen /brokenbar /section
+ /.notdef /copyright /ordfeminine /.notdef /logicalnot /.notdef /registered /.notdef
+%B0
+ /degree /plusminus /twosuperior /threesuperior /.notdef /mu /paragraph /periodcentered
+ /.notdef /onesuperior /ordmasculine /radical /onequarter /onehalf /threequarters /Euro
+%C0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%D0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /multiply /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%E0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /divide /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ts1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=TEX TEXT COMPANION SYMBOLS 1---TS1 Bttr-Regular.ttf
+% Bttr-Regular-tlf-ts1'
diff --git a/fonts/bitter/enc/bttr_vzfpnj.enc b/fonts/bitter/enc/bttr_vzfpnj.enc
new file mode 100644
index 0000000000..8540af9bdc
--- /dev/null
+++ b/fonts/bitter/enc/bttr_vzfpnj.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_vzfpnj5z64g6oor364db7i6alc
+% Encoding created by otftotfm on Sun Aug 2 10:59:07 2020
+% Command line follows encoding
+/AutoEnc_vzfpnj5z64g6oor364db7i6alc [
+%00
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /cedilla /ogonek /quotesinglbase /exclam /asterisk
+%10
+ /question /C /quotedblbase /bar /exclamdown /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /questiondown /.notdef
+%20
+ /.notdef /endash /.notdef /.notdef /dollar /.notdef /.notdef /quotesingle
+ /.notdef /.notdef /.notdef /.notdef /comma /.notdef /period /fraction
+%30
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /minus /.notdef /.notdef
+%40
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%50
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%60
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%70
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%80
+ /.notdef /.notdef /.notdef /.notdef /dagger /daggerdbl /.notdef /perthousand
+ /bullet /.notdef /.notdef /.notdef /florin /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%A0
+ /.notdef /.notdef /cent /sterling /currency /yen /brokenbar /section
+ /.notdef /copyright /ordfeminine /.notdef /logicalnot /.notdef /registered /.notdef
+%B0
+ /degree /plusminus /twosuperior /threesuperior /.notdef /mu /paragraph /periodcentered
+ /.notdef /onesuperior /ordmasculine /radical /onequarter /onehalf /threequarters /Euro
+%C0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%D0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /multiply /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%E0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /divide /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ts1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=TEX TEXT COMPANION SYMBOLS 1---TS1 Bttr-Bold.ttf
+% Bttr-Bold-tlf-ts1'
diff --git a/fonts/bitter/enc/bttr_w3wxei.enc b/fonts/bitter/enc/bttr_w3wxei.enc
new file mode 100644
index 0000000000..ebc4fe6863
--- /dev/null
+++ b/fonts/bitter/enc/bttr_w3wxei.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_w3wxeivjqfma7thzjcozosvs3e
+% Encoding created by otftotfm on Sun Aug 2 10:59:07 2020
+% Command line follows encoding
+/AutoEnc_w3wxeivjqfma7thzjcozosvs3e [
+%00
+ /.notdef /uni0394 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /uni03A9 /.notdef /.notdef /.notdef /.notdef /.notdef
+%10
+ /dotlessi /.notdef /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+%20
+ /space /exclam /quotedblright /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis
+%80
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /Lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%A0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%B0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%C0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%D0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%E0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ot1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=TEX TEXT --feature=kern Bttr-Regular.ttf
+% Bttr-Regular-tlf-ot1'
diff --git a/fonts/bitter/enc/bttr_x2bjkb.enc b/fonts/bitter/enc/bttr_x2bjkb.enc
new file mode 100644
index 0000000000..e01b882061
--- /dev/null
+++ b/fonts/bitter/enc/bttr_x2bjkb.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_x2bjkb5sd5zxjhh6beeklz5rxd
+% Encoding created by otftotfm on Sun Aug 2 10:59:07 2020
+% Command line follows encoding
+/AutoEnc_x2bjkb5sd5zxjhh6beeklz5rxd [
+%00
+ /grave /acute /circumflex /tilde /dieresis /hungarumlaut /ring /caron
+ /breve /macron /dotaccent /cedilla /ogonek /quotesinglbase /guilsinglleft /guilsinglright
+%10
+ /quotedblleft /quotedblright /quotedblbase /guillemotleft /guillemotright /endash /emdash /.notdef
+ /.notdef /dotlessi /dotlessj /.notdef /.notdef /.notdef /.notdef /.notdef
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /asciitilde /hyphen
+%80
+ /Abreve /Aogonek /Cacute /Ccaron /Dcaron /Ecaron /Eogonek /Gbreve
+ /Lacute /.notdef /Lslash /Nacute /Ncaron /.notdef /.notdef /Racute
+%90
+ /Rcaron /Sacute /Scaron /Scedilla /Tcaron /Tcommaaccent /.notdef /Uring
+ /Ydieresis /Zacute /Zcaron /Zdotaccent /IJ /Idotaccent /.notdef /section
+%A0
+ /abreve /aogonek /cacute /ccaron /.notdef /ecaron /eogonek /gbreve
+ /lacute /.notdef /lslash /nacute /ncaron /.notdef /ohungarumlaut /racute
+%B0
+ /rcaron /sacute /scaron /scedilla /.notdef /tcommaaccent /uhungarumlaut /uring
+ /ydieresis /zacute /zcaron /zdotaccent /ij /exclamdown /questiondown /sterling
+%C0
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
+%D0
+ /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /OE
+ /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /.notdef
+%E0
+ /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+%F0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /oe
+ /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /germandbls
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_t1
+% --tfm-directory=texmf/fonts/tfm/huerta/bitter
+% --vf-directory=texmf/fonts/vf/huerta/bitter
+% --truetype-directory=texmf/fonts/truetype/huerta/bitter
+% --encoding-directory=texmf/fonts/enc/dvips/bitter
+% --map-file=texmf/fonts/map/dvips/bitter/Bttr.map --no-updmap --force
+% --coding-scheme=EXTENDED TEX FONT ENCODING - LATIN Bttr-Italic.ttf
+% Bttr-Italic-tlf-t1'
diff --git a/fonts/bitter/latex/LY1Bttr-TLF.fd b/fonts/bitter/latex/LY1Bttr-TLF.fd
new file mode 100644
index 0000000000..06a6fde47c
--- /dev/null
+++ b/fonts/bitter/latex/LY1Bttr-TLF.fd
@@ -0,0 +1,67 @@
+%% Generated by autoinst on 2020/08/02
+%%
+\ProvidesFile{LY1Bttr-TLF.fd}
+ [2020/08/02 (autoinst) Font definitions for LY1/Bttr-TLF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Bttr@scale\endcsname\relax
+ \let\Bttr@@scale\@empty
+\else
+ \edef\Bttr@@scale{s*[\csname Bttr@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{LY1}{Bttr-TLF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{LY1}{Bttr-TLF}{m}{n}{
+ <-> \Bttr@@scale Bttr-Regular-tlf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Bttr-TLF}{regular}{n}{
+ <-> alias * Bttr-TLF/m/n
+}{}
+
+\DeclareFontShape{LY1}{Bttr-TLF}{m}{it}{
+ <-> \Bttr@@scale Bttr-Italic-tlf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Bttr-TLF}{regular}{it}{
+ <-> alias * Bttr-TLF/m/it
+}{}
+
+\DeclareFontShape{LY1}{Bttr-TLF}{m}{sl}{
+ <-> ssub * Bttr-TLF/m/it
+}{}
+
+\DeclareFontShape{LY1}{Bttr-TLF}{regular}{sl}{
+ <-> ssub * Bttr-TLF/regular/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{LY1}{Bttr-TLF}{b}{n}{
+ <-> \Bttr@@scale Bttr-Bold-tlf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Bttr-TLF}{bold}{n}{
+ <-> alias * Bttr-TLF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{LY1}{Bttr-TLF}{bx}{n}{
+ <-> ssub * Bttr-TLF/b/n
+}{}
+
+\endinput
diff --git a/fonts/bitter/latex/OT1Bttr-TLF.fd b/fonts/bitter/latex/OT1Bttr-TLF.fd
new file mode 100644
index 0000000000..b2a13ab5d7
--- /dev/null
+++ b/fonts/bitter/latex/OT1Bttr-TLF.fd
@@ -0,0 +1,67 @@
+%% Generated by autoinst on 2020/08/02
+%%
+\ProvidesFile{OT1Bttr-TLF.fd}
+ [2020/08/02 (autoinst) Font definitions for OT1/Bttr-TLF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Bttr@scale\endcsname\relax
+ \let\Bttr@@scale\@empty
+\else
+ \edef\Bttr@@scale{s*[\csname Bttr@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{OT1}{Bttr-TLF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{OT1}{Bttr-TLF}{m}{n}{
+ <-> \Bttr@@scale Bttr-Regular-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Bttr-TLF}{regular}{n}{
+ <-> alias * Bttr-TLF/m/n
+}{}
+
+\DeclareFontShape{OT1}{Bttr-TLF}{m}{it}{
+ <-> \Bttr@@scale Bttr-Italic-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Bttr-TLF}{regular}{it}{
+ <-> alias * Bttr-TLF/m/it
+}{}
+
+\DeclareFontShape{OT1}{Bttr-TLF}{m}{sl}{
+ <-> ssub * Bttr-TLF/m/it
+}{}
+
+\DeclareFontShape{OT1}{Bttr-TLF}{regular}{sl}{
+ <-> ssub * Bttr-TLF/regular/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{OT1}{Bttr-TLF}{b}{n}{
+ <-> \Bttr@@scale Bttr-Bold-tlf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Bttr-TLF}{bold}{n}{
+ <-> alias * Bttr-TLF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{OT1}{Bttr-TLF}{bx}{n}{
+ <-> ssub * Bttr-TLF/b/n
+}{}
+
+\endinput
diff --git a/fonts/bitter/latex/T1Bttr-TLF.fd b/fonts/bitter/latex/T1Bttr-TLF.fd
new file mode 100644
index 0000000000..6f501bf729
--- /dev/null
+++ b/fonts/bitter/latex/T1Bttr-TLF.fd
@@ -0,0 +1,67 @@
+%% Generated by autoinst on 2020/08/02
+%%
+\ProvidesFile{T1Bttr-TLF.fd}
+ [2020/08/02 (autoinst) Font definitions for T1/Bttr-TLF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Bttr@scale\endcsname\relax
+ \let\Bttr@@scale\@empty
+\else
+ \edef\Bttr@@scale{s*[\csname Bttr@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T1}{Bttr-TLF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T1}{Bttr-TLF}{m}{n}{
+ <-> \Bttr@@scale Bttr-Regular-tlf-t1
+}{}
+
+\DeclareFontShape{T1}{Bttr-TLF}{regular}{n}{
+ <-> alias * Bttr-TLF/m/n
+}{}
+
+\DeclareFontShape{T1}{Bttr-TLF}{m}{it}{
+ <-> \Bttr@@scale Bttr-Italic-tlf-t1
+}{}
+
+\DeclareFontShape{T1}{Bttr-TLF}{regular}{it}{
+ <-> alias * Bttr-TLF/m/it
+}{}
+
+\DeclareFontShape{T1}{Bttr-TLF}{m}{sl}{
+ <-> ssub * Bttr-TLF/m/it
+}{}
+
+\DeclareFontShape{T1}{Bttr-TLF}{regular}{sl}{
+ <-> ssub * Bttr-TLF/regular/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{T1}{Bttr-TLF}{b}{n}{
+ <-> \Bttr@@scale Bttr-Bold-tlf-t1
+}{}
+
+\DeclareFontShape{T1}{Bttr-TLF}{bold}{n}{
+ <-> alias * Bttr-TLF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T1}{Bttr-TLF}{bx}{n}{
+ <-> ssub * Bttr-TLF/b/n
+}{}
+
+\endinput
diff --git a/fonts/bitter/latex/TS1Bttr-TLF.fd b/fonts/bitter/latex/TS1Bttr-TLF.fd
new file mode 100644
index 0000000000..f3c83f5612
--- /dev/null
+++ b/fonts/bitter/latex/TS1Bttr-TLF.fd
@@ -0,0 +1,67 @@
+%% Generated by autoinst on 2020/08/02
+%%
+\ProvidesFile{TS1Bttr-TLF.fd}
+ [2020/08/02 (autoinst) Font definitions for TS1/Bttr-TLF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Bttr@scale\endcsname\relax
+ \let\Bttr@@scale\@empty
+\else
+ \edef\Bttr@@scale{s*[\csname Bttr@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{TS1}{Bttr-TLF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{TS1}{Bttr-TLF}{m}{n}{
+ <-> \Bttr@@scale Bttr-Regular-tlf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Bttr-TLF}{regular}{n}{
+ <-> alias * Bttr-TLF/m/n
+}{}
+
+\DeclareFontShape{TS1}{Bttr-TLF}{m}{it}{
+ <-> \Bttr@@scale Bttr-Italic-tlf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Bttr-TLF}{regular}{it}{
+ <-> alias * Bttr-TLF/m/it
+}{}
+
+\DeclareFontShape{TS1}{Bttr-TLF}{m}{sl}{
+ <-> ssub * Bttr-TLF/m/it
+}{}
+
+\DeclareFontShape{TS1}{Bttr-TLF}{regular}{sl}{
+ <-> ssub * Bttr-TLF/regular/it
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{TS1}{Bttr-TLF}{b}{n}{
+ <-> \Bttr@@scale Bttr-Bold-tlf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Bttr-TLF}{bold}{n}{
+ <-> alias * Bttr-TLF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{TS1}{Bttr-TLF}{bx}{n}{
+ <-> ssub * Bttr-TLF/b/n
+}{}
+
+\endinput
diff --git a/fonts/bitter/latex/bitter.sty b/fonts/bitter/latex/bitter.sty
index b792ae6d1e..a215441ee7 100644
--- a/fonts/bitter/latex/bitter.sty
+++ b/fonts/bitter/latex/bitter.sty
@@ -1,31 +1,40 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bitter}
- [200/07/25 (R.D. Tennent) Supports Bitter fonts for xeLaTeX and luaLaTeX.]
+ [2020/08/02 (R.D. Tennent) Supports Bitter fonts for all LaTeX engines.]
-\RequirePackage{iftex}
+\RequirePackage{ifxetex,ifluatex,textcomp}
-\ifpdftex
-\PackageError{bitter}{%
- *****************************************\MessageBreak
- Please process using XeLaTeX or luaLaTeX\MessageBreak
- *****************************************}
-\fi
+\newif\ifBitter@ttf
+\ifxetex
+ \Bitter@ttftrue
+\else\ifluatex
+ \Bitter@ttftrue
+\else % [pdf]LaTeX
+ \Bitter@ttffalse
+\fi\fi
-
-\newcommand*{\Bitter@scale}{1}
+\newcommand*{\Bttr@scale}{1}
\RequirePackage{xkeyval}
-\DeclareOptionX{scaled}{\renewcommand*{\Bitter@scale}{#1}}
-\DeclareOptionX{scale}{\renewcommand*{\Bitter@scale}{#1}}
+\DeclareOptionX{scaled}{\renewcommand*{\Bttr@scale}{#1}}
+\DeclareOptionX{scale}{\renewcommand*{\Bttr@scale}{#1}}
+
+\DeclareOptionX{type1}{\Bitter@ttffalse}
\ProcessOptionsX\relax
+\ifBitter@ttf
\RequirePackage{fontspec}
+\else
+ \RequirePackage{fontenc,fontaxes,mweights}
+\fi
+\ifBitter@ttf
+ \def\Bitter@regular{Regular}
\ifxetex\XeTeXtracingfonts=1\fi
\defaultfontfeatures{
Ligatures = TeX ,
Extension = .ttf ,
- Scale = \Bitter@scale ,
+ Scale = \Bttr@scale ,
}
\setmainfont
[ UprightFont = *-Regular ,
@@ -43,8 +52,21 @@
]
{Bitter}
+\else % type1
+
+ \def\bfseries@rm{b}
+ \def\mdseries@rm{m}
+ \def\seriesdefault{\mdseries@rm}
+ \def\bitterfamily{Bttr-TLF}
+ \def\bitter{\fontfamily{\bitterfamily}\selectfont}
+ \def\rmdefault{\bitterfamily}
+
+\fi
+
% turn off defaults in case other fonts are selected:
+\ifBitter@ttf
\defaultfontfeatures{}
+\fi
\endinput
diff --git a/fonts/bitter/map/bitter.map b/fonts/bitter/map/bitter.map
new file mode 100644
index 0000000000..eebc29b198
--- /dev/null
+++ b/fonts/bitter/map/bitter.map
@@ -0,0 +1,14 @@
+% Automatically maintained by otftotfm or other programs. Do not edit.
+
+Bttr-Bold-tlf-ot1 Bttr-Bold "AutoEnc_b5i5mxmtjpehcnzsivl27t6vdh ReEncodeFont" <[bttr_b5i5mx.enc <Bttr-Bold.pfb
+Bttr-Bold-tlf-t1--base Bttr-Bold "AutoEnc_gljoluzdupcjvmvcx5spx3cmkd ReEncodeFont" <[bttr_gljolu.enc <Bttr-Bold.pfb
+Bttr-Bold-tlf-ly1--base Bttr-Bold "AutoEnc_72jdjwm5vgvijtliocbuglmi3h ReEncodeFont" <[bttr_72jdjw.enc <Bttr-Bold.pfb
+Bttr-Bold-tlf-ts1--base Bttr-Bold "AutoEnc_vzfpnj5z64g6oor364db7i6alc ReEncodeFont" <[bttr_vzfpnj.enc <Bttr-Bold.pfb
+Bttr-Italic-tlf-ot1 Bttr-Italic "AutoEnc_6upxhe2m74q2iptst22s37sn3e ReEncodeFont" <[bttr_6upxhe.enc <Bttr-Italic.pfb
+Bttr-Italic-tlf-t1--base Bttr-Italic "AutoEnc_x2bjkb5sd5zxjhh6beeklz5rxd ReEncodeFont" <[bttr_x2bjkb.enc <Bttr-Italic.pfb
+Bttr-Italic-tlf-ly1--base Bttr-Italic "AutoEnc_azarlslxpu5crmzy6prv63uygf ReEncodeFont" <[bttr_azarls.enc <Bttr-Italic.pfb
+Bttr-Italic-tlf-ts1--base Bttr-Italic "AutoEnc_ncjtqa6w53xc5iw5jpj6lsnv3a ReEncodeFont" <[bttr_ncjtqa.enc <Bttr-Italic.pfb
+Bttr-Regular-tlf-ot1 Bttr-Regular "AutoEnc_w3wxeivjqfma7thzjcozosvs3e ReEncodeFont" <[bttr_w3wxei.enc <Bttr-Regular.pfb
+Bttr-Regular-tlf-t1--base Bttr-Regular "AutoEnc_gljoluzdupcjvmvcx5spx3cmkd ReEncodeFont" <[bttr_gljolu.enc <Bttr-Regular.pfb
+Bttr-Regular-tlf-ly1--base Bttr-Regular "AutoEnc_f2umud5nj76no6f4hufpv63avg ReEncodeFont" <[bttr_f2umud.enc <Bttr-Regular.pfb
+Bttr-Regular-tlf-ts1--base Bttr-Regular "AutoEnc_ssdm5hoa4cjlz25r7myoz4wwob ReEncodeFont" <[bttr_ssdm5h.enc <Bttr-Regular.pfb
diff --git a/fonts/bitter/tfm/Bttr-Bold-tlf-ly1--base.tfm b/fonts/bitter/tfm/Bttr-Bold-tlf-ly1--base.tfm
new file mode 100644
index 0000000000..65cf28e989
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Bold-tlf-ly1--base.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Bold-tlf-ly1.tfm b/fonts/bitter/tfm/Bttr-Bold-tlf-ly1.tfm
new file mode 100644
index 0000000000..20660b97df
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Bold-tlf-ly1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Bold-tlf-ot1.tfm b/fonts/bitter/tfm/Bttr-Bold-tlf-ot1.tfm
new file mode 100644
index 0000000000..688be20474
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Bold-tlf-ot1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Bold-tlf-t1--base.tfm b/fonts/bitter/tfm/Bttr-Bold-tlf-t1--base.tfm
new file mode 100644
index 0000000000..2362c879cb
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Bold-tlf-t1--base.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Bold-tlf-t1.tfm b/fonts/bitter/tfm/Bttr-Bold-tlf-t1.tfm
new file mode 100644
index 0000000000..4670c923b8
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Bold-tlf-t1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Bold-tlf-ts1--base.tfm b/fonts/bitter/tfm/Bttr-Bold-tlf-ts1--base.tfm
new file mode 100644
index 0000000000..0faf0b859d
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Bold-tlf-ts1--base.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Bold-tlf-ts1.tfm b/fonts/bitter/tfm/Bttr-Bold-tlf-ts1.tfm
new file mode 100644
index 0000000000..d57469f5ac
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Bold-tlf-ts1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Italic-tlf-ly1--base.tfm b/fonts/bitter/tfm/Bttr-Italic-tlf-ly1--base.tfm
new file mode 100644
index 0000000000..9f1cb535cf
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Italic-tlf-ly1--base.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Italic-tlf-ly1.tfm b/fonts/bitter/tfm/Bttr-Italic-tlf-ly1.tfm
new file mode 100644
index 0000000000..ce1a9fa555
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Italic-tlf-ly1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Italic-tlf-ot1.tfm b/fonts/bitter/tfm/Bttr-Italic-tlf-ot1.tfm
new file mode 100644
index 0000000000..ccfc9fa5c5
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Italic-tlf-ot1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Italic-tlf-t1--base.tfm b/fonts/bitter/tfm/Bttr-Italic-tlf-t1--base.tfm
new file mode 100644
index 0000000000..5338c507d6
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Italic-tlf-t1--base.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Italic-tlf-t1.tfm b/fonts/bitter/tfm/Bttr-Italic-tlf-t1.tfm
new file mode 100644
index 0000000000..c8f22f817d
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Italic-tlf-t1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Italic-tlf-ts1--base.tfm b/fonts/bitter/tfm/Bttr-Italic-tlf-ts1--base.tfm
new file mode 100644
index 0000000000..25b61f9edb
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Italic-tlf-ts1--base.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Italic-tlf-ts1.tfm b/fonts/bitter/tfm/Bttr-Italic-tlf-ts1.tfm
new file mode 100644
index 0000000000..a35b2e426d
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Italic-tlf-ts1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Regular-tlf-ly1--base.tfm b/fonts/bitter/tfm/Bttr-Regular-tlf-ly1--base.tfm
new file mode 100644
index 0000000000..623221c583
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Regular-tlf-ly1--base.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Regular-tlf-ly1.tfm b/fonts/bitter/tfm/Bttr-Regular-tlf-ly1.tfm
new file mode 100644
index 0000000000..bbee9c977e
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Regular-tlf-ly1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Regular-tlf-ot1.tfm b/fonts/bitter/tfm/Bttr-Regular-tlf-ot1.tfm
new file mode 100644
index 0000000000..e6c484bd9d
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Regular-tlf-ot1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Regular-tlf-t1--base.tfm b/fonts/bitter/tfm/Bttr-Regular-tlf-t1--base.tfm
new file mode 100644
index 0000000000..937c82ad70
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Regular-tlf-t1--base.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Regular-tlf-t1.tfm b/fonts/bitter/tfm/Bttr-Regular-tlf-t1.tfm
new file mode 100644
index 0000000000..c024da805b
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Regular-tlf-t1.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Regular-tlf-ts1--base.tfm b/fonts/bitter/tfm/Bttr-Regular-tlf-ts1--base.tfm
new file mode 100644
index 0000000000..1610ee6303
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Regular-tlf-ts1--base.tfm
Binary files differ
diff --git a/fonts/bitter/tfm/Bttr-Regular-tlf-ts1.tfm b/fonts/bitter/tfm/Bttr-Regular-tlf-ts1.tfm
new file mode 100644
index 0000000000..7e0a9bb23d
--- /dev/null
+++ b/fonts/bitter/tfm/Bttr-Regular-tlf-ts1.tfm
Binary files differ
diff --git a/fonts/bitter/type1/Bttr-Bold.pfb b/fonts/bitter/type1/Bttr-Bold.pfb
new file mode 100644
index 0000000000..4dfc3f5570
--- /dev/null
+++ b/fonts/bitter/type1/Bttr-Bold.pfb
Binary files differ
diff --git a/fonts/bitter/type1/Bttr-Italic.pfb b/fonts/bitter/type1/Bttr-Italic.pfb
new file mode 100644
index 0000000000..b4ac80c318
--- /dev/null
+++ b/fonts/bitter/type1/Bttr-Italic.pfb
Binary files differ
diff --git a/fonts/bitter/type1/Bttr-Regular.pfb b/fonts/bitter/type1/Bttr-Regular.pfb
new file mode 100644
index 0000000000..64320a1db9
--- /dev/null
+++ b/fonts/bitter/type1/Bttr-Regular.pfb
Binary files differ
diff --git a/fonts/bitter/vf/Bttr-Bold-tlf-ly1.vf b/fonts/bitter/vf/Bttr-Bold-tlf-ly1.vf
new file mode 100644
index 0000000000..080635ec38
--- /dev/null
+++ b/fonts/bitter/vf/Bttr-Bold-tlf-ly1.vf
Binary files differ
diff --git a/fonts/bitter/vf/Bttr-Bold-tlf-t1.vf b/fonts/bitter/vf/Bttr-Bold-tlf-t1.vf
new file mode 100644
index 0000000000..fc97fdd752
--- /dev/null
+++ b/fonts/bitter/vf/Bttr-Bold-tlf-t1.vf
Binary files differ
diff --git a/fonts/bitter/vf/Bttr-Bold-tlf-ts1.vf b/fonts/bitter/vf/Bttr-Bold-tlf-ts1.vf
new file mode 100644
index 0000000000..c896704bda
--- /dev/null
+++ b/fonts/bitter/vf/Bttr-Bold-tlf-ts1.vf
Binary files differ
diff --git a/fonts/bitter/vf/Bttr-Italic-tlf-ly1.vf b/fonts/bitter/vf/Bttr-Italic-tlf-ly1.vf
new file mode 100644
index 0000000000..d99d15e322
--- /dev/null
+++ b/fonts/bitter/vf/Bttr-Italic-tlf-ly1.vf
Binary files differ
diff --git a/fonts/bitter/vf/Bttr-Italic-tlf-t1.vf b/fonts/bitter/vf/Bttr-Italic-tlf-t1.vf
new file mode 100644
index 0000000000..22d9859721
--- /dev/null
+++ b/fonts/bitter/vf/Bttr-Italic-tlf-t1.vf
Binary files differ
diff --git a/fonts/bitter/vf/Bttr-Italic-tlf-ts1.vf b/fonts/bitter/vf/Bttr-Italic-tlf-ts1.vf
new file mode 100644
index 0000000000..87237c85bd
--- /dev/null
+++ b/fonts/bitter/vf/Bttr-Italic-tlf-ts1.vf
Binary files differ
diff --git a/fonts/bitter/vf/Bttr-Regular-tlf-ly1.vf b/fonts/bitter/vf/Bttr-Regular-tlf-ly1.vf
new file mode 100644
index 0000000000..3492ba6520
--- /dev/null
+++ b/fonts/bitter/vf/Bttr-Regular-tlf-ly1.vf
Binary files differ
diff --git a/fonts/bitter/vf/Bttr-Regular-tlf-t1.vf b/fonts/bitter/vf/Bttr-Regular-tlf-t1.vf
new file mode 100644
index 0000000000..43adde4bd4
--- /dev/null
+++ b/fonts/bitter/vf/Bttr-Regular-tlf-t1.vf
Binary files differ
diff --git a/fonts/bitter/vf/Bttr-Regular-tlf-ts1.vf b/fonts/bitter/vf/Bttr-Regular-tlf-ts1.vf
new file mode 100644
index 0000000000..240f316690
--- /dev/null
+++ b/fonts/bitter/vf/Bttr-Regular-tlf-ts1.vf
Binary files differ
diff --git a/fonts/forum/README b/fonts/forum/README
index 44e7afd491..ad64e84c5f 100644
--- a/fonts/forum/README
+++ b/fonts/forum/README
@@ -1,13 +1,14 @@
This is the README for the forum package, version
-2020-07-25.
+2020-08-01.
-This package provides the Forum fonts, designed by Denis
-Masharov, for use with xeLaTeX abnd luaLaTeX. Forum has
-antique, classic "Roman" proportions. It can be used to set
-body texts and works well in titles and headlines too. It
-is truly multilingual, with glyphs for Central and Eastern
-Europe, Baltics, Cyrillic and Asian Cyrillic communities.
-There is currently just a regular weight.
+This package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX
+support for the Forum font, designed by Denis Masharov.
+Forum has antique, classic "Roman" proportions. It can
+be used to set body texts and works well in titles and
+headlines too. It is truly multilingual, with glyphs for
+Central and Eastern Europe, Baltics, Cyrillic and Asian
+Cyrillic communities. There is currently just a regular
+weight and an artificially emboldened bold.
To install this package on a TDS-compliant
TeX system download the file
@@ -15,7 +16,8 @@ TeX system download the file
preferred URL for "tex-archive" is http://mirrors.ctan.org.
Unzip the archive at the root of an appropriate texmf tree,
likely a personal or local tree. If necessary, update the
-file-name database (e.g., texhash).
+file-name database (e.g., texhash). Update the font-map
+files by enabling the Map file forum.map.
To use, add
@@ -24,17 +26,25 @@ To use, add
to the preamble of your document. This will activate
Forum as the main (serifed) text font.
+LuaLaTeX and xeLaTeX users who might prefer type1 fonts or
+who wish to avoid fontspec may use the type1 option.
+
Options scaled=<number> or scale=<number> may be used to
scale the fonts.
The only figure style is proportional lining.
-The original Truetype font was obtained from
+Font encodings supported are OT1, T1, LY1, TS1 and T2A/B/C.
+
+The original font was obtained from
https://fonts.google.com/specimen/Forum
and is licensed under the SIL Open Font License, version
-1.1; the text may be found in the doc directory. THe rest
-of the package is licensed under the terms of the LaTeX
+1.1; the text may be found in the doc directory. The bold
+and type1 versions was created using fontforge and re-named
+in compliance with the Reserved Font Name provision of the
+OFL license. The support files were created using autoinst
+and otftotfm and are licensed under the terms of the LaTeX
Project Public License. The maintainer of this package is
Bob Tennent (rdt at cs.queensu.ca)
diff --git a/fonts/forum/doc/forum-samples.pdf b/fonts/forum/doc/forum-samples.pdf
index dec615f3d0..490b4c8e31 100644
--- a/fonts/forum/doc/forum-samples.pdf
+++ b/fonts/forum/doc/forum-samples.pdf
Binary files differ
diff --git a/fonts/forum/doc/forum-samples.tex b/fonts/forum/doc/forum-samples.tex
index 2bdc0a3310..9388f37573 100644
--- a/fonts/forum/doc/forum-samples.tex
+++ b/fonts/forum/doc/forum-samples.tex
@@ -1,4 +1,5 @@
\documentclass{article}
+\usepackage[T2A,T1]{fontenc}
\usepackage{forum}
\usepackage{lipsum}
\begin{document}
@@ -11,10 +12,15 @@ F\,O\,R\,U\,M
\lipsum[1]
+\subsection*{Bold}
+
+\textbf{\lipsum[2]}
+
\subsection*{Cyrillic}
+{\ifxetex\else\ifluatex\else\fontencoding{T2A}\selectfont\fi\fi
Съешь ещё этих мягких французских булок да
-выпей чаю!
+выпей чаю!}
\subsection*{Numbers}
diff --git a/fonts/forum/enc/frm_acf3pt.enc b/fonts/forum/enc/frm_acf3pt.enc
new file mode 100644
index 0000000000..178066abfa
--- /dev/null
+++ b/fonts/forum/enc/frm_acf3pt.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_acf3ptalwqmousiks2osqet2tf
+% Encoding created by otftotfm on Sat Aug 1 13:52:46 2020
+% Command line follows encoding
+/AutoEnc_acf3ptalwqmousiks2osqet2tf [
+%00
+ /grave /acute /circumflex /tilde /dieresis /hungarumlaut /ring /caron
+ /breve /macron /dotaccent /cedilla /ogonek /uni04C0 /.notdef /.notdef
+%10
+ /quotedblleft /quotedblright /.notdef /.notdef /.notdef /endash /emdash /.notdef
+ /.notdef /dotlessi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /asciitilde /hyphen
+%80
+ /uni0490 /uni0492 /uni0402 /uni040B /uni04BA /uni0496 /uni0498 /uni0409
+ /uni0407 /uni049A /uni04A0 /uni049C /uni04D4 /uni04A2 /uni04A4 /uni0405
+%90
+ /uni04E8 /uni04AA /uni040E /uni04AE /uni04B0 /uni04B2 /uni040F /uni04B8
+ /uni04B6 /uni0404 /uni04D8 /uni040A /uni0401 /uni2116 /currency /section
+%A0
+ /uni0491 /uni0493 /uni0452 /uni045B /uni04BB /uni0497 /uni0499 /uni0459
+ /uni0457 /uni049B /uni04A1 /uni049D /uni04D5 /uni04A3 /uni04A5 /uni0455
+%B0
+ /uni04E9 /uni04AB /uni045E /uni04AF /uni04B1 /uni04B3 /uni045F /uni04B9
+ /uni04B7 /uni0454 /uni04D9 /uni045A /uni0451 /quotedblbase /guillemotleft /guillemotright
+%C0
+ /uni0410 /uni0411 /uni0412 /uni0413 /uni0414 /uni0415 /uni0416 /uni0417
+ /uni0418 /uni0419 /uni041A /uni041B /uni041C /uni041D /uni041E /uni041F
+%D0
+ /uni0420 /uni0421 /uni0422 /uni0423 /uni0424 /uni0425 /uni0426 /uni0427
+ /uni0428 /uni0429 /uni042A /uni042B /uni042C /uni042D /uni042E /uni042F
+%E0
+ /uni0430 /uni0431 /uni0432 /uni0433 /uni0434 /uni0435 /uni0436 /uni0437
+ /uni0438 /uni0439 /uni043A /uni043B /uni043C /uni043D /uni043E /uni043F
+%F0
+ /uni0440 /uni0441 /uni0442 /uni0443 /uni0444 /uni0445 /uni0446 /uni0447
+ /uni0448 /uni0449 /uni044A /uni044B /uni044C /uni044D /uni044E /uni044F
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_t2a
+% --tfm-directory=texmf/fonts/tfm/public/forum
+% --vf-directory=texmf/fonts/vf/public/forum
+% --type1-directory=texmf/fonts/type1/public/forum
+% --encoding-directory=texmf/fonts/enc/dvips/forum
+% --map-file=texmf/fonts/map/dvips/forum/Frm.map --no-updmap --force
+% --coding-scheme=TEX CYRILLIC FONT ENCODING - T2A --feature=kern
+% Frm-Bold.otf Frm-Bold-lf-t2a'
diff --git a/fonts/forum/enc/frm_b5i5mx.enc b/fonts/forum/enc/frm_b5i5mx.enc
new file mode 100644
index 0000000000..3787658ff7
--- /dev/null
+++ b/fonts/forum/enc/frm_b5i5mx.enc
@@ -0,0 +1,62 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_b5i5mxmtjpehcnzsivl27t6vdh
+% Encoding created by otftotfm on Sat Aug 1 13:52:46 2020
+% Command line follows encoding
+/AutoEnc_b5i5mxmtjpehcnzsivl27t6vdh [
+%00
+ /.notdef /Delta /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%10
+ /dotlessi /.notdef /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+%20
+ /space /exclam /quotedblright /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis
+%80
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /Lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%A0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /lslash /.notdef /.notdef /.notdef /.notdef /.notdef
+%B0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%C0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%D0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%E0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ot1
+% --tfm-directory=texmf/fonts/tfm/public/forum
+% --vf-directory=texmf/fonts/vf/public/forum
+% --type1-directory=texmf/fonts/type1/public/forum
+% --encoding-directory=texmf/fonts/enc/dvips/forum
+% --map-file=texmf/fonts/map/dvips/forum/Frm.map --no-updmap --force
+% --coding-scheme=TEX TEXT --feature=kern Frm-Bold.otf Frm-Bold-lf-ot1'
diff --git a/fonts/forum/enc/frm_brq6mf.enc b/fonts/forum/enc/frm_brq6mf.enc
new file mode 100644
index 0000000000..55849831f9
--- /dev/null
+++ b/fonts/forum/enc/frm_brq6mf.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_brq6mfypo3tfoejextl54y5lde
+% Encoding created by otftotfm on Sat Aug 1 13:52:47 2020
+% Command line follows encoding
+/AutoEnc_brq6mfypo3tfoejextl54y5lde [
+%00
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /cedilla /ogonek /quotesinglbase /exclam /asterisk
+%10
+ /question /C /quotedblbase /bar /exclamdown /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /questiondown /.notdef
+%20
+ /.notdef /endash /.notdef /.notdef /dollar /.notdef /.notdef /quotesingle
+ /.notdef /.notdef /.notdef /.notdef /comma /.notdef /period /fraction
+%30
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%40
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%50
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%60
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%70
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%80
+ /.notdef /.notdef /.notdef /.notdef /dagger /daggerdbl /.notdef /perthousand
+ /bullet /.notdef /.notdef /.notdef /florin /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /lira /.notdef /.notdef /.notdef /.notdef /trademark
+ /.notdef /.notdef /.notdef /uni2116 /.notdef /.notdef /.notdef /.notdef
+%A0
+ /.notdef /.notdef /cent /sterling /currency /yen /brokenbar /section
+ /.notdef /copyright /.notdef /.notdef /logicalnot /.notdef /registered /.notdef
+%B0
+ /degree /plusminus /.notdef /.notdef /.notdef /.notdef /paragraph /periodcentered
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /Euro
+%C0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%D0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /multiply /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%E0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /divide /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ts1
+% --tfm-directory=texmf/fonts/tfm/public/forum
+% --vf-directory=texmf/fonts/vf/public/forum
+% --type1-directory=texmf/fonts/type1/public/forum
+% --encoding-directory=texmf/fonts/enc/dvips/forum
+% --map-file=texmf/fonts/map/dvips/forum/Frm.map --no-updmap --force
+% --coding-scheme=TEX TEXT COMPANION SYMBOLS 1---TS1 Frm-Bold.otf
+% Frm-Bold-lf-ts1'
diff --git a/fonts/forum/enc/frm_e2otk2.enc b/fonts/forum/enc/frm_e2otk2.enc
new file mode 100644
index 0000000000..49f72bed61
--- /dev/null
+++ b/fonts/forum/enc/frm_e2otk2.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_e2otk2a3hk3flc2utkaniqemre
+% Encoding created by otftotfm on Sat Aug 1 13:52:47 2020
+% Command line follows encoding
+/AutoEnc_e2otk2a3hk3flc2utkaniqemre [
+%00
+ /grave /acute /circumflex /tilde /dieresis /hungarumlaut /ring /caron
+ /breve /macron /dotaccent /cedilla /ogonek /uni04C0 /.notdef /.notdef
+%10
+ /quotedblleft /quotedblright /.notdef /.notdef /.notdef /endash /emdash /.notdef
+ /.notdef /dotlessi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /asciitilde /hyphen
+%80
+ /.notdef /uni04B4 /uni04AC /uni0494 /uni04BA /.notdef /.notdef /.notdef
+ /.notdef /uni049A /.notdef /uni049E /.notdef /uni04A2 /.notdef /uni04C7
+%90
+ /uni04E8 /.notdef /.notdef /.notdef /.notdef /uni04B2 /uni040F /.notdef
+ /uni04B6 /.notdef /uni04D8 /.notdef /uni0401 /uni2116 /currency /section
+%A0
+ /.notdef /uni04B5 /uni04AD /uni0495 /uni04BB /.notdef /.notdef /.notdef
+ /.notdef /uni049B /.notdef /uni049F /.notdef /uni04A3 /.notdef /uni04C8
+%B0
+ /uni04E9 /.notdef /.notdef /.notdef /.notdef /uni04B3 /uni045F /.notdef
+ /uni04B7 /.notdef /uni04D9 /.notdef /uni0451 /quotedblbase /guillemotleft /guillemotright
+%C0
+ /uni0410 /uni0411 /uni0412 /uni0413 /uni0414 /uni0415 /uni0416 /uni0417
+ /uni0418 /uni0419 /uni041A /uni041B /uni041C /uni041D /uni041E /uni041F
+%D0
+ /uni0420 /uni0421 /uni0422 /uni0423 /uni0424 /uni0425 /uni0426 /uni0427
+ /uni0428 /uni0429 /uni042A /uni042B /uni042C /uni042D /uni042E /uni042F
+%E0
+ /uni0430 /uni0431 /uni0432 /uni0433 /uni0434 /uni0435 /uni0436 /uni0437
+ /uni0438 /uni0439 /uni043A /uni043B /uni043C /uni043D /uni043E /uni043F
+%F0
+ /uni0440 /uni0441 /uni0442 /uni0443 /uni0444 /uni0445 /uni0446 /uni0447
+ /uni0448 /uni0449 /uni044A /uni044B /uni044C /uni044D /uni044E /uni044F
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_t2c
+% --tfm-directory=texmf/fonts/tfm/public/forum
+% --vf-directory=texmf/fonts/vf/public/forum
+% --type1-directory=texmf/fonts/type1/public/forum
+% --encoding-directory=texmf/fonts/enc/dvips/forum
+% --map-file=texmf/fonts/map/dvips/forum/Frm.map --no-updmap --force
+% --coding-scheme=TEX CYRILLIC FONT ENCODING - T2C --feature=kern
+% Frm-Bold.otf Frm-Bold-lf-t2c'
diff --git a/fonts/forum/enc/frm_fx2ufv.enc b/fonts/forum/enc/frm_fx2ufv.enc
new file mode 100644
index 0000000000..6ef0aead29
--- /dev/null
+++ b/fonts/forum/enc/frm_fx2ufv.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_fx2ufv3j7fpqqhggjdyascngqb
+% Encoding created by otftotfm on Sat Aug 1 13:52:46 2020
+% Command line follows encoding
+/AutoEnc_fx2ufv3j7fpqqhggjdyascngqb [
+%00
+ /.notdef /Euro /.notdef /.notdef /fraction /dotaccent /hungarumlaut /ogonek
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%10
+ /dotlessi /.notdef /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /circumflex /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /tilde /dieresis
+%80
+ /Lslash /quotesingle /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl
+ /circumflex /perthousand /Scaron /guilsinglleft /OE /Zcaron /asciicircum /.notdef
+%90
+ /lslash /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
+ /tilde /trademark /scaron /guilsinglright /oe /zcaron /asciitilde /Ydieresis
+%A0
+ /space /exclamdown /cent /sterling /currency /yen /brokenbar /section
+ /dieresis /copyright /.notdef /guillemotleft /logicalnot /uni00AD /registered /macron
+%B0
+ /degree /plusminus /.notdef /.notdef /acute /.notdef /paragraph /periodcentered
+ /cedilla /.notdef /.notdef /guillemotright /.notdef /.notdef /.notdef /questiondown
+%C0
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
+%D0
+ /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
+ /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+%E0
+ /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+%F0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
+ /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ly1
+% --tfm-directory=texmf/fonts/tfm/public/forum
+% --vf-directory=texmf/fonts/vf/public/forum
+% --type1-directory=texmf/fonts/type1/public/forum
+% --encoding-directory=texmf/fonts/enc/dvips/forum
+% --map-file=texmf/fonts/map/dvips/forum/Frm.map --no-updmap --force
+% --coding-scheme=TEX TYPEWRITER AND WINDOWS ANSI --feature=kern
+% Frm-Bold.otf Frm-Bold-lf-ly1'
diff --git a/fonts/forum/enc/frm_jsuphk.enc b/fonts/forum/enc/frm_jsuphk.enc
new file mode 100644
index 0000000000..8d5ed59b5b
--- /dev/null
+++ b/fonts/forum/enc/frm_jsuphk.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_jsuphk255jtp4vyd6hdee5tmba
+% Encoding created by otftotfm on Sat Aug 1 13:52:46 2020
+% Command line follows encoding
+/AutoEnc_jsuphk255jtp4vyd6hdee5tmba [
+%00
+ /grave /acute /circumflex /tilde /dieresis /hungarumlaut /ring /caron
+ /breve /macron /dotaccent /cedilla /ogonek /quotesinglbase /guilsinglleft /guilsinglright
+%10
+ /quotedblleft /quotedblright /quotedblbase /guillemotleft /guillemotright /endash /emdash /.notdef
+ /.notdef /dotlessi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /asciitilde /hyphen
+%80
+ /Abreve /Aogonek /Cacute /Ccaron /Dcaron /Ecaron /Eogonek /Gbreve
+ /Lacute /Lcaron /Lslash /Nacute /Ncaron /Eng /Ohungarumlaut /Racute
+%90
+ /Rcaron /Sacute /Scaron /Scedilla /Tcaron /uni0162 /Uhungarumlaut /Uring
+ /Ydieresis /Zacute /Zcaron /Zdotaccent /.notdef /Idotaccent /dcroat /section
+%A0
+ /abreve /aogonek /cacute /ccaron /dcaron /ecaron /eogonek /gbreve
+ /lacute /lcaron /lslash /nacute /ncaron /eng /ohungarumlaut /racute
+%B0
+ /rcaron /sacute /scaron /scedilla /tcaron /uni0163 /uhungarumlaut /uring
+ /ydieresis /zacute /zcaron /zdotaccent /.notdef /exclamdown /questiondown /sterling
+%C0
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
+%D0
+ /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /OE
+ /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /.notdef
+%E0
+ /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+%F0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /oe
+ /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /germandbls
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_t1
+% --tfm-directory=texmf/fonts/tfm/public/forum
+% --vf-directory=texmf/fonts/vf/public/forum
+% --type1-directory=texmf/fonts/type1/public/forum
+% --encoding-directory=texmf/fonts/enc/dvips/forum
+% --map-file=texmf/fonts/map/dvips/forum/Frm.map --no-updmap --force
+% --coding-scheme=EXTENDED TEX FONT ENCODING - LATIN --feature=kern
+% Frm-Bold.otf Frm-Bold-lf-t1'
diff --git a/fonts/forum/enc/frm_smvvub.enc b/fonts/forum/enc/frm_smvvub.enc
new file mode 100644
index 0000000000..f0b837af7e
--- /dev/null
+++ b/fonts/forum/enc/frm_smvvub.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_smvvubzeq5fpb7mg3hiws5aacb
+% Encoding created by otftotfm on Sat Aug 1 13:52:47 2020
+% Command line follows encoding
+/AutoEnc_smvvubzeq5fpb7mg3hiws5aacb [
+%00
+ /.notdef /Euro /.notdef /.notdef /fraction /dotaccent /hungarumlaut /ogonek
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%10
+ /dotlessi /.notdef /grave /acute /caron /breve /macron /ring
+ /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /circumflex /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /tilde /dieresis
+%80
+ /Lslash /quotesingle /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl
+ /circumflex /perthousand /Scaron /guilsinglleft /OE /Zcaron /asciicircum /.notdef
+%90
+ /lslash /quoteleft /quoteright /quotedblleft /quotedblright /bullet /endash /emdash
+ /tilde /trademark /scaron /guilsinglright /oe /zcaron /asciitilde /Ydieresis
+%A0
+ /.notdef /exclamdown /cent /sterling /currency /yen /brokenbar /section
+ /dieresis /copyright /.notdef /guillemotleft /logicalnot /uni00AD /registered /macron
+%B0
+ /degree /plusminus /.notdef /.notdef /acute /.notdef /paragraph /periodcentered
+ /cedilla /.notdef /.notdef /guillemotright /.notdef /.notdef /.notdef /questiondown
+%C0
+ /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
+%D0
+ /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
+ /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+%E0
+ /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+ /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+%F0
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
+ /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_ly1
+% --tfm-directory=texmf/fonts/tfm/public/forum
+% --vf-directory=texmf/fonts/vf/public/forum
+% --type1-directory=texmf/fonts/type1/public/forum
+% --encoding-directory=texmf/fonts/enc/dvips/forum
+% --map-file=texmf/fonts/map/dvips/forum/Frm.map --no-updmap --force
+% --coding-scheme=TEX TYPEWRITER AND WINDOWS ANSI --feature=kern
+% Frm-Regular.otf Frm-lf-ly1'
diff --git a/fonts/forum/enc/frm_ylkcu6.enc b/fonts/forum/enc/frm_ylkcu6.enc
new file mode 100644
index 0000000000..f5e69e1441
--- /dev/null
+++ b/fonts/forum/enc/frm_ylkcu6.enc
@@ -0,0 +1,63 @@
+% THIS FILE WAS AUTOMATICALLY GENERATED -- DO NOT EDIT
+
+%%AutoEnc_ylkcu6sj3sheh3xrjhz57ovfrd
+% Encoding created by otftotfm on Sat Aug 1 13:52:47 2020
+% Command line follows encoding
+/AutoEnc_ylkcu6sj3sheh3xrjhz57ovfrd [
+%00
+ /grave /acute /circumflex /tilde /dieresis /hungarumlaut /ring /caron
+ /breve /macron /dotaccent /cedilla /ogonek /uni04C0 /.notdef /.notdef
+%10
+ /quotedblleft /quotedblright /.notdef /.notdef /.notdef /endash /emdash /.notdef
+ /.notdef /dotlessi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%20
+ /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
+%30
+ /zero /one /two /three /four /five /six /seven
+ /eight /nine /colon /semicolon /less /equal /greater /question
+%40
+ /at /A /B /C /D /E /F /G
+ /H /I /J /K /L /M /N /O
+%50
+ /P /Q /R /S /T /U /V /W
+ /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
+%60
+ /quoteleft /a /b /c /d /e /f /g
+ /h /i /j /k /l /m /n /o
+%70
+ /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /asciitilde /hyphen
+%80
+ /.notdef /uni0492 /.notdef /uni0494 /uni04BA /uni0496 /.notdef /.notdef
+ /uni0409 /uni049A /.notdef /uni04C3 /.notdef /uni04A2 /uni04A4 /uni04C7
+%90
+ /uni04E8 /.notdef /uni040E /uni04AE /.notdef /uni04B2 /.notdef /.notdef
+ /uni04B6 /uni040A /uni04D8 /.notdef /uni0401 /uni2116 /currency /section
+%A0
+ /.notdef /uni0493 /.notdef /uni0495 /uni04BB /uni0497 /.notdef /.notdef
+ /uni0459 /uni049B /.notdef /uni04C4 /.notdef /uni04A3 /uni04A5 /uni04C8
+%B0
+ /uni04E9 /.notdef /uni045E /uni04AF /.notdef /uni04B3 /.notdef /.notdef
+ /uni04B7 /uni045A /uni04D9 /.notdef /uni0451 /quotedblbase /guillemotleft /guillemotright
+%C0
+ /uni0410 /uni0411 /uni0412 /uni0413 /uni0414 /uni0415 /uni0416 /uni0417
+ /uni0418 /uni0419 /uni041A /uni041B /uni041C /uni041D /uni041E /uni041F
+%D0
+ /uni0420 /uni0421 /uni0422 /uni0423 /uni0424 /uni0425 /uni0426 /uni0427
+ /uni0428 /uni0429 /uni042A /uni042B /uni042C /uni042D /uni042E /uni042F
+%E0
+ /uni0430 /uni0431 /uni0432 /uni0433 /uni0434 /uni0435 /uni0436 /uni0437
+ /uni0438 /uni0439 /uni043A /uni043B /uni043C /uni043D /uni043E /uni043F
+%F0
+ /uni0440 /uni0441 /uni0442 /uni0443 /uni0444 /uni0445 /uni0446 /uni0447
+ /uni0448 /uni0449 /uni044A /uni044B /uni044C /uni044D /uni044E /uni044F
+] def
+% Command line: 'otftotfm --automatic --encoding=fontools_t2b
+% --tfm-directory=texmf/fonts/tfm/public/forum
+% --vf-directory=texmf/fonts/vf/public/forum
+% --type1-directory=texmf/fonts/type1/public/forum
+% --encoding-directory=texmf/fonts/enc/dvips/forum
+% --map-file=texmf/fonts/map/dvips/forum/Frm.map --no-updmap --force
+% --coding-scheme=TEX CYRILLIC FONT ENCODING - T2B --feature=kern
+% Frm-Bold.otf Frm-Bold-lf-t2b'
diff --git a/fonts/forum/latex/LY1Frm-LF.fd b/fonts/forum/latex/LY1Frm-LF.fd
new file mode 100644
index 0000000000..f7c4276368
--- /dev/null
+++ b/fonts/forum/latex/LY1Frm-LF.fd
@@ -0,0 +1,51 @@
+%% Generated by autoinst on 2020/08/01
+%%
+\ProvidesFile{LY1Frm-LF.fd}
+ [2020/08/01 (autoinst) Font definitions for LY1/Frm-LF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Frm@scale\endcsname\relax
+ \let\Frm@@scale\@empty
+\else
+ \edef\Frm@@scale{s*[\csname Frm@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{LY1}{Frm-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{LY1}{Frm-LF}{m}{n}{
+ <-> \Frm@@scale Frm-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Frm-LF}{regular}{n}{
+ <-> alias * Frm-LF/m/n
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{LY1}{Frm-LF}{b}{n}{
+ <-> \Frm@@scale Frm-Bold-lf-ly1
+}{}
+
+\DeclareFontShape{LY1}{Frm-LF}{bold}{n}{
+ <-> alias * Frm-LF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{LY1}{Frm-LF}{bx}{n}{
+ <-> ssub * Frm-LF/b/n
+}{}
+
+\endinput
diff --git a/fonts/forum/latex/OT1Frm-LF.fd b/fonts/forum/latex/OT1Frm-LF.fd
new file mode 100644
index 0000000000..d84395f205
--- /dev/null
+++ b/fonts/forum/latex/OT1Frm-LF.fd
@@ -0,0 +1,51 @@
+%% Generated by autoinst on 2020/08/01
+%%
+\ProvidesFile{OT1Frm-LF.fd}
+ [2020/08/01 (autoinst) Font definitions for OT1/Frm-LF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Frm@scale\endcsname\relax
+ \let\Frm@@scale\@empty
+\else
+ \edef\Frm@@scale{s*[\csname Frm@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{OT1}{Frm-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{OT1}{Frm-LF}{m}{n}{
+ <-> \Frm@@scale Frm-lf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Frm-LF}{regular}{n}{
+ <-> alias * Frm-LF/m/n
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{OT1}{Frm-LF}{b}{n}{
+ <-> \Frm@@scale Frm-Bold-lf-ot1
+}{}
+
+\DeclareFontShape{OT1}{Frm-LF}{bold}{n}{
+ <-> alias * Frm-LF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{OT1}{Frm-LF}{bx}{n}{
+ <-> ssub * Frm-LF/b/n
+}{}
+
+\endinput
diff --git a/fonts/forum/latex/T1Frm-LF.fd b/fonts/forum/latex/T1Frm-LF.fd
new file mode 100644
index 0000000000..1956ffeff4
--- /dev/null
+++ b/fonts/forum/latex/T1Frm-LF.fd
@@ -0,0 +1,51 @@
+%% Generated by autoinst on 2020/08/01
+%%
+\ProvidesFile{T1Frm-LF.fd}
+ [2020/08/01 (autoinst) Font definitions for T1/Frm-LF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Frm@scale\endcsname\relax
+ \let\Frm@@scale\@empty
+\else
+ \edef\Frm@@scale{s*[\csname Frm@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T1}{Frm-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T1}{Frm-LF}{m}{n}{
+ <-> \Frm@@scale Frm-lf-t1
+}{}
+
+\DeclareFontShape{T1}{Frm-LF}{regular}{n}{
+ <-> alias * Frm-LF/m/n
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{T1}{Frm-LF}{b}{n}{
+ <-> \Frm@@scale Frm-Bold-lf-t1
+}{}
+
+\DeclareFontShape{T1}{Frm-LF}{bold}{n}{
+ <-> alias * Frm-LF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T1}{Frm-LF}{bx}{n}{
+ <-> ssub * Frm-LF/b/n
+}{}
+
+\endinput
diff --git a/fonts/forum/latex/T2AFrm-LF.fd b/fonts/forum/latex/T2AFrm-LF.fd
new file mode 100644
index 0000000000..84ae106eb7
--- /dev/null
+++ b/fonts/forum/latex/T2AFrm-LF.fd
@@ -0,0 +1,51 @@
+%% Generated by autoinst on 2020/08/01
+%%
+\ProvidesFile{T2AFrm-LF.fd}
+ [2020/08/01 (autoinst) Font definitions for T2A/Frm-LF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Frm@scale\endcsname\relax
+ \let\Frm@@scale\@empty
+\else
+ \edef\Frm@@scale{s*[\csname Frm@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T2A}{Frm-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T2A}{Frm-LF}{m}{n}{
+ <-> \Frm@@scale Frm-lf-t2a
+}{}
+
+\DeclareFontShape{T2A}{Frm-LF}{regular}{n}{
+ <-> alias * Frm-LF/m/n
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{T2A}{Frm-LF}{b}{n}{
+ <-> \Frm@@scale Frm-Bold-lf-t2a
+}{}
+
+\DeclareFontShape{T2A}{Frm-LF}{bold}{n}{
+ <-> alias * Frm-LF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T2A}{Frm-LF}{bx}{n}{
+ <-> ssub * Frm-LF/b/n
+}{}
+
+\endinput
diff --git a/fonts/forum/latex/T2BFrm-LF.fd b/fonts/forum/latex/T2BFrm-LF.fd
new file mode 100644
index 0000000000..bd65958bd3
--- /dev/null
+++ b/fonts/forum/latex/T2BFrm-LF.fd
@@ -0,0 +1,51 @@
+%% Generated by autoinst on 2020/08/01
+%%
+\ProvidesFile{T2BFrm-LF.fd}
+ [2020/08/01 (autoinst) Font definitions for T2B/Frm-LF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Frm@scale\endcsname\relax
+ \let\Frm@@scale\@empty
+\else
+ \edef\Frm@@scale{s*[\csname Frm@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T2B}{Frm-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T2B}{Frm-LF}{m}{n}{
+ <-> \Frm@@scale Frm-lf-t2b
+}{}
+
+\DeclareFontShape{T2B}{Frm-LF}{regular}{n}{
+ <-> alias * Frm-LF/m/n
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{T2B}{Frm-LF}{b}{n}{
+ <-> \Frm@@scale Frm-Bold-lf-t2b
+}{}
+
+\DeclareFontShape{T2B}{Frm-LF}{bold}{n}{
+ <-> alias * Frm-LF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T2B}{Frm-LF}{bx}{n}{
+ <-> ssub * Frm-LF/b/n
+}{}
+
+\endinput
diff --git a/fonts/forum/latex/T2CFrm-LF.fd b/fonts/forum/latex/T2CFrm-LF.fd
new file mode 100644
index 0000000000..cd89179949
--- /dev/null
+++ b/fonts/forum/latex/T2CFrm-LF.fd
@@ -0,0 +1,51 @@
+%% Generated by autoinst on 2020/08/01
+%%
+\ProvidesFile{T2CFrm-LF.fd}
+ [2020/08/01 (autoinst) Font definitions for T2C/Frm-LF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Frm@scale\endcsname\relax
+ \let\Frm@@scale\@empty
+\else
+ \edef\Frm@@scale{s*[\csname Frm@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{T2C}{Frm-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{T2C}{Frm-LF}{m}{n}{
+ <-> \Frm@@scale Frm-lf-t2c
+}{}
+
+\DeclareFontShape{T2C}{Frm-LF}{regular}{n}{
+ <-> alias * Frm-LF/m/n
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{T2C}{Frm-LF}{b}{n}{
+ <-> \Frm@@scale Frm-Bold-lf-t2c
+}{}
+
+\DeclareFontShape{T2C}{Frm-LF}{bold}{n}{
+ <-> alias * Frm-LF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{T2C}{Frm-LF}{bx}{n}{
+ <-> ssub * Frm-LF/b/n
+}{}
+
+\endinput
diff --git a/fonts/forum/latex/TS1Frm-LF.fd b/fonts/forum/latex/TS1Frm-LF.fd
new file mode 100644
index 0000000000..915982be24
--- /dev/null
+++ b/fonts/forum/latex/TS1Frm-LF.fd
@@ -0,0 +1,51 @@
+%% Generated by autoinst on 2020/08/01
+%%
+\ProvidesFile{TS1Frm-LF.fd}
+ [2020/08/01 (autoinst) Font definitions for TS1/Frm-LF.]
+
+\ifcsname s@fct@alias\endcsname\else
+\gdef\s@fct@alias{\sub@sfcnt\@font@aliasinfo}
+\gdef\@font@aliasinfo#1{%
+ \@font@info{Font\space shape\space `\curr@fontshape'\space will
+ \space be\space aliased\MessageBreak to\space `\mandatory@arg'}%
+}
+\fi
+
+\expandafter\ifx\csname Frm@scale\endcsname\relax
+ \let\Frm@@scale\@empty
+\else
+ \edef\Frm@@scale{s*[\csname Frm@scale\endcsname]}%
+\fi
+
+\DeclareFontFamily{TS1}{Frm-LF}{}
+
+
+% ---- m = regular ----
+
+\DeclareFontShape{TS1}{Frm-LF}{m}{n}{
+ <-> \Frm@@scale Frm-lf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Frm-LF}{regular}{n}{
+ <-> alias * Frm-LF/m/n
+}{}
+
+
+% ---- b = bold ----
+
+\DeclareFontShape{TS1}{Frm-LF}{b}{n}{
+ <-> \Frm@@scale Frm-Bold-lf-ts1
+}{}
+
+\DeclareFontShape{TS1}{Frm-LF}{bold}{n}{
+ <-> alias * Frm-LF/b/n
+}{}
+
+
+% ---- Extra 'ssub' rules to map 'bx' to 'b' ----
+
+\DeclareFontShape{TS1}{Frm-LF}{bx}{n}{
+ <-> ssub * Frm-LF/b/n
+}{}
+
+\endinput
diff --git a/fonts/forum/latex/forum.sty b/fonts/forum/latex/forum.sty
index 9c83728fe9..1dbd695e8f 100644
--- a/fonts/forum/latex/forum.sty
+++ b/fonts/forum/latex/forum.sty
@@ -1,40 +1,64 @@
\ProvidesPackage{forum}[%
- 2020/07/25 (Bob Tennent) Supports Forum font for xeLaTeX and luaLaTeX. ]
+ 2020/08/01 (Bob Tennent) Supports Forum fonts for all LaTeX engines. ]
-\RequirePackage{iftex}
+\RequirePackage{ifxetex,ifluatex,textcomp}
-\ifpdftex
-\PackageError{forum}{%
- *****************************************\MessageBreak
- Please process using XeLaTeX or luaLaTeX\MessageBreak
- *****************************************}
-\fi
+\newif\ifforum@otf
+\ifxetex
+ \forum@otftrue
+\else\ifluatex
+ \forum@otftrue
+\else % [pdf]LaTeX
+ \forum@otffalse
+\fi\fi
-\newcommand*{\Forum@scale}{1}
+\newcommand*{\Frm@scale}{1}
\RequirePackage{xkeyval}
-\DeclareOptionX{scaled}{\renewcommand*{\Forum@scale}{#1}}
-\DeclareOptionX{scale}{\renewcommand*{\Forum@scale}{#1}}
+\DeclareOptionX{scaled}{\renewcommand*{\Frm@scale}{#1}}
+\DeclareOptionX{scale}{\renewcommand*{\Frm@scale}{#1}}
+
+\DeclareOptionX{type1}{\forum@otffalse}
\ProcessOptionsX\relax
+\ifforum@otf
\RequirePackage{fontspec}
+\else
+ \RequirePackage{fontenc,fontaxes,mweights}
+\fi
+\ifforum@otf
\ifxetex\XeTeXtracingfonts=1\fi
\defaultfontfeatures{
Ligatures = TeX ,
- Extension = .ttf ,
+ Extension = .otf ,
+ Scale = \Frm@scale,
}
\setmainfont
[ UprightFont = *-Regular ,
+ BoldFont = Frm-Bold,
]
{Forum}
\newfontfamily\forum
[ UprightFont = *-Regular ,
+ BoldFont = Frm-Bold,
]
{Forum}
+\else % type1
+
+ \def\mdseries@rm{regular}
+ \def\bfseries@rm{bold}
+ \def\forumfamily{Frm-LF}
+ \renewcommand*\rmdefault{\forumfamily}
+ \newcommand*\forum{\fontfamily{\forumfamily}\selectfont}
+
+\fi
+
% turn off defaults in case other fonts are selected:
+\ifforum@otf
\defaultfontfeatures{}
+\fi
\endinput
diff --git a/fonts/forum/map/forum.map b/fonts/forum/map/forum.map
new file mode 100644
index 0000000000..412de171a3
--- /dev/null
+++ b/fonts/forum/map/forum.map
@@ -0,0 +1,28 @@
+% Automatically maintained by otftotfm or other programs. Do not edit.
+
+Frm-Bold-lf-ot1--lcdfj Frm-BoldLCDFJ "" <Frm-BoldLCDFJ.pfb
+Frm-Bold-lf-ot1--base Frm-Bold "AutoEnc_b5i5mxmtjpehcnzsivl27t6vdh ReEncodeFont" <[frm_b5i5mx.enc <Frm-Bold.pfb
+Frm-Bold-lf-t1--lcdfj Frm-BoldLCDFJ "" <Frm-BoldLCDFJ.pfb
+Frm-Bold-lf-t1--base Frm-Bold "AutoEnc_jsuphk255jtp4vyd6hdee5tmba ReEncodeFont" <[frm_jsuphk.enc <Frm-Bold.pfb
+Frm-Bold-lf-ly1--lcdfj Frm-BoldLCDFJ "" <Frm-BoldLCDFJ.pfb
+Frm-Bold-lf-ly1--base Frm-Bold "AutoEnc_fx2ufv3j7fpqqhggjdyascngqb ReEncodeFont" <[frm_fx2ufv.enc <Frm-Bold.pfb
+Frm-Bold-lf-t2a--lcdfj Frm-BoldLCDFJ "" <Frm-BoldLCDFJ.pfb
+Frm-Bold-lf-t2a--base Frm-Bold "AutoEnc_acf3ptalwqmousiks2osqet2tf ReEncodeFont" <[frm_acf3pt.enc <Frm-Bold.pfb
+Frm-Bold-lf-t2b--lcdfj Frm-BoldLCDFJ "" <Frm-BoldLCDFJ.pfb
+Frm-Bold-lf-t2b--base Frm-Bold "AutoEnc_ylkcu6sj3sheh3xrjhz57ovfrd ReEncodeFont" <[frm_ylkcu6.enc <Frm-Bold.pfb
+Frm-Bold-lf-t2c--lcdfj Frm-BoldLCDFJ "" <Frm-BoldLCDFJ.pfb
+Frm-Bold-lf-t2c--base Frm-Bold "AutoEnc_e2otk2a3hk3flc2utkaniqemre ReEncodeFont" <[frm_e2otk2.enc <Frm-Bold.pfb
+Frm-Bold-lf-ts1--base Frm-Bold "AutoEnc_brq6mfypo3tfoejextl54y5lde ReEncodeFont" <[frm_brq6mf.enc <Frm-Bold.pfb
+Frm-lf-ot1--lcdfj FrmLCDFJ "" <FrmLCDFJ.pfb
+Frm-lf-ot1--base Frm "AutoEnc_b5i5mxmtjpehcnzsivl27t6vdh ReEncodeFont" <[frm_b5i5mx.enc <Frm.pfb
+Frm-lf-t1--lcdfj FrmLCDFJ "" <FrmLCDFJ.pfb
+Frm-lf-t1--base Frm "AutoEnc_jsuphk255jtp4vyd6hdee5tmba ReEncodeFont" <[frm_jsuphk.enc <Frm.pfb
+Frm-lf-ly1--lcdfj FrmLCDFJ "" <FrmLCDFJ.pfb
+Frm-lf-ly1--base Frm "AutoEnc_smvvubzeq5fpb7mg3hiws5aacb ReEncodeFont" <[frm_smvvub.enc <Frm.pfb
+Frm-lf-t2a--lcdfj FrmLCDFJ "" <FrmLCDFJ.pfb
+Frm-lf-t2a--base Frm "AutoEnc_acf3ptalwqmousiks2osqet2tf ReEncodeFont" <[frm_acf3pt.enc <Frm.pfb
+Frm-lf-t2b--lcdfj FrmLCDFJ "" <FrmLCDFJ.pfb
+Frm-lf-t2b--base Frm "AutoEnc_ylkcu6sj3sheh3xrjhz57ovfrd ReEncodeFont" <[frm_ylkcu6.enc <Frm.pfb
+Frm-lf-t2c--lcdfj FrmLCDFJ "" <FrmLCDFJ.pfb
+Frm-lf-t2c--base Frm "AutoEnc_e2otk2a3hk3flc2utkaniqemre ReEncodeFont" <[frm_e2otk2.enc <Frm.pfb
+Frm-lf-ts1--base Frm "AutoEnc_brq6mfypo3tfoejextl54y5lde ReEncodeFont" <[frm_brq6mf.enc <Frm.pfb
diff --git a/fonts/forum/opentype/Forum-Regular.otf b/fonts/forum/opentype/Forum-Regular.otf
new file mode 100644
index 0000000000..63320fc482
--- /dev/null
+++ b/fonts/forum/opentype/Forum-Regular.otf
Binary files differ
diff --git a/fonts/forum/opentype/Frm-Bold.otf b/fonts/forum/opentype/Frm-Bold.otf
new file mode 100644
index 0000000000..de8f37cecd
--- /dev/null
+++ b/fonts/forum/opentype/Frm-Bold.otf
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-ly1--base.tfm b/fonts/forum/tfm/Frm-Bold-lf-ly1--base.tfm
new file mode 100644
index 0000000000..42ff713691
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-ly1--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-ly1--lcdfj.tfm b/fonts/forum/tfm/Frm-Bold-lf-ly1--lcdfj.tfm
new file mode 100644
index 0000000000..58c779ef37
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-ly1--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-ly1.tfm b/fonts/forum/tfm/Frm-Bold-lf-ly1.tfm
new file mode 100644
index 0000000000..cbeded6e3b
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-ly1.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-ot1--base.tfm b/fonts/forum/tfm/Frm-Bold-lf-ot1--base.tfm
new file mode 100644
index 0000000000..cb7c1dc16c
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-ot1--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-ot1--lcdfj.tfm b/fonts/forum/tfm/Frm-Bold-lf-ot1--lcdfj.tfm
new file mode 100644
index 0000000000..58c779ef37
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-ot1--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-ot1.tfm b/fonts/forum/tfm/Frm-Bold-lf-ot1.tfm
new file mode 100644
index 0000000000..0c13b7d521
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-ot1.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t1--base.tfm b/fonts/forum/tfm/Frm-Bold-lf-t1--base.tfm
new file mode 100644
index 0000000000..2c3ed3bdd8
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t1--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t1--lcdfj.tfm b/fonts/forum/tfm/Frm-Bold-lf-t1--lcdfj.tfm
new file mode 100644
index 0000000000..58c779ef37
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t1--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t1.tfm b/fonts/forum/tfm/Frm-Bold-lf-t1.tfm
new file mode 100644
index 0000000000..5c84cf404b
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t1.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t2a--base.tfm b/fonts/forum/tfm/Frm-Bold-lf-t2a--base.tfm
new file mode 100644
index 0000000000..e8403281ac
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t2a--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t2a--lcdfj.tfm b/fonts/forum/tfm/Frm-Bold-lf-t2a--lcdfj.tfm
new file mode 100644
index 0000000000..58c779ef37
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t2a--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t2a.tfm b/fonts/forum/tfm/Frm-Bold-lf-t2a.tfm
new file mode 100644
index 0000000000..9217a3ca54
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t2a.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t2b--base.tfm b/fonts/forum/tfm/Frm-Bold-lf-t2b--base.tfm
new file mode 100644
index 0000000000..47911a91d4
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t2b--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t2b--lcdfj.tfm b/fonts/forum/tfm/Frm-Bold-lf-t2b--lcdfj.tfm
new file mode 100644
index 0000000000..58c779ef37
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t2b--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t2b.tfm b/fonts/forum/tfm/Frm-Bold-lf-t2b.tfm
new file mode 100644
index 0000000000..2bbd2e0348
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t2b.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t2c--base.tfm b/fonts/forum/tfm/Frm-Bold-lf-t2c--base.tfm
new file mode 100644
index 0000000000..5ecfb68dfb
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t2c--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t2c--lcdfj.tfm b/fonts/forum/tfm/Frm-Bold-lf-t2c--lcdfj.tfm
new file mode 100644
index 0000000000..58c779ef37
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t2c--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-t2c.tfm b/fonts/forum/tfm/Frm-Bold-lf-t2c.tfm
new file mode 100644
index 0000000000..d3bd91d9da
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-t2c.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-ts1--base.tfm b/fonts/forum/tfm/Frm-Bold-lf-ts1--base.tfm
new file mode 100644
index 0000000000..790eb6dadc
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-ts1--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-Bold-lf-ts1.tfm b/fonts/forum/tfm/Frm-Bold-lf-ts1.tfm
new file mode 100644
index 0000000000..9c1c75ef42
--- /dev/null
+++ b/fonts/forum/tfm/Frm-Bold-lf-ts1.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-ly1--base.tfm b/fonts/forum/tfm/Frm-lf-ly1--base.tfm
new file mode 100644
index 0000000000..5a4ce0580b
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-ly1--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-ly1--lcdfj.tfm b/fonts/forum/tfm/Frm-lf-ly1--lcdfj.tfm
new file mode 100644
index 0000000000..b243c8c708
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-ly1--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-ly1.tfm b/fonts/forum/tfm/Frm-lf-ly1.tfm
new file mode 100644
index 0000000000..33d2a36b2c
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-ly1.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-ot1--base.tfm b/fonts/forum/tfm/Frm-lf-ot1--base.tfm
new file mode 100644
index 0000000000..f5eede4294
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-ot1--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-ot1--lcdfj.tfm b/fonts/forum/tfm/Frm-lf-ot1--lcdfj.tfm
new file mode 100644
index 0000000000..b243c8c708
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-ot1--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-ot1.tfm b/fonts/forum/tfm/Frm-lf-ot1.tfm
new file mode 100644
index 0000000000..baa848292c
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-ot1.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t1--base.tfm b/fonts/forum/tfm/Frm-lf-t1--base.tfm
new file mode 100644
index 0000000000..3e5ea8e694
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t1--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t1--lcdfj.tfm b/fonts/forum/tfm/Frm-lf-t1--lcdfj.tfm
new file mode 100644
index 0000000000..b243c8c708
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t1--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t1.tfm b/fonts/forum/tfm/Frm-lf-t1.tfm
new file mode 100644
index 0000000000..85fec87c42
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t1.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t2a--base.tfm b/fonts/forum/tfm/Frm-lf-t2a--base.tfm
new file mode 100644
index 0000000000..b8d7392b03
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t2a--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t2a--lcdfj.tfm b/fonts/forum/tfm/Frm-lf-t2a--lcdfj.tfm
new file mode 100644
index 0000000000..b243c8c708
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t2a--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t2a.tfm b/fonts/forum/tfm/Frm-lf-t2a.tfm
new file mode 100644
index 0000000000..54f3351a52
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t2a.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t2b--base.tfm b/fonts/forum/tfm/Frm-lf-t2b--base.tfm
new file mode 100644
index 0000000000..1060e88645
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t2b--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t2b--lcdfj.tfm b/fonts/forum/tfm/Frm-lf-t2b--lcdfj.tfm
new file mode 100644
index 0000000000..b243c8c708
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t2b--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t2b.tfm b/fonts/forum/tfm/Frm-lf-t2b.tfm
new file mode 100644
index 0000000000..cd0998ff14
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t2b.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t2c--base.tfm b/fonts/forum/tfm/Frm-lf-t2c--base.tfm
new file mode 100644
index 0000000000..fb7c42aaa2
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t2c--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t2c--lcdfj.tfm b/fonts/forum/tfm/Frm-lf-t2c--lcdfj.tfm
new file mode 100644
index 0000000000..b243c8c708
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t2c--lcdfj.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-t2c.tfm b/fonts/forum/tfm/Frm-lf-t2c.tfm
new file mode 100644
index 0000000000..c18076a6c7
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-t2c.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-ts1--base.tfm b/fonts/forum/tfm/Frm-lf-ts1--base.tfm
new file mode 100644
index 0000000000..92596161cf
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-ts1--base.tfm
Binary files differ
diff --git a/fonts/forum/tfm/Frm-lf-ts1.tfm b/fonts/forum/tfm/Frm-lf-ts1.tfm
new file mode 100644
index 0000000000..fc9269ed5e
--- /dev/null
+++ b/fonts/forum/tfm/Frm-lf-ts1.tfm
Binary files differ
diff --git a/fonts/forum/truetype/Forum-Regular.ttf b/fonts/forum/truetype/Forum-Regular.ttf
deleted file mode 100644
index 5a8cc75c8f..0000000000
--- a/fonts/forum/truetype/Forum-Regular.ttf
+++ /dev/null
Binary files differ
diff --git a/fonts/forum/type1/Frm-Bold.pfb b/fonts/forum/type1/Frm-Bold.pfb
new file mode 100644
index 0000000000..54fee10a88
--- /dev/null
+++ b/fonts/forum/type1/Frm-Bold.pfb
Binary files differ
diff --git a/fonts/forum/type1/Frm-BoldLCDFJ.pfb b/fonts/forum/type1/Frm-BoldLCDFJ.pfb
new file mode 100644
index 0000000000..497eabd54a
--- /dev/null
+++ b/fonts/forum/type1/Frm-BoldLCDFJ.pfb
Binary files differ
diff --git a/fonts/forum/type1/Frm.pfb b/fonts/forum/type1/Frm.pfb
new file mode 100644
index 0000000000..389ae12021
--- /dev/null
+++ b/fonts/forum/type1/Frm.pfb
Binary files differ
diff --git a/fonts/forum/type1/FrmLCDFJ.pfb b/fonts/forum/type1/FrmLCDFJ.pfb
new file mode 100644
index 0000000000..7ad67ed483
--- /dev/null
+++ b/fonts/forum/type1/FrmLCDFJ.pfb
Binary files differ
diff --git a/fonts/forum/vf/Frm-Bold-lf-ly1.vf b/fonts/forum/vf/Frm-Bold-lf-ly1.vf
new file mode 100644
index 0000000000..812d0b2857
--- /dev/null
+++ b/fonts/forum/vf/Frm-Bold-lf-ly1.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-Bold-lf-ot1.vf b/fonts/forum/vf/Frm-Bold-lf-ot1.vf
new file mode 100644
index 0000000000..807f96feda
--- /dev/null
+++ b/fonts/forum/vf/Frm-Bold-lf-ot1.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-Bold-lf-t1.vf b/fonts/forum/vf/Frm-Bold-lf-t1.vf
new file mode 100644
index 0000000000..a485d04ed9
--- /dev/null
+++ b/fonts/forum/vf/Frm-Bold-lf-t1.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-Bold-lf-t2a.vf b/fonts/forum/vf/Frm-Bold-lf-t2a.vf
new file mode 100644
index 0000000000..55572a5a21
--- /dev/null
+++ b/fonts/forum/vf/Frm-Bold-lf-t2a.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-Bold-lf-t2b.vf b/fonts/forum/vf/Frm-Bold-lf-t2b.vf
new file mode 100644
index 0000000000..1379b6521b
--- /dev/null
+++ b/fonts/forum/vf/Frm-Bold-lf-t2b.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-Bold-lf-t2c.vf b/fonts/forum/vf/Frm-Bold-lf-t2c.vf
new file mode 100644
index 0000000000..df5e8e94c0
--- /dev/null
+++ b/fonts/forum/vf/Frm-Bold-lf-t2c.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-Bold-lf-ts1.vf b/fonts/forum/vf/Frm-Bold-lf-ts1.vf
new file mode 100644
index 0000000000..92003e3857
--- /dev/null
+++ b/fonts/forum/vf/Frm-Bold-lf-ts1.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-lf-ly1.vf b/fonts/forum/vf/Frm-lf-ly1.vf
new file mode 100644
index 0000000000..7eb205df10
--- /dev/null
+++ b/fonts/forum/vf/Frm-lf-ly1.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-lf-ot1.vf b/fonts/forum/vf/Frm-lf-ot1.vf
new file mode 100644
index 0000000000..50153715a1
--- /dev/null
+++ b/fonts/forum/vf/Frm-lf-ot1.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-lf-t1.vf b/fonts/forum/vf/Frm-lf-t1.vf
new file mode 100644
index 0000000000..cd7c335f9a
--- /dev/null
+++ b/fonts/forum/vf/Frm-lf-t1.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-lf-t2a.vf b/fonts/forum/vf/Frm-lf-t2a.vf
new file mode 100644
index 0000000000..046436c11e
--- /dev/null
+++ b/fonts/forum/vf/Frm-lf-t2a.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-lf-t2b.vf b/fonts/forum/vf/Frm-lf-t2b.vf
new file mode 100644
index 0000000000..8a97b7d4f4
--- /dev/null
+++ b/fonts/forum/vf/Frm-lf-t2b.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-lf-t2c.vf b/fonts/forum/vf/Frm-lf-t2c.vf
new file mode 100644
index 0000000000..80dfea94b9
--- /dev/null
+++ b/fonts/forum/vf/Frm-lf-t2c.vf
Binary files differ
diff --git a/fonts/forum/vf/Frm-lf-ts1.vf b/fonts/forum/vf/Frm-lf-ts1.vf
new file mode 100644
index 0000000000..8ccdf7de35
--- /dev/null
+++ b/fonts/forum/vf/Frm-lf-ts1.vf
Binary files differ
diff --git a/info/install-latex-guide-zh-cn/README.md b/info/install-latex-guide-zh-cn/README.md
index 05e5d2a0f7..b8f3d0d532 100644
--- a/info/install-latex-guide-zh-cn/README.md
+++ b/info/install-latex-guide-zh-cn/README.md
@@ -10,7 +10,7 @@ The code involved in this article also asks users to do more, don't simply copy
If you need to compile the source files, please make sure to install the fandol font and use the xelatex command.
TeX Live users are recommended to use the following commands
```
-latexmk -xelatex -synctex=1 install-latex-zh-cn
+latexmk -xelatex -synctex=1 install-latex-guide-zh-cn
```
Users who cannot use `latexmk` can execute `make.bat` or `make` according to their operating system.
@@ -32,7 +32,7 @@ This work is released under the LaTeX Project Public License, v1.3c or later.
若需要编译源文件, 请确保安装 fandol 字体, 并使用 `xelatex` 命令.
推荐 TeX Live 用户使用如下命令
```
-latexmk -xelatex -synctex=1 install-latex-zh-cn
+latexmk -xelatex -synctex=1 install-latex-guide-zh-cn
```
无法使用 `latexmk` 的用户可以根据自己的操作系统执行 `make.bat` 或 `make`.
diff --git a/info/install-latex-guide-zh-cn/appendix/updateinfo.tex b/info/install-latex-guide-zh-cn/appendix/updateinfo.tex
index 50efd37c11..b97fce69df 100644
--- a/info/install-latex-guide-zh-cn/appendix/updateinfo.tex
+++ b/info/install-latex-guide-zh-cn/appendix/updateinfo.tex
@@ -2,11 +2,13 @@
\chapter{版本信息}
-\section*{v2020.8.1}
+\section*{v2020.8.2}
\begin{enumerate}
\item 增加验证 sha512 的内容
\item 将本文提交至 CTAN 而进行必要更改
+ \item 利用 \texttt{texdoc} 调出本手册
+ \item 给出直接下载 Mac\TeX 的链接
\end{enumerate}
\section*{v2020.7.1}
diff --git a/info/install-latex-guide-zh-cn/chapter/macos.tex b/info/install-latex-guide-zh-cn/chapter/macos.tex
index 5cf3089b57..400325a36e 100644
--- a/info/install-latex-guide-zh-cn/chapter/macos.tex
+++ b/info/install-latex-guide-zh-cn/chapter/macos.tex
@@ -55,6 +55,12 @@ Mac\TeX{} 是 \TeX{} Live 在 macOS 下的再打包版本, 额外加入了一些
\end{lstlisting}
安装完成后 Basic\TeX{} 依然会缺很多包, 手动安装会比较麻烦, 所以不推荐没有经验的用户尝试.
+如果不通过 Homebrew 安装 Mac\TeX,
+可以直接\href{https://mirrors.ctan.org/systems/mac/mactex/MacTeX.pkg}{下载}%
+它的安装包而后手动安装.
+同样可以考虑更换大陆镜像进行下载,
+具体请参考附录~\ref{chp:appendix:mirror}.
+
\section{卸载 Mac\TeX}
如果用户借助 Homebrew cask 安装了 Mac\TeX,
diff --git a/info/install-latex-guide-zh-cn/chapter/preface.tex b/info/install-latex-guide-zh-cn/chapter/preface.tex
index f425be3213..dfd2f693b2 100644
--- a/info/install-latex-guide-zh-cn/chapter/preface.tex
+++ b/info/install-latex-guide-zh-cn/chapter/preface.tex
@@ -2,7 +2,7 @@
\chapter*{前言}
-在 QQ 群 91940767、478023327 和 640633524 中,
+以``啸行''名义加入 QQ 群 91940767、478023327 和 640633524 后,
经常有群友咨询如何安装 \LaTeX.
实际上,
用户安装的是 \LaTeX{} 的\textbf{发行版}和相关的\textbf{编辑器}.
@@ -37,7 +37,11 @@
本文大部分内容是个人过去一段时间的使用总结, 其中难免有不甚合理或晦涩难懂的部分.
若用户在阅读本文档的过程中有任何意见和建议,
请发\href{mailto:ranwang.osbert@outlook.com}{邮件}或在
-\href{https://github.com/OsbertWang/install-latex-zh-cn/}{GitHub} 中提 issue.
+\href{https://github.com/OsbertWang/install-latex-guide-zh-cn/}{GitHub} 中提 issue.
+本文另在\href{https://gitee.com/OsbertWang/install-latex-guide-zh-cn}{码云}%
+有备份,
+并于 2020 年 7 月提交至 CTAN.
+
本手册发布后,
\href{https://github.com/EthanDeng}{Dongsheng Deng},
diff --git a/info/install-latex-guide-zh-cn/chapter/ubuntu.tex b/info/install-latex-guide-zh-cn/chapter/ubuntu.tex
index 2f8d67ba6b..168dc64aae 100644
--- a/info/install-latex-guide-zh-cn/chapter/ubuntu.tex
+++ b/info/install-latex-guide-zh-cn/chapter/ubuntu.tex
@@ -260,11 +260,16 @@ Ubuntu 20.04 下安装宏包的要求与 Windows 10 下没有多少区别, 只
\begin{lstlisting}[language=bash]
texdoc texlive-zh-cn
\end{lstlisting}
-或
\begin{lstlisting}[language=bash]
texdoc lshort-zh-cn
\end{lstlisting}
-就可分别调出 \texttt{texlive-zh-cn.pdf} 和 \texttt{lshort-zh-cn.pdf}.
+\begin{lstlisting}[language=bash]
+ texdoc install-latex-guide-zh-cn
+\end{lstlisting}
+就可分别调出 \texttt{texlive-zh-cn.pdf},
+\texttt{lshort-zh-cn.pdf}
+或本手册.
+
\section{编译文件}
diff --git a/info/install-latex-guide-zh-cn/chapter/windows.tex b/info/install-latex-guide-zh-cn/chapter/windows.tex
index 7c45b7c99e..0eb19a40e3 100644
--- a/info/install-latex-guide-zh-cn/chapter/windows.tex
+++ b/info/install-latex-guide-zh-cn/chapter/windows.tex
@@ -365,6 +365,12 @@ Doing a new installation is necessary.}.
这两本手册中都有讲解安装的相关内容,
建议用户阅读.
+本手册业已被 \TeX{} Live 收录,
+调出本手册的命令为
+\begin{lstlisting}[language=bash]
+ texdoc install-latex-guide-zh-cn
+\end{lstlisting}
+
\section{编译文档}\label{sec:windows:compile}
升级宏包完成后, 用户可以编译文档.
diff --git a/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf b/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
index f7f13da4d7..cc64b633a2 100644
--- a/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
+++ b/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
Binary files differ
diff --git a/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.tex b/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.tex
index 8afc83ae52..ed3c3e2a73 100644
--- a/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.tex
+++ b/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.tex
@@ -42,7 +42,7 @@
\renewmenumacro{\keys}[+]{shadowedroundedkeys}
\title{\bfseries 一份简短的关于 \LaTeX{} 安装的介绍%
- \thanks{\url{https://github.com/OsbertWang/install-latex}}%
+ \thanks{\url{https://github.com/OsbertWang/install-latex-guide-zh-cn}}%
}
\author{王然%
\thanks{\href{mailto:ranwang.osbert@outlook.com}%
diff --git a/info/lshort/chinese/README-zh.md b/info/lshort/chinese/README-zh.md
index cb8b69d041..eda9fdcecc 100644
--- a/info/lshort/chinese/README-zh.md
+++ b/info/lshort/chinese/README-zh.md
@@ -1,4 +1,4 @@
-# 中文版 lshort,6.01 版
+# 中文版 lshort,6.02 版
## 许可证
@@ -12,8 +12,9 @@
### 手动编译
-在 src 目录下按照以下顺序编译:
-```
+在 `src` 目录下按照以下顺序编译:
+
+```sh
xelatex lshort-zh-cn
makeindex -s lshort-zh-cn.ist lshort-zh-cn
xelatex lshort-zh-cn
@@ -24,14 +25,15 @@ xelatex lshort-zh-cn
### 使用脚本和 Makefile 编译
-Linux 下提供了 GNU make 可用的 Makefile,使用 GNU make 的顺序为:
-```
+对于 GNU/Linux 或 macOS 用户,我们提供了 GNU make 所需的 Makefile,在 `src` 目录下执行以下命令进行编译:
+
+```sh
make
make install
```
-Windows 下在 src 目录提供批处理脚本 `make.bat`,双击执行编译。
+对于 Windows 用户,我们也在 `src` 目录提供了批处理脚本 `make.bat`,双击进行编译。
### 使用 latexmk 编译
-在 src 目录下提供了供 `latexmk` 构建工具使用的配置文件 `latexmkrc`。在 src 目录下执行 `latexmk` 命令进行编译,完成后将 PDF 文件移动到根目录。 \ No newline at end of file
+在 `src` 目录下有可供 `latexmk` 构建工具使用的配置文件 `latexmkrc`。在 `src` 目录下执行 `latexmk` 命令进行编译,完成后将 PDF 文件移动到根目录。
diff --git a/info/lshort/chinese/README.md b/info/lshort/chinese/README.md
index ecfe6062ca..a6de7cfc1d 100644
--- a/info/lshort/chinese/README.md
+++ b/info/lshort/chinese/README.md
@@ -1,4 +1,4 @@
-# The Not So Short Introduction To LaTeX (Chinese Edition), v6.01
+# The Not So Short Introduction To LaTeX (Chinese Edition), v6.02
## License
@@ -6,6 +6,7 @@ This document is distributed under the **GNU Free Documentation License, version
For detailed information, see the section entitled 'GNU Free Documentation License' in the document, or the source code file `fdl.tex`.
## Preparation for typesetting
+
Update `ctex` and `xeCJK` (and all the packages they rely on) in your TeX distritusion. And make sure you've installed
all the other packages used in `lshort-zh-cn-style.sty` and updated them to the newest version.
@@ -13,8 +14,9 @@ all the other packages used in `lshort-zh-cn-style.sty` and updated them to the
### Manually typesetting
-In 'src' directory, typeset the source code in the following order:
-```
+In `src` directory, typeset the source code in the following order:
+
+```sh
xelatex lshort-zh-cn
makeindex -s lshort-zh-cn.ist lshort-zh-cn
xelatex lshort-zh-cn
@@ -25,14 +27,15 @@ If typesetting succeeds and the target PDF document is made correctly, then move
### Using scripts and Makefile
-For GNU/Linux and OS/X users, we provide Makefile in the 'src' directory. Use GNU make tool in the following order:
-```
+For GNU/Linux and macOS users, we provide Makefile in the `src` directory. Use GNU make tool in the following order:
+
+```sh
make
make install
```
-For Windows users, we also provide a batch file `make.bat` in the 'src' directory, which you can double-click to do the typesetting.
+For Windows users, we also provide a batch file `make.bat` in the `src` directory, which you can double-click to do the typesetting.
### Using latexmk
-We also provide `latexmkrc` configuration file for building with `latexmk` tool. Run the command `latexmk` in `src` directory for typesetting, then move the PDF document to the root directory. \ No newline at end of file
+We also provide `latexmkrc` configuration file for building with `latexmk` tool. Run the command `latexmk` in `src` directory for typesetting, then move the PDF document to the root directory.
diff --git a/info/lshort/chinese/lshort-zh-cn.pdf b/info/lshort/chinese/lshort-zh-cn.pdf
index b8c28394a7..291e308034 100644
--- a/info/lshort/chinese/lshort-zh-cn.pdf
+++ b/info/lshort/chinese/lshort-zh-cn.pdf
Binary files differ
diff --git a/info/lshort/chinese/src/INSTRUCTIONS.md b/info/lshort/chinese/src/INSTRUCTIONS.md
index fa493e575a..a441c6470b 100644
--- a/info/lshort/chinese/src/INSTRUCTIONS.md
+++ b/info/lshort/chinese/src/INSTRUCTIONS.md
@@ -1,35 +1,44 @@
# 中文版 lshort 代码用到的命令
-### 约定俗成的习惯
+## 约定俗成的习惯
-1. 命令后面用 `\␣` 加空格,如 `\LaTeX\␣`,不用 `\LaTeX{}␣`。
-2. 每章的 `\chapter` 命令后手动给 `.los` 目录写间距:
+1. 在控制序列后面显式加空格时使用空分组 `{}`,如 `\LaTeX{} 命令`。
+2. TeX 专有术语尽量使用 `\hologo` 宏排版。
+3. 每章的 `\chapter` 命令后手动给 `.los` 目录写间距:
```
\addtocontents{los}{\protect\addvspace{10pt}}
```
-### 命令和环境
+## LaTeX 术语的表示方式
+### 命令和环境名称
+
+用 `\cmd` 和 `\env` 命令生成命令名 `\cmdname` / 环境名 `envname`,以等宽字体排版:
```
\cmd{cmdname}
\env{envname}
```
-生成命令名 \cmdname / 环境 envname,等宽字体。cmdname 参数不要带斜杠。
+`cmdname` 参数不要带斜杠。名称内在必要的时候添加 `\-` 控制分词。
+
+### 宏包和文档类名称
+用 `\pkg` 和 `\cls` 命令生成宏包和文档类的名称,以无衬线字体排版。
```
\pkg{pkgname}
\cls{clsname}
```
-生成宏包和文档类的名称(无衬线字体)。
+### 命令参数
+
+用 `\marg` 命令生成必选参数,用 `\oarg` 命令生成可选参数:
```
\marg{argument}
\marg*{argument}
\oarg{argument}
\oarg*{argument}
```
-命令的必选参数/可选参数,分别为参数自动包裹大括号和中括号。不带星号的版本生成 meta 形式的 &lt;*argument*&gt;。
+生成的参数自动包裹大括号和中括号。不带星号的版本生成 meta 形式的 &lt;*argument*&gt;。
```
\Arg{argument}
@@ -42,12 +51,15 @@
> `\cmd{usepackage}\oarg*{\Arg{key1}=\Arg{value1},\ldots}\marg{pkgname}`
+### 其它
+
+CTAN 资源的链接使用以下命令:
```
\CTAN|link|
```
-生成 CTAN 资源的链接。参数 link 为链接的子目录名称,如 systems/win32/miktex,macros/contrib/... 等。
+参数 `link` 为链接的子目录名称,如 `systems/win32/miktex`,`macros/contrib/...` 等。
-### 索引
+## 索引
```
\cmdindex{cmdname}
@@ -55,8 +67,8 @@
\envindex{envname}
\envindex[pkgname]{envname}
```
-命令和环境的索引项。LaTeX 基本命令用不带可选参数的形式;宏包/文档类的命令在可选参数里指定宏包名称。
-cmdname 和 envname 可写多个命令和环境名,以逗号分隔(唯一例外的是 `\,` 命令)。
+命令和环境的索引项。TeX 原始命令、LaTeX 内核和标准文档类命令用不带可选参数的形式;宏包/文档类的命令在可选参数里指定宏包名称。
+`cmdname` 和 `envname` 可写多个命令和环境名,以逗号分隔(唯一例外的是 `\,` 命令)。
```
\pkgindex{pkgname}
@@ -82,7 +94,7 @@ cmdname 和 envname 可写多个命令和环境名,以逗号分隔(唯一例
```
汉字索引项,通过拼音参与排序。
-### 排版元素
+## 排版元素
```
\demowidth{length}
diff --git a/info/lshort/chinese/src/app.A.install.tex b/info/lshort/chinese/src/app.A.install.tex
deleted file mode 100644
index 27a4ca2ca5..0000000000
--- a/info/lshort/chinese/src/app.A.install.tex
+++ /dev/null
@@ -1,137 +0,0 @@
-\chapter{安装 \protect\TeX\ 发行版}\label{app:install}
-
-\begin{intro}
-高德纳的 \TeX\ 程序开发于 20 世纪 80 年代,那时候电子计算机的运算能力有限,\TeX\ 还是大型服务器上的玩物。
-而如今个人计算机完全能够胜任排版的工作,并催生了用于个人计算机的工具集合—— \TeX\ 发行版的发展。
-
-本章会简单介绍如何安装 \TeX\ 发行版,以及保持发行版的内容紧跟最新。后者非常重要,
-因为 \LaTeX\ 宏包是不断更新换代的。
-\end{intro}
-
-\section{\protect\TeX\ 发行版简介}\label{sec:dists}
-
-一个\textbf{\TeX\ 发行版}是 \TeX\ 排版引擎、支持排版的文件(基本格式、\LaTeX\ 宏包、字体等)以及一些辅助工具的集合。
-各式各样的 \TeX\ 发行版经过十多年的发展,大浪淘沙,现今的两个主流发行版为:
-\begin{itemize}
- \item \textbf{\TeX\ Live}\par
- \TeX\ Live 由类 UNIX 系统上的 te\TeX\ 发展并取而代之,最终成为跨平台的 \TeX\ 发行版。
- \TeX\ Live 自 2011 年起以年份作为发行版的版本号,保持了一年一更的频率。
-
- Mac\TeX\ 是 macOS(OS X)系统下的一个定制化的 \TeX\ Live 版本,与 \TeX\ Live 同步更新。
-
- \item \textbf{Mik\TeX}\par
- Mik\TeX\ 是主要用于 Windows 平台的一个稳定发展的 \TeX\ 发行版。
- 中国的 \LaTeX\ 用户应该对“C\TeX\ 套装”比较熟悉,它是一个经过本地化配置的 Mik\TeX 。
-\end{itemize}
-
-\TeX\ Live 和 Mik\TeX\ 都集成了一个简单的 \LaTeX\ 源代码编辑器 \TeX works(Mac\TeX\ 则集成了类似的 \TeX shop)。
-用户在安装完毕后,可直接使用 \TeX works 编写和编译 \LaTeX\ 源代码。
-
-\subsection{安装发行版}\label{subsec:install-dists}
-
-\subsubsection{\TeX\ Live}
-
-\TeX\ Live 的光盘镜像发布于 \url{http://www.tug.org/texlive/}%
-\footnote{Linux 发行版的软件源也提供 \TeX\ Live 的安装,不过不够完整,更新也不是很及时。建议直接从镜像安装。}。
-下载镜像到本地,挂载到虚拟光驱,或者用压缩工具解压后,在其根目录有几个用于安装的脚本:
-\begin{itemize}
- \item 用于 Windows 的批处理文件:
- \begin{itemize}
- \item \texttt{install-tl-windows.bat} 双击启动图形界面安装程序(简单安装);
- \item \texttt{install-tl-advanced.bat} 双击启动图形界面安装程序(定制安装);
- \item 在命令提示符中输入 \texttt{install-tl-windows.bat -no-gui} 启动文本界面安装程序。
- \end{itemize}
- \item 用于 Linux 的 Perl 脚本 \texttt{install-tl} :
- \begin{itemize}
- \item \texttt{install-tl} 启动文本界面安装程序;
- \item \texttt{install-tl -gui=wizard} 启动图形界面安装程序(简单安装);
- \item \texttt{install-tl -gui=peritk} 启动图形界面安装程序(定制安装)。
- \end{itemize}
-\end{itemize}
-另外也可以下载在线安装程序 \texttt{install-tl.zip},包含以上所有安装脚本。安装过程中会从 CTAN 软件源下载所有组件。
-
-Linux 下 \TeX\ Live 安装完毕后,一般还需要在 root 权限下进行以下操作,使得 \hologo{XeLaTeX} 能正确通过 \pkg{fontspec}
-等宏包使用字体\footnote{\url{http://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf},%
-可用 \texttt{texdoc texlive-zh-cn} 在本地打开。}:
-\begin{enumerate}
- \item 将 \texttt{texlive-fontconfig.conf} 文件复制到 \texttt{/etc/fonts/conf.d/09-texlive.conf}。
- \item 运行 \texttt{fc-cache -fsv}。
-\end{enumerate}
-
-\subsubsection{Mik\TeX}
-从 Mik\TeX\ 官网 \url{http://www.miktex.org/} 下载名为 \texttt{basic-miktex-***.exe} 的 Windows 安装程序包。
-下载后直接双击打开,按照程序的提示进行安装即可。
-
-\section{安装和更新宏包}\label{sec:pkg-manager}
-
-\TeX\ Live 提供了图形界面的宏包管理器 \TeX\ Live Manager 用于安装和更新宏包,而 Mik\-\TeX\ 也提供了管理器
-Mik\-\TeX\ Package Manager。用户可直接打开程序,进行宏包的安装和更新
-(Mik\-\TeX\ Package Manager 有普通权限和管理员权限的版本,建议总是使用管理员权限的版本)。
-
-两者也可以通过各自的命令行工具安装和更新宏包:
-\begin{verbatim}
-% TeX Live 命令行工具 tlmgr 的使用示例
-% 安装/卸载宏包
-tlmgr install <package-name>
-tlmgr remove <package-name>
-% 更新所有宏包(包括 tlmgr 本身)
-tlmgr update --all --self
-% 列出所有可更新的宏包
-tlmgr update --list
-% 指定更新源地址
-% <CTAN mirrors> 形如 https://mirrors.tuna.tsinghua.edu.cn/CTAN
-tlmgr repository set <CTAN mirrors>/systems/texlive/tlnet
-% 查看宏包信息,加 --list 参数可列出宏包的所有文件
-tlmgr info <package-name>
-\end{verbatim}
-
-\begin{verbatim}
-% MikTeX 命令行工具 mpm 的使用示例
-% 建议始终加 --admin 参数使用
-% 安装/卸载宏包
-mpm --admin --install <package-name>
-mpm --admin --uninstall <package-name>
-% 更新所有宏包
-mpm --admin --update
-% 列出所有可更新的宏包
-mpm --admin --find-updates
-% 指定更新源地址
-mpm --admin --set-repository=<CTAN mirrors>/systems/win32/miktex/tm/packages
-% 查看宏包信息
-mpm --admin --print-package-info <package-name>
-\end{verbatim}
-
-\TeX\ Live 默认安装所有宏包,而 Mik\TeX\ 的安装程序只包含了 \LaTeX\ 的一些基本宏包。从 \TeX\ Live 的光盘镜像和 Mik\-\TeX\ 的安装包体积可见一斑。
-默认情况下,编译过程中如果遇到宏包未安装而报错的情况下,Mik\TeX\ 会弹出一个对话框,让用户可以选择临时安装宏包,安装成功后继续编译。
-
-\subsection{手动安装宏包}\label{subsec:pkg-manual-install}
-
-\textbf{\textcolor{red}{如非万不得已,尽量不要手动安装宏包}}。绝大多数宏包都已打包到 \TeX\ Live 和 Mik\TeX\ 两大发行版的安装源,
-可用宏包管理器安装。如果你知道某个宏包的名称,但不确定是否在发行版中已打包,可在 CTAN 中搜索。
-
-如果确实有手动安装宏包的需要,本小节的内容将有所帮助。在手动安装之前,有必要了解一下 \TeX\ 目录结构(\TeX\ Directory Structure, TDS)。
-它是 \TeX\ 发行版中宏包、字体、帮助文档等文件的组织结构。TDS 有时也称为 TEXMF 树,取 \TeX$+$\hologo{METAFONT} 之意。
-
-以 \TeX\ Live 为例,假设系统的 TEXMF 树根目录为 \nolinkurl{C:\\texlive\\2015\\texmf-dist},其下有很多子目录,仅举几例:
-\begin{description}
- \item[\texttt{tex/latex}] \LaTeX\ 宏包。
- \item[\texttt{doc/latex}] \LaTeX\ 宏包的帮助文档。
- \item[\texttt{source/latex}] \LaTeX\ 宏包的源代码。
- \item[\texttt{bibtex}] \hologo{BibTeX} 工具相关文件,许多宏包配套的 \hologo{BibTeX} 格式文件位于子目录 \texttt{bst} 中。
- \item[\texttt{fonts/tfm}] \TeX\ 使用的字体文件,TFM 格式。
- \item[\texttt{fonts/type1}] PostScript 字体文件(Type1),PFB 格式。
- \item[\texttt{fonts/opentype}] OpenType 格式的字体文件。
-\end{description}
-
-需要手动安装的宏包,一般已经按照上述目录结构打包完成。手动安装时,尽量不要拷贝到系统的 TEXMF 树,而是拷贝到发行版提供的用户 TEXMF 树,如
-\TeX Live 的 \nolinkurl{C:\\texlive\\texmf-local}。安装完成后,还需\textbf{刷新 \TeX\ 发行版的文件名数据库},令新安装的宏包文件能够被系统找到。
-\TeX\ Live 用户须在 Windows 命令行或者 Linux 终端执行命令:
-\begin{verbatim}
-mktexlsr
-\end{verbatim}
-Mik\TeX\ 用户的命令为:
-\begin{verbatim}
-initexmf --update-fndb
-\end{verbatim}
-
-\endinput \ No newline at end of file
diff --git a/info/lshort/chinese/src/chap.02.text.tex b/info/lshort/chinese/src/chap.02.text.tex
deleted file mode 100644
index 55b43be44c..0000000000
--- a/info/lshort/chinese/src/chap.02.text.tex
+++ /dev/null
@@ -1,380 +0,0 @@
-\chapter{用 \LaTeX\ 排版文字}\label{chap:text}
-\addtocontents{los}{\protect\addvspace{10pt}}
-
-\begin{intro}
-文字是排版的基础。在介绍 \LaTeX\ 支持的各种文档元素之前,首先应当了解一下如何在 \LaTeX\ 源代码中输入并排版文字,
-尤其是(西文中的)标点符号、连字符、重音等一些细节。
-
-本文的开头首先介绍了中文的支持方式。随着 \LaTeX\ 和底层 \TeX\ 引擎的发展,旧方式(CCT、CJK 等)日渐退出舞台,
-xelatex 编译命令配合 \cls{xeCJK} 或 \cls{ctex} 宏包的方式成为主流。
-\end{intro}
-
-\section{语言文字和编码}\label{sec:encoding}
-
-\pinyinindex{bianma}{编码}
-\LaTeX\ 源代码为文本文件,而文本文件的一个至关重要的性质是它的编码。在此用尽量短的篇幅介绍一下。
-
-\subsection{ASCII 编码}\label{subsec:ascii}
-
-\index{bianma@编码!ASCII}
-计算机的基本存储单位是字节(byte),每个字节为八位(8-bit),范围用十六进制写作 0x00-0xFF。
-ASCII (美国通用信息交换码)使用 0x00-0x7F 对文字编码,也就是 7-bit,能够表示 QWERTY 键盘上能够输入的拉丁字母、数字和符号。
-
-由于 \TeX\ 最初面向英语文档的排版,ASCII 编码完全够用,而早期版本的 \TeX\ 也只支持 7-bit 和 ASCII。
-要排版西欧语系中带重音的字符,就必须用到后文所叙述的重音命令,如 M\"obius 必须输入 \texttt{M\char`\\"obius}。
-
-\subsection{扩展编码}\label{subsec:ext-encoding}
-
-在 ASCII 之后,各种语言文字都发展了自己的编码,比如西欧语言的 Latin-1,日本的 Shift-JIS,中国大陆的 GB2312-80 和 GBK 等。
-它们之中的绝大多数都向下兼容 ASCII,因此无论是在哪种编码下,\TeX\ 以及 \LaTeX\ 的命令和符号都能用。
-
-\index{bianma@编码!Latin-1}
-\pkgindex{inputenc}
-\TeX\ 从 3.0 版开始支持 8-bit,能够处理源代码里编码处于 0x80-0xFF 范围的字符。
-西欧(拉丁字母)、俄语系(西里尔字母)等语言的编码方案刚好能够利用 0x80-0xFF 这个范围,处理起来较为方便。
-\texttt{latex} 命令及 \texttt{pdflatex} 命令下,这些编码的处理由 \pkg{inputenc} 宏包支持。
-比如将源代码保存为 Latin-1 编码,并在导言区调用宏包:
-\begin{verbatim}
-\usepackage[latin1]{inputenc}
-\end{verbatim}
-接下来,M\"obius 就直接可以通过(用适当输入法)输入 \texttt{M\"obius} 得到了。
-
-\index{bianma@编码!GBK}
-GBK 等编码是多字节编码,ASCII 字符为一个字节,汉字等非 ASCII 字符为两个字节,这就需要借助一些宏包进行较为复杂的判断和处理。
-\pkg{CJK} 宏包就是用于处理中、日、韩等多字节编码的语言文字的宏包。但 \pkg{CJK} 宏包的使用非常不方便,笔者不再推荐直接使用。
-
-\subsection{UTF-8 编码}\label{subsec:utf8}
-
-\index{bianma@编码!UTF-8}
-Unicode 是一个多国字符的集合,覆盖了几乎全球范围内的语言文字。UTF-8 是 Unicode 的一套编码方案,
-一个字符可以由一个到四个字节编码,其中单字节字符兼容 ASCII 编码。
-
-\pkgindex{inputenc}
-\texttt{latex} 命令及 \texttt{pdflatex} 命令下可以使用 \pkg{inputenc} 宏包支持 UTF-8 编码:
-\begin{verbatim}
-\usepackage[utf8]{inputenc}
-\end{verbatim}
-
-\texttt{xelatex} 和 \texttt{lualatex} 命令原生支持 UTF-8 编码,而且也\textbf{不适用 \pkg{inputenc} 宏包}。将 \texttt{.tex} 源代码保存为 UTF-8 编码,
-并借助 \pkg{fontspec} 宏包(见 \ref{subsec:fontspec} 小节)调用适当的字体,就可以在源代码中输入任意语言的文字。
-但各个语言(印地语、阿拉伯语等)的特殊排版要求需要更多的宏包支持,如 \pkg{babel}、 \pkg{polyglossia} 等。
-
-\section{排版中文}\label{sec:chinese}
-
-\subsection{\pkg{xeCJK} 宏包}\label{subsec:xeCJK}
-
-用 \LaTeX\ 排版中文的一大难题是中文字体的处理。\TeX\ 使用的字体格式仅支持不超过 256 个字符,
-旧式的中文排版方案如 \pkg{CJK} 宏包往往需要复杂的预处理,将中文字体拆分成数百个小字体,非常麻烦%
-\footnote{现在的 \texttt{pdflatex} 以及 \texttt{latex} + \texttt{dvipdfmx} 命令通过字体映射的方式支持直接使用中文字体,不需要经过预处理,
-但仍然是不方便新手操作的。}。
-
-\index{xelatex@\texttt{xelatex} 命令}
-\pkgindex{xeCJK}
-\texttt{xelatex} 命令支持直接使用系统安装的 TrueType (\texttt{.ttf}) / OpenType (\texttt{.otf}) 等格式的字体,加上对 UTF-8 编码的原生支持,
-免去了预处理字体的麻烦。在此基础上的 \pkg{xeCJK} 宏包更进一步完善了排版中文的一些细节,比如中英文之间插入空隙、
-中文行尾的回车不引入空格、标点符号不出现在行首,等等。
-
-\pkg{xeCJK} 宏包支持用简单的命令配置中文字体。举一个在 Windows 下使用 \pkg{xeCJK} 的例子(设置字体的命令详见 \ref{subsec:CJKfont} 小节),
-源代码须保存为 UTF-8 编码,并使用 \texttt{xelatex} 命令编译:
-\begin{verbatim}
-\documentclass{article}
-\usepackage{xeCJK}
-\setCJKmainfont{SimSun}
-\begin{document}
-中文\LaTeX{}排版。
-\end{document}
-\end{verbatim}
-
-\subsection{\pkg{ctex} 宏包和文档类}\label{subsec:ctex}
-
-\pkgindex{ctex}
-\clsindex{ctexart,ctexbook,ctexrep}
-\pkg{ctex} 宏包和文档类是对 \pkg{CJK} 和 \pkg{xeCJK} 等宏包的进一步封装。\pkg{ctex} 文档类包括
-\cls{ctexart} / \cls{ctexrep} / \cls{ctexbook},是对 \LaTeX\ 的三个标准文档类的封装,对 \LaTeX\ 的排版样式做了许多调整,
-以切合中文排版风格。最新版本的 \pkg{ctex} 宏包/文档类甚至能够根据操作系统自动配置字体。比如上述例子可进一步简化为:
-\begin{verbatim}
-\documentclass{ctexart}
-\begin{document}
-中文\LaTeX{}排版。
-\end{document}
-\end{verbatim}
-
-虽然 \pkg{ctex} 宏包和文档类保留了对 GBK 编码以及 \texttt{latex} + \texttt{dvipdfmx}、\texttt{pdflatex} 等旧的编译命令的支持,
-笔者建议在使用 \pkg{ctex} 宏包和文档类时总是将源代码保存为 UTF-8 编码,用 \texttt{xelatex} 命令编译。
-
-\section{\LaTeX\ 中的字符}\label{sec:text-symbols}
-
-\subsection{空格和分段}\label{subsec:spaces}
-
-\LaTeX\ 源代码中,空格键和 Tab 键输入的空白字符视为“空格”。
-连续的若干个空白字符视为一个空格。一行开头的空格忽略不计。
-
-\cmdindex{par}
-行末的回车视为一个空格;但连续两个回车,也就是空行,会将文字分段。多个空行被视为一个空行。
-也可以在行末使用 \cmd{par} 命令分段。
-\begin{example}
-Several spaces equal one.
- Front spaces are ignored.
-
-An empty line starts a new
-paragraph.\par
-A \verb|\par| command also
-starts a new line.
-\end{example}
-
-\subsection{注释}\label{subsec:comments}
-
-\index{^^e@\texttt\% (\textit{注释})}
-\LaTeX\ 用 \texttt\% 字符作为注释。在这个字符之后直到行末,所有的字符都被忽略,
-行末的回车也不引入空格。
-\begin{example}
-This is an % short comment
-% ---
-% Long and organized
-% comments
-% ---
-example: Comments do not bre%
-ak a word.
-\end{example}
-
-\subsection{特殊字符}\label{subsec:special-chars}
-
-以下字符在 \LaTeX\ 里有特殊用途,如 \texttt\% 表示注释, \texttt\$、\texttt\textasciicircum 、\texttt\_ 等用于排版数学公式,
-\texttt\& 用于排版表格,等等。直接输入这些字符得不到对应的符号,还往往会出错:
-\begin{verbatim}
-# $ % & { } _ ^ ~ \
-\end{verbatim}
-
-如果想要输入以上符号,需要使用以下带反斜线的形式输入:
-\begin{example}
-\# \$ \% \& \{ \} \_
-\^{} \~{} \textbackslash
-\end{example}
-
-事实上这些带反斜线的形式就是 \LaTeX\ 命令。\cmd{\textasciicircum} 和 \cmd{\textasciitilde}
-两个命令是需要带参数的,如果不加一对花括号(空参数),就将后面的字符作为参数,形成重音效果(详见 \ref{subsec:accents} 节)。
-\crcmd\ 被直接定义成了手动换行的命令,输入反斜杠就只好用 \cmd{text\-back\-slash}。
-
-\subsection{连字}\label{subsec:ligatures}
-
-西文排版中经常会出现连字(Ligatures),常见的有 ff / fi / fl / ffi / ffl{}。
-\begin{example}
-It's difficult to find \ldots .\\
-It's dif{}f{}icult to f{}ind \ldots .
-\end{example}
-
-\subsection{标点符号}\label{subsec:punct}
-
-中文的标点符号(绝大多数为非 ASCII 字符)使用中文输入法输入即可,一般不需要过多留意。
-而在英文标点符号上,有许多需要留意的地方。
-
-\subsubsection{引号}
-
-\index{biaodianfuhao@标点符号!`@\protect\verb+`+ (\textit{前引号} `)}
-\index{biaodianfuhao@标点符号!``@\protect\verb+'+ (\textit{后引号} ')}
-\index{biaodianfuhao@标点符号!'@\protect\verb+``+ (\textit{前双引号} ``)}
-\index{biaodianfuhao@标点符号!''@\protect\verb+''+ (\textit{后双引号} '')}
-\LaTeX\ 的单引号 ` ' 用 \texttt` 和 \texttt' 输入;双引号 `` '' 用 \verb|``| 和 \verb|''| 输入
-(虽然 \texttt" 也能表示双引号,但没有合适的单个符号用来表示前双引号,所以不常用在正文)。
-\begin{example}
-``Please press the `x' key.''
-\end{example}
-
-\subsubsection{连字号和破折号}
-
-\index{biaodianfuhao@标点符号!-@\protect\verb+-+ (\textit{连字号} -)}
-\index{biaodianfuhao@标点符号!--@\protect\verb+--+ (\textit{短破折号} --)}
-\index{biaodianfuhao@标点符号!---@\protect\verb+---+ (\textit{长破折号} ---)}
-\LaTeX\ 中有三种长度的“横线”可用:连字号(hyphen)、短破折号(en-dash)和长破折号(em-dash)。
-它们分别有不同的用途:连字号 - 用来组成复合词;短破折号 -- 用来连接数字表示范围;长破折号 --- 用来连接单词,与中文语境中的破折号用法类似。
-\begin{example}
-daughter-in-law, X-rated\\
-pages 13--67\\
-yes---or no?
-\end{example}
-
-\subsubsection{省略号}
-
-\index{biaodianfuhao@标点符号!ldots@\cmd{ldots} (\textit{省略号} \ldots)}
-\index{biaodianfuhao@标点符号!dots@\cmd{dots} (\textit{省略号} \dots)|see{\cmd{ldots}}}
-\LaTeX\ 提供了命令 \cmd{ldots} 来生成省略号,相对于直接输入三个点的方式更为合理。
-\cmd{ldots} 和 \cmd{dots} 是两个等效的命令。
-\begin{example}
-one, two, three, \ldots one hundred.
-\end{example}
-
-\subsubsection{波浪号}
-
-我们在 \ref{subsec:special-chars} 小节中了解了 \cmd{\textasciitilde} 命令,它可以用来输入波浪号,
-但位置靠顶端(\cmd{\textasciitilde} 命令主要用作重音,参考下一小节)。西文中较少将波浪号作为标点符号使用,通常使用中文的全角波浪号(~)。
-
-\subsection{特殊西文符号与重音}\label{subsec:accents}
-
-\pinyinindex{zhongyin}{重音}
-\LaTeX\ 支持用命令输入各种西欧语言的特殊符号和重音:
-\begin{example}
-H\^otel, na\"\i ve, \'el\`eve,\\
-sm\o rrebr\o d, !`Se\ norita!,\\
-Sch\"onbrunner Schlo\ss{}
-Stra\ss e
-\end{example}
-
-更多可用的符号和重音见表 \ref{tbl:accents}。注意与 \ref{subsec:math-accents} 小节的数学重音区分开来。
-
-\def\TSYM #1{#1 & \texttt{\string#1}}
-\def\TACC #1#2{#1{#2} & \texttt{\string#1#2}} % accents using a control character
-\def\TTACC #1#2{#1{#2} & \texttt{\string#1 #2}} % accents using a control word
-\def\WTACC #1#2{#1{#2} & \texttt{\string#1\{#2\}}} % multi-letter accents
-\begin{table}[htp]
-\centering
-\caption{\LaTeX\ 文本中的重音和特殊字符。} \label{tbl:accents}
-\begin{tabular}{*4{cl}}
- \hline
- \TACC{\`}{o} & \TACC{\'}{o} & \TACC{\^}{o} & \TACC{\~}{o} \\
- \TACC{\=}{o} & \TACC{\.}{o} & \TACC{\"}{o} & \TTACC{\r}{o}\\
- \TTACC{\u}{o} & \TTACC{\v}{o} & \TTACC{\H}{o} & \TTACC{\c}{o} \\
- \TTACC{\d}{o} & \TTACC{\b}{o} & \WTACC{\t}{oo} \\[6pt]
- \TSYM{\oe} & \TSYM{\OE} & \TSYM{\ae} & \TSYM{\AE} \\
- \TSYM{\aa} & \TSYM{\AA} & \TSYM{\ss} \\[6pt]
- \TSYM{\o} & \TSYM{\O} & \TSYM{\l} & \TSYM{\L} \\
- \TSYM{\i} & \TSYM{\j} & !` & \verb|!`| & ?` & \verb|?`| \\
- \hline
-\end{tabular}
-\begin{quote}\footnotesize%
-前四行实际上都是带一个参数的命令。\cmd{\textasciicircum}\texttt{o} 也可以写作
-\cmd{\textasciicircum}\marg*{o},以此类推。
-\end{quote}
-\end{table}
-
-\subsection{其它符号}\label{subsec:text-misc}
-
-\symindex{dag,ddag,P,S,copyright,pounds}
-\symindex{textasteriskcentered,textperiodcentered,textbullet,textregistered,texttrademark}
-\LaTeX\ 预定义了其它一些文本模式的符号,部分符号可参考表 \ref{tbl:general-syms}。
-\begin{example}
-\P{} \S{} \dag{} \ddag{}
-\copyright{} \pounds{}
-
-\textasteriskcentered
-\textperiodcentered
-\textbullet
-
-\textregistered{} \texttrademark
-\end{example}
-
-更多的符号多由特定的宏包支持。参考文献 \cite{symbols} 搜集了所有在 \TeX\ 发行版中可用的符号,使用时要留意每个符号所依赖的宏包。
-
-\subsection{\LaTeX\ 标志}\label{subsec:latex-mark}
-
-\cmdindex{TeX,LaTeX,LaTeXe}
-我们见到的所有错落有致的 \LaTeX\ 标志都是由以下命令输入的:
-\begin{center}
-\begin{tabular}{*{2}{l}}
- \hline
- \TeX & \cmd{TeX} \\
- \LaTeX & \cmd{LaTeX} \\
- \LaTeXe & \cmd{LaTeXe} \\
- \hline
-\end{tabular}
-\end{center}
-
-\section{文字强调}\label{sec:emph}
-
-强调文字的方法,要么是添加下划线等装饰物,要么是改变文字的字体。
-
-\cmdindex{underline}
-\LaTeX\ 定义了 \cmd{underline} 命令用来为文字添加下划线:
-\begin{example}
-An \underline{underlined} text.
-\end{example}
-
-\pkgindex{ulem}
-\cmdindex[ulem]{uline}
-\cmd{underline} 命令生成下划线的样式比较机械,不同的单词可能生成高低各异的下划线,并且无法换行。
-\pkg{ulem} 宏包解决了这一问题,它提供的 \cmd{uline} 命令能够轻松生成自动换行的下划线:
-\begin{example}
-An example of \uline{some
-long and underlined words.}
-\end{example}
-
-\cmdindex{emph}
-\cmd{emph} 命令用来将文字变为斜体以示强调。如果在本身已经用 \cmd{emph} 命令强调的文字内部嵌套使用 \cmd{emph} 命令,
-内部则使用直立体文字:
-\begin{example}
-Some \emph{emphasized words,
-including \emph{double-emphasized}
-words}, are shown here.
-\end{example}
-
-如果需要用其它字体表示强调,可参考后文的 \ref{subsec:fontshape} 小节。
-
-\section{断行和断页}\label{sec:break}
-
-\LaTeX\ 将文字段落在合适的位置进行断行,尽可能做到每行的宽度一致,并且单词间距匀称。
-文字段落和公式、图表等内容从上到下顺序排布,并在合适的位置断页,分割成匀称的页面。
-在绝大多数时候,我们无需自己操心断行和断页。但偶尔会遇到需要手工调整的地方。
-
-\subsection{单词间距和断行}\label{subsec:interword}
-
-在西文排版实践中,断行的位置尽可能选取在两个单词之间,也就是用户在源文件中输入的“空格”%
-\footnote{中文排版实现汉字间断行,则需要宏包(如 \pkg{xeCJK} 等)或排版引擎(如 upLaTeX)的支持。}。
-这个“空格”通常生成一个间距,它会根据行宽和上下文自动调整,文字密一些的地方,单词间距就略窄,反之略宽。
-
-\index{~@\texttt\textasciitilde\ (\textit{不断行空格})}
-我们可以使用字符 \texttt\textasciitilde 在合适的位置插入一个不会断行的空格(高德纳称之为 tie,“带子”),
-通常用在英文人名、图表名称等场景:
-\begin{example}
-Fig.~2a \\
-Donale~E. Knuth
-\end{example}
-
-\subsection{手动断行和断页}\label{subsec:manual-break}
-
-\index{\@\crcmd\ (\textit{换行})} \cmdindex{newline}
-如果我们确实需要手动断行,可使用如下命令:
-\begin{command}
-\crcmd \oarg{length} \\
-\cmd{newline}
-\end{command}
-
-它们有两点区别:一是 \crcmd\ 可以带可选参数 \Arg{length},用于在换行处向下增加垂直间距(见 \ref{subsec:vspace} 小节),
-而 \cmd{newline} 不带可选参数;二是 \crcmd\ 也在表格、公式等地方用于分行,而 \cmd{newline} 只用于文本段落中。
-
-\cmdindex{newpage,clearpage}
-断页的命令有两个:
-\begin{command}
-\cmd{newpage} \quad or \quad \cmd{clearpage}
-\end{command}
-
-通常情况下两个命令都能起到另起一页的作用,但有一些区别:一是在双栏排版中 \cmd{newpage} 只起到另起一栏的作用;二是涉及到浮动体的排版上行为不同。
-后文的 \ref{sec:float} 节以及 \ref{subsec:columns} 小节会更详细地介绍相关内容。
-
-\cmdindex{linebreak,nolinebreak}
-有时候我们不满足于 \LaTeX\ 默认的断行和断页位置,需要进行微调,就要用以下命令告诉 \LaTeX\ 哪些地方适合断页,哪些地方不适合:
-\begin{command}
-\cmd{linebreak}\oarg{n} \quad \cmd{nolinebreak}\oarg{n} \\
-\cmd{pagebreak}\oarg{n} \quad \cmd{nopagebreak}\oarg{n}
-\end{command}
-
-以上命令都带一个可选参数,用数字 \Arg{n} 代表适合/不适合的程度,取值范围为 0-4,不带可选参数时,缺省为 4。
-比如 \cmd{linebreak}\texttt{[3]} 意味着此处在断行时优先考虑;\cmd{nopagebreak} 或 \cmd{nopagebreak}\texttt{[4]}
-意味着禁止在此处断页。
-
-以上命令适合给出优先考虑断行断页/禁止断行断页的位置,但不适合直接拿来断行或断页,使用 \cmd{newline} 或 \cmd{newpage} 等是更好的选择%
-\footnote{\cmd{newline} 和 \cmd{newpage} 会在断行/断页位置正确添加空白,但 \cmd{linebreak} 和 \cmd{pagebreak} 不能,
-它们的强行断行/断页会导致 \LaTeX\ 报 \texttt{Underfull \cmd{hbox}} 等警告。}。
-
-\subsection{断词}\label{subsec:hyphen}
-
-如果 \LaTeX\ 遇到了很长的英文单词,仅在单词之间的位置断行无法生成宽度匀称的行时,就要考虑从单词中间断开。
-对于绝大部分单词,\LaTeX\ 能够找到合适的断词位置,在断开的行尾加上连字符 \char\hyphenchar\font 。
-
-\index{-@\cmd{-} (\textit{断词})}
-如果一些单词没能自动断词,我们可以在单词内手动使用 \cmd{-} 命令指定断词的位置:
-\begin{example}
-I think this is: su\-per\-cal\-%
-i\-frag\-i\-lis\-tic\-ex\-pi\-%
-al\-i\-do\-cious.
-\end{example}
-
-\endinput
diff --git a/info/lshort/chinese/src/chap/app.A.install.tex b/info/lshort/chinese/src/chap/app.A.install.tex
new file mode 100644
index 0000000000..81f5b5b1d3
--- /dev/null
+++ b/info/lshort/chinese/src/chap/app.A.install.tex
@@ -0,0 +1,137 @@
+\chapter{安装 \protect\TeX{} 发行版}\label{app:install}
+
+\begin{intro}
+高德纳的 \TeX{} 程序开发于 20 世纪 80 年代,那时候电子计算机的运算能力有限,\TeX{} 还是大型服务器上的玩物。
+而如今个人计算机完全能够胜任排版的工作,并催生了用于个人计算机的工具集合—— \TeX{} 发行版的发展。
+
+本章会简单介绍如何安装 \TeX{} 发行版,以及保持发行版的内容紧跟最新。后者非常重要,
+因为 \LaTeX{} 宏包是不断更新换代的。
+\end{intro}
+
+\section{\protect\TeX{} 发行版简介}\label{sec:dists}
+
+一个\textbf{\TeX{} 发行版}是 \TeX{} 排版引擎、支持排版的文件(基本格式、\LaTeX{} 宏包、字体等)以及一些辅助工具的集合。
+各式各样的 \TeX{} 发行版经过十多年的发展,大浪淘沙,现今的两个主流发行版为:
+\begin{itemize}
+ \item \textbf{\hologo{TeXLive}}\par
+ \hologo{TeXLive} 由类 UNIX 系统上的 \hologo{teTeX} 发展并取而代之,最终成为跨平台的 \TeX{} 发行版。
+ \hologo{TeXLive} 自 2011 年起以年份作为发行版的版本号,保持了一年一更的频率。
+
+ \hologo{MacTeX} 是 macOS(OS X)系统下的一个定制化的 \hologo{TeXLive} 版本,与 \hologo{TeXLive} 同步更新。
+
+ \item \textbf{\hologo{MiKTeX}}\par
+ \hologo{MiKTeX} 是主要用于 Windows 平台的一个稳定发展的 \TeX{} 发行版。
+ 在中国大陆曾经发行过“\hologo{CTeX} 套装”,它是一个经过本地化配置的 \hologo{MiKTeX},不过其配置较为过时,也不再有更新支持,使用起来可能有诸多问题,现已不推荐使用。
+\end{itemize}
+
+\hologo{TeXLive} 和 \hologo{MiKTeX} 都集成了一个简单的 \LaTeX{} 源代码编辑器 TeXworks(\hologo{MacTeX} 则集成了类似的 TeXShop)。
+用户在安装完毕后,可直接使用 TeXworks 编写和编译 \LaTeX{} 源代码。
+
+\subsection{安装发行版}\label{subsec:install-dists}
+
+\subsubsection{\hologo{TeXLive}}
+
+\hologo{TeXLive} 的光盘镜像发布于 \url{http://www.tug.org/texlive/}%
+\footnote{Linux 发行版的软件源也提供 \hologo{TeXLive} 的安装,不过不够完整,更新也不是很及时。建议直接从镜像安装。}。
+下载镜像到本地,挂载到虚拟光驱,或者用压缩工具解压后,在其根目录有几个用于安装的脚本:
+\begin{itemize}
+ \item 用于 Windows 的批处理文件:
+ \begin{itemize}
+ \item \texttt{install-tl-windows.bat} 双击启动图形界面安装程序(简单安装);
+ \item \texttt{install-tl-advanced.bat} 双击启动图形界面安装程序(定制安装);
+ \item 在命令提示符中输入 \texttt{install-tl-windows.bat -no-gui} 启动文本界面安装程序。
+ \end{itemize}
+ \item 用于 Linux 的 Perl 脚本 \texttt{install-tl} :
+ \begin{itemize}
+ \item \texttt{install-tl} 启动文本界面安装程序;
+ \item \texttt{install-tl -gui=wizard} 启动图形界面安装程序(简单安装);
+ \item \texttt{install-tl -gui=peritk} 启动图形界面安装程序(定制安装)。
+ \end{itemize}
+\end{itemize}
+另外也可以下载在线安装程序 \texttt{install-tl.zip},包含以上所有安装脚本。安装过程中会从 CTAN 软件源下载所有组件。
+
+Linux 下 \hologo{TeXLive} 安装完毕后,一般还需要在 root 权限下进行以下操作,使得 \hologo{XeLaTeX} 能正确通过 \pkg{fontspec}
+等宏包使用字体\footnote{\url{http://www.tug.org/texlive/doc/texlive-zh-cn/texlive-zh-cn.pdf},%
+可用 \texttt{texdoc texlive-zh-cn} 在本地打开。}:
+\begin{enumerate}
+ \item 将 \texttt{texlive-fontconfig.conf} 文件复制到 \texttt{/etc/fonts/conf.d/09-texlive.conf}。
+ \item 运行 \texttt{fc-cache -fsv}。
+\end{enumerate}
+
+\subsubsection{\hologo{MiKTeX}}
+从 \hologo{MiKTeX} 官网 \url{http://www.miktex.org/} 下载名为 \texttt{basic-miktex-***.exe} 的 Windows 安装程序包。
+下载后直接双击打开,按照程序的提示进行安装即可。
+
+\section{安装和更新宏包}\label{sec:pkg-manager}
+
+\hologo{TeXLive} 和 \hologo{MiKTeX} 分别提供了图形界面的宏包管理器 \hologo{TeXLive} Manager 和
+\hologo{MiKTeX} Package Manager,用于安装、管理和更新宏包。一般情况下,直接在图形界面的工具下按提示操作即可
+(\hologo{MiKTeX} Package Manager 有普通权限和管理员权限的版本,建议总是使用管理员权限的版本)。
+
+两者也可以通过各自的命令行工具安装和更新宏包:
+\begin{verbatim}
+% TeX Live 命令行工具 tlmgr 的使用示例
+% 安装/卸载宏包
+tlmgr install <package-name>
+tlmgr remove <package-name>
+% 更新所有宏包(包括 tlmgr 本身)
+tlmgr update --all --self
+% 列出所有可更新的宏包
+tlmgr update --list
+% 指定更新源地址
+% <CTAN mirrors> 形如 https://mirrors.tuna.tsinghua.edu.cn/CTAN
+tlmgr repository set <CTAN mirrors>/systems/texlive/tlnet
+% 查看宏包信息,加 --list 参数可列出宏包的所有文件
+tlmgr info <package-name>
+\end{verbatim}
+
+\begin{verbatim}
+% MiKTeX 命令行工具 mpm 的使用示例
+% 建议始终加 --admin 参数使用
+% 安装/卸载宏包
+mpm --admin --install <package-name>
+mpm --admin --uninstall <package-name>
+% 更新所有宏包
+mpm --admin --update
+% 列出所有可更新的宏包
+mpm --admin --find-updates
+% 指定更新源地址
+mpm --admin --set-repository=<CTAN mirrors>/systems/win32/miktex/tm/packages
+% 查看宏包信息
+mpm --admin --print-package-info <package-name>
+\end{verbatim}
+
+\hologo{TeXLive} 默认安装所有宏包,而 \hologo{MiKTeX} 的安装程序只包含了 \LaTeX{} 的一些基本宏包。从 \hologo{TeXLive} 的光盘镜像和 \hologo{MiKTeX} 的安装包体积可见一斑。
+默认情况下,编译过程中如果遇到宏包未安装而报错的情况下,\hologo{MiKTeX} 会弹出一个对话框,让用户可以选择临时安装宏包,安装成功后继续编译。
+
+\subsection{手动安装宏包}\label{subsec:pkg-manual-install}
+
+\textbf{\textcolor{red}{如非万不得已,尽量不要手动安装宏包}}。绝大多数宏包都已打包到 \hologo{TeXLive} 和 \hologo{MiKTeX} 两大发行版的安装源,
+可用宏包管理器安装。如果用户知道某个宏包的名称,但不确定是否在发行版中已打包,可在 CTAN 中搜索。
+
+如果确实有手动安装宏包的需要,本小节的内容将有所帮助。在手动安装之前,有必要了解一下 \TeX{} 目录结构(\TeX{} Directory Structure, TDS)。
+它是 \TeX{} 发行版中宏包、字体、帮助文档等文件的组织结构。TDS 有时也称为 TEXMF 树,取 \TeX$+$\hologo{METAFONT} 之意。
+
+以 \hologo{TeXLive} 为例,假设系统的 TEXMF 树根目录为 \nolinkurl{C:\\texlive\\2020\\texmf-dist},其下有很多子目录,仅举几例:
+\begin{description}
+ \item[\texttt{tex/latex}] \LaTeX{} 宏包。
+ \item[\texttt{doc/latex}] \LaTeX{} 宏包的帮助文档。
+ \item[\texttt{source/latex}] \LaTeX{} 宏包的源代码。
+ \item[\texttt{bibtex}] \hologo{BibTeX} 工具相关文件,许多宏包配套的 \hologo{BibTeX} 格式文件位于子目录 \texttt{bst} 中。
+ \item[\texttt{fonts/tfm}] \TeX{} 使用的字体文件,TFM 格式。
+ \item[\texttt{fonts/type1}] PostScript 字体文件(Type1),PFB 格式。
+ \item[\texttt{fonts/opentype}] OpenType 格式的字体文件。
+\end{description}
+
+需要手动安装的宏包,一般已经按照上述目录结构打包完成。手动安装时,尽量不要拷贝到系统的 TEXMF 树,而是拷贝到发行版提供的用户 TEXMF 树,如
+\hologo{TeXLive} 的 \nolinkurl{C:\\texlive\\texmf-local}。安装完成后,还需\textbf{刷新 \TeX{} 发行版的文件名数据库},令新安装的宏包文件能够被系统找到。
+\hologo{TeXLive} 用户须在 Windows 命令行或者 Linux 终端执行命令:
+\begin{verbatim}
+mktexlsr
+\end{verbatim}
+\hologo{MiKTeX} 用户的命令为:
+\begin{verbatim}
+initexmf --update-fndb
+\end{verbatim}
+
+\endinput
diff --git a/info/lshort/chinese/src/app.B.error.help.tex b/info/lshort/chinese/src/chap/app.B.error.help.tex
index d96c53ed03..fb14d48bb3 100644
--- a/info/lshort/chinese/src/app.B.error.help.tex
+++ b/info/lshort/chinese/src/chap/app.B.error.help.tex
@@ -1,13 +1,13 @@
\chapter{排除错误、寻求帮助}\label{chap:error-helps}
\begin{intro}
-\LaTeX\ 入门用户总会为两大问题头疼:我写的代码到底哪里出错了?如果想要实现某种用法该怎么办?
-本章首先总结了常见的 \LaTeX\ 错误及应对的办法。
+\LaTeX{} 入门用户总会为两大问题头疼:我写的代码到底哪里出错了?如果想要实现某种用法该怎么办?
+本章首先总结了常见的 \LaTeX{} 错误及应对的办法。
\end{intro}
-\section{\LaTeX\ 错误}\label{sec:errors}
+\section{\LaTeX{} 错误}\label{sec:errors}
-当我们用排版引擎编译 \LaTeX\ 代码时,命令行的窗口(终端)会显示大量信息(\TeX works 等编辑器会有一个区域显示这些信息)。
+当我们用排版引擎编译 \LaTeX{} 代码时,命令行的窗口(终端)会显示大量信息(TeXworks 等编辑器会有一个区域显示这些信息)。
当编译过程中出现错误时,信息将会停止在出错的地方,等待我们接下来的操作。
比如说我们有一个明显出错的例子:
@@ -27,7 +27,7 @@ l.3 Test \LaTEx
这种错误信息分两部分,前一部分提示了错误的信息,后一部分指出了错误发生的行号,
以及通过错落的文字告知发生错误的命令所在位置。如上错误显示 \cmd{LaTEx} 位置发生了错误,错误信息是“未定义的控制序列”,
-意思是 \cmd{LaTEx} 是 \TeX\ 编译器无法识别的一个命令,很显然是我们把 \cmd{LaTeX} 的大小写写错了。
+意思是 \cmd{LaTEx} 是 \TeX{} 编译器无法识别的一个命令,很显然是我们把 \cmd{LaTeX} 的大小写写错了。
\subsubsection{处理方式}
@@ -35,9 +35,9 @@ l.3 Test \LaTEx
将``Test and it's friends.''排版出来。但这个例子过于简单,有些复杂的代码中,有可能会由于一个小问题导致一连串的错误。
此时可以选择按 \textbf{S/R/Q} 选择跳过接下来的所有错误,或者按 \textbf{X} 直接退出编译,将源代码中的错误修改后重新编译。
-\subsubsection{常见的 \LaTeX\ 错误信息}
+\subsubsection{常见的 \LaTeX{} 错误信息}
-笔者在此总结一些经常发生、问题比较明确的 \LaTeX\ 错误:
+笔者在此总结一些经常发生、问题比较明确的 \LaTeX{} 错误:
\long\def\LaTeXerror#1{\begingroup\color{red}\bfseries\ttfamily{}#1\endgroup}
@@ -47,7 +47,7 @@ l.3 Test \LaTEx
使用了未定义的命令。拼写错误是原因之一,如把 \cmd{LaTeX} 写作 \cmd{Latex} 这样。
也有可能是没有调用某个宏包,但用了该宏包定义的命令。
-\item \LaTeXerror{! LaTeX error: Environment \ldots\ undefined.}
+\item \LaTeXerror{! LaTeX error: Environment ... undefined.}
使用了未定义的环境。
@@ -56,9 +56,9 @@ l.3 Test \LaTEx
缺少数学环境的符号 \texttt\$。多由于将数学符号用在公式之外而导致。
\item \LaTeXerror{Runaway argument? \\
- ! Paragraph ended before \ldots\ was complete.}
+ ! Paragraph ended before ... was complete.}
-\item \LaTeXerror{! File ended while scanning definition/use of \ldots}
+\item \LaTeXerror{! File ended while scanning definition/use of ...}
这两个错误主要是由于漏写了包裹命令参数的花括号,导致识别参数时出现错误。许多编辑器的括号配对功能有助于检查和消除这类错误。
@@ -71,8 +71,8 @@ l.3 Test \LaTEx
两个错误信息都与表格有关。
\begin{itemize}
\item 前者的字面意义是“一行中使用的列分隔符 \texttt\& 太多”,有时可能确实是 \texttt\& 的个数和列格式不匹配,
- 但多数情况是漏掉了行尾的 \crcmd\ 命令。
- \item 后者常出现于漏掉了行尾的 \crcmd\ 命令而接着使用 \cmd{hline} 命令画横线的时候。
+ 但多数情况是漏掉了行尾的 \crcmd{} 命令。
+ \item 后者常出现于漏掉了行尾的 \crcmd{} 命令而接着使用 \cmd{hline} 命令画横线的时候。
\end{itemize}
\item \LaTeXerror{! LaTeX Error: Lonely \cmd{item}-{}-perhaps a missing list environment.}
@@ -82,9 +82,9 @@ l.3 Test \LaTEx
两个错误信息都与列表环境和 \cmd{item} 命令有关。前者意味着在没有使用列表环境的情况下用了 \cmd{item};
后者则相反,是在列表环境中漏了 \cmd{item}。
-\item \LaTeXerror{! I can't find file `\ldots'.}
+\item \LaTeXerror{! I can't find file `...'.}
-\item \LaTeXerror{! LaTeX Error: File `\ldots' not found.}
+\item \LaTeXerror{! LaTeX Error: File `...' not found.}
两个错误都意味着缺少文件。
\begin{itemize}
@@ -96,22 +96,22 @@ l.3 Test \LaTEx
字面上是缺少 \cmd{begin}\marg*{docu\-ment},实际上往往是由于在 \cmd{begin}\marg*{docu\-ment} 之前(导言区)输入了文字或某些命令。
-\item \LaTeXerror{! LaTeX Error: Cam be used only in preamble.}
+\item \LaTeXerror{! LaTeX Error: Can be used only in preamble.}
与上一条相反,由于将必须用于导言区的命令在 \cmd{begin}\marg*{docu\-ment} 之后使用而产生。
-\item \LaTeXerror{! LaTeX Error: \cmd{begin}\marg*{\ldots} on input line \ldots\ ended by \cmd{end}\marg*{\ldots}.}
+\item \LaTeXerror{! LaTeX Error: \cmd{begin}\marg*{...} on input line ... ended by \cmd{end}\marg*{...}.}
环境首尾不匹配。比如 \cmd{begin}\marg*{enumerate} 用了 \cmd{end}\marg*{itemize} 结尾。或者也可能是由于漏写了 \cmd{begin}
或者 \cmd{end} 命令。
-\item \LaTeXerror{! LaTeX Error: Option clash for package `\ldots'.}
+\item \LaTeXerror{! LaTeX Error: Option clash for package `...'.}
以\textbf{不同选项}重复调用宏包造成冲突。有可能是因为其它宏包内部事先调用了这个宏包,用户再次带选项调用而导致冲突。
解决问题的办法是去掉重复调用的宏包。如果宏包允许的话,尽量使用其定义的命令改变设置,减少宏包选项的使用。
-\item \LaTeXerror{! LaTeX Error: Command \ldots\ already defined, \\
- or name \cmd{end}\ldots\ illegal \ldots}
+\item \LaTeXerror{! LaTeX Error: Command ... already defined, \\
+ or name \cmd{end}... illegal ...}
使用 \cmd{newcommand} 或 \cmd{newenvironment} 定义已有的命令/环境时产生的错误。如果自己确实作了定义,可考虑用
\cmd{re\-new\-command} 或 \cmd{re\-new\-environment} 定义;如果是宏包定义的命令产生了这个错误,则属于隐性的宏包冲突。
@@ -120,11 +120,11 @@ l.3 Test \LaTEx
用户可尝试查找引起冲突的宏包的帮助文档。详尽的手册里通常会告知用户这个宏包应当在某个宏包的前面/后面调用,或者不能与某个宏包一起调用。
如果是模板调用了大量宏包导致冲突,可联系模板的作者解决。
-\item \LaTeXerror{! LaTeX Error: Unknown option `\ldots' for package `\ldots'.}
+\item \LaTeXerror{! LaTeX Error: Unknown option `...' for package `...'.}
调用宏包时指定了不能被其识别的选项。此时应该查找宏包的帮助文档来解决问题。
-\item \LaTeXerror{! Package `\ldots' error: \ldots}
+\item \LaTeXerror{! Package `...' error: ...}
宏包或文档类自定义的错误,由于不正确地使用宏包里的命令而导致。此时应该查找宏包的帮助文档来解决问题。
@@ -133,25 +133,25 @@ l.3 Test \LaTEx
\section{查找帮助文档}\label{sec:texdoc}
\index{texdoc@\texttt{texdoc} 工具}
-无论是 \TeX\ Live 还是 Mik\TeX\ ,提供了一个命令行模式的程序 \texttt{texdoc}。
+无论是 \hologo{TeXLive} 还是 \hologo{MiKTeX},提供了一个命令行模式的程序 \texttt{texdoc}。
比如对 \ref{subsec:fancyhdr} 小节的 \pkg{fancyhdr} 宏包感兴趣,这时在 Windows 命令提示符或者 Linux 终端输入以下命令,
则会弹出宏包的帮助文档 \texttt{fancyhdr.pdf}:
\begin{verbatim}
texdoc fancyhdr
\end{verbatim}
-除了宏包的帮助文档外,\TeX\ 发行版还包括了各类有用的文档,有一部分在参考文献中给出。
+除了宏包的帮助文档外,\TeX{} 发行版还包括了各类有用的文档,有一部分在参考文献中给出。
-如果不熟悉命令行工具的话,\TeX\ Live 提供了一个图形界面的程序 TeXdoc GUI。打开后,可以看到程序里的许多按钮,分别代表某一类的帮助文档。
+如果不熟悉命令行工具的话,\hologo{TeXLive} 提供了一个图形界面的程序 TeXdoc GUI。打开后,可以看到程序里的许多按钮,分别代表某一类的帮助文档。
除此之外,点击 File Search 弹出搜索框,输入想要搜索的宏包和文件并按回车键,TeXdoc GUI 会弹出它搜索到的所有结果,可点击任意一项来打开文档。
-当然对于初学者,有一个现实而棘手的问题:\textbf{某个命令到底是 \LaTeX\ 自有的,还是哪个宏包提供的?}
-很遗憾地说,除了通过慢慢积累、熟悉较多宏包之外,没有很方便的办法解决这个问题,因为 \LaTeX\ 的宏包实在太丰富了。
+当然对于初学者,有一个现实而棘手的问题:\textbf{某个命令到底是 \LaTeX{} 自有的,还是哪个宏包提供的?}
+很遗憾地说,除了通过慢慢积累、熟悉较多宏包之外,没有很方便的办法解决这个问题,因为 \LaTeX{} 的宏包实在太丰富了。
本手册末尾的索引给出了所有在本手册见到的命令和环境,其中哪些命令和环境需要调用哪个宏包才能使用,一目了然。但是这个索引远远不够。
解决这个问题有几点可行的办法:
\begin{enumerate}
- \item 查询一些综述性的资料,如总结所有 \LaTeX\ 自带命令的文档 \cite{latex2e}、\LaTeX\ 符号大全 \cite{symbols} 等;
+ \item 查询一些综述性的资料,如总结所有 \LaTeX{} 自带命令的文档 \cite{latex2e}、\LaTeX{} 符号大全 \cite{symbols} 等;
\item 在互联网上搜索自己不清楚的命令;
\item 在论坛上提问求助有经验的人。
\end{enumerate}
@@ -161,10 +161,10 @@ texdoc fancyhdr
\def\pkglabel#1{\makebox[60pt][l]{\pkg{#1}}}
\newenvironment{pkglist}%
{\list{}{%
- \labelwidth=60pt
- \itemindent=0pt
- \leftmargin=60pt
- \labelsep=0pt
+ \labelwidth=60pt
+ \itemindent=0pt
+ \leftmargin=60pt
+ \labelsep=0pt
\let\makelabel\pkglabel}}%
{\endlist}
@@ -173,10 +173,10 @@ texdoc fancyhdr
\subsection{文字、公式和符号}\label{subsec:text-math-symbols}
\begin{pkglist}
- \item[amsmath] \AmS\ 数学公式扩展。
+ \item[amsmath] \hologo{AmS} 数学公式扩展。
\item[mathtools] 数学公式扩展宏包,提供了公式编号定制和更多的符号、矩阵等。
- \item[amsfonts] \AmS\ 扩展符号的基础字体支持。
- \item[amssymb] 在 \pkg{amsfonts} 基础上将 \AmS\ 扩展符号定义成命令。
+ \item[amsfonts] \hologo{AmS} 扩展符号的基础字体支持。
+ \item[amssymb] 在 \pkg{amsfonts} 基础上将 \hologo{AmS} 扩展符号定义成命令。
\item[bm] 提供将数学符号加粗的命令 \cmd{bm}。
\item[siunitx] 以国际单位规范排版物理量的单位。
\item[mhchem] 排版化学式和方程式。
@@ -200,7 +200,7 @@ texdoc fancyhdr
\item[algorithm2e] 较为复杂的、可定制的算法排版宏包。类似宏包有 \pkg{algorithmicx} 等。
\item[ntheorem] 定制定理环境。类似宏包包括 \pkg{theorem}、\pkg{thmtools}、\pkg{amsthm} 等。
\item[mdframed] 排版可自动断页的带边框文字段落,提供边框样式的定制功能。
- \item[tcolorbox] 以 \TikZ\ 为基础提供排版样式丰富的彩色盒子的功能。
+ \item[tcolorbox] 以 \hologo{TikZ} 为基础提供排版样式丰富的彩色盒子的功能。
\end{pkglist}
\subsection{图表和浮动体}\label{subsec:pkg-tab-fig}
@@ -243,4 +243,4 @@ texdoc fancyhdr
\item[lettrine] 生成段落首字母大写的效果。
\end{pkglist}
-\endinput \ No newline at end of file
+\endinput
diff --git a/info/lshort/chinese/src/biblio.tex b/info/lshort/chinese/src/chap/biblio.tex
index 124b5d1902..76f6fc7a80 100644
--- a/info/lshort/chinese/src/biblio.tex
+++ b/info/lshort/chinese/src/chap/biblio.tex
@@ -1,17 +1,17 @@
\begin{thebibliography}{20}
-\item[\S] {\bfseries \LaTeX\ 经典书籍:}
+\item[\S] {\bfseries \LaTeX{} 经典书籍:}
-\bibitem{manual} Leslie Lamport.
+\bibitem{manual} Leslie Lamport.
\newblock \emph{\LaTeX: A Document Preparation System}, 2nd edition.
\newblock Addison-Wesley, Reading, Massachusetts, 1994, ISBN~0-201-52983-1.
-\bibitem{companion} Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley.
- \newblock \emph{The \LaTeX\ Companion}, 2nd edition.
+\bibitem{companion} Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley.
+ \newblock \emph{The \LaTeX{} Companion}, 2nd edition.
\newblock Addison-Wesley, Reading, Massachusetts, 2004, ISBN~0-201-36299-6.
-\bibitem{graphicscompanion} Michel Goossens, Sebastian Rahtz and Frank Mittelbach.
- \newblock \emph{The \LaTeX\ Graphics Companion}, 2nd edition.
+\bibitem{graphicscompanion} Michel Goossens, Sebastian Rahtz and Frank Mittelbach.
+ \newblock \emph{The \LaTeX{} Graphics Companion}, 2nd edition.
\newblock Addison-Wesley, Reading, Massachusetts, 1997, ISBN~0-301-50892-0.
\bibitem{guide2latex} Helmut Kopka and Patrick~W. Daly,
@@ -19,37 +19,37 @@
\newblock Addison-Wesley, Reading, Massachusetts, 2004, ISBN~0-321-17385-6.
\bibitem{leoliu} 刘海洋.
- \newblock \emph{\LaTeX\ 入门}.
+ \newblock \emph{\LaTeX{} 入门}.
\newblock 电子工业出版社, 北京, 2013, ISBN~978-7-121-20208-7.
-\item[\S] {\bfseries \TeX\ 经典书籍,介绍底层的命令和排版方式,有志深入学习 \LaTeX\ 者或参与宏包开发者必读。有一些书籍已经开放网络资源:}
-\bibitem{texbook} Donald~E. Knuth.
+\item[\S] {\bfseries \TeX{} 经典书籍,介绍底层的命令和排版方式,有志深入学习 \LaTeX{} 者或参与宏包开发者必读。有一些书籍已经开放网络资源:}
+\bibitem{texbook} Donald~E. Knuth.
\newblock \emph{The \TeX book}, Volume~A of \textit{Computers and Typesetting}, 2nd edition.
\newblock Addison-Wesley, Reading, Massachusetts, 1984, ISBN~0-201-13448-9.
\bibitem{impatient} Paul Abrahams, Kathryn A. Hargreaves, Karl Berry.
- \newblock \emph{\TeX\ for the impatient}, 2nd edition.
+ \newblock \emph{\TeX{} for the impatient}, 2nd edition.
\newblock Addison-Wesley, Reading, Massachusetts, 1984, ISBN~0-201-51375-7. \\
\CTAN|info/impatient/book.pdf| (\texttt{texdoc impatient})
-\bibitem{texbytopic} Victor Eijkhout.
- \newblock \emph{\TeX\ by Topic, A \TeX nician's Reference}.
+\bibitem{texbytopic} Victor Eijkhout.
+ \newblock \emph{\TeX{} by Topic, A \TeX nician's Reference}.
\newblock Addison-Wesley, Reading, Massachusetts, 1992, ISBN~0-201-56882-9. \\
\CTAN|info/texbytopic/TeXbyTopic.pdf| (\texttt{texdoc texbytopic})
-\item[\S] {\bfseries \TeX\ 发行版内置的资源(除宏包帮助手册之外的一些文档),
+\item[\S] {\bfseries \TeX{} 发行版内置的资源(除宏包帮助手册之外的一些文档),
可以在本地使用 \texttt{texdoc} 命令查找,也可以在 CTAN 上找到:}
\bibitem{usrguide} \LaTeX3 Project Team.
- \newblock \emph{\LaTeXe\ for authors}.\\
+ \newblock \emph{\LaTeXe{} for authors}.\\
\CTAN|macros/latex/doc/usrguide.pdf| (\texttt{texdoc usrguide})
\bibitem{clsguide} \LaTeX3 Project Team.
- \newblock \emph{\LaTeXe\ for class and package writers}. \\
+ \newblock \emph{\LaTeXe{} for class and package writers}. \\
\CTAN|macros/latex/doc/clsguide.pdf| (\texttt{texdoc clsguide})
\bibitem{fntguide} \LaTeX3 Project Team.
- \newblock \emph{\LaTeXe\ font selection}. \\
+ \newblock \emph{\LaTeXe{} font selection}. \\
\CTAN|macros/latex/doc/fntguide.pdf| (\texttt{texdoc fntguide})
\bibitem{latex2e} Karl Berry, Jim Hefferon, Vincent Bela\"{\i}che.
@@ -57,47 +57,47 @@
\CTAN|info/latex2e-help-texinfo/latex2e.pdf| (\texttt{texdoc latex2e})
\bibitem{uk-tex-faq} The UK TeX users group (TUG).
- \newblock \emph{The UK TeX FAQ}.
+ \newblock \emph{The UK TeX FAQ}.
\newblock HTML version on \url{https://texfaq.org/}. \\
\CTAN|help/uk-tex-faq/newfaq.pdf| (\texttt{texdoc faq})
\bibitem{l2tabu} J\"{u}rgen Fenn.
- \newblock \emph{An essential guide to \LaTeXe\ usage: Obsolete commands and packages} (English translation). \\
+ \newblock \emph{An essential guide to \LaTeXe{} usage: Obsolete commands and packages} (English translation). \\
\CTAN|info/l2tabu/english/l2tabuen.pdf| (\texttt{texdoc l2tabuen})
\bibitem{symbols} Scott Pakin.
- \newblock \emph{The Comprehensive \LaTeX\ Symbol List}. \\
+ \newblock \emph{The Comprehensive \LaTeX{} Symbol List}. \\
\CTAN|info/symbols/comprehensive/symbols-a4.pdf| (\texttt{texdoc symbols-a4})
\bibitem{cheatsheet} Winston Chang.
- \newblock \emph{\LaTeXe\ Cheat Sheet}. \\
+ \newblock \emph{\LaTeXe{} Cheat Sheet}. \\
\CTAN|info/latexcheat/latexcheat/latexsheet.pdf| (\texttt{texdoc latexcheat})
\item[\S] {\bfseries CTAN 上的其它网络资源:}
\bibitem{catalogue} Graham Williams.
- \newblock \emph{The \TeX\ Catalogue (Preface CTAN Edition)}.\\
+ \newblock \emph{The \TeX{} Catalogue (Preface CTAN Edition)}.\\
\CTAN|help/Catalogue/catalogue.html|
\bibitem{survey} Stephen~G. Hartke.
- \newblock \emph{A Survey of Free Math Fonts for \TeX\ and \LaTeX}.\\
+ \newblock \emph{A Survey of Free Math Fonts for \TeX{} and \LaTeX}.\\
\CTAN|info/Free_Math_Font_Survey/survey.pdf|
\item[\S] {\bfseries 其它网络渠道可获得的资源:}
\bibitem{fontcatalogue} Palle J{\o}rgensen.
- \newblock \emph{The \LaTeX\ font catalogue}, a font catalogue of \LaTeX\ font packages.\\
+ \newblock \emph{The \LaTeX{} font catalogue}, a font catalogue of \LaTeX{} font packages.\\
\url{http://www.tug.dk/FontCatalogue/}
-\bibitem{ltxprimer} Indian \TeX\ users group.
- \newblock \emph{\LaTeX\ Tutorials: A primer}. \\
+\bibitem{ltxprimer} Indian \TeX{} users group.
+ \newblock \emph{\LaTeX{} Tutorials: A primer}. \\
\url{http://www.tug.org/twg/mactex/tutorials/ltxprimer-1.0.pdf}
\bibitem{lnotes} 黄新刚.
- \newblock \emph{雷太赫排版系统简介(\LaTeX\ Notes)}, 第二版. \\
- \url{http://dralpha.altervista.org/zh/tech/lnotes2.pdf} \\
+ \newblock \emph{雷太赫排版系统简介(\LaTeX{} Notes)}, 第二版. \\
+ \url{https://github.com/huangxg/lnotes/raw/master/lnotes2.pdf} \\
(旧版可用 \texttt{texdoc latex-notes-zh-cn})
\end{thebibliography}
-\endinput \ No newline at end of file
+\endinput
diff --git a/info/lshort/chinese/src/chap.01.basics.tex b/info/lshort/chinese/src/chap/chap.01.basics.tex
index 5a1bf17a8b..ef0471b0f6 100644
--- a/info/lshort/chinese/src/chap.01.basics.tex
+++ b/info/lshort/chinese/src/chap/chap.01.basics.tex
@@ -1,9 +1,9 @@
-\chapter{\LaTeX\ 的基本概念}\label{chap:basics}
+\chapter{\LaTeX{} 的基本概念}\label{chap:basics}
\addtocontents{los}{\protect\addvspace{10pt}}
\begin{intro}
-欢迎使用 \LaTeX{}!本章开头用简短的篇幅介绍了 \LaTeX\ 的来源,
-然后介绍了 \LaTeX\ 源代码的写法,如何编译 \LaTeX\ 源代码生成文档,以及理解接下来的章节所必须的一些知识。
+欢迎使用 \LaTeX{}!本章开头用简短的篇幅介绍了 \LaTeX{} 的来源,
+然后介绍了 \LaTeX{} 源代码的写法,编译 \LaTeX{} 源代码生成文档的方法,以及理解接下来的章节的一些必要知识。
\end{intro}
\section{概述}\label{sec:intro}
@@ -12,63 +12,92 @@
\index{Knuth@Knuth, Donald E. (\textit{高德纳})}
\index{TeX@\TeX}
-\TeX\ 是高德纳 (Donald E.~Knuth) 开发的、以排版文字和数学公式为目的的软件\cite{texbook}。
-1977 年,正在编写著作《计算机程序设计艺术》的高德纳,意图扭转排版质量每况愈下的状况,以免影响他的出书,
-于是开始开发 \TeX{},以发掘当时开始用于出版工业的数字印刷设备的潜力。
-\TeX\ 排版引擎发布于 1982 年,在 1989 年又加以改进以更好地支持 8-bit 字符和多语言排版。
-\TeX\ 以其卓越的稳定性、跨平台、几乎没有 bug 而著称。\TeX\ 的版本号不断趋近于 $\pi$,当前为 3.141592653。
+\TeX{} 是高德纳 (Donald E.~Knuth) 为排版文字和数学公式而开发的软件\cite{texbook}。
+1977 年,正在编写《计算机程序设计艺术》的高德纳意识到每况愈下的排版质量将影响其著作的发行,
+为扭转这种状况,他着手开发 \TeX{},发掘当时刚刚用于出版工业的数字印刷设备的潜力。
+1982 年,高德纳发布 \TeX{} 排版引擎,而后在 1989 年又为更好地支持 8-bit 字符和多语言排版而予以改进。
+\TeX{} 以其卓越的稳定性、跨平台能力和几乎没有 bug 的特性而著称。
+它的版本号不断趋近于 $\pi$,当前为 3.14159265。
-\TeX\ 读作 ``Tech'' ,其中 ``ch'' 的发音类似于 ``h'' ,与汉字“泰赫”的发音相近。\TeX\ 的拼写来自希腊词语
-τεχνική (technique,技术) 的开头几个字母。在 ASCII 字符环境,\TeX\ 写作 \texttt{TeX}。
+\TeX{} 读作 ``Tech'',与汉字“泰赫”的发音相近,其中 ``ch'' 的发音类似于 ``h''。\TeX{} 的拼写来自希腊词语
+τεχνική (technique,技术) 开头的几个字母,在 ASCII 字符环境中写作 \texttt{TeX}。
\subsection{\LaTeX}\label{subsec:latex}
\index{LaTeX@\LaTeX}
\index{LaTeX2e@\LaTeXe}
-\LaTeX\ 是一种格式(format)。为免误会,初次接触这一概念的读者可以粗略地将 \LaTeX\ 理解成是对 \TeX\ 的一层封装。
-\LaTeX\ 使用 \TeX\ 程序作为自己的排版引擎。
-\LaTeX\ 最初的设计目标是分离内容与格式,以便作者能够无需关注版式设计,只需专注与内容创作就能得到高质量排版的作品。
-最初的开发者是 Leslie Lamport 博士\cite{manual},当前 \LaTeX\ 由 \LaTeX 3 工作组%
-\footnote{\url{https://www.latex-project.org}}维护。
+\LaTeX{} 是一种使用 \TeX{} 程序作为排版引擎的格式(format),可以粗略地将它理解成是对 \TeX{} 的一层封装。
+\LaTeX{} 最初的设计目标是分离内容与格式,以便作者能够专注于内容创作而非版式设计,并能以此得到高质量排版的作品。
+\LaTeX{} 起初由 Leslie Lamport 博士\cite{manual}开发,目前由 \LaTeX 3 工作组%
+\footnote{\url{https://www.latex-project.org}}进行维护。
-\LaTeX\ 读作 ``Lah-tech'' 或者 ``Lay-tech'' ,与汉字“拉泰赫”或“雷泰赫”的发音相近。\LaTeX\ 在 ASCII 字符环境写作 \texttt{LaTeX}。
-当前的 \LaTeX\ 版本为 \LaTeXe ,意思是超出了第二版,但还远未没达到第三版,在 ASCII 字符环境写作 \texttt{LaTeX2e}。
+\LaTeX{} 读作 ``Lah-tech'' 或者 ``Lay-tech'',与汉字“拉泰赫”或“雷泰赫”的发音相近,在 ASCII 字符环境写作 \texttt{LaTeX}。
+\LaTeXe{} 是 \LaTeX{} 的当前版本,意思是超出了第二版,但还远未达到第三版,在 ASCII 字符环境写作 \texttt{LaTeX2e}。
-\subsection{\LaTeX\ 的优缺点}\label{subec:advs}
+\subsection{\LaTeX{} 的优缺点}\label{subec:advs}
-经常有人喜欢对比 \LaTeX\ 和以 Microsoft Office Word 为代表的“所见即所得”%
+经常有人喜欢对比 \LaTeX{} 和以 Microsoft Office Word 为代表的“所见即所得”%
(What You See Is What You Get)字处理工具。
-这种对比是没有意义的,因为 \TeX\ 是一个排版引擎,\LaTeX\ 是其封装,而 Word 是字处理工具。
+这种对比是没有意义的,因为 \TeX{} 是一个排版引擎,\LaTeX{} 是其封装,而 Word 是字处理工具。
二者的设计目标不一致,也各自有自己的适用范围。
-不过,这里仍旧总结 \LaTeX\ 的一些优点:
+不过,这里仍旧总结 \LaTeX{} 的一些优点:
\begin{itemize}
\item 具有专业的排版输出能力,产生的文档看上去就像“印刷品”一样。
\item 具有方便而强大的数学公式排版能力,无出其右者。
\item 绝大多数时候,用户只需专注于一些组织文档结构的基础命令,无需(或很少)操心文档的版面设计。
\item 很容易生成复杂的专业排版元素,如脚注、交叉引用、参考文献、目录等。
- \item 强大的可扩展性。世界各地的人开发了数以千计的 \LaTeX\ 宏包用于补充和扩展 \LaTeX\ 的功能。
- 本手册附录中的 \ref{sec:pkg-list} 小节可见一瞥。更多的宏包参考 \textit{The \LaTeX\ companion}\cite{companion}。
- \item 能够促使用户写出结构良好的文档——而这也是 \LaTeX\ 存在的初衷。
- \item \LaTeX\ 和 \TeX\ 及相关软件是跨平台、免费、开源的。
+ \item 强大的可扩展性。世界各地的人开发了数以千计的 \LaTeX{} 宏包用于补充和扩展 \LaTeX{} 的功能。
+ 本手册附录中的 \ref{sec:pkg-list} 小节可见一瞥。更多的宏包参考 \textit{The \LaTeX{} companion}\cite{companion}。
+ \item 能够促使用户写出结构良好的文档——而这也是 \LaTeX{} 存在的初衷。
+ \item \LaTeX{} 和 \TeX{} 及相关软件是跨平台、免费、开源的。
无论用户使用的是 Windows,macOS(OS X),GNU/Linux 还是 FreeBSD 等操作系统,都能轻松获得和使用这一强大的排版工具,并且获得稳定的输出。
\end{itemize}
-\LaTeX\ 的缺点也是显而易见的:
+\LaTeX{} 的缺点也是显而易见的:
\begin{itemize}
\item 入门门槛高。本手册的副标题叫做 “\pageref{lshort-minutes}~分钟了解 \LaTeXe ”,
实际上 \pageref{lshort-minutes} 是本手册正文部分(包括附录)的页数。如果你以平均一页一分钟的速度看完了本手册,
你只是粗窥门径而已,离学会它还很远。
- \item 不容易排查错误。\LaTeX\ 作为一个依靠编写代码工作的排版工具,其使用的宏语言比 C++ 或 Python 等程序设计语言在错误排查方面困难得多。
+ \item 不容易排查错误。\LaTeX{} 作为一个依靠编写代码工作的排版工具,其使用的宏语言比 C++ 或 Python 等程序设计语言在错误排查方面困难得多。
它虽然能够提示错误,但不提供调试的机制,有时错误提示还很难理解。
- \item 不容易定制样式。\LaTeX\ 提供了一个基本上良好的样式,为了让用户不去关注样式而专注于文档结构。
- 但如果想要改进 \LaTeX\ 生成的文档样式则是十分困难。
+ \item 不容易定制样式。\LaTeX{} 提供了一个基本上良好的样式,为了让用户不去关注样式而专注于文档结构。
+ 但如果想要改进 \LaTeX{} 生成的文档样式则是十分困难。
\item 相比“所见即所得”的模式有一些不便,为了查看生成文档的效果,用户总要不停地编译。
\end{itemize}
+\subsection{命令行基础}
+
+\LaTeX{} 和 \TeX{} 及相关软件大多仅提供了命令行接口,而不像 Word、Adobe InDesign 一样有图形用户界面。
+命令行程序的结构往往比较简单,它们接受用户输入,读取相关文件,进行一些操作和运算后输出目标文件,
+有时还会将提示信息、运行结果显示在屏幕上。在 Windows 系统上,如需进入命令行,可在开始菜单中搜索
+“命令提示符”,也可在“运行”窗口中输入 \texttt{cmd} 打开;Linux 或 macOS 等 *nix %
+\footnote{类 Unix 操作系统,包含 Linux、macOS(OS X)。}
+系统中可搜索“Terminal”打开终端。部分系统也提供了一些快捷方式,具体请参考相关手册。
+
+与常规软件类似,命令行程序也都是可执行程序,在 Windows 上后缀名为 \texttt{.exe},而在类 Unix 系统上
+则需要带有 \texttt{x} 权限。在大多数命令行环境中,系统会根据\textbf{环境变量} \texttt{PATH} 中存储
+的路径来搜索可供执行的程序。因此在运行之前,需确保 \LaTeX 、\TeX{} 及相关程序所在路径已包含在
+\texttt{PATH} 中。
+
+在命令行中运行程序时,需要先输入程序名,其后可加一系列用空格分隔的参数,并按下 Enter 键执行。
+一般情况下,命令行程序执行完毕会自行退出。若遇到错误或中断,可输入 Ctrl+C 以强制结束。
+
+使用命令行程序输入、输出文件时,需确保文件路径正确。通常需要先切换到文件所在目录,再执行有关程序。
+切换路径可以执行
+\begin{command}
+\verb|cd| \Arg{path}
+\end{command}
+注意 \Arg{path} 中的多级目录在 Windows 系统上使用反斜线 \verb|\| 分隔,而在类 Unix 系统上使用正斜线
+\verb|/| 分隔。如果 \Arg{path} 中带有空格,则需加上引号 \verb|"|。此外,在 Windows 系统上如果要切换
+到其他分区,还需加上 \verb|/d| 选项,例如 \verb|cd /d "C:\Program Files (x86)\"|。
+
+许多用户会使用 TeXworks 或 TeXstudio 等编辑器来编写 \LaTeX{} 文档。这些编辑器提供的编译功能,
+实际上只是对特定命令行程序的封装,而并非魔法。
+
\section{第一次使用 \LaTeX}\label{sec:run}
-源代码~\ref{code:hello-world}~是一份最短的 \LaTeX\ 源代码示例。
+源代码~\ref{code:hello-world}~是一份最短的 \LaTeX{} 源代码示例。
\begin{sourcecode}[htp]
\begin{Verbatim}
@@ -77,45 +106,64 @@
``Hello world!'' from \LaTeX.
\end{document}
\end{Verbatim}
-\caption{\LaTeX\ 的一个最简单的源代码示例。}\label{code:hello-world}
+\caption{\LaTeX{} 的一个最简单的源代码示例。}\label{code:hello-world}
\end{sourcecode}
这里首先介绍如何编译使用这份源代码,在后续小节中再介绍源代码的细节。
-
-你可以将这份源代码保存为~\texttt{helloworld.tex},而后编译。具体来说:
+你可以将这份源代码保存为 \texttt{helloworld.tex},而后编译。具体来说:
\begin{itemize}
- \item 如果使用 \TeX works! 或 \TeX studio 等编辑器,你可以使用编辑器提供的“编译”按钮
- 或者“排版”按钮。建议将编译命令设置为 “XeLaTeX”。
- \item 如果使用命令行方式进行编译,则需打开 Windows 命令提示符或者 Linux / macOS(OS X)的终端,在源代码所在的目录下输入命令:
+ \item 如果使用 TeXworks 或 TeXstudio 等编辑器,你可以使用编辑器提供的“编译”按钮或者“排版”
+ 按钮。建议使用 \hologo{pdfLaTeX} 或 \hologo{XeLaTeX} 作为默认的编译方式(不同编译方式的差别,
+ 见~\ref{sec:concepts}~节)。
+ \item 如果使用命令行方式进行编译,则需打开 Windows 命令提示符或者 *nix 的终端,
+ 在源代码所在的目录下输入:
+\begin{verbatim}
+pdflatex helloworld
+\end{verbatim}
+或者
\begin{verbatim}
xelatex helloworld
\end{verbatim}
\end{itemize}
-如果编译成功,可以在~\texttt{helloworld.tex}~所在的目录,
-看到生成的 \texttt{helloworld.pdf} 以及一些其它文件。
+如果编译成功,可以在 \texttt{helloworld.tex} 所在目录看到生成的 \texttt{helloworld.pdf} 以及一些其它文件。
+
+源代码~\ref{code:hello-world-chinese}~是在 \LaTeX{} 排版中文的一个最简示例。
+编译的方式与上一份源代码相同,但需使用 \hologo{XeLaTeX} 编译方式%
+\footnote{注意两个问题:1. 文档保存为 UTF-8 编码;2. 某些发行版需要补充安装较多宏包(如 \hologo{MiKTeX})。}。
+中文支持的详细内容见 \ref{sec:chinese} 节。
+
+\begin{sourcecode}[htp]
+ \begin{Verbatim}
+ \documentclass{ctexart}
+ \begin{document}
+ “你好,世界!” 来自 \LaTeX{} 的问候。
+ \end{document}
+ \end{Verbatim}
+ \caption{在\LaTeX{} 中排版中文的最简源代码示例。}\label{code:hello-world-chinese}
+\end{sourcecode}
-\section{\LaTeX\ 命令和代码结构}\label{sec:src}
+\section{\LaTeX{} 命令和代码结构}\label{sec:src}
-\LaTeX\ 的源代码为文本文件。这些文本除了文字本身,还包括各种命令,
+\LaTeX{} 的源代码为文本文件。这些文本除了文字本身,还包括各种命令,
用在排版公式、划分文档结构、控制样式等等不同的地方。
-\subsection{\LaTeX\ 命令和环境}\label{subsec:cmds}
+\subsection{\LaTeX{} 命令和环境}\label{subsec:cmds}
-\index{LaTeX macro@\LaTeX\ 命令}
-\LaTeX\ 中命令\footnote{也叫作控制序列(control sequence)。}以反斜线 \texttt{\textbackslash} 开头,为以下两种形式之一:
+\index{LaTeX macro@\LaTeX{} 命令}
+\LaTeX{} 中命令\footnote{也叫作控制序列(control sequence)。}以反斜线 \texttt{\textbackslash} 开头,为以下两种形式之一:
\begin{itemize}
\item 反斜线和后面的一串字母,如 \cmd{LaTeX}。它们以任意非字母符号(空格、数字、标点等)为界限。
\item 反斜线和后面的单个非字母符号,如 \cmd{\$}。
\end{itemize}
-要注意 \LaTeX\ 命令是\textbf{对大小写敏感}的,比如输入 \cmd{LaTeX} 命令可以生成错落有致的 \LaTeX\ 字母组合,
+要注意 \LaTeX{} 命令是\textbf{对大小写敏感}的,比如输入 \cmd{LaTeX} 命令可以生成错落有致的 \LaTeX{} 字母组合,
但输入 \cmd{Latex} 或者 \cmd{LaTex} 什么都得不到,还会报错;它们与 \cmd{LaTeX} 是不同的命令。
-字母形式的 \LaTeX\ 命令忽略其后的所有连续空格。
+字母形式的 \LaTeX{} 命令忽略其后的所有连续空格。
如果要人为引入空格,需要在命令后面加一对花括号阻止其忽略空格%
\footnote{另外也可以在命令后面紧跟一个 \cmd{\textvisiblespace} 命令(反斜线加空格),代表插入一个间距。
-比如 \cmd{TeX}\cmd{\textvisiblespace}\texttt{user} 的输出效果就是 \TeX\ user。}:
+比如 \cmd{TeX}\cmd{\textvisiblespace}\texttt{user} 的输出效果就是 \TeX{} user。}:
\begin{example}
Shall we call ourselves
\TeX users
@@ -124,18 +172,18 @@ or \TeX{} users?
\end{example}
\pinyinindex{canshu}{参数}
-一些 \LaTeX\ 命令可以接收一些参数,参数的内容会影响命令的效果。
-\LaTeX\ 的参数分为可选参数和必选参数。
+一些 \LaTeX{} 命令可以接收一些参数,参数的内容会影响命令的效果。
+\LaTeX{} 的参数分为可选参数和必选参数。
可选参数以方括号 \texttt[ 和 \texttt] 包裹;必选参数一般以花括号 \texttt\{ 和 \texttt\} 包裹%
\footnote{以单个字符作为命令的参数时,可以不加括号。例如,在数学环境下,
\cmd{frac}\texttt{12} 和 \cmd{frac}\texttt{\{1\}\{2\}} 的效果是一样的。}。
还有些命令可以带一个星号 \texttt*,带星号和不带星号的命令效果有一定差异。
初次接触这些概念时,可以粗略地把星号看作一种特殊的可选参数。
-\index{LaTeX environment@\LaTeX\ 环境}
+\index{LaTeX environment@\LaTeX{} 环境}
\cmdindex{begin,end}
-\LaTeX\ 中还包括\textbf{环境},用以令一些效果在局部生效,或是生成特殊的文档元素。
-\LaTeX\ 环境的用法为一对命令 \cmd{begin} 和 \cmd{end}:
+\LaTeX{} 中还包括\textbf{环境},用以令一些效果在局部生效,或是生成特殊的文档元素。
+\LaTeX{} 环境的用法为一对命令 \cmd{begin} 和 \cmd{end}:
\begin{command}
\cmd{begin}\marg{environment name}\oarg{optional arguments}\marg{mandatory arguments} \\
\ldots \\
@@ -144,61 +192,61 @@ or \TeX{} users?
其中 \Arg{environment name} 为环境名,\cmd{begin} 和 \cmd{end} 中填写的环境名应当一致。
类似命令,\marg{mandatory arguments} 和 \oarg{optional arguments} 为环境所需的必选和可选参数。
-\LaTeX\ 环境可能需要一个或多个必选/可选参数,也可能完全不需要参数。
+\LaTeX{} 环境可能需要一个或多个必选/可选参数,也可能完全不需要参数。
部分环境允许嵌套使用。
\pinyinindex{fenzu}{分组}
-有些命令(如 \cmd{bfseries})会对其后所有内容产生作用。若要限制其作用范围,则需要使用\textbf{分组}。\LaTeX\ 使用一对花括号 \texttt\{ 和 \texttt\} 作为分组,在分组中使用的命令被限制在分组内,不会影响到分组外的内容%
+有些命令(如 \cmd{bfseries})会对其后所有内容产生作用。若要限制其作用范围,则需要使用\textbf{分组}。
+\LaTeX{} 使用一对花括号 \verb|{| 和 \verb|}| 作为分组,在分组中使用的命令被限制在分组内,不会影响到分组外的内容%
\footnote{个别命令在分组内仍然会产生全局作用,例如第 \ref{sec:counters} 节介绍的 \cmd{setcounter} 等命令。}。
-上文提到的 \LaTeX\ 环境隐含了一个分组,在环境中的命令被包裹在分组内。
+上文提到的 \LaTeX{} 环境隐含了一个分组,在环境中的命令被包裹在分组内。
\ref{subsec:fontshape} 和 \ref{subsec:fontsize} 小节中介绍的修改字体和字号的命令用法,即属此类。
-\subsection{\LaTeX\ 源代码结构}\label{subsec:struct}
+\subsection{\LaTeX{} 源代码结构}\label{subsec:struct}
\cmdindex{documentclass}
-\pinyinindex{wendanglei}{文档类}
-\LaTeX\ 源代码以一个 \cmd{document\-class} 命令作为开头,它指定了文档使用的\textbf{文档类}:
-\begin{verbatim}
-\documentclass{...}
-\end{verbatim}
-\cmd{document\-class} 命令有一个可选参数。可选参数会传递给相应的文档类,作为文档类的参数(见 \ref{subsec:classes})。
-
\envindex{document}
+\pinyinindex{wendanglei}{文档类}
+\pinyinindex{hongbao}{宏包}
+\LaTeX{} 源代码以一个 \cmd{document\-class} 命令作为开头,它指定了文档使用的\textbf{文档类}。
\env{document} 环境当中的内容是文档正文。
+
+\cmdindex{usepackage}
+\pinyinindex{daoyanqu}{导言区}
+在 \cmd{documentclass} 和 \cmd{begin}\marg*{document} 之间的位置称为\textbf{导言区}。
+在导言区中一般会使用 \cmd{use\-package} 命令调用\textbf{宏包},还会进行文档的全局设置。
\begin{verbatim}
+\documentclass{...} % ... 为某文档类
+% 导言区
\begin{document}
-\section{...}
-正文内容……
+% 正文内容
\end{document}
+% 此后内容会被忽略
\end{verbatim}
-\pinyinindex{daoyanqu}{导言区}
-在 \cmd{documentclass} 和 \cmd{begin}\marg*{document} 之间的位置称为\textbf{导言区}。
-在导言区中一般会使用 \cmd{use\-package} 调用宏包,以及会进行对文档的全局设置。
-
-\section{\LaTeX\ 宏包和文档类}\label{sec:latex-pkgs}
+\section{\LaTeX{} 宏包和文档类}\label{sec:latex-pkgs}
本节将仔细解释在 \ref{subsec:struct} 小节中出现的宏包和文档类的概念以及详细用法。
\subsection{文档类}\label{subsec:classes}
\pinyinindex{wendanglei}{文档类}
-文档类规定了 \LaTeX\ 源代码所要生成的文档的性质——普通文章、书籍、演示文稿、个人简历等等。\LaTeX\ 源代码的开头须用
-\cmd{document\-class}指定文档类:
+\textbf{文档类}规定了 \LaTeX{} 源代码所要生成的文档的性质——普通文章、书籍、演示文稿、
+个人简历等等。\LaTeX{} 源代码的开头须用\cmd{document\-class}指定文档类:
\begin{command}
\cmd{documentclass}\oarg{options}\marg{class-name}
\end{command}
\clsindex{article,book,report}
\clsindex{ctexart,ctexrep,ctexbook}
-其中 \Arg{class-name} 为文档类的名称,如 \LaTeX\ 提供的 \cls{article}, \cls{book}, \cls{report},
+其中 \Arg{class-name} 为文档类的名称,如 \LaTeX{} 提供的 \cls{article}, \cls{book}, \cls{report},
在其基础上派生的一些文档类如支持中文排版的 \cls{ctexart} / \cls{ctexbook} / \cls{ctexrep},
或者有其它功能的一些文档类,如 \cls{moderncv} / \cls{beamer} 等。
-\LaTeX\ 提供的基础文档类见表 \ref{tbl:ltx-classes},其中前三个习惯上称为“标准文档类”。
+\LaTeX{} 提供的基础文档类见表 \ref{tbl:ltx-classes},其中前三个习惯上称为“标准文档类”。
\begin{table}[htp]
\centering
-\caption{\LaTeX\ 提供的基础文档类。}\label{tbl:ltx-classes}
+\caption{\LaTeX{} 提供的基础文档类}\label{tbl:ltx-classes}
\begin{tabular}{lp{30em}}
\hline
\cls{article} & 文章格式的文档类,广泛用于科技论文、报告、说明文档等。\\
@@ -220,7 +268,7 @@ or \TeX{} users?
\documentclass[11pt,twoside,a4paper]{article}
\end{verbatim}
-\LaTeX\ 的三个标准文档类可指定的选项包括:
+\LaTeX{} 的三个标准文档类可指定的选项包括:
\begin{description}
\item[\texttt{10pt, 11pt, 12pt}] \quad 指定文档的基本字号。默认为 \texttt{10pt}。
\item[\texttt{a4paper, letterpaper, \ldots}] \quad 指定纸张大小,默认为美式信纸 \texttt{letterpaper} ($8.5\times11$英寸)。
@@ -244,7 +292,7 @@ or \TeX{} users?
\cmdindex{usepackage}
\pinyinindex{hongbao}{宏包}
\pinyinindex{xuanxiang}{选项(宏包/文档类)}
-在使用 \LaTeX\ 时,时常需要依赖一些扩展来增强或补充 \LaTeX\ 的功能,比如排版复杂的表格、插入图片、增加颜色甚至超链接等等。
+在使用 \LaTeX{} 时,时常需要依赖一些扩展来增强或补充 \LaTeX{} 的功能,比如排版复杂的表格、插入图片、增加颜色甚至超链接等等。
这些扩展称为\textbf{宏包}。调用宏包的方法非常类似调用文档类的方法:
\begin{command}
\cmd{usepackage}\oarg{options}\marg{package-name}
@@ -262,7 +310,7 @@ or \TeX{} users?
在使用宏包和文档类之前,一定要首先确认它们是否安装在你的计算机中,否则 \cmd{use\-package} 等命令会报错误。
详见附录 \ref{sec:pkg-manager}。
-宏包(包括前面所说的文档类)可能定义了许多命令和环境,或者修改了 \LaTeX\ 已有的命令和环境。
+宏包(包括前面所说的文档类)可能定义了许多命令和环境,或者修改了 \LaTeX{} 已有的命令和环境。
它们的用法说明记在相应宏包和文档类的帮助文档。在 Windows 命令提示符或者 Linux 终端下输入命令可查阅相应文档:
\begin{command}
\texttt{texdoc} \Arg{pkg-name}
@@ -270,12 +318,12 @@ or \TeX{} users?
其中 \Arg{pkg-name} 是宏包或者文档类的名称。更多获得帮助的方法见附录 \ref{sec:texdoc}。
-\section{\LaTeX\ 用到的文件一览}\label{sec:latex-files}
+\section{\LaTeX{} 用到的文件一览}\label{sec:latex-files}
-除了源代码文件 \texttt{.tex} 以外,我们在使用 \LaTeX\ 时还可能接触到各种格式的文件。
-本节简单介绍一下在使用 \LaTeX\ 时能够经常见到的文件。
+除了源代码文件 \texttt{.tex} 以外,我们在使用 \LaTeX{} 时还可能接触到各种格式的文件。
+本节简单介绍一下在使用 \LaTeX{} 时能够经常见到的文件。
-每个宏包和文档类都是带特定扩展名的文件,除此之外也有一些文件出现于 \LaTeX\ 模板中:
+每个宏包和文档类都是带特定扩展名的文件,除此之外也有一些文件出现于 \LaTeX{} 模板中:
\begin{description}
\item[\texttt{.sty}] 宏包文件。宏包的名称与文件名一致。
\item[\texttt{.cls}] 文档类文件。文档类名称与文件名一致。
@@ -283,18 +331,19 @@ or \TeX{} users?
\item[\texttt{.bst}] \hologo{BibTeX} 用到的参考文献格式模板。详见 \ref{subsec:bibtex-use} 小节。
\end{description}
-\LaTeX\ 在编译过程中除了生成 \texttt{.dvi} 或 \texttt{.pdf} 格式的文档外\footnote{\hologo{XeLaTeX} 还可能生成 \texttt{.xdv} 文件。},还可能会生成相当多的辅助文件和日志。
+\LaTeX{} 在编译过程中除了生成 \texttt{.dvi} 或 \texttt{.pdf} 格式的文档外%
+\footnote{\hologo{XeLaTeX} 还可能生成 \texttt{.xdv} 文件。},还可能会生成相当多的辅助文件和日志。
一些功能如交叉引用、参考文献、目录、索引等,需要先通过编译生成辅助文件,
-然后再次编译时读入辅助文件得到正确的结果,所以复杂的 \LaTeX\ 源代码可能要编译多次:
+然后再次编译时读入辅助文件得到正确的结果,所以复杂的 \LaTeX{} 源代码可能要编译多次:
\begin{description}
\item[\texttt{.log}] 排版引擎生成的日志文件,供排查错误使用。
- \item[\texttt{.aux}] \LaTeX\ 生成的主辅助文件,记录交叉引用、目录、参考文献的引用等。
- \item[\texttt{.toc}] \LaTeX\ 生成的目录记录文件。
- \item[\texttt{.lof}] \LaTeX\ 生成的图片目录记录文件。
- \item[\texttt{.lot}] \LaTeX\ 生成的表格目录记录文件。
+ \item[\texttt{.aux}] \LaTeX{} 生成的主辅助文件,记录交叉引用、目录、参考文献的引用等。
+ \item[\texttt{.toc}] \LaTeX{} 生成的目录记录文件。
+ \item[\texttt{.lof}] \LaTeX{} 生成的图片目录记录文件。
+ \item[\texttt{.lot}] \LaTeX{} 生成的表格目录记录文件。
\item[\texttt{.bbl}] \hologo{BibTeX} 生成的参考文献记录文件。
\item[\texttt{.blg}] \hologo{BibTeX} 生成的日志文件。
- \item[\texttt{.idx}] \LaTeX\ 生成的供 makeindex 处理的索引记录文件。
+ \item[\texttt{.idx}] \LaTeX{} 生成的供 makeindex 处理的索引记录文件。
\item[\texttt{.ind}] makeindex 处理 \texttt{.idx} 生成的用于排版的格式化索引文件。
\item[\texttt{.ilg}] makeindex 生成的日志文件。
\item[\texttt{.out}] \pkg{hyperref} 宏包生成的 PDF 书签记录文件。
@@ -307,27 +356,30 @@ or \TeX{} users?
可参考源代码 \ref{code:book-struct} 的写法。
\cmdindex{include}
-\LaTeX\ 提供了命令 \cmd{include} 用来在源代码里插入文件:
+\LaTeX{} 提供了命令 \cmd{include} 用来在源代码里插入文件:
\begin{command}
\cmd{include}\marg{filename}
\end{command}
\Arg{filename} 为文件名,如果和要编译的主文件不在一个目录中,则要加上相对或绝对路径,例如:
\begin{verbatim}
\include{chapters/a.tex} % 相对路径
-\include{/home/Bob/file.tex} % Linux/macOS 绝对路径
+\include{/home/Bob/file.tex} % *nix (包含 Linux、macOS(OS X))绝对路径
\include{D:/file.tex} % Windows 绝对路径,用正斜线
\end{verbatim}
\Arg{filename} 可以不带扩展名,此时默认扩展名为 \texttt{.tex}。
\cmdindex{input}
-值得注意的是 \cmd{include} 在读入 \Arg{filename} 之前会另起一页。有的时候我们并不需要这样,而是用 \cmd{input} 命令,它纯粹是把文件里的内容插入:
+值得注意的是 \cmd{include} 在读入 \Arg{filename} 之前会另起一页。有的时候我们并不需要这样,而是用
+\cmd{input} 命令,它纯粹是把文件里的内容插入:
\begin{command}
\cmd{input}\marg{filename}
\end{command}
+特别要注意的是,使用 \cmd{include} 和 \cmd{input} 命令载入的文件名\textbf{一定不要加空格},否则通常会出错。
+
\cmdindex{includeonly}
-另外 \LaTeX\ 提供了一个 \cmd{includeonly} 命令来组织文件,用于\textbf{导言区},指定只载入某些文件:
+另外 \LaTeX{} 提供了一个 \cmd{includeonly} 命令来组织文件,用于\textbf{导言区},指定只载入某些文件:
\begin{command}
\cmd{includeonly}\marg*{\Arg{filename1},\Arg{filename2},\ldots}
\end{command}
@@ -336,7 +388,7 @@ or \TeX{} users?
\pkgindex{syntonly}
最后介绍一个实用的工具宏包 \pkg{syntonly}。加载这个宏包后,在导言区使用 \cmd{syntaxonly} 命令,
-可令 \LaTeX\ 编译后不生成 DVI 或者 PDF 文档,只排查错误,编译速度会快不少:
+可令 \LaTeX{} 编译后不生成 DVI 或者 PDF 文档,只排查错误,编译速度会快不少:
\begin{verbatim}
\usepackage{syntonly}
\syntaxonly
@@ -344,7 +396,7 @@ or \TeX{} users?
如果想生成文档,则用 \texttt\% 注释掉 \cmd{syntaxonly} 命令即可。
-\section{\LaTeX\ 和 \TeX\ 相关的术语和概念}\label{sec:concepts}
+\section{\LaTeX{} 和 \TeX{} 相关的术语和概念}\label{sec:concepts}
\pinyinindex{paibanyinqing}{排版引擎}
\index{pdfTeX@\hologo{pdfTeX}}
@@ -352,22 +404,22 @@ or \TeX{} users?
在本章的最后有必要澄清几个概念:
\begin{description}
\item[引擎] 全称为排版引擎,是编译源代码并生成文档的程序,如 \hologo{pdfTeX}、\hologo{XeTeX} 等。有时也称为编译器。
- \item[格式] 是定义了一组命令的代码集。\LaTeX\ 就是最广泛应用的一个格式,高德纳本人还编写了一个简单的 plain \TeX\ 格式,
+ \item[格式] 是定义了一组命令的代码集。\LaTeX{} 就是最广泛应用的一个格式,高德纳本人还编写了一个简单的 \hologo{plainTeX} 格式,
没有定义诸如 \cmd{document\-class} 和 \cmd{section} 等等命令。
\item[编译命令] 是实际调用的、结合了引擎和格式的命令。如 \texttt{xelatex} 命令是结合 \hologo{XeTeX}
- 引擎和 \LaTeX\ 格式的一个编译命令。
+ 引擎和 \LaTeX{} 格式的一个编译命令。
\end{description}
常见的引擎、格式和编译命令的关系总结于表 \ref{tbl:engine-format-command}。
\begin{table}[htp]
\centering
- \caption{\TeX\ 引擎、格式及其对应的编译命令。}
+ \caption{\TeX{} 引擎、格式及其对应的编译命令。}
\label{tbl:engine-format-command}
\begin{tabular}{cccc}
\hline
- & \textbf{文档格式} & \textbf{plain \TeX\ 格式} & \textbf{\LaTeX\ 格式} \\
+ & \textbf{文档格式} & \textbf{\hologo{plainTeX} 格式} & \textbf{\LaTeX{} 格式} \\
\hline
- \TeX\ 引擎 & DVI & \texttt{tex} & N/A \\
+ \TeX{} 引擎 & DVI & \texttt{tex} & N/A \\
\hologo{pdfTeX} 引擎 & DVI & \texttt{etex} & \texttt{latex} \\
& PDF & \texttt{pdftex} & \texttt{pdflatex} \\
\hologo{XeTeX} 引擎 & PDF & \texttt{xetex} & \texttt{xelatex} \\
@@ -376,8 +428,8 @@ or \TeX{} users?
\end{tabular}
\end{table}
-\texttt{latex} 编译命令和 \LaTeX\ 格式往往容易混淆,在讨论关于 \LaTeX\ 的时候需要明确。
-为避免混淆,本手册中的 \LaTeX\ 一律指的是\textbf{格式},\textbf{编译命令}则用等宽字体 \texttt{latex} 表示。
+\texttt{latex} 编译命令和 \LaTeX{} 格式往往容易混淆,在讨论关于 \LaTeX{} 的时候需要明确。
+为避免混淆,本手册中的 \LaTeX{} 一律指的是\textbf{格式},\textbf{编译命令}则用等宽字体 \texttt{latex} 表示。
在此介绍一下几个编译命令的基本特点:
\begin{description}
@@ -388,12 +440,12 @@ or \TeX{} users?
\item[\texttt{pdflatex}]
底层调用的引擎也是 \hologo{pdfTeX},可以直接生成 \texttt{pdf} 格式的文档。
\item[\texttt{xelatex}]
- 底层调用的引擎是 \hologo{XeTeX},支持 UTF-8 编码和 TrueType / OpenType 字体。
+ 底层调用的引擎是 \hologo{XeTeX},支持 UTF-8 编码和对 TrueType / OpenType 字体的调用。
当前较为方便的中文排版解决方案基于 \texttt{xelatex},详见 \ref{sec:chinese} 节。
\item[\texttt{lualatex}]
底层调用的引擎是 \hologo{LuaTeX},这个引擎在 \hologo{pdfTeX} 引擎基础上发展而来,
- 除了支持 UTF-8 编码和 TrueType / OpenType 字体外,还支持通过 Lua 语言扩展 \TeX\ 的功能。
- \texttt{lualatex} 编译命令下的中文排版支持需要借助 \pkg{luatex-ja} 宏包。
+ 除了支持 UTF-8 编码和对 TrueType / OpenType 字体的调用外,还支持通过 Lua 语言扩展 \TeX{} 的功能。
+ \texttt{lualatex} 编译命令下的中文排版支持需要借助 \pkg{luatexja} 宏包。
\end{description}
\endinput
diff --git a/info/lshort/chinese/src/chap/chap.02.text.tex b/info/lshort/chinese/src/chap/chap.02.text.tex
new file mode 100644
index 0000000000..f0233642b6
--- /dev/null
+++ b/info/lshort/chinese/src/chap/chap.02.text.tex
@@ -0,0 +1,357 @@
+\chapter{用 \LaTeX{} 排版文字}\label{chap:text}
+\addtocontents{los}{\protect\addvspace{10pt}}
+
+\begin{intro}
+文字是排版的基础。本章主要介绍如何在 \LaTeX{} 中输入各种文字符号,包括标点符号、连字符、重音等,以及控制文字断行和断页的方式。
+
+本章简要介绍了在 \LaTeX{} 中排版中文的方法。随着 \LaTeX{} 和底层 \TeX{} 引擎的发展,旧方式(CCT、\pkg{CJK} 等)日渐退出舞台,
+\texttt{xelatex} 和 \texttt{lualatex} 编译命令配合 \cls{ctex} 宏包 / 文档类的方式成为当前的主流中文排版支持方式。
+\end{intro}
+
+\section{语言文字和编码}\label{sec:encoding}
+
+\pinyinindex{bianma}{编码}
+\LaTeX{} 源代码为文本文件,而文本文件的一个至关重要的性质是它的编码。在此用尽量短的篇幅介绍一下。
+
+\subsection{ASCII 编码}\label{subsec:ascii}
+
+\index{bianma@编码!ASCII}
+计算机的基本存储单位是字节(byte),每个字节为八位(8-bit),范围用十六进制写作 \texttt{0x00}--\texttt{0xFF}。
+ASCII (美国通用信息交换码)使用 \texttt{0x00}--\texttt{0x7F} 对文字编码,也就是 7-bit,覆盖了基本的拉丁字母、数字和符号,以及一些不可打印的控制字符(如换行符、制表符等)。
+
+由于 \TeX{} 最初设计用于排版以英文为主的西文文档,ASCII 编码完全够用,因而早期版本的 \TeX{} 只支持 7-bit 和 ASCII 编码。
+排版扩展拉丁字符必须使用后文所述的各种符号和重音命令,如 M\"obius 必须通过输入 \verb|M\"obius| 得到。
+
+\subsection{扩展编码}\label{subsec:ext-encoding}
+
+在 ASCII 之后,各种语言文字都发展了自己的编码,比如西欧语言的 Latin-1、日本的 Shift-JIS、中国大陆的 GB 2312--80 和 GBK 等。
+它们中的绝大多数都向下兼容 ASCII,因此无论是在哪种编码下,\TeX{} 以及 \LaTeX{} 的命令和符号都能用。
+
+\index{bianma@编码!Latin-1}
+\pkgindex{inputenc}
+\TeX{} 从 3.0 版开始支持 8-bit,能够处理编码在 \texttt{0x80}--\texttt{0xFF} 范围内的字符。
+西欧(拉丁字母)、俄语系(西里尔字母)等语言文字的编码方案大都利用了 \texttt{0x80}--\texttt{0xFF} 这个范围,
+处理起来较为方便。使用 \texttt{latex} 或 \texttt{pdflatex} 编译命令时,对源代码的编码处理由 \pkg{inputenc} 宏包支持。
+比如将源代码保存为 Latin-1 编码,并在导言区调用 \pkg{inputenc} 宏包并指定 \texttt{latin1} 选项后,M\"obius 这样的词语就可以直接通过(用适当输入法)输入 \texttt{M\"obius} 得到了。
+
+\index{bianma@编码!GBK}
+用于汉字的 GBK 等编码是多字节编码,ASCII 字符为一个字节,汉字等非 ASCII 字符为两个字节,使用
+\texttt{latex} 或 \texttt{pdflatex} 编译命令时需要借助一些宏包进行较为复杂的判断和处理。早期排版中文须使用 \pkg{CJK} 宏包,它是一个用于处理中、日、韩等东亚语言文字编码和字体配置的宏包。但 \pkg{CJK} 宏包的使用非常不方便,目前已不再推荐直接使用。
+
+\subsection{UTF-8 编码}\label{subsec:utf8}
+
+\index{bianma@编码!UTF-8}
+Unicode 是一个多国字符的集合,覆盖了几乎全球范围内的语言文字。UTF-8 是 Unicode 的一套编码方案,
+一个字符由一个到四个字节编码,其中单字节字符的编码与 ASCII 编码兼容。
+
+现行版本的 \LaTeX{} 使用 UTF-8 作为默认编码%
+\footnote{在 2018 年 4 月之前,需要调用 \pkg{inputenc} 宏包并指定 \texttt{utf8} 选项才能使用 UTF-8 编码。}。
+将使用拉丁字母的文档保存为 UTF-8 编码后,可以用 \texttt{pdflatex} 直接编译,比如:
+
+\begin{verbatim}
+\documentclass{article}
+\begin{document}
+Français Português Español Føroyskt
+\end{document}
+\end{verbatim}
+
+但是非拉丁字母仍然无法直接在 \LaTeX{} 中使用,如西里尔字母(俄文)、希腊字母、阿拉伯字母以及东亚文字等。
+
+\pkgindex{fontspec,babel,polyglossia}
+较为现代的 \TeX{} 引擎,如 \hologo{XeTeX} 和 \hologo{LuaTeX},它们均原生支持 UTF-8 编码。
+使用 \texttt{xelatex} 和 \texttt{lualatex} 排版时,将源代码保存为 UTF-8 编码,并借助
+\pkg{fontspec} 宏包(见 \ref{subsec:fontspec} 小节)调用适当的字体,原则上就可以在源代码中输入任意语言的文字。
+注意此时\textbf{不再适用 \pkg{inputenc} 宏包}。但一些复杂语言(如印地语、阿拉伯语等)的排版需要考虑到断词规则、文字方向、标点禁则等诸多细节,因此需要更多的宏包支持,如 \pkg{babel}、 \pkg{polyglossia} 等,此处不再涉及。
+
+\section{排版中文}\label{sec:chinese}
+
+\pkgindex{xeCJK,luatexja}
+用 \LaTeX{} 排版中文需要解决两方面问题,一方面是对中文字体的支持,另一方面是对中文排版中的一些细节的处理,包括在汉字之间控制断行、标点符号的禁则(如句号、逗号不允许出现在行首)、中英文之间插入间距等。\pkg{CJK} 宏包对中文字体的支持比较麻烦,已经不再推荐直接使用。
+\hologo{XeTeX} 和 \hologo{LuaTeX} 除了直接支持 UTF-8 编码外,还支持直接调用 TrueType / OpenType 格式的字体。\pkg{xeCJK} 及 \pkg{luatexja} 宏包则在此基础上封装了对汉字排版细节的处理功能。
+
+\pkgindex{ctex}
+\clsindex{ctexart,ctexbook,ctexrep}
+\pkg{ctex} 宏包和文档类\footnote{\hologo{CTeX} 还经常用来指一个过时的 \TeX{} 发行版,注意与这里的 \pkg{ctex} 宏包和文档类区分。}%
+进一步封装了 \pkg{CJK}、\pkg{xeCJK}、\pkg{luatexja} 等宏包,使得用户在排版中文时不用再考虑排版引擎等细节。\pkg{ctex} 宏包本身用于配合各种文档类排版中文,而 \pkg{ctex} 文档类对 \LaTeX{} 的标准文档类进行了封装,对一些排版根据中文排版习惯做了调整,包括 \cls{ctexart} / \cls{ctexrep} / \cls{ctexbook}。
+\pkg{ctex} 宏包和文档类能够识别操作系统和 \TeX{} 发行版中安装的中文字体,因此基本无需额外配置即可排版中文文档。下面举一个使用 \pkg{ctex} 文档类排版中文的最简例子:
+
+\begin{verbatim}
+\documentclass{ctexart}
+\begin{document}
+在\LaTeX{}中排版中文。
+汉字和English单词混排,通常不需要在中英文之间添加额外的空格。
+当然,为了代码的可读性,加上汉字和 English 之间的空格也无妨。
+汉字换行时不会引入多余的空格。
+\end{document}
+\end{verbatim}
+
+\index{xelatex@\texttt{xelatex} 命令}
+\index{lualatex@\texttt{lualatex} 命令}
+注意源代码须保存为 UTF-8 编码,并使用 \texttt{xelatex} 或 \texttt{lualatex} 命令编译。
+虽然 \pkg{ctex} 宏包和文档类保留了对 GBK 编码以及 \texttt{latex} 和 \texttt{pdflatex} 编译命令的兼容,
+笔者建议在使用 \pkg{ctex} 宏包和文档类时总是将源代码保存为 UTF-8 编码,用 \texttt{xelatex} 或 \texttt{lualatex} 命令编译。
+
+\section{\LaTeX{} 中的字符}\label{sec:text-symbols}
+
+\subsection{空格和分段}\label{subsec:spaces}
+
+\LaTeX{} 源代码中,空格键和 Tab 键输入的空白字符视为“空格”。
+连续的若干个空白字符视为一个空格。一行开头的空格忽略不计。
+
+\cmdindex{par}
+行末的换行符视为一个空格;但连续两个换行符,也就是空行,会将文字分段。多个空行被视为一个空行。
+也可以在行末使用 \cmd{par} 命令分段。
+\begin{example}
+Several spaces equal one.
+ Front spaces are ignored.
+
+An empty line starts a new
+paragraph.\par
+A \verb|\par| command does
+the same.
+\end{example}
+
+\subsection{注释}\label{subsec:comments}
+
+\index{^^e@\texttt\% (\textit{注释})}
+\LaTeX{} 用 \texttt\% 字符作为注释。在这个字符之后直到行末,所有的字符都被忽略,
+行末的换行符也不引入空格。
+\begin{example}
+This is an % short comment
+% ---
+% Long and organized
+% comments
+% ---
+example: Comments do not bre%
+ak a word.
+\end{example}
+
+\subsection{特殊字符}\label{subsec:special-chars}
+
+以下字符在 \LaTeX{} 里有特殊用途,如 \texttt\% 表示注释, \texttt\$、\texttt\textasciicircum 、\texttt\_ 等用于排版数学公式,
+\texttt\& 用于排版表格,等等。直接输入这些字符得不到对应的符号,还往往会出错:
+\begin{verbatim}
+# $ % & { } _ ^ ~ \
+\end{verbatim}
+
+如果想要输入以上符号,需要使用以下带反斜线的形式输入,类似编程语言里的“转义”符号:
+\begin{example}
+\# \$ \% \& \{ \} \_
+\^{} \~{} \textbackslash
+\end{example}
+
+这些“转义”符号事实上是一些 \LaTeX{} 命令。其中 \cmd{\textasciicircum} 和 \cmd{\textasciitilde}
+两个命令需要一个参数,加一对花括号的写法相当于提供了空的参数,否则它们可能会将后面的字符作为参数,形成重音效果(详见 \ref{subsec:accents} 节)。
+\crcmd{} 被直接定义成了手动换行的命令,输入反斜线就需要用 \cmd{text\-back\-slash}。
+
+\subsection{连字}\label{subsec:ligatures}
+
+西文排版中经常会出现连字(ligatures),常见的有 ff / fi / fl / ffi / ffl{}。
+\begin{example}
+It's difficult to find \ldots\\
+It's dif{}f{}icult to f{}ind \ldots
+\end{example}
+
+\subsection{标点符号}\label{subsec:punct}
+
+中文的标点符号(绝大多数为非 ASCII 字符)使用中文输入法输入即可,一般不需要过多留意。
+而输入西文标点符号时,有不少地方需要留意。
+
+\subsubsection{引号}
+
+\index{biaodianfuhao@标点符号!`@\protect\verb+`+ (\textit{前引号} `)}
+\index{biaodianfuhao@标点符号!``@\protect\verb+'+ (\textit{后引号} ')}
+\index{biaodianfuhao@标点符号!'@\protect\verb+``+ (\textit{前双引号} ``)}
+\index{biaodianfuhao@标点符号!''@\protect\verb+''+ (\textit{后双引号} '')}
+\LaTeX{} 中单引号 ` ' 分别用 \verb|`| 和 \verb|'| 输入;双引号 `` 和 '' 分别用 \verb|``| 和 \verb|''| 输入
+(\verb|"| 可以输入后双引号,但没有直接输入前双引号的字符,习惯上用 \verb|''| 输入以和 \verb|``| 更好地对应)。
+\begin{example}
+``Please press the `x' key.''
+\end{example}
+
+\subsubsection{连字号和破折号}
+
+\index{biaodianfuhao@标点符号!-@\protect\verb+-+ (\textit{连字号} -)}
+\index{biaodianfuhao@标点符号!--@\protect\verb+--+ (\textit{短破折号} --)}
+\index{biaodianfuhao@标点符号!---@\protect\verb+---+ (\textit{长破折号} ---)}
+\LaTeX{} 中有三种长度的“横线”可用:连字号(hyphen)、短破折号(en-dash)和长破折号(em-dash)。
+它们分别有不同的用途:连字号 - 用来组成复合词;短破折号 -- 用来连接数字表示范围;长破折号 --- 用来连接单词,语义上类似中文的破折号。
+\begin{example}
+daughter-in-law, X-rated\\
+pages 13--67\\
+yes---or no?
+\end{example}
+
+\subsubsection{省略号}
+
+\index{biaodianfuhao@标点符号!ldots@\cmd{ldots} (\textit{省略号} \ldots)}
+\index{biaodianfuhao@标点符号!dots@\cmd{dots} (\textit{省略号} \dots)|see{\cmd{ldots}}}
+\LaTeX{} 提供了 \cmd{ldots} 命令表示省略号,相对于直接输入三个点的方式更为合理。
+\cmd{dots} 与 \cmd{ldots} 命令等效。
+\begin{example}
+one, two, three, \ldots one hundred.
+\end{example}
+
+\subsubsection{波浪号}
+
+我们在 \ref{subsec:special-chars} 小节中了解了 \cmd{\textasciitilde} 命令,它可以用来输入波浪号,
+但位置靠顶端(\cmd{\textasciitilde} 命令主要用作重音,参考下一小节)。西文中较少将波浪号作为标点符号使用,在中文环境中一般直接使用全角波浪号(~)。
+
+\subsection{拉丁文扩展与重音}\label{subsec:accents}
+
+\pinyinindex{zhongyin}{重音}
+\LaTeX{} 支持用命令输入西欧语言中使用的各种拉丁文扩展字符,主要为带重音的字母:
+\begin{example}
+H\^otel, na\"\i ve, \'el\`eve,\\
+sm\o rrebr\o d, !`Se\ norita!,\\
+Sch\"onbrunner Schlo\ss{}
+Stra\ss e
+\end{example}
+
+更多可用的符号和重音见表 \ref{tbl:accents}。注意与 \ref{subsec:math-accents} 小节的数学重音区分开来。
+
+\def\TSYM #1{#1 & \texttt{\string#1}}
+\def\TACC #1#2{#1{#2} & \texttt{\string#1#2}} % accents using a control character
+\def\TTACC #1#2{#1{#2} & \texttt{\string#1 #2}} % accents using a control word
+\def\WTACC #1#2{#1{#2} & \texttt{\string#1\{#2\}}} % multi-letter accents
+\begin{table}[htp]
+\centering
+\caption{\LaTeX{} 文本中的重音和特殊字符} \label{tbl:accents}
+\begin{tabular}{*4{cl}}
+ \hline
+ \TACC{\`}{o} & \TACC{\'}{o} & \TACC{\^}{o} & \TACC{\~}{o} \\
+ \TACC{\=}{o} & \TACC{\.}{o} & \TACC{\"}{o} & \TTACC{\r}{o}\\
+ \TTACC{\u}{o} & \TTACC{\v}{o} & \TTACC{\H}{o} & \TTACC{\c}{o} \\
+ \TTACC{\d}{o} & \TTACC{\b}{o} & \WTACC{\t}{oo} \\[6pt]
+ \TSYM{\oe} & \TSYM{\OE} & \TSYM{\ae} & \TSYM{\AE} \\
+ \TSYM{\aa} & \TSYM{\AA} & \TSYM{\ss} \\[6pt]
+ \TSYM{\o} & \TSYM{\O} & \TSYM{\l} & \TSYM{\L} \\
+ \TSYM{\i} & \TSYM{\j} & !` & \verb|!`| & ?` & \verb|?`| \\
+ \hline
+\end{tabular}
+\begin{quote}\footnotesize%
+前四行实际上都是带一个参数的命令。\cmd{\textasciicircum}\texttt{o} 也可以写作
+\cmd{\textasciicircum}\marg*{o},以此类推。
+\end{quote}
+\end{table}
+
+\subsection{其它符号}\label{subsec:text-misc}
+
+\symindex{dag,ddag,P,S,copyright,pounds}
+\symindex{textasteriskcentered,textperiodcentered,textbullet,textregistered,texttrademark}
+\LaTeX{} 预定义了其它一些文本模式的符号,部分符号可参考表 \ref{tbl:general-syms}。
+\begin{example}
+\P{} \S{} \dag{} \ddag{}
+\copyright{} \pounds{}
+
+\textasteriskcentered
+\textperiodcentered
+\textbullet
+
+\textregistered{} \texttrademark
+\end{example}
+
+更多的符号多由特定的宏包支持。参考文献 \cite{symbols} 搜集了所有在 \TeX{} 发行版中可用的符号,使用时要留意每个符号所依赖的宏包。
+
+\subsection{\LaTeX{} 标志}\label{subsec:latex-mark}
+
+\cmdindex{TeX,LaTeX,LaTeXe}
+我们见到的所有错落有致的 \LaTeX{} 标志都是由以下命令输入的:
+\begin{center}
+\begin{tabular}{*{2}{l}}
+ \hline
+ \TeX & \cmd{TeX} \\
+ \LaTeX & \cmd{LaTeX} \\
+ \LaTeXe & \cmd{LaTeXe} \\
+ \hline
+\end{tabular}
+\end{center}
+
+\section{断行和断页}\label{sec:break}
+
+\LaTeX{} 将文字段落在合适的位置进行断行,尽可能做到每行的疏密程度匀称,单词间距不会过宽或过窄。
+文字段落和公式、图表等内容从上到下顺序排布,并在合适的位置断页,分割成匀称的页面。
+在绝大多数时候,我们无需自己操心断行和断页。但偶尔会遇到需要手工调整的地方。
+
+\subsection{单词间距}\label{subsec:interword}
+
+在西文排版实践中,断行的位置优先选取在两个单词之间,也就是在源代码中输入的“空格”%
+\footnote{中文排版实现汉字间断行,则需要宏包(如 \pkg{xeCJK} 等)或特殊的排版引擎(如 up\LaTeX{})的支持。}。
+“空格”本身通常生成一个间距,它会根据行宽和上下文自动调整,文字密一些的地方,单词间距就略窄,反之略宽。
+
+\index{~@\texttt\textasciitilde\ (\textit{不断行空格})}
+文字在单词间的“空格”处断行时,“空格”生成的间距随之舍去。
+我们可以使用字符 \texttt\textasciitilde 输入一个不会断行的空格(高德纳称之为 tie,“带子”),
+通常用在英文人名、图表名称等上下文环境:
+\begin{example}
+Fig.~2a \\
+Donald~E. Knuth
+\end{example}
+
+\subsection{手动断行和断页}\label{subsec:manual-break}
+
+\index{\@\crcmd{} (\textit{换行})} \cmdindex{newline}
+如果我们确实需要手动断行,可使用如下命令:
+\begin{command}
+\crcmd \oarg{length} \qquad
+\crcmd*\oarg{length} \\
+\cmd{newline}
+\end{command}
+
+它们有两点区别:一是 \crcmd{} 可以带可选参数 \Arg{length},用于在断行处向下增加垂直间距(见 \ref{subsec:vspace} 小节),
+而 \cmd{newline} 不带可选参数;二是 \crcmd{} 也在表格、公式等地方用于换行,而 \cmd{newline} 只用于文本段落中。
+带星号的 \crcmd{} 表示禁止在断行处分页。
+
+\begin{example}
+另外需要注意的是,使用 \verb|\\|
+断行命令 \\ 不会令内容另起一段,
+而是在段落中直接开始新的一行。
+\end{example}
+
+\cmdindex{newpage,clearpage}
+断页的命令有两个:
+\begin{command}
+\cmd{newpage} \\
+\cmd{clearpage}
+\end{command}
+
+通常情况下两个命令都起到另起一页的作用,区别在于:第一,在双栏排版模式中 \cmd{newpage} 起到另起一栏的作用,\cmd{clearpage} 则能够另起一页;第二,在涉及到浮动体的排版上行为不同。
+后文的 \ref{sec:float} 节以及 \ref{subsec:columns} 小节会更详细地介绍相关内容。
+
+\cmdindex{linebreak,nolinebreak}
+有时候我们不满足于 \LaTeX{} 默认的断行和断页位置,需要进行微调,可以用以下命令告诉 \LaTeX{} 哪些地方适合断行或断页,哪些地方不适合:
+\begin{command}
+\cmd{linebreak}\oarg{n} \quad \cmd{nolinebreak}\oarg{n} \\
+\cmd{pagebreak}\oarg{n} \quad \cmd{nopagebreak}\oarg{n}
+\end{command}
+
+以上命令都带一个可选参数,用数字 \Arg{n} 代表适合/不适合的程度,取值范围为 0--4,不带可选参数时,缺省为 4。
+比如 \cmd{linebreak} 或者 \cmd{linebreak}\texttt{[4]} 意味着此处需要强行断行;\cmd{nopagebreak} 或 \cmd{nopagebreak}\texttt{[4]}
+意味着禁止在此处断页。
+
+以上命令适合给出优先考虑断行断页/禁止断行断页的位置,但不适合直接拿来断行或断页,使用 \cmd{newline} 或 \cmd{newpage} 等命令是更好的选择。
+因为 \cmd{newline} 和 \cmd{newpage} 会在断行/断页位置填充适当的间距,但 \cmd{linebreak} 和 \cmd{pagebreak} 不能,使用
+这些命令强行断行/断页可能会制造出糟糕的排版效果,并导致 \LaTeX{} 报 \texttt{Underfull \cmd{hbox}} 等警告。
+
+\begin{example}
+使用 \verb|\newline| 断行的效果
+\newline
+与使用 \verb|\linebreak| 断行的效果
+\linebreak
+进行对比。
+\end{example}
+
+\subsection{断词}\label{subsec:hyphen}
+
+如果 \LaTeX{} 遇到了很长的英文单词,仅在单词之间的“空格”处断行无法生成疏密程度匀称的段落时,就会考虑从单词中间断开。
+对于绝大多数单词,\LaTeX{} 能够找到合适的断词位置,在断开的行尾加上连字符 \char\hyphenchar\font 。
+
+\index{-@\cmd{-} (\textit{断词})}
+如果一些单词没能自动断词,我们可以在单词内手动使用 \cmd{-} 命令指定断词的位置:
+\begin{example}
+I think this is: su\-per\-cal\-%
+i\-frag\-i\-lis\-tic\-ex\-pi\-%
+al\-i\-do\-cious.
+\end{example}
+
+\endinput
diff --git a/info/lshort/chinese/src/chap.03.elements.tex b/info/lshort/chinese/src/chap/chap.03.elements.tex
index 95f4d86556..4d289d43e3 100644
--- a/info/lshort/chinese/src/chap.03.elements.tex
+++ b/info/lshort/chinese/src/chap/chap.03.elements.tex
@@ -25,7 +25,7 @@
\cmd{subparagraph}\marg{title}
\end{command}
其中 \cmd{chapter} \textbf{只在 \cls{book} 和 \cls{report} 文档类有定义}。这些命令生成章节标题,并能够自动编号。
-除此之外 \LaTeX\ 还提供了 \cmd{part} 命令,用来将整个文档分割为大的分块,但不影响 \cmd{chapter} 或 \cmd{section} 等的编号。
+除此之外 \LaTeX{} 还提供了 \cmd{part} 命令,用来将整个文档分割为大的分块,但不影响 \cmd{chapter} 或 \cmd{section} 等的编号。
上述命令除了生成带编号的标题之外,还向目录中添加条目,并影响页眉页脚的内容(详见 \ref{sec:pagestyle} 节)。每个命令有两种变体:
\begin{itemize}
@@ -43,13 +43,13 @@
对此的详细解释和调整方法见 \ref{subsec:latex-counts} 小节。
\pkgindex{titlesec}
-\LaTeX\ 及标准文档类并未提供为 \cmd{section} 等章节命令定制格式的功能,这一功能由 \pkg{titlesec} 宏包提供。详情请参考宏包的帮助文档。
+\LaTeX{} 及标准文档类并未提供为 \cmd{section} 等章节命令定制格式的功能,这一功能由 \pkg{titlesec} 宏包提供。详情请参考宏包的帮助文档。
\subsection{目录}\label{sec:toc}
\cmdindex{tableofcontents}
\pkgindex{tocbibind,tocloft,titletoc}
-在 \LaTeX\ 中生成目录非常容易,只需在合适的地方使用命令:
+在 \LaTeX{} 中生成目录非常容易,只需在合适的地方使用命令:
\begin{command}
\cmd{tableofcontents}
\end{command}
@@ -89,33 +89,38 @@
\cmdindex{include}
以上三个命令还可和 \cmd{appendix} 命令结合,生成有前言、正文、附录、后记四部分的文档。
-源代码 \ref{code:book-struct} 结合 \ref{sec:latex-multi-files} 节的 \cmd{include} 命令和其它一些命令示意了一份完整的文档结构。
+源代码 \ref{code:book-struct} 结合 \ref{sec:latex-multi-files} 节的 \cmd{include} 命令
+和其它一些命令示意了一份完整的文档结构。
\begin{sourcecode}[htp]
\begin{Verbatim}
-\documentclass[...]{book}
+\documentclass{book}
+
% 导言区,加载宏包和各项设置,包括参考文献、索引等
-\usepackage{...}
-\usepackage{makeidx}
-\makeindex
-\bibliographystyle{...}
+\usepackage{makeidx} % 调用 makeidx 宏包,用来处理索引
+\makeindex % 开启索引的收集
+\bibliographystyle{plain} % 指定参考文献样式为 plain
\begin{document}
-\frontmatter
-\maketitle % 标题页
-\include{preface} % 前言章节 preface.tex
+
+\frontmatter % 前言部分
+\maketitle % 标题页
+\include{preface} % 前言章节 preface.tex
\tableofcontents
-\mainmatter
-\include{chapter1} % 第一章 chapter1.tex
-\include{chapter2} % 第二章 chapter2.tex
+
+\mainmatter % 正文部分
+\include{chapter1} % 第一章 chapter1.tex
+\include{chapter2} % 第二章 chapter2.tex
...
-\appendix
-\include{appendixA} % 附录 A appendixA.tex
+\appendix % 附录
+\include{appendixA} % 附录 A appendixA.tex
...
-\backmatter
-\include{prologue} % 后记 prologue.tex
-\bibliography{...} % 利用 BibTeX 工具生成参考文献
-\printindex % 利用 makeindex 工具生成索引
+
+\backmatter % 后记部分
+\include{prologue} % 后记 prologue.tex
+\bibliography{books} % 利用 BibTeX 工具从数据库文件 books.bib 生成参考文献
+\printindex % 利用 makeindex 工具生成索引
+
\end{document}
\end{Verbatim}
\caption{\cls{book} 文档类的文档结构示例。}\label{code:book-struct}
@@ -125,14 +130,14 @@
\cmdindex{title,author,date,today}
\cmdindex{thanks,and}
-\LaTeX\ 支持生成简单的标题页。首先需要给定标题和作者等信息:
+\LaTeX{} 支持生成简单的标题页。首先需要给定标题和作者等信息:
\begin{command}
\cmd{title}\marg{title} \quad
\cmd{author}\marg{author} \quad
\cmd{date}\marg{date}
\end{command}
其中前两个命令是必须的(不用 \cmd{title} 会报错;不用 \cmd{author} 会警告),\cmd{date} 命令可选。
-\LaTeX\ 还提供了一个 \cmd{today} 命令自动生成当前日期,\cmd{date} 默认使用 \cmd{today}。
+\LaTeX{} 还提供了一个 \cmd{today} 命令自动生成当前日期,\cmd{date} 默认使用 \cmd{today}。
在 \cmd{title}、\cmd{author} 等命令内可以使用 \cmd{thanks} 命令生成标题页的脚注,用 \cmd{and} 隔开多个人名。
\cmdindex{maketitle}
@@ -148,7 +153,7 @@
\author{ Mary\thanks{E-mail:*****@***.com}
\and Ted\thanks{Corresponding author}
\and Louis}
-\date{\today}
+\date{\today}
\end{Verbatim}
\bigskip
\makeatletter
@@ -171,14 +176,14 @@
Louis
\end{tabular}\par}%
\vskip 1em%
- {\large September 10, 2015}%
+ {\large \csname CTEX@todayold\endcsname}%
\end{minipage}
\makeatother
-\caption{\LaTeX\ 默认的标题页示例和效果。}\label{code:titlepage}
+\caption{\LaTeX{} 默认的标题页示例和效果。}\label{code:titlepage}
\end{sourcecode}
\envindex{titlepage}
-\LaTeX\ 标准类还提供了一个简单的 \env{titlepage} 环境,生成不带页眉页脚的一页。用户可以在这个环境中使用各种排版元素自由发挥,
+\LaTeX{} 标准类还提供了一个简单的 \env{titlepage} 环境,生成不带页眉页脚的一页。用户可以在这个环境中使用各种排版元素自由发挥,
生成自定义的标题页以替代 \cmd{maketitle} 命令。甚至可以利用 \env{titlepage} 环境重新定义 \cmd{maketitle}:
\begin{verbatim}
\renewcommand{\maketitle}{\begin{titlepage}
@@ -188,14 +193,14 @@
事实上,为标准文档类指定了 \texttt{titlepage} 选项以后,使用 \cmd{maketitle} 命令生成的标题页就是一个 \env{titlepage} 环境。
-以上是 \LaTeX\ 标准文档类的标题页相关命令用法。在各种文档模板中经常有自定义的标题页,
+以上是 \LaTeX{} 标准文档类的标题页相关命令用法。在各种文档模板中经常有自定义的标题页,
有可能需要除了 \cmd{title} 和 \cmd{author} 以外的命令给定信息,用法也可能与标准文档类的不一致
(甚至有些模板可能没有定义 \env{titlepage} 等环境)。使用文档模板前\textbf{一定要仔细阅读文档模板的帮助文档}。
\section{交叉引用}\label{sec:crossref}
\cmdindex{label}
-交叉引用是 \LaTeX\ 强大的自动排版功能的体现之一。在能够被交叉引用的地方,如章节、公式、图表、定理等位置使用 \cmd{label} 命令:
+交叉引用是 \LaTeX{} 强大的自动排版功能的体现之一。在能够被交叉引用的地方,如章节、公式、图表、定理等位置使用 \cmd{label} 命令:
\begin{command}
\cmd{label}\marg{label-name}
\end{command}
@@ -285,7 +290,7 @@ page~\pageref{sec:this}.''
\envindex{enumerate,itemize}
\cmdindex{item}
-\LaTeX\ 提供了基本的有序和无序列表环境 \env{enumerate} 和 \env{itemize},两者的用法很类似,都用 \cmd{item} 标明每个列表项。
+\LaTeX{} 提供了基本的有序和无序列表环境 \env{enumerate} 和 \env{itemize},两者的用法很类似,都用 \cmd{item} 标明每个列表项。
\env{enumerate} 环境会自动对列表项编号。
\begin{command}
\cmd{begin}\marg*{enumerate} \\
@@ -297,7 +302,7 @@ page~\pageref{sec:this}.''
列表可以嵌套使用,最多嵌套四层。
\begin{example}
\begin{enumerate}
- \item An item.
+ \item An item.
\begin{enumerate}
\item A nested item.\label{itref}
\item[*] A starred item.
@@ -358,7 +363,7 @@ page~\pageref{sec:this}.''
\end{enumerate}
\end{example}
-默认的列表间距比较宽,\LaTeX\ 本身也未提供方便的定制功能,可用 \pkg{enumitem} 宏包定制各种列表间距。
+默认的列表间距比较宽,\LaTeX{} 本身也未提供方便的定制功能,可用 \pkg{enumitem} 宏包定制各种列表间距。
\pkg{enumitem} 宏包还提供了对列表标签、引用等的定制。有兴趣的读者可参考其帮助文档。
\subsection{对齐环境}\label{subsec:flush}
@@ -412,7 +417,7 @@ Right-aligned text paragraph.
\subsection{引用环境}\label{subsec:quote}
\envindex{quote,quotation}
-\LaTeX\ 提供了两种引用的环境:\env{quote} 用于引用较短的文字,首行不缩进;\env{quotation} 用于引用若干段文字,首行缩进。
+\LaTeX{} 提供了两种引用的环境:\env{quote} 用于引用较短的文字,首行不缩进;\env{quotation} 用于引用若干段文字,首行缩进。
引用环境较一般文字有额外的左右缩进。
\begin{example}
Francis Bacon says:
@@ -438,8 +443,8 @@ Knowledge is power.
\begin{example}
Rabindranath Tagore's short poem:
\begin{verse}
-Beauty is truth's smile
-when she beholds her own face in
+Beauty is truth's smile
+when she beholds her own face in
a perfect mirror.
\end{verse}
\end{example}
@@ -455,7 +460,7 @@ a perfect mirror.
\envindex{verbatim}
有时我们需要将一段代码原样转义输出,这就要用到代码环境 \env{verbatim},它以等宽字体排版代码,回车和空格也分别起到换行和空位的作用;
-带星号的版本更进一步将空格显示成 \textvisiblespace 。
+带星号的版本更进一步将空格显示成“\textvisiblespace”。
\begin{example}
\begin{verbatim}
#include <iostream>
@@ -498,24 +503,25 @@ for (int i=0; i<4; ++i)
\section{表格}\label{sec:tabular}
\pinyinindex{biaoge}{表格|(}
-\LaTeX\ 里排版表格不如 Word 等所见即所得的工具简便和自由,不过对于不太复杂的表格来讲,完全能够胜任。
+\LaTeX{} 里排版表格不如 Word 等所见即所得的工具简便和自由,不过对于不太复杂的表格来讲,完全能够胜任。
\envindex{tabular}
\cmdindex{hline}
\index{&@\texttt\& (\textit{单元格/对齐})}
-\index{\@\crcmd\ (\textit{换行})}
+\index{\@\crcmd{} (\textit{换行})}
排版表格最基本的 \env{tabular} 环境用法为:
\begin{command}
-\cmd{begin}\marg*{tabular}\marg{column-spec}\\
+\cmd{begin}\marg*{tabular}\oarg{align}\marg{column-spec}\\
\Arg{item1} \texttt\& \Arg{item2} \texttt\& \ldots\ \crcmd \\
\cmd{hline} \\
\Arg{item1} \texttt\& \Arg{item2} \texttt\& \ldots\ \crcmd \\
\cmd{end}\marg*{tabular}
\end{command}
其中 \Arg{column-spec} 是列格式标记,在接下来的内容将仔细介绍;\texttt\& 用来分隔单元格;
-\crcmd\ 用来换行;\cmd{hline} 用来在行与行之间绘制横线。
+\crcmd{} 用来换行;\cmd{hline} 用来在行与行之间绘制横线。
-直接使用 \env{tabular} 环境的话,会\textbf{和周围的文字混排}。\env{tabular} 环境可带一个可选参数控制垂直对齐(默认是垂直居中):
+直接使用 \env{tabular} 环境的话,会\textbf{和周围的文字混排}。此时可用一个可选参数 \Arg{align} 控制垂直对齐:
+\verb|t| 和 \verb|b| 分别表示按按表格顶部、底部对齐,其他参数或省略不写(默认)表示居中对齐。
\begin{example}
\begin{tabular}{|c|}
center-\\ aligned \\
@@ -528,14 +534,14 @@ for (int i=0; i<4; ++i)
\end{tabular} tabulars.
\end{example}
-但是通常情况下我们不这么用,\env{tabular} 环境一般会放置在 \env{table} 浮动体环境中,并用 \cmd{caption} 命令加标题。
+但是通常情况下 \env{tabular} 环境很少与文字直接混排,而是会放在 \env{table} 浮动体环境中,并用 \cmd{caption} 命令加标题。
\subsection{列格式}\label{subsec:tabular-cols}
\env{tabular} 环境使用 \Arg{column-spec} 参数指定表格的列数以及每列的格式。基本的列格式见表 \ref{tbl:table-column-spec}。
\begin{table}[htp]
\centering
-\caption{\LaTeX\ 表格列格式。}\label{tbl:table-column-spec}
+\caption{\LaTeX{} 表格列格式}\label{tbl:table-column-spec}
\begin{tabular}{*{2}{l}}
\hline
\textbf{列格式} & \textbf{说明} \\
@@ -551,7 +557,7 @@ for (int i=0; i<4; ++i)
\begin{example}
\begin{tabular}{lcr|p{6em}}
\hline
- left & center & right
+ left & center & right
& par box with fixed width\\
L & C & R & P \\
\hline
@@ -571,7 +577,7 @@ for (int i=0; i<4; ++i)
\end{tabular}
\end{example}
-另外 \LaTeX\ 还提供了简便的将格式参数重复的写法 \texttt*\marg{n}\marg{column-spec},比如以下两种写法是等效的:
+另外 \LaTeX{} 还提供了简便的将格式参数重复的写法 \texttt*\marg{n}\marg{column-spec},比如以下两种写法是等效的:
\begin{verbatim}
\begin{tabular}{|c|c|c|c|c|p{4em}|p{4em}|}
\begin{tabular}{|*{5}{c|}*{2}{p{4em}|}}
@@ -591,14 +597,14 @@ for (int i=0; i<4; ++i)
辅助格式甚至支持插入 \cmd{centering} 等命令改变 \texttt{p} 列格式的对齐方式,
一般还要加额外的命令 \cmd{array\-back\-slash} 以免出错%
-\footnote{\cmd{centering} 等对齐命令会破坏表格环境里 \crcmd\ 换行命令的定义,
+\footnote{\cmd{centering} 等对齐命令会破坏表格环境里 \crcmd{} 换行命令的定义,
\cmd{array\-back\-slash} 用来恢复之。如果不加 \cmd{array\-back\-slash} 命令,
-也可以用 \cmd{tabular\-newline} 命令代替原来的 \crcmd\ 实现表格换行。}:
+也可以用 \cmd{tabular\-newline} 命令代替原来的 \crcmd{} 实现表格换行。}:
\begin{example}
\begin{tabular}
{>{\centering\arraybackslash}p{9em}}
\hline
- Some center-aligned long text. \\
+ Some center-aligned long text. \\
\hline
\end{tabular}
\end{example}
@@ -612,17 +618,17 @@ for (int i=0; i<4; ++i)
\hline
pos & \txt & \txt & \txt \\
\hline
-\end{tabular}
+\end{tabular}
\end{example}
\subsection{列宽}\label{subsec:colwidth}
-在控制列宽方面,\LaTeX\ 表格有着明显的不足:\texttt{l/c/r} 格式的列宽是由文字内容的自然宽度决定的,
+在控制列宽方面,\LaTeX{} 表格有着明显的不足:\texttt{l/c/r} 格式的列宽是由文字内容的自然宽度决定的,
而 \texttt{p} 格式给定了列宽却不好控制对齐(可用 \pkg{array} 宏包的辅助格式),
更何况列与列之间通常还有间距,所以直接生成给定总宽度的表格并不容易。
\envindex{tabular*}
-\LaTeX\ 本身提供了 \env{tabular*} 环境用来排版定宽表格,但是不太方便使用,
+\LaTeX{} 本身提供了 \env{tabular*} 环境用来排版定宽表格,但是不太方便使用,
比如要用到 \texttt{@} 格式插入额外命令,令单元格之间的间距为 \cmd{fill},但即使这样仍然有瑕疵:
\begin{example}
\begin{tabular*}{14em}%
@@ -680,7 +686,7 @@ for (int i=0; i<4; ++i)
\subsection{合并单元格}\label{subsec:tabular-multicol}
-\LaTeX\ 是一行一行排版表格的,横向合并单元格较为容易,由 \cmd{multi\-column} 命令实现:
+\LaTeX{} 是一行一行排版表格的,横向合并单元格较为容易,由 \cmd{multi\-column} 命令实现:
\begin{command}
\cmd{multicolumn}\marg{n}\marg{column-spec}\marg{item}
\end{command}
@@ -710,7 +716,7 @@ for (int i=0; i<4; ++i)
\begin{example}
\begin{tabular}{ccc}
\hline
- \multirow{2}{*}{Item} &
+ \multirow{2}{*}{Item} &
\multicolumn{2}{c}{Value} \\
\cline{2-3}
& First & Second \\ \hline
@@ -720,7 +726,7 @@ for (int i=0; i<4; ++i)
\subsection{嵌套表格}\label{subsec:tabular-embed}
-相对于合并单元格,拆分单元格对于 \LaTeX\ 来说并非易事。在单元格中嵌套一个小表格可以起到“拆分单元格”的效果。
+相对于合并单元格,拆分单元格对于 \LaTeX{} 来说并非易事。在单元格中嵌套一个小表格可以起到“拆分单元格”的效果。
在以下的例子中,注意要用 \cmd{multi\-column} 命令配合 \texttt{@\{\}} 格式把单元格的额外边距去掉,使得嵌套的表格线能和外层的表格线正确相连:
\begin{example}
@@ -729,7 +735,7 @@ for (int i=0; i<4; ++i)
a & b & c \\ \hline
a & \multicolumn{1}{@{}c@{}|}
{\begin{tabular}{c|c}
- e & f \\ \hline
+ e & f \\ \hline
e & f \\
\end{tabular}}
& c \\ \hline
@@ -753,7 +759,7 @@ for (int i=0; i<4; ++i)
\subsection{行距控制}\label{subsec:tabular-colht}
\cmdindex{arraystretch}
-\LaTeX\ 生成的表格看起来通常比较紧凑。修改参数 \cmd{array\-stretch} 可以得到行距更加宽松的表格
+\LaTeX{} 生成的表格看起来通常比较紧凑。修改参数 \cmd{array\-stretch} 可以得到行距更加宽松的表格
(相关命令参考 \ref{subsec:newcmd} 小节):
\begin{example}
\renewcommand\arraystretch{1.8}
@@ -764,8 +770,8 @@ for (int i=0; i<4; ++i)
\end{tabular}
\end{example}
-\index{\@\crcmd\ (\textit{换行})}
-另一种增加间距的办法是给换行命令 \crcmd\ 添加可选参数,在这一行下面加额外的间距,适合用于在行间不加横线的表格:
+\index{\@\crcmd{} (\textit{换行})}
+另一种增加间距的办法是给换行命令 \crcmd{} 添加可选参数,在这一行下面加额外的间距,适合用于在行间不加横线的表格:
\begin{example}
\begin{tabular}{c}
\hline
@@ -776,7 +782,7 @@ for (int i=0; i<4; ++i)
\end{example}
但是这种换行方式的存在导致了一个缺陷——\textbf{表格的首个单元格不能直接使用中括号 \texttt{[]}},
-否则 \crcmd\ 往往会将下一行的中括号当作自己的可选参数,因而出错。如果要使用中括号,应当放在花括号 \marg*{} 里面。
+否则 \crcmd{} 往往会将下一行的中括号当作自己的可选参数,因而出错。如果要使用中括号,应当放在花括号 \marg*{} 里面。
或者也可以选择将换行命令写成 \crcmd\texttt{[0pt]}。
\pinyinindex{biaoge}{表格|)}
@@ -785,22 +791,22 @@ for (int i=0; i<4; ++i)
\pkgindex{graphicx}
-\LaTeX\ 本身不支持插图功能,需要由 \pkg{graphicx} 宏包辅助支持。
+\LaTeX{} 本身不支持插图功能,需要由 \pkg{graphicx} 宏包辅助支持。
使用 \texttt{latex + dvipdfmx} 编译命令时,调用 \pkg{graphicx} 宏包时要指定 \texttt{dvipdfmx} 选项%
\footnote{早期常使用 \texttt{latex + dvips} 组合命令,后者将 \texttt{.dvi} 文件转为 \texttt{.ps} 文件(PostScript),
-可进一步通过 \texttt{ps2pdf} 工具生成 PDF。\texttt{dvips} 和 \texttt{dvipdfmx} 在图形、颜色、超链接等功能的实现上有差别,而 \LaTeX\ 无法识别
+可进一步通过 \texttt{ps2pdf} 工具生成 PDF。\texttt{dvips} 和 \texttt{dvipdfmx} 在图形、颜色、超链接等功能的实现上有差别,而 \LaTeX{} 无法识别
用户是用 \texttt{dvips} 还是 \texttt{dvipdfmx},所以要指定选项(缺省为 \texttt{dvips})。
\ref{sec:hyperlinks} 节中的 \pkg{hyperref} 宏包同理。};而使用 \texttt{pdflatex} 或 \texttt{xelatex} 命令编译时不需要。
-读者可能听说过“\LaTeX\ 只能插入 \texttt{.eps} 格式的图片,需要把 \texttt{.jpg} 转成 \texttt{.eps} 格式”的观点。
-\LaTeX\ 发展到今天,这个观点早已过时。事实上不同的编译命令支持的图片格式范围各异,见表 \ref{tbl:figure-format}。
+读者可能听说过“\LaTeX{} 只能插入 \texttt{.eps} 格式的图片,需要把 \texttt{.jpg} 转成 \texttt{.eps} 格式”的观点。
+\LaTeX{} 发展到今天,这个观点早已过时。事实上不同的编译命令支持的图片格式范围各异,见表 \ref{tbl:figure-format}。
这个表格也能解答诸如“为什么 \texttt{.eps} 格式图片在 \texttt{pdflatex} 编译命令下出错”之类的问题。本表格也再一次说明,使用
\texttt{xelatex} 命令是笔者最推荐的方式。
\begin{table}[htp]
\centering
-\caption{各种编译方式支持的主流图片格式。}\label{tbl:figure-format}
+\caption{各种编译方式支持的主流图片格式}\label{tbl:figure-format}
\begin{tabular}{*{3}{l}}
\hline
\textbf{格式} & \textbf{矢量图} & \textbf{位图} \\
@@ -813,8 +819,8 @@ for (int i=0; i<4; ++i)
\hline
\end{tabular}
\begin{quote}\footnotesize
-注:在较新的 \TeX\ 发行版中,\texttt{latex + dvipdfmx} 和 \texttt{pdf\-latex} 命令可不依赖宏包,支持原来需要宏包扩展的图片格式
-(但 \texttt{pdf\-latex} 命令仍不支持除 \texttt{.jpg} 和 \texttt{.png} 以外的位图)。
+注:在较新的 \TeX{} 发行版中,\texttt{latex + dvipdfmx} 和 \texttt{pdf\-latex} 命令可不依赖宏包,支持原来需要宏包扩展的图片格式
+(但 \texttt{pdf\-latex} 命令仍不支持 \texttt{.bmp} 格式的位图)。
\end{quote}
\end{table}
@@ -825,8 +831,8 @@ for (int i=0; i<4; ++i)
\end{command}
\cmdindex[graphicx]{graphicspath}
-其中 \Arg{filename} 为图片文件名,与使用 \cmd{include} 命令类似,文件名有时需要使用相对路径或绝对路径(见 \ref{sec:latex-multi-files} 节)。
-图片文件的扩展名可写可不写。
+其中 \Arg{filename} 为图片文件名,与 \cmd{include} 命令的用法类似,文件名可能需要用相对路径或绝对路径表示(见 \ref{sec:latex-multi-files} 节)。
+图片文件的扩展名一般可不写。另外一定要注意,\textbf{文件名里既不要有空格(类似 \cmd{include}),也不要有多余的英文点号},否则宏包在解析文件名的过程中会出错。
另外 \pkg{graphicx} 宏包还提供了 \cmd{graphics\-path} 命令,用于声明一个或多个图片文件存放的目录,
使用这些目录里的图片时可不用写路径:
@@ -838,7 +844,7 @@ for (int i=0; i<4; ++i)
\cmd{includegraphics} 命令的可选参数 \Arg{options} 支持 \Arg{key}=\Arg{value} 形式赋值,常用的参数如下:
\begin{table}[htp]
\centering
-\caption{\cmd{includegraphics} 命令的可选参数。}\label{tbl:graphics-options}
+\caption{\cmd{includegraphics} 命令的可选参数}\label{tbl:graphics-options}
\begin{tabular}{lp{18em}}
\hline
\textbf{参数} & \textbf{含义} \\
@@ -853,10 +859,10 @@ for (int i=0; i<4; ++i)
\section{盒子}\label{sec:box}
-盒子是 \LaTeX\ 排版的基础单元,虽然解释上去有些抽象:每一行是一个盒子,
+盒子是 \LaTeX{} 排版的基础单元,虽然解释上去有些抽象:每一行是一个盒子,
里面的文字从左到右依次排列;每一页也是一个盒子,各行文字从上到下依次排布……颇有一些活字印刷术的味道。
-不管如何,\LaTeX\ 提供了一些命令让我们生成一些有特定用途的盒子。
+不管如何,\LaTeX{} 提供了一些命令让我们生成一些有特定用途的盒子。
\subsection{水平盒子}\label{subsec:mbox}
@@ -908,7 +914,7 @@ for (int i=0; i<4; ++i)
\cmdindex{parbox}
\envindex{minipage}
-如果需要排版一个文字可以换行的盒子,\LaTeX\ 提供了两种方式:
+如果需要排版一个文字可以换行的盒子,\LaTeX{} 提供了两种方式:
\begin{command}
\cmd{parbox}\oarg{align}\oarg{height}\oarg{inner-align}\marg{width}\marg*{\ldots} \\[0.5ex]
\cmd{begin}\marg*{minipage}\oarg{align}\oarg{height}\oarg{inner-align}\marg{width} \\
@@ -949,7 +955,7 @@ for (int i=0; i<4; ++i)
\cmd{rule}\oarg{raise}\marg{width}\marg{height}
\end{command}
\begin{example}
-Black \rule{12pt}{4pt} box.
+Black \rule{12pt}{4pt} box.
Upper \rule[4pt]{6pt}{8pt} and
lower \rule[-4pt]{6pt}{8pt} box.
@@ -960,10 +966,10 @@ A \rule[-.4pt]{3em}{.4pt} line.
\section{浮动体}\label{sec:float}
内容丰富的文章或者书籍往往包含许多图片和表格等内容。这些内容的尺寸往往太大,导致分页困难。
-\LaTeX\ 为此引入了浮动体的机制,令大块的内容可以脱离上下文,放置在合适的位置。
+\LaTeX{} 为此引入了浮动体的机制,令大块的内容可以脱离上下文,放置在合适的位置。
\envindex{figure,table}
-\LaTeX\ 预定义了两类浮动体环境 \env{figure} 和 \env{table}。习惯上 \env{figure} 里放图片,\env{table} 里放表格,
+\LaTeX{} 预定义了两类浮动体环境 \env{figure} 和 \env{table}。习惯上 \env{figure} 里放图片,\env{table} 里放表格,
但并没有严格限制,可以在任何一个浮动体里放置文字、公式、表格、图片等等任意内容。
以 \env{table} 环境的用法举例,\env{figure} 同理:
@@ -977,7 +983,7 @@ A \rule[-.4pt]{3em}{.4pt} line.
\env{table} 和 \env{figure} 浮动体的默认设置为 \texttt{tbp}。
\begin{table}[htp]
\centering
-\caption{浮动体的位置参数。}\label{tbl:float-placement}
+\caption{浮动体的位置参数}\label{tbl:float-placement}
\begin{tabular}{*{2}{l}}
\hline
\textbf{参数} & \textbf{含义} \\
@@ -990,7 +996,7 @@ A \rule[-.4pt]{3em}{.4pt} line.
\hline
\end{tabular}
\begin{quote}\footnotesize
-注 1:排版位置的选取与参数里符号的顺序无关,\LaTeX\ 总是以 \texttt{h-t-b-p} 的优先级顺序决定浮动体位置。
+注 1:排版位置的选取与参数里符号的顺序无关,\LaTeX{} 总是以 \texttt{h-t-b-p} 的优先级顺序决定浮动体位置。
也就是说 \texttt{[!htp]} 和 \texttt{[ph!t]} 没有区别。\par
注 2:限制包括浮动体个数(除单独成页外,默认每页不超过 3 个浮动体,其中顶部不超过 2 个,底部不超过 1 个)
以及浮动体空间占页面的百分比(默认顶部不超过 70\%,底部不超过 30\%)。
@@ -998,7 +1004,7 @@ A \rule[-.4pt]{3em}{.4pt} line.
\end{table}
\envindex{table*,figure*}
-双栏排版环境下,\LaTeX\ 提供了 \env{table*} 和 \env{figure*} 环境用来排版跨栏的浮动体。
+双栏排版环境下,\LaTeX{} 提供了 \env{table*} 和 \env{figure*} 环境用来排版跨栏的浮动体。
它们的用法与 \env{table} 和 \env{figure} 一样,不同之处为双栏的 \Arg{placement} 参数只能用 \texttt{tp} 两个位置。
\cmdindex{clearpage}
@@ -1040,14 +1046,14 @@ A \rule[-.4pt]{3em}{.4pt} line.
\subsection{并排和子图表}\label{subsec:subfig}
我们时常有在一个浮动体里面放置多张图的用法。最简单的用法就是直接并排放置,
-也可以通过分段或者换行命令 \crcmd\ 排版多行多列的图片。以下为示意代码,效果大致如图 \ref{fig:parallel-fig} 所示。
+也可以通过分段或者换行命令 \crcmd{} 排版多行多列的图片。以下为示意代码,效果大致如图 \ref{fig:parallel-fig} 所示。
\begin{verbatim}
\begin{figure}[htbp]
\centering
\includegraphics[width=...]{...}
\qquad
\includegraphics[width=...]{...} \\[..pt]
- \includegraphics[width=...]{...}
+ \includegraphics[width=...]{...}
\caption{...}
\end{figure}
\end{verbatim}
@@ -1077,7 +1083,7 @@ A \rule[-.4pt]{3em}{.4pt} line.
\centering
\includegraphics[width=...]{...}
\caption{...}
- \end{minipage}
+ \end{minipage}
\end{figure}
\end{verbatim}
@@ -1136,4 +1142,4 @@ A \rule[-.4pt]{3em}{.4pt} line.
\caption{使用 \pkg{subfig} 宏包的 \cmd{subfloat} 命令排版子图。}\label{fig:subfig}
\end{figure}
-\endinput \ No newline at end of file
+\endinput
diff --git a/info/lshort/chinese/src/chap.04.math.tex b/info/lshort/chinese/src/chap/chap.04.math.tex
index 2c0f6fcf35..75212c440a 100644
--- a/info/lshort/chinese/src/chap.04.math.tex
+++ b/info/lshort/chinese/src/chap/chap.04.math.tex
@@ -2,20 +2,23 @@
\addtocontents{los}{\protect\addvspace{10pt}}
\begin{intro}
-准备好了!本章将见识到 \LaTeX\ 闻名的强项——排版数学公式。当然你得注意了,本章的内容只是一点皮毛,
+准备好了!本章将见识到 \LaTeX{} 闻名的强项——排版数学公式。当然你得注意了,本章的内容只是一点皮毛,
虽然对大多数人来说已经够用了,但是如果不能解决你的问题的话也不要大惊小怪,求助于搜索引擎或者有经验的人不失为一个好办法。
\end{intro}
\DeclareRobustCommand*\amscmd[1]{\textcolor{blue}{\cmd{#1}}}
\DeclareRobustCommand*\amsenv[1]{\textcolor{blue}{\env{#1}}}
-\section{\AmS\ 宏集}\label{sec:ams-bundle}
+\section{\hologo{AmS} 宏集}\label{sec:ams-bundle}
\pkgindex{amsmath,amsfonts,amssymb,amsthm}
-在介绍数学公式排版之前,简单介绍一下 \AmS\ 宏集。\AmS\ 宏集合是美国数学学会(American Mathematical Society)提供的对
-\LaTeX\ 原生的数学公式排版的扩展,其核心是 \pkg{amsmath} 宏包,对多行公式的排版提供了有力的支持。
-此外,\pkg{amsfonts} 宏包以及基于它的 \pkg{amssymb} 宏包提供了丰富的数学符号;\pkg{amsthm} 宏包扩展了 \LaTeX\ 定理证明格式。
+在介绍数学公式排版之前,简单介绍一下 \hologo{AmS} 宏集。\hologo{AmS} 宏集合是美国数学学会(American Mathematical Society)提供的对
+\LaTeX{} 原生的数学公式排版的扩展,其核心是 \pkg{amsmath} 宏包,对多行公式的排版提供了有力的支持。
+此外,\pkg{amsfonts} 宏包以及基于它的 \pkg{amssymb} 宏包提供了丰富的数学符号;\pkg{amsthm} 宏包扩展了 \LaTeX{} 定理证明格式。
-本章介绍的许多命令和环境依赖于 \pkg{amsmath} 宏包。这些命令和环境将以\textcolor{blue}{蓝色}示意。
+本章介绍的许多命令和环境依赖于 \pkg{amsmath} 宏包,这些命令和环境将以\textcolor{blue}{蓝色}示意。以下示例都假定了导言区中写有
+\begin{verbatim}
+\usepackage{amsmath}
+\end{verbatim}
\section{公式排版基础}\label{sec:math-basics}
@@ -34,7 +37,7 @@ $a^2 + b^2 = c^2$.
\envindex{equation}
\cmdindex{label,ref,nonumber}
\cmdindex[amsmath]{eqref,tag,notag}
-单独成行的\textbf{行间公式}在 \LaTeX\ 里由 \env{equation} 环境包裹。
+单独成行的\textbf{行间公式}在 \LaTeX{} 里由 \env{equation} 环境包裹。
\env{equation} 环境为公式自动生成一个编号,这个编号可以用 \cmd{label} 和 \cmd{ref} 生成交叉引用,
\pkg{amsmath} 的 \amscmd{eqref} 命令甚至为引用自动加上圆括号;还可以用 \amscmd{tag} 命令手动修改公式的编号,
或者用 \amscmd{notag} 命令取消为公式编号(与之基本等效的命令是 \cmd{nonumber})。
@@ -63,7 +66,7 @@ or
\envindex{displaymath}
\envindex[amsmath]{equation*}
如果需要直接使用不带编号的行间公式,则将公式用命令 \cmd{[} 和 \cmd{]} 包裹%
-\footnote{\TeX\ 原生排版行间公式的方法是用一对 \texttt{\$\$} 符号包裹,不过无法通过指定 \texttt{fleqn} 选项控制左对齐,
+\footnote{\TeX{} 原生排版行间公式的方法是用一对 \texttt{\$\$} 符号包裹,不过无法通过指定 \texttt{fleqn} 选项控制左对齐,
与上下文之间的间距也不好调整,故不太推荐使用。},
与之等效的是 \env{displaymath} 环境。有的人更喜欢 \amsenv{equation*} 环境,体现了带星号和不带星号的环境之间的区别。
@@ -102,12 +105,13 @@ In display:
\pinyinindex{shuxuemoshi}{数学模式}
\cmdindex[amsmath]{text}
-当你使用 \texttt\$ 开启行内公式输入,或是使用 \cmd{[} 命令、\env{equation} 环境时,\LaTeX\ 就进入了\textbf{数学模式}。
+当用户使用 \texttt\$ 开启行内公式输入,或是使用 \cmd{[} 命令、\env{equation} 环境时,\LaTeX{} 就进入了\textbf{数学模式}。
数学模式相比于文本模式有以下特点:
\begin{enumerate}
\item 数学模式中输入的空格被忽略。数学符号的间距默认由符号的性质(关系符号、运算符等)决定。
需要人为引入间距时,使用 \cmd{quad} 和 \cmd{qquad} 等命令。详见 \ref{sec:math-space} 节。
- \item \textbf{不允许有空行(分段)}。行间公式中也无法用 \crcmd\ 命令手动换行。排版多行公式需要用到 \ref{sec:multi-eqns} 节介绍的各种环境。
+ \item \textbf{不允许有空行(分段)}。行间公式中也无法用 \crcmd{} 命令手动换行。排版多行公式需要用到
+ \ref{sec:multi-eqns} 节介绍的各种环境。
\item 所有的字母被当作数学公式中的变量处理,字母间距与文本模式不一致,也无法生成单词之间的空格。
如果想在数学公式中输入正体的文本,简单情况下可用 \ref{subsec:math-alpha} 小节中提供的 \cmd{mathrm} 命令。
或者用 \pkg{amsmath} 提供的 \amscmd{text} 命令%
@@ -125,7 +129,7 @@ x\in\mathbb{R}$
\def\msym#1{$\csname #1\endcsname$ (\cmd{#1})}
\pkgindex{amssymb}
-本节我们将接触到形形色色的数学符号,它们是 \LaTeX\ 卓越的数学公式排版能力的基础。\LaTeX\ 默认提供了常用的数学符号,
+本节我们将接触到形形色色的数学符号,它们是 \LaTeX{} 卓越的数学公式排版能力的基础。\LaTeX{} 默认提供了常用的数学符号,
\pkg{amssymb} 宏包提供了一些次常用的符号。大多数常用的数学符号都能在本章末尾的 \ref{sec:math-tables} 节列出的各个表格里查到。
更多符号可查阅参考文献\cite{symbols}。
@@ -151,8 +155,8 @@ $a_1 + a_2 + \cdots + a_n$
\index{^@\texttt\textasciicircum\ (\textit{数学上标})}
\index{_@\texttt\textunderscore\ (\textit{数学下标})}
-在 \LaTeX\ 中用 \texttt\textasciicircum 和 \texttt\textunderscore 标明上下标。注意上下标的内容(子公式)一般需要\textbf{用花括号包裹},
-否则上下标只对后面的一个符号起作用。
+在 \LaTeX{} 中用 \texttt\textasciicircum 和 \texttt\textunderscore 标明上下标。
+注意上下标的内容(子公式)一般需要\textbf{用花括号包裹},否则上下标只对后面的一个符号起作用。
\begin{example}
$p^3_{ij} \qquad
m_\mathrm{Knuth}\qquad
@@ -206,14 +210,14 @@ Pascal's rule is
\subsection{关系符}\label{subsec:math-rel}
\msymindex{ne,ge,le,approx,equiv,propto,sim}
-\LaTeX\ 常见的关系符号除了可以直接输入的 $=$,$>$,$<$,其它符号用命令输入,常用的有不等号 \msym{ne}、
+\LaTeX{} 常见的关系符号除了可以直接输入的 $=$,$>$,$<$,其它符号用命令输入,常用的有不等号 \msym{ne}、
大于等于号 \msym{ge} 和小于等于号 \msym{le}%
\footnote{倾斜的关系符号 \msym{leqslant} 和 \msym{geqslant} 由 \pkg{amssymb} 提供,见表 \ref{tbl:ams-rel}。}、
约等号 \msym{approx}、等价 \msym{equiv}、正比 \msym{propto}、相似 \msym{sim} 等等。
更多符号命令可参考表 \ref{tbl:math-rel} 以及表 \ref{tbl:ams-rel}。
\mathindex{stackrel}
-\LaTeX\ 还提供了自定义二元关系符的命令 \cmd{stackrel},用于将一个符号叠加在原有的二元关系符之上:
+\LaTeX{} 还提供了自定义二元关系符的命令 \cmd{stackrel},用于将一个符号叠加在原有的二元关系符之上:
\begin{example}
\[
f_n(x) \stackrel{*}{\approx} 1
@@ -223,7 +227,7 @@ f_n(x) \stackrel{*}{\approx} 1
\subsection{算符}\label{subsec:math-op}
\msymindex{times,div,cdot,pm,mp}
-\LaTeX\ 中的算符大多数是二元算符,除了直接用键盘可以输入的 $+$、$-$、$*$、$/$,其它符号用命令输入,
+\LaTeX{} 中的算符大多数是二元算符,除了直接用键盘可以输入的 $+$、$-$、$*$、$/$,其它符号用命令输入,
常用的有乘号 \msym{times}、 除号 \msym{div}、点乘 \msym{cdot}、加减号 \msym{pm} / \msym{mp} 等等。
更多符号命令可参考表 \ref{tbl:math-op} 以及表 \ref{tbl:ams-op}。
@@ -231,12 +235,12 @@ f_n(x) \stackrel{*}{\approx} 1
\msym{nabla} 和 \msym{partial} 也是常用的算符,虽然它们不属于二元算符。
\pinyinindex{shuxuehanshu}{数学函数}
-\LaTeX\ 将数学函数的名称作为一个算符排版,字体为直立字体。其中有一部分符号在上下位置可以书写一些内容作为条件,
+\LaTeX{} 将数学函数的名称作为一个算符排版,字体为直立字体。其中有一部分符号在上下位置可以书写一些内容作为条件,
类似于后文所叙述的巨算符。
\begin{table}[htp]
\centering
-\caption{\LaTeX\ 作为算符的函数名称一览。}\label{tbl:math-functions}
+\caption{\LaTeX{} 作为算符的函数名称一览}\label{tbl:math-functions}
\begin{tabular}{*{5}{p{5em}}}
\hline
\multicolumn{5}{c}{\textbf{不带上下限的算符}} \\
@@ -262,15 +266,15 @@ f_n(x) \stackrel{*}{\approx} 1
\]
\end{example}
-\mathindex{pmod,bmod}
-对于求模表达式,\LaTeX\ 提供了 \cmd{pmod} 和 \cmd{bmod} 命令,前者相当于一个二元运算符,后者作为同余表达式的后缀:
+\mathindex{bmod,pmod}
+对于求模表达式,\LaTeX{} 提供了 \cmd{bmod} 和 \cmd{pmod} 命令,前者相当于一个二元运算符,后者作为同余表达式的后缀:
\begin{example}
$a\bmod b \\
x\equiv a \pmod{b}$
\end{example}
\cmdindex[amsmath]{DeclareMathOperator}
-如果表 \ref{tbl:math-functions} 中的算符不够用的话,\pkg{amsmath} 允许用户用 \amscmd{Declare\-Math\-Operator}
+如果表 \ref{tbl:math-functions} 中的算符不够用的话,\pkg{amsmath} 允许用户用 \amscmd{Declare\-Math\-Operator}
定义自己的算符,其中带星号的命令定义带上下限的算符:
\begin{verbatim}
\DeclareMathOperator{\argh}{argh}
@@ -286,7 +290,7 @@ $a\bmod b \\
\msymindex{int,oint,sum,prod}
积分号 \msym{int}、求和号 \msym{sum} 等符号称为\textbf{巨算符}。巨算符在行内公式和行间公式的大小和形状有区别。
\begin{example}
-In text:
+In text:
$\sum_{i=1}^n \quad
\int_0^{\frac{\pi}{2}} \quad
\oint_0^{\frac{\pi}{2}} \quad
@@ -299,10 +303,10 @@ In display:
\end{example}
\mathindex{limits,nolimits}
-巨算符的上下标位置可由 \cmd{limits} 和 \cmd{nolimits} 控制,前者令巨算符类似 $\lim$ 或求和算符 $\sum$,上下标位于上下方;
+巨算符的上下标位置可由 \cmd{limits} 和 \cmd{nolimits} 调整,前者令巨算符类似 $\lim$ 或求和算符 $\sum$,上下标位于上下方;
后者令巨算符类似积分号,上下标位于右上方和右下方。
\begin{example}
-In text:
+In text:
$\sum\limits_{i=1}^n \quad
\int\limits_0^{\frac{\pi}{2}} \quad
\prod\limits_\epsilon $ \\
@@ -314,7 +318,7 @@ In display:
\cmdindex[amsmath]{substack}
\envindex[amsmath]{subarray}
-\pkg{amsmath} 宏包还提供了 \amscmd{substack},能够在下限位置书写多行表达式;\amsenv{subarray}
+\pkg{amsmath} 宏包还提供了 \amscmd{substack},能够在下限位置书写多行表达式;\amsenv{subarray}
环境更进一步,令多行表达式可选择居中 (c) 或左对齐 (l):
\begin{example}
\[
@@ -346,7 +350,7 @@ $\hat{\mathbf{e}_x} \quad
\waccindex{overline,underline}
\waccindex{widehat,overrightarrow}
-\LaTeX\ 也能为多个字符加重音,包括直接画线的 \cmd{overline} 和 \cmd{underline} 命令(可叠加使用)、宽重音符号 \cmd{widehat}、
+\LaTeX{} 也能为多个字符加重音,包括直接画线的 \cmd{overline} 和 \cmd{underline} 命令(可叠加使用)、宽重音符号 \cmd{widehat}、
表示向量的箭头 \cmd{overrightarrow} 等。后两者详见表 \ref{tbl:math-accents} 和 \ref{tbl:math-arrow-accents} 等。
\begin{example}
$0.\overline{3} =
@@ -379,7 +383,7 @@ _\text{meaning of life} = 42$
\subsection{括号和定界符}\label{subsec:math-delims}
-\LaTeX\ 提供了多种括号和定界符表示公式块的边界,如小括号 $()$、中括号 $[]$、
+\LaTeX{} 提供了多种括号和定界符表示公式块的边界,如小括号 $()$、中括号 $[]$、
大括号 $\{\}$(\cmd{\{} \cmd{\}})、尖括号 $\langle \rangle$ (\cmd{langle} \cmd{rangle})等。
更多的括号/定界符命令见表 表 \ref{tbl:math-delims} 和 \ref{tbl:math-large-delims}。
\begin{example}
@@ -388,7 +392,7 @@ ${a,b,c} \neq \{a,b,c\}$
\mathindex{left,right}
\mathindex{right}
-使用 \cmd{left} 和 \cmd{right} 命令可令括号(定界符)的大小可变,在行间公式中常用。\LaTeX\ 会自动根据括号内的公式大小决定定界符大小。
+使用 \cmd{left} 和 \cmd{right} 命令可令括号(定界符)的大小可变,在行间公式中常用。\LaTeX{} 会自动根据括号内的公式大小决定定界符大小。
\cmd{left} 和 \cmd{right} 必须成对使用。需要使用单个定界符时,另一个定界符写成 \cmd{left.} 或 \cmd{right.}。
\begin{example}
\[1 + \left(\frac{1}{1-x^{2}}
@@ -400,7 +404,7 @@ ${a,b,c} \neq \{a,b,c\}$
\mathindex{big,bigg,Big,Bigg}
\mathindex{bigl,biggl,Bigl,Biggl}
\mathindex{bigr,biggr,Bigr,Biggr}
-有时我们不满意于 \LaTeX\ 为我们自动调节的定界符大小。这时我们还可以用 \cmd{big}、\cmd{bigg} 等命令生成固定大小的定界符。
+有时我们不满意于 \LaTeX{} 为我们自动调节的定界符大小。这时我们还可以用 \cmd{big}、\cmd{bigg} 等命令生成固定大小的定界符。
更常用的形式是类似 \cmd{left} 的 \cmd{bigl}、\cmd{biggl} 等,以及类似 \cmd{right} 的 \cmd{bigr}、\cmd{biggr} 等
(\cmd{bigl} 和 \cmd{bigr} 不必成对出现)。
\begin{example}
@@ -425,7 +429,7 @@ $\bigl( \Bigl( \biggl( \Biggl( \quad
\envindex[amsmath]{multline}
\pkg{amsmath} 宏包的 \amsenv{multline} 环境提供了书写折行长公式的方便环境。
-它允许用 \crcmd\ 折行,将公式编号放在最后一行。
+它允许用 \crcmd{} 折行,将公式编号放在最后一行。
多行公式的首行左对齐,末行右对齐,其余行居中。
\begin{example}
\begin{multline}
@@ -447,7 +451,7 @@ a + b + c + d + e + f
\pinyinindex{duohanggongshi}{多行公式|(}
更多的情况是,我们需要罗列一系列公式,并令其按照等号对齐。
-读者可能阅读过其它手册或者资料,知道 \LaTeX\ 提供了 \env{eqnarray} 环境。它按照等号左边——等号——等号右边呈三列对齐,
+读者可能阅读过其它手册或者资料,知道 \LaTeX{} 提供了 \env{eqnarray} 环境。它按照等号左边——等号——等号右边呈三列对齐,
但等号周围的空隙过大,加上公式编号等一些 bug,目前已不推荐使用\footnote{\url{http://tug.org/pracjourn/2006-4/madsen/madsen.pdf}}。
\envindex[amsmath]{align}
@@ -462,7 +466,7 @@ a & = b + c \\
\cmdindex[amsmath]{notag}
\amsenv{align} 环境会给每行公式都编号。我们仍然可以用 \amscmd{notag} 去掉某行的编号。
-在以下的例子,为了对齐加号,我们将分隔符放在等号右边,这时需要给等号后添加一对括号 \texttt\{\texttt\} 以产生正常的间距:
+在以下的例子,为了对齐等号,我们将分隔符放在右侧,并且此时需要在等号后添加一对括号 \texttt\{\texttt\} 以产生正常的间距:
\begin{example}
\begin{align}
a ={} & b + c \\
@@ -477,7 +481,7 @@ a ={} & b + c \\
\begin{example}
\begin{align}
a &=1 & b &=2 & c &=3 \\
-d &=-1 & e &=-2 & f &=-5
+d &=-1 & e &=-2 & f &=-5
\end{align}
\end{example}
@@ -513,8 +517,8 @@ l + m &= n
\end{example}
\envindex[amsmath]{split}
-\amsenv{split} 环境和 \amsenv{aligned} 环境用法类似,也用于和 \env{equation} 环境套用,区别是 \amsenv{split} 只能将每行的一个公式分两栏,
-\amsenv{aligned} 允许每行多个公式多栏。
+\amsenv{split} 环境和 \amsenv{aligned} 环境用法类似,也用于和 \env{equation} 环境套用,
+区别是 \amsenv{split} 只能将每行的一个公式分两栏,\amsenv{aligned} 允许每行多个公式多栏。
\pinyinindex{duohanggongshi}{多行公式|)}
@@ -522,7 +526,7 @@ l + m &= n
\envindex{array}
\index{&@\texttt\& (\textit{单元格/对齐})}
-为了排版二维数组,\LaTeX\ 提供了 \env{array} 环境,用法与 \env{tabular} 环境极为类似,也需要定义列格式,并用 \crcmd\ 换行。
+为了排版二维数组,\LaTeX{} 提供了 \env{array} 环境,用法与 \env{tabular} 环境极为类似,也需要定义列格式,并用 \crcmd{} 换行。
数组可作为一个公式块,在外套用 \cmd{left}、\cmd{right} 等定界符:
\begin{example}
\[ \mathbf{X} = \left(
@@ -651,11 +655,11 @@ f(x)g(y) \diff x \diff y \\
\mathindex{mathrm,mathsf,mathtt,mathit,mathbf,mathcal,mathnormal}
\cmdindex[amssymb]{mathbb,mathfrak}
\cmdindex[mathrsfs]{mathscr}
-\LaTeX\ 允许一部分数学符号切换字体,主要是拉丁字母、数字等等。
+\LaTeX{} 允许一部分数学符号切换字体,主要是拉丁字母、数字、大写希腊字母以及重音符号等。
表 \ref{tbl:math-fonts} 给出了切换字体的命令。某一些命令需要字体宏包的支持。
\begin{example}
-$\mathcal{R} \quad \mathfrak{R}
-\quad \mathbb{R}$
+$\mathcal{R} \quad \mathfrak{R}
+\quad \mathbb{R}$
\[\mathcal{L}
= -\frac{1}{4}F_{\mu\nu}F^{\mu\nu}\]
$\mathfrak{su}(2)$ and
@@ -664,7 +668,7 @@ $\mathfrak{so}(3)$ Lie algebra
\begin{table}[htp]
\centering
-\caption{数学字母字体。} \label{tbl:math-fonts}
+\caption{数学字母字体} \label{tbl:math-fonts}
\begin{tabular}{*{3}{l}}
\hline
\textbf{示例} & \textbf{命令} & \textbf{依赖的宏包}\\
@@ -675,24 +679,27 @@ $\mathit{ABCDE abcde 1234}$ & \cmd{mathit}\marg*{\ldots} & \\
$\mathbf{ABCDE abcde 1234}$ & \cmd{mathbf}\marg*{\ldots} & \\
$\mathsf{ABCDE abcde 1234}$ & \cmd{mathsf}\marg*{\ldots} & \\
$\mathtt{ABCDE abcde 1234}$ & \cmd{mathtt}\marg*{\ldots} & \\
-$\CMcal{ABCDE}$ & \cmd{mathcal}\marg*{\ldots} & 只大写字母 \\
+$\CMcal{ABCDE}$ & \cmd{mathcal}\marg*{\ldots} & 仅提供大写字母 \\
\hline
-$\EuScript{ABCDE}$ & \cmd{mathcal}\marg*{\ldots} & \pkg{eucal},只大写字母 \\
-$\mathscr{ABCDE}$ & \cmd{mathscr}\marg*{\ldots} & \pkg{mathrsfs},只大写字母\\
+$\EuScript{ABCDE}$ & \cmd{mathcal}\marg*{\ldots} & \pkg{eucal} 仅提供大写字母 \\
+$\mathscr{ABCDE}$ & \cmd{mathscr}\marg*{\ldots} & \pkg{mathrsfs} 仅提供大写字母\\
$\mathfrak{ABCDE abcde 1234}$ & \cmd{mathfrak}\marg*{\ldots} & \pkg{amssymb} 或 \pkg{eufrak} \\
-$\mathbb{ABCDE}$ & \cmd{mathbb}\marg*{\ldots} & \pkg{amssymb},只大写字母 \\
+$\mathbb{ABCDE}$ & \cmd{mathbb}\marg*{\ldots} & \pkg{amssymb} 仅提供大写字母 \\
\hline
\end{tabular}
\end{table}
+\pkgindex{unicode-math}
+如果需要为所有的数学符号切换字体,则需要直接调用数学字体宏包(见 \ref{subsec:font-pkgs} 小节)。在 \texttt{xelatex} 或者 \texttt{lualatex} 编译命令下,还可以使用基于 \pkg{fontspec} 宏包的 \pkg{unicode-math} 宏包配置 Unicode 数学字体,详见 \ref{subsec:unicode-math} 小节。
+
\subsection{数学符号的尺寸}\label{subsec:math-styles}
\mathindex{displaystyle,textstyle,scriptstyle,scriptscriptstyle}
数学符号按照符号排版的位置规定尺寸,从大到小包括行间公式尺寸、行内公式尺寸、上下标尺寸、次级上下标尺寸。
-除了字号有别之外,行间和行内公式尺寸下的巨算符也使用不一样的大小。\LaTeX\ 为每个数学尺寸指定了一个切换的命令,见 \ref{tbl:math-size}。
+除了字号有别之外,行间和行内公式尺寸下的巨算符也使用不一样的大小。\LaTeX{} 为每个数学尺寸指定了一个切换的命令,见 \ref{tbl:math-size}。
\begin{table}[htp]
\centering
-\caption{数学符号尺寸。}\label{tbl:math-size}
+\caption{数学符号尺寸}\label{tbl:math-size}
\begin{tabular}{lll}
\hline
\textbf{命令} & \textbf{尺寸} & \textbf{示例} \\
@@ -705,11 +712,11 @@ $\mathbb{ABCDE}$ & \cmd{mathbb}\marg*{\ldots} & \pkg{amssymb}
\end{tabular}
\end{table}
-例如行间公式的分式内,分子分母使用行内公式尺寸,巨算符采用行内尺寸的形式。对比一下分子分母使用 \cmd{display\-style} 命令与否的区别:
+我们通过以下示例对比行间公式和行内公式的区别。在分式中,分子分母默认为行内公式尺寸,示例中将分母切换到行间公式尺寸:
\begin{example}
\[
-P = \frac
- {\sum_{i=1}^n (x_i- x)(y_i- y)}
+r = \frac
+ {\sum_{i=1}^n (x_i- x)(y_i- y)}
{\displaystyle \left[
\sum_{i=1}^n (x_i-x)^2
\sum_{i=1}^n (y_i-y)^2
@@ -719,11 +726,11 @@ P = \frac
\subsection{加粗的数学符号}\label{subsec:math-bold}
-在 \LaTeX\ 中为符号切换数学字体并不十分自由,只能通过 \cmd{mathbf} 等有限的命令切换字体。比如想得到粗斜体的符号,就没有现成的命令%
-\footnote{国内使用粗斜体符号表示矢量,见 GB3102-11.93。};再比如 \cmd{mathbf} 只能改变拉丁字母,希腊字母就没有用。
+在 \LaTeX{} 中为符号切换数学字体并不十分自由,只能通过 \cmd{mathbf} 等有限的命令切换字体。比如想得到粗斜体的符号,就没有现成的命令%
+\footnote{国内使用粗斜体符号表示矢量,见 GB 3102.11--93。};再比如 \cmd{mathbf} 只能改变拉丁字母和大写希腊字母,小写希腊字母就没有用。
\cmdindex{boldmath}
-\LaTeX\ 提供了一个命令 \cmd{boldmath} 令用户可以将整套数学字体切换为粗体版本。但这个命令\textbf{只能在公式外使用}:
+\LaTeX{} 提供了一个命令 \cmd{boldmath} 令用户可以将整套数学字体切换为粗体版本(前提是数学字体宏包本身支持粗体符号)。但这个命令\textbf{只能在公式外使用}:
\begin{example}
$\mu, M \qquad
\mathbf{\mu}, \mathbf{M}$
@@ -740,23 +747,23 @@ $\mu, M \qquad
\pkgindex{bm}
\cmdindex[bm]{bm}
-然而定界符、巨算符等一些符号本身没有粗体版本,\amscmd{boldsymbol} 也得不到粗体。
-\LaTeX\ 工具宏集之一的 \pkg{bm} 宏包可以用 \cmd{bm} 命令生成“伪粗体”,一定程度上解决了不带粗体版本的符号的问题。这里不做过多介绍,
+然而在许多数学字体宏包中,定界符、巨算符等一些符号本身没有粗体版本,\amscmd{boldsymbol} 也得不到粗体。
+\LaTeX{} 工具宏集之一的 \pkg{bm} 宏包可以用 \cmd{bm} 命令生成“伪粗体”,作为粗体符号的一个解决方案。这里不做过多介绍,
详情请参考 \pkg{bm} 宏包的帮助文档。
\section{定理环境}\label{sec:theorems}
-\subsection{\LaTeX\ 原始的定理环境}\label{subsec:latex-theorems}
+\subsection{\LaTeX{} 原始的定理环境}\label{subsec:latex-theorems}
\cmdindex{newtheorem}
-使用 \LaTeX\ 排版数学和其他科技文档时,会接触到大量的定理、证明等内容。
-\LaTeX\ 提供了一个基本的命令 \cmd{newtheorem} 提供定理环境的定义:
+使用 \LaTeX{} 排版数学和其他科技文档时,会接触到大量的定理、证明等内容。
+\LaTeX{} 提供了一个基本的命令 \cmd{newtheorem} 提供定理环境的定义:
\begin{command}
\cmd{newtheorem}\marg{theorem environment}\marg{title}\oarg{section-level} \\
\cmd{newtheorem}\marg{theorem environment}\oarg{counter}\marg{title}
\end{command}
-\Arg{theorem environment} 为定理环境的名称。原始的\LaTeX\ 里\textbf{没有现成的定理环境},
+\Arg{theorem environment} 为定理环境的名称。原始的\LaTeX{} 里\textbf{没有现成的定理环境},
不加定义而直接使用很可能会出错。\Arg{title} 是定理环境的标题(“定理”,“公理”等)。
定理的序号由两个可选参数之一决定,它们\textbf{不能同时使用}:
@@ -775,24 +782,24 @@ The light speed in vacuum
is $299,792,458\,\mathrm{m/s}$.
\end{mythm}
\begin{mythm}[Energy-momentum relation]
-The relationship of energy,
-momentum and mass is
+The relationship of energy,
+momentum and mass is
\[E^2 = m_0^2 c^4 + p^2 c^2\]
-where $c$ is the light speed
+where $c$ is the light speed
described in theorem \ref{thm:light}.
\end{mythm}
\end{example}
\subsection{\pkg{amsthm} 宏包}\label{subsec:amsthm}
-\LaTeX\ 默认的定理环境格式为粗体标签、斜体正文、定理名用小括号包裹。如果需要修改格式,
+\LaTeX{} 默认的定理环境格式为粗体标签、斜体正文、定理名用小括号包裹。如果需要修改格式,
则要依赖其它的宏包,如 \pkg{amsthm}、\pkg{ntheorem} 等等。本小节简单介绍一下 \pkg{amsthm} 的用法。
\pkgindex{amsthm}
\cmdindex[amsthm]{theoremstyle}
\pkg{amsthm} 提供了 \cmd{theo\-rem\-style} 命令支持定理格式的切换,
在用 \cmd{new\-theo\-rem} 命令定义定理环境之前使用。
-\pkg{amsthm} 预定义了三种格式用于 \cmd{theo\-rem\-style}:\texttt{plain} 和 \LaTeX\ 原始的格式一致;
+\pkg{amsthm} 预定义了三种格式用于 \cmd{theo\-rem\-style}:\texttt{plain} 和 \LaTeX{} 原始的格式一致;
\texttt{defi\-ni\-tion} 使用粗体标签、正体内容;\texttt{remark} 使用斜体标签、正体内容。
另外 \pkg{amsthm} 还支持用带星号的 \cmd{new\-theo\-rem*} 定义不带序号的定理环境:
@@ -827,7 +834,7 @@ statement.\end{jury}
\envindex[amsthm]{proof}
\pkg{amsthm} 还提供了一个 \env{proof} 环境用于排版定理的证明过程。\env{proof} 环境末尾
-自动加上一个 \qedsymbol\ 证毕符号:
+自动加上一个 \qedsymbol{} 证毕符号:
\begin{example}
\begin{proof}
For simplicity, we use
@@ -839,8 +846,8 @@ That's it.
\end{example}
\cmdindex[amsthm]{qedhere}
-如果行末是一个不带编号的公式,\qedsymbol\ 符号会另起一行,
-这时可使用 \cmd{qedhere} 命令将 \qedsymbol\ 符号放在公式末尾:
+如果行末是一个不带编号的公式,\qedsymbol{} 符号会另起一行,
+这时可使用 \cmd{qedhere} 命令将 \qedsymbol{} 符号放在公式末尾:
\begin{example}
\begin{proof}
For simplicity, we use
@@ -850,10 +857,10 @@ E=mc^2 \qedhere
\end{proof}
\end{example}
-\cmd{qedhere} 对于 \amsenv{align*} 等命令也有效:
+\cmd{qedhere} 对于 \amsenv{align*} 等环境也有效:
\begin{example}
\begin{proof}
-Assuming $\gamma
+Assuming $\gamma
= 1/\sqrt{1-v^2/c^2}$, then
\begin{align*}
E &= \gamma m_0 c^2 \\
@@ -863,7 +870,7 @@ p &= \gamma m_0v \qedhere
\end{example}
在使用带编号的公式时,建议最好\textbf{不要在公式末尾使用} \cmd{qedhere} 命令。
-对带编号的公式使用 \cmd{qedhere} 命令会使 \qedsymbol\ 符号放在一个难看的位置,紧贴着公式:
+对带编号的公式使用 \cmd{qedhere} 命令会使 \qedsymbol{} 符号放在一个难看的位置,紧贴着公式:
\begin{example}
\begin{proof}
For simplicity, we use
@@ -873,10 +880,10 @@ E=mc^2.\qedhere
\end{proof}
\end{example}
-在 \amsenv{align} 等环境中使用 \cmd{qedhere} 命令会使 \qedsymbol\ 盖掉公式的编号;使用 \env{equation} 嵌套 \amsenv{aligned} 等环境时,
-\cmd{qedhere} 命令会将 \qedsymbol\ 直接放在公式后。这些位置都不太正常。
+在 \amsenv{align} 等环境中使用 \cmd{qedhere} 命令会使 \qedsymbol{} 盖掉公式的编号;使用 \env{equation} 嵌套
+\amsenv{aligned} 等环境时,\cmd{qedhere} 命令会将 \qedsymbol{} 直接放在公式后。这些位置都不太正常。
-证毕符号 \qedsymbol\ 本身被定义在命令 \cmd{qedsymbol} 中,如果有使用实心符号作为证毕符号的需求,需要自行用 \cmd{re\-new\-comm\-and}
+证毕符号 \qedsymbol{} 本身被定义在命令 \cmd{qedsymbol} 中,如果有使用实心符号作为证毕符号的需求,需要自行用 \cmd{re\-new\-comm\-and}
命令修改(用法见 \ref{subsec:newcmd} 小节)\footnote{注意,这个改法\textbf{只对 \pkg{amsthm} 宏包适用}。
其它宏包如 \pkg{ntheorem} 等须参考帮助文档里提供的修改方法。}。
我们可以利用在 \ref{subsec:rules} 小节介绍的标尺盒子来生成一个适当大小的“实心矩形”:
@@ -891,4 +898,4 @@ E=mc^2 \qedhere
\end{proof}
\end{example}
-\endinput \ No newline at end of file
+\endinput
diff --git a/info/lshort/chinese/src/chap.05.style.tex b/info/lshort/chinese/src/chap/chap.05.style.tex
index 20a39c10e3..460dd7c81c 100644
--- a/info/lshort/chinese/src/chap.05.style.tex
+++ b/info/lshort/chinese/src/chap/chap.05.style.tex
@@ -3,13 +3,13 @@
\begin{intro}
至此你已经基本学会排版内容丰富的文档,标题、目录、章节、公式、列表、图片、表格等等应有尽有。但是你可能已经有点不甘心了,
-因为似乎你排版出来的文档是千篇一律的模样——\LaTeX\ 默认的字体、单调的页眉页脚、不太令你满意的页边距,等等。
-本章的内容将带你一览如何修改 \LaTeX\ 的排版样式。
+因为似乎你排版出来的文档是千篇一律的模样——\LaTeX{} 默认的字体、单调的页眉页脚、不太令你满意的页边距,等等。
+本章的内容将带你一览如何修改 \LaTeX{} 的排版样式。
\end{intro}
\section{字体和字号}\label{sec:font}
-\LaTeX\ 根据文档的逻辑结构(章节、脚注等)来选择默认的字体样式以及字号。
+\LaTeX{} 根据文档的逻辑结构(章节、脚注等)来选择默认的字体样式以及字号。
需要更改字体样式或字号的话,可以使用表 \ref{tbl:fonts} 和表 \ref{tbl:sizes} 中列出的命令。
\begin{example}
{\small The small and
@@ -18,35 +18,35 @@
{\itshape Italy}.}
\end{example}
-\LaTeXe\ 相比于较早的 \LaTeX\ 版本(2.09版或更早)在字体样式和字号的设定上有很大改进,令字体的各种属性相互独立(“正交”),
+\LaTeXe{} 相比于较早的 \LaTeX{} 版本(2.09版或更早)在字体样式和字号的设定上有很大改进,令字体的各种属性相互独立(“正交”),
用户可以改变字体的大小,而仍然保留字体原有的粗体或者斜体的特性。
\subsection{字体样式}\label{subsec:fontshape}
\pinyinindex{ziti}{字体}
\pinyinindex{fenzu}{分组}
-\LaTeX\ 提供了两组修改字体的命令,见表 \ref{tbl:fonts}。其中诸如 \cmd{bfseries} 形式的命令将会影响之后所有的字符,
+\LaTeX{} 提供了两组修改字体的命令,见表 \ref{tbl:fonts}。其中诸如 \cmd{bfseries} 形式的命令将会影响之后所有的字符,
如果想要让它在局部生效,需要用花括号\textbf{分组},也就是写成 \marg*{\cmd{bfseries}\ \Arg{some text}} 这样的形式;
对应的 \cmd{textbf} 形式带一个参数,只改变参数内部的字体,更为常用。
-在公式中,直接使用 \cmd{textbf} 等命令不会起效,甚至报错。\LaTeX\ 已有修改数学字体的命令,详见 \ref{subsec:math-alpha} 小节。
+在公式中,直接使用 \cmd{textbf} 等命令不会起效,甚至报错。\LaTeX{} 提供了修改数学字母样式的命令,如 \cmd{mathbf} 等,详见 \ref{subsec:math-alpha} 小节。
\begin{table}[htp]
-\caption{字体命令。} \label{tbl:fonts}
+\caption{字体命令} \label{tbl:fonts}
\centering
\begin{tabular}{*{4}{l}}
\hline
-\cmd{rmfamily}\cmdindex{rmfamily} & \cmd{textrm}\cmdindex{textrm}\marg*{\ldots} & \textrm{roman} & 衬线字体(罗马体)\\
-\cmd{sffamily}\cmdindex{sffamily} & \cmd{textsf}\cmdindex{textsf}\marg*{\ldots} & \textsf{sans serif} & 无衬线字体 \\
-\cmd{ttfamily}\cmdindex{ttfamily} & \cmd{texttt}\cmdindex{texttt}\marg*{\ldots} & \texttt{typewriter} & 等宽字体 \\[\medskipamount]
-\cmd{mdseries}\cmdindex{mdseries} & \cmd{textmd}\cmdindex{textmd}\marg*{\ldots} & \textrm{medium} & 正常粗细(中等) \\
-\cmd{bfseries}\cmdindex{bfseries} & \cmd{textbf}\cmdindex{textbf}\marg*{\ldots} & \textbf{bold face} & 粗体 \\[\medskipamount]
-\cmd{upshape}\cmdindex{upshape} & \cmd{textup}\cmdindex{textup}\marg*{\ldots} & \textup{upright} & 直立体 \\
-\cmd{itshape}\cmdindex{itshape} & \cmd{textit}\cmdindex{textit}\marg*{\ldots} & \textit{italic} & 意大利斜体 \\
-\cmd{slshape}\cmdindex{slshape} & \cmd{textsl}\cmdindex{textsl}\marg*{\ldots} & \textsl{slanted} & 倾斜体 \\
-\cmd{scshape}\cmdindex{scshape} & \cmd{textsc}\cmdindex{textsc}\marg*{\ldots} & \textsc{Small Caps} & 小字母大写 \\[\medskipamount]
-\cmd{em}\cmdindex{em} & \cmd{emph}\cmdindex{emph}\marg*{\ldots} & \emph{emphasized} & 强调,默认斜体 \\
-\cmd{normalfont}\cmdindex{normalfont} & \cmd{textnormal}\cmdindex{textnormal}\marg*{\ldots} & \textnormal{normal font} & 默认字体 \\
+\cmd{rmfamily}\cmdindex{rmfamily} & \cmd{textrm}\cmdindex{textrm}\marg*{\ldots} & \textrm{roman} & 衬线字体(罗马体)\\
+\cmd{sffamily}\cmdindex{sffamily} & \cmd{textsf}\cmdindex{textsf}\marg*{\ldots} & \textsf{sans serif} & 无衬线字体 \\
+\cmd{ttfamily}\cmdindex{ttfamily} & \cmd{texttt}\cmdindex{texttt}\marg*{\ldots} & \texttt{typewriter} & 等宽字体 \\[\medskipamount]
+\cmd{mdseries}\cmdindex{mdseries} & \cmd{textmd}\cmdindex{textmd}\marg*{\ldots} & \textrm{medium} & 正常粗细(中等) \\
+\cmd{bfseries}\cmdindex{bfseries} & \cmd{textbf}\cmdindex{textbf}\marg*{\ldots} & \textbf{bold face} & 粗体 \\[\medskipamount]
+\cmd{upshape}\cmdindex{upshape} & \cmd{textup}\cmdindex{textup}\marg*{\ldots} & \textup{upright} & 直立体 \\
+\cmd{itshape}\cmdindex{itshape} & \cmd{textit}\cmdindex{textit}\marg*{\ldots} & \textit{italic} & 意大利斜体 \\
+\cmd{slshape}\cmdindex{slshape} & \cmd{textsl}\cmdindex{textsl}\marg*{\ldots} & \textsl{slanted} & 倾斜体 \\
+\cmd{scshape}\cmdindex{scshape} & \cmd{textsc}\cmdindex{textsc}\marg*{\ldots} & \textsc{Small Caps} & 小型大写字母 \\[\medskipamount]
+\cmd{em}\cmdindex{em} & \cmd{emph}\cmdindex{emph}\marg*{\ldots} & \emph{emphasized} & 强调,默认斜体 \\
+\cmd{normalfont}\cmdindex{normalfont} & \cmd{textnormal}\cmdindex{textnormal}\marg*{\ldots} & \textnormal{normal font} & 默认字体 \\
\hline
\end{tabular}
\end{table}
@@ -58,7 +58,7 @@
\begin{table}[htp]
\centering
-\caption{字号。} \label{tbl:sizes}
+\caption{字号} \label{tbl:sizes}
\begin{tabular}{ll}
\hline
\cmd{tiny}\cmdindex{tiny} & \tiny tiny font \\
@@ -81,7 +81,7 @@
\begin{table}[htp]
\centering
-\caption{标准文档类中的字号大小。}\label{tbl:ptsizes}
+\caption{标准文档类中的字号大小}\label{tbl:ptsizes}
\begin{tabular}{*{4}{l}}
\hline
\textbf{字号} & \textbf{10pt 选项(默认)} & \textbf{11pt 选项} & \textbf{12pt 选项} \\
@@ -107,7 +107,7 @@ He likes {\LARGE large and
\end{example}
\cmdindex{fontsize}
-\LaTeX\ 还提供了一个基础的命令 \cmd{fontsize} 用于设定任意大小的字号:
+\LaTeX{} 还提供了一个基础的命令 \cmd{fontsize} 用于设定任意大小的字号:
\begin{command}
\cmd{fontsize}\marg{size}\marg{base line-skip}
\end{command}
@@ -121,8 +121,8 @@ He likes {\LARGE large and
\subsection{选用字体宏包}\label{subsec:font-pkgs}
至此已经介绍了如何改变字体样式如粗体、斜体等等,以及如何改变字号,
-但你依然用着 \LaTeX\ 默认的那套、由高德纳设计制作的 Computer Modern 字体。
-有的人可能很喜欢 Times、Palatino,或者更好看的字体。这些字体样式的自由设置在 \LaTeX\ 里还不太容易。
+但你依然用着 \LaTeX{} 默认的那套、由高德纳设计制作的 Computer Modern 字体。
+有的人可能很喜欢 Times / Palatino,或者更好看的字体。这些字体样式的自由设置在 \LaTeX{} 里还不太容易。
幸好大部分时候,许多字体宏包为我们完成了整套配置,我们可以在调用宏包之后,照常使用 \cmd{bfseries} 或 \cmd{ttfamily} 等我们熟悉的命令。
表 \ref{tbl:font-pkgs} 列出了较为常用的字体宏包,其中相当多的宏包还配置了数学字体,或者文本、数学字体兼而有之。
@@ -130,10 +130,10 @@ He likes {\LARGE large and
\subsection{字体编码}\label{subsec:font-encs}
-字体编码对于 \LaTeX\ 用户来讲是一个比较晦涩的概念。它规定了一个字体里包含的符号,并将若干符号用 \LaTeX\ 命令定义。
-注意字体编码并不与我们在 \ref{subsec:ascii} 等小节叙述的 ASCII 编码等一一对应。
+字体编码对于 \LaTeX{} 用户来讲是一个比较晦涩的概念。它规定了一个字体里包含的符号,并将若干符号用 \LaTeX{} 命令定义。
+注意字体编码与我们在 \ref{subsec:ascii} 等小节叙述的 ASCII 编码等并非一一对应。
-常见的正文字体编码有 \texttt{OT1} 和 \texttt{T1} 等。\LaTeX\ 默认使用兼容 plain \TeX\ 的 \texttt{OT1} 编码,使用起来有诸多限制:
+常见的正文字体编码有 \texttt{OT1} 和 \texttt{T1} 等。\LaTeX{} 默认使用兼容 \hologo{plainTeX} 的 \texttt{OT1} 编码,使用起来有诸多限制:
高德纳在设计 Computer Modern 字体时认为一些符号,如大于号、小于号等,原则上都应该在公式里出现,所以在正文字体里这些符号所在的位置被其它符号所占据
(\texttt{OT1} 字体编码、\cmd{rmfamily} 和 \cmd{sffamly} 字体族下, \texttt< 和 \texttt> 排版\ !` 和\ ?` 两个倒立的标点符号,
正常的大于号和小于号可用命令 \cmd{textgreater} 和 \cmd{textless} 输入;\cmd{ttfamily} 字体族下是正常的大于号和小于号)。
@@ -145,13 +145,13 @@ He likes {\LARGE large and
\cmd{usepackage}\oarg*{T1}\marg*{fontenc}
\end{command}
-\pkg{fontenc} 宏包是用来配合传统的 \LaTeX\ 字体的,如表 \ref{tbl:font-pkgs} 中的一些传统字体宏包。如果使用 \texttt{xelatex} 编译方式,
+\pkg{fontenc} 宏包是用来配合传统的 \LaTeX{} 字体的,如表 \ref{tbl:font-pkgs} 中的一些传统字体宏包。如果使用 \texttt{xelatex} 编译方式,
并使用 \pkg{fontspec} 宏包调用 \texttt{ttf} 或 \texttt{otf} 格式字体,就不要再使用 \pkg{fontenc} 宏包。
使用表 \ref{tbl:font-pkgs} 中的字体宏包之前最好查看一下宏包的帮助文档,了解使用方法和注意事项。
\begin{table}[!p]
\centering\small
-\caption{常见的 \LaTeX\ 字体宏包。}\label{tbl:font-pkgs}
+\caption{常见的 \LaTeX{} 字体宏包}\label{tbl:font-pkgs}
\begin{tabular}{lp{30em}}
\hline
\multicolumn{2}{c}{\textbf{文本 / 数学字体搭配的宏包}} \\
@@ -173,7 +173,7 @@ He likes {\LARGE large and
\pkg{mathdesign} & 配合 Charter / Garamond / Utopia 正文字体的数学字体宏包 \\
\hline
\multicolumn{2}{c}{\textbf{文本字体宏包}} \\
- \multicolumn{2}{l}{\footnotesize 以下字体包括传统的 \LaTeX\ 字体格式以及 TrueType / OpenType 格式。} \\
+ \multicolumn{2}{l}{\footnotesize 以下字体包括传统的 \LaTeX{} 字体格式以及 TrueType / OpenType 格式。} \\
\hline
\pkg{cm-unicode} & Computer Modern 风格的 Unicode 字体,支持多种西方语言 \\
\pkg{dejavu} & DejaVu 开源字体 \\
@@ -194,20 +194,23 @@ He likes {\LARGE large and
\end{tabular}
\end{table}
-\subsection{使用 \pkg{fontspec} 宏包更改字体 (\texttt{xelatex})}\label{subsec:fontspec}
+\subsection{使用 \pkg{fontspec} 宏包更改字体}\label{subsec:fontspec}
\index{xelatex@\texttt{xelatex} 命令}
-\texttt{xelatex} 编译命令能够支持直接调用系统和 \TeX\ 发行版中的 \texttt{.ttf} 或 \texttt{.otf} 格式字体%
-\footnote{Linux 下的 \TeX\ Live 为了令 \hologo{XeTeX} 使用 OpenType 字体,需要额外的配置。详见附录 \ref{app:install}。}。相比于上一小节,我们有了更多修改字体的余地。
+\index{lualatex@\texttt{lualatex} 命令}
+\texttt{xelatex} 和 \texttt{lualatex} 编译命令能够支持直接调用系统和 \TeX{} 发行版中的 \texttt{.ttf} 或 \texttt{.otf} 格式字体%
+\footnote{Linux 下的 \hologo{TeXLive} 为了令 \hologo{XeTeX} 使用 OpenType 字体,需要额外的配置。详见附录 \ref{app:install}。}。
+相比于前文介绍的字体宏包,我们有了更多自由修改字体的余地。
\pkgindex{fontspec}
\cmdindex[fontspec]{setmainfont,setsansfont,setmonofont}
-\texttt{xelatex} 命令下支持用户调用字体的宏包是 \pkg{fontspec}。宏包提供了几个设置全局字体的命令,设置 \cmd{rmfamily} 等对应命令的默认字体%
-\footnote{新版本 \pkg{fontspec} 的命令支持(并且推荐)把必选参数 \Arg{font name} 放在可选参数 \Arg{font features} 的前面。}:
+\texttt{xelatex} 和 \texttt{lualatex} 命令下支持用户调用字体的宏包是 \pkg{fontspec}。
+宏包提供了几个设置全局字体的命令,设置 \cmd{rmfamily} 等对应命令的默认字体%
+\footnote{旧版本 \pkg{fontspec} 的命令把必选参数 \Arg{font name} 放在可选参数 \Arg{font features} 的后面。新版本目前兼容旧版本的用法,但推荐使用新版本的用法。}:
\begin{command}
-\cmd{setmainfont}\oarg{font features}\marg{font name} \\
-\cmd{setsansfont}\oarg{font features}\marg{font name} \\
-\cmd{setmonofont}\oarg{font features}\marg{font name}
+\cmd{setmainfont}\marg{font name}\oarg{font features} \\
+\cmd{setsansfont}\marg{font name}\oarg{font features} \\
+\cmd{setmonofont}\marg{font name}\oarg{font features}
\end{command}
其中 \Arg{font name} 使用字体的文件名(带扩展名)或者字体的英文名称。\Arg{font features} 用来手动配置对应的粗体或斜体
,比如为 Windows 下的无衬线字体 Arial 配置粗体和斜体(通常情况下自动检测并设置对应的粗体和斜体,无需手动指定):
@@ -217,22 +220,97 @@ He likes {\LARGE large and
\Arg{font features} 还能配置字体本身的各种特性,这里不再赘述,感兴趣的读者请参考 \pkg{fontspec} 宏包的帮助文档。
需要注意的是:\pkg{fontspec} 宏包会覆盖数学字体设置。需要调用表 \ref{tbl:font-pkgs} 中列出的一些数学字体宏包时,
-应当在调用 \pkg{fontspec} 宏包时指定 \texttt{no-math} 选项。\pkg{fontspec} 宏包可能被其它宏包或文档类(如 \pkg{xeCJK}、\pkg{ctex} 文档类)自动调用时,
+应当在调用 \pkg{fontspec} 宏包时指定 \texttt{no-math} 选项。\pkg{fontspec} 宏包可能被其它宏包或文档类(如 \pkg{ctex} 文档类)自动调用时,
则在文档开头的 \cmd{document\-class} 命令里指定 \texttt{no-math} 选项。
-\subsection{使用 \pkg{xeCJK} 宏包更改中文字体}\label{subsec:CJKfont}
+\subsection{在 \pkg{ctex} 宏包或文档类中更改中文字体}\label{subsec:CJKfont}
-\pkgindex{xeCJK}
-\cmdindex[xeCJK]{setCJKmainfont,setCJKsansfont,setCJKmonofont}
-前文已经介绍过的 \pkg{xeCJK} 宏包使用了和 \pkg{fontspec} 宏包非常类似的语法设置中文字体:
+\pkgindex{xeCJK,ctex}
+\cmdindex[xeCJK,ctex]{setCJKmainfont,setCJKsansfont,setCJKmonofont}
+前文已经介绍过的 \pkg{ctex} 宏包或文档类提供了和 \pkg{fontspec} 宏包非常类似的语法设置中文字体%
+\footnote{使用 \texttt{xelatex} 编译时,这几个命令实际上由 \pkg{xeCJK} 宏包提供;
+使用 \texttt{lualatex} 编译时,则是由 \pkg{ctex} 宏包或文档类对 \pkg{luatexja} 宏包提供的类似命令进行额外封装。}:
\begin{command}
-\cmd{setCJKmainfont}\oarg{font features}\marg{font name} \\
-\cmd{setCJKsansfont}\oarg{font features}\marg{font name} \\
-\cmd{setCJKmonofont}\oarg{font features}\marg{font name}
+\cmd{setCJKmainfont}\marg{font name}\oarg{font features} \\
+\cmd{setCJKsansfont}\marg{font name}\oarg{font features} \\
+\cmd{setCJKmonofont}\marg{font name}\oarg{font features}
\end{command}
由于中文字体少有对应的粗体或斜体,\Arg{font features} 里多用其他字体来配置,
-比如将宋体对应的 \texttt{BoldFont} 配置为黑体,而 \texttt{ItalicFont} 配置为楷体。
+比如在 Windows 中设定基本字体为宋体,并设定对应的 \texttt{BoldFont} 为黑体, \texttt{ItalicFont} 为楷体:
+\begin{verbatim}
+\setCJKmainfont{SimSun}[BoldFont=SimHei, ItalicFont=KaiTi]
+\end{verbatim}
+
+\subsection{使用 \pkg{unicode-math} 宏包配置 Unicode 数学字体}\label{subsec:unicode-math}
+
+\pkgindex{unicode-math}
+\cmdindex[unicode-math]{setmathfont}
+Unicode 数学字体是一类 OpenType 字体,包含了 Unicode 字符集中的数学符号部分,字体中也设定了数学公式排版所需的一些参数。在 \texttt{xelatex} 或者 \texttt{lualatex} 编译命令下,借助 \pkg{unicode-math} 宏包可以调用 Unicode 数学字体配置数学公式的字体风格。
+
+在导言区使用 \cmd{usepackage}\marg*{unicode-math} 后,使用 \cmd{setmathfont} 命令即可:
+\begin{command}
+\cmd{setmathfont}\marg{font name}\oarg{font features}
+\end{command}
+
+绝大多数时候,只需要给定字体名称 \Arg{font name} 即可。由于篇幅所限,在此不介绍可选参数 \Arg{font feature} 涉及的配置,有兴趣的读者请参考宏包的帮助文档。
+
+Unicode 数学字体相比于正文字体的选择余地不多。表 \ref{tbl:uni-math-fonts} 给出了较为常用的 Unicode 数学字体。
+
+\begin{table}[htp]
+\centering\small
+\caption{常用 Unicode 数学字体。}
+\label{tbl:uni-math-fonts}
+\begin{tabular}{llp{20em}}
+\hline
+\textbf{数学字体名称} & \textbf{配套正文字体名称} & \textbf{备注}\\
+\hline
+\multicolumn{3}{c}{开源字体,发布于 CTAN} \\
+\hline
+\texttt{Latin Modern Math} & \texttt{Latin Modern} & 基于 Computer Modern 风格 \\
+\texttt{STIX Math} & \texttt{STIX} & Times 风格 \\
+\texttt{XITS Math} & \texttt{XITS} & 基于 STIX,Times 风格,有粗体 XITS Math Bold 可用 \\
+\texttt{TeX Gyre Pagella Math} & \texttt{TeX Gyre Pagella} & Palatino 风格 \\
+\texttt{TeX Gyre Termes Math} & \texttt{TeX Gyre Termes} & Times 风格 \\
+\texttt{Libertinus Math} & \texttt{Libertinus} & Linux Libertine 风格 \\
+\texttt{Fira Math} & \texttt{Fira Sans} & 无衬线数学字体 \\
+\hline
+\multicolumn{3}{c}{商业字体} \\
+\hline
+\texttt{Cambria Math} & \texttt{Cambria} & 较新版本的微软 Office 预装数学字体 \\
+\texttt{Lucida Bright Math OT} & \texttt{Lucida Bright OT} & 须购买商业授权 \\
+\texttt{Minion Math} & \texttt{Minion Pro} & 须购买商业授权 \\
+\hline
+\end{tabular}
+\end{table}
+
+\section{文字装饰和强调}\label{sec:emphasize}
+
+强调文字的方法,或者是添加下划线等装饰物,或者是改变文字的字体。
+
+\cmdindex{underline}
+\LaTeX{} 定义了 \cmd{underline} 命令用来为文字添加下划线:
+\begin{example}
+An \underline{underlined} text.
+\end{example}
+
+\pkgindex{ulem}
+\cmdindex[ulem]{uline}
+\cmd{underline} 命令生成下划线的样式不够灵活,不同的单词可能生成高低各异的下划线,并且无法换行。
+\pkg{ulem} 宏包提供了更灵活的解决方案,它提供的 \cmd{uline} 命令能够轻松生成自动换行的下划线:
+\begin{example}
+An example of \uline{some
+long and underlined words.}
+\end{example}
+
+\cmdindex{emph}
+前一节介绍了 \cmd{emph} 命令,它将文字变为斜体以示强调,而如果在已强调的文字中嵌套使用 \cmd{emph} 命令,
+命令内则使用直立体文字:
+\begin{example}
+Some \emph{emphasized words,
+including \emph{double-emphasized}
+words}, are shown here.
+\end{example}
\section{段落格式和间距}\label{sec:par-lengths}
@@ -246,7 +324,7 @@ He likes {\LARGE large and
\begin{table}[htp]
\centering
-\caption{\TeX\ / \LaTeX\ 中的长度单位。}\label{tbl:length-unit}
+\caption{\TeX{} / \LaTeX{} 中的长度单位}\label{tbl:length-unit}
\begin{tabular}{ll}
\hline
\texttt{pt}\unitindex{pt} & 点阵宽度,1/72.27\texttt{in} \\
@@ -262,13 +340,13 @@ He likes {\LARGE large and
\end{table}
在一些情况下还会用到可伸缩的“弹性长度”,如 \texttt{12pt plus 2pt minus 3pt}
-表示基础长度为 \texttt{12pt},可以伸展到 \texttt{14pt} ,也可以收缩到 \texttt{9pt}。
+表示基础长度为 \texttt{12pt},可以伸展到 \texttt{14pt},也可以收缩到 \texttt{9pt}。
也可只定义 \texttt{plus} 或者 \texttt{minus} 的部分,如 \texttt{0pt plus 5pt}。
长度的数值还可以用长度变量本身或其倍数来表达,如 \texttt{2.5}\cmd{parindent} 等。
\cmdindex{newlength,setlength,addtolength}
-\LaTeX\ 预定义了大量的长度变量用于控制版面格式。如页面宽度和高度、首行缩进、段落间距等。
+\LaTeX{} 预定义了大量的长度变量用于控制版面格式。如页面宽度和高度、首行缩进、段落间距等。
如果需要自定义长度变量,需使用如下命令:
\begin{command}
\cmd{newlength}\marg*{\cmd{\Arg{length command}}}
@@ -334,16 +412,18 @@ But remember I am a liar.}\par
它们和设置行距的命令一样,在分段时生效。
\cmdindex{indent,noindent}
+控制段落缩进的命令为:
+
\begin{command}
\cmd{indent} \\
\cmd{noindent}
\end{command}
-\LaTeX\ 默认在段落开始时缩进,长度为用上述命令设置的 \cmd{parindent}。如果你在某一段不想使用缩进,可使用某一段开头使用
-\cmd{noindent} 命令。相反地,\cmd{indent} 命令强制开启一段首行缩进的段落。多个 \cmd{indent} 命令可以累加缩进量。
+\LaTeX{} 默认在段落开始时缩进,长度为用上述命令设置的 \cmd{parindent}。如果需要在某一段不缩进,可在段落开头使用
+\cmd{noindent} 命令。相反地,\cmd{indent} 命令强制开启一段首行缩进的段落。在段落开头使用多个 \cmd{indent} 命令可以累加缩进量。
\pkgindex{indentfirst}
-\LaTeX\ 还默认\textbf{在 \cmd{chapter}、\cmd{section} 等章节标题命令之后的第一段不缩进}%
+\LaTeX{} 还默认\textbf{在 \cmd{chapter}、\cmd{section} 等章节标题命令之后的第一段不缩进}%
\footnote{\pkg{ctex} 宏包和文档类默认按照中文习惯保持标题后第一段的首行缩进。}。
如果不习惯这种设定,可以调用 \pkg{indent\-first} 宏包,令第一段的首行缩进照常。
@@ -356,14 +436,14 @@ But remember I am a liar.}\par
\subsection{水平间距}\label{subsec:hspace}
\cmdindex{hspace}
-\LaTeX 默认为将单词之间的“空格”转化为水平间距。如果需要在文中手动插入额外的水平间距,可使用 \cmd{hspace} 命令:
+\LaTeX{} 默认为将单词之间的“空格”转化为水平间距。如果需要在文中手动插入额外的水平间距,可使用 \cmd{hspace} 命令:
\begin{example}
This\hspace{1.5cm}is a space
of 1.5 cm.
\end{example}
\cmdindex{hspace*}
-\cmd{hspace} 命令生成的水平间距如果位于一行的开头或末尾,则有可能因为断行而被“吞掉”。可使用 \cmd{hspace*} 命令代替 \cmd{hspace} 命令
+\cmd{hspace} 命令生成的水平间距如果位于一行的开头或末尾,则有可能因为断行而被舍弃。可使用 \cmd{hspace*} 命令代替 \cmd{hspace} 命令
得到不会因断行而消失的水平间距。
\cmdindex{stretch,fill}
@@ -394,7 +474,7 @@ nor\qquad mal\\
\subsection{垂直间距}\label{subsec:vspace}
-在页面中,段落、章节标题、行间公式、列表、浮动体等元素之间的间距是 \LaTeX\ 预设的。比如 \cmd{parskip} ,默认设置为 \texttt{0pt plus 1pt}。
+在页面中,段落、章节标题、行间公式、列表、浮动体等元素之间的间距是 \LaTeX{} 预设的。比如 \cmd{parskip},默认设置为 \texttt{0pt plus 1pt}。
\cmdindex{vspace,vspace*}
如果我们想要人为地增加段落之间的垂直间距,可以在两个段落之间的位置使用 \cmd{vspace} 命令:
@@ -408,8 +488,8 @@ Another paragraph.
\cmd{vspace} 命令生成的垂直间距在一页的顶端或底端可能被“吞掉”,类似 \cmd{hspace} 在一行的开头和末尾那样。
对应地,\cmd{vspace*} 命令产生不会因断页而消失的垂直间距。\cmd{vspace} 也可用 \cmd{stretch} 设置无限延伸的垂直长度。
-\index{\@\crcmd\ (\textit{换行})}
-在段落内的两行之间增加垂直间距,一般通过给断行命令 \crcmd\ 加可选参数,如 \crcmd\texttt{[6pt]} 或 \crcmd\texttt{*[6pt]}。
+\index{\@\crcmd{} (\textit{换行})}
+在段落内的两行之间增加垂直间距,一般通过给断行命令 \crcmd{} 加可选参数,如 \crcmd\texttt{[6pt]} 或 \crcmd\texttt{*[6pt]}。
\cmd{vspace} 也可以在段落内使用,区别在于 \cmd{vspace} 只引入垂直间距而不断行:
\begin{example}
Use command \verb|\vspace{12pt}|
@@ -418,11 +498,11 @@ between lines in a paragraph.
Or you can use \verb|\\[12pt]|
to \\[12pt] add vertical space,
-but it also breaks the paragraph.
+but it also breaks the line.
\end{example}
\cmdindex{bigskip,medskip,smallskip}
-另外 \LaTeX\ 还提供了\cmd{bigskip}, \cmd{medskip}, \cmd{smallskip} 来增加预定义长度的垂直间距。
+另外 \LaTeX{} 还提供了\cmd{bigskip}, \cmd{medskip}, \cmd{smallskip} 来增加预定义长度的垂直间距。
\begin{example}
\parbox[t]{3em}{TeX\par TeX}
\parbox[t]{3em}{TeX\par\smallskip TeX}
@@ -432,7 +512,7 @@ but it also breaks the paragraph.
\section{页面和分栏}\label{sec:page-columns}
-我们不妨回顾一下第一章介绍的文档类属性。\LaTeX\ 允许用户通过为文档类指定选项来控制纸张的大小(见 \ref{subsec:classes} 小节),
+我们不妨回顾一下第一章介绍的文档类属性。\LaTeX{} 允许用户通过为文档类指定选项来控制纸张的大小(见 \ref{subsec:classes} 小节),
包括 \texttt{a4paper}、\texttt{letterpaper}等等,并配合字号设置了适合的页边距。
\cmdindex{textheight,textwidth}
@@ -512,9 +592,9 @@ but it also breaks the paragraph.
\subsection{页面内容的垂直对齐}\label{subsec:raggedbottom}
-\LaTeX\ 默认将页面内容在垂直方向分散对齐。对于有大量图表的文档,许多时候想要做到排版匀称的页面很困难,
+\LaTeX{} 默认将页面内容在垂直方向分散对齐。对于有大量图表的文档,许多时候想要做到排版匀称的页面很困难,
垂直分散对齐会造成某些页面的垂直间距过宽,还可能报大量的 \texttt{Underfull} \cmd{vbox} 消息。
-\LaTeX\ 还提供了另一种策略:将页面内容向顶部对齐,给底部留出高度不一的空白。
+\LaTeX{} 还提供了另一种策略:将页面内容向顶部对齐,给底部留出高度不一的空白。
\cmdindex{raggedbottom, flushbottom}
以下命令分别令页面在垂直方向向顶部对齐 / 分散对齐:
@@ -526,8 +606,8 @@ but it also breaks the paragraph.
\subsection{分栏}\label{subsec:columns}
\cmdindex{onecolumn,twocolumn}
-\LaTeX\ 支持简单的单栏或双栏排版。标准文档类的全局选项 \texttt{onecolumn}、\texttt{twocolumn}
-可控制全文分单栏或双栏排版。\LaTeX\ 也提供了切换单/双栏排版的命令:
+\LaTeX{} 支持简单的单栏或双栏排版。标准文档类的全局选项 \texttt{onecolumn}、\texttt{twocolumn}
+可控制全文分单栏或双栏排版。\LaTeX{} 也提供了切换单/双栏排版的命令:
\begin{command}
\cmd{onecolumn} \\
\cmd{twocolumn}\oarg{one-column top material}
@@ -567,7 +647,7 @@ but it also breaks the paragraph.
\cmdindex{pagestyle,thispagestyle}
\pinyinindex{yemei}{页眉}
\pinyinindex{yejiao}{页脚}
-\LaTeX\ 中提供了命令 \cmd{pagestyle} 来修改页眉页脚的样式:
+\LaTeX{} 中提供了命令 \cmd{pagestyle} 来修改页眉页脚的样式:
\begin{command}
\cmd{pagestyle}\marg{page-style}
\end{command}
@@ -577,11 +657,11 @@ but it also breaks the paragraph.
\cmd{thispagestyle}\marg{page-style}
\end{command}
-\Arg{page-style} 参数为样式的名称,在 \LaTeX\ 里预定义了四类样式,见表 \ref{tbl:pagestyle}。
+\Arg{page-style} 参数为样式的名称,在 \LaTeX{} 里预定义了四类样式,见表 \ref{tbl:pagestyle}。
\begin{table}[htp]
\centering
-\caption{\LaTeX\ 预定义的页眉页脚样式。}\label{tbl:pagestyle}
+\caption{\LaTeX{} 预定义的页眉页脚样式}\label{tbl:pagestyle}
\begin{tabular}{lp{30em}}
\hline
\texttt{empty} & 页眉页脚为空 \\
@@ -616,7 +696,7 @@ but it also breaks the paragraph.
\subsection{手动更改页眉页脚的内容}\label{subsec:marks}
\cmdindex{markright,markboth}
-对于 headings 或者 myheadings 样式,\LaTeX\ 允许用户使用命令手动修改页眉上面的内容,
+对于 headings 或者 myheadings 样式,\LaTeX{} 允许用户使用命令手动修改页眉上面的内容,
特别是因为使用了 \cmd{chapter*} 等命令而无法自动生成页眉页脚的情况:
\begin{command}
\cmd{markright}\marg{right-mark}\\
@@ -626,10 +706,10 @@ but it also breaks the paragraph.
在双面排版、\texttt{headings / myheadings} 页眉页脚样式下,\Arg{left-mark} 和 \Arg{right-mark} 的内容分别预期出现在左页(偶数页)和右页(奇数页)。
事实上 \cmd{chapter} 和 \cmd{section} 等章节命令内部也使用 \cmd{mark\-both} 或者 \cmd{mark\-right} 生成页眉。
-\LaTeX\ 默认将页眉的内容都转为大写字母。如果你不喜欢这样,可以尝试以下代码
-(相关命令的用法参照 \ref{subsec:newcmd} 节)%
+\LaTeX{} 默认将页眉的内容都转为大写字母。如果需要保持字母的大小写,可以尝试以下代码
+(\cmd{\renewcommand} 命令的用法详见 \ref{subsec:newcmd} 节)%
\footnote{但是这不能改变页眉的斜体样式(\cmd{slshape}),斜体是定义在 \texttt{headings} 样式里的。
-如果不喜欢斜体,可在 \cmd{mark\-both} 等命令的参数里先使用 \cmd{normal\-font} ,再使用想要的字体样式命令,
+如果不喜欢斜体,可在 \cmd{mark\-both} 等命令的参数里先使用 \cmd{normal\-font},再使用想要的字体样式命令,
或直接尝试使用 \pkg{fancyhdr} 宏包。}:
\begin{verbatim}
\renewcommand\chaptermark[1]{%
diff --git a/info/lshort/chinese/src/chap.06.spec.tex b/info/lshort/chinese/src/chap/chap.06.spec.tex
index 06b06f7335..4db6214606 100644
--- a/info/lshort/chinese/src/chap.06.spec.tex
+++ b/info/lshort/chinese/src/chap/chap.06.spec.tex
@@ -2,7 +2,7 @@
\addtocontents{los}{\protect\addvspace{10pt}}
\begin{intro}
-本章介绍一些特色的 \LaTeX\ 辅助功能。前两个功能 \hologo{BibTeX} 和 makeindex 依靠一些辅助程序自动生成参考文献、索引等;
+本章介绍一些特色的 \LaTeX{} 辅助功能。前两个功能 \hologo{BibTeX} 和 makeindex 依靠一些辅助程序自动生成参考文献、索引等;
之后的使用颜色、超链接等则令我们生成美观易用的电子文档。
\end{intro}
@@ -11,11 +11,11 @@
\subsection{基本的参考文献和引用}\label{subsec:bib-basics}
\pinyinindex{cankaowenxian}{参考文献}
-\LaTeX\ 提供的参考文献和引用方式比较原始,需要用户自行书写参考文献列表(包括格式),
+\LaTeX{} 提供的参考文献和引用方式比较原始,需要用户自行书写参考文献列表(包括格式),
因此较难直接使用。相关的命令我们只作最简单的介绍。
\cmdindex{cite}
-\LaTeX\ 提供了最基本的 \cmd{cite} 命令用于在正文中引用参考文献:
+\LaTeX{} 提供了最基本的 \cmd{cite} 命令用于在正文中引用参考文献:
\begin{command}
\cmd{cite}\marg{citation}
\end{command}
@@ -99,9 +99,9 @@ Partl~\cite{germenTeX} has proposed that \ldots
\subsection{\hologo{BibTeX} 样式}\label{subsec:bibtex-style}
参考文献的写法在不同文献里千差万别,包括作者、标题、年份等各项的顺序和字体样式、文献在列表中的排序规则等。
-\hologo{BibTeX} 用样式(style)来管理参考文献的写法。\hologo{BibTeX} 提供了几个预定义的样式,如 plain, unsrt, alpha 等。
-如果使用期刊模板的话,可能会提供自用的样式。
-样式文件以 \texttt{.bst} 为扩展名。
+\hologo{BibTeX} 用样式(style)来管理参考文献的写法。\hologo{BibTeX} 提供了几个预定义的样式,
+如 \texttt{plain}, \texttt{unsrt}, \texttt{alpha} 等。
+如果使用期刊模板的话,可能会提供自用的样式。样式文件以 \texttt{.bst} 为扩展名。
\cmdindex{bibliographystyle}
使用样式文件的方法是在源代码内(一般在导言区)使用 \cmd{biblio\-graphy\-style} 命令:
@@ -114,7 +114,7 @@ Partl~\cite{germenTeX} has proposed that \ldots
效果大致如表 \ref{tbl:bibtex-style} 所示。
\begin{table}[htp]
-\caption{\hologo{BibTeX} 样式的排版效果。}\label{tbl:bibtex-style}
+\caption{\hologo{BibTeX} 样式的排版效果}\label{tbl:bibtex-style}
\hrule
\begin{trivlist}\item\relax
\textbf{plain}\\{}
@@ -135,7 +135,7 @@ Partl~\cite{germenTeX} has proposed that \ldots
\newblock {\em Journal of \TeX perts}, 36(7):114--120, Mar 2013.
\medskip
-\textbf{amsplain}(\AmS\ 文档类 \textsf{amsart} 等配套的样式)\\{}
+\textbf{amsplain}(\AmS{} 文档类 \textsf{amsart} 等配套的样式)\\{}
[1] Alice Axford, Bob Birkin, Charlie Copper, and Danny Dannford, \emph{Demostration of bibliography
items}, Journal of \TeX perts \textbf{36} (2013), no.~7, 114--120.
@@ -159,7 +159,7 @@ Partl~\cite{germenTeX} has proposed that \ldots
现在我们来看如何利用 \hologo{BibTeX} 数据库生成参考文献和引用。
第一步:准备一份 \hologo{BibTeX} 数据库,假设数据库文件名为 \texttt{books.bib},
-和 \LaTeX\ 源代码\textbf{一般位于同一个目录下}。
+和 \LaTeX{} 源代码\textbf{一般位于同一个目录下}。
第二步:在源代码中添加必要的命令。假设源代码名为 \texttt{demo.tex}(见源代码 \ref{code:bibtex-demo})。
\begin{enumerate}
@@ -198,7 +198,7 @@ and \cite{citation2} \ldots
第三步:写好了以上两个文件之后,我们就可以开始编译了。
\begin{enumerate}
- \item 首先使用 \texttt{pdflatex} 或 \texttt{xelatex} 等命令编译 \LaTeX\ 源代码 \texttt{demo.tex};
+ \item 首先使用 \texttt{pdflatex} 或 \texttt{xelatex} 等命令编译 \LaTeX{} 源代码 \texttt{demo.tex};
\item 接下来用 \texttt{bibtex} 命令处理 \texttt{demo.aux} 辅助文件记录的参考文献格式、引用条目等信息。
\texttt{bibtex} 命令处理完毕后会生成 \texttt{demo.bbl} 文件,内容就是一个 \env{thebibliography} 环境;
\item 再使用 \texttt{pdflatex} 或 \texttt{xelatex} 等命令把源代码 \texttt{demo.tex} 编译\textbf{两遍},读入参考文献并正确生成引用。
@@ -229,14 +229,14 @@ xelatex demo
\end{command}
它们分别生成形如(\emph{Axford et~al.}, 2013) 和 \emph{Axford et~al.} (2013) 的人名——年份引用。
-正确排版人名——年份引用还依赖于特定的 \hologo{BibTeX} 样式。\pkg{natbib} 提供了与 \LaTeX\ 预定义样式相对应的几个样式,
+正确排版人名——年份引用还依赖于特定的 \hologo{BibTeX} 样式。\pkg{natbib} 提供了与 \LaTeX{} 预定义样式相对应的几个样式,
包括 \texttt{plainnat}、\texttt{abbrvnat} 和 \texttt{unsrtnat}。学术论文模板是否支持 \pkg{natbib},需要参考其帮助文档。
\pkg{natbib} 宏包同样也支持数字引用,并且支持将引用的序号压缩,例如:
\begin{verbatim}
\usepackage[numbers,sort&compress]{natbib}
\end{verbatim}
-调用 \pkg{natbib} 宏包时指定以上选项后,连续引用多篇文献时,会生成形如 (3-7) 的引用而不是 (3, 4, 5, 6, 7)。
+调用 \pkg{natbib} 宏包时指定以上选项后,连续引用多篇文献时,会生成形如 (3--7) 的引用而不是 (3, 4, 5, 6, 7)。
\pkg{natbib} 宏包还有更多选项和用法,比如默认的引用是用小括号包裹的,可指定 \texttt{square} 选项改为中括号;
再比如 \cmd{citep} 命令也支持可选参数,为引用前后都添加额外内容。这里不再赘述,请参考 \pkg{natbib} 宏包的帮助文档。
@@ -246,8 +246,8 @@ xelatex demo
\pkgindex{biblatex}
本节的末尾简单介绍一下基于 \pkg{biblatex} 宏包排版参考文献的方式。
-\pkg{biblatex} 宏包是一套基于 \LaTeX\ 宏命令的参考文献解决方案,提供了便捷的格式控制和强大的排序、分类、筛选、多文献表等功能。
-\pkg{biblatex} 宏包也因其对 UTF-8 和中文参考文献的良好支持,被国内较多 \LaTeX\ 模板采用。
+\pkg{biblatex} 宏包是一套基于 \LaTeX{} 宏命令的参考文献解决方案,提供了便捷的格式控制和强大的排序、分类、筛选、多文献表等功能。
+\pkg{biblatex} 宏包也因其对 UTF-8 和中文参考文献的良好支持,被国内较多 \LaTeX{} 模板采用。
基于 \pkg{biblatex} 宏包的方式与基于 \hologo{BibTeX} 的传统方式有一定区别,下面从文档结构和命令、编译方式、样式选择等方面逐一介绍:
@@ -285,7 +285,7 @@ xelatex demo
见文献\cite{caimin2006}。
\printbibliography
-\end{document}
+\end{document}
\end{Verbatim}
\caption{应用 \pkg{biblatex} 的示例 egbibdata.bib 和 demo.tex。}
\end{sourcecode}
@@ -308,7 +308,7 @@ xelatex demo
\begin{verbatim}
% 同时调用 gb7714-2015.bbx 和 gb7714-2015.cbx
\usepackage[style=gb7714-2015]{biblatex}
-% 著录样式调用 gb7714-2015.bbx,引用样式调用 biblatex 宏包自带的 authoryear
+% 著录样式调用 gb7714-2015.bbx,引用样式调用 biblatex 宏包自带的 authoryear
\usepackage[bibstyle=gb7714-2015,citestyle=authoryear]{biblatex}
\end{verbatim}
@@ -326,9 +326,9 @@ xelatex demo
\item[\texttt{trad-alpha}]
\pkg{biblatex-trad} 样式包,移植自 \hologo{BibTeX} 默认的 \texttt{alpha} 样式。另外还包括 \texttt{trad-abbrv}、\texttt{trad-plain} 和 \texttt{trad-unsrt}。
\item[\texttt{gb7714-2015}]
- 符合中文文献著录标准 GB/T 7714-2015 的样式,著录按顺序编码排版。另外还包括按作者-年份顺序排版著录的样式 \texttt{gb7714-2015ay}。
+ 符合中文文献著录标准 GB/T 7714--2015 的样式,著录按顺序编码排版。另外还包括按作者-年份顺序排版著录的样式 \texttt{gb7714-2015ay}。
\item[\texttt{caspervector}]
- 以中文文献著录标准 GB/T 7714-2015 为基础的一个样式。
+ 以中文文献著录标准 GB/T 7714--2015 为基础的一个样式。
\item[\texttt{ieee}]
兼容 \pkg{IEEEtran} 风格的样式,著录按顺序编码排版。另外还包括按作者-年份顺序排版著录的样式 \texttt{ieee-alphabetic}。
\end{description}
@@ -337,7 +337,7 @@ xelatex demo
\pinyinindex{suoyin}{索引}
\index{makeindex@makeindex 工具}
-书籍和大文档通常用索引来归纳关键词,方便用户查阅。\LaTeX\ 借助配套的 makeindex 程序完成对索引的排版。
+书籍和大文档通常用索引来归纳关键词,方便用户查阅。\LaTeX{} 借助配套的 makeindex 程序完成对索引的排版。
\subsection{使用 makeindex 工具的方法}\label{subsec:makeidx}
@@ -345,7 +345,7 @@ xelatex demo
\pkgindex{makeidx}
\cmdindex[makeidx]{makeindex}
-第一步,在 \LaTeX\ 源代码的导言区调用 \pkg{makeidx} 宏包,并使用 \cmd{makeindex} 命令开启索引的收集:
+第一步,在 \LaTeX{} 源代码的导言区调用 \pkg{makeidx} 宏包,并使用 \cmd{makeindex} 命令开启索引的收集:
\begin{verbatim}
\usepackage{makeidx}
\makeindex
@@ -377,7 +377,7 @@ xelatex demo
\begin{table}[htp]
\centering
-\caption{索引项的写法列表。}\label{tbl:index-entry}
+\caption{索引项的写法列表}\label{tbl:index-entry}
\begin{tabular}{lll}
\hline
\textbf{举例} &\textbf{索引项} &\textbf{备注}\\
@@ -398,7 +398,7 @@ xelatex demo
\verb+bold@\textbf{bold}+ & \textbf{bold}, 12 & 输出粗体 \\
\hline
\multicolumn{3}{l}{页码范围} \\[.8ex]
- \verb+morning|(+ & morning, 6-7 & 范围索引的开头 \\
+ \verb+morning|(+ & morning, 6--7 & 范围索引的开头 \\
\verb+morning|)+ & & 范围索引的结尾 \\
\hline
\multicolumn{3}{l}{格式化索引页码} \\[.8ex]
@@ -423,7 +423,7 @@ Test index.
\section{使用颜色}\label{sec:color}
\pinyinindex{yanse}{颜色}
-原始的 \LaTeX\ 不支持使用各种颜色。\pkg{color} 宏包或者 \pkg{xcolor} 宏包提供了对颜色的支持,给 PDF 输出生成颜色的特殊指令。
+原始的 \LaTeX{} 不支持使用各种颜色。\pkg{color} 宏包或者 \pkg{xcolor} 宏包提供了对颜色的支持,给 PDF 输出生成颜色的特殊指令。
\subsection{颜色的表达方式}\label{subsec:color-code}
@@ -464,7 +464,7 @@ Test index.
\begin{table}[htp]
\centering
-\caption{\pkg{color} 和 \pkg{xcolor} 宏包可用的颜色名称。}\label{tbl:colors}
+\caption{\pkg{color} 和 \pkg{xcolor} 宏包可用的颜色名称}\label{tbl:colors}
\renewcommand\arraystretch{1.1}
\begin{tabularx}{0.8\textwidth}{*{4}{>{\raggedleft\arraybackslash}X}}
\hline
@@ -543,12 +543,12 @@ Test index.
\pinyinindex{chaolianjie}{超链接}
PDF 文档格式是现今最流行的电子文档格式,而电子文档最实用的需求之一就是超链接功能。
-\LaTeX\ 中实现这一功能的是 \pkg{hyperref} 宏包。
+\LaTeX{} 中实现这一功能的是 \pkg{hyperref} 宏包。
\subsection{\pkg{hyperref} 宏包}\label{subsec:hyperref}
\pkgindex{hyperref}
-\pkg{hyperref} 宏包涉及到的链接遍布 \LaTeX\ 的每一个角落——目录、引用、脚注、索引、参考文献等等都被封装成超链接。
+\pkg{hyperref} 宏包涉及到的链接遍布 \LaTeX{} 的每一个角落——目录、引用、脚注、索引、参考文献等等都被封装成超链接。
但这也使得它与其它宏包发生冲突的可能性大大增加,虽然宏包已经尽力解决各方面的兼容性,但仍不能面面俱到。
为减少可能的冲突,习惯上将 \pkg{hyperref} 宏包\textbf{放在其它宏包之后调用}。
@@ -562,10 +562,11 @@ PDF 文档格式是现今最流行的电子文档格式,而电子文档最实
\cmd{hypersetup}\marg*{\Arg{option1},\Arg{option2}=\marg*{value},\ldots} \\
\cmd{usepackage}\oarg*{\Arg{option1},\Arg{option2}=\marg*{value},\ldots}\marg*{hyperref}
\end{command}
+可用的参数见表 \ref{tbl:hyperref-settings}。
\begin{table}[htp]
\centering
-\caption{\pkg{hyperref} 宏包提供的参数设置。}\label{tbl:hyperref-settings}
+\caption{\pkg{hyperref} 宏包提供的参数设置}\label{tbl:hyperref-settings}
\begin{tabular}{llp{19.5em}}
\hline
\textbf{参数} & \textbf{默认值} & \textbf{含义} \\
@@ -576,16 +577,12 @@ PDF 文档格式是现今最流行的电子文档格式,而电子文档最实
\texttt{pdfborder=}\marg*{\Arg{n} \Arg{n} \Arg{n}}
& 0 0 1 & 超链接边框设置,设为 0 0 0 可取消边框 \\
\hline
- \texttt{bookmarks=}\Arg{true\textnormal|false} \textsuperscript{\dag}
+ \texttt{bookmarks=}\Arg{true\textnormal|false}\textsuperscript{\dag}
& \textit{true} & 是否生成书签 \\
\texttt{bookmarksopen=}\Arg{true\textnormal|false}
& \textit{false} & 是否展开书签 \\
\texttt{bookmarksnumbered=}\Arg{true\textnormal|false}
& \textit{false} & 书签是否带章节编号 \\
- \texttt{CJKbookmarks=}\Arg{true\textnormal|false}
- & \textit{false} & 使用 \pkg{CJK} 宏包/ GBK 编码排版中文时必须设定的参数,
- 需要将生成的 \texttt{.out} 文件用工具处理编码,或调用 \pkg{xCJK2uni} 宏包 \\
- \texttt{unicode} & & 使用 \pkg{CJKutf8} 宏包/ UTF-8 编码排版中文时必须设定的参数 \\
\hline
\texttt{pdftitle=}\Arg{string}
& 空 & 标题 \\
@@ -601,7 +598,7 @@ PDF 文档格式是现今最流行的电子文档格式,而电子文档最实
\end{tabular}
\begin{quotation}
\small
-\textsuperscript{\dag} 该选项只能在调用宏包时指定。
+\textsuperscript{\dag} 该选项只能作为宏包选项,在调用宏包时指定。
\end{quotation}
\end{table}
@@ -652,9 +649,9 @@ PDF 文档格式是现今最流行的电子文档格式,而电子文档最实
默认情况下会为 PDF 自动生成书签。和交叉引用、索引等类似,生成书签也需要多次编译源代码,第一次编译将书签记录写入 \texttt{.out} 文件,
第二次编译才正确生成书签。
-书签的一些属性见表 \ref{tbl:hyperref-settings}。
-在 \texttt{latex} + \texttt{dvipdfmx} 或 \texttt{pdflatex} 命令下使用 \pkg{ctex} 宏包或 \pkg{CJK} 宏包时,
-为了正确生成中文书签而不出现乱码,需要额外的设置,甚至繁琐的工序(这也是我们推荐使用 \texttt{xelatex} 命令处理中文的原因)。
+书签的一些属性见表 \ref{tbl:hyperref-settings}。使用 \pkg{CJK} 宏包时,为了防止中文书签出现乱码,
+需要进行繁琐的设置;但在使用 \pkg{ctex} 宏包和文档类、且使用 \texttt{xelatex} 或 \texttt{lualatex} 编译的情况下,
+无需用户额外干预,即可正确生成中文书签。
\cmdindex[hyperref]{pdfbookmark}
\pkg{hyperref} 还提供了手动生成书签的命令:
@@ -664,13 +661,13 @@ PDF 文档格式是现今最流行的电子文档格式,而电子文档最实
\Arg{bookmark} 为书签名称,\Arg{anchor} 为书签项使用的锚点(类似交叉引用的标签)。可选参数 \Arg{level} 为书签的层级,默认为 0。
\cmdindex[hyperref]{texorpdfstring}
-章节命令里往往有 \LaTeX\ 命令甚至数学公式,而 PDF 书签是纯文本,对命令和公式的处理很困难,有出错的风险。
+章节命令里往往有 \LaTeX{} 命令甚至数学公式,而 PDF 书签是纯文本,对命令和公式的处理很困难,有出错的风险。
\pkg{hyperref} 宏包已经为我们处理了许多常见命令,如 \cmd{LaTeX} 和字体命令 \cmd{textbf} 等,
-对于未被处理的命令或数学公式,就要在章节标题中使用如下命令,分别提供 \LaTeX\ 代码和 PDF 书签可用的纯文本:
+对于未被处理的命令或数学公式,就要在章节标题中使用如下命令,分别提供 \LaTeX{} 代码和 PDF 书签可用的纯文本:
\begin{command}
-\cmd{texorpdfstring}\marg{\LaTeX\ code}\marg{PDF bookmark text}
+\cmd{texorpdfstring}\marg{\LaTeX{} code}\marg{PDF bookmark text}
\end{command}
-比如在章节名称里使用公式 $E=mc^2$,而书签使用字符 \texttt{E=mc\textasciicircum 2}:
+比如在章节名称里使用公式 $E=mc^2$,而书签则使用纯文本形式的 \verb|E=mc^2|:
\begin{verbatim}
\section{质能公式 \texorpdfstring{$E=mc^2$}{E=mc\textasciicircum 2}}
\end{verbatim}
diff --git a/info/lshort/chinese/src/chap.07.graphic.tex b/info/lshort/chinese/src/chap/chap.07.graphic.tex
index 7be4a2ed8b..11abdec17d 100644
--- a/info/lshort/chinese/src/chap.07.graphic.tex
+++ b/info/lshort/chinese/src/chap/chap.07.graphic.tex
@@ -2,7 +2,7 @@
\addtocontents{los}{\protect\addvspace{10pt}}
\begin{intro}
-除了排版文字,\LaTeX\ 也支持用代码表示图形。不同的扩展已经极大地丰富了 \LaTeX\ 的图形功能,\TikZ\ 就是其中之一。
+除了排版文字,\LaTeX{} 也支持用代码表示图形。不同的扩展已经极大地丰富了 \LaTeX{} 的图形功能,\hologo{TikZ} 就是其中之一。
本章将带你了解一些基本的绘图功能。
一些特殊的绘图,如交换图、树状图甚至分子式和电路图也能够通过代码绘制,
@@ -11,63 +11,63 @@
\section{绘图语言简介}\label{sec:pict-lang}
-\LaTeX\ 提供了原始的 \env{picture} 环境,能够绘制一些基本的图形如点、线、矩形、圆、B\'ezier 曲线等等,
-不过受制于 \LaTeX\ 本身,它的绘图功能极为有限,效果也不够美观。
+\LaTeX{} 提供了原始的 \env{picture} 环境,能够绘制一些基本的图形如点、线、矩形、圆、B\'ezier 曲线等等,
+不过受制于 \LaTeX{} 本身,它的绘图功能极为有限,效果也不够美观。
-当前较为流行的、用于 \LaTeX\ 的绘图宏包 / 程序主要有:
+当前较为流行的、用于 \LaTeX{} 的绘图宏包 / 程序主要有:
\begin{itemize}
\item PSTricks \par
以 PostSciprt 语法为基础的绘图宏包,具有优秀的绘图能力。它对老式的 \texttt{latex + dvips} 编译命令支持最好,
而现在的几种编译命令下使用起来都不够方便。
- \item \TikZ\ \& \pkg{pgf} \par
- 德国的 Till Tantau 教授在开发著名的 \LaTeX\ 幻灯片文档类 \cls{beamer} 时一并开发了绘图宏包 \pkg{pgf},
+ \item \hologo{TikZ} \& \pkg{pgf} \par
+ 德国的 Till Tantau 教授在开发著名的 \LaTeX{} 幻灯片文档类 \cls{beamer} 时一并开发了绘图宏包 \pkg{pgf},
目的是令其能够在 \texttt{pdflatex} 或 \texttt{xelatex} 等不同的编译命令下都能使用。
- \TikZ\ 是在 \pkg{pgf} 基础上封装的一个宏包,采用了类似 \hologo{METAPOST} 的语法,提供了方便的绘图命令,绘图能力不输 PSTricks。
+ \hologo{TikZ} 是在 \pkg{pgf} 基础上封装的一个宏包,采用了类似 \hologo{METAPOST} 的语法,提供了方便的绘图命令,绘图能力不输 PSTricks。
\item \hologo{METAPOST} \& Asymptote \par
- \hologo{METAPOST} 脱胎于高德纳为 \TeX\ 配套开发的字体生成程序 \hologo{METAFONT},
- 具有优秀的绘图能力,并能够调用 \TeX\ 引擎向图片中插入文字和公式。
+ \hologo{METAPOST} 脱胎于高德纳为 \TeX{} 配套开发的字体生成程序 \hologo{METAFONT},
+ 具有优秀的绘图能力,并能够调用 \TeX{} 引擎向图片中插入文字和公式。
Asymptote 在 \hologo{METAPOST} 的基础上更进一步,具有一定的类似 C 语言的编程能力,支持三维图形的绘制。\par
- 它们作为独立的程序,通常的用法是将代码写在单独的文件里,编译生成图片供 \LaTeX\ 引用,也可以借助特殊的宏包在 \LaTeX\ 代码里直接使用。
+ 它们作为独立的程序,通常的用法是将代码写在单独的文件里,编译生成图片供 \LaTeX{} 引用,也可以借助特殊的宏包在 \LaTeX{} 代码里直接使用。
\end{itemize}
-本手册将介绍 \TikZ\ 绘图宏包里最基本的部分。\TikZ\ 还支持各种自定义的扩展,基于 \TikZ\ 的专门用途的绘图宏包也不胜枚举,
-其复杂程度已远远超出入门手册的范围(\TikZ\ 的帮助文档有上千页之厚)。
+本手册将介绍 \hologo{TikZ} 绘图宏包里最基本的部分。\hologo{TikZ} 还支持各种自定义的扩展,基于 \hologo{TikZ} 的专门用途的绘图宏包也不胜枚举,
+其复杂程度已远远超出入门手册的范围(\hologo{TikZ} 的帮助文档有上千页之厚)。
对此感兴趣的读者需要自行查阅帮助文档,或者到互联网上参考现成的范例。
-\section{\TikZ\ 绘图语言}\label{sec:tikz}
+\section{\hologo{TikZ} 绘图语言}\label{sec:tikz}
-\index{TikZ@\TikZ}
+\index{TikZ@\protect\hologo{TikZ}}
\pkgindex{tikz}
\envindex[tikz]{tikzpicture}
\cmdindex[tikz]{tikz}
-在导言区调用 \pkg{tikz} 宏包,就可以用以下命令和环境使用 \TikZ\ 的绘图功能了%
+在导言区调用 \pkg{tikz} 宏包,就可以用以下命令和环境使用 \hologo{TikZ} 的绘图功能了%
\footnote{\texttt{latex + dvipdfmx} 编译方式要在 \pkg{tikz} 宏包之前调用 \pkg{graphicx} 宏包并指定 \texttt{dvipdfmx} 选项。}:
\begin{command}
-\cmd{tikz}\oarg*{\ldots} \Arg{tikz code}\texttt{;} \\[1ex]
-\cmd{tikz}\oarg*{\ldots} \marg*{\Arg{tikz code 1}\texttt{;} \Arg{tikz code 2}\texttt{;} \ldots} \\[1ex]
-\cmd{begin}\marg*{tikzpicture}\oarg*{\ldots} \\
+\cmd{tikz}\oarg*{...} \Arg{tikz code}\texttt{;} \\[1ex]
+\cmd{tikz}\oarg*{...} \marg*{\Arg{tikz code 1}\texttt{;} \Arg{tikz code 2}\texttt{;} ...} \\[1ex]
+\cmd{begin}\marg*{tikzpicture}\oarg*{...} \\
\Arg{tikz code 1}\texttt{;} \\
\Arg{tikz code 2}\texttt{;} \\
-\ldots \\
+... \\
\cmd{end}\marg*{tikzpicture}
\end{command}
前一种用法为 \cmd{tikz} 带单条绘图命令,以分号结束,一般用于在文字之间插入简单的图形;
后两种用法较为常见,使用多条绘图命令,可以在 \env{figure} 等浮动体中使用。
-\subsection{\TikZ\ 坐标和路径}\label{subsec:tikz-path}
+\subsection{\hologo{TikZ} 坐标和路径}\label{subsec:tikz-path}
-\TikZ\ 用直角坐标系或者极坐标系描述点的位置。
+\hologo{TikZ} 用直角坐标系或者极坐标系描述点的位置。
\begin{itemize}
- \item 直角坐标下,点的位置写作 \texttt{(\Arg{$x$},\Arg{$y$})},坐标 \Arg{$x$} 和 \Arg{$y$} 可以用 \LaTeX\ 支持的任意单位表示,
+ \item 直角坐标下,点的位置写作 \texttt{(\Arg{$x$},\Arg{$y$})},坐标 \Arg{$x$} 和 \Arg{$y$} 可以用 \LaTeX{} 支持的任意单位表示,
缺省为 \texttt{cm};
\item 极坐标下,点的位置写作 \texttt{(\Arg{$\theta$}:\Arg{r})}。$\theta$ 为极角,单位是度。
\end{itemize}
\cmdindex[tikz]{coordinate}
-我们还可以为某个点命名:\cmd{coordinate} \texttt{(A) at (\Arg{coordinate})}
+我们还可以为某个点命名:\cmd{coordinate} \texttt{(A) at (\Arg{coordinate})}
然后就可以使用 \texttt{(A)} 作为点的位置了。
\begin{example}
@@ -91,7 +91,7 @@
\end{example}
-\TikZ\ 最基本的路径为两点之间连线,如 \texttt{(\Arg{$x_1$},\Arg{$y_1$}) -{}- (\Arg{$x_2$},\Arg{$y_2$})},可以连用表示多个连线(折线)。
+\hologo{TikZ} 最基本的路径为两点之间连线,如 \texttt{(\Arg{$x_1$},\Arg{$y_1$}) -{}- (\Arg{$x_2$},\Arg{$y_2$})},可以连用表示多个连线(折线)。
连续使用连线时,可以使用 \texttt{cycle} 令路径回到起点,生成闭合的路径。
\begin{example}
\begin{tikzpicture}
@@ -150,9 +150,9 @@
\begin{example}
\begin{tikzpicture}
\draw (0,0) parabola (1,2);
-\draw (2,0) parabola
+\draw (2,0) parabola
bend (2.25,-0.25) (3,2);
-\draw (4,0) parabola
+\draw (4,0) parabola
bend (4.75,2.25) (5,2);
\end{tikzpicture}
\end{example}
@@ -162,7 +162,7 @@
\end{itemize}
\begin{example}
\begin{tikzpicture}
-\draw (0,0) .. controls
+\draw (0,0) .. controls
(2,1) and (3,1) .. (3,0);
\draw (4,0) .. controls
(5,1) .. (5,0);
@@ -177,30 +177,30 @@
\end{itemize}
\begin{example}
\begin{tikzpicture}
-\draw[help lines,step=0.5]
+\draw[help lines,step=0.5]
(-1,-1) grid (1,1);
\draw[->] (-1.5,0) -- (1.5,0);
\draw[->] (0,-1.5) -- (0,1.5);
-\draw[domain=-1:1]
+\draw[domain=-1:1]
plot(\x,{\x*\x*2 -1});
\end{tikzpicture}
\end{example}
-\subsection{\TikZ\ 绘图命令和参数}\label{subsec:tikz-draw}
+\subsection{\hologo{TikZ} 绘图命令和参数}\label{subsec:tikz-draw}
\cmdindex[tikz]{draw,fill,filldraw}
-除了 \cmd{draw} 命令之外,\TikZ\ 还提供了 \cmd{fill} 命令用来填充图形,\cmd{filldraw} 命令则同时填充和描边。
+除了 \cmd{draw} 命令之外,\hologo{TikZ} 还提供了 \cmd{fill} 命令用来填充图形,\cmd{filldraw} 命令则同时填充和描边。
除了矩形、圆等现成的闭合图形外,\cmd{fill} 和 \cmd{filldraw} 命令也能够填充人为构造的闭合路径。
\begin{command}
-\cmd{draw}\oarg*{\ldots} \Arg{path}; \\
-\cmd{fill}\oarg*{\ldots} \Arg{path}; \\
-\cmd{filldraw}\oarg*{\ldots} \Arg{path};
+\cmd{draw}\oarg*{...} \Arg{path}; \\
+\cmd{fill}\oarg*{...} \Arg{path}; \\
+\cmd{filldraw}\oarg*{...} \Arg{path};
\end{command}
绘图参数可作为可选参数用在 \env{tikzpiture} 环境或 \cmd{tikz} 命令时,参数会影响到所有具体的绘图命令;
用在单个绘图命令 \cmd{draw}、\cmd{filldraw} 等时,只对这个命令起效。
-\TikZ\ 有数不清的绘图参数,这些参数令 \TikZ\ 能够绘制丰富多彩的图像,同时也令 \TikZ\ 难以精通。
+\hologo{TikZ} 有数不清的绘图参数,这些参数令 \hologo{TikZ} 能够绘制丰富多彩的图像,同时也令 \hologo{TikZ} 难以精通。
以下示例常用的一些绘图参数。
\begin{itemize}
@@ -213,11 +213,11 @@
\draw[blue] (0,0) rectangle (1,1);
\filldraw[fill=yellow,draw=red]
(2,0.5) circle [radius=0.5];
-\end{tikzpicture}
+\end{tikzpicture}
\end{example}
\begin{itemize}
- \item \texttt{thick=\Arg{length}/thin/semithick/\ldots} 指定线条的粗细。
+ \item \texttt{thick=\Arg{length}/thin/semithick/...} 指定线条的粗细。
\end{itemize}
\begin{example}
\begin{tikzpicture}
@@ -248,7 +248,7 @@
\begin{itemize}
\item \texttt{\Arg{arrow}-\Arg{arrow}} 指定线条首尾的箭头形式。
- 复杂的箭头形式需要使用 \cmd{use\-tikz\-library} \marg*{arrows.meta}。
+ 复杂的箭头形式需要在导言区使用 \cmd{use\-tikz\-library} \marg*{arrows.meta}。
\end{itemize}
\begin{example}
\begin{tikzpicture}[thick]
@@ -280,7 +280,7 @@
\end{example}
\begin{itemize}
- \item \texttt{scale/xshift/yshift/xslant/yslant/rotate} 设定图形的缩放、位移和旋转。
+ \item \texttt{scale/xshift/yshift/xslant/yslant/rotate} 设定图形的缩放、位移和旋转。
\end{itemize}
\begin{example}
\begin{tikzpicture}
@@ -294,20 +294,20 @@
\end{tikzpicture}
\end{example}
-为了重复利用绘图参数,减少代码冗余,\TikZ\ 引入了“样式”的概念,可以定义一个样式包含绘图参数,
+为了重复利用绘图参数,减少代码冗余,\hologo{TikZ} 引入了“样式”的概念,可以定义一个样式包含绘图参数,
然后将样式作为一个参数用于绘图:
\begin{example}
\begin{tikzpicture}
[myarrow/.style={blue,thick,->}]
\draw (0,0)--(0,1)--(2,1);
\draw[myarrow] (0,0)--(2,1);
-\draw[myarrow,dotted]
+\draw[myarrow,dotted]
(0,0)--(2,0)--(2,1);
\end{tikzpicture}
\end{example}
\envindex[tikz]{scope}
-\TikZ\ 还提供了 \env{scope} 环境,令绘图参数或样式在局部生效:
+\hologo{TikZ} 还提供了 \env{scope} 环境,令绘图参数或样式在局部生效:
\begin{example}
\begin{tikzpicture}
\draw (0,0) rectangle (2.5, 2.5);
@@ -317,10 +317,10 @@
\end{tikzpicture}
\end{example}
-\subsection{\TikZ\ 文字结点}\label{subsec:tikz-node}
+\subsection{\hologo{TikZ} 文字结点}\label{subsec:tikz-node}
\cmdindex[tikz]{node}
-\TikZ\ 用 \cmd{node} 命令绘制文字结点:
+\hologo{TikZ} 用 \cmd{node} 命令绘制文字结点:
\begin{command}
\cmd{node}\oarg{options} \texttt{(\Arg{name})} \texttt{at (\Arg{coordinate})} \marg{text}\texttt{;}
\end{command}
@@ -338,7 +338,7 @@
\ref{subsec:tikz-draw} 小节中的参数可用于 \cmd{node} 命令的配置。除此之外,\cmd{node} 还有一些特定的参数:
\begin{itemize}
\item \texttt{anchor=\Arg{position}} 令结点的某个角落 \Arg{position} 与 \Arg{coordinate} 对应。
- \item \texttt{centered / above / below / left / right / above left / \ldots \oarg*{=\Arg{length}}} \\
+ \item \texttt{centered / above / below / left / right / above left / ... \oarg*{=\Arg{length}}} \\
与 \texttt{anchor} 等效的选项。可选的 \Arg{length} 为节点相对于 \Arg{coordinate} 的距离。
\end{itemize}
\begin{example}
@@ -351,27 +351,28 @@
\end{example}
\begin{itemize}
- \item \texttt{shape=\Arg{shape}}
- 结点的形状,默认可用 \texttt{rectangle} 和 \texttt{circle},可省略 \texttt{shape=} 直接写。在导言区使用命令
+ \item \texttt{shape=\Arg{shape}}
+ 结点的形状,默认可用 \texttt{rectangle} 和 \texttt{circle},可省略 \texttt{shape=} 直接写。在导言区使用命令
\cmd{use\-tikz\-library}\marg*{shapes.geometric} 可用更多的形状。
- \item \texttt{text=\Arg{color}}
+ \item \texttt{text=\Arg{color}}
结点文字的颜色。
- \item \texttt{node font=\Arg{font command}}
+ \item \texttt{node font=\Arg{font command}}
结点文字的字体,形如 \cmd{bfseries} 或 \cmd{itshape} 等。
\end{itemize}
\begin{example}
\begin{tikzpicture}
\node[circle,fill=blue,text=white,
- font={\bfseries}]
+ node font={\bfseries}]
(A) at (0,0) {A node};
\node[rectangle,rounded corners,
- draw=gray,font={\sffamily\slshape}]
+ draw=gray,
+ node font={\sffamily\slshape}]
(B) at (2,0) {B node};
\end{tikzpicture}
\end{example}
\begin{itemize}
- \item \texttt{inner sep=\Arg{length} / outer sep=\Arg{length}}
+ \item \texttt{inner sep=\Arg{length} / outer sep=\Arg{length}}
结点边界向外和向内的额外距离。
\item \texttt{minimum size=\Arg{length} / minimum height=\Arg{length} / minimum width=\Arg{length}} \\
结点的最小大小或最小高度/宽度。
@@ -412,10 +413,10 @@
\coordinate (b) at (4,1.2);
\node[below] (a0) at (a |- 0,0) {$a$};
\node[below] (b0) at (b |- 0,0) {$b$};
-\filldraw[fill=gray!20,draw,thick]
+\filldraw[fill=gray!20,draw,thick]
(a0) -- (a) .. controls (1,2.8) and (2.7,0.4) .. (b) -- (b0) -- cycle;
\node[above right,outer sep=0.2cm, rounded corners,
- fill=green!20,draw=gray,text=blue!60!black,scale=0.6]
+ fill=green!20,draw=gray,text=blue!60!black,scale=0.6]
at (b) {$\displaystyle \int_a^b {f(x)\,\mathrm{d}x} = F(b) - F(a)$};
\end{tikzpicture}
\end{Verbatim}
@@ -427,20 +428,20 @@
\coordinate (b) at (4,1.2);
\coordinate[label=below:$a$] (a0) at (a |- 0,0);
\coordinate[label=below:$b$] (b0) at (b |- 0,0);
-\filldraw[fill=gray!20,draw,thick]
+\filldraw[fill=gray!20,draw,thick]
(a0) -- (a) .. controls (1,2.8) and (2.7,0.4) .. (b) -- (b0) -- cycle;
\node[above right,outer sep=0.2cm, rounded corners,
- fill=green!20,draw=gray,text=blue!60!black,scale=0.6]
+ fill=green!20,draw=gray,text=blue!60!black,scale=0.6]
at (b) {$\displaystyle \int_a^b {f(x)\,\mathrm{d}x} = F(b) - F(a)$};
\end{tikzpicture}
\end{center}
-\caption{\TikZ\ 绘图示例源代码和效果。}\label{code:tikz-example}
+\caption{\hologo{TikZ} 绘图示例源代码和效果。}\label{code:tikz-example}
\end{sourcecode}
-\subsection{在 \TikZ\ 中使用循环}
+\subsection{在 \hologo{TikZ} 中使用循环}
\cmdindex[tikz]{foreach}
-\TikZ\ 通过 \pkg{pgffor} 功能宏包实现了简单的循环功能,语法为:
+\hologo{TikZ} 通过 \pkg{pgffor} 功能宏包实现了简单的循环功能,语法为:
\begin{command}
\cmd{foreach} \cmd{a} \texttt{in} \marg{list} \marg{commands}
\end{command}
@@ -451,7 +452,7 @@
\begin{tikzpicture}
\draw (0,0)--(5,0);
\foreach \i in {0.0,0.1,...,5.0}
- {\draw[very thin]
+ {\draw[very thin]
(\i,0)--(\i,0.15);}
\foreach \I in {0,1,2,3,4,5}
{\draw (\I,0)--(\I,0.25)
@@ -462,11 +463,11 @@
\cmd{foreach} 还可使用变量对参与循环:
\begin{example}
\begin{tikzpicture}
-\foreach \n/\t in
+\foreach \n/\t in
{0/\alpha,1/\beta,2/\gamma}
- {\node[circle,fill=lightgray,draw]
+ {\node[circle,fill=lightgray,draw]
at (\n,0) {$\t$};}
\end{tikzpicture}
\end{example}
-\endinput \ No newline at end of file
+\endinput
diff --git a/info/lshort/chinese/src/chap.08.custom.tex b/info/lshort/chinese/src/chap/chap.08.custom.tex
index 656f9f0ac6..d31043c572 100644
--- a/info/lshort/chinese/src/chap.08.custom.tex
+++ b/info/lshort/chinese/src/chap/chap.08.custom.tex
@@ -1,4 +1,4 @@
-\chapter{自定义 \LaTeX\ 命令和功能}\label{chap:custom}
+\chapter{自定义 \LaTeX{} 命令和功能}\label{chap:custom}
\addtocontents{los}{\protect\addvspace{10pt}}
\begin{intro}
@@ -13,7 +13,7 @@
\section{自定义命令和环境}\label{sec:defs}
你也许已经意识到了,在本手册中介绍的所有命令都被包含在一个带颜色的矩形背景框中。
-笔者并没有直接使用基础的 \LaTeX\ 命令来实现这个效果,而是创建了一个\textbf{宏包},
+笔者并没有直接使用基础的 \LaTeX{} 命令来实现这个效果,而是创建了一个\textbf{宏包},
并在其中定义了笔者所需要的命令和环境。现在我只需写成这样简单的形式:
\begin{example}
@@ -23,7 +23,7 @@
\end{example}
这个例子中使用了一个新的环境 \env{command}。这个环境负责给命令代码加上一个带颜色的矩形背景框。
-同时还使用了一个命令:\cmd{cmd}, 这个命令负责输出命令的名字,包括前面的反斜杠。
+同时还使用了一个命令:\cmd{cmd}, 这个命令负责输出命令的名字,包括前面的反斜线。
一旦笔者想要修改命令代码的样式,比如更换颜色、加边框等等,可以通过改变 \env{command} 环境的定义来很容易地创建新的外观,
而不是挨个修改每个命令示例。
@@ -35,13 +35,13 @@
\begin{command}
\cmd{newcommand}\marg*{\cmd{\Arg{name}}}\oarg{num}\marg{definition}
\end{command}
-基本上,这个命令有两个参数,第一个 \Arg{name} 是你想要建立的命令的名称(带反斜杠),
-第二个 \Arg{definition} 是命令的定义。方括号里的参数 \Arg{num} 是可选的,
-用于指定新命令所需的参数数目(最多 9 个)。如果缺省可选参数,默认就是 0,也就是新建的命令不带任何参数。
+\cmd{newcommand} 的基本用法需要两个必选参数,第一个参数 \Arg{name} 是要定义的命令名称(带反斜线),
+第二个参数 \Arg{definition} 是命令的具体定义。方括号里的参数 \Arg{num} 是可选的,
+用于指定新命令所需的参数数目(最多 9 个)。如果缺省可选参数,默认就是 0,也就是新定义的命令不带任何参数。
-接下来的两个例子有助你的理解。第一个例子定义了一个新的命令:\cmd{tnss}。
+接下来的两个例子有助于理解。第一个例子定义了一个新的命令 \cmd{tnss}。
这个命令是本手册英文名称 ``The Not So Short Introduction to \LaTeXe'' 的简写。
-如果你需要在文档中多次使用本手册的名称,那么使用这个命令是一个非常方便的办法。
+如果需要在文档中多次使用本手册的名称,那么使用这个命令是一个非常方便的办法。
\begin{example}
\newcommand{\tnss}{The not
@@ -51,7 +51,7 @@ This is ``\tnss'' \ldots{}
``\tnss''
\end{example}
-第二个例子演示了如何定义一个带参数的命令。在命令的定义中,标记 \verb|#1|
+第二个例子演示了如何定义一个带参数的命令。在命令的定义中,标记 \verb|#1|
代表指定的参数。如果想使用多个参数,可以依次使用 \verb|#2|、……、\verb|#9| 等标记。
\begin{example}
@@ -66,12 +66,12 @@ This is ``\tnss'' \ldots{}
\end{example}
\cmdindex{renewcommand}
-\LaTeX\ 不允许你定义一个与现有命令重名的命令。如果需要修改命令定义的话,使用 \cmd{re\-new\-comm\-and} 命令。它使用与命令 \cmd{new\-comm\-and}
+\LaTeX{} 不允许使用 \cmd{newcommand} 定义一个与现有命令重名的命令。如果需要修改命令定义的话,使用 \cmd{re\-new\-comm\-and} 命令。它使用与命令 \cmd{new\-comm\-and}
相同的语法。
\cmdindex{providecommand}
-在某些情况之下,你可能会希望使用 \cmd{pro\-vide\-comm\-and} 命令。在命令不存在时,它相当于 \cmd{new\-comm\-and}
-;在命令已经存在时,仍沿用存在的定义。
+在某些情况之下,使用 \cmd{pro\-vide\-comm\-and} 命令是一种比较理想的方案。在命令未定义时,它相当于 \cmd{new\-comm\-and}
+;在命令已定义时,沿用已有的定义。
\subsection{定义环境}\label{subsec:newenv}
@@ -99,7 +99,7 @@ My humble subjects \ldots
\end{example}
\cmdindex{renewenvironment}
-参数 \Arg{num} 的使用方式与 \cmd{new\-comm\-and} 命令相同。\LaTeX\ 还同样保证你
+参数 \Arg{num} 的使用方式与 \cmd{new\-comm\-and} 命令相同。\LaTeX{} 还同样保证你
不会不小心新建重名的环境。如果你确实希望改变一个现有的环境,你可以使用命令
\cmd{re\-new\-environ\-ment},它使用和命令 \cmd{new\-environ\-ment} 相同的语法。
@@ -109,7 +109,7 @@ My humble subjects \ldots
\cmdindex{usepackage}
如果你定义了很多新的环境和命令,你的文档的导言区将变得相当长,在这种情况下,好的方式是
-建立一个新的 \LaTeX\ 宏包来存放所有你自己定义的命令和环境,
+建立一个新的 \LaTeX{} 宏包来存放所有你自己定义的命令和环境,
然后在你的文档中使用 \cmd{use\-package} 命令来调用自定义的宏包。
\begin{sourcecode}[htp]
@@ -132,7 +132,7 @@ My humble subjects \ldots
\cmd{ProvidesPackage}\marg{package name}
\end{command}
这个命令应该放在你的宏包的最前面,并且一定要注意:\textbf{\Arg{package name} 需要和宏包的文件名一致。}
-\cmd{Provides\-Package} 让 \LaTeX\ 记录宏包的名称,从而在 \cmd{usepackage} 命令再次调用同一个宏包的时候忽略之%
+\cmd{Provides\-Package} 让 \LaTeX{} 记录宏包的名称,从而在 \cmd{usepackage} 命令再次调用同一个宏包的时候忽略之%
\footnote{但如果你以\emph{不同的选项}多次引入宏包,则有可能会引起错误,见附录 \ref{sec:errors}。}。
源代码 \ref{code:package} 给出了一个小的宏包示例,其中包含了我们之前定义的一些命令。
@@ -140,7 +140,7 @@ My humble subjects \ldots
\cmdindex{RequirePackage}
如果你想进一步把各种宏包的功能汇总到一个文件里,而不是在文档的导言区罗列一大堆宏包的话,
-\LaTeX\ 允许你在自己编写的宏包中调用其它宏包,命令为 \cmd{RequirePackage},用法和 \cmd{usepackage}
+\LaTeX{} 允许你在自己编写的宏包中调用其它宏包,命令为 \cmd{RequirePackage},用法和 \cmd{usepackage}
一致:
\begin{command}
\cmd{RequirePackage}\oarg{options}\marg{package name}
@@ -159,7 +159,7 @@ My humble subjects \ldots
\cmdindex{LoadClass}
但是有了上述命令和和你之前学到的 \cmd{newcommand} 等,还并不能完成一个文档类的编写,因为诸如 \cmd{chapter}、
\cmd{section} 等等许多常用的命令都是在文档类中定义的。事实上,许多时候我们只需要像调用宏包那样调用一个基本的文档类,
-省去许多不必要的麻烦。在你的文档类中调用其它文档类的命令是 \cmd{LoadClass} ,用法和 \cmd{documentclass} 十分相像:
+省去许多不必要的麻烦。在你的文档类中调用其它文档类的命令是 \cmd{LoadClass},用法和 \cmd{documentclass} 十分相像:
\begin{command}
\cmd{LoadClass}\oarg{options}\marg{package name}
\end{command}
@@ -167,7 +167,7 @@ My humble subjects \ldots
\section{计数器}\label{sec:counters}
\pinyinindex{jishuqi}{计数器}
-我们早就见识到了 \LaTeX\ 对文档元素自动计数的能力:章节符号、列表、图表……它们都是依靠 \LaTeX\ 提供的计数器功能完成的。
+我们早就见识到了 \LaTeX{} 对文档元素自动计数的能力:章节符号、列表、图表……它们都是依靠 \LaTeX{} 提供的计数器功能完成的。
\subsection{定义和修改计数器}\label{subsec:count-defs}
@@ -201,17 +201,17 @@ My humble subjects \ldots
注意:这些命令\textbf{只能用于计数器,不能直接用于数字},如 \cmd{roman}\marg*{1} 这样的命令会出错。
\begin{table}[htp]
\centering
-\caption{计数器输出格式相关命令。}\label{tbl:counter-commands}
+\caption{计数器输出格式相关命令}\label{tbl:counter-commands}
\begin{tabular}{lp{22em}l}
\hline
\textbf{命令} & \textbf{样式} & \textbf{范围} \\
\hline
\cmd{arabic} & 阿拉伯数字(默认) & \\
- \cmd{alph} & 小写字母 & 限 0-26 \\
- \cmd{Alph} & 大写字母 & 限 0-26 \\
+ \cmd{alph} & 小写字母 & 限 0--26 \\
+ \cmd{Alph} & 大写字母 & 限 0--26 \\
\cmd{roman} & 小写罗马数字 & 限非负整数 \\
\cmd{Roman} & 大写罗马数字 & 限非负整数 \\
- \cmd{fnsymbol} & 一系列符号,用于 \cmd{thanks} 命令生成的脚注 & 限 0-9 \\
+ \cmd{fnsymbol} & 一系列符号,用于 \cmd{thanks} 命令生成的脚注 & 限 0--9 \\
\hline
\end{tabular}
\begin{quotation}
@@ -230,7 +230,7 @@ My humble subjects \ldots
\renewcommand\thesubsection{\thesection.\arabic{subsection}}
\end{verbatim}
-\subsection{\LaTeX\ 中的计数器}\label{subsec:latex-counts}
+\subsection{\LaTeX{} 中的计数器}\label{subsec:latex-counts}
\begin{itemize}
\item 所有章节命令 \cmd{chapter}、\cmd{section} 等分别对应计数器 chapter、section 等等,而且有上下级的关系。
@@ -256,7 +256,7 @@ My humble subjects \ldots
\subsubsection{secnumdepth}
\index{secnumdepth@secnumdepth (\textit{计数器})}
-\LaTeX\ 标准文档类对章节划分了层级:
+\LaTeX{} 标准文档类对章节划分了层级:
\begin{itemize}
\item 在 \cls{article} 文档类里 part 为 0,section 为 1,依此类推;
\item 在 \cls{report}/\cls{book} 文档类里 part 为 -1,chapter 为 0,section 为 1,等等。
@@ -276,15 +276,15 @@ secnumdepth 计数器在 \cls{article} 文档类里默认为 3 (subsubsection
\index{tocdepth@tocdepth (\textit{计数器})}
tocdepth 计数器控制目录的深度,如果章节的层级大于 tocdepth,那么章节将不会自动写入目录项。默认值同 secnumdepth。
-\section{\LaTeX\ 可定制的一些命令和参数}\label{sec:latex-settings}
+\section{\LaTeX{} 可定制的一些命令和参数}\label{sec:latex-settings}
-\LaTeX\ 事实上有相当一些可以定制的命令和参数,不过对于修改样式或者开发宏包来说,这些定制项还远远不够。
+\LaTeX{} 事实上有相当一些可以定制的命令和参数,不过对于修改样式或者开发宏包来说,这些定制项还远远不够。
对于用户来讲,容易定制的是这一些项目:
\begin{itemize}
\item 标题名称/前后缀等。表 \ref{tbl:latex-settings-names} 列出了标准文档类里可定制的项目,
- 表中所有的 \LaTeX\ 命令都可以用 \cmd{re\-new\-comm\-and} 来修改。
+ 表中所有的 \LaTeX{} 命令都可以用 \cmd{re\-new\-comm\-and} 来修改。
\item 长度。前文在叙述各种排版元素时已经涉及到一些,现归纳于表 \ref{tbl:latex-settings-lengths}。
表中所有的长度命令可用 \cmd{setlength} 来修改。
大多数控制页面尺寸的长度参数在图 \ref{fig:layouts} 给出,此处不再赘述。
@@ -292,7 +292,7 @@ tocdepth 计数器控制目录的深度,如果章节的层级大于 tocdepth
\begin{table}[htp]
\centering
-\caption{\LaTeX\ 可定制的标题名称/前后缀。}\label{tbl:latex-settings-names}
+\caption{\LaTeX{} 可定制的标题名称/前后缀}\label{tbl:latex-settings-names}
\small
\begin{tabular}{llp{24em}}
\hline
@@ -307,9 +307,9 @@ tocdepth 计数器控制目录的深度,如果章节的层级大于 tocdepth
\cmd{listtablename} & List of Tables & \cmd{listoftables} 命令生成的表格目录标题 \\[1ex]
\cmd{tablename} & Table & \env{table} 浮动体中 \cmd{caption} 命令生成的标题前缀 \\
\cmd{figurename} & Figure & \env{figure} 浮动体中 \cmd{caption} 命令生成的标题前缀 \\[1ex]
- \cmd{refname} & References & \env{thebibliography} 环境或 \cmd{biblio\-graphy}
+ \cmd{refname} & References & \env{thebibliography} 环境或 \cmd{biblio\-graphy}
命令生成的参考文献标题(\cls{article} 文档类) \\
- \cmd{bibname} & Bibliography & \env{thebibliography} 环境或 \cmd{biblio\-graphy}
+ \cmd{bibname} & Bibliography & \env{thebibliography} 环境或 \cmd{biblio\-graphy}
命令生成的参考文献标题(\cls{book / report} 文档类)\\
\cmd{indexname} & Index & \cmd{printindex} 命令生成的索引标题 \\
\hline
@@ -322,7 +322,7 @@ tocdepth 计数器控制目录的深度,如果章节的层级大于 tocdepth
\begin{table}[htp]
\centering
-\caption{\LaTeX\ 可定制的长度参数。}\label{tbl:latex-settings-lengths}
+\caption{\LaTeX{} 可定制的长度参数}\label{tbl:latex-settings-lengths}
\small
\begin{tabular}{lll}
\hline
@@ -346,4 +346,4 @@ tocdepth 计数器控制目录的深度,如果章节的层级大于 tocdepth
\end{quotation}
\end{table}
-\endinput \ No newline at end of file
+\endinput
diff --git a/info/lshort/chinese/src/fdl.tex b/info/lshort/chinese/src/chap/fdl.tex
index 820a486b1f..820a486b1f 100644
--- a/info/lshort/chinese/src/fdl.tex
+++ b/info/lshort/chinese/src/chap/fdl.tex
diff --git a/info/lshort/chinese/src/preface.contrib.tex b/info/lshort/chinese/src/chap/preface.contrib.tex
index 61b6186cdf..87d7156b43 100644
--- a/info/lshort/chinese/src/preface.contrib.tex
+++ b/info/lshort/chinese/src/chap/preface.contrib.tex
@@ -2,7 +2,7 @@
\section*{5.05 中文版致谢}
-对 lshort-zh-cn 的新一轮修订在 China\TeX\ 交流 QQ 群 (91940767) 的网友支持下完成。
+对 lshort-zh-cn 的新一轮修订在 China\TeX{} 交流 QQ 群 (91940767) 的网友支持下完成。
参与此次修订的朋友包括:
\begin{center}
@@ -20,19 +20,19 @@
\section*{4.20 中文版致谢}
-中文 \TeX\ 学会启动的 lshort-zh-cn 修正计划!
+中文 \TeX{} 学会启动的 lshort-zh-cn 修正计划!
本项计划历时八个月,参加的朋友有:
\begin{center}
\begin{tabular}{ll}
\toprule
-\textbf{C\TeX 论坛 ID} & \textbf{翻译章节} \\
+\textbf{\hologo{CTeX} 论坛 ID} & \textbf{翻译章节} \\
\midrule
-zpxing & 前言、第二章、第五章 1-2.4 {\&} 3、第六章 \\
+zpxing & 前言、第二章、第五章 1--2.4 {\&} 3、第六章 \\
Frogge & 第一章 \\
liwenjun & 第三章 \\
lijian605 & 第四章 \\
-gprsnl & 第五章 2.5-2.11 \\
+gprsnl & 第五章 2.5--2.11 \\
\bottomrule
\end{tabular}
\end{center}
@@ -44,13 +44,13 @@ blackold 对于第二章亦有所贡献。最后由 zpxing 统筹全书。
\section*{3.20 中文版致谢}
-本文档的翻译工作由 C\TeX{} 版主“经典问题”倡议,历经近十个月才得以完成。
+本文档的翻译工作由 \hologo{CTeX} 版主“经典问题”倡议,历经近十个月才得以完成。
期间参与翻译工作的朋友有:
\begin{center}
\begin{tabular}{lll}
\toprule
-\textbf{C\TeX 论坛 ID} & \textbf{翻译章节} & \textbf{源文件名} \\
+\textbf{\hologo{CTeX} 论坛 ID} & \textbf{翻译章节} & \textbf{源文件名} \\
\midrule
经典问题 & 前言 & overview.tex \\
高原之狼 & 第一章 & things.tex \\
@@ -71,7 +71,7 @@ ganzhi & 第五章 & custom.tex \\
\chapter{英文版致谢}
\noindent Much of the material used in this introduction comes from an
-Austrian introduction to \LaTeX\ 2.09 written in German by:
+Austrian introduction to \LaTeX{} 2.09 written in German by:
\begin{verse}
\contrib{Hubert Partl}{partl@mail.boku.ac.at}%
{Zentraler Informatikdienst der Universit\"at f\"ur Bodenkultur Wien}
@@ -85,7 +85,7 @@ If you are interested in the German document, you can find a version
updated for \LaTeXe{} by J\"org Knappen at
\CTAN|info/lshort/german|
-\newpage \noindent
+\newpage \noindent
The following individuals helped with corrections, suggestions and
material to improve this paper. They put in a big effort to help me
get this document into its present shape. I would like to
@@ -235,4 +235,4 @@ Fritz~Zaucker, % <zaucker@ee.ethz.ch> 3.0
and Mikhail~Zotov. % <zotov@eas.npi.msu.su> 3.1
\end{flushleft}
-\endinput \ No newline at end of file
+\endinput
diff --git a/info/lshort/chinese/src/chap/preface.overview.tex b/info/lshort/chinese/src/chap/preface.overview.tex
new file mode 100644
index 0000000000..f93bf7d8de
--- /dev/null
+++ b/info/lshort/chinese/src/chap/preface.overview.tex
@@ -0,0 +1,58 @@
+\chapter{前言}
+
+\LaTeX{} \cite{manual} 是一个文档准备系统 (Document Preparing System),它非常适用于生成高印刷质量
+的科技类和数学类文档。它也能够生成所有其他种类的文档,小到简单的信件,大到完整的书籍。
+\LaTeX{} 使用 \TeX{} \cite{texbook} 作为它的排版引擎。
+
+这份短小的手册描述了 \LaTeXe{} 的使用,对 \LaTeX{} 的大多数应用来说应该是足够了。
+参考文献 \cite{manual,companion} 对 \LaTeX{} 系统提供了完整的描述。
+
+\bigskip
+本手册在英文版 lshort 的基础上进行了适当的重新编排,共有八章和两篇附录:
+\begin{description}
+ \item[第一章] 讲述 \LaTeX{} 的来源,源代码的基本结构,以及如何编译源代码生成文档。
+ \item[第二章] 讲述在 \LaTeX{} 中如何书写文字,包括中文。
+ \item[第三章] 讲述文档排版的基本元素——标题、目录、列表、图片、表格等等。结合前一章的内容,你应当能够制作内容较为丰富的文档了。
+ \item[第四章] \LaTeX{} 排版公式的能力是众人皆知的。本章的内容涉及了一些排版公式经常用到的命令、环境和符号。
+ 章节末尾列出了 \LaTeX{} 常见的数学符号。
+ \item[第五章] 介绍了如何修改文档的一些基本样式,包括字体、段落、页面尺寸、页眉页脚等。
+ \item[第六章] 介绍了 \LaTeX{} 的一些扩展功能:排版参考文献、排版索引、排版带有颜色和超链接的电子文档。
+ \item[第七章] 介绍了如何在 \LaTeX{} 里使用 \hologo{TikZ} 绘图。作为入门手册,这一部分点到为止。
+ \item[第八章] 当你相当熟悉前面几章的内容,需要自己编写命令和宏包扩展 \LaTeX{} 的功能时,本章介绍了一些基本的命令满足你的需求。
+\end{description}
+\begin{description}
+ \item[附录A] 介绍了如何安装 \TeX{} 发行版和更新宏包。
+ \item[附录B] 当新手遇到错误和需要寻求更多帮助时,本章提供了一些基本的参考。
+\end{description}
+
+\bigskip
+这些章节是循序渐进的,建议刚刚熟悉 \LaTeX{} 的读者按顺序阅读。一定要认真阅读例子的源代码,它们贯穿全篇手册,包含了很多的信息。
+
+\bigskip
+如果你已经对 \LaTeX{} 较为熟练,本手册的资源已不足够解决你的问题时,请访问``Comprehensive
+\TeX{} Archive Network'' (\texttt{CTAN}) 站点,主页是 \url{www.ctan.org}。
+所有的宏包也可以从 \url{mirrors.ctan.org} 和遍布全球的各个镜像站点中获得。
+
+在本书中你会找到其他引用 \texttt{CTAN} 的地方,形式为 \texttt{CTAN://} 和之后的树状结构。
+引用本身是一个超链接,点击后将打开内容在 \texttt{CTAN} 上相应位置的页面。
+
+要在自己的电脑上安装 \TeX{} 发行版,请参考附录 \ref{app:install} 中的内容。
+各个操作系统下的 \TeX{} 发行版位于 \CTAN|systems|。
+
+\bigskip
+如果你有意在这份文档中增加、删除或者改变一些内容,请通知作者。作者对 \LaTeX{}
+初学者的反馈特别感兴趣,尤其是关于这份介绍哪些内容很容易理解,哪些内容可能需要更好地解释,
+而哪些内容由于太过难以理解、非常不常用而不适宜放在本手册。
+
+\bigskip
+\begin{flushright}
+\hologo{CTeX} 开发小组\par
+\url{https://github.com/CTeX-org}
+\end{flushright}
+
+\vfill
+
+\noindent\begingroup\small lshort 的的最新中文版本位于 \CTAN|info/lshort/chinese|。
+如果用户对其他语言的版本感兴趣,请浏览 \CTAN|info/lshort|。\endgroup
+
+\endinput
diff --git a/info/lshort/chinese/src/sec.symbol.table.tex b/info/lshort/chinese/src/chap/sec.symbol.table.tex
index cbd06ec9ce..33ce2cd11d 100644
--- a/info/lshort/chinese/src/sec.symbol.table.tex
+++ b/info/lshort/chinese/src/chap/sec.symbol.table.tex
@@ -30,12 +30,12 @@
\item 带有角标\lsym 的符号命令依赖 \pkg{latexsym} 宏包。
\end{enumerate}
-\subsection{\LaTeX\ 普通符号}
+\subsection{\LaTeX{} 普通符号}
\symindex{dag,ddag,P,S,copyright,pounds}
\begin{table}[htp]
\centering
-\caption{文本/数学模式通用符号。}\label{tbl:general-syms}
+\caption{文本/数学模式通用符号}\label{tbl:general-syms}
\begin{quote}\footnotesize%
这些符号可用于文本和数学模式。
\end{quote}
@@ -50,7 +50,7 @@
\begin{table}[htp]
\centering
-\caption{希腊字母。} \label{tbl:math-greek}
+\caption{希腊字母} \label{tbl:math-greek}
\begin{quote}\footnotesize%
\cmd{Alpha},\cmd{Beta} 等希腊字母符号不存在,因为它们和拉丁字母 A,B 等一模一样;
小写字母里也不存在 \cmd{omicron},直接用拉丁字母 $o$ 代替。
@@ -77,7 +77,7 @@
\begin{table}[htp]
\centering
-\caption{二元关系符。} \label{tbl:math-rel}
+\caption{二元关系符} \label{tbl:math-rel}
\begin{quote}\footnotesize%
所有的二元关系符都可以加 \cmd{not} 前缀得到相反意义的关系符,例如 \cmd{not}\texttt{=} 就得到不等号(同 \cmd{ne})。
\end{quote}
@@ -103,7 +103,7 @@
\begin{table}[htp]
\centering
-\caption{二元运算符。}\label{tbl:math-op}
+\caption{二元运算符}\label{tbl:math-op}
\begin{symbols}{*3{cl}}
\hline
\SYM{+} & \SYM{-} & \\
@@ -125,7 +125,7 @@
\begin{table}[htp]
\centering
-\caption{巨算符。}\label{tbl:math-bigop}
+\caption{巨算符}\label{tbl:math-bigop}
\def\arraystretch{2.2}
\begin{symbols}{*3{ccl}}
\hline
@@ -142,7 +142,7 @@
\begin{table}[htp]
\centering
-\caption{数学重音符号。}\label{tbl:math-accents}
+\caption{数学重音符号}\label{tbl:math-accents}
\begin{quote}\footnotesize%
最后一个 \cmd{wideparen} 依赖 \pkg{yhmath} 宏包。
\end{quote}
@@ -160,7 +160,7 @@
\begin{table}[htp]
\centering
-\caption{箭头。} \label{tbl:math-arrows}
+\caption{箭头} \label{tbl:math-arrows}
\begin{symbols}{*2{cl}}
\hline
\SYM{\leftarrow} or \cmd{gets} & \SYM{\longleftarrow} \\
@@ -186,7 +186,7 @@
\begin{table}[htp]
\centering
-\caption{作为重音的箭头符号。} \label{tbl:math-arrow-accents}
+\caption{作为重音的箭头符号} \label{tbl:math-arrow-accents}
\begin{symbols}{*2{cl}}
\hline
\ACC{\overrightarrow}{AB} & \AMSACC{\underrightarrow}{AB} \\
@@ -198,24 +198,26 @@
\begin{table}[htp]
\centering
-\caption{定界符。}\label{tbl:math-delims}
-\begin{symbols}{*3{cl}}
+\caption{定界符}\label{tbl:math-delims}
+\begin{quote}\footnotesize%
+\pkg{amsmath} 还定义了 \amscmd{lvert}、\amscmd{rvert} 和 \amscmd{lVert}、\amscmd{rVert},
+分别作为 \cmd{vert} 和 \cmd{Vert} 对应的开符号(左侧)和闭符号(右侧)的命令。
+\end{quote}
+\begin{symbols}{*4{cl}}
\hline
- \SYM{(} & \SYM{)} & \SYM{\uparrow} \\
- \SYM{[} or \cmd{lbrack} & \SYM{]} or \cmd{rbrack} & \SYM{\downarrow} \\
- \SYM{\{} or \cmd{lbrace} & \SYM{\}} or \cmd{rbrace} & \SYM{\updownarrow} \\
- \SYM{\langle} & \SYM{\rangle} & \SYM{\Uparrow} \\
- \SYM{|} or \cmd{vert} & \SYM{\|} or \cmd{Vert} & \SYM{\Downarrow} \\
- \SYM{/} & \SYM{\backslash} & \SYM{\Updownarrow} \\
- \SYM{\lfloor} & \SYM{\rfloor} & \\
- \SYM{\rceil} & \SYM{\lceil} & & \\
+ \SYM{(} & \SYM{)} & \SYM{\uparrow} & \SYM{\downarrow} \\
+ \SYM{[} or \cmd{lbrack} & \SYM{]} or \cmd{rbrack} & \SYM{\Uparrow} & \SYM{\Downarrow} \\
+ \SYM{\{} or \cmd{lbrace} & \SYM{\}} or \cmd{rbrace} & \SYM{\updownarrow} & \SYM{\Updownarrow} \\
+ \SYM{|} or \cmd{vert} & \SYM{\|} or \cmd{Vert} & \SYM{\lceil} & \SYM{\rceil} \\
+ \SYM{\langle} & \SYM{\rangle} & \SYM{\lfloor} & \SYM{\rfloor} \\
+ \SYM{/} & \SYM{\backslash} \\
\hline
\end{symbols}
\end{table}
\begin{table}[htp]
\centering
-\caption{用于行间公式的大定界符。}\label{tbl:math-large-delims}
+\caption{用于行间公式的大定界符}\label{tbl:math-large-delims}
\def\arraystretch{1.8}
\begin{symbols}{*3{cl}}
\hline
@@ -228,7 +230,7 @@
\begin{table}[htp]
\centering
-\caption{其他符号。}\label{tbl:math-misc}
+\caption{其他符号}\label{tbl:math-misc}
\begin{symbols}{*4{cl}}
\hline
\SYM{\dots} & \SYM{\cdots} & \SYM{\vdots} & \SYM{\ddots} \\
@@ -245,13 +247,13 @@
\end{table}
\clearpage
-\subsection{\AmS\ 符号}
+\subsection{\hologo{AmS} 符号}
本小节所有符号依赖 \pkg{amssymb} 宏包。
\begin{table}[htp]
\centering
-\caption{\AmS\ 希腊字母和希伯来字母。} \label{tbl:ams-greek-hebrew}
+\caption{\AmS{} 希腊字母和希伯来字母} \label{tbl:ams-greek-hebrew}
\begin{symbols}{*5{cl}}
\hline
\AMSSYM{\digamma} &\AMSSYM{\varkappa} & \AMSSYM{\beth} &\AMSSYM{\gimel} & \AMSSYM{\daleth}\\
@@ -261,7 +263,7 @@
\begin{table}[htp]
\centering
-\caption{\AmS\ 二元关系符。} \label{tbl:ams-rel}
+\caption{\AmS{} 二元关系符} \label{tbl:ams-rel}
\begin{symbols}{*3{cl}}
\hline
\AMSSYM{\lessdot} & \AMSSYM{\gtrdot} & \AMSSYM{\doteqdot} \\
@@ -292,7 +294,7 @@
\begin{table}[htp]
\centering
-\caption{\AmS\ 二元运算符。} \label{tbl:ams-op}
+\caption{\hologo{AmS} 二元运算符} \label{tbl:ams-op}
\begin{symbols}{*3{cl}}
\hline
\AMSSYM{\dotplus} & \AMSSYM{\centerdot} & \\
@@ -309,7 +311,7 @@
\begin{table}[htp]
\centering
-\caption{\AmS\ 箭头。}\label{tbl:ams-arrows}
+\caption{\hologo{AmS} 箭头}\label{tbl:ams-arrows}
\begin{symbols}{*2{cl}}
\hline
\AMSSYM{\dashleftarrow} & \AMSSYM{\dashrightarrow} \\
@@ -333,47 +335,46 @@
\begin{table}[htp]
\centering
-\caption{\AmS\ 反义二元关系符和箭头。}\label{tbl:ams-negative}
+\caption{\hologo{AmS} 反义二元关系符和箭头}\label{tbl:ams-negative}
\begin{symbols}{*3{cl}}
\hline
- \AMSSYM{\nless} & \AMSSYM{\ngtr} & \AMSSYM{\varsubsetneqq} \\
- \AMSSYM{\lneq} & \AMSSYM{\gneq} & \AMSSYM{\varsupsetneqq} \\
- \AMSSYM{\nleq} & \AMSSYM{\ngeq} & \AMSSYM{\nsubseteqq} \\
- \AMSSYM{\nleqslant} & \AMSSYM{\ngeqslant} & \AMSSYM{\nsupseteqq} \\
- \AMSSYM{\lneqq} & \AMSSYM{\gneqq} & \AMSSYM{\nmid} \\
- \AMSSYM{\lvertneqq} & \AMSSYM{\gvertneqq} & \AMSSYM{\nparallel} \\
- \AMSSYM{\nleqq} & \AMSSYM{\ngeqq} & \AMSSYM{\nshortmid} \\
- \AMSSYM{\lnsim} & \AMSSYM{\gnsim} & \AMSSYM{\nshortparallel} \\
- \AMSSYM{\lnapprox} & \AMSSYM{\gnapprox} & \AMSSYM{\nsim} \\
- \AMSSYM{\nprec} & \AMSSYM{\nsucc} & \AMSSYM{\ncong} \\
- \AMSSYM{\npreceq} & \AMSSYM{\nsucceq} & \AMSSYM{\nvdash} \\
- \AMSSYM{\precneqq} & \AMSSYM{\succneqq} & \AMSSYM{\nvDash} \\
- \AMSSYM{\precnsim} & \AMSSYM{\succnsim} & \AMSSYM{\nVdash} \\
- \AMSSYM{\precnapprox} & \AMSSYM{\succnapprox} & \AMSSYM{\nVDash} \\
- \AMSSYM{\subsetneq} & \AMSSYM{\supsetneq} & \AMSSYM{\ntriangleleft} \\
- \AMSSYM{\varsubsetneq} & \AMSSYM{\varsupsetneq} & \AMSSYM{\ntriangleright} \\
- \AMSSYM{\nsubseteq} & \AMSSYM{\nsupseteq} & \AMSSYM{\ntrianglelefteq}\\
- \AMSSYM{\subsetneqq} & \AMSSYM{\supsetneqq} &\AMSSYM{\ntrianglerighteq}\\[0.5ex]
- \AMSSYM{\nleftarrow} & \AMSSYM{\nrightarrow} & \AMSSYM{\nleftrightarrow}\\
- \AMSSYM{\nLeftarrow} & \AMSSYM{\nRightarrow} & \AMSSYM{\nLeftrightarrow} \\
+ \AMSSYM{\nless} & \AMSSYM{\ngtr} & \AMSSYM{\varsubsetneqq} \\
+ \AMSSYM{\lneq} & \AMSSYM{\gneq} & \AMSSYM{\varsupsetneqq} \\
+ \AMSSYM{\nleq} & \AMSSYM{\ngeq} & \AMSSYM{\nsubseteqq} \\
+ \AMSSYM{\nleqslant} & \AMSSYM{\ngeqslant} & \AMSSYM{\nsupseteqq} \\
+ \AMSSYM{\lneqq} & \AMSSYM{\gneqq} & \AMSSYM{\nmid} \\
+ \AMSSYM{\lvertneqq} & \AMSSYM{\gvertneqq} & \AMSSYM{\nparallel} \\
+ \AMSSYM{\nleqq} & \AMSSYM{\ngeqq} & \AMSSYM{\nshortmid} \\
+ \AMSSYM{\lnsim} & \AMSSYM{\gnsim} & \AMSSYM{\nshortparallel} \\
+ \AMSSYM{\lnapprox} & \AMSSYM{\gnapprox} & \AMSSYM{\nsim} \\
+ \AMSSYM{\nprec} & \AMSSYM{\nsucc} & \AMSSYM{\ncong} \\
+ \AMSSYM{\npreceq} & \AMSSYM{\nsucceq} & \AMSSYM{\nvdash} \\
+ \AMSSYM{\precneqq} & \AMSSYM{\succneqq} & \AMSSYM{\nvDash} \\
+ \AMSSYM{\precnsim} & \AMSSYM{\succnsim} & \AMSSYM{\nVdash} \\
+ \AMSSYM{\precnapprox} & \AMSSYM{\succnapprox} & \AMSSYM{\nVDash} \\
+ \AMSSYM{\subsetneq} & \AMSSYM{\supsetneq} & \AMSSYM{\ntriangleleft} \\
+ \AMSSYM{\varsubsetneq} & \AMSSYM{\varsupsetneq} & \AMSSYM{\ntriangleright} \\
+ \AMSSYM{\nsubseteq} & \AMSSYM{\nsupseteq} & \AMSSYM{\ntrianglelefteq} \\
+ \AMSSYM{\subsetneqq} & \AMSSYM{\supsetneqq} & \AMSSYM{\ntrianglerighteq} \\
+ \AMSSYM{\nleftarrow} & \AMSSYM{\nrightarrow} & \AMSSYM{\nleftrightarrow} \\
+ \AMSSYM{\nLeftarrow} & \AMSSYM{\nRightarrow} & \AMSSYM{\nLeftrightarrow} \\
\hline
\end{symbols}
\end{table}
\begin{table}[htp]
\centering
-\caption{\AmS\ 定界符}\label{tbl:ams-delims}
+\caption{\hologo{AmS} 定界符}\label{tbl:ams-delims}
\begin{symbols}{*4{cl}}
\hline
-\AMSSYM{\ulcorner}&\AMSSYM{\urcorner}&\AMSSYM{\llcorner}&\AMSSYM{\lrcorner}\\
-\AMSSYM{\lvert} &\AMSSYM{\rvert} &\AMSSYM{\lVert} &\AMSSYM{\rVert}\\
+\AMSSYM{\ulcorner} & \AMSSYM{\urcorner} & \AMSSYM{\llcorner} & \AMSSYM{\lrcorner} \\
\hline
\end{symbols}
\end{table}
-\begin{table}[htp]
+\begin{table}[htp]
\centering
-\caption{\AmS\ 其它符号。}\label{tbl:ams-misc}
+\caption{\hologo{AmS} 其它符号}\label{tbl:ams-misc}
\begin{symbols}{*3{cl}}
\hline
\AMSSYM{\hbar} & \AMSSYM{\hslash} & \AMSSYM{\Bbbk} \\
@@ -389,4 +390,4 @@
\end{symbols}
\end{table}
-\endinput \ No newline at end of file
+\endinput
diff --git a/info/lshort/chinese/src/titlepage.tex b/info/lshort/chinese/src/chap/titlepage.tex
index e6d3bb0be4..3a7f4e97eb 100644
--- a/info/lshort/chinese/src/titlepage.tex
+++ b/info/lshort/chinese/src/chap/titlepage.tex
@@ -16,7 +16,7 @@
{\bfseries 英文作者:} Tobias Oetiker\\
Hubert Partl, Irene Hyna and Elisabeth Schlegl \\
{\bfseries 英文版本:} Version~\lshortversionoriginal, \lshortdateoriginal\\[4ex]
- {\bfseries 中文翻译:} C\TeX\ 开发小组 \\
+ {\bfseries 中文翻译:} \hologo{CTeX} 开发小组 \\
{\bfseries 中文版本:} 版本~\lshortversioncn,\zhdigits*{\the\year}年\zhnumber{\the\month}月
\end{minipage}%
}
@@ -25,11 +25,11 @@
\newpage\thispagestyle{empty}
\begin{quote}\footnotesize
- Copyright \copyright{} {\the\year} Chinese \TeX\ Society. \\
+ Copyright \copyright{} {\the\year} Chinese \TeX{} Society. \\
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
-\end{quote} \ No newline at end of file
+\end{quote}
diff --git a/info/lshort/chinese/src/lshort-zh-cn-style.sty b/info/lshort/chinese/src/lshort-zh-cn-style.sty
index 6f8ae9e306..3aca98d561 100644
--- a/info/lshort/chinese/src/lshort-zh-cn-style.sty
+++ b/info/lshort/chinese/src/lshort-zh-cn-style.sty
@@ -8,7 +8,8 @@
% 基本工具宏包
%
\RequirePackage{amsmath,amsthm}
-\RequirePackage{hologo,ulem,verbatim,fancyvrb,layout,multicol}
+\RequirePackage{hologo,verbatim,fancyvrb,layout,multicol}
+\RequirePackage[normalem]{ulem}
\RequirePackage{colortbl,tabularx,multirow,makecell,booktabs}
\RequirePackage{graphicx,xcolor,float,subfig}
\RequirePackage{makeidx}
@@ -21,17 +22,19 @@
% 中文正文字体使用 Fandol
%
\PassOptionsToPackage{no-math}{fontspec}
-\RequirePackage[zihao=false,scheme=chinese,heading=true]{ctex}[2015/06/24]
+\RequirePackage[zihao=false,scheme=chinese,heading=true,fontset=fandol]{ctex}[2015/06/24]
%
% 字体和符号宏包
%
\setmainfont{cmun}[
- Extension = .otf,
- UprightFont = *rm,
- ItalicFont = *ti,
- BoldFont = *bx,
- BoldItalicFont = *bi,
+ Extension = .otf,
+ UprightFont = *rm,
+ ItalicFont = *ti,
+ SlantedFont = *sl,
+ BoldFont = *bx,
+ BoldItalicFont = *bi,
+ BoldSlantedFont = *bl,
]
\setsansfont{cmun}[
Extension = .otf,
@@ -48,6 +51,10 @@
BoldItalicFont = *tx,
]
\RequirePackage{amssymb,latexsym,textcomp,mathrsfs,euscript,yhmath} % 与默认字体不冲突的一些符号包
+% 消除 \t 命令的字体 warning
+\AtBeginDocument{%}
+ \renewcommand*\t[1]{{\edef\restore@font{\the\font}\usefont{OML}{cmm}{m}{it}\accent"7F\restore@font#1}}
+}
% 调整 layout 宏包的命令使之能够放入浮动体,手动指定奇偶页的 layout
\input lshort-zh-cn-layout
@@ -146,6 +153,22 @@
{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
+% 允许 hologo 断词
+\hologoSetup{discretionarybreak=true}
+% 新定义 hologo
+\def\HoLogo@TeXLive#1{%
+ \hologo{TeX}\HOLOGO@space\HOLOGO@mbox{Live}%
+}
+\def\HoLogo@MacTeX#1{%
+ \HOLOGO@mbox{Mac}\hologo{TeX}%
+}
+\def\HoLogo@CTeX#1{%
+ \HOLOGO@mbox{C}\hologo{TeX}%
+}
+\def\HoLogo@TikZ#1{%
+ \HOLOGO@mbox{Ti\textit{k\/}Z}
+}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% lshort 用到的自定义命令
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -159,15 +182,6 @@
\def\CTAN|#1|{\href{http://mirrors.tuna.tsinghua.edu.cn/CTAN/#1}{\CTANref|CTAN://#1|}}
\newcommand{\contrib}[3]{#1\quad\mailto|#2|{\small\\\quad\textit{#3}}\\[1ex]}
-\DeclareRobustCommand*\TikZ{Ti\textit{k\/}Z}
-%
-% PDF 书签中对符号的特殊处理
-%
-\pdfstringdefDisableCommands{%
- \def\AmS{AMS}%
- \def\TikZ{TikZ}%
-}
-
%
% 示意长度
%
diff --git a/info/lshort/chinese/src/lshort-zh-cn.tex b/info/lshort/chinese/src/lshort-zh-cn.tex
index fca438c9b0..1569155b6c 100644
--- a/info/lshort/chinese/src/lshort-zh-cn.tex
+++ b/info/lshort/chinese/src/lshort-zh-cn.tex
@@ -3,7 +3,7 @@
\def\lshortversionoriginal{6.2}
\def\lshortdateoriginal{Februrary 28, 2018}
-\def\lshortversioncn{6.01}
+\def\lshortversioncn{6.02}
\hypersetup{%
pdftitle={The Short Introduction to LaTeX2e (Chinese Simplified)},%
@@ -24,32 +24,32 @@
\begin{document}
\pagenumbering{Alph}
-\input{titlepage}
+\input{chap/titlepage}
\frontmatter
-\input{preface.contrib}
-\input{preface.overview}
+\input{chap/preface.contrib}
+\input{chap/preface.overview}
\tableofcontents
\mainmatter
-\input{chap.01.basics}
-\input{chap.02.text}
-\input{chap.03.elements}
-\input{chap.04.math}
-\input{sec.symbol.table}
-\input{chap.05.style}
-\input{chap.06.spec}
-\input{chap.07.graphic}
-\input{chap.08.custom}
+\input{chap/chap.01.basics}
+\input{chap/chap.02.text}
+\input{chap/chap.03.elements}
+\input{chap/chap.04.math}
+\input{chap/sec.symbol.table}
+\input{chap/chap.05.style}
+\input{chap/chap.06.spec}
+\input{chap/chap.07.graphic}
+\input{chap/chap.08.custom}
\appendix
-\input{app.A.install}
-\input{app.B.error.help}
+\input{chap/app.A.install}
+\input{chap/app.B.error.help}
\refstepcounter{minutes}\label{lshort-minutes}
\backmatter
-\input{biblio}
-\input{fdl}
+\input{chap/biblio}
+\input{chap/fdl}
\printindex
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/info/lshort/chinese/src/make.bat b/info/lshort/chinese/src/make.bat
index e58af4ae36..5ed26b3178 100644
--- a/info/lshort/chinese/src/make.bat
+++ b/info/lshort/chinese/src/make.bat
@@ -1,32 +1,34 @@
-@echo off
-set LSHORT=lshort-zh-cn
-set PDF=%LSHORT%.pdf
-set TEMP=%LSHORT%.xdv %LSHORT%.aux %LSHORT%.log %LSHORT%.idx %LSHORT%.ind %LSHORT%.ilg %LSHORT%.out %LSHORT%.toc %LSHORT%.los %LSHORT%-example.aux %LSHORT%.synctex.gz
-
-if "%1"=="clean" goto clean
-
-set TEX=xelatex
-set NOPDFMODE=-interaction=nonstopmode -synctex=1 --no-pdf
-set MODE=-interaction=nonstopmode -synctex=1
-set MAKEINDEX=makeindex
-
-%TEX% %NOPDFMODE% %LSHORT%
-%MAKEINDEX% -s %LSHORT%.ist %LSHORT%
-%TEX% %NOPDFMODE% %LSHORT%
-%TEX% %MODE% %LSHORT%
-
-if exist %PDF% (
-copy %PDF% ..
-)
-exit
-
-:clean
-del %TEMP%
-del %PDF%
-exit
-
-:distclean
-del %TEMP%
-del %PDF%
-del ..\%PDF%
-exit
+@echo off
+cd %~dp0
+set LSHORT=lshort-zh-cn
+set PDF=%LSHORT%.pdf
+set TEMP=%LSHORT%.xdv %LSHORT%.aux %LSHORT%.log %LSHORT%.idx %LSHORT%.ind %LSHORT%.ilg %LSHORT%.out %LSHORT%.toc %LSHORT%.los %LSHORT%-example.aux %LSHORT%.synctex.gz
+
+if "%1"=="clean" goto clean
+if "%1"=="distclean" goto distclean
+
+set TEX=xelatex
+set NOPDFMODE=-interaction=nonstopmode -synctex=1 --no-pdf
+set MODE=-interaction=nonstopmode -synctex=1
+set MAKEINDEX=makeindex
+
+%TEX% %NOPDFMODE% %LSHORT%
+%MAKEINDEX% -s %LSHORT%.ist %LSHORT%
+%TEX% %NOPDFMODE% %LSHORT%
+%TEX% %MODE% %LSHORT%
+
+if exist %PDF% (
+copy %PDF% ..
+)
+exit /B
+
+:clean
+del %TEMP%
+del %PDF%
+exit /B
+
+:distclean
+del %TEMP%
+del %PDF%
+del ..\%PDF%
+exit /B
diff --git a/info/lshort/chinese/src/preface.overview.tex b/info/lshort/chinese/src/preface.overview.tex
deleted file mode 100644
index 3bf947d2ae..0000000000
--- a/info/lshort/chinese/src/preface.overview.tex
+++ /dev/null
@@ -1,58 +0,0 @@
-\chapter{前言}
-
-\LaTeX\ \cite{manual} 是一个文档准备系统(Document Preparing System),它非常适用于生成高印刷质量
-的科技类和数学类文档。它也能够生成所有其他种类的文档,小到简单的信件,大到完整的书籍。
-\LaTeX~使用 \TeX\ \cite{texbook} 作为它的排版引擎。%
-
-这份短小的手册描述了 \LaTeXe\ 的使用,对 \LaTeX 的大多数应用来说应该是足够了。
-参考文献 \cite{manual,companion} 对 \LaTeX\ 系统提供了完整的描述。%
-
-\bigskip
-本手册在英文版 lshort 的基础上进行了适当的重新编排,共有八章和两篇附录:%
-\begin{description}%
-\item[第一章] 讲述 \LaTeX\ 的来源,源代码的基本结构,以及如何编译源代码生成文档。
-\item[第二章] 讲述在 \LaTeX\ 中如何书写文字,包括中文。%
-\item[第三章] 讲述文档排版的基本元素——标题、目录、列表、图片、表格等等。结合前一章的内容,你应当能够制作内容较为丰富的文档了。%
-\item[第四章] \LaTeX\ 排版公式的能力是众人皆知的。本章的内容涉及了一些排版公式经常用到的命令、环境和符号。
- 章节末尾列出了 \LaTeX\ 常见的数学符号。%
-\item[第五章] 介绍了如何修改文档的一些基本样式,包括字体、段落、页面尺寸、页眉页脚等。
-\item[第六章] 介绍了 \LaTeX\ 的一些扩展功能:排版参考文献、排版索引、排版带有颜色和超链接的电子文档。
-\item[第七章] 介绍了如何在 \LaTeX\ 里使用 \TikZ\ 绘图。作为入门手册,这一部分点到为止。
-\item[第八章] 当你相当熟悉前面几章的内容,需要自己编写命令和宏包扩展 \LaTeX\ 的功能时,本章介绍了一些基本的命令满足你的需求。
-\end{description}%
-\begin{description}
-\item[附录A] 介绍了如何安装 \TeX\ 发行版和更新宏包。
-\item[附录B] 当新手遇到错误和需要寻求更多帮助时,本章提供了一些基本的参考。
-\end{description}
-
-\bigskip
-这些章节是循序渐进的,建议刚刚熟悉 \LaTeX\ 的读者按顺序阅读。一定要认真阅读例子的源代码,它们贯穿全篇手册,包含了很多的信息。%
-
-\bigskip
-如果你已经对 \LaTeX\ 较为熟练,本手册的资源已不足够解决你的问题时,请访问``Comprehensive
-\TeX\ Archive Network'' (\texttt{CTAN}) 站点,主页是 \url{www.ctan.org}。
-所有的宏包也可以从 \url{mirrors.ctan.org} 和遍布全球的各个镜像站点中获得。
-
-在本书中你会找到其他引用 \texttt{CTAN} 的地方,形式为 \texttt{CTAN://} 和之后的树状结构。
-引用本身是一个超链接,点击后将打开内容在 \texttt{CTAN} 上相应位置的页面。
-
-要在自己的电脑上安装 \TeX\ 发行版,请参考附录 \ref{app:install} 中的内容。
-各个操作系统下的 \TeX\ 发行版位于 \CTAN|systems|。
-
-\bigskip
-如果你有意在这份文档中增加、删除或者改变一些内容,请通知作者。作者对 \LaTeX\
-初学者的反馈特别感兴趣,尤其是关于这份介绍哪些内容很容易理解,哪些内容可能需要更好地解释,
-而哪些内容由于太过难以理解、非常不常用而不适宜放在本手册。
-
-\bigskip
-\begin{flushright}
-C\TeX\ 开发小组\par
-\url{https://github.com/CTeX-org}
-\end{flushright}
-
-\vfill
-
-\noindent\begingroup\small lshort 的的最新中文版本位于 \CTAN|info/lshort/chinese|。
-如果用户对其他语言的版本感兴趣,请浏览 \CTAN|info/lshort|。\endgroup
-
-\endinput \ No newline at end of file
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README
index 33105c1007..9998677f89 100644
--- a/macros/luatex/generic/luatexja/README
+++ b/macros/luatex/generic/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20200518.0
+The LuaTeX-ja Package 20200802.0
--------------------------------
Copyright (c) 2011--2020 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -45,9 +45,9 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20200518.0 in the Git repository by
+ or tagged as 20200802.0 in the Git repository by
<http://git.osdn.jp/view?p=luatex-ja/luatexja.git
- ;a=snapshot;h=refs/tags/20200518.0;sf=tgz>
+ ;a=snapshot;h=refs/tags/20200802.0;sf=tgz>
b. Extract the archive and process following three files by LuaLaTeX
to generate classes for Japanese typesetting:
@@ -95,4 +95,4 @@ Notes
* src/*.{ins.dtx} and src/ltj-kinsoku_make.tex are not needed in regular use.
-Last commit date: Mon May 18 05:28:24 2020 +0900
+Last commit date: Sun Aug 2 19:53:42 2020 +0900
diff --git a/macros/luatex/generic/luatexja/doc/ltjclasses.pdf b/macros/luatex/generic/luatexja/doc/ltjclasses.pdf
index 82b5a12e8a..46209980cc 100644
--- a/macros/luatex/generic/luatexja/doc/ltjclasses.pdf
+++ b/macros/luatex/generic/luatexja/doc/ltjclasses.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
index 9bdf6dd8df..dbe97a5116 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
index 6a6defdd29..72227e28e7 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx
index 09df86b361..18ca18cdae 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja.dtx
+++ b/macros/luatex/generic/luatexja/doc/luatexja.dtx
@@ -5177,27 +5177,27 @@ JFMで指定されているそれぞれの値をスケーリングしたもの
\end{itemize}
$i$,~$j\in \omega$に対して,\texttt{char\_type[$i$][$j$]} は
文字クラス$i$の文字と$j$の文字の間に挿入されるグルーやカーンを格納している.
-\begin{itemize}
- \item 間に入るものがカーンであれば,この値は\
-\texttt{[$j$]=\{[1]=<kern\_node>, ratio=<ratio>\}} であり,
+
+間に入るものがカーンであれば,この値は%
+\texttt{[$j$]=\{[1]=<kern\_node>, ratio=<ratio>\}}であり,
<kern\_node>はカーンを表すノードである\footnote{%
バージョン20150420.0以降ではノードのアクセス手法にdirect access
modelを用いているため,ノードそのものを表すユーザーデータではなく,
内部で参照のために使われる添字(整数)である.
}.
- \item グルーであれば,この値は以下のキーを持つテーブルである.
- \begin{description}
- \item[\texttt{width}, \texttt{stretch}, \texttt{shrink}]
- グルーのそれぞれ自然長,伸び量,縮み量をsp単位で表したもの.
- \item[\texttt{priority}] バ(ージョン2以降の)JFMでの指定 \texttt{\{<stretch>,<shrink>\}} を
- \[
- (\text{<stretch>}+4)\cdot 8+\text{<shrink>}+4
- \]
- として0--63の整数にパックしたもの.
- \item[\texttt{ratio}, \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch}, \texttt{kanjiskip\_shrink}]
- JFM中の同名のフィールドの値がそのまま使われている.
- \end{description}
-\end{itemize}
+
+グルーであれば,この値は以下のキーを持つテーブルである.
+\begin{description}
+ \item[\texttt{width}, \texttt{stretch}, \texttt{shrink}]
+ グルーのそれぞれ自然長,伸び量,縮み量をsp単位で表したもの.
+ \item[\texttt{priority}] (バージョン2以降の)JFMでの指定 \texttt{\{<stretch>,<shrink>\}} を
+ \[
+ (\text{<stretch>}+4)\cdot 8+\text{<shrink>}+4
+ \]
+ として0--63の整数にパックしたもの.
+ \item[\texttt{ratio}, \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch}, \texttt{kanjiskip\_shrink}]
+ JFM中の同名のフィールドの値がそのまま使われている.
+\end{description}
\item[chars\_cbcache]
文字クラス決定の処理で.キャッシュとして使われる.
\end{cslist}
@@ -7171,7 +7171,7 @@ CID番号が<number>の文字を出力する.
特に縦組用グリフのCID番号を指定した場合は(LuaTeX-ja 20190504.0以降では若干改良されているが)
意図しない結果になる可能性が高い.
なお,バージョン20190708.0以降では,CIDからグリフへの選択にグリフ名の情報を使用していない.
- また,フォントにIVDコレクションAdobe-Japan1が含まれていれば,その情報を用いて
+ また,フォントにAdobe-Japan1のIVSが含まれていれば,その情報を用いて
グリフを選択する.
}を出力する.
@@ -10553,7 +10553,8 @@ variation selectors are ``combined'' with the previous character.
\item trueの場合は,異体字セレクタは「直前の文字に続けて」出力されるため,
例えば以下の例(左側は入力,右側はその出力)のようになる.
%</ja>
-\begin{LTXexample}
+%%%% [preset=...]: workaround for lstlisting inside LTXexample
+\begin{LTXexample}[preset=\expandafter\def\csname @captype\endcsname{lstlisting}]
\begin{lstlisting}[vsraw=true]
葛󠄀城市,葛󠄁飾区,葛西
\end{lstlisting}
@@ -10569,7 +10570,7 @@ The default setting of the \texttt{vscmd} key produces the following.
どのような形で出力されるかを規定するのが \texttt{vscmd} キーであり,
\Pkg{lltjp-listings} の標準設定では以下の例の右側のように出力される.
%</ja>
-\begin{LTXexample}
+\begin{LTXexample}[preset=\expandafter\def\csname @captype\endcsname{lstlisting}]
\begin{lstlisting}[vsraw=false,
vscmd=\ltjlistingsvsstdcmd]
葛󠄀城市,葛󠄁飾区,葛西
@@ -11017,9 +11018,9 @@ $|\textit{total}|$の分だけが,行中のグルーの伸び量,あるい
キャッシュとして保存しているのと同様の方法で,
\LuaTeX-jaもいくつかのキャッシュファイルを作成するようになった.
\begin{itemize}
- \item 通常,キャッシュは\texttt{\$TEXMFVAR/luatexja/}以下に保存され,
+ \item 通常,キャッシュは \texttt{\$TEXMFVAR/luatexja/} 以下に保存され,
そこから読み込みが行われる.
- \item 「通常の」テキスト形式のキャッシュ(拡張子は \texttt{.lua})以外にも,
+ \item 「通常の」テキスト形式のキャッシュ(拡張子は \texttt{.lua.gz},gzip圧縮されているため)以外にも,
それをバイナリ形式(バイトコード)に変換したものもサポートしている.
\begin{itemize}
\item キャッシュを読み込む時,同名のバイナリキャッシュがあれば,
@@ -11028,6 +11029,7 @@ $|\textit{total}|$の分だけが,行中のグルーの伸び量,あるい
同時に更新される.
また,(バイナリ版が見つからず)テキスト形式のキャッシュ側が読み込まれたときは,
\LuaTeX-jaはバイナリキャッシュを作成する.
+未圧縮のテキスト形式のキャッシュ(\texttt{hoge.lua})は20200802.0以降では利用しない.
\end{itemize}
\end{itemize}
%</ja>
@@ -11038,12 +11040,13 @@ in a similar way to the \Pkg{luaotfload} package:
\begin{itemize}
\item Cache files are usually stored in (and loaded from)
\texttt{\$TEXMFVAR/luatexja/}.
- \item In addition to caches of the text form (the extension is ``\texttt{.lua}''),
-caches of the \emph{binary}, precompiled form are supported.
+ \item In addition to caches of the text form (the extension is ``\texttt{.lua.gz}'',
+because they are compressed by gzip),
+caches of the \emph{binary}~(bytecode) form are supported.
\begin{itemize}
\item In loading a cache, the binary cache precedes
the text form.
- \item When \LuaTeX-ja updates a cache \texttt{hoge.lua},
+ \item When \LuaTeX-ja updates a compressed text cache \texttt{hoge.lua.gz},
its binary version is also updated.
\end{itemize}
\end{itemize}
@@ -11052,9 +11055,9 @@ its binary version is also updated.
%<*ja>
\subsection{キャッシュの使用箇所}
-\LuaTeX-ja では以下の3種類のキャッシュを使用している:
+\LuaTeX-ja では以下のキャッシュを使用している:
\begin{cslist}
-\item[ltj-cid-auto-adobe-japan1.lua]
+\item[ltj-cid-auto-adobe-japan1.\{lua.gz,luc\}]
Ryumin-Lightのような非埋め込みフォントの情報を格納しており,
(それらが\LuaTeX-jaの標準和文フォントなので)\LuaTeX-jaの読み込み時に自動で読まれる.
生成には\texttt{UniJIS2004-UTF32-\{H,V\}}, \texttt{Adobe-Japan1-UCS2}という3つの
@@ -11069,7 +11072,7 @@ CMapが必要である.
\LuaTeX-ja uses the following cache:
\begin{cslist}
-\item[ltj-cid-auto-adobe-japan1.lua]
+\item[ltj-cid-auto-adobe-japan1.\{lua.gz,luc\}]
The font table of a CID-keyed non-embedded Japanese font.
This is loaded in every run.
It is created from three CMaps, \texttt{UniJIS2004-UTF32-\{H,V\}} and
@@ -11092,11 +11095,11 @@ as in Page~\pageref{para-cid}.
\bf \texttt{cid} key&\bf name of the cache &
\multicolumn{2}{c}{\bf used CMaps}\\
\midrule
-Adobe-Japan1-*&ltj-cid-auto-adobe-japan1.lua&UniJIS2004-UTF32-*&Adobe-Japan1-UCS2\\
-Adobe-Korea1-*&ltj-cid-auto-adobe-korea1.lua&UniKS-UTF32-*&Adobe-Korea1-UCS2\\
-Adobe-KR-*&ltj-cid-auto-adobe-kr.lua&UniAKR-UTF32-*&Adobe-KR-UCS2\\
-Adobe-GB1-*&ltj-cid-auto-adobe-gb1.lua&UniGB-UTF32-*&Adobe-GB1-UCS2\\
-Adobe-CNS1-*&ltj-cid-auto-adobe-cns1.lua&UniCNS-UTF32-*&Adobe-CNS1-UCS2\\
+Adobe-Japan1-*&ltj-cid-auto-adobe-japan1.\{lua.gz,luc\}&UniJIS2004-UTF32-*&Adobe-Japan1-UCS2\\
+Adobe-Korea1-*&ltj-cid-auto-adobe-korea1.\{lua.gz,luc\}&UniKS-UTF32-*&Adobe-Korea1-UCS2\\
+Adobe-KR-*&ltj-cid-auto-adobe-kr.\{lua.gz,luc\}&UniAKR-UTF32-*&Adobe-KR-UCS2\\
+Adobe-GB1-*&ltj-cid-auto-adobe-gb1.\{lua.gz,luc\}&UniGB-UTF32-*&Adobe-GB1-UCS2\\
+Adobe-CNS1-*&ltj-cid-auto-adobe-cns1.\{lua.gz,luc\}&UniCNS-UTF32-*&Adobe-CNS1-UCS2\\
\bottomrule
\end{tabular}
\end{table}
@@ -11108,23 +11111,44 @@ Adobe-CNS1-*&ltj-cid-auto-adobe-cns1.lua&UniCNS-UTF32-*&Adobe-CNS1-UCS2\\
\pTeX との互換目的の文字コード変換命令で用いられる.
%</ja>
%<*en>
-\item[ltj-jisx0208.\{luc|lub\}]
+\item[ltj-jisx0208.luc]
The bytecode version of \texttt{ltj-jisx0208.lua}.
This is the conversion table between JIS~X~0208 and Unicode
which is used in Kanji-code conversion commands for compatibility with \pTeX.
%</en>
+
+%<*ja>
+\item[ltj-ivd\_aj1.luc]
+\LuaTeX-ja配布中の\texttt{ltj-ivd\_aj1.lua}をバイトコード化したものである.
+これはUnicodeの漢字異体字データベースのAdobe-Japan1コレクションの内容を
+ 格納したテーブルであり,\Pkg{luatexja-otf}パッケージの\cs{CID}命令で使われることがある.
+%</ja>
+%<*en>
+\item[ltj-ivd\_aj1.luc]
+The bytecode version of \texttt{ltj-ivd\_aj1.lua}.
+%</en>
+
+%<*ja>
+\item[extra\_***.\{lua.gz,luc\}]
+フォント``\texttt{***}''における,グリフ番号からUnicode値への変換テーブル,縦組時のグリフ回転の有無を格納したテーブル,
+及び縦組時におけるグリフの原点位置・高さのテーブルを格納している.
+%</ja>
+%<*en>
+\item[extra\_***.\{lua.gz,luc\}]
+This file conains some information (especially for vertical typesetting) about the font `\texttt{***}''.
+%</en>
\end{cslist}
%<*en>
\subsection{Internal}
Cache management system of \LuaTeX-ja is stored in \texttt{luatexja.base}
(\texttt{ltj-base.lua}).
-There are three public functions for cache management in \texttt{luatexja.base},
+There are four public functions for cache management in \texttt{luatexja.base},
where <filename> stands for the file name \emph{without suffix}:
\begin{cslist}
\item[save\_cache(<filename>, <data>)]
Save a non-nil table <data> into a cache <filename>.
-Both the text form <filename>\texttt{.lua} and its binary version
+Both the compressed text form <filename>\texttt{.lua.gz} and its binary version
are created or updated.
\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]
@@ -11139,25 +11163,28 @@ Load the cache <filename>.
and its return value is whether the cache is outdated.
\texttt{load\_cache} first tries to
-read the binary cache <filename>\texttt{.\{luc|lub\}}.
+read the binary cache <filename>\texttt{.luc}.
If its contents is up-to-date, \texttt{load\_cache} returns the contents.
If the binary cache is not found or
its contents is outdated, \texttt{load\_cache} tries to
-read the text form <filename>\texttt{.lua}.
+read the compressed text form <filename>\texttt{.lua.gz}.
Hence, the return value of \texttt{load\_cache} is non-nil,
if and only if the updated cache is found.
+
+\item[remove\_cache(<filename>)]
+Remove the cahce <filename>.
\end{cslist}
%</en>
%<*ja>
\subsection{内部命令}
\LuaTeX-jaにおけるキャッシュ管理は,\texttt{luatexja.base}~(\texttt{ltj-base.lua})に
-実装しており,以下の3関数が公開されている.
+実装しており,以下の関数が公開されている.
ここで,<filename>は保存するキャッシュのファイル名を\emph{拡張子なしで}指定する.
\begin{cslist}
\item[save\_cache(<filename>, <data>)]
nilでない<data>をキャッシュ<filename>に保存する.
-テキスト形式の<filename>\texttt{.lua}のみならず,
-そのバイナリ版も作成/更新される.
+テキスト形式の<filename>\texttt{.lua.gz}\footnote{拡張子からわかる通り,実際にはgzip圧縮される.}のみならず,
+そのバイナリ形式も作成・更新される.
\item[save\_cache\_luc(<filename>, <data>{[, <serialized\_data>]})]
@@ -11171,14 +11198,18 @@ nilでない<data>をキャッシュ<filename>に保存する.
<outdate>は1引数(キャッシュの中身)をとる関数であり,
その戻り値は「キャッシュの更新が必要」かどうかを示すブール値でないといけない.
-\texttt{load\_cache}は,まずバイナリキャッシュ<filename>\texttt{.\{luc|lub\}}を
+\texttt{load\_cache}は,まずバイナリキャッシュ<filename>\texttt{.luc}を
読みこむ.もしその内容が「新しい」,つまり<outdate>の評価結果が \texttt{false} なら
\texttt{load\_cache}はこのバイナリキャッシュの中身を返す.
-もしバイナリキャッシュが見つからなかったか,「古すぎる」ならばテキスト版
- <filename>\texttt{.lua}を読み込み,その値を返す.
+もしバイナリキャッシュが見つからなかったか,「古すぎる」ならば(gzip圧縮された)テキスト形式の
+ <filename>\texttt{.lua.gz}を読み込み,<outdate>で再度評価する.
以上より,\texttt{load\_cache}自体がnilでない値を返すのは,ちょうど「新しい」キャッシュが
見つかった場合である.
+
+\item[remove\_cache(<filename>)]
+キャッシュ<filename>を削除する.テキスト形式(gzip圧縮されているか否かを問わず)も
+バイナリ形式もまとめて削除する.
\end{cslist}
%</ja>
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
index 58a585768a..279ebb09b7 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
@@ -1,5 +1,5 @@
% luatexja-preset.sty
-\ProvidesPackage{luatexja-preset}[2020-05-15 Japanese font presets]
+\ProvidesPackage{luatexja-preset}[2020-06-14 Japanese font presets]
\RequirePackage{expl3,l3keys2e}
\RequirePackage{luatexja}
@@ -76,6 +76,7 @@
\__ltjpreset_declare_bool_option:nn { bold }{ nobold }
\__ltjpreset_declare_bool_option:nn { expert }{ noexpert }
\__ltjpreset_declare_bool_option:nn { deluxe }{ nodeluxe }
+\__ltjpreset_declare_bool_option:nn { nocheck }{ check }
% JFM
\tl_new:N \__ltjpreset_use_jfm_yoko_tl % 使用する JFM(横)
@@ -464,14 +465,16 @@
\group_begin:
\suppressfontnotfounderror=1
\cs_if_exist:cTF { __ltjpreset_font_#1_#2: } {
- \__ltjpreset_wrap_fontname:e { \cs:w __ltjpreset_font_#1_#2: \cs_end: }
- \font \g__ltjpreset_font_test: = \l__ltjpreset_font_name:\relax
- \ifx \g__ltjpreset_font_test: \nullfont
- \msg_warning:nnxxxx { luatexja-preset }{ no-font }
- { \cs:w __ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 }
- { \cs:w __ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 }
- \cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: }
- \fi
+ \bool_if:NF \g__ltjpreset_nocheck_bool {
+ \__ltjpreset_wrap_fontname:e { \cs:w __ltjpreset_font_#1_#2: \cs_end: }
+ \font \g__ltjpreset_font_test: = \l__ltjpreset_font_name:\relax
+ \ifx \g__ltjpreset_font_test: \nullfont
+ \msg_warning:nnxxxx { luatexja-preset }{ no-font }
+ { \cs:w __ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 }
+ { \cs:w __ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 }
+ \cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: }
+ \fi
+ }
} { \cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: } }
\group_end:
}
diff --git a/macros/luatex/generic/luatexja/src/jfm-kaiming.lua b/macros/luatex/generic/luatexja/src/jfm-kaiming.lua
index cb166ec436..63ac222311 100644
--- a/macros/luatex/generic/luatexja/src/jfm-kaiming.lua
+++ b/macros/luatex/generic/luatexja/src/jfm-kaiming.lua
@@ -6,8 +6,8 @@ luatexja.jfont.define_jfm {
align = 'left', left = 0.0, down = 0.0,
width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
glue = {
- --[1] = { 0.5 , 0.0, 0.5 },
- [3] = { 0.125, 0.0, 0.125 }
+ [1] = { 0, 0.5, 0 },
+ [3] = { 0, 0.25, 0 }
}
},
diff --git a/macros/luatex/generic/luatexja/src/ltj-adjust.lua b/macros/luatex/generic/luatexja/src/ltj-adjust.lua
index d6025b1f1d..c7d145d2f6 100644
--- a/macros/luatex/generic/luatexja/src/ltj-adjust.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-adjust.lua
@@ -1,12 +1,12 @@
--
-- ltj-adjust.lua
--
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('jfont'); local ltjf = luatexja.jfont
-luatexja.load_module('jfmglue'); local ltjj = luatexja.jfmglue
-luatexja.load_module('stack'); local ltjs = luatexja.stack
-luatexja.load_module('direction'); local ltjd = luatexja.direction
-luatexja.load_module('lineskip'); local ltjl = luatexja.lineskip
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'jfont'; local ltjf = luatexja.jfont
+luatexja.load_module 'jfmglue'; local ltjj = luatexja.jfmglue
+luatexja.load_module 'stack'; local ltjs = luatexja.stack
+luatexja.load_module 'direction'; local ltjd = luatexja.direction
+luatexja.load_module 'lineskip'; local ltjl = luatexja.lineskip
luatexja.adjust = luatexja.adjust or {}
local to_node = node.direct.tonode
@@ -30,12 +30,12 @@ local has_attr = node.direct.has_attribute
local set_attr = node.direct.set_attribute
local insert_after = node.direct.insert_after
-local id_glyph = node.id('glyph')
-local id_kern = node.id('kern')
-local id_hlist = node.id('hlist')
-local id_glue = node.id('glue')
-local id_whatsit = node.id('whatsit')
-local id_penalty = node.id('penalty')
+local id_glyph = node.id 'glyph'
+local id_kern = node.id 'kern'
+local id_hlist = node.id 'hlist'
+local id_glue = node.id 'glue'
+local id_whatsit = node.id 'whatsit'
+local id_penalty = node.id 'penalty'
local attr_icflag = luatexbase.attributes['ltj@icflag']
local attr_jchar_class = luatexbase.attributes['ltj@charclass']
local lang_ja = luatexja.lang_ja
@@ -70,9 +70,9 @@ do
local function make_priority_table(glue_sign)
for i,_ in pairs(tmp) do tmp[i]=nil end
if glue_sign==2 then -- shrink
- for i=0,63 do tmp[#tmp+1] = { (i%8)-4, FROM_JFM+i } end
+ for i=0,63 do tmp[#tmp+1] = { (i%8)-4, FROM_JFM+i } end
else -- stretch
- for i=0,63 do tmp[#tmp+1] = { math.floor(i/8)-4, FROM_JFM+i } end
+ for i=0,63 do tmp[#tmp+1] = { math.floor(i/8)-4, FROM_JFM+i } end
end
local pt = priority_table[glue_sign]
tmp[#tmp+1] = { pt[2]/10, XKANJI_SKIP }
@@ -83,8 +83,8 @@ do
table.sort(tmp, cmp)
local a, m, n = at2pr[glue_sign], 10000000, 0
for i=1,#tmp do
- if tmp[i][1]<m then n,m = n+1,tmp[i][1] end
- a[tmp[i][2]] = n
+ if tmp[i][1]<m then n,m = n+1,tmp[i][1] end
+ a[tmp[i][2]] = n
end
local o = a[-1]
priority_num[glue_sign] = n
@@ -111,14 +111,14 @@ function get_total_stretched(p)
for q in node_traverse_id(id_glue, ph) do
local a = getfield(q, 'stretch_order')
if a==0 then
- local b = at2pr_st[get_attr_icflag(q)];
- total_st[b] = total_st[b]+getfield(q, 'stretch')
+ local b = at2pr_st[get_attr_icflag(q)];
+ total_st[b] = total_st[b]+getfield(q, 'stretch')
end
total_st[a*65536] = total_st[a]+getfield(q, 'stretch')
local a = getfield(q, 'shrink_order')
if a==0 then
- local b = at2pr_sh[get_attr_icflag(q)];
- total_sh[b] = total_sh[b]+getfield(q, 'shrink')
+ local b = at2pr_sh[get_attr_icflag(q)];
+ total_sh[b] = total_sh[b]+getfield(q, 'shrink')
end
total_sh[a*65536] = total_sh[a]+getfield(q, 'shrink')
end
@@ -171,16 +171,16 @@ local function aw_step1(p, total)
for i, v in ipairs(eadt) do
local t = total - v
if t>0 then
- eadt_ratio[i] = {i, t/total_st[65536*total_st.order], t, v}
+ eadt_ratio[i] = {i, t/total_st[65536*total_st.order], t, v}
else
- eadt_ratio[i] = {i, t/total_sh[65536*total_sh.order], t, v}
+ eadt_ratio[i] = {i, t/total_sh[65536*total_sh.order], t, v}
end
end
table.sort(eadt_ratio,
function (a,b)
for i=2,4 do
- local at, bt = abs(a[i]), abs(b[i])
- if at~=bt then return at<bt end
+ local at, bt = abs(a[i]), abs(b[i])
+ if at~=bt then return at<bt end
end
return a[4]<b[4]
end)
@@ -219,14 +219,14 @@ local function aw_step1_last(p, total)
if total_st.order ~= getfield(pf, 'stretch_order') then return total, false end
if total_st[total_st.order*65536] ~= getfield(pf, 'stretch') then return total, false end
for i=total_st.order-1, 1, -1 do
- if total_st[i*65536] ~= 0 then return total, false end
+ if total_st[i*65536] ~= 0 then return total, false end
end
end
if total<0 and total_sh.order>0 then
if total_sh.order ~= getfield(pf, 'shrink_order') then return total, false end
if total_sh[total_sh.order*65536] ~= getfield(pf, 'shrink') then return total, false end
for i=total_sh.order-1, 1, -1 do
- if total_sh[i*65536] ~= 0 then return total, false end
+ if total_sh[i*65536] ~= 0 then return total, false end
end
end
local eadt = ltjf_font_metric_table[getfont(xc)]
@@ -258,16 +258,16 @@ local function aw_step1_last(p, total)
for i, v in ipairs(eadt) do
local t = total - v
if t>0 then
- eadt_ratio[i] = {i, t/total_st[65536*total_st.order], t, v}
+ eadt_ratio[i] = {i, t/total_st[65536*total_st.order], t, v}
else
- eadt_ratio[i] = {i, t/total_sh[65536*total_sh.order], t, v}
+ eadt_ratio[i] = {i, t/total_sh[65536*total_sh.order], t, v}
end
end
table.sort(eadt_ratio,
function (a,b)
for i=2,4 do
- local at, bt = abs(a[i]), abs(b[i])
- if at~=bt then return at<bt end
+ local at, bt = abs(a[i]), abs(b[i])
+ if at~=bt then return at<bt end
end
return a[4]<b[4]
end)
@@ -303,8 +303,7 @@ local function clear_stretch(p, ind, ap, name)
for q in node_traverse_id(id_glue, getlist(p)) do
local f = ap[get_attr_icflag(q)]
if f == ind then
- setfield(q, name..'_order', 0)
- setfield(q, name, 0)
+ setfield(q, name..'_order', 0); setfield(q, name, 0)
end
end
end
@@ -313,7 +312,7 @@ local function set_stretch(p, after, before, ind, ap, name)
if before > 0 then
local ratio = after/before
for q in node_traverse_id(id_glue, getlist(p)) do
- local f = ap[get_attr_icflag(q)]
+ local f = ap[get_attr_icflag(q)]
if (f==ind) and getfield(q, name..'_order')==0 then
setfield(q, name, getfield(q, name)*ratio)
end
@@ -333,7 +332,7 @@ function aw_step2(p, total, added_flag)
total = abs(total)
for i = 1, pnum do
if total <= res[i] then
- local a = at2pr[id]
+ local a = at2pr[id]
for j = i+1,pnum do
clear_stretch(p, j, a, name)
end
@@ -353,32 +352,32 @@ do
insert_lineend_kern = function (head, nq, np, Bp)
if nq.met then
local eadt = nq.met.char_type[nq.class].end_adjust
- if not eadt then return end
- if eadt[1]~=0 then
- local x = node_new(id_kern, 1)
- setfield(x, 'kern', eadt[1]); set_attr(x, attr_icflag, LINEEND)
- insert_before(head, np.first, x)
- end
- local eadt_num = #eadt
- for i=2,eadt_num do
- local x = node_new(id_penalty)
- setfield(x, 'penalty', 0); set_attr(x, attr_icflag, KINSOKU)
- insert_before(head, np.first, x); Bp[#Bp+1] = x
- local x = node_new(id_kern, 1)
- setfield(x, 'kern', eadt[i]-eadt[i-1]); set_attr(x, attr_icflag, LINEEND)
- insert_before(head, np.first, x)
- end
+ if not eadt then return end
+ if eadt[1]~=0 then
+ local x = node_new(id_kern, 1)
+ setfield(x, 'kern', eadt[1]); set_attr(x, attr_icflag, LINEEND)
+ insert_before(head, np.first, x)
+ end
+ local eadt_num = #eadt
+ for i=2,eadt_num do
+ local x = node_new(id_penalty)
+ setfield(x, 'penalty', 0); set_attr(x, attr_icflag, KINSOKU)
+ insert_before(head, np.first, x); Bp[#Bp+1] = x
+ local x = node_new(id_kern, 1)
+ setfield(x, 'kern', eadt[i]-eadt[i-1]); set_attr(x, attr_icflag, LINEEND)
+ insert_before(head, np.first, x)
+ end
if eadt_num>1 or eadt[1]~=0 then
- local x = node_new(id_penalty)
- setfield(x, 'penalty', 0); set_attr(x, attr_icflag, KINSOKU)
- insert_before(head, np.first, x); Bp[#Bp+1] = x
- local x = node_new(id_kern, 1)
- setfield(x, 'kern', -eadt[eadt_num]); set_attr(x, attr_icflag, LINEEND)
- insert_before(head, np.first, x)
- local x = node_new(id_penalty)
- setfield(x, 'penalty', 10000); set_attr(x, attr_icflag, KINSOKU)
- insert_before(head, np.first, x); Bp[#Bp+1] = x
- end
+ local x = node_new(id_penalty)
+ setfield(x, 'penalty', 0); set_attr(x, attr_icflag, KINSOKU)
+ insert_before(head, np.first, x); Bp[#Bp+1] = x
+ local x = node_new(id_kern, 1)
+ setfield(x, 'kern', -eadt[eadt_num]); set_attr(x, attr_icflag, LINEEND)
+ insert_before(head, np.first, x)
+ local x = node_new(id_penalty)
+ setfield(x, 'penalty', 10000); set_attr(x, attr_icflag, KINSOKU)
+ insert_before(head, np.first, x); Bp[#Bp+1] = x
+ end
end
end
end
@@ -392,9 +391,9 @@ do
if not head then return head end
local last_p
for p in node_traverse_id(id_hlist, to_direct(head)) do
- if last_p then
- myaw_step2(last_p, myaw_step1(last_p, get_total_stretched(last_p)))
- end
+ if last_p then
+ myaw_step2(last_p, myaw_step1(last_p, get_total_stretched(last_p)))
+ end
last_p = p
end
if last_p then
@@ -405,18 +404,18 @@ do
local is_reg = false
local function enable_cb(status_le, status_pr, status_lp, status_ls)
if (status_le>0 or status_pr>0) and (not is_reg) then
- ltjb.add_to_callback('post_linebreak_filter',
+ ltjb.add_to_callback('post_linebreak_filter',
adjust_width, 'Adjust width',
- luatexbase.priority_in_callback('post_linebreak_filter', 'ltj.lineskip')-1)
- is_reg = true
+ luatexbase.priority_in_callback('post_linebreak_filter', 'ltj.lineskip')-1)
+ is_reg = true
elseif is_reg and (status_le==0 and status_pr==0) then
- luatexbase.remove_from_callback('post_linebreak_filter', 'Adjust width')
- is_reg = false
+ luatexbase.remove_from_callback('post_linebreak_filter', 'Adjust width')
+ is_reg = false
end
if status_le==2 then
- if not luatexbase.in_callback('luatexja.adjust_jfmglue', 'luatexja.adjust') then
- ltjb.add_to_callback('luatexja.adjust_jfmglue', insert_lineend_kern, 'luatexja.adjust')
- end
+ if not luatexbase.in_callback('luatexja.adjust_jfmglue', 'luatexja.adjust') then
+ ltjb.add_to_callback('luatexja.adjust_jfmglue', insert_lineend_kern, 'luatexja.adjust')
+ end
myaw_step1, myaw_step1_last = dummy, aw_step1_last
else
if status_le==0 then
@@ -425,13 +424,13 @@ do
myaw_step1, myaw_step1_last = aw_step1, aw_step1_last
end
if luatexbase.in_callback('luatexja.adjust_jfmglue', 'luatexja.adjust') then
- luatexbase.remove_from_callback('luatexja.adjust_jfmglue', 'luatexja.adjust')
+ luatexbase.remove_from_callback('luatexja.adjust_jfmglue', 'luatexja.adjust')
end
end
myaw_step2 = (status_pr>0) and aw_step2 or aw_step2_dummy
luatexja.lineskip.setting(
status_lp>0 and 'profile' or 'dummy',
- status_ls>0 and 'step' or 'dummy'
+ status_ls>0 and 'step' or 'dummy'
)
end
local function disable_cb() -- only for compatibility
@@ -455,7 +454,7 @@ do
ins(package[1], {b,e,[ind]=d})
end
local function flatten(package)
- local bd={} for i,_ in pairs(package[2]) do ins(bd,{i}) end
+ local bd = {} for i,_ in pairs(package[2]) do ins(bd,{i}) end
sort(bd, function (a,b) return a[1]<b[1] end)
local bdc=#bd; local t = package[1]
sort(t, function (a,b) return a[1]<b[1] end)
@@ -469,7 +468,7 @@ do
bd[j][k]=bd[j][k] and max(bd[j][k],w) or w
end
end
- j=j+1
+ j = j + 1
end
end
package[2]=nil; package[1]=nil; package.flatten, package.insert=nil, nil
@@ -527,7 +526,7 @@ do
if lmin==1/0 then lmin = bw end
return lmin,
bw - lmin - getfield(before, 'depth')
- - getfield(after, mirrored and 'depth' or 'height')
+ - getfield(after, mirrored and 'depth' or 'height')
end
end
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-base.lua b/macros/luatex/generic/luatexja/src/ltj-base.lua
index 3f4a0ba1f8..ad5bb816a5 100644
--- a/macros/luatex/generic/luatexja/src/ltj-base.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-base.lua
@@ -30,25 +30,22 @@ do
--! LaTeX 形式のエラーメッセージ(\PackageError 等)を
--! Lua 関数の呼び出しで行う.
- local LF = "\n"
- local err_break = ""
+ local LF, BEL = "\n", "\a"
local err_main = ""
local err_help = ""
local function message_cont(str, c)
- return str:gsub(err_break, LF .. c)
+ return str:gsub(LF, LF .. c)
end
local function into_lines(str)
- return str:gsub(err_break, LF):explode(LF)
- end
-
- _error_set_break = function (str)
- err_break = str
+ return str:explode(LF)
end
_error_set_message = function (msgcont, main, help)
- err_main = message_cont(main, msgcont)
- err_help = into_lines(help)
+ err_main = message_cont(main, msgcont):gsub(BEL, LF)
+ err_help = (help and help~="") and into_lines(help)
+ or {"Sorry, I don't know how to help in this situation.",
+ "Maybe you should try asking a human?" }
end
_error_show = function (escchar)
@@ -67,7 +64,7 @@ do
local message_a = "Type H <return> for immediate help"
generic_error = function (msgcont, main, ref, help)
- local mainref = main..".\n\n"..ref.."\n"..message_a
+ local mainref = main..".\a\a"..ref..BEL..message_a
_error_set_message(msgcont, mainref, help)
_error_show(true)
end
@@ -79,7 +76,7 @@ do
local on_line = line and (" on input line "..tex.inputlineno) or ""
local newlinechar = tex.newlinechar
tex.newlinechar = -1
- texio.write_nl(out, br..main..on_line.."."..br)
+ texio.write_nl(out, br..mainc..on_line.."."..br)
tex.newlinechar = newlinechar
end
@@ -97,25 +94,25 @@ do
end
package_error = function (pkgname, main, help)
- generic_error("("..pkgname.." ",
+ generic_error("("..pkgname..") ",
"Package "..pkgname.." Error: "..main,
"See the "..pkgname.." package documentation for explanation.",
help)
end
package_warning = function (pkgname, main)
- generic_warning("("..pkgname.." ",
+ generic_warning("("..pkgname..") ",
"Package "..pkgname.." Warning: "..main)
end
package_warning_no_line = function (pkgname, main)
- generic_warning_no_line("("..pkgname.." ",
+ generic_warning_no_line("("..pkgname..") ",
"Package "..pkgname.." Warning: "..main)
end
package_info = function (pkgname, main)
- generic_info("("..pkgname.." ",
+ generic_info("("..pkgname..") ",
"Package "..pkgname.." Info: "..main)
end
package_info_no_line = function (pkgname, main)
- generic_info_no_line("("..pkgname.." ",
+ generic_info_no_line("("..pkgname..") ",
"Package "..pkgname.." Info: "..main)
end
@@ -231,6 +228,7 @@ end
require('lualibs-lpeg') -- string.split
require('lualibs-os') -- os.type
+require('lualibs-gzip') -- gzip.*
do
local kpse_var_value = kpse.var_value
@@ -248,6 +246,7 @@ do
local join, isreadable = file.join, file.isreadable
local tofile, serialize = table.tofile, table.serialize
local luc_suffix = jit and '.lub' or '.luc'
+ local dump = string.dump
-- determine save path
local savepath = ''
@@ -256,43 +255,56 @@ do
if not lfs.isdir(testpath) then dir.mkdirs(testpath) end
if lfs.isdir(testpath) then savepath = testpath; break end
end
+ local serial_spec = {functions=false, noquotes=true}
+
+ local function remove_file_if_exist(name)
+ if os.rename(name,name) then os.remove(name) end
+ end
+ local function remove_cache (filename)
+ local fullpath_wo_ext = savepath .. '/' .. filename .. '.lu'
+ remove_file_if_exist(fullpath_wo_ext .. 'a')
+ remove_file_if_exist(fullpath_wo_ext .. 'a.gz')
+ remove_file_if_exist(fullpath_wo_ext .. 'b')
+ remove_file_if_exist(fullpath_wo_ext .. 'c')
+ end
local function save_cache_luc(filename, t, serialized)
local fullpath = savepath .. '/' .. filename .. luc_suffix
- local s = serialized or serialize(t, 'return', false)
+ local s = serialized or serialize(t, 'return', false, serial_spec)
if s then
local sa = load(s)
local f = io.open(fullpath, 'wb')
if f and sa then
- f:write(string.dump(sa, true))
- texio.write('(save cache: ' .. fullpath .. ')')
+ f:write(dump(sa, true))
+ texio.write('log', '(save cache: ' .. fullpath .. ')')
+ f:close()
end
- f:close()
end
end
local function save_cache(filename, t)
- local fullpath = savepath .. '/' .. filename .. '.lua'
- local s = serialize(t, 'return', false)
+ local fullpath = savepath .. '/' .. filename .. '.lua.gz'
+ local s = serialize(t, 'return', false, serial_spec)
if s then
- local f = io.open(fullpath, 'w')
- if f then
- f:write(s)
- texio.write('(save cache: ' .. fullpath .. ')')
- end
- f:close()
- save_cache_luc(filename, t, s)
+ gzip.save(fullpath, s, 1)
+ texio.write('log', '(save cache: ' .. fullpath .. ')')
+ save_cache_luc(filename, t, s)
end
end
- local function load_cache_a(filename, outdate)
+ local function load_cache_a(filename, outdate, compressed)
local result
for _,v in pairs(path) do
local fn = join(v, cache_dir, filename)
- if isreadable(fn) then
- texio.write('(load cache: ' .. fn .. ')')
- result = loadfile(fn)
- result = result and result(); break
+ if isreadable(fn) then
+ texio.write('log','(load cache: ' .. filename .. ')')
+ if compressed then
+ result = loadstring(gzip.load(fn))
+ else
+ result = loadfile(fn)
+ end
+ result = result and result()
+ break
end
end
if (not result) or outdate(result) then
@@ -303,26 +315,17 @@ do
end
local function load_cache(filename, outdate)
- local r = load_cache_a(filename .. luc_suffix, outdate)
+ remove_file_if_exist(savepath .. '/' .. filename .. '.lua')
+ local r = load_cache_a(filename .. luc_suffix, outdate, false)
if r then
return r
else
- local r = load_cache_a(filename .. '.lua', outdate)
+ local r = load_cache_a(filename .. '.lua.gz', outdate, true)
if r then save_cache_luc(filename, r) end -- update the precompiled cache
return r
end
end
- local function remove_file_if_exist(name)
- if os.rename(name,name) then os.remove(name) end
- end
- local function remove_cache (filename)
- local fullpath_wo_ext = savepath .. '/' .. filename .. '.lu'
- remove_file_if_exist(fullpath_wo_ext .. 'a')
- remove_file_if_exist(fullpath_wo_ext .. 'b')
- remove_file_if_exist(fullpath_wo_ext .. 'c')
- end
-
ltjb.remove_cache = remove_cache
ltjb.load_cache = load_cache
ltjb.save_cache_luc = save_cache_luc
@@ -340,7 +343,6 @@ do
end
----
-ltjb._error_set_break = _error_set_break
ltjb._error_set_message = _error_set_message
ltjb._error_show = _error_show
ltjb._generic_warn_info = _generic_warn_info
diff --git a/macros/luatex/generic/luatexja/src/ltj-base.sty b/macros/luatex/generic/luatexja/src/ltj-base.sty
index 717105e3a5..605797f3a3 100644
--- a/macros/luatex/generic/luatexja/src/ltj-base.sty
+++ b/macros/luatex/generic/luatexja/src/ltj-base.sty
@@ -13,7 +13,7 @@
\ifltj@in@latex %<*LaTeX>
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{ltj-base}[2017/05/05]
+ \ProvidesPackage{ltj-base}[2020-07-27]
\fi %</LaTeX>
%%------------------ Tiny helpers
@@ -256,151 +256,6 @@
%! つまり単なる \luatexescape.
\let\ltj@luaxescape\luatexluaescapestring
-%%------------------ Fully-expandable error messaging
-
-%! ixerrtrick パッケージから移植.
-%! 展開限定文脈でも使える \PackageError 等.
-%! Lua 関数版(luatexja/base.lua 参照)もある.
-
-%% \ltj@@error@message@a
-\begingroup
-\def~{ }
-\xdef\ltj@@error@message@a{%
- Type~~H <return>~~for immediate help%
-}%
-\endgroup
-
-%%<+> \ltj@MessageBreak
-% An analogue of \MessageBreak that is used in \ltj@GenericError, etc.
-% (\MessageBreak cannot be used there.)
-% NB: It is realized as a macro that expands to two instances
-% of the character of code 127. This marker is later detected
-% by the Lua process.
-\begingroup
-\lccode42=127
-\lowercase{
- \gdef\ltj@MessageBreak{**}
- \directlua{
- luatexja.base._error_set_break("**")
- }
-}
-\endgroup
-
-%%<+> \ltj@GenericError{<cont>}{<msg-main>}{<msg-ref>}{<msg-help>}
-% A variant of \GenericError that can be used in expansion-only
-% situation. The meanings of arguments are the same as the original
-% \GenericError.
-%%<+> \ltj@PlainError{<msg-main>}{<msg-help>}
-% A simpler error messenger available in expansion-only situations.
-% It behaves similarly to:
-% \errhelp{<msg-help}\errmessage{<msg-main>}
-\begingroup
-% with the same hack as in \GenericError...
-\lccode`\@=`\ %
-\lccode`\~=`\ %
-\lccode`\}=`\ %
-\lccode`\{=`\ %
-\catcode`\ =11\relax%
-\lowercase{%
-\endgroup%
-\def\ltj@GenericError#1#2#3#4{% not protected
-\directlua{%
-luatexja.base._error_set_message("\ltj@luaxescape{#1}",%
-"\ltj@luaxescape{#2.^^J^^J#3^^J\ltj@@error@message@a}",%
-"\ltj@luaxescape{#4}")%
-}%
-\ % use csname with four spaces as last expander
-}
-\def\ {% csname with four spaces
-\directlua{%
-luatexja.base._error_show(false)% and many spaces trail!
- %
- %
-}%
-}%
-\def\ltj@PlainError#1#2{%
-\directlua{%
-luatexja.base._error_set_message(" ",%
-"\ltj@luaxescape{#1}",%
-"\ltj@luaxescape{#2}")%
-}%
-\error % again a weird name is used
-}
-\def\error {% csname with two trailing spaces
-\directlua{%
-luatexja.base._error_show(true)% and many spaces trail!
- %
- %
-}%
-}%
-}
-
-%% \ltj@@error@on@line
-\def\ltj@@error@on@line{
- on input line \the \inputlineno
-}
-
-%% \ltj@generic@warn@info
-\def\ltj@@generic@warn@info#1#2#3#4{
- \begingroup
- \directlua{
- luatexja.base._generic_warn_info("\ltj@luaxescape{#3}",
- "\ltj@luaxescape{#4}", (#1 > 0), (#2 > 0))
- }
- \endgroup
-}
-
-%% \ltj@GenericWarning{<cont>}{<msg-main>}
-\def\ltj@GenericWarning{
- \ltj@@generic@warn@info{1}{1}
-}
-%% \ltj@GenericWarningNoLine{<cont>}{<msg-main>}
-\def\ltj@GenericWarningNoLine{
- \ltj@@generic@warn@info{1}{0}
-}
-%% \ltj@GenericInfo{<cont>}{<msg-main>}
-\def\ltj@GenericInfo{
- \ltj@@generic@warn@info{0}{1}
-}
-%% \ltj@GenericInfoNoLine{<cont>}{<msg-main>}
-\def\ltj@GenericInfoNoLine{
- \ltj@@generic@warn@info{0}{0}
-}
-
-%% \ltj@@space@seq@a
-\begingroup
-\def~{ }
-\xdef\ltj@@space@seq@a{~~~~~~~~~~~~~~~~}
-\xdef\ltj@@space@seq@b{~~~~~~~~~~~~~}
-\endgroup
-
-%% \ltj@PackageError{<pkg-name>}{<msg-main>}{<msg-help>}
-\def\ltj@PackageError#1#2#3{%
- \ltj@GenericError{(#1)\ltj@@space@seq@a}%
- {Package #1 Error: #2}%
- {See the #1 package documentation for explanation.}%
- {#3}%
-}
-%% \ltj@PackageWarning{<pkg-name>}{<msg-main>}
-\def\ltj@PackageWarning#1#2{%
- \ltj@GenericWarning{(#1)\ltj@@space@seq@a}%
- {Package #1 Warning: #2}%
-}
-%% \ltj@PackageWarningNoLine{<pkg-name>}{<msg-main>}
-\def\ltj@PackageWarningNoLine#1#2{%
- \ltj@GenericWarningNoLine{(#1)\ltj@@space@seq@a}%
- {Package #1 Warning: #2}%
-}
-%% \ltj@PackageInfo{<pkg-name>}{<msg-main>}
-\def\ltj@PackageInfo#1#2{%
- \ltj@GenericInfo{(#1)\ltj@@space@seq@b}%
- {Package #1 Info: #2}%
-}
-%% \ltj@PackageInfoNoLine{<pkg-name>}{<msg-main>}
-\def\ltj@PackageInfoNoLine#1#2{%
- \ltj@GenericInfoNoLine{(#1)\ltj@@space@seq@b}%
- {Package #1 Info: #2}%
-}
%%------------------ debug logging
\ifdefined\LuaTeXjaDebugEnabled
diff --git a/macros/luatex/generic/luatexja/src/ltj-charrange.lua b/macros/luatex/generic/luatexja/src/ltj-charrange.lua
index 47b4be3def..46075b2166 100644
--- a/macros/luatex/generic/luatexja/src/ltj-charrange.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-charrange.lua
@@ -3,11 +3,11 @@
--
luatexbase.provides_module({
name = 'luatexja.charrange',
- date = '2019/09/26',
+ date = '2020-07-30',
description = 'Handling the range of Japanese characters',
})
luatexja.charrange = {}
-luatexja.load_module('base'); local ltjb = luatexja.base
+luatexja.load_module 'base'; local ltjb = luatexja.base
local getchar = node.direct.getchar
local has_attr = node.direct.has_attribute
@@ -49,18 +49,16 @@ for i=0x100,ucs_out-1 do jcr_table_main[i]=0 end
function luatexja.charrange.add_char_range(b,e,ind) -- ind: external range number
if not ind or ind<0 or ind>31*ATTR_RANGE then -- 0 はエラーにしない(隠し)
ltjb.package_error('luatexja',
- "invalid character range number (" .. ind .. ")",
- "A character range number should be in the range 1.."
+ "invalid character range number (" .. ind .. ")",
+ "A character range number should be in the range 1.."
.. 31*ATTR_RANGE .. ",\n" ..
- "ignored.")
+ "ignored.")
return
elseif b<0x80 or e>=ucs_out then
ltjb.package_warning('luatexja',
- 'bad character range ([' .. b .. ',' .. e .. ']). ' ..
- 'I take the intersection with [0x80, 0x10ffff].')
- elseif b>e then
- local j=b; e=b; b=j
- end
+ 'bad character range ([' .. b .. ',' .. e .. ']). ' ..
+ 'I take the intersection with [0x80, 0x10ffff].')
+ elseif b>e then b, e = e, b end
if ind == 31*ATTR_RANGE then ind=0 end
for i=math.max(0x80,b),math.min(ucs_out-1,e) do
jcr_table_main[i]=ind
@@ -92,9 +90,9 @@ end
-- EXT
function luatexja.charrange.toggle_char_range(g, i) -- i: external range number
if type(i)~='number' then
- ltjb.package_error('luatexja',
- "invalid character range number (" .. tostring(i).. ")",
- "A character range number must be a number, ignored.")
+ ltjb.package_error('luatexja',
+ "invalid character range number (" .. tostring(i).. ")",
+ "A character range number must be a number, ignored.")
elseif i==0 then return
else
local kc
@@ -103,7 +101,7 @@ function luatexja.charrange.toggle_char_range(g, i) -- i: external range number
local attr = kcat_attr_table[i]
local a = tex_getattr(attr)
tex.setattribute(g, attr,
- (floor(a/pow_table[i+1])*2+kc)*pow_table[i]+a%pow_table[i])
+ (floor(a/pow_table[i+1])*2+kc)*pow_table[i]+a%pow_table[i])
end
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-compat.lua b/macros/luatex/generic/luatexja/src/ltj-compat.lua
index c8e046c63d..d660915a31 100644
--- a/macros/luatex/generic/luatexja/src/ltj-compat.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-compat.lua
@@ -2,8 +2,8 @@
-- ltj-compat.lua
--
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('stack'); local ltjs = luatexja.stack
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'stack'; local ltjs = luatexja.stack
local stack_table_index = luatexja.stack_table_index
-- load jisx0208 table
@@ -12,7 +12,7 @@ local cache_ver = 3
local cache_outdate_fn = function (t) return t.version~=cache_ver end
local jisx0208 = ltjb.load_cache('ltj-jisx0208',cache_outdate_fn)
if not jisx0208 then -- make cache
- jisx0208 = require('ltj-jisx0208.lua')
+ jisx0208 = require 'ltj-jisx0208.lua'
ltjb.save_cache_luc('ltj-jisx0208', jisx0208)
end
@@ -22,39 +22,35 @@ local utfchar=utf.char
local function to_kansuji(num)
if not num then num=0; return
elseif num<0 then
- num = -num; tex.write('-')
+ num = -num; tex.write '-'
end
local s = ""
while num~=0 do
s = utfchar(
- ltjs.get_stack_table(luatexja.stack_table_index.KSJ + num%10,
- '', tex.getcount('ltj@@stack'))) .. s
+ ltjs.get_stack_table(luatexja.stack_table_index.KSJ + num%10,
+ '', tex.getcount 'ltj@@stack')) .. s
num=math.floor(num/10)
end
tex.write(s)
end
+local function error_invalid_charcode(i)
+ ltjb.package_error('luatexja',
+ "invalid character code (".. tostring(i) .. ")",
+ "I'm going to use 0 instead of that illegal character code.")
+end
+
-- \ucs: 単なる identity
local function from_ucs(i)
- if type(i)~='number' then
- ltjb.package_error('luatexja',
- "invalid character code (".. tostring(i) .. ")",
- "I'm going to use 0 instead of that illegal character code.")
- i=0
- end
+ if type(i)~='number' then error_invalid_charcode(i); i=0 end
tex.write(i)
end
-- \kuten: 面区点 (それぞれで16進2桁を使用)=> Unicode 符号位置
local function from_kuten(i)
- if type(i)~='number' then
- ltjb.package_error('luatexja',
- "invalid character code (".. tostring(i) .. ")",
- "I'm going to use 0 instead of that illegal character code.")
- i=0
- end
+ if type(i)~='number' then error_invalid_charcode(i); i=0 end
if (i%256==0)or(i%256>94) then
- tex.write('0')
+ tex.write '0'
else
tex.write(tostring(jisx0208.table_jisx0208_uptex[math.floor(i/256)*94+(i%256)-94] or 0))
end
@@ -62,11 +58,8 @@ end
-- \euc: EUC-JP による符号位置 => Unicode 符号位置
local function from_euc(i)
- if type(i)~='number' then
- ltjb.package_error('luatexja',
- "invalid character code (".. tostring(i) .. ")",
- "I'm going to use 0 instead of that illegal character code.")
- i=0
+ if type(i)~='number' then
+ error_invalid_charcode(i); i=0
elseif i>=0x10000 or i<0xa0a0 then
i=0
end
@@ -75,22 +68,14 @@ end
-- \jis: ISO-2022-JP による符号位置 => Unicode 符号位置
local function from_jis(i)
- if (type(i)~='number') or i>=0x10000 or i<0 then
- ltjb.package_error('luatexja',
- "invalid character code (".. tostring(i) .. ")",
- "I'm going to use 0 instead of that illegal character code.")
- i=0
- end
+ if type(i)~='number' then error_invalid_charcode(i); i=0 end
from_kuten(i-0x2020)
end
-- \sjis: Shift_JIS による符号位置 => Unicode 符号位置
local function from_sjis(i)
if (type(i)~='number') or i>=0x10000 or i<0 then
- ltjb.package_error('luatexja',
- "invalid character code (".. tostring(i) .. ")",
- "I'm going to use 0 instead of that illegal character code.")
- tex.write('0'); return
+ error_invalid_charcode(i); tex.write '0'; return
end
local c2 = math.floor(i/256)
local c1 = i%256
@@ -102,20 +87,19 @@ local function from_sjis(i)
{ [false]=15 } }
if c2 >= 0x81 then
if c2 >= 0xF0 then -- this if block won't be true
- if (c2 <= 0xF3 or (c2 == 0xF4 and c1 < 0x9F)) then
- c2 = 0x100 + shift_jisx0213_s1a3_table[c2 - 0xF0 + 1][(0x9E < c1)];
- else -- 78<=k<=94
- c2 = c2 * 2 - 413 + 0x100; if 0x9E < c1 then c2=c2+1 end
- end
+ if (c2 <= 0xF3 or (c2 == 0xF4 and c1 < 0x9F)) then
+ c2 = 0x100 + shift_jisx0213_s1a3_table[c2 - 0xF0 + 1][(0x9E < c1)];
+ else -- 78<=k<=94
+ c2 = c2 * 2 - 413 + 0x100; if 0x9E < c1 then c2=c2+1 end
+ end
else
- if c2<=0x9f then i=0x101 else i=0x181 end
- c2 = c2 + c2 - i; if 0x9E < c1 then c2=c2+1 end
+ if c2<=0x9f then i=0x101 else i=0x181 end
+ c2 = c2 + c2 - i; if 0x9E < c1 then c2=c2+1 end
end
if c1 < 0x9F then
- if c1>0x7f then i=0x40 else i=0x3f end
- c1 = c1 - i
+ if c1>0x7f then i=0x40 else i=0x3f end; c1 = c1 - i
else
- c1 = c1 - 0x9e
+ c1 = c1 - 0x9e
end
from_kuten(c2*256+c1)
end
@@ -124,9 +108,9 @@ end
luatexja.binary_pars.kansujichar = function(c, t)
if type(c)~='number' or c<0 or c>9 then
ltjb.package_error('luatexja',
- 'Invalid KANSUJI number (' .. tostring(c) .. ')',
- 'A KANSUJI number should be in the range 0..9.\n'..
- 'So I changed this one to zero.')
+ 'Invalid KANSUJI number (' .. tostring(c) .. ')',
+ 'A KANSUJI number should be in the range 0..9.\n'..
+ 'So I changed this one to zero.')
c=0
end
return ltjs.get_stack_table(stack_table_index.KSJ + c, 0, t)
@@ -134,11 +118,8 @@ end
local t = {
- from_euc = from_euc,
- from_kuten = from_kuten,
- from_jis = from_jis,
- from_sjis = from_sjis,
- from_ucs = from_ucs,
- to_kansuji = to_kansuji,
+ from_euc = from_euc, from_kuten = from_kuten,
+ from_jis = from_jis, from_sjis = from_sjis,
+ from_ucs = from_ucs, to_kansuji = to_kansuji,
}
luatexja.compat = t
diff --git a/macros/luatex/generic/luatexja/src/ltj-direction.lua b/macros/luatex/generic/luatexja/src/ltj-direction.lua
index 7dd0dee906..523397d804 100644
--- a/macros/luatex/generic/luatexja/src/ltj-direction.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-direction.lua
@@ -2,8 +2,8 @@
-- src/ltj-direction.lua
--
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('stack'); local ltjs = luatexja.stack
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'stack'; local ltjs = luatexja.stack
luatexja.direction = {}
local attr_dir = luatexbase.attributes['ltj@dir']
@@ -29,17 +29,17 @@ local node_next = node.direct.getnext
local traverse = node.direct.traverse
local traverse_id = node.direct.traverse_id
local start_time_measure, stop_time_measure
- = ltjb.start_time_measure, ltjb.stop_time_measure
+ = ltjb.start_time_measure, ltjb.stop_time_measure
local abs = math.abs
-local id_kern = node.id('kern')
-local id_hlist = node.id('hlist')
-local id_vlist = node.id('vlist')
-local id_whatsit = node.id('whatsit')
-local sid_save = node.subtype('pdf_save')
-local sid_restore = node.subtype('pdf_restore')
-local sid_matrix = node.subtype('pdf_setmatrix')
-local sid_user = node.subtype('user_defined')
+local id_kern = node.id 'kern'
+local id_hlist = node.id 'hlist'
+local id_vlist = node.id 'vlist'
+local id_whatsit = node.id 'whatsit'
+local sid_save = node.subtype 'pdf_save'
+local sid_restore= node.subtype 'pdf_restore'
+local sid_matrix = node.subtype 'pdf_setmatrix'
+local sid_user = node.subtype 'user_defined'
local tex_nest = tex.nest
local tex_getcount = tex.getcount
@@ -94,35 +94,34 @@ local get_dir_count, get_adjust_dir_count
do
local function get_dir_count_inner(h)
if h then
- if h.id==id_whatsit and h.subtype==sid_user and h.user_id==DIR then
- local ic = node.has_attribute(h, attr_icflag) or 0
- return (ic<PROCESSED_BEGIN_FLAG)
- and (node.has_attribute(h,attr_dir)%dir_node_auto) or 0
- else
- return 0
- end
+ if h.id==id_whatsit and h.subtype==sid_user and h.user_id==DIR then
+ return ((node.has_attribute(h, attr_icflag) or 0)<PROCESSED_BEGIN_FLAG)
+ and (node.has_attribute(h,attr_dir)%dir_node_auto) or 0
+ else
+ return 0
+ end
else
- return 0
+ return 0
end
end
function get_dir_count()
for i=tex_nest.ptr, 1, -1 do
- local h = tex_nest[i].head.next
- if h then
- local t = get_dir_count_inner(h)
- if t~=0 then return t end
- end
+ local h = tex_nest[i].head.next
+ if h then
+ local t = get_dir_count_inner(h)
+ if t~=0 then return t end
+ end
end
return page_direction
end
function get_adjust_dir_count()
for i=tex_nest.ptr, 1, -1 do
local v = tex_nest[i]
- local h, m = v.head.next, v.mode
- if abs(m)== ltjs.vmode and h then
- local t = get_dir_count_inner(h)
- if t~=0 then return t end
- end
+ local h, m = v.head.next, v.mode
+ if abs(m)== ltjs.vmode and h then
+ local t = get_dir_count_inner(h)
+ if t~=0 then return t end
+ end
end
return page_direction
end
@@ -138,35 +137,34 @@ do
local node_traverse = node.traverse
local STCK = luatexja.userid_table.STCK
local IHB = luatexja.userid_table.IHB
- local id_local = node.id('local_par')
- local id_dir = node.id('dir')
+ local id_local = node.id 'local_par'
+ local id_dir = node.id 'dir'
local function test_list(h, lv)
if not h then
- return 2 -- need to create dir_whatsit
+ return 2 -- need to create dir_whatsit
else
- local flag = 2 -- need to create dir_whatsit
- local w
- for p in node_traverse(h) do
- if p.id==id_whatsit then
- local ps = p.subtype
- if ps==sid_user then
- local uid= p.user_id
- if uid==DIR then
- flag = 1; w = w or p -- found
- elseif not(uid==IHB or uid==STCK) then
- flag = 0; break -- error
- end
- end
- elseif p.id~=id_local and p.id~=id_dir then
- flag = 0; break
- end
- end
- if flag==1 then -- dir_whatsit already exists
- return 1,w
- else
- return flag
- end
+ local flag = 2 -- need to create dir_whatsit
+ local w
+ for p in node_traverse(h) do
+ if p.id==id_whatsit then
+ if p.subtype==sid_user then
+ local uid= p.user_id
+ if uid==DIR then
+ flag = 1; w = w or p -- found
+ elseif not(uid==IHB or uid==STCK) then
+ return 0 -- error
+ end
+ end
+ elseif p.id~=id_local and p.id~=id_dir then
+ return 0 -- error
+ end
+ end
+ if flag==1 then -- dir_whatsit already exists
+ return 1, w
+ else
+ return flag
+ end
end
end
local node_next_node, node_tail_node = node.next, node.tail
@@ -175,9 +173,9 @@ do
local lv = tex_nest.ptr -- must be >= 1
if not v then
v = get_dir_count()
- if abs(tex_nest[lv-1].mode) == ltjs.mmode and v == dir_tate then
- v = dir_utod
- end
+ if abs(tex_nest[lv-1].mode) == ltjs.mmode and v == dir_tate then
+ v = dir_utod
+ end
elseif v=='adj' then
v = get_adjust_dir_count()
end
@@ -195,32 +193,32 @@ do
local lv = tex_nest.ptr
if not v then
v,name = get_dir_count(), nil
- if lv>=1 and abs(tex_nest[lv-1].mode) == ltjs.mmode and v == dir_tate then
- v = dir_utod
- end
+ if lv>=1 and abs(tex_nest[lv-1].mode) == ltjs.mmode and v == dir_tate then
+ v = dir_utod
+ end
elseif v=='adj' then
v,name = get_adjust_dir_count(), nil
end
local current_nest = tex_nest[lv]
if tex.currentgrouptype==6 then
- ltjb.package_error(
+ ltjb.package_error(
'luatexja',
"You can't use `\\" .. name .. "' in an align",
- "To change the direction in an align, \n"
- .. "you shold use \\hbox or \\vbox.")
+ "To change the direction in an align, \n"
+ .. "you shold use \\hbox or \\vbox.")
elseif current_nest.mode == ltjs.hmode or abs(current_nest.mode) == ltjs.mmode then
- ltjb.package_error(
+ ltjb.package_error(
'luatexja',
- "Improper `\\" .. name .. "'",
- 'You cannot change the direction in unrestricted horizontal mode \n'
- .. 'nor math modes.')
+ "Improper `\\" .. name .. "'",
+ 'You cannot change the direction in unrestricted horizontal mode \n'
+ .. 'nor math modes.')
else
- local h = (lv==0) and tex.lists.page_head or current_nest.head.next
- local flag,w = test_list(h,lv)
- if flag==0 then
- if lv==0 and not page_direction then
- page_direction = v -- for first call of \yoko (in luatexja-core.sty)
- else
+ local h = (lv==0) and tex.lists.page_head or current_nest.head.next
+ local flag,w = test_list(h,lv)
+ if flag==0 then
+ if lv==0 and not page_direction then
+ page_direction = v -- for first call of \yoko (in luatexja-core.sty)
+ else
if luatexja.debug then
luatexja.ext_show_node_list(node.direct.tonode(h),'>> ', texio.write_nl)
end
@@ -228,21 +226,21 @@ do
'luatexja',
"Use `\\" .. tostring(name) .. "' at top of list",
'Direction change command by LuaTeX-ja is available\n'
- .. 'only when the current list is null.')
- end
- elseif flag==1 then
- node_set_attr(w, attr_dir, v)
- if lv==0 then page_direction = v end
- elseif lv==0 then
- page_direction = v
- else -- flag == 2: need to create dir whatsit.
- local h = current_nest.head
- local hn = node.next(h)
- hn = (hn and hn.id==id_local) and hn or h
- local w = to_node(dir_pool[v]())
- insert_after_node(h,hn,w)
- current_nest.tail = node_tail_node(w)
- end
+ .. 'only when the current list is null.')
+ end
+ elseif flag==1 then
+ node_set_attr(w, attr_dir, v)
+ if lv==0 then page_direction = v end
+ elseif lv==0 then
+ page_direction = v
+ else -- flag == 2: need to create dir whatsit.
+ local h = current_nest.head
+ local hn = node.next(h)
+ hn = (hn and hn.id==id_local) and hn or h
+ local w = to_node(dir_pool[v]())
+ insert_after_node(h,hn,w)
+ current_nest.tail = node_tail_node(w)
+ end
ensure_tex_attr(attr_icflag, 0)
end
ensure_tex_attr(attr_dir, 0)
@@ -253,13 +251,13 @@ end
-- ボックスに dir whatsit を追加
local function create_dir_whatsit(hd, gc, new_dir)
if getid(hd)==id_whatsit and
- getsubtype(hd)==sid_user and getfield(hd, 'user_id')==DIR then
+ getsubtype(hd)==sid_user and getfield(hd, 'user_id')==DIR then
set_attr(hd, attr_icflag,
- get_attr_icflag(hd) + PROCESSED_BEGIN_FLAG)
+ get_attr_icflag(hd) + PROCESSED_BEGIN_FLAG)
local n =node_next(hd)
if n then
- set_attr(n, attr_icflag,
- get_attr_icflag(n) + PROCESSED_BEGIN_FLAG)
+ set_attr(n, attr_icflag,
+ get_attr_icflag(n) + PROCESSED_BEGIN_FLAG)
end
ensure_tex_attr(attr_icflag, 0)
return hd
@@ -268,7 +266,7 @@ local function create_dir_whatsit(hd, gc, new_dir)
setfield(w, 'next', hd)
set_attr(w, attr_icflag, PROCESSED_BEGIN_FLAG)
set_attr(hd, attr_icflag,
- get_attr_icflag(hd) + PROCESSED_BEGIN_FLAG)
+ get_attr_icflag(hd) + PROCESSED_BEGIN_FLAG)
ensure_tex_attr(attr_icflag, 0)
ensure_tex_attr(attr_dir, 0)
return w
@@ -282,81 +280,81 @@ do
local function create_dir_whatsit_hpack(h, gc)
local hd = to_direct(h)
if gc=='fin_row' then
- if hd then
- for p in traverse_id(15, hd) do -- unset
- if get_box_dir(p, 0)==0 then
+ if hd then
+ for p in traverse_id(15, hd) do -- unset
+ if get_box_dir(p, 0)==0 then
setfield(p, 'head', create_dir_whatsit(getlist(p), 'fin_row', ltjs.list_dir))
end
- end
- set_attr(hd, attr_icflag, PROCESSED_BEGIN_FLAG)
- ensure_tex_attr(attr_icflag, 0)
- end
- return h
+ end
+ set_attr(hd, attr_icflag, PROCESSED_BEGIN_FLAG)
+ ensure_tex_attr(attr_icflag, 0)
+ end
+ return h
elseif gc == 'preamble' then
else
- adjust_badness(hd)
- return to_node(create_dir_whatsit(hd, gc, ltjs.list_dir))
+ adjust_badness(hd)
+ return to_node(create_dir_whatsit(hd, gc, ltjs.list_dir))
end
end
ltjb.add_to_callback('hpack_filter',
- create_dir_whatsit_hpack, 'ltj.create_dir_whatsit', 10000)
+ create_dir_whatsit_hpack, 'ltj.create_dir_whatsit', 10000)
end
do
local function create_dir_whatsit_parbox(h, gc)
- stop_time_measure('tex_linebreak');
+ stop_time_measure 'tex_linebreak';
-- start 側は ltj-debug.lua に
local new_dir = ltjs.list_dir
for line in traverse_id(id_hlist, to_direct(h)) do
- setfield(line, 'head', create_dir_whatsit(getlist(line), gc, new_dir) )
+ setfield(line, 'head', create_dir_whatsit(getlist(line), gc, new_dir) )
end
ensure_tex_attr(attr_dir, 0)
return h
end
ltjb.add_to_callback('post_linebreak_filter',
- create_dir_whatsit_parbox, 'ltj.create_dir_whatsit', 10000)
+ create_dir_whatsit_parbox, 'ltj.create_dir_whatsit', 10000)
end
local create_dir_whatsit_vbox
do
local wh = {}
- local id_glue, sid_parskip = node.id('glue'), 3
+ local id_glue, sid_parskip = node.id 'glue', 3
create_dir_whatsit_vbox = function (hd, gc)
ltjs.list_dir = get_dir_count()
-- remove dir whatsit
for x in traverse_id(id_whatsit, hd) do
- if getsubtype(x)==sid_user and getfield(x, 'user_id')==DIR then
- wh[#wh+1]=x
- end
+ if getsubtype(x)==sid_user and getfield(x, 'user_id')==DIR then
+ wh[#wh+1]=x
+ end
end
if hd==wh[1] then
- ltjs.list_dir =has_attr(hd,attr_dir)
- local x = node_next(hd)
- if getid(x)==id_glue and getsubtype(x)==sid_parskip then
- node_remove(hd,x); node_free(x)
- end
+ ltjs.list_dir =has_attr(hd,attr_dir)
+ local x = node_next(hd)
+ if getid(x)==id_glue and getsubtype(x)==sid_parskip then
+ node_remove(hd,x); node_free(x)
+ end
end
for i=1,#wh do
- hd = node_remove(hd, wh[i]); node_free(wh[i]); wh[i] = nil
+ hd = node_remove(hd, wh[i]); node_free(wh[i]); wh[i] = nil
end
if gc=='fin_row' then -- gc == 'preamble' case is treated in dir_adjust_vpack
- if hd then
- set_attr(hd, attr_icflag, PROCESSED_BEGIN_FLAG)
- ensure_tex_attr(attr_icflag, 0)
- end
- return hd
+ if hd then
+ set_attr(hd, attr_icflag, PROCESSED_BEGIN_FLAG)
+ ensure_tex_attr(attr_icflag, 0)
+ end
+ return hd
else
- local n =node_next(hd)
- if gc=='vtop' then
- local w = create_dir_whatsit(hd, gc, ltjs.list_dir)
- -- move dir whatsit after hd
- setfield(hd, 'next', w); setfield(w, 'next', n)
- return hd
- else
- hd = create_dir_whatsit(hd, gc, ltjs.list_dir)
- return hd
- end
+ local n =node_next(hd)
+ if gc=='vtop' then
+ local w = create_dir_whatsit(hd, gc, ltjs.list_dir)
+ -- move dir whatsit after hd
+ setfield(hd, 'next', w); setfield(w, 'next', n)
+ return hd
+ else
+ hd = create_dir_whatsit(hd, gc, ltjs.list_dir)
+ return hd
+ end
end
end
end
@@ -377,131 +375,131 @@ do
local zero = function() return 0 end
dir_node_aux = {
[dir_yoko] = { -- yoko を
- [dir_tate] = { -- tate 中で組む
- width = get_h_d,
- height = get_w_half,
- depth = get_w_half_rem,
- [id_hlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '0 1 -1 0' },
- { 'kern', function(w,h,d,nw,nh,nd) return -nd end },
- { 'box' , get_h},
- { 'kern', function(w,h,d,nw,nh,nd) return nd-w end },
- { 'whatsit', sid_restore },
- },
- [id_vlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '0 1 -1 0' },
- { 'kern' , zero },
- { 'box' , function(w,h,d,nw,nh,nd) return -nh-nd end },
- { 'kern', get_h_d_neg},
- { 'whatsit', sid_restore },
- },
- },
- [dir_dtou] = { -- dtou 中で組む
- width = get_h_d,
- height = get_w,
- depth = zero,
- [id_hlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '0 -1 1 0' },
- { 'kern', function(w,h,d,nw,nh,nd) return -nh end },
- { 'box', get_d_neg },
- { 'kern', function(w,h,d,nw,nh,nd) return nh-w end },
- { 'whatsit', sid_restore },
- },
- [id_vlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '0 -1 1 0' },
- { 'kern', get_h_d_neg },
- { 'box', zero },
- { 'whatsit', sid_restore },
- },
- },
+ [dir_tate] = { -- tate 中で組む
+ width = get_h_d,
+ height = get_w_half,
+ depth = get_w_half_rem,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 1 -1 0' },
+ { 'kern', function(w,h,d,nw,nh,nd) return -nd end },
+ { 'box' , get_h},
+ { 'kern', function(w,h,d,nw,nh,nd) return nd-w end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 1 -1 0' },
+ { 'kern' , zero },
+ { 'box' , function(w,h,d,nw,nh,nd) return -nh-nd end },
+ { 'kern', get_h_d_neg},
+ { 'whatsit', sid_restore },
+ },
+ },
+ [dir_dtou] = { -- dtou 中で組む
+ width = get_h_d,
+ height = get_w,
+ depth = zero,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 -1 1 0' },
+ { 'kern', function(w,h,d,nw,nh,nd) return -nh end },
+ { 'box', get_d_neg },
+ { 'kern', function(w,h,d,nw,nh,nd) return nh-w end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 -1 1 0' },
+ { 'kern', get_h_d_neg },
+ { 'box', zero },
+ { 'whatsit', sid_restore },
+ },
+ },
},
[dir_tate] = { -- tate を
- [dir_yoko] = { -- yoko 中で組む
- width = get_h_d,
- height = get_w,
- depth = zero,
- [id_hlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '0 -1 1 0' },
- { 'kern', function (w,h,d,nw,nh,nd) return -nh end },
- { 'box' , get_d_neg },
- { 'kern', function (w,h,d,nw,nh,nd) return nh-w end },
- { 'whatsit', sid_restore },
- },
- [id_vlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '0 -1 1 0' },
- { 'kern', get_h_d_neg },
- { 'box', zero },
- { 'whatsit', sid_restore },
- },
- },
- [dir_dtou] = { -- dtou 中で組む
- width = get_w,
- height = get_d,
- depth = get_h,
- [id_hlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '-1 0 0 -1' },
- { 'kern', get_w_neg },
- { 'box', function (w,h,d,nw,nh,nd) return h-nd end },
- { 'whatsit', sid_restore },
- },
- [id_vlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '-1 0 0 -1' },
- { 'kern', get_h_d_neg },
- { 'box', get_w_neg },
- { 'whatsit', sid_restore },
- },
+ [dir_yoko] = { -- yoko 中で組む
+ width = get_h_d,
+ height = get_w,
+ depth = zero,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 -1 1 0' },
+ { 'kern', function (w,h,d,nw,nh,nd) return -nh end },
+ { 'box' , get_d_neg },
+ { 'kern', function (w,h,d,nw,nh,nd) return nh-w end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 -1 1 0' },
+ { 'kern', get_h_d_neg },
+ { 'box', zero },
+ { 'whatsit', sid_restore },
+ },
+ },
+ [dir_dtou] = { -- dtou 中で組む
+ width = get_w,
+ height = get_d,
+ depth = get_h,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '-1 0 0 -1' },
+ { 'kern', get_w_neg },
+ { 'box', function (w,h,d,nw,nh,nd) return h-nd end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '-1 0 0 -1' },
+ { 'kern', get_h_d_neg },
+ { 'box', get_w_neg },
+ { 'whatsit', sid_restore },
+ },
},
},
[dir_dtou] = { -- dtou を
- [dir_yoko] = { -- yoko 中で組む
- width = get_h_d,
- height = get_w,
- depth = zero,
- [id_hlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '0 1 -1 0' },
- { 'kern', function (w,h,d,nw,nh,nd) return -nd end },
- { 'box', get_h },
- { 'kern', function (w,h,d,nw,nh,nd) return nd-w end },
- { 'whatsit', sid_restore },
- },
- [id_vlist] = {
+ [dir_yoko] = { -- yoko 中で組む
+ width = get_h_d,
+ height = get_w,
+ depth = zero,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '0 1 -1 0' },
+ { 'kern', function (w,h,d,nw,nh,nd) return -nd end },
+ { 'box', get_h },
+ { 'kern', function (w,h,d,nw,nh,nd) return nd-w end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
{ 'kern', zero },
- { 'whatsit', sid_save },
- { 'rotate', '0 1 -1 0' },
- { 'box', function (w,h,d,nw,nh,nd) return -nd-nh end },
- { 'kern', get_h_d_neg },
- { 'whatsit', sid_restore },
- },
- },
- [dir_tate] = { -- tate 中で組む
- width = get_w,
- height = get_d,
- depth = get_h,
- [id_hlist] = {
- { 'whatsit', sid_save },
- { 'rotate', '-1 0 0 -1' },
- { 'kern', get_w_neg },
- { 'box', function (w,h,d,nw,nh,nd) return h-nd end },
- { 'whatsit', sid_restore },
- },
- [id_vlist] = {
- { 'whatsit', sid_save },
- { 'rotate', ' -1 0 0 -1' },
- { 'kern', function (w,h,d,nw,nh,nd) return -nh-nd end },
- { 'box', get_w_neg },
- { 'kern', function (w,h,d,nw,nh,nd) return nh+nd-h-d end },
- { 'whatsit', sid_restore },
- },
- },
+ { 'whatsit', sid_save },
+ { 'rotate', '0 1 -1 0' },
+ { 'box', function (w,h,d,nw,nh,nd) return -nd-nh end },
+ { 'kern', get_h_d_neg },
+ { 'whatsit', sid_restore },
+ },
+ },
+ [dir_tate] = { -- tate 中で組む
+ width = get_w,
+ height = get_d,
+ depth = get_h,
+ [id_hlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', '-1 0 0 -1' },
+ { 'kern', get_w_neg },
+ { 'box', function (w,h,d,nw,nh,nd) return h-nd end },
+ { 'whatsit', sid_restore },
+ },
+ [id_vlist] = {
+ { 'whatsit', sid_save },
+ { 'rotate', ' -1 0 0 -1' },
+ { 'kern', function (w,h,d,nw,nh,nd) return -nh-nd end },
+ { 'box', get_w_neg },
+ { 'kern', function (w,h,d,nw,nh,nd) return nh+nd-h-d end },
+ { 'whatsit', sid_restore },
+ },
+ },
},
}
end
@@ -509,7 +507,7 @@ end
-- 1st ret val: b の組方向
-- 2nd ret val はその DIR whatsit
function get_box_dir(b, default)
- start_time_measure('get_box_dir')
+ start_time_measure 'get_box_dir'
local dir = has_attr(b, attr_dir) or 0
local bh = getfield(b,'head')
-- b は insert node となりうるので getlist() は使えない
@@ -517,20 +515,11 @@ function get_box_dir(b, default)
if bh~=0 then -- bh != nil
for bh in traverse_id(id_whatsit, bh) do
if getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR then
- c = bh
- dir = (dir==0) and has_attr(bh, attr_dir) or dir
+ c = bh; dir = (dir==0) and has_attr(bh, attr_dir) or dir
end
end
end
- -- for i=1,2 do
- -- if bh and getid(bh)==id_whatsit
- -- and getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR then
- -- c = bh
- -- dir = (dir==0) and has_attr(bh, attr_dir) or dir
- -- end
- -- bh = node_next(bh)
- -- end
- stop_time_measure('get_box_dir')
+ stop_time_measure 'get_box_dir'
return (dir==0 and default or dir), c
end
@@ -538,54 +527,53 @@ do
local getbox = tex.getbox
local dir_backup
function luatexja.direction.unbox_check_dir(is_copy)
- start_time_measure('box_primitive_hook')
+ start_time_measure 'box_primitive_hook'
local list_dir = get_dir_count()%dir_math_mod
- local b = getbox(tex_getcount('ltj@tempcnta'))
+ local b = getbox(tex_getcount 'ltj@tempcnta')
if b and getlist(to_direct(b)) then
- local box_dir = get_box_dir(to_direct(b), dir_yoko)
- if box_dir%dir_math_mod ~= list_dir then
- ltjb.package_error(
- 'luatexja',
- "Incompatible direction list can't be unboxed",
- 'I refuse to unbox a box in differrent direction.')
+ local box_dir = get_box_dir(to_direct(b), dir_yoko)
+ if box_dir%dir_math_mod ~= list_dir then
+ ltjb.package_error(
+ 'luatexja',
+ "Incompatible direction list can't be unboxed",
+ 'I refuse to unbox a box in differrent direction.')
tex.sprint(cat_lp, '\\@gobbletwo')
- else
- dir_backup = nil
- local bd = to_direct(b)
- local hd = getlist(bd)
- local nh = hd
- while hd do
- if getid(hd)==id_whatsit and getsubtype(hd)==sid_user
- and getfield(hd, 'user_id')==DIR then
- local d = hd
- nh, hd = node_remove(nh, hd)
- if is_copy and (not dir_backup) then
- dir_backup = d
- setfield(dir_backup, 'next', nil)
- else
- node_free(d)
- end
- else
- hd = node_next(hd)
- end
- end
- setfield(bd, 'head', nh)
- end
+ else
+ dir_backup = nil
+ local bd = to_direct(b)
+ local hd = getlist(bd)
+ local nh = hd
+ while hd do
+ if getid(hd)==id_whatsit and getsubtype(hd)==sid_user
+ and getfield(hd, 'user_id')==DIR then
+ local d = hd
+ nh, hd = node_remove(nh, hd)
+ if is_copy and (not dir_backup) then
+ dir_backup = d; setfield(dir_backup, 'next', nil)
+ else
+ node_free(d)
+ end
+ else
+ hd = node_next(hd)
+ end
+ end
+ setfield(bd, 'head', nh)
+ end
end
if luatexja.global_temp and tex.globaldefs~=luatexja.global_temp then
- tex.globaldefs = luatexja.global_temp
+ tex.globaldefs = luatexja.global_temp
end
- stop_time_measure('box_primitive_hook')
+ stop_time_measure 'box_primitive_hook'
end
function luatexja.direction.uncopy_restore_whatsit()
- local b = getbox(tex_getcount('ltj@tempcnta'))
+ local b = getbox(tex_getcount 'ltj@tempcnta')
if b then
- local bd = to_direct(b)
- if dir_backup then
- setfield(dir_backup, 'next', getlist(bd))
- setfield(bd, 'head', dir_backup)
- dir_backup = nil
- end
+ local bd = to_direct(b)
+ if dir_backup then
+ setfield(dir_backup, 'next', getlist(bd))
+ setfield(bd, 'head', dir_backup)
+ dir_backup = nil
+ end
end
end
end
@@ -619,7 +607,7 @@ local function create_dir_node(b, b_dir, new_dir, is_manual)
local d = getfield(b, 'depth')
local db = node_new(getid(b)) -- dir_node
set_attr(db, attr_dir,
- new_dir + (is_manual and dir_node_manual or dir_node_auto))
+ new_dir + (is_manual and dir_node_manual or dir_node_auto))
set_attr(db, attr_icflag, PROCESSED)
set_attr(b, attr_icflag, PROCESSED)
ensure_tex_attr(attr_dir, 0)
@@ -645,108 +633,108 @@ do
local box_dir, dn = get_box_dir(b, ltjs.list_dir)
-- 既に b の中身にあるwhatsit
if (box_dir<dir_node_auto) and (not dn) then
- bh = create_dir_whatsit(bh, 'make_dir_whatsit', dir_yoko)
- dn = bh; setfield(b, 'head', bh)
+ bh = create_dir_whatsit(bh, 'make_dir_whatsit', dir_yoko)
+ dn = bh; setfield(b, 'head', bh)
end
if box_dir%dir_math_mod==new_dir then
- if box_dir>=dir_node_auto then
- -- dir_node としてカプセル化されている
- local _, dnc = get_box_dir(b, 0)
- if dnc then -- free all other dir_node
- node.direct.flush_list(getfield(dnc, 'value'))
- setfield(dnc, 'value', nil)
- end
- set_attr(b, attr_dir, box_dir%dir_math_mod + dir_node_auto)
- return head, node_next(b), b, true
- else
- -- 組方向が一緒 (up to math dir) のボックスなので,何もしなくて良い
- return head, node_next(b), b, false
- end
+ if box_dir>=dir_node_auto then
+ -- dir_node としてカプセル化されている
+ local _, dnc = get_box_dir(b, 0)
+ if dnc then -- free all other dir_node
+ node.direct.flush_list(getfield(dnc, 'value'))
+ setfield(dnc, 'value', nil)
+ end
+ set_attr(b, attr_dir, box_dir%dir_math_mod + dir_node_auto)
+ return head, node_next(b), b, true
+ else
+ -- 組方向が一緒 (up to math dir) のボックスなので,何もしなくて良い
+ return head, node_next(b), b, false
+ end
else
- -- 組方向を合わせる必要あり
+ -- 組方向を合わせる必要あり
local nh, nb, ret, flag
- if box_dir>= dir_node_auto then -- unwrap
- local b_dir
+ if box_dir>= dir_node_auto then -- unwrap
+ local b_dir
head, nb, b, b_dir = unwrap_dir_node(b, head, box_dir)
- bh = getlist(b)
- if b_dir%dir_math_mod==new_dir then
- -- dir_node の中身が周囲の組方向とあっている
- return head, nb, b, false
- else box_dir = b_dir end
- end
- box_dir = box_dir%dir_math_mod
- local db
- local dnh = getfield(dn, 'value')
- for x in traverse(dnh) do
- if has_attr(x, attr_dir)%dir_math_mod == new_dir then
- setfield(dn, 'value', to_node(node_remove(dnh, x)))
- db=x; break
- end
- end
- node.direct.flush_list(getfield(dn, 'value'))
- setfield(dn, 'value', nil)
- db = db or create_dir_node(b, box_dir, new_dir, false)
- local w = getfield(b, 'width')
- local h = getfield(b, 'height')
- local d = getfield(b, 'depth')
- local dn_w = getfield(db, 'width')
- local dn_h = getfield(db, 'height')
- local dn_d = getfield(db, 'depth')
- nh, nb = insert_before(head, b, db), nil
- nh, nb = node_remove(nh, b)
+ bh = getlist(b)
+ if b_dir%dir_math_mod==new_dir then
+ -- dir_node の中身が周囲の組方向とあっている
+ return head, nb, b, false
+ else box_dir = b_dir end
+ end
+ box_dir = box_dir%dir_math_mod
+ local db
+ local dnh = getfield(dn, 'value')
+ for x in traverse(dnh) do
+ if has_attr(x, attr_dir)%dir_math_mod == new_dir then
+ setfield(dn, 'value', to_node(node_remove(dnh, x)))
+ db=x; break
+ end
+ end
+ node.direct.flush_list(getfield(dn, 'value'))
+ setfield(dn, 'value', nil)
+ db = db or create_dir_node(b, box_dir, new_dir, false)
+ local w = getfield(b, 'width')
+ local h = getfield(b, 'height')
+ local d = getfield(b, 'depth')
+ local dn_w = getfield(db, 'width')
+ local dn_h = getfield(db, 'height')
+ local dn_d = getfield(db, 'depth')
+ nh, nb = insert_before(head, b, db), nil
+ nh, nb = node_remove(nh, b)
setfield(b, 'next', nil); setfield(db, 'head', b)
ret, flag = db, true
- return nh, nb, ret, flag
+ return nh, nb, ret, flag
end
end
process_dir_node = function (hd, gc)
local x, new_dir = hd, ltjs.list_dir or dir_yoko
while x do
- local xid = getid(x)
- if (xid==id_hlist and get_attr_icflag(x)~=PACKED)
- or xid==id_vlist then
- hd, x = make_dir_whatsit(hd, x, new_dir, 'process_dir_node:' .. gc)
- else
- x = node_next(x)
- end
+ local xid = getid(x)
+ if (xid==id_hlist and get_attr_icflag(x)~=PACKED)
+ or xid==id_vlist then
+ hd, x = make_dir_whatsit(hd, x, new_dir, 'process_dir_node:' .. gc)
+ else
+ x = node_next(x)
+ end
end
return hd
end
-- lastbox
local node_prev = (node.direct~=node) and node.direct.getprev or node.prev
- local id_glue = node.id('glue')
+ local id_glue = node.id 'glue'
local function lastbox_hook()
- start_time_measure('box_primitive_hook')
+ start_time_measure 'box_primitive_hook'
local bn = tex_nest[tex_nest.ptr].tail
if bn then
- local b, head = to_direct(bn), to_direct(tex_nest[tex_nest.ptr].head)
- local bid = getid(b)
- if bid==id_hlist or bid==id_vlist then
+ local b, head = to_direct(bn), to_direct(tex_nest[tex_nest.ptr].head)
+ local bid = getid(b)
+ if bid==id_hlist or bid==id_vlist then
local p = getlist(b)
- -- alignment の各行の中身が入ったボックス
+ -- alignment の各行の中身が入ったボックス
if p and getid(p)==id_glue and getsubtype(p)==12 then -- tabskip
- local np = node_next(p); local npid = getid(np)
- if npid==id_hlist or npid==id_vlist then
- setfield(b, 'head', create_dir_whatsit(p, 'align', get_box_dir(np, 0)))
- end
+ local np = node_next(p); local npid = getid(np)
+ if npid==id_hlist or npid==id_vlist then
+ setfield(b, 'head', create_dir_whatsit(p, 'align', get_box_dir(np, 0)))
+ end
+ end
+ local box_dir = get_box_dir(b, 0)
+ if box_dir>= dir_node_auto then -- unwrap dir_node
+ local p = node_prev(b)
+ local dummy1, dummy2, nb = unwrap_dir_node(b, nil, box_dir)
+ setfield(p, 'next', nb); tex_nest[tex_nest.ptr].tail = to_node(nb)
+ setfield(b, 'next', nil); setfield(b, 'head', nil)
+ node_free(b); b = nb
end
- local box_dir = get_box_dir(b, 0)
- if box_dir>= dir_node_auto then -- unwrap dir_node
- local p = node_prev(b)
- local dummy1, dummy2, nb = unwrap_dir_node(b, nil, box_dir)
- setfield(p, 'next', nb); tex_nest[tex_nest.ptr].tail = to_node(nb)
- setfield(b, 'next', nil); setfield(b, 'head', nil)
- node_free(b); b = nb
- end
- local _, wh = get_box_dir(b, 0) -- clean dir_node attached to the box
- if wh then
- node.direct.flush_list(getfield('value', wh))
- setfield(wh, 'value', nil)
- end
- end
+ local _, wh = get_box_dir(b, 0) -- clean dir_node attached to the box
+ if wh then
+ node.direct.flush_list(getfield('value', wh))
+ setfield(wh, 'value', nil)
+ end
+ end
end
- stop_time_measure('box_primitive_hook')
+ stop_time_measure 'box_primitive_hook'
end
luatexja.direction.make_dir_whatsit = make_dir_whatsit
@@ -825,55 +813,55 @@ do
setfield(wh, 'value',to_node(db))
end
setfield(db, key, scan_dimen())
- return false
+ return false
else
setfield(s, key, scan_dimen())
- if wh then
- -- change dimension of dir_nodes which are created "automatically"
- local bw, bh, bd
- = getfield(s,'width'), getfield(s, 'height'), getfield(s, 'depth')
- for x in traverse(getfield(wh, 'value')) do
- local x_dir = has_attr(x, attr_dir)
- if x_dir<dir_node_manual then
- local info = dir_node_aux[s_dir][x_dir%dir_node_auto]
- setfield(x, 'width', info.width(bw,bh,bd))
- setfield(x, 'height', info.height(bw,bh,bd))
- setfield(x, 'depth', info.depth(bw,bh,bd))
- end
- end
- end
- return true
+ if wh then
+ -- change dimension of dir_nodes which are created "automatically"
+ local bw, bh, bd
+ = getfield(s,'width'), getfield(s, 'height'), getfield(s, 'depth')
+ for x in traverse(getfield(wh, 'value')) do
+ local x_dir = has_attr(x, attr_dir)
+ if x_dir<dir_node_manual then
+ local info = dir_node_aux[s_dir][x_dir%dir_node_auto]
+ setfield(x, 'width', info.width(bw,bh,bd))
+ setfield(x, 'height', info.height(bw,bh,bd))
+ setfield(x, 'depth', info.depth(bw,bh,bd))
+ end
+ end
+ end
+ return true
end
end
local function set_box_dim(key)
local s = getbox(scan_int()); scan_keyword('=')
if s then
- local l_dir = (get_dir_count())%dir_math_mod
- s = to_direct(s)
+ local l_dir = (get_dir_count())%dir_math_mod
+ s = to_direct(s)
local b_dir = get_box_dir(s,dir_yoko)
if b_dir<dir_node_auto then
set_box_dim_common(key, s, l_dir)
- elseif b_dir%dir_math_mod == l_dir then
- -- s is dir_node
- setfield(s, key, scan_dimen())
- if b_dir<dir_node_manual then
- set_attr(s, attr_dir, b_dir%dir_node_auto + dir_node_manual)
- end
+ elseif b_dir%dir_math_mod == l_dir then
+ -- s is dir_node
+ setfield(s, key, scan_dimen())
+ if b_dir<dir_node_manual then
+ set_attr(s, attr_dir, b_dir%dir_node_auto + dir_node_manual)
+ end
else
- local sid, b = getid(s), getlist(s)
- local info = dir_node_aux[get_box_dir(b,dir_yoko)%dir_math_mod][b_dir%dir_node_auto]
- local bw, bh, bd
- = getfield(b,'width'), getfield(b, 'height'), getfield(b, 'depth')
- local sw, sh, sd
- = getfield(s,'width'), getfield(s, 'height'), getfield(s, 'depth')
- if set_box_dim_common(key, b, l_dir) and b_dir<dir_node_manual then
- -- re-calculate dimension of s, if s is created "automatically"
- if b_dir<dir_node_manual then
- setfield(s, 'width', info.width(bw,bh,bd))
- setfield(s, 'height', info.height(bw,bh,bd))
- setfield(s, 'depth', info.depth(bw,bh,bd))
- end
- end
+ local sid, b = getid(s), getlist(s)
+ local info = dir_node_aux[get_box_dir(b,dir_yoko)%dir_math_mod][b_dir%dir_node_auto]
+ local bw, bh, bd
+ = getfield(b,'width'), getfield(b, 'height'), getfield(b, 'depth')
+ local sw, sh, sd
+ = getfield(s,'width'), getfield(s, 'height'), getfield(s, 'depth')
+ if set_box_dim_common(key, b, l_dir) and b_dir<dir_node_manual then
+ -- re-calculate dimension of s, if s is created "automatically"
+ if b_dir<dir_node_manual then
+ setfield(s, 'width', info.width(bw,bh,bd))
+ setfield(s, 'height', info.height(bw,bh,bd))
+ setfield(s, 'depth', info.depth(bw,bh,bd))
+ end
+ end
end
end
end
@@ -888,11 +876,11 @@ do
s = to_direct(s)
local b_dir = get_box_dir(s, dir_yoko)
if b_dir<dir_node_auto then
- return b_dir
+ return b_dir
else
- local b_dir = get_box_dir(
- node_next(node_next(node_next(getlist(s)))), dir_yoko)
- return b_dir
+ local b_dir = get_box_dir(
+ node_next(node_next(node_next(getlist(s)))), dir_yoko)
+ return b_dir
end
else
return 0
@@ -905,21 +893,21 @@ do
local getbox, setbox, copy_list = tex.getbox, tex.setbox, node.direct.copy_list
-- raise, lower
function luatexja.direction.raise_box()
- start_time_measure('box_primitive_hook')
+ start_time_measure 'box_primitive_hook'
local list_dir = get_dir_count()
- local s = getbox('ltj@afbox')
+ local s = getbox 'ltj@afbox'
if s then
- local sd = to_direct(s)
- local box_dir = get_box_dir(sd, dir_yoko)
- if box_dir%dir_math_mod ~= list_dir then
- setbox(
- 'ltj@afbox',
- to_node(copy_list(make_dir_whatsit(sd, sd, list_dir, 'box_move')))
- -- copy_list しないとリストの整合性が崩れる……?
- )
- end
+ local sd = to_direct(s)
+ local box_dir = get_box_dir(sd, dir_yoko)
+ if box_dir%dir_math_mod ~= list_dir then
+ setbox(
+ 'ltj@afbox',
+ to_node(copy_list(make_dir_whatsit(sd, sd, list_dir, 'box_move')))
+ -- copy_list しないとリストの整合性が崩れる……?
+ )
+ end
end
- stop_time_measure('box_primitive_hook')
+ stop_time_measure 'box_primitive_hook'
end
end
@@ -929,61 +917,61 @@ do
local function glyph_from_packed(h)
local b = getlist(h)
return (getid(b)==id_kern or (getid(b)==id_whatsit and getsubtype(b)==sid_save) )
- and node_next(node_next(node_next(b))) or b
+ and node_next(node_next(node_next(b))) or b
end
luatexja.direction.glyph_from_packed = glyph_from_packed
end
-- adjust
do
- local id_adjust = node.id('adjust')
+ local id_adjust = node.id 'adjust'
function luatexja.direction.check_adjust_direction()
- start_time_measure('box_primitive_hook')
+ start_time_measure 'box_primitive_hook'
local list_dir = get_adjust_dir_count()
local a = tex_nest[tex_nest.ptr].tail
local ad = to_direct(a)
if a and getid(ad)==id_adjust then
- local adj_dir = get_box_dir(ad)
- if list_dir~=adj_dir then
- ltjb.package_error(
- 'luatexja',
- 'Direction Incompatible',
- "\\vadjust's argument and outer vlist must have same direction.")
- node.direct.last_node()
- end
+ local adj_dir = get_box_dir(ad)
+ if list_dir~=adj_dir then
+ ltjb.package_error(
+ 'luatexja',
+ 'Direction Incompatible',
+ "\\vadjust's argument and outer vlist must have same direction.")
+ node.direct.last_node()
+ end
end
- stop_time_measure('box_primitive_hook')
+ stop_time_measure 'box_primitive_hook'
end
end
-- insert
do
- local id_ins = node.id('ins')
- local id_rule = node.id('rule')
+ local id_ins = node.id 'ins'
+ local id_rule = node.id 'rule'
function luatexja.direction.populate_insertion_dir_whatsit()
- start_time_measure('box_primitive_hook')
+ start_time_measure 'box_primitive_hook'
local list_dir = get_dir_count()
local a = tex_nest[tex_nest.ptr].tail
local ad = to_direct(a)
if (not a) or getid(ad)~=id_ins then
- a = node.tail(tex.lists.page_head); ad = to_direct(a)
+ a = node.tail(tex.lists.page_head); ad = to_direct(a)
end
if a and getid(ad)==id_ins then
- local h = getfield(ad, 'head')
- if getid(h)==id_whatsit and
- getsubtype(h)==sid_user and getfield(h, 'user_id')==DIR then
- local n = h; h = node_remove(h,h)
- node_free(n)
- end
- for box_rule in traverse(h) do
- if getid(box_rule)<id_rule then
- h = insert_before(h, box_rule, dir_pool[list_dir]())
- end
- end
- ensure_tex_attr(attr_dir, 0)
- setfield(ad, 'head', h)
+ local h = getfield(ad, 'head')
+ if getid(h)==id_whatsit and
+ getsubtype(h)==sid_user and getfield(h, 'user_id')==DIR then
+ local n = h; h = node_remove(h,h)
+ node_free(n)
+ end
+ for box_rule in traverse(h) do
+ if getid(box_rule)<id_rule then
+ h = insert_before(h, box_rule, dir_pool[list_dir]())
+ end
+ end
+ ensure_tex_attr(attr_dir, 0)
+ setfield(ad, 'head', h)
end
- stop_time_measure('box_primitive_hook')
+ stop_time_measure 'box_primitive_hook'
end
end
@@ -997,50 +985,50 @@ do
local p = to_direct(tex_getbox(n))
split_dir_head = nil
if p then
- local bh = getlist(p)
- if getid(bh)==id_whatsit and getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR
- and node_next(bh) then
- ltjs.list_dir = has_attr(bh, attr_dir)
- local q = node_next(p)
- setfield(p, 'head', node_remove(bh,bh,bh))
- split_dir_head = bh
- end
+ local bh = getlist(p)
+ if getid(bh)==id_whatsit and getsubtype(bh)==sid_user and getfield(bh, 'user_id')==DIR
+ and node_next(bh) then
+ ltjs.list_dir = has_attr(bh, attr_dir)
+ local q = node_next(p)
+ setfield(p, 'head', node_remove(bh,bh,bh))
+ split_dir_head = bh
+ end
end
sprint(cat_lp, '\\ltj@@orig@vsplit' .. tostring(n))
- end
+ end
local function dir_adjust_vpack(h, gc)
- start_time_measure('direction_vpack')
+ start_time_measure 'direction_vpack'
local hd = to_direct(h)
if gc=='split_keep' then
- -- supply dir_whatsit
- hd = create_dir_whatsit_vbox(hd, gc)
- split_dir_whatsit = hd
+ -- supply dir_whatsit
+ hd = create_dir_whatsit_vbox(hd, gc)
+ split_dir_whatsit = hd
elseif gc=='split_off' then
- if split_dir_head then
- ltjs.list_dir = has_attr(split_dir_head, attr_dir)
- hd = insert_before(hd, hd, split_dir_head)
- split_dir_head=nil
- end
- if split_dir_whatsit then
- -- adjust direction of 'split_keep'
- set_attr(split_dir_whatsit, attr_dir, ltjs.list_dir)
- end
- split_dir_whatsit=nil
+ if split_dir_head then
+ ltjs.list_dir = has_attr(split_dir_head, attr_dir)
+ hd = insert_before(hd, hd, split_dir_head)
+ split_dir_head=nil
+ end
+ if split_dir_whatsit then
+ -- adjust direction of 'split_keep'
+ set_attr(split_dir_whatsit, attr_dir, ltjs.list_dir)
+ end
+ split_dir_whatsit=nil
elseif gc=='preamble' then
- split_dir_whatsit=nil
+ split_dir_whatsit=nil
else
- adjust_badness(hd)
- -- hd = process_dir_node(create_dir_whatsit_vbox(hd, gc), gc)
- -- done in append_to_vpack callback
- hd = create_dir_whatsit_vbox(hd, gc)
- split_dir_whatsit=nil
+ adjust_badness(hd)
+ -- hd = process_dir_node(create_dir_whatsit_vbox(hd, gc), gc)
+ -- done in append_to_vpack callback
+ hd = create_dir_whatsit_vbox(hd, gc)
+ split_dir_whatsit=nil
end
- stop_time_measure('direction_vpack')
+ stop_time_measure 'direction_vpack'
return to_node(hd)
end
ltjb.add_to_callback('vpack_filter',
- dir_adjust_vpack,
- 'ltj.direction', 10000)
+ dir_adjust_vpack,
+ 'ltj.direction', 10000)
end
do
@@ -1049,16 +1037,16 @@ do
return to_node(create_dir_whatsit_vbox(to_direct(h), gc))
end
ltjb.add_to_callback('pre_output_filter',
- dir_adjust_pre_output,
- 'ltj.direction', 10000)
+ dir_adjust_pre_output,
+ 'ltj.direction', 10000)
function luatexja.direction.remove_end_whatsit()
local h=tex.lists.page_head
if h and (not h.next) and
- h.id==id_whatsit and h.subtype==sid_user and
+ h.id==id_whatsit and h.subtype==sid_user and
h.user_id == DIR then
- tex.lists.page_head = nil
- node.free(h)
+ tex.lists.page_head = nil
+ node.free(h)
end
end
end
@@ -1074,7 +1062,7 @@ do
if getid(b)==id_whatsit and getsubtype(b)==sid_user
and getfield(b, 'user_id')==DIR then
local ob = b; b = node_remove(b,b); setfield(db, 'head', b);
- node_free(ob)
+ node_free(ob)
end
finalize_inner(b)
local w = getfield(b, 'width')
@@ -1105,7 +1093,7 @@ do
db_tail = nn
else
setfield(db, 'head', nn)
- db_head, db_tail = nn, nn
+ db_head, db_tail = nn, nn
end
end
end
@@ -1124,7 +1112,7 @@ do
else
finalize_inner(n)
end
- end
+ end
end
end
local getbox = tex.getbox
@@ -1141,11 +1129,5 @@ do
finalize_inner(shipout_temp)
setbox('global', "AtBeginShipoutBox", copy(getlist(shipout_temp)))
setfield(shipout_temp, 'head',nil)
- -- garbage collect
- --local m = collectgarbage('count')
- --if m>lua_mem_kb+20480 then
- -- collectgarbage(); lua_mem_kb = collectgarbage('count')
- --end
- --print('Lua Memory Usage', lua_mem_kb)
end
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
index 0616f4e50c..6423f8817a 100644
--- a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua
@@ -2,16 +2,16 @@
-- ltj-inputbuf.lua
--
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('charrange'); local ltjc = luatexja.charrange
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'charrange'; local ltjc = luatexja.charrange
-require("unicode")
+require "unicode"
local utflen = utf.len
local utfbyte = utf.byte
local utfchar = utf.char
local node_new = node.new
local node_free = node.free
-local id_glyph = node.id('glyph')
+local id_glyph = node.id 'glyph'
local getcatcode, getcount = tex.getcatcode, tex.getcount
local ltjc_is_japanese_char_curlist = ltjc.is_japanese_char_curlist
@@ -22,31 +22,30 @@ local time_line = 0
local start_time_measure, stop_time_measure
= ltjb.start_time_measure, ltjb.stop_time_measure
local function add_comment(buffer)
- start_time_measure('inputbuf')
+ start_time_measure 'inputbuf'
local i = utflen(buffer)
while (i>0) and (getcatcode(utfbyte(buffer, i))==1
- or getcatcode(utfbyte(buffer, i))==2) do
+ or getcatcode(utfbyte(buffer, i))==2) do
i=i-1
end
if i>0 then
local c = utfbyte(buffer, i)
if c>=0x80 then
- local te = tex.endlinechar
- -- Is the catcode of endline character is 5 (end-of-line)?
- if (te ~= -1) and (getcatcode(te)==5) then
- local ct = getcatcode(c)
- if (ct==11) or (ct==12) then
- local lec = getcount('ltjlineendcomment')
+ local te = tex.endlinechar
+ -- Is the catcode of endline character is 5 (end-of-line)?
+ if (te ~= -1) and (getcatcode(te)==5) then
+ local ct = getcatcode(c)
+ if (ct==11) or (ct==12) then
+ local lec = getcount 'ltjlineendcomment'
-- Is the catcode of \ltjlineendcomment (new comment char) is 14 (comment)?
- if ltjc_is_japanese_char_curlist(c) and (getcatcode(lec)==14) then
- stop_time_measure('inputbuf')
- return buffer .. utfchar(lec)
+ if ltjc_is_japanese_char_curlist(c) and (getcatcode(lec)==14) then
+ stop_time_measure 'inputbuf'; return buffer .. utfchar(lec)
end
- end
+ end
end
end
end
- stop_time_measure('inputbuf')
+ stop_time_measure 'inputbuf'
return buffer
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua b/macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
index 424b1ef472..4ed4e5a512 100644
--- a/macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
@@ -1,5 +1,6 @@
+local f = false
return {
-version = 2,
+version = 3,
table_ivd_aj1 = {
-- # IVD_Sequences
-- #
@@ -36,23061 +37,2310 @@ table_ivd_aj1 = {
-- # For terms of use, see: http://www.unicode.org/terms_of_use.html
-- #
-- # EOF
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 2117341,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 2117276,
- 2118934,
- 2120195,
- 2135615,
- 2118848,
- 2122011,
- 2122536,
- 2120182,
- 2134050,
- 2131061,
- 2130716,
- 2128464,
- 2121898,
- 2122721,
- 2125349,
- 2123245,
- 2131046,
- 2130598,
- 2137077,
- 2123923,
- 2119463,
- 2123169,
- 2122353,
- 2120603,
- 2120144,
- 2131579,
- 2136308,
- 2129250,
- 2129342,
- 2136974,
- 2122262,
- 2129055,
- 2132151,
- 2120585,
- 2121397,
- 2122505,
- 2123415,
- 2123848,
- 2135495,
- 2135949,
- 2123599,
- 2117349,
- 2117386,
- 2117453,
- 2117533,
- 2117705,
- 2119410,
- 2119991,
- 2120148,
- 2120193,
- 2120713,
- 2121951,
- 2121999,
- 2122096,
- 2123283,
- 2124037,
- 2126010,
- 2127183,
- 2127216,
- 2128379,
- 2129325,
- 2129391,
- 2130115,
- 2130958,
- 2132067,
- 2132738,
- 2134101,
- 2134138,
- 2118459,
- 2117269,
- 2117285,
- 2119647,
- 2130098,
- 2134209,
- 2128111,
- 2117120,
- 2119921,
- 2125474,
- 2134072,
- 2128434,
- 2130728,
- 2130571,
- 2137135,
- 2117953,
- 2118512,
- 2118845,
- 2118881,
- 2119392,
- 2120187,
- 2121493,
- 2136306,
- 2125291,
- 2130148,
- 2131245,
- 2135650,
- 2135664,
- 2135712,
- 2136059,
- 2118667,
- 2118643,
- 2120583,
- 2126031,
- 4227005,
- 2133954,
- 2135784,
- 2118511,
- 2137436,
- 2128570,
- 2117137,
- 2128019,
- 2130428,
- 2125350,
- 2119192,
- 2118916,
- 2124573,
- 2131226,
- 2137147,
- 2120165,
- 2118569,
- 2125158,
- 2127068,
- 2135439,
- 2119234,
- 2117265,
- 2134091,
- 2135794,
- 2130767,
- 2136332,
- 2118625,
- 2119094,
- 2120496,
- 2121585,
- 2123296,
- 2123507,
- 2123780,
- 2124856,
- 2125043,
- 2125097,
- 2126939,
- 2127560,
- 2128462,
- 2136116,
- 2130673,
- 2132059,
- 2132576,
- 2134765,
- 2125234,
- 2127275,
- 2127562,
- 2136517,
- 2121894,
- 4229889,
- 2133386,
- 2135474,
- 2124174,
- 2118573,
- 2118022,
- 2119442,
- 2119728,
- 2120004,
- 2120628,
- 2121462,
- 2121768,
- 2122665,
- 2122740,
- 4222143,
- 2125588,
- 2125966,
- 2126100,
- 2126169,
- 2126293,
- 2126655,
- 2129409,
- 2130550,
- 2130641,
- 2131351,
- 2134112,
- 2134619,
- 2137371,
- 2119785,
- 2123196,
- 2124890,
- 2127141,
- 2118137,
- 2119982,
- 2120037,
- 2121600,
- 2121692,
- 2122428,
- 2123258,
- 2124330,
- 2124583,
- 2124724,
- 2126731,
- 2129857,
- 2132310,
- 2137388,
- 2137358,
- 2137796,
- 2120865,
- 2124950,
- 2130811,
- 2117892,
- 2120779,
- 2122166,
- 2130374,
- 2123894,
- 2126433,
- 2117209,
- 2117626,
- 2118520,
- 2121833,
- 2125353,
- 2128463,
- 2136051,
- 2117131,
- 2118422,
- 2117358,
- 2117461,
- 2117437,
- 2117537,
- 2117491,
- 2118304,
- 2118639,
- 2119177,
- 2119951,
- 2120385,
- 2120630,
- 2120673,
- 2128337,
- 2123399,
- 2123676,
- 2123702,
- 2124620,
- 2124979,
- 2125931,
- 2126786,
- 4225421,
- 2128318,
- 2128444,
- 2128775,
- 2130609,
- 2130651,
- 2130692,
- 2130807,
- 2130927,
- 2130899,
- 2131814,
- 2132658,
- 2119209,
- 2133160,
- 2133990,
- 2134094,
- 2135838,
- 2131594,
- 2117572,
- 2120936,
- 2122257,
- 2126425,
- 2127163,
- 2130405,
- 4227773,
- 2131710,
- 2133184,
- 2135749,
- 2136339,
- 2136533,
- 2117323,
- 2117402,
- 2132451,
- 2119390,
- 2119754,
- 2119882,
- 2121467,
- 2121707,
- 2121770,
- 4219028,
- 2121826,
- 2122192,
- 2122258,
- 2122448,
- 2123065,
- 2136897,
- 2123366,
- 2123952,
- 4222327,
- 2125936,
- 2127180,
- 2127494,
- 2129269,
- 2130597,
- 2131961,
- 2135435,
- 2135694,
- 2133149,
- 2118129,
- 2118334,
- 2119958,
- 2118835,
- 2120627,
- 2120982,
- 2122088,
- 2124162,
- 2125231,
- 2128013,
- 2131147,
- 2132055,
- 2132594,
- 2134951,
- 2136760,
- 2125164,
- 2136488,
- 2131673,
- 2119587,
- 2123775,
- 2131662,
- 2134542,
- 2118275,
- 2119303,
- 2118660,
- 2121427,
- 2122465,
- 2122937,
- 2123836,
- 2123832,
- 2124731,
- 2126706,
- 2128058,
- 2128491,
- 2132378,
- 4229586,
- 2133355,
- 2133763,
- 2134253,
- 2135459,
- 2135700,
- 2135913,
- 2120550,
- 2120883,
- 2124157,
- 2136141,
- 2136142,
- 2122651,
- 2128672,
- 2124331,
- 2124415,
- 2123958,
- 2137101,
- 2125663,
- 4215410,
- 2119069,
- 2121840,
- 2122476,
- 2125115,
- 2125319,
- 2125521,
- 2131035,
- 2132240,
- 2133828,
- 2117140,
- 2137145,
- 2118646,
- 2124059,
- 2124346,
- 2135940,
- 2123818,
- 2117980,
- 2128579,
- 2131122,
- 2134492,
- 2134924,
- 2119259,
- 2137384,
- 2123810,
- 2130693,
- 2130993,
- 2129061,
- 2118152,
- 2130629,
- 2127078,
- 2117246,
- 2117507,
- 2118048,
- 2120658,
- 2118154,
- 2118360,
- 2118375,
- 2121211,
- 2119066,
- 2119722,
- 2120166,
- 2120588,
- 2120600,
- 2120667,
- 2121330,
- 2121337,
- 2121891,
- 2122015,
- 2122083,
- 2122174,
- 2122715,
- 2123106,
- 2123729,
- 2123859,
- 2124026,
- 2124606,
- 2124627,
- 2124887,
- 2125602,
- 2125719,
- 2125637,
- 2127024,
- 2127128,
- 2127587,
- 2127627,
- 2128639,
- 2128801,
- 2128929,
- 2129385,
- 2129718,
- 2129904,
- 2130077,
- 2130534,
- 2130846,
- 2132403,
- 2132684,
- 2133163,
- 2134148,
- 2135121,
- 2135443,
- 2135441,
- 2135458,
- 2135653,
- 2136019,
- 2136360,
- 2130456,
- 2117176,
- 2118699,
- 2120888,
- 2121164,
- 2126761,
- 2127436,
- 2127676,
- 2120873,
- 2129899,
- 2133259,
- 2135745,
- 2136081,
- 2136148,
- 2136152,
- 2117377,
- 2117390,
- 2118513,
- 2119068,
- 2119272,
- 2119674,
- 2120007,
- 2120457,
- 2120644,
- 2120848,
- 2121228,
- 2121342,
- 2121676,
- 2122734,
- 2123578,
- 2123223,
- 4220386,
- 2123551,
- 2123979,
- 2123972,
- 2124383,
- 2121264,
- 2124741,
- 2124823,
- 2124925,
- 2127231,
- 4225352,
- 2120547,
- 2128384,
- 2129152,
- 2121661,
- 2132367,
- 2132504,
- 2133172,
- 2133367,
- 2133708,
- 2133789,
- 2136290,
- 2136590,
- 2136892,
- 2117248,
- 2117757,
- 2117888,
- 2120083,
- 2120604,
- 2122287,
- 2122368,
- 2122988,
- 2124602,
- 2126496,
- 2127249,
- 2128199,
- 2129833,
- 2131963,
- 2132668,
- 2132848,
- 2122668,
- 2130890,
- 2135968,
- 2118665,
- 2118659,
- 2119083,
- 2123860,
- 2124376,
- 2132592,
- 2127911,
- 2123637,
- 2137805,
- 2118516,
- 2120610,
- 2130202,
- 2131536,
- 2134022,
- 2117144,
- 2117189,
- 2117319,
- 2117393,
- 2118602,
- 2118712,
- 2120622,
- 2121491,
- 2121765,
- 2123089,
- 2123581,
- 2124866,
- 2124914,
- 2125027,
- 2125944,
- 2126851,
- 2128502,
- 2128558,
- 2128648,
- 2129178,
- 2129150,
- 2129254,
- 2123239,
- 2126427,
- 2118587,
- 2120773,
- 2121192,
- 2122450,
- 2122464,
- 2122521,
- 2125344,
- 2131546,
- 2132529,
- 2133469,
- 2134776,
- 2125569,
- 2128294,
- 2136922,
- 2117288,
- 2117291,
- 2117292,
- 2117531,
- 2117536,
- 2117841,
- 2117959,
- 2128630,
- 2118001,
- 2118134,
- 2118484,
- 2118433,
- 4215679,
- 2118635,
- 2119084,
- 2119811,
- 2120929,
- 2121527,
- 2121546,
- 2121775,
- 2121808,
- 2121837,
- 2122527,
- 2123097,
- 2124363,
- 2124993,
- 2126530,
- 2126573,
- 2127855,
- 2130168,
- 2130181,
- 2130440,
- 2131278,
- 2134263,
- 2135009,
- 2136063,
- 2136407,
- 2136666,
- 2117360,
- 2118109,
- 2120749,
- 2123393,
- 2124141,
- 2120768,
- 2123506,
- 2124149,
- 2126729,
- 2123856,
- 2129025,
- 2117829,
- 2118372,
- 2119495,
- 2121214,
- 2134822,
- 2123172,
- 2124579,
- 2124605,
- 2126900,
- 2128257,
- 2128317,
- 2128715,
- 2129354,
- 2130617,
- 2130892,
- 2132095,
- 2132319,
- 4229945,
- 2133969,
- 2134481,
- 2118687,
- 2134656,
- 2117213,
- 2117686,
- 2118629,
- 2118458,
- 2126551,
- 2126742,
- 2127849,
- 2130662,
- 2133679,
- 2136518,
- 2136520,
- 2136530,
- 2118007,
- 2122010,
- 2131550,
- 2119088,
- 2128506,
- 2117750,
- 2120659,
- 2134087,
- 2135685,
- 2117170,
- 4221659,
- 2134503,
- 2120785,
- 2120776,
- 2122648,
- 2128543,
- 2124947,
- 2135924,
- 2133857,
- 2128554,
- 2126218,
- 2135688,
- 2129026,
- 2123799,
- 2129520,
- 2123857,
- 2134892,
- 2118386,
- 2118683,
- 2131371,
- 2132499,
- 2129828,
- 2133709,
- 2134241,
- 2118502,
- 2132104,
- 2128193,
- 2117570,
- 2117822,
- 2118161,
- 2117956,
- 2118995,
- 2119469,
- 2126826,
- 2119563,
- 2120017,
- 2121570,
- 2121604,
- 2121845,
- 2122102,
- 2122087,
- 2122153,
- 2122674,
- 2122810,
- 2123116,
- 2123375,
- 2123842,
- 2125331,
- 2127206,
- 2128445,
- 2129147,
- 2129228,
- 2129305,
- 2129483,
- 2129771,
- 2130702,
- 2130762,
- 2131661,
- 2132488,
- 2132579,
- 2132838,
- 2133757,
- 2136090,
- 2137487,
- 2130616,
- 2133966,
- 2137064,
- 2118279,
- 2122271,
- 2122883,
- 2125760,
- 2135705,
- 2123841,
- 2117777,
- 2124576,
- 2124922,
- 2125652,
- 2128500,
- 2129232,
- 2132032,
- 2132515,
- 2123528,
- 2117366,
- 2117689,
- 2117670,
- 2117733,
- 2118012,
- 2118200,
- 2118243,
- 2119079,
- 2119439,
- 2119685,
- 2120396,
- 2121466,
- 2122162,
- 2122232,
- 2122483,
- 2122610,
- 2124060,
- 2124329,
- 2126461,
- 2126508,
- 2126638,
- 2127892,
- 2127983,
- 2129273,
- 2127628,
- 2130089,
- 2132363,
- 2132761,
- 2133218,
- 2133714,
- 2134115,
- 2134901,
- 2135674,
- 2136149,
- 2136595,
- 2137720,
- 2117955,
- 2118559,
- 2118579,
- 2121339,
- 2121510,
- 2125339,
- 2125456,
- 2126724,
- 2126846,
- 2129219,
- 2130487,
- 2132480,
- 2132730,
- 2135632,
- 2117198,
- 2117643,
- 2118628,
- 2118780,
- 2119418,
- 2120145,
- 2120548,
- 2121201,
- 2121387,
- 2121511,
- 2122296,
- 2123077,
- 2123695,
- 2125398,
- 2126544,
- 2129098,
- 2132148,
- 2130081,
- 2130145,
- 2130928,
- 2131534,
- 2132615,
- 2133480,
- 2134583,
- 2135751,
- 2136167,
- 2137875,
- 2117268,
- 2117266,
- 2117389,
- 2118472,
- 2118729,
- 2118718,
- 2120239,
- 2121612,
- 2121633,
- 2121887,
- 2123943,
- 2124430,
- 2126938,
- 2128001,
- 2132638,
- 2132644,
- 2132855,
- 2134416,
- 2117214,
- 2137033,
- 2117284,
- 2117500,
- 2117551,
- 2117657,
- 2117654,
- 2117961,
- 2117996,
- 2118303,
- 2118329,
- 2118398,
- 2118554,
- 2118627,
- 2118673,
- 2118670,
- 2119049,
- 2119505,
- 2119586,
- 2120061,
- 2120532,
- 2120541,
- 2120591,
- 2121189,
- 2121191,
- 2121207,
- 2121336,
- 2121347,
- 2121370,
- 2121399,
- 2121496,
- 2121810,
- 2122060,
- 2122391,
- 2122456,
- 2122663,
- 2123067,
- 2123266,
- 2123331,
- 2123508,
- 2123629,
- 2123809,
- 2123927,
- 2124235,
- 2124895,
- 2125098,
- 2125161,
- 2125359,
- 2125469,
- 2127154,
- 2127495,
- 2127980,
- 2128447,
- 2129120,
- 2129157,
- 2129176,
- 2129246,
- 2129329,
- 2129941,
- 2129923,
- 2130095,
- 2130097,
- 2130260,
- 2130319,
- 2130474,
- 2130770,
- 2132044,
- 2132065,
- 2132763,
- 2133154,
- 2133244,
- 2134218,
- 2134389,
- 2134641,
- 2127935,
- 2134780,
- 2135460,
- 2135629,
- 2136069,
- 2136473,
- 2136792,
- 2137403,
- 2118235,
- 2118315,
- 2118647,
- 2118664,
- 2119893,
- 2122487,
- 2125792,
- 2133098,
- 2133855,
- 2137785,
- 2117963,
- 2118203,
- 2118730,
- 2119421,
- 4225600,
- 2134391,
- 2137440,
- 2137810,
- 2126660,
- 2125577,
- 2130288,
- 2127121,
- 2121725,
- 2121946,
- 2136744,
- 2126555,
- 2133948,
- 2124644,
- 2136067,
- 2117322,
- 2119408,
- 2119524,
- 2119870,
- 2120282,
- 2121832,
- 2122183,
- 2123279,
- 2123270,
- 2123833,
- 2123953,
- 2125303,
- 2127317,
- 2129210,
- 2130542,
- 2136898,
- 2117275,
- 2117456,
- 2118601,
- 2118918,
- 2121071,
- 2121190,
- 2121198,
- 2123771,
- 2124953,
- 2126963,
- 2127874,
- 2132560,
- 2134934,
- 2132191,
- 2119504,
- 2121383,
- 2122539,
- 2117813,
- 2117804,
- 4215181,
- 2123520,
- 2118857,
- 2119774,
- 2120123,
- 2120624,
- 2121577,
- 2122317,
- 2122657,
- 2123837,
- 2124659,
- 2125320,
- 2125949,
- 2134471,
- 2126464,
- 2127893,
- 2127910,
- 2128237,
- 2123150,
- 2129200,
- 2130908,
- 2132161,
- 2133769,
- 2135707,
- 2118244,
- 2119464,
- 2123600,
- 2129770,
- 2133153,
- 2118068,
- 2119490,
- 2135594,
- 2119738,
- 2124170,
- 2130100,
- 2118834,
- 2120974,
- 2119676,
- 2128021,
- 2137594,
- 2117468,
- 2118218,
- 2118795,
- 2122814,
- 2123304,
- 2123540,
- 2123765,
- 2128516,
- 2128726,
- 2129186,
- 2134831,
- 2123868,
- 2137005,
- 2128697,
- 2118425,
- 2118026,
- 2118199,
- 2120671,
- 2122486,
- 2122926,
- 2122982,
- 2123565,
- 4221882,
- 2131369,
- 2135761,
- 2127504,
- 2137046,
- 2122572,
- 2134790,
- 2137003,
- 2127551,
- 2123346,
- 2117129,
- 2117784,
- 2118594,
- 2120817,
- 2121960,
- 2122898,
- 2123107,
- 2123871,
- 2126310,
- 2126794,
- 2127139,
- 2128791,
- 2129538,
- 2131605,
- 2132867,
- 2133211,
- 2134392,
- 2136336,
- 2123180,
- 2123435,
- 2124683,
- 2117333,
- 2117332,
- 2117434,
- 2117503,
- 2118202,
- 2118648,
- 2118642,
- 2119139,
- 2119387,
- 2119915,
- 2120139,
- 2120137,
- 2120191,
- 2120528,
- 2120781,
- 2121218,
- 2121259,
- 2121687,
- 2121757,
- 2122503,
- 2123055,
- 2120540,
- 2123183,
- 2123197,
- 2123240,
- 2123677,
- 2124642,
- 2124667,
- 2124815,
- 2126661,
- 2128201,
- 2128321,
- 2129144,
- 2129177,
- 2129195,
- 2130082,
- 2130178,
- 2130419,
- 2132374,
- 2132574,
- 2132585,
- 2132582,
- 2132620,
- 2132718,
- 2133191,
- 2133212,
- 2135756,
- 2136316,
- 2124655,
- 2117259,
- 2117436,
- 2117517,
- 2117968,
- 2120535,
- 2120698,
- 2122056,
- 2122497,
- 2123330,
- 2124577,
- 2125515,
- 2124987,
- 2126398,
- 2127037,
- 2127316,
- 2128065,
- 4225338,
- 2129932,
- 2129971,
- 2130410,
- 2131092,
- 2133918,
- 2124880,
- 2137727,
- 2121487,
- 2132824,
- 2137387,
- 2128634,
- 2133752,
- 2120589,
- 2135787,
- 2117123,
- 2118641,
- 2119671,
- 2119985,
- 2120393,
- 2120612,
- 2121865,
- 2125439,
- 2125574,
- 2127294,
- 2133226,
- 2120607,
- 2131200,
- 2128864,
- 2117746,
- 2123764,
- 2130589,
- 2120801,
- 2131274,
- 2129438,
- 2130446,
- 2118041,
- 2120708,
- 2122600,
- 2133350,
- 2123164,
- 4223342,
- 2128190,
- 2129175,
- 2129925,
- 2132765,
- 2133706,
- 2134126,
- 2131655,
- 2134186,
- 2117663,
- 4215546,
- 2120762,
- 2123603,
- 2125948,
- 4223541,
- 2134348,
- 2134472,
- 2134827,
- 2130661,
- 2120642,
- 2121521,
- 2121977,
- 2117179,
- 2118614,
- 2120584,
- 2122315,
- 2123569,
- 2124682,
- 2126569,
- 2126816,
- 2128430,
- 2130283,
- 2133411,
- 2134354,
- 2136470,
- 2117906,
- 2118615,
- 2118762,
- 2120703,
- 2122632,
- 2124345,
- 2129324,
- 2135808,
- 2119386,
- 2118606,
- 4215912,
- 2120599,
- 2120753,
- 2121182,
- 2117614,
- 2121985,
- 2122494,
- 2125106,
- 2128320,
- 2128331,
- 2129218,
- 2129485,
- 2129874,
- 2130413,
- 2130463,
- 2131088,
- 2132038,
- 2132338,
- 2132880,
- 2133620,
- 2133807,
- 2134065,
- 2134347,
- 2134380,
- 2135750,
- 2134428,
- 2117312,
- 2117455,
- 2117957,
- 2118465,
- 2121619,
- 2122254,
- 2123732,
- 2124865,
- 2125323,
- 2126691,
- 2129446,
- 2134477,
- 2134659,
- 2118612,
- 2119961,
- 2120639,
- 2125265,
- 4225373,
- 2129454,
- 2129051,
- 2119806,
- 2126239,
- 2118138,
- 2132051,
- 2134000,
- 2117578,
- 2120955,
- 2123301,
- 2127788,
- 2128611,
- 2130460,
- 2136575,
- 2118086,
- 2121642,
- 2123244,
- 2124143,
- 2124681,
- 2125299,
- 2125462,
- 2125668,
- 2127614,
- 2129172,
- 2121185,
- 2134133,
- 2134407,
- 2136070,
- 2118118,
- 2118173,
- 2122304,
- 2123409,
- 2123481,
- 4222490,
- 2121398,
- 2129362,
- 4226930,
- 2123512,
- 2131375,
- 2131447,
- 4229880,
- 2118313,
- 2118617,
- 2120051,
- 2121359,
- 2121616,
- 2121813,
- 2134756,
- 2135652,
- 2117815,
- 2117919,
- 2118365,
- 2118432,
- 2118471,
- 2118636,
- 2118888,
- 2118982,
- 2118961,
- 2119191,
- 2120040,
- 2120126,
- 2120252,
- 2120629,
- 4217862,
- 2120719,
- 2120721,
- 2120730,
- 2121348,
- 2121354,
- 2121440,
- 2121584,
- 2122367,
- 2122372,
- 2122459,
- 2122636,
- 2122615,
- 2123271,
- 2123276,
- 2123309,
- 2123382,
- 2123646,
- 2123938,
- 2124319,
- 2124341,
- 2124988,
- 2125192,
- 2125321,
- 2125400,
- 2126140,
- 2126118,
- 2126183,
- 2127303,
- 2127617,
- 2127965,
- 2128129,
- 4225381,
- 2128368,
- 2128608,
- 2128657,
- 2129063,
- 2129209,
- 2130070,
- 2130902,
- 2131083,
- 2131273,
- 2132061,
- 2132211,
- 2132511,
- 2132540,
- 2132564,
- 2132595,
- 2133089,
- 2133214,
- 2134436,
- 2134630,
- 2134910,
- 2135064,
- 2135708,
- 2135960,
- 2117130,
- 2117128,
- 2117150,
- 2117207,
- 2118039,
- 2118256,
- 4216782,
- 2119732,
- 2119884,
- 2120482,
- 2121272,
- 2121925,
- 2123006,
- 2123617,
- 2123606,
- 2125124,
- 2126518,
- 2127219,
- 2128483,
- 2131128,
- 2132850,
- 2134456,
- 2134816,
- 2119217,
- 2119668,
- 2136318,
- 2122477,
- 2124045,
- 2124694,
- 2126317,
- 2129492,
- 2130039,
- 2130546,
- 2132454,
- 2136287,
- 2131797,
- 2133937,
- 2120763,
- 2117432,
- 2117601,
- 2117557,
- 2118919,
- 2120224,
- 2120669,
- 2120681,
- 2121667,
- 2122062,
- 2122543,
- 2123184,
- 2123339,
- 2124014,
- 2124187,
- 2125176,
- 2125297,
- 2127155,
- 2127289,
- 2127647,
- 4225374,
- 2128358,
- 2129203,
- 2130403,
- 2130607,
- 2131370,
- 2132394,
- 2132538,
- 2133675,
- 2133915,
- 2134066,
- 2134493,
- 2135815,
- 2117306,
- 2117313,
- 2118147,
- 2119797,
- 2119916,
- 2120715,
- 2127130,
- 2120765,
- 2130254,
- 2132490,
- 2133957,
- 2135651,
- 2135917,
- 2128677,
- 2132687,
- 2136072,
- 2134370,
- 2119411,
- 2118568,
- 2134039,
- 2118713,
- 2119554,
- 2121253,
- 2122664,
- 2124852,
- 2125962,
- 2127713,
- 2129035,
- 2129888,
- 2132080,
- 2134082,
- 2134356,
- 2134800,
- 2134808,
- 2135695,
- 2126942,
- 2136772,
- 2120967,
- 2121065,
- 2123120,
- 2123682,
- 2133416,
- 2135771,
- 2122606,
- 2123593,
- 2124057,
- 2130885,
- 2136087,
- 2135744,
- 2132222,
- 2125700,
- 2122874,
- 2120696,
- 2117142,
- 2125868,
- 2127197,
- 2123311,
- 2118084,
- 2118198,
- 2118370,
- 2120147,
- 2121601,
- 2121767,
- 2122256,
- 2123071,
- 2123124,
- 2123295,
- 4220532,
- 2124018,
- 2123798,
- 2124643,
- 2125317,
- 2126450,
- 2127135,
- 2127579,
- 4226238,
- 2130006,
- 2119920,
- 2132221,
- 2132351,
- 2132640,
- 2132627,
- 2132683,
- 2134045,
- 2134418,
- 2135890,
- 2135897,
- 2123145,
- 2128398,
- 2130182,
- 2135739,
- 2121261,
- 2121948,
- 2122266,
- 2123173,
- 2123284,
- 2123664,
- 2127859,
- 2128461,
- 2128973,
- 2129470,
- 2130186,
- 2133164,
- 2133348,
- 2133473,
- 2133599,
- 2128041,
- 2118151,
- 2122457,
- 2122661,
- 2122818,
- 2122392,
- 2132525,
- 2128515,
- 2128832,
- 2132652,
- 2135786,
- 2129270,
- 2130444,
- 2131785,
- 2117337,
- 2117960,
- 2118467,
- 2118496,
- 2120611,
- 2120706,
- 2120726,
- 2121181,
- 2122278,
- 2122311,
- 2122928,
- 2123795,
- 2123828,
- 2125001,
- 2125125,
- 2125079,
- 2123731,
- 2125660,
- 2126158,
- 2126205,
- 2123211,
- 2128511,
- 2128813,
- 2129370,
- 2129482,
- 2129832,
- 2130298,
- 2130459,
- 2130489,
- 2131366,
- 2132590,
- 2133198,
- 2133493,
- 2134136,
- 2134135,
- 2134701,
- 2134673,
- 2135427,
- 2137006,
- 2118221,
- 2119044,
- 2125624,
- 2126134,
- 2117992,
- 2128261,
- 2129493,
- 2130355,
- 2129102,
- 2119244,
- 2119761,
- 2120872,
- 2122666,
- 2123518,
- 2123517,
- 2124122,
- 2126553,
- 2127247,
- 2127246,
- 2128142,
- 2128214,
- 2128351,
- 2129047,
- 2129184,
- 2129220,
- 2131463,
- 2132532,
- 2135611,
- 2134113,
- 2137888,
- 2117863,
- 2118261,
- 2118604,
- 2118626,
- 2117641,
- 2119082,
- 2119918,
- 2120015,
- 2126397,
- 2120587,
- 2120804,
- 2118429,
- 2121955,
- 2121971,
- 2122588,
- 2122627,
- 2122559,
- 2122683,
- 2122957,
- 2123241,
- 2123513,
- 2121187,
- 2124237,
- 2124285,
- 2125589,
- 2126309,
- 2117257,
- 2127337,
- 2127608,
- 2128531,
- 2129119,
- 2129359,
- 2129308,
- 2130017,
- 2130761,
- 2130776,
- 2131052,
- 2131132,
- 2131451,
- 2132165,
- 2133360,
- 2134017,
- 2134125,
- 2134935,
- 2135836,
- 2136594,
- 2117839,
- 2119831,
- 4219278,
- 2130387,
- 2131253,
- 2133256,
- 2134048,
- 2117571,
- 2117748,
- 2118215,
- 2118515,
- 2121839,
- 2122569,
- 2123615,
- 2125356,
- 2133427,
- 2134047,
- 2117591,
- 2120798,
- 2133194,
- 2123215,
- 2129306,
- 2118482,
- 2132118,
- 2118006,
- 2122691,
- 2120536,
- 2120555,
- 2120714,
- 2122765,
- 2123601,
- 2134108,
- 2117334,
- 2119962,
- 2119978,
- 2124912,
- 2132561,
- 2118974,
- 2119701,
- 2120101,
- 2121968,
- 2122323,
- 2123713,
- 2130485,
- 2124117,
- 2135616,
- 2136516,
- 2136616,
- 2117459,
- 2119686,
- 2120702,
- 2129936,
- 2120881,
- 2121263,
- 2121605,
- 2121760,
- 2122059,
- 2122292,
- 2123519,
- 2125040,
- 2125534,
- 2130126,
- 2130303,
- 2130644,
- 2132107,
- 2133176,
- 2134016,
- 2134062,
- 2135690,
- 2137819,
- 2137051,
- 2117347,
- 2118640,
- 2119975,
- 2128684,
- 2134413,
- 2136140,
- 2137593,
- 2125533,
- 2125863,
- 2118483,
- 2118980,
- 2120581,
- 2122328,
- 2122398,
- 2122451,
- 2124962,
- 2125807,
- 4224034,
- 2132503,
- 2135096,
- 2125761,
- 2132734,
- 2130744,
- 2118119,
- 2131704,
- 2118634,
- 2118633,
- 2117446,
- 2134100,
- 2133936,
- 2120042,
- 2130225,
- 4218365,
- 2128618,
- 2133951,
- 2123994,
- 2133047,
- 2126584,
- 2137160,
- 2124349,
- 2132656,
- 2117177,
- 2118488,
- 4216326,
- 2119526,
- 2122437,
- 2122658,
- 2123238,
- 2124622,
- 2125281,
- 2125403,
- 2125997,
- 2127853,
- 2128623,
- 2128810,
- 2129339,
- 2129981,
- 2130118,
- 2131659,
- 2132629,
- 2134875,
- 2119395,
- 2119879,
- 2121534,
- 2123181,
- 2123414,
- 2124416,
- 2124725,
- 2127159,
- 2132679,
- 2117668,
- 2127845,
- 2119472,
- 2121499,
- 2121829,
- 2123386,
- 2124896,
- 2127348,
- 2128410,
- 2129774,
- 2130420,
- 2131736,
- 2134085,
- 2136499,
- 2128841,
- 2127196,
- 2128633,
- 2128721,
- 2131140,
- 2134032,
- 2128361,
- 2128530,
- 2130742,
- 2120417,
- 2127680,
- 2117165,
- 2117362,
- 2120601,
- 2121696,
- 2122429,
- 2123324,
- 2123761,
- 2125032,
- 2131563,
- 2132087,
- 2132539,
- 2134350,
- 2134771,
- 2136528,
- 2124311,
- 2125862,
- 4223786,
- 2130663,
- 2131031,
- 2133167,
- 2117121,
- 2117958,
- 2118091,
- 2119051,
- 2120693,
- 2121238,
- 2121267,
- 2121345,
- 2121492,
- 2121525,
- 2121579,
- 2121652,
- 2122226,
- 2122513,
- 2123426,
- 2123549,
- 4222830,
- 2126418,
- 2127162,
- 2127674,
- 2130036,
- 2130233,
- 2130296,
- 2131830,
- 2132671,
- 2132700,
- 2133381,
- 2133491,
- 2134682,
- 2135415,
- 2136066,
- 2137317,
- 2118341,
- 2122583,
- 2127604,
- 2123541,
- 2124936,
- 2126797,
- 2133187,
- 2134958,
- 2135667,
- 2125093,
- 2119836,
- 2124046,
- 2124236,
- 2134013,
- 2134938,
- 2127323,
- 2134042,
- 2119770,
- 2123778,
- 2122676,
- 2124283,
- 2117443,
- 2125612,
- 2123736,
- 2133947,
- 2131238,
- 2129332,
- 2134868,
- 2124095,
- 2125680,
- 2119530,
- 2119927,
- 2120492,
- 2129196,
- 2126378,
- 2118666,
- 2134499,
- 4234676,
- 2117293,
- 2117454,
- 2117724,
- 2117749,
- 2118211,
- 2133150,
- 2118728,
- 2119716,
- 2120602,
- 2121245,
- 2121365,
- 2121389,
- 2121463,
- 2121503,
- 2121868,
- 2122421,
- 2122554,
- 2122704,
- 2123951,
- 2124864,
- 2128007,
- 2128270,
- 2128395,
- 2129376,
- 2130503,
- 2132482,
- 2132710,
- 2133572,
- 2134035,
- 2134200,
- 2134317,
- 2134488,
- 2137870,
- 2125029,
- 2122840,
- 2122978,
- 2123125,
- 2125556,
- 2127492,
- 2128667,
- 2134121,
- 2134993,
- 2125498,
- 2118898,
- 2121657,
- 2122916,
- 2133837,
- 2133997,
- 2134596,
- 2118008,
- 2119787,
- 2119977,
- 2120789,
- 2121367,
- 2125307,
- 2129551,
- 2127132,
- 2133180,
- 2133730,
- 2136155,
- 2126009,
- 2117405,
- 2124735,
- 2125745,
- 2127152,
- 2135803,
- 2117966,
- 2118672,
- 2119733,
- 2119767,
- 2120108,
- 2120800,
- 2121618,
- 2123159,
- 2123612,
- 2125345,
- 2127483,
- 2130911,
- 2133229,
- 2134036,
- 4231421,
- 2134861,
- 2127909,
- 2127930,
- 2118314,
- 2121382,
- 2119455,
- 2120052,
- 2121746,
- 2117650,
- 2117978,
- 4215212,
- 2118093,
- 2118144,
- 2118928,
- 2119764,
- 2119768,
- 2120023,
- 2120597,
- 2120950,
- 2121099,
- 2121916,
- 2122389,
- 2122797,
- 2123633,
- 2123843,
- 2123964,
- 2123999,
- 2127575,
- 2125272,
- 2125423,
- 2125211,
- 2125935,
- 2126280,
- 2121555,
- 2127320,
- 2128247,
- 2128713,
- 2128724,
- 2128722,
- 4226262,
- 2129265,
- 2118192,
- 2131043,
- 2131305,
- 2131428,
- 2132494,
- 2132740,
- 2133062,
- 2133519,
- 2134019,
- 2134031,
- 2135065,
- 2135670,
- 2136109,
- 2136624,
- 2135512,
- 2117837,
- 2118357,
- 2118668,
- 2119682,
- 2120718,
- 2122151,
- 2122910,
- 2125086,
- 2127795,
- 2128613,
- 2130164,
- 2130948,
- 2134099,
- 2134661,
- 2120928,
- 2137351,
- 2118463,
- 2121623,
- 2121651,
- 2125212,
- 2126457,
- 2127715,
- 2128319,
- 2128868,
- 2124754,
- 2126572,
- 2132653,
- 2123779,
- 2124385,
- 2118136,
- 2128513,
- 2124084,
- 2120778,
- 2137334,
- 2130667,
- 2120645,
- 2134345,
- 2125854,
- 2119288,
- 2120815,
- 2121927,
- 2123110,
- 2124940,
- 2133082,
- 2134081,
- 2136083,
- 2118737,
- 2123463,
- 2134541,
- 2120008,
- 2134179,
- 2118021,
- 2117197,
- 2118122,
- 2131353,
- 2132750,
- 2125912,
- 2122618,
- 2134859,
- 2124130,
- 2136500,
- 2129412,
- 2127223,
- 2118487,
- 2124128,
- 2133727,
- 4232931,
- 2124893,
- 2117260,
- 2120764,
- 2121488,
- 2133993,
- 2118402,
- 2133201,
- 2130057,
- 2131577,
- 2121471,
- 2123237,
- 2117235,
- 2117989,
- 2120066,
- 2120767,
- 2136046,
- 2117371,
- 2120074,
- 2121677,
- 2132621,
- 2125793,
- 2128304,
- 2128226,
- 4217831,
- 2131057,
- 2126635,
- 2126257,
- 2121332,
- 2121717,
- 2122619,
- 2122906,
- 2126275,
- 2129048,
- 2117187,
- 2121468,
- 2117195,
- 2119644,
- 2119330,
- 2121897,
- 2125763,
- 2129165,
- 2130173,
- 2130227,
- 2130367,
- 2133938,
- 2132375,
- 2131620,
- 2121204,
- 2122378,
- 2122925,
- 2132359,
- 2123639,
- 2125026,
- 2125118,
- 2126902,
- 2127924,
- 2120262,
- 2129781,
- 2130605,
- 2136492,
- 2117619,
- 2121411,
- 2122461,
- 2122642,
- 2123095,
- 2123631,
- 2127555,
- 2126412,
- 2130124,
- 2130106,
- 2133801,
- 2134349,
- 2117645,
- 2119673,
- 2120338,
- 4221061,
- 2124147,
- 2126180,
- 2126589,
- 2133175,
- 2119922,
- 2133216,
- 2135658,
- 2134041,
- 2131839,
- 2128356,
- 2127847,
- 2130985,
- 2117423,
- 2118245,
- 2118490,
- 2122445,
- 2123727,
- 2125002,
- 2127485,
- 2128788,
- 2129045,
- 2130486,
- 2131332,
- 2133995,
- 2123485,
- 2125600,
- 2126342,
- 2129435,
- 2130859,
- 2136513,
- 2137766,
- 2118141,
- 2128817,
- 2127986,
- 2128824,
- 2130055,
- 2128712,
- 2124520,
- 2121313,
- 2130060,
- 2127185,
- 2127200,
- 2117995,
- 2134626,
- 2125452,
- 2127482,
- 2134423,
- 2136810,
- 2117392,
- 2129776,
- 2122396,
- 2128719,
- 2135461,
- 2137321,
- 2119290,
- 2119769,
- 2131684,
- 2135740,
- 2117428,
- 2118180,
- 2118474,
- 2118605,
- 2118619,
- 2121222,
- 2122796,
- 2123153,
- 2123647,
- 2124862,
- 2124878,
- 2126408,
- 2126511,
- 2126829,
- 2127188,
- 2129473,
- 2130476,
- 2131433,
- 2133161,
- 2128836,
- 2134470,
- 2126185,
- 2136082,
- 4233455,
- 2122557,
- 2123369,
- 2127210,
- 2127588,
- 2128080,
- 2131267,
- 2131694,
- 2118442,
- 4215633,
- 2118694,
- 2120067,
- 2121351,
- 2121596,
- 2121906,
- 2122313,
- 2122361,
- 2122411,
- 2123152,
- 2124756,
- 2125004,
- 2127282,
- 2127534,
- 4225169,
- 2128344,
- 2129355,
- 2129783,
- 2130085,
- 2132139,
- 2132665,
- 2133179,
- 2134143,
- 2135902,
- 2136283,
- 2124299,
- 2128952,
- 2117785,
- 2120766,
- 2121646,
- 2123655,
- 2124760,
- 2126901,
- 2127625,
- 2129806,
- 2137915,
- 2123722,
- 2128407,
- 2118457,
- 2127243,
- 2136813,
- 2121574,
- 2130333,
- 2130929,
- 2130072,
- 2121532,
- 2121669,
- 2127202,
- 2128710,
- 2134076,
- 2123879,
- 2120171,
- 2120347,
- 2129168,
- 2127486,
- 2132780,
- 2117621,
- 2121578,
- 2124313,
- 2124855,
- 2125570,
- 2127074,
- 2128232,
- 2132072,
- 2132565,
- 2133113,
- 2121439,
- 2122703,
- 2127301,
- 2128338,
- 2130647,
- 2134824,
- 2134770,
- 2131100,
- 2131693,
- 2137133,
- 2118849,
- 2121580,
- 2123148,
- 2125148,
- 2125845,
- 2133159,
- 4230355,
- 4233275,
- 4220239,
- 2127094,
- 2117133,
- 2117336,
- 2119648,
- 2119979,
- 2120294,
- 2120652,
- 2118056,
- 2121219,
- 2121372,
- 2121750,
- 2122358,
- 2123127,
- 2123175,
- 2123374,
- 2125166,
- 2126390,
- 2128678,
- 2130256,
- 2130330,
- 2130585,
- 2132828,
- 2133152,
- 2133222,
- 2133364,
- 2135580,
- 2135620,
- 2117550,
- 2122923,
- 2124646,
- 2130462,
- 2131041,
- 2131306,
- 2134248,
- 2120705,
- 2124115,
- 2136232,
- 2131066,
- 2131287,
- 2117391,
- 2118255,
- 2121641,
- 2121285,
- 2123533,
- 2128271,
- 2130297,
- 2132231,
- 2132358,
- 2125301,
- 2121495,
- 2122325,
- 2124984,
- 2117327,
- 2126441,
- 2136978,
- 2118150,
- 2118715,
- 2119284,
- 2119859,
- 2122148,
- 2122350,
- 2126106,
- 2120046,
- 2129033,
- 2129118,
- 2129179,
- 2135792,
- 2123143,
- 2130014,
- 2117145,
- 2117493,
- 2118005,
- 2119744,
- 2121315,
- 2121331,
- 2121482,
- 2123716,
- 2117158,
- 2131261,
- 2135433,
- 2135643,
- 2129011,
- 2136065,
- 2117883,
- 2119873,
- 2127446,
- 2128039,
- 2118181,
- 2127781,
- 2131217,
- 2128774,
- 2117711,
- 2119945,
- 2126407,
- 2128839,
- 2129384,
- 2133946,
- 2133972,
- 2134093,
- 2117567,
- 4215497,
- 2120233,
- 2121473,
- 2135981,
- 2117597,
- 2130455,
- 2134762,
- 2119427,
- 2122581,
- 2124649,
- 2127147,
- 2132188,
- 2133780,
- 2128450,
- 2118367,
- 2119827,
- 2122069,
- 2122250,
- 2123438,
- 2124749,
- 2128959,
- 2130921,
- 2117667,
- 2117624,
- 2118405,
- 2118726,
- 2119729,
- 2120009,
- 2120605,
- 2120944,
- 2120943,
- 2121001,
- 2121366,
- 2122417,
- 2122599,
- 2123070,
- 2123193,
- 2123531,
- 2125013,
- 2125025,
- 2126073,
- 2127922,
- 2129451,
- 2130142,
- 2130611,
- 2130956,
- 2131180,
- 2131714,
- 2132242,
- 2132522,
- 2133066,
- 2134182,
- 2134738,
- 2136317,
- 2137331,
- 2137452,
- 2117199,
- 2117281,
- 2117773,
- 2118230,
- 2119498,
- 2120104,
- 2121277,
- 2121688,
- 2121689,
- 2122303,
- 2123444,
- 2123547,
- 2123728,
- 2123986,
- 2118034,
- 2129185,
- 2130090,
- 2130344,
- 2132736,
- 2133132,
- 2133183,
- 2134654,
- 2135602,
- 2118688,
- 2136108,
- 2118423,
- 2117845,
- 2118492,
- 4217000,
- 2122930,
- 2123572,
- 2126439,
- 2127718,
- 2128454,
- 2134502,
- 2118339,
- 2124961,
- 2124678,
- 2119680,
- 2121292,
- 2120020,
- 2123564,
- 2129915,
- 2118113,
- 2127558,
- 2122857,
- 2128104,
- 2136916,
- 2137787,
- 2119627,
- 2120121,
- 2123303,
- 2123674,
- 2124750,
- 2118889,
- 2124249,
- 2121301,
- 2130332,
- 2123669,
- 2137002,
- 2123774,
- 2137170,
- 2123869,
- 2117286,
- 2117603,
- 2118600,
- 2122425,
- 2123563,
- 2124971,
- 2133956,
- 2117549,
- 2129517,
- 2137791,
- 2117127,
- 2122082,
- 2125440,
- 2125611,
- 2131219,
- 2118771,
- 2123562,
- 2136901,
- 2121203,
- 2128789,
- 2120876,
- 2120646,
- 2131740,
- 2125386,
- 2131153,
- 2128404,
- 2130184,
- 2120089,
- 2129037,
- 2124817,
- 2127648,
- 2118361,
- 2119970,
- 2126113,
- 2126431,
- 2127835,
- 2135847,
- 2137441,
- 2124043,
- 2120319,
- 2120216,
- 2118053,
- 2118669,
- 2118781,
- 2123278,
- 2127583,
- 2134007,
- 2134680,
- 2137332,
- 2120170,
- 2126429,
- 2125509,
- 2117965,
- 2123977,
- 2129343,
- 2129388,
- 2135906,
- 2137786,
- 2122872,
- 2124321,
- 2130690,
- 2120068,
- 2120543,
- 2124763,
- 2126619,
- 2127602,
- 2129330,
- 2129943,
- 2131097,
- 2117938,
- 2123560,
- 2137817,
- 2127598,
- 2123618,
- 2118399,
- 2136325,
- 2120740,
- 2122299,
- 2129022,
- 2133168,
- 2118991,
- 2121910,
- 2129163,
- 2135424,
- 2118401,
- 2117215,
- 2118070,
- 2119964,
- 2126394,
- 2129974,
- 2134478,
- 2121509,
- 2127842,
- 2118532,
- 2121593,
- 2129156,
- 2131372,
- 2132531,
- 2133645,
- 2135894,
- 2123763,
- 2131374,
- 2135123,
- 2121993,
- 2121992,
- 2124985,
- 2127442,
- 4229869,
- 2133816,
- 2118959,
- 2117457,
- 2117930,
- 2118343,
- 2118603,
- 2120613,
- 2121341,
- 2121888,
- 2122114,
- 2122710,
- 2123529,
- 2123738,
- 2125415,
- 2125196,
- 2126646,
- 2126647,
- 2127153,
- 4225360,
- 2132181,
- 2132632,
- 2134090,
- 2134161,
- 2134261,
- 2135748,
- 2131853,
- 2119957,
- 2117256,
- 2117465,
- 2117134,
- 2132617,
- 2133823,
- 2136080,
- 2117805,
- 2121340,
- 2120086,
- 2120633,
- 2121400,
- 2122714,
- 2122746,
- 2122945,
- 2123484,
- 2124106,
- 2124248,
- 2125067,
- 2125494,
- 2126228,
- 2127144,
- 2128559,
- 4226954,
- 2129920,
- 2131017,
- 2131145,
- 2132353,
- 2132769,
- 2133514,
- 2134117,
- 2135677,
- 2136330,
- 2122110,
- 2122385,
- 2124594,
- 2124931,
- 2125172,
- 2129868,
- 2129916,
- 2125248,
- 2129797,
- 2131898,
- 2132216,
- 2123621,
- 2130865,
- 2136124,
- 2135799,
- 2125083,
- 2129249,
- 2131005,
- 2134378,
- 2117233,
- 2118517,
- 2121040,
- 4221700,
- 2125803,
- 2131405,
- 2131501,
- 2132391,
- 2118185,
- 2118671,
- 2120805,
- 2123598,
- 2123944,
- 2126854,
- 2126979,
- 2127330,
- 2132175,
- 2132193,
- 2134476,
- 2135778,
- 2135672,
- 2121611,
- 2126727,
- 2128587,
- 2131022,
- 2122656,
- 2127205,
- 2118281,
- 2125121,
- 2125468,
- 2126857,
- 2127193,
- 2127979,
- 2129042,
- 2135686,
- 2128604,
- 2137997,
- 2117558,
- 2122094,
- 2123205,
- 4228700,
- 2117254,
- 2117294,
- 2117850,
- 2117153,
- 2118092,
- 2120686,
- 2123161,
- 2123905,
- 2125244,
- 2126623,
- 2127426,
- 2127789,
- 2128412,
- 2129127,
- 2130543,
- 2132690,
- 2134140,
- 2134479,
- 2135669,
- 2136088,
- 2118299,
- 2129361,
- 2117675,
- 2118552,
- 2123671,
- 2125259,
- 2126288,
- 2126899,
- 2130408,
- 2133802,
- 2135715,
- 2137175,
- 2137759,
- 2126944,
- 2119745,
- 2125209,
- 2129199,
- 4233310,
- 2117348,
- 2117430,
- 2117515,
- 2118071,
- 2118321,
- 2121146,
- 2121756,
- 2126770,
- 2128188,
- 2130643,
- 2134580,
- 2135735,
- 2135798,
- 2135818,
- 2137751,
- 2137954,
- 2123430,
- 2124660,
- 2118167,
- 2118307,
- 2126024,
- 2132162,
- 4218569,
- 2121803,
- 2122128,
- 4222755,
- 4223305,
- 2128958,
- 4226548,
- 2130031,
- 4228334,
- 4231203,
- 2134828,
- 2118722,
- 2136943,
- 2124499,
- 2125961,
- 2133186,
- 2133487,
- 2135858,
- 2118324,
- 2120257,
- 2121418,
- 2121476,
- 4220695,
- 2124156,
- 2124180,
- 2125162,
- 2125583,
- 2126434,
- 2126588,
- 2128877,
- 2129921,
- 2130046,
- 2131787,
- 2134222,
- 2117997,
- 2137747,
- 2128260,
- 2130059,
- 2134834,
- 2132694,
- 2117677,
- 2118796,
- 2132593,
- 2124650,
- 2133188,
- 2130183,
- 2121937,
- 2123680,
- 2137586,
- 2117273,
- 2117272,
- 2137104,
- 2132587,
- 2131393,
- 2131304,
- 2124032,
- 2125438,
- 2128023,
- 2130261,
- 2121484,
- 2117136,
- 2117141,
- 2117162,
- 2117169,
- 2117174,
- 2117180,
- 2117183,
- 2117186,
- 2117206,
- 2117208,
- 2117250,
- 2117253,
- 2133099,
- 2117258,
- 2130450,
- 2121485,
- 2117262,
- 2117278,
- 2117279,
- 2117280,
- 2117282,
- 2117296,
- 2117299,
- 2117302,
- 2117326,
- 2117325,
- 2117316,
- 2117318,
- 2117314,
- 2117335,
- 2117342,
- 2117357,
- 2117343,
- 2117367,
- 2117385,
- 2117466,
- 2117424,
- 2117467,
- 2117469,
- 2117463,
- 2117447,
- 2117494,
- 2117512,
- 2117519,
- 2117528,
- 2117499,
- 2117481,
- 2117488,
- 2117521,
- 2117487,
- 2117510,
- 2117526,
- 2117912,
- 2117588,
- 2117599,
- 2117582,
- 2117592,
- 2117595,
- 2117585,
- 2117594,
- 2117584,
- 2117604,
- 2117605,
- 2117658,
- 2117672,
- 2117652,
- 2117674,
- 2117669,
- 2117637,
- 2117404,
- 2117622,
- 2117665,
- 2117673,
- 2117676,
- 2117630,
- 2117615,
- 2117649,
- 2117638,
- 2117699,
- 2117703,
- 2123523,
- 2117717,
- 2117712,
- 2117704,
- 2117722,
- 2117718,
- 2117740,
- 2117752,
- 2117760,
- 2117786,
- 2117765,
- 2117812,
- 2117810,
- 2117833,
- 2117834,
- 2117811,
- 2117826,
- 2117846,
- 2117854,
- 2117861,
- 2117869,
- 2117859,
- 2117870,
- 2117881,
- 2117877,
- 2117897,
- 2117889,
- 2117890,
- 2117910,
- 2117909,
- 2117908,
- 2117914,
- 2117921,
- 2117946,
- 2117943,
- 2117948,
- 2117947,
- 2117951,
- 2117952,
- 2117970,
- 2117964,
- 4215124,
- 2117986,
- 2128632,
- 2117993,
- 2117994,
- 2117998,
- 2118016,
- 2118018,
- 2119384,
- 2118028,
- 2118025,
- 2118031,
- 2118033,
- 2118035,
- 4215189,
- 2118038,
- 2118052,
- 2118054,
- 2118050,
- 2118057,
- 2118058,
- 2118059,
- 2118067,
- 2118065,
- 2118066,
- 2118064,
- 2118069,
- 2118077,
- 2118085,
- 2118089,
- 2118107,
- 2118112,
- 2131541,
- 2118121,
- 2118125,
- 2118128,
- 2118133,
- 2118142,
- 2118148,
- 2118155,
- 2118164,
- 2118158,
- 2118183,
- 2118186,
- 2118190,
- 2118195,
- 2118201,
- 2118223,
- 2118212,
- 2118219,
- 2118220,
- 2118238,
- 2118228,
- 2118250,
- 2118260,
- 2118249,
- 2118259,
- 2118271,
- 2118269,
- 2118285,
- 2118292,
- 2118290,
- 2118257,
- 2118280,
- 2118289,
- 2133928,
- 2133927,
- 2118316,
- 2118317,
- 2118332,
- 2118325,
- 2118337,
- 2118349,
- 2118359,
- 2118366,
- 2118371,
- 2118374,
- 2136301,
- 2118368,
- 2118387,
- 2118389,
- 2118392,
- 2118393,
- 2118406,
- 2118408,
- 2127160,
- 2118413,
- 2118416,
- 2118415,
- 2118421,
- 2118426,
- 2118435,
- 2118447,
- 2118449,
- 2118451,
- 2118456,
- 2118464,
- 2118470,
- 2118469,
- 2117143,
- 2118473,
- 2118477,
- 2118102,
- 2118494,
- 2118505,
- 2118510,
- 2119960,
- 2118523,
- 2118519,
- 2118530,
- 2118550,
- 2118560,
- 2118566,
- 2118565,
- 2118574,
- 2118576,
- 2118582,
- 2118595,
- 2128914,
- 2135769,
- 2118623,
- 2123516,
- 2126318,
- 2118638,
- 2118632,
- 2118637,
- 2118650,
- 2118657,
- 2118717,
- 2118720,
- 2118700,
- 2118701,
- 2118716,
- 2118702,
- 2118710,
- 2118697,
- 2118685,
- 2118734,
- 2118799,
- 2118773,
- 2118798,
- 2118751,
- 2118769,
- 2118775,
- 2118768,
- 2118802,
- 2118779,
- 2118784,
- 2118774,
- 2118788,
- 2118800,
- 2118790,
- 2118855,
- 2118818,
- 2118840,
- 2118821,
- 2118828,
- 2118852,
- 2118856,
- 2118824,
- 2118827,
- 2118850,
- 2118820,
- 2118846,
- 2118844,
- 2118872,
- 2118885,
- 2118886,
- 2118927,
- 2118932,
- 2118909,
- 2118894,
- 2118893,
- 2118906,
- 2118882,
- 2118969,
- 2118976,
- 2119011,
- 2118988,
- 2118958,
- 2119004,
- 2118981,
- 2118998,
- 2118999,
- 2118968,
- 2118963,
- 2119005,
- 2119065,
- 2119040,
- 2118831,
- 2119050,
- 2119071,
- 2119035,
- 2119038,
- 2119064,
- 2119070,
- 2119086,
- 2119036,
- 2119043,
- 2119081,
- 2119047,
- 2119080,
- 2119130,
- 2119109,
- 2119135,
- 2119108,
- 2119132,
- 2119140,
- 2119124,
- 2119188,
- 2119159,
- 2119190,
- 2119166,
- 2119165,
- 2119195,
- 2119161,
- 2119246,
- 2119248,
- 2126303,
- 2119220,
- 2119222,
- 2119218,
- 2119224,
- 2119275,
- 2119268,
- 2119215,
- 2119276,
- 2119274,
- 2119302,
- 2119296,
- 2119306,
- 2119328,
- 2119316,
- 2119311,
- 2119333,
- 2119342,
- 2119350,
- 2119348,
- 2119362,
- 2119356,
- 2119361,
- 2119363,
- 2119360,
- 2119368,
- 2119374,
- 2119377,
- 2119379,
- 2119383,
- 2119406,
- 2119417,
- 2119424,
- 2119423,
- 2119428,
- 2119433,
- 2119432,
- 2119435,
- 2119437,
- 2119443,
- 2119448,
- 2119446,
- 2119111,
- 2119452,
- 2119462,
- 2119479,
- 2119480,
- 2119502,
- 2119483,
- 2119488,
- 2119503,
- 2119529,
- 2119616,
- 2119560,
- 2119521,
- 2119551,
- 2119561,
- 2119571,
- 2119584,
- 2119603,
- 2119588,
- 2119594,
- 2119600,
- 2119619,
- 2119622,
- 2119636,
- 2119634,
- 2119635,
- 2119690,
- 2119638,
- 2119651,
- 2119691,
- 2119705,
- 2119709,
- 2119794,
- 2119713,
- 2119778,
- 2119755,
- 2119792,
- 2124736,
- 2119762,
- 2119741,
- 2119801,
- 2119813,
- 2119865,
- 2119839,
- 2119851,
- 2119866,
- 2119902,
- 2119867,
- 2119864,
- 2119854,
- 2119877,
- 2119891,
- 2119889,
- 2119895,
- 2119897,
- 2119896,
- 2119909,
- 2119900,
- 2119908,
- 2119903,
- 2119919,
- 2119930,
- 2119929,
- 2119931,
- 2119932,
- 2119933,
- 2119938,
- 2119946,
- 2119952,
- 2119963,
- 2123942,
- 2119973,
- 2119980,
- 2119981,
- 2119986,
- 2119992,
- 2119998,
- 2128594,
- 2120021,
- 2120016,
- 2120014,
- 2120026,
- 2120024,
- 2120034,
- 2120032,
- 2120039,
- 2120044,
- 2120041,
- 2120056,
- 2120065,
- 2120093,
- 2117470,
- 2117547,
- 2120099,
- 2120114,
- 2120134,
- 2120168,
- 2120156,
- 2120077,
- 2120153,
- 2120154,
- 2120229,
- 2120223,
- 2120209,
- 2120220,
- 2120201,
- 2120218,
- 2120256,
- 2120300,
- 2120265,
- 2120245,
- 2120246,
- 2120290,
- 2120298,
- 2120346,
- 2120380,
- 2120382,
- 2120395,
- 2120386,
- 2120381,
- 2120419,
- 2120407,
- 2120422,
- 2120425,
- 2120406,
- 2120442,
- 2120443,
- 2120460,
- 2120459,
- 2120470,
- 2120498,
- 2120400,
- 2120490,
- 2120502,
- 2120510,
- 2120515,
- 2120517,
- 2120512,
- 2120529,
- 2120533,
- 2120538,
- 2120539,
- 2120549,
- 2120553,
- 2120560,
- 2120563,
- 2120565,
- 2120568,
- 2123144,
- 2120570,
- 2120576,
- 2120579,
- 2120614,
- 2120632,
- 2120643,
- 2120647,
- 2120649,
- 2120660,
- 2120656,
- 2120676,
- 2120678,
- 2120674,
- 2120670,
- 2120677,
- 2120683,
- 2120688,
- 2120694,
- 2120691,
- 2120709,
- 2120711,
- 2120712,
- 2120717,
- 2120723,
- 2120736,
- 2120738,
- 2120744,
- 2120760,
- 2120761,
- 2120769,
- 2120774,
- 2120782,
- 2120787,
- 2120784,
- 2120783,
- 2120561,
- 2120812,
- 4217966,
- 2117218,
- 2120822,
- 2120825,
- 2120844,
- 2120849,
- 2120852,
- 2120091,
- 2120875,
- 2120891,
- 2120886,
- 2120892,
- 2120887,
- 2120901,
- 2120894,
- 2120903,
- 2120921,
- 2120937,
- 2120957,
- 2120954,
- 2120941,
- 2121100,
- 2120938,
- 2120971,
- 2120981,
- 2120983,
- 2121052,
- 2120991,
- 2120987,
- 2120977,
- 2120980,
- 2120994,
- 2120986,
- 2120985,
- 2120984,
- 2121036,
- 2121042,
- 2121038,
- 2121035,
- 2121068,
- 2121075,
- 2121078,
- 2121095,
- 2121092,
- 2121090,
- 2121122,
- 2121117,
- 2121132,
- 2121134,
- 2121149,
- 2121104,
- 2121143,
- 2121148,
- 2121161,
- 2121165,
- 2121171,
- 2121170,
- 2121174,
- 2121179,
- 2121195,
- 2121202,
- 2121205,
- 2121227,
- 2121242,
- 2121241,
- 2121233,
- 2121243,
- 2121270,
- 2121271,
- 2121284,
- 2121283,
- 2121280,
- 2121294,
- 2121303,
- 2121300,
- 2121311,
- 2121314,
- 2121316,
- 2121287,
- 2121333,
- 2121334,
- 2121338,
- 2137788,
- 2121343,
- 2121376,
- 2121409,
- 2121410,
- 2121416,
- 2121424,
- 2121423,
- 2121430,
- 2121443,
- 2121437,
- 2121434,
- 2121435,
- 2121442,
- 2121441,
- 2121448,
- 2121449,
- 2121452,
- 2121457,
- 2121459,
- 2121456,
- 2121460,
- 2121464,
- 2121470,
- 2121475,
- 2121481,
- 2121565,
- 2121564,
- 2121483,
- 2121489,
- 2121494,
- 2121513,
- 2121517,
- 2121528,
- 2121537,
- 2121544,
- 2121548,
- 2121550,
- 2121519,
- 2121553,
- 2121558,
- 2121559,
- 2121561,
- 2121569,
- 2121581,
- 2121587,
- 2121591,
- 2121603,
- 2121602,
- 2121599,
- 2121610,
- 2121608,
- 2121617,
- 2121607,
- 2121630,
- 2121625,
- 2121624,
- 2121632,
- 2121640,
- 2121645,
- 2121660,
- 2121686,
- 2121723,
- 2121700,
- 2121720,
- 2121713,
- 2121693,
- 2121907,
- 2121727,
- 2121761,
- 2121824,
- 2121753,
- 2121744,
- 2121769,
- 2121742,
- 2121777,
- 2121755,
- 2121749,
- 2121771,
- 2121766,
- 2121743,
- 2121786,
- 2121818,
- 2121793,
- 2121834,
- 2121847,
- 2121823,
- 2121802,
- 2121798,
- 2121805,
- 2121827,
- 2121795,
- 2121828,
- 2121794,
- 2121836,
- 2121835,
- 2121817,
- 2121857,
- 2121869,
- 2121959,
- 2121859,
- 2121882,
- 2121860,
- 2121883,
- 2121878,
- 2121879,
- 2121874,
- 2121895,
- 2121867,
- 2121953,
- 2121912,
- 2121952,
- 2121939,
- 2121908,
- 2121712,
- 2121917,
- 2121926,
- 2121909,
- 2121944,
- 2122061,
- 2122005,
- 2121990,
- 2121974,
- 2121975,
- 2121984,
- 2121972,
- 2121978,
- 2121987,
- 2122017,
- 2121979,
- 2121969,
- 2121997,
- 2121998,
- 2122055,
- 2122046,
- 2122024,
- 2122023,
- 2122058,
- 2122047,
- 2122044,
- 2122028,
- 2122036,
- 2122045,
- 2122050,
- 2122052,
- 2122099,
- 2122103,
- 2122072,
- 2122073,
- 2122074,
- 2122091,
- 2122100,
- 2122095,
- 2122085,
- 2122097,
- 2122079,
- 2122077,
- 2122067,
- 2122101,
- 2122137,
- 2122134,
- 2122119,
- 2122156,
- 2122132,
- 2122138,
- 2122122,
- 2122129,
- 2122155,
- 2122158,
- 2122188,
- 2122186,
- 2122185,
- 2122231,
- 2122184,
- 2122179,
- 2122182,
- 2122170,
- 2122187,
- 2129785,
- 2122189,
- 2122214,
- 2122211,
- 2122230,
- 2122234,
- 2122228,
- 2122239,
- 2122237,
- 2122236,
- 2122238,
- 2122240,
- 2122248,
- 2122249,
- 2122253,
- 2122252,
- 2122260,
- 2122267,
- 2122270,
- 2122273,
- 2122282,
- 2122286,
- 2122288,
- 2122290,
- 2122291,
- 2122305,
- 2122318,
- 2122334,
- 2122339,
- 2122331,
- 2122336,
- 2122344,
- 2122364,
- 2122370,
- 2122377,
- 2122366,
- 2122386,
- 2122387,
- 2122390,
- 4219604,
- 2122371,
- 2122388,
- 2122455,
- 2122449,
- 2122427,
- 2122447,
- 2122495,
- 2122438,
- 2122964,
- 2122440,
- 2122460,
- 2122444,
- 2122442,
- 2122434,
- 2122439,
- 2122395,
- 2122441,
- 2122508,
- 2122478,
- 2122481,
- 2122535,
- 2122498,
- 2122504,
- 2122479,
- 2122485,
- 2122576,
- 2122558,
- 2122573,
- 2122780,
- 2122575,
- 2122646,
- 2122638,
- 2122624,
- 2122667,
- 2122614,
- 2122659,
- 2122639,
- 2122633,
- 2122655,
- 2122677,
- 2122603,
- 2122601,
- 2122686,
- 2122729,
- 2122688,
- 2122694,
- 2122723,
- 2122697,
- 2122706,
- 2122742,
- 2122692,
- 2122774,
- 2122804,
- 2122758,
- 2122771,
- 2122790,
- 2122806,
- 2123037,
- 2122775,
- 2122792,
- 2122767,
- 2122855,
- 2122863,
- 2122870,
- 2122830,
- 2123050,
- 2122901,
- 2122899,
- 2122917,
- 2122921,
- 2122888,
- 2122940,
- 2122970,
- 2122962,
- 2122949,
- 2122951,
- 2122939,
- 2122968,
- 2122946,
- 2122993,
- 2122983,
- 2130441,
- 2122976,
- 2122977,
- 2122412,
- 2122979,
- 2122991,
- 2123052,
- 2122998,
- 2122996,
- 2122994,
- 2123002,
- 2123008,
- 2123005,
- 2123032,
- 2123036,
- 2123013,
- 2123044,
- 2123043,
- 2123051,
- 2123060,
- 2123061,
- 2123063,
- 2123062,
- 2123064,
- 2127179,
- 2123080,
- 2123094,
- 2123093,
- 2123085,
- 2123096,
- 2123102,
- 2123101,
- 2123122,
- 2123128,
- 2123138,
- 2123139,
- 2132874,
- 2123163,
- 2123167,
- 2123179,
- 2123191,
- 2123203,
- 2123206,
- 2123201,
- 2123204,
- 2123212,
- 2123218,
- 2123227,
- 2123225,
- 2123232,
- 2123233,
- 2123249,
- 2123634,
- 2123274,
- 2123267,
- 2123259,
- 2123635,
- 2123317,
- 2123318,
- 2123316,
- 2123292,
- 2123343,
- 2123332,
- 2123337,
- 2123329,
- 2123358,
- 2123357,
- 2123364,
- 2123367,
- 2123368,
- 2123359,
- 2123362,
- 2123376,
- 2123395,
- 2123400,
- 2123406,
- 2123401,
- 2123396,
- 2123416,
- 2123421,
- 2123457,
- 2123449,
- 2123465,
- 2123454,
- 2123452,
- 2123460,
- 2123448,
- 2123478,
- 2123482,
- 2123488,
- 2123327,
- 2123494,
- 2123497,
- 2123504,
- 2123509,
- 2123511,
- 2123535,
- 2123542,
- 2123550,
- 2123558,
- 2123559,
- 2135864,
- 2123566,
- 2123583,
- 2123574,
- 2123585,
- 2123576,
- 2123575,
- 2123590,
- 2123614,
- 2123616,
- 2123609,
- 2123619,
- 2123620,
- 2123657,
- 2123632,
- 2123689,
- 2123644,
- 2123626,
- 2123660,
- 2123659,
- 2123686,
- 2123681,
- 2123653,
- 2123703,
- 2123759,
- 2123700,
- 2123756,
- 2123699,
- 2123753,
- 2123704,
- 2123748,
- 2123742,
- 2123741,
- 2123746,
- 2123758,
- 2123705,
- 2123726,
- 2123718,
- 2123751,
- 2124444,
- 2123806,
- 2123846,
- 2123817,
- 2123840,
- 2123853,
- 2123826,
- 2123854,
- 2123955,
- 2123819,
- 2123865,
- 2123875,
- 2123895,
- 2123903,
- 2123935,
- 2123919,
- 2123949,
- 2123924,
- 2123933,
- 2123931,
- 2123907,
- 2124462,
- 2123961,
- 2123892,
- 2123957,
- 2123936,
- 2123962,
- 2124047,
- 2123917,
- 2123902,
- 2124033,
- 2123978,
- 2124040,
- 2123992,
- 2124066,
- 2124070,
- 2124001,
- 2124044,
- 2123981,
- 2123988,
- 2124007,
- 2123989,
- 2124086,
- 2124050,
- 2124036,
- 2123991,
- 2124003,
- 2124069,
- 2124025,
- 2124000,
- 2124015,
- 2124072,
- 2124074,
- 2124058,
- 2124067,
- 2124065,
- 2123974,
- 2124153,
- 2124151,
- 2124124,
- 2124152,
- 2124139,
- 2124116,
- 2124158,
- 2124142,
- 2124089,
- 2124148,
- 2124093,
- 2124121,
- 2124080,
- 2124129,
- 2124126,
- 2124125,
- 2124161,
- 2124138,
- 2124210,
- 2124206,
- 2124240,
- 2124223,
- 2124225,
- 2124243,
- 2124222,
- 2124238,
- 2120680,
- 2124234,
- 2124253,
- 2124219,
- 2124227,
- 2124199,
- 2124334,
- 2124177,
- 2124192,
- 2124188,
- 2124181,
- 2124212,
- 2124254,
- 2124264,
- 2124290,
- 2124315,
- 2124287,
- 2124554,
- 2124281,
- 2124274,
- 2124263,
- 2124293,
- 2124209,
- 2124318,
- 2124269,
- 2124308,
- 2124267,
- 2124298,
- 2124306,
- 2124481,
- 2124323,
- 2124307,
- 2124356,
- 2124300,
- 2124402,
- 2124342,
- 2124408,
- 2124359,
- 2124386,
- 2124377,
- 2124390,
- 2124360,
- 2124344,
- 2124322,
- 2124432,
- 2124429,
- 2124448,
- 2124420,
- 2124450,
- 2124451,
- 2124439,
- 2131479,
- 2124475,
- 2124483,
- 2124482,
- 2124472,
- 2124467,
- 2124460,
- 2124510,
- 2124497,
- 2124511,
- 2124458,
- 2124506,
- 2124522,
- 2124539,
- 2124549,
- 2131478,
- 2124538,
- 2124562,
- 2124566,
- 2136881,
- 2124575,
- 2124600,
- 2124599,
- 2127580,
- 2124601,
- 2136302,
- 2124615,
- 2124611,
- 2124617,
- 2124624,
- 2124633,
- 2124628,
- 2124635,
- 2124639,
- 2124641,
- 2124664,
- 2124665,
- 2124671,
- 2124672,
- 2124676,
- 2124675,
- 2124685,
- 2124696,
- 2124693,
- 2124702,
- 2124708,
- 2124714,
- 2124715,
- 2124719,
- 2124722,
- 2124721,
- 2124723,
- 2124727,
- 2124732,
- 2124742,
- 2124747,
- 2124755,
- 2124767,
- 2124780,
- 2124779,
- 2124787,
- 2124783,
- 2137790,
- 2124808,
- 2124819,
- 2124820,
- 2124827,
- 2124836,
- 2124835,
- 2124894,
- 2124885,
- 2124898,
- 2124906,
- 2124930,
- 2124941,
- 2124954,
- 2124929,
- 2124955,
- 2124926,
- 2124904,
- 2124915,
- 2124946,
- 2124944,
- 2124996,
- 2125041,
- 2125011,
- 2124989,
- 2125015,
- 2124997,
- 2125021,
- 2124974,
- 2124977,
- 2124990,
- 2124986,
- 2125019,
- 2125039,
- 2125017,
- 2125034,
- 2125087,
- 2132045,
- 2125110,
- 2125099,
- 2125117,
- 2125112,
- 2125081,
- 2125109,
- 2125107,
- 2125074,
- 2125068,
- 2125155,
- 2125203,
- 2125156,
- 2125146,
- 2125177,
- 2125145,
- 2125198,
- 2125205,
- 2125796,
- 2125189,
- 2125305,
- 2125333,
- 2125322,
- 2125237,
- 2125255,
- 2125286,
- 2125240,
- 2125254,
- 2125292,
- 2125278,
- 2125260,
- 2125288,
- 2125266,
- 2125253,
- 2125306,
- 2125273,
- 2125284,
- 2125269,
- 2125290,
- 2125294,
- 2125357,
- 2125422,
- 2125358,
- 2125337,
- 2125426,
- 2125407,
- 2125374,
- 2125347,
- 2125419,
- 2125355,
- 2125430,
- 2125389,
- 2125343,
- 2125379,
- 2125370,
- 2125390,
- 2125348,
- 2125567,
- 2125341,
- 2125368,
- 2125442,
- 2125482,
- 2125464,
- 2125513,
- 2125495,
- 2125523,
- 2125501,
- 2125487,
- 2125508,
- 2125490,
- 2125524,
- 2125525,
- 2125455,
- 2125477,
- 2125506,
- 2125471,
- 2125633,
- 2125585,
- 2125900,
- 2125548,
- 2125560,
- 2125566,
- 2125631,
- 2125554,
- 2125617,
- 2125551,
- 2125618,
- 2125516,
- 2125630,
- 2125587,
- 2125559,
- 2125702,
- 2125690,
- 2125688,
- 2125697,
- 2125696,
- 2125679,
- 2125659,
- 2125811,
- 2125677,
- 2125698,
- 2125692,
- 2125656,
- 2125710,
- 2125713,
- 2125762,
- 2125670,
- 2125747,
- 2125731,
- 2125729,
- 2125732,
- 2125753,
- 2125766,
- 2125738,
- 2125791,
- 2125781,
- 2125804,
- 2125780,
- 2125784,
- 2125809,
- 2125806,
- 2125787,
- 2125833,
- 2125835,
- 2125818,
- 2125841,
- 2125825,
- 2125839,
- 2125822,
- 2125851,
- 2125850,
- 2125684,
- 2125853,
- 2125848,
- 2125855,
- 2125872,
- 2125886,
- 2125874,
- 2125905,
- 2125923,
- 2125977,
- 2125970,
- 2125999,
- 2126065,
- 2125996,
- 2126008,
- 2126003,
- 2125998,
- 2126047,
- 2126027,
- 2126045,
- 2126041,
- 2126089,
- 2126077,
- 2126108,
- 2126105,
- 2126181,
- 2126165,
- 2126216,
- 2126182,
- 2126178,
- 2126156,
- 2126166,
- 2126188,
- 2126223,
- 2126331,
- 2126212,
- 2126229,
- 2126248,
- 2126252,
- 2126295,
- 2126265,
- 2126270,
- 2126290,
- 2126281,
- 2126292,
- 2126286,
- 2126304,
- 2126316,
- 2126311,
- 2126325,
- 2126332,
- 2126329,
- 2126335,
- 2126349,
- 2126352,
- 2126363,
- 4223528,
- 2126381,
- 2126380,
- 2126384,
- 2126386,
- 2126395,
- 2126396,
- 2126399,
- 2126400,
- 2126406,
- 2126411,
- 2126424,
- 2126452,
- 2126462,
- 2126466,
- 2126465,
- 2126471,
- 2126482,
- 2126486,
- 2126498,
- 2126503,
- 2126521,
- 2126514,
- 2126531,
- 2126534,
- 2126532,
- 2126542,
- 2126546,
- 2126562,
- 2126560,
- 2126561,
- 2126585,
- 2126583,
- 2117647,
- 2126615,
- 2126602,
- 2126620,
- 2126614,
- 2126621,
- 2126644,
- 2126639,
- 2126633,
- 2126629,
- 2126654,
- 2126670,
- 2126671,
- 2137816,
- 2126679,
- 2126698,
- 2126696,
- 2126704,
- 2126712,
- 2126709,
- 2126715,
- 2126714,
- 2126792,
- 2126771,
- 2126798,
- 2126779,
- 2126784,
- 2126821,
- 2126830,
- 2126814,
- 2127010,
- 2126853,
- 2126959,
- 2126885,
- 2126840,
- 2126898,
- 2126906,
- 2126933,
- 2126911,
- 2126943,
- 2126937,
- 2126913,
- 2126940,
- 2126953,
- 2126960,
- 2126947,
- 2126954,
- 2126966,
- 2126974,
- 2126987,
- 2127006,
- 2127015,
- 2127050,
- 2127055,
- 2127060,
- 2126833,
- 2127072,
- 2127075,
- 2127079,
- 2127081,
- 2127086,
- 2127090,
- 2127088,
- 2127089,
- 2127096,
- 2127095,
- 2127108,
- 2127107,
- 2127109,
- 2127116,
- 2127118,
- 2127117,
- 2127125,
- 2127123,
- 2127134,
- 2127142,
- 2127148,
- 2127164,
- 2127172,
- 2127181,
- 2127178,
- 2127177,
- 2127195,
- 2127174,
- 2127194,
- 2127209,
- 2127204,
- 2127207,
- 2127211,
- 2127213,
- 2127224,
- 2127222,
- 2127238,
- 2127239,
- 2127220,
- 2127242,
- 2127241,
- 2127234,
- 2127252,
- 2127258,
- 2127261,
- 2127269,
- 2127267,
- 2127298,
- 2127283,
- 2127299,
- 2127285,
- 2127293,
- 2127288,
- 2127292,
- 2127281,
- 2127309,
- 2127306,
- 2127314,
- 2127321,
- 2127331,
- 2127326,
- 2127358,
- 2127359,
- 2127356,
- 2127361,
- 2127344,
- 2127354,
- 2127346,
- 2127347,
- 2127371,
- 2127373,
- 2127369,
- 2127391,
- 2127399,
- 2127392,
- 2127393,
- 2127394,
- 2127396,
- 2127412,
- 2127408,
- 2127419,
- 2127431,
- 2127432,
- 2127430,
- 2127452,
- 2127448,
- 2127457,
- 2127458,
- 2127464,
- 2127465,
- 2127466,
- 2127463,
- 2127468,
- 2127472,
- 2127474,
- 2127478,
- 2127480,
- 2127484,
- 2127488,
- 2127491,
- 2127496,
- 2127499,
- 2127502,
- 2127510,
- 2127507,
- 2127513,
- 2127514,
- 2127536,
- 2127540,
- 2127544,
- 2127545,
- 2127546,
- 2127554,
- 2127565,
- 2127574,
- 2127570,
- 2127582,
- 2127585,
- 2127589,
- 2127591,
- 2127594,
- 2131503,
- 2127611,
- 2127624,
- 2127623,
- 2127620,
- 2127657,
- 2127652,
- 4224798,
- 2127653,
- 2127654,
- 2127643,
- 2127671,
- 2127672,
- 2127687,
- 2127706,
- 2127720,
- 2127723,
- 2127707,
- 2127717,
- 2127743,
- 2127742,
- 2127737,
- 2127758,
- 2127755,
- 2127761,
- 2127776,
- 2127774,
- 2127792,
- 2127798,
- 2127801,
- 2127807,
- 2127804,
- 2127805,
- 2127803,
- 2127815,
- 2127821,
- 2127831,
- 2127834,
- 2127836,
- 2127843,
- 2127854,
- 2127868,
- 2127884,
- 2127890,
- 2128166,
- 2127904,
- 2128170,
- 2127941,
- 2128014,
- 2127988,
- 2128006,
- 2127996,
- 2128026,
- 2128012,
- 2128035,
- 2128053,
- 2128042,
- 2128047,
- 2128081,
- 2128070,
- 2128075,
- 2128084,
- 2128062,
- 2128060,
- 2128069,
- 2128074,
- 2128108,
- 2128103,
- 2128090,
- 2128125,
- 2128116,
- 2128135,
- 2128146,
- 2128145,
- 2128153,
- 2128172,
- 2128171,
- 2128192,
- 2128224,
- 2128215,
- 2128223,
- 2128218,
- 2128213,
- 2128211,
- 2128250,
- 2128255,
- 2128266,
- 2128285,
- 2128295,
- 2137931,
- 2128298,
- 2128302,
- 2128307,
- 2128313,
- 2128314,
- 2128329,
- 2128341,
- 2128359,
- 2128364,
- 2128353,
- 2128355,
- 2128392,
- 2128397,
- 2128408,
- 2128409,
- 2128416,
- 2128415,
- 2128256,
- 2128433,
- 2128443,
- 2128446,
- 2128439,
- 2128451,
- 2128471,
- 2128457,
- 2128481,
- 2128482,
- 2128489,
- 2138013,
- 2128496,
- 2128505,
- 2128509,
- 2128520,
- 2128535,
- 2128533,
- 2128536,
- 2128534,
- 2128553,
- 2128584,
- 2128560,
- 2128566,
- 2128581,
- 2128580,
- 2128575,
- 2134147,
- 2128583,
- 2128586,
- 2128589,
- 2128591,
- 2128597,
- 2128595,
- 2128601,
- 2128602,
- 2128605,
- 2128609,
- 2128610,
- 2128614,
- 2128621,
- 2128624,
- 2128642,
- 2128655,
- 2128650,
- 2128646,
- 2128691,
- 2128664,
- 2128665,
- 2128670,
- 2128693,
- 2128680,
- 2128694,
- 2128720,
- 2128762,
- 2128644,
- 2128717,
- 2128651,
- 2128716,
- 2128709,
- 2128757,
- 2128741,
- 2128756,
- 2128743,
- 2128752,
- 2128753,
- 2128748,
- 2128750,
- 2128797,
- 2128792,
- 2128799,
- 2128781,
- 2128796,
- 2128794,
- 2128779,
- 2128786,
- 2128783,
- 2128733,
- 2128793,
- 2128843,
- 2128833,
- 2128844,
- 2128847,
- 2128820,
- 2128838,
- 2128861,
- 2128873,
- 2128913,
- 2128916,
- 2128870,
- 2128869,
- 2128992,
- 2128896,
- 2128903,
- 2128915,
- 2128883,
- 2128887,
- 2128919,
- 2128909,
- 2128886,
- 2128931,
- 2128935,
- 2128938,
- 2128927,
- 2128951,
- 2128939,
- 2128957,
- 2128972,
- 2128963,
- 2128980,
- 2128975,
- 2128960,
- 2128976,
- 2128984,
- 2128991,
- 2128996,
- 2128982,
- 2128997,
- 2129004,
- 2129013,
- 2129027,
- 2129040,
- 2129060,
- 2129069,
- 2129058,
- 2129067,
- 2129057,
- 2129064,
- 2129075,
- 2129074,
- 2129073,
- 2129070,
- 2129081,
- 2129085,
- 2129088,
- 2129093,
- 2129090,
- 2129112,
- 2129106,
- 2129116,
- 2129122,
- 2136891,
- 2129135,
- 2129138,
- 2129140,
- 2129142,
- 2129146,
- 2129158,
- 2129154,
- 2129180,
- 2129173,
- 2129162,
- 2129221,
- 2129227,
- 2129198,
- 2129202,
- 2129215,
- 2129205,
- 2129222,
- 2129267,
- 2129238,
- 2129230,
- 2129266,
- 2129256,
- 2129262,
- 2129231,
- 2129251,
- 2129299,
- 2129289,
- 2129243,
- 2129295,
- 2129277,
- 2129307,
- 2129338,
- 2129326,
- 2129315,
- 2129333,
- 2129351,
- 2129341,
- 2129323,
- 2129469,
- 2129314,
- 2129327,
- 2129372,
- 2129336,
- 2129311,
- 2129328,
- 2129368,
- 2129373,
- 2129380,
- 2129374,
- 2129403,
- 2129394,
- 2129377,
- 2129413,
- 2129418,
- 2129443,
- 2129441,
- 2129426,
- 2129457,
- 2129439,
- 2129417,
- 2129419,
- 2129442,
- 2129478,
- 2129510,
- 2129467,
- 2129461,
- 2129465,
- 2129475,
- 2129463,
- 2129458,
- 2129466,
- 2129511,
- 2129501,
- 2129494,
- 2129502,
- 2129497,
- 2129498,
- 2129529,
- 2129514,
- 2129513,
- 2129532,
- 2129531,
- 2129539,
- 2129365,
- 2129533,
- 2133934,
- 2129535,
- 2129544,
- 2129545,
- 2129548,
- 2129554,
- 2129552,
- 2129555,
- 2129556,
- 2129558,
- 2129550,
- 2129563,
- 2129564,
- 2129720,
- 2129722,
- 2129733,
- 2129740,
- 2129741,
- 2129742,
- 2129744,
- 2129745,
- 2129749,
- 2129748,
- 2129752,
- 2129759,
- 2129760,
- 2129768,
- 2129769,
- 2129767,
- 2129784,
- 2129794,
- 2129798,
- 2129795,
- 2129800,
- 2129799,
- 2129804,
- 2129812,
- 2129822,
- 2129821,
- 2129818,
- 2129827,
- 2129839,
- 2129842,
- 2129849,
- 2129838,
- 2129846,
- 2129848,
- 2132849,
- 2129861,
- 2129862,
- 2129866,
- 2129877,
- 2129876,
- 2129889,
- 2129894,
- 2129897,
- 2129907,
- 2129913,
- 2136284,
- 2129926,
- 2129924,
- 2129931,
- 2129938,
- 2129944,
- 2129945,
- 2129948,
- 2129953,
- 2129960,
- 2129983,
- 2129979,
- 2129994,
- 2129990,
- 2130002,
- 2130008,
- 2130010,
- 2130015,
- 2130018,
- 2130024,
- 2130035,
- 2130034,
- 2130032,
- 2130038,
- 2130041,
- 2130045,
- 2130047,
- 2130052,
- 2130054,
- 2130053,
- 2130075,
- 2130067,
- 2130074,
- 2130093,
- 2118032,
- 2130092,
- 2130139,
- 2130149,
- 2130137,
- 2130141,
- 2130116,
- 2130138,
- 2130134,
- 2130185,
- 2130159,
- 2130161,
- 2130203,
- 2130217,
- 2130211,
- 2130223,
- 2130251,
- 2135691,
- 2130246,
- 2130238,
- 2130259,
- 2130257,
- 2130172,
- 2130289,
- 2130286,
- 2130277,
- 2130278,
- 2130292,
- 2130307,
- 2130312,
- 2130314,
- 2130304,
- 2130306,
- 2130336,
- 2130325,
- 2130340,
- 2130339,
- 2130271,
- 2130323,
- 2130345,
- 2130352,
- 2130357,
- 2130366,
- 2130360,
- 2130365,
- 2130368,
- 2130370,
- 2130362,
- 2130377,
- 2130381,
- 2130385,
- 2130393,
- 2130392,
- 2130376,
- 2130394,
- 2130399,
- 2130400,
- 2130407,
- 2130426,
- 2130427,
- 2130430,
- 2130433,
- 2130434,
- 2130437,
- 2130439,
- 2130442,
- 2130445,
- 2130448,
- 2130454,
- 2130473,
- 2130475,
- 2130488,
- 2130483,
- 2130496,
- 2130521,
- 2130520,
- 2130525,
- 2130522,
- 2130527,
- 2130532,
- 2130530,
- 2130536,
- 2130538,
- 2130539,
- 2130478,
- 2130545,
- 2130551,
- 2130552,
- 2130558,
- 2130573,
- 2130578,
- 2130603,
- 2130591,
- 2130619,
- 2130604,
- 2130657,
- 2130659,
- 2130655,
- 2130642,
- 2130676,
- 2130675,
- 2130682,
- 2130835,
- 2130691,
- 2130683,
- 2130681,
- 2130654,
- 2130694,
- 2130652,
- 2130697,
- 2130649,
- 2130741,
- 2130740,
- 2130710,
- 2130738,
- 2130737,
- 2130752,
- 2130745,
- 2130768,
- 2130757,
- 2130735,
- 2130731,
- 2130711,
- 2130712,
- 2130821,
- 2130842,
- 2130858,
- 2130847,
- 2130850,
- 2130838,
- 2130723,
- 2130830,
- 2130823,
- 2130826,
- 2130812,
- 2130869,
- 2130803,
- 2130805,
- 2130848,
- 2130825,
- 2130856,
- 2130932,
- 2130963,
- 2130923,
- 2130894,
- 2130941,
- 2130947,
- 2130904,
- 2130955,
- 2130881,
- 2130935,
- 2130951,
- 2130912,
- 2130930,
- 2130957,
- 2130978,
- 2130976,
- 2130877,
- 2131000,
- 2131206,
- 2130939,
- 2131053,
- 2130986,
- 2131004,
- 2131290,
- 2131076,
- 2131063,
- 2131051,
- 2131117,
- 2131054,
- 2131074,
- 2131049,
- 2131014,
- 2130988,
- 2131055,
- 2131065,
- 2130997,
- 2131146,
- 2131042,
- 2131129,
- 2131135,
- 2131103,
- 2131161,
- 2131149,
- 2131131,
- 2131162,
- 2131152,
- 2131137,
- 2131142,
- 2131158,
- 2131105,
- 2131233,
- 2131199,
- 2131188,
- 2131223,
- 2131224,
- 2131244,
- 2131231,
- 2131221,
- 2131220,
- 2131196,
- 2131264,
- 2131299,
- 2131288,
- 2131272,
- 2131265,
- 2131458,
- 2131275,
- 2131285,
- 2131328,
- 2131364,
- 2131336,
- 2131345,
- 2131338,
- 2131368,
- 2131309,
- 2131348,
- 2131355,
- 2131434,
- 2131335,
- 2131356,
- 2131319,
- 2131326,
- 2131344,
- 2131401,
- 2131386,
- 2131407,
- 2131385,
- 2131408,
- 2131413,
- 2131421,
- 2131429,
- 2131420,
- 2131449,
- 2131466,
- 2131475,
- 2131467,
- 2131454,
- 2131450,
- 2131462,
- 2131490,
- 2131482,
- 2131504,
- 2131519,
- 2131533,
- 2117205,
- 2131540,
- 2131551,
- 2131559,
- 2131569,
- 2131603,
- 2131619,
- 2131625,
- 2131626,
- 2131595,
- 2131596,
- 2131638,
- 2131631,
- 2131652,
- 2131654,
- 2131632,
- 2131657,
- 2132003,
- 2131627,
- 2131668,
- 2131678,
- 2131689,
- 2131692,
- 2131679,
- 2131675,
- 2131695,
- 2131730,
- 2131718,
- 2131720,
- 2131712,
- 2131715,
- 2131707,
- 2131729,
- 2131721,
- 2131725,
- 2131705,
- 2131722,
- 2131764,
- 2131775,
- 2131767,
- 2131771,
- 2131749,
- 2131753,
- 2131738,
- 2131808,
- 2131807,
- 2131832,
- 2131788,
- 2131790,
- 2131828,
- 2131799,
- 2131816,
- 2131822,
- 2131801,
- 2131795,
- 2131811,
- 2131818,
- 2131973,
- 2131874,
- 2131871,
- 2131842,
- 2131887,
- 2131915,
- 2131901,
- 2131904,
- 2131920,
- 2135766,
- 2131883,
- 2131908,
- 2131891,
- 2131911,
- 2131910,
- 2131899,
- 2131951,
- 2131954,
- 2131936,
- 2131983,
- 2131981,
- 2131966,
- 2131958,
- 2131959,
- 2131982,
- 2131922,
- 2131985,
- 2131990,
- 2131989,
- 2132002,
- 2132001,
- 2132017,
- 2132022,
- 2132025,
- 2132007,
- 2132027,
- 2132036,
- 2132034,
- 2132050,
- 2132057,
- 2132062,
- 2132066,
- 2132075,
- 2132097,
- 2132094,
- 2132126,
- 2132085,
- 2132093,
- 2132149,
- 2132082,
- 2132098,
- 2132119,
- 2132114,
- 2132142,
- 2132121,
- 2132130,
- 2132109,
- 2132132,
- 2132144,
- 2132159,
- 2132145,
- 2132163,
- 2132164,
- 2132180,
- 2132184,
- 2132185,
- 2132189,
- 2132217,
- 2132226,
- 2132220,
- 2132212,
- 2132200,
- 2132210,
- 2132228,
- 2132236,
- 2132234,
- 2132243,
- 2132291,
- 2132254,
- 2132261,
- 2132266,
- 2132267,
- 2132289,
- 2132292,
- 2132283,
- 2132278,
- 2132280,
- 2132300,
- 2132253,
- 2132320,
- 2132318,
- 2132326,
- 2132324,
- 2132333,
- 2132330,
- 2132335,
- 2132340,
- 2132343,
- 2132350,
- 2132355,
- 2132360,
- 2132362,
- 2132371,
- 2132376,
- 2132385,
- 2132393,
- 2132390,
- 2132396,
- 2132399,
- 2132402,
- 2132410,
- 2132413,
- 2132415,
- 2132416,
- 2132442,
- 2132444,
- 2132445,
- 2132455,
- 2132468,
- 2132472,
- 2132483,
- 2132502,
- 2132496,
- 2132492,
- 2132507,
- 2132509,
- 2132517,
- 2132534,
- 2132545,
- 2132571,
- 2132562,
- 2132550,
- 2132552,
- 2132604,
- 2132589,
- 2132588,
- 2132578,
- 2132613,
- 2132610,
- 2132612,
- 2132648,
- 2132641,
- 2132625,
- 2132645,
- 2132646,
- 2132634,
- 2132643,
- 2132676,
- 2132685,
- 2132674,
- 2132698,
- 2132715,
- 2132723,
- 2132711,
- 2132708,
- 2132721,
- 2132756,
- 2132704,
- 2132706,
- 2132727,
- 2132702,
- 2132699,
- 2132748,
- 2132743,
- 2132762,
- 2132705,
- 2132758,
- 2132752,
- 2132759,
- 2132768,
- 2132787,
- 2135979,
- 2132774,
- 2132779,
- 2132798,
- 2132776,
- 2132801,
- 2132812,
- 2132815,
- 2132814,
- 2132809,
- 2132822,
- 2132827,
- 2132826,
- 2132843,
- 2132831,
- 2132844,
- 2132847,
- 2132852,
- 2132861,
- 2132864,
- 2132876,
- 2132878,
- 2132882,
- 2132883,
- 2132886,
- 2132889,
- 2132890,
- 2133050,
- 2133057,
- 2133055,
- 2133064,
- 2133068,
- 2133070,
- 2133072,
- 2133077,
- 2133090,
- 2133100,
- 2133112,
- 2133114,
- 2133122,
- 2133129,
- 2133125,
- 2133130,
- 2133133,
- 2133134,
- 2133140,
- 2133116,
- 2133144,
- 2122269,
- 2133165,
- 2133162,
- 2133181,
- 2133170,
- 2133171,
- 2133166,
- 2133174,
- 2133192,
- 2133185,
- 2133220,
- 2133219,
- 2133210,
- 2133245,
- 2133242,
- 2133243,
- 2133252,
- 2133253,
- 2133258,
- 2133255,
- 2133263,
- 2133261,
- 2133264,
- 2137934,
- 2133267,
- 2133197,
- 2133268,
- 2133270,
- 2133351,
- 2133357,
- 2133361,
- 2133363,
- 2133377,
- 2133401,
- 2133442,
- 2133438,
- 2133434,
- 2133455,
- 2133466,
- 2133462,
- 2133452,
- 2133467,
- 2133451,
- 2133482,
- 2133483,
- 2133471,
- 2133475,
- 2133500,
- 2133512,
- 2133513,
- 2133503,
- 2133533,
- 2133534,
- 2133520,
- 2133535,
- 2133570,
- 2133557,
- 2133552,
- 2133556,
- 2133578,
- 2133575,
- 2133577,
- 2133580,
- 2133584,
- 2133576,
- 2133593,
- 2133604,
- 2133600,
- 2133546,
- 2133603,
- 2133589,
- 2133622,
- 2133618,
- 2133628,
- 2133633,
- 2133639,
- 2133637,
- 2133636,
- 2133643,
- 2133642,
- 2133651,
- 2133649,
- 2133652,
- 2133657,
- 2133674,
- 2133665,
- 2133676,
- 2133680,
- 2133702,
- 2133681,
- 2133694,
- 2133701,
- 2133704,
- 2133707,
- 2133723,
- 2133731,
- 2133756,
- 2133755,
- 2133739,
- 2133758,
- 2133770,
- 2133765,
- 2133781,
- 2133778,
- 2133785,
- 2133779,
- 2133788,
- 2133791,
- 2133787,
- 2133772,
- 2133798,
- 2133811,
- 2133819,
- 2133817,
- 2133829,
- 2133826,
- 2133822,
- 2133836,
- 2133833,
- 2133830,
- 2133838,
- 2133847,
- 2133852,
- 2133858,
- 2133859,
- 2133860,
- 2133916,
- 2133919,
- 2133923,
- 2133933,
- 2133935,
- 2133943,
- 2133978,
- 2133989,
- 2133986,
- 2133994,
- 2133999,
- 2134151,
- 2134004,
- 2134021,
- 2134009,
- 2134010,
- 2134033,
- 2134037,
- 2134049,
- 2134029,
- 2134046,
- 2134038,
- 2134027,
- 2134055,
- 2134070,
- 2134069,
- 2134073,
- 2134008,
- 2134095,
- 2134096,
- 2134097,
- 2134098,
- 2134030,
- 2134089,
- 2134078,
- 2134102,
- 2134104,
- 2134110,
- 2134120,
- 2134127,
- 2134134,
- 2135720,
- 2134130,
- 2134146,
- 2134141,
- 2134145,
- 2134144,
- 2134154,
- 2134153,
- 2134159,
- 2134184,
- 2134191,
- 2134193,
- 2134197,
- 2134242,
- 2134244,
- 2122312,
- 2134235,
- 2134274,
- 2134290,
- 2134297,
- 2134322,
- 2134320,
- 2134346,
- 2134358,
- 2134360,
- 2134371,
- 2134373,
- 2134377,
- 2134387,
- 2134386,
- 2134411,
- 2134409,
- 2134402,
- 2134434,
- 2134443,
- 2134447,
- 2134442,
- 2134453,
- 2134452,
- 2134458,
- 2134464,
- 2134465,
- 2134473,
- 2134475,
- 2134480,
- 2134486,
- 2134495,
- 2134497,
- 2134491,
- 2134524,
- 2134517,
- 2134518,
- 2134558,
- 2134527,
- 2134548,
- 2134572,
- 2134549,
- 2134545,
- 2134622,
- 2134615,
- 2134597,
- 2134601,
- 2134628,
- 2134600,
- 2134677,
- 2134591,
- 2134603,
- 2134608,
- 2134684,
- 2134678,
- 2134675,
- 2134683,
- 2134618,
- 2134735,
- 2134713,
- 2134711,
- 2134761,
- 2134799,
- 2134778,
- 2134852,
- 2134830,
- 2134809,
- 2134818,
- 2134810,
- 2134819,
- 2134842,
- 2134837,
- 2134843,
- 2134876,
- 2134880,
- 2134908,
- 2134894,
- 2134870,
- 2134960,
- 2134956,
- 2134957,
- 2134932,
- 2134969,
- 2134998,
- 2134999,
- 2135016,
- 2135013,
- 2135000,
- 2134979,
- 2135005,
- 2134992,
- 2134984,
- 2135012,
- 2135066,
- 2135060,
- 2135059,
- 2135043,
- 2135047,
- 2135056,
- 2135094,
- 2135083,
- 2135093,
- 2135073,
- 2135098,
- 2135105,
- 2135122,
- 2135108,
- 2135131,
- 2135136,
- 2135138,
- 2135134,
- 2135146,
- 2134569,
- 2135152,
- 2135157,
- 2135159,
- 2135165,
- 2135130,
- 2135164,
- 2135166,
- 2135169,
- 2135167,
- 2135426,
- 2135431,
- 2135434,
- 2135444,
- 2135446,
- 2135448,
- 2135449,
- 2135456,
- 2135464,
- 2135463,
- 2135469,
- 2135484,
- 2135483,
- 2135481,
- 2135486,
- 2135498,
- 2125814,
- 2135491,
- 2135501,
- 2135500,
- 2135509,
- 2135508,
- 2135510,
- 2135516,
- 2135521,
- 2135525,
- 2135522,
- 2135585,
- 2135592,
- 2135598,
- 2135599,
- 2135618,
- 2135628,
- 2135631,
- 2135627,
- 2135671,
- 2135644,
- 2135646,
- 2135645,
- 2135647,
- 2135654,
- 2135666,
- 2135660,
- 2135693,
- 2135704,
- 2135701,
- 2135703,
- 2135722,
- 2135719,
- 2135729,
- 2135730,
- 2135728,
- 2135732,
- 2135734,
- 2135736,
- 2135737,
- 2135758,
- 2135755,
- 2135753,
- 2135757,
- 2132301,
- 2135772,
- 2135821,
- 2135765,
- 2135801,
- 2135812,
- 2135814,
- 2135816,
- 2135827,
- 2135822,
- 2135825,
- 2135823,
- 2135830,
- 2135833,
- 2135844,
- 2135850,
- 2135856,
- 2135865,
- 2135869,
- 2135870,
- 2135876,
- 2135878,
- 2135880,
- 2135874,
- 2135881,
- 2135900,
- 2135904,
- 2135908,
- 2135910,
- 2135912,
- 2118354,
- 2135915,
- 2135921,
- 2135929,
- 2135941,
- 2135932,
- 2135937,
- 2135930,
- 2135942,
- 2135947,
- 2135951,
- 2135952,
- 2135964,
- 2135976,
- 2135974,
- 2135971,
- 2135987,
- 2135988,
- 2136003,
- 2136006,
- 2136008,
- 2136011,
- 2136028,
- 2136045,
- 2137935,
- 2136050,
- 2128607,
- 2136054,
- 2136053,
- 2136079,
- 2136076,
- 2136120,
- 2136100,
- 2136097,
- 2136119,
- 2136125,
- 2136134,
- 2136143,
- 2136139,
- 2136171,
- 2136175,
- 2136176,
- 2136177,
- 2136180,
- 2136179,
- 2136234,
- 2136239,
- 2136241,
- 2136246,
- 2136260,
- 2136259,
- 2136262,
- 2136297,
- 2136299,
- 2136323,
- 2136329,
- 2136338,
- 2136340,
- 2136344,
- 2136353,
- 2136349,
- 2136350,
- 2136356,
- 2136352,
- 2136364,
- 2136366,
- 2136381,
- 2136382,
- 2136386,
- 2136393,
- 2136389,
- 2136400,
- 2136395,
- 2136401,
- 2136402,
- 2136396,
- 2136405,
- 2136471,
- 2136472,
- 2136485,
- 2136493,
- 2136494,
- 2136508,
- 2136543,
- 2136539,
- 2136541,
- 2136536,
- 2136529,
- 2136557,
- 2136558,
- 2136561,
- 2136562,
- 2136571,
- 2136568,
- 2136577,
- 2136591,
- 2136581,
- 2136546,
- 2136601,
- 2136619,
- 2136631,
- 2136645,
- 2136642,
- 2136640,
- 2136643,
- 2136638,
- 2136661,
- 2136653,
- 2136667,
- 2136663,
- 2136671,
- 2136674,
- 2136677,
- 2136676,
- 2136681,
- 2136683,
- 2136682,
- 2136749,
- 2136752,
- 2136764,
- 2136768,
- 2136783,
- 2136785,
- 2136787,
- 2136788,
- 2136798,
- 2136799,
- 2136802,
- 2136803,
- 2136806,
- 2136815,
- 2136811,
- 2136814,
- 2136820,
- 2136817,
- 2136823,
- 2136827,
- 2136838,
- 2136856,
- 2136858,
- 2136863,
- 2136866,
- 2136867,
- 2136869,
- 2136871,
- 2136872,
- 2136873,
- 2136874,
- 2136878,
- 2136879,
- 2136882,
- 2136900,
- 2136899,
- 2136911,
- 2136909,
- 2136910,
- 2136913,
- 2136920,
- 2136948,
- 2136979,
- 2136963,
- 2136977,
- 2136982,
- 2136983,
- 2136991,
- 2136992,
- 2137000,
- 2137012,
- 2137024,
- 2137034,
- 2137017,
- 2137030,
- 2137039,
- 2137041,
- 2137042,
- 2137059,
- 2137058,
- 2137060,
- 2137044,
- 2137057,
- 2137146,
- 2137074,
- 2137073,
- 2137072,
- 2137109,
- 2137108,
- 2137097,
- 2137107,
- 2137100,
- 2137094,
- 2137096,
- 2137106,
- 2137098,
- 2137092,
- 2137134,
- 2137115,
- 2137125,
- 2137124,
- 2137121,
- 2137136,
- 2137159,
- 2137138,
- 2137158,
- 2137150,
- 2137178,
- 2137184,
- 2137191,
- 2137206,
- 2137208,
- 2137319,
- 2137324,
- 2137328,
- 2137353,
- 2137352,
- 2137323,
- 2137347,
- 2137350,
- 2137386,
- 2137382,
- 2137519,
- 2137379,
- 2137375,
- 2137412,
- 2137365,
- 2137362,
- 2137409,
- 2137407,
- 2137406,
- 2137414,
- 2137416,
- 2137437,
- 2137438,
- 2137444,
- 2137425,
- 2137424,
- 2137433,
- 2137458,
- 2137481,
- 2137479,
- 2137515,
- 2137455,
- 2137466,
- 2137498,
- 2137508,
- 2137513,
- 2137522,
- 2137540,
- 2137537,
- 2137531,
- 2137528,
- 2137530,
- 2137542,
- 2137551,
- 2137538,
- 2137561,
- 2137555,
- 2137592,
- 2137574,
- 2137581,
- 2137583,
- 2137597,
- 2137626,
- 2137627,
- 2137630,
- 2137717,
- 2137721,
- 2137725,
- 2137729,
- 2137736,
- 2137739,
- 2137740,
- 2137746,
- 2137749,
- 2137745,
- 2137757,
- 2137765,
- 2137769,
- 2137784,
- 2137770,
- 2137773,
- 2135905,
- 2137804,
- 2137806,
- 2137807,
- 2137808,
- 2137812,
- 2137820,
- 2137822,
- 2137821,
- 2137824,
- 2137829,
- 2137832,
- 2137839,
- 2137844,
- 2137846,
- 2137847,
- 2137849,
- 2137851,
- 2137852,
- 2137853,
- 2137863,
- 2137864,
- 2127543,
- 2137877,
- 2137889,
- 2137900,
- 2137918,
- 2137930,
- 2137938,
- 2137940,
- 2137955,
- 2137951,
- 2137952,
- 2137953,
- 2137958,
- 2137959,
- 2137964,
- 2137962,
- 2137975,
- 2137970,
- 2137974,
- 2138005,
- 2138012,
- 2138016,
- 2119727,
- 2124231,
- 2134105,
- 2126948,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 2119006,
- 4233460,
- 4222626,
- 4234287,
- 4222443,
- 4231106,
- 4221725,
- 4215721,
- 2264285,
- 4216386,
- 4233484,
- 2126128,
- 4229462,
- 2137559,
- 4231142,
- 4218978,
- 4219600,
- 4220518,
- 4216221,
- 4228187,
- 4233092,
- 2119321,
- 2112846,
- 4227056,
- 4227051,
- 4218813,
- 4225351,
- 2117600,
- 6312831,
- 4214981,
- 2133696,
- 4216240,
- 2124507,
- 4217937,
- 4233076,
- 4225345,
- 4219239,
- 2250868,
- 2129515,
- 2130758,
- 2264822,
- 4214822,
- 4217548,
- 4219762,
- 2137724,
- 4229882,
- 4218359,
- 2123323,
- 4222621,
- 2137780,
- 4234592,
- 4224273,
- 4231623,
- 4221322,
- 2123781,
- 4228521,
- 4234198,
- 4231942,
- 4223946,
- 4215793,
- 2120802,
- 4231278,
- 4220755,
- 4223100,
- 2129505,
- 4231499,
- 4220633,
- 2125338,
- 4228527,
- 4228599,
- 4216040,
- 4218592,
- 4221090,
- 2131235,
- 2134444,
- 4233112,
- 4228949,
- 4233073,
- 4231191,
- 4227040,
- 4220026,
- 4231197,
- 2131948,
- 4220080,
- 4220947,
- 4223310,
- 4223357,
- 4229742,
- 4216396,
- 4231265,
- 4215413,
- 2122772,
- 4224550,
- 4231260,
- 2136658,
- 4227455,
- 4234971,
- 4216132,
- 4222959,
- 2126882,
- 4228856,
- 2121213,
- 4231103,
- 4221146,
- 4234312,
- 4221501,
- 2128926,
- 4229691,
- 4223014,
- 4215243,
- 4219735,
- 4221388,
- 4232090,
- 4216922,
- 2122833,
- 4231469,
- 4220130,
- 4222650,
- 2119777,
- 2136154,
- 4216885,
- 4217952,
- 4228063,
- 4230381,
- 4216920,
- 2128305,
- 4234503,
- 2125830,
- 4223006,
- 4216440,
- 4231233,
- 4233235,
- 4231331,
- 4229902,
- 4223064,
- 4221282,
- 4225456,
- 2119370,
- 4223564,
- 4231193,
- 4225508,
- 2118237,
- 4225976,
- 2125649,
- 2134449,
- 4219709,
- 4219465,
- 4221451,
- 4220874,
- 4225559,
- 4231228,
- 4217499,
- 4229932,
- 4218591,
- 4222997,
- 2136123,
- 4228413,
- 4224933,
- 4217385,
- 4218518,
- 4222177,
- 4228332,
- 2136112,
- 4234322,
- 2137781,
- 4215090,
- 4233477,
- 4226174,
- 4232275,
- 4219144,
- 4224594,
- 4223799,
- 4223380,
- 4227072,
- 2130954,
- 4231292,
- 2125603,
- 2126153,
- 2131182,
- 4221332,
- 2131999,
- 2117972,
- 4215177,
- 2118037,
- 4215204,
- 4216121,
- 4216115,
- 4216292,
- 4216370,
- 4216485,
- 4216843,
- 4217534,
- 2234906,
- 2120795,
- 4218468,
- 4219031,
- 4219753,
- 4219910,
- 2123042,
- 4220291,
- 4220838,
- 2123770,
- 4221083,
- 2123918,
- 4222574,
- 2245584,
- 2126376,
- 4223950,
- 4224260,
- 4224269,
- 4224277,
- 4224659,
- 4225148,
- 4225585,
- 4235165,
- 4225945,
- 4226192,
- 4226222,
- 4226459,
- 4226478,
- 4226463,
- 4227028,
- 4227630,
- 4227725,
- 4227794,
- 4227875,
- 4227957,
- 4228375,
- 2131262,
- 4228994,
- 4229074,
- 4229386,
- 4229551,
- 4229854,
- 4229953,
- 4230618,
- 4230665,
- 4230931,
- 4231146,
- 4231145,
- 4231256,
- 4219464,
- 4231617,
- 4232635,
- 2127714,
- 4232996,
- 4233056,
- 4233069,
- 4233252,
- 4234030,
- 4234135,
- 4234226,
- 4234922,
- 4235164,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 4227750,
- 4227880,
- 2119251,
- 6312873,
- 4223577,
- 4222066,
- 4225800,
- 4233559,
- 4219635,
- 4233488,
- 6330221,
- 6320509,
- 4225663,
- 4225965,
- 4219843,
- 6325215,
- 4225378,
- 4215771,
- 4225991,
- 4231108,
- 4226110,
- 4214986,
- 4215573,
- 4216233,
- 4216494,
- 4216857,
- 4217115,
- 4217896,
- 4218576,
- 4218575,
- 4219457,
- 4220609,
- 4221960,
- 4222499,
- 4222700,
- 4225687,
- 4226013,
- 4227049,
- 4228130,
- 4228953,
- 4229134,
- 6326226,
- 4233753,
- 4234925,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 4231202,
- 4231099,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 2118108,
- 2126233,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 2129546,
- 2132252,
- 2134856,
- 2134664,
- 2131164,
- 2117577,
- 2126011,
- 2123313,
- 2123976,
- 2134777,
- 2123515,
- 2121541,
- 2117160,
- 2117345,
- 2117372,
- 2117376,
- 2117379,
- 2117433,
- 2117462,
- 2117522,
- 2117514,
- 2117530,
- 2117524,
- 2117581,
- 2117696,
- 2117666,
- 2117631,
- 2117662,
- 2117702,
- 2117744,
- 2117698,
- 2117780,
- 2117876,
- 2117848,
- 2117962,
- 2117988,
- 2118045,
- 2118078,
- 2118124,
- 2118165,
- 2118300,
- 2118310,
- 2118336,
- 2118363,
- 2118400,
- 4215559,
- 2118436,
- 2118514,
- 2118547,
- 2118578,
- 2118621,
- 2161166,
- 2118812,
- 2118794,
- 2118825,
- 2118911,
- 2119046,
- 2119513,
- 2119525,
- 2119596,
- 2119624,
- 2119623,
- 2161167,
- 6314074,
- 2119838,
- 2119858,
- 2119947,
- 2120019,
- 2120027,
- 2120029,
- 2120035,
- 2120100,
- 2120122,
- 2120534,
- 2120640,
- 2127151,
- 2120664,
- 4217819,
- 2120734,
- 2120870,
- 2120890,
- 2120949,
- 2120999,
- 2121043,
- 4258321,
- 2121026,
- 2121069,
- 2121144,
- 2121145,
- 2121168,
- 2121505,
- 2121524,
- 2121575,
- 2121655,
- 2121694,
- 2121821,
- 2121861,
- 2121866,
- 2121950,
- 2121941,
- 2122016,
- 2121970,
- 2122001,
- 2122039,
- 2122032,
- 2122136,
- 2122259,
- 2122406,
- 2122741,
- 2122848,
- 2122909,
- 2122958,
- 2123086,
- 2123264,
- 2123285,
- 2123273,
- 2123310,
- 4220446,
- 2123300,
- 2123365,
- 2123351,
- 2123353,
- 2123380,
- 2123379,
- 2123417,
- 2123424,
- 2123442,
- 2123455,
- 2123514,
- 2123534,
- 6317847,
- 2123622,
- 2123707,
- 4221010,
- 2123712,
- 4220929,
- 2123844,
- 2123983,
- 2161171,
- 2124136,
- 2161172,
- 2124184,
- 2124258,
- 2124336,
- 2124395,
- 2124358,
- 2124403,
- 2124414,
- 2124514,
- 2124516,
- 2124758,
- 2124863,
- 2124892,
- 2124934,
- 2124911,
- 2125018,
- 2125060,
- 2125191,
- 2125167,
- 2125206,
- 2125228,
- 2125263,
- 2125304,
- 2125298,
- 2125308,
- 2125369,
- 2125404,
- 2125351,
- 2125372,
- 2125503,
- 2125704,
- 2125749,
- 2125813,
- 2125829,
- 2125831,
- 2125864,
- 2125957,
- 2125995,
- 2126095,
- 2126084,
- 2126172,
- 2126150,
- 2126151,
- 10506718,
- 2126273,
- 2126334,
- 2126513,
- 2126526,
- 2126628,
- 2126634,
- 2126711,
- 2126781,
- 2126793,
- 2126806,
- 2126819,
- 2126802,
- 2126855,
- 2126837,
- 2126886,
- 2126890,
- 2126889,
- 2126894,
- 4224098,
- 2126985,
- 2127007,
- 2127105,
- 2127215,
- 2127490,
- 2127516,
- 2127518,
- 2127515,
- 2127526,
- 4224714,
- 2127686,
- 2118319,
- 2127905,
- 2127950,
- 2127972,
- 2127994,
- 2128176,
- 4225340,
- 2128222,
- 2128229,
- 2128276,
- 4225423,
- 2128283,
- 2128593,
- 2128615,
- 4233046,
- 2128619,
- 2128798,
- 2129086,
- 2129224,
- 4226396,
- 2129335,
- 2129312,
- 2129366,
- 2129490,
- 2129735,
- 2129825,
- 2129853,
- 2130689,
- 2130786,
- 2130815,
- 2130887,
- 2130934,
- 2131016,
- 2131124,
- 2131283,
- 2131289,
- 2131307,
- 2161183,
- 2131376,
- 4228626,
- 2161185,
- 2131975,
- 2132213,
- 2132498,
- 2132535,
- 2132601,
- 2132647,
- 2132670,
- 2132703,
- 2132728,
- 2132726,
- 2132819,
- 2132863,
- 2133232,
- 2133236,
- 2133266,
- 2133366,
- 2161187,
- 2133711,
- 4258340,
- 6328376,
- 2134119,
- 2134238,
- 2134269,
- 2134293,
- 2134311,
- 2134490,
- 2134487,
- 2134494,
- 2134509,
- 2134510,
- 2134500,
- 2134501,
- 2134534,
- 2134544,
- 2134538,
- 2134586,
- 2134592,
- 2134588,
- 2134606,
- 2134617,
- 2134609,
- 2134585,
- 2134631,
- 2134695,
- 2134647,
- 2134648,
- 2134759,
- 2134743,
- 2134745,
- 2134736,
- 2161191,
- 2134741,
- 2134752,
- 2134739,
- 2134821,
- 2134817,
- 2134779,
- 2161192,
- 2134814,
- 2134783,
- 2134813,
- 2134786,
- 2134896,
- 2134871,
- 2134948,
- 2134982,
- 2135006,
- 2135032,
- 2135089,
- 2135109,
- 2135112,
- 2135442,
- 6329990,
- 2161193,
- 2135709,
- 2135727,
- 2135859,
- 2135867,
- 2135875,
- 2135885,
- 2135887,
- 2135889,
- 4233045,
- 2136151,
- 2136165,
- 2136303,
- 4233468,
- 2136359,
- 4233512,
- 2136478,
- 2136654,
- 2136793,
- 2136796,
- 2136949,
- 2136946,
- 2136975,
- 2137009,
- 2137019,
- 2137088,
- 2137456,
- 2137451,
- 2137524,
- 2137625,
- 2137809,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 6319336,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 4231224,
- 2132737,
- 2129379,
- 2137795,
- 2125483,
- 2128269,
- 2121876,
- 2125175,
- 4219240,
- 2124266,
- 2125364,
- 4229392,
- 4222754,
- 4216424,
- 2123234,
- 2128200,
- 2131547,
- 4233215,
- 4215524,
- 2132793,
- 2122733,
- 2122954,
- 2127951,
- 2128448,
- 2124730,
- 4225353,
- 4229526,
- 2126190,
- 4225342,
- 4227077,
- 4227565,
- 2128221,
- 4220561,
- 2129778,
- 2125193,
- 2126528,
- 4219214,
- 2127646,
- 4225984,
- 4225366,
- 4215015,
- 4217956,
- 2121186,
- 2122126,
- 4230408,
- 2118525,
- 2119174,
- 4228183,
- 2121653,
- 4219378,
- 4232110,
- 4225422,
- 4234029,
- 4225665,
- 2135779,
- 2123909,
- 4226625,
- 2123354,
- 2118481,
- 2128017,
- 2133203,
- 2123087,
- 4214702,
- 4214645,
- 4216896,
- 2118345,
- 2124645,
- 2119848,
- 2124751,
- 4215117,
- 2122302,
- 2128208,
- 2124548,
- 4232838,
- 2131548,
- 2125274,
- 2136158,
- 2123462,
- 2124663,
- 2129396,
- 2134858,
- 6315722,
- 2134788,
- 4221314,
- 4215220,
- 4219724,
- 4228827,
- 4231305,
- 6328354,
- 4214857,
- 4226543,
- 4231253,
- 8410025,
- 6330636,
- 4229211,
- 4218614,
- 6319295,
- 4231771,
- 4227009,
- 6324925,
- 4232901,
- 4217779,
- 6316392,
- 6318466,
- 4221883,
- 4220258,
- 4230315,
- 4218316,
- 4233233,
- 4218416,
- 4230860,
- 4225710,
- 4216647,
- 4214929,
- 4225652,
- 4214885,
- 4218618,
- 4231735,
- 4221582,
- 4214436,
- 4215148,
- 4220660,
- 4220961,
- 4225132,
- 4226398,
- 4227075,
- 4230396,
- 4232781,
- 4219639,
- 4226922,
- 4214655,
- 4215794,
- 4217289,
- 4229917,
- 4231338,
- 4215758,
- 4230959,
- 4220884,
- 4224940,
- 4227612,
- 4221295,
- 4220798,
- 4229663,
- 4214280,
- 4216820,
- 4221197,
- 4227191,
- 4229546,
- 4231234,
- 4219758,
- 4219970,
- 4227641,
- 4226511,
- 4227169,
- 4214991,
- 4229781,
- 4218981,
- 4215110,
- 4224826,
- 4227188,
- 4230643,
- 4218541,
- 4218615,
- 4227655,
- 4220995,
- 4231171,
- 4222270,
- 4219794,
- 4230953,
- 4223981,
- 4233234,
- 4219058,
- 6316617,
- 4220304,
- 4226507,
- 4229817,
- 4230311,
- 4223542,
- 4228218,
- 4215302,
- 4216436,
- 4219300,
- 4226185,
- 4226331,
- 4232944,
- 6325565,
- 4214719,
- 4219751,
- 4224710,
- 4221021,
- 4227336,
- 4227126,
- 4227068,
- 4215823,
- 4232867,
- 4234911,
- 4234903,
- 4227183,
- 4227198,
- 4222590,
- 4214917,
- 4215187,
- 4215259,
- 2230542,
- 4215616,
- 4232921,
- 6313385,
- 4216513,
- 4216589,
- 4217003,
- 4217306,
- 4217398,
- 6314686,
- 4218190,
- 4218247,
- 4218313,
- 4218323,
- 4218669,
- 4218776,
- 4219096,
- 4219197,
- 4219390,
- 4219496,
- 4219599,
- 4220189,
- 4219919,
- 4220146,
- 4220253,
- 4220511,
- 4220841,
- 4220903,
- 4221291,
- 4221232,
- 4221351,
- 4221508,
- 4221584,
- 6319112,
- 4221971,
- 6319651,
- 4222737,
- 4222718,
- 4222782,
- 4223487,
- 4223973,
- 4224050,
- 4224095,
- 4224224,
- 4224268,
- 4224626,
- 4225322,
- 4225236,
- 4225466,
- 4225561,
- 4225685,
- 4226290,
- 4226419,
- 4226525,
- 4226613,
- 4226990,
- 4227041,
- 4227162,
- 4227167,
- 4227187,
- 4227184,
- 4227190,
- 4227411,
- 4227466,
- 4227509,
- 4227533,
- 4228082,
- 4228437,
- 4228565,
- 4228890,
- 4229174,
- 4229278,
- 4229336,
- 4229364,
- 4229419,
- 4229435,
- 4229482,
- 4229487,
- 4229661,
- 4230405,
- 4230415,
- 4235086,
- 4230801,
- 4230817,
- 4231250,
- 4231182,
- 4231472,
- 4231510,
- 4231512,
- 4231525,
- 4231539,
- 4231538,
- 4231586,
- 4231599,
- 4231594,
- 4231604,
- 4231610,
- 4232311,
- 4232856,
- 4233021,
- 6330208,
- 6330225,
- 4233228,
- 4233331,
- 4233411,
- 4233797,
- 4234061,
- 4234072,
- 4234182,
- 4234209,
- 4234225,
- 4234568,
- 4234703,
- 4235016,
- 4219505,
- 4220567,
- 4219151,
- 4229219,
- 6328405,
- 4231290,
- 4225263,
- 2133151,
- 4232936,
- 2255185,
- 10507177,
- 4224220,
- 4231243,
- 8427788,
- 2275288,
- 2134707,
- 2135473,
- 6315766,
- 4219892,
- 2124991,
- 4223321,
- 4231264,
- 6328923,
- 4220348,
- 4218752,
- 6324161,
- 4215672,
- 4233203,
- 4215574,
- 4227761,
- 4228051,
- 4230312,
- 4231246,
- 2130621,
- 6330053,
- 4233491,
- 4218619,
- 4223088,
- 6314931,
- 8413544,
- 10510696,
- 12607848,
- 4221418,
- 8415618,
- 2123630,
- 2132434,
- 4232852,
- 2118258,
- 4230980,
- 4232076,
- 4227781,
- 4217810,
- 4224176,
- 4226537,
- 2253346,
- 4231300,
- 4232594,
- 4233171,
- 4227608,
- 4215665,
- 4207618,
- 2110466,
- 6304770,
- 4218494,
- 2123235,
- 4220703,
- 4221535,
- 4230519,
- 4233442,
- 2231223,
- 4216235,
- 4228688,
- 4231174,
- 4215754,
- 4215864,
- 4218917,
- 4226330,
- 4218344,
- 4219602,
- 4230621,
- 2268491,
- 4365643,
- 2118527,
- 2121530,
- 4218960,
- 4221377,
- 4339258,
- 2275214,
- 4231415,
- 6330367,
- 6330711,
- 4220545,
- 4223883,
- 4231121,
- 2117617,
- 4225001,
- 4215159,
- 4228702,
- 4225658,
- 4231239,
- 6318811,
- 4216147,
- 4217169,
- 4218997,
- 6316391,
- 4231118,
- 6312081,
- 4222804,
- 6322804,
- 4220680,
- 4227615,
- 4215164,
- 4215352,
- 4219314,
- 2123587,
- 4227241,
- 4229913,
- 4231267,
- 2230884,
- 2132481,
- 2122294,
- 4232903,
- 4233319,
- 2118707,
- 2120219,
- 4229796,
- 4218341,
- 4219212,
- 2122373,
- 4219815,
- 4221387,
- 4222313,
- 4222511,
- 4227093,
- 4227412,
- 4227922,
- 4229915,
- 6327548,
- 2118719,
- 4231543,
- 4227440,
- 6321425,
- 4231100,
- 2275142,
- 4232086,
- 2275191,
- 4218729,
- 4219809,
- 2124658,
- 4228060,
- 6312372,
- 4215986,
- 4215370,
- 2127138,
- 2116408,
- 4217343,
- 6314495,
- 2121215,
- 4229870,
- 6327022,
- 4230343,
- 6327495,
- 4221729,
- 6318881,
- 4222667,
- 2126778,
- 2231199,
- 4219752,
- 4220316,
- 6328490,
- 2118394,
- 6320693,
- 2126389,
- 4231500,
- 4218673,
- 4214331,
- 4215767,
- 4219784,
- 2118760,
- 4226370,
- 4227026,
- 4229190,
- 4231217,
- 4214607,
- 4229203,
- 4231152,
- 4218337,
- 4231285,
- 6328437,
- 4219456,
- 4220664,
- 4217203,
- 4215517,
- 4216134,
- 4217781,
- 2120710,
- 4217871,
- 2282820,
- 2120729,
- 4222344,
- 4225117,
- 4227222,
- 2228235,
- 2120578,
- 2119630,
- 4219077,
- 6313972,
- 4233470,
- 6318349,
- 4221846,
- 4233439,
- 2136288,
- 2266751,
- 2111373,
- 4214709,
- 2111738,
- 4222328,
- 4224799,
- 4231218,
- 2117307,
- 2228642,
- 4215299,
- 4217867,
- 4229642,
- 6326794,
- 4231109,
- 2286953,
- 6328386,
- 2110751,
- 2275153,
- 4219408,
- 4224731,
- 4227158,
- 2132352,
- 4229792,
- 4229835,
- 4233052,
- 6330204,
- 2128389,
- 4227334,
- 4232891,
- 4226125,
- 6323136,
- 2132650,
- 4232938,
- 2129237,
- 4219463,
- 2125720,
- 4226977,
- 6324793,
- 4231288,
- 4231287,
- 4215373,
- 4215144,
- 4219779,
- 2122743,
- 2127398,
- 4230512,
- 4231169,
- 4231277,
- 4231200,
- 2260919,
- 4231199,
- 4230346,
- 4217866,
- 6315018,
- 4217253,
- 2243838,
- 4231168,
- 4231214,
- 4232842,
- 4234203,
- 4217127,
- 2110503,
- 4223015,
- 4231252,
- 2130219,
- 4214329,
- 4221774,
- 4223149,
- 6326933,
- 4220566,
- 4214820,
- 4226926,
- 4225993,
- 2251479,
- 4225873,
- 4231184,
- 4220913,
- 4222184,
- 4233680,
- 4218731,
- 4218805,
- 6316530,
- 4220701,
- 2125678,
- 4229823,
- 4224756,
- 4220693,
- 6317845,
- 4216988,
- 4231165,
- 4231194,
- 4216682,
- 4231651,
- 4215880,
- 4218397,
- 4225547,
- 4224644,
- 4231273,
- 4231149,
- 4222459,
- 4215118,
- 4231188,
- 4225082,
- 2119457,
- 2232893,
- 2118060,
- 4216080,
- 2129110,
- 4228580,
- 4229892,
- 6328323,
- 4231183,
- 4233776,
- 4217870,
- 4231251,
- 2118686,
- 2112392,
- 2117991,
- 4227209,
- 4214387,
- 4218829,
- 4229773,
- 2120679,
- 4226317,
- 4229511,
- 6319422,
- 4227258,
- 4215642,
- 4228484,
- 4231147,
- 4226587,
- 4227207,
- 2117175,
- 4222801,
- 4231601,
- 4214580,
- 4215332,
- 4215626,
- 4218374,
- 4224340,
- 4220521,
- 4228419,
- 4231295,
- 4218798,
- 4235067,
- 4215609,
- 2247956,
- 2121573,
- 2120172,
- 4217324,
- 4229717,
- 2121369,
- 4224453,
- 4217446,
- 4220279,
- 4222318,
- 4230304,
- 6327456,
- 4220685,
- 4229510,
- 4214297,
- 4218467,
- 4218483,
- 4218634,
- 4228369,
- 4214863,
- 4226536,
- 4231124,
- 4231245,
- 4226111,
- 4215557,
- 4218153,
- 4219569,
- 4220683,
- 4225074,
- 4226603,
- 4227294,
- 4228108,
- 4231334,
- 6328486,
- 4233469,
- 4234604,
- 4214433,
- 4218429,
- 4218840,
- 4218841,
- 4219455,
- 4220699,
- 6317851,
- 4215186,
- 4220009,
- 4227067,
- 4215265,
- 4225256,
- 4234068,
- 4234939,
- 4221401,
- 6318173,
- 2110568,
- 2138036,
- 4226669,
- 4234943,
- 6324488,
- 4220430,
- 4224735,
- 4231159,
- 4217220,
- 2118352,
- 4224754,
- 4227095,
- 4219451,
- 4226315,
- 2135528,
- 4226308,
- 4230797,
- 2275209,
- 6318202,
- 2123777,
- 4219145,
- 2132717,
- 4230968,
- 4215495,
- 4220681,
- 4223798,
- 6320950,
- 6320951,
- 2250367,
- 4231242,
- 4220636,
- 2129802,
- 4229505,
- 4233482,
- 4227020,
- 6324220,
- 2133686,
- 4228653,
- 4223879,
- 4235149,
- 6332301,
- 4220357,
- 2138052,
- 4223440,
- 6330019,
- 4234327,
- 6332063,
- 2129019,
- 2121417,
- 4219280,
- 2134051,
- 8414999,
- 2129922,
- 2254512,
- 6312138,
- 4215066,
- 6312276,
- 6312341,
- 2229800,
- 4215437,
- 4215511,
- 2228362,
- 2230660,
- 2110782,
- 4215775,
- 4220668,
- 6313267,
- 6313444,
- 2118741,
- 4216512,
- 2119993,
- 4217372,
- 4217538,
- 2120566,
- 4217795,
- 2120724,
- 2111458,
- 2120934,
- 4218452,
- 2117192,
- 4218595,
- 6316183,
- 2122452,
- 4219596,
- 4219932,
- 4219846,
- 4219944,
- 2255257,
- 2122523,
- 6317663,
- 8414815,
- 2123363,
- 4220661,
- 2241484,
- 4221085,
- 4221069,
- 2124278,
- 2124166,
- 2271718,
- 4217832,
- 4221371,
- 2124748,
- 6319889,
- 2125335,
- 4222872,
- 4222122,
- 2124970,
- 4223003,
- 4223330,
- 4223547,
- 2117164,
- 4223772,
- 4224202,
- 2127087,
- 2127221,
- 2127340,
- 2127438,
- 2113457,
- 2127722,
- 2127785,
- 4225344,
- 2138054,
- 6322515,
- 4235083,
- 4225454,
- 4231299,
- 2128723,
- 2275261,
- 4226068,
- 2114148,
- 4226128,
- 4226136,
- 4226374,
- 4226403,
- 4226594,
- 6323746,
- 2129480,
- 6323765,
- 4226627,
- 4226700,
- 2286200,
- 2229567,
- 2253418,
- 4350576,
- 4227013,
- 4227014,
- 6324201,
- 2130241,
- 2114643,
- 4227672,
- 2130553,
- 6324857,
- 4227705,
- 4227811,
- 2118009,
- 2130778,
- 4228128,
- 4228029,
- 4228340,
- 2114853,
- 4228487,
- 2131444,
- 2228400,
- 4228919,
- 4228923,
- 4229125,
- 4229053,
- 2131581,
- 6326326,
- 2110510,
- 2132166,
- 4229565,
- 4229851,
- 4229950,
- 4229978,
- 4230515,
- 4230553,
- 2115558,
- 4230708,
- 2287338,
- 4231151,
- 4231303,
- 4231162,
- 4231198,
- 4231221,
- 4231248,
- 2133960,
- 4231297,
- 4231306,
- 6328458,
- 8425610,
- 10522762,
- 12619914,
- 14717066,
- 6328457,
- 8425609,
- 10522761,
- 12619913,
- 14717065,
- 16814217,
- 18911369,
- 21008521,
- 23105673,
- 25202825,
- 27299977,
- 29397129,
- 2263431,
- 4232157,
- 4232636,
- 2264599,
- 4232882,
- 4233049,
- 2136121,
- 4233451,
- 4233475,
- 4233481,
- 4233541,
- 6330693,
- 4233547,
- 2136584,
- 4233823,
- 4233829,
- 4233967,
- 4234008,
- 2137055,
- 4234505,
- 4234504,
- 4234917,
- 4234956,
- 6332168,
- 4235082,
- 2275354,
- 4235111,
- 4367898,
- 4342510,
- 2245358,
- 4229404,
- 4221128,
- 4220667,
- 4218693,
- 4215552,
- 2118537,
- 4217171,
- 2161169,
- 2123858,
- 4221555,
- 2243774,
- 2229777,
- 4229650,
- 2117124,
- 2117125,
- 2117151,
- 2117163,
- 2117167,
- 2117168,
- 2117184,
- 2117185,
- 2117188,
- 2117210,
- 2117247,
- 2117261,
- 2117270,
- 2117305,
- 2117328,
- 2117344,
- 2117373,
- 2117375,
- 2117387,
- 2117397,
- 2117472,
- 2117435,
- 2117449,
- 2117460,
- 2117498,
- 2117501,
- 2117502,
- 2117527,
- 2117566,
- 2117583,
- 2117629,
- 2117632,
- 2117633,
- 2117648,
- 2117659,
- 2117671,
- 2117678,
- 2117719,
- 2117734,
- 2117738,
- 2117691,
- 2117775,
- 2117782,
- 2117788,
- 2117836,
- 2117862,
- 2117865,
- 2117871,
- 2117896,
- 2117899,
- 2117904,
- 2117915,
- 2117918,
- 2117983,
- 2118049,
- 2118076,
- 6312414,
- 2118126,
- 2118132,
- 2118145,
- 2118146,
- 2118163,
- 2118217,
- 2118241,
- 2118246,
- 2118291,
- 2118344,
- 2118384,
- 2118410,
- 2118411,
- 2118462,
- 2118476,
- 2118475,
- 2118497,
- 2118508,
- 2118571,
- 2118618,
- 2118630,
- 2118645,
- 2118695,
- 2118733,
- 2118758,
- 2118763,
- 2118772,
- 2118797,
- 2118806,
- 2118817,
- 2118829,
- 2118841,
- 2118847,
- 2118854,
- 2118861,
- 2118926,
- 2118955,
- 2118965,
- 2118986,
- 2119008,
- 4216161,
- 2119048,
- 2119054,
- 2119176,
- 2119182,
- 2119183,
- 2119223,
- 2119231,
- 2119241,
- 2119243,
- 2119247,
- 2119270,
- 2119273,
- 2119279,
- 2119281,
- 2119282,
- 2119317,
- 2119322,
- 2119340,
- 2119341,
- 2119345,
- 2119369,
- 2119389,
- 2119396,
- 2119434,
- 2119445,
- 2119459,
- 2119471,
- 2119475,
- 2119476,
- 2119500,
- 2119536,
- 2119564,
- 2119580,
- 2119608,
- 2119654,
- 2119661,
- 2119669,
- 2119670,
- 2119679,
- 2119689,
- 2119712,
- 2119730,
- 2119804,
- 2119808,
- 2119849,
- 2119886,
- 2119888,
- 2119892,
- 2119898,
- 2119913,
- 2119948,
- 2119972,
- 2119983,
- 2120033,
- 2120045,
- 2120138,
- 2120146,
- 2120157,
- 2120163,
- 2120164,
- 2120196,
- 2120204,
- 2120227,
- 2120263,
- 2120277,
- 2120291,
- 2120301,
- 2120318,
- 2120350,
- 2120359,
- 2120364,
- 2120371,
- 2120416,
- 2120448,
- 2120473,
- 2120485,
- 2120493,
- 2120513,
- 2120572,
- 2120574,
- 2120575,
- 2120586,
- 2120739,
- 2120747,
- 2120752,
- 2120803,
- 2120809,
- 2120828,
- 2120907,
- 2120914,
- 2120948,
- 2120996,
- 2120998,
- 2121027,
- 2121030,
- 2121034,
- 2121106,
- 2121108,
- 2121113,
- 2121120,
- 2121176,
- 2121184,
- 2121208,
- 2121216,
- 2121234,
- 2121236,
- 2121237,
- 2121240,
- 2121262,
- 2121304,
- 2121323,
- 2121324,
- 2121384,
- 2121386,
- 2121406,
- 2121407,
- 4218571,
- 2121426,
- 2121479,
- 2121486,
- 2121500,
- 2121501,
- 2121506,
- 2121512,
- 2121526,
- 2121531,
- 2121536,
- 2121552,
- 2121560,
- 2121572,
- 2121609,
- 2121628,
- 2121639,
- 2121636,
- 2121647,
- 2121656,
- 2121668,
- 2121673,
- 2121697,
- 2121705,
- 2121709,
- 2121724,
- 2121751,
- 2121754,
- 2121779,
- 2121825,
- 2121855,
- 2121886,
- 2121892,
- 2121904,
- 2121931,
- 2121947,
- 2121976,
- 2122002,
- 2122003,
- 2122004,
- 2122012,
- 2122108,
- 2122125,
- 2122143,
- 2122152,
- 2122178,
- 2122207,
- 2122261,
- 2122281,
- 2122307,
- 2122310,
- 2122316,
- 2122321,
- 2122326,
- 2122436,
- 2122492,
- 2122506,
- 2122509,
- 2122520,
- 2122553,
- 2122562,
- 2122563,
- 2122597,
- 2122612,
- 2122621,
- 2122628,
- 2122631,
- 2122640,
- 2122654,
- 2122705,
- 2122716,
- 2122761,
- 2122768,
- 2122786,
- 2122836,
- 2122843,
- 2122861,
- 2122875,
- 2122942,
- 2122943,
- 2122981,
- 2122999,
- 2123003,
- 2123012,
- 2123030,
- 2123033,
- 2123079,
- 2123111,
- 2123137,
- 2123141,
- 2123202,
- 2123248,
- 2123250,
- 2123308,
- 2123340,
- 2123355,
- 2123356,
- 2123361,
- 2123371,
- 4220535,
- 2123428,
- 2123464,
- 2123500,
- 2123525,
- 2123539,
- 2123571,
- 2123592,
- 2123596,
- 2123638,
- 2123643,
- 2123696,
- 2123698,
- 2123769,
- 2123735,
- 2123737,
- 2123760,
- 2123820,
- 2123824,
- 2123825,
- 2123867,
- 2123890,
- 2123893,
- 2123898,
- 2123908,
- 2123941,
- 2123954,
- 2123984,
- 2123990,
- 2124008,
- 2124013,
- 2124016,
- 2124017,
- 2124028,
- 2124049,
- 2124051,
- 2124085,
- 2124091,
- 2124119,
- 2124131,
- 2124146,
- 2124159,
- 2124160,
- 2124198,
- 2124205,
- 2124215,
- 2124246,
- 2124247,
- 2124289,
- 2124303,
- 2124309,
- 2124328,
- 2124340,
- 2124350,
- 2124357,
- 2124368,
- 2124369,
- 2124374,
- 2124379,
- 2124419,
- 2124425,
- 2124433,
- 2124445,
- 2124446,
- 2124447,
- 2124508,
- 2124519,
- 2124524,
- 2124574,
- 2124580,
- 2124597,
- 2124614,
- 2124630,
- 2124640,
- 2124674,
- 2124734,
- 2124769,
- 2124785,
- 2124816,
- 2124851,
- 2124853,
- 4222010,
- 2124889,
- 2124918,
- 2124923,
- 2124933,
- 2124949,
- 2124956,
- 2125008,
- 2125012,
- 2125014,
- 2125024,
- 2125035,
- 2125036,
- 2125038,
- 2125066,
- 2125070,
- 2125073,
- 2125102,
- 2125143,
- 2125150,
- 2125157,
- 2125186,
- 2125247,
- 2125252,
- 2125258,
- 2125270,
- 2125289,
- 2125346,
- 2125393,
- 2125511,
- 2125514,
- 2125518,
- 2125565,
- 2125594,
- 2125610,
- 2125615,
- 2125619,
- 2125658,
- 2125662,
- 2125666,
- 2125693,
- 2125707,
- 2125709,
- 2125714,
- 2125716,
- 2125722,
- 2125735,
- 2125736,
- 2125750,
- 2125786,
- 2125790,
- 4222969,
- 2125881,
- 2125884,
- 4223050,
- 2125908,
- 2125917,
- 2125918,
- 2125924,
- 2125932,
- 2125950,
- 2125953,
- 2125973,
- 2126007,
- 2126035,
- 2126036,
- 2126040,
- 2126044,
- 2126087,
- 2126112,
- 2126129,
- 2126154,
- 2126162,
- 2126176,
- 2126201,
- 2126226,
- 4223411,
- 2126283,
- 2126291,
- 2126294,
- 2126336,
- 2126365,
- 2126379,
- 2126392,
- 2126401,
- 2126419,
- 2126421,
- 2126422,
- 2126428,
- 2126477,
- 2126509,
- 2126516,
- 2126535,
- 2126587,
- 2126596,
- 2126597,
- 2126632,
- 2126641,
- 2126659,
- 2126700,
- 2126716,
- 2126723,
- 2126725,
- 2126726,
- 2126741,
- 2126750,
- 2126751,
- 2126752,
- 2126758,
- 2126763,
- 2126773,
- 2126775,
- 2126780,
- 2126799,
- 2126809,
- 2126825,
- 2126836,
- 2126845,
- 2126852,
- 2126858,
- 2126874,
- 2126875,
- 2126884,
- 2126888,
- 2126892,
- 2126895,
- 2126896,
- 2126897,
- 2126905,
- 2126916,
- 2126919,
- 2126923,
- 2126925,
- 2126929,
- 2126935,
- 2126950,
- 2126955,
- 2126961,
- 2126976,
- 2126981,
- 2126982,
- 2126983,
- 2126992,
- 2127000,
- 2127004,
- 2127008,
- 2127011,
- 2127016,
- 2127019,
- 2127029,
- 2127039,
- 2127048,
- 2127066,
- 2127070,
- 2127182,
- 2127225,
- 2127233,
- 2127248,
- 2127250,
- 2127251,
- 2127284,
- 2127332,
- 2127353,
- 2127360,
- 2127370,
- 2127381,
- 2127382,
- 2127385,
- 2127390,
- 2127405,
- 2127413,
- 2127427,
- 2127435,
- 2127461,
- 2127469,
- 2127471,
- 2127473,
- 2127476,
- 2127524,
- 2127525,
- 2127557,
- 2127564,
- 2127596,
- 2127612,
- 2127668,
- 2127670,
- 2127708,
- 2127711,
- 2127712,
- 2127730,
- 2127741,
- 2127765,
- 2127786,
- 2127846,
- 2127856,
- 2127860,
- 2127878,
- 2127906,
- 2127917,
- 2127918,
- 2127920,
- 2127925,
- 2127976,
- 2128030,
- 2128072,
- 2128076,
- 2128078,
- 2128100,
- 2128096,
- 2128097,
- 2128114,
- 2128119,
- 2128123,
- 2128177,
- 4225332,
- 2128187,
- 2128189,
- 2128197,
- 2128219,
- 2128220,
- 2128267,
- 2128278,
- 2128280,
- 2128312,
- 2128315,
- 2128330,
- 2128346,
- 2128387,
- 2128393,
- 2128401,
- 2128414,
- 2128429,
- 2128441,
- 2128453,
- 2128460,
- 2128477,
- 4225632,
- 2128493,
- 2128504,
- 2128544,
- 2128547,
- 2128563,
- 2128571,
- 2128572,
- 2128582,
- 2128647,
- 2128660,
- 2128679,
- 2128689,
- 2128711,
- 2128718,
- 2128736,
- 2128745,
- 2128749,
- 2128754,
- 2128785,
- 2128815,
- 2128855,
- 2128857,
- 2128907,
- 2128911,
- 2128928,
- 2128934,
- 2128945,
- 2128950,
- 2128977,
- 2128985,
- 2128999,
- 2129006,
- 2129008,
- 2129084,
- 2129087,
- 2129096,
- 2129097,
- 2129111,
- 2129113,
- 2129117,
- 2129131,
- 2129159,
- 2129160,
- 2129161,
- 2129171,
- 2129181,
- 2129187,
- 2129217,
- 2129235,
- 2129241,
- 2129245,
- 2129274,
- 2129286,
- 2129291,
- 2129292,
- 2129356,
- 2129387,
- 2129393,
- 2129401,
- 2129416,
- 2129425,
- 2129429,
- 2129440,
- 2129479,
- 2129506,
- 2129518,
- 2129523,
- 2129549,
- 2129553,
- 2129560,
- 2129732,
- 2129743,
- 2129746,
- 2129747,
- 2129761,
- 2129809,
- 2129855,
- 2129870,
- 2129887,
- 2129893,
- 2129900,
- 2129902,
- 2129903,
- 2129914,
- 2129934,
- 2129937,
- 2129940,
- 2129956,
- 2129958,
- 2129978,
- 2129980,
- 2130016,
- 2130033,
- 2130037,
- 2130078,
- 2130086,
- 2130091,
- 2130135,
- 2130136,
- 2130198,
- 2130200,
- 2130234,
- 2130250,
- 2130252,
- 2130305,
- 2130308,
- 2130356,
- 2130383,
- 2130425,
- 2130435,
- 2130465,
- 2130482,
- 2130484,
- 2130502,
- 2130507,
- 2130511,
- 2130574,
- 2130606,
- 2130615,
- 2130622,
- 2130630,
- 2130686,
- 2130755,
- 2130769,
- 2130773,
- 2130822,
- 2130829,
- 2130834,
- 2130840,
- 2130857,
- 2130879,
- 2130880,
- 2130922,
- 2130959,
- 2130961,
- 2131018,
- 2131062,
- 2131112,
- 2131119,
- 2131136,
- 2131138,
- 2131184,
- 2131197,
- 2131212,
- 2131252,
- 2131294,
- 2131343,
- 2131383,
- 2131406,
- 2131373,
- 2131474,
- 2131497,
- 2131538,
- 2131555,
- 2131564,
- 2131567,
- 2131578,
- 2131597,
- 2131601,
- 2131608,
- 2131623,
- 2131624,
- 2131706,
- 2131709,
- 2131723,
- 2131731,
- 2131737,
- 2131742,
- 2131752,
- 2131774,
- 2131825,
- 2131848,
- 2131865,
- 2131884,
- 2131885,
- 2131893,
- 2131926,
- 2131947,
- 2131949,
- 2131969,
- 4229123,
- 2131974,
- 2131979,
- 2131988,
- 2131996,
- 2132054,
- 2132063,
- 2132068,
- 2132120,
- 2132138,
- 2132157,
- 2132158,
- 2132170,
- 2132178,
- 2132187,
- 2132208,
- 2132209,
- 2132230,
- 2132248,
- 2132249,
- 2132250,
- 2132263,
- 2132272,
- 2132286,
- 2132347,
- 2132436,
- 2132438,
- 2132453,
- 2132465,
- 2132487,
- 2132495,
- 2132501,
- 2132514,
- 2132558,
- 2132607,
- 2132724,
- 2132767,
- 2132791,
- 2132803,
- 2132804,
- 2132820,
- 2132892,
- 2132894,
- 2133063,
- 2133076,
- 2133107,
- 2133156,
- 2133209,
- 2133217,
- 2133240,
- 2133246,
- 2133275,
- 2133353,
- 2133356,
- 2133380,
- 2133389,
- 2133397,
- 2133414,
- 2133446,
- 2133454,
- 2133476,
- 2133484,
- 2133536,
- 2133579,
- 2133612,
- 2133616,
- 2133626,
- 2133650,
- 2133678,
- 2133683,
- 2133713,
- 4230868,
- 2133753,
- 2133783,
- 2133814,
- 2133926,
- 2133941,
- 2133942,
- 4231110,
- 2133984,
- 2133988,
- 2134006,
- 2134018,
- 2134060,
- 2134084,
- 2134152,
- 2134165,
- 2134169,
- 2134171,
- 2134178,
- 2134196,
- 2134231,
- 2134237,
- 2134260,
- 2134295,
- 2134300,
- 2134321,
- 2134330,
- 2134333,
- 2134344,
- 2134363,
- 2134369,
- 2134372,
- 2134414,
- 2134430,
- 2134440,
- 2134445,
- 2134446,
- 2134450,
- 2134460,
- 2134512,
- 2134519,
- 2134523,
- 2134535,
- 2134568,
- 2134579,
- 2134584,
- 2134595,
- 2134599,
- 2134607,
- 2134624,
- 2134722,
- 2134731,
- 2134732,
- 2134751,
- 2134797,
- 2134805,
- 2134815,
- 2134823,
- 2134855,
- 2134866,
- 4232037,
- 2134890,
- 2134893,
- 2134939,
- 2134970,
- 2134953,
- 2134977,
- 2134986,
- 2135010,
- 2135034,
- 2135037,
- 2135055,
- 2135092,
- 2135103,
- 2135125,
- 2135147,
- 2135154,
- 2135416,
- 2135462,
- 2135465,
- 4232619,
- 2135476,
- 2135485,
- 2135514,
- 2135581,
- 2135617,
- 2135640,
- 2135684,
- 2135716,
- 2135721,
- 2135762,
- 2121138,
- 2135774,
- 2135785,
- 2135793,
- 2135810,
- 2135817,
- 2135898,
- 2135907,
- 2135918,
- 2135923,
- 2135962,
- 2135970,
- 2135989,
- 2135990,
- 2136025,
- 2136030,
- 2136052,
- 2136074,
- 2136078,
- 2136094,
- 2136099,
- 2136107,
- 2136126,
- 2136146,
- 2136147,
- 2136153,
- 2136172,
- 2136248,
- 2136250,
- 2136255,
- 2136264,
- 2136293,
- 2136370,
- 2136371,
- 2136384,
- 2136397,
- 2136412,
- 2136415,
- 2136497,
- 2136505,
- 2136506,
- 2136521,
- 2136578,
- 2136598,
- 2136612,
- 2136615,
- 2136621,
- 2136622,
- 2136630,
- 2136632,
- 2136650,
- 2136662,
- 2136757,
- 2136758,
- 2136825,
- 2136835,
- 2136864,
- 2136883,
- 2136884,
- 2136947,
- 2136953,
- 2136999,
- 2137025,
- 2137031,
- 2137047,
- 2137063,
- 2137067,
- 2137079,
- 2137082,
- 2137085,
- 2137099,
- 2137127,
- 2137130,
- 2137142,
- 2137153,
- 2137171,
- 2137187,
- 2137200,
- 2137207,
- 2137346,
- 2137410,
- 2137415,
- 2137443,
- 2137449,
- 2137468,
- 2137470,
- 2137485,
- 2137521,
- 2137539,
- 2137543,
- 2137558,
- 2137567,
- 2137579,
- 2137588,
- 2137621,
- 2137629,
- 2137764,
- 2137768,
- 2137772,
- 2137831,
- 2137838,
- 2137872,
- 2137874,
- 2137879,
- 2137881,
- 2137903,
- 2137911,
- 2137913,
- 2137921,
- 2137925,
- 2137943,
- 2137960,
- 2137969,
- 2137973,
- 2138000,
- 2138004,
- 2138018,
- 4214320,
- 2110469,
- 4214624,
- 2119200,
- 2121419,
- 4218704,
- 4219044,
- 2242106,
- 4221732,
- 2125817,
- 2125542,
- 2126259,
- 4223531,
- 4225734,
- 4226913,
- 4227185,
- 4227230,
- 4231094,
- 4231676,
- 4218290,
- 4233182,
- 2117587,
- 2117849,
- 2117872,
- 2118083,
- 2119286,
- 2124372,
- 2125057,
- 2125264,
- 2125378,
- 2125529,
- 2126820,
- 2126881,
- 2127212,
- 2127953,
- 2131957,
- 2241534,
- 2126760,
- 2112243,
- 2110683,
- 2114572,
- 2113162,
- 4339140,
- 2138045,
- 2116584,
- 2138044,
- 2113242,
- 2112290,
- 2138046,
- 2114938,
- 2113683,
- 4365885,
- 2115173,
- 2113795,
- 2114195,
- 2115246,
- 2110600,
- 2237961,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 2117448,
- 2117471,
- 2117482,
- 2117484,
- 2117646,
- 2117656,
- 2117697,
- 2117874,
- 2117840,
- 2117894,
- 2117891,
- 2117941,
- 2117973,
- 2117975,
- 2110645,
- 2118090,
- 2118114,
- 2118231,
- 2118348,
- 2118358,
- 2118395,
- 2118428,
- 2118499,
- 2118557,
- 2118674,
- 2118783,
- 2118792,
- 2118992,
- 2119041,
- 2119085,
- 2119118,
- 2119227,
- 2119326,
- 2119337,
- 2119347,
- 2119543,
- 2119548,
- 2233115,
- 2119631,
- 2119652,
- 2119780,
- 2119817,
- 2233454,
- 2119890,
- 2119904,
- 2131521,
- 2120075,
- 2120082,
- 2120131,
- 2120211,
- 2120295,
- 2120311,
- 2120324,
- 2120388,
- 2234557,
- 2120573,
- 2120595,
- 2120722,
- 2120814,
- 2234036,
- 2120826,
- 2120847,
- 2120863,
- 2120867,
- 2120874,
- 2120912,
- 2235956,
- 2120973,
- 2121031,
- 2121089,
- 2121124,
- 2121127,
- 2121163,
- 2121310,
- 2121465,
- 2121472,
- 2121474,
- 2121507,
- 2121533,
- 2121556,
- 2121597,
- 2121741,
- 2121748,
- 2121752,
- 2121781,
- 2121799,
- 2121885,
- 2121940,
- 2121949,
- 2122027,
- 2122172,
- 2122169,
- 2122274,
- 2122330,
- 2122351,
- 2122454,
- 2122620,
- 2122725,
- 2122873,
- 2122948,
- 2122960,
- 2123049,
- 2123165,
- 2123322,
- 2123298,
- 2123307,
- 2123312,
- 2123315,
- 2123336,
- 2240964,
- 2123383,
- 2123384,
- 2123405,
- 2123451,
- 2123483,
- 2123496,
- 2123591,
- 2123649,
- 2123667,
- 2123672,
- 2123675,
- 2123772,
- 2123805,
- 2123939,
- 2124042,
- 2124105,
- 2241988,
- 2124098,
- 2124132,
- 2124197,
- 2124239,
- 2112438,
- 2112451,
- 2124265,
- 2124277,
- 2242367,
- 2124347,
- 2242403,
- 2124436,
- 2124453,
- 2112527,
- 2124571,
- 2124588,
- 2124647,
- 2124713,
- 2124717,
- 2124759,
- 2124799,
- 2124805,
- 2124916,
- 2124952,
- 2125051,
- 2124998,
- 2125105,
- 2125113,
- 2125119,
- 2125144,
- 2125204,
- 2125226,
- 2125275,
- 2125277,
- 2125380,
- 2125406,
- 2125489,
- 2125505,
- 2125584,
- 2125657,
- 2125665,
- 2125694,
- 2125708,
- 2125728,
- 2125756,
- 2125767,
- 2125770,
- 2125808,
- 2125902,
- 2125941,
- 2125988,
- 2126052,
- 2126123,
- 2126110,
- 2126126,
- 2126161,
- 2126184,
- 2126213,
- 2126215,
- 2126266,
- 2126276,
- 2126357,
- 2113087,
- 2126491,
- 2246641,
- 2126631,
- 2126672,
- 2126694,
- 2126754,
- 2126891,
- 2126918,
- 2126946,
- 2126957,
- 2127014,
- 2127017,
- 2127049,
- 2127103,
- 2127127,
- 2113394,
- 2127310,
- 2127362,
- 2127368,
- 2127460,
- 2127489,
- 2127517,
- 2127530,
- 2127542,
- 2127566,
- 2127572,
- 2127590,
- 2127601,
- 2127626,
- 2127641,
- 2127693,
- 2127694,
- 2127738,
- 2127744,
- 2127764,
- 2127840,
- 2249870,
- 2127939,
- 2127982,
- 2128048,
- 2249998,
- 2128045,
- 2128128,
- 2128156,
- 2128174,
- 2128180,
- 2128198,
- 2128249,
- 2128328,
- 2250609,
- 2128340,
- 2128350,
- 2128363,
- 2128365,
- 2128517,
- 2251204,
- 2128590,
- 2128637,
- 2128658,
- 2128685,
- 2128699,
- 2128751,
- 2128897,
- 2128947,
- 2252193,
- 2129005,
- 2129017,
- 2129039,
- 2129044,
- 2129056,
- 2129109,
- 2129201,
- 2129244,
- 2129283,
- 2129318,
- 2129346,
- 2129448,
- 2129815,
- 2129883,
- 2129973,
- 2129975,
- 2130122,
- 2130144,
- 2130163,
- 2130272,
- 2130279,
- 2130280,
- 2130285,
- 2130363,
- 2130378,
- 2130391,
- 2114651,
- 2130528,
- 2130548,
- 2255615,
- 2130593,
- 2130595,
- 2130596,
- 2130601,
- 2130623,
- 2130645,
- 2130685,
- 2130688,
- 2130722,
- 2130733,
- 2130746,
- 2130759,
- 2130813,
- 2130855,
- 2130895,
- 2130897,
- 2130913,
- 2130945,
- 2130950,
- 2131039,
- 2131056,
- 2131059,
- 2131077,
- 2131102,
- 2131130,
- 2256448,
- 2131250,
- 2131230,
- 2131247,
- 2131300,
- 2131322,
- 2131340,
- 2131362,
- 2131403,
- 2131437,
- 2131455,
- 2131460,
- 2131461,
- 2131472,
- 2257140,
- 2131480,
- 2131512,
- 2131543,
- 2131554,
- 2114973,
- 2131573,
- 2131640,
- 2131708,
- 2131847,
- 2115050,
- 2131978,
- 2131984,
- 2132174,
- 2258564,
- 2132274,
- 2132281,
- 2132288,
- 2132372,
- 2132470,
- 2132551,
- 2132573,
- 2132577,
- 2132597,
- 2132688,
- 2132806,
- 2132825,
- 2132841,
- 2132893,
- 2133065,
- 2133096,
- 2133423,
- 2133457,
- 2133463,
- 2133539,
- 2133565,
- 2133627,
- 2261623,
- 2115652,
- 2133754,
- 2133790,
- 2133805,
- 2133844,
- 2261965,
- 2133992,
- 2133998,
- 2134024,
- 2134061,
- 2134167,
- 2134195,
- 2134206,
- 2134212,
- 2134213,
- 2134215,
- 2134255,
- 2134292,
- 2134294,
- 2134306,
- 2134307,
- 2134319,
- 2134324,
- 2134403,
- 2134513,
- 2134857,
- 2134884,
- 2134885,
- 2134947,
- 2135007,
- 2135044,
- 2135091,
- 2135114,
- 2135139,
- 2135153,
- 2135438,
- 2135455,
- 2135468,
- 2135478,
- 2135499,
- 2135504,
- 2135507,
- 2116016,
- 2135518,
- 2135717,
- 2135791,
- 2135886,
- 2135957,
- 2135982,
- 2135994,
- 2136001,
- 2136009,
- 2136027,
- 2136150,
- 2136295,
- 2136408,
- 2136579,
- 2136769,
- 2136771,
- 2136782,
- 2136790,
- 2136834,
- 2136840,
- 2116631,
- 2136877,
- 2136926,
- 2136934,
- 2136964,
- 2136970,
- 2136990,
- 2137038,
- 2137061,
- 2137080,
- 2137123,
- 2137167,
- 2137168,
- 2137189,
- 2137373,
- 2137374,
- 2137411,
- 2137426,
- 2137482,
- 2137494,
- 2137536,
- 2137516,
- 2137532,
- 2269584,
- 2137575,
- 2137607,
- 2137758,
- 2137775,
- 2138007,
- 2228361,
- 2117122,
- 2117135,
- 2117138,
- 2117161,
- 2117166,
- 2117191,
- 2228386,
- 2117201,
- 2110470,
- 2228388,
- 2117225,
- 2117277,
- 2110508,
- 2117308,
- 2117315,
- 2117320,
- 2117355,
- 2117338,
- 2117361,
- 2117365,
- 2117398,
- 2117476,
- 2117431,
- 2117438,
- 2117464,
- 2228755,
- 2117495,
- 2117496,
- 2117506,
- 2117509,
- 2117606,
- 2117554,
- 2117573,
- 2117579,
- 2117586,
- 2110570,
- 2117618,
- 2117651,
- 2117660,
- 2117710,
- 2117715,
- 2117731,
- 2117795,
- 2117768,
- 2117778,
- 2117779,
- 2117781,
- 2117802,
- 2229035,
- 2117809,
- 2117818,
- 2117819,
- 2117828,
- 2117831,
- 2117875,
- 2229121,
- 2117838,
- 2229105,
- 2117844,
- 2117857,
- 2110610,
- 2229241,
- 2117911,
- 2229322,
- 2117984,
- 2229513,
- 2118003,
- 2118019,
- 2118027,
- 2110652,
- 2118040,
- 2118051,
- 2118061,
- 2110663,
- 2229718,
- 2118131,
- 2118162,
- 2118166,
- 2230095,
- 2118229,
- 2118236,
- 2118252,
- 2118263,
- 2118276,
- 2118274,
- 2230279,
- 2118296,
- 2230330,
- 2118308,
- 2118330,
- 2118331,
- 2118346,
- 2118353,
- 2230457,
- 2118391,
- 2118453,
- 2118466,
- 2230652,
- 2230685,
- 2118503,
- 2118522,
- 2118564,
- 2118580,
- 2230995,
- 2118583,
- 2118592,
- 2231069,
- 2110813,
- 2110814,
- 2118613,
- 2110819,
- 2118644,
- 2118692,
- 2118696,
- 2110830,
- 2118723,
- 2118754,
- 2118764,
- 2118805,
- 2118816,
- 2118822,
- 2118830,
- 2118839,
- 2118842,
- 2118851,
- 2231621,
- 2118892,
- 2118895,
- 2118897,
- 2118899,
- 2118912,
- 2118913,
- 2118921,
- 2118972,
- 2118977,
- 2110886,
- 2118983,
- 2110888,
- 2119012,
- 2231777,
- 2119037,
- 2119042,
- 2119057,
- 2110917,
- 2119122,
- 2231957,
- 2231917,
- 2119103,
- 2119113,
- 2119116,
- 2119121,
- 2119133,
- 2110938,
- 2119138,
- 2231908,
- 2119145,
- 2119208,
- 2232159,
- 2119175,
- 2119184,
- 2119216,
- 2110964,
- 2119229,
- 2119232,
- 2119239,
- 2119262,
- 2119264,
- 2119277,
- 2110981,
- 2119304,
- 2119308,
- 2119325,
- 2119336,
- 2119346,
- 2119365,
- 2119373,
- 2119391,
- 2119400,
- 2119414,
- 2119415,
- 2232833,
- 2232917,
- 2119465,
- 2232955,
- 2119493,
- 2119494,
- 2119501,
- 2232948,
- 2119528,
- 2119535,
- 2119539,
- 2119540,
- 2119541,
- 2119547,
- 2233060,
- 2233047,
- 2119578,
- 2119581,
- 2119582,
- 2119592,
- 2119639,
- 2233085,
- 2119628,
- 2233142,
- 2233156,
- 2119646,
- 2119664,
- 2111050,
- 2119672,
- 2119675,
- 2119677,
- 2119684,
- 2119710,
- 2119719,
- 2119737,
- 2233284,
- 2119753,
- 2119756,
- 2119783,
- 2119818,
- 2119819,
- 2119821,
- 2119823,
- 2119824,
- 2119828,
- 2119837,
- 2119850,
- 2119857,
- 2233453,
- 2119875,
- 2119885,
- 2119906,
- 2119923,
- 2119924,
- 2119941,
- 2119942,
- 2119949,
- 2119956,
- 2233815,
- 2111121,
- 2119997,
- 2111129,
- 2120006,
- 2111126,
- 2255913,
- 2120031,
- 2233927,
- 2120053,
- 2120054,
- 2120060,
- 2120095,
- 2120110,
- 2120124,
- 2120136,
- 2120141,
- 2120158,
- 2120167,
- 2120174,
- 2234118,
- 2234178,
- 2111183,
- 2120205,
- 2120215,
- 2120231,
- 2120237,
- 2120293,
- 2120314,
- 2120331,
- 2120348,
- 2120351,
- 2120352,
- 2120354,
- 2120369,
- 2120373,
- 2120378,
- 2120383,
- 2120410,
- 2120412,
- 2120421,
- 2120432,
- 2120430,
- 2120437,
- 2120456,
- 2120471,
- 2120500,
- 2120524,
- 2120530,
- 2120552,
- 2120559,
- 2120577,
- 2120580,
- 2234819,
- 2120598,
- 2120620,
- 2111329,
- 2111330,
- 2120654,
- 2120662,
- 2111340,
- 2111339,
- 2120689,
- 2120701,
- 2111349,
- 2120707,
- 2120745,
- 2235478,
- 2120799,
- 2120807,
- 2120808,
- 2120816,
- 2235693,
- 2235717,
- 2235768,
- 2235746,
- 2120840,
- 2120842,
- 2111425,
- 2235809,
- 2235804,
- 2120864,
- 2120866,
- 2120871,
- 2235794,
- 2120877,
- 2120885,
- 2235831,
- 2120905,
- 2235872,
- 2235955,
- 2120966,
- 2120976,
- 2121003,
- 2120989,
- 2120992,
- 2121009,
- 2121017,
- 2111464,
- 2121057,
- 2121066,
- 2111476,
- 2121072,
- 2236190,
- 2111485,
- 2121096,
- 2111488,
- 2121111,
- 2121136,
- 2121140,
- 2236278,
- 2121169,
- 2121175,
- 2236410,
- 2121188,
- 2121193,
- 2111535,
- 2111542,
- 2111552,
- 2121247,
- 2121278,
- 2121289,
- 2111580,
- 2121302,
- 2111585,
- 2121325,
- 2121326,
- 2236795,
- 2121381,
- 2121388,
- 2121401,
- 2121414,
- 2121433,
- 2237214,
- 2121469,
- 2121480,
- 2237357,
- 2121502,
- 2121543,
- 2121571,
- 2121586,
- 2121598,
- 2121615,
- 2121634,
- 2121671,
- 2121675,
- 2121682,
- 2121683,
- 2121684,
- 2121698,
- 2121710,
- 2121711,
- 2121715,
- 2111767,
- 2121762,
- 2121764,
- 2111770,
- 2121804,
- 2121877,
- 2121896,
- 2238195,
- 2121905,
- 2121918,
- 2121928,
- 2121945,
- 2121966,
- 2121973,
- 2122000,
- 2122009,
- 2122014,
- 2122042,
- 2111855,
- 2122049,
- 2122054,
- 2122080,
- 2238555,
- 2122130,
- 2122131,
- 2122135,
- 2122149,
- 2122157,
- 2238635,
- 2122197,
- 2122205,
- 2122229,
- 2238863,
- 2122275,
- 2122322,
- 2122337,
- 2122340,
- 2122363,
- 2122349,
- 2122355,
- 2122393,
- 2122453,
- 2239160,
- 2122493,
- 2122499,
- 2122512,
- 2239311,
- 2239312,
- 2122546,
- 2122549,
- 2122555,
- 2122556,
- 2122561,
- 2122564,
- 2122574,
- 2239302,
- 2122585,
- 2239517,
- 2239398,
- 2122604,
- 2122649,
- 2239524,
- 2122644,
- 2122685,
- 2122708,
- 2122709,
- 2122720,
- 2122731,
- 2122732,
- 2122738,
- 2122782,
- 2122789,
- 2122793,
- 2122799,
- 2122842,
- 2122845,
- 2122867,
- 2122877,
- 2122887,
- 2122897,
- 2122911,
- 2122955,
- 2122956,
- 2122965,
- 2122967,
- 2239969,
- 2122980,
- 2123007,
- 2112110,
- 2123023,
- 2123028,
- 2112115,
- 2123038,
- 2123058,
- 2123076,
- 2123092,
- 2123115,
- 2123130,
- 2123140,
- 2123146,
- 2123186,
- 2123189,
- 2123192,
- 2123199,
- 2123209,
- 2123220,
- 2112214,
- 2123257,
- 2123260,
- 2123268,
- 2123272,
- 2123297,
- 2123306,
- 2123333,
- 2123345,
- 2123342,
- 2112234,
- 2240963,
- 2241013,
- 2240950,
- 2123370,
- 2123372,
- 2123373,
- 2123387,
- 2123392,
- 2123408,
- 2123410,
- 2112270,
- 2123437,
- 2123441,
- 2123445,
- 2112282,
- 2112284,
- 2112215,
- 2123521,
- 2123538,
- 2241394,
- 2123545,
- 2241491,
- 2241490,
- 2123597,
- 2123604,
- 2123613,
- 2241488,
- 2241508,
- 2241493,
- 2123636,
- 2241498,
- 2123666,
- 2241503,
- 2130787,
- 2123792,
- 2123715,
- 2123720,
- 2123730,
- 2123739,
- 2123767,
- 2241610,
- 2241617,
- 2241611,
- 2123800,
- 2123807,
- 2123821,
- 2241637,
- 2123827,
- 2123835,
- 2123838,
- 2123845,
- 2123849,
- 2123852,
- 2123861,
- 2123863,
- 2112375,
- 2123883,
- 2123886,
- 2123900,
- 2123906,
- 2123920,
- 2123926,
- 2112365,
- 2123928,
- 2123929,
- 2123930,
- 2123932,
- 2123946,
- 2123947,
- 2123956,
- 2123963,
- 2124027,
- 2241764,
- 2241882,
- 2123971,
- 2123973,
- 2123980,
- 2123993,
- 2124004,
- 2124005,
- 2124012,
- 2124023,
- 2124035,
- 2124039,
- 2112391,
- 2241940,
- 2112397,
- 2124102,
- 2124137,
- 2124140,
- 2124154,
- 2124178,
- 2112420,
- 2124182,
- 2124208,
- 2124218,
- 2124220,
- 2124224,
- 2124241,
- 2242105,
- 2242119,
- 2242104,
- 2124259,
- 2124270,
- 2124271,
- 2124275,
- 2112461,
- 2124276,
- 2124286,
- 2124305,
- 2124314,
- 2124317,
- 2242332,
- 2124338,
- 2124339,
- 2124351,
- 2124361,
- 2124410,
- 2124366,
- 2124370,
- 2124388,
- 2242316,
- 2124427,
- 2112496,
- 2124449,
- 2242404,
- 2124459,
- 2124477,
- 2124486,
- 2124500,
- 2124496,
- 2124509,
- 2242559,
- 2242535,
- 2124529,
- 2124530,
- 2124531,
- 2124541,
- 2242596,
- 2124555,
- 2124559,
- 2124560,
- 2124561,
- 2242621,
- 2124567,
- 2112550,
- 2124591,
- 2124618,
- 2124632,
- 2124652,
- 2124661,
- 2124666,
- 2124673,
- 2124699,
- 2124718,
- 2243224,
- 2124733,
- 2124743,
- 2124744,
- 2124745,
- 2124762,
- 2124774,
- 2124775,
- 2124782,
- 2124802,
- 2124810,
- 2124814,
- 2124854,
- 2243711,
- 2124877,
- 2124891,
- 2124909,
- 2124932,
- 2124937,
- 2112707,
- 2124948,
- 2124951,
- 2124973,
- 2124994,
- 2112722,
- 2125020,
- 2125033,
- 2125037,
- 2243840,
- 2125056,
- 2125092,
- 2125094,
- 2125095,
- 2124903,
- 2125103,
- 2125116,
- 2125147,
- 2125152,
- 2125168,
- 2125184,
- 2125185,
- 2125194,
- 2125197,
- 2125201,
- 2125208,
- 2243904,
- 2244090,
- 2244089,
- 2244051,
- 2125227,
- 2125230,
- 2125236,
- 2125250,
- 2125108,
- 2125256,
- 2125262,
- 2125279,
- 2125302,
- 2125366,
- 2125342,
- 2112785,
- 2125362,
- 2125384,
- 2125385,
- 2125387,
- 2125388,
- 2125391,
- 2125395,
- 2125396,
- 2125399,
- 2125411,
- 2112798,
- 2125459,
- 2125479,
- 2125492,
- 2125507,
- 2125621,
- 2125547,
- 2125561,
- 2125563,
- 2125578,
- 2125580,
- 2125592,
- 2125605,
- 2125622,
- 2125628,
- 2244478,
- 2125650,
- 2125655,
- 2125664,
- 2125672,
- 2125712,
- 2125718,
- 2125758,
- 2125727,
- 2125733,
- 2125743,
- 2112868,
- 2125768,
- 2125769,
- 2125801,
- 2244758,
- 2125820,
- 2125824,
- 2125834,
- 2125859,
- 2244867,
- 2125882,
- 2125891,
- 2125895,
- 2125899,
- 2112922,
- 2125925,
- 2125929,
- 2125934,
- 2125942,
- 2125958,
- 2125975,
- 2245062,
- 2125983,
- 2126001,
- 2245118,
- 2126060,
- 2126026,
- 2126033,
- 2126083,
- 2126086,
- 2126088,
- 2126092,
- 2112960,
- 2126127,
- 2126160,
- 2126163,
- 2126174,
- 2112980,
- 2126230,
- 2126208,
- 2126235,
- 2126240,
- 2126242,
- 2126254,
- 2126255,
- 2245564,
- 2126297,
- 2126300,
- 2126343,
- 2113029,
- 2126388,
- 2126393,
- 2126402,
- 2126423,
- 2126435,
- 2246185,
- 2126446,
- 2126447,
- 2126456,
- 2126463,
- 2126478,
- 2246309,
- 2126510,
- 2126512,
- 2126529,
- 2113120,
- 2126540,
- 2113126,
- 2113128,
- 2126579,
- 2126586,
- 2126599,
- 2126610,
- 2126616,
- 2126617,
- 2113155,
- 2126649,
- 2126636,
- 2126643,
- 2126653,
- 2126674,
- 2113172,
- 2126699,
- 2246806,
- 2126702,
- 2126703,
- 2126705,
- 2126721,
- 2126730,
- 2126740,
- 2126744,
- 2126748,
- 2126757,
- 2126777,
- 2126783,
- 2126789,
- 2126795,
- 2126817,
- 2126823,
- 2126841,
- 2126867,
- 2126842,
- 2126849,
- 2126931,
- 2126912,
- 2126915,
- 2126930,
- 2126941,
- 2126977,
- 2126984,
- 2247245,
- 2126994,
- 2126999,
- 2127001,
- 2127009,
- 2127013,
- 2127018,
- 2127033,
- 2127035,
- 2127034,
- 2127062,
- 2127064,
- 2127083,
- 2247510,
- 2127098,
- 2247535,
- 2127136,
- 2127140,
- 2127146,
- 2113367,
- 2247702,
- 2127165,
- 2127166,
- 2127168,
- 2127176,
- 2127184,
- 2127186,
- 2127218,
- 2127217,
- 2127226,
- 2127229,
- 2127230,
- 2127244,
- 2113397,
- 2127266,
- 2113399,
- 2127280,
- 2127287,
- 2127295,
- 2127296,
- 2127302,
- 2127311,
- 2127315,
- 2127325,
- 2127327,
- 2127328,
- 2127335,
- 2127342,
- 2127345,
- 2127363,
- 2127384,
- 2127367,
- 2127375,
- 2113454,
- 2248206,
- 2127379,
- 2127387,
- 2127388,
- 2248247,
- 2127397,
- 2127400,
- 2127420,
- 2127411,
- 2248298,
- 2113481,
- 2127425,
- 2248331,
- 2127433,
- 2127445,
- 2113495,
- 2127470,
- 2127509,
- 2127521,
- 2127520,
- 2127527,
- 2127528,
- 2127535,
- 2248778,
- 2127561,
- 2248789,
- 2127592,
- 2248994,
- 2127639,
- 2127642,
- 2127661,
- 2127669,
- 2249129,
- 2113593,
- 2249189,
- 2249165,
- 2127704,
- 2249246,
- 2127740,
- 2249292,
- 2113624,
- 2127770,
- 2127775,
- 2127778,
- 2127780,
- 2127838,
- 2127839,
- 2127844,
- 2127850,
- 2127852,
- 2127867,
- 2249774,
- 2127877,
- 2127881,
- 2127885,
- 2127897,
- 2127916,
- 2127943,
- 2127978,
- 2249945,
- 2128010,
- 2128020,
- 2128036,
- 2128029,
- 2128031,
- 2128059,
- 2128085,
- 2128102,
- 2128121,
- 2128122,
- 2128126,
- 2250151,
- 2128144,
- 2128155,
- 2128165,
- 2128202,
- 2128216,
- 2113797,
- 2128231,
- 2128242,
- 2128277,
- 2128289,
- 2128297,
- 2128308,
- 2128322,
- 2128327,
- 2128332,
- 2128333,
- 2128342,
- 2113864,
- 2250665,
- 2250676,
- 2113871,
- 2128394,
- 2128405,
- 2128411,
- 2113891,
- 2128440,
- 2128455,
- 2128470,
- 2128473,
- 2128476,
- 2128479,
- 2128487,
- 2128490,
- 2128501,
- 2128514,
- 2128522,
- 2128528,
- 2128556,
- 2251220,
- 2113972,
- 2128569,
- 2128574,
- 2113983,
- 2128588,
- 2128616,
- 2128628,
- 2251492,
- 2251491,
- 2251505,
- 2128701,
- 2128682,
- 2128686,
- 2128687,
- 2114022,
- 2114035,
- 2128767,
- 2128705,
- 2114030,
- 2128725,
- 2128761,
- 2128740,
- 2128742,
- 2128755,
- 2251698,
- 2114055,
- 2128784,
- 2128795,
- 2114062,
- 2128821,
- 2128828,
- 2128837,
- 2128842,
- 2251851,
- 2251876,
- 2128852,
- 2128854,
- 2128858,
- 2128874,
- 2128880,
- 2128899,
- 2128910,
- 2128965,
- 2128970,
- 2128983,
- 2128990,
- 2128993,
- 2129001,
- 2129007,
- 2252334,
- 2252374,
- 2252389,
- 2129062,
- 2252386,
- 2129078,
- 2129079,
- 2252504,
- 2129092,
- 2252482,
- 2129101,
- 2252520,
- 2252579,
- 2129126,
- 2252636,
- 2129141,
- 2129155,
- 2114246,
- 2129170,
- 2129182,
- 2252768,
- 2252756,
- 2129213,
- 2129214,
- 2129216,
- 2129223,
- 2252812,
- 2252795,
- 2114262,
- 2129242,
- 2129258,
- 2129264,
- 2114269,
- 2129279,
- 2252823,
- 2129288,
- 2129303,
- 2252896,
- 2129309,
- 2129319,
- 2129322,
- 2129334,
- 2129344,
- 2129367,
- 2129369,
- 2129382,
- 2114306,
- 2253037,
- 4226569,
- 2129424,
- 2129431,
- 2129437,
- 2129447,
- 2129452,
- 2129477,
- 2129525,
- 2129534,
- 2129542,
- 2129543,
- 2114347,
- 2129562,
- 2114371,
- 2129724,
- 2129723,
- 2129726,
- 2129731,
- 2110657,
- 2253424,
- 2253446,
- 2129763,
- 2129764,
- 2129773,
- 2129789,
- 2129790,
- 2129808,
- 2118011,
- 2243854,
- 2129814,
- 2129820,
- 2129837,
- 2253826,
- 2129859,
- 2129871,
- 2129891,
- 2129906,
- 2129930,
- 2129928,
- 2129942,
- 2129964,
- 2129968,
- 2129987,
- 2130022,
- 2130043,
- 2130073,
- 2130076,
- 2130084,
- 2130087,
- 2130104,
- 2254462,
- 2130117,
- 2130133,
- 2130150,
- 2130189,
- 2130165,
- 2130171,
- 2114542,
- 2130229,
- 2130206,
- 2114544,
- 2130212,
- 2130215,
- 2130220,
- 2254621,
- 2130237,
- 2114568,
- 2130281,
- 2114583,
- 2114588,
- 2130309,
- 2114594,
- 2130328,
- 2130354,
- 2130369,
- 2130371,
- 2130390,
- 2130395,
- 2255069,
- 2130404,
- 2255082,
- 2130412,
- 2130429,
- 2130431,
- 2255215,
- 2130436,
- 2255325,
- 2130457,
- 2130466,
- 2255390,
- 2130492,
- 2130505,
- 2130501,
- 2255448,
- 2114678,
- 2114682,
- 2130519,
- 2255500,
- 2130524,
- 2130531,
- 2255543,
- 2114705,
- 2130557,
- 2130559,
- 2130563,
- 2130570,
- 2130579,
- 2130599,
- 2130600,
- 2130610,
- 2130612,
- 2130618,
- 2130620,
- 2130658,
- 2130664,
- 2130679,
- 2130695,
- 2130696,
- 2130700,
- 2130772,
- 2130715,
- 2130717,
- 2130736,
- 2130748,
- 2130756,
- 2130775,
- 2114750,
- 2114772,
- 2114739,
- 2130836,
- 2130837,
- 2130843,
- 2130845,
- 2130889,
- 2130896,
- 2130900,
- 2130909,
- 2130917,
- 2130937,
- 2130965,
- 2255987,
- 2130967,
- 2131001,
- 2131023,
- 2131025,
- 2131026,
- 2131033,
- 2131034,
- 2131036,
- 2256093,
- 2131045,
- 2131064,
- 2131068,
- 2131073,
- 2114829,
- 2131095,
- 2131110,
- 2131134,
- 2114824,
- 2131150,
- 2131151,
- 2131155,
- 2256485,
- 2131175,
- 2131178,
- 2131183,
- 2131185,
- 2131194,
- 2131227,
- 2131236,
- 2131237,
- 2131243,
- 2131279,
- 2131311,
- 2114883,
- 2131281,
- 2131297,
- 2131298,
- 2256788,
- 2131323,
- 2131325,
- 2131327,
- 2131329,
- 2131334,
- 2131347,
- 2131357,
- 2131359,
- 2256888,
- 2256886,
- 2256887,
- 2131388,
- 2131399,
- 2131402,
- 2131416,
- 2131417,
- 2131423,
- 2131425,
- 2131430,
- 2131446,
- 2131456,
- 2131473,
- 2131486,
- 2131489,
- 2131492,
- 2131495,
- 2257165,
- 2131513,
- 2131516,
- 2257209,
- 2131520,
- 2131539,
- 2131542,
- 2131575,
- 2131591,
- 2131593,
- 2131612,
- 2131613,
- 2131633,
- 2131635,
- 2131649,
- 2131651,
- 2131665,
- 2131669,
- 2131671,
- 2131683,
- 2131686,
- 2115000,
- 2131717,
- 2131719,
- 2131726,
- 2131728,
- 2131743,
- 2131745,
- 2131747,
- 2131761,
- 2131770,
- 2131776,
- 2131779,
- 2131793,
- 2131800,
- 2131812,
- 2131813,
- 2131826,
- 2131836,
- 2257883,
- 2257882,
- 2131879,
- 2131849,
- 2131851,
- 2131859,
- 2131872,
- 2257918,
- 2115045,
- 2131902,
- 2257936,
- 2131905,
- 2131918,
- 2131935,
- 2257993,
- 2131939,
- 2131941,
- 2131942,
- 2131946,
- 2131987,
- 2132008,
- 2132014,
- 2132018,
- 2132028,
- 2115087,
- 2132042,
- 2132056,
- 2258453,
- 2258452,
- 2132073,
- 2258481,
- 2132079,
- 2132128,
- 2132156,
- 2132160,
- 2258579,
- 2132177,
- 2132179,
- 2115137,
- 2132225,
- 2258702,
- 2132279,
- 2258723,
- 2132290,
- 2132293,
- 2132297,
- 2258770,
- 2132322,
- 2132361,
- 2132368,
- 2132383,
- 2132400,
- 2132407,
- 2132440,
- 2132459,
- 2115233,
- 2132467,
- 2132477,
- 2132479,
- 2115247,
- 2132497,
- 2132500,
- 2259333,
- 2132513,
- 2132533,
- 2132542,
- 2132549,
- 2132557,
- 2132568,
- 2132654,
- 2132624,
- 2132663,
- 2132695,
- 2132732,
- 2259588,
- 2132746,
- 2132741,
- 2132749,
- 2132764,
- 2132781,
- 2115340,
- 2132817,
- 2132830,
- 2132854,
- 2132865,
- 2132875,
- 2132884,
- 2132885,
- 2133049,
- 2259891,
- 2133053,
- 2259902,
- 2259911,
- 2133061,
- 2133071,
- 2133079,
- 2133097,
- 2133101,
- 2260152,
- 2133139,
- 2133138,
- 2133145,
- 2115428,
- 2133147,
- 2133206,
- 2133205,
- 2260384,
- 2133233,
- 2260496,
- 2133257,
- 2133262,
- 2133448,
- 2133465,
- 2133516,
- 2115581,
- 2133501,
- 2133510,
- 2261130,
- 2133524,
- 2133526,
- 2133537,
- 2133538,
- 2133543,
- 2261179,
- 2115606,
- 2133558,
- 2133561,
- 2133588,
- 2133602,
- 2133613,
- 2133615,
- 2133656,
- 2133662,
- 2133685,
- 2133691,
- 2261634,
- 2115662,
- 2261747,
- 2133760,
- 2133768,
- 2133803,
- 2133824,
- 2133834,
- 2133848,
- 2262028,
- 2133924,
- 2133940,
- 2262101,
- 2133953,
- 2133958,
- 2161188,
- 2133962,
- 2133965,
- 2133971,
- 2133973,
- 2134001,
- 2134005,
- 2134011,
- 2134028,
- 2134071,
- 2262379,
- 2134083,
- 2134109,
- 2262472,
- 2262473,
- 2134149,
- 2134156,
- 2134160,
- 2134177,
- 2115765,
- 2134192,
- 2134198,
- 2134211,
- 2134216,
- 2262743,
- 2134236,
- 2134239,
- 2262778,
- 2134262,
- 2134258,
- 2134272,
- 2134251,
- 2134270,
- 2134271,
- 2134276,
- 2134278,
- 2134296,
- 2134302,
- 2134327,
- 2134329,
- 2134342,
- 2134343,
- 2134359,
- 2134361,
- 2134388,
- 2134393,
- 2134405,
- 2134451,
- 2134454,
- 2134467,
- 2134468,
- 2263369,
- 2263366,
- 2134508,
- 2134529,
- 2134550,
- 2134551,
- 2263403,
- 2134594,
- 2134602,
- 2134614,
- 2134625,
- 2134629,
- 2134632,
- 2263432,
- 2134652,
- 2134653,
- 2134655,
- 2134665,
- 2134669,
- 2134679,
- 2134681,
- 2134687,
- 2134699,
- 2263482,
- 2263483,
- 2134706,
- 2134719,
- 2134720,
- 2134726,
- 2134734,
- 2134757,
- 2134801,
- 2263582,
- 2263593,
- 2134775,
- 2134825,
- 2263665,
- 2263619,
- 2134865,
- 2134874,
- 2134891,
- 2134897,
- 2134899,
- 2134945,
- 2263705,
- 2263757,
- 2134920,
- 2134923,
- 2134927,
- 2134942,
- 2135029,
- 2263780,
- 2263773,
- 2135025,
- 2134983,
- 2135004,
- 2135015,
- 2135049,
- 2135062,
- 2135063,
- 2135035,
- 2135090,
- 2135099,
- 2264001,
- 2264047,
- 2135149,
- 2135151,
- 2135417,
- 2135430,
- 2135436,
- 2135437,
- 2264336,
- 2264433,
- 2135496,
- 2264571,
- 2264607,
- 2135596,
- 2135603,
- 2135604,
- 2264630,
- 2135612,
- 2135649,
- 2264713,
- 2135682,
- 2264811,
- 2135706,
- 2264882,
- 2116071,
- 2135731,
- 2135738,
- 2135741,
- 2116090,
- 2265080,
- 2135768,
- 2135770,
- 2135773,
- 2116100,
- 2135828,
- 2135843,
- 2116137,
- 2135862,
- 2135873,
- 2135879,
- 2135895,
- 2135899,
- 2135914,
- 2265760,
- 2265777,
- 2135958,
- 2135966,
- 2135985,
- 2135986,
- 2135998,
- 2136012,
- 2136017,
- 2136020,
- 2136024,
- 2136033,
- 2136049,
- 2136068,
- 2136077,
- 2136084,
- 2136086,
- 2116284,
- 2266256,
- 2136114,
- 2136115,
- 2136101,
- 2136135,
- 2136166,
- 2136235,
- 2136237,
- 2136240,
- 2266575,
- 2136247,
- 2136251,
- 2136252,
- 2136258,
- 2136263,
- 2136267,
- 2136289,
- 2136291,
- 2136298,
- 2136304,
- 2136305,
- 2136307,
- 2136328,
- 2116411,
- 2266864,
- 2136342,
- 2136343,
- 2266905,
- 2136346,
- 2136347,
- 2136348,
- 2266960,
- 2136369,
- 2136378,
- 2136379,
- 2136380,
- 2136385,
- 2136390,
- 2136398,
- 2136416,
- 2136483,
- 2136486,
- 2136509,
- 2136511,
- 2136515,
- 2136532,
- 2136537,
- 2136542,
- 2267334,
- 2136560,
- 2136569,
- 2136572,
- 2136586,
- 2136593,
- 2136602,
- 2136608,
- 2136625,
- 2136644,
- 2136652,
- 2136664,
- 2116546,
- 2136751,
- 2116554,
- 2136759,
- 2116562,
- 2136761,
- 2267762,
- 2136774,
- 2136784,
- 2136786,
- 2136789,
- 2136800,
- 2136805,
- 2136809,
- 2136844,
- 2136848,
- 2136850,
- 2136854,
- 2136860,
- 2136875,
- 2136893,
- 2116640,
- 2136907,
- 2136931,
- 2136933,
- 2136939,
- 2136940,
- 2136950,
- 2136951,
- 2136998,
- 2137004,
- 2268635,
- 2137010,
- 2137016,
- 2137022,
- 2137075,
- 2137048,
- 2137053,
- 2137066,
- 2137071,
- 2137070,
- 2268693,
- 2268810,
- 2268745,
- 2137110,
- 2137112,
- 2137113,
- 2137114,
- 2137117,
- 2137122,
- 2137129,
- 2268868,
- 2137137,
- 2137143,
- 2137157,
- 2137180,
- 2268905,
- 2137161,
- 2137162,
- 2268891,
- 2137172,
- 2137176,
- 2137179,
- 2137181,
- 2137183,
- 2137193,
- 2137194,
- 2137195,
- 2137197,
- 2137198,
- 2137202,
- 2137205,
- 2137210,
- 2137318,
- 2137330,
- 2137355,
- 2269143,
- 2137361,
- 2137367,
- 2137368,
- 2269231,
- 2116804,
- 2269210,
- 2137394,
- 2116817,
- 2137418,
- 2137439,
- 2137442,
- 2269433,
- 2269314,
- 2137459,
- 2137462,
- 2137463,
- 2137476,
- 2137497,
- 2137505,
- 2137535,
- 2137525,
- 2137529,
- 2137533,
- 2137545,
- 2137562,
- 2137568,
- 2137571,
- 2116871,
- 2137610,
- 2137602,
- 2137613,
- 2137628,
- 2137723,
- 2236952,
- 2137728,
- 2137733,
- 2137755,
- 2270092,
- 2137789,
- 2270263,
- 2137823,
- 2137855,
- 2137858,
- 2116983,
- 2137859,
- 2137914,
- 2137917,
- 2137926,
- 2137939,
- 2137941,
- 2137944,
- 2270705,
- 2137949,
- 2270722,
- 2137961,
- 2137965,
- 2137968,
- 2270898,
- 2128186,
- 2110996,
- 2111661,
- 2112972,
- 2113500,
- 2115006,
- 2115088,
- 2116478,
- 2116664,
- 2116833,
- 2117132,
- 2117155,
- 2117156,
- 2117241,
- 2117363,
- 2117388,
- 2117401,
- 2117419,
- 2117422,
- 2117425,
- 2117508,
- 2117534,
- 2117559,
- 2117636,
- 2117644,
- 2117708,
- 2117727,
- 2117730,
- 2117751,
- 2117774,
- 2117790,
- 2117794,
- 2117827,
- 2117864,
- 2117873,
- 2117886,
- 2117895,
- 2117900,
- 2117901,
- 2117902,
- 2117939,
- 2117944,
- 2118004,
- 2118020,
- 2118072,
- 2118074,
- 2118088,
- 2118095,
- 2118097,
- 2118099,
- 2118100,
- 2118104,
- 2118111,
- 2118149,
- 2118182,
- 2118184,
- 2118187,
- 2118193,
- 2118194,
- 2118197,
- 2118204,
- 2118234,
- 2118240,
- 2118254,
- 2118264,
- 2118265,
- 2118282,
- 2118284,
- 2118369,
- 2118377,
- 2118385,
- 2118403,
- 2118417,
- 2118431,
- 2118445,
- 2118450,
- 2118461,
- 2118501,
- 2118509,
- 2118521,
- 2118526,
- 2118548,
- 2118553,
- 2118570,
- 2118575,
- 2118586,
- 2118593,
- 2118596,
- 2118597,
- 2118624,
- 2118675,
- 2118698,
- 2118705,
- 2118708,
- 2118709,
- 2118732,
- 2118823,
- 2118826,
- 2118833,
- 2118843,
- 2118862,
- 2118890,
- 2118908,
- 2118917,
- 2118920,
- 2118933,
- 2118951,
- 2118954,
- 2118966,
- 2118993,
- 2119014,
- 2119055,
- 2119058,
- 2119060,
- 2119076,
- 2119090,
- 2119107,
- 2119110,
- 2119123,
- 2119131,
- 2119148,
- 2119150,
- 2119153,
- 2119158,
- 2119160,
- 2119173,
- 2119181,
- 2119185,
- 2119186,
- 2119212,
- 2119221,
- 2119225,
- 2119245,
- 2119252,
- 2119301,
- 2119327,
- 2119334,
- 2119351,
- 2119372,
- 2119375,
- 2119385,
- 2119393,
- 2119403,
- 2119405,
- 2119409,
- 2119431,
- 2119436,
- 2119450,
- 2119451,
- 2119453,
- 2119468,
- 2119470,
- 2119485,
- 2119486,
- 2119519,
- 2119531,
- 2119533,
- 2119546,
- 2119555,
- 2119575,
- 2119598,
- 2119637,
- 2119655,
- 2119693,
- 2119718,
- 2119757,
- 2119759,
- 2119775,
- 2119789,
- 2119807,
- 2119809,
- 2119832,
- 2119868,
- 2119967,
- 2119971,
- 2120025,
- 2120057,
- 2120087,
- 2120111,
- 2120115,
- 2120159,
- 2120177,
- 2120184,
- 2120370,
- 2120376,
- 2120426,
- 2120438,
- 2120475,
- 2120477,
- 2120481,
- 2120504,
- 2120631,
- 2120663,
- 2120672,
- 2120735,
- 2120746,
- 2120748,
- 2120758,
- 2120793,
- 2120796,
- 2120813,
- 2120925,
- 2120961,
- 2121012,
- 2121021,
- 2121049,
- 2121086,
- 2121091,
- 2121159,
- 2121209,
- 2121256,
- 2121266,
- 2121269,
- 2121307,
- 2121320,
- 2121322,
- 2121335,
- 2121344,
- 2121355,
- 2121395,
- 2121405,
- 2121425,
- 2121428,
- 2121429,
- 2121549,
- 2121644,
- 2121706,
- 2121735,
- 2121801,
- 2121812,
- 2121831,
- 2121915,
- 2121924,
- 2121981,
- 2121994,
- 2122006,
- 2122026,
- 2122038,
- 2122078,
- 2122084,
- 2122107,
- 2122109,
- 2122111,
- 2122141,
- 2122168,
- 2122204,
- 2122210,
- 2122213,
- 2122216,
- 2122244,
- 2122247,
- 2122289,
- 2122297,
- 2122301,
- 2122362,
- 2122384,
- 2122408,
- 2122458,
- 2122484,
- 2122518,
- 2122538,
- 2122550,
- 2122566,
- 2122571,
- 2122579,
- 2122609,
- 2122613,
- 2122623,
- 2122626,
- 2122634,
- 2122670,
- 2122671,
- 2122730,
- 2122744,
- 2122745,
- 2122770,
- 2122776,
- 2122784,
- 2122788,
- 2122794,
- 2122805,
- 2122813,
- 2122815,
- 2122834,
- 2122847,
- 2122868,
- 2122896,
- 2122904,
- 2122905,
- 2122924,
- 2122931,
- 2122989,
- 2122992,
- 2123035,
- 2123039,
- 2123054,
- 2123081,
- 2123104,
- 2123154,
- 2123157,
- 2123188,
- 2123198,
- 2123208,
- 2123214,
- 2123216,
- 2123231,
- 2123390,
- 2123403,
- 2123404,
- 2123443,
- 2123456,
- 2123471,
- 2123557,
- 2123573,
- 2123605,
- 2123648,
- 2123663,
- 2123665,
- 2123684,
- 2123697,
- 2123701,
- 2123710,
- 2123816,
- 2123910,
- 2124011,
- 2124021,
- 2124055,
- 2124083,
- 2124088,
- 2124123,
- 2124133,
- 2124200,
- 2124203,
- 2124207,
- 2124261,
- 2124273,
- 2124362,
- 2124373,
- 2124391,
- 2124401,
- 2124463,
- 2124488,
- 2124489,
- 2124547,
- 2124603,
- 2124607,
- 2124669,
- 2124670,
- 2124720,
- 2124791,
- 2124793,
- 2124804,
- 2124809,
- 2124813,
- 2124844,
- 2124874,
- 2124882,
- 2124884,
- 2124921,
- 2124972,
- 2124980,
- 2125010,
- 2125153,
- 2125180,
- 2125241,
- 2125296,
- 2125381,
- 2125427,
- 2125435,
- 2125437,
- 2125449,
- 2125500,
- 2125530,
- 2125531,
- 2125606,
- 2125609,
- 2125616,
- 2125703,
- 2125725,
- 2125742,
- 2125751,
- 2125837,
- 2125856,
- 2125897,
- 2125976,
- 2126000,
- 2126037,
- 2126038,
- 2126149,
- 2126258,
- 2126324,
- 2126359,
- 2126367,
- 2126403,
- 2126415,
- 2126416,
- 2126426,
- 2126432,
- 2126440,
- 2126455,
- 2126468,
- 2126537,
- 2126565,
- 2126580,
- 2126594,
- 2126603,
- 2126622,
- 2126626,
- 2126650,
- 2126651,
- 2126669,
- 2126680,
- 2126695,
- 2126962,
- 2127023,
- 2127071,
- 2127076,
- 2127092,
- 2127099,
- 2127126,
- 2127137,
- 2127167,
- 2127198,
- 2127257,
- 2127268,
- 2127297,
- 2127300,
- 2127308,
- 2127319,
- 2127324,
- 2127329,
- 2127343,
- 2127364,
- 2127372,
- 2127389,
- 2127410,
- 2127416,
- 2127429,
- 2127434,
- 2127455,
- 2127533,
- 2127549,
- 2127577,
- 2127595,
- 2127600,
- 2127609,
- 2127616,
- 2127630,
- 2127650,
- 2127656,
- 2127663,
- 2127673,
- 2127678,
- 2127685,
- 2127690,
- 2127695,
- 2127710,
- 2127716,
- 2127719,
- 2127724,
- 2127748,
- 2127756,
- 2127757,
- 2127766,
- 2127783,
- 2127791,
- 2127799,
- 2127806,
- 2127817,
- 2127825,
- 2127833,
- 2127857,
- 2127927,
- 2127964,
- 2127998,
- 2128024,
- 2128033,
- 2128049,
- 2128051,
- 2128073,
- 2128083,
- 2128140,
- 2128159,
- 2128167,
- 2128168,
- 2128191,
- 2128194,
- 2128212,
- 2128235,
- 2128252,
- 2128299,
- 2128324,
- 2128362,
- 2128386,
- 2128396,
- 2128432,
- 2128442,
- 2128452,
- 2128512,
- 2128518,
- 2128532,
- 2128565,
- 2128573,
- 2128638,
- 2128683,
- 2128759,
- 2128800,
- 2128812,
- 2128816,
- 2128872,
- 2128882,
- 2128888,
- 2128892,
- 2128894,
- 2128905,
- 2128936,
- 2128943,
- 2128962,
- 2128978,
- 2128979,
- 2128987,
- 2128988,
- 2128989,
- 2129010,
- 2129021,
- 2129031,
- 2129054,
- 2129082,
- 2129095,
- 2129107,
- 2129114,
- 2129212,
- 2129229,
- 2129282,
- 2129285,
- 2129293,
- 2129297,
- 2129310,
- 2129331,
- 2129337,
- 2129360,
- 2129381,
- 2129397,
- 2129398,
- 2129455,
- 2129462,
- 2129476,
- 2129519,
- 2129528,
- 2129537,
- 2129725,
- 2129755,
- 2129757,
- 2129765,
- 2129777,
- 2129791,
- 2129792,
- 2129803,
- 2129826,
- 2129917,
- 2129918,
- 2129919,
- 2129927,
- 2129933,
- 2129950,
- 2129977,
- 2130056,
- 2130062,
- 2130127,
- 2130132,
- 2130157,
- 2130160,
- 2130167,
- 2130170,
- 2130174,
- 2130179,
- 2130199,
- 2130224,
- 2130263,
- 2130287,
- 2130291,
- 2130315,
- 2130320,
- 2130331,
- 2130334,
- 2130379,
- 2130389,
- 2130397,
- 2130398,
- 2130401,
- 2130415,
- 2130422,
- 2130432,
- 2130443,
- 2130451,
- 2130452,
- 2130458,
- 2130490,
- 2130500,
- 2130541,
- 2130564,
- 2130569,
- 2130577,
- 2130602,
- 2130608,
- 2130640,
- 2130666,
- 2130671,
- 2130678,
- 2130774,
- 2130808,
- 2130936,
- 2130940,
- 2131032,
- 2131091,
- 2131121,
- 2131133,
- 2131195,
- 2131270,
- 2131286,
- 2131293,
- 2131333,
- 2131352,
- 2131522,
- 2131526,
- 2131648,
- 2131732,
- 2131746,
- 2131758,
- 2131769,
- 2131805,
- 2131835,
- 2131852,
- 2131854,
- 2131863,
- 2131864,
- 2131870,
- 2131875,
- 2131886,
- 2131903,
- 2131913,
- 2131930,
- 2131992,
- 2131995,
- 2132013,
- 2132026,
- 2132037,
- 2132043,
- 2132046,
- 2132053,
- 2132058,
- 2132078,
- 2132122,
- 2132123,
- 2132124,
- 2132173,
- 2132192,
- 2132207,
- 2132238,
- 2132239,
- 2132262,
- 2132277,
- 2132314,
- 2132316,
- 2132331,
- 2132336,
- 2132348,
- 2132389,
- 2132405,
- 2132412,
- 2132437,
- 2132553,
- 2132567,
- 2132583,
- 2132606,
- 2132614,
- 2132630,
- 2132662,
- 2132681,
- 2132689,
- 2132701,
- 2132716,
- 2132725,
- 2132742,
- 2132751,
- 2132753,
- 2132805,
- 2132818,
- 2132845,
- 2132856,
- 2132860,
- 2132862,
- 2132869,
- 2132895,
- 2133067,
- 2133075,
- 2133115,
- 2133178,
- 2133189,
- 2133193,
- 2133202,
- 2133228,
- 2133237,
- 2133239,
- 2133249,
- 2133251,
- 2133271,
- 2133276,
- 2133358,
- 2133393,
- 2133407,
- 2133419,
- 2133426,
- 2133461,
- 2133479,
- 2133489,
- 2133490,
- 2133492,
- 2133505,
- 2133515,
- 2133542,
- 2133553,
- 2133568,
- 2133569,
- 2133581,
- 2133583,
- 2133596,
- 2133601,
- 2133609,
- 2133617,
- 2133621,
- 2133623,
- 2133641,
- 2133648,
- 2133653,
- 2133658,
- 2133671,
- 2133673,
- 2133677,
- 2133736,
- 2133744,
- 2133767,
- 2133784,
- 2133797,
- 2133799,
- 2133804,
- 2133813,
- 2133818,
- 2133827,
- 2133831,
- 2133841,
- 2133845,
- 2133920,
- 2133921,
- 2133922,
- 2133925,
- 2134020,
- 2134043,
- 2134063,
- 2134092,
- 2134107,
- 2134128,
- 2134132,
- 2134137,
- 2134155,
- 2134168,
- 2134176,
- 2134194,
- 2134205,
- 2134217,
- 2134256,
- 2134277,
- 2134309,
- 2134362,
- 2134375,
- 2134394,
- 2134410,
- 2134417,
- 2134421,
- 2134448,
- 2134459,
- 2134461,
- 2134466,
- 2134469,
- 2134528,
- 2134537,
- 2134563,
- 2134646,
- 2134670,
- 2134703,
- 2134715,
- 2134716,
- 2134721,
- 2134723,
- 2134725,
- 2134728,
- 2134804,
- 2134835,
- 2134838,
- 2134872,
- 2134911,
- 2134914,
- 2134922,
- 2134971,
- 2134988,
- 2135014,
- 2135033,
- 2135042,
- 2135053,
- 2135054,
- 2135086,
- 2135116,
- 2135432,
- 2135457,
- 2135487,
- 2135494,
- 2135497,
- 2135505,
- 2135506,
- 2135520,
- 2135524,
- 2135526,
- 2135588,
- 2135601,
- 2135608,
- 2135613,
- 2135636,
- 2135668,
- 2135675,
- 2135679,
- 2135681,
- 2135683,
- 2135689,
- 2135702,
- 2135726,
- 2135811,
- 2135835,
- 2135841,
- 2135842,
- 2135848,
- 2135857,
- 2135911,
- 2135926,
- 2135933,
- 2135935,
- 2135961,
- 2135967,
- 2135980,
- 2135993,
- 2136013,
- 2136032,
- 2136047,
- 2136071,
- 2136102,
- 2136110,
- 2136162,
- 2136163,
- 2136244,
- 2136261,
- 2136322,
- 2136337,
- 2136341,
- 2136373,
- 2136392,
- 2136404,
- 2136414,
- 2136545,
- 2136588,
- 2136592,
- 2136611,
- 2136641,
- 2136657,
- 2136765,
- 2136766,
- 2136833,
- 2136841,
- 2136843,
- 2136845,
- 2136846,
- 2136857,
- 2136885,
- 2136904,
- 2136917,
- 2136936,
- 2136960,
- 2136966,
- 2136976,
- 2136989,
- 2137008,
- 2137023,
- 2137032,
- 2137087,
- 2137090,
- 2137116,
- 2137141,
- 2137156,
- 2137174,
- 2137185,
- 2137192,
- 2137392,
- 2137405,
- 2137450,
- 2137467,
- 2137573,
- 2137577,
- 2137587,
- 2137722,
- 2137730,
- 2137731,
- 2137732,
- 2137776,
- 2137828,
- 2137840,
- 2137842,
- 2137865,
- 2137871,
- 2137876,
- 2137883,
- 2137890,
- 2137894,
- 2137898,
- 2137899,
- 2137908,
- 2137946,
- 2137967,
- 2138014,
- 2138021,
- 2228469,
- 2248196,
- 2248690,
- 2260339,
- 2118029,
- 4216196,
- 4218722,
- 4219208,
- 4220959,
- 2133716,
- 2110942,
- 2138047,
- 2138048,
- 2138049,
- 2138050,
- 2269874,
- 4214286,
- 4214310,
- 2228568,
- 4214643,
- 4214870,
- 4215021,
- 4215147,
- 2229681,
- 8409566,
- 4215293,
- 2229996,
- 4215396,
- 4215409,
- 6312562,
- 4215615,
- 2275155,
- 4215872,
- 2231640,
- 4216220,
- 6313387,
- 4216329,
- 6313646,
- 8410798,
- 2275162,
- 2275164,
- 4216526,
- 4216558,
- 4216790,
- 4216893,
- 4216921,
- 4217167,
- 6314321,
- 4217184,
- 4217186,
- 4217562,
- 4217690,
- 4217715,
- 4217724,
- 8412083,
- 2251212,
- 4218435,
- 2275190,
- 6315747,
- 4218680,
- 4218785,
- 4218845,
- 4219234,
- 6316466,
- 4219384,
- 2111908,
- 2111928,
- 2240066,
- 2275196,
- 4220150,
- 2112092,
- 2230216,
- 4220254,
- 2240491,
- 4220295,
- 4220297,
- 2259380,
- 4220302,
- 2112196,
- 2112203,
- 4220385,
- 4220519,
- 4220526,
- 6317761,
- 2275202,
- 2112133,
- 4220672,
- 4220769,
- 4220868,
- 4220930,
- 4221245,
- 4221278,
- 2275211,
- 4221596,
- 2112499,
- 2242545,
- 2275220,
- 4222008,
- 6319274,
- 2138060,
- 4222436,
- 2112817,
- 4222472,
- 4222578,
- 6319819,
- 4222677,
- 4222683,
- 4222811,
- 6319963,
- 4222820,
- 4222836,
- 2244683,
- 4223550,
- 2113088,
- 2111649,
- 6321098,
- 4224189,
- 4224349,
- 4224444,
- 2275244,
- 4224520,
- 4224612,
- 4224617,
- 2275247,
- 4224823,
- 4224894,
- 4225447,
- 4225457,
- 4225726,
- 4226016,
- 6323280,
- 4226313,
- 4226482,
- 6323634,
- 4226878,
- 6324193,
- 4227090,
- 2275273,
- 4227286,
- 4227337,
- 4227369,
- 4227596,
- 4227611,
- 4227648,
- 2275279,
- 4228052,
- 4228111,
- 2275282,
- 4228330,
- 2256030,
- 4228433,
- 4228451,
- 4228559,
- 4228686,
- 4228706,
- 4228746,
- 4229186,
- 4229239,
- 4229441,
- 4229974,
- 6327126,
- 4229980,
- 2115359,
- 2260028,
- 4230250,
- 4230265,
- 6327498,
- 4230503,
- 2115614,
- 4230915,
- 6328132,
- 6328261,
- 6328276,
- 4231158,
- 6328439,
- 8425591,
- 31494281,
- 16814218,
- 4231336,
- 4231501,
- 4231913,
- 4231989,
- 4232075,
- 2275312,
- 4232653,
- 4232746,
- 6330008,
- 4232871,
- 8427519,
- 10524671,
- 2275173,
- 4233505,
- 8427863,
- 4234152,
- 4234158,
- 4234169,
- 4234248,
- 4234276,
- 4234299,
- 2275341,
- 4234470,
- 4234688,
- 4234690,
- 2275351,
- 6330607,
- 4339773,
- 6322952,
- 4220015,
- 6323262,
- 4225909,
- 6321429,
- 6326813,
- 6316130,
- 4223096,
- 12604329,
- 4226178,
- 4232857,
- 4228692,
- 4227441,
- 4232053,
- 4215980,
- 4223713,
- 4221079,
- 4234155,
- 4215753,
- 4220758,
- 4224294,
- 8418577,
- 4225736,
- 4219706,
- 6328385,
- 4233665,
- 4220327,
- 4231644,
- 4233133,
- 4227730,
- 6323326,
- 4223546,
- 6326277,
- 4228867,
- 2136861,
- 2136876,
- 2117634,
- 2118110,
- 2118407,
- 2120684,
- 4218570,
- 2123294,
- 2123543,
- 2125898,
- 4215262,
- 2119009,
- 2124858,
- 2128480,
- 2253644,
- 2131971,
- 2135467,
- 2135893,
- 2268733,
- 2270746,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- false,
- 6319778,
- 8413682,
- 6325778,
- 4230015,
- 2117173,
- 2117212,
- 2117219,
- 2117224,
- 2117236,
- 2117237,
- 2117271,
- 2117295,
- 2117339,
- 2117346,
- 2117352,
- 2117359,
- 2117374,
- 2117378,
- 2117384,
- 2117394,
- 2117399,
- 2117427,
- 2117429,
- 2117440,
- 2117442,
- 2117451,
- 2117452,
- 2117458,
- 2117475,
- 2117486,
- 2117489,
- 2117497,
- 2117505,
- 2117513,
- 2117516,
- 2117518,
- 2117520,
- 2117523,
- 2117529,
- 2117535,
- 2117561,
- 2117563,
- 2117564,
- 2117565,
- 2117568,
- 2117569,
- 2117574,
- 2117576,
- 2117580,
- 2117596,
- 2117602,
- 2117616,
- 2117628,
- 2117639,
- 2117642,
- 2117655,
- 2117661,
- 2117680,
- 2117682,
- 2117683,
- 2117685,
- 2117701,
- 2117706,
- 2117713,
- 2117714,
- 2117721,
- 2117728,
- 2117735,
- 2117741,
- 2117745,
- 2117761,
- 2117763,
- 2117764,
- 2117766,
- 2117770,
- 2117776,
- 2117787,
- 2117791,
- 2117792,
- 2117793,
- 2117807,
- 2117808,
- 2117817,
- 2117821,
- 2117824,
- 2117843,
- 2117852,
- 2117853,
- 2117855,
- 2117858,
- 2117860,
- 2117878,
- 2117882,
- 4215026,
- 2117913,
- 2117916,
- 2117917,
- 2117923,
- 2117927,
- 2117928,
- 2117932,
- 2117933,
- 2117935,
- 2117937,
- 2117940,
- 2117945,
- 2117954,
- 2117967,
- 2117971,
- 2117976,
- 2117990,
- 2118014,
- 2118030,
- 2118079,
- 2118082,
- 2118098,
- 2118101,
- 2118117,
- 2118130,
- 2118135,
- 2118168,
- 2118178,
- 2118213,
- 2118232,
- 2118239,
- 2118272,
- 2118277,
- 2118293,
- 2118294,
- 2118295,
- 2118298,
- 2118309,
- 2118311,
- 2118320,
- 2118326,
- 2118327,
- 2118328,
- 2118333,
- 2118340,
- 2118342,
- 2118351,
- 2118356,
- 2118364,
- 2118373,
- 2118376,
- 2118378,
- 2118380,
- 2118388,
- 2118390,
- 2118412,
- 2118419,
- 2118424,
- 2118427,
- 2118430,
- 2118437,
- 2118439,
- 2118440,
- 2118441,
- 2118443,
- 2118444,
- 2118448,
- 2118460,
- 2118489,
- 2118491,
- 4215653,
- 2118531,
- 2118535,
- 2118536,
- 2118542,
- 2118561,
- 2118581,
- 2118584,
- 2118589,
- 2118607,
- 2118610,
- 2118611,
- 2118622,
- 4215776,
- 2118631,
- 2118658,
- 2118682,
- 2118689,
- 2118703,
- 2118724,
- 2118727,
- 2118735,
- 2118750,
- 2118756,
- 2118759,
- 2118761,
- 2118765,
- 2118766,
- 2118785,
- 2118787,
- 2118789,
- 2118793,
- 2118801,
- 2118815,
- 2118858,
- 2118880,
- 2118902,
- 2118910,
- 2118924,
- 2118925,
- 2118962,
- 2118971,
- 2118973,
- 2118985,
- 2118989,
- 2119000,
- 2119002,
- 2119003,
- 2119039,
- 2119059,
- 2119063,
- 2119075,
- 2119105,
- 2119115,
- 2119127,
- 2119128,
- 2119134,
- 2119167,
- 4216325,
- 2119178,
- 2119193,
- 2119219,
- 2119228,
- 2119233,
- 2119235,
- 2119236,
- 2119238,
- 2119265,
- 2119266,
- 2119267,
- 2119285,
- 2119300,
- 2119307,
- 2119335,
- 2119339,
- 2119358,
- 2119371,
- 2119376,
- 2119388,
- 2119397,
- 2119398,
- 2119399,
- 2119425,
- 2119426,
- 2119441,
- 2119456,
- 2119458,
- 2119460,
- 2119461,
- 2119466,
- 2119487,
- 2119506,
- 2119522,
- 2119527,
- 2119534,
- 2119537,
- 2119545,
- 2119550,
- 2119553,
- 2119572,
- 2119577,
- 2119583,
- 2119585,
- 2119573,
- 2119591,
- 2119593,
- 2119613,
- 2119645,
- 2119657,
- 2119678,
- 2119683,
- 2119688,
- 2119649,
- 2119692,
- 2119707,
- 2119711,
- 2119725,
- 2119743,
- 2119760,
- 2119765,
- 2119784,
- 2119800,
- 2119815,
- 2119816,
- 2119820,
- 2119830,
- 2119840,
- 2119841,
- 2119842,
- 2119846,
- 2119876,
- 2119874,
- 2119880,
- 2119894,
- 2119901,
- 2119905,
- 4217094,
- 2119954,
- 2119955,
- 2119965,
- 2119969,
- 2119976,
- 2119984,
- 2119987,
- 2119989,
- 2119990,
- 2119999,
- 2120003,
- 2120018,
- 2120030,
- 2120043,
- 2120047,
- 2120050,
- 2120059,
- 2120076,
- 2120078,
- 2120085,
- 2120103,
- 2120109,
- 2120112,
- 2120119,
- 2120129,
- 2120132,
- 2120175,
- 2120178,
- 2120180,
- 2120183,
- 2120192,
- 2120206,
- 2120210,
- 2120222,
- 2120228,
- 2120232,
- 2120234,
- 2120240,
- 2120260,
- 2120261,
- 2120264,
- 2120268,
- 2120272,
- 2120286,
- 2120315,
- 2120336,
- 2120339,
- 2120342,
- 2120345,
- 2120379,
- 2120390,
- 2120392,
- 2120399,
- 2120445,
- 2120449,
- 2120523,
- 2120542,
- 2120558,
- 2120582,
- 2120590,
- 2120592,
- 2120593,
- 2120596,
- 2120616,
- 2120617,
- 2120621,
- 2120623,
- 2120625,
- 2120626,
- 2120634,
- 2120636,
- 2120641,
- 2120653,
- 2120655,
- 2120665,
- 2120666,
- 2120687,
- 2120692,
- 2120716,
- 2120727,
- 2120742,
- 2120750,
- 2120754,
- 2120757,
- 2120794,
- 2120820,
- 2120821,
- 2120827,
- 2120829,
- 2120839,
- 2120850,
- 2120861,
- 2120882,
- 2120884,
- 2120919,
- 2120942,
- 2120945,
- 2120946,
- 2120978,
- 2120995,
- 2121023,
- 2121032,
- 2121045,
- 2121041,
- 2121055,
- 2121056,
- 2121058,
- 2121060,
- 2121081,
- 2121082,
- 2121087,
- 2121098,
- 2121107,
- 2121109,
- 2121115,
- 2121119,
- 2121131,
- 2121155,
- 2121166,
- 2121177,
- 2121223,
- 2121229,
- 2121248,
- 2121291,
- 2121296,
- 2121297,
- 2121308,
- 2121328,
- 2121358,
- 2121378,
- 2121380,
- 2121393,
- 2121420,
- 2121422,
- 2121436,
- 2121438,
- 2121445,
- 2121451,
- 2121478,
- 2121497,
- 2121508,
- 2121515,
- 2121516,
- 2121518,
- 2121520,
- 2121535,
- 2121540,
- 2121563,
- 2121568,
- 2121583,
- 2121588,
- 2121589,
- 2121592,
- 2121594,
- 2121613,
- 2121622,
- 2121629,
- 2121643,
- 2121648,
- 2121649,
- 2121672,
- 2121680,
- 2121681,
- 2121704,
- 2121708,
- 2121714,
- 2121718,
- 2121722,
- 2121738,
- 2121747,
- 2121759,
- 2121773,
- 2121792,
- 2121800,
- 2121809,
- 2121814,
- 2121815,
- 2121841,
- 2121854,
- 2121858,
- 2121862,
- 2121864,
- 2121870,
- 2121873,
- 2121875,
- 2121880,
- 4219038,
- 2121890,
- 2121893,
- 2121911,
- 2121922,
- 2121929,
- 2121930,
- 2121934,
- 2121935,
- 2121954,
- 2121957,
- 2121980,
- 2121986,
- 2121991,
- 2121996,
- 2122007,
- 2122018,
- 2122033,
- 2122037,
- 2122041,
- 2122053,
- 2122057,
- 2122092,
- 2122098,
- 2122104,
- 2122112,
- 2122113,
- 2122115,
- 2122116,
- 2122123,
- 2122140,
- 2122144,
- 2122154,
- 2122176,
- 2122177,
- 2122190,
- 2122191,
- 2122206,
- 2122209,
- 2122215,
- 2122217,
- 2122220,
- 2122221,
- 2122223,
- 2122241,
- 2122243,
- 2122268,
- 2122272,
- 2122279,
- 2122283,
- 2122306,
- 2122308,
- 2122320,
- 2122324,
- 2122332,
- 2122365,
- 2122381,
- 2122382,
- 2122383,
- 2122419,
- 2122422,
- 2122423,
- 2122426,
- 2122430,
- 2122431,
- 2122446,
- 2122474,
- 2122482,
- 2122500,
- 2122507,
- 2122515,
- 2122537,
- 2122541,
- 2122570,
- 2122578,
- 2122580,
- 2122584,
- 2122587,
- 2122598,
- 2122605,
- 2122616,
- 2122645,
- 2122650,
- 2122660,
- 2122662,
- 2122669,
- 2122689,
- 2122693,
- 2122696,
- 2122702,
- 2122707,
- 2122739,
- 2122762,
- 2122800,
- 2122827,
- 2122831,
- 2122835,
- 2122844,
- 2122849,
- 2122851,
- 2122885,
- 2122895,
- 2122907,
- 2122913,
- 2122915,
- 2122918,
- 2122920,
- 2122941,
- 2122953,
- 2122961,
- 2122985,
- 2122986,
- 2122997,
- 2123009,
- 2123016,
- 2123017,
- 2123018,
- 2123027,
- 2123046,
- 2123057,
- 2123066,
- 2123068,
- 2123069,
- 2123075,
- 2123088,
- 2123090,
- 2123103,
- 2123133,
- 2123160,
- 2123168,
- 2123171,
- 2123174,
- 2123182,
- 2123187,
- 2123222,
- 2123224,
- 4220383,
- 2123252,
- 2123253,
- 2123262,
- 2123263,
- 2123277,
- 2123281,
- 2123282,
- 2123286,
- 2123293,
- 2123299,
- 2123302,
- 2123305,
- 2123321,
- 2123319,
- 2123328,
- 2123334,
- 2123338,
- 2123352,
- 2123360,
- 2123381,
- 2123391,
- 2123385,
- 2123388,
- 2123418,
- 2123419,
- 2123420,
- 2123423,
- 4220597,
- 2123458,
- 2123459,
- 2123468,
- 2123470,
- 2123476,
- 2123487,
- 2123499,
- 2123502,
- 2123527,
- 2123548,
- 2123552,
- 2123554,
- 2123582,
- 2123589,
- 2123628,
- 2123652,
- 2123662,
- 2123670,
- 2123673,
- 2123708,
- 2123709,
- 2123714,
- 2123717,
- 2123721,
- 2123740,
- 2123745,
- 2123750,
- 2123762,
- 2123766,
- 2123796,
- 2123801,
- 2123815,
- 2123823,
- 2123839,
- 2123850,
- 2123864,
- 2123887,
- 2123888,
- 2123889,
- 2123897,
- 2123899,
- 2123912,
- 2123937,
- 2123945,
- 2123950,
- 2123985,
- 2123987,
- 2123996,
- 2123997,
- 2124010,
- 2124022,
- 2124029,
- 2124038,
- 2124041,
- 2124048,
- 2124054,
- 2124081,
- 2124101,
- 2124110,
- 2124134,
- 2124144,
- 2124145,
- 2124155,
- 2124173,
- 2124193,
- 2124216,
- 2124229,
- 2124232,
- 4221438,
- 2124288,
- 2124291,
- 2124320,
- 2124324,
- 2124343,
- 4221525,
- 2124394,
- 2124417,
- 2124422,
- 2124423,
- 2124443,
- 2124464,
- 2124465,
- 2124468,
- 2124478,
- 2124479,
- 2124492,
- 2124501,
- 2124502,
- 2124528,
- 2124540,
- 2124546,
- 2124550,
- 2124551,
- 2124553,
- 2124584,
- 2124587,
- 2124598,
- 2124621,
- 2124626,
- 2124637,
- 2124651,
- 2124654,
- 2124656,
- 2124677,
- 2124695,
- 2124703,
- 2124704,
- 2124706,
- 2124707,
- 2124712,
- 2124716,
- 2124728,
- 2124729,
- 2124739,
- 2124740,
- 2124771,
- 2124818,
- 2124825,
- 2124831,
- 2124838,
- 2124839,
- 2124840,
- 2124846,
- 2124859,
- 2124875,
- 2124879,
- 2124907,
- 2124920,
- 2124935,
- 2124959,
- 2124976,
- 2124978,
- 2125005,
- 2125007,
- 2125009,
- 2125031,
- 2125042,
- 2125044,
- 2125063,
- 2125071,
- 2125075,
- 2125082,
- 2125096,
- 2125151,
- 2125159,
- 2125202,
- 2125207,
- 2125239,
- 2125245,
- 2125280,
- 2125282,
- 2125285,
- 2125295,
- 2125300,
- 2125312,
- 2125316,
- 2125371,
- 2125394,
- 2125405,
- 2125410,
- 2125416,
- 2125453,
- 2125465,
- 2125472,
- 2125485,
- 2125486,
- 2125491,
- 2125499,
- 2125504,
- 2125512,
- 2125517,
- 2125519,
- 2125549,
- 2125550,
- 2125572,
- 2125576,
- 2125581,
- 2125590,
- 2125595,
- 2125627,
- 2125613,
- 2125647,
- 2125651,
- 2125661,
- 2125676,
- 2125699,
- 2125715,
- 2125734,
- 2125744,
- 2125765,
- 2125800,
- 2125821,
- 2125847,
- 2125871,
- 2125876,
- 2125879,
- 2125892,
- 2125896,
- 2125909,
- 2125972,
- 2125974,
- 2125979,
- 2126004,
- 2126074,
- 2126085,
- 2126091,
- 2126125,
- 2126136,
- 2126145,
- 2126155,
- 4223314,
- 2126167,
- 2126170,
- 2126220,
- 2126234,
- 2126256,
- 2126271,
- 2126272,
- 2126284,
- 2126298,
- 2126328,
- 2126344,
- 2126345,
- 2126355,
- 2126362,
- 2126372,
- 2126383,
- 2126405,
- 2126414,
- 2126430,
- 2126443,
- 2126449,
- 2126459,
- 2126460,
- 2126473,
- 2126483,
- 2126504,
- 2126549,
- 2126550,
- 2126552,
- 2126559,
- 2126590,
- 2126605,
- 2126611,
- 2126642,
- 2126645,
- 2126678,
- 2126685,
- 2126686,
- 2126687,
- 2126688,
- 2126697,
- 2126713,
- 2126720,
- 2126734,
- 2126736,
- 2126739,
- 2126743,
- 2126762,
- 2126765,
- 2126790,
- 2126796,
- 2126803,
- 2126813,
- 2126822,
- 2126839,
- 2126843,
- 2126847,
- 2126848,
- 2126865,
- 2126893,
- 2126951,
- 2126952,
- 2126958,
- 2126991,
- 2126993,
- 2127002,
- 2127022,
- 2127025,
- 2127026,
- 2127052,
- 2127056,
- 2127059,
- 4224216,
- 2127067,
- 2127080,
- 2127082,
- 4224239,
- 2127100,
- 2127110,
- 2127122,
- 2127143,
- 2127145,
- 2127158,
- 2127161,
- 2127171,
- 2127175,
- 2127191,
- 2127199,
- 2127201,
- 2127227,
- 2127228,
- 2127237,
- 2127253,
- 2127260,
- 2127290,
- 2127378,
- 2127395,
- 2127401,
- 2127417,
- 2127418,
- 2127424,
- 2127428,
- 2127449,
- 2127493,
- 2127500,
- 2127501,
- 2127519,
- 2127522,
- 2127523,
- 2127553,
- 2127563,
- 4224724,
- 2127584,
- 2127606,
- 2127622,
- 2127634,
- 2127636,
- 2127637,
- 2127644,
- 2127662,
- 2127677,
- 2127682,
- 2127698,
- 2127702,
- 2127703,
- 2127728,
- 2127731,
- 2127732,
- 4224909,
- 4224930,
- 2127790,
- 2127793,
- 2127797,
- 2127811,
- 2127826,
- 2127829,
- 2127864,
- 2127886,
- 2127889,
- 2127901,
- 2127907,
- 2127940,
- 2127944,
- 2127948,
- 2127954,
- 2127966,
- 2127968,
- 2127969,
- 2127971,
- 2128015,
- 2128040,
- 2128044,
- 2128050,
- 2128061,
- 2128063,
- 2128071,
- 2128082,
- 2128086,
- 2128091,
- 2128095,
- 2128106,
- 2128115,
- 2128118,
- 2128127,
- 2128134,
- 2128154,
- 2128158,
- 2128160,
- 2128169,
- 2128173,
- 2128181,
- 2128196,
- 2128203,
- 2128207,
- 2128209,
- 2128233,
- 2128251,
- 2128254,
- 2128268,
- 2128273,
- 2128275,
- 2128284,
- 2128296,
- 2128303,
- 2128335,
- 2128349,
- 2128352,
- 2128354,
- 2128357,
- 2128369,
- 2128376,
- 2128380,
- 2128391,
- 2128417,
- 2128423,
- 2128427,
- 2128431,
- 2128436,
- 2128437,
- 2128456,
- 2128469,
- 2128485,
- 2128510,
- 2128523,
- 2128529,
- 2128542,
- 2128585,
- 2128603,
- 2128617,
- 2128620,
- 2128625,
- 2128635,
- 2128671,
- 2128675,
- 2128681,
- 2128688,
- 2128692,
- 2128703,
- 2128704,
- 2128746,
- 2128772,
- 2128777,
- 2128782,
- 2128790,
- 2128805,
- 2128818,
- 2128822,
- 2128826,
- 2128827,
- 2128829,
- 2128834,
- 2128840,
- 2128859,
- 2128884,
- 2128885,
- 2128889,
- 2128890,
- 2128898,
- 2128900,
- 2128902,
- 2128908,
- 2128921,
- 2128923,
- 2128933,
- 2128940,
- 2128948,
- 2128953,
- 2128954,
- 2128966,
- 2128981,
- 2128986,
- 2128995,
- 4226153,
- 2129020,
- 2129030,
- 2129072,
- 2129083,
- 2129103,
- 2129108,
- 2129129,
- 2129167,
- 2129169,
- 2129174,
- 2129190,
- 2129194,
- 2129197,
- 2129233,
- 2129239,
- 2129253,
- 2129255,
- 2129272,
- 2129275,
- 2129281,
- 2129302,
- 2129347,
- 2129348,
- 2129349,
- 2129350,
- 2129357,
- 2129358,
- 2129408,
- 2129378,
- 2129386,
- 2129389,
- 2129402,
- 2129436,
- 2129453,
- 2129459,
- 2129471,
- 2129486,
- 2129488,
- 2129496,
- 2129503,
- 2129509,
- 2129557,
- 2129565,
- 2129566,
- 2129727,
- 2129756,
- 2129766,
- 4226944,
- 2129805,
- 2129807,
- 2129830,
- 2129834,
- 2129844,
- 2129852,
- 2129856,
- 2129864,
- 2129896,
- 2129935,
- 2129939,
- 2129949,
- 2129951,
- 2129952,
- 2129966,
- 2129972,
- 2129982,
- 2129984,
- 2129988,
- 2130020,
- 2130029,
- 2130049,
- 2130105,
- 2130120,
- 2130125,
- 2130130,
- 2130158,
- 2130162,
- 2130166,
- 2130169,
- 2130187,
- 2130204,
- 2130208,
- 2130236,
- 2130245,
- 2130247,
- 2130258,
- 2130273,
- 2130295,
- 2130310,
- 2130318,
- 2130326,
- 2130338,
- 2130350,
- 2130373,
- 2130382,
- 2130411,
- 2130416,
- 2130417,
- 2130418,
- 2130421,
- 2130424,
- 4227584,
- 2130447,
- 2130461,
- 2130472,
- 2130499,
- 2130510,
- 2130513,
- 2130518,
- 2130535,
- 2130555,
- 2130560,
- 2130561,
- 2130567,
- 2130580,
- 2130582,
- 2130584,
- 2130586,
- 2130587,
- 2130592,
- 2130650,
- 2130656,
- 2130660,
- 2130669,
- 2130698,
- 2130699,
- 2130718,
- 2130719,
- 2130721,
- 2130732,
- 2130734,
- 2130739,
- 2130743,
- 2130749,
- 2130754,
- 2130765,
- 2130766,
- 2130800,
- 2130816,
- 2130818,
- 2130820,
- 2130841,
- 2130844,
- 2130854,
- 2130860,
- 2130878,
- 2130771,
- 2130920,
- 2130969,
- 2130861,
- 2130991,
- 2131013,
- 2131015,
- 2131021,
- 2131030,
- 4228188,
- 2131040,
- 2131044,
- 2131047,
- 2131050,
- 2131060,
- 2131069,
- 2131090,
- 2131093,
- 2131113,
- 2131114,
- 2131143,
- 2131144,
- 2131148,
- 2131186,
- 2131191,
- 2131202,
- 2131203,
- 2131207,
- 2131214,
- 2131216,
- 2131228,
- 2131234,
- 2131239,
- 2131242,
- 2131251,
- 2131254,
- 2131263,
- 2131280,
- 2131282,
- 2131292,
- 4228445,
- 2131295,
- 2131296,
- 2131321,
- 2131337,
- 2131339,
- 2131360,
- 2131365,
- 2131367,
- 2131380,
- 2131382,
- 2131384,
- 2131389,
- 2131390,
- 2131391,
- 2131394,
- 2131418,
- 2131424,
- 2131432,
- 2131443,
- 2131452,
- 2131469,
- 2131470,
- 2131481,
- 2131483,
- 2131510,
- 2131514,
- 2131517,
- 2131544,
- 2131545,
- 2131549,
- 2131552,
- 2131553,
- 2131556,
- 2131561,
- 2131574,
- 2131606,
- 2131610,
- 2131617,
- 2131622,
- 2131629,
- 2131636,
- 2131637,
- 2131639,
- 2131641,
- 2131647,
- 2131653,
- 2131666,
- 2131674,
- 2131676,
- 2131680,
- 2131685,
- 2131687,
- 2131592,
- 2131716,
- 2131727,
- 2131759,
- 2131762,
- 2131772,
- 2131773,
- 2131781,
- 2131789,
- 2131809,
- 2131823,
- 2131843,
- 2131844,
- 2131845,
- 2131846,
- 2131856,
- 2131861,
- 4229027,
- 2131889,
- 2131912,
- 2131914,
- 2131925,
- 2131929,
- 2131932,
- 2131938,
- 2131940,
- 2131953,
- 2131955,
- 2131960,
- 2131962,
- 2131967,
- 2131977,
- 2131993,
- 2131986,
- 2131994,
- 2131998,
- 2132016,
- 2132021,
- 2132033,
- 2132035,
- 2132040,
- 2132041,
- 4229195,
- 2132049,
- 2132060,
- 2132064,
- 2132081,
- 2132089,
- 2132091,
- 2132096,
- 2132127,
- 2132136,
- 2132154,
- 2132171,
- 2132172,
- 2132190,
- 2132199,
- 2132215,
- 2132237,
- 2132245,
- 2132246,
- 2132256,
- 2132264,
- 2132273,
- 2132282,
- 2132294,
- 2132303,
- 2132306,
- 2132311,
- 2132315,
- 2132321,
- 2132323,
- 2132334,
- 2132339,
- 2132341,
- 2132346,
- 2132349,
- 2132365,
- 2132373,
- 2132379,
- 2132380,
- 2132384,
- 2132404,
- 2132406,
- 2132439,
- 2132457,
- 2132461,
- 2132473,
- 2132484,
- 2132485,
- 2132510,
- 2132512,
- 2132516,
- 2132518,
- 2132523,
- 2132524,
- 2132527,
- 2132541,
- 2132544,
- 2132547,
- 2132563,
- 2132566,
- 2132572,
- 2132581,
- 2132598,
- 2132599,
- 2132602,
- 2132603,
- 2132608,
- 2132611,
- 2132619,
- 2132623,
- 2132626,
- 2132631,
- 2132633,
- 2132639,
- 2132649,
- 2132655,
- 2132659,
- 2132667,
- 2132675,
- 2132678,
- 2132680,
- 2132682,
- 2132691,
- 2132692,
- 2132693,
- 2132720,
- 2132735,
- 2132747,
- 2132766,
- 2132784,
- 2132796,
- 2132802,
- 2132808,
- 2132813,
- 2132835,
- 2132857,
- 2132868,
- 2132877,
- 2132879,
- 2133048,
- 2133054,
- 2133073,
- 2133080,
- 2133083,
- 2133085,
- 2133081,
- 2133091,
- 2133092,
- 2133094,
- 2133109,
- 2133110,
- 2133118,
- 2133126,
- 2133127,
- 2133131,
- 2133136,
- 4230299,
- 2133148,
- 2133177,
- 2133190,
- 2133195,
- 2133199,
- 2133213,
- 2133224,
- 2133231,
- 2133234,
- 2133247,
- 2133349,
- 2133375,
- 2133378,
- 2133384,
- 2133392,
- 2133406,
- 2133408,
- 2133420,
- 2133429,
- 2133431,
- 2133433,
- 2133435,
- 2133440,
- 2133445,
- 2133447,
- 2133450,
- 2133460,
- 2133477,
- 2133488,
- 2133436,
- 2133508,
- 2133509,
- 2133521,
- 2133555,
- 2133559,
- 2133560,
- 2133582,
- 2133595,
- 2133597,
- 2133598,
- 2133625,
- 2133634,
- 2133635,
- 2133659,
- 2133661,
- 2133666,
- 2133690,
- 2133697,
- 2133699,
- 2133700,
- 2133703,
- 2133724,
- 2133742,
- 2133745,
- 2133751,
- 2133741,
- 2133762,
- 2133775,
- 2133776,
- 2133782,
- 2133792,
- 2133793,
- 2133795,
- 2133800,
- 2133806,
- 2133812,
- 2133815,
- 2133825,
- 2133839,
- 2133842,
- 2133843,
- 2133853,
- 2133854,
- 2133861,
- 2133917,
- 2133944,
- 2133950,
- 2133952,
- 2133963,
- 2133968,
- 2133970,
- 2133987,
- 2134014,
- 2134040,
- 2134056,
- 2134057,
- 2134058,
- 2134067,
- 2134068,
- 2134079,
- 2134114,
- 2134118,
- 2134124,
- 2134158,
- 2134181,
- 2134220,
- 2134229,
- 2134232,
- 2134233,
- 2134245,
- 2134226,
- 2134280,
- 2134285,
- 2134288,
- 2134298,
- 2134304,
- 2134313,
- 2134318,
- 2134326,
- 2134332,
- 2134339,
- 2134351,
- 2134355,
- 2134381,
- 2134395,
- 2134401,
- 2134406,
- 2134419,
- 2134420,
- 2134424,
- 2134433,
- 2134438,
- 2134463,
- 2134483,
- 2134484,
- 2134489,
- 2134505,
- 2134506,
- 2134511,
- 2134521,
- 2134525,
- 2134532,
- 2134533,
- 2134540,
- 2134546,
- 2134547,
- 2134552,
- 2134556,
- 2134557,
- 2134564,
- 2134565,
- 2134566,
- 2134574,
- 2134575,
- 2134576,
- 2134581,
- 2134582,
- 2134590,
- 2134598,
- 2134605,
- 2134616,
- 2134620,
- 2134621,
- 2134633,
- 2134638,
- 2134639,
- 2134640,
- 2134645,
- 2134649,
- 2134651,
- 2134666,
- 2134674,
- 2134688,
- 2134692,
- 2134693,
- 2134696,
- 2134710,
- 2134712,
- 2134714,
- 2134717,
- 2134727,
- 2134733,
- 2134744,
- 2134748,
- 2134749,
- 2134753,
- 2134755,
- 2134760,
- 2134764,
- 2134766,
- 2134768,
- 2134784,
- 2134792,
- 2134812,
- 2134820,
- 2134826,
- 2134836,
- 2134839,
- 2134864,
- 2134869,
- 2134878,
- 2134887,
- 2134889,
- 2134895,
- 2134900,
- 2134902,
- 2134906,
- 2134909,
- 2134912,
- 2134913,
- 2134925,
- 2134930,
- 2134933,
- 2134936,
- 4232097,
- 2134950,
- 2134952,
- 2134955,
- 2134964,
- 2134965,
- 2134966,
- 2134980,
- 2134981,
- 2134985,
- 2134987,
- 2134989,
- 2134995,
- 2135001,
- 2135031,
- 2135041,
- 2135048,
- 2135061,
- 2135071,
- 2135087,
- 2135101,
- 2135107,
- 2135129,
- 2135132,
- 2135135,
- 2135137,
- 2135144,
- 2135150,
- 2135172,
- 2135171,
- 2135422,
- 2135428,
- 2135453,
- 2135454,
- 2135482,
- 2135513,
- 2135517,
- 2135519,
- 2135582,
- 2135586,
- 2135589,
- 2135590,
- 2135607,
- 2135609,
- 2135610,
- 2135634,
- 2135638,
- 2135639,
- 2135662,
- 2135676,
- 2135678,
- 2135697,
- 2135711,
- 2135718,
- 2135754,
- 4232922,
- 2135775,
- 2135802,
- 2135813,
- 2135834,
- 2135837,
- 4232993,
- 2135882,
- 2135896,
- 2135927,
- 2135928,
- 2135931,
- 2135936,
- 2135945,
- 2135959,
- 2135992,
- 2135996,
- 2135999,
- 2136004,
- 2136005,
- 2136007,
- 2136010,
- 2136014,
- 2136016,
- 2136023,
- 2136029,
- 2136036,
- 2136055,
- 2136056,
- 2136058,
- 2136089,
- 2136092,
- 2136096,
- 2136111,
- 2136117,
- 2136132,
- 2136138,
- 2136145,
- 2136170,
- 2136238,
- 2136268,
- 2136294,
- 2136310,
- 2136327,
- 2136351,
- 2136354,
- 2136358,
- 2136363,
- 2136372,
- 2136377,
- 2136391,
- 2136409,
- 2136411,
- 2136475,
- 2136477,
- 2136479,
- 2136496,
- 2136498,
- 2136501,
- 2136531,
- 2136538,
- 2136540,
- 2136551,
- 2136554,
- 2136555,
- 2136556,
- 2136564,
- 2136565,
- 2136573,
- 2136574,
- 2136580,
- 2136587,
- 2136606,
- 2136610,
- 2136627,
- 2136629,
- 2136647,
- 4233802,
- 2136651,
- 2136660,
- 2136669,
- 2136746,
- 2136748,
- 2136750,
- 2136754,
- 2136756,
- 2136763,
- 2136767,
- 2136776,
- 2136791,
- 2136795,
- 2136804,
- 2136807,
- 2136812,
- 2136818,
- 2136819,
- 2136821,
- 2136826,
- 2136829,
- 2136831,
- 2136832,
- 2136836,
- 2136837,
- 2136859,
- 2136870,
- 4234037,
- 2136887,
- 2136889,
- 2136890,
- 2136908,
- 2136918,
- 2136919,
- 2136923,
- 2136929,
- 2136938,
- 2136941,
- 2136942,
- 2136952,
- 2136959,
- 2136965,
- 2136967,
- 2136969,
- 2136971,
- 2136973,
- 2136980,
- 2136986,
- 2137001,
- 2137015,
- 2137020,
- 2137040,
- 2137081,
- 2137103,
- 2137105,
- 2137118,
- 2137126,
- 2137128,
- 2137149,
- 2137155,
- 2137166,
- 2137182,
- 2137211,
- 2137335,
- 2137337,
- 2137372,
- 2137391,
- 2137395,
- 2137396,
- 2137402,
- 2137404,
- 2137413,
- 2137427,
- 2137428,
- 2137445,
- 2137475,
- 2137478,
- 2137486,
- 2137490,
- 2137491,
- 2137493,
- 2137495,
- 2137496,
- 2137514,
- 2137518,
- 4234687,
- 2137546,
- 2137556,
- 2137557,
- 2137566,
- 2137582,
- 2137584,
- 2137598,
- 2137614,
- 2137616,
- 2137617,
- 2137618,
- 2137622,
- 2137735,
- 2137742,
- 2137743,
- 2137750,
- 2137752,
- 2137774,
- 2137779,
- 2137798,
- 2137800,
- 2137803,
- 2137813,
- 2137836,
- 2137837,
- 2137841,
- 2137845,
- 2137848,
- 2137873,
- 2137878,
- 2137882,
- 2137887,
- 2137905,
- 2137906,
- 2137916,
- 2137919,
- 2137923,
- 2137924,
- 2137927,
- 2137942,
- 2137950,
- 2137966,
- 2137971,
- 2137978,
- 2137981,
- 2137999,
- 2138001,
- 2138002,
- 2138006,
- 2138017,
- 2138019,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,0x204edd,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,0x204e9c,0x205516,0x205a03,0x20963f,0x2054c0,0x20611b,
+ 0x206328,0x2059f6,0x209022,0x208475,0x20831c,0x207a50,0x2060aa,0x2063e1,0x206e25,0x2065ed,
+ 0x208466,0x2082a6,0x209bf5,0x206893,0x205727,0x2065a1,0x206271,0x205b9b,0x2059d0,0x20867b,
+ 0x2098f4,0x207d62,0x207dbe,0x209b8e,0x206216,0x207c9f,0x2088b7,0x205b89,0x205eb5,0x206309,
+ 0x206697,0x206848,0x2095c7,0x20978d,0x20674f,0x204ee5,0x204f0a,0x204f4d,0x204f9d,0x205049,
+ 0x2056f2,0x205937,0x2059d4,0x205a01,0x205c09,0x2060df,0x20610f,0x206170,0x206613,0x206905,
+ 0x2070ba,0x20754f,0x207570,0x2079fb,0x207dad,0x207def,0x2080c3,0x20840e,0x208863,0x208b02,
+ 0x209055,0x20907a,0x20533b,0x204e95,0x204ea5,0x2057df,0x2080b2,0x2090c1,0x2078ef,0x204e00,
+ 0x2058f1,0x206ea2,0x209038,0x207a32,0x208328,0x20828b,0x209c2f,0x205141,0x205370,0x2054bd,
+ 0x2054e1,0x2056e0,0x2059fb,0x205f15,0x2098f2,0x206deb,0x2080e4,0x20852d,0x209662,0x209670,
+ 0x2096a0,0x2097fb,0x20540b,0x2053f3,0x205b87,0x2070cf,0x407fbd,0x208fc2,0x2096e8,0x20536f,
+ 0x209d5c,0x207aba,0x204e11,0x207893,0x2081fc,0x206e26,0x205618,0x205504,0x206b1d,0x20851a,
+ 0x209c3b,0x2059e5,0x2053a9,0x206d66,0x2074dc,0x20958f,0x205642,0x204e91,0x20904b,0x2096f2,
+ 0x20834f,0x20990c,0x2053e1,0x2055b6,0x205b30,0x205f71,0x206620,0x2066f3,0x206804,0x206c38,
+ 0x206cf3,0x206d29,0x20745b,0x2076c8,0x207a4e,0x209834,0x2082f1,0x20885b,0x208a60,0x2092ed,
+ 0x206db2,0x2075ab,0x2076ca,0x2099c5,0x2060a6,0x408b01,0x208d8a,0x2095b2,0x20698e,0x2053ad,
+ 0x205186,0x205712,0x205830,0x205944,0x205bb4,0x205ef6,0x206028,0x2063a9,0x2063f4,0x406cbf,
+ 0x206f14,0x20708e,0x207114,0x207159,0x2071d5,0x20733f,0x207e01,0x208276,0x2082d1,0x208597,
+ 0x209060,0x20925b,0x209d1b,0x205869,0x2065bc,0x206c5a,0x207525,0x2051f9,0x20592e,0x205965,
+ 0x205f80,0x205fdc,0x2062bc,0x2065fa,0x206a2a,0x206b27,0x206bb4,0x20738b,0x207fc1,0x208956,
+ 0x209d2c,0x209d0e,0x209ec4,0x205ca1,0x206c96,0x20837b,0x205104,0x205c4b,0x2061b6,0x2081c6,
+ 0x206876,0x207261,0x204e59,0x204ffa,0x205378,0x206069,0x206e29,0x207a4f,0x2097f3,0x204e0b,
+ 0x205316,0x204eee,0x204f55,0x204f3d,0x204fa1,0x204f73,0x2052a0,0x2053ef,0x205609,0x20590f,
+ 0x205ac1,0x205bb6,0x205be1,0x2079d1,0x206687,0x20679c,0x2067b6,0x206b4c,0x206cb3,0x20706b,
+ 0x2073c2,0x40798d,0x2079be,0x207a3c,0x207b87,0x2082b1,0x2082db,0x208304,0x208377,0x2083ef,
+ 0x2083d3,0x208766,0x208ab2,0x205629,0x208ca8,0x208fe6,0x20904e,0x20971e,0x20868a,0x204fc4,
+ 0x205ce8,0x206211,0x207259,0x20753b,0x2081e5,0x4082bd,0x2086fe,0x208cc0,0x2096c5,0x209913,
+ 0x2099d5,0x204ecb,0x204f1a,0x2089e3,0x2056de,0x20584a,0x2058ca,0x205efb,0x205feb,0x20602a,
+ 0x406094,0x206062,0x2061d0,0x206212,0x2062d0,0x206539,0x209b41,0x206666,0x2068b0,0x406d77,
+ 0x207070,0x20754c,0x207686,0x207d75,0x2082a5,0x2087f9,0x20958b,0x20968e,0x208c9d,0x2051f1,
+ 0x2052be,0x205916,0x2054b3,0x205bb3,0x205d16,0x206168,0x206982,0x206daf,0x20788d,0x2084cb,
+ 0x208857,0x208a72,0x2093a7,0x209ab8,0x206d6c,0x2099a8,0x2086d9,0x2057a3,0x2067ff,0x2086ce,
+ 0x20920e,0x205283,0x205687,0x205404,0x205ed3,0x2062e1,0x2064b9,0x20683c,0x206838,0x206bbb,
+ 0x207372,0x2078ba,0x207a6b,0x20899a,0x4089d2,0x208d6b,0x208f03,0x2090ed,0x2095a3,0x209694,
+ 0x209769,0x205b66,0x205cb3,0x20697d,0x20984d,0x20984e,0x20639b,0x207b20,0x206a2b,0x206a7f,
+ 0x2068b6,0x209c0d,0x206f5f,0x405272,0x20559d,0x206070,0x2062ec,0x206d3b,0x206e07,0x206ed1,
+ 0x20845b,0x208910,0x208f44,0x204e14,0x209c39,0x2053f6,0x20691b,0x206a3a,0x209784,0x20682a,
+ 0x20515c,0x207ac3,0x2084b2,0x2091dc,0x20938c,0x20565b,0x209d28,0x206822,0x208305,0x208431,
+ 0x207ca5,0x205208,0x2082c5,0x2074e6,0x204e7e,0x204f83,0x2051a0,0x205bd2,0x20520a,0x2052d8,
+ 0x2052e7,0x205dfb,0x20559a,0x20582a,0x2059e6,0x205b8c,0x205b98,0x205bdb,0x205e72,0x205e79,
+ 0x2060a3,0x20611f,0x206163,0x2061be,0x2063db,0x206562,0x2067d1,0x206853,0x2068fa,0x206b3e,
+ 0x206b53,0x206c57,0x206f22,0x206f97,0x206f45,0x2074b0,0x207518,0x2076e3,0x20770b,0x207aff,
+ 0x207ba1,0x207c21,0x207de9,0x207f36,0x207ff0,0x20809d,0x208266,0x20839e,0x2089b3,0x208acc,
+ 0x208cab,0x209084,0x209451,0x209593,0x209591,0x2095a2,0x209665,0x2097d3,0x209928,0x208218,
+ 0x204e38,0x20542b,0x205cb8,0x205dcc,0x2073a9,0x20764c,0x20773c,0x205ca9,0x207feb,0x208d0b,
+ 0x2096c1,0x209811,0x209854,0x209858,0x204f01,0x204f0e,0x205371,0x20559c,0x205668,0x2057fa,
+ 0x205947,0x205b09,0x205bc4,0x205c90,0x205e0c,0x205e7e,0x205fcc,0x2063ee,0x20673a,0x2065d7,
+ 0x4065e2,0x20671f,0x2068cb,0x2068c4,0x206a5f,0x205e30,0x206bc5,0x206c17,0x206c7d,0x20757f,
+ 0x407948,0x205b63,0x207a00,0x207d00,0x205fbd,0x20898f,0x208a18,0x208cb4,0x208d77,0x208ecc,
+ 0x208f1d,0x2098e2,0x209a0e,0x209b3c,0x204e80,0x20507d,0x205100,0x205993,0x205b9c,0x20622f,
+ 0x206280,0x2064ec,0x206b3a,0x2072a0,0x207591,0x207947,0x207fa9,0x2087fb,0x208abc,0x208b70,
+ 0x2063ac,0x2083ca,0x2097a0,0x205409,0x205403,0x2055ab,0x206854,0x206a58,0x208a70,0x207827,
+ 0x206775,0x209ecd,0x205374,0x205ba2,0x20811a,0x208650,0x209006,0x204e18,0x204e45,0x204ec7,
+ 0x204f11,0x2053ca,0x205438,0x205bae,0x205f13,0x206025,0x206551,0x20673d,0x206c42,0x206c72,
+ 0x206ce3,0x207078,0x207403,0x207a76,0x207aae,0x207b08,0x207d1a,0x207cfe,0x207d66,0x2065e7,
+ 0x20725b,0x2053bb,0x205c45,0x205de8,0x2062d2,0x2062e0,0x206319,0x206e20,0x20865a,0x208a31,
+ 0x208ddd,0x2092f8,0x206f01,0x2079a6,0x209b5a,0x204ea8,0x204eab,0x204eac,0x204f9b,0x204fa0,
+ 0x2050d1,0x205147,0x207af6,0x205171,0x2051f6,0x205354,0x205321,0x40537f,0x2053eb,0x2055ac,
+ 0x205883,0x205ce1,0x205f37,0x205f4a,0x20602f,0x206050,0x20606d,0x20631f,0x206559,0x206a4b,
+ 0x206cc1,0x2072c2,0x2072ed,0x2077ef,0x2080f8,0x208105,0x208208,0x20854e,0x2090f7,0x2093e1,
+ 0x2097ff,0x209957,0x209a5a,0x204ef0,0x2051dd,0x205c2d,0x206681,0x20696d,0x205c40,0x2066f2,
+ 0x206975,0x207389,0x206850,0x207c81,0x2050c5,0x2052e4,0x205747,0x205dfe,0x209326,0x2065a4,
+ 0x206b23,0x206b3d,0x207434,0x207981,0x2079bd,0x207b4b,0x207dca,0x2082b9,0x2083cc,0x20887f,
+ 0x20895f,0x408b39,0x208fd1,0x2091d1,0x20541f,0x209280,0x204e5d,0x205036,0x2053e5,0x20533a,
+ 0x2072d7,0x207396,0x2077e9,0x2082e6,0x208eaf,0x2099c6,0x2099c8,0x2099d2,0x205177,0x20611a,
+ 0x20865e,0x2055b0,0x207a7a,0x205076,0x205bd3,0x209047,0x209685,0x204e32,0x406adb,0x2091e7,
+ 0x205c51,0x205c48,0x206398,0x207a9f,0x206c93,0x209774,0x208f61,0x207aaa,0x20718a,0x209688,
+ 0x207c82,0x206817,0x207e70,0x206851,0x20936c,0x2052f2,0x20541b,0x2085ab,0x208a13,0x207fa4,
+ 0x208ecd,0x2090e1,0x205366,0x208888,0x207941,0x204fc2,0x2050be,0x205211,0x205144,0x205553,
+ 0x20572d,0x2073ea,0x20578b,0x205951,0x205f62,0x205f84,0x206075,0x206176,0x206167,0x2061a9,
+ 0x2063b2,0x20643a,0x20656c,0x20666f,0x206842,0x206e13,0x207566,0x207a3d,0x207cfb,0x207d4c,
+ 0x207d99,0x207e4b,0x207f6b,0x20830e,0x20834a,0x2086cd,0x208a08,0x208a63,0x208b66,0x208efd,
+ 0x20981a,0x209d8f,0x2082b8,0x208fce,0x209be8,0x205287,0x20621f,0x206483,0x206fc0,0x209699,
+ 0x206841,0x205091,0x206b20,0x206c7a,0x206f54,0x207a74,0x207d50,0x208840,0x208a23,0x206708,
+ 0x204ef6,0x205039,0x205026,0x205065,0x20517c,0x205238,0x205263,0x2055a7,0x20570f,0x205805,
+ 0x205acc,0x205efa,0x2061b2,0x2061f8,0x2062f3,0x206372,0x20691c,0x206a29,0x20727d,0x2072ac,
+ 0x20732e,0x207814,0x20786f,0x207d79,0x20770c,0x2080a9,0x20898b,0x208b19,0x208ce2,0x208ed2,
+ 0x209063,0x209375,0x20967a,0x209855,0x209a13,0x209e78,0x205143,0x20539f,0x2053b3,0x205e7b,
+ 0x205f26,0x206e1b,0x206e90,0x207384,0x2073fe,0x207d43,0x208237,0x208a00,0x208afa,0x209650,
+ 0x204e4e,0x20500b,0x2053e4,0x20547c,0x2056fa,0x2059d1,0x205b64,0x205df1,0x205eab,0x205f27,
+ 0x206238,0x206545,0x2067af,0x206e56,0x2072d0,0x207cca,0x2088b4,0x2080a1,0x2080e1,0x2083f0,
+ 0x20864e,0x208a87,0x208de8,0x209237,0x2096c7,0x209867,0x209f13,0x204e94,0x204e92,0x204f0d,
+ 0x205348,0x205449,0x20543e,0x205a2f,0x205f8c,0x205fa1,0x20609f,0x2068a7,0x206a8e,0x20745a,
+ 0x207881,0x208a9e,0x208aa4,0x208b77,0x209190,0x204e5e,0x209bc9,0x204ea4,0x204f7c,0x204faf,
+ 0x205019,0x205016,0x205149,0x20516c,0x20529f,0x2052b9,0x2052fe,0x20539a,0x2053e3,0x205411,
+ 0x20540e,0x205589,0x205751,0x2057a2,0x20597d,0x205b54,0x205b5d,0x205b8f,0x205de5,0x205de7,
+ 0x205df7,0x205e78,0x205e83,0x205e9a,0x205eb7,0x205f18,0x206052,0x20614c,0x206297,0x2062d8,
+ 0x2063a7,0x20653b,0x206602,0x206643,0x2066f4,0x20676d,0x206821,0x206897,0x2069cb,0x206c5f,
+ 0x206d2a,0x206d69,0x206e2f,0x206e9d,0x207532,0x207687,0x20786c,0x207a3f,0x207ce0,0x207d05,
+ 0x207d18,0x207d5e,0x207db1,0x208015,0x208003,0x2080af,0x2080b1,0x208154,0x20818f,0x20822a,
+ 0x208352,0x20884c,0x208861,0x208b1b,0x208ca2,0x208cfc,0x2090ca,0x209175,0x209271,0x20783f,
+ 0x2092fc,0x2095a4,0x20964d,0x209805,0x209999,0x209ad8,0x209d3b,0x20525b,0x2052ab,0x2053f7,
+ 0x205408,0x2058d5,0x2062f7,0x206fe0,0x208c6a,0x208f5f,0x209eb9,0x20514b,0x20523b,0x20544a,
+ 0x2056fd,0x407a40,0x209177,0x209d60,0x209ed2,0x207344,0x206f09,0x208170,0x207511,0x205ffd,
+ 0x2060da,0x209aa8,0x2072db,0x208fbc,0x206b64,0x209803,0x204eca,0x2056f0,0x205764,0x2058be,
+ 0x205a5a,0x206068,0x2061c7,0x20660f,0x206606,0x206839,0x2068b1,0x206df7,0x2075d5,0x207d3a,
+ 0x20826e,0x209b42,0x204e9b,0x204f50,0x2053c9,0x205506,0x205d6f,0x205de6,0x205dee,0x2067fb,
+ 0x206c99,0x207473,0x207802,0x208a50,0x209396,0x2088df,0x205750,0x205ea7,0x20632b,0x2050b5,
+ 0x2050ac,0x40518d,0x206700,0x2054c9,0x20585e,0x2059bb,0x205bb0,0x205f69,0x20624d,0x2063a1,
+ 0x20683d,0x206b73,0x206e08,0x20707d,0x2091c7,0x207280,0x207815,0x207826,0x20796d,0x20658e,
+ 0x207d30,0x2083dc,0x2088c1,0x208f09,0x20969b,0x205264,0x205728,0x206750,0x207f6a,0x208ca1,
+ 0x2051b4,0x205742,0x20962a,0x20583a,0x20698a,0x2080b4,0x2054b2,0x205d0e,0x2057fc,0x207895,
+ 0x209dfa,0x204f5c,0x20524a,0x20548b,0x20643e,0x206628,0x206714,0x2067f5,0x207a84,0x207b56,
+ 0x207d22,0x20932f,0x20685c,0x209bad,0x207b39,0x205319,0x20518a,0x205237,0x205bdf,0x2062f6,
+ 0x2064ae,0x2064e6,0x20672d,0x406bba,0x2085a9,0x2096d1,0x207690,0x209bd6,0x20634c,0x209306,
+ 0x209bab,0x2076bf,0x206652,0x204e09,0x205098,0x2053c2,0x205c71,0x2060e8,0x206492,0x206563,
+ 0x20685f,0x2071e6,0x2073ca,0x207523,0x207b97,0x207e82,0x208695,0x208b83,0x208cdb,0x209178,
+ 0x209910,0x2065ac,0x2066ab,0x206b8b,0x204ed5,0x204ed4,0x204f3a,0x204f7f,0x20523a,0x2053f8,
+ 0x2053f2,0x2055e3,0x2056db,0x2058eb,0x2059cb,0x2059c9,0x2059ff,0x205b50,0x205c4d,0x205e02,
+ 0x205e2b,0x205fd7,0x20601d,0x206307,0x20652f,0x205b5c,0x2065af,0x2065bd,0x2065e8,0x20679d,
+ 0x206b62,0x206b7b,0x206c0f,0x207345,0x207949,0x2079c1,0x207cf8,0x207d19,0x207d2b,0x2080a2,
+ 0x208102,0x2081f3,0x208996,0x208a5e,0x208a69,0x208a66,0x208a8c,0x208aee,0x208cc7,0x208cdc,
+ 0x2096cc,0x2098fc,0x206b6f,0x204e8b,0x204f3c,0x204f8d,0x205150,0x205b57,0x205bfa,0x206148,
+ 0x206301,0x206642,0x206b21,0x206ecb,0x206cbb,0x20723e,0x2074bd,0x2075d4,0x2078c1,0x40793a,
+ 0x20800c,0x208033,0x2081ea,0x208494,0x208f9e,0x206c50,0x209e7f,0x205f0f,0x208b58,0x209d2b,
+ 0x207afa,0x208ef8,0x205b8d,0x2096eb,0x204e03,0x2053f1,0x2057f7,0x205931,0x205ac9,0x205ba4,
+ 0x206089,0x206e7f,0x206f06,0x2075be,0x208cea,0x205b9f,0x208500,0x207be0,0x205072,0x2067f4,
+ 0x20829d,0x205c61,0x20854a,0x207e1e,0x20820e,0x205199,0x205c04,0x206368,0x208d66,0x20659c,
+ 0x40716e,0x20793e,0x207d17,0x208005,0x208b1d,0x208eca,0x20906e,0x2086c7,0x2090aa,0x20501f,
+ 0x4052fa,0x205c3a,0x206753,0x20707c,0x407235,0x20914c,0x2091c8,0x20932b,0x2082e5,0x205bc2,
+ 0x205f31,0x2060f9,0x204e3b,0x2053d6,0x205b88,0x20624b,0x206731,0x206b8a,0x2072e9,0x2073e0,
+ 0x207a2e,0x20816b,0x208da3,0x209152,0x209996,0x205112,0x2053d7,0x20546a,0x205bff,0x206388,
+ 0x206a39,0x207dac,0x209700,0x2056da,0x2053ce,0x405468,0x205b97,0x205c31,0x205dde,0x204fee,
+ 0x206101,0x2062fe,0x206d32,0x2079c0,0x2079cb,0x207d42,0x207e4d,0x207fd2,0x2081ed,0x20821f,
+ 0x208490,0x208846,0x208972,0x208b90,0x208e74,0x208f2f,0x209031,0x20914b,0x20916c,0x2096c6,
+ 0x20919c,0x204ec0,0x204f4f,0x205145,0x205341,0x205f93,0x20620e,0x2067d4,0x206c41,0x206e0b,
+ 0x207363,0x207e26,0x2091cd,0x209283,0x2053d4,0x205919,0x205bbf,0x206dd1,0x40795d,0x207e2e,
+ 0x207c9b,0x20587e,0x20719f,0x2051fa,0x208853,0x208ff0,0x204fca,0x205cfb,0x206625,0x2077ac,
+ 0x207ae3,0x20821c,0x2099ff,0x2051c6,0x205faa,0x2065ec,0x20696f,0x206b89,0x206df3,0x206e96,
+ 0x206f64,0x2076fe,0x207d14,0x205de1,0x209075,0x209187,0x209806,0x2051e6,0x20521d,0x206240,
+ 0x206691,0x2066d9,0x406e1a,0x205eb6,0x207dd2,0x407f72,0x2066f8,0x2085af,0x2085f7,0x408af8,
+ 0x2052a9,0x2053d9,0x205973,0x205e8f,0x205f90,0x206055,0x2092e4,0x209664,0x2050b7,0x20511f,
+ 0x2052dd,0x205320,0x205347,0x2053ec,0x2054e8,0x205546,0x205531,0x205617,0x205968,0x2059be,
+ 0x205a3c,0x205bb5,0x405c06,0x205c0f,0x205c11,0x205c1a,0x205e84,0x205e8a,0x205ee0,0x205f70,
+ 0x20627f,0x206284,0x2062db,0x20638c,0x206377,0x206607,0x20660c,0x20662d,0x206676,0x20677e,
+ 0x2068a2,0x206a1f,0x206a35,0x206cbc,0x206d88,0x206e09,0x206e58,0x20713c,0x207126,0x207167,
+ 0x2075c7,0x207701,0x20785d,0x207901,0x407965,0x2079f0,0x207ae0,0x207b11,0x207ca7,0x207d39,
+ 0x208096,0x2083d6,0x20848b,0x208549,0x20885d,0x2088f3,0x208a1f,0x208a3c,0x208a54,0x208a73,
+ 0x208c61,0x208cde,0x2091a4,0x209266,0x20937e,0x209418,0x20969c,0x209798,0x204e0a,0x204e08,
+ 0x204e1e,0x204e57,0x205197,0x205270,0x4057ce,0x205834,0x2058cc,0x205b22,0x205e38,0x2060c5,
+ 0x2064fe,0x206761,0x206756,0x206d44,0x2072b6,0x207573,0x207a63,0x2084b8,0x208b72,0x2091b8,
+ 0x209320,0x205631,0x2057f4,0x2098fe,0x2062ed,0x20690d,0x206b96,0x2071ed,0x207e54,0x208077,
+ 0x208272,0x2089e6,0x2098df,0x208755,0x208fb1,0x205c3b,0x204f38,0x204fe1,0x204fb5,0x205507,
+ 0x205a20,0x205bdd,0x205be9,0x205fc3,0x20614e,0x20632f,0x2065b0,0x20664b,0x2068ee,0x20699b,
+ 0x206d78,0x206df1,0x207533,0x2075b9,0x20771f,0x40795e,0x2079e6,0x207d33,0x2081e3,0x2082af,
+ 0x2085aa,0x2089aa,0x208a3a,0x208eab,0x208f9b,0x209032,0x2091dd,0x209707,0x204eba,0x204ec1,
+ 0x205203,0x205875,0x2058ec,0x205c0b,0x20751a,0x205c3d,0x20814e,0x208a0a,0x208fc5,0x209663,
+ 0x20976d,0x207b25,0x208acf,0x209808,0x209162,0x2056f3,0x2053a8,0x209017,0x205439,0x205782,
+ 0x205e25,0x2063a8,0x206c34,0x20708a,0x207761,0x207c8b,0x207fe0,0x208870,0x209042,0x209154,
+ 0x209310,0x209318,0x20968f,0x20745e,0x209ac4,0x205d07,0x205d69,0x206570,0x2067a2,0x208da8,
+ 0x2096db,0x20636e,0x206749,0x206919,0x2083c5,0x209817,0x2096c0,0x2088fe,0x206f84,0x20647a,
+ 0x205bf8,0x204e16,0x20702c,0x20755d,0x20662f,0x2051c4,0x205236,0x2052e2,0x2059d3,0x205f81,
+ 0x206027,0x206210,0x20653f,0x206574,0x20661f,0x406674,0x2068f2,0x206816,0x206b63,0x206e05,
+ 0x207272,0x20751f,0x2076db,0x407cbe,0x208056,0x2058f0,0x2088fd,0x20897f,0x208aa0,0x208a93,
+ 0x208acb,0x20901d,0x209192,0x209752,0x209759,0x206589,0x207a0e,0x208106,0x2096bb,0x205e2d,
+ 0x2060dc,0x20621a,0x2065a5,0x206614,0x206790,0x2077f3,0x207a4d,0x207c4d,0x207e3e,0x20810a,
+ 0x208cac,0x208d64,0x208de1,0x208e5f,0x2078a9,0x205207,0x2062d9,0x2063a5,0x206442,0x206298,
+ 0x208a2d,0x207a83,0x207bc0,0x208aac,0x2096ea,0x207d76,0x20820c,0x208749,0x204ed9,0x205148,
+ 0x205343,0x205360,0x205ba3,0x205c02,0x205c16,0x205ddd,0x206226,0x206247,0x2064b0,0x206813,
+ 0x206834,0x206cc9,0x206d45,0x206d17,0x2067d3,0x206f5c,0x20714e,0x20717d,0x2065cb,0x207a7f,
+ 0x207bad,0x207dda,0x207e4a,0x207fa8,0x20817a,0x20821b,0x208239,0x2085a6,0x208a6e,0x208cce,
+ 0x208df5,0x209078,0x209077,0x2092ad,0x209291,0x209583,0x209bae,0x20524d,0x205584,0x206f38,
+ 0x207136,0x205168,0x207985,0x207e55,0x2081b3,0x207cce,0x20564c,0x205851,0x205ca8,0x2063aa,
+ 0x2066fe,0x2066fd,0x20695a,0x2072d9,0x20758f,0x20758e,0x20790e,0x207956,0x2079df,0x207c97,
+ 0x207d20,0x207d44,0x208607,0x208a34,0x20963b,0x209061,0x209f20,0x2050e7,0x205275,0x2053cc,
+ 0x2053e2,0x205009,0x2055aa,0x2058ee,0x20594f,0x20723d,0x205b8b,0x205c64,0x20531d,0x2060e3,
+ 0x2060f3,0x20635c,0x206383,0x20633f,0x2063bb,0x2064cd,0x2065e9,0x2066f9,0x205de3,0x2069cd,
+ 0x2069fd,0x206f15,0x2071e5,0x204e89,0x2075e9,0x2076f8,0x207a93,0x207cdf,0x207dcf,0x207d9c,
+ 0x208061,0x208349,0x208358,0x20846c,0x2084bc,0x2085fb,0x2088c5,0x208d70,0x209001,0x20906d,
+ 0x209397,0x20971c,0x209a12,0x2050cf,0x205897,0x40618e,0x2081d3,0x208535,0x208d08,0x209020,
+ 0x204fc3,0x205074,0x205247,0x205373,0x20606f,0x206349,0x20675f,0x206e2c,0x208db3,0x20901f,
+ 0x204fd7,0x205c5e,0x208cca,0x2065cf,0x207d9a,0x205352,0x208896,0x205176,0x2063c3,0x205b58,
+ 0x205b6b,0x205c0a,0x20640d,0x206751,0x20905c,0x204ed6,0x20591a,0x20592a,0x206c70,0x208a51,
+ 0x20553e,0x205815,0x2059a5,0x2060f0,0x206253,0x2067c1,0x208235,0x206955,0x209640,0x2099c4,
+ 0x209a28,0x204f53,0x205806,0x205bfe,0x208010,0x205cb1,0x205e2f,0x205f85,0x206020,0x20614b,
+ 0x206234,0x2066ff,0x206cf0,0x206ede,0x2080ce,0x20817f,0x2082d4,0x20888b,0x208cb8,0x209000,
+ 0x20902e,0x20968a,0x209edb,0x209bdb,0x204ee3,0x2053f0,0x205927,0x207b2c,0x20918d,0x20984c,
+ 0x209df9,0x206edd,0x207027,0x205353,0x205544,0x205b85,0x206258,0x20629e,0x2062d3,0x206ca2,
+ 0x206fef,0x407422,0x208a17,0x209438,0x206fc1,0x208afe,0x208338,0x2051e7,0x2086f8,0x2053ea,
+ 0x2053e9,0x204f46,0x209054,0x208fb0,0x20596a,0x208131,0x405dfd,0x207aea,0x208fbf,0x2068da,
+ 0x208c37,0x2072f8,0x209c48,0x206a3d,0x208ab0,0x204e39,0x205358,0x405606,0x205766,0x2062c5,
+ 0x2063a2,0x2065e6,0x206b4e,0x206de1,0x206e5b,0x2070ad,0x2077ed,0x207aef,0x207baa,0x207dbb,
+ 0x20803d,0x2080c6,0x2086cb,0x208a95,0x20935b,0x2056e3,0x2058c7,0x205f3e,0x2065ad,0x206696,
+ 0x206a80,0x206bb5,0x207537,0x208ac7,0x205024,0x2077e5,0x205730,0x205f1b,0x206065,0x20667a,
+ 0x206c60,0x2075f4,0x207a1a,0x207f6e,0x2081f4,0x208718,0x209045,0x2099b3,0x207bc9,0x20755c,
+ 0x207af9,0x207b51,0x2084c4,0x209010,0x2079e9,0x207a92,0x208336,0x205ae1,0x207740,0x204e2d,
+ 0x204ef2,0x205b99,0x205fe0,0x2062bd,0x20663c,0x2067f1,0x206ce8,0x20866b,0x208877,0x208a3b,
+ 0x20914e,0x2092f3,0x2099d0,0x206a17,0x207026,0x40732a,0x2082e7,0x208457,0x208caf,0x204e01,
+ 0x205146,0x2051cb,0x20558b,0x205bf5,0x205e16,0x205e33,0x205e81,0x205f14,0x205f35,0x205f6b,
+ 0x205fb4,0x2061f2,0x206311,0x2066a2,0x20671d,0x406f6e,0x207252,0x20753a,0x20773a,0x208074,
+ 0x208139,0x208178,0x208776,0x208abf,0x208adc,0x208d85,0x208df3,0x20929a,0x209577,0x209802,
+ 0x209ce5,0x2052c5,0x206357,0x2076f4,0x206715,0x206c88,0x2073cd,0x208cc3,0x2093ae,0x209673,
+ 0x206d25,0x20589c,0x20690e,0x2069cc,0x208ffd,0x20939a,0x2075db,0x20901a,0x20585a,0x206802,
+ 0x2063b4,0x2069fb,0x204f43,0x206f2c,0x2067d8,0x208fbb,0x208526,0x207db4,0x209354,0x20693f,
+ 0x206f70,0x20576a,0x2058f7,0x205b2c,0x207d2c,0x20722a,0x20540a,0x2091e3,0x409db4,0x204ead,
+ 0x204f4e,0x20505c,0x205075,0x205243,0x208c9e,0x205448,0x205824,0x205b9a,0x205e1d,0x205e95,
+ 0x205ead,0x205ef7,0x205f1f,0x20608c,0x2062b5,0x20633a,0x2063d0,0x2068af,0x206c40,0x207887,
+ 0x20798e,0x207a0b,0x207de0,0x208247,0x208a02,0x208ae6,0x208e44,0x209013,0x2090b8,0x20912d,
+ 0x2091d8,0x209f0e,0x206ce5,0x206458,0x2064e2,0x206575,0x206ef4,0x207684,0x207b1b,0x209069,
+ 0x2093d1,0x206eba,0x2054f2,0x205fb9,0x2064a4,0x208f4d,0x208fed,0x209244,0x205178,0x20586b,
+ 0x205929,0x205c55,0x205e97,0x206dfb,0x207e8f,0x20751c,0x208cbc,0x208ee2,0x20985b,0x2070b9,
+ 0x204f1d,0x206bbf,0x206fb1,0x207530,0x2096fb,0x20514e,0x205410,0x205835,0x205857,0x2059ac,
+ 0x205c60,0x205f92,0x206597,0x20675c,0x206e21,0x20767b,0x2083df,0x208ced,0x209014,0x4090fd,
+ 0x20934d,0x207825,0x20783a,0x2052aa,0x205ea6,0x20571f,0x205974,0x206012,0x205012,0x20515a,
+ 0x4051ac,0x2051cd,0x205200,0x205510,0x205854,0x205858,0x205957,0x205b95,0x205cf6,0x205d8b,
+ 0x2060bc,0x206295,0x20642d,0x206771,0x206843,0x2068bc,0x2068df,0x2076d7,0x206dd8,0x206e6f,
+ 0x206d9b,0x20706f,0x2071c8,0x205f53,0x2075d8,0x207977,0x207b49,0x207b54,0x207b52,0x407cd6,
+ 0x207d71,0x205230,0x208463,0x208569,0x2085e4,0x208a0e,0x208b04,0x208c46,0x208e0f,0x209003,
+ 0x20900f,0x209419,0x209676,0x20982d,0x209a30,0x2095d8,0x2050cd,0x2052d5,0x20540c,0x205802,
+ 0x205c0e,0x2061a7,0x20649e,0x206d1e,0x2077b3,0x207ae5,0x2080f4,0x208404,0x209053,0x209285,
+ 0x205ce0,0x209d07,0x20533f,0x205f97,0x205fb3,0x206d9c,0x207279,0x207763,0x2079bf,0x207be4,
+ 0x206bd2,0x2072ec,0x208aad,0x206803,0x206a61,0x2051f8,0x207a81,0x206934,0x205c4a,0x209cf6,
+ 0x2082eb,0x205bc5,0x209149,0x20701e,0x205678,0x205c6f,0x2060c7,0x206566,0x206c8c,0x208c5a,
+ 0x209041,0x209813,0x205451,0x2066c7,0x20920d,0x205948,0x2090a3,0x205185,0x204e4d,0x2051ea,
+ 0x208599,0x208b0e,0x207058,0x20637a,0x20934b,0x206962,0x2099b4,0x207e04,0x207577,0x205357,
+ 0x206960,0x208edf,0x4096e3,0x206c5d,0x204e8c,0x205c3c,0x205f10,0x208fe9,0x205302,0x208cd1,
+ 0x208089,0x208679,0x205eff,0x2065e5,0x204e73,0x205165,0x205982,0x205c3f,0x2097ee,0x204efb,
+ 0x20598a,0x205fcd,0x208a8d,0x206fe1,0x2079b0,0x207962,0x405be7,0x208471,0x20732b,0x2071b1,
+ 0x205e74,0x205ff5,0x20637b,0x20649a,0x2071c3,0x207c98,0x204e43,0x205efc,0x204e4b,0x2057dc,
+ 0x2056a2,0x2060a9,0x206fc3,0x207d0d,0x2080fd,0x208133,0x2081bf,0x208fb2,0x208997,0x2086a4,
+ 0x205df4,0x20628a,0x2064ad,0x208987,0x206777,0x206ce2,0x206d3e,0x207436,0x207834,0x205a46,
+ 0x207f75,0x2082ad,0x2099ac,0x204ff3,0x205ec3,0x2062dd,0x206392,0x206557,0x20676f,0x2076c3,
+ 0x20724c,0x2080cc,0x2080ba,0x208f29,0x20914d,0x20500d,0x2057f9,0x205a92,0x406885,0x206973,
+ 0x207164,0x2072fd,0x208cb7,0x2058f2,0x208ce0,0x20966a,0x209019,0x20877f,0x2079e4,0x2077e7,
+ 0x208429,0x204f2f,0x205265,0x20535a,0x2062cd,0x2067cf,0x206cca,0x20767d,0x207b94,0x207c95,
+ 0x208236,0x208584,0x208feb,0x2066dd,0x206f20,0x207206,0x207e1b,0x2083ab,0x2099c1,0x209ea6,
+ 0x2051fd,0x207bb1,0x207872,0x207bb8,0x208087,0x207b48,0x206ae8,0x205e61,0x20808c,0x207551,
+ 0x207560,0x20516b,0x209262,0x206e8c,0x20767a,0x209197,0x209aea,0x204f10,0x207f70,0x20629c,
+ 0x207b4f,0x2095a5,0x209ce9,0x20567a,0x205859,0x2086e4,0x2096bc,0x204f34,0x205224,0x20534a,
+ 0x2053cd,0x2053db,0x205e06,0x20642c,0x206591,0x20677f,0x206c3e,0x206c4e,0x207248,0x2072af,
+ 0x2073ed,0x207554,0x207e41,0x20822c,0x2085e9,0x208ca9,0x207bc4,0x2091c6,0x207169,0x209812,
+ 0x4098ef,0x20633d,0x206669,0x20756a,0x2076e4,0x2078d0,0x208543,0x2086ee,0x20532a,0x405351,
+ 0x205426,0x205983,0x205e87,0x205f7c,0x2060b2,0x206249,0x206279,0x2062ab,0x206590,0x206bd4,
+ 0x206ccc,0x2075b2,0x2076ae,0x407891,0x2079d8,0x207dcb,0x207f77,0x2080a5,0x2088ab,0x208ab9,
+ 0x208cbb,0x20907f,0x20975e,0x2098db,0x206a0b,0x207c38,0x205099,0x205c3e,0x205fae,0x206787,
+ 0x206bd8,0x207435,0x207709,0x207f8e,0x209f3b,0x2067ca,0x207a17,0x205339,0x20758b,0x209aed,
+ 0x205f66,0x20819d,0x2083f1,0x208098,0x205f3c,0x205fc5,0x207562,0x207b46,0x20903c,0x206867,
+ 0x2059eb,0x205a9b,0x207d10,0x20767e,0x208b2c,0x204ff5,0x205f6a,0x206a19,0x206c37,0x206f02,
+ 0x2074e2,0x207968,0x208868,0x208a55,0x208c79,0x205edf,0x2063cf,0x2075c5,0x2079d2,0x2082d7,
+ 0x209328,0x2092f2,0x20849c,0x2086ed,0x209c2d,0x2054c1,0x205f6c,0x20658c,0x206d5c,0x207015,
+ 0x208ca7,0x408cd3,0x40983b,0x40654f,0x2074f6,0x204e0d,0x204ed8,0x2057e0,0x20592b,0x205a66,
+ 0x205bcc,0x2051a8,0x205e03,0x205e9c,0x206016,0x206276,0x206577,0x2065a7,0x20666e,0x206d6e,
+ 0x207236,0x207b26,0x208150,0x20819a,0x208299,0x208b5c,0x208ca0,0x208ce6,0x208d74,0x20961c,
+ 0x209644,0x204fae,0x2064ab,0x206b66,0x20821e,0x208461,0x20856a,0x2090e8,0x205c01,0x206953,
+ 0x2098a8,0x20847a,0x208557,0x204f0f,0x20526f,0x205fa9,0x205e45,0x20670d,0x20798f,0x208179,
+ 0x208907,0x208986,0x206df5,0x205f17,0x206255,0x206cb8,0x204ecf,0x207269,0x209b92,0x205206,
+ 0x20543b,0x205674,0x2058b3,0x2061a4,0x20626e,0x20711a,0x20596e,0x207c89,0x207cde,0x207d1b,
+ 0x2096f0,0x206587,0x20805e,0x204e19,0x204f75,0x205175,0x205840,0x205e63,0x205e73,0x205f0a,
+ 0x2067c4,0x204e26,0x20853d,0x209589,0x20965b,0x207c73,0x209801,0x2050fb,0x2058c1,0x207656,
+ 0x2078a7,0x205225,0x2077a5,0x208511,0x207b86,0x20504f,0x205909,0x207247,0x207bc7,0x207de8,
+ 0x208fba,0x208fd4,0x20904d,0x204fbf,0x4052c9,0x205a29,0x205f01,0x2097ad,0x204fdd,0x208217,
+ 0x2092ea,0x205703,0x206355,0x206b69,0x20752b,0x2088dc,0x208f14,0x207a42,0x2052df,0x205893,
+ 0x206155,0x20620a,0x2066ae,0x206bcd,0x207c3f,0x2083e9,0x205023,0x204ff8,0x205305,0x205446,
+ 0x205831,0x205949,0x205b9d,0x205cf0,0x205cef,0x205d29,0x205e96,0x2062b1,0x206367,0x20653e,
+ 0x2065b9,0x20670b,0x206cd5,0x206ce1,0x2070f9,0x207832,0x207e2b,0x2080de,0x2082b3,0x20840c,
+ 0x2084ec,0x208702,0x208912,0x208a2a,0x208c4a,0x2090a6,0x2092d2,0x2098fd,0x209cf3,0x209d6c,
+ 0x204e4f,0x204ea1,0x20508d,0x205256,0x20574a,0x2059a8,0x205e3d,0x205fd8,0x205fd9,0x20623f,
+ 0x2066b4,0x20671b,0x2067d0,0x2068d2,0x205192,0x207d21,0x2080aa,0x2081a8,0x208b00,0x208c8c,
+ 0x208cbf,0x20927e,0x209632,0x205420,0x20982c,0x205317,0x2050d5,0x20535c,0x4058a8,0x2064b2,
+ 0x206734,0x207267,0x207766,0x207a46,0x2091e6,0x2052c3,0x206ca1,0x206b86,0x205800,0x205e4c,
+ 0x205954,0x20672c,0x207ffb,0x2051e1,0x2076c6,0x206469,0x2078e8,0x209b54,0x209ebb,0x2057cb,
+ 0x2059b9,0x206627,0x20679a,0x206bce,0x2054e9,0x2069d9,0x205e55,0x20819c,0x206795,0x209baa,
+ 0x2067fe,0x209c52,0x20685d,0x204ea6,0x204fe3,0x2053c8,0x2062b9,0x20672b,0x206cab,0x208fc4,
+ 0x204fad,0x207e6d,0x209ebf,0x204e07,0x206162,0x206e80,0x206f2b,0x208513,0x205473,0x20672a,
+ 0x209b45,0x205df3,0x207b95,0x205cac,0x205bc6,0x20871c,0x206e4a,0x2084d1,0x207a14,0x208108,
+ 0x205999,0x207c8d,0x206c11,0x207720,0x2052d9,0x205922,0x207121,0x20725f,0x2077db,0x209727,
+ 0x209d61,0x20690b,0x205a7f,0x205a18,0x2051a5,0x20540d,0x20547d,0x20660e,0x2076df,0x208ff7,
+ 0x209298,0x209cf4,0x2059ea,0x20725d,0x206ec5,0x20514d,0x2068c9,0x207dbf,0x207dec,0x209762,
+ 0x209eba,0x206478,0x206a21,0x208302,0x205984,0x205b5f,0x206bdb,0x20731b,0x2076f2,0x207db2,
+ 0x208017,0x208499,0x205132,0x206728,0x209ed9,0x2076ee,0x206762,0x2052ff,0x209905,0x205c24,
+ 0x20623b,0x207c7e,0x208cb0,0x20554f,0x2060b6,0x207d0b,0x209580,0x205301,0x204e5f,0x2051b6,
+ 0x20591c,0x20723a,0x208036,0x2091ce,0x205f25,0x2077e2,0x205384,0x205f79,0x207d04,0x2085ac,
+ 0x208a33,0x208e8d,0x209756,0x2067f3,0x2085ae,0x209453,0x206109,0x206108,0x206cb9,0x207652,
+ 0x408aed,0x208f38,0x20552f,0x204f51,0x20512a,0x2052c7,0x2053cb,0x205ba5,0x205e7d,0x2060a0,
+ 0x206182,0x2063d6,0x206709,0x2067da,0x206e67,0x206d8c,0x207336,0x207337,0x207531,0x407950,
+ 0x2088d5,0x208a98,0x20904a,0x209091,0x2090f5,0x2096c4,0x20878d,0x205915,0x204e88,0x204f59,
+ 0x204e0e,0x208a89,0x208f3f,0x209810,0x2050ad,0x205e7c,0x205996,0x205bb9,0x205eb8,0x2063da,
+ 0x2063fa,0x2064c1,0x2066dc,0x20694a,0x2069d8,0x206d0b,0x206eb6,0x207194,0x207528,0x207aaf,
+ 0x407f8a,0x208000,0x208449,0x2084c9,0x208981,0x208b21,0x208e0a,0x209065,0x20967d,0x20990a,
+ 0x20617e,0x206291,0x206b32,0x206c83,0x206d74,0x207fcc,0x207ffc,0x206dc0,0x207f85,0x2087ba,
+ 0x2088f8,0x206765,0x2083b1,0x20983c,0x2096f7,0x206d1b,0x207d61,0x20843d,0x20916a,0x204e71,
+ 0x205375,0x205d50,0x406b04,0x206feb,0x2085cd,0x20862d,0x2089a7,0x205229,0x20540f,0x205c65,
+ 0x20674e,0x2068a8,0x207406,0x207483,0x2075e2,0x2088cf,0x2088e1,0x2091cc,0x2096e2,0x209678,
+ 0x205f8b,0x207387,0x207acb,0x20844e,0x2063a0,0x207565,0x205289,0x206d41,0x206e9c,0x207409,
+ 0x207559,0x20786b,0x207c92,0x209686,0x207adc,0x209f8d,0x204fb6,0x20616e,0x2065c5,0x40865c,
+ 0x204e86,0x204eae,0x2050da,0x204e21,0x2051cc,0x205bee,0x206599,0x206881,0x206dbc,0x20731f,
+ 0x207642,0x2077ad,0x207a1c,0x207ce7,0x20826f,0x208ad2,0x20907c,0x2091cf,0x209675,0x209818,
+ 0x20529b,0x207dd1,0x20502b,0x205398,0x206797,0x206dcb,0x2071d0,0x207433,0x2081e8,0x208f2a,
+ 0x2096a3,0x209c57,0x209e9f,0x207460,0x205841,0x206d99,0x207d2f,0x40985e,0x204ee4,0x204f36,
+ 0x204f8b,0x2051b7,0x2052b1,0x205dba,0x20601c,0x2073b2,0x20793c,0x2082d3,0x209234,0x2096b7,
+ 0x2096f6,0x20970a,0x209e97,0x209f62,0x2066a6,0x206b74,0x205217,0x2052a3,0x2070c8,0x2088c2,
+ 0x405ec9,0x20604b,0x206190,0x406f23,0x407149,0x207c3e,0x407df4,0x20806f,0x4084ee,0x409023,
+ 0x20932c,0x205442,0x209b6f,0x206ad3,0x207089,0x208cc2,0x208def,0x209732,0x2052b4,0x205a41,
+ 0x205eca,0x205f04,0x406717,0x20697c,0x206994,0x206d6a,0x206f0f,0x207262,0x2072fc,0x207bed,
+ 0x208001,0x20807e,0x20874b,0x2090ce,0x20516d,0x209e93,0x207984,0x20808b,0x209332,0x208ad6,
+ 0x20502d,0x20548c,0x208a71,0x206b6a,0x208cc4,0x208107,0x2060d1,0x2067a0,0x209df2,0x204e99,
+ 0x204e98,0x209c10,0x208a6b,0x2085c1,0x208568,0x206900,0x206e7e,0x207897,0x208155,0x205f0c,
+ 0x204e10,0x204e15,0x204e2a,0x204e31,0x204e36,0x204e3c,0x204e3f,0x204e42,0x204e56,0x204e58,
+ 0x204e82,0x204e85,0x208c6b,0x204e8a,0x208212,0x205f0d,0x204e8e,0x204e9e,0x204e9f,0x204ea0,
+ 0x204ea2,0x204eb0,0x204eb3,0x204eb6,0x204ece,0x204ecd,0x204ec4,0x204ec6,0x204ec2,0x204ed7,
+ 0x204ede,0x204eed,0x204edf,0x204ef7,0x204f09,0x204f5a,0x204f30,0x204f5b,0x204f5d,0x204f57,
+ 0x204f47,0x204f76,0x204f88,0x204f8f,0x204f98,0x204f7b,0x204f69,0x204f70,0x204f91,0x204f6f,
+ 0x204f86,0x204f96,0x205118,0x204fd4,0x204fdf,0x204fce,0x204fd8,0x204fdb,0x204fd1,0x204fda,
+ 0x204fd0,0x204fe4,0x204fe5,0x20501a,0x205028,0x205014,0x20502a,0x205025,0x205005,0x204f1c,
+ 0x204ff6,0x205021,0x205029,0x20502c,0x204ffe,0x204fef,0x205011,0x205006,0x205043,0x205047,
+ 0x206703,0x205055,0x205050,0x205048,0x20505a,0x205056,0x20506c,0x205078,0x205080,0x20509a,
+ 0x205085,0x2050b4,0x2050b2,0x2050c9,0x2050ca,0x2050b3,0x2050c2,0x2050d6,0x2050de,0x2050e5,
+ 0x2050ed,0x2050e3,0x2050ee,0x2050f9,0x2050f5,0x205109,0x205101,0x205102,0x205116,0x205115,
+ 0x205114,0x20511a,0x205121,0x20513a,0x205137,0x20513c,0x20513b,0x20513f,0x205140,0x205152,
+ 0x20514c,0x405154,0x205162,0x207af8,0x205169,0x20516a,0x20516e,0x205180,0x205182,0x2056d8,
+ 0x20518c,0x205189,0x20518f,0x205191,0x205193,0x405195,0x205196,0x2051a4,0x2051a6,0x2051a2,
+ 0x2051a9,0x2051aa,0x2051ab,0x2051b3,0x2051b1,0x2051b2,0x2051b0,0x2051b5,0x2051bd,0x2051c5,
+ 0x2051c9,0x2051db,0x2051e0,0x208655,0x2051e9,0x2051ed,0x2051f0,0x2051f5,0x2051fe,0x205204,
+ 0x20520b,0x205214,0x20520e,0x205227,0x20522a,0x20522e,0x205233,0x205239,0x20524f,0x205244,
+ 0x20524b,0x20524c,0x20525e,0x205254,0x20526a,0x205274,0x205269,0x205273,0x20527f,0x20527d,
+ 0x20528d,0x205294,0x205292,0x205271,0x205288,0x205291,0x208fa8,0x208fa7,0x2052ac,0x2052ad,
+ 0x2052bc,0x2052b5,0x2052c1,0x2052cd,0x2052d7,0x2052de,0x2052e3,0x2052e6,0x2098ed,0x2052e0,
+ 0x2052f3,0x2052f5,0x2052f8,0x2052f9,0x205306,0x205308,0x207538,0x20530d,0x205310,0x20530f,
+ 0x205315,0x20531a,0x205323,0x20532f,0x205331,0x205333,0x205338,0x205340,0x205346,0x205345,
+ 0x204e17,0x205349,0x20534d,0x2051d6,0x20535e,0x205369,0x20536e,0x205918,0x20537b,0x205377,
+ 0x205382,0x205396,0x2053a0,0x2053a6,0x2053a5,0x2053ae,0x2053b0,0x2053b6,0x2053c3,0x207c12,
+ 0x2096d9,0x2053df,0x2066fc,0x2071ee,0x2053ee,0x2053e8,0x2053ed,0x2053fa,0x205401,0x20543d,
+ 0x205440,0x20542c,0x20542d,0x20543c,0x20542e,0x205436,0x205429,0x20541d,0x20544e,0x20548f,
+ 0x205475,0x20548e,0x20545f,0x205471,0x205477,0x205470,0x205492,0x20547b,0x205480,0x205476,
+ 0x205484,0x205490,0x205486,0x2054c7,0x2054a2,0x2054b8,0x2054a5,0x2054ac,0x2054c4,0x2054c8,
+ 0x2054a8,0x2054ab,0x2054c2,0x2054a4,0x2054be,0x2054bc,0x2054d8,0x2054e5,0x2054e6,0x20550f,
+ 0x205514,0x2054fd,0x2054ee,0x2054ed,0x2054fa,0x2054e2,0x205539,0x205540,0x205563,0x20554c,
+ 0x20552e,0x20555c,0x205545,0x205556,0x205557,0x205538,0x205533,0x20555d,0x205599,0x205580,
+ 0x2054af,0x20558a,0x20559f,0x20557b,0x20557e,0x205598,0x20559e,0x2055ae,0x20557c,0x205583,
+ 0x2055a9,0x205587,0x2055a8,0x2055da,0x2055c5,0x2055df,0x2055c4,0x2055dc,0x2055e4,0x2055d4,
+ 0x205614,0x2055f7,0x205616,0x2055fe,0x2055fd,0x20561b,0x2055f9,0x20564e,0x205650,0x2071df,
+ 0x205634,0x205636,0x205632,0x205638,0x20566b,0x205664,0x20562f,0x20566c,0x20566a,0x205686,
+ 0x205680,0x20568a,0x2056a0,0x205694,0x20568f,0x2056a5,0x2056ae,0x2056b6,0x2056b4,0x2056c2,
+ 0x2056bc,0x2056c1,0x2056c3,0x2056c0,0x2056c8,0x2056ce,0x2056d1,0x2056d3,0x2056d7,0x2056ee,
+ 0x2056f9,0x205700,0x2056ff,0x205704,0x205709,0x205708,0x20570b,0x20570d,0x205713,0x205718,
+ 0x205716,0x2055c7,0x20571c,0x205726,0x205737,0x205738,0x20574e,0x20573b,0x205740,0x20574f,
+ 0x205769,0x2057c0,0x205788,0x205761,0x20577f,0x205789,0x205793,0x2057a0,0x2057b3,0x2057a4,
+ 0x2057aa,0x2057b0,0x2057c3,0x2057c6,0x2057d4,0x2057d2,0x2057d3,0x20580a,0x2057d6,0x2057e3,
+ 0x20580b,0x205819,0x20581d,0x205872,0x205821,0x205862,0x20584b,0x205870,0x206bc0,0x205852,
+ 0x20583d,0x205879,0x205885,0x2058b9,0x20589f,0x2058ab,0x2058ba,0x2058de,0x2058bb,0x2058b8,
+ 0x2058ae,0x2058c5,0x2058d3,0x2058d1,0x2058d7,0x2058d9,0x2058d8,0x2058e5,0x2058dc,0x2058e4,
+ 0x2058df,0x2058ef,0x2058fa,0x2058f9,0x2058fb,0x2058fc,0x2058fd,0x205902,0x20590a,0x205910,
+ 0x20591b,0x2068a6,0x205925,0x20592c,0x20592d,0x205932,0x205938,0x20593e,0x207ad2,0x205955,
+ 0x205950,0x20594e,0x20595a,0x205958,0x205962,0x205960,0x205967,0x20596c,0x205969,0x205978,
+ 0x205981,0x20599d,0x204f5e,0x204fab,0x2059a3,0x2059b2,0x2059c6,0x2059e8,0x2059dc,0x20598d,
+ 0x2059d9,0x2059da,0x205a25,0x205a1f,0x205a11,0x205a1c,0x205a09,0x205a1a,0x205a40,0x205a6c,
+ 0x205a49,0x205a35,0x205a36,0x205a62,0x205a6a,0x205a9a,0x205abc,0x205abe,0x205acb,0x205ac2,
+ 0x205abd,0x205ae3,0x205ad7,0x205ae6,0x205ae9,0x205ad6,0x205afa,0x205afb,0x205b0c,0x205b0b,
+ 0x205b16,0x205b32,0x205ad0,0x205b2a,0x205b36,0x205b3e,0x205b43,0x205b45,0x205b40,0x205b51,
+ 0x205b55,0x205b5a,0x205b5b,0x205b65,0x205b69,0x205b70,0x205b73,0x205b75,0x205b78,0x206588,
+ 0x205b7a,0x205b80,0x205b83,0x205ba6,0x205bb8,0x205bc3,0x205bc7,0x205bc9,0x205bd4,0x205bd0,
+ 0x205be4,0x205be6,0x205be2,0x205bde,0x205be5,0x205beb,0x205bf0,0x205bf6,0x205bf3,0x205c05,
+ 0x205c07,0x205c08,0x205c0d,0x205c13,0x205c20,0x205c22,0x205c28,0x205c38,0x205c39,0x205c41,
+ 0x205c46,0x205c4e,0x205c53,0x205c50,0x205c4f,0x205b71,0x205c6c,0x405c6e,0x204e62,0x205c76,
+ 0x205c79,0x205c8c,0x205c91,0x205c94,0x20599b,0x205cab,0x205cbb,0x205cb6,0x205cbc,0x205cb7,
+ 0x205cc5,0x205cbe,0x205cc7,0x205cd9,0x205ce9,0x205cfd,0x205cfa,0x205ced,0x205d8c,0x205cea,
+ 0x205d0b,0x205d15,0x205d17,0x205d5c,0x205d1f,0x205d1b,0x205d11,0x205d14,0x205d22,0x205d1a,
+ 0x205d19,0x205d18,0x205d4c,0x205d52,0x205d4e,0x205d4b,0x205d6c,0x205d73,0x205d76,0x205d87,
+ 0x205d84,0x205d82,0x205da2,0x205d9d,0x205dac,0x205dae,0x205dbd,0x205d90,0x205db7,0x205dbc,
+ 0x205dc9,0x205dcd,0x205dd3,0x205dd2,0x205dd6,0x205ddb,0x205deb,0x205df2,0x205df5,0x205e0b,
+ 0x205e1a,0x205e19,0x205e11,0x205e1b,0x205e36,0x205e37,0x205e44,0x205e43,0x205e40,0x205e4e,
+ 0x205e57,0x205e54,0x205e5f,0x205e62,0x205e64,0x205e47,0x205e75,0x205e76,0x205e7a,0x209ebc,
+ 0x205e7f,0x205ea0,0x205ec1,0x205ec2,0x205ec8,0x205ed0,0x205ecf,0x205ed6,0x205ee3,0x205edd,
+ 0x205eda,0x205edb,0x205ee2,0x205ee1,0x205ee8,0x205ee9,0x205eec,0x205ef1,0x205ef3,0x205ef0,
+ 0x205ef4,0x205ef8,0x205efe,0x205f03,0x205f09,0x205f5d,0x205f5c,0x205f0b,0x205f11,0x205f16,
+ 0x205f29,0x205f2d,0x205f38,0x205f41,0x205f48,0x205f4c,0x205f4e,0x205f2f,0x205f51,0x205f56,
+ 0x205f57,0x205f59,0x205f61,0x205f6d,0x205f73,0x205f77,0x205f83,0x205f82,0x205f7f,0x205f8a,
+ 0x205f88,0x205f91,0x205f87,0x205f9e,0x205f99,0x205f98,0x205fa0,0x205fa8,0x205fad,0x205fbc,
+ 0x205fd6,0x205ffb,0x205fe4,0x205ff8,0x205ff1,0x205fdd,0x2060b3,0x205fff,0x206021,0x206060,
+ 0x206019,0x206010,0x206029,0x20600e,0x206031,0x20601b,0x206015,0x20602b,0x206026,0x20600f,
+ 0x20603a,0x20605a,0x206041,0x20606a,0x206077,0x20605f,0x20604a,0x206046,0x20604d,0x206063,
+ 0x206043,0x206064,0x206042,0x20606c,0x20606b,0x206059,0x206081,0x20608d,0x2060e7,0x206083,
+ 0x20609a,0x206084,0x20609b,0x206096,0x206097,0x206092,0x2060a7,0x20608b,0x2060e1,0x2060b8,
+ 0x2060e0,0x2060d3,0x2060b4,0x205ff0,0x2060bd,0x2060c6,0x2060b5,0x2060d8,0x20614d,0x206115,
+ 0x206106,0x2060f6,0x2060f7,0x206100,0x2060f4,0x2060fa,0x206103,0x206121,0x2060fb,0x2060f1,
+ 0x20610d,0x20610e,0x206147,0x20613e,0x206128,0x206127,0x20614a,0x20613f,0x20613c,0x20612c,
+ 0x206134,0x20613d,0x206142,0x206144,0x206173,0x206177,0x206158,0x206159,0x20615a,0x20616b,
+ 0x206174,0x20616f,0x206165,0x206171,0x20615f,0x20615d,0x206153,0x206175,0x206199,0x206196,
+ 0x206187,0x2061ac,0x206194,0x20619a,0x20618a,0x206191,0x2061ab,0x2061ae,0x2061cc,0x2061ca,
+ 0x2061c9,0x2061f7,0x2061c8,0x2061c3,0x2061c6,0x2061ba,0x2061cb,0x207f79,0x2061cd,0x2061e6,
+ 0x2061e3,0x2061f6,0x2061fa,0x2061f4,0x2061ff,0x2061fd,0x2061fc,0x2061fe,0x206200,0x206208,
+ 0x206209,0x20620d,0x20620c,0x206214,0x20621b,0x20621e,0x206221,0x20622a,0x20622e,0x206230,
+ 0x206232,0x206233,0x206241,0x20624e,0x20625e,0x206263,0x20625b,0x206260,0x206268,0x20627c,
+ 0x206282,0x206289,0x20627e,0x206292,0x206293,0x206296,0x4062d4,0x206283,0x206294,0x2062d7,
+ 0x2062d1,0x2062bb,0x2062cf,0x2062ff,0x2062c6,0x2064d4,0x2062c8,0x2062dc,0x2062cc,0x2062ca,
+ 0x2062c2,0x2062c7,0x20629b,0x2062c9,0x20630c,0x2062ee,0x2062f1,0x206327,0x206302,0x206308,
+ 0x2062ef,0x2062f5,0x206350,0x20633e,0x20634d,0x20641c,0x20634f,0x206396,0x20638e,0x206380,
+ 0x2063ab,0x206376,0x2063a3,0x20638f,0x206389,0x20639f,0x2063b5,0x20636b,0x206369,0x2063be,
+ 0x2063e9,0x2063c0,0x2063c6,0x2063e3,0x2063c9,0x2063d2,0x2063f6,0x2063c4,0x206416,0x206434,
+ 0x206406,0x206413,0x206426,0x206436,0x20651d,0x206417,0x206428,0x20640f,0x206467,0x20646f,
+ 0x206476,0x20644e,0x20652a,0x206495,0x206493,0x2064a5,0x2064a9,0x206488,0x2064bc,0x2064da,
+ 0x2064d2,0x2064c5,0x2064c7,0x2064bb,0x2064d8,0x2064c2,0x2064f1,0x2064e7,0x208209,0x2064e0,
+ 0x2064e1,0x2062ac,0x2064e3,0x2064ef,0x20652c,0x2064f6,0x2064f4,0x2064f2,0x2064fa,0x206500,
+ 0x2064fd,0x206518,0x20651c,0x206505,0x206524,0x206523,0x20652b,0x206534,0x206535,0x206537,
+ 0x206536,0x206538,0x20754b,0x206548,0x206556,0x206555,0x20654d,0x206558,0x20655e,0x20655d,
+ 0x206572,0x206578,0x206582,0x206583,0x208b8a,0x20659b,0x20659f,0x2065ab,0x2065b7,0x2065c3,
+ 0x2065c6,0x2065c1,0x2065c4,0x2065cc,0x2065d2,0x2065db,0x2065d9,0x2065e0,0x2065e1,0x2065f1,
+ 0x206772,0x20660a,0x206603,0x2065fb,0x206773,0x206635,0x206636,0x206634,0x20661c,0x20664f,
+ 0x206644,0x206649,0x206641,0x20665e,0x20665d,0x206664,0x206667,0x206668,0x20665f,0x206662,
+ 0x206670,0x206683,0x206688,0x20668e,0x206689,0x206684,0x206698,0x20669d,0x2066c1,0x2066b9,
+ 0x2066c9,0x2066be,0x2066bc,0x2066c4,0x2066b8,0x2066d6,0x2066da,0x2066e0,0x20663f,0x2066e6,
+ 0x2066e9,0x2066f0,0x2066f5,0x2066f7,0x20670f,0x206716,0x20671e,0x206726,0x206727,0x209738,
+ 0x20672e,0x20673f,0x206736,0x206741,0x206738,0x206737,0x206746,0x20675e,0x206760,0x206759,
+ 0x206763,0x206764,0x206789,0x206770,0x2067a9,0x20677c,0x20676a,0x20678c,0x20678b,0x2067a6,
+ 0x2067a1,0x206785,0x2067b7,0x2067ef,0x2067b4,0x2067ec,0x2067b3,0x2067e9,0x2067b8,0x2067e4,
+ 0x2067de,0x2067dd,0x2067e2,0x2067ee,0x2067b9,0x2067ce,0x2067c6,0x2067e7,0x206a9c,0x20681e,
+ 0x206846,0x206829,0x206840,0x20684d,0x206832,0x20684e,0x2068b3,0x20682b,0x206859,0x206863,
+ 0x206877,0x20687f,0x20689f,0x20688f,0x2068ad,0x206894,0x20689d,0x20689b,0x206883,0x206aae,
+ 0x2068b9,0x206874,0x2068b5,0x2068a0,0x2068ba,0x20690f,0x20688d,0x20687e,0x206901,0x2068ca,
+ 0x206908,0x2068d8,0x206922,0x206926,0x2068e1,0x20690c,0x2068cd,0x2068d4,0x2068e7,0x2068d5,
+ 0x206936,0x206912,0x206904,0x2068d7,0x2068e3,0x206925,0x2068f9,0x2068e0,0x2068ef,0x206928,
+ 0x20692a,0x20691a,0x206923,0x206921,0x2068c6,0x206979,0x206977,0x20695c,0x206978,0x20696b,
+ 0x206954,0x20697e,0x20696e,0x206939,0x206974,0x20693d,0x206959,0x206930,0x206961,0x20695e,
+ 0x20695d,0x206981,0x20696a,0x2069b2,0x2069ae,0x2069d0,0x2069bf,0x2069c1,0x2069d3,0x2069be,
+ 0x2069ce,0x205be8,0x2069ca,0x2069dd,0x2069bb,0x2069c3,0x2069a7,0x206a2e,0x206991,0x2069a0,
+ 0x20699c,0x206995,0x2069b4,0x2069de,0x2069e8,0x206a02,0x206a1b,0x2069ff,0x206b0a,0x2069f9,
+ 0x2069f2,0x2069e7,0x206a05,0x2069b1,0x206a1e,0x2069ed,0x206a14,0x2069eb,0x206a0a,0x206a12,
+ 0x206ac1,0x206a23,0x206a13,0x206a44,0x206a0c,0x206a72,0x206a36,0x206a78,0x206a47,0x206a62,
+ 0x206a59,0x206a66,0x206a48,0x206a38,0x206a22,0x206a90,0x206a8d,0x206aa0,0x206a84,0x206aa2,
+ 0x206aa3,0x206a97,0x208617,0x206abb,0x206ac3,0x206ac2,0x206ab8,0x206ab3,0x206aac,0x206ade,
+ 0x206ad1,0x206adf,0x206aaa,0x206ada,0x206aea,0x206afb,0x206b05,0x208616,0x206afa,0x206b12,
+ 0x206b16,0x209b31,0x206b1f,0x206b38,0x206b37,0x2076dc,0x206b39,0x2098ee,0x206b47,0x206b43,
+ 0x206b49,0x206b50,0x206b59,0x206b54,0x206b5b,0x206b5f,0x206b61,0x206b78,0x206b79,0x206b7f,
+ 0x206b80,0x206b84,0x206b83,0x206b8d,0x206b98,0x206b95,0x206b9e,0x206ba4,0x206baa,0x206bab,
+ 0x206baf,0x206bb2,0x206bb1,0x206bb3,0x206bb7,0x206bbc,0x206bc6,0x206bcb,0x206bd3,0x206bdf,
+ 0x206bec,0x206beb,0x206bf3,0x206bef,0x209ebe,0x206c08,0x206c13,0x206c14,0x206c1b,0x206c24,
+ 0x206c23,0x206c5e,0x206c55,0x206c62,0x206c6a,0x206c82,0x206c8d,0x206c9a,0x206c81,0x206c9b,
+ 0x206c7e,0x206c68,0x206c73,0x206c92,0x206c90,0x206cc4,0x206cf1,0x206cd3,0x206cbd,0x206cd7,
+ 0x206cc5,0x206cdd,0x206cae,0x206cb1,0x206cbe,0x206cba,0x206cdb,0x206cef,0x206cd9,0x206cea,
+ 0x206d1f,0x20884d,0x206d36,0x206d2b,0x206d3d,0x206d38,0x206d19,0x206d35,0x206d33,0x206d12,
+ 0x206d0c,0x206d63,0x206d93,0x206d64,0x206d5a,0x206d79,0x206d59,0x206d8e,0x206d95,0x206fe4,
+ 0x206d85,0x206df9,0x206e15,0x206e0a,0x206db5,0x206dc7,0x206de6,0x206db8,0x206dc6,0x206dec,
+ 0x206dde,0x206dcc,0x206de8,0x206dd2,0x206dc5,0x206dfa,0x206dd9,0x206de4,0x206dd5,0x206dea,
+ 0x206dee,0x206e2d,0x206e6e,0x206e2e,0x206e19,0x206e72,0x206e5f,0x206e3e,0x206e23,0x206e6b,
+ 0x206e2b,0x206e76,0x206e4d,0x206e1f,0x206e43,0x206e3a,0x206e4e,0x206e24,0x206eff,0x206e1d,
+ 0x206e38,0x206e82,0x206eaa,0x206e98,0x206ec9,0x206eb7,0x206ed3,0x206ebd,0x206eaf,0x206ec4,
+ 0x206eb2,0x206ed4,0x206ed5,0x206e8f,0x206ea5,0x206ec2,0x206e9f,0x206f41,0x206f11,0x20704c,
+ 0x206eec,0x206ef8,0x206efe,0x206f3f,0x206ef2,0x206f31,0x206eef,0x206f32,0x206ecc,0x206f3e,
+ 0x206f13,0x206ef7,0x206f86,0x206f7a,0x206f78,0x206f81,0x206f80,0x206f6f,0x206f5b,0x206ff3,
+ 0x206f6d,0x206f82,0x206f7c,0x206f58,0x206f8e,0x206f91,0x206fc2,0x206f66,0x206fb3,0x206fa3,
+ 0x206fa1,0x206fa4,0x206fb9,0x206fc6,0x206faa,0x206fdf,0x206fd5,0x206fec,0x206fd4,0x206fd8,
+ 0x206ff1,0x206fee,0x206fdb,0x207009,0x20700b,0x206ffa,0x207011,0x207001,0x20700f,0x206ffe,
+ 0x20701b,0x20701a,0x206f74,0x20701d,0x207018,0x20701f,0x207030,0x20703e,0x207032,0x207051,
+ 0x207063,0x207099,0x207092,0x2070af,0x2070f1,0x2070ac,0x2070b8,0x2070b3,0x2070ae,0x2070df,
+ 0x2070cb,0x2070dd,0x2070d9,0x207109,0x2070fd,0x20711c,0x207119,0x207165,0x207155,0x207188,
+ 0x207166,0x207162,0x20714c,0x207156,0x20716c,0x20718f,0x2071fb,0x207184,0x207195,0x2071a8,
+ 0x2071ac,0x2071d7,0x2071b9,0x2071be,0x2071d2,0x2071c9,0x2071d4,0x2071ce,0x2071e0,0x2071ec,
+ 0x2071e7,0x2071f5,0x2071fc,0x2071f9,0x2071ff,0x20720d,0x207210,0x20721b,0x407228,0x20722d,
+ 0x20722c,0x207230,0x207232,0x20723b,0x20723c,0x20723f,0x207240,0x207246,0x20724b,0x207258,
+ 0x207274,0x20727e,0x207282,0x207281,0x207287,0x207292,0x207296,0x2072a2,0x2072a7,0x2072b9,
+ 0x2072b2,0x2072c3,0x2072c6,0x2072c4,0x2072ce,0x2072d2,0x2072e2,0x2072e0,0x2072e1,0x2072f9,
+ 0x2072f7,0x20500f,0x207317,0x20730a,0x20731c,0x207316,0x20731d,0x207334,0x20732f,0x207329,
+ 0x207325,0x20733e,0x20734e,0x20734f,0x209ed8,0x207357,0x20736a,0x207368,0x207370,0x207378,
+ 0x207375,0x20737b,0x20737a,0x2073c8,0x2073b3,0x2073ce,0x2073bb,0x2073c0,0x2073e5,0x2073ee,
+ 0x2073de,0x2074a2,0x207405,0x20746f,0x207425,0x2073f8,0x207432,0x20743a,0x207455,0x20743f,
+ 0x20745f,0x207459,0x207441,0x20745c,0x207469,0x207470,0x207463,0x20746a,0x207476,0x20747e,
+ 0x20748b,0x20749e,0x2074a7,0x2074ca,0x2074cf,0x2074d4,0x2073f1,0x2074e0,0x2074e3,0x2074e7,
+ 0x2074e9,0x2074ee,0x2074f2,0x2074f0,0x2074f1,0x2074f8,0x2074f7,0x207504,0x207503,0x207505,
+ 0x20750c,0x20750e,0x20750d,0x207515,0x207513,0x20751e,0x207526,0x20752c,0x20753c,0x207544,
+ 0x20754d,0x20754a,0x207549,0x20755b,0x207546,0x20755a,0x207569,0x207564,0x207567,0x20756b,
+ 0x20756d,0x207578,0x207576,0x207586,0x207587,0x207574,0x20758a,0x207589,0x207582,0x207594,
+ 0x20759a,0x20759d,0x2075a5,0x2075a3,0x2075c2,0x2075b3,0x2075c3,0x2075b5,0x2075bd,0x2075b8,
+ 0x2075bc,0x2075b1,0x2075cd,0x2075ca,0x2075d2,0x2075d9,0x2075e3,0x2075de,0x2075fe,0x2075ff,
+ 0x2075fc,0x207601,0x2075f0,0x2075fa,0x2075f2,0x2075f3,0x20760b,0x20760d,0x207609,0x20761f,
+ 0x207627,0x207620,0x207621,0x207622,0x207624,0x207634,0x207630,0x20763b,0x207647,0x207648,
+ 0x207646,0x20765c,0x207658,0x207661,0x207662,0x207668,0x207669,0x20766a,0x207667,0x20766c,
+ 0x207670,0x207672,0x207676,0x207678,0x20767c,0x207680,0x207683,0x207688,0x20768b,0x20768e,
+ 0x207696,0x207693,0x207699,0x20769a,0x2076b0,0x2076b4,0x2076b8,0x2076b9,0x2076ba,0x2076c2,
+ 0x2076cd,0x2076d6,0x2076d2,0x2076de,0x2076e1,0x2076e5,0x2076e7,0x2076ea,0x20862f,0x2076fb,
+ 0x207708,0x207707,0x207704,0x207729,0x207724,0x40771e,0x207725,0x207726,0x20771b,0x207737,
+ 0x207738,0x207747,0x20775a,0x207768,0x20776b,0x20775b,0x207765,0x20777f,0x20777e,0x207779,
+ 0x20778e,0x20778b,0x207791,0x2077a0,0x20779e,0x2077b0,0x2077b6,0x2077b9,0x2077bf,0x2077bc,
+ 0x2077bd,0x2077bb,0x2077c7,0x2077cd,0x2077d7,0x2077da,0x2077dc,0x2077e3,0x2077ee,0x2077fc,
+ 0x20780c,0x207812,0x207926,0x207820,0x20792a,0x207845,0x20788e,0x207874,0x207886,0x20787c,
+ 0x20789a,0x20788c,0x2078a3,0x2078b5,0x2078aa,0x2078af,0x2078d1,0x2078c6,0x2078cb,0x2078d4,
+ 0x2078be,0x2078bc,0x2078c5,0x2078ca,0x2078ec,0x2078e7,0x2078da,0x2078fd,0x2078f4,0x207907,
+ 0x207912,0x207911,0x207919,0x20792c,0x20792b,0x207940,0x207960,0x207957,0x20795f,0x20795a,
+ 0x207955,0x207953,0x20797a,0x20797f,0x20798a,0x20799d,0x2079a7,0x209f4b,0x2079aa,0x2079ae,
+ 0x2079b3,0x2079b9,0x2079ba,0x2079c9,0x2079d5,0x2079e7,0x2079ec,0x2079e1,0x2079e3,0x207a08,
+ 0x207a0d,0x207a18,0x207a19,0x207a20,0x207a1f,0x207980,0x207a31,0x207a3b,0x207a3e,0x207a37,
+ 0x207a43,0x207a57,0x207a49,0x207a61,0x207a62,0x207a69,0x209f9d,0x207a70,0x207a79,0x207a7d,
+ 0x207a88,0x207a97,0x207a95,0x207a98,0x207a96,0x207aa9,0x207ac8,0x207ab0,0x207ab6,0x207ac5,
+ 0x207ac4,0x207abf,0x209083,0x207ac7,0x207aca,0x207acd,0x207acf,0x207ad5,0x207ad3,0x207ad9,
+ 0x207ada,0x207add,0x207ae1,0x207ae2,0x207ae6,0x207aed,0x207af0,0x207b02,0x207b0f,0x207b0a,
+ 0x207b06,0x207b33,0x207b18,0x207b19,0x207b1e,0x207b35,0x207b28,0x207b36,0x207b50,0x207b7a,
+ 0x207b04,0x207b4d,0x207b0b,0x207b4c,0x207b45,0x207b75,0x207b65,0x207b74,0x207b67,0x207b70,
+ 0x207b71,0x207b6c,0x207b6e,0x207b9d,0x207b98,0x207b9f,0x207b8d,0x207b9c,0x207b9a,0x207b8b,
+ 0x207b92,0x207b8f,0x207b5d,0x207b99,0x207bcb,0x207bc1,0x207bcc,0x207bcf,0x207bb4,0x207bc6,
+ 0x207bdd,0x207be9,0x207c11,0x207c14,0x207be6,0x207be5,0x207c60,0x207c00,0x207c07,0x207c13,
+ 0x207bf3,0x207bf7,0x207c17,0x207c0d,0x207bf6,0x207c23,0x207c27,0x207c2a,0x207c1f,0x207c37,
+ 0x207c2b,0x207c3d,0x207c4c,0x207c43,0x207c54,0x207c4f,0x207c40,0x207c50,0x207c58,0x207c5f,
+ 0x207c64,0x207c56,0x207c65,0x207c6c,0x207c75,0x207c83,0x207c90,0x207ca4,0x207cad,0x207ca2,
+ 0x207cab,0x207ca1,0x207ca8,0x207cb3,0x207cb2,0x207cb1,0x207cae,0x207cb9,0x207cbd,0x207cc0,
+ 0x207cc5,0x207cc2,0x207cd8,0x207cd2,0x207cdc,0x207ce2,0x209b3b,0x207cef,0x207cf2,0x207cf4,
+ 0x207cf6,0x207cfa,0x207d06,0x207d02,0x207d1c,0x207d15,0x207d0a,0x207d45,0x207d4b,0x207d2e,
+ 0x207d32,0x207d3f,0x207d35,0x207d46,0x207d73,0x207d56,0x207d4e,0x207d72,0x207d68,0x207d6e,
+ 0x207d4f,0x207d63,0x207d93,0x207d89,0x207d5b,0x207d8f,0x207d7d,0x207d9b,0x207dba,0x207dae,
+ 0x207da3,0x207db5,0x207dc7,0x207dbd,0x207dab,0x207e3d,0x207da2,0x207daf,0x207ddc,0x207db8,
+ 0x207d9f,0x207db0,0x207dd8,0x207ddd,0x207de4,0x207dde,0x207dfb,0x207df2,0x207de1,0x207e05,
+ 0x207e0a,0x207e23,0x207e21,0x207e12,0x207e31,0x207e1f,0x207e09,0x207e0b,0x207e22,0x207e46,
+ 0x207e66,0x207e3b,0x207e35,0x207e39,0x207e43,0x207e37,0x207e32,0x207e3a,0x207e67,0x207e5d,
+ 0x207e56,0x207e5e,0x207e59,0x207e5a,0x207e79,0x207e6a,0x207e69,0x207e7c,0x207e7b,0x207e83,
+ 0x207dd5,0x207e7d,0x208fae,0x207e7f,0x207e88,0x207e89,0x207e8c,0x207e92,0x207e90,0x207e93,
+ 0x207e94,0x207e96,0x207e8e,0x207e9b,0x207e9c,0x207f38,0x207f3a,0x207f45,0x207f4c,0x207f4d,
+ 0x207f4e,0x207f50,0x207f51,0x207f55,0x207f54,0x207f58,0x207f5f,0x207f60,0x207f68,0x207f69,
+ 0x207f67,0x207f78,0x207f82,0x207f86,0x207f83,0x207f88,0x207f87,0x207f8c,0x207f94,0x207f9e,
+ 0x207f9d,0x207f9a,0x207fa3,0x207faf,0x207fb2,0x207fb9,0x207fae,0x207fb6,0x207fb8,0x208b71,
+ 0x207fc5,0x207fc6,0x207fca,0x207fd5,0x207fd4,0x207fe1,0x207fe6,0x207fe9,0x207ff3,0x207ff9,
+ 0x2098dc,0x208006,0x208004,0x20800b,0x208012,0x208018,0x208019,0x20801c,0x208021,0x208028,
+ 0x20803f,0x20803b,0x20804a,0x208046,0x208052,0x208058,0x20805a,0x20805f,0x208062,0x208068,
+ 0x208073,0x208072,0x208070,0x208076,0x208079,0x20807d,0x20807f,0x208084,0x208086,0x208085,
+ 0x20809b,0x208093,0x20809a,0x2080ad,0x205190,0x2080ac,0x2080db,0x2080e5,0x2080d9,0x2080dd,
+ 0x2080c4,0x2080da,0x2080d6,0x208109,0x2080ef,0x2080f1,0x20811b,0x208129,0x208123,0x20812f,
+ 0x20814b,0x20968b,0x208146,0x20813e,0x208153,0x208151,0x2080fc,0x208171,0x20816e,0x208165,
+ 0x208166,0x208174,0x208183,0x208188,0x20818a,0x208180,0x208182,0x2081a0,0x208195,0x2081a4,
+ 0x2081a3,0x20815f,0x208193,0x2081a9,0x2081b0,0x2081b5,0x2081be,0x2081b8,0x2081bd,0x2081c0,
+ 0x2081c2,0x2081ba,0x2081c9,0x2081cd,0x2081d1,0x2081d9,0x2081d8,0x2081c8,0x2081da,0x2081df,
+ 0x2081e0,0x2081e7,0x2081fa,0x2081fb,0x2081fe,0x208201,0x208202,0x208205,0x208207,0x20820a,
+ 0x20820d,0x208210,0x208216,0x208229,0x20822b,0x208238,0x208233,0x208240,0x208259,0x208258,
+ 0x20825d,0x20825a,0x20825f,0x208264,0x208262,0x208268,0x20826a,0x20826b,0x20822e,0x208271,
+ 0x208277,0x208278,0x20827e,0x20828d,0x208292,0x2082ab,0x20829f,0x2082bb,0x2082ac,0x2082e1,
+ 0x2082e3,0x2082df,0x2082d2,0x2082f4,0x2082f3,0x2082fa,0x208393,0x208303,0x2082fb,0x2082f9,
+ 0x2082de,0x208306,0x2082dc,0x208309,0x2082d9,0x208335,0x208334,0x208316,0x208332,0x208331,
+ 0x208340,0x208339,0x208350,0x208345,0x20832f,0x20832b,0x208317,0x208318,0x208385,0x20839a,
+ 0x2083aa,0x20839f,0x2083a2,0x208396,0x208323,0x20838e,0x208387,0x20838a,0x20837c,0x2083b5,
+ 0x208373,0x208375,0x2083a0,0x208389,0x2083a8,0x2083f4,0x208413,0x2083eb,0x2083ce,0x2083fd,
+ 0x208403,0x2083d8,0x20840b,0x2083c1,0x2083f7,0x208407,0x2083e0,0x2083f2,0x20840d,0x208422,
+ 0x208420,0x2083bd,0x208438,0x208506,0x2083fb,0x20846d,0x20842a,0x20843c,0x20855a,0x208484,
+ 0x208477,0x20846b,0x2084ad,0x20846e,0x208482,0x208469,0x208446,0x20842c,0x20846f,0x208479,
+ 0x208435,0x2084ca,0x208462,0x2084b9,0x2084bf,0x20849f,0x2084d9,0x2084cd,0x2084bb,0x2084da,
+ 0x2084d0,0x2084c1,0x2084c6,0x2084d6,0x2084a1,0x208521,0x2084ff,0x2084f4,0x208517,0x208518,
+ 0x20852c,0x20851f,0x208515,0x208514,0x2084fc,0x208540,0x208563,0x208558,0x208548,0x208541,
+ 0x208602,0x20854b,0x208555,0x208580,0x2085a4,0x208588,0x208591,0x20858a,0x2085a8,0x20856d,
+ 0x208594,0x20859b,0x2085ea,0x208587,0x20859c,0x208577,0x20857e,0x208590,0x2085c9,0x2085ba,
+ 0x2085cf,0x2085b9,0x2085d0,0x2085d5,0x2085dd,0x2085e5,0x2085dc,0x2085f9,0x20860a,0x208613,
+ 0x20860b,0x2085fe,0x2085fa,0x208606,0x208622,0x20861a,0x208630,0x20863f,0x20864d,0x204e55,
+ 0x208654,0x20865f,0x208667,0x208671,0x208693,0x2086a3,0x2086a9,0x2086aa,0x20868b,0x20868c,
+ 0x2086b6,0x2086af,0x2086c4,0x2086c6,0x2086b0,0x2086c9,0x208823,0x2086ab,0x2086d4,0x2086de,
+ 0x2086e9,0x2086ec,0x2086df,0x2086db,0x2086ef,0x208712,0x208706,0x208708,0x208700,0x208703,
+ 0x2086fb,0x208711,0x208709,0x20870d,0x2086f9,0x20870a,0x208734,0x20873f,0x208737,0x20873b,
+ 0x208725,0x208729,0x20871a,0x208760,0x20875f,0x208778,0x20874c,0x20874e,0x208774,0x208757,
+ 0x208768,0x20876e,0x208759,0x208753,0x208763,0x20876a,0x208805,0x2087a2,0x20879f,0x208782,
+ 0x2087af,0x2087cb,0x2087bd,0x2087c0,0x2087d0,0x2096d6,0x2087ab,0x2087c4,0x2087b3,0x2087c7,
+ 0x2087c6,0x2087bb,0x2087ef,0x2087f2,0x2087e0,0x20880f,0x20880d,0x2087fe,0x2087f6,0x2087f7,
+ 0x20880e,0x2087d2,0x208811,0x208816,0x208815,0x208822,0x208821,0x208831,0x208836,0x208839,
+ 0x208827,0x20883b,0x208844,0x208842,0x208852,0x208859,0x20885e,0x208862,0x20886b,0x208881,
+ 0x20887e,0x20889e,0x208875,0x20887d,0x2088b5,0x208872,0x208882,0x208897,0x208892,0x2088ae,
+ 0x208899,0x2088a2,0x20888d,0x2088a4,0x2088b0,0x2088bf,0x2088b1,0x2088c3,0x2088c4,0x2088d4,
+ 0x2088d8,0x2088d9,0x2088dd,0x2088f9,0x208902,0x2088fc,0x2088f4,0x2088e8,0x2088f2,0x208904,
+ 0x20890c,0x20890a,0x208913,0x208943,0x20891e,0x208925,0x20892a,0x20892b,0x208941,0x208944,
+ 0x20893b,0x208936,0x208938,0x20894c,0x20891d,0x208960,0x20895e,0x208966,0x208964,0x20896d,
+ 0x20896a,0x20896f,0x208974,0x208977,0x20897e,0x208983,0x208988,0x20898a,0x208993,0x208998,
+ 0x2089a1,0x2089a9,0x2089a6,0x2089ac,0x2089af,0x2089b2,0x2089ba,0x2089bd,0x2089bf,0x2089c0,
+ 0x2089da,0x2089dc,0x2089dd,0x2089e7,0x2089f4,0x2089f8,0x208a03,0x208a16,0x208a10,0x208a0c,
+ 0x208a1b,0x208a1d,0x208a25,0x208a36,0x208a41,0x208a5b,0x208a52,0x208a46,0x208a48,0x208a7c,
+ 0x208a6d,0x208a6c,0x208a62,0x208a85,0x208a82,0x208a84,0x208aa8,0x208aa1,0x208a91,0x208aa5,
+ 0x208aa6,0x208a9a,0x208aa3,0x208ac4,0x208acd,0x208ac2,0x208ada,0x208aeb,0x208af3,0x208ae7,
+ 0x208ae4,0x208af1,0x208b14,0x208ae0,0x208ae2,0x208af7,0x208ade,0x208adb,0x208b0c,0x208b07,
+ 0x208b1a,0x208ae1,0x208b16,0x208b10,0x208b17,0x208b20,0x208b33,0x2097ab,0x208b26,0x208b2b,
+ 0x208b3e,0x208b28,0x208b41,0x208b4c,0x208b4f,0x208b4e,0x208b49,0x208b56,0x208b5b,0x208b5a,
+ 0x208b6b,0x208b5f,0x208b6c,0x208b6f,0x208b74,0x208b7d,0x208b80,0x208b8c,0x208b8e,0x208b92,
+ 0x208b93,0x208b96,0x208b99,0x208b9a,0x208c3a,0x208c41,0x208c3f,0x208c48,0x208c4c,0x208c4e,
+ 0x208c50,0x208c55,0x208c62,0x208c6c,0x208c78,0x208c7a,0x208c82,0x208c89,0x208c85,0x208c8a,
+ 0x208c8d,0x208c8e,0x208c94,0x208c7c,0x208c98,0x20621d,0x208cad,0x208caa,0x208cbd,0x208cb2,
+ 0x208cb3,0x208cae,0x208cb6,0x208cc8,0x208cc1,0x208ce4,0x208ce3,0x208cda,0x208cfd,0x208cfa,
+ 0x208cfb,0x208d04,0x208d05,0x208d0a,0x208d07,0x208d0f,0x208d0d,0x208d10,0x209f4e,0x208d13,
+ 0x208ccd,0x208d14,0x208d16,0x208d67,0x208d6d,0x208d71,0x208d73,0x208d81,0x208d99,0x208dc2,
+ 0x208dbe,0x208dba,0x208dcf,0x208dda,0x208dd6,0x208dcc,0x208ddb,0x208dcb,0x208dea,0x208deb,
+ 0x208ddf,0x208de3,0x208dfc,0x208e08,0x208e09,0x208dff,0x208e1d,0x208e1e,0x208e10,0x208e1f,
+ 0x208e42,0x208e35,0x208e30,0x208e34,0x208e4a,0x208e47,0x208e49,0x208e4c,0x208e50,0x208e48,
+ 0x208e59,0x208e64,0x208e60,0x208e2a,0x208e63,0x208e55,0x208e76,0x208e72,0x208e7c,0x208e81,
+ 0x208e87,0x208e85,0x208e84,0x208e8b,0x208e8a,0x208e93,0x208e91,0x208e94,0x208e99,0x208eaa,
+ 0x208ea1,0x208eac,0x208eb0,0x208ec6,0x208eb1,0x208ebe,0x208ec5,0x208ec8,0x208ecb,0x208edb,
+ 0x208ee3,0x208efc,0x208efb,0x208eeb,0x208efe,0x208f0a,0x208f05,0x208f15,0x208f12,0x208f19,
+ 0x208f13,0x208f1c,0x208f1f,0x208f1b,0x208f0c,0x208f26,0x208f33,0x208f3b,0x208f39,0x208f45,
+ 0x208f42,0x208f3e,0x208f4c,0x208f49,0x208f46,0x208f4e,0x208f57,0x208f5c,0x208f62,0x208f63,
+ 0x208f64,0x208f9c,0x208f9f,0x208fa3,0x208fad,0x208faf,0x208fb7,0x208fda,0x208fe5,0x208fe2,
+ 0x208fea,0x208fef,0x209087,0x208ff4,0x209005,0x208ff9,0x208ffa,0x209011,0x209015,0x209021,
+ 0x20900d,0x20901e,0x209016,0x20900b,0x209027,0x209036,0x209035,0x209039,0x208ff8,0x20904f,
+ 0x209050,0x209051,0x209052,0x20900e,0x209049,0x20903e,0x209056,0x209058,0x20905e,0x209068,
+ 0x20906f,0x209076,0x2096a8,0x209072,0x209082,0x20907d,0x209081,0x209080,0x20908a,0x209089,
+ 0x20908f,0x2090a8,0x2090af,0x2090b1,0x2090b5,0x2090e2,0x2090e4,0x206248,0x2090db,0x209102,
+ 0x209112,0x209119,0x209132,0x209130,0x20914a,0x209156,0x209158,0x209163,0x209165,0x209169,
+ 0x209173,0x209172,0x20918b,0x209189,0x209182,0x2091a2,0x2091ab,0x2091af,0x2091aa,0x2091b5,
+ 0x2091b4,0x2091ba,0x2091c0,0x2091c1,0x2091c9,0x2091cb,0x2091d0,0x2091d6,0x2091df,0x2091e1,
+ 0x2091db,0x2091fc,0x2091f5,0x2091f6,0x20921e,0x2091ff,0x209214,0x20922c,0x209215,0x209211,
+ 0x20925e,0x209257,0x209245,0x209249,0x209264,0x209248,0x209295,0x20923f,0x20924b,0x209250,
+ 0x20929c,0x209296,0x209293,0x20929b,0x20925a,0x2092cf,0x2092b9,0x2092b7,0x2092e9,0x20930f,
+ 0x2092fa,0x209344,0x20932e,0x209319,0x209322,0x20931a,0x209323,0x20933a,0x209335,0x20933b,
+ 0x20935c,0x209360,0x20937c,0x20936e,0x209356,0x2093b0,0x2093ac,0x2093ad,0x209394,0x2093b9,
+ 0x2093d6,0x2093d7,0x2093e8,0x2093e5,0x2093d8,0x2093c3,0x2093dd,0x2093d0,0x2093c8,0x2093e4,
+ 0x20941a,0x209414,0x209413,0x209403,0x209407,0x209410,0x209436,0x20942b,0x209435,0x209421,
+ 0x20943a,0x209441,0x209452,0x209444,0x20945b,0x209460,0x209462,0x20945e,0x20946a,0x209229,
+ 0x209470,0x209475,0x209477,0x20947d,0x20945a,0x20947c,0x20947e,0x209481,0x20947f,0x209582,
+ 0x209587,0x20958a,0x209594,0x209596,0x209598,0x209599,0x2095a0,0x2095a8,0x2095a7,0x2095ad,
+ 0x2095bc,0x2095bb,0x2095b9,0x2095be,0x2095ca,0x206ff6,0x2095c3,0x2095cd,0x2095cc,0x2095d5,
+ 0x2095d4,0x2095d6,0x2095dc,0x2095e1,0x2095e5,0x2095e2,0x209621,0x209628,0x20962e,0x20962f,
+ 0x209642,0x20964c,0x20964f,0x20964b,0x209677,0x20965c,0x20965e,0x20965d,0x20965f,0x209666,
+ 0x209672,0x20966c,0x20968d,0x209698,0x209695,0x209697,0x2096aa,0x2096a7,0x2096b1,0x2096b2,
+ 0x2096b0,0x2096b4,0x2096b6,0x2096b8,0x2096b9,0x2096ce,0x2096cb,0x2096c9,0x2096cd,0x20894d,
+ 0x2096dc,0x20970d,0x2096d5,0x2096f9,0x209704,0x209706,0x209708,0x209713,0x20970e,0x209711,
+ 0x20970f,0x209716,0x209719,0x209724,0x20972a,0x209730,0x209739,0x20973d,0x20973e,0x209744,
+ 0x209746,0x209748,0x209742,0x209749,0x20975c,0x209760,0x209764,0x209766,0x209768,0x2052d2,
+ 0x20976b,0x209771,0x209779,0x209785,0x20977c,0x209781,0x20977a,0x209786,0x20978b,0x20978f,
+ 0x209790,0x20979c,0x2097a8,0x2097a6,0x2097a3,0x2097b3,0x2097b4,0x2097c3,0x2097c6,0x2097c8,
+ 0x2097cb,0x2097dc,0x2097ed,0x209f4f,0x2097f2,0x207adf,0x2097f6,0x2097f5,0x20980f,0x20980c,
+ 0x209838,0x209824,0x209821,0x209837,0x20983d,0x209846,0x20984f,0x20984b,0x20986b,0x20986f,
+ 0x209870,0x209871,0x209874,0x209873,0x2098aa,0x2098af,0x2098b1,0x2098b6,0x2098c4,0x2098c3,
+ 0x2098c6,0x2098e9,0x2098eb,0x209903,0x209909,0x209912,0x209914,0x209918,0x209921,0x20991d,
+ 0x20991e,0x209924,0x209920,0x20992c,0x20992e,0x20993d,0x20993e,0x209942,0x209949,0x209945,
+ 0x209950,0x20994b,0x209951,0x209952,0x20994c,0x209955,0x209997,0x209998,0x2099a5,0x2099ad,
+ 0x2099ae,0x2099bc,0x2099df,0x2099db,0x2099dd,0x2099d8,0x2099d1,0x2099ed,0x2099ee,0x2099f1,
+ 0x2099f2,0x2099fb,0x2099f8,0x209a01,0x209a0f,0x209a05,0x2099e2,0x209a19,0x209a2b,0x209a37,
+ 0x209a45,0x209a42,0x209a40,0x209a43,0x209a3e,0x209a55,0x209a4d,0x209a5b,0x209a57,0x209a5f,
+ 0x209a62,0x209a65,0x209a64,0x209a69,0x209a6b,0x209a6a,0x209aad,0x209ab0,0x209abc,0x209ac0,
+ 0x209acf,0x209ad1,0x209ad3,0x209ad4,0x209ade,0x209adf,0x209ae2,0x209ae3,0x209ae6,0x209aef,
+ 0x209aeb,0x209aee,0x209af4,0x209af1,0x209af7,0x209afb,0x209b06,0x209b18,0x209b1a,0x209b1f,
+ 0x209b22,0x209b23,0x209b25,0x209b27,0x209b28,0x209b29,0x209b2a,0x209b2e,0x209b2f,0x209b32,
+ 0x209b44,0x209b43,0x209b4f,0x209b4d,0x209b4e,0x209b51,0x209b58,0x209b74,0x209b93,0x209b83,
+ 0x209b91,0x209b96,0x209b97,0x209b9f,0x209ba0,0x209ba8,0x209bb4,0x209bc0,0x209bca,0x209bb9,
+ 0x209bc6,0x209bcf,0x209bd1,0x209bd2,0x209be3,0x209be2,0x209be4,0x209bd4,0x209be1,0x209c3a,
+ 0x209bf2,0x209bf1,0x209bf0,0x209c15,0x209c14,0x209c09,0x209c13,0x209c0c,0x209c06,0x209c08,
+ 0x209c12,0x209c0a,0x209c04,0x209c2e,0x209c1b,0x209c25,0x209c24,0x209c21,0x209c30,0x209c47,
+ 0x209c32,0x209c46,0x209c3e,0x209c5a,0x209c60,0x209c67,0x209c76,0x209c78,0x209ce7,0x209cec,
+ 0x209cf0,0x209d09,0x209d08,0x209ceb,0x209d03,0x209d06,0x209d2a,0x209d26,0x209daf,0x209d23,
+ 0x209d1f,0x209d44,0x209d15,0x209d12,0x209d41,0x209d3f,0x209d3e,0x209d46,0x209d48,0x209d5d,
+ 0x209d5e,0x209d64,0x209d51,0x209d50,0x209d59,0x209d72,0x209d89,0x209d87,0x209dab,0x209d6f,
+ 0x209d7a,0x209d9a,0x209da4,0x209da9,0x209db2,0x209dc4,0x209dc1,0x209dbb,0x209db8,0x209dba,
+ 0x209dc6,0x209dcf,0x209dc2,0x209dd9,0x209dd3,0x209df8,0x209de6,0x209ded,0x209def,0x209dfd,
+ 0x209e1a,0x209e1b,0x209e1e,0x209e75,0x209e79,0x209e7d,0x209e81,0x209e88,0x209e8b,0x209e8c,
+ 0x209e92,0x209e95,0x209e91,0x209e9d,0x209ea5,0x209ea9,0x209eb8,0x209eaa,0x209ead,0x209761,
+ 0x209ecc,0x209ece,0x209ecf,0x209ed0,0x209ed4,0x209edc,0x209ede,0x209edd,0x209ee0,0x209ee5,
+ 0x209ee8,0x209eef,0x209ef4,0x209ef6,0x209ef7,0x209ef9,0x209efb,0x209efc,0x209efd,0x209f07,
+ 0x209f08,0x2076b7,0x209f15,0x209f21,0x209f2c,0x209f3e,0x209f4a,0x209f52,0x209f54,0x209f63,
+ 0x209f5f,0x209f60,0x209f61,0x209f66,0x209f67,0x209f6c,0x209f6a,0x209f77,0x209f72,0x209f76,
+ 0x209f95,0x209f9c,0x209fa0,0x20582f,0x2069c7,0x209059,0x207464,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,0x20555e,0x4098f4,0x406ea2,0x409c2f,0x406deb,0x408fc2,0x406b1d,0x4053a9,
+ 0x228cdd,0x405642,0x40990c,0x207130,0x408956,0x209dd7,0x408fe6,0x406062,0x4062d0,0x406666,
+ 0x40559d,0x40845b,0x409784,0x205699,0x203d4e,0x407ff0,0x407feb,0x405fbd,0x407947,0x204fe0,
+ 0x60537f,0x4050c5,0x208ec0,0x4055b0,0x206adb,0x405c51,0x409774,0x407941,0x406167,0x225874,
+ 0x207e6b,0x208346,0x228ef6,0x405026,0x405acc,0x406372,0x209e7c,0x408afa,0x405df7,0x20663b,
+ 0x406e9d,0x209eb4,0x409d60,0x407511,0x4091c7,0x40698a,0x206805,0x4085a9,0x409bd6,0x409306,
+ 0x4073ca,0x4053f1,0x205c62,0x40906e,0x406753,0x40707c,0x207e61,0x40914b,0x4066d9,0x206e1a,
+ 0x4085af,0x4085f7,0x4054e8,0x405ee0,0x4068a2,0x208523,0x2091ac,0x409798,0x408755,0x409771,
+ 0x409017,0x407fe0,0x40647a,0x40901d,0x2087ec,0x4064b0,0x406813,0x40714e,0x40717d,0x408a6e,
+ 0x40564c,0x409061,0x405275,0x206414,0x407626,0x40905c,0x209a52,0x40817f,0x409edb,0x405544,
+ 0x406fef,0x207422,0x4086f8,0x205dfd,0x408fbf,0x4068da,0x409c48,0x406a3d,0x207c1e,0x408a3b,
+ 0x407026,0x4051cb,0x406357,0x4069cc,0x40939a,0x40585a,0x206451,0x40912d,0x4064e2,0x406eba,
+ 0x205861,0x20985a,0x405835,0x405c60,0x4083df,0x408ced,0x405858,0x2079b1,0x409d07,0x207006,
+ 0x40701e,0x405678,0x409041,0x409813,0x4090a3,0x408b0e,0x407058,0x406962,0x4079b0,0x2056ca,
+ 0x40724c,0x409019,0x4079e4,0x20525d,0x407bb8,0x206f51,0x2091b1,0x40633d,0x406249,0x406a0b,
+ 0x4067ca,0x407a17,0x40903c,0x405a9b,0x408b2c,0x405edf,0x407015,0x20983b,0x40853d,0x4077a5,
+ 0x405a29,0x405e96,0x406ce1,0x4084ec,0x209830,0x409c52,0x209eb5,0x405132,0x409905,0x407c7e,
+ 0x409453,0x406108,0x407652,0x407337,0x407194,0x408000,0x20840a,0x40907c,0x206f23,0x207149,
+ 0x2084ee,0x406994,0x20881f,0x205154,0x405189,0x205195,0x4051a4,0x405539,0x405533,0x4055e4,
+ 0x405632,0x4056a5,0x40580b,0x405abe,0x221a1a,0x205c5b,0x405e64,0x406097,0x406369,0x406406,
+ 0x206522,0x406583,0x4067a6,0x2067fa,0x40689b,0x20688e,0x406e6e,0x2243d0,0x207228,0x4073ce,
+ 0x407504,0x40750d,0x407515,0x407693,0x40787c,0x407a31,0x409f9d,0x407b99,0x407c90,0x407cae,
+ 0x407d9b,0x407dae,0x407d9f,0x407fd4,0x40822e,0x40828d,0x4082d2,0x408323,0x408375,0x408517,
+ 0x20853e,0x408782,0x4087d2,0x40890a,0x4089af,0x408ade,0x408b41,0x408dda,0x408e09,0x408f13,
+ 0x408fea,0x408fe9,0x409058,0x406248,0x4091c1,0x4095bb,0x207762,0x409724,0x409760,0x40976d,
+ 0x409824,0x409b2e,0x409b97,0x409bf2,0x409eaa,0x409f9c,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ 0x4082a6,0x408328,0x205653,0x6053a9,0x407259,0x406c72,0x407b08,0x409957,0x4062f3,0x409910,
+ 0x60976d,0x60717d,0x407a7f,0x407bad,0x4063c3,0x6083df,0x407962,0x4053db,0x407bc7,0x408fc4,
+ 0x407c3e,0x4050ca,0x405315,0x4055a9,0x4056ae,0x405819,0x40591b,0x405c28,0x405ed0,0x405ecf,
+ 0x406241,0x4066c1,0x406c08,0x406e23,0x406eec,0x407a97,0x407bdd,0x407fe9,0x408422,0x408759,
+ 0x40880e,0x6087d2,0x409a19,0x409ead,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,0x409022,0x408fbb,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,0x2051dc,0x207199,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,0x207e8a,0x20891c,
+ 0x209348,0x209288,0x2084dc,0x204fc9,0x2070bb,0x206631,0x2068c8,0x2092f9,0x2066fb,0x205f45,
+ 0x204e28,0x204ee1,0x204efc,0x204f00,0x204f03,0x204f39,0x204f56,0x204f92,0x204f8a,0x204f9a,
+ 0x204f94,0x204fcd,0x205040,0x205022,0x204fff,0x20501e,0x205046,0x205070,0x205042,0x205094,
+ 0x2050f4,0x2050d8,0x20514a,0x205164,0x20519d,0x2051be,0x2051ec,0x205215,0x20529c,0x2052a6,
+ 0x2052c0,0x2052db,0x205300,0x405307,0x205324,0x205372,0x205393,0x2053b2,0x2053dd,0x20fa0e,
+ 0x20549c,0x20548a,0x2054a9,0x2054ff,0x205586,0x205759,0x205765,0x2057ac,0x2057c8,0x2057c7,
+ 0x20fa0f,0x60585a,0x20589e,0x2058b2,0x20590b,0x205953,0x20595b,0x20595d,0x205963,0x2059a4,
+ 0x2059ba,0x205b56,0x205bc0,0x20752f,0x205bd8,0x405bdb,0x205c1e,0x205ca6,0x205cba,0x205cf5,
+ 0x205d27,0x205d53,0x40fa11,0x205d42,0x205d6d,0x205db8,0x205db9,0x205dd0,0x205f21,0x205f34,
+ 0x205f67,0x205fb7,0x205fde,0x20605d,0x206085,0x20608a,0x2060de,0x2060d5,0x206120,0x2060f2,
+ 0x206111,0x206137,0x206130,0x206198,0x206213,0x2062a6,0x2063f5,0x206460,0x20649d,0x2064ce,
+ 0x20654e,0x206600,0x206615,0x206609,0x20662e,0x40661e,0x206624,0x206665,0x206657,0x206659,
+ 0x206674,0x206673,0x206699,0x2066a0,0x2066b2,0x2066bf,0x2066fa,0x20670e,0x606717,0x206766,
+ 0x2067bb,0x406852,0x2067c0,0x406801,0x206844,0x2068cf,0x20fa13,0x206968,0x20fa14,0x206998,
+ 0x2069e2,0x206a30,0x206a6b,0x206a46,0x206a73,0x206a7e,0x206ae2,0x206ae4,0x206bd6,0x206c3f,
+ 0x206c5c,0x206c86,0x206c6f,0x206cda,0x206d04,0x206d87,0x206d6f,0x206d96,0x206dac,0x206dcf,
+ 0x206df8,0x206df2,0x206dfc,0x206e39,0x206e5c,0x206e27,0x206e3c,0x206ebf,0x206f88,0x206fb5,
+ 0x206ff5,0x207005,0x207007,0x207028,0x207085,0x2070ab,0x20710f,0x207104,0x20715c,0x207146,
+ 0x207147,0xa051de,0x2071c1,0x2071fe,0x2072b1,0x2072be,0x207324,0x20732a,0x207377,0x2073bd,
+ 0x2073c9,0x2073d6,0x2073e3,0x2073d2,0x207407,0x2073f5,0x207426,0x20742a,0x207429,0x20742e,
+ 0x407462,0x207489,0x20749f,0x207501,0x20756f,0x207682,0x20769c,0x20769e,0x20769b,0x2076a6,
+ 0x4076ca,0x207746,0x2052af,0x207821,0x20784e,0x207864,0x20787a,0x207930,0x40793c,0x20795e,
+ 0x207965,0x207994,0x40798f,0x20799b,0x207ad1,0x207ae7,0x409756,0x207aeb,0x207b9e,0x207cbe,
+ 0x207d48,0x407d5c,0x207db7,0x207da0,0x207dd6,0x207e52,0x207f47,0x207fa1,0x207fbd,0x208301,
+ 0x208362,0x20837f,0x2083c7,0x2083f6,0x208448,0x2084b4,0x208553,0x208559,0x20856b,0x20fa1f,
+ 0x2085b0,0x408612,0x20fa21,0x208807,0x2088f5,0x208a12,0x208a37,0x208a79,0x208aa7,0x208abe,
+ 0x208adf,0x208af8,0x208af6,0x208b53,0x208b7f,0x208cf0,0x208cf4,0x208d12,0x208d76,0x20fa23,
+ 0x208ecf,0x40fa24,0x609038,0x209067,0x2090de,0x2090fd,0x209115,0x209127,0x2091da,0x2091d7,
+ 0x2091de,0x2091ed,0x2091ee,0x2091e4,0x2091e5,0x209206,0x209210,0x20920a,0x20923a,0x209240,
+ 0x20923c,0x20924e,0x209259,0x209251,0x209239,0x209267,0x2092a7,0x209277,0x209278,0x2092e7,
+ 0x2092d7,0x2092d9,0x2092d0,0x20fa27,0x2092d5,0x2092e0,0x2092d3,0x209325,0x209321,0x2092fb,
+ 0x20fa28,0x20931e,0x2092ff,0x20931d,0x209302,0x209370,0x209357,0x2093a4,0x2093c6,0x2093de,
+ 0x2093f8,0x209431,0x209445,0x209448,0x209592,0x609686,0x20fa29,0x20969d,0x2096af,0x209733,
+ 0x20973b,0x209743,0x20974d,0x20974f,0x209751,0x409755,0x209857,0x209865,0x2098ef,0x4098fc,
+ 0x209927,0x409928,0x20999e,0x209a4e,0x209ad9,0x209adc,0x209b75,0x209b72,0x209b8f,0x209bb1,
+ 0x209bbb,0x209c00,0x209d70,0x209d6b,0x209db4,0x209e19,0x209ed1,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,0x606ce8,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,0x409038,
+ 0x208b01,0x207de3,0x209ec3,0x206eab,0x20798d,0x206094,0x206d77,0x406168,0x2069ea,0x206e34,
+ 0x408910,0x406f22,0x405668,0x2065e2,0x207948,0x20865b,0x4097ff,0x4052e4,0x208b39,0x2063ed,
+ 0x2064ca,0x20784f,0x207a40,0x206bba,0x407949,0x408996,0x20716e,0x40793e,0x408005,0x4081ed,
+ 0x20795d,0x406691,0x207f72,0x206d89,0x2072c0,0x40614e,0x20771e,0x407bc0,0x407956,0x4050e7,
+ 0x405c64,0x205de2,0x20618e,0x408d08,0x20537d,0x205606,0x408457,0x205fb5,0x4061f2,0x4093ae,
+ 0x40798e,0x409b2d,0x407a81,0x2096e3,0x206885,0x407e41,0x20665a,0x205351,0x207891,0x208cd3,
+ 0x20654f,0x404fae,0x404f75,0x405840,0x2052c9,0x206b65,0x2058a8,0x206bcf,0x40514d,0x20623e,
+ 0x207950,0x206b04,0x409686,0x20865c,0x206dda,0x20985e,0x2066c6,0x206b77,0x207df4,0x20934a,
+ 0x605eca,0x209304,0x406982,0x4051b4,0x40634c,0x4086db,0x409089,0x609022,0x405049,0x407def,
+ 0x409055,0x8053a9,0x60990c,0x40885b,0x405ef6,0x606cbf,0x40925b,0x407fc1,0x6082bd,0x4096c5,
+ 0x405bb3,0x606168,0x606982,0x406bbb,0x406562,0x408cab,0x405dcc,0x409811,0x405e30,0x408ecc,
+ 0x407aae,0x405747,0x405091,0x407a74,0x405065,0x405efa,0x409237,0x406a8e,0x404ea4,0x40516c,
+ 0x4066f4,0x406821,0x40786c,0x407d5e,0x408003,0x408cfc,0x40964d,0x4062f7,0x407f6a,0x404f7f,
+ 0x4053f2,0x4059c9,0x408b1d,0x4090aa,0x4053ce,0x408f2f,0x4067d4,0x4077ac,0x40821c,0x40696f,
+ 0x40677e,0x408a1f,0x404e08,0x4057f4,0x40690d,0x408077,0x4089aa,0x409042,0x40636e,0x406442,
+ 0x408239,0x407dcf,0x408061,0x4050cf,0x408a95,0x406065,0x405146,0x40773a,0x408074,0x408df3,
+ 0x405ead,0x405ef7,0x408247,0x406843,0x409003,0x406d3e,0x406392,0x408f29,0x4073ed,0x409812,
+ 0x4060b2,0x606249,0x406590,0x407dcb,0x408ab9,0x408ca7,0x407236,0x40847a,0x405206,0x405674,
+ 0x4061a4,0x407c89,0x407d1b,0x4096f0,0x60853d,0x404fbf,0x406367,0x4076c6,0x40685d,0x408108,
+ 0x408036,0x407ffc,0x40540f,0x4096a3,0x409e9f,0x409e97,0x40806f,0x40807e,0x406e7e,0x405085,
+ 0x405193,0x4051db,0x22090e,0x405340,0x4096d9,0x6055a9,0x4056c1,0x40570d,0x4058ab,0x4059da,
+ 0x405a36,0x605abe,0x405d4e,0x405d87,0x405dc9,0x405dd3,0x405f2d,0x405f98,0x4060d8,0x40613d,
+ 0x4061fe,0x406268,0x4062cf,0x40651d,0x40640f,0x4064f2,0x40655d,0x40665f,0x4067a9,0x4067e7,
+ 0x40696b,0x406930,0x4069a7,0x406a44,0x406a90,0x606c08,0x406c13,0x606e23,0x406f11,0x406efe,
+ 0x406f3e,0x4071ff,0x4073e5,0x407432,0x40745f,0x4074e0,0x40750c,0x407672,0x40792a,0x4078d4,
+ 0x4079ba,0x407a19,0x407a95,0x407cf2,0x407d73,0x407ddd,0x407e35,0x407fae,0x407fe1,0x40805a,
+ 0x40805f,0x408073,0x408070,0x408076,0x408153,0x40818a,0x4081b5,0x4081cd,0x4083f2,0x408555,
+ 0x4085d5,0x40871a,0x408836,0x40889e,0x4088d8,0x4088f4,0x40892b,0x40893b,0x40896a,0x40896f,
+ 0x408a1d,0x408d05,0x408d0f,0x409f4e,0x408e91,0x408ea1,0x409052,0x40900e,0x409130,0x409156,
+ 0x409158,0x409165,0x409173,0x409172,0x4091a2,0x4091af,0x4091aa,0x4091b4,0x4091ba,0x409477,
+ 0x409698,0x40973d,0x609760,0x609771,0x40980c,0x409873,0x4098c3,0x409a45,0x409b4d,0x409b58,
+ 0x409bc6,0x409be1,0x409bf1,0x409d48,0x409dcf,0x409f08,0x406271,0x406697,0x40610f,0x408863,
+ 0x609055,0x40907a,0x4078ef,0x208c9f,0x4096e8,0x226951,0xa053a9,0x4074dc,0x40904b,0x80990c,
+ 0x22b7d8,0x2092b3,0x2095b1,0x605ef6,0x4063f4,0x206cbf,0x407159,0x409060,0x60925b,0x4065bc,
+ 0x405f80,0x607fc1,0x405378,0x4097f3,0x405316,0x4082b1,0x4083d3,0x408ca8,0x40904e,0x2082bd,
+ 0x6096c5,0x409913,0x405efb,0x407070,0x605bb3,0x806168,0xa06168,0xc06168,0x4069ea,0x806982,
+ 0x20676e,0x2089d2,0x409694,0x205272,0x408f44,0x40938c,0x4082c5,0x405bd2,0x4074b0,0x407de9,
+ 0x226222,0x409084,0x409592,0x4097d3,0x408218,0x405371,0x403402,0x203402,0x603402,0x405e7e,
+ 0x2065e3,0x40671f,0x406a5f,0x408d77,0x4098e2,0x220bb7,0x4055ab,0x408650,0x409006,0x4053ca,
+ 0x405438,0x406025,0x407d1a,0x405de8,0x4062d2,0x408ddd,0x229d4b,0x429d4b,0x20537f,0x205f3a,
+ 0x406050,0x4069c1,0x42363a,0x22b78e,0x4090f7,0x6097ff,0x609957,0x406681,0x40738b,0x408fd1,
+ 0x204ff1,0x4077e9,0x405177,0x40865e,0x407a7a,0x409047,0x606adb,0x405553,0x405951,0x406075,
+ 0x606167,0x408fce,0x605091,0x406f54,0x607a74,0x406708,0x40821f,0x40517c,0x405238,0x4061b2,
+ 0x206743,0x4080a9,0x408b19,0x409063,0x220a64,0x208a01,0x206236,0x4096c7,0x409867,0x205433,
+ 0x205a1b,0x408aa4,0x405de5,0x40614c,0x206285,0x4063a7,0x4069cb,0x406d69,0x406e2f,0x408015,
+ 0x408154,0x408352,0x408b1b,0x608cfc,0x20543f,0x409177,0x408170,0x607511,0x408fbc,0x22b746,
+ 0x409396,0x22b777,0x405f69,0x4063a1,0x206b72,0x4083dc,0x6051b4,0x4054b2,0x40524a,0x207522,
+ 0x204b38,0x4059ff,0x6059ff,0x205dff,0x408aee,0x608aee,0x408cc7,0x608cc7,0x406b21,0x606b21,
+ 0x406ecb,0x2073ba,0x220b9f,0x406368,0x40659c,0x6090aa,0x2052fa,0x607235,0x207235,0x40914c,
+ 0x405f31,0x404e3b,0x4053d7,0x406388,0x205468,0x407d42,0x407fd2,0x408846,0x409031,0x404f4f,
+ 0x408853,0x408ff0,0x405de1,0x409075,0x609075,0x406240,0x4066f8,0x405973,0x4052dd,0x405546,
+ 0x405bb5,0x205c06,0x405c0f,0x22d544,0x205c19,0x406d88,0x40785d,0x408096,0x22000b,0x205b82,
+ 0x2057ce,0x4060c5,0x6057f4,0x4098fe,0x60690d,0x406b96,0x4098df,0x2098e0,0x22967f,0x20378d,
+ 0x404fb5,0x2038fa,0x406d78,0x40771f,0x409032,0x204ebb,0x2201a2,0x405203,0x405c0b,0x408a0a,
+ 0x608a0a,0x408fc5,0x22e569,0x609042,0x20351f,0x22b751,0x406210,0x4076db,0x408056,0x208980,
+ 0x408aa0,0x408acb,0x40975c,0x60975c,0x207a05,0x408106,0x4096bb,0x407c4d,0x607bc0,0x208aaa,
+ 0x4096ea,0x207d55,0x406247,0x206f98,0x407fa1,0x608239,0x409078,0x409077,0x40524d,0x405168,
+ 0x406383,0x2063f7,0x207626,0x408d70,0x409001,0x40906d,0x409020,0x227fb7,0x40901f,0x408cca,
+ 0x405c0a,0x605c0a,0x4059a5,0x223cfe,0x409000,0x40902e,0x40968a,0x409bdb,0x405927,0x203427,
+ 0x407027,0x409054,0x20812b,0x404e39,0x406b4e,0x4070ad,0x608a95,0x406696,0x405024,0x407f6e,
+ 0x407bc9,0x225ad7,0x407b51,0x409010,0x4067f1,0x406ce8,0x4099d0,0x405f6b,0x405fb5,0x6061f2,
+ 0x40671d,0x206f6e,0x408abf,0x4076f4,0x406715,0x606715,0x40589c,0x408ffd,0x40901a,0x40576a,
+ 0x4091e3,0x405448,0x405e1d,0x407a0b,0x407684,0x409069,0x408fed,0x406dfb,0x40514e,0x409014,
+ 0x40783a,0x205721,0x22123d,0x2051ac,0x405510,0x207cd6,0x4085e4,0x408b04,0x609003,0x40900f,
+ 0x409a30,0x405c0e,0x409053,0x20541e,0x203b88,0x205167,0x408089,0x404e73,0x405fcd,0x408a8d,
+ 0x205be7,0x407d0d,0x408987,0x606d3e,0x4080ba,0x40535a,0x408584,0x408feb,0x407e1b,0x408087,
+ 0x204e37,0x406f51,0x4091b1,0x404f34,0x405224,0x40534a,0x405e06,0x407554,0x406669,0x408543,
+ 0x40907f,0x405fae,0x409f3b,0x405339,0x224d14,0x205f65,0x2059ec,0x4059ec,0x408a55,0x205e99,
+ 0x4075c5,0x405a66,0x406577,0x406d6e,0x408ca0,0x608ca0,0x40670d,0x408986,0x404e19,0x405e63,
+ 0x405e73,0x405f0a,0x408511,0x40504f,0x407de8,0x408fd4,0x40904d,0x407c3f,0x405305,0x405d29,
+ 0x4062b1,0x40670b,0x407832,0x407e2b,0x4080de,0x40840c,0x4090a6,0x6090a6,0x4098fd,0x409d6c,
+ 0x404ea1,0x405e3d,0x405fd8,0x405fd9,0x40623f,0x40671b,0x60671b,0x405192,0x406469,0x407ffb,
+ 0x4051e1,0x4078e8,0x409b54,0x409ebb,0x4069d9,0x60685d,0x203468,0x209fb4,0x407e6d,0x409ebf,
+ 0x608108,0x40660e,0x4076df,0x408ff7,0x405984,0x2052d0,0x4076f2,0x408017,0x40623b,0x407d0b,
+ 0x2095e8,0x407d04,0x408e8d,0x22b789,0x60687a,0x206801,0x406109,0x208aed,0x408f38,0x4052c7,
+ 0x406709,0x407336,0x607336,0x607337,0x22567f,0x40904a,0x4066dc,0x207f8a,0x408981,0x40990a,
+ 0x407fcc,0x607ffc,0x208eb6,0x40862d,0x407387,0x409f8d,0x609f8d,0x4065c5,0x209fc4,0x4071d0,
+ 0x6096a3,0x409c57,0x609e9f,0x207c7b,0x205ec9,0x406190,0x209023,0x806717,0x208002,0x2266b0,
+ 0x6050ca,0x40511a,0x605154,0x605195,0x220628,0x40528d,0x4052d7,0x22008a,0x220984,0x20353e,
+ 0x4053df,0x4066fc,0x605533,0x6055e4,0x205455,0x4056c0,0x205939,0x405a1c,0x405ac2,0x205b76,
+ 0x405bc3,0x205c14,0x2037e2,0x205ce6,0x405e54,0x204e48,0x405ee3,0x606097,0x2062d4,0x4062cc,
+ 0x40641c,0x4063c6,0x406428,0x226999,0x20631b,0x60665f,0x80665f,0x206663,0x4066f5,0x2233cc,
+ 0x40689d,0x40688d,0x2069f6,0x206986,0x22a9e6,0x405be8,0x4069bb,0x206bcc,0x606f11,0x206e17,
+ 0x406f98,0x406caa,0x206caa,0x40701b,0x407162,0x40723b,0x204e2c,0x40731c,0x4074ca,0x2074ef,
+ 0x207575,0x2075ec,0x20764e,0x203fb1,0x20776a,0x2077a9,0x407940,0x209fc6,0x607953,0x409f4b,
+ 0x4079ae,0x409083,0x207b53,0x22b7bd,0x407c14,0x204264,0x407c50,0x407c58,0x407d46,0x407d63,
+ 0x407e22,0x607e22,0x207e48,0x607e35,0x407e43,0x407e8c,0x22e278,0x22053f,0x22626a,0x426270,
+ 0x407fc5,0x407fc6,0x607fe9,0x208141,0x204453,0x408258,0x208279,0x608279,0x408279,0x4082e3,
+ 0x205179,0x20835a,0x408420,0x4083bd,0x4084f4,0x204525,0x408587,0x2085f4,0x2200b0,0x408737,
+ 0x40873b,0x408805,0x4087bd,0x20867d,0x608836,0x20342e,0x2088c6,0x4089bd,0x408adb,0x408b3e,
+ 0x408b5a,0x408d73,0x408d99,0x2047e6,0x408e34,0x22e6ea,0x408fef,0x409087,0x408ffa,0x40901e,
+ 0x409035,0x409050,0x208fc8,0x409081,0x40908a,0x60908a,0x80908a,0xa0908a,0xc0908a,0xe0908a,
+ 0x609089,0x809089,0xa09089,0xc09089,0xe09089,0x1009089,0x1209089,0x1409089,0x1609089,0x1809089,
+ 0x1a09089,0x1c09089,0x228987,0x4093dd,0x4095bc,0x228e17,0x4096b2,0x409759,0x209839,0x4098eb,
+ 0x409903,0x409909,0x409945,0x609945,0x40994b,0x209a08,0x409a5f,0x409a65,0x409aef,0x409b18,
+ 0x209bdf,0x409d09,0x409d08,0x409ea5,0x409ecc,0x609f08,0x409f4a,0x22b81a,0x409f67,0x42a61a,
+ 0x4242ee,0x2242ee,0x40891c,0x4068c8,0x4066fb,0x405f45,0x405300,0x205389,0x405953,0x20fa11,
+ 0x206852,0x406a73,0x223cbe,0x220611,0x408a12,0x204e04,0x204e05,0x204e1f,0x204e2b,0x204e2f,
+ 0x204e30,0x204e40,0x204e41,0x204e44,0x204e5a,0x204e7f,0x204e8d,0x204e96,0x204eb9,0x204ed0,
+ 0x204ee0,0x204efd,0x204eff,0x204f0b,0x204f15,0x204f60,0x204f3b,0x204f49,0x204f54,0x204f7a,
+ 0x204f7d,0x204f7e,0x204f97,0x204fbe,0x204fcf,0x204ffd,0x205000,0x205001,0x205010,0x20501b,
+ 0x205027,0x20502e,0x205057,0x205066,0x20506a,0x20503b,0x20508f,0x205096,0x20509c,0x2050cc,
+ 0x2050e6,0x2050e9,0x2050ef,0x205108,0x20510b,0x205110,0x20511b,0x20511e,0x20515f,0x2051a1,
+ 0x2051bc,0x6051de,0x2051ee,0x2051f4,0x205201,0x205202,0x205213,0x205249,0x205261,0x205266,
+ 0x205293,0x2052c8,0x2052f0,0x20530a,0x20530b,0x20533e,0x20534c,0x20534b,0x205361,0x20536c,
+ 0x2053ab,0x2053da,0x2053e6,0x2053f5,0x205427,0x20544d,0x205466,0x20546b,0x205474,0x20548d,
+ 0x205496,0x2054a1,0x2054ad,0x2054b9,0x2054bf,0x2054c6,0x2054cd,0x20550e,0x20552b,0x205535,
+ 0x20554a,0x205560,0x405561,0x205588,0x20558e,0x205608,0x20560e,0x20560f,0x205637,0x20563f,
+ 0x205649,0x20564b,0x20564f,0x205666,0x205669,0x20566f,0x205671,0x205672,0x205695,0x20569a,
+ 0x2056ac,0x2056ad,0x2056b1,0x2056c9,0x2056dd,0x2056e4,0x20570a,0x205715,0x205723,0x20572f,
+ 0x205733,0x205734,0x20574c,0x205770,0x20578c,0x20579c,0x2057b8,0x2057e6,0x2057ed,0x2057f5,
+ 0x2057f6,0x2057ff,0x205809,0x205820,0x205832,0x20587c,0x205880,0x2058a9,0x2058ce,0x2058d0,
+ 0x2058d4,0x2058da,0x2058e9,0x20590c,0x205924,0x20592f,0x205961,0x20596d,0x2059ca,0x2059d2,
+ 0x2059dd,0x2059e3,0x2059e4,0x205a04,0x205a0c,0x205a23,0x205a47,0x205a55,0x205a63,0x205a6d,
+ 0x205a7e,0x205a9e,0x205aa7,0x205aac,0x205ab3,0x205ae0,0x205b00,0x205b19,0x205b25,0x205b2d,
+ 0x205b41,0x205b7c,0x205b7e,0x205b7f,0x205b8a,0x205c23,0x205c2b,0x205c30,0x205c63,0x205c69,
+ 0x205c7c,0x205ccb,0x205cd2,0x205cf4,0x205d24,0x205d26,0x205d43,0x205d46,0x205d4a,0x205d92,
+ 0x205d94,0x205d99,0x205da0,0x205dd8,0x205de0,0x205df8,0x205e00,0x205e12,0x205e14,0x205e15,
+ 0x205e18,0x205e2e,0x205e58,0x205e6b,0x205e6c,0x205ea8,0x205eaa,0x205ebe,0x205ebf,0x405ecb,
+ 0x205ed2,0x205f07,0x205f0e,0x205f1c,0x205f1d,0x205f22,0x205f28,0x205f36,0x205f3b,0x205f40,
+ 0x205f50,0x205f58,0x205f64,0x205f89,0x205f9c,0x205fa7,0x205fa4,0x205faf,0x205fb8,0x205fc4,
+ 0x205fc9,0x205fe1,0x205fe9,0x205fed,0x205ffc,0x206017,0x20601a,0x206033,0x206061,0x20607f,
+ 0x20609e,0x2060a4,0x2060b0,0x2060cb,0x2060db,0x2060f8,0x206112,0x206113,0x206114,0x20611c,
+ 0x20617c,0x20618d,0x20619f,0x2061a8,0x2061c2,0x2061df,0x206215,0x206229,0x206243,0x206246,
+ 0x20624c,0x206251,0x206256,0x2062c4,0x2062fc,0x20630a,0x20630d,0x206318,0x206339,0x206342,
+ 0x206343,0x206365,0x206374,0x20637d,0x206384,0x206387,0x206390,0x20639e,0x2063d1,0x2063dc,
+ 0x206409,0x206410,0x206422,0x206454,0x20645b,0x20646d,0x20647b,0x2064be,0x2064bf,0x2064e5,
+ 0x2064f7,0x2064fb,0x206504,0x206516,0x206519,0x206547,0x206567,0x206581,0x206585,0x2065c2,
+ 0x2065f0,0x2065f2,0x20662c,0x20664c,0x20665b,0x20665c,0x206661,0x20666b,0x406677,0x2066a4,
+ 0x2066c8,0x2066ec,0x206705,0x206713,0x206733,0x206748,0x20674c,0x206776,0x20677b,0x2067b0,
+ 0x2067b2,0x2067f9,0x2067d7,0x2067d9,0x2067f0,0x20682c,0x206830,0x206831,0x20685b,0x206872,
+ 0x206875,0x20687a,0x206884,0x2068a5,0x2068b2,0x2068d0,0x2068d6,0x2068e8,0x2068ed,0x2068f0,
+ 0x2068f1,0x2068fc,0x206911,0x206913,0x206935,0x20693b,0x206957,0x206963,0x206972,0x20697f,
+ 0x206980,0x2069a6,0x2069ad,0x2069b7,0x2069d6,0x2069d7,0x206a01,0x206a0f,0x206a15,0x206a28,
+ 0x206a34,0x206a3e,0x206a45,0x206a50,0x206a51,0x206a56,0x206a5b,0x206a83,0x206a89,0x206a91,
+ 0x206a9d,0x206a9e,0x206a9f,0x206adc,0x206ae7,0x206aec,0x206b1e,0x206b24,0x206b35,0x206b46,
+ 0x206b56,0x206b60,0x206b82,0x206bbe,0x206be1,0x206bf1,0x206c10,0x206c33,0x206c35,0x406c3a,
+ 0x206c59,0x206c76,0x206c7b,0x206c85,0x206c95,0x206c9c,0x206cd0,0x206cd4,0x206cd6,0x206ce0,
+ 0x206ceb,0x206cec,0x206cee,0x206d0a,0x206d0e,0x206d11,0x206d2e,0x206d57,0x206d5e,0x206d65,
+ 0x206d82,0x206dbf,0x206dc4,0x206dca,0x206dd6,0x206de9,0x206e22,0x206e51,0x206ec7,0x206eca,
+ 0x206ece,0x206efd,0x206f1a,0x206f2a,0x206f2f,0x206f33,0x206f5a,0x206f5e,0x206f62,0x206f7d,
+ 0x206f8b,0x206f8d,0x206f92,0x206f94,0x206f9a,0x206fa7,0x206fa8,0x206fb6,0x206fda,0x206fde,
+ 0x406ff9,0x207039,0x20703c,0x40704a,0x207054,0x20705d,0x20705e,0x207064,0x20706c,0x20707e,
+ 0x207081,0x207095,0x2070b7,0x2070d3,0x2070d4,0x2070d8,0x2070dc,0x207107,0x207120,0x207131,
+ 0x20714a,0x207152,0x207160,0x207179,0x207192,0x4071b3,0x2071cb,0x2071d3,0x2071d6,0x207200,
+ 0x20721d,0x20722b,0x207238,0x207241,0x207253,0x207255,0x207256,0x20725c,0x20728d,0x2072ad,
+ 0x2072b4,0x2072c7,0x2072fb,0x207304,0x207305,0x207328,0x207331,0x207343,0x20736c,0x20737c,
+ 0x207383,0x207385,0x207386,0x207395,0x20739e,0x20739f,0x2073a0,0x2073a6,0x2073ab,0x2073b5,
+ 0x2073b7,0x2073bc,0x2073cf,0x2073d9,0x2073e9,0x2073f4,0x2073fd,0x207404,0x20740a,0x20741a,
+ 0x20741b,0x207424,0x207428,0x20742c,0x20742f,0x207430,0x207431,0x207439,0x207444,0x207447,
+ 0x20744b,0x20744d,0x207451,0x207457,0x207466,0x20746b,0x207471,0x207480,0x207485,0x207486,
+ 0x207487,0x207490,0x207498,0x20749c,0x2074a0,0x2074a3,0x2074a8,0x2074ab,0x2074b5,0x2074bf,
+ 0x2074c8,0x2074da,0x2074de,0x20754e,0x207579,0x207581,0x207590,0x207592,0x207593,0x2075b4,
+ 0x2075e4,0x2075f9,0x207600,0x20760a,0x207615,0x207616,0x207619,0x20761e,0x20762d,0x207635,
+ 0x207643,0x20764b,0x207665,0x20766d,0x20766f,0x207671,0x207674,0x2076a4,0x2076a5,0x2076c5,
+ 0x2076cc,0x2076ec,0x2076fc,0x207734,0x207736,0x20775c,0x20775f,0x207760,0x207772,0x20777d,
+ 0x207795,0x2077aa,0x2077e6,0x2077f0,0x2077f4,0x207806,0x207822,0x20782d,0x20782e,0x207830,
+ 0x207835,0x207868,0x20789e,0x2078c8,0x2078cc,0x2078ce,0x2078e4,0x2078e0,0x2078e1,0x2078f2,
+ 0x2078f7,0x2078fb,0x207931,0x407934,0x20793b,0x20793d,0x207945,0x20795b,0x20795c,0x20798b,
+ 0x207996,0x207998,0x2079b8,0x2079bb,0x2079ca,0x2079da,0x207a03,0x207a09,0x207a11,0x207a1e,
+ 0x207a2d,0x207a39,0x207a45,0x207a4c,0x207a5d,0x407a60,0x207a6d,0x207a78,0x207aa0,0x207aa3,
+ 0x207ab3,0x207abb,0x207abc,0x207ac6,0x207b07,0x207b14,0x207b27,0x207b31,0x207b47,0x207b4e,
+ 0x207b60,0x207b69,0x207b6d,0x207b72,0x207b91,0x207baf,0x207bd7,0x207bd9,0x207c0b,0x207c0f,
+ 0x207c20,0x207c26,0x207c31,0x207c36,0x207c51,0x207c59,0x207c67,0x207c6e,0x207c70,0x207cbc,
+ 0x207cbf,0x207cc8,0x207cc9,0x207cd7,0x207cd9,0x207cdd,0x207ceb,0x207d07,0x207d08,0x207d09,
+ 0x207d13,0x207d1d,0x207d23,0x207d41,0x207d53,0x207d59,0x207d5d,0x207d7a,0x207d86,0x207d8b,
+ 0x207d8c,0x207dcc,0x207deb,0x207df1,0x207df9,0x207e08,0x207e11,0x207e15,0x207e20,0x207e47,
+ 0x207e62,0x207e6e,0x207e73,0x207e8d,0x207e91,0x207e98,0x207f44,0x207f4f,0x207f52,0x207f53,
+ 0x207f61,0x207f91,0x207fbf,0x207fce,0x207fdf,0x207fe5,0x207fec,0x207fee,0x207fef,0x207ffa,
+ 0x20800e,0x208011,0x208014,0x208024,0x208026,0x20803a,0x20803c,0x208060,0x208071,0x208075,
+ 0x20809e,0x2080a6,0x2080ab,0x2080d7,0x2080d8,0x208116,0x208118,0x20813a,0x20814a,0x20814c,
+ 0x208181,0x208184,0x2081b4,0x2081cf,0x2081f9,0x208203,0x208221,0x208232,0x208234,0x208246,
+ 0x20824b,0x20824f,0x20828e,0x2082ae,0x2082b7,0x2082be,0x2082c6,0x2082fe,0x208343,0x208351,
+ 0x208355,0x208386,0x20838d,0x208392,0x208398,0x2083a9,0x2083bf,0x2083c0,0x2083ea,0x20840f,
+ 0x208411,0x20844a,0x208476,0x2084a8,0x2084af,0x2084c0,0x2084c2,0x2084f0,0x2084fd,0x20850c,
+ 0x208534,0x20855e,0x20858f,0x2085b7,0x2085ce,0x2085ad,0x208612,0x208629,0x208652,0x208663,
+ 0x20866c,0x20866f,0x20867a,0x20868d,0x208691,0x208698,0x2086a7,0x2086a8,0x2086fa,0x2086fd,
+ 0x20870b,0x208713,0x208719,0x20871e,0x208728,0x20873e,0x208771,0x208788,0x208799,0x2087ac,
+ 0x2087ad,0x2087b5,0x2087d6,0x2087eb,0x2087ed,0x208801,0x408803,0x208806,0x20880b,0x208814,
+ 0x20881c,0x208856,0x20885f,0x208864,0x208898,0x2088aa,0x2088bd,0x2088be,0x2088ca,0x2088d2,
+ 0x2088db,0x2088f0,0x2088f1,0x208906,0x208918,0x208919,0x20891a,0x208927,0x208930,0x20893e,
+ 0x20897b,0x2089d4,0x2089d6,0x2089e5,0x2089f1,0x208a07,0x208a0f,0x208a15,0x208a22,0x208a4e,
+ 0x208a7f,0x208af4,0x208b1f,0x208b37,0x208b43,0x208b44,0x208b54,0x208b9c,0x208b9e,0x208c47,
+ 0x208c54,0x208c73,0x208ca4,0x208cd9,0x208ce1,0x208cf8,0x208cfe,0x208d1b,0x208d69,0x208d6c,
+ 0x208d84,0x208d8d,0x208d95,0x208da6,0x208dc6,0x208dce,0x208de4,0x208dec,0x208e20,0x208e4b,
+ 0x208e6c,0x208e70,0x208e7a,0x208e92,0x208eae,0x208eb3,0x208ed1,0x408ed4,0x208ef9,0x208f17,
+ 0x208f36,0x208fa6,0x208fb5,0x208fb6,0x408fc6,0x208fe0,0x208fe4,0x208ff6,0x209002,0x20902c,
+ 0x209044,0x209088,0x209095,0x209099,0x20909b,0x2090a2,0x2090b4,0x2090d7,0x2090dd,0x2090f4,
+ 0x209117,0x20911c,0x209131,0x20913a,0x20913d,0x209148,0x20915b,0x209161,0x209164,0x20918e,
+ 0x20919e,0x2091a8,0x2091ad,0x2091ae,0x2091b2,0x2091bc,0x2091f0,0x2091f7,0x2091fb,0x209207,
+ 0x209228,0x209233,0x209238,0x209243,0x209247,0x20924f,0x209260,0x2092c2,0x2092cb,0x2092cc,
+ 0x2092df,0x20930d,0x209315,0x20931f,0x209327,0x209347,0x209352,0x409365,0x20936a,0x20936d,
+ 0x20939b,0x2093ba,0x2093a9,0x2093c1,0x2093ca,0x2093e2,0x2093fa,0x2093fd,0x20940f,0x209434,
+ 0x20943f,0x209455,0x20946b,0x209472,0x209578,0x2095a6,0x2095a9,0x4095ab,0x2095b4,0x2095bd,
+ 0x2095da,0x20961d,0x209641,0x209658,0x209684,0x2096a4,0x2096a9,0x2096d2,0x205db2,0x2096de,
+ 0x2096e9,0x2096f1,0x209702,0x209709,0x20975a,0x209763,0x20976e,0x209773,0x20979a,0x2097a2,
+ 0x2097b5,0x2097b6,0x2097d9,0x2097de,0x2097f4,0x20980a,0x20980e,0x20981e,0x209823,0x20982b,
+ 0x20983e,0x209852,0x209853,0x209859,0x20986c,0x2098b8,0x2098ba,0x2098bf,0x2098c8,0x2098e5,
+ 0x209932,0x209933,0x209940,0x20994d,0x20995c,0x20995f,0x2099b1,0x2099b9,0x2099ba,0x2099c9,
+ 0x209a02,0x209a16,0x209a24,0x209a27,0x209a2d,0x209a2e,0x209a36,0x209a38,0x209a4a,0x209a56,
+ 0x209ab5,0x209ab6,0x209af9,0x209b03,0x209b20,0x209b33,0x209b34,0x209b73,0x209b79,0x209ba7,
+ 0x209bc1,0x209bc7,0x209bd7,0x209be7,0x209beb,0x209bf7,0x209bfa,0x209bfd,0x209c0b,0x209c27,
+ 0x209c2a,0x209c36,0x209c41,0x209c53,0x209c63,0x209c70,0x209c77,0x209d02,0x209d42,0x209d47,
+ 0x209d63,0x209d69,0x209d7c,0x209d7e,0x209d8d,0x209db1,0x209dc3,0x209dc7,0x209dd6,0x209ddf,
+ 0x209deb,0x209df4,0x209e15,0x209e1d,0x209ea4,0x209ea8,0x209eac,0x209ee7,0x209eee,0x209f10,
+ 0x209f12,0x209f17,0x209f19,0x209f2f,0x209f37,0x209f39,0x209f41,0x209f45,0x209f57,0x209f68,
+ 0x209f71,0x209f75,0x209f90,0x209f94,0x209fa2,0x404e30,0x203405,0x404f60,0x205620,0x205ecb,
+ 0x405f50,0x4060a4,0x22363a,0x406b24,0x206ff9,0x206ee6,0x2071b3,0x40722b,0x407ac6,0x407f61,
+ 0x408071,0x40809e,0x408fb6,0x4091fc,0x405db2,0x4097de,0x204fd3,0x2050d9,0x2050f0,0x2051c3,
+ 0x205676,0x206a54,0x206d01,0x206dd0,0x206e42,0x206ed9,0x2073e4,0x207421,0x20756c,0x207851,
+ 0x2087f5,0x2233fe,0x2073a8,0x203af3,0x2034db,0x20440c,0x203e8a,0x4235c4,0x209fbd,0x204be8,
+ 0x209fbc,0x203eda,0x203b22,0x209fbe,0x20457a,0x204093,0x429e3d,0x204665,0x204103,0x204293,
+ 0x2046ae,0x203488,0x222609,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,0x204f48,0x204f5f,
+ 0x204f6a,0x204f6c,0x20500e,0x205018,0x205041,0x2050f2,0x2050d0,0x205106,0x205103,0x205135,
+ 0x205155,0x205157,0x2034b5,0x2051ca,0x2051e2,0x205257,0x2052cc,0x2052d6,0x2052fb,0x20531c,
+ 0x205363,0x20539d,0x205412,0x20547f,0x205488,0x205550,0x205581,0x2055ad,0x2055ce,0x20563b,
+ 0x20569e,0x2056a9,0x2056b3,0x205777,0x20577c,0x22131b,0x2057cf,0x2057e4,0x205864,0x205889,
+ 0x22146e,0x2058d2,0x2058e0,0x208641,0x20598b,0x205992,0x2059c3,0x205a13,0x205a67,0x205a77,
+ 0x205a84,0x205ac4,0x2218bd,0x205b7d,0x205b93,0x205c12,0x205c6e,0x2216b4,0x205c7a,0x205c8f,
+ 0x205c9f,0x205ca3,0x205caa,0x205cd0,0x221e34,0x205d0d,0x205d47,0x205d81,0x205da4,0x205da7,
+ 0x205dcb,0x205e5e,0x205ef9,0x205f00,0x205f02,0x205f23,0x205f3d,0x205f54,0x205f7d,0x20600d,
+ 0x206014,0x206018,0x206035,0x206047,0x20609d,0x2060d4,0x2060dd,0x20612b,0x2061bc,0x2061b9,
+ 0x206222,0x20625a,0x20626f,0x2062d6,0x20637c,0x2063e5,0x206479,0x2064c4,0x2064d0,0x206529,
+ 0x20659d,0x20663a,0x206622,0x20662b,0x206630,0x206633,0x206648,0x2231c4,0x206677,0x206678,
+ 0x20668d,0x2066bb,0x2066db,0x2066e8,0x206747,0x206781,0x206793,0x206798,0x20679b,0x2067fc,
+ 0x20681d,0x2068a3,0x20690a,0x206949,0x2235c4,0x206942,0x206964,0x2069a5,0x2069cf,0x203bb6,
+ 0x203bc3,0x2069e9,0x2069f5,0x22373f,0x206a3b,0x223763,0x206a94,0x206aa5,0x203c0f,0x206b1b,
+ 0x206b2c,0x206b67,0x206ba9,0x206bad,0x206bd7,0x206bff,0x206c05,0x206c74,0x206c98,0x206cfb,
+ 0x206cc6,0x206d31,0x206d39,0x206d3f,0x206d58,0x206d94,0x206daa,0x206ddb,0x206ddd,0x206e44,
+ 0x206e5e,0x206eb1,0x206ec1,0x206f10,0x206f59,0x206f61,0x206f7e,0x206f8c,0x206fa0,0x206fbc,
+ 0x206fc7,0x206fca,0x206ff0,0x20704e,0x207075,0x2070a4,0x2070e4,0x20712b,0x20711e,0x20712e,
+ 0x207151,0x207168,0x207185,0x207187,0x2071ba,0x2071c4,0x207215,0x203e3f,0x20729b,0x2247f1,
+ 0x207327,0x207350,0x207366,0x2073a2,0x20742b,0x207446,0x207462,0x20746d,0x2074a6,0x2074a9,
+ 0x2074c9,0x2074ff,0x207517,0x203f72,0x2075ce,0x207602,0x207608,0x207664,0x207681,0x20769d,
+ 0x2076aa,0x2076b6,0x2076ce,0x2076d4,0x2076e6,0x2076f1,0x20770a,0x207719,0x20774d,0x20774e,
+ 0x20777a,0x207780,0x207794,0x2077e0,0x22548e,0x207843,0x20786e,0x2078b0,0x22550e,0x2078ad,
+ 0x207900,0x20791c,0x20792e,0x207934,0x207946,0x207979,0x2079c8,0x225771,0x2079d4,0x2079de,
+ 0x2079eb,0x2079ed,0x207a85,0x2259c4,0x207ace,0x207afd,0x207b12,0x207b2d,0x207b3b,0x207b6f,
+ 0x207c01,0x207c33,0x225da1,0x207c6d,0x207c79,0x207c8f,0x207c94,0x207ca0,0x207cd5,0x207d31,
+ 0x207d5c,0x207d83,0x207da6,0x207dc2,0x207e28,0x207f97,0x207fdb,0x208035,0x208037,0x2080ca,
+ 0x2080e0,0x2080f3,0x208160,0x208167,0x208168,0x20816d,0x2081bb,0x2081ca,0x2081d7,0x20445b,
+ 0x208260,0x208274,0x226aff,0x2082a1,0x2082a3,0x2082a4,0x2082a9,0x2082bf,0x2082d5,0x2082fd,
+ 0x208300,0x208322,0x20832d,0x20833a,0x208347,0x20837d,0x2083a7,0x2083cf,0x2083d1,0x2083e1,
+ 0x208401,0x208406,0x20845f,0x208470,0x208473,0x208485,0x20849e,0x2084ba,0x226e40,0x208532,
+ 0x20851e,0x20852f,0x208564,0x20857a,0x20858c,0x2085a2,0x2085cb,0x2085ed,0x2085ff,0x208604,
+ 0x208605,0x208610,0x2270f4,0x208618,0x208638,0x208657,0x208662,0x20459d,0x208675,0x2086b8,
+ 0x2086fc,0x208787,0x2045ea,0x20880a,0x208810,0x2088ce,0x227684,0x208932,0x208939,0x208940,
+ 0x208994,0x2089f6,0x208a47,0x208a5d,0x208a61,0x208a75,0x208ad0,0x208b46,0x208b59,0x208b69,
+ 0x208b9d,0x208c49,0x208c68,0x208daf,0x208dd1,0x208dd7,0x208e23,0x208e3d,0x208e7b,0x228277,
+ 0x204844,0x208efa,0x208f1e,0x208f2d,0x208f54,0x2283cd,0x208fe8,0x208fee,0x209008,0x20902d,
+ 0x209097,0x2090b3,0x2090be,0x2090c4,0x2090c5,0x2090c7,0x2090ef,0x209114,0x209116,0x209122,
+ 0x209123,0x20912f,0x209134,0x209183,0x2091f1,0x209349,0x209364,0x209365,0x2093a3,0x2093df,
+ 0x209404,0x209433,0x20944a,0x209463,0x209471,0x20958e,0x20959f,0x2095ac,0x2095b6,0x2095cb,
+ 0x2095d0,0x2095d3,0x2049b0,0x2095de,0x2096a5,0x2096ef,0x20974e,0x209795,0x2097ae,0x2097ba,
+ 0x2097c1,0x2097c9,0x2097db,0x209856,0x2098e7,0x209958,0x209a03,0x209ac1,0x209ac3,0x209ace,
+ 0x209ad6,0x209b02,0x209b08,0x204c17,0x209b2d,0x209b5e,0x209b66,0x209b84,0x209b8a,0x209b9e,
+ 0x209bce,0x209be5,0x209bf8,0x209c23,0x209c4f,0x209c50,0x209c65,0x209d1d,0x209d1e,0x209d43,
+ 0x209d52,0x209d8a,0x209d96,0x209dc0,0x209dac,0x209dbc,0x22a190,0x209de7,0x209e07,0x209e9e,
+ 0x209eaf,0x209f97,0x220089,0x204e02,0x204e0f,0x204e12,0x204e29,0x204e2e,0x204e47,0x2200a2,
+ 0x204e51,0x203406,0x2200a4,0x204e69,0x204e9d,0x20342c,0x204ebc,0x204ec3,0x204ec8,0x204eeb,
+ 0x204eda,0x204ef1,0x204ef5,0x204f16,0x204f64,0x204f37,0x204f3e,0x204f58,0x220213,0x204f77,
+ 0x204f78,0x204f82,0x204f85,0x204fe6,0x204fb2,0x204fc5,0x204fcb,0x204fd2,0x20346a,0x204ff2,
+ 0x205013,0x20501c,0x20504e,0x205053,0x205063,0x2050a3,0x205088,0x205092,0x205093,0x205095,
+ 0x2050aa,0x22032b,0x2050b1,0x2050ba,0x2050bb,0x2050c4,0x2050c7,0x2050f3,0x220381,0x2050ce,
+ 0x220371,0x2050d4,0x2050e1,0x203492,0x2203f9,0x205117,0x22044a,0x205160,0x220509,0x205173,
+ 0x205183,0x20518b,0x2034bc,0x205198,0x2051a3,0x2051ad,0x2034c7,0x2205d6,0x2051f3,0x205212,
+ 0x205216,0x22074f,0x205255,0x20525c,0x20526c,0x205277,0x205284,0x205282,0x220807,0x205298,
+ 0x22083a,0x2052a4,0x2052ba,0x2052bb,0x2052ca,0x2052d1,0x2208b9,0x2052f7,0x205335,0x205342,
+ 0x22097c,0x22099d,0x205367,0x20537a,0x2053a4,0x2053b4,0x220ad3,0x2053b7,0x2053c0,0x220b1d,
+ 0x20355d,0x20355e,0x2053d5,0x203563,0x2053f4,0x205424,0x205428,0x20356e,0x205443,0x205462,
+ 0x20546c,0x205495,0x2054a0,0x2054a6,0x2054ae,0x2054b7,0x2054ba,0x2054c3,0x220d45,0x2054ec,
+ 0x2054ef,0x2054f1,0x2054f3,0x205500,0x205501,0x205509,0x20553c,0x205541,0x2035a6,0x205547,
+ 0x2035a8,0x205564,0x220de1,0x20557d,0x205582,0x205591,0x2035c5,0x2055d2,0x220e95,0x220e6d,
+ 0x2055bf,0x2055c9,0x2055cc,0x2055d1,0x2055dd,0x2035da,0x2055e2,0x220e64,0x2055e9,0x205628,
+ 0x220f5f,0x205607,0x205610,0x205630,0x2035f4,0x20563d,0x205640,0x205647,0x20565e,0x205660,
+ 0x20566d,0x203605,0x205688,0x20568c,0x20569d,0x2056a8,0x2056b2,0x2056c5,0x2056cd,0x2056df,
+ 0x2056e8,0x2056f6,0x2056f7,0x221201,0x221255,0x205729,0x22127b,0x205745,0x205746,0x20574d,
+ 0x221274,0x205768,0x20576f,0x205773,0x205774,0x205775,0x20577b,0x2212e4,0x2212d7,0x20579a,
+ 0x20579d,0x20579e,0x2057a8,0x2057d7,0x2212fd,0x2057cc,0x221336,0x221344,0x2057de,0x2057f0,
+ 0x20364a,0x2057f8,0x2057fb,0x2057fd,0x205804,0x20581e,0x205827,0x205839,0x2213c4,0x205849,
+ 0x20584c,0x205867,0x20588a,0x20588b,0x20588d,0x20588f,0x205890,0x205894,0x20589d,0x2058aa,
+ 0x2058b1,0x22146d,0x2058c3,0x2058cd,0x2058e2,0x2058f3,0x2058f4,0x205905,0x205906,0x20590d,
+ 0x205914,0x2215d7,0x203691,0x20593d,0x203699,0x205946,0x203696,0x226c29,0x20595f,0x221647,
+ 0x205975,0x205976,0x20597c,0x20599f,0x2059ae,0x2059bc,0x2059c8,0x2059cd,0x2059de,0x2059e7,
+ 0x2059ee,0x221706,0x221742,0x2036cf,0x205a0d,0x205a17,0x205a27,0x205a2d,0x205a65,0x205a7a,
+ 0x205a8b,0x205a9c,0x205a9f,0x205aa0,0x205aa2,0x205ab1,0x205ab5,0x205aba,0x205abf,0x205ada,
+ 0x205adc,0x205ae5,0x205af0,0x205aee,0x205af5,0x205b08,0x205b17,0x205b34,0x205b4c,0x205b52,
+ 0x205b68,0x205b6f,0x205b81,0x205b84,0x2219c3,0x205b96,0x205bac,0x203761,0x203762,0x205bce,
+ 0x205bd6,0x20376c,0x20376b,0x205bf1,0x205bfd,0x203775,0x205c03,0x205c29,0x221c56,0x205c5f,
+ 0x205c67,0x205c68,0x205c70,0x221d2d,0x221d45,0x221d78,0x221d62,0x205c88,0x205c8a,0x2037c1,
+ 0x221da1,0x221d9c,0x205ca0,0x205ca2,0x205ca7,0x221d92,0x205cad,0x205cb5,0x221db7,0x205cc9,
+ 0x221de0,0x221e33,0x205d06,0x205d10,0x205d2b,0x205d1d,0x205d20,0x205d31,0x205d39,0x2037e8,
+ 0x205d61,0x205d6a,0x2037f4,0x205d70,0x221f1e,0x2037fd,0x205d88,0x203800,0x205d97,0x205db0,
+ 0x205db4,0x221f76,0x205dd1,0x205dd7,0x221ffa,0x205de4,0x205de9,0x20382f,0x203836,0x203840,
+ 0x205e1f,0x205e3e,0x205e49,0x20385c,0x205e56,0x203861,0x205e6d,0x205e6e,0x22217b,0x205ea5,
+ 0x205eac,0x205eb9,0x205ec6,0x205ed9,0x22231e,0x205efd,0x205f08,0x2223ad,0x205f1e,0x205f47,
+ 0x205f63,0x205f72,0x205f7e,0x205f8f,0x205fa2,0x205fc7,0x205fcb,0x205fd2,0x205fd3,0x205fd4,
+ 0x205fe2,0x205fee,0x205fef,0x205ff3,0x203917,0x206022,0x206024,0x20391a,0x20604c,0x206095,
+ 0x2060a8,0x2226f3,0x2060b1,0x2060be,0x2060c8,0x2060d9,0x2060ee,0x2060f5,0x206110,0x206119,
+ 0x20611e,0x20613a,0x20396f,0x206141,0x206146,0x206160,0x22285b,0x206192,0x206193,0x206197,
+ 0x2061a5,0x2061ad,0x2228ab,0x2061d5,0x2061dd,0x2061f5,0x22298f,0x206223,0x206252,0x206261,
+ 0x206264,0x20627b,0x20626d,0x206273,0x206299,0x2062d5,0x222ab8,0x2062fd,0x206303,0x206310,
+ 0x222b4f,0x222b50,0x206332,0x206335,0x20633b,0x20633c,0x206341,0x206344,0x20634e,0x222b46,
+ 0x206359,0x222c1d,0x222ba6,0x20636c,0x206399,0x222c24,0x206394,0x2063bd,0x2063d4,0x2063d5,
+ 0x2063e0,0x2063eb,0x2063ec,0x2063f2,0x20641e,0x206425,0x206429,0x20642f,0x20645a,0x20645d,
+ 0x206473,0x20647d,0x206487,0x206491,0x20649f,0x2064cb,0x2064cc,0x2064d5,0x2064d7,0x222de1,
+ 0x2064e4,0x2064ff,0x203a6e,0x20650f,0x206514,0x203a73,0x20651e,0x206532,0x206544,0x206554,
+ 0x20656b,0x20657a,0x206584,0x20658a,0x2065b2,0x2065b5,0x2065b8,0x2065bf,0x2065c9,0x2065d4,
+ 0x203ad6,0x2065f9,0x2065fc,0x206604,0x206608,0x206621,0x20662a,0x206645,0x206651,0x20664e,
+ 0x203aea,0x2231c3,0x2231f5,0x2231b6,0x20666a,0x20666c,0x20666d,0x20667b,0x206680,0x206690,
+ 0x206692,0x203b0e,0x2066ad,0x2066b1,0x2066b5,0x203b1a,0x203b1c,0x203ad7,0x206701,0x206712,
+ 0x223372,0x206719,0x2233d3,0x2233d2,0x20674d,0x206754,0x20675d,0x2233d0,0x2233e4,0x2233d5,
+ 0x206774,0x2233da,0x206792,0x2233df,0x208363,0x206810,0x2067c3,0x2067c8,0x2067d2,0x2067db,
+ 0x2067f7,0x22344a,0x223451,0x22344b,0x206818,0x20681f,0x20682d,0x223465,0x206833,0x20683b,
+ 0x20683e,0x206845,0x206849,0x20684c,0x206855,0x206857,0x203b77,0x20686b,0x20686e,0x20687c,
+ 0x206882,0x206890,0x206896,0x203b6d,0x206898,0x206899,0x20689a,0x20689c,0x2068aa,0x2068ab,
+ 0x2068b4,0x2068bb,0x2068fb,0x2234e4,0x22355a,0x2068c3,0x2068c5,0x2068cc,0x2068d9,0x2068e4,
+ 0x2068e5,0x2068ec,0x2068f7,0x206903,0x206907,0x203b87,0x223594,0x203b8d,0x206946,0x206969,
+ 0x20696c,0x20697a,0x206992,0x203ba4,0x206996,0x2069b0,0x2069ba,0x2069bc,0x2069c0,0x2069d1,
+ 0x223639,0x223647,0x223638,0x2069e3,0x2069ee,0x2069ef,0x2069f3,0x203bcd,0x2069f4,0x2069fe,
+ 0x206a11,0x206a1a,0x206a1d,0x22371c,0x206a32,0x206a33,0x206a3f,0x206a49,0x206a7a,0x206a4e,
+ 0x206a52,0x206a64,0x22370c,0x206a8b,0x203bf0,0x206aa1,0x223764,0x206aab,0x206abd,0x206ac6,
+ 0x206ad4,0x206ad0,0x206add,0x2237ff,0x2237e7,0x206af1,0x206af2,0x206af3,0x206afd,0x223824,
+ 0x206b0b,0x206b0f,0x206b10,0x206b11,0x22383d,0x206b17,0x203c26,0x206b2f,0x206b4a,0x206b58,
+ 0x206b6c,0x206b75,0x206b7a,0x206b81,0x206b9b,0x206bae,0x223a98,0x206bbd,0x206bc7,0x206bc8,
+ 0x206bc9,0x206bda,0x206be6,0x206be7,0x206bee,0x206c02,0x206c0a,0x206c0e,0x206c36,0x223c7f,
+ 0x206c4d,0x206c5b,0x206c6d,0x206c84,0x206c89,0x203cc3,0x206c94,0x206c97,0x206cad,0x206cc2,
+ 0x203cd2,0x206cdc,0x206ce9,0x206ced,0x223d00,0x206d00,0x206d24,0x206d26,0x206d27,0x206c67,
+ 0x206d2f,0x206d3c,0x206d5b,0x206d60,0x206d70,0x206d80,0x206d81,0x206d8a,0x206d8d,0x206d91,
+ 0x206d98,0x223d40,0x223dfa,0x223df9,0x223dd3,0x206dab,0x206dae,0x206db4,0x206dc2,0x206d34,
+ 0x206dc8,0x206dce,0x206ddf,0x206df6,0x206e36,0x206e1e,0x203d11,0x206e32,0x206e48,0x206e49,
+ 0x206e4b,0x206e4c,0x206e4f,0x206e53,0x206e54,0x206e57,0x206e63,0x203d1e,0x206e93,0x206ea7,
+ 0x206eb4,0x206ec3,0x206f35,0x206eeb,0x206ef9,0x206efb,0x206f0a,0x206f0c,0x206f18,0x206f25,
+ 0x206f36,0x206f3c,0x223f7e,0x206f52,0x206f57,0x206f60,0x206f68,0x206f90,0x206f96,0x206fbe,
+ 0x206f9f,0x206fa5,0x206faf,0x203d64,0x206fc8,0x206fc9,0x206fe9,0x224096,0x206ffc,0x207000,
+ 0x20700a,0x207023,0x224103,0x20703a,0x207043,0x207047,0x20704b,0x203d9a,0x207065,0x207069,
+ 0x20706e,0x207076,0x207086,0x207097,0x2241c6,0x20709f,0x2070b1,0x2241fe,0x2070ec,0x2070ca,
+ 0x2070d1,0x207103,0x207106,0x207108,0x20710c,0x203dc0,0x20712f,0x207150,0x207153,0x20715e,
+ 0x203dd4,0x207196,0x207180,0x20719b,0x2071a0,0x2071a2,0x2071ae,0x2071af,0x2243bc,0x2071d9,
+ 0x2071dc,0x207207,0x203e05,0x207234,0x207239,0x207242,0x207257,0x207263,0x224629,0x20726e,
+ 0x20726f,0x207278,0x20727f,0x20728e,0x2246a5,0x2072ae,0x2072b0,0x2072c1,0x203e60,0x2072cc,
+ 0x203e66,0x203e68,0x2072f3,0x2072fa,0x207307,0x207312,0x207318,0x207319,0x203e83,0x207339,
+ 0x20732c,0x207333,0x20733d,0x207352,0x203e94,0x20736b,0x224896,0x20736e,0x20736f,0x207371,
+ 0x207381,0x20738a,0x207394,0x207398,0x20739c,0x2073a5,0x2073b9,0x2073bf,0x2073c5,0x2073cb,
+ 0x2073e1,0x2073e7,0x2073f9,0x207413,0x2073fa,0x207401,0x207453,0x207440,0x207443,0x207452,
+ 0x20745d,0x207481,0x207488,0x224a4d,0x207492,0x207497,0x207499,0x2074a1,0x2074a5,0x2074aa,
+ 0x2074b9,0x2074bb,0x2074ba,0x2074d6,0x2074d8,0x2074eb,0x224b56,0x2074fa,0x224b6f,0x207520,
+ 0x207524,0x20752a,0x203f57,0x224c16,0x20753d,0x20753e,0x207540,0x207548,0x207550,0x207552,
+ 0x207572,0x207571,0x20757a,0x20757d,0x20757e,0x20758c,0x203f75,0x2075a2,0x203f77,0x2075b0,
+ 0x2075b7,0x2075bf,0x2075c0,0x2075c6,0x2075cf,0x2075d3,0x2075dd,0x2075df,0x2075e0,0x2075e7,
+ 0x2075ee,0x2075f1,0x207603,0x207618,0x207607,0x20760f,0x203fae,0x224e0e,0x207613,0x20761b,
+ 0x20761c,0x224e37,0x207625,0x207628,0x20763c,0x207633,0x224e6a,0x203fc9,0x207641,0x224e8b,
+ 0x207649,0x207655,0x203fd7,0x20766e,0x207695,0x2076a1,0x2076a0,0x2076a7,0x2076a8,0x2076af,
+ 0x22504a,0x2076c9,0x225055,0x2076e8,0x225122,0x207717,0x20771a,0x20772d,0x207735,0x2251a9,
+ 0x204039,0x2251e5,0x2251cd,0x207758,0x22521e,0x20777c,0x22524c,0x204058,0x20779a,0x20779f,
+ 0x2077a2,0x2077a4,0x2077de,0x2077df,0x2077e4,0x2077ea,0x2077ec,0x2077fb,0x22542e,0x207805,
+ 0x207809,0x20780d,0x207819,0x20782c,0x207847,0x20786a,0x2254d9,0x20788a,0x207894,0x2078a4,
+ 0x20789d,0x20789f,0x2078bb,0x2078d5,0x2078e6,0x2078f9,0x2078fa,0x2078fe,0x2255a7,0x207910,
+ 0x20791b,0x207925,0x20794a,0x207958,0x204105,0x207967,0x207972,0x207995,0x2079a1,0x2079a9,
+ 0x2079b4,0x2079c2,0x2079c7,0x2079cc,0x2079cd,0x2079d6,0x204148,0x2257a9,0x2257b4,0x20414f,
+ 0x207a0a,0x207a15,0x207a1b,0x204163,0x207a38,0x207a47,0x207a56,0x207a59,0x207a5c,0x207a5f,
+ 0x207a67,0x207a6a,0x207a75,0x207a82,0x207a8a,0x207a90,0x207aac,0x2259d4,0x2041b4,0x207ab9,
+ 0x207abe,0x2041bf,0x207acc,0x207ae8,0x207af4,0x225ae4,0x225ae3,0x225af1,0x207b3d,0x207b2a,
+ 0x207b2e,0x207b2f,0x2041e6,0x2041f3,0x207b7f,0x207b41,0x2041ee,0x207b55,0x207b79,0x207b64,
+ 0x207b66,0x207b73,0x225bb2,0x204207,0x207b90,0x207b9b,0x20420e,0x207bb5,0x207bbc,0x207bc5,
+ 0x207bca,0x225c4b,0x225c64,0x207bd4,0x207bd6,0x207bda,0x207bea,0x207bf0,0x207c03,0x207c0e,
+ 0x207c45,0x207c4a,0x207c57,0x207c5e,0x207c61,0x207c69,0x207c6f,0x225e2e,0x225e56,0x225e65,
+ 0x207ca6,0x225e62,0x207cb6,0x207cb7,0x225ed8,0x207cc4,0x225ec2,0x207ccd,0x225ee8,0x225f23,
+ 0x207ce6,0x225f5c,0x207cf5,0x207d03,0x2042c6,0x207d12,0x207d1e,0x225fe0,0x225fd4,0x207d3d,
+ 0x207d3e,0x207d40,0x207d47,0x22600c,0x225ffb,0x2042d6,0x207d5a,0x207d6a,0x207d70,0x2042dd,
+ 0x207d7f,0x226017,0x207d88,0x207d97,0x226060,0x207d9d,0x207da7,0x207daa,0x207db6,0x207dc0,
+ 0x207dd7,0x207dd9,0x207de6,0x204302,0x2260ed,0x407e09,0x207e10,0x207e17,0x207e1d,0x207e27,
+ 0x207e2c,0x207e45,0x207e75,0x207e7e,0x207e86,0x207e87,0x20432b,0x207e9a,0x204343,0x207f3c,
+ 0x207f3b,0x207f3e,0x207f43,0x2034c1,0x226270,0x226286,0x207f63,0x207f64,0x207f6d,0x207f7d,
+ 0x207f7e,0x207f90,0x20517b,0x223d0e,0x207f96,0x207f9c,0x207fad,0x226402,0x207fc3,0x207fcf,
+ 0x207fe3,0x207ff2,0x20800a,0x208008,0x208016,0x20802c,0x208030,0x208043,0x208066,0x20807b,
+ 0x208099,0x20809c,0x2080a4,0x2080a7,0x2080b8,0x22667e,0x2080c5,0x2080d5,0x2080e6,0x20810d,
+ 0x2080f5,0x2080fb,0x2043ee,0x208135,0x20811e,0x2043f0,0x208124,0x208127,0x20812c,0x22671d,
+ 0x20813d,0x204408,0x208169,0x204417,0x20441c,0x208185,0x204422,0x208198,0x2081b2,0x2081c1,
+ 0x2081c3,0x2081d6,0x2081db,0x2268dd,0x2081e4,0x2268ea,0x2081ec,0x2081fd,0x2081ff,0x22696f,
+ 0x208204,0x2269dd,0x208219,0x208222,0x226a1e,0x20823c,0x208249,0x208245,0x226a58,0x204476,
+ 0x20447a,0x208257,0x226a8c,0x20825c,0x208263,0x226ab7,0x204491,0x20827d,0x20827f,0x208283,
+ 0x20828a,0x208293,0x2082a7,0x2082a8,0x2082b2,0x2082b4,0x2082ba,0x2082bc,0x2082e2,0x2082e8,
+ 0x2082f7,0x208307,0x208308,0x20830c,0x208354,0x20831b,0x20831d,0x208330,0x20833c,0x208344,
+ 0x208357,0x2044be,0x2044d4,0x2044b3,0x208394,0x208395,0x20839b,0x20839d,0x2083c9,0x2083d0,
+ 0x2083d4,0x2083dd,0x2083e5,0x2083f9,0x208415,0x226c73,0x208417,0x208439,0x20844f,0x208451,
+ 0x208452,0x208459,0x20845a,0x20845c,0x226cdd,0x208465,0x208478,0x20847c,0x208481,0x20450d,
+ 0x208497,0x2084a6,0x2084be,0x204508,0x2084ce,0x2084cf,0x2084d3,0x226e65,0x2084e7,0x2084ea,
+ 0x2084ef,0x2084f1,0x2084fa,0x20851b,0x208524,0x208525,0x20852b,0x20854f,0x20856f,0x204543,
+ 0x208551,0x208561,0x208562,0x226f94,0x20857b,0x20857d,0x20857f,0x208581,0x208586,0x208593,
+ 0x20859d,0x20859f,0x226ff8,0x226ff6,0x226ff7,0x2085bc,0x2085c7,0x2085ca,0x2085d8,0x2085d9,
+ 0x2085df,0x2085e1,0x2085e6,0x2085f6,0x208600,0x208611,0x20861e,0x208621,0x208624,0x208627,
+ 0x22710d,0x208639,0x20863c,0x227139,0x208640,0x208653,0x208656,0x208677,0x208687,0x208689,
+ 0x20869c,0x20869d,0x2086b1,0x2086b3,0x2086c1,0x2086c3,0x2086d1,0x2086d5,0x2086d7,0x2086e3,
+ 0x2086e6,0x2045b8,0x208705,0x208707,0x20870e,0x208710,0x20871f,0x208721,0x208723,0x208731,
+ 0x20873a,0x208740,0x208743,0x208751,0x208758,0x208764,0x208765,0x208772,0x20877c,0x2273db,
+ 0x2273da,0x2087a7,0x208789,0x20878b,0x208793,0x2087a0,0x2273fe,0x2045e5,0x2087be,0x227410,
+ 0x2087c1,0x2087ce,0x2087df,0x227449,0x2087e3,0x2087e5,0x2087e6,0x2087ea,0x208813,0x208828,
+ 0x20882e,0x208832,0x20883c,0x20460f,0x20884a,0x208858,0x227615,0x227614,0x208869,0x227631,
+ 0x20886f,0x2088a0,0x2088bc,0x2088c0,0x227693,0x2088d1,0x2088d3,0x204641,0x208901,0x22770e,
+ 0x208937,0x227723,0x208942,0x208945,0x208949,0x227752,0x208962,0x208989,0x208990,0x20899f,
+ 0x2089b0,0x2089b7,0x2089d8,0x2089eb,0x2046a1,0x2089f3,0x2089fd,0x2089ff,0x2046af,0x208a11,
+ 0x208a14,0x227985,0x208a21,0x208a35,0x208a3e,0x208a45,0x208a4d,0x208a58,0x208aae,0x208a90,
+ 0x208ab7,0x208ad7,0x208afc,0x227a84,0x208b0a,0x208b05,0x208b0d,0x208b1c,0x208b2d,0x20470c,
+ 0x208b51,0x208b5e,0x208b76,0x208b81,0x208b8b,0x208b94,0x208b95,0x208c39,0x227bb3,0x208c3d,
+ 0x227bbe,0x227bc7,0x208c45,0x208c4f,0x208c57,0x208c69,0x208c6d,0x227cb8,0x208c93,0x208c92,
+ 0x208c99,0x204764,0x208c9b,0x208cd6,0x208cd5,0x227da0,0x208cf1,0x227e10,0x208d09,0x208d0e,
+ 0x208dc8,0x208dd9,0x208e0c,0x2047fd,0x208dfd,0x208e06,0x22808a,0x208e14,0x208e16,0x208e21,
+ 0x208e22,0x208e27,0x2280bb,0x204816,0x208e36,0x208e39,0x208e54,0x208e62,0x208e6d,0x208e6f,
+ 0x208e98,0x208e9e,0x208eb5,0x208ebb,0x228282,0x20484e,0x2282f3,0x208f00,0x208f08,0x208f2b,
+ 0x208f40,0x208f4a,0x208f58,0x22840c,0x208fa4,0x208fb4,0x228455,0x208fc1,0x208fc6,0x20fa24,
+ 0x208fca,0x208fcd,0x208fd3,0x208fd5,0x208ff1,0x208ff5,0x208ffb,0x20900c,0x209037,0x22856b,
+ 0x209043,0x20905d,0x2285c8,0x2285c9,0x209085,0x20908c,0x209090,0x2090a1,0x2048b5,0x2090b0,
+ 0x2090b6,0x2090c3,0x2090c8,0x2286d7,0x2090dc,0x2090df,0x2286fa,0x2090f6,0x2090f2,0x209100,
+ 0x2090eb,0x2090fe,0x2090ff,0x209104,0x209106,0x209118,0x20911e,0x209137,0x209139,0x209146,
+ 0x209147,0x209157,0x209159,0x209174,0x209179,0x209185,0x2091b3,0x2091b6,0x2091c3,0x2091c4,
+ 0x228949,0x228946,0x2091ec,0x209201,0x209216,0x209217,0x22896b,0x209242,0x20924a,0x209256,
+ 0x209261,0x209265,0x209268,0x228988,0x20927c,0x20927d,0x20927f,0x209289,0x20928d,0x209297,
+ 0x209299,0x20929f,0x2092ab,0x2289ba,0x2289bb,0x2092b2,0x2092bf,0x2092c0,0x2092c6,0x2092ce,
+ 0x2092e5,0x209311,0x228a1e,0x228a29,0x2092f7,0x209329,0x228a71,0x228a43,0x209351,0x20935a,
+ 0x20936b,0x209371,0x209373,0x2093a1,0x228a99,0x228acd,0x209388,0x20938b,0x20938f,0x20939e,
+ 0x2093f5,0x228ae4,0x228add,0x2093f1,0x2093c7,0x2093dc,0x2093e7,0x209409,0x209416,0x209417,
+ 0x2093fb,0x209432,0x20943b,0x228bc1,0x228bef,0x20946d,0x20946f,0x209579,0x209586,0x20958c,
+ 0x20958d,0x228d10,0x228d71,0x2095c8,0x228dfb,0x228e1f,0x20962c,0x209633,0x209634,0x228e36,
+ 0x20963c,0x209661,0x228e89,0x209682,0x228eeb,0x20969a,0x228f32,0x2049e7,0x2096b3,0x2096ba,
+ 0x2096bd,0x2049fa,0x228ff8,0x2096d8,0x2096da,0x2096dd,0x204a04,0x209714,0x209723,0x204a29,
+ 0x209736,0x209741,0x209747,0x209757,0x20975b,0x20976a,0x2292a0,0x2292b1,0x209796,0x20979e,
+ 0x2097b1,0x2097b2,0x2097be,0x2097cc,0x2097d1,0x2097d4,0x2097d8,0x2097e1,0x2097f1,0x209804,
+ 0x20980d,0x209814,0x209816,0x204abc,0x229490,0x209832,0x209833,0x209825,0x209847,0x209866,
+ 0x2098ab,0x2098ad,0x2098b0,0x2295cf,0x2098b7,0x2098bb,0x2098bc,0x2098c2,0x2098c7,0x2098cb,
+ 0x2098e1,0x2098e3,0x2098ea,0x2098f0,0x2098f1,0x2098f3,0x209908,0x204b3b,0x2296f0,0x209916,
+ 0x209917,0x229719,0x20991a,0x20991b,0x20991c,0x229750,0x209931,0x20993a,0x20993b,0x20993c,
+ 0x209941,0x209946,0x20994e,0x209960,0x2099a3,0x2099a6,0x2099bd,0x2099bf,0x2099c3,0x2099d4,
+ 0x2099d9,0x2099de,0x2298c6,0x2099f0,0x2099f9,0x2099fc,0x209a0a,0x209a11,0x209a1a,0x209a20,
+ 0x209a31,0x209a44,0x209a4c,0x209a58,0x204bc2,0x209aaf,0x204bca,0x209ab7,0x204bd2,0x209ab9,
+ 0x229a72,0x209ac6,0x209ad0,0x209ad2,0x209ad5,0x209ae0,0x209ae5,0x209ae9,0x209b0c,0x209b10,
+ 0x209b12,0x209b16,0x209b1c,0x209b2b,0x209b3d,0x204c20,0x209b4b,0x209b63,0x209b65,0x209b6b,
+ 0x209b6c,0x209b76,0x209b77,0x209ba6,0x209bac,0x229ddb,0x209bb2,0x209bb8,0x209bbe,0x209bf3,
+ 0x209bd8,0x209bdd,0x209bea,0x209bef,0x209bee,0x229e15,0x229e8a,0x229e49,0x209c16,0x209c18,
+ 0x209c19,0x209c1a,0x209c1d,0x209c22,0x209c29,0x229ec4,0x209c31,0x209c37,0x209c45,0x209c5c,
+ 0x229ee9,0x209c49,0x209c4a,0x229edb,0x209c54,0x209c58,0x209c5b,0x209c5d,0x209c5f,0x209c69,
+ 0x209c6a,0x209c6b,0x209c6d,0x209c6e,0x209c72,0x209c75,0x209c7a,0x209ce6,0x209cf2,0x209d0b,
+ 0x229fd7,0x209d11,0x209d17,0x209d18,0x22a02f,0x204cc4,0x22a01a,0x209d32,0x204cd1,0x209d4a,
+ 0x209d5f,0x209d62,0x22a0f9,0x22a082,0x209d73,0x209d76,0x209d77,0x209d84,0x209d99,0x209da1,
+ 0x209dbf,0x209db5,0x209db9,0x209dbd,0x209dc9,0x209dda,0x209de0,0x209de3,0x204d07,0x209e0a,
+ 0x209e02,0x209e0d,0x209e1c,0x209e7b,0x222218,0x209e80,0x209e85,0x209e9b,0x22a38c,0x209ebd,
+ 0x22a437,0x209edf,0x209eff,0x209f02,0x204d77,0x209f03,0x209f3a,0x209f3d,0x209f46,0x209f53,
+ 0x209f55,0x209f58,0x22a5f1,0x209f5d,0x22a602,0x209f69,0x209f6d,0x209f70,0x22a6b2,0x20793a,
+ 0x203614,0x2038ad,0x203dcc,0x203fdc,0x2045be,0x204610,0x204b7e,0x204c38,0x204ce1,0x204e0c,
+ 0x204e23,0x204e24,0x204e79,0x204ef3,0x204f0c,0x204f19,0x204f2b,0x204f2e,0x204f31,0x204f84,
+ 0x204f9e,0x204fb7,0x205004,0x20500c,0x20504c,0x20505f,0x205062,0x205077,0x20508e,0x20509e,
+ 0x2050a2,0x2050c3,0x2050e8,0x2050f1,0x2050fe,0x205107,0x20510c,0x20510d,0x20510e,0x205133,
+ 0x205138,0x205174,0x205184,0x2051b8,0x2051ba,0x2051c8,0x2051cf,0x2051d1,0x2051d3,0x2051d4,
+ 0x2051d8,0x2051df,0x205205,0x205226,0x205228,0x20522b,0x205231,0x205232,0x205235,0x20523c,
+ 0x20525a,0x205260,0x20526e,0x205278,0x205279,0x20528a,0x20528c,0x2052e1,0x2052e9,0x2052f1,
+ 0x205303,0x205311,0x20531f,0x20532d,0x205332,0x20533d,0x205365,0x20536d,0x205379,0x20537e,
+ 0x205394,0x205399,0x2053aa,0x2053af,0x2053ba,0x2053c1,0x2053c4,0x2053c5,0x2053e0,0x205413,
+ 0x20542a,0x205431,0x205434,0x205435,0x20544c,0x2054a7,0x2054aa,0x2054b1,0x2054bb,0x2054ce,
+ 0x2054ea,0x2054fc,0x205505,0x205508,0x205515,0x205527,0x20552a,0x205536,0x205551,0x205566,
+ 0x20558f,0x205592,0x205594,0x2055a4,0x2055b2,0x2055c3,0x2055c6,0x2055d3,0x2055db,0x2055ec,
+ 0x2055ee,0x2055f1,0x2055f6,0x2055f8,0x205605,0x20560d,0x205611,0x205612,0x20562c,0x205635,
+ 0x205639,0x20564d,0x205654,0x205685,0x20569f,0x2056a6,0x2056b7,0x2056cc,0x2056cf,0x2056d9,
+ 0x2056e1,0x2056eb,0x2056ed,0x2056f1,0x205707,0x20570c,0x20571a,0x20571b,0x20571d,0x20572c,
+ 0x20572e,0x20573d,0x20573e,0x20575f,0x20576b,0x20576d,0x20577a,0x205783,0x205797,0x2057ae,
+ 0x2057d5,0x2057e7,0x20580d,0x205826,0x20584d,0x20584f,0x20585f,0x20586d,0x20587f,0x205881,
+ 0x205898,0x2058bc,0x20591f,0x205923,0x205959,0x205979,0x205997,0x2059af,0x2059b3,0x2059df,
+ 0x2059f1,0x2059f8,0x205ab2,0x205ab8,0x205aea,0x205af6,0x205b1b,0x205b1d,0x205b21,0x205b38,
+ 0x205bb7,0x205bd7,0x205be0,0x205c1f,0x205c2a,0x205c2c,0x205c36,0x205c59,0x205c5c,0x205c6d,
+ 0x205cdd,0x205d01,0x205d34,0x205d3d,0x205d59,0x205d7e,0x205d83,0x205dc7,0x205df9,0x205e28,
+ 0x205e32,0x205e35,0x205e5b,0x205e68,0x205e6a,0x205e77,0x205e80,0x205e8b,0x205eb3,0x205ebd,
+ 0x205ed1,0x205ed4,0x205ed5,0x205f4d,0x205fac,0x205fea,0x206007,0x206049,0x206054,0x206067,
+ 0x2060bb,0x2060c4,0x2060fd,0x20610a,0x206116,0x20612a,0x206136,0x20615e,0x206164,0x20617b,
+ 0x20617d,0x20617f,0x20619d,0x2061b8,0x2061dc,0x2061e2,0x2061e5,0x2061e8,0x206204,0x206207,
+ 0x206231,0x206239,0x20623d,0x20627a,0x206290,0x2062a8,0x2062da,0x2062f4,0x206316,0x20632a,
+ 0x206336,0x206346,0x20634b,0x206353,0x206371,0x206375,0x20637f,0x206382,0x20638a,0x2063ae,
+ 0x2063af,0x2063ea,0x2063f8,0x2063f9,0x206412,0x206418,0x206420,0x206424,0x20642a,0x206435,
+ 0x20643d,0x20643f,0x206452,0x20645f,0x206474,0x206490,0x206498,0x206499,0x2064ac,0x2064b3,
+ 0x2064ed,0x2064f0,0x20651b,0x20651f,0x20652e,0x206549,0x206560,0x206592,0x206595,0x2065b4,
+ 0x2065be,0x2065c8,0x2065ce,0x2065d0,0x2065df,0x20667e,0x20668b,0x20668c,0x2066b3,0x2066c0,
+ 0x2066cf,0x206725,0x206735,0x206755,0x206780,0x20678f,0x206791,0x2067a4,0x2067b1,0x2067b5,
+ 0x2067be,0x206828,0x206886,0x2068eb,0x2068f5,0x206917,0x206933,0x206938,0x20695b,0x206965,
+ 0x2069a8,0x2069ab,0x2069af,0x2069e5,0x2069f1,0x206a4a,0x206a55,0x206a67,0x206a71,0x206aaf,
+ 0x206ac8,0x206ac9,0x206b03,0x206b3b,0x206b3f,0x206b7d,0x206b7e,0x206bb0,0x206bf7,0x206bf9,
+ 0x206c04,0x206c09,0x206c0d,0x206c2c,0x206c4a,0x206c52,0x206c54,0x206c79,0x206cac,0x206cb4,
+ 0x206cd2,0x206d61,0x206d7c,0x206db9,0x206df0,0x206e45,0x206e73,0x206e7b,0x206e7d,0x206e89,
+ 0x206ebc,0x206eda,0x206edb,0x206f26,0x206f29,0x206f30,0x206f87,0x206f9d,0x206fae,0x206fb7,
+ 0x20700d,0x207020,0x207049,0x207098,0x2070b0,0x2070d5,0x2070d6,0x207145,0x2071b2,0x2071f4,
+ 0x207217,0x20721f,0x207243,0x20724f,0x207250,0x20725a,0x207260,0x207268,0x207277,0x207284,
+ 0x2072c9,0x2072e5,0x2072f4,0x207302,0x20730b,0x20731e,0x207322,0x20733a,0x20733b,0x20734d,
+ 0x207358,0x207367,0x207472,0x2074af,0x2074df,0x2074e4,0x2074f4,0x2074fb,0x207516,0x207521,
+ 0x20753f,0x20755e,0x207599,0x2075a4,0x2075c1,0x2075c4,0x2075cc,0x2075d7,0x2075dc,0x2075e1,
+ 0x2075ef,0x207604,0x20760c,0x20761d,0x207632,0x207638,0x207645,0x20764a,0x20765f,0x2076ad,
+ 0x2076bd,0x2076d9,0x2076eb,0x2076f0,0x2076f9,0x207700,0x20770e,0x207722,0x207728,0x20772f,
+ 0x207739,0x20773e,0x207745,0x20774a,0x20774f,0x20775e,0x207764,0x207767,0x20776c,0x207784,
+ 0x20778c,0x20778d,0x207796,0x2077a7,0x2077af,0x2077b7,0x2077be,0x2077c9,0x2077d1,0x2077d9,
+ 0x2077f1,0x207837,0x20785c,0x20787e,0x207898,0x2078a1,0x2078b1,0x2078b3,0x2078c9,0x2078d3,
+ 0x20790c,0x20791f,0x207927,0x207928,0x20793f,0x207942,0x207954,0x20796b,0x20797c,0x2079ab,
+ 0x2079c4,0x2079ea,0x207a02,0x207a0c,0x207a30,0x207a3a,0x207a44,0x207a80,0x207a86,0x207a94,
+ 0x207ab5,0x207abd,0x207afe,0x207b2b,0x207b77,0x207ba0,0x207bac,0x207bb0,0x207be8,0x207bf2,
+ 0x207bf8,0x207bfc,0x207bfe,0x207c09,0x207c28,0x207c2f,0x207c42,0x207c52,0x207c53,0x207c5b,
+ 0x207c5c,0x207c5d,0x207c72,0x207c7d,0x207c87,0x207c9e,0x207cba,0x207cc7,0x207cd3,0x207cda,
+ 0x207d3c,0x207d4d,0x207d82,0x207d85,0x207d8d,0x207d91,0x207d9e,0x207db3,0x207db9,0x207dd0,
+ 0x207de5,0x207df5,0x207df6,0x207e2f,0x207e36,0x207e44,0x207e6f,0x207e78,0x207e81,0x207f3d,
+ 0x207f5b,0x207f5d,0x207f65,0x207f71,0x207f7f,0x207f80,0x207f8b,0x207fa2,0x207ffd,0x207ffe,
+ 0x207fff,0x208007,0x20800d,0x20801e,0x208039,0x208088,0x20808e,0x2080cf,0x2080d4,0x2080ed,
+ 0x2080f0,0x2080f7,0x2080fa,0x2080fe,0x208103,0x208117,0x208130,0x208157,0x20816f,0x208173,
+ 0x20818b,0x208190,0x20819b,0x20819e,0x2081cb,0x2081d5,0x2081dd,0x2081de,0x2081e1,0x2081ef,
+ 0x2081f6,0x208200,0x20820b,0x208213,0x208214,0x20821a,0x20823a,0x208244,0x20826d,0x208284,
+ 0x208289,0x208291,0x2082aa,0x2082b0,0x2082d0,0x2082ea,0x2082ef,0x2082f6,0x208356,0x208378,
+ 0x2083f8,0x2083fc,0x208458,0x208493,0x2084b1,0x2084bd,0x2084fb,0x208546,0x208556,0x20855d,
+ 0x208585,0x208598,0x208642,0x208646,0x2086c0,0x208714,0x208722,0x20872e,0x208739,0x20875d,
+ 0x20877b,0x20878c,0x20878e,0x208797,0x208798,0x20879e,0x2087a3,0x2087ae,0x2087bf,0x2087c9,
+ 0x2087da,0x208818,0x20881b,0x20882d,0x20883a,0x208845,0x20884b,0x20884e,0x208855,0x20885a,
+ 0x20886e,0x20889a,0x20889b,0x20889c,0x2088cd,0x2088e0,0x2088ef,0x20890e,0x20890f,0x208926,
+ 0x208935,0x20895a,0x20895c,0x20896b,0x208970,0x20897c,0x2089a5,0x2089b5,0x2089bc,0x2089d5,
+ 0x208a49,0x208a57,0x208a67,0x208a7e,0x208a86,0x208a96,0x208ab6,0x208ac9,0x208ad1,0x208add,
+ 0x208aec,0x208af5,0x208b06,0x208b0f,0x208b11,0x208b45,0x208b52,0x208b6d,0x208b78,0x208b7c,
+ 0x208b7e,0x208b85,0x208b9f,0x208c4b,0x208c53,0x208c7b,0x208cba,0x208cc5,0x208cc9,0x208cd2,
+ 0x208cec,0x208cf5,0x208cf7,0x208d01,0x208d03,0x208d17,0x208d1c,0x208d6e,0x208d91,0x208d9f,
+ 0x208dab,0x208db2,0x208dd5,0x208de7,0x208df1,0x208df2,0x208df4,0x208e01,0x208e0b,0x208e26,
+ 0x208e31,0x208e40,0x208e41,0x208e4d,0x208e4f,0x208e5c,0x208e61,0x208e69,0x208e71,0x208e75,
+ 0x208e77,0x208e89,0x208e90,0x208e95,0x208e9a,0x208ea7,0x208ea9,0x208ead,0x208ee8,0x208ef0,
+ 0x208f07,0x208f18,0x208f25,0x208f27,0x208f2c,0x208f35,0x208f3a,0x208f43,0x208f47,0x208f51,
+ 0x208f55,0x208fa0,0x208fa1,0x208fa2,0x208fa5,0x209004,0x20901b,0x20902f,0x20904c,0x20905b,
+ 0x209070,0x209074,0x209079,0x20908b,0x209098,0x2090a0,0x2090b2,0x2090bd,0x2090c9,0x2090f0,
+ 0x209105,0x209125,0x20915a,0x209167,0x20917a,0x20918a,0x209191,0x209195,0x2091b0,0x2091bb,
+ 0x2091bd,0x2091c2,0x2091c5,0x209200,0x209209,0x209223,0x209276,0x20928e,0x2092af,0x2092bb,
+ 0x2092bc,0x2092c1,0x2092c3,0x2092c5,0x2092c8,0x209314,0x209333,0x209336,0x209358,0x20937f,
+ 0x209382,0x20938a,0x2093bb,0x2093cc,0x2093e6,0x2093f9,0x209402,0x20940d,0x20940e,0x20942e,
+ 0x20944c,0x209588,0x2095a1,0x2095bf,0x2095c6,0x2095c9,0x2095d1,0x2095d2,0x2095e0,0x2095e4,
+ 0x2095e6,0x209624,0x209631,0x209638,0x20963d,0x209654,0x209674,0x20967b,0x20967f,0x209681,
+ 0x209683,0x209689,0x209696,0x2096ae,0x209703,0x20971b,0x209721,0x209722,0x209728,0x209731,
+ 0x209767,0x209776,0x20977d,0x20977f,0x209799,0x20979f,0x2097ac,0x2097b9,0x2097cd,0x2097e0,
+ 0x2097ef,0x209807,0x209826,0x20982e,0x209862,0x209863,0x2098b4,0x2098c5,0x209902,0x209911,
+ 0x209915,0x209935,0x209948,0x209954,0x20995e,0x2099e1,0x209a0c,0x209a10,0x209a23,0x209a41,
+ 0x209a51,0x209abd,0x209abe,0x209b01,0x209b09,0x209b0b,0x209b0d,0x209b0e,0x209b19,0x209b35,
+ 0x209b48,0x209b55,0x209b68,0x209b80,0x209b86,0x209b90,0x209b9d,0x209bb0,0x209bbf,0x209bc8,
+ 0x209bff,0x209c02,0x209c1c,0x209c35,0x209c44,0x209c56,0x209c61,0x209c68,0x209d30,0x209d3d,
+ 0x209d6a,0x209d7b,0x209de5,0x209de9,0x209df3,0x209e7a,0x209e82,0x209e83,0x209e84,0x209eb0,
+ 0x209ee4,0x209ef0,0x209ef2,0x209f09,0x209f0f,0x209f14,0x209f1b,0x209f22,0x209f26,0x209f2a,
+ 0x209f2b,0x209f34,0x209f5a,0x209f6f,0x209f9e,0x209fa5,0x2200f5,0x224e04,0x224ff2,0x227d73,
+ 0x20518d,0x405584,0x405f62,0x406148,0x40681f,0x208ed4,0x2035de,0x209fbf,0x209fc0,0x209fc1,
+ 0x209fc2,0x22a2b2,0x404e0e,0x404e26,0x220158,0x404f73,0x405056,0x4050ed,0x40516b,0x2205b1,
+ 0x8051de,0x4051fd,0x2206ec,0x405264,0x405271,0x605272,0x40533f,0x22b753,0x405440,0x220d58,
+ 0x40559c,0x6055ab,0x405609,0x6056ae,0x8056ae,0x22b75a,0x22b75c,0x4056ce,0x4056ee,0x4057d6,
+ 0x40583d,0x405859,0x40594f,0x605951,0x405960,0x405962,0x405ada,0x405b5a,0x405b73,0x405b7c,
+ 0x805bb3,0x2259cc,0x405e43,0x22b776,0x605ee3,0x405f38,0x405fa1,0x405fdd,0x406162,0x6061b2,
+ 0x4061f8,0x2039a4,0x2039b8,0x222e42,0x22b77c,0x4064f6,0x203a5c,0x2207c8,0x40655e,0x222feb,
+ 0x406587,0x406589,0x2279b4,0x40658e,0x203ac4,0x203acb,0x4065e1,0x406667,0x40666e,0x6066c1,
+ 0x22b782,0x203a85,0x406700,0x406761,0x4067c4,0x406802,0x40693d,0x40695e,0x22b78b,0x406a9c,
+ 0x203bf3,0x2237f1,0x22b794,0x406c38,0x606caa,0x209fcc,0x406de4,0x203d31,0x406e08,0x406e72,
+ 0x606ecb,0x406ed5,0x406edb,0x406f5b,0x606f5b,0x406f64,0x406f74,0x22404b,0x40723e,0x203e40,
+ 0x2038a1,0x6073ca,0x4074bd,0x40755d,0x4075bc,0x22b7ac,0x407608,0x407664,0x407669,0x22b7af,
+ 0x407737,0x40777e,0x4079a7,0x4079b1,0x407abe,0x407be0,0x607c50,0x407d09,0x407db2,0x607db2,
+ 0x407f3e,0x607fe1,0x408012,0x22b7c9,0x4080d6,0x408109,0x408129,0x40820c,0x40821b,0x408240,
+ 0x22b7cf,0x4083d4,0x40840f,0x22b7d2,0x4084ea,0x226c9e,0x408551,0x408563,0x4085cf,0x40864e,
+ 0x408662,0x40868a,0x408842,0x408877,0x408941,0x408b56,0x608b56,0x408b5c,0x20471f,0x227c3c,
+ 0x408c6a,0x408c79,0x608cca,0x408d67,0x20481e,0x408f03,0x608f44,0x608fc5,0x608fd4,0x408ff6,
+ 0x609077,0x809077,0x1e09089,0x100908a,0x4090a8,0x40914d,0x4092e9,0x409335,0x40938b,0x22b7f0,
+ 0x4095cd,0x40962a,0x609698,0x4096a7,0x8097ff,0xa097ff,0x22b765,0x409921,0x809957,0x409ba8,
+ 0x409bae,0x409bb9,0x409c08,0x409c24,0x409c3b,0x22b80d,0x409ce6,0x409dc0,0x409dc2,0x22b817,
+ 0x6098ef,0x42383d,0x607b08,0x40646f,0x607c3e,0x407b75,0x607515,0x608a1d,0x606062,0x407078,
+ 0xc053a9,0x407c82,0x409699,0x408654,0x408171,0x409375,0x4054ac,0x4072e1,0x406897,0x409bab,
+ 0x4053c9,0x406756,0x407526,0x807511,0x407ac8,0x40633a,0x609041,0x4099c1,0x4065a7,0x4091dc,
+ 0x4097ad,0x408292,0x607c7e,0x40723a,0x608805,0x408703,0x209b1d,0x209b2c,0x205002,0x2051de,
+ 0x205307,0x205bec,0x405eca,0x20661e,0x206717,0x20704a,0x4051de,0x205561,0x206c3a,0x207a60,
+ 0x22634c,0x208803,0x2095ab,0x209755,0x229e3d,0x22a61a,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ f,f,f,f,f,f,f,f,f,f,
+ 0x606ea2,0x8061f2,0x608612,0x408b7f,0x204e35,0x204e5c,0x204e63,0x204e68,0x204e74,0x204e75,
+ 0x204e97,0x204eaf,0x204edb,0x204ee2,0x204ee8,0x204eef,0x204efe,0x204f02,0x204f08,0x204f12,
+ 0x204f17,0x204f33,0x204f35,0x204f40,0x204f42,0x204f4b,0x204f4c,0x204f52,0x204f63,0x204f6e,
+ 0x204f71,0x204f79,0x204f81,0x204f89,0x204f8c,0x204f8e,0x204f90,0x204f93,0x204f99,0x204f9f,
+ 0x204fb9,0x204fbb,0x204fbc,0x204fbd,0x204fc0,0x204fc1,0x204fc6,0x204fc8,0x204fcc,0x204fdc,
+ 0x204fe2,0x204ff0,0x204ffc,0x205007,0x20500a,0x205017,0x20501d,0x205030,0x205032,0x205033,
+ 0x205035,0x205045,0x20504a,0x205051,0x205052,0x205059,0x205060,0x205067,0x20506d,0x205071,
+ 0x205081,0x205083,0x205084,0x205086,0x20508a,0x205090,0x20509b,0x20509f,0x2050a0,0x2050a1,
+ 0x2050af,0x2050b0,0x2050b9,0x2050bd,0x2050c0,0x2050d3,0x2050dc,0x2050dd,0x2050df,0x2050e2,
+ 0x2050e4,0x2050f6,0x2050fa,0x4050f2,0x205119,0x20511c,0x20511d,0x205123,0x205127,0x205128,
+ 0x20512c,0x20512d,0x20512f,0x205131,0x205134,0x205139,0x205142,0x20514f,0x205153,0x205158,
+ 0x205166,0x20517e,0x20518e,0x2051bf,0x2051c2,0x2051d2,0x2051d5,0x2051e5,0x2051f2,0x2051f7,
+ 0x205218,0x205222,0x205245,0x205258,0x20525f,0x205280,0x205285,0x205295,0x205296,0x205297,
+ 0x20529a,0x2052a5,0x2052a7,0x2052b0,0x2052b6,0x2052b7,0x2052b8,0x2052bd,0x2052c4,0x2052c6,
+ 0x2052cf,0x2052d4,0x2052dc,0x2052e5,0x2052e8,0x2052ea,0x2052ec,0x2052f4,0x2052f6,0x20530c,
+ 0x205313,0x205318,0x20531b,0x20531e,0x205325,0x205327,0x205328,0x205329,0x20532b,0x20532c,
+ 0x205330,0x20533c,0x205359,0x20535b,0x405365,0x205383,0x205387,0x205388,0x20538e,0x2053a1,
+ 0x2053b5,0x2053b8,0x2053bd,0x2053cf,0x2053d2,0x2053d3,0x2053de,0x4053e0,0x2053e7,0x205402,
+ 0x20541a,0x205421,0x20542f,0x205444,0x205447,0x20544f,0x20545e,0x205464,0x205467,0x205469,
+ 0x20546d,0x20546e,0x205481,0x205483,0x205485,0x205489,0x205491,0x20549f,0x2054ca,0x2054e0,
+ 0x2054f6,0x2054fe,0x20550c,0x20550d,0x205532,0x20553b,0x20553d,0x205549,0x20554d,0x205558,
+ 0x20555a,0x20555b,0x20557f,0x205593,0x205597,0x2055a3,0x2055c1,0x2055cb,0x2055d7,0x2055d8,
+ 0x2055de,0x2055ff,0x405605,0x20560a,0x205619,0x205633,0x20563c,0x205641,0x205643,0x205644,
+ 0x205646,0x205661,0x205662,0x205663,0x205675,0x205684,0x20568b,0x2056a7,0x2056ab,0x2056be,
+ 0x2056cb,0x2056d0,0x2056dc,0x2056e5,0x2056e6,0x2056e7,0x205701,0x205702,0x205711,0x205720,
+ 0x205722,0x205724,0x205725,0x20572a,0x20573f,0x205752,0x205762,0x205767,0x20576e,0x205771,
+ 0x205779,0x20577e,0x205781,0x205794,0x205799,0x20579f,0x2057a1,0x205795,0x2057a7,0x2057a9,
+ 0x2057bd,0x2057dd,0x2057e9,0x2057fe,0x205803,0x205808,0x2057e1,0x20580c,0x20581b,0x20581f,
+ 0x20582d,0x20583f,0x205850,0x205855,0x205868,0x205878,0x205887,0x205888,0x20588c,0x205896,
+ 0x2058a0,0x2058a1,0x2058a2,0x2058a6,0x2058c4,0x2058c2,0x2058c8,0x2058d6,0x2058dd,0x2058e1,
+ 0x405906,0x205912,0x205913,0x20591d,0x205921,0x205928,0x205930,0x205933,0x205935,0x205936,
+ 0x20593f,0x205943,0x205952,0x20595e,0x20596b,0x20596f,0x205972,0x20597b,0x20598c,0x20598e,
+ 0x205995,0x2059a7,0x2059ad,0x2059b0,0x2059b7,0x2059c1,0x2059c4,0x2059ef,0x2059f2,0x2059f4,
+ 0x2059f7,0x205a00,0x205a0e,0x205a12,0x205a1e,0x205a24,0x205a28,0x205a2a,0x205a30,0x205a44,
+ 0x205a45,0x205a48,0x205a4c,0x205a50,0x205a5e,0x205a7b,0x205a90,0x205a93,0x205a96,0x205a99,
+ 0x205abb,0x205ac6,0x205ac8,0x205acf,0x205afd,0x205b01,0x205b4b,0x205b5e,0x205b6e,0x205b86,
+ 0x205b8e,0x205b90,0x205b91,0x205b94,0x205ba8,0x205ba9,0x205bad,0x205baf,0x205bb1,0x205bb2,
+ 0x205bba,0x205bbc,0x205bc1,0x205bcd,0x205bcf,0x205bd9,0x205bda,0x205bef,0x205bf4,0x205c0c,
+ 0x205c17,0x205c26,0x205c2e,0x205c32,0x205c35,0x205c5a,0x205c74,0x205c75,0x205c7b,0x205c7d,
+ 0x205c87,0x205c92,0x205c9d,0x205cb2,0x205cb4,0x205cd7,0x205cee,0x205cf1,0x205cf2,0x205d12,
+ 0x205d23,0x205d3f,0x205d48,0x205d55,0x205d51,0x205d5f,0x205d60,0x205d62,0x205d64,0x205d79,
+ 0x205d7a,0x205d7f,0x205d8a,0x205d93,0x205d95,0x205d9b,0x205d9f,0x205dab,0x205dc3,0x205dce,
+ 0x205dd9,0x205e07,0x205e0d,0x205e20,0x205e4b,0x205e50,0x205e51,0x205e5c,0x205e70,0x205e8e,
+ 0x205ea2,0x205ea4,0x205eb1,0x205ecc,0x205ece,0x205edc,0x205ede,0x205ee5,0x205eeb,0x205f06,
+ 0x205f19,0x205f24,0x205f2b,0x205f2c,0x205f2e,0x205f30,0x205f3f,0x205f44,0x205f5b,0x205f60,
+ 0x205f6f,0x205f74,0x205f75,0x205f78,0x205f7a,0x205f8d,0x205f96,0x205f9d,0x205fab,0x205fb0,
+ 0x205fb1,0x205fc8,0x205fd0,0x205fd1,0x205fe8,0x205fec,0x205ff2,0x205ff6,0x205ffa,0x20600a,
+ 0x206013,0x20601f,0x20602d,0x206040,0x206048,0x206051,0x206056,0x206057,0x206071,0x20607e,
+ 0x206082,0x206086,0x206088,0x20608e,0x206091,0x206093,0x206098,0x40609e,0x2060a2,0x2060a5,
+ 0x2060b7,0x2060c2,0x2060c9,0x2060ca,0x2060ce,0x2060cf,0x2060e2,0x2060e5,0x2060fc,0x206102,
+ 0x206107,0x20610c,0x206117,0x206122,0x206131,0x206135,0x206139,0x206145,0x206149,0x20616c,
+ 0x206172,0x206178,0x206180,0x206181,0x206183,0x206184,0x20618b,0x20619c,0x2061a0,0x2061aa,
+ 0x2061c0,0x2061c1,0x2061ce,0x2061cf,0x2061de,0x2061e1,0x2061e7,0x2061e9,0x2061ec,0x2061ed,
+ 0x2061ef,0x206201,0x206203,0x20621c,0x206220,0x206227,0x20622b,0x206242,0x206244,0x206250,
+ 0x206254,0x20625c,0x20627d,0x20628d,0x20628e,0x20628f,0x2062b3,0x2062b6,0x2062b7,0x2062ba,
+ 0x2062be,0x2062bf,0x2062ce,0x2062ea,0x2062f2,0x206304,0x20630b,0x206313,0x206329,0x20632d,
+ 0x20634a,0x206352,0x206354,0x206358,0x20635b,0x206366,0x20636d,0x206378,0x206395,0x20639a,
+ 0x2063a4,0x2063a6,0x2063ad,0x2063c1,0x2063c5,0x2063c8,0x2063ce,0x2063d3,0x2063f3,0x20640a,
+ 0x206430,0x20644b,0x20644f,0x206453,0x20645c,0x206461,0x206463,0x206485,0x20648f,0x20649b,
+ 0x2064a1,0x2064a3,0x2064a6,0x2064a8,0x2064bd,0x2064c9,0x2064d1,0x2064e9,0x2064ea,0x2064f5,
+ 0x206501,0x206508,0x206509,0x20650a,0x206513,0x206526,0x206531,0x20653a,0x20653c,0x20653d,
+ 0x206543,0x206550,0x206552,0x20655f,0x20657d,0x206598,0x2065a0,0x2065a3,0x2065a6,0x2065ae,
+ 0x2065b3,0x2065d6,0x2065d8,0x4065df,0x2065f4,0x2065f5,0x2065fe,0x2065ff,0x20660d,0x206611,
+ 0x206612,0x206616,0x20661d,0x206623,0x206626,0x206629,0x206639,0x206637,0x206640,0x206646,
+ 0x20664a,0x206658,0x206660,0x206675,0x20667f,0x206679,0x20667c,0x20669a,0x20669b,0x20669c,
+ 0x20669f,0x4066b5,0x2066c2,0x2066c3,0x2066cc,0x2066ce,0x2066d4,0x2066df,0x2066eb,0x2066ee,
+ 0x206707,0x20671c,0x206720,0x206722,0x20673e,0x206745,0x20676c,0x206784,0x20678e,0x206796,
+ 0x206799,0x2067bc,0x2067bd,0x2067c2,0x2067c5,0x2067c9,0x2067dc,0x2067e1,0x2067e6,0x2067f2,
+ 0x2067f6,0x206814,0x206819,0x206827,0x20682f,0x20683f,0x20684a,0x206858,0x20686f,0x206870,
+ 0x206871,0x206879,0x20687b,0x206888,0x2068a1,0x2068a9,0x2068ae,0x2068d1,0x2068d3,0x2068dc,
+ 0x2068dd,0x2068ea,0x2068f6,0x2068fd,0x206906,0x206909,0x206910,0x206916,0x206931,0x206945,
+ 0x20694e,0x206966,0x206970,0x206971,0x20697b,0x20698d,0x2069a1,0x2069b8,0x2069c5,0x2069c8,
+ 0x4069fe,0x206a00,0x206a03,0x206a20,0x206a24,0x206a37,0x406a55,0x206a6a,0x206a81,0x206a86,
+ 0x206a87,0x206a9b,0x206ab0,0x206ab1,0x206ab4,0x206abe,0x206abf,0x206acc,0x206ad5,0x206ad6,
+ 0x206af0,0x206afc,0x206b02,0x206b06,0x206b07,0x206b09,0x206b28,0x206b2b,0x206b36,0x206b4d,
+ 0x206b52,0x206b5d,0x206b6b,0x206b6e,0x206b70,0x206b85,0x206b97,0x206b9f,0x206ba0,0x206ba2,
+ 0x206ba3,0x206ba8,0x206bac,0x206bb8,0x206bb9,0x206bc3,0x206bc4,0x206be3,0x206c12,0x206c19,
+ 0x206c1f,0x206c26,0x206c27,0x206c28,0x206c2e,0x206c3b,0x206c4b,0x206c4f,0x206c6b,0x206c78,
+ 0x206c87,0x206c9f,0x206cb0,0x206cb2,0x206ccd,0x206ccf,0x206cd1,0x206ce7,0x206cf2,0x206cf4,
+ 0x206d07,0x206d0f,0x206d13,0x206d1a,0x206d28,0x206d5f,0x206d67,0x206d92,0x206d97,0x206db7,
+ 0x206dbd,0x206de0,0x206de2,0x206de5,0x206def,0x206df4,0x206e00,0x206e04,0x206e3b,0x206e52,
+ 0x206e5d,0x206e62,0x206e68,0x206e8d,0x206e99,0x206ea0,0x206ead,0x206eae,0x206eb3,0x206ebb,
+ 0x206ec0,0x206ec8,0x206ecd,0x206ecf,0x206eed,0x206eee,0x206f04,0x206f08,0x206f0d,0x206f16,
+ 0x206f1b,0x206f3b,0x206f2d,0x206f4f,0x206f53,0x206f5d,0x206f6c,0x206f83,0x206f93,0x206fa6,
+ 0x206fb0,0x206fc5,0x206fe8,0x206ffd,0x207017,0x20702f,0x207034,0x207037,0x207044,0x207048,
+ 0x207055,0x207094,0x207096,0x20709b,0x2070b4,0x2070fa,0x207105,0x20710b,0x20712d,0x207138,
+ 0x207141,0x20714b,0x407152,0x207157,0x20715a,0x20718c,0x20719a,0x2071b0,0x2071bf,0x2071c0,
+ 0x2071cc,0x2071da,0x2071f8,0x207208,0x207209,0x207213,0x20721a,0x207224,0x20722f,0x207245,
+ 0x20724e,0x20725e,0x20726b,0x207271,0x20727b,0x20727c,0x207289,0x207293,0x2072a8,0x2072d5,
+ 0x2072d6,0x2072d8,0x2072df,0x2072fe,0x20730d,0x207313,0x207332,0x207335,0x207356,0x20735d,
+ 0x20735e,0x20735f,0x207360,0x207369,0x207379,0x207380,0x20738e,0x207390,0x207393,0x207397,
+ 0x2073aa,0x2073ad,0x2073c6,0x2073cc,0x2073d3,0x2073dd,0x2073e6,0x2073f7,0x2073fb,0x2073ff,
+ 0x207400,0x207411,0x20742d,0x207467,0x207468,0x20746e,0x20748f,0x207491,0x20749a,0x2074ae,
+ 0x2074b1,0x2074b2,0x2074cc,0x2074d0,0x2074d3,0x4074d8,0x2074db,0x2074e8,0x2074ea,0x4074ef,
+ 0x2074fc,0x207506,0x207512,0x207527,0x207529,0x207536,0x207539,0x207543,0x207547,0x207557,
+ 0x20755f,0x207561,0x20757b,0x20757c,0x207585,0x207595,0x20759c,0x2075ba,0x207612,0x207623,
+ 0x207629,0x207639,0x20763a,0x207640,0x207644,0x207659,0x207685,0x20768c,0x20768d,0x20769f,
+ 0x2076a2,0x2076a3,0x2076c1,0x2076cb,0x4076d4,0x2076e0,0x2076f6,0x207706,0x207712,0x207714,
+ 0x207715,0x20771c,0x20772e,0x20773d,0x207742,0x207752,0x207756,0x207757,0x207770,0x207773,
+ 0x207774,0x40778d,0x4077a2,0x2077ae,0x2077b1,0x2077b5,0x2077c3,0x2077d2,0x2077d5,0x2077f8,
+ 0x20780e,0x207811,0x20781d,0x207823,0x207844,0x207848,0x20784c,0x207852,0x20785e,0x207860,
+ 0x207861,0x207863,0x20788f,0x2078a8,0x2078ac,0x2078b2,0x2078bd,0x2078bf,0x2078c7,0x2078d2,
+ 0x2078d6,0x2078db,0x2078df,0x2078ea,0x2078f3,0x2078f6,0x2078ff,0x207906,0x20791a,0x20791e,
+ 0x207920,0x207929,0x20792d,0x207935,0x207944,0x20794b,0x20794f,0x207951,0x207969,0x20797b,
+ 0x20797e,0x20798c,0x207991,0x207993,0x20799c,0x2079a8,0x2079af,0x2079cf,0x2079dd,0x2079e0,
+ 0x2079e2,0x2079e5,0x2079f1,0x2079f8,0x2079fc,0x207a07,0x207a21,0x207a27,0x207a2b,0x207a2f,
+ 0x207a34,0x207a35,0x207a48,0x207a55,0x207a65,0x207a7e,0x207a8b,0x207a91,0x207a9e,0x207ac9,
+ 0x207adb,0x207ae9,0x207aec,0x207af1,0x207afb,0x207b1f,0x207b23,0x207b29,0x207b30,0x207b34,
+ 0x207b3f,0x207b40,0x207b6a,0x207b84,0x207b89,0x207b8e,0x207b96,0x207ba5,0x207bb2,0x207bb6,
+ 0x207bba,0x207bbb,0x207bbd,0x207bc2,0x207bc8,0x207bdb,0x207bf4,0x207bf5,0x207bf9,0x207bfa,
+ 0x207c02,0x207c04,0x207c06,0x207c0c,0x207c19,0x207c1b,0x207c25,0x207c2c,0x207c34,0x207c39,
+ 0x207c3a,0x207c46,0x207c55,0x207c5a,0x207c63,0x407c69,0x207c7c,0x207c86,0x207cb0,0x207cbb,
+ 0x207ccf,0x207cd4,0x207ce9,0x207d0f,0x207d11,0x207d16,0x207d26,0x207d2a,0x207d2d,0x207d51,
+ 0x207d57,0x207d65,0x207d67,0x207d78,0x207d7b,0x207d81,0x207d96,0x207dc3,0x207dc4,0x207dc5,
+ 0x207dc6,0x207dcd,0x207dce,0x207e00,0x207de2,0x207dea,0x207ded,0x207dfa,0x207e1c,0x207e2d,
+ 0x207e33,0x207e3f,0x207e4e,0x207e50,0x207e58,0x207e5f,0x207e65,0x207e95,0x207e9d,0x207e9e,
+ 0x207f3f,0x207f5c,0x207f66,0x407f80,0x207f8d,0x207f8f,0x207fa6,0x207faa,0x207fb4,0x207fbc,
+ 0x207fc0,0x207fc8,0x207fe8,0x20800f,0x208013,0x20801d,0x20801f,0x208020,0x20802e,0x208034,
+ 0x20803e,0x208040,0x208044,0x208064,0x20806d,0x208081,0x2080b9,0x2080c8,0x2080cd,0x2080d2,
+ 0x2080ee,0x2080f2,0x2080f6,0x2080f9,0x20810b,0x20811c,0x208120,0x20813c,0x208145,0x208147,
+ 0x208152,0x208161,0x208177,0x208186,0x20818e,0x208196,0x2081a2,0x2081ae,0x2081c5,0x2081ce,
+ 0x2081eb,0x2081f0,0x2081f1,0x2081f2,0x2081f5,0x2081f8,0x408200,0x20820f,0x20821d,0x208228,
+ 0x208243,0x20824e,0x208251,0x208256,0x208267,0x20827b,0x208280,0x208281,0x208287,0x208294,
+ 0x208296,0x208298,0x20829a,0x20829b,0x2082a0,0x2082da,0x2082e0,0x2082e4,0x2082ed,0x20830a,
+ 0x20830b,0x20831e,0x20831f,0x208321,0x20832c,0x20832e,0x208333,0x208337,0x20833d,0x208342,
+ 0x20834d,0x20834e,0x208370,0x208380,0x208382,0x208384,0x208399,0x20839c,0x2083a6,0x2083ac,
+ 0x2083be,0x208353,0x2083e8,0x208419,0x2083ad,0x20842f,0x208445,0x208447,0x20844d,0x208456,
+ 0x40845c,0x208460,0x208464,0x208467,0x20846a,0x208474,0x20847d,0x208492,0x208495,0x2084a9,
+ 0x2084aa,0x2084c7,0x2084c8,0x2084cc,0x2084f2,0x2084f7,0x208502,0x208503,0x208507,0x20850e,
+ 0x208510,0x20851c,0x208522,0x208527,0x20852a,0x208533,0x208536,0x20853f,0x208550,0x208552,
+ 0x20855c,0x40855d,0x20855f,0x208560,0x208579,0x208589,0x20858b,0x2085a0,0x2085a5,0x2085a7,
+ 0x2085b4,0x2085b6,0x2085b8,0x2085bd,0x2085be,0x2085bf,0x2085c2,0x2085da,0x2085e0,0x2085e8,
+ 0x2085f3,0x2085fc,0x20860d,0x20860e,0x208619,0x20861b,0x208636,0x20863a,0x20863d,0x208658,
+ 0x208659,0x20865d,0x208660,0x208661,0x208664,0x208669,0x208676,0x208696,0x20869a,0x2086a1,
+ 0x2086a6,0x2086ad,0x2086b4,0x2086b5,0x2086b7,0x2086b9,0x2086bf,0x2086c5,0x2086d2,0x2086da,
+ 0x2086dc,0x2086e0,0x2086e5,0x2086e7,0x208688,0x208704,0x20870f,0x20872f,0x208732,0x20873c,
+ 0x20873d,0x208745,0x20874d,0x208761,0x20876f,0x208783,0x208784,0x208785,0x208786,0x208790,
+ 0x208795,0x4087a3,0x2087b1,0x2087c8,0x2087ca,0x2087d5,0x2087d9,0x2087dc,0x2087e2,0x2087e4,
+ 0x2087f1,0x2087f3,0x2087f8,0x2087fa,0x2087ff,0x208809,0x208819,0x208812,0x20881a,0x20881e,
+ 0x208830,0x208835,0x208841,0x208843,0x208848,0x208849,0x40884b,0x208851,0x20885c,0x208860,
+ 0x208871,0x208879,0x20887b,0x208880,0x20889f,0x2088a8,0x2088ba,0x2088cb,0x2088cc,0x2088de,
+ 0x2088e7,0x2088f7,0x20890d,0x208915,0x208916,0x208920,0x208928,0x208931,0x20893a,0x208946,
+ 0x20894f,0x208952,0x208957,0x20895b,0x208961,0x208963,0x20896e,0x208973,0x208975,0x20897a,
+ 0x20897d,0x20898d,0x208995,0x20899b,0x20899c,0x2089a0,0x2089b4,0x2089b6,0x2089d7,0x2089e9,
+ 0x2089ed,0x2089f9,0x208a04,0x208a05,0x208a1e,0x208a20,0x208a24,0x208a26,0x208a2b,0x208a2c,
+ 0x208a2f,0x208a3d,0x208a40,0x208a43,0x208a53,0x208a56,0x208a5c,0x208a65,0x208a76,0x208a77,
+ 0x208a7a,0x208a7b,0x208a80,0x208a83,0x208a8b,0x208a8f,0x208a92,0x208a97,0x208a99,0x208a9f,
+ 0x208aa9,0x208aaf,0x208ab3,0x208abb,0x208ac3,0x208ac6,0x208ac8,0x208aca,0x208ad3,0x208ad4,
+ 0x208ad5,0x208af0,0x208aff,0x208b0b,0x208b1e,0x208b30,0x208b3c,0x208b42,0x208b48,0x208b4d,
+ 0x208b63,0x208b79,0x208b84,0x208b8d,0x208b8f,0x208c38,0x208c3e,0x208c51,0x208c58,0x208c5b,
+ 0x208c5d,0x208c59,0x208c63,0x208c64,0x208c66,0x208c75,0x208c76,0x208c7e,0x208c86,0x208c87,
+ 0x208c8b,0x208c90,0x408c9b,0x208c9c,0x208cb9,0x208cc6,0x208ccb,0x208ccf,0x208cdd,0x208ce8,
+ 0x208cef,0x208cf2,0x208cff,0x208d65,0x208d7f,0x208d82,0x208d88,0x208d90,0x208d9e,0x208da0,
+ 0x208dac,0x208db5,0x208db7,0x208db9,0x208dbb,0x208dc0,0x208dc5,0x208dc7,0x208dca,0x208dd4,
+ 0x208de5,0x208df0,0x208dbc,0x208e04,0x208e05,0x208e11,0x208e33,0x208e37,0x208e38,0x208e4e,
+ 0x208e5b,0x208e5d,0x208e5e,0x208e79,0x208e82,0x208e83,0x208e9b,0x208e9d,0x208ea2,0x208eba,
+ 0x208ec1,0x208ec3,0x208ec4,0x208ec7,0x208edc,0x208eee,0x208ef1,0x208ef7,0x208eed,0x208f02,
+ 0x208f0f,0x208f10,0x208f16,0x208f20,0x208f21,0x208f23,0x208f28,0x208f2e,0x208f34,0x208f37,
+ 0x208f41,0x208f4f,0x208f52,0x208f53,0x208f5d,0x208f5e,0x208f65,0x208f9d,0x208fb8,0x208fbe,
+ 0x208fc0,0x208fcb,0x208fd0,0x208fd2,0x208fe3,0x208ffe,0x209018,0x209028,0x209029,0x20902a,
+ 0x209033,0x209034,0x20903f,0x209062,0x209066,0x20906c,0x20908e,0x2090a5,0x2090cc,0x2090d5,
+ 0x2090d8,0x2090d9,0x2090e5,0x2090d2,0x209108,0x20910d,0x209110,0x20911a,0x209120,0x209129,
+ 0x20912e,0x209136,0x20913c,0x209143,0x20914f,0x209153,0x20916d,0x20917b,0x209181,0x209186,
+ 0x209193,0x209194,0x209198,0x2091a1,0x2091a6,0x2091bf,0x2091d3,0x2091d4,0x2091d9,0x2091e9,
+ 0x2091ea,0x2091ef,0x2091f9,0x2091fd,0x209204,0x209205,0x20920c,0x209212,0x209213,0x209218,
+ 0x20921c,0x20921d,0x209224,0x209225,0x209226,0x20922e,0x20922f,0x209230,0x209235,0x209236,
+ 0x20923e,0x209246,0x20924d,0x209258,0x20925c,0x20925d,0x209269,0x20926e,0x20926f,0x209270,
+ 0x209275,0x209279,0x20927b,0x20928a,0x209292,0x2092a0,0x2092a4,0x2092a5,0x2092a8,0x2092b6,
+ 0x2092b8,0x2092ba,0x2092bd,0x2092c7,0x2092cd,0x2092d8,0x2092dc,0x2092dd,0x2092e1,0x2092e3,
+ 0x2092e8,0x2092ec,0x2092ee,0x2092f0,0x209300,0x209308,0x20931c,0x209324,0x20932a,0x209334,
+ 0x209337,0x209350,0x209355,0x20935e,0x209367,0x209369,0x20936f,0x209374,0x209376,0x20937a,
+ 0x20937d,0x209380,0x209381,0x20938d,0x209392,0x209395,0x209398,0x4093a1,0x2093a6,0x2093a8,
+ 0x2093ab,0x2093b4,0x2093b5,0x2093b6,0x2093c4,0x2093c5,0x2093c9,0x2093cb,0x2093cd,0x2093d3,
+ 0x2093d9,0x2093f7,0x209401,0x209408,0x209415,0x20941f,0x20942f,0x20943d,0x209443,0x209459,
+ 0x20945c,0x20945f,0x209461,0x209468,0x20946e,0x209484,0x209483,0x20957e,0x209584,0x20959d,
+ 0x20959e,0x2095ba,0x2095d9,0x2095dd,0x2095df,0x20961e,0x209622,0x209625,0x209626,0x209637,
+ 0x209639,0x20963a,0x209652,0x209656,0x209657,0x20966e,0x20967c,0x20967e,0x209691,0x20969f,
+ 0x2096a6,0x2096ca,0x4096da,0x2096df,0x2096fa,0x209705,0x20971a,0x20971d,0x409721,0x20974a,
+ 0x209758,0x209777,0x209778,0x20977b,0x209780,0x209789,0x209797,0x2097b8,0x2097bc,0x2097bf,
+ 0x2097c4,0x2097c5,0x2097c7,0x2097ca,0x2097ce,0x2097d0,0x2097d7,0x2097dd,0x2097e4,0x2097f7,
+ 0x2097f8,0x2097fa,0x209819,0x20981c,0x209820,0x20982f,0x209835,0x209844,0x20984a,0x209851,
+ 0x20986a,0x2098ae,0x2098cc,0x2098e6,0x2098f6,0x209907,0x20991f,0x209922,0x209926,0x20992b,
+ 0x209934,0x209939,0x209947,0x209959,0x20995b,0x20999b,0x20999d,0x20999f,0x2099b0,0x2099b2,
+ 0x2099b5,0x2099d3,0x2099da,0x2099dc,0x2099e7,0x2099ea,0x2099eb,0x2099ec,0x2099f4,0x2099f5,
+ 0x2099fd,0x2099fe,0x209a04,0x209a0b,0x209a1e,0x209a22,0x209a33,0x209a35,0x209a47,0x409a4a,
+ 0x209a4b,0x209a54,0x209a5d,0x209aaa,0x209aac,0x209aae,0x209ab2,0x209ab4,0x209abb,0x209abf,
+ 0x209ac8,0x209ad7,0x209adb,0x209ae4,0x209ae7,0x209aec,0x209af2,0x209af3,0x209af5,0x209afa,
+ 0x209afd,0x209aff,0x209b00,0x209b04,0x209b05,0x209b1b,0x209b26,0x409b35,0x209b37,0x209b39,
+ 0x209b3a,0x209b4c,0x209b56,0x209b57,0x209b5b,0x209b61,0x209b6a,0x209b6d,0x209b6e,0x209b78,
+ 0x209b7f,0x209b85,0x209b87,0x209b89,0x209b8b,0x209b8d,0x209b94,0x209b9a,0x209ba9,0x209bb7,
+ 0x209bbc,0x209bd0,0x209bf9,0x209c0f,0x209c11,0x209c1e,0x209c26,0x209c28,0x209c3d,0x209c43,
+ 0x209c4e,0x209c5e,0x209c7b,0x209cf7,0x209cf9,0x209d1c,0x209d2f,0x209d33,0x209d34,0x209d3a,
+ 0x209d3c,0x209d45,0x209d53,0x209d54,0x209d65,0x209d83,0x209d86,0x209d8e,0x209d92,0x209d93,
+ 0x209d95,0x209d97,0x209d98,0x209daa,0x209dae,0x409dbf,0x209dca,0x209dd4,0x209dd5,0x209dde,
+ 0x209dee,0x209df0,0x209dfe,0x209e0e,0x209e10,0x209e11,0x209e12,0x209e16,0x209e87,0x209e8e,
+ 0x209e8f,0x209e96,0x209e98,0x209eae,0x209eb3,0x209ec6,0x209ec8,0x209ecb,0x209ed5,0x209eec,
+ 0x209eed,0x209ef1,0x209ef5,0x209ef8,0x209f11,0x209f16,0x209f1a,0x209f1f,0x209f31,0x209f32,
+ 0x209f3c,0x209f3f,0x209f43,0x209f44,0x209f47,0x209f56,0x209f5e,0x209f6e,0x209f73,0x209f7a,
+ 0x209f7d,0x209f8f,0x209f91,0x209f92,0x209f96,0x209fa1,0x209fa3
}}
diff --git a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
index d3f9d99aa2..84249a7ad1 100644
--- a/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-jfmglue.lua
@@ -3,17 +3,17 @@
--
luatexbase.provides_module({
name = 'luatexja.jfmglue',
- date = '2020/01/23',
+ date = '2020-07-30',
description = 'Insertion process of JFM glues, [x]kanjiskip and others',
})
luatexja.jfmglue = luatexja.jfmglue or {}
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('stack'); local ltjs = luatexja.stack
-luatexja.load_module('jfont'); local ltjf = luatexja.jfont
-luatexja.load_module('direction'); local ltjd = luatexja.direction
-luatexja.load_module('setwidth'); local ltjw = luatexja.setwidth
-luatexja.load_module('lotf_aux'); local ltju = luatexja.lotf_aux
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'stack'; local ltjs = luatexja.stack
+luatexja.load_module 'jfont'; local ltjf = luatexja.jfont
+luatexja.load_module 'direction'; local ltjd = luatexja.direction
+luatexja.load_module 'setwidth'; local ltjw = luatexja.setwidth
+luatexja.load_module 'lotf_aux'; local ltju = luatexja.lotf_aux
local pairs = pairs
--local to_node = node.direct.tonode
@@ -51,25 +51,25 @@ local node_tail = node.direct.tail
local node_free = node.direct.free
local node_remove = node.direct.remove
-local id_glyph = node.id('glyph')
-local id_hlist = node.id('hlist')
-local id_vlist = node.id('vlist')
-local id_rule = node.id('rule')
-local id_ins = node.id('ins')
-local id_mark = node.id('mark')
-local id_adjust = node.id('adjust')
-local id_disc = node.id('disc')
-local id_whatsit = node.id('whatsit')
-local id_math = node.id('math')
-local id_glue = node.id('glue')
-local id_kern = node.id('kern')
-local id_penalty = node.id('penalty')
+local id_glyph = node.id 'glyph'
+local id_hlist = node.id 'hlist'
+local id_vlist = node.id 'vlist'
+local id_rule = node.id 'rule'
+local id_ins = node.id 'ins'
+local id_mark = node.id 'mark'
+local id_adjust = node.id 'adjust'
+local id_disc = node.id 'disc'
+local id_whatsit = node.id 'whatsit'
+local id_math = node.id 'math'
+local id_glue = node.id 'glue'
+local id_kern = node.id 'kern'
+local id_penalty = node.id 'penalty'
local id_jglyph = 512 -- Japanese character
local id_box_like = 256 -- vbox, shifted hbox
local id_pbox = 257 -- already processed nodes (by \unhbox)
local id_pbox_w = 258 -- cluster which consists of a whatsit
-local sid_user = node.subtype('user_defined')
+local sid_user = node.subtype 'user_defined'
local ITALIC = luatexja.icflag_table.ITALIC
local PACKED = luatexja.icflag_table.PACKED
@@ -112,9 +112,9 @@ do
slow_find_char_class = function (c, m, oc)
local cls = ltjf_find_char_class(oc, m)
if oc~=c and c and cls==0 then
- return ltjf_find_char_class(c, m)
+ return ltjf_find_char_class(c, m)
else
- return cls
+ return cls
end
end
end
@@ -140,7 +140,7 @@ function add_penalty(p,e)
pp = pp + e
if pp>=10000 then setpenalty(p, 10000)
elseif pp<=-10000 then setpenalty(p, -10000)
- else setpenalty(p, pp) end
+ else setpenalty(p, pp) end
end
end
end
@@ -177,59 +177,51 @@ local function check_box(box_ptr, box_end)
while p and p~=box_end do
local pid = getid(p)
if pid==id_kern and getsubtype(p)==2 then
- p = node_next(node_next(node_next(p))); pid = getid(p) -- p must be glyph_node
+ p = node_next(node_next(node_next(p))); pid = getid(p) -- p must be glyph_node
end
if pid==id_glyph then
- repeat
- if find_first_char then
- first_char = p; find_first_char = false
- end
- last_char = p; found_visible_node = true; p=node_next(p)
- if (not p) or p==box_end then
- return found_visible_node
- end
- until getid(p)~=id_glyph
- pid = getid(p) -- p must be non-nil
+ repeat
+ if find_first_char then first_char = p; find_first_char = false end
+ last_char = p; found_visible_node = true; p=node_next(p)
+ if (not p) or p==box_end then return found_visible_node end
+ until getid(p)~=id_glyph
+ pid = getid(p) -- p must be non-nil
end
if pid==id_kern then
- local pa = get_attr_icflag(p)
- if pa==IC_PROCESSED then
- -- do nothing
- elseif getsubtype(p)==2 then
- p = node_next(node_next(p));
- -- Note that another node_next will be executed outside this if-statement.
- else
- found_visible_node = true
- find_first_char = false; last_char = nil
- end
+ local pa = get_attr_icflag(p)
+ if pa==IC_PROCESSED then
+ -- do nothing
+ elseif getsubtype(p)==2 then
+ p = node_next(node_next(p));
+ -- Note that another node_next will be executed outside this if-statement.
+ else
+ found_visible_node = true
+ find_first_char = false; last_char = nil
+ end
elseif pid==id_hlist then
- if PACKED == get_attr_icflag(p) then
- local s = ltjd_glyph_from_packed(p)
- if find_first_char then
- first_char = s; find_first_char = false
- end
- last_char = s; found_visible_node = true
- else
- if getfield(p, 'shift')==0 then
- last_char = nil
- if check_box(getlist(p), nil) then found_visible_node = true end
- find_first_char = false
- else
- find_first_char = false; last_char = nil
- end
- end
+ if PACKED == get_attr_icflag(p) then
+ local s = ltjd_glyph_from_packed(p)
+ if find_first_char then first_char = s; find_first_char = false end
+ last_char = s; found_visible_node = true
+ else
+ if getfield(p, 'shift')==0 then
+ last_char = nil
+ if check_box(getlist(p), nil) then found_visible_node = true end
+ find_first_char = false
+ else
+ find_first_char = false; last_char = nil
+ end
+ end
elseif pid==id_math then
- if find_first_char then
- first_char = p; find_first_char = false
- end
- last_char = p; found_visible_node = true
+ if find_first_char then first_char = p; find_first_char = false end
+ last_char = p; found_visible_node = true
elseif pid==id_rule and get_attr_icflag(p)==PACKED then
- -- do nothing
+ -- do nothing
elseif not (pid==id_ins or pid==id_mark
- or pid==id_adjust or pid==id_whatsit
- or pid==id_penalty) then
- found_visible_node = true
- find_first_char = false; last_char = nil
+ or pid==id_adjust or pid==id_whatsit
+ or pid==id_penalty) then
+ found_visible_node = true
+ find_first_char = false; last_char = nil
end
p = node_next(p)
end
@@ -242,13 +234,13 @@ check_box_high = function (Nx, box_ptr, box_end)
local first_char = first_char
if first_char then
if getid(first_char)==id_glyph then
- if if_lang_ja(first_char) then
- set_np_xspc_jachar_hbox(Nx, first_char)
- else
- set_np_xspc_alchar(Nx, getchar(first_char),first_char, 1)
- end
- else -- math_node
- set_np_xspc_alchar(Nx, -1,first_char)
+ if if_lang_ja(first_char) then
+ set_np_xspc_jachar_hbox(Nx, first_char)
+ else
+ set_np_xspc_alchar(Nx, getchar(first_char),first_char, 1)
+ end
+ else -- math_node
+ set_np_xspc_alchar(Nx, -1,first_char)
end
end
end
@@ -258,14 +250,14 @@ end
-------------------- Np の計算と情報取得
luatexbase.create_callback("luatexja.jfmglue.whatsit_getinfo", "data",
- function (Np, lp, Nq)
- if Np.nuc then return Np
- else
- return Np -- your code
- end
- end)
+ function (Np, lp, Nq)
+ if Np.nuc then return Np
+ else
+ return Np -- your code
+ end
+ end)
luatexbase.create_callback("luatexja.jfmglue.whatsit_after", "data",
- function (stat, Nq, Np) return false end)
+ function (stat, Nq, Np) return false end)
-- calc next Np
local calc_np
@@ -292,12 +284,12 @@ local function calc_np_pbox(lp, last)
local lpi = getid(lp)
if lpa==PACKED then
if lpi==id_rule then lp = node_next(lp) end
- nc, lp = lp, node_next(lp)
+ nc, lp = lp, node_next(lp)
elseif lpi==id_hlist or lpi==id_vlist then
- head, lp, nc = ltjd_make_dir_whatsit(head, lp, list_dir, 'jfm pbox')
- Np.first = first and nc or Np.first
+ head, lp, nc = ltjd_make_dir_whatsit(head, lp, list_dir, 'jfm pbox')
+ Np.first = first and nc or Np.first
else
- nc, lp = lp, node_next(lp)
+ nc, lp = lp, node_next(lp)
end
first, lpa = false, (lp and has_attr(lp, attr_icflag) or 0)
-- get_attr_icflag() ではいけない!
@@ -317,13 +309,13 @@ do -- 002 ---------------------------------------
local font_getfont = font.getfont
local function calc_np_notdef(lp)
if not font_getfont(getfont(lp)).characters[getchar(lp)] then
- local ln = node_next(lp)
- if ltju.specified_feature(getfont(lp), 'notdef') and ln and getid(ln)==id_glyph then
- set_attr(lp, attr_icflag, PROCESSED)
- set_attr(ln, attr_jchar_code, has_attr(lp, attr_jchar_code) or getchar(lp))
- set_attr(ln, attr_jchar_class, has_attr(lp, attr_jchar_class) or 0)
- Np.nuc, lp = ln, ln
- end
+ local ln = node_next(lp)
+ if ltju.specified_feature(getfont(lp), 'notdef') and ln and getid(ln)==id_glyph then
+ set_attr(lp, attr_icflag, PROCESSED)
+ set_attr(ln, attr_jchar_code, has_attr(lp, attr_jchar_code) or getchar(lp))
+ set_attr(ln, attr_jchar_class, has_attr(lp, attr_jchar_class) or 0)
+ Np.nuc, lp = ln, ln
+ end
end
return lp
end
@@ -351,73 +343,73 @@ function calc_np_aux_glyph_common(lp, acc_flag)
setfield(lp, 'yoffset', getfield(lp, 'yoffset') - y_adjust)
lp = node_next(lp)
for lx in traverse(lp) do
- local lai = get_attr_icflag(lx)
- if lx==last or lai>=PACKED then
- lp=lx; break
- else
- local lid = getid(lx)
- if lid==id_glyph and not if_lang_ja(lx) then
- -- 欧文文字
- last_glyph = lx; set_attr(lx, attr_icflag, PROCESSED); Np.last = lx
- y_adjust = has_attr(lx,attr_ablshift) or 0
- node_depth = max(getfield(lx, 'depth') + min(y_adjust, 0), node_depth)
- adj_depth = (y_adjust>0) and max(getfield(lx, 'depth') + y_adjust, adj_depth) or adj_depth
- setfield(lx, 'yoffset', getfield(lx, 'yoffset') - y_adjust)
- elseif lid==id_kern then
- local ls = getsubtype(lx)
- if ls==2 then -- アクセント用の kern
- set_attr(lx, attr_icflag, PROCESSED)
- lx = node_next(lx) -- lx: アクセント本体
- if getid(lx)==id_glyph then
- setfield(lx, 'yoffset', getfield(lx, 'yoffset') - (has_attr(lx,attr_ablshift) or 0))
- else -- アクセントは上下にシフトされている
- setfield(lx, 'shift', getfield(lx, 'shift') + (has_attr(lx,attr_ablshift) or 0))
- end
- lx = node_next(node_next(lx))
- elseif ls==0 then
- Np.last = lx
- elseif (ls==3) or (lai==ITALIC) then
- Np.last = lx; set_attr(lx, attr_icflag, IC_PROCESSED)
- else
- lp=lx; break
- end
- else
- lp=lx; break
- end
- end
+ local lai = get_attr_icflag(lx)
+ if lx==last or lai>=PACKED then
+ lp=lx; break
+ else
+ local lid = getid(lx)
+ if lid==id_glyph and not if_lang_ja(lx) then
+ -- 欧文文字
+ last_glyph = lx; set_attr(lx, attr_icflag, PROCESSED); Np.last = lx
+ y_adjust = has_attr(lx,attr_ablshift) or 0
+ node_depth = max(getfield(lx, 'depth') + min(y_adjust, 0), node_depth)
+ adj_depth = (y_adjust>0) and max(getfield(lx, 'depth') + y_adjust, adj_depth) or adj_depth
+ setfield(lx, 'yoffset', getfield(lx, 'yoffset') - y_adjust)
+ elseif lid==id_kern then
+ local ls = getsubtype(lx)
+ if ls==2 then -- アクセント用の kern
+ set_attr(lx, attr_icflag, PROCESSED)
+ lx = node_next(lx) -- lx: アクセント本体
+ if getid(lx)==id_glyph then
+ setfield(lx, 'yoffset', getfield(lx, 'yoffset') - (has_attr(lx,attr_ablshift) or 0))
+ else -- アクセントは上下にシフトされている
+ setfield(lx, 'shift', getfield(lx, 'shift') + (has_attr(lx,attr_ablshift) or 0))
+ end
+ lx = node_next(node_next(lx))
+ elseif ls==0 then
+ Np.last = lx
+ elseif (ls==3) or (lai==ITALIC) then
+ Np.last = lx; set_attr(lx, attr_icflag, IC_PROCESSED)
+ else
+ lp=lx; break
+ end
+ else
+ lp=lx; break
+ end
+ end
end
local r
if adj_depth>node_depth then
- r = node_new(id_rule,3)
- setfield(r, 'width', 0); setfield(r, 'height', 0)
- setfield(r, 'depth',adj_depth); setfield(r, 'dir', tex_dir)
- set_attr(r, attr_icflag, PROCESSED)
+ r = node_new(id_rule,3)
+ setfield(r, 'width', 0); setfield(r, 'height', 0)
+ setfield(r, 'depth',adj_depth); setfield(r, 'dir', tex_dir)
+ set_attr(r, attr_icflag, PROCESSED)
end
if last_glyph then
- Np.last_char = last_glyph
- if r then insert_after(head, first_glyph, r) end
+ Np.last_char = last_glyph
+ if r then insert_after(head, first_glyph, r) end
else
- local npn = Np.nuc
- Np.last_char = npn
- if r then
- local nf, nc = getfont(npn), getchar(npn)
- local ct = (font.getfont(nf) or font.fonts[nf] ).characters[nc]
- if not ct then -- variation selector
- node_free(r)
- elseif (ct.left_protruding or 0) == 0 then
- head = insert_before(head, npn, r)
- Np.first = acc_flag and Np.first or ((Np.first==npn) and r or npn)
- elseif (ct.right_protruding or 0) == 0 then
- insert_after(head, npn, r); Np.last, lp = r, r
- else
- ltjb.package_warning_no_line(
- 'luatexja',
- 'Check depth of glyph node ' .. tostring(npn) .. '(font=' .. nf
- .. ', char=' .. nc .. '), because its \\lpcode is ' .. tostring(ct.left_protruding)
- .. ' and its \\rpcode is ' .. tostring(ct.right_protruding)
- ); node_free(r)
- end
- end
+ local npn = Np.nuc
+ Np.last_char = npn
+ if r then
+ local nf, nc = getfont(npn), getchar(npn)
+ local ct = (font.getfont(nf) or font.fonts[nf] ).characters[nc]
+ if not ct then -- variation selector
+ node_free(r)
+ elseif (ct.left_protruding or 0) == 0 then
+ head = insert_before(head, npn, r)
+ Np.first = acc_flag and Np.first or ((Np.first==npn) and r or npn)
+ elseif (ct.right_protruding or 0) == 0 then
+ insert_after(head, npn, r); Np.last, lp = r, r
+ else
+ ltjb.package_warning_no_line(
+ 'luatexja',
+ 'Check depth of glyph node ' .. tostring(npn) .. '(font=' .. nf
+ .. ', char=' .. nc .. '), because its \\lpcode is ' .. tostring(ct.left_protruding)
+ .. ' and its \\rpcode is ' .. tostring(ct.right_protruding)
+ ); node_free(r)
+ end
+ end
end
return true, lp
end
@@ -429,10 +421,10 @@ local ltjw_apply_ashift_math = ltjw.apply_ashift_math
local ltjw_apply_ashift_disc = ltjw.apply_ashift_disc
local node_end_of_math = node.direct.end_of_math
local dir_tate = luatexja.dir_table.dir_tate
-local sid_start_link = node.subtype('pdf_start_link')
-local sid_start_thread = node.subtype('pdf_start_thread')
-local sid_end_link = node.subtype('pdf_end_link')
-local sid_end_thread = node.subtype('pdf_end_thread')
+local sid_start_link = node.subtype 'pdf_start_link'
+local sid_start_thread = node.subtype 'pdf_start_thread'
+local sid_end_link = node.subtype 'pdf_end_link'
+local sid_end_thread = node.subtype 'pdf_end_thread'
calc_np_auxtable = {
[id_glyph] = calc_np_aux_glyph_common,
[id_hlist] = function(lp)
@@ -441,10 +433,10 @@ calc_np_auxtable = {
set_attr(op, attr_icflag, PROCESSED)
Np.first = Np.first or op; Np.last = op; Np.nuc = op;
if (flag or getfield(op, 'shift')~=0) then
- Np.id = id_box_like
+ Np.id = id_box_like
else
- Np.id = id_hlist
- Np.last_char = check_box_high(Np, getlist(op), nil)
+ Np.id = id_hlist
+ Np.last_char = check_box_high(Np, getlist(op), nil)
end
return true, lp
end,
@@ -463,34 +455,34 @@ calc_np_auxtable = {
[id_whatsit] = function(lp)
local lps = getsubtype(lp)
if lps==sid_user then
- if getfield(lp, 'user_id')==luatexja.userid_table.IHB then
- local lq = node_next(lp);
- head = node_remove(head, lp); node_free(lp); non_ihb_flag = false
- return false, lq;
- elseif getfield(lp, 'user_id')==luatexja.userid_table.JA_AL_BDD then
- local lq = node_next(lp);
- head = node_remove(head, lp); node_free(lp)
- return false, lq;
- else
- set_attr(lp, attr_icflag, PROCESSED)
- luatexbase.call_callback("luatexja.jfmglue.whatsit_getinfo",
- Np, lp, Nq)
- if Np.nuc then
- Np.id = id_pbox_w; Np.first = Np.nuc; Np.last = Np.nuc;
- return true, node_next(lp)
- else
- return false, node_next(lp)
- end
- end
+ if getfield(lp, 'user_id')==luatexja.userid_table.IHB then
+ local lq = node_next(lp);
+ head = node_remove(head, lp); node_free(lp); non_ihb_flag = false
+ return false, lq;
+ elseif getfield(lp, 'user_id')==luatexja.userid_table.JA_AL_BDD then
+ local lq = node_next(lp);
+ head = node_remove(head, lp); node_free(lp)
+ return false, lq;
+ else
+ set_attr(lp, attr_icflag, PROCESSED)
+ luatexbase.call_callback("luatexja.jfmglue.whatsit_getinfo",
+ Np, lp, Nq)
+ if Np.nuc then
+ Np.id = id_pbox_w; Np.first = Np.nuc; Np.last = Np.nuc;
+ return true, node_next(lp)
+ else
+ return false, node_next(lp)
+ end
+ end
else
- -- we do special treatment for these whatsit nodes.
- if lps == sid_start_link or lps == sid_start_thread then
- Np.first = lp
- elseif lps == sid_end_link or lps == sid_end_thread then
- Np.first, Nq.last = nil, lp;
- end
- set_attr(lp, attr_icflag, PROCESSED)
- return false, node_next(lp)
+ -- we do special treatment for these whatsit nodes.
+ if lps == sid_start_link or lps == sid_start_thread then
+ Np.first = lp
+ elseif lps == sid_end_link or lps == sid_end_thread then
+ Np.first, Nq.last = nil, lp;
+ end
+ set_attr(lp, attr_icflag, PROCESSED)
+ return false, node_next(lp)
end
end,
[id_math] = function(lp)
@@ -517,21 +509,21 @@ calc_np_auxtable = {
end,
[id_kern] = function(lp)
if getsubtype(lp)==2 then
- Np.first = Np.first or lp
- set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp)
- if getid(lp)==id_glyph then -- アクセント本体
- setfield(lp, 'yoffset', getfield(lp, 'yoffset') - (has_attr(lp,attr_ablshift) or 0))
- else -- アクセントは上下にシフトされている
- setfield(lp, 'shift', getfield(lp, 'shift') + (has_attr(lp,attr_ablshift) or 0))
- end
- set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp)
- set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp)
- set_attr(lp, attr_icflag, PROCESSED);
- return calc_np_aux_glyph_common(lp, true)
+ Np.first = Np.first or lp
+ set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp)
+ if getid(lp)==id_glyph then -- アクセント本体
+ setfield(lp, 'yoffset', getfield(lp, 'yoffset') - (has_attr(lp,attr_ablshift) or 0))
+ else -- アクセントは上下にシフトされている
+ setfield(lp, 'shift', getfield(lp, 'shift') + (has_attr(lp,attr_ablshift) or 0))
+ end
+ set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp)
+ set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp)
+ set_attr(lp, attr_icflag, PROCESSED);
+ return calc_np_aux_glyph_common(lp, true)
else
- Np.first = Np.first or lp
- Np.id = id_kern; set_attr(lp, attr_icflag, PROCESSED)
- Np.last = lp; return true, node_next(lp)
+ Np.first = Np.first or lp
+ Np.id = id_kern; set_attr(lp, attr_icflag, PROCESSED)
+ Np.last = lp; return true, node_next(lp)
end
end,
[id_penalty] = function(lp)
@@ -567,14 +559,14 @@ function calc_np(last, lp)
-- unbox 由来ノードの検出
if lpa>=PACKED then
if lpa%PROCESSED_BEGIN_FLAG == BOXBDD then
- local lq = node_next(lp)
+ local lq = node_next(lp)
head = node_remove(head, lp); node_free(lp); lp = lq
else
- return calc_np_pbox(lp, last)
+ return calc_np_pbox(lp, last)
end -- id_pbox
else
- k, lp = (calc_np_auxtable[getid(lp)] or calc_np_aux_skip)(lp)
- if k then return lp end
+ k, lp = (calc_np_auxtable[getid(lp)] or calc_np_aux_skip)(lp)
+ if k then return lp end
end
end
Np=nil
@@ -634,44 +626,42 @@ do
local nullfunc = function(n) return n end
function set_np_xspc_alchar(Nx, c,x, lig)
if c~=-1 then
- local f = (lig ==1) and nullfunc or node_tail
+ local f = (lig ==1) and nullfunc or node_tail
local xc, xs = getcomponents(x), getsubtype(x)
- while xc and xs and xs%4>=2 do
- x = f(xc);
- if getid(x)==id_disc then x, xc, xs = nil, getfield(x,'replace'), 2
- else xc, xs = getcomponents(x), getsubtype(x) end
- end
- c = x and getchar(x) or c
- Nx.pre = table_current_stack[PRE + c] or 0
- Nx.post = table_current_stack[POST + c] or 0
+ while xc and xs and xs%4>=2 do
+ x = f(xc);
+ if getid(x)==id_disc then x, xc, xs = nil, getfield(x,'replace'), 2
+ else xc, xs = getcomponents(x), getsubtype(x) end
+ end
+ c = x and getchar(x) or c
+ Nx.pre = table_current_stack[PRE + c] or 0
+ Nx.post = table_current_stack[POST + c] or 0
else
- Nx.pre, Nx.post = 0, 0
+ Nx.pre, Nx.post = 0, 0
end
Nx.met = nil
Nx.xspc = table_current_stack[XSP + c] or 3
Nx.auto_xspc = (has_attr(x, attr_autoxspc)==1)
end
local set_np_xspc_alchar = set_np_xspc_alchar
-
-- change the information for the next loop
-- (will be done if Nx is an alphabetic character or a hlist)
after_hlist = function (Nx)
local s = Nx.last_char
if s then
- if getid(s)==id_glyph then
- if if_lang_ja(s) then
- set_np_xspc_jachar_hbox(Nx, s)
- else
- set_np_xspc_alchar(Nx, getchar(s), s, 2)
- end
- else
- set_np_xspc_alchar(Nx, -1, s)
- end
+ if getid(s)==id_glyph then
+ if if_lang_ja(s) then
+ set_np_xspc_jachar_hbox(Nx, s)
+ else
+ set_np_xspc_alchar(Nx, getchar(s), s, 2)
+ end
+ else
+ set_np_xspc_alchar(Nx, -1, s)
+ end
else
- Nx.pre, Nx.met = nil, nil
+ Nx.pre, Nx.met = nil, nil
end
end
-
after_alchar = function (Nx)
local x = Nx.last_char
return set_np_xspc_alchar(Nx, getchar(x), x, 2)
@@ -689,12 +679,10 @@ local function handle_penalty_normal(post, pre, g)
local a = (pre or 0) + (post or 0)
if #Bp == 0 then
if (a~=0 and not(g and getid(g)==id_kern)) then
- local p = node_new(id_penalty)
- if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end
- setfield(p, 'penalty', a)
- head = insert_before(head, Np.first, p)
- Bp[1]=p;
- set_attr(p, attr_icflag, KINSOKU)
+ local p = node_new(id_penalty)
+ if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end
+ setfield(p, 'penalty', a); head = insert_before(head, Np.first, p)
+ Bp[1]=p; set_attr(p, attr_icflag, KINSOKU)
end
else for _, v in pairs(Bp) do add_penalty(v,a) end
end
@@ -705,12 +693,10 @@ local function handle_penalty_always(post, pre, g)
local a = (pre or 0) + (post or 0)
if #Bp == 0 then
if not (g and getid(g)==id_glue) or a~=0 then
- local p = node_new(id_penalty)
- if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end
- setfield(p, 'penalty', a)
- head = insert_before(head, Np.first, p)
- Bp[1]=p
- set_attr(p, attr_icflag, KINSOKU)
+ local p = node_new(id_penalty)
+ if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end
+ setfield(p, 'penalty', a); head = insert_before(head, Np.first, p)
+ Bp[1]=p; set_attr(p, attr_icflag, KINSOKU)
end
else for _, v in pairs(Bp) do add_penalty(v,a) end
end
@@ -720,10 +706,9 @@ local function handle_penalty_suppress(post, pre, g)
luatexbase.call_callback('luatexja.adjust_jfmglue', head, Nq, Np, Bp)
if #Bp == 0 then
if g and getid(g)==id_glue then
- local p = node_new(id_penalty)
- setfield(p, 'penalty', 10000); head = insert_before(head, Np.first, p)
- Bp[1]=p
- set_attr(p, attr_icflag, KINSOKU)
+ local p = node_new(id_penalty)
+ setfield(p, 'penalty', 10000); head = insert_before(head, Np.first, p)
+ Bp[1]=p; set_attr(p, attr_icflag, KINSOKU)
end
else
local a = (pre or 0) + (post or 0)
@@ -735,12 +720,10 @@ local function handle_penalty_jwp()
local a = table_current_stack[luatexja.stack_table_index.JWP]
if #widow_Bp == 0 then
if a~=0 then
- local p = node_new(id_penalty)
- if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end
- setfield(p, 'penalty', a)
- head = insert_before(head, widow_Np.first, p)
- widow_Bp[1]=p;
- set_attr(p, attr_icflag, KINSOKU)
+ local p = node_new(id_penalty)
+ if a<-10000 then a = -10000 elseif a>10000 then a = 10000 end
+ setfield(p, 'penalty', a); head = insert_before(head, widow_Np.first, p)
+ widow_Bp[1]=p; set_attr(p, attr_icflag, KINSOKU)
end
else for _, v in pairs(widow_Bp) do add_penalty(v,a) end
end
@@ -752,12 +735,12 @@ local function new_jfm_glue(mc, bc, ac)
local g = mc[bc][ac]
if g then
if g[1] then
- return node_copy(g[1]), g.ratio, false, false, false
+ return node_copy(g[1]), g.ratio, false, false, false
else
- local f = node_new(id_glue)
+ local f = node_new(id_glue)
set_attr(f, attr_icflag, g.priority)
- setglue(f, g.width, g.stretch, g.shrink)
- return f, g.ratio, g.kanjiskip_natural, g.kanjiskip_stretch, g.kanjiskip_shrink
+ setglue(f, g.width, g.stretch, g.shrink)
+ return f, g.ratio, g.kanjiskip_natural, g.kanjiskip_stretch, g.kanjiskip_shrink
end
end
return false, 0
@@ -798,36 +781,36 @@ do
calc_ja_ja_aux = function (gb, ga, db, da)
if luatexja.jfmglue.diffmet_rule ~= math.two_pleft and diffmet_rule ~= math.two_pright
and luatexja.jfmglue.diffmet_rule ~= math.two_paverage then
- db, da = 0, 1
+ db, da = 0, 1
end
if not gb then
- if ga then gb = node_new(id_kern, 1); setfield(gb, 'kern', 0)
- else return nil end
+ if ga then gb = node_new(id_kern, 1); setfield(gb, 'kern', 0)
+ else return nil end
elseif not ga then
- ga = node_new(id_kern, 1); setfield(ga, 'kern', 0)
+ ga = node_new(id_kern, 1); setfield(ga, 'kern', 0)
end
local gbw, gaw, gbst, gast, gbsto, gasto, gbsh, gash, gbsho, gasho
if getid(gb)==id_glue then
gbw, gbst, gbsh, gbsto, gbsho = getglue(gb)
else
- gbw = getfield(gb, 'kern')
+ gbw = getfield(gb, 'kern')
end
if getid(ga)==id_glue then
gaw, gast, gash, gasto, gasho = getglue(ga)
else
- gaw = getfield(ga, 'kern')
+ gaw = getfield(ga, 'kern')
end
if not (gbst or gast) then -- 両方とも kern
- setfield(gb, 'kern', blend_diffmet(gbw, gaw, db, da))
- node_free(ga); return gb
+ setfield(gb, 'kern', blend_diffmet(gbw, gaw, db, da))
+ node_free(ga); return gb
else
local gr = gb
if not gbst then gr = ga; node_free(gb) else node_free(ga) end
gbw = blend_diffmet(gbw or 0, gaw or 0, db, da) -- 結果の自然長
gbst, gbsto = blend_diffmet_inf(gbst, gast, gbsto, gasto, db, da) -- 伸び
gbsh, gbsho = blend_diffmet_inf(-(gbsh or 0), -(gash or 0), gbsho, gasho, db, da) -- -(縮み)
- setglue(gr, gbw, gbst, -gbsh, gbsto, gbsho)
- return gr
+ setglue(gr, gbw, gbst, -gbsh, gbsto, gbsho)
+ return gr
end
end
end
@@ -846,51 +829,50 @@ do
-- ノード kanji_skip のコピーで良い場合は nil が帰る
-- flag = true: JFM グルーに付随する kanjiskip 自然長/伸び/縮み分
if qm.with_kanjiskip and (bn or bp or bh) then
- if kanjiskip_jfm_flag then
- local g = node_new(id_glue);
- local bk = qm.kanjiskip or null_skip_table
- setglue(g, bn and (bn*bk[1]) or 0,
- bp and (bp*bk[2]) or 0,
- bh and (bh*bk[3]) or 0, 0, 0)
- set_attr(g, attr_icflag, KANJI_SKIP_JFM)
- return g
- elseif flag then
- local g = node_new(id_glue)
+ if kanjiskip_jfm_flag then
+ local g = node_new(id_glue);
+ local bk = qm.kanjiskip or null_skip_table
+ setglue(g, bn and (bn*bk[1]) or 0,
+ bp and (bp*bk[2]) or 0,
+ bh and (bh*bk[3]) or 0, 0, 0)
+ set_attr(g, attr_icflag, KANJI_SKIP_JFM)
+ return g
+ elseif flag then
+ local g = node_new(id_glue)
local st = bp and (bp*getfield(kanji_skip, 'stretch')) or 0
local sh = bh and (bh*getfield(kanji_skip, 'shrink')) or 0
- setglue(g,
- bn and (bn*getfield(kanji_skip, 'width')) or 0,
- st, sh,
- (st==0) and 0 or getfield(kanji_skip, 'stretch_order'),
- (sh==0) and 0 or getfield(kanji_skip, 'shrink_order'))
- set_attr(g, attr_icflag, KANJI_SKIP_JFM)
- return g
- end
+ setglue(g,
+ bn and (bn*getfield(kanji_skip, 'width')) or 0,
+ st, sh,
+ (st==0) and 0 or getfield(kanji_skip, 'stretch_order'),
+ (sh==0) and 0 or getfield(kanji_skip, 'shrink_order'))
+ set_attr(g, attr_icflag, KANJI_SKIP_JFM)
+ return g
+ end
end
end
get_kanjiskip = function()
- if Np.auto_kspc==0 or Nq.auto_kspc==0 then
- return nil
+ if Np.auto_kspc==0 or Nq.auto_kspc==0 then return nil
elseif Np.auto_kspc or Nq.auto_kspc then
- local pm, qm = Np.met, Nq.met
- if (pm.char_type==qm.char_type) and (qm.var==pm.var) then
- return get_kanjiskip_low(false, qm, 1, 1, 1) or node_copy(kanji_skip)
- else
- local gb = get_kanjiskip_low(false, qm, 1, 1, 1)
- if gb then
- return calc_ja_ja_aux(gb,
- get_kanjiskip_low(false, pm, 1, 1, 1) or node_copy(kanji_skip), 0, 1)
- else
- local ga = get_kanjiskip_low(false, pm, 1, 1, 1)
- return (ga and calc_ja_ja_aux(node_copy(kanji_skip), ga, 0, 1))
- or node_copy(kanji_skip)
- end
- end
+ local pm, qm = Np.met, Nq.met
+ if (pm.char_type==qm.char_type) and (qm.var==pm.var) then
+ return get_kanjiskip_low(false, qm, 1, 1, 1) or node_copy(kanji_skip)
+ else
+ local gb = get_kanjiskip_low(false, qm, 1, 1, 1)
+ if gb then
+ return calc_ja_ja_aux(gb,
+ get_kanjiskip_low(false, pm, 1, 1, 1) or node_copy(kanji_skip), 0, 1)
+ else
+ local ga = get_kanjiskip_low(false, pm, 1, 1, 1)
+ return (ga and calc_ja_ja_aux(node_copy(kanji_skip), ga, 0, 1))
+ or node_copy(kanji_skip)
+ end
+ end
else
- local g = node_new(id_glue)
- set_attr(g, attr_icflag, kanjiskip_jfm_flag and KANJI_SKIP_JFM or KANJI_SKIP)
- return g
+ local g = node_new(id_glue)
+ set_attr(g, attr_icflag, kanjiskip_jfm_flag and KANJI_SKIP_JFM or KANJI_SKIP)
+ return g
end
end
@@ -898,27 +880,25 @@ do
local qm, pm = Nq.met, Np.met
local qmc, pmc = qm.char_type, pm.char_type
if (qmc==pmc) and (qm.var==pm.var) then
- local g, _, kn, kp, kh = new_jfm_glue(qmc, Nq.class, Np.class)
- return g, (Np.auto_kspc or Nq.auto_kspc) and get_kanjiskip_low(true, qm, kn, kp, kh)
+ local g, _, kn, kp, kh = new_jfm_glue(qmc, Nq.class, Np.class)
+ return g, (Np.auto_kspc or Nq.auto_kspc) and get_kanjiskip_low(true, qm, kn, kp, kh)
else
- local npn, nqn = Np.nuc, Nq.nuc
- local gb, db, bn, bp, bh
- = new_jfm_glue(qmc, Nq.class,
- slow_find_char_class(Np.char,
- qm, getchar(npn)))
- local ga, da, an, ap, ah
- = new_jfm_glue(pmc,
- slow_find_char_class(Nq.char,
- pm, getchar(nqn)),
- Np.class)
- local g = calc_ja_ja_aux(gb, ga, db, da)
- local k
- --if (pmc==qmc) and (qm.var==pm.var) then
+ local npn, nqn = Np.nuc, Nq.nuc
+ local gb, db, bn, bp, bh
+ = new_jfm_glue(qmc, Nq.class,
+ slow_find_char_class(Np.char,
+ qm, getchar(npn)))
+ local ga, da, an, ap, ah
+ = new_jfm_glue(pmc,
+ slow_find_char_class(Nq.char,
+ pm, getchar(nqn)),
+ Np.class)
+ local g = calc_ja_ja_aux(gb, ga, db, da)
+ local k
gb = get_kanjiskip_low(true, qm, bn, bp, bh)
- ga = get_kanjiskip_low(true, pm, an, ap, ah)
- k = calc_ja_ja_aux(gb, ga, db, da)
- --end
- return g, k
+ ga = get_kanjiskip_low(true, pm, an, ap, ah)
+ k = calc_ja_ja_aux(gb, ga, db, da)
+ return g, k
end
end
end
@@ -935,27 +915,27 @@ do
get_xkanjiskip_low = function(flag, qm, bn, bp, bh)
if flag or (qm.with_kanjiskip and (bn or bp or bh)) then
- if xkanjiskip_jfm_flag then
- local g = node_new(id_glue);
- local bk = qm.xkanjiskip or null_skip_table
- setglue(g, bn and bk[1] or 0,
- bp and bk[2] or 0,
- bh and bk[3] or 0, 0, 0)
- set_attr(g, attr_icflag, XKANJI_SKIP_JFM)
- return g
- elseif flag then
- return node_copy(xkanji_skip)
- else
- local g = node_new(id_glue);
- setglue(g,
- bn and (bn*getfield(xkanji_skip, 'width')) or 0,
- bp and (bp*getfield(xkanji_skip, 'stretch')) or 0,
- bh and (bh*getfield(xkanji_skip, 'shrink')) or 0,
- bp and getfield(xkanji_skip, 'stretch_order') or 0,
- bh and getfield(xkanji_skip, 'shrink_order') or 0)
- set_attr(g, attr_icflag, XKANJI_SKIP_JFM)
- return g
- end
+ if xkanjiskip_jfm_flag then
+ local g = node_new(id_glue);
+ local bk = qm.xkanjiskip or null_skip_table
+ setglue(g, bn and bk[1] or 0,
+ bp and bk[2] or 0,
+ bh and bk[3] or 0, 0, 0)
+ set_attr(g, attr_icflag, XKANJI_SKIP_JFM)
+ return g
+ elseif flag then
+ return node_copy(xkanji_skip)
+ else
+ local g = node_new(id_glue);
+ setglue(g,
+ bn and (bn*getfield(xkanji_skip, 'width')) or 0,
+ bp and (bp*getfield(xkanji_skip, 'stretch')) or 0,
+ bh and (bh*getfield(xkanji_skip, 'shrink')) or 0,
+ bp and getfield(xkanji_skip, 'stretch_order') or 0,
+ bh and getfield(xkanji_skip, 'shrink_order') or 0)
+ set_attr(g, attr_icflag, XKANJI_SKIP_JFM)
+ return g
+ end
end
end
@@ -963,11 +943,11 @@ do
if Np.auto_xspc==0 or Nq.auto_xspc==0 then
return nil
elseif (Nq.xspc>=2) and (Np.xspc%2==1) and (Nq.auto_xspc or Np.auto_xspc) then
- return get_xkanjiskip_low(true, Nn.met, 1, 1, 1)
+ return get_xkanjiskip_low(true, Nn.met, 1, 1, 1)
else
- local g = node_new(id_glue)
- set_attr(g, attr_icflag, xkanjiskip_jfm_flag and XKANJI_SKIP_JFM or XKANJI_SKIP)
- return g
+ local g = node_new(id_glue)
+ set_attr(g, attr_icflag, xkanjiskip_jfm_flag and XKANJI_SKIP_JFM or XKANJI_SKIP)
+ return g
end
end
end
@@ -986,7 +966,7 @@ local function get_NA_skip()
fast_find_char_class(
(Nq.id == id_math and -1 or (Nq.xspc>=2 and 'alchar' or 'nox_alchar')), pm),
Np.class)
- local k = ((Nq.xspc>=2) and (Np.xspc%2==1) and combine_spc('auto_xspc'))
+ local k = ((Nq.xspc>=2) and (Np.xspc%2==1) and combine_spc 'auto_xspc')
and get_xkanjiskip_low(false, pm, kn, kp, kh)
return g, k
end
@@ -997,12 +977,12 @@ local function get_NB_skip()
fast_find_char_class(
(Np.id == id_math and -1 or (Np.xspc%2==1 and 'alchar' or 'nox_alchar')), qm)
)
- local k = ((Nq.xspc>=2) and (Np.xspc%2==1) and combine_spc('auto_xspc'))
- and get_xkanjiskip_low(false, qm, kn, kp, kh)
+ local k = ((Nq.xspc>=2) and (Np.xspc%2==1) and combine_spc 'auto_xspc')
+ and get_xkanjiskip_low(false, qm, kn, kp, kh)
return g, k
end
-local function get_OA_skip(is_kanji)
+local function get_OA_skip(insert_ksp)
local pm = Np.met
local g, _, kn, kp, kh = new_jfm_glue(
pm.char_type,
@@ -1010,20 +990,20 @@ local function get_OA_skip(is_kanji)
(((Nq.id==id_glue)or(Nq.id==id_kern)) and 'glue' or 'jcharbdd'), pm),
Np.class)
local k
- if is_kanji==0 then
- k = combine_spc('auto_kspc') and get_kanjiskip_low(true, pm, kn, kp, kh)
+ if insert_ksp then
+ k = (combine_spc 'auto_kspc') and get_kanjiskip_low(true, pm, kn, kp, kh)
end
return g, k
end
-local function get_OB_skip(is_kanji)
+local function get_OB_skip(insert_ksp)
local qm = Nq.met
local g, _, kn, kp, kh = new_jfm_glue(
qm.char_type, Nq.class,
fast_find_char_class(
(((Np.id==id_glue)or(Np.id==id_kern)) and 'glue' or 'jcharbdd'), qm))
local k
- if is_kanji==0 then
- k = combine_spc('auto_kspc') and get_kanjiskip_low(true, qm, kn, kp, kh)
+ if insert_ksp then
+ k = (combine_spc 'auto_kspc') and get_kanjiskip_low(true, qm, kn, kp, kh)
end
return g, k
end
@@ -1039,7 +1019,7 @@ local function handle_np_jachar(mode)
real_insert(g); real_insert(k)
elseif Nq.met then -- qid==id_hlist
local g, k
- if non_ihb_flag then g, k = get_OA_skip(0) end -- O_A->K
+ if non_ihb_flag then g, k = get_OA_skip(true) end -- O_A->K
if not g then g = get_kanjiskip() end
handle_penalty_normal(0, Np.pre, g); real_insert(g); real_insert(k)
elseif Nq.pre then
@@ -1081,7 +1061,7 @@ end
local function handle_np_ja_hlist()
local qid = Nq.id
if qid==id_jglyph or ((qid==id_pbox or qid == id_pbox_w) and Nq.met) then
- local g = non_ihb_flag and get_OB_skip(0) or get_kanjiskip() -- O_B->K
+ local g = non_ihb_flag and get_OB_skip(true) or get_kanjiskip() -- O_B->K
handle_penalty_normal(Nq.post, 0, g); real_insert(g)
elseif Nq.met then -- Nq.id==id_hlist
local g = get_kanjiskip() -- K
@@ -1110,12 +1090,12 @@ do
[id_pbox] = function() after_hlist(Nq) end,
[id_disc] = function() after_hlist(Nq) end,
[id_pbox_w] = function()
- luatexbase.call_callback("luatexja.jfmglue.whatsit_after",
- false, Nq, Np)
- end,
+ luatexbase.call_callback("luatexja.jfmglue.whatsit_after",
+ false, Nq, Np)
+ end,
}
- adjust_nq=function()
+ adjust_nq = function()
local x = adjust_nq_aux[Nq.id]
if x then x() end
end
@@ -1133,15 +1113,15 @@ local function handle_list_tail(mode, last)
-- Insert \jcharwidowpenalty
if widow_Np.first then handle_penalty_jwp() end
else
- Np=Nq
+ Np = Nq
-- the current list is the contents of a hbox
local npi, pm = Np.id, Np.met
if npi == id_jglyph or (npi==id_pbox and pm) then
- local g = new_jfm_glue(pm.char_type, Np.class, fast_find_char_class('boxbdd', pm))
- if g then
- set_attr(g, attr_icflag, BOXBDD)
- head = insert_after(head, Np.last, g)
- end
+ local g = new_jfm_glue(pm.char_type, Np.class, fast_find_char_class('boxbdd', pm))
+ if g then
+ set_attr(g, attr_icflag, BOXBDD)
+ head = insert_after(head, Np.last, g)
+ end
end
end
end
@@ -1149,17 +1129,17 @@ end
-- リスト先頭の処理
local function handle_list_head(par_indented)
local npi, pm = Np.id, Np.met
- if npi == id_jglyph or (npi==id_pbox and pm) then
+ if npi == id_jglyph or (npi==id_pbox and pm) then
if non_ihb_flag then
- local g = new_jfm_glue(pm.char_type, fast_find_char_class(par_indented, pm), Np.class)
- if g then
- set_attr(g, attr_icflag, BOXBDD)
- if getid(g)==id_glue and #Bp==0 then
- local h = node_new(id_penalty)
- setfield(h, 'penalty', 10000); set_attr(h, attr_icflag, BOXBDD)
- end
- head = insert_before(head, Np.first, g)
- end
+ local g = new_jfm_glue(pm.char_type, fast_find_char_class(par_indented, pm), Np.class)
+ if g then
+ set_attr(g, attr_icflag, BOXBDD)
+ if getid(g)==id_glue and #Bp==0 then
+ local h = node_new(id_penalty)
+ setfield(h, 'penalty', 10000); set_attr(h, attr_icflag, BOXBDD)
+ end
+ head = insert_before(head, Np.first, g)
+ end
end
end
end
@@ -1168,7 +1148,7 @@ end
-- return value: (the initial cursor lp), (last node)
local init_var
do
- local id_local = node.id('local_par')
+ local id_local = node.id 'local_par'
local KANJI_SKIP = luatexja.icflag_table.KANJI_SKIP
local XKANJI_SKIP = luatexja.icflag_table.XKANJI_SKIP
local KSK = luatexja.stack_table_index.KSK
@@ -1180,16 +1160,16 @@ do
local table_pool = {
{}, {}, {first=nil},
{ auto_kspc=nil, auto_xspc=nil, char=nil, class=nil,
- first=nil, id=nil, last=nil, met=nil, nuc=nil,
- post=nil, pre=nil, xspc=nil, },
+ first=nil, id=nil, last=nil, met=nil, nuc=nil,
+ post=nil, pre=nil, xspc=nil, },
{ auto_kspc=nil, auto_xspc=nil, char=nil, class=nil,
- first=nil, id=nil, last=nil, met=nil, nuc=nil,
- post=nil, pre=nil, xspc=nil, },
+ first=nil, id=nil, last=nil, met=nil, nuc=nil,
+ post=nil, pre=nil, xspc=nil, },
}
init_var = function (mode,dir)
-- 1073741823: max_dimen
Bp, widow_Bp, widow_Np, Np, Nq
- = table_pool[1], table_pool[2], table_pool[3], table_pool[4], table_pool[5]
+ = table_pool[1], table_pool[2], table_pool[3], table_pool[4], table_pool[5]
for i=1,5 do for j,_ in pairs(table_pool[i]) do table_pool[i][j]=nil end end
table_current_stack = ltjs.table_current_stack
@@ -1202,31 +1182,31 @@ do
-- ithout this node, set_attr(kanji_skip, ...) somehow creates an "orphaned" attribute list.
do
- kanji_skip, kanjiskip_jfm_flag = skip_table_to_glue(KSK)
- set_attr(kanji_skip, attr_icflag, KANJI_SKIP)
+ kanji_skip, kanjiskip_jfm_flag = skip_table_to_glue(KSK)
+ set_attr(kanji_skip, attr_icflag, KANJI_SKIP)
end
do
- xkanji_skip, xkanjiskip_jfm_flag = skip_table_to_glue(XSK)
- set_attr(xkanji_skip, attr_icflag, XKANJI_SKIP)
+ xkanji_skip, xkanjiskip_jfm_flag = skip_table_to_glue(XSK)
+ set_attr(xkanji_skip, attr_icflag, XKANJI_SKIP)
end
if mode then
- -- the current list is to be line-breaked:
- -- hbox from \parindent is skipped.
- local lp, par_indented, lpi, lps = head, 'boxbdd', getid(head), getsubtype(head)
- while lp and
- ((lpi==id_whatsit and lps~=sid_user)
- or ((lpi==id_hlist) and (lps==3))
+ -- the current list is to be line-breaked:
+ -- hbox from \parindent is skipped.
+ local lp, par_indented, lpi, lps = head, 'boxbdd', getid(head), getsubtype(head)
+ while lp and
+ ((lpi==id_whatsit and lps~=sid_user)
+ or ((lpi==id_hlist) and (lps==3))
or (lpi==id_local)) do
- if (lpi==id_hlist) and (lps==3) then
+ if (lpi==id_hlist) and (lps==3) then
Np.char, par_indented = 'parbdd', 'parbdd'
Np.width = getfield(lp, 'width')
end
- lp=node_next(lp); lpi, lps = getid(lp), getsubtype(lp) end
- return lp, node_tail(head), par_indented, TEMP
+ lp=node_next(lp); lpi, lps = getid(lp), getsubtype(lp) end
+ return lp, node_tail(head), par_indented, TEMP
else
- return head, nil, 'boxbdd', TEMP
+ return head, nil, 'boxbdd', TEMP
end
end
end
@@ -1242,10 +1222,10 @@ local function cleanup(mode, TEMP)
if mode then
local h = node_next(head)
if getid(h) == id_penalty and getfield(h, 'penalty') == 10000 then
- h = node_next(h)
- if getid(h) == id_glue and getsubtype(h) == 15 and not node_next(h) then
- return false
- end
+ h = node_next(h)
+ if getid(h) == id_glue and getsubtype(h) == 15 and not node_next(h) then
+ return false
+ end
end
end
return head
@@ -1264,19 +1244,19 @@ function luatexja.jfmglue.main(ahead, mode, dir)
handle_list_head(par_indented)
lp = calc_np(last,lp);
while Np do
- adjust_nq();
- local pid, pm = Np.id, Np.met
- -- 挿入部
- if pid == id_jglyph then
- handle_np_jachar(mode)
- elseif pm then
- if pid==id_hlist then handle_np_ja_hlist()
- else handle_np_jachar() end
- elseif Nq.met then
- if Nq.id==id_hlist then handle_nq_ja_hlist()
- else handle_nq_jachar() end
- end
- lp = calc_np(last,lp)
+ adjust_nq();
+ local pid, pm = Np.id, Np.met
+ -- 挿入部
+ if pid == id_jglyph then
+ handle_np_jachar(mode)
+ elseif pm then
+ if pid==id_hlist then handle_np_ja_hlist()
+ else handle_np_jachar() end
+ elseif Nq.met then
+ if Nq.id==id_hlist then handle_nq_ja_hlist()
+ else handle_nq_jachar() end
+ end
+ lp = calc_np(last,lp)
end
handle_list_tail(mode, last)
end
@@ -1327,17 +1307,17 @@ do
Np.first = lp; Np.nuc = lp; Np.last = lp
return Np
elseif Np and getfield(lp, 'user_id') == BOXB then
- Np.first = lp; Np.nuc = lp; Np.last = lp
- if Nq then
- if Nq.met then
- Np.class = fast_find_char_class('boxbdd', Nq.met)
+ Np.first = lp; Np.nuc = lp; Np.last = lp
+ if Nq then
+ if Nq.met then
+ Np.class = fast_find_char_class('boxbdd', Nq.met)
end
Np.met = Nq.met; Np.pre = 0; Np.post = 0; Np.xspc = 0
Np.auto_xspc, Np.auto_kspc = 0, 0
- end
+ end
return Np
else
- return Np
+ return Np
end
end
@@ -1365,7 +1345,7 @@ do
Nq.auto_xspc, Nq.auto_kspc = 0, 0
end
head = node_remove(head, y)
- node_free(y)
+ node_free(y)
end
return s
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-jfont.lua b/macros/luatex/generic/luatexja/src/ltj-jfont.lua
index a15b7616bd..d1751af465 100644
--- a/macros/luatex/generic/luatexja/src/ltj-jfont.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-jfont.lua
@@ -3,15 +3,15 @@
--
luatexbase.provides_module({
name = 'luatexja.jfont',
- date = '2020-05-17',
+ date = '2020-07-30',
description = 'Loader for Japanese fonts',
})
-luatexja.load_module('lotf_aux'); local ltju = luatexja.lotf_aux
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('charrange'); local ltjc = luatexja.charrange
-luatexja.load_module('rmlgbm'); local ltjr = luatexja.rmlgbm
-luatexja.load_module('direction'); local ltjd = luatexja.direction
+luatexja.load_module 'lotf_aux'; local ltju = luatexja.lotf_aux
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'charrange'; local ltjc = luatexja.charrange
+luatexja.load_module 'rmlgbm'; local ltjr = luatexja.rmlgbm
+luatexja.load_module 'direction'; local ltjd = luatexja.direction
local setfield = node.direct.setfield
local getid = node.direct.getid
@@ -226,7 +226,7 @@ do
kanjiskip_stretch = w.kanjiskip_stretch,
kanjiskip_shrink = w.kanjiskip_shrink,
round_threshold = w.round_threshold,
- }
+ }
end
for k,w in pairs(v.kern) do
local g = node_new(id_kern, 1)
@@ -289,7 +289,7 @@ do
'no JFM specified',
'To load and define a Japanese font, a JFM must be specified.'..
"The JFM 'ujis' will be used for now.")
- jfm_file_name='ujis'
+ jfm_file_name = 'ujis'
end
for j,v in ipairs(metrics) do
if v.name==jfm_file_name then return j end
@@ -338,7 +338,7 @@ do
local fmtable = { jfm = j, size = f.size, var = jfm_var,
with_kanjiskip = jfm_ksp,
zw = sz.zw, zh = sz.zh,
- chars = sz.chars, char_type = sz.char_type,
+ chars = sz.chars, char_type = sz.char_type,
kanjiskip = sz.kanjiskip, xkanjiskip = sz.xkanjiskip,
chars_cbcache = {},
vert_activated = vert_activated,
@@ -347,9 +347,6 @@ do
ltju.enable_feature(fn, ltju.exist_feature(fn, 'vrt2') and 'vrt2' or 'vert')
end
- --texio.write_nl('term and log',
- --'JFNT\t' .. identifiers[fn].name .. '\t' .. identifiers[fn].size .. '\t' .. fn, '')
-
fmtable = luatexbase.call_callback("luatexja.define_jfont", fmtable, fn)
font_metric_table[fn]=fmtable
tex.sprint(cat_lp, global_flag, '\\protected\\expandafter\\def\\csname ',
@@ -381,15 +378,7 @@ do
-- extract jfm_file_name and jfm_var
-- normalize position of 'jfm=' and 'jfmvar=' keys
local function extract_metric(name)
- do
- local nametemp
- nametemp = name:match('^{(.*)}$')
- if nametemp then name = nametemp
- else
- nametemp = name:match('^"(.*)"$')
- name = nametemp or name
- end
- end
+ name = (name:match '^{(.*)}$') or (name:match '^"(.*)"$') or name
jfm_file_name = ''; jfm_var = ''; jfm_ksp = true
local tmp, index = name:sub(1, 5), 1
if tmp == 'file:' or tmp == 'name:' or tmp == 'psft:' then
@@ -404,16 +393,14 @@ do
if l~=q then
name = name:sub(1,index-1) .. name:sub(q+1)
else
- name = name:sub(1,index-1)
- index = nil
+ name = name:sub(1,index-1); index = nil
end
elseif name:sub(index, index+6)=='jfmvar=' and q>index+6 then
jfm_var = name:sub(index+7, q-1)
if l~=q then
name = name:sub(1,index-1) .. name:sub(q+1)
else
- name = name:sub(1,index-1)
- index = nil
+ name = name:sub(1,index-1); index = nil
end
else
index = (l~=q) and (q+1) or nil
@@ -432,9 +419,9 @@ do
jfm_ksp = not (x=='-')
end
if jfm_dir == 'tate' then
- vert_activated = (not name:match('[:;]%-vert')) and (not name:match('[:;]%-vrt2'))
+ vert_activated = (not name:match '[:;]%-vert') and (not name:match '[:;]%-vrt2')
auto_enable_vrt2
- = (not name:match('[:;][+%-]?vert')) and (not name:match('[:;][+%-]?vrt2'))
+ = (not name:match '[:;][+%-]?vert') and (not name:match '[:;][+%-]?vrt2')
else
vert_activated, auto_enable_vrt2 = nil, nil
end
@@ -672,18 +659,14 @@ do
-- EXT
function luatexja.jfont.output_alt_font_cmd(dir, bbase)
alt_font_base = bbase
- if dir == 't' then
- alt_font_base_num = tex.getattribute(attr_curtfnt)
- else
- alt_font_base_num = tex.getattribute(attr_curjfnt)
- end
+ alt_font_base_num = tex.getattribute((dir == 't') and attr_curtfnt or attr_curjfnt)
local t = alt_font_table[alt_font_base_num]
if t then
for i,_ in pairs(t) do t[i]=nil end
end
t = alt_font_table_latex[bbase]
if t then
- for i,_ in pairs(t) do
+ for i,_ in pairs(t) do
tex.sprint(cat_lp, '\\ltj@pickup@altfont@aux' .. dir .. '{' .. i .. '}')
end
end
@@ -762,9 +745,9 @@ local list_rotate_glyphs
do
local ceil = math.ceil
-- output of function_uax50.lua
- -- UAX#50 for Unicode 12.1.0
+ -- UAX#50 for Unicode 13.0.0
-- t[0] = true
- local t={ 0, 167, 168, 169, 170, 174, 175, 177, 178, 188, 191, 215, 216, 247, 248, 746, 748, 888, 890, 896, 900, 907, 908, 909, 910, 930, 931, 1328, 1329, 1367, 1369, 1419, 1421, 1424, 1425, 1480, 1488, 1515, 1519, 1525, 1536, 1565, 1566, 1806, 1807, 1867, 1869, 1970, 1984, 2043, 2045, 2094, 2096, 2111, 2112, 2140, 2142, 2143, 2144, 2155, 2208, 2229, 2230, 2238, 2259, 2436, 2437, 2445, 2447, 2449, 2451, 2473, 2474, 2481, 2482, 2483, 2486, 2490, 2492, 2501, 2503, 2505, 2507, 2511, 2519, 2520, 2524, 2526, 2527, 2532, 2534, 2559, 2561, 2564, 2565, 2571, 2575, 2577, 2579, 2601, 2602, 2609, 2610, 2612, 2613, 2615, 2616, 2618, 2620, 2621, 2622, 2627, 2631, 2633, 2635, 2638, 2641, 2642, 2649, 2653, 2654, 2655, 2662, 2679, 2689, 2692, 2693, 2702, 2703, 2706, 2707, 2729, 2730, 2737, 2738, 2740, 2741, 2746, 2748, 2758, 2759, 2762, 2763, 2766, 2768, 2769, 2784, 2788, 2790, 2802, 2809, 2816, 2817, 2820, 2821, 2829, 2831, 2833, 2835, 2857, 2858, 2865, 2866, 2868, 2869, 2874, 2876, 2885, 2887, 2889, 2891, 2894, 2902, 2904, 2908, 2910, 2911, 2916, 2918, 2936, 2946, 2948, 2949, 2955, 2958, 2961, 2962, 2966, 2969, 2971, 2972, 2973, 2974, 2976, 2979, 2981, 2984, 2987, 2990, 3002, 3006, 3011, 3014, 3017, 3018, 3022, 3024, 3025, 3031, 3032, 3046, 3067, 3072, 3085, 3086, 3089, 3090, 3113, 3114, 3130, 3133, 3141, 3142, 3145, 3146, 3150, 3157, 3159, 3160, 3163, 3168, 3172, 3174, 3184, 3191, 3213, 3214, 3217, 3218, 3241, 3242, 3252, 3253, 3258, 3260, 3269, 3270, 3273, 3274, 3278, 3285, 3287, 3294, 3295, 3296, 3300, 3302, 3312, 3313, 3315, 3328, 3332, 3333, 3341, 3342, 3345, 3346, 3397, 3398, 3401, 3402, 3408, 3412, 3428, 3430, 3456, 3458, 3460, 3461, 3479, 3482, 3506, 3507, 3516, 3517, 3518, 3520, 3527, 3530, 3531, 3535, 3541, 3542, 3543, 3544, 3552, 3558, 3568, 3570, 3573, 3585, 3643, 3647, 3676, 3713, 3715, 3716, 3717, 3718, 3723, 3724, 3748, 3749, 3750, 3751, 3774, 3776, 3781, 3782, 3783, 3784, 3790, 3792, 3802, 3804, 3808, 3840, 3912, 3913, 3949, 3953, 3992, 3993, 4029, 4030, 4045, 4046, 4059, 4096, 4294, 4295, 4296, 4301, 4302, 4304, 4352, 4608, 4681, 4682, 4686, 4688, 4695, 4696, 4697, 4698, 4702, 4704, 4745, 4746, 4750, 4752, 4785, 4786, 4790, 4792, 4799, 4800, 4801, 4802, 4806, 4808, 4823, 4824, 4881, 4882, 4886, 4888, 4955, 4957, 4989, 4992, 5018, 5024, 5110, 5112, 5118, 5120, 5121, 5760, 5789, 5792, 5881, 5888, 5901, 5902, 5909, 5920, 5943, 5952, 5972, 5984, 5997, 5998, 6001, 6002, 6004, 6016, 6110, 6112, 6122, 6128, 6138, 6144, 6159, 6160, 6170, 6176, 6265, 6272, 6315, 6400, 6431, 6432, 6444, 6448, 6460, 6464, 6465, 6468, 6510, 6512, 6517, 6528, 6572, 6576, 6602, 6608, 6619, 6622, 6684, 6686, 6751, 6752, 6781, 6783, 6794, 6800, 6810, 6816, 6830, 6832, 6847, 6912, 6988, 6992, 7037, 7040, 7156, 7164, 7224, 7227, 7242, 7245, 7305, 7312, 7355, 7357, 7368, 7376, 7419, 7424, 7674, 7675, 7958, 7960, 7966, 7968, 8006, 8008, 8014, 8016, 8024, 8025, 8026, 8027, 8028, 8029, 8030, 8031, 8062, 8064, 8117, 8118, 8133, 8134, 8148, 8150, 8156, 8157, 8176, 8178, 8181, 8182, 8191, 8192, 8214, 8215, 8224, 8226, 8240, 8242, 8251, 8253, 8258, 8259, 8263, 8266, 8273, 8274, 8293, 8294, 8306, 8308, 8335, 8336, 8349, 8352, 8384, 8400, 8413, 8417, 8418, 8421, 8433, 8450, 8451, 8458, 8463, 8464, 8467, 8469, 8470, 8472, 8478, 8484, 8485, 8486, 8487, 8488, 8489, 8490, 8494, 8495, 8501, 8512, 8517, 8523, 8524, 8526, 8527, 8586, 8588, 8592, 8734, 8735, 8756, 8758, 8960, 8968, 8972, 8992, 8996, 9001, 9003, 9004, 9085, 9115, 9150, 9166, 9167, 9168, 9169, 9180, 9186, 9251, 9252, 9472, 9632, 9754, 9760, 10088, 10102, 10132, 11026, 11056, 11088, 11098, 11124, 11126, 11158, 11160, 11192, 11218, 11219, 11244, 11248, 11264, 11311, 11312, 11359, 11360, 11508, 11513, 11558, 11559, 11560, 11565, 11566, 11568, 11624, 11631, 11633, 11647, 11671, 11680, 11687, 11688, 11695, 11696, 11703, 11704, 11711, 11712, 11719, 11720, 11727, 11728, 11735, 11736, 11743, 11744, 11856, 12296, 12306, 12308, 12320, 12336, 12337, 12448, 12449, 12540, 12541, 42192, 42540, 42560, 42744, 42752, 42944, 42946, 42951, 42999, 43052, 43056, 43066, 43072, 43128, 43136, 43206, 43214, 43226, 43232, 43348, 43359, 43360, 43392, 43470, 43471, 43482, 43486, 43519, 43520, 43575, 43584, 43598, 43600, 43610, 43612, 43715, 43739, 43767, 43777, 43783, 43785, 43791, 43793, 43799, 43808, 43815, 43816, 43823, 43824, 43880, 43888, 44014, 44016, 44026, 55296, 57344, 64256, 64263, 64275, 64280, 64285, 64311, 64312, 64317, 64318, 64319, 64320, 64322, 64323, 64325, 64326, 64450, 64467, 64832, 64848, 64912, 64914, 64968, 65008, 65022, 65024, 65040, 65056, 65072, 65097, 65104, 65112, 65119, 65123, 65127, 65136, 65141, 65142, 65277, 65279, 65280, 65288, 65290, 65293, 65294, 65306, 65311, 65339, 65340, 65341, 65342, 65343, 65344, 65371, 65471, 65474, 65480, 65482, 65488, 65490, 65496, 65498, 65501, 65507, 65508, 65512, 65519, 65529, 65532, 65536, 65548, 65549, 65575, 65576, 65595, 65596, 65598, 65599, 65614, 65616, 65630, 65664, 65787, 65792, 65795, 65799, 65844, 65847, 65935, 65936, 65948, 65952, 65953, 66000, 66046, 66176, 66205, 66208, 66257, 66272, 66300, 66304, 66340, 66349, 66379, 66384, 66427, 66432, 66462, 66463, 66500, 66504, 66518, 66560, 66718, 66720, 66730, 66736, 66772, 66776, 66812, 66816, 66856, 66864, 66916, 66927, 66928, 67072, 67383, 67392, 67414, 67424, 67432, 67584, 67590, 67592, 67593, 67594, 67638, 67639, 67641, 67644, 67645, 67647, 67670, 67671, 67743, 67751, 67760, 67808, 67827, 67828, 67830, 67835, 67868, 67871, 67898, 67903, 67904, 68000, 68024, 68028, 68048, 68050, 68100, 68101, 68103, 68108, 68116, 68117, 68120, 68121, 68150, 68152, 68155, 68159, 68169, 68176, 68185, 68192, 68256, 68288, 68327, 68331, 68343, 68352, 68406, 68409, 68438, 68440, 68467, 68472, 68498, 68505, 68509, 68521, 68528, 68608, 68681, 68736, 68787, 68800, 68851, 68858, 68904, 68912, 68922, 69216, 69247, 69376, 69416, 69424, 69466, 69600, 69623, 69632, 69710, 69714, 69744, 69759, 69826, 69837, 69838, 69840, 69865, 69872, 69882, 69888, 69941, 69942, 69959, 69968, 70007, 70016, 70094, 70096, 70112, 70113, 70133, 70144, 70162, 70163, 70207, 70272, 70279, 70280, 70281, 70282, 70286, 70287, 70302, 70303, 70314, 70320, 70379, 70384, 70394, 70400, 70404, 70405, 70413, 70415, 70417, 70419, 70441, 70442, 70449, 70450, 70452, 70453, 70458, 70459, 70469, 70471, 70473, 70475, 70478, 70480, 70481, 70487, 70488, 70493, 70500, 70502, 70509, 70512, 70517, 70656, 70746, 70747, 70748, 70749, 70752, 70784, 70856, 70864, 70874, 71168, 71237, 71248, 71258, 71264, 71277, 71296, 71353, 71360, 71370, 71424, 71451, 71453, 71468, 71472, 71488, 71680, 71740, 71840, 71923, 71935, 71936, 72096, 72104, 72106, 72152, 72154, 72165, 72384, 72441, 72704, 72713, 72714, 72759, 72760, 72774, 72784, 72813, 72816, 72848, 72850, 72872, 72873, 72887, 72960, 72967, 72968, 72970, 72971, 73015, 73018, 73019, 73020, 73022, 73023, 73032, 73040, 73050, 73056, 73062, 73063, 73065, 73066, 73103, 73104, 73106, 73107, 73113, 73120, 73130, 73440, 73465, 73664, 73714, 73727, 74650, 74752, 74863, 74864, 74869, 74880, 75076, 92160, 92729, 92736, 92767, 92768, 92778, 92782, 92784, 92880, 92910, 92912, 92918, 92928, 92998, 93008, 93018, 93019, 93026, 93027, 93048, 93053, 93072, 93760, 93851, 93952, 94027, 94031, 94088, 94095, 94112, 113664, 113771, 113776, 113789, 113792, 113801, 113808, 113818, 113820, 113828, 119296, 119366, 119808, 119893, 119894, 119965, 119966, 119968, 119970, 119971, 119973, 119975, 119977, 119981, 119982, 119994, 119995, 119996, 119997, 120004, 120005, 120070, 120071, 120075, 120077, 120085, 120086, 120093, 120094, 120122, 120123, 120127, 120128, 120133, 120134, 120135, 120138, 120145, 120146, 120486, 120488, 120780, 120782, 120832, 122880, 122887, 122888, 122905, 122907, 122914, 122915, 122917, 122918, 122923, 123136, 123181, 123184, 123198, 123200, 123210, 123214, 123216, 123584, 123642, 123647, 123648, 124928, 125125, 125127, 125143, 125184, 125260, 125264, 125274, 125278, 125280, 126065, 126133, 126209, 126270, 126464, 126468, 126469, 126496, 126497, 126499, 126500, 126501, 126503, 126504, 126505, 126515, 126516, 126520, 126521, 126522, 126523, 126524, 126530, 126531, 126535, 126536, 126537, 126538, 126539, 126540, 126541, 126544, 126545, 126547, 126548, 126549, 126551, 126552, 126553, 126554, 126555, 126556, 126557, 126558, 126559, 126560, 126561, 126563, 126564, 126565, 126567, 126571, 126572, 126579, 126580, 126584, 126585, 126589, 126590, 126591, 126592, 126602, 126603, 126620, 126625, 126628, 126629, 126634, 126635, 126652, 126704, 126706, 129024, 129036, 129040, 129096, 129104, 129114, 129120, 129160, 129168, 129198, 917505, 917506, 917536, 917632, 917760, 918000 }
+ local t={ 0, 167, 168, 169, 170, 174, 175, 177, 178, 188, 191, 215, 216, 247, 248, 746, 748, 888, 890, 896, 900, 907, 908, 909, 910, 930, 931, 1328, 1329, 1367, 1369, 1419, 1421, 1424, 1425, 1480, 1488, 1515, 1519, 1525, 1536, 1565, 1566, 1806, 1807, 1867, 1869, 1970, 1984, 2043, 2045, 2094, 2096, 2111, 2112, 2140, 2142, 2143, 2144, 2155, 2208, 2229, 2230, 2248, 2259, 2436, 2437, 2445, 2447, 2449, 2451, 2473, 2474, 2481, 2482, 2483, 2486, 2490, 2492, 2501, 2503, 2505, 2507, 2511, 2519, 2520, 2524, 2526, 2527, 2532, 2534, 2559, 2561, 2564, 2565, 2571, 2575, 2577, 2579, 2601, 2602, 2609, 2610, 2612, 2613, 2615, 2616, 2618, 2620, 2621, 2622, 2627, 2631, 2633, 2635, 2638, 2641, 2642, 2649, 2653, 2654, 2655, 2662, 2679, 2689, 2692, 2693, 2702, 2703, 2706, 2707, 2729, 2730, 2737, 2738, 2740, 2741, 2746, 2748, 2758, 2759, 2762, 2763, 2766, 2768, 2769, 2784, 2788, 2790, 2802, 2809, 2816, 2817, 2820, 2821, 2829, 2831, 2833, 2835, 2857, 2858, 2865, 2866, 2868, 2869, 2874, 2876, 2885, 2887, 2889, 2891, 2894, 2901, 2904, 2908, 2910, 2911, 2916, 2918, 2936, 2946, 2948, 2949, 2955, 2958, 2961, 2962, 2966, 2969, 2971, 2972, 2973, 2974, 2976, 2979, 2981, 2984, 2987, 2990, 3002, 3006, 3011, 3014, 3017, 3018, 3022, 3024, 3025, 3031, 3032, 3046, 3067, 3072, 3085, 3086, 3089, 3090, 3113, 3114, 3130, 3133, 3141, 3142, 3145, 3146, 3150, 3157, 3159, 3160, 3163, 3168, 3172, 3174, 3184, 3191, 3213, 3214, 3217, 3218, 3241, 3242, 3252, 3253, 3258, 3260, 3269, 3270, 3273, 3274, 3278, 3285, 3287, 3294, 3295, 3296, 3300, 3302, 3312, 3313, 3315, 3328, 3341, 3342, 3345, 3346, 3397, 3398, 3401, 3402, 3408, 3412, 3428, 3430, 3456, 3457, 3460, 3461, 3479, 3482, 3506, 3507, 3516, 3517, 3518, 3520, 3527, 3530, 3531, 3535, 3541, 3542, 3543, 3544, 3552, 3558, 3568, 3570, 3573, 3585, 3643, 3647, 3676, 3713, 3715, 3716, 3717, 3718, 3723, 3724, 3748, 3749, 3750, 3751, 3774, 3776, 3781, 3782, 3783, 3784, 3790, 3792, 3802, 3804, 3808, 3840, 3912, 3913, 3949, 3953, 3992, 3993, 4029, 4030, 4045, 4046, 4059, 4096, 4294, 4295, 4296, 4301, 4302, 4304, 4352, 4608, 4681, 4682, 4686, 4688, 4695, 4696, 4697, 4698, 4702, 4704, 4745, 4746, 4750, 4752, 4785, 4786, 4790, 4792, 4799, 4800, 4801, 4802, 4806, 4808, 4823, 4824, 4881, 4882, 4886, 4888, 4955, 4957, 4989, 4992, 5018, 5024, 5110, 5112, 5118, 5120, 5121, 5760, 5789, 5792, 5881, 5888, 5901, 5902, 5909, 5920, 5943, 5952, 5972, 5984, 5997, 5998, 6001, 6002, 6004, 6016, 6110, 6112, 6122, 6128, 6138, 6144, 6159, 6160, 6170, 6176, 6265, 6272, 6315, 6400, 6431, 6432, 6444, 6448, 6460, 6464, 6465, 6468, 6510, 6512, 6517, 6528, 6572, 6576, 6602, 6608, 6619, 6622, 6684, 6686, 6751, 6752, 6781, 6783, 6794, 6800, 6810, 6816, 6830, 6832, 6849, 6912, 6988, 6992, 7037, 7040, 7156, 7164, 7224, 7227, 7242, 7245, 7305, 7312, 7355, 7357, 7368, 7376, 7419, 7424, 7674, 7675, 7958, 7960, 7966, 7968, 8006, 8008, 8014, 8016, 8024, 8025, 8026, 8027, 8028, 8029, 8030, 8031, 8062, 8064, 8117, 8118, 8133, 8134, 8148, 8150, 8156, 8157, 8176, 8178, 8181, 8182, 8191, 8192, 8214, 8215, 8224, 8226, 8240, 8242, 8251, 8253, 8258, 8259, 8263, 8266, 8273, 8274, 8293, 8294, 8306, 8308, 8335, 8336, 8349, 8352, 8384, 8400, 8413, 8417, 8418, 8421, 8433, 8450, 8451, 8458, 8463, 8464, 8467, 8469, 8470, 8472, 8478, 8484, 8485, 8486, 8487, 8488, 8489, 8490, 8494, 8495, 8501, 8512, 8517, 8523, 8524, 8526, 8527, 8586, 8588, 8592, 8734, 8735, 8756, 8758, 8960, 8968, 8972, 8992, 8996, 9001, 9003, 9004, 9085, 9115, 9150, 9166, 9167, 9168, 9169, 9180, 9186, 9251, 9252, 9472, 9632, 9754, 9760, 10088, 10102, 10132, 11026, 11056, 11088, 11098, 11124, 11126, 11158, 11160, 11192, 11218, 11219, 11244, 11248, 11264, 11311, 11312, 11359, 11360, 11508, 11513, 11558, 11559, 11560, 11565, 11566, 11568, 11624, 11631, 11633, 11647, 11671, 11680, 11687, 11688, 11695, 11696, 11703, 11704, 11711, 11712, 11719, 11720, 11727, 11728, 11735, 11736, 11743, 11744, 11856, 11858, 11859, 12296, 12306, 12308, 12320, 12336, 12337, 12448, 12449, 12540, 12541, 42192, 42540, 42560, 42744, 42752, 42944, 42946, 42955, 42997, 43053, 43056, 43066, 43072, 43128, 43136, 43206, 43214, 43226, 43232, 43348, 43359, 43360, 43392, 43470, 43471, 43482, 43486, 43519, 43520, 43575, 43584, 43598, 43600, 43610, 43612, 43715, 43739, 43767, 43777, 43783, 43785, 43791, 43793, 43799, 43808, 43815, 43816, 43823, 43824, 43884, 43888, 44014, 44016, 44026, 55296, 57344, 64256, 64263, 64275, 64280, 64285, 64311, 64312, 64317, 64318, 64319, 64320, 64322, 64323, 64325, 64326, 64450, 64467, 64832, 64848, 64912, 64914, 64968, 65008, 65022, 65024, 65040, 65056, 65072, 65097, 65104, 65112, 65119, 65123, 65127, 65136, 65141, 65142, 65277, 65279, 65280, 65288, 65290, 65293, 65294, 65306, 65311, 65339, 65340, 65341, 65342, 65343, 65344, 65371, 65471, 65474, 65480, 65482, 65488, 65490, 65496, 65498, 65501, 65507, 65508, 65512, 65519, 65529, 65532, 65536, 65548, 65549, 65575, 65576, 65595, 65596, 65598, 65599, 65614, 65616, 65630, 65664, 65787, 65792, 65795, 65799, 65844, 65847, 65935, 65936, 65949, 65952, 65953, 66000, 66046, 66176, 66205, 66208, 66257, 66272, 66300, 66304, 66340, 66349, 66379, 66384, 66427, 66432, 66462, 66463, 66500, 66504, 66518, 66560, 66718, 66720, 66730, 66736, 66772, 66776, 66812, 66816, 66856, 66864, 66916, 66927, 66928, 67072, 67383, 67392, 67414, 67424, 67432, 67584, 67590, 67592, 67593, 67594, 67638, 67639, 67641, 67644, 67645, 67647, 67670, 67671, 67743, 67751, 67760, 67808, 67827, 67828, 67830, 67835, 67868, 67871, 67898, 67903, 67904, 68000, 68024, 68028, 68048, 68050, 68100, 68101, 68103, 68108, 68116, 68117, 68120, 68121, 68150, 68152, 68155, 68159, 68169, 68176, 68185, 68192, 68256, 68288, 68327, 68331, 68343, 68352, 68406, 68409, 68438, 68440, 68467, 68472, 68498, 68505, 68509, 68521, 68528, 68608, 68681, 68736, 68787, 68800, 68851, 68858, 68904, 68912, 68922, 69216, 69247, 69248, 69290, 69291, 69294, 69296, 69298, 69376, 69416, 69424, 69466, 69552, 69580, 69600, 69623, 69632, 69710, 69714, 69744, 69759, 69826, 69837, 69838, 69840, 69865, 69872, 69882, 69888, 69941, 69942, 69960, 69968, 70007, 70016, 70112, 70113, 70133, 70144, 70162, 70163, 70207, 70272, 70279, 70280, 70281, 70282, 70286, 70287, 70302, 70303, 70314, 70320, 70379, 70384, 70394, 70400, 70404, 70405, 70413, 70415, 70417, 70419, 70441, 70442, 70449, 70450, 70452, 70453, 70458, 70459, 70469, 70471, 70473, 70475, 70478, 70480, 70481, 70487, 70488, 70493, 70500, 70502, 70509, 70512, 70517, 70656, 70748, 70749, 70754, 70784, 70856, 70864, 70874, 71168, 71237, 71248, 71258, 71264, 71277, 71296, 71353, 71360, 71370, 71424, 71451, 71453, 71468, 71472, 71488, 71680, 71740, 71840, 71923, 71935, 71943, 71945, 71946, 71948, 71956, 71957, 71959, 71960, 71990, 71991, 71993, 71995, 72007, 72016, 72026, 72096, 72104, 72106, 72152, 72154, 72165, 72384, 72441, 72704, 72713, 72714, 72759, 72760, 72774, 72784, 72813, 72816, 72848, 72850, 72872, 72873, 72887, 72960, 72967, 72968, 72970, 72971, 73015, 73018, 73019, 73020, 73022, 73023, 73032, 73040, 73050, 73056, 73062, 73063, 73065, 73066, 73103, 73104, 73106, 73107, 73113, 73120, 73130, 73440, 73465, 73648, 73649, 73664, 73714, 73727, 74650, 74752, 74863, 74864, 74869, 74880, 75076, 92160, 92729, 92736, 92767, 92768, 92778, 92782, 92784, 92880, 92910, 92912, 92918, 92928, 92998, 93008, 93018, 93019, 93026, 93027, 93048, 93053, 93072, 93760, 93851, 93952, 94027, 94031, 94088, 94095, 94112, 113664, 113771, 113776, 113789, 113792, 113801, 113808, 113818, 113820, 113828, 119296, 119366, 119808, 119893, 119894, 119965, 119966, 119968, 119970, 119971, 119973, 119975, 119977, 119981, 119982, 119994, 119995, 119996, 119997, 120004, 120005, 120070, 120071, 120075, 120077, 120085, 120086, 120093, 120094, 120122, 120123, 120127, 120128, 120133, 120134, 120135, 120138, 120145, 120146, 120486, 120488, 120780, 120782, 120832, 122880, 122887, 122888, 122905, 122907, 122914, 122915, 122917, 122918, 122923, 123136, 123181, 123184, 123198, 123200, 123210, 123214, 123216, 123584, 123642, 123647, 123648, 124928, 125125, 125127, 125143, 125184, 125260, 125264, 125274, 125278, 125280, 126065, 126133, 126209, 126270, 126464, 126468, 126469, 126496, 126497, 126499, 126500, 126501, 126503, 126504, 126505, 126515, 126516, 126520, 126521, 126522, 126523, 126524, 126530, 126531, 126535, 126536, 126537, 126538, 126539, 126540, 126541, 126544, 126545, 126547, 126548, 126549, 126551, 126552, 126553, 126554, 126555, 126556, 126557, 126558, 126559, 126560, 126561, 126563, 126564, 126565, 126567, 126571, 126572, 126579, 126580, 126584, 126585, 126589, 126590, 126591, 126592, 126602, 126603, 126620, 126625, 126628, 126629, 126634, 126635, 126652, 126704, 126706, 129024, 129036, 129040, 129096, 129104, 129114, 129120, 129160, 129168, 129198, 129200, 129202, 129792, 129939, 129940, 129995, 130032, 130042, 917505, 917506, 917536, 917632, 917760, 918000 }
local function rotate_in_uax50(i)
local lo, hi = 1, #t
while lo < hi do
@@ -808,15 +791,44 @@ do
end
do
+ local cache_ver = 22
local nameonly, lower = file.nameonly, string.lower
+ local lfs = require"lfs"
+ local file_attributes = lfs.attributes
+ local load_cache, save_cache = ltjb.load_cache, ltjb.save_cache
local function prepare_extra_data_base(tfmdata)
if (not tfmdata) or (not tfmdata.filename) then return end
local bname = tfmdata.psname or nameonly(tfmdata.filename)
if not font_extra_basename[bname] then
- ltjb.remove_cache("extra_" .. lower(bname)) -- remove cache
- local dest = ltju.get_vmet_table(tfmdata, dest)
- dest = list_rotate_glyphs(tfmdata, dest)
- font_extra_basename[bname] = dest or {}
+ -- if the cache is present, read it
+ --
+ local newtime = file_attributes(tfmdata.filename,"modification")
+ local v = "extra_" .. string.lower(bname)
+ local dest = load_cache(
+ v,
+ function (t)
+ return (t.lotf_version~=luaotfload.version)
+ or (t.version~=cache_ver) or (t.modtime~=newtime)
+ end
+ )
+ -- if the cache is not found or outdated, save the cache
+ if dest then
+ font_extra_basename[bname] = dest[1] or {}
+ local vheight, vorigin = dest[1].vheight, dest[1].vorigin
+ local vhd, vod = vheight.default, vorigin.default
+ setmetatable(vheight, {__index = function () return vhd end } )
+ setmetatable(vorigin, {__index = function () return vod end } )
+ else
+ local dest = ltju.get_vmet_table(tfmdata, nil)
+ dest = list_rotate_glyphs(tfmdata, dest)
+ font_extra_basename[bname] = dest or {}
+ save_cache(v,
+ { modtime = newtime,
+ version = cache_ver,
+ lotf_version = luaotfload.version,
+ dest,
+ })
+ end
return bname
end
end
@@ -825,14 +837,14 @@ do
local bname = res.psname or nameonly(res.filename)
local t = font_extra_basename[bname]
if not t then bname = prepare_extra_data_base(res) end
- font_extra_info[id] = t or font_extra_basename[bname]
+ font_extra_info[id] = t or font_extra_basename[bname]
end
end
luatexbase.add_to_callback(
'luaotfload.patch_font',
function (tfmdata)
- -- these function is executed one time per one fontfile
- prepare_extra_data_base(tfmdata); return tfmdata
+ -- these function is executed one time per one fontfile
+ prepare_extra_data_base(tfmdata); return tfmdata
end,
'ltj.prepare_extra_data', 1)
luatexbase.add_to_callback(
@@ -893,7 +905,7 @@ luatexbase.add_to_callback(
local t = font_getfont(fnum)
if not t then return fmtable end
for i,v in pairs(vert_form_table) do
- if t.characters[v] then vform[i] = v end
+ if t.characters[v] then vform[i] = v end
end
if ltju.specified_feature(fnum, 'jpotf') then
for i,v in pairs(vert_jpotf_table) do
@@ -902,7 +914,7 @@ luatexbase.add_to_callback(
end
if not ltju.exist_feature(fnum, 'vert') and not ltju.exist_feature(fnum, 'vrt2') then
-- 現在の (script, lang) で vert もvrt2 も有効にできない場合,
- -- 全 (script,lang) の vert を強制的に適用
+ -- 全 (script,lang) の vert を強制的に適用
ltju.loop_over_feat(t, vert_feat, function (i,k) vform[i] = vform[i] or k end, true)
end
-- vform の中身を vert 適用結果に変える
@@ -910,7 +922,7 @@ luatexbase.add_to_callback(
function (i,k)
for j,w in pairs(vform) do
if (i==j)and(w==k) then vform[j]=nil elseif w==i then vform[j] = k end
- end
+ end
end)
return fmtable
end, 'ltj.get_vert_form', 1
@@ -929,8 +941,8 @@ do
if cidinfo and cidinfo.registry and cidinfo.ordering then
local rd = ltjr_prepare_cid_font(cidinfo.registry, cidinfo.ordering)
if rd then
- local ru = rd.resources.unicodes -- defined by LuaTeX-ja
- local rc = rd.characters
+ local ru = rd.resources.unicodes -- defined by LuaTeX-ja
+ local rc = rd.characters
for i,v in pairs(tfmdata.characters) do
local w = ru[cidinfo.ordering .. "." .. tostring(v.index)]
if w then
diff --git a/macros/luatex/generic/luatexja/src/ltj-latex.sty b/macros/luatex/generic/luatexja/src/ltj-latex.sty
index 8af066eee6..ca774fe8cd 100644
--- a/macros/luatex/generic/luatexja/src/ltj-latex.sty
+++ b/macros/luatex/generic/luatexja/src/ltj-latex.sty
@@ -83,6 +83,7 @@
\ltj@pkgpatch@im{unicode-math}
\ltj@pkgpatch@im{siunitx}
\ltj@pkgpatch@im{microtype}
+\ltj@pkgpatch@im{everyshi}
\RequirePackage{lltjp-geometry}
diff --git a/macros/luatex/generic/luatexja/src/ltj-lineskip.lua b/macros/luatex/generic/luatexja/src/ltj-lineskip.lua
index f5c439e559..1fc6f7b2d3 100644
--- a/macros/luatex/generic/luatexja/src/ltj-lineskip.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-lineskip.lua
@@ -1,15 +1,15 @@
--
-- ltj-lineskip.lua
--
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('direction'); local ltjd = luatexja.direction
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'direction'; local ltjd = luatexja.direction
luatexja.lineskip = luatexja.lineskip or {}
local to_direct = node.direct.todirect
local ltjl = luatexja.lineskip
-local id_glue = node.id('glue')
-local id_penalty = node.id('penalty')
-local id_hlist = node.id('hlist')
+local id_glue = node.id 'glue'
+local id_penalty = node.id 'penalty'
+local id_hlist = node.id 'hlist'
local setfield = node.direct.setfield
local getfield = node.direct.getfield
local getlist = node.direct.getlist
@@ -46,71 +46,66 @@ function ltjl.setting(profiler, skip_method)
end
do
- local traverse_id = node.direct.traverse_id
- local function adjust_glue(nh)
- local h = to_direct(nh)
- local bw = tex.baselineskip.width
- for x in traverse_id(id_glue, h) do
- local xs = getsubtype(x)
- if (xs==1) or (xs==2) then
- local p, n = node_prev(x), node_next(x)
- if p then
- local pid = getid(p)
- while (id_glue<=pid) and (pid<=id_penalty) and node_prev(p) do
- p = node_prev(p); pid = getid(p)
- end
- if pid==id_hlist and getid(n)==id_hlist then
- local normal = bw - getfield(p, 'depth') - getfield(n, 'height')
- local lmin, adj = ltj_profiler(p, n, false, bw)
- ltj_skip(lmin or normal, x, adj, normal, bw)
- end
+local traverse_id = node.direct.traverse_id
+local function adjust_glue(nh)
+ local h = to_direct(nh)
+ local bw = tex.baselineskip.width
+ for x in traverse_id(id_glue, h) do
+ local xs = getsubtype(x)
+ if (xs==1) or (xs==2) then
+ local p, n = node_prev(x), node_next(x)
+ if p then
+ local pid = getid(p)
+ while (id_glue<=pid) and (pid<=id_penalty) and node_prev(p) do
+ p = node_prev(p); pid = getid(p)
+ end
+ if pid==id_hlist and getid(n)==id_hlist then
+ local normal = bw - getfield(p, 'depth') - getfield(n, 'height')
+ local lmin, adj = ltj_profiler(p, n, false, bw)
+ ltj_skip(lmin or normal, x, adj, normal, bw)
end
end
- end
- return true
+ end
end
- ltjb.add_to_callback('post_linebreak_filter',
- adjust_glue, 'ltj.lineskip', 10000)
+ return true
+end
+ltjb.add_to_callback('post_linebreak_filter', adjust_glue, 'ltj.lineskip', 10000)
end
do
- local p_dummy = ltjl.p_dummy
- local make_dir_whatsit = luatexja.direction.make_dir_whatsit
- local get_dir_count = luatexja.direction.get_dir_count
- local node_write = node.direct.write
+local p_dummy = ltjl.p_dummy
+local make_dir_whatsit = luatexja.direction.make_dir_whatsit
+local get_dir_count = luatexja.direction.get_dir_count
+local node_write = node.direct.write
- local function dir_adjust_append_vlist(b, loc, prev, mirrored)
- local old_b = to_direct(b)
- local new_b = loc=='box' and
- make_dir_whatsit(old_b, old_b, get_dir_count(), 'append_vlist') or old_b
- if prev > -65536000 then
- local bw = tex.baselineskip.width
- local normal = bw - prev
- - getfield(new_b, mirrored and 'depth' or 'height')
- local lmin, adj = nil, 0
- local tail = to_direct(tex.nest[tex.nest.ptr].tail)
- if p_dummy~=ltj_profiler then
- while tail and (id_glue<=getid(tail)) and (getid(tail)<=id_penalty) do
- tail = node_prev(tail)
+local function dir_adjust_append_vlist(b, loc, prev, mirrored)
+ local old_b = to_direct(b)
+ local new_b = loc=='box' and
+ make_dir_whatsit(old_b, old_b, get_dir_count(), 'append_vlist') or old_b
+ if prev > -65536000 then
+ local bw = tex.baselineskip.width
+ local normal = bw - prev - getfield(new_b, mirrored and 'depth' or 'height')
+ local lmin, adj = nil, 0
+ local tail = to_direct(tex.nest[tex.nest.ptr].tail)
+ if p_dummy~=ltj_profiler then
+ while tail and (id_glue<=getid(tail)) and (getid(tail)<=id_penalty) do
+ tail = node_prev(tail)
+ end
+ end
+ if tail then
+ if getid(tail)==id_hlist and getid(new_b)==id_hlist then
+ if getfield(tail, 'depth')==prev then
+ lmin, adj = ltj_profiler(tail, new_b, mirrored, bw)
end
end
- if tail then
- if getid(tail)==id_hlist and getid(new_b)==id_hlist then
- if getfield(tail, 'depth')==prev then
- lmin, adj = ltj_profiler(tail, new_b, mirrored, bw)
- end
- end
- end
- local g = node_new(id_glue)
- ltj_skip(lmin or normal, g, adj, normal, bw, loc)
- node_write(g)
end
- node_write(new_b)
- tex.prevdepth = getfield(new_b, mirrored and 'height' or 'depth')
- return nil -- do nothing on tex side
+ local g = node_new(id_glue)
+ ltj_skip(lmin or normal, g, adj, normal, bw, loc); node_write(g)
end
- ltjb.add_to_callback('append_to_vlist_filter',
- dir_adjust_append_vlist,
- 'ltj.lineskip', 10000)
+ node_write(new_b)
+ tex.prevdepth = getfield(new_b, mirrored and 'height' or 'depth')
+ return nil -- do nothing on tex side
+end
+ltjb.add_to_callback('append_to_vlist_filter', dir_adjust_append_vlist, 'ltj.lineskip', 10000)
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua b/macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
index 2efafc06ed..bd3a602e64 100644
--- a/macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
@@ -102,8 +102,11 @@ local function get_vmet_table(tfmdata, dest)
if v.vheight~=default_vheight then t_vheight[i] = v.vheight / units end
end
end
- setmetatable(t_vheight, {__index = function () return default_vheight / units end } )
- setmetatable(t_vorigin, {__index = function () return ascender / units end } )
+ local vhd, vod = default_vheight / units, ascender/units
+ t_vheight.default = vhd
+ t_vorigin.default = vod
+ setmetatable(t_vheight, {__index = function () return vhd end } )
+ setmetatable(t_vorigin, {__index = function () return vod end } )
dest = dest or {}
dest.ind_to_uni = t_ind_to_uni
dest.vorigin = t_vorigin -- designed size = 1.0
diff --git a/macros/luatex/generic/luatexja/src/ltj-math.lua b/macros/luatex/generic/luatexja/src/ltj-math.lua
index b6ef1a9dd3..2a7c0444c7 100644
--- a/macros/luatex/generic/luatexja/src/ltj-math.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-math.lua
@@ -2,12 +2,12 @@
-- ltj-math.lua
--
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('direction'); local ltjd = luatexja.direction
-luatexja.load_module('charrange'); local ltjc = luatexja.charrange
-luatexja.load_module('jfont'); local ltjf = luatexja.jfont
-luatexja.load_module('stack'); local ltjs = luatexja.stack
-luatexja.load_module('setwidth'); local ltjw = luatexja.setwidth
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'direction'; local ltjd = luatexja.direction
+luatexja.load_module 'charrange'; local ltjc = luatexja.charrange
+luatexja.load_module 'jfont'; local ltjf = luatexja.jfont
+luatexja.load_module 'stack'; local ltjs = luatexja.stack
+luatexja.load_module 'setwidth'; local ltjw = luatexja.setwidth
local setfield = node.direct.setfield
local getfield = node.direct.getfield
@@ -36,20 +36,20 @@ local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
local attr_jfam = luatexbase.attributes['jfam']
local attr_yablshift = luatexbase.attributes['ltj@yablshift']
-local id_glyph = node.id('glyph')
-local id_hlist = node.id('hlist')
-local id_vlist = node.id('vlist')
-local id_mchar = node.id('math_char')
-local id_sub_box = node.id('sub_box')
-local id_radical = node.id('radical')
-local id_choice = node.id('choice')
-local id_accent = node.id('accent')
-local id_style = node.id('style')
-local id_frac = node.id('fraction')
-local id_simple = node.id('noad')
-local id_sub_mlist = node.id('sub_mlist')
-local id_whatsit = node.id('whatsit')
-local sid_user = node.subtype('user_defined')
+local id_glyph = node.id 'glyph'
+local id_hlist = node.id 'hlist'
+local id_vlist = node.id 'vlist'
+local id_mchar = node.id 'math_char'
+local id_sub_box = node.id 'sub_box'
+local id_radical = node.id 'radical'
+local id_choice = node.id 'choice'
+local id_accent = node.id 'accent'
+local id_style = node.id 'style'
+local id_frac = node.id 'fraction'
+local id_simple = node.id 'noad'
+local id_sub_mlist = node.id 'sub_mlist'
+local id_whatsit = node.id 'whatsit'
+local sid_user = node.subtype 'user_defined'
local DIR = luatexja.userid_table.DIR
local dir_node_auto = luatexja.dir_table.dir_node_auto
@@ -66,56 +66,54 @@ local list_dir
-- vcenter noad は軸に揃えるため,欧文ベースライン補正がかかる
local function conv_vcenter(sb)
- local h = getfield(sb, 'head');local hd = getlist(h)
- if getid(hd)==id_whatsit and
- getsubtype(hd)==sid_user and getfield(hd, 'user_id')==DIR then
+ local h = getfield(sb, 'head'); local hd = getlist(h)
+ if getid(hd)==id_whatsit and getsubtype(hd)==sid_user
+ and getfield(hd, 'user_id')==DIR then
local d = node_next(hd)
if getid(d)==id_vlist and has_attr(d, attr_dir)>=dir_node_auto then
- node_free(hd); setfield(h, 'head', nil); node_free(h)
- setfield(sb, 'head', d); set_attr(d, attr_icflag, 0)
+ node_free(hd); setfield(h, 'head', nil); node_free(h)
+ setfield(sb, 'head', d); set_attr(d, attr_icflag, 0)
end
end
return sb
end
-local conv_jchar_to_hbox_A
-
+local cjhh_A
-- sty : 0 (display or text), 1 (script), >=2 (scriptscript)
local function conv_jchar_to_hbox(head, sty)
for p in node_traverse(head) do
local pid = getid(p)
if pid == id_simple or pid == id_accent then
- if getsubtype(p)==12 then
- conv_vcenter(getfield(p, 'nucleus'))
- else
- setfield(p, 'nucleus', conv_jchar_to_hbox_A(getfield(p, 'nucleus'), sty))
- end
- setfield(p, 'sub', conv_jchar_to_hbox_A(getfield(p, 'sub'), sty+1))
- setfield(p, 'sup', conv_jchar_to_hbox_A(getfield(p, 'sup'), sty+1))
+ if getsubtype(p)==12 then
+ conv_vcenter(getfield(p, 'nucleus'))
+ else
+ setfield(p, 'nucleus', cjh_A(getfield(p, 'nucleus'), sty))
+ end
+ setfield(p, 'sub', cjh_A(getfield(p, 'sub'), sty+1))
+ setfield(p, 'sup', cjh_A(getfield(p, 'sup'), sty+1))
elseif pid == id_choice then
- setfield(p, 'display', conv_jchar_to_hbox_A(getfield(p, 'display'), 0))
- setfield(p, 'text', conv_jchar_to_hbox_A(getfield(p, 'text'), 0))
- setfield(p, 'script', conv_jchar_to_hbox_A(getfield(p, 'script'), 1))
- setfield(p, 'scriptscript', conv_jchar_to_hbox_A(getfield(p, 'scriptscript'), 2))
+ setfield(p, 'display', cjh_A(getfield(p, 'display'), 0))
+ setfield(p, 'text', cjh_A(getfield(p, 'text'), 0))
+ setfield(p, 'script', cjh_A(getfield(p, 'script'), 1))
+ setfield(p, 'scriptscript', cjh_A(getfield(p, 'scriptscript'), 2))
elseif pid == id_frac then
- setfield(p, 'num', conv_jchar_to_hbox_A(getfield(p, 'num'), sty+1))
- setfield(p, 'denom', conv_jchar_to_hbox_A(getfield(p, 'denom'), sty+1))
+ setfield(p, 'num', cjh_A(getfield(p, 'num'), sty+1))
+ setfield(p, 'denom', cjh_A(getfield(p, 'denom'), sty+1))
elseif pid == id_radical then
- setfield(p, 'nucleus', conv_jchar_to_hbox_A(getfield(p, 'nucleus'), sty))
- setfield(p, 'sub', conv_jchar_to_hbox_A(getfield(p, 'sub'), sty+1))
- setfield(p, 'sup', conv_jchar_to_hbox_A(getfield(p, 'sup'), sty+1))
- if getfield(p, 'degree') then
- setfield(p, 'degree', conv_jchar_to_hbox_A(getfield(p, 'degree'), sty + 1))
- end
+ setfield(p, 'nucleus', cjh_A(getfield(p, 'nucleus'), sty))
+ setfield(p, 'sub', cjh_A(getfield(p, 'sub'), sty+1))
+ setfield(p, 'sup', cjh_A(getfield(p, 'sup'), sty+1))
+ if getfield(p, 'degree') then
+ setfield(p, 'degree', cjh_A(getfield(p, 'degree'), sty + 1))
+ end
elseif pid == id_style then
- local ps = getfield(p, 'style')
- if ps == "display'" or ps == 'display'
- or ps == "text'" or ps == 'text' then
- sty = 0
- elseif ps == "script'" or ps == 'script' then
- sty = 1
- else sty = 2
- end
+ local ps = getfield(p, 'style')
+ if ps == "display'" or ps == 'display' or ps == "text'" or ps == 'text' then
+ sty = 0
+ elseif ps == "script'" or ps == 'script' then
+ sty = 1
+ else sty = 2
+ end
end
end
return head
@@ -127,8 +125,7 @@ local MJSS = luatexja.stack_table_index.MJSS
local capsule_glyph_math = ltjw.capsule_glyph_math
local is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char_direct
-conv_jchar_to_hbox_A =
-function (p, sty)
+cjh_A = function (p, sty)
if not p then return nil
else
local pid = getid(p)
@@ -137,29 +134,24 @@ function (p, sty)
setfield(p, 'head', conv_jchar_to_hbox(getfield(p, 'head'), sty))
end
elseif pid == id_mchar then
- local fam = has_attr(p, attr_jfam) or -1
- local pc = getchar(p)
+ local pc, fam = getchar (p), has_attr(p, attr_jfam) or -1
if (not is_math_letters[pc]) and is_ucs_in_japanese_char(p) and fam>=0 then
local f = ltjs.get_stack_table(MJT + 0x100 * sty + fam, -1, tex_getcount('ltj@@stack'))
if f ~= -1 then
local q = node_new(id_sub_box)
local r = node_new(id_glyph); setfield(r, 'next', nil)
setfield(r, 'char', pc); setfield(r, 'font', f); setfield(r, 'subtype', 256)
- local k = has_attr(r,attr_ykblshift) or 0
- set_attr(r, attr_ykblshift, 0)
+ local k = has_attr(r,attr_ykblshift) or 0; set_attr(r, attr_ykblshift, 0)
-- ltj-setwidth 内で実際の位置補正はおこなうので,補正量を退避
local met = ltjf_font_metric_table[f]
r = capsule_glyph_math(r, met, met.char_type[ltjf_find_char_class(pc, met)]);
- setfield(q, 'head', r); node_free(p); p=q;
- set_attr(r, attr_yablshift, k)
+ setfield(q, 'head', r); node_free(p); p=q; set_attr(r, attr_yablshift, k)
end
end
elseif pid == id_sub_box and getfield(p, 'head') then
-- \hbox で直に与えられた内容は上下位置を補正する必要はない
- local h = getfield(p, 'head')
- h = ltjd_make_dir_whatsit(h, h, list_dir, 'math')
- setfield(p, 'head', h)
- set_attr(h, attr_icflag, PROCESSED)
+ local h = getfield(p, 'head'); h = ltjd_make_dir_whatsit(h, h, list_dir, 'math')
+ setfield(p, 'head', h); set_attr(h, attr_icflag, PROCESSED)
end
end
return p
@@ -168,8 +160,7 @@ end
do
local function mlist_callback_ltja(n)
local n = to_direct(n); list_dir = ltjd_get_dir_count()
- if getid(n)==id_whatsit and getsubtype(n)==sid_user and
- getfield(n, 'user_id') == DIR then
+ if getid(n)==id_whatsit and getsubtype(n)==sid_user and getfield(n, 'user_id') == DIR then
local old_n = n; n = node_remove(n, n)
node_free(old_n); if not n then return nil end
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-otf.lua b/macros/luatex/generic/luatexja/src/ltj-otf.lua
index f0088944c2..56c0154e34 100644
--- a/macros/luatex/generic/luatexja/src/ltj-otf.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-otf.lua
@@ -1,20 +1,20 @@
--
-- ltj-otf.lua
--
-require('unicode')
-require('lualibs')
+require 'unicode'
+require 'lualibs'
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('jfont'); local ltjf = luatexja.jfont
-luatexja.load_module('rmlgbm'); local ltjr = luatexja.rmlgbm
-luatexja.load_module('charrange'); local ltjc = luatexja.charrange
-luatexja.load_module('direction'); local ltjd = luatexja.direction
-luatexja.load_module('stack'); local ltjs = luatexja.stack
-luatexja.load_module('lotf_aux'); local ltju = luatexja.lotf_aux
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'jfont'; local ltjf = luatexja.jfont
+luatexja.load_module 'rmlgbm'; local ltjr = luatexja.rmlgbm
+luatexja.load_module 'charrange'; local ltjc = luatexja.charrange
+luatexja.load_module 'direction'; local ltjd = luatexja.direction
+luatexja.load_module 'stack'; local ltjs = luatexja.stack
+luatexja.load_module 'lotf_aux'; local ltju = luatexja.lotf_aux
-local id_glyph = node.id('glyph')
-local id_whatsit = node.id('whatsit')
-local sid_user = node.subtype('user_defined')
+local id_glyph = node.id 'glyph'
+local id_whatsit = node.id 'whatsit'
+local sid_user = node.subtype 'user_defined'
local setfield = node.direct.setfield
local getfield = node.direct.getfield
@@ -22,10 +22,8 @@ local getid = node.direct.getid
local getfont = node.direct.getfont
local getchar = node.direct.getchar
local getsubtype = node.direct.getsubtype
-
local to_node = node.direct.tonode
local to_direct = node.direct.todirect
-
local node_new = node.direct.new
local node_remove = node.direct.remove
local node_next = node.direct.getnext
@@ -37,7 +35,6 @@ local node_insert_after = node.direct.insert_after
local node_write = node.direct.write
local node_traverse_id = node.direct.traverse_id
-
local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
local attr_curtfnt = luatexbase.attributes['ltj@curtfnt']
local attr_yablshift = luatexbase.attributes['ltj@yablshift']
@@ -59,9 +56,9 @@ luatexja.userid_table.OTF = luatexbase.newuserwhatsitid('char_by_cid', 'luatexj
local OTF = luatexja.userid_table.OTF
local tex_get_attr = tex.getattribute
-local cache_var = 2
-local cache_outdate_fn = function (t) return t.version~=cache_ver end
-local ivd_aj1 = ltjb.load_cache('ltj-ivd_aj1',cache_outdate_fn)
+local cache_ver = 3
+local ivd_aj1 = ltjb.load_cache('ltj-ivd_aj1',
+ function (t) return t.version~=cache_ver end)
if not ivd_aj1 then -- make cache
ivd_aj1 = require('ltj-ivd_aj1.lua')
ltjb.save_cache_luc('ltj-ivd_aj1', ivd_aj1)
@@ -73,13 +70,12 @@ local function get_ucs_from_rmlgbm(c)
or ltjr_cidfont_data["Adobe-Japan1"].resources.unicodes["Japan1." .. tostring(c)])
or 0
if v>=0x200000 then -- table
- local curjfnt = tex_get_attr((ltjd_get_dir_count()==dir_tate)
- and attr_curtfnt or attr_curjfnt)
+ local curjfnt = tex_get_attr(
+ (ltjd_get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt)
local tfmdata = font_getfont(curjfnt)
if tfmdata and tfmdata.resources then
local base, ivs = v % 0x200000, 0xE00FF + math.floor(v/0x200000)
- curjfnt = tfmdata.resources.variants
- curjfnt = curjfnt and curjfnt[ivs]
+ curjfnt = tfmdata.resources.variants; curjfnt = curjfnt and curjfnt[ivs]
return curjfnt and curjfnt[base] or base
else return base
end
@@ -110,7 +106,7 @@ local function get_ucs_from_rmlgbm(c)
-- CID が縦組用字形だった場合
return ltju.replace_vert_variant(
tex_get_attr((ltjd_get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt),
- r)
+ r)
end
return r
end
@@ -120,10 +116,8 @@ end
-- This whatsit node will be extracted to a glyph_node
local function append_jglyph(char)
local p = node_new(id_whatsit,sid_user)
- setfield(p, 'user_id', OTF)
- setfield(p, 'type', 100)
- setfield(p, 'value', char)
- node_write(p)
+ setfield(p, 'user_id', OTF); setfield(p, 'type', 100)
+ setfield(p, 'value', char); node_write(p)
end
local utf
@@ -132,7 +126,7 @@ do
if ltjd_get_dir_count()==dir_tate then
ucs = ltju.replace_vert_variant(
tex_get_attr((ltjd_get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt),
- ucs)
+ ucs)
end
return append_jglyph(ucs)
end
@@ -140,21 +134,19 @@ end
local cid
do
+ local ord = {
+ ['Japan1']=true, ['GB1']=true, ['CNS1']=true, ['Korea1']=true, ['KR']=true
+ }
cid = function (key)
if key==0 then return append_jglyph(0) end
- local curjfnt = tex_get_attr((ltjd_get_dir_count()==dir_tate)
- and attr_curtfnt or attr_curjfnt)
+ local curjfnt = tex_get_attr(
+ (ltjd_get_dir_count()==dir_tate) and attr_curtfnt or attr_curjfnt)
local cidinfo = ltju.get_cidinfo(curjfnt)
- if type(cidinfo)~="table" or
- cidinfo.ordering ~= "Japan1" and
- cidinfo.ordering ~= "GB1" and
- cidinfo.ordering ~= "CNS1" and
- cidinfo.ordering ~= "Korea1" and
- cidinfo.ordering ~= "KR" then
+ if type(cidinfo)~="table" or not ord[cidinfo.ordering] then
return append_jglyph(get_ucs_from_rmlgbm(key))
else
- local char = ltjf_font_extra_info[curjfnt].ind_to_uni[key] or 0
- return append_jglyph(char)
+ local char = ltjf_font_extra_info[curjfnt].ind_to_uni[key] or 0
+ return append_jglyph(char)
end
end
end
@@ -171,17 +163,12 @@ local function extract(head)
if getsubtype(p)==sid_user then
local puid = getfield(p, 'user_id')
if puid==OTF then
- --if puid==OTF or puid==VSR then
local g = node_new(id_glyph)
setfield(g, 'subtype', 0)
- setfield(g, 'char', getfield(p, 'value'))
- local v = has_attr(p, attr_curfnt); setfield(g, 'font',v)
- --if puid==OTF then
- setfield(g, 'lang', lang_ja)
- set_attr(g, attr_kblshift, has_attr(p, attr_kblshift))
- --else
- -- set_attr(g, attr_ablshift, has_attr(p, attr_ablshift))
- --end
+ setfield(g, 'char', getfield(p, 'value'))
+ local v = has_attr(p, attr_curfnt); setfield(g, 'font', v)
+ setfield(g, 'lang', lang_ja)
+ set_attr(g, attr_kblshift, has_attr(p, attr_kblshift))
head = node_insert_after(head, p, g)
head = node_remove(head, p)
node_free(p); p = g
@@ -208,20 +195,20 @@ local function ind_to_uni(fmtable, fn)
local t = ltjf_font_extra_info[fn]; t = t and t.ind_to_uni
if t and cid.ordering == "Japan1" then
for i, v in pairs(fmtable.chars) do
- local j = string.match(i, "^AJ1%-([0-9]*)")
- if j then
- j = t[i]
- if j then
- fmtable.cid_char_type = fmtable.cid_char_type or {}
- fmtable.cid_char_type[j] = v
- end
- end
+ local j = string.match(i, "^AJ1%-([0-9]*)")
+ if j then
+ j = t[i]
+ if j then
+ fmtable.cid_char_type = fmtable.cid_char_type or {}
+ fmtable.cid_char_type[j] = v
+ end
+ end
end
end
return fmtable
end
luatexbase.add_to_callback("luatexja.define_jfont",
- ind_to_uni, "ltj.otf.define_jfont", 1)
+ ind_to_uni, "ltj.otf.define_jfont", 1)
-- 既に読み込まれているフォントに対しても,同じことをやらないといけない
for fn, v in pairs(ltjf_font_metric_table) do
ltjf_font_metric_table[fn] = ind_to_uni(v, fn)
@@ -236,19 +223,18 @@ local function cid_set_char_class(arg, fmtable, char)
end
end
luatexbase.add_to_callback("luatexja.find_char_class",
- cid_set_char_class, "ltj.otf.find_char_class", 1)
+ cid_set_char_class, "ltj.otf.find_char_class", 1)
--IVS
local function enable_ivs()
ltjb.package_warning('luatexja-otf',
- 'luatexja.otf.enable_ivs() has now no effect.')
+ 'luatexja.otf.enable_ivs() has now no effect.')
end
local disable_ivs = enable_ivs
luatexja.otf = {
append_jglyph = append_jglyph,
- enable_ivs = enable_ivs, -- 隠し機能: IVS
- disable_ivs = disable_ivs, -- 隠し機能: IVS
+ enable_ivs = enable_ivs, disable_ivs = disable_ivs,
cid = cid, utf = utf,
}
diff --git a/macros/luatex/generic/luatexja/src/ltj-pretreat.lua b/macros/luatex/generic/luatexja/src/ltj-pretreat.lua
index 695749ddf6..073cc1ee39 100644
--- a/macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-pretreat.lua
@@ -2,11 +2,11 @@
-- ltj-pretreat.lua
--
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('charrange'); local ltjc = luatexja.charrange
-luatexja.load_module('stack'); local ltjs = luatexja.stack
-luatexja.load_module('jfont'); local ltjf = luatexja.jfont
-luatexja.load_module('direction'); local ltjd = luatexja.direction
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'charrange'; local ltjc = luatexja.charrange
+luatexja.load_module 'stack'; local ltjs = luatexja.stack
+luatexja.load_module 'jfont'; local ltjf = luatexja.jfont
+luatexja.load_module 'direction'; local ltjd = luatexja.direction
local to_node = node.direct.tonode
local to_direct = node.direct.todirect
@@ -67,25 +67,23 @@ do
local suppress_hyphenate_ja_aux = {
[id_math] = function(p) return node_next(node_end_of_math(node_next(p))) end,
[id_whatsit] = function(p)
- if getsubtype(p)==sid_user then
- local uid = getfield(p, 'user_id')
- if uid==STCK then
- wt[#wt+1] = p; node_remove(head, p)
- elseif uid==DIR then
- if has_attr(p, attr_icflag)<PROCESSED_BEGIN_FLAG then
- ltjs.list_dir = has_attr(p, attr_dir)
- else -- こっちのケースは通常使用では起こらない
- wtd[#wtd+1] = p; node_remove(head, p)
- end
- end
- end
- return node_next(p)
+ if getsubtype(p)==sid_user then
+ local uid = getfield(p, 'user_id')
+ if uid==STCK then
+ wt[#wt+1] = p; node_remove(head, p)
+ elseif uid==DIR then
+ if has_attr(p, attr_icflag)<PROCESSED_BEGIN_FLAG then
+ ltjs.list_dir = has_attr(p, attr_dir)
+ else -- こっちのケースは通常使用では起こらない
+ wtd[#wtd+1] = p; node_remove(head, p)
+ end
+ end
+ end
+ return node_next(p)
end,
}
setmetatable(suppress_hyphenate_ja_aux,
- {
- __index = function() return node_next end,
- })
+ { __index = function() return node_next end, })
local id_boundary = node.id('boundary')
local node_new, insert_before = node.direct.new, node.direct.insert_before
local setsubtype = node.direct.setsubtype or function(n,l) setfield(n,'subtype',l) end
@@ -95,37 +93,37 @@ do
for i = 1,#wt do wt[i]=nil end
for i = 1,#wtd do wtd[i]=nil end
for i,_ in pairs(ltjs_orig_char_table) do
- ltjs_orig_char_table[i] = nil
+ ltjs_orig_char_table[i] = nil
end
ltjs.list_dir=ltjd_get_dir_count()
do
- local p = head
- while p do
- local pid, prev_chartype = getid(p), 0
- -- prev_chartype: 0: not char 1: ALchar 2: JAchar
- while pid==id_glyph do
- local pc = getchar(p)
- if has_attr(p, attr_icflag, 0) and is_ucs_in_japanese_char(p, pc) then
- if prev_chartype==1 then
+ local p = head
+ while p do
+ local pid, prev_chartype = getid(p), 0
+ -- prev_chartype: 0: not char 1: ALchar 2: JAchar
+ while pid==id_glyph do
+ local pc = getchar(p)
+ if has_attr(p, attr_icflag, 0) and is_ucs_in_japanese_char(p, pc) then
+ if prev_chartype==1 then
local b = node_new(id_whatsit,sid_user);
- setfield(b, 'type', 100); setfield(b, 'user_id', JA_AL_BDD);
- insert_before(head, p, b)
- end
+ setfield(b, 'type', 100); setfield(b, 'user_id', JA_AL_BDD);
+ insert_before(head, p, b)
+ end
local pf = has_attr(p, attr_curjfnt)
pf = (pf and pf>0 and pf) or getfont(p)
- setfont(p, ltjf_replace_altfont(pf, pc))
- setlang(p, lang_ja)
- ltjs_orig_char_table[p], prev_chartype = pc, 2
+ setfont(p, ltjf_replace_altfont(pf, pc))
+ setlang(p, lang_ja)
+ ltjs_orig_char_table[p], prev_chartype = pc, 2
elseif prev_chartype==2 then
- local b = node_new(id_whatsit,sid_user);
- setfield(b, 'type', 100); setfield(b, 'user_id', JA_AL_BDD);
- insert_before(head, p, b); prev_chartype = 1
+ local b = node_new(id_whatsit,sid_user);
+ setfield(b, 'type', 100); setfield(b, 'user_id', JA_AL_BDD);
+ insert_before(head, p, b); prev_chartype = 1
else prev_chartype = 1
- end
- p = node_next(p); pid = getid(p)
- end
- p = (suppress_hyphenate_ja_aux[pid])(p)
- end
+ end
+ p = node_next(p); pid = getid(p)
+ end
+ p = (suppress_hyphenate_ja_aux[pid])(p)
+ end
end
stop_time_measure('ltj_hyphenate'); start_time_measure('tex_hyphenate')
lang.hyphenate(h, nil)
@@ -133,10 +131,7 @@ do
return h
end
- ltjb.add_to_callback('hyphenate',
- function (head,tail)
- return suppress_hyphenate_ja(head)
- end,'ltj.hyphenate')
+ ltjb.add_to_callback('hyphenate', suppress_hyphenate_ja, 'ltj.hyphenate')
end
-- mode: true iff this function is called from hpack_filter
@@ -153,20 +148,17 @@ local function set_box_stack_level(head, mode)
for _,p in pairs(wt) do node_free(p) end
end
ltjs_report_stack_level(tex_getcount('ltj@@stack') + box_set)
- for _,p in pairs(wtd) do
- node_free(p)
- end
+ for _,p in pairs(wtd) do node_free(p) end
if ltjs.list_dir == dir_tate then
for p in node.direct.traverse_id(id_glyph,to_direct(head)) do
if has_attr(p, attr_icflag, 0) and getlang(p)==lang_ja then
- local nf = ltjf_replace_altfont( has_attr(p, attr_curtfnt) or getfont(p) , ltjs_orig_char_table[p])
- setfont(p, nf)
- if ltjf_font_metric_table[nf].vert_activated then
- local pc = getchar(p)
- pc = ltjf_font_metric_table[nf].vform[pc]
+ local nf = ltjf_replace_altfont( has_attr(p, attr_curtfnt) or getfont(p) , ltjs_orig_char_table[p])
+ setfont(p, nf)
+ if ltjf_font_metric_table[nf].vert_activated then
+ local pc = getchar(p); pc = ltjf_font_metric_table[nf].vform[pc]
if pc then setchar(p, pc) end
- end
- end
+ end
+ end
end
end
return head
@@ -176,11 +168,11 @@ end
ltjb.add_to_callback('hpack_filter',
function (head)
return set_box_stack_level(head, true)
- end,'ltj.set_stack_level',1)
+ end, 'ltj.set_stack_level', 1)
ltjb.add_to_callback('pre_linebreak_filter',
- function (head)
- return set_box_stack_level(head, false)
- end,'ltj.set_stack_level',1)
+ function (head)
+ return set_box_stack_level(head, false)
+ end, 'ltj.set_stack_level', 1)
luatexja.pretreat = {
set_box_stack_level = set_box_stack_level,
diff --git a/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua b/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
index bd3110fd7f..53f5b0136a 100644
--- a/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
@@ -5,52 +5,52 @@ luatexja.load_module('base'); local ltjb = luatexja.base
local cidfont_data = {}
local cache_chars = {}
-local cache_ver = 9
+local cache_ver = 10
local identifiers = fonts.hashes.identifiers
local cid_reg, cid_order, cid_supp, cid_name
local cid_replace = {
["Adobe-Japan1"] = {"UniJIS2004-UTF32", 23059, 7,
- function (i)
- if (231<=i and i<=632) or (8718<=i and i<=8719)
- or (12063<=i and i<=12087) then
- return 327680 -- 655360/2
- elseif 9758<=i and i<=9778 then
- return 218453 -- 655360/3
- elseif 9738<=i and i<=9757 then
- return 163840 -- 655360/4
- end
- end},
+ function (i)
+ if (231<=i and i<=632) or (8718<=i and i<=8719)
+ or (12063<=i and i<=12087) then
+ return 327680 -- 655360/2
+ elseif 9758<=i and i<=9778 then
+ return 218453 -- 655360/3
+ elseif 9738<=i and i<=9757 then
+ return 163840 -- 655360/4
+ end
+ end},
-- 基本的には JIS X 0213:2004 に沿ったマッピング
["Adobe-Korea1"] = {"UniKS-UTF32", 18351, 2,
- function (i)
- if 8094<=i and i<=8100 then
- return 327680 -- 655360/2
- end
- end},
+ function (i)
+ if 8094<=i and i<=8100 then
+ return 327680 -- 655360/2
+ end
+ end},
["Adobe-GB1"] = {"UniGB-UTF32", 30283, 5,
- function (i)
- if (814<=i and i<=939) or (i==7716)
- or (22355<=i and i<=22357) then
- return 327680 -- 655360/2
- end
- end},
+ function (i)
+ if (814<=i and i<=939) or (i==7716)
+ or (22355<=i and i<=22357) then
+ return 327680 -- 655360/2
+ end
+ end},
["Adobe-CNS1"] = {"UniCNS-UTF32", 19178, 7,
- function (i)
- if (13648<=i and i<=13742) or (i==17603) then
- return 327680 -- 655360/2
- end
- end},
+ function (i)
+ if (13648<=i and i<=13742) or (i==17603) then
+ return 327680 -- 655360/2
+ end
+ end},
["Adobe-KR"] = {"UniAKR-UTF32", 22896, 9,
- function (i)
- if i==3057 then
- return 655360*2
- elseif i==3058 then
- return 655360*3
- elseif i==12235 or i==12236 then
- return 163840 -- 655360/4
- end
- end},
+ function (i)
+ if i==3057 then
+ return 655360*2
+ elseif i==3058 then
+ return 655360*3
+ elseif i==12235 or i==12236 then
+ return 163840 -- 655360/4
+ end
+ end},
}
-- reading CID maps
@@ -85,7 +85,7 @@ do
else -- WMA l is in the form "<%x+>%s+<%x+>"
bucs, eucs, cid = string.match(line, "<(%x+)>%s+<(%x+)>%s+<?(%x+)>?")
cid = cid_dec(cid);
- bucs = tonumber(bucs, 16); eucs = tonumber(eucs, 16)
+ bucs = tonumber(bucs, 16); eucs = tonumber(eucs, 16)
for ucs = bucs, eucs do
if not tt[ucs] then
tt[ucs] = mke(cid); cidm[cid]=ucs
@@ -133,12 +133,12 @@ do
cidinfo = { ordering=cid_order, registry=cid_reg, supplement=kx[3] },
encodingbytes = 2, extend=1000, format = 'opentype',
direction = 0, characters = {}, parameters = {
- ascender = 655360*0.88,
- descender = 655360*0.12,
- },
- embedding = "no", cache = "yes", factor = 0, hfactor = 0, vfactor = 0,
- tounicode = 1,
- properties = { language = "dflt", script = "dflt" },
+ ascender = 655360*0.88,
+ descender = 655360*0.12,
+ },
+ embedding = "no", cache = "yes", factor = 0, hfactor = 0, vfactor = 0,
+ tounicode = 1,
+ properties = { language = "dflt", script = "dflt" },
}
cidfont_data[cid_name] = k
@@ -155,7 +155,7 @@ do
for i,v in ipairs(cidmo) do
if v==-1 then
tth[pricode], cidmo[i], pricode
- = { index = i }, pricode, pricode+1;
+ = { index = i }, pricode, pricode+1;
end
ttu[cid_order .. '.' .. i] = cidmo[i]
end
@@ -171,12 +171,10 @@ do
}
k.resources = {
unicodes = ttu,
- features = feat_dummy_vert,
- sequences = seq_dummy_vert,
+ features = feat_dummy_vert,
+ sequences = seq_dummy_vert,
}
k.descriptions = {}
- k.shared.rawdata.resources=k.resources
- k.shared.rawdata.descriptions=k.descriptions
cache_chars[cid_name] = { [655360] = k.characters }
-- 縦書用字形
@@ -185,39 +183,38 @@ do
for i = 0,kx[2] do cidm[i] = -1 end
open_cmap_file(kx[1] .. "-V", increment, tonumber, entry)
for i,v in pairs(tt) do
- ttv[i] = cidmo[v.index] -- "unicode" of vertical variant
+ ttv[i] = cidmo[v.index] -- "unicode" of vertical variant
end
-- tounicode エントリ
local cidp = {nil, nil}; tt, ttu, cidm = {}, {}, {}
open_cmap_file(cid_name .. "-UCS2",
- function(a)
- a[2] = a[2] +1 ; return a
- end,
- function(a)
- cidp[1] = string.upper(string.sub(a,1,string.len(a)-4))
- cidp[2] = tonumber(string.sub(a,-4),16)
- return cidp
- end,
- function(a) return a[1] ..string.format('%04X',a[2]) end)
+ function(a)
+ a[2] = a[2] +1 ; return a
+ end,
+ function(a)
+ cidp[1] = string.upper(string.sub(a,1,string.len(a)-4))
+ cidp[2] = tonumber(string.sub(a,-4),16)
+ return cidp
+ end,
+ function(a) return a[1] ..string.format('%04X',a[2]) end)
-- tt は cid -> tounicode になっているので cidm -> tounicode に変換
local kxf = kx[4]
for i,v in ipairs(cidmo) do
- k.characters[v].width = kxf(i)
- if v>=0xF0000 then
- k.characters[v].tounicode = tt[i]
- end
+ k.characters[v].width = kxf(i)
+ if v>=0xF0000 then
+ k.characters[v].tounicode = tt[i]
+ end
end
-- Save
if k and k.characters and k.characters[46] then
k.characters[46].width = math.floor(655360/14);
end
- ltjb.save_cache( "ltj-cid-auto-" .. string.lower(cid_name),
- {
- version = cache_ver,
- k,
- })
+ ltjb.save_cache("ltj-cid-auto-" .. string.lower(cid_name),
+ {version = cache_ver, k})
+ k.shared.rawdata.resources=k.resources
+ k.shared.rawdata.descriptions=k.descriptions
end
end
@@ -235,11 +232,11 @@ do
function (head, fnum)
local fontdata = font_getfont(fnum)
if head and luatexja.jfont.font_metric_table[fnum].vert_activated then
- local vt = fontdata.ltj_vert_table
- local nh = is_node(head) and to_direct(head) or head
+ local vt = fontdata.ltj_vert_table
+ local nh = is_node(head) and to_direct(head) or head
for n in traverse_id(id_glyph, head) do
if getfont(n)==fnum then
- local c = getchar(n); setchar(n, vt[c] or c)
+ local c = getchar(n); setchar(n, vt[c] or c)
end
end
return head, false
@@ -251,8 +248,10 @@ end
local function cid_cache_outdated(t) return t.version~=cache_ver end
local function read_cid_font()
local dat = ltjb.load_cache("ltj-cid-auto-" .. string.lower(cid_name),
- cid_cache_outdated )
+ cid_cache_outdated)
if dat then
+ dat[1].shared.rawdata.resources=dat[1].resources
+ dat[1].shared.rawdata.descriptions=dat[1].descriptions
cidfont_data[cid_name] = dat[1]
cache_chars[cid_name] = { [655360] = cidfont_data[cid_name].characters }
else
@@ -305,7 +304,7 @@ local function mk_rml(name, size, id)
cachedata.shared = {}
local shared = cachedata.shared
for k, v in pairs(s.shared) do
- shared[k] = v
+ shared[k] = v
end
end
@@ -318,13 +317,13 @@ local function mk_rml(name, size, id)
-- character's default height (optimized for jfm-ujis.lua)
local def_depth = 0.12 * size -- and depth.
if not cache_chars[cid_name][size] then
- cache_chars[cid_name][size] = {}
- for k, v in pairs(cache_chars[cid_name][655360]) do
- cache_chars[cid_name][size][k] = {
- index = v.index, width = v.width * scale,
- height = def_height, depth = def_depth, tounicode = v.tounicode,
- }
- end
+ cache_chars[cid_name][size] = {}
+ for k, v in pairs(cache_chars[cid_name][655360]) do
+ cache_chars[cid_name][size][k] = {
+ index = v.index, width = v.width * scale,
+ height = def_height, depth = def_depth, tounicode = v.tounicode,
+ }
+ end
end
fontdata.characters = cache_chars[cid_name][size]
cachedata.characters = cache_chars[cid_name][size]
@@ -333,15 +332,9 @@ local function mk_rml(name, size, id)
-- other parameters
do
local parameters = {}
- for k, v in pairs(s.parameters) do
- parameters[k] = v * scale
- end
- fontdata.parameters = parameters
- fontdata.size = size
- fontdata.resources = s.resources
- cachedata.parameters = parameters
- cachedata.size = size
- cachedata.resources = s.resources
+ for k, v in pairs(s.parameters) do parameters[k] = v * scale end
+ fontdata.parameters = parameters; fontdata.size = size; fontdata.resources = s.resources
+ cachedata.parameters = parameters; cachedata.size = size; cachedata.resources = s.resources
end
-- no embedding
@@ -373,31 +366,31 @@ local function font_callback(name, size, id, fallback)
local p = basename:find(":")
local q = basename:find("/[BI][BI]?")
if q and p and q<=p then
- basename = basename:gsub('/[BI][BI]?', '', 1)
- p = basename:find(":")
+ basename = basename:gsub('/[BI][BI]?', '', 1)
+ p = basename:find(":")
end
if p then
- local xname = basename:sub(p+1)
- p = 1
- while p do
- local q = xname:find(";", p+1) or xname:len()+1
- if xname:sub(p, p+3)=='cid=' and q>p+4 then
- s = xname:sub(p+4, q-1)
- end
- if xname:len()+1==q then p = nil else p = q + 1 end
- end
+ local xname = basename:sub(p+1)
+ p = 1
+ while p do
+ local q = xname:find(";", p+1) or xname:len()+1
+ if xname:sub(p, p+3)=='cid=' and q>p+4 then
+ s = xname:sub(p+4, q-1)
+ end
+ if xname:len()+1==q then p = nil else p = q + 1 end
+ end
end
cid_reg, cid_order = string.match(s, "^(.-)%-(.-)%-(%d-)$")
if not cid_reg then
cid_reg, cid_order = string.match(s, "^(.-)%-(.-)$")
end
if not prepare_cid_font(cid_reg, cid_order) then
- ltjb.package_error('luatexja',
- "bad cid key `" .. s .. "'",
- "I couldn't find any non-embedded font information for the CID\n" ..
- '`' .. s .. "'. For now, I'll use `Adobe-Japan1-6'.\n"..
- 'Please contact the LuaTeX-ja project team.')
- cid_name = "Adobe-Japan1"
+ ltjb.package_error('luatexja',
+ "bad cid key `" .. s .. "'",
+ "I couldn't find any non-embedded font information for the CID\n" ..
+ '`' .. s .. "'. For now, I'll use `Adobe-Japan1-6'.\n"..
+ 'Please contact the LuaTeX-ja project team.')
+ cid_name = "Adobe-Japan1"
end
return mk_rml(basename, size, id)
else
diff --git a/macros/luatex/generic/luatexja/src/ltj-ruby.lua b/macros/luatex/generic/luatexja/src/ltj-ruby.lua
index 060b3226ad..865e301f30 100644
--- a/macros/luatex/generic/luatexja/src/ltj-ruby.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-ruby.lua
@@ -3,12 +3,12 @@
--
luatexbase.provides_module({
name = 'luatexja.ruby',
- date = '2018/09/29',
+ date = '2020-07-30',
description = 'Ruby annotation',
})
luatexja.ruby = {}
-luatexja.load_module('stack'); local ltjs = luatexja.stack
-luatexja.load_module('base'); local ltjb = luatexja.base
+luatexja.load_module 'stack'; local ltjs = luatexja.stack
+luatexja.load_module 'base'; local ltjb = luatexja.base
local to_node = node.direct.tonode
local to_direct = node.direct.todirect
@@ -29,14 +29,14 @@ local node_copy, node_free, node_tail = node.direct.copy, node.direct.free, node
local has_attr, set_attr = node.direct.has_attribute, node.direct.set_attribute
local insert_before, insert_after = node.direct.insert_before, node.direct.insert_after
-local id_hlist = node.id('hlist')
-local id_vlist = node.id('vlist')
-local id_rule = node.id('rule')
-local id_whatsit = node.id('whatsit')
-local id_glue = node.id('glue')
-local id_kern = node.id('kern')
-local id_penalty = node.id('penalty')
-local sid_user = node.subtype('user_defined')
+local id_hlist = node.id 'hlist'
+local id_vlist = node.id 'vlist'
+local id_rule = node.id 'rule'
+local id_whatsit= node.id 'whatsit'
+local id_glue = node.id 'glue'
+local id_kern = node.id 'kern'
+local id_penalty= node.id 'penalty'
+local sid_user = node.subtype 'user_defined'
local ltjs_get_stack_table = luatexja.stack.get_stack_table
local id_pbox_w = 258 -- cluster which consists of a whatsit
@@ -86,20 +86,20 @@ local function gauss(coef)
local deg = #coef
for i = 1, deg do
if coef[i][i]==0 then
- for j = i+1, deg do
- if coef[j][i]~=0 then
+ for j = i+1, deg do
+ if coef[j][i]~=0 then
coef[i], coef[j] = coef[j], coef[i]; break
- end
- end
+ end
+ end
end
for j = 1,deg do
- local d = coef[i][i];
- if j~=i then
- local e = coef[j][i]
- for k = 1, deg+1 do coef[j][k] = coef[j][k] - e*coef[i][k]/d end
- else
- for k = 1, deg+1 do coef[i][k] = coef[i][k]/d end
- end
+ local d = coef[i][i];
+ if j~=i then
+ local e = coef[j][i]
+ for k = 1, deg+1 do coef[j][k] = coef[j][k] - e*coef[i][k]/d end
+ else
+ for k = 1, deg+1 do coef[i][k] = coef[i][k]/d end
+ end
end
end
end
@@ -150,33 +150,33 @@ do
end
function concat(f, b)
if f then
- if b then
- local h, nh = getlist(f), getlist(b)
- if getid(nh)==id_whatsit and getsubtype(nh)==sid_user then
- nh=node_next(nh); node_free(node_prev(nh))
- end
+ if b then
+ local h, nh = getlist(f), getlist(b)
+ if getid(nh)==id_whatsit and getsubtype(nh)==sid_user then
+ nh=node_next(nh); node_free(node_prev(nh))
+ end
set_attr(nh, attr_icflag,
- get_attr_icflag(nh) + PROCESSED_BEGIN_FLAG)
- setfield(node_tail(h), 'next', nh)
- setfield(f, 'head', nil); node_free(f)
- setfield(b, 'head', nil); node_free(b)
- local g = luatexja.jfmglue.main(h,false)
- return node.direct.hpack(g)
- else
- return f
- end
+ get_attr_icflag(nh) + PROCESSED_BEGIN_FLAG)
+ setfield(node_tail(h), 'next', nh)
+ setfield(f, 'head', nil); node_free(f)
+ setfield(b, 'head', nil); node_free(b)
+ local g = luatexja.jfmglue.main(h,false)
+ return node.direct.hpack(g)
+ else
+ return f
+ end
elseif b then
- return b
+ return b
else
- local h = node_new(id_hlist)
- setfield(h, 'subtype', 0)
- setfield(h, 'width', 0)
- setfield(h, 'height', 0)
- setfield(h, 'depth', 0)
- setfield(h, 'glue_set', 0)
- setfield(h, 'glue_order', 0)
- setfield(h, 'head', nil)
- return h
+ local h = node_new(id_hlist)
+ setfield(h, 'subtype', 0)
+ setfield(h, 'width', 0)
+ setfield(h, 'height', 0)
+ setfield(h, 'depth', 0)
+ setfield(h, 'glue_set', 0)
+ setfield(h, 'glue_order', 0)
+ setfield(h, 'head', nil)
+ return h
end
end
end
@@ -208,24 +208,24 @@ do
local hh, hd = getfield(box, 'height'), getfield(box, 'depth')
local hx = h
while hx do
- local hic = has_attr(hx, attr_icflag) or 0
- if (hic == KANJI_SKIP) or (hic == KANJI_SKIP_JFM)
+ local hic = has_attr(hx, attr_icflag) or 0
+ if (hic == KANJI_SKIP) or (hic == KANJI_SKIP_JFM)
or (hic == XKANJI_SKIP) or (hic == XKANJI_SKIP_JFM)
or ((hic<=FROM_JFM+63) and (hic>=FROM_JFM)) then
- -- この 5 種類の空白をのばす
- if getid(hx) == id_kern then
- local k = node_new(id_glue)
- setglue(k, getfield(hx, 'kern'), round(middle*65536), 0,
- 2, 0)
- setfield(k, 'subtype', 0);
- h = insert_after(h, hx, k);
- h = node_remove(h, hx); node_free(hx); hx = k
- else -- glue
+ -- この 5 種類の空白をのばす
+ if getid(hx) == id_kern then
+ local k = node_new(id_glue)
+ setglue(k, getfield(hx, 'kern'), round(middle*65536), 0,
+ 2, 0)
+ setfield(k, 'subtype', 0);
+ h = insert_after(h, hx, k);
+ h = node_remove(h, hx); node_free(hx); hx = k
+ else -- glue
setglue(hx, getfield(hx, 'width'), round(middle*65536), 0,
- 2, 0)
- end
- end
- hx = node_next(hx)
+ 2, 0)
+ end
+ end
+ hx = node_next(hx)
end
-- 先頭の空白を挿入
local k = node_new(id_glue);
@@ -281,25 +281,25 @@ function luatexja.ruby.texiface(rst, rtlr, rtlp)
for i=1, #rtlr do node_free(rtlr[i]) end
for i=1, #rtlp do node_free(rtlp[i]) end
ltjb.package_error('luatexja-ruby',
- 'Group count mismatch between the ruby and\n' ..
- 'the body (' .. #rtlr .. ' != ' .. #rtlp .. ').',
- '')
+ 'Group count mismatch between the ruby and\n' ..
+ 'the body (' .. #rtlr .. ' != ' .. #rtlp .. ').',
+ '')
else
local f = true
for i = 1,#rtlr do
- if getfield(rtlr[i], 'width') > getfield(rtlp[i], 'width') then
- f = false; break
- end
+ if getfield(rtlr[i], 'width') > getfield(rtlp[i], 'width') then
+ f = false; break
+ end
end
if f then -- モノルビ * n
- local r,p = {true}, {true}
- for i = 1,#rtlr do
- r[1] = rtlr[i]; p[1] = rtlp[i]; texiface_low(rst, r, p)
- end
+ local r,p = {true}, {true}
+ for i = 1,#rtlr do
+ r[1] = rtlr[i]; p[1] = rtlp[i]; texiface_low(rst, r, p)
+ end
else
- local w, wv = texiface_low(rst, rtlr, rtlp)
- local id = make_uniq_id(w)
- set_attr(wv, attr_ruby_id, id)
+ local w, wv = texiface_low(rst, rtlr, rtlp)
+ local id = make_uniq_id(w)
+ set_attr(wv, attr_ruby_id, id)
end
end
end
@@ -329,9 +329,9 @@ local function enlarge_parent(r, p, ppre, pmid, ppost, mapre, mapost, intmode)
else -- intmode == 3
local n = min(mapre, mapost)*2
if n < sumprot then
- pre_intrusion = n/2; post_intrusion = n/2
+ pre_intrusion = n/2; post_intrusion = n/2
else
- pre_intrusion = floor(sumprot/2); post_intrusion = sumprot - pre_intrusion
+ pre_intrusion = floor(sumprot/2); post_intrusion = sumprot - pre_intrusion
end
p = enlarge(p, rwidth, ppre, pmid, ppost, pre_intrusion, post_intrusion)
pre_intrusion = min(mapre, pre_intrusion + round(ppre*getfield(p, 'glue_set')*65536))
@@ -350,7 +350,7 @@ end
-- returned value: <new box>, <ruby width>, <post_intrusion>
local max_margin
local function new_ruby_box(r, p, ppre, pmid, ppost,
- mapre, mapost, imode, rgap)
+ mapre, mapost, imode, rgap)
local post_intrusion = 0
local intmode = imode%4
local rpre, rmid, rpost, rsmash
@@ -366,19 +366,19 @@ local function new_ruby_box(r, p, ppre, pmid, ppost,
local need_repack = false
-- margin が大きくなりすぎた時の処理
if round(rpre*getfield(r, 'glue_set')*65536) > max_margin then
- local ps = getlist(r); need_repack = true
- setfield(ps, 'width', max_margin)
+ local ps = getlist(r); need_repack = true
+ setfield(ps, 'width', max_margin)
setfield(ps, 'stretch', 1) -- 全く伸縮しないのも困る
end
if round(rpost*getfield(r, 'glue_set')*65536) > max_margin then
- local ps = node_tail(getlist(r)); need_repack = true
- setfield(ps, 'width', max_margin)
+ local ps = node_tail(getlist(r)); need_repack = true
+ setfield(ps, 'width', max_margin)
setfield(ps, 'stretch', 1) -- 全く伸縮しないのも困る
end
if need_repack then
- local rt = r
- r = node.direct.hpack(getlist(r), getfield(r, 'width'), 'exactly')
- setfield(rt, 'head', nil); node_free(rt);
+ local rt = r
+ r = node.direct.hpack(getlist(r), getfield(r, 'width'), 'exactly')
+ setfield(rt, 'head', nil); node_free(rt);
end
end
local a, k = node_new(id_rule), node_new(id_kern, 1)
@@ -429,8 +429,8 @@ local function pre_low_cal_box(w, cmp)
for j = 1, 2*i do coef[i][j] = 1 end
for j = 2*i+1, 2*cmp+1 do coef[i][j] = 0 end
kf[i], coef[i][2*cmp+2]
- = new_ruby_box(node_copy(nta), node_copy(ntb),
- rtb[6], rtb[5], rtb[4], max_allow_pre, 0, intmode, rgap)
+ = new_ruby_box(node_copy(nta), node_copy(ntb),
+ rtb[6], rtb[5], rtb[4], max_allow_pre, 0, intmode, rgap)
end
node_free(nta); node_free(ntb)
@@ -442,8 +442,8 @@ local function pre_low_cal_box(w, cmp)
for j = 2*i, 2*cmp+1 do coef[cmp+i][j] = 1 end
nta = concat(node_copy(rb[i]), nta); ntb = concat(node_copy(pb[i]), ntb)
kf[cmp+i], coef[cmp+i][2*cmp+2]
- = new_ruby_box(node_copy(nta), node_copy(ntb),
- rtb[9], rtb[8], rtb[7], 0, max_allow_post, intmode, rgap)
+ = new_ruby_box(node_copy(nta), node_copy(ntb),
+ rtb[9], rtb[8], rtb[7], 0, max_allow_post, intmode, rgap)
end
-- ここで,nta, ntb には全 container を連結した box が入っているので
@@ -497,9 +497,9 @@ local function pre_low_app_node(head, w, cmp, coef, ht, dp)
set_attr(nta, attr_ruby, 2*i+1)
-- glue
if i~=cmp or not next_cluster_array[w] then
- nt = node_new(id_glue); insert_after(head, nta, nt)
+ nt = node_new(id_glue); insert_after(head, nta, nt)
else
- nt = next_cluster_array[w]
+ nt = next_cluster_array[w]
end
setglue(nt, coef[i*2+1][2*cmp+2], 0, 0, 0, 0)
set_attr(nt, attr_ruby, 2*i+2)
@@ -557,10 +557,10 @@ do
local function write_aux(wv, num)
local id = has_attr(wv, attr_ruby_id)
if id>0 and cache_handle then
- cache_handle:write(
- 'luatexja.ruby.old_break_info['
- .. tostring(id) .. ']=' .. num
- .. '\n')
+ cache_handle:write(
+ 'luatexja.ruby.old_break_info['
+ .. tostring(id) .. ']=' .. num
+ .. '\n')
end
end
@@ -571,36 +571,36 @@ do
local fn = has_attr(rs[#rs], attr_ruby)
local wv = getfield(rw, 'value')
if hn==1 then
- if fn==2*cmp+2 then
- local hn = node_tail(wv)
- node_remove(wv, hn)
- insert_after(ch, rs[1], hn)
- set_attr(hn, attr_icflag, PROCESSED)
- write_aux(wv, has_attr(hn, attr_ruby))-- 行中形
- else
- local deg, hn = (fn-1)/2, wv
- for i = 1, deg do hn = node_next(hn) end;
- node_remove(wv, hn)
- setfield(hn, 'next', nil)
- insert_after(ch, rs[1], hn)
- set_attr(hn, attr_icflag, PROCESSED)
- write_aux(wv, has_attr(hn, attr_ruby))
- end
+ if fn==2*cmp+2 then
+ local hn = node_tail(wv)
+ node_remove(wv, hn)
+ insert_after(ch, rs[1], hn)
+ set_attr(hn, attr_icflag, PROCESSED)
+ write_aux(wv, has_attr(hn, attr_ruby))-- 行中形
+ else
+ local deg, hn = (fn-1)/2, wv
+ for i = 1, deg do hn = node_next(hn) end;
+ node_remove(wv, hn)
+ setfield(hn, 'next', nil)
+ insert_after(ch, rs[1], hn)
+ set_attr(hn, attr_icflag, PROCESSED)
+ write_aux(wv, has_attr(hn, attr_ruby))
+ end
else
- local deg, hn = max((hn-1)/2,2), wv
- for i = 1, cmp+deg-1 do hn = node_next(hn) end
- -- -1 is needed except the case hn = 3,
- -- because a ending-line form is removed already from the list
- node_remove(wv, hn); setfield(hn, 'next', nil)
- insert_after(ch, rs[1], hn)
- set_attr(hn, attr_icflag, PROCESSED)
- if fn == 2*cmp-1 then
- write_aux(wv, has_attr(hn, attr_ruby))
- end
+ local deg, hn = max((hn-1)/2,2), wv
+ for i = 1, cmp+deg-1 do hn = node_next(hn) end
+ -- -1 is needed except the case hn = 3,
+ -- because a ending-line form is removed already from the list
+ node_remove(wv, hn); setfield(hn, 'next', nil)
+ insert_after(ch, rs[1], hn)
+ set_attr(hn, attr_icflag, PROCESSED)
+ if fn == 2*cmp-1 then
+ write_aux(wv, has_attr(hn, attr_ruby))
+ end
end
for i = 1,#rs do
- local ri = rs[i]
- ch = node_remove(ch, ri); node_free(ri);
+ local ri = rs[i]
+ ch = node_remove(ch, ri); node_free(ri);
end
-- cleanup
if fn >= 2*cmp+1 then node_free(rw) end
@@ -616,26 +616,26 @@ local function post_high_break(head)
for i = 1, #rs do rs[i] = nil end
local ha = getlist(h)
while ha do
- local hai = getid(ha)
- local i = ((hai == id_glue and getsubtype(ha)==0)
+ local hai = getid(ha)
+ local i = ((hai == id_glue and getsubtype(ha)==0)
or (hai == id_rule and getsubtype(ha)==0)
or (hai == id_whatsit and getsubtype(ha)==sid_user
and getfield(ha, 'user_id', RUBY_POST)))
and has_attr(ha, attr_ruby) or 0
- if i==0 then
+ if i==0 then
ha = node_next(ha)
elseif i==1 then
- setfield(h, 'head', post_lown(rs, rw, cmp, getlist(h)))
- for i = 2, #rs do rs[i] = nil end -- rs[1] is set by the next statement
- rs[1], rw = ha, nil; ha = node_next(ha)
- elseif i==2 then
- rw = ha
- cmp = getfield(getfield(rw, 'value'), 'value')
- local hb, hc = node_remove(getlist(h), rw)
- setfield(h, 'head', hb); ha = hc
- else -- i>=3
- rs[#rs+1] = ha; ha = node_next(ha)
- end
+ setfield(h, 'head', post_lown(rs, rw, cmp, getlist(h)))
+ for i = 2, #rs do rs[i] = nil end -- rs[1] is set by the next statement
+ rs[1], rw = ha, nil; ha = node_next(ha)
+ elseif i==2 then
+ rw = ha
+ cmp = getfield(getfield(rw, 'value'), 'value')
+ local hb, hc = node_remove(getlist(h), rw)
+ setfield(h, 'head', hb); ha = hc
+ else -- i>=3
+ rs[#rs+1] = ha; ha = node_next(ha)
+ end
end
setfield(h, 'head', post_lown(rs, rw, cmp, getlist(h)))
end
@@ -659,11 +659,11 @@ local function post_high_hbox(ahead)
elseif i==1 then
head = post_lown(rs, rw, cmp, head)
for i = 2, #rs do rs[i] = nil end -- rs[1] is set by the next statement
- rs[1], rw = ha, nil; ha = node_next(ha)
+ rs[1], rw = ha, nil; ha = node_next(ha)
elseif i==2 then
rw = ha
- cmp = getfield(getfield(rw, 'value'), 'value')
- head, ha = node_remove(head, rw)
+ cmp = getfield(getfield(rw, 'value'), 'value')
+ head, ha = node_remove(head, rw)
else -- i >= 3
rs[#rs+1] = ha; ha = node_next(ha)
end
@@ -730,21 +730,21 @@ do
local RIPOST = luatexja.stack_table_index.RIPOST
local function whatsit_after_callback(s, Nq, Np)
if not s and getfield(Nq.nuc, 'user_id') == RUBY_PRE then
- if Np then
- local last_glue = node_new(id_glue)
- set_attr(last_glue, attr_icflag, 0)
- insert_before(Nq.nuc, Np.first, last_glue)
- Np.first = last_glue
- next_cluster_array[Nq.nuc] = last_glue -- ルビ処理用のグルー
- end
+ if Np then
+ local last_glue = node_new(id_glue)
+ set_attr(last_glue, attr_icflag, 0)
+ insert_before(Nq.nuc, Np.first, last_glue)
+ Np.first = last_glue
+ next_cluster_array[Nq.nuc] = last_glue -- ルビ処理用のグルー
+ end
local nqnv = getfield(Nq.nuc, 'value')
local x = node_next(node_next(nqnv))
for i = 2, getfield(nqnv, 'value') do x = node_next(node_next(x)) end
Nq.last_char = luatexja.jfmglue.check_box_high(Nq, getlist(x), nil)
luatexja.jfmglue.after_hlist(Nq)
if Np and Np.id ~=id_pbox_w and type(Np.char)=='number' then
- -- Np is a JAchar
- local rm = has_attr(nqnv, attr_ruby_mode)
+ -- Np is a JAchar
+ local rm = has_attr(nqnv, attr_ruby_mode)
if has_attr(nqnv, attr_ruby_maxpostp) < 0 then -- auto
local p = round((ltjs.table_current_stack[RIPOST + Np.char] or 0)
*has_attr(nqnv, attr_ruby))
@@ -761,19 +761,19 @@ do
set_attr(nqnv, attr_ruby_maxpostp, p)
end
Np.prev_ruby = has_attr(getfield(Nq.nuc, 'value'), attr_ruby_id)
- -- 前のクラスタがルビであったことのフラグ
+ -- 前のクラスタがルビであったことのフラグ
else -- 直前が文字以外
- local nqnv = getfield(Nq.nuc, 'value')
+ local nqnv = getfield(Nq.nuc, 'value')
if has_attr(nqnv, attr_ruby_maxpostp) < 0 then -- auto
- set_attr(nqnv, attr_ruby_maxpostp, 0)
- if has_attr(nqnv, attr_ruby_mode)%4 >= 2 then
- set_attr(nqnv, attr_ruby_maxprep, 0)
- end
- end
+ set_attr(nqnv, attr_ruby_maxpostp, 0)
+ if has_attr(nqnv, attr_ruby_mode)%4 >= 2 then
+ set_attr(nqnv, attr_ruby_maxprep, 0)
+ end
+ end
end
- return true
+ return true
else
- return s
+ return s
end
end
luatexbase.add_to_callback("luatexja.jfmglue.whatsit_after", whatsit_after_callback,
diff --git a/macros/luatex/generic/luatexja/src/ltj-setwidth.lua b/macros/luatex/generic/luatexja/src/ltj-setwidth.lua
index 964d49e063..372a0e0412 100644
--- a/macros/luatex/generic/luatexja/src/ltj-setwidth.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-setwidth.lua
@@ -2,11 +2,11 @@
-- ltj-setwidth.lua
--
-luatexja.load_module('base'); local ltjb = luatexja.base
-luatexja.load_module('stack'); local ltjs = luatexja.stack
-luatexja.load_module('jfont'); local ltjf = luatexja.jfont
-luatexja.load_module('direction'); local ltjd = luatexja.direction
-luatexja.load_module('lotf_aux'); local ltju = luatexja.lotf_aux
+luatexja.load_module 'base'; local ltjb = luatexja.base
+luatexja.load_module 'stack'; local ltjs = luatexja.stack
+luatexja.load_module 'jfont'; local ltjf = luatexja.jfont
+luatexja.load_module 'direction'; local ltjd = luatexja.direction
+luatexja.load_module 'lotf_aux'; local ltju = luatexja.lotf_aux
local setfield = node.direct.setfield
local getfield = node.direct.getfield
@@ -44,16 +44,16 @@ local node_insert_before = node.direct.insert_before
local node_insert_after = node.direct.insert_after
local round = tex.round
-local id_glyph = node.id('glyph')
-local id_kern = node.id('kern')
-local id_hlist = node.id('hlist')
-local id_vlist = node.id('vlist')
-local id_rule = node.id('rule')
-local id_math = node.id('math')
-local id_whatsit = node.id('whatsit')
-local sid_save = node.subtype('pdf_save')
-local sid_restore = node.subtype('pdf_restore')
-local sid_matrix = node.subtype('pdf_setmatrix')
+local id_glyph = node.id 'glyph'
+local id_kern = node.id 'kern'
+local id_hlist = node.id 'hlist'
+local id_vlist = node.id 'vlist'
+local id_rule = node.id 'rule'
+local id_math = node.id 'math'
+local id_whatsit= node.id 'whatsit'
+local sid_save = node.subtype 'pdf_save'
+local sid_restore = node.subtype 'pdf_restore'
+local sid_matrix = node.subtype 'pdf_setmatrix'
local dir_tate = luatexja.dir_table.dir_tate
local attr_ykblshift = luatexbase.attributes['ltj@ykblshift']
@@ -80,9 +80,9 @@ local ltjw = {} --export
luatexja.setwidth = ltjw
luatexbase.create_callback("luatexja.set_width", "data",
- function (fstable, fmtable, char_data)
- return fstable
- end)
+ function (fstable, fmtable, char_data)
+ return fstable
+ end)
local call_callback = luatexbase.call_callback
local fshift = { down = 0, left = 0 }
@@ -111,19 +111,19 @@ local function capsule_glyph_yoko(p, met, char_data, head, dir)
if ht_diff == 0 and dp_diff ==0 then -- offset only
set_attr(p, attr_icflag, PROCESSED)
local xo, yo = getoffsets(p)
- setoffsets(p, xo - fshift.left, yo - kbl - fshift.down)
- return node_next(p), head, p
+ setoffsets(p, xo - fshift.left, yo - kbl - fshift.down)
+ return node_next(p), head, p
elseif ht_diff >= 0 and dp_diff >=0 then -- rule
- local box = node_new(id_rule,rule_subtype)
+ local box = node_new(id_rule,rule_subtype)
local xo, yo = getoffsets(p)
- setoffsets(p, xo, yo - kbl - fshift.down)
- setwhd(box, 0, fheight - kbl, fdepth + kbl)
- setdir(box, dir)
- set_attr(box, attr_icflag, PACKED)
- set_attr(p, attr_icflag, PROCESSED)
- head = p and node_insert_before(head, p, box)
- or node_insert_after(head, node_tail(head), box)
- return node_next(p), head, p, box
+ setoffsets(p, xo, yo - kbl - fshift.down)
+ setwhd(box, 0, fheight - kbl, fdepth + kbl)
+ setdir(box, dir)
+ set_attr(box, attr_icflag, PACKED)
+ set_attr(p, attr_icflag, PROCESSED)
+ head = p and node_insert_before(head, p, box)
+ or node_insert_after(head, node_tail(head), box)
+ return node_next(p), head, p, box
end
end
@@ -133,7 +133,7 @@ local function capsule_glyph_yoko(p, met, char_data, head, dir)
if char_data.round_threshold then
local frac = pwidth / fwidth
local quot = floor(frac+0.5)
- if abs(frac-quot) <char_data.round_threshold then fwidth = fwidth * quot end
+ if abs(frac-quot) <char_data.round_threshold then fwidth = fwidth * quot end
end
end
local xo, yo = getoffsets(p)
@@ -190,12 +190,12 @@ local function capsule_glyph_tate(p, met, char_data, head, dir)
local pf, pc = getfont(p), getchar(p)
local feir = ltjf_font_extra_info[pf]
if feir and feir.rotation and met.vert_activated then
- if feir.rotation[pc] and (has_attr(p, attr_vert_ori) or 0)<=0 then
- return capsule_glyph_tate_rot(p, met, char_data, head, dir,
+ if feir.rotation[pc] and (has_attr(p, attr_vert_ori) or 0)<=0 then
+ return capsule_glyph_tate_rot(p, met, char_data, head, dir,
0.5*(get_ascender(pf)-get_descender(pf)))
- end
- end
- pwidth, ascender = feir.vheight[pc]*met.size, feir.vorigin[pc]*met.size
+ end
+ end
+ pwidth, ascender = feir.vheight[pc]*met.size, feir.vorigin[pc]*met.size
end
fwidth = fwidth or pwidth
if pwidth>fwidth and char_data.round_threshold then
@@ -263,21 +263,21 @@ function luatexja.setwidth.apply_ashift_math(head, last, attr_ablshift)
for p in node_traverse(head) do
local pid = getid(p)
if p==last then
- return
+ return
elseif (has_attr(p, attr_icflag) or 0) ~= PROCESSED then
- if pid==id_hlist or pid==id_vlist then
- setfield(p, 'shift', getfield(p, 'shift') + (has_attr(p,attr_ablshift) or 0))
- elseif pid==id_rule then
- local v = has_attr(p,attr_ablshift) or 0
- setfield(p, 'height', getfield(p, 'height')-v)
- setfield(p, 'depth', getdepth(p)+v)
- set_attr(p, attr_icflag, PROCESSED)
- elseif pid==id_glyph then
- -- 欧文文字; 和文文字は pid == id_hlist の場合で処理される
- -- (see conv_jchar_to_hbox_A in ltj-math.lua)
- setfield(p, 'yoffset',
- getfield(p, 'yoffset') - (has_attr(p,attr_ablshift) or 0))
- end
+ if pid==id_hlist or pid==id_vlist then
+ setfield(p, 'shift', getfield(p, 'shift') + (has_attr(p,attr_ablshift) or 0))
+ elseif pid==id_rule then
+ local v = has_attr(p,attr_ablshift) or 0
+ setfield(p, 'height', getfield(p, 'height')-v)
+ setfield(p, 'depth', getdepth(p)+v)
+ set_attr(p, attr_icflag, PROCESSED)
+ elseif pid==id_glyph then
+ -- 欧文文字; 和文文字は pid == id_hlist の場合で処理される
+ -- (see conv_jchar_to_hbox_A in ltj-math.lua)
+ setfield(p, 'yoffset',
+ getfield(p, 'yoffset') - (has_attr(p,attr_ablshift) or 0))
+ end
set_attr(p, attr_icflag, PROCESSED)
end
end
@@ -294,28 +294,28 @@ do
if not head then return end
local y_adjust, node_depth, adj_depth = 0, 0, 0
for lp in node_traverse_id(id_glyph, head) do
- y_adjust = has_attr(lp,attr_ablshift) or 0
- local ld = getdepth(lp)
- node_depth = max(ld + min(y_adjust, 0), node_depth)
- adj_depth = (y_adjust>0) and max(ld + y_adjust, adj_depth) or adj_depth
- setfield(lp, 'yoffset', getfield(lp, 'yoffset') - y_adjust)
+ y_adjust = has_attr(lp,attr_ablshift) or 0
+ local ld = getdepth(lp)
+ node_depth = max(ld + min(y_adjust, 0), node_depth)
+ adj_depth = (y_adjust>0) and max(ld + y_adjust, adj_depth) or adj_depth
+ setfield(lp, 'yoffset', getfield(lp, 'yoffset') - y_adjust)
end
if adj_depth>node_depth then
- local r = node_new(id_rule,rule_subtype)
- setwhd(r, 0, 0, adj_depth); setdir(r, tex_dir)
- set_attr(r, attr_icflag, PROCESSED)
- if field=='post' then
- node_insert_after(head, head, r)
- else
- setfield(disc, field, (node_insert_before(head, head, r)))
- end
+ local r = node_new(id_rule,rule_subtype)
+ setwhd(r, 0, 0, adj_depth); setdir(r, tex_dir)
+ set_attr(r, attr_icflag, PROCESSED)
+ if field=='post' then
+ node_insert_after(head, head, r)
+ else
+ setfield(disc, field, (node_insert_before(head, head, r)))
+ end
end
end
function luatexja.setwidth.apply_ashift_disc(d, is_dir_tate, dir)
attr_ablshift = is_dir_tate and attr_tablshift or attr_yablshift
disc, tex_dir = d, dir
- ashift_disc_inner('pre')
- ashift_disc_inner('post')
- ashift_disc_inner('replace')
+ ashift_disc_inner 'pre'
+ ashift_disc_inner 'post'
+ ashift_disc_inner 'replace'
end
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-stack.lua b/macros/luatex/generic/luatexja/src/ltj-stack.lua
index abbc8e95c2..a0cd2e286e 100644
--- a/macros/luatex/generic/luatexja/src/ltj-stack.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-stack.lua
@@ -3,19 +3,19 @@
--
luatexbase.provides_module({
name = 'luatexja.stack',
- date = '2019/09/26',
+ date = '2020-07-30',
description = 'LuaTeX-ja stack system',
})
luatexja.stack = {}
local ltjs=luatexja.stack
-luatexja.load_module('base'); local ltjb = luatexja.base
+luatexja.load_module 'base'; local ltjb = luatexja.base
--------------------------------------------------------------------------------
-- stack table (obeys TeX's grouping)
--------------------------------------------------------------------------------
local node_new = node.new
-local id_whatsit = node.id('whatsit')
-local sid_user = node.subtype('user_defined')
+local id_whatsit = node.id 'whatsit'
+local sid_user = node.subtype 'user_defined'
local STCK = luatexja.userid_table.STCK
local fastcopy = table.fastcopy
local setcount, getcount = tex.setcount, tex.getcount
@@ -27,23 +27,23 @@ ltjs.charprop_stack_table = charprop_stack_table
charprop_stack_table[0]={}
local function get_stack_level()
- local i = getcount('ltj@@stack')
+ local i = getcount 'ltj@@stack'
local j = tex.currentgrouplevel
- if j > getcount('ltj@@group@level') then
+ if j > getcount 'ltj@@group@level' then
i = i+1 -- new stack level
local gd = tex.globaldefs
if gd~=0 then tex.globaldefs = 0 end
-- 'tex.globaldefs = 0' is local even if \globaldefs > 0.
setcount('ltj@@group@level', j)
for k,v in pairs(charprop_stack_table) do -- clear the stack above i
- if k>=i then charprop_stack_table[k]=nil end
+ if k>=i then charprop_stack_table[k]=nil end
end
charprop_stack_table[i] = fastcopy(charprop_stack_table[i-1])
setcount('ltj@@stack', i)
if gd~=0 then tex.globaldefs = gd end
if tex.nest[tex.nest.ptr].mode == -ltjs.hmode then -- rest. hmode のみ
- local g = node_new(id_whatsit, sid_user)
- g.user_id=STCK; g.type=100; g.value=j; node.write(g)
+ local g = node_new(id_whatsit, sid_user)
+ g.user_id=STCK; g.type=100; g.value=j; node.write(g)
end
end
return i
@@ -68,10 +68,10 @@ function ltjs.set_stack_perchar(m,lb,ub, getter)
local p = tonumber((getter or scan_int)())
if p<lb or p>ub then
ltjb.package_error('luatexja',
- "invalid code (".. tostring(p) .. ")",
- "The code should in the range "..tostring(lb) .. '..' ..
- tostring(ub) .. ".\n" ..
- "I'm going to use 0 instead of that illegal code value.")
+ "invalid code (".. tostring(p) .. ")",
+ "The code should in the range "..tostring(lb) .. '..' ..
+ tostring(ub) .. ".\n" ..
+ "I'm going to use 0 instead of that illegal code value.")
p=0
end
set_stack_table(m+ltjb.in_unicode(c, true), p)
@@ -81,9 +81,9 @@ end
function ltjs.set_stack_font(m,c,p)
if type(c)~='number' or c<0 or c>255 then
ltjb.package_error('luatexja',
- "invalid family number (".. tostring(c) .. ")",
- "The family number should in the range 0 .. 255.\n" ..
- "I'm going to use 0 instead of that illegal family number.")
+ "invalid family number (".. tostring(c) .. ")",
+ "The family number should in the range 0 .. 255.\n" ..
+ "I'm going to use 0 instead of that illegal family number.")
c=0
end
set_stack_table(m+c, p)
@@ -103,12 +103,12 @@ function ltjs.set_stack_skip(m,sp)
charprop_stack_table[i][m].shrink_order = sp.shrink_order
if luatexja.isglobal=='global' then
for j,v in pairs(charprop_stack_table) do
- if not charprop_stack_table[j][m] then charprop_stack_table[j][m] = {} end
- charprop_stack_table[j][m].width = sp.width
- charprop_stack_table[j][m].stretch = sp.stretch
- charprop_stack_table[j][m].shrink = sp.shrink
- charprop_stack_table[j][m].stretch_order = sp.stretch_order
- charprop_stack_table[j][m].shrink_order = sp.shrink_order
+ if not charprop_stack_table[j][m] then charprop_stack_table[j][m] = {} end
+ charprop_stack_table[j][m].width = sp.width
+ charprop_stack_table[j][m].stretch = sp.stretch
+ charprop_stack_table[j][m].shrink = sp.shrink
+ charprop_stack_table[j][m].stretch_order = sp.stretch_order
+ charprop_stack_table[j][m].shrink_order = sp.shrink_order
end
end
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua b/macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
index 47f41f359e..1e2234a8e6 100644
--- a/macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
@@ -1,5 +1,5 @@
-- Do not edit this file!
--- Created from LineBreak.txt by ltj-unicode-ccfix_make.pl on 2019年 7月 8日 月曜日 06:15:17 JST.
+-- Created from LineBreak.txt by ltj-unicode-ccfix_make.pl on 2020年 7月 4日 土曜日 11:27:40 JST.
-- In case of errors, fix the Perl script instead.
local tex_catcode = tex.setcatcode
local tex_getcc = tex.getcatcode
@@ -78,7 +78,7 @@ set_letter(0x3131,0x318E)
set_letter(0x3190,0x3191)
set_letter(0x3192,0x3195)
set_letter(0x3196,0x319F)
-set_letter(0x31A0,0x31BA)
+set_letter(0x31A0,0x31BF)
set_letter(0x31C0,0x31E3)
set_letter(0x3200,0x321E)
set_letter(0x3220,0x3229)
@@ -91,10 +91,9 @@ set_letter(0x328A,0x32B0)
set_letter(0x32B1,0x32BF)
set_letter(0x32C0,0x32FF)
set_letter(0x3300,0x33FF)
-set_letter(0x3400,0x4DB5)
-set_letter(0x4DB6,0x4DBF)
-set_letter(0x4E00,0x9FEF)
-set_letter(0x9FF0,0x9FFF)
+set_letter(0x3400,0x4DBF)
+set_letter(0x4E00,0x9FFC)
+set_letter(0x9FFD,0x9FFF)
set_letter(0xA000,0xA014)
set_letter(0xA016,0xA48C)
set_letter(0xA490,0xA4C6)
@@ -144,7 +143,8 @@ set_letter(0xFFE2,0xFFE2)
set_letter(0xFFE3,0xFFE3)
set_letter(0xFFE4,0xFFE4)
set_letter(0x17000,0x187F7)
-set_letter(0x18800,0x18AF2)
+set_letter(0x18800,0x18AFF)
+set_letter(0x18D00,0x18D08)
set_letter(0x1B000,0x1B0FF)
set_letter(0x1B100,0x1B11E)
set_letter(0x1B170,0x1B2FB)
@@ -162,7 +162,8 @@ set_letter(0x1F0D1,0x1F0F5)
set_letter(0x1F0F6,0x1F0FF)
set_letter(0x1F10D,0x1F10F)
set_letter(0x1F16D,0x1F16F)
-set_letter(0x1F1AD,0x1F1E5)
+set_letter(0x1F1AD,0x1F1AD)
+set_letter(0x1F1AE,0x1F1E5)
set_letter(0x1F200,0x1F202)
set_letter(0x1F203,0x1F20F)
set_letter(0x1F210,0x1F23B)
@@ -211,12 +212,12 @@ set_letter(0x1F680,0x1F6A2)
set_letter(0x1F6A4,0x1F6B3)
set_letter(0x1F6B7,0x1F6BF)
set_letter(0x1F6C1,0x1F6CB)
-set_letter(0x1F6CD,0x1F6D5)
-set_letter(0x1F6D6,0x1F6DF)
+set_letter(0x1F6CD,0x1F6D7)
+set_letter(0x1F6D8,0x1F6DF)
set_letter(0x1F6E0,0x1F6EC)
set_letter(0x1F6ED,0x1F6EF)
-set_letter(0x1F6F0,0x1F6FA)
-set_letter(0x1F6FB,0x1F6FF)
+set_letter(0x1F6F0,0x1F6FC)
+set_letter(0x1F6FD,0x1F6FF)
set_letter(0x1F774,0x1F77F)
set_letter(0x1F7D5,0x1F7D8)
set_letter(0x1F7D9,0x1F7DF)
@@ -226,42 +227,44 @@ set_letter(0x1F80C,0x1F80F)
set_letter(0x1F848,0x1F84F)
set_letter(0x1F85A,0x1F85F)
set_letter(0x1F888,0x1F88F)
-set_letter(0x1F8AE,0x1F8FF)
-set_letter(0x1F90C,0x1F90C)
+set_letter(0x1F8AE,0x1F8AF)
+set_letter(0x1F8B0,0x1F8B1)
+set_letter(0x1F8B2,0x1F8FF)
set_letter(0x1F90D,0x1F90E)
set_letter(0x1F910,0x1F917)
set_letter(0x1F920,0x1F925)
set_letter(0x1F927,0x1F92F)
set_letter(0x1F93A,0x1F93B)
-set_letter(0x1F93F,0x1F971)
-set_letter(0x1F972,0x1F972)
-set_letter(0x1F973,0x1F976)
-set_letter(0x1F977,0x1F979)
-set_letter(0x1F97A,0x1F9A2)
-set_letter(0x1F9A3,0x1F9A4)
-set_letter(0x1F9A5,0x1F9AA)
-set_letter(0x1F9AB,0x1F9AD)
-set_letter(0x1F9AE,0x1F9B4)
+set_letter(0x1F93F,0x1F976)
+set_letter(0x1F978,0x1F978)
+set_letter(0x1F979,0x1F979)
+set_letter(0x1F97A,0x1F9B4)
set_letter(0x1F9B7,0x1F9B7)
set_letter(0x1F9BA,0x1F9BA)
-set_letter(0x1F9BC,0x1F9CA)
-set_letter(0x1F9CB,0x1F9CC)
+set_letter(0x1F9BC,0x1F9CB)
+set_letter(0x1F9CC,0x1F9CC)
set_letter(0x1F9D0,0x1F9D0)
set_letter(0x1F9DE,0x1F9FF)
set_letter(0x1FA54,0x1FA5F)
set_letter(0x1FA60,0x1FA6D)
set_letter(0x1FA6E,0x1FA6F)
-set_letter(0x1FA70,0x1FA73)
-set_letter(0x1FA74,0x1FA77)
+set_letter(0x1FA70,0x1FA74)
+set_letter(0x1FA75,0x1FA77)
set_letter(0x1FA78,0x1FA7A)
set_letter(0x1FA7B,0x1FA7F)
-set_letter(0x1FA80,0x1FA82)
-set_letter(0x1FA83,0x1FA8F)
-set_letter(0x1FA90,0x1FA95)
-set_letter(0x1FA96,0x1FAFF)
-set_letter(0x1FB00,0x1FFFD)
-set_letter(0x20000,0x2A6D6)
-set_letter(0x2A6D7,0x2A6FF)
+set_letter(0x1FA80,0x1FA86)
+set_letter(0x1FA87,0x1FA8F)
+set_letter(0x1FA90,0x1FAA8)
+set_letter(0x1FAA9,0x1FAAF)
+set_letter(0x1FAB0,0x1FAB6)
+set_letter(0x1FAB7,0x1FABF)
+set_letter(0x1FAC0,0x1FAC2)
+set_letter(0x1FAC3,0x1FACF)
+set_letter(0x1FAD0,0x1FAD6)
+set_letter(0x1FAD7,0x1FAFF)
+set_letter(0x1FC00,0x1FFFD)
+set_letter(0x20000,0x2A6DD)
+set_letter(0x2A6DE,0x2A6FF)
set_letter(0x2A700,0x2B734)
set_letter(0x2B735,0x2B73F)
set_letter(0x2B740,0x2B81D)
@@ -273,4 +276,5 @@ set_letter(0x2EBE1,0x2F7FF)
set_letter(0x2F800,0x2FA1D)
set_letter(0x2FA1E,0x2FA1F)
set_letter(0x2FA20,0x2FFFD)
-set_letter(0x30000,0x3FFFD)
+set_letter(0x30000,0x3134A)
+set_letter(0x3134B,0x3FFFD)
diff --git a/macros/luatex/generic/luatexja/src/ltjclasses.dtx b/macros/luatex/generic/luatexja/src/ltjclasses.dtx
index 9da4e2b748..dd156b3393 100644
--- a/macros/luatex/generic/luatexja/src/ltjclasses.dtx
+++ b/macros/luatex/generic/luatexja/src/ltjclasses.dtx
@@ -61,16 +61,16 @@
% (ありがとうございます、鈴木た@MILNさん)}
% \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
% \changes{v1.6-ltj}{2011/09/27}{jclasses.dtx v1.6 をベースにLua\LaTeX-ja用に修正。}
-% \changes{v1.6-ltj-2}{2013/06/06}{luatexja.cfgに対応.}
-% \changes{v1.6-ltj-3}{2014/06/08}{縦組クラスの時のgeometry.styに対応.}
-% \changes{v1.6-ltj-4}{2014/06/30}{組方向の変更箇所を現行のLua\TeX-jaの仕様に合うように修正.}
-% \changes{v1.6-ltj-5}{2014/07/02}{\cs{ifydir}, \cs{iftdir}を使わないように修正.}
-% \changes{v1.6-ltj-6}{2014/07/28}{縦組クラスでlltjext.styを読み込むように修正.}
-% \changes{v1.6-ltj-7}{2014/11/15}{縦組クラスとeveryshi.styとの相性が悪い問題を修正.}
-% \changes{v1.6-ltj-8}{2014/11/22}{縦組時のgeometry.styへの対応を別ファイル(lltjp-geometry.sty)に分離.それに伴いv1.6-ltj-3での変更を削除.}
-% \changes{v1.6-ltj-9}{2015/01/01}{縦組クラスの日付出力でエラーになることなどを修正.}
-% \changes{v1.6-ltj-10}{2015/10/18}{Lua\TeX\ 0.81.0に伴うプリミティブ名の変更に対応.}
-% \changes{v1.6-ltj-11}{2016/07/19}{トンボ使用時の用紙サイズの設定方法を変更(aminophenさん,ありがとうございます).}
+% \changes{v1.6-ltj-2}{2013/06/06}{luatexja.cfgに対応。}
+% \changes{v1.6-ltj-3}{2014/06/08}{縦組クラスの時のgeometry.styに対応。}
+% \changes{v1.6-ltj-4}{2014/06/30}{組方向の変更箇所を現行のLua\TeX-jaの仕様に合うように修正。}
+% \changes{v1.6-ltj-5}{2014/07/02}{\cs{ifydir}, \cs{iftdir}を使わないように修正。}
+% \changes{v1.6-ltj-6}{2014/07/28}{縦組クラスでlltjext.styを読み込むように修正。}
+% \changes{v1.6-ltj-7}{2014/11/15}{縦組クラスとeveryshi.styとの相性が悪い問題を修正。}
+% \changes{v1.6-ltj-8}{2014/11/22}{縦組時のgeometry.styへの対応を別ファイル(lltjp-geometry.sty)に分離。それに伴いv1.6-ltj-3での変更を削除。}
+% \changes{v1.6-ltj-9}{2015/01/01}{縦組クラスの日付出力でエラーになることなどを修正。}
+% \changes{v1.6-ltj-10}{2015/10/18}{Lua\TeX\ 0.81.0に伴うプリミティブ名の変更に対応。}
+% \changes{v1.6-ltj-11}{2016/07/19}{トンボ使用時の用紙サイズの設定方法を変更(aminophenさん、ありがとうございます)。}
% \changes{v1.7}{2016/11/12}{ドキュメントに反して\cs{@maketitle}が
% 空になっていなかったのを修正}
% \changes{v1.7}{2016/11/12}{use \cs{@width} (sync with classes.dtx v1.3a)}
@@ -92,7 +92,7 @@
% \changes{v1.7c}{2016/12/18}{Only add empty page after part if
% twoside and openright (sync with classes.dtx v1.4b)}
% \changes{v1.7c-ltj-12}{2017/01/17}{|\stockwidth|,~|\stockheight|をトンボオプション指定時にのみ定義
-% (aminophenさん,ありがとうございます).}
+% (aminophenさん、ありがとうございます)。}
% \changes{v1.7c}{2016/12/18}{奇妙なarticleガードとコードを削除して
% ドキュメントを追加}
% \changes{v1.7d}{2017/02/15}{\cs{if@openleft}スイッチ追加}
@@ -104,14 +104,14 @@
% 偶数ならば0にリセットするように変更}
% \changes{v1.7d}{2017/02/15}{縦組クラスの所属表示の番号を直立にした}
% \changes{v1.7d-ltj-13}{2017/02/19}{縦組時クラスで|ftnright|パッケージを使うと
-% 脚注番号が上書きされ横に寝てしまう問題を修正(aminophenさん,ありがとうございます).}
+% 脚注番号が上書きされ横に寝てしまう問題を修正(aminophenさん、ありがとうございます)。}
% \changes{v1.7d-ltj-14}{2017/02/20}{openleftオプションの処理で\cs{iftdir}, \cs{ifydir}を
-% 誤って使っている問題を修正(aminophenさん,ありがとうございます).}
+% 誤って使っている問題を修正(aminophenさん、ありがとうございます)。}
% \changes{v1.7e}{2017/03/05}{トンボに表示するジョブ情報の書式を変更}
% \changes{v1.7e}{2017/03/05}{\cs{frontmatter}と\cs{mainmatter}を
% 奇数ページに送るように変更}
-% \changes{v1.7e-ltj-15}{2017/08/31}{本ドキュメントのタイプセットで,小塚フォントが存在するときには
-% それを用いるように変更(PDFサイズ削減のため).}
+% \changes{v1.7e-ltj-15}{2017/08/31}{本ドキュメントのタイプセットで、小塚フォントが存在するときには
+% それを用いるように変更(PDFサイズ削減のため)。}
% \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更}
% \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした}
% \changes{v1.7h}{2018/02/04}{和文スケール値\cs{Cjascale}を定義}
@@ -128,6 +128,11 @@
% (sync with classes.dtx 2019/10/25 v1.4k)}
% \changes{v1.8e}{2020/01/03}{Normalize label fonts
% (sync with classes.dtx 2019/12/20 v1.4l)}
+% \changes{v1.8e-ltj-18}{2020/05/30}{原ノ味フォントが\TeX~Liveに導入されたことにより、
+% v1.8-ltj-16の変更を削除。「\pTeX と互換性を持たせる」メトリックの変更などは
+% 新設の|ptexmin|オプション指定時にのみ行うようにした。
+% 句読点を「、」「。」に統一。}
+% \changes{v1.8e-ltj-19}{2020/07/27}{|everyshi|パッケージへのパッチを別パッケージへ分離。}
% \fi
%
% \iffalse
@@ -157,26 +162,13 @@
%<11pt&bk>\ProvidesFile{ltjtbk11.clo}
%<12pt&bk>\ProvidesFile{ltjtbk12.clo}
%</tate>
- [2020/01/13 v1.8e-ltj-17
+ [2020/07/27 v1.8e-ltj-19
%<article|report|book> Standard LuaLaTeX-ja class]
%<10pt|11pt|12pt> Standard LuaLaTeX-ja file (size option)]
%<*driver>
]
\documentclass{ltjltxdoc}
\GetFileInfo{ltjclasses.dtx}
-\begingroup
- \suppressfontnotfounderror=1
- \global\font\testfont=file:KozMinPr6N-Regular.otf
- \global\font\testfonta=file:HaranoAjiMincho-Regular.otf
-\endgroup
-\ifx\testfonta\nullfont\ifx\testfont\nullfont
- \usepackage[ipaex,nfssonly]{luatexja-preset}
-\else
- \usepackage[kozuka-pr6n,nfssonly]{luatexja-preset}
-\fi\else
- \usepackage[haranoaji,nfssonly]{luatexja-preset}
-\fi
-\let\testfont\undefined\let\testfonta\undefined
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\def\pLaTeX{p\kern-.05em\LaTeX}
@@ -459,8 +451,7 @@
% \changes{v1.1d}{1997/02/05}{開始ページがおかしくなるのを修正}
% \changes{v1.1f}{1997/07/08}{縦組時にベースラインがおかしくなるのを修正}
%
-% \changes{v1.6-ltj-4}{2014/06/30}{本文の組方向を \cs{AtBeginDocument} で
-% 変更することができなくなったことに対応}
+% [2014-06-30 LTJ] 本文の組方向を \cs{AtBeginDocument}で変更することができなくなったことに対応。
% \begin{macrocode}
\DeclareOption{tate}{%
\tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
@@ -469,19 +460,21 @@
%
% 縦組クラスと|everyshi|パッケージの相性が悪い問題に対処します。
% この処理は、ZRさんの|pxeveryshi|パッケージと実質的に同じ内容です。
+%
+% [2020-07-27 LTJ] |lltjp-everyshi.sty|に移しました。
% \begin{macrocode}
%<*tate>
-\AtEndOfPackageFile{everyshi}{%
- \def\@EveryShipout@Output{%
- \setbox8\vbox{%
- \yoko
- \@EveryShipout@Hook
- \@EveryShipout@AtNextHook
- \global\setbox\luatexoutputbox=\box\luatexoutputbox
- }%
- \gdef\@EveryShipout@AtNextHook{}%
- \@EveryShipout@Org@Shipout\box\luatexoutputbox
- }}
+%\AtEndOfPackageFile{everyshi}{%
+% \def\@EveryShipout@Output{%
+% \setbox8\vbox{%
+% \yoko
+% \@EveryShipout@Hook
+% \@EveryShipout@AtNextHook
+% \global\setbox\luatexoutputbox=\box\luatexoutputbox
+% }%
+% \gdef\@EveryShipout@AtNextHook{}%
+% \@EveryShipout@Org@Shipout\box\luatexoutputbox
+% }}
%</tate>
% \end{macrocode}
%
@@ -562,8 +555,9 @@
% |mathrmmc|オプションは、
% |\mathrm|と|\mathbf|を和欧文両対応にするためのクラスオプションです。
% \changes{v1.1d}{1992/02/04}{disablejfamの判断を間違えてたのを修正}
-% \changes{v1.8-ltj-16}{2018/10/08}{Lua\TeX-ja本体が,主にメモリ消費を抑える目的で
-% |disablejfam|オプションをサポートしました。そのため以前出していた警告は削除します。}
+%
+% [2018-10-08 LTJ] Lua\TeX-ja本体が、主にメモリ消費を抑える目的で
+% |disablejfam|オプションをサポートしました。そのため以前出していた警告は削除します。
% \begin{macrocode}
\if@compatibility
\@mathrmmctrue
@@ -583,46 +577,41 @@
% \end{macrocode}
%
% \subsection{フォントメトリックの変更}
-%
% Lua\LaTeX-jaの標準では、OTFパッケージ由来のメトリックが使われるようになっています。
-% 本クラスでは、「p\TeX の組版と互換性をできるだけ持たせる」例を提示するため、
+% 本クラスでは、「p\TeX の組版と互換性をできるだけ持たせる」例を提示するため、|ptexmin|オプション指定時のみ
% \begin{itemize}
% \item メトリックを\texttt{min10.tfm}ベースの\texttt{jfm-min.lua}に変更。
% \item 明朝とゴシックは両方とも\texttt{jfm-min.lua}を用いるが、
% 和文処理用グルー挿入時には「違うメトリックを使用」として思わせる。
% \item p\TeX と同様に、「異なるメトリックの2つの和文文字」の間には、両者から定める
% グルーを両方挿入する。
-% \item calllbackを利用し、標準で用いる\texttt{jfm-min.lua}を、段落始めの括弧が全角二分下がりになるように内部で変更している。
+% \item calllbackを利用し、標準で用いる\texttt{jfm-min.lua}を、段落始めの括弧が全角二分下がりになるように内部で変更。
%
% \end{itemize}
+% という変更を加えます。
%
% |\ltj@stdmcfont|,~|\ltj@stdgtfont| による、デフォルトで使われ明朝・ゴシックのフォントの
-% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではなく、
-% 何らかの理由で非埋め込みフォントが正しく利用できない場合にのみ |luatexja.cfg| によって
-% セットされるものです。
+% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではありません。
%
-% \changes{v1.6-ltj-9}{2015/01/01}{サイズクラスのロード前にメトリックの変更を行わないと,
-% \cs{Cht}等の値が反映されないのでこの場所に移動させました.}
+% [2015-01-01 LTJ] サイズクラスのロード前にメトリックの変更を行わないと、
+% \cs{Cht}等の値が反映されないのでこの場所に移動させました。
+%
+% [2020-05-30 LTJ] 本節の内容は新設の|ptexmin|オプション指定時にのみ行うようにしました。
+% その関係で、実際の処理は|\ProcessOptions|のところに移動させました。
%
% \begin{macrocode}
%<*article|report|book>
-\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
- function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
- 'ltj.jclasses_load_jfm', 1)}
-{\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
-\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
-\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
-\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
-\ltjglobalsetparameter{differentjfm=both}
-\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\newif\ifptexmin
+\DeclareOption{ptexmin}{\ptexmintrue}%
%</article|report|book>
% \end{macrocode}
%
% \subsection{disablejfamオプション}
-% \changes{v1.8b-ltj-17}{2019/08/12}{disablejfamの``Unused global option(s)''警告を出さないようにした}
-% disablejfamオプションはLua\TeX-ja本体で処理しますが,
-% もうLua\TeX-jaは読み込んでいるため,このままでは``Unused global option(s): [disablejfam]''警告が
-% 出てしまいます.そのため,「何もしない」disablejfamオプションをクラス内で定義しておきます.
+% disablejfamオプションはLua\TeX-ja本体で処理しますが、
+% もうLua\TeX-jaは読み込んでいるため、このままでは``Unused global option(s): [disablejfam]''警告が
+% 出てしまいます。そのため、「何もしない」disablejfamオプションをクラス内で定義しておきます。
+%
+% [2019-08-12 LTJ] |disablejfam|の``Unused global option(s)''警告を出さないようにした。
%
% \begin{macrocode}
%<*article|report|book>
@@ -647,6 +636,25 @@
%<yoko>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
%</book>
\ProcessOptions\relax
+% \end{macrocode}
+%
+% [2020-05-30 LTJ] 「フォントメトリックの変更」の節の内容の処理をここで行います。
+%
+% \begin{macrocode}
+\ifptexmin
+\directlua{luatexbase.add_to_callback('luatexja.load_jfm',
+ function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
+ 'ltj.jclasses_load_jfm', 1)}
+{\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
+\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
+\DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
+\DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
+\ltjglobalsetparameter{differentjfm=both}
+\directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
+\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
%<book&tate>\input{ltjtbk1\@ptsize.clo}
%<!book&tate>\input{ltjtsize1\@ptsize.clo}
%<book&yoko>\input{ltjbk1\@ptsize.clo}
@@ -654,8 +662,9 @@
% \end{macrocode}
% 縦組用クラスファイルの場合は、ここで\file{plext.sty}も読み込みます。
% \changes{v1.0e}{1996/03/21}{\cs{usepackage} to \cs{RequirePackage}}
-% \changes{v1.6-ltj-6}{2014/07/28}{Lua\TeX-jaでは,代わりに\file{lltjext.sty}を読み込みま
-% す.これは\file{plext.sty}をLua\TeX-ja用に書きなおしたものです.}
+
+% [2014-07-28 LTJ] Lua\TeX-jaでは、代わりに\file{lltjext.sty}を読み込みま
+% す。これは\file{plext.sty}をLua\TeX-ja用に書きなおしたものです。
% \begin{macrocode}
%<tate>\RequirePackage{lltjext}
%</article|report|book>
@@ -952,13 +961,13 @@
% 出力のPDFの用紙サイズをここで設定しておきます。
% |tombow|が真のときは2インチ足しておきます。
%
-% [2015-10-18 LTJ] Lua\TeX\ 0.81.0ではプリミティブの名称変更がされたので,
-% それに合わせておきます.
+% [2015-10-18 LTJ] Lua\TeX\ 0.81.0ではプリミティブの名称変更がされたので、
+% それに合わせておきます。
%
% [2016-07-19 LTJ] luatex.defが新しくなったことに対応するaminophenさんのパッチを取り込みました。
%
-% [2017-01-17 LTJ] [lt]jsclassesに合わせ,トンボオプションが指定されているとき「だけ」|\stockwidth|,
-% |\stockheight|を定義するようにしました。aminophenさん,ありがとうございます.
+% [2017-01-17 LTJ] [lt]jsclassesに合わせ、トンボオプションが指定されているとき「だけ」|\stockwidth|、
+% |\stockheight|を定義するようにしました。aminophenさん、ありがとうございます。
%
% \begin{macrocode}
\iftombow
@@ -4549,8 +4558,8 @@
% \pLaTeX\ 2018-12-01以前では縦数式ディレクション時でも漢数字で出力していましたが、
% \pLaTeX\ 2019-04-06以降からはそうしなくなりました。
%
-% \changes{v1.6-ltj-9}{2015/01/01}{縦組では,この漢数字による日付出力でエラーになりました.
-% Lua\TeX-ja では,\cs{kansuji}の後に\cs{number}を続けることは出来ないので\cs{number}を削除しました.}
+% [2015-01-01 LTJ] 縦組では、この漢数字による日付出力でエラーになりました。
+% Lua\TeX-ja では、\cs{kansuji}の後に\cs{number}を続けることは出来ないので\cs{number}を削除しました。
% \changes{v1.8b}{2019/04/02}{\cs{today}の計算・出力方法を変更。}
% \begin{macrocode}
\def\pltx@today@year@#1{%
@@ -4655,8 +4664,8 @@
% \changes{v1.0d}{1996/02/29}{articleとreportのデフォルトを
% \pstyle{plain}に修正}
% \changes{v1.4}{2002/04/09}{縦組スタイルで\cs{flushbottom}しないようにした}
-% \changes{v1.7d-ltj-13}{2017/02/19}{p\LaTeX とLua\TeX-jaの|\@makecol|が違うことを
-% 考慮していなかった}
+% [2017-02-19 LTJ] p\LaTeX とLua\TeX-jaの|\@makecol|が違うことを
+% 考慮していなかった。
% \begin{macrocode}
%<book>\pagestyle{headings}
%<!book>\pagestyle{plain}
diff --git a/macros/luatex/generic/luatexja/src/ltjsclasses.dtx b/macros/luatex/generic/luatexja/src/ltjsclasses.dtx
index f00552dfd8..ff2104c042 100644
--- a/macros/luatex/generic/luatexja/src/ltjsclasses.dtx
+++ b/macros/luatex/generic/luatexja/src/ltjsclasses.dtx
@@ -44,25 +44,12 @@
%<*driver>
\ProvidesFile{ltjsclasses.dtx}
%</driver>
- [2019/11/23 ltjsclasses ]
+ [2020/05/30 ltjsclasses ]
%<*driver>
\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
\documentclass[disablejfam]{ltjsarticle}
\usepackage{hypdoc}
\hypersetup{unicode=true}
-\begingroup
- \suppressfontnotfounderror=1
- \global\font\testfont=file:KozMinPr6N-Regular.otf
- \global\font\testfonta=file:HaranoAjiMincho-Regular.otf
-\endgroup
-\ifx\testfonta\nullfont\ifx\testfont\nullfont
- \usepackage[ipaex,nfssonly]{luatexja-preset}
-\else
- \usepackage[kozuka-pr6n,nfssonly]{luatexja-preset}
-\fi\else
- \usepackage[haranoaji,nfssonly]{luatexja-preset}
-\fi
-\let\testfont\undefined\let\testfonta\undefined
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\ltjsetparameter{alxspmode={`\*,allow}}
@@ -124,7 +111,7 @@
% \item \texttt{uplatex}オプション,\texttt{autodetect-engine}オプションを
% 削除してあります(前者ではエラーを出すようにしています)。
% \item \texttt{disablejfam}オプションはクラス側では何もしません(ただLua\TeX-ja本体に
-% 渡されるだけです).もし
+% 渡されるだけです)。もし
% \begin{quotation}
% |! LaTeX Error: Too many math alphabets used in version ****.|
% \end{quotation}
@@ -174,7 +161,7 @@
%
% [2016-07-21 LTJ] \LaTeX 等のロゴの再定義で,\texttt{jslogo}パッケージがあればそちらを読み込むことにしました。
%
-% [2016-10-13 LTJ] \texttt{slide}オプションの使用時にエラーが出るのを修正.
+% [2016-10-13 LTJ] \texttt{slide}オプションの使用時にエラーが出るのを修正。
%
% \StopEventually{}
%
@@ -414,8 +401,8 @@
%
% \texttt{noxreal},~\texttt{real}は旧来の互換性として今は残してありますが,2017年7月に削除する予定です。
%
-% [2018-01-14] \texttt{noxreal},~\texttt{real} を削除しました.また,内部命令の名称を
-% \texttt{jsclasses}に合わせました.
+% [2018-01-14] \texttt{noxreal},~\texttt{real} を削除しました。また,内部命令の名称を
+% \texttt{jsclasses}に合わせました。
%
% \begin{macrocode}
\newif\ifjsc@mag@xreal
@@ -604,10 +591,10 @@
% 読み込む必要があることに注意が必要です。
%
% [2018-10-08 LTJ] Lua\TeX-ja本体が\texttt{disablejfam}オプションをサポートしたので,
-% クラスファイルからは削除します.
+% クラスファイルからは削除します。
%
% [2019-08-12 LTJ] ……と思いましたが,``Unused global option(s): [disablejfam]''警告が
-% 出てしまいますので,「何もしない」クラスオプションとして形だけ定義します.
+% 出てしまいますので,「何もしない」クラスオプションとして形だけ定義します。
% \begin{macrocode}
%<*article|report|book>
\DeclareOption{disablejfam}{}
@@ -636,9 +623,9 @@
%
% [2016-11-09] pLaTeX / upLaTeX を自動判別するオプション \texttt{autodetect-engine} を新設しました。
%
-% [2016-11-24 LTJ] \texttt{autodetect-engine} はLua\TeX-jaでは意味がないので警告を表示させます.
+% [2016-11-24 LTJ] \texttt{autodetect-engine} はLua\TeX-jaでは意味がないので警告を表示させます。
%
-% [2018-07-30 LTJ] \texttt{uplatex} 指定時のエラーが正しく表示されなかったので修正しました.
+% [2018-07-30 LTJ] \texttt{uplatex} 指定時のエラーが正しく表示されなかったので修正しました。
%
% \begin{macrocode}
\newif\ifmingoth
@@ -803,14 +790,14 @@
% [2016-04-04 LTJ] NFSSへのパッチを修正。
%
% [2017-01-23 LTJ] \LaTeXe\ 2017-01-01以降ではTUエンコーディングが標準なので,
-% \texttt{type1cm}パッケージは読み込まないようにしました.
+% \texttt{type1cm}パッケージは読み込まないようにしました。
%
-% [2017-02-17 LTJ] |\directlua|中で出力される数字のカテゴリーコードが12になるようにしました.
-% この保証をしないと例えば\texttt{listings}パッケージで無限ループになります.
+% [2017-02-17 LTJ] |\directlua|中で出力される数字のカテゴリーコードが12になるようにしました。
+% この保証をしないと例えば\texttt{listings}パッケージで無限ループになります。
%
% [2018-07-02 LTJ] 10ptオプションが指定されており,
% 実際にはオプティカルサイズの補正が不要なときは「|xreal|オプションは指定されなかった」という
-% 扱いにしておきます.
+% 扱いにしておきます。
% \begin{macrocode}
\ifjsc@mag@xreal
\ifdim\jsc@mpt=\p@\jsc@mag@xrealfalse\else
@@ -958,9 +945,7 @@
% すればいいことになります。
%
% |\ltj@stdmcfont|,~|\ltj@stdgtfont| による,デフォルトで使われる明朝・ゴシックのフォントの
-% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではなく,
-% 何らかの理由で非埋め込みフォントが正しく利用できない場合にのみ\texttt{luatexja.cfg}によって
-% セットされるものです。
+% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではありません。
%
% [2014-07-26 LTJ] なお,現状のところ,縦組用JFMは\texttt{jfm-ujisv.lua}しか準備していません。
%
@@ -969,6 +954,7 @@
% [2017-12-31] 和文スケール($1\,\mathrm{zw} \div \hbox{要求サイズ}$)を
% 表す実数値マクロ |\Cjascale| を定義しました。
%
+% [2020-05-30] |\ltj@stdmcfont|の説明に古い記述があったので修正。
%
% これにより,公称10ポイントの和文フォントを0.924715倍したことにより,
% 約9.25ポイント,
@@ -979,15 +965,15 @@
% 和文フォントをPostScriptの9ポイントにするために,
% $0.9*72.27/72 \simeq 0.903375$ 倍します。
%
-% [2018-09-23 LTJ] 実際の|\Cjascale|の定義はLua\TeX-jaの読み込み前に移動しました.
+% [2018-09-23 LTJ] 実際の|\Cjascale|の定義はLua\TeX-jaの読み込み前に移動しました。
% こうすることによって「0.962216倍された和文フォント」という実際には使われない和文フォントを
-% 読み込む必要がなくなります.
+% 読み込む必要がなくなります。
%
%
-% 実際にフォントの再定義を行う部分です.
+% 実際にフォントの再定義を行う部分です。
%
% [2018-09-23 LTJ] |\Cjascale|の設定を前倒ししたことに伴い,実際の再定義は
-% \texttt{mingoth}, \texttt{ptexjis}のときしか必要なくなりました.
+% \texttt{mingoth}, \texttt{ptexjis}のときしか必要なくなりました。
%
% \begin{macrocode}
\expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
@@ -1062,7 +1048,7 @@
% \texttt{jsclasses}で行われていた |\textmc|, |\textgt| の再定義は不要のように思われます。
%
% \texttt{jsclasses.dtx}中で行われていた |\reDeclareMathAlphabet| の再定義は削除。
-% また,Yue ZHANGさん作の\texttt{fixjfm}パッケージ対応のコードもLua\TeX-jaでは削除しています.
+% また,Yue ZHANGさん作の\texttt{fixjfm}パッケージ対応のコードもLua\TeX-jaでは削除しています。
%
% \begin{macrocode}
\AtBeginDocument{%
@@ -5220,7 +5206,7 @@
% ため,うまく働きませんでした。形を変えて復活させます。
%
% [2017-04-03 LTJ] 従来クラスファイルで定義していた |\@inhibitglue| は,
-% Lua\TeX-jaのコアに |\ltjfakeparbegin| として正式に追加されたのでリネームします.
+% Lua\TeX-jaのコアに |\ltjfakeparbegin| として正式に追加されたのでリネームします。
%
% |\item| 命令の直後です。
%
@@ -5299,9 +5285,9 @@
%
% しかし単に戻すだけでも駄目みたいなので,ここでも最後にグルーを消しておきます。
%
-% [2016-12-05 LTJ] 本家[2016-11-29],lltjcore.styでの変更に追従させます.
+% [2016-12-05 LTJ] 本家[2016-11-29],lltjcore.styでの変更に追従させます。
%
-% [2017-02-18 LTJ] lltjcore.sty側で戻したのを忘れていました.
+% [2017-02-18 LTJ] lltjcore.sty側で戻したのを忘れていました。
% \begin{macrocode}
\def\@gnewline #1{%
\ifvmode
@@ -5678,7 +5664,7 @@
% \paragraph{ページ設定}
%
% ページ設定の初期化です。
-% |stfloats|パッケージがシステムにインストールされている場合は、このパッケージを使って
+% |stfloats|パッケージがシステムにインストールされている場合は,このパッケージを使って
% \pLaTeX の標準時と同じようにボトムフロートの下に脚注が組まれるようにします。
%
% [2017-02-19] \pLaTeX とLua\TeX-jaの|\@makecol|が違うことを
diff --git a/macros/luatex/generic/luatexja/src/luatexja-core.sty b/macros/luatex/generic/luatexja/src/luatexja-core.sty
index c8e5449c9b..4acc74cb32 100644
--- a/macros/luatex/generic/luatexja/src/luatexja-core.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja-core.sty
@@ -65,7 +65,7 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja-core}[2017/11/12 Core of LuaTeX-ja]
+ \ProvidesPackage{luatexja-core}[2020-07-27 Core of LuaTeX-ja]
\fi %</LaTeX>
%% Load prerequisite packages.
@@ -78,8 +78,8 @@
\RequirePackage{ltxcmds} [2011/11/09] % v1.22
\RequirePackage{pdftexcmds} [2011/11/29] % v0.20
\RequirePackage{xkeyval} [2012/10/14] % v2.6b
- \RequirePackage{atbegshi}
\RequirePackage{etoolbox}
+ \RequirePackage{lltjp-atbegshi}
\AtBeginShipoutInit
\IfFileExists{everyhook.sty}{\RequirePackage{everyhook}\ltj@everyhook@availtrue}{}
\else %<*!LaTeX>
@@ -88,7 +88,7 @@
\input ltxcmds.sty
\input pdftexcmds.sty
\input xkeyval
- \input atbegshi.sty
+ \input lltjp-atbegshi.sty
\AtBeginShipoutInit
\fi %</LaTeX>
\endlinechar=-1 %
@@ -426,7 +426,7 @@
\directlua{luatexja.jfmglue.diffmet_rule = math.two_paverage}\or
\directlua{luatexja.jfmglue.diffmet_rule = math.two_add}
\fi
-}{\ltj@PackageError{luatexja}{invalid argument `#1' for `differentjfm'}{%
+}{\@PackageError{luatexja}{invalid argument `#1' for `differentjfm'}{%
Argument for `differentjfm' must be one of `large', `small', `average',^^J%
`pleft', `pright', 'paverage' or `both'. }}
% large, small, average, pleft, pright, paverage, both
diff --git a/macros/luatex/generic/luatexja/src/luatexja.lua b/macros/luatex/generic/luatexja/src/luatexja.lua
index 1b3bd81612..988f51955e 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.lua
+++ b/macros/luatex/generic/luatexja/src/luatexja.lua
@@ -1,40 +1,30 @@
-
-require('lualibs')
-
+require 'lualibs'
------------------------------------------------------------------------
local function load_lua(fn)
local found = kpse.find_file(fn, 'tex')
if not found then
tex.error("LuaTeX-ja error: File `" .. fn .. "' not found")
else
- texio.write_nl('(' .. found .. ')')
- dofile(found)
+ texio.write_nl('(' .. found .. ')'); dofile(found)
end
end
luatexja.load_lua = load_lua
-function luatexja.load_module(name)
- require('ltj-' .. name.. '.lua')
-end
+function luatexja.load_module(name) require('ltj-' .. name.. '.lua') end
do
- local setfield = node.direct.setfield
- luatexja.setglue = node.direct.setglue or
- function(g,w,st,sh,sto,sho)
- setfield(g,'width', w or 0)
- setfield(g,'stretch',st or 0)
- setfield(g,'shrink', sh or 0)
- setfield(g,'stretch_order',sto or 0)
- setfield(g,'shrink_order', sho or 0)
- end
- local getfield = node.direct.getfield
- luatexja.getglue = node.direct.getglue or
- function(g)
- return getfield(g,'width'),
- getfield(g,'stretch'),
- getfield(g,'shrink'),
- getfield(g,'stretch_order'),
- getfield(g,'shrink_order')
- end
+ local setfield = node.direct.setfield
+ luatexja.setglue = node.direct.setglue or
+ function(g,w,st,sh,sto,sho)
+ setfield(g,'width', w or 0); setfield(g,'stretch',st or 0); setfield(g,'shrink', sh or 0)
+ setfield(g,'stretch_order',sto or 0)
+ setfield(g,'shrink_order', sho or 0)
+ end
+ local getfield = node.direct.getfield
+ luatexja.getglue = node.direct.getglue or
+ function(g)
+ return getfield(g,'width'), getfield(g,'stretch'), getfield(g,'shrink'),
+ getfield(g,'stretch_order'), getfield(g,'shrink_order')
+ end
end
--- 以下は全ファイルで共有される定数
@@ -44,8 +34,6 @@ icflag_table.ITALIC = 1
icflag_table.PACKED = 2
icflag_table.KINSOKU = 3
icflag_table.FROM_JFM = 4
--- FROM_JFM: 4, 5, 6, 7, 8 →優先度高(伸びやすく,縮みやすい)
--- 6 が標準
icflag_table.KANJI_SKIP = 68 -- = 4+64
icflag_table.KANJI_SKIP_JFM = 69
icflag_table.XKANJI_SKIP = 70
@@ -56,30 +44,30 @@ icflag_table.IC_PROCESSED = 74
icflag_table.BOXBDD = 75
icflag_table.PROCESSED_BEGIN_FLAG = 4096 -- sufficiently large power of 2
-local stack_table_index = {}
-luatexja.stack_table_index = stack_table_index
-stack_table_index.PRE = 0x200000 -- characterごと
-stack_table_index.POST = 0x400000 -- characterごと
-stack_table_index.KCAT = 0x600000 -- characterごと
-stack_table_index.XSP = 0x800000 -- characterごと
-stack_table_index.RIPRE = 0xA00000 -- characterごと,ruby pre
-stack_table_index.RIPOST = 0xC00000 -- characterごと,ruby post
-stack_table_index.JWP = 0 -- これだけ
-stack_table_index.KSK = 1 -- これだけ
-stack_table_index.XSK = 2 -- これだけ
-stack_table_index.MJT = 0x100 -- 0--255
-stack_table_index.MJS = 0x200 -- 0--255
-stack_table_index.MJSS = 0x300 -- 0--255
-stack_table_index.KSJ = 0x400 -- 0--9
-
-local userid_table = {}
-luatexja.userid_table = userid_table
-userid_table.IHB = luatexbase.newuserwhatsitid('inhibitglue', 'luatexja') -- \inhibitglue
-userid_table.STCK = luatexbase.newuserwhatsitid('stack_marker', 'luatexja') -- スタック管理
-userid_table.BPAR = luatexbase.newuserwhatsitid('begin_par', 'luatexja') -- 「段落始め」
-userid_table.DIR = luatexbase.newuserwhatsitid('direction', 'luatexja') -- 組方向
-userid_table.BOXB = luatexbase.newuserwhatsitid('box_boundary', 'luatexja') -- 「ボックス始め・終わり」
-userid_table.JA_AL_BDD = luatexbase.newuserwhatsitid('ja_al_boundary', 'luatexja')
+local stack_ind = {}
+luatexja.stack_table_index = stack_ind
+stack_ind.PRE = 0x200000 -- characterごと
+stack_ind.POST = 0x400000 -- characterごと
+stack_ind.KCAT = 0x600000 -- characterごと
+stack_ind.XSP = 0x800000 -- characterごと
+stack_ind.RIPRE = 0xA00000 -- characterごと,ruby pre
+stack_ind.RIPOST = 0xC00000 -- characterごと,ruby post
+stack_ind.JWP = 0 -- これだけ
+stack_ind.KSK = 1 -- これだけ
+stack_ind.XSK = 2 -- これだけ
+stack_ind.MJT = 0x100 -- 0--255
+stack_ind.MJS = 0x200 -- 0--255
+stack_ind.MJSS = 0x300 -- 0--255
+stack_ind.KSJ = 0x400 -- 0--9
+
+local uid_table = {}
+luatexja.userid_table = uid_table
+uid_table.IHB = luatexbase.newuserwhatsitid('inhibitglue', 'luatexja') -- \inhibitglue
+uid_table.STCK = luatexbase.newuserwhatsitid('stack_marker', 'luatexja') -- スタック管理
+uid_table.BPAR = luatexbase.newuserwhatsitid('begin_par', 'luatexja') -- 「段落始め」
+uid_table.DIR = luatexbase.newuserwhatsitid('direction', 'luatexja') -- 組方向
+uid_table.BOXB = luatexbase.newuserwhatsitid('box_boundary', 'luatexja') -- 「ボックス始め・終わり」
+uid_table.JA_AL_BDD = luatexbase.newuserwhatsitid('ja_al_boundary', 'luatexja')
local dir_table = {}
luatexja.dir_table = dir_table
@@ -90,28 +78,25 @@ dir_table.dir_math_mod = 8
dir_table.dir_node_auto = 128 -- 組方向を合わせるために自動で作られたもの
dir_table.dir_node_manual = 256 -- 寸法代入によって作られたもの
dir_table.dir_utod = dir_table.dir_tate + dir_table.dir_math_mod
- -- 「縦数式ディレクション」 in pTeX
+ -- 「縦数式ディレクション」 in pTeX
--- 定義終わり
local load_module = luatexja.load_module
-load_module('base'); local ltjb = luatexja.base
-load_module('rmlgbm'); local ltjr = luatexja.rmlgbm -- must be 1st
-
+load_module 'base'; local ltjb = luatexja.base
+load_module 'rmlgbm'; local ltjr = luatexja.rmlgbm -- must be 1st
if luatexja_debug then load_module('debug') end
-
-load_module('lotf_aux'); local ltju = luatexja.lotf_aux
-load_module('charrange'); local ltjc = luatexja.charrange
-load_module('stack'); local ltjs = luatexja.stack
-load_module('direction'); local ltjd = luatexja.direction -- +1 hlist +1 attr_list
-load_module('lineskip'); local ltjl = luatexja.lineskip -- +1 hlist +1 attr_list
-load_module('jfont'); local ltjf = luatexja.jfont
-load_module('inputbuf'); local ltji = luatexja.inputbuf
-load_module('pretreat'); local ltjp = luatexja.pretreat
-load_module('setwidth'); local ltjw = luatexja.setwidth
-load_module('jfmglue'); local ltjj = luatexja.jfmglue -- +1 glue +1 gs +1 attr_list
-load_module('math'); local ltjm = luatexja.math
-load_module('base'); local ltjb = luatexja.base
-
+load_module 'lotf_aux'; local ltju = luatexja.lotf_aux
+load_module 'charrange'; local ltjc = luatexja.charrange
+load_module 'stack'; local ltjs = luatexja.stack
+load_module 'direction'; local ltjd = luatexja.direction -- +1 hlist +1 attr_list
+load_module 'lineskip'; local ltjl = luatexja.lineskip -- +1 hlist +1 attr_list
+load_module 'jfont'; local ltjf = luatexja.jfont
+load_module 'inputbuf'; local ltji = luatexja.inputbuf
+load_module 'pretreat'; local ltjp = luatexja.pretreat
+load_module 'setwidth'; local ltjw = luatexja.setwidth
+load_module 'jfmglue'; local ltjj = luatexja.jfmglue -- +1 glue +1 gs +1 attr_list
+load_module 'math'; local ltjm = luatexja.math
+load_module 'base'; local ltjb = luatexja.base
local attr_jchar_class = luatexbase.attributes['ltj@charclass']
local attr_jchar_code = luatexbase.attributes['ltj@charcode']
@@ -122,24 +107,18 @@ local attr_uniqid = luatexbase.attributes['ltj@uniqid']
local attr_dir = luatexbase.attributes['ltj@dir']
local cat_lp = luatexbase.catcodetables['latex-package']
--- Three aux. functions, bollowed from tex.web
+-- Three aux. functions, borrowed from tex.web
-local unity=65536
local floor = math.floor
-
local function print_scaled(s)
- local out=''
- local delta=10
- if s<0 then
- out=out..'-'; s=-s
- end
- out=out..tostring(floor(s/unity)) .. '.'
- s=10*(s%unity)+5
+ local out, delta = '', 10
+ if s<0 then s, out = -s, out..'-' end
+ out=out..tostring(floor(s/65536)) .. '.'
+ s=10*(s%65536)+5
repeat
- if delta>unity then s=s+32768-50000 end
- out=out .. tostring(floor(s/unity))
- s=10*(s%unity)
- delta=delta*10
+ if delta>65536 then s=s+32768-50000 end
+ out=out .. tostring(floor(s/65536))
+ s=10*(s%65536); delta=delta*10
until s<=delta
return out
end
@@ -149,11 +128,8 @@ local function print_glue(d,order)
local out=print_scaled(d)
if order>0 then
out=out..'fi'
- while order>1 do
- out=out..'l'; order=order-1
- end
- else
- out=out..'pt'
+ while order>1 do out=out..'l'; order=order-1 end
+ else out=out..'pt'
end
return out
end
@@ -178,55 +154,55 @@ end
do
local tex_getattr = tex.getattribute
local function getattr(a)
- local r = tex.getattribute(a)
+ local r = tex_getattr(a)
return (r==-0x7FFFFFFF) and 0 or r
end
luatexja.unary_pars = {
yalbaselineshift = function(t)
- return print_scaled(getattr('ltj@yablshift'))..'pt'
+ return print_scaled(getattr('ltj@yablshift'))..'pt'
end,
yjabaselineshift = function(t)
- return print_scaled(getattr('ltj@ykblshift'))..'pt'
+ return print_scaled(getattr('ltj@ykblshift'))..'pt'
end,
talbaselineshift = function(t)
- return print_scaled(getattr('ltj@tablshift'))..'pt'
+ return print_scaled(getattr('ltj@tablshift'))..'pt'
end,
tjabaselineshift = function(t)
- return print_scaled(getattr('ltj@tkblshift'))..'pt'
+ return print_scaled(getattr('ltj@tkblshift'))..'pt'
end,
kanjiskip = function(t)
- return print_spec(ltjs.get_stack_skip(stack_table_index.KSK, t))
+ return print_spec(ltjs.get_stack_skip(stack_ind.KSK, t))
end,
xkanjiskip = function(t)
- return print_spec(ltjs.get_stack_skip(stack_table_index.XSK, t))
+ return print_spec(ltjs.get_stack_skip(stack_ind.XSK, t))
end,
jcharwidowpenalty = function(t)
- return ltjs.get_stack_table(stack_table_index.JWP, 0, t)
+ return ltjs.get_stack_table(stack_ind.JWP, 0, t)
end,
autospacing = function(t)
- return getattr('ltj@autospc')
+ return getattr('ltj@autospc')
end,
autoxspacing = function(t)
- return getattr('ltj@autoxspc')
+ return getattr('ltj@autoxspc')
end,
differentjfm = function(t)
- local f, r = luatexja.jfmglue.diffmet_rule, '???'
- if f == math.max then r = 'large'
- elseif f == math.min then r = 'small'
- elseif f == math.two_average then r = 'average'
- elseif f == math.two_paverage then r = 'paverage'
- elseif f == math.two_pleft then r = 'pleft'
- elseif f == math.two_pright then r = 'pright'
- elseif f == math.two_add then r = 'both'
- end
- return r
+ local f, r = luatexja.jfmglue.diffmet_rule, '???'
+ if f == math.max then r = 'large'
+ elseif f == math.min then r = 'small'
+ elseif f == math.two_average then r = 'average'
+ elseif f == math.two_paverage then r = 'paverage'
+ elseif f == math.two_pleft then r = 'pleft'
+ elseif f == math.two_pright then r = 'pright'
+ elseif f == math.two_add then r = 'both'
+ end
+ return r
end,
direction = function()
- local v = ltjd.get_dir_count()
- if math.abs(tex.nest[tex.nest.ptr].mode) == ltjs.mmode and v == dir_table.dir_tate then
- v = dir_table.dir_utod
- end
- return v
+ local v = ltjd.get_dir_count()
+ if math.abs(tex.nest[tex.nest.ptr].mode) == ltjs.mmode and v == dir_table.dir_tate then
+ v = dir_table.dir_utod
+ end
+ return v
end,
adjustdir = ltjd.get_adjust_dir_count,
}
@@ -236,7 +212,7 @@ do
function luatexja.ext_get_parameter_unary()
local k= scan_arg()
if unary_pars[k] then
- tex.write(tostring(unary_pars[k](tex.getcount('ltj@@stack'))))
+ tex.write(tostring(unary_pars[k](tex.getcount('ltj@@stack'))))
end
ltjb.stop_time_measure('get_par')
end
@@ -247,44 +223,40 @@ end
do
luatexja.binary_pars = {
jacharrange = function(c, t)
- if type(c)~='number' or c<-1 or c>31*ltjc.ATTR_RANGE then
- -- 0, -1 はエラーにしない(隠し)
- ltjb.package_error('luatexja',
- 'invalid character range number (' .. tostring(c) .. ')',
- 'A character range number should be in the range 1..'
- .. 31*ltjc.ATTR_RANGE .. ",\n"..
- 'So I changed this one to ' .. 31*ltjc.ATTR_RANGE .. ".")
- c=0 -- external range 217 == internal range 0
- elseif c==31*ltjc.ATTR_RANGE then c=0
- end
+ if type(c)~='number' or c<-1 or c>31*ltjc.ATTR_RANGE then
+ -- 0, -1 はエラーにしない(隠し)
+ ltjb.package_error('luatexja',
+ 'invalid character range number (' .. tostring(c) .. ')',
+ 'A character range number should be in the range 1..'
+ .. 31*ltjc.ATTR_RANGE .. ",\n"..
+ 'So I changed this one to ' .. 31*ltjc.ATTR_RANGE .. ".")
+ c=0 -- external range 217 == internal range 0
+ elseif c==31*ltjc.ATTR_RANGE then c=0
+ end
-- 負の値は <U+0080 の文字の文字範囲,として出てくる.この時はいつも欧文文字なので 1 を返す
- return (c<0) and 1 or ltjc.get_range_setting(c)
+ return (c<0) and 1 or ltjc.get_range_setting(c)
end,
prebreakpenalty = function(c, t)
- return ltjs.get_stack_table(stack_table_index.PRE
- + ltjb.in_unicode(c, true), 0, t)
+ return ltjs.get_stack_table(stack_ind.PRE + ltjb.in_unicode(c, true), 0, t)
end,
postbreakpenalty = function(c, t)
- return ltjs.get_stack_table(stack_table_index.POST
- + ltjb.in_unicode(c, true), 0, t)
+ return ltjs.get_stack_table(stack_ind.POST + ltjb.in_unicode(c, true), 0, t)
end,
kcatcode = function(c, t)
- return ltjs.get_stack_table(stack_table_index.KCAT
- + ltjb.in_unicode(c, false), 0, t)
+ return ltjs.get_stack_table(stack_ind.KCAT + ltjb.in_unicode(c, false), 0, t)
end,
chartorange = function(c, t)
- return ltjc.char_to_range(ltjb.in_unicode(c, false))
+ return ltjc.char_to_range(ltjb.in_unicode(c, false))
end,
jaxspmode = function(c, t)
- return ltjs.get_stack_table(stack_table_index.XSP
- + ltjb.in_unicode(c, true), 3, t)
+ return ltjs.get_stack_table(stack_ind.XSP + ltjb.in_unicode(c, true), 3, t)
end,
boxdir = function(c, t)
- if type(c)~='number' or c<0 or c>65535 then
+ if type(c)~='number' or c<0 or c>65535 then
ltjb.package_error('luatexja',
'Bad register code (' .. tostring(c) .. ')',
'A register must be between 0 and 65535.\n'..
- 'I changed this one to zero.')
+ 'I changed this one to zero.')
c=0
end
return ltjd.get_register_dir(c)
@@ -295,7 +267,7 @@ do
binary_pars.alxspmode = binary_pars.jaxspmode
function luatexja.ext_get_parameter_binary(k, c)
if binary_pars[k] then
- tex.write(tostring(binary_pars[k](c,tex.getcount('ltj@@stack'))))
+ tex.write(tostring(binary_pars[k](c,tex.getcount('ltj@@stack'))))
end
ltjb.stop_time_measure('get_par')
end
@@ -321,11 +293,10 @@ do
ensure_tex_attr(attr_icflag, 0)
if gc == 'fin_row' then return head
else
- --luatexja.ext_show_node_list(head, 'T> ', print)
- start_time_measure('jfmglue')
- local p = ltjj.main(to_direct(head),mode, dir)
- stop_time_measure('jfmglue')
- return to_node(p)
+ start_time_measure('jfmglue')
+ local p = ltjj.main(to_direct(head),mode, dir)
+ stop_time_measure('jfmglue')
+ return to_node(p)
end
end
@@ -340,27 +311,24 @@ do
ltjb.add_to_callback(
'pre_linebreak_filter',
function (head,groupcode)
- return main_process(head, true, tex.textdir, groupcode)
+ return main_process(head, true, tex.textdir, groupcode)
end,'ltj.main',
luatexbase.priority_in_callback('pre_linebreak_filter', 'luaotfload.node_processor')+1)
ltjb.add_to_callback(
'hpack_filter',
function (head,groupcode,size,packtype, dir)
- return main_process(head, false, dir, groupcode)
+ return main_process(head, false, dir, groupcode)
end,'ltj.main',
luatexbase.priority_in_callback('hpack_filter', 'luaotfload.node_processor')+1)
ltjb.add_to_callback('pre_linebreak_filter', adjust_icflag, 'ltj.adjust_icflag', 1)
ltjb.add_to_callback('hpack_filter', adjust_icflag, 'ltj.adjust_icflag', 1)
-
end
-- cleanup process
function luatexja.ext_cleanup()
- ltjf.cleanup_size_cache()
- ltjd.remove_end_whatsit()
+ ltjf.cleanup_size_cache(); ltjd.remove_end_whatsit()
end
-
-- lastnodechar
do
local id_glyph = node.id('glyph')
@@ -368,12 +336,12 @@ do
local n = tex.nest[tex.nest.ptr].tail
local r = '-1'
if n then
- if n.id==id_glyph then
- while n.componetns and n.subtype and n.subtype%4 >= 2 do
- n = node.tail(n)
- end
- r = tostring(n.char)
- end
+ if n.id==id_glyph then
+ while n.componetns and n.subtype and n.subtype%4 >= 2 do
+ n = node.tail(n)
+ end
+ r = tostring(n.char)
+ end
end
tex.sprint(r)
end
@@ -398,24 +366,20 @@ local id_math = node.id('math')
local id_whatsit = node.id('whatsit')
local sid_user = node.subtype('user_defined')
-local function get_attr_icflag(p)
- return (has_attr(p, attr_icflag) or 0) % icflag_table.PROCESSED_BEGIN_FLAG
-end
-
local prefix, inner_depth
local utfchar = utf.char
local function debug_show_node_X(p,print_fn, limit, inner_depth)
local k = prefix
local s
- local pt=node_type(p.id)
- local base = prefix .. string.format('%X', get_attr_icflag(p))
+ local pt, pic = node_type(p.id), (has_attr(p, attr_icflag) or 0) % icflag_table.PROCESSED_BEGIN_FLAG
+ local base = prefix .. string.format('%X', pic)
.. ' ' .. pt .. ' ' .. tostring(p.subtype) .. ' '
if pt == 'glyph' then
- s = base .. ' ' ..
- (p.char<0xF0000 and utfchar(p.char) or '')
- .. string.format(' (U+%X) ', p.char)
- .. tostring(p.font) .. ' (' .. print_scaled(p.height) .. '+'
- .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width)
+ s = base .. ' '
+ .. (p.char<0xF0000 and utfchar(p.char) or '')
+ .. string.format(' (U+%X) ', p.char)
+ .. tostring(p.font) .. ' (' .. print_scaled(p.height) .. '+'
+ .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width)
if p.xoffset~=0 or p.yoffset~=0 then
s = s .. ' off: (' .. print_scaled(p.xoffset)
.. ',' .. print_scaled(p.yoffset) .. ')'
@@ -423,13 +387,13 @@ local function debug_show_node_X(p,print_fn, limit, inner_depth)
print_fn(s)
elseif pt=='hlist' or pt=='vlist' or pt=='unset'or pt=='ins' then
if pt=='ins' then
- s = base .. '(' .. print_scaled(p.height) .. '+'
- .. print_scaled(p.depth) .. ')'
- .. ', dir=' .. tostring(node.has_attribute(p, attr_dir))
+ s = base .. '(' .. print_scaled(p.height) .. '+'
+ .. print_scaled(p.depth) .. ')'
+ .. ', dir=' .. tostring(node.has_attribute(p, attr_dir))
else
- s = base .. '(' .. print_scaled(p.height) .. '+'
- .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width)
- .. ', dir=' .. tostring(node.has_attribute(p, attr_dir))
+ s = base .. '(' .. print_scaled(p.height) .. '+'
+ .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width)
+ .. ', dir=' .. tostring(node.has_attribute(p, attr_dir))
end
if (p.shift or 0)~=0 then
s = s .. ', shifted ' .. print_scaled(p.shift)
@@ -438,125 +402,116 @@ local function debug_show_node_X(p,print_fn, limit, inner_depth)
s = s .. ' glue set '
if p.glue_sign == 2 then s = s .. '-' end
s = s .. tostring(floor(p.glue_set*10000)/10000)
- if p.glue_order == 0 then
- s = s .. 'pt'
+ if p.glue_order == 0 then s = s .. 'pt'
else
s = s .. 'fi'
- for i = 2, p.glue_order do s = s .. 'l' end
+ for i = 2, p.glue_order do s = s .. 'l' end
end
end
- if get_attr_icflag(p) == icflag_table.PACKED then
- s = s .. ' (packed)'
- end
+ if pic == icflag_table.PACKED then s = s .. ' (packed)' end
print_fn(s);
local bid = inner_depth
prefix, inner_depth = prefix.. '.', inner_depth + 1
if inner_depth < limit then
- for q in node.traverse(p.head) do
- debug_show_node_X(q, print_fn, limit, inner_depth)
- end
+ for q in node.traverse(p.head) do
+ debug_show_node_X(q, print_fn, limit, inner_depth)
+ end
end
prefix=k
elseif pt=='rule' then
s = base .. '(' .. print_scaled(p.height) .. '+'
.. print_scaled(p.depth) .. ')x' .. print_scaled(p.width)
- .. ', dir=' .. tostring(node.has_attribute(p, attr_dir))
+ .. ', dir=' .. tostring(node.has_attribute(p, attr_dir))
print_fn(s)
elseif pt=='disc' then
print_fn(s)
local bid = inner_depth
if inner_depth < limit then
prefix, inner_depth = k.. 'p.', inner_depth + 1
- for q in node.traverse(p.pre) do
- debug_show_node_X(q, print_fn, limit, inner_depth)
- end
+ for q in node.traverse(p.pre) do
+ debug_show_node_X(q, print_fn, limit, inner_depth)
+ end
prefix = k.. 'P.'
- for q in node.traverse(p.post) do
- debug_show_node_X(q, print_fn, limit, inner_depth)
- end
+ for q in node.traverse(p.post) do
+ debug_show_node_X(q, print_fn, limit, inner_depth)
+ end
prefix = k.. 'R.'
- for q in node.traverse(p.replace) do
- debug_show_node_X(q, print_fn, limit, inner_depth)
- end
+ for q in node.traverse(p.replace) do
+ debug_show_node_X(q, print_fn, limit, inner_depth)
+ end
end
prefix=k
elseif pt == 'glue' then
s = base .. ' ' .. print_spec(p)
- if get_attr_icflag(p)>icflag_table.KINSOKU
- and get_attr_icflag(p)<icflag_table.KANJI_SKIP then
- s = s .. ' (from JFM: priority ' .. get_attr_icflag(p)-icflag_table.FROM_JFM .. ')'
- elseif get_attr_icflag(p)==icflag_table.KANJI_SKIP then
- s = s .. ' (kanjiskip)'
- elseif get_attr_icflag(p)==icflag_table.KANJI_SKIP_JFM then
- s = s .. ' (kanjiskip, JFM specified)'
- elseif get_attr_icflag(p)==icflag_table.XKANJI_SKIP then
- s = s .. ' (xkanjiskip)'
- elseif get_attr_icflag(p)==icflag_table.XKANJI_SKIP_JFM then
- s = s .. ' (xkanjiskip, JFM specified)'
+ if pic>icflag_table.KINSOKU and pic<icflag_table.KANJI_SKIP then
+ s = s .. ' (from JFM: priority ' .. pic-icflag_table.FROM_JFM .. ')'
+ elseif pic==icflag_table.KANJI_SKIP then
+ s = s .. ' (kanjiskip)'
+ elseif pic==icflag_table.KANJI_SKIP_JFM then
+ s = s .. ' (kanjiskip, JFM specified)'
+ elseif pic==icflag_table.XKANJI_SKIP then
+ s = s .. ' (xkanjiskip)'
+ elseif pic==icflag_table.XKANJI_SKIP_JFM then
+ s = s .. ' (xkanjiskip, JFM specified)'
end
print_fn(s)
elseif pt == 'kern' then
s = base .. ' ' .. print_scaled(p.kern) .. 'pt'
if p.subtype==2 then
- s = s .. ' (for accent)'
- elseif get_attr_icflag(p)==icflag_table.IC_PROCESSED then
- s = s .. ' (italic correction)'
- elseif get_attr_icflag(p)==icflag_table.LINEEND then
- s = s .. ' (end-of-line)'
- -- elseif get_attr_icflag(p)==ITALIC then
- -- s = s .. ' (italic correction)'
- elseif get_attr_icflag(p)>icflag_table.KINSOKU
- and get_attr_icflag(p)<icflag_table.KANJI_SKIP then
- s = s .. ' (from JFM: priority ' .. get_attr_icflag(p)-icflag_table.FROM_JFM .. ')'
+ s = s .. ' (for accent)'
+ elseif pic==icflag_table.IC_PROCESSED then
+ s = s .. ' (italic correction)'
+ elseif pic==icflag_table.LINEEND then
+ s = s .. ' (end-of-line)'
+ elseif pic>icflag_table.KINSOKU
+ and pic<icflag_table.KANJI_SKIP then
+ s = s .. ' (from JFM: priority ' .. pic-icflag_table.FROM_JFM .. ')'
end
print_fn(s)
elseif pt == 'penalty' then
s = base .. ' ' .. tostring(p.penalty)
- if get_attr_icflag(p)==icflag_table.KINSOKU then
- s = s .. ' (for kinsoku)'
- end
+ if pic==icflag_table.KINSOKU then s = s .. ' (for kinsoku)' end
print_fn(s)
elseif pt == 'dir' then
- s = base .. ' ' .. tostring(p.dir) .. ' (level ' .. tostring(p.level) .. ')'
- print_fn(s)
+ print_fn(base .. ' ' .. tostring(p.dir) .. ' (level ' .. tostring(p.level) .. ')')
elseif pt == 'whatsit' then
s = base
if p.subtype==sid_user then
- local t = tostring(p.user_id) .. ' (' ..
- luatexbase.get_user_whatsit_name(p.user_id) .. ') '
+ local t = tostring(p.user_id) .. ' (' ..
+ luatexbase.get_user_whatsit_name(p.user_id) .. ') '
if p.type ~= 110 then
s = s .. ' userid:' .. t .. p.value
print_fn(s)
else
s = s .. ' userid:' .. t .. '(node list)'
- if p.user_id==userid_table.DIR then
- s = s .. ' dir: ' .. tostring(node.has_attribute(p, attr_dir))
- end
+ if p.user_id==uid_table.DIR then
+ s = s .. ' dir: ' .. tostring(node.has_attribute(p, attr_dir))
+ end
print_fn(s)
- local bid = inner_depth
- prefix, inner_depth =prefix.. '.', inner_depth + 1
+ local bid = inner_depth
+ prefix, inner_depth = prefix.. '.', inner_depth + 1
if inner_depth < limit then
- for q in node.traverse(p.value) do
- debug_show_node_X(q, print_fn, limit, inner_depth)
- end
- end
+ for q in node.traverse(p.value) do
+ debug_show_node_X(q, print_fn, limit, inner_depth)
+ end
+ end
prefix, inner_depth = k, bid
end
else
s = s .. (node.subtype(p.subtype) or '')
- if p.subtype==1 then
- s = s .. ' stream=' .. p.stream
- print_fn(s)
- for i=1,#p.data do
- print_fn(s .. ' [' .. i .. '] = ' .. tostring(p.data[i].csname))
- end
- else
- print_fn(s)
- end
+ if p.subtype==1 then
+ s = s .. ' stream=' .. p.stream
+ print_fn(s)
+ for i=1,#p.data do
+ print_fn(s .. ' [' .. i .. '] = ' .. tostring(p.data[i].csname))
+ end
+ else
+ print_fn(s)
+ end
end
-------- math node --------
elseif pt=='noad' then
- s = base ; print_fn(s)
+ print_fn(base)
if p.nucleus then
prefix = k .. 'N'; debug_show_node_X(p.nucleus, print_fn, limit, inner_depth);
end
@@ -574,9 +529,9 @@ local function debug_show_node_X(p,print_fn, limit, inner_depth)
print_fn(base)
if p.head then
prefix = k .. '.';
- for q in node.traverse(p.head) do
- debug_show_node_X(q, print_fn, limit, inner_depth)
- end
+ for q in node.traverse(p.head) do
+ debug_show_node_X(q, print_fn, limit, inner_depth)
+ end
end
else
print_fn(base)
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index da8ecf7c89..d51b575f76 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -35,13 +35,13 @@
\expandafter\let\csname ifltj@in@latex\expandafter\endcsname
\csname iftrue\endcsname
\NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{luatexja}[2020-04-12 Japanese Typesetting with Lua(La)TeX]
+ \ProvidesPackage{luatexja}[2020-08-02 Japanese Typesetting with Lua(La)TeX]
\DeclareOption{disablejfam}{\ltj@disablejfamtrue}
\DeclareOption*{}
\ProcessOptions\relax
\fi %</LaTeX>
%%%% VERSION
-\def\LuaTeXjaversion{20200518.0}
+\def\LuaTeXjaversion{20200802.0}
\directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty b/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
index 29f38b367a..e0dba37547 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
@@ -101,15 +101,15 @@
\def\@ltj@hook@family#1#2{ % #1: csname #2: contents
\ifcsname @#1hook\endcsname % LaTeX 2020-02-02
- \csappto{@#1hook}{#2}%
+ \csappto{@#1hook}{#2}%
\else % LaTeX 2019-10-01
- \ifcsname #1 \endcsname
- \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
- \else
- \PackageWarningNoLine{luatexja}{%
- Patching to \expandafter\string\csname #1\endcsname\space failed%
- }%
- \fi
+ \ifcsname #1 \endcsname
+ \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
+ \else
+ \PackageWarningNoLine{luatexja}{%
+ Patching to \expandafter\string\csname #1\endcsname\space failed%
+ }%
+ \fi
\fi
}
\@ltj@hook@family{rmfamily}{%
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
index 9be20e440c..3578a84396 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
@@ -287,16 +287,16 @@
\every@math@size{}%
\fontsize{#6}\z@
\ltj@@is@kyenc{#2}\ifin@%
- \ltjselectfont@force@definetrue
+ \ltjselectfont@force@definetrue
\usekanji{#2}{#3}{#4}{#5}%
\global\let#1\getjfont
- \ltjselectfont@force@definefalse
+ \ltjselectfont@force@definefalse
\else
\ltj@@is@ktenc{#2}\ifin@%
- \ltjselectfont@force@definetrue
+ \ltjselectfont@force@definetrue
\usekanji{#2}{#3}{#4}{#5}%
\global\let#1\gettfont
- \ltjselectfont@force@definefalse
+ \ltjselectfont@force@definefalse
\else
\useroman{#2}{#3}{#4}{#5}%
\global\expandafter\let\expandafter#1\the\font
@@ -379,7 +379,7 @@
\xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
\pickup@jfont
\unless\ifnum\ltjgetparameter{direction}=3 \font@name
- \ltj@@does@alt@set{\curr@kfontshape}{%
+ \ltj@@does@alt@set{\curr@kfontshape}{%
% alt fonts の定義
\directlua{luatexja.jfont.output_alt_font_cmd('y', '\luatexluaescapestring{\curr@kfontshape}')}%
% 定義した alt fonts のデータを \ltjdeclarealtfont に渡すのと同等の処理をする
@@ -432,14 +432,14 @@
\bgroup
\def\ltj@@dir@patch#1#2#3{%
\global\csletcs{ltj@@orig@#1}{#1}%
- \protected\expandafter\xdef\csname #1\endcsname{%
- \csname ltj@@orig@#1\endcsname
+ \protected\expandafter\xdef\csname #1\endcsname{%
+ \csname ltj@@orig@#1\endcsname
\unexpanded{\ifnum#3<\z@\let\ltj@@protect\protect\set@typeset@protect}%
\unexpanded{\global\let\ltj@afont@name=\font@name}%
- \expandonce{\csname ltj@selectfont@#2\endcsname}%
+ \expandonce{\csname ltj@selectfont@#2\endcsname}%
\unexpanded{\global\let\font@name=\ltj@afont@name}%
\unexpanded{\let\protect\ltj@@protect\fi}%
- }%
+ }%
}
\ltj@@dir@patch{yoko}{yoko}{\ltj@curjfnt}
\ltj@@dir@patch{tate}{tate}{\ltj@curtfnt}
@@ -601,7 +601,7 @@
\else
\@tempswafalse
\def\cdp@elt##1{\ifcsname ##1+#1\endcsname%
- \@tempswatrue\def\cdp@elt####1\relax{}%
+ \@tempswatrue\def\cdp@elt####1\relax{}%
\fi}%
\directlua{luatexja.jfont.search_ffam_declared()}\relax%
\if@tempswz
@@ -659,8 +659,8 @@
}
\else % !!! pl 3, 4
\def\set@target@series@kanji#1{%
- \edef\k@series{#1}%
- \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}%
+ \edef\k@series{#1}%
+ \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}%
}
\fi\fi
@@ -670,7 +670,7 @@
\set@target@series@kanji{#2}%
\else
\begingroup\let\f@encoding\k@encoding\let\f@family\k@family
- \maybe@load@fontshape\endgroup
+ \maybe@load@fontshape\endgroup
\edef\reserved@a{\k@encoding /\k@family /#1/\k@shape}%
\ifcsname \reserved@a \endcsname
\set@target@series@kanji{#1}%
@@ -702,7 +702,7 @@
\fi
\else
\begingroup\let\f@encoding\k@encoding\let\f@family\k@family
- \maybe@load@fontshape\endgroup
+ \maybe@load@fontshape\endgroup
\edef\reserved@a{\k@encoding /\k@family /\k@series/#1}%
\ifcsname \reserved@a\endcsname
\edef\k@shape{#1}%
@@ -965,8 +965,8 @@
\let\extract@afont\extract@font
\def\pickup@jfont{%
\ifnum
- \unless\ifnum\ltjgetparameter{direction}=3 1\else
- \ifltjselectfont@force@define 1\else 0\fi\fi =1 %
+ \unless\ifnum\ltjgetparameter{direction}=3 1\else
+ \ifltjselectfont@force@define 1\else 0\fi\fi =1 %
\expandafter \ifx \font@name \relax
\let\extract@font\extract@jfont
\define@newfont
@@ -974,20 +974,20 @@
\fi
\let\getjfont\font@name
\else
- \begingroup\escapechar\m@ne
- \ifcsname ltj@@fontjfm/\expandafter\string\font@name\endcsname\else
- \let\extract@font\extract@jfont@onlyjfm
- \define@newfont
- \let\extract@font\extract@afont
- \fi
- \endgroup
- \csname ltj@@fontjfm/\expandafter\expandafter\expandafter\@gobble\expandafter\string\font@name\endcsname
+ \begingroup\escapechar\m@ne
+ \ifcsname ltj@@fontjfm/\expandafter\string\font@name\endcsname\else
+ \let\extract@font\extract@jfont@onlyjfm
+ \define@newfont
+ \let\extract@font\extract@afont
+ \fi
+ \endgroup
+ \csname ltj@@fontjfm/\expandafter\expandafter\expandafter\@gobble\expandafter\string\font@name\endcsname
\fi
}
\def\pickup@tfont{%
\ifnum
- \ifnum\ltjgetparameter{direction}=3 1\else
- \ifltjselectfont@force@define 1\else 0\fi\fi =1 %
+ \ifnum\ltjgetparameter{direction}=3 1\else
+ \ifltjselectfont@force@define 1\else 0\fi\fi =1 %
\expandafter \ifx \font@name \relax
\let\extract@font\extract@tfont
\define@newfont
@@ -995,14 +995,14 @@
\fi
\let\gettfont\font@name
\else
- \begingroup\escapechar\m@ne
- \ifcsname ltj@@fontjfm/\expandafter\string\font@name\endcsname\else
- \let\extract@font\extract@tfont@onlyjfm
- \define@newfont
- \let\extract@font\extract@afont
- \fi
- \endgroup
- \csname ltj@@fontjfm/\expandafter\expandafter\expandafter\@gobble\expandafter\string\font@name\endcsname
+ \begingroup\escapechar\m@ne
+ \ifcsname ltj@@fontjfm/\expandafter\string\font@name\endcsname\else
+ \let\extract@font\extract@tfont@onlyjfm
+ \define@newfont
+ \let\extract@font\extract@afont
+ \fi
+ \endgroup
+ \csname ltj@@fontjfm/\expandafter\expandafter\expandafter\@gobble\expandafter\string\font@name\endcsname
\fi
}
@@ -1010,18 +1010,18 @@
% わざと「ゴミをつける」
\def\ltj@@patch@external@font#1 at{%
\directlua{
- local s = '\luatexluaescapestring{#1}'
- local is_braced, is_quoted
- if s:sub(1,1)=='{' and s:sub(-1)=='}' then is_braced=true; s=s:sub(2,-2) end
- if s:sub(1,1)=='"' and s:sub(-1)=='"' then is_quoted=true; s=s:sub(2,-2) end
- s=s..luatexja.jfont.print_aftl_address()
- if is_braced then s='{'..s..'}' elseif is_quoted then s='"'..s..'"' end
- %print(s, is_quoted, is_braced)
+ local s = '\luatexluaescapestring{#1}'
+ local is_braced, is_quoted
+ if s:sub(1,1)=='{' and s:sub(-1)=='}' then is_braced=true; s=s:sub(2,-2) end
+ if s:sub(1,1)=='"' and s:sub(-1)=='"' then is_quoted=true; s=s:sub(2,-2) end
+ s=s..luatexja.jfont.print_aftl_address()
+ if is_braced then s='{'..s..'}' elseif is_quoted then s='"'..s..'"' end
+ %print(s, is_quoted, is_braced)
tex.sprint(-2, s)}%
\space at%
}
\def\extract@jfont{%
- \get@external@font
+ \get@external@font
\ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}{%
\edef\external@font{\expandafter\ltj@@patch@external@font\external@font}%
}%
@@ -1029,7 +1029,7 @@
\csname \f@encoding+\f@family\endcsname
\csname\curr@fontshape\endcsname}
\def\extract@tfont{%
- \get@external@font
+ \get@external@font
\ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}{%
\edef\external@font{\expandafter\ltj@@patch@external@font\external@font}%
}%
@@ -1044,15 +1044,15 @@
}
\luadef\ltj@@jfont@@jfmonly \ltj@@jfont@@jfmonly@@inner
\def\extract@jfont@onlyjfm{%
- \get@external@font
- \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{%
- \ltj@@jfont@@jfmonly{\external@font}{yoko}%
- }}
+ \get@external@font
+ \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{%
+ \ltj@@jfont@@jfmonly{\external@font}{yoko}%
+}}
\def\extract@tfont@onlyjfm{%
- \get@external@font
- \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{%
- \ltj@@jfont@@jfmonly{\external@font}{tate}%
- }}
+ \get@external@font
+ \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{%
+ \ltj@@jfont@@jfmonly{\external@font}{tate}%
+}}
\let\ltj@@al@do@subst@correction=\do@subst@correction
\def\ltj@@ja@do@subst@correction{%
@@ -1106,7 +1106,7 @@
\math@bgroup
\expandafter\ifx\csname M@\f@encoding\endcsname#1\else
#1\fi\ltj@tempcnta=#2
- \expandafter\ltj@@mathJapaneseFonts\string#1/\relax%
+ \expandafter\ltj@@mathJapaneseFonts\string#1/\relax%
\ifin@\jfam#2\relax\else\mathgroup#2\relax\fi
\expandafter\math@egroup\fi}%
@@ -1138,7 +1138,7 @@
\the\ltj@tempcnta,\the\ltj@tempcntb,
'\luatexluaescapestring{\ltj@temp@afont}',
'\luatexluaescapestring{\ltj@temp@bfont}')}%
- }
+}
%%%% \ClearAlternateKanjiFont<Benc><Bfam><Bser><Bshape>
% いつも global
@@ -1161,59 +1161,4 @@
\ltj@@getjfontnumber#1%
\directlua{luatexja.jfont.pickup_alt_font_b(\the\ltj@tempcntc,'\luatexluaescapestring{#2}')}%
}
-
-%%%% patch \@text@composite because of {y,t}albaselineshift
-
-% %% \pltx@isletter from plfonts.dtx
-% \def\pltx@mark{\pltx@mark@}
-% \let\pltx@scanstop\relax
-% \long\def\pltx@cond#1\fi{%
-% #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
-% \long\def\pltx@isletter#1{%
-% \expandafter\pltx@isletter@i#1\pltx@scanstop}
-% \long\def\pltx@isletter@i#1\pltx@scanstop{%
-% \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi{\@firstoftwo}%
-% {\pltx@isletter@ii\pltx@scanstop#1\pltx@scanstop{}#1\pltx@mark}}
-% \long\def\pltx@isletter@ii#1\pltx@scanstop#{%
-% \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi%
-% {\pltx@isletter@iii}{\pltx@isletter@iv}}
-% \long\def\pltx@isletter@iii#1\pltx@mark{\@secondoftwo}
-% \long\def\pltx@isletter@iv#1#2#3\pltx@mark{%
-% \pltx@cond\ifx\pltx@mark#3\pltx@mark\fi{%
-% \pltx@cond{\ifnum0\ifcat A\noexpand#21\fi\ifcat=\noexpand#21\fi>\z@}\fi
-% {\@firstoftwo}{\@secondoftwo}%
-% }{\@secondoftwo}}
-%
-% \def\@text@composite@x#1#2{%
-% \ifx#1\relax
-% #2%
-% \else\pltx@isletter{#1}{#1}{%
-% \begingroup
-% \setbox\z@\hbox\bgroup%
-% \ltj@yablshift\z@ \ltj@tablshift\z@
-% #1%
-% \@tempcntb\directlua{luatexja.pltx_composite_last_node_char()}%)
-% \xdef\pltx@composite@temp{\noexpand\@tempcntb=\the\@tempcntb\relax}%
-% \aftergroup\pltx@composite@temp
-% \egroup
-% \ifnum\ltjgetparameter{direction}=3 %
-% \@tempdima=\ltj@tablshift sp\else\@tempdima=\ltj@yablshift sp\fi
-% \ifnum\@tempcntb<\z@\@tempcnta\z@\else
-% \@tempcnta=\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{\@tempcntb}}\relax
-% \ifnum\@tempcnta=\z@\@tempdima\z@\fi
-% \fi
-% \ifnum\@tempcnta>\z@
-% \ifodd\ltjgetparameter{alxspmode}{\@tempcntb}\else\leavevmode\hbox{}\fi
-% \begingroup\mathsurround\z@$%
-% \hbox{\lower\@tempdima\box\z@}
-% $\endgroup%
-% \ifnum\ltjgetparameter{alxspmode}{\@tempcntb}<2\hbox{}\fi
-% \else
-% \ifdim\@tempdima=\z@{\ltj@yablshift\z@ \ltj@tablshift\z@#1}%
-% \else\lower\@tempdima\box\z@\fi
-% \fi
-% \endgroup}%
-% \fi
-% }
-
\endinput
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
new file mode 100644
index 0000000000..ecdfd48c22
--- /dev/null
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-atbegshi.sty
@@ -0,0 +1,79 @@
+%
+% lltjp-atbegshi.sty
+%
+
+\ifdefined\NeedsTeXFormat
+ \NeedsTeXFormat{LaTeX2e}
+ \ProvidesPackage{lltjp-atbegshi}[2020-07-30 Patch to atbegshi for LuaTeX-ja]
+ \RequirePackage{atbegshi}
+\else
+ \input atbegshi.sty
+\fi
+
+%--------------------------------------
+% following codes are almost copied from
+% pxatbegshi.sty 2019/09/07 v0.5 (in platex-tools bundle, by H. Yamashita).
+
+%% internal macros are locally effective
+\begingroup
+
+%--------------------------------------- helpers
+
+%% unique tokens
+\def\pxabgs@mark{\pxabgs@mark@}
+\def\pxabgs@fin{\pxabgs@fin@}
+
+%% \pxabgs@patch@cmd\CMD{<orig>}{<new>}
+\def\pxabgs@patch@cmd#1#2#3{%
+ \ifx#1\relax\else
+ \def\pxabgs@next##1#2##2\pxabgs@mark##3\pxabgs@fin{%
+ \ifx\pxabgs@mark##3\pxabgs@mark
+ \let#1\relax
+ \else
+ \def\pxabgs@fragment{##2}%
+ \def#1{##1#3##2}%
+ \fi}%
+ \expandafter\pxabgs@next#1\pxabgs@mark#2\pxabgs@mark\pxabgs@fin
+ \fi
+}
+
+%---------------------------------------
+
+% concept: execute all hooks inside yoko direction \vbox
+
+% prepare
+\let\pxabgs@AtBegShi@Output\AtBegShi@Output
+% try first patch
+\pxabgs@patch@cmd\pxabgs@AtBegShi@Output
+ {\let\AtBegShi@OrgProtect\protect}%
+ {\setbox8\vbox\bgroup\yoko\let\AtBegShi@OrgProtect\protect}
+\pxabgs@patch@cmd\pxabgs@AtBegShi@Output
+ {\AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox}%
+ {\AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox\egroup}
+\pxabgs@patch@cmd\pxabgs@AtBegShi@Output
+ {%
+ \begingroup
+ \setbox\AtBeginShipoutBox\box\AtBeginShipoutBox
+ \endgroup
+ \let\protect\AtBegShi@OrgProtect
+ }{%
+ \begingroup
+ \setbox\AtBeginShipoutBox\box\AtBeginShipoutBox
+ \endgroup
+ \let\protect\AtBegShi@OrgProtect
+ \egroup
+ }
+% commit the change only when successful
+\ifx\pxabgs@AtBegShi@Output\relax
+ \@PackageWarningNoLine{lltjp-atbegshi}{%
+ Failed in patching \string\AtBegShi@Output.\MessageBreak
+ This may cause error in tate direction%
+ }
+\else
+ \global\let\AtBegShi@Output\pxabgs@AtBegShi@Output
+\fi
+
+\endgroup
+%% internal macros are no longer effective
+
+\endinput
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
new file mode 100644
index 0000000000..e9510e2487
--- /dev/null
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
@@ -0,0 +1,21 @@
+%
+% lltjp-everyshi.sty 2020-07-27
+% almost the same as pxeveryshi package by ZR
+%
+
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{everyshi}
+
+\def\@EveryShipout@Output{%
+ \setbox8\vbox{%
+ \yoko
+ \@EveryShipout@Hook
+ \@EveryShipout@AtNextHook
+ \global\setbox\luatexoutputbox=\box\luatexoutputbox
+ }%
+ \gdef\@EveryShipout@AtNextHook{}%
+ \@EveryShipout@Org@Shipout\box\luatexoutputbox
+}
+
+
+\endinput
diff --git a/macros/luatex/generic/luatexja/tool/function_uax50.lua b/macros/luatex/generic/luatexja/tool/function_uax50.lua
index d345284535..ea7871a6a8 100644
--- a/macros/luatex/generic/luatexja/tool/function_uax50.lua
+++ b/macros/luatex/generic/luatexja/tool/function_uax50.lua
@@ -3,7 +3,7 @@ dofile(kpse.find_file('lualibs.lua'))
local function toX(a) return string.format('0x%X',a) end
-local uax_revision = '12.1.0'
+local uax_revision = '13.0.0'
print(' -- UAX#50 for Unicode ' .. uax_revision)
local fh = io.open('VerticalOrientation-' .. uax_revision .. '.txt')
local t = {}
diff --git a/macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl b/macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
index f55962956d..9372d2a9ab 100755
--- a/macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
+++ b/macros/luatex/generic/luatexja/tool/ltj-unicode-ccfix_make2.pl
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
-# create ltj-unicode-ccfix.tex by processing Unicode data file
+# create ltj-unicode-ccfix.lua by processing Unicode data file
# LineBreak.txt
# modified from unicode-char-prep.pl (part of the XeTeX typesetting system).
@@ -38,7 +38,7 @@
# authorization from the copyright holders.
# \****************************************************************************/
-die "usage: perl $0 LineBreak.txt > unicode-letters.tex\n"
+die "usage: perl $0 LineBreak.txt > ltj-unicode-ccfix.lua\n"
unless $#ARGV == 0;
sub parse_unidata {
diff --git a/macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua b/macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
index cf898a47b2..0d8c18e556 100644
--- a/macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
+++ b/macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
@@ -1,6 +1,7 @@
print([[
+local f = false
return {
-version = 2,
+version = 3,
table_ivd_aj1 = {]])
local f = io.open('IVD_Sequences.txt')
@@ -22,10 +23,12 @@ while s do
end
f:close()
+local s={}
for i=1,maxcid do
- print(' ' .. tostring(t[i] or false) .. ',')
+ s[#s+1] = t[i] and string.format('0x%x', t[i]) or 'f'
+ if #s==10 then print(" " .. table.concat(s, ",") .. ','); s={} end
end
-
+print(" " .. table.concat(s, ","))
-- ( echo 'luatexja.otf.ivd_aj1 = {' ; grep 'Adobe-Japan1' IVD_Sequences.txt|sed 's/\([0-9A-F][0-9A-F]*\) \([0-9A-F][0-9A-F]*\)\;.*CID.\([0-9][0-9]*\)$/[\3]=\{0x\1,0x\2\},/' ; echo '}' )
print([[}}]])
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 79df098927..5e5261b6c1 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2020
-depend revision/56021
+depend revision/56029
name 00texlive.image
category TLCore
-revision 56016
+revision 56026
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -40,7 +40,7 @@ longdesc IgnorePatterns in the check_files routine in tlmgr.pl augment
longdesc this list. Those are not included in the source/ tarball. For
longdesc information on the 00texlive prefix see
longdesc 00texlive.installation(.tlpsrc)
-runfiles size=5022
+runfiles size=5024
.mkisofsrc
autorun.inf
texmf-dist/README
@@ -36436,7 +36436,7 @@ catalogue-version 1.1b
name biblatex-publist
category Package
-revision 55801
+revision 56028
shortdesc BibLaTeX bibliography support for publication lists
relocated 1
longdesc The package provides a BibLaTeX bibliography style file (*.bbx)
@@ -36445,15 +36445,15 @@ longdesc authoryear style, but provides some extra features often
longdesc desired for publication lists, such as the omission of the
longdesc author's own name from author or editor data. At least version
longdesc 3.4 of biblatex is required.
-containersize 7344
-containerchecksum bbc4044abfe98b0f135e341c2244ac7cf14872fb486a183b542d320fe33c8db2a4207dc3c752e6aa977ccfa81c5e161770ffb7a50928bb7b311ef3946ee0a51d
-doccontainersize 366956
-doccontainerchecksum a6cea8bf5a6339dbe4ce47204917de1aec86d4d1c6a4bda042c773b796edc5f7edb181e0016119bc4887e1b365118eab043457dda13063a24c866c86d16bc268
-docfiles size=98
+containersize 7768
+containerchecksum 0122f61ee6fcada6da46117765399ab6c4eb011dc5f1c8680c2e71daa053db9e05300da35ccb44f779d5bd6832742413f550b15f7be624ee4ad170ffe6e90af6
+doccontainersize 370048
+doccontainerchecksum 29ad5a636898d4670af67a773231231d23b9cb02d4c9b6e9e632c205031a9e67f14f5218c8753c7d1006c9aa9f967b903989ea40d5321d816b5f9883ebc6d569
+docfiles size=100
RELOC/doc/latex/biblatex-publist/README details="Readme"
RELOC/doc/latex/biblatex-publist/biblatex-publist.pdf details="Package documentation"
RELOC/doc/latex/biblatex-publist/biblatex-publist.tex
-runfiles size=10
+runfiles size=11
RELOC/tex/latex/biblatex-publist/publist.bbx
RELOC/tex/latex/biblatex-publist/publist.cbx
catalogue-contact-bugs https://github.com/jspitz/biblatex-publist/issues
@@ -36461,7 +36461,7 @@ catalogue-contact-repository https://github.com/jspitz/biblatex-publist
catalogue-ctan /macros/latex/contrib/biblatex-contrib/biblatex-publist
catalogue-license lppl1.3
catalogue-topics biblatex
-catalogue-version 1.17
+catalogue-version 1.18
name biblatex-realauthor
category Package
@@ -38606,32 +38606,82 @@ catalogue-version 1.3
name bitter
category Package
-revision 55952
-shortdesc LaTeX support for the Bitter family of fonts
+revision 56026
+shortdesc The Bitter family of fonts with LaTeX support
relocated 1
-longdesc This package provides XeLaTeX and LuaLaTeX support for the
-longdesc Bitter family of fonts, designed by Sol Matas for Huerta
-longdesc Tipografica Bitter is a contemporary slab-serif typeface for
-longdesc text. There are regular and bold weights and an italic, but no
-longdesc bold italic.
-containersize 63844
-containerchecksum 168db9ae10fe105eb6d0018cbed9bd3512c289057d3e2a7d7254e14f0bb6571292864de4e0e1c6f37fff5367e1d977f773bdb82f14c2cd806a57dd564a96957e
-doccontainersize 21240
-doccontainerchecksum 65fca1072e1da2ddee8f2b6a6cc63e603cc4a304bebf728a2cb4f9ebab6e0308deda53de1dceabef1c31e3433e555cc2b7cf16ab0e497e747bc181f60bc619b0
-docfiles size=9
+longdesc This package provides LaTeX, pdfLaTeX, XeLaTeX, and LuaLaTeX
+longdesc support for the Bitter family of fonts, designed by Sol Matas
+longdesc for Huerta Tipografica. Bitter is a contemporary slab-serif
+longdesc typeface for text. There are regular and bold weights and an
+longdesc italic, but no bold italic.
+execute addMap bitter.map
+containersize 191600
+containerchecksum e624523e0e46340a1fd4ecb3db0487bac906169dc811886d26783b453a477605618cf211584c5aa44887f39d5d97ca567afee9f5f8fe6443284467f136d25588
+doccontainersize 16564
+doccontainerchecksum d4fc5b7c62dc834cfab6771010abf0e38000ec1a07447237288c9fa1747643dcff158d02707746d2965226049e5decc6af64a66ab8a92354ffa6e8df2e85800f
+docfiles size=8
RELOC/doc/fonts/bitter/OFL.txt
RELOC/doc/fonts/bitter/README details="Readme"
RELOC/doc/fonts/bitter/bitter-samples.pdf details="Package documentation"
RELOC/doc/fonts/bitter/bitter-samples.tex
-runfiles size=38
+runfiles size=116
+ RELOC/fonts/enc/dvips/bitter/bttr_6upxhe.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_72jdjw.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_azarls.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_b5i5mx.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_f2umud.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_gljolu.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_ncjtqa.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_ssdm5h.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_vzfpnj.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_w3wxei.enc
+ RELOC/fonts/enc/dvips/bitter/bttr_x2bjkb.enc
+ RELOC/fonts/map/dvips/bitter/bitter.map
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Bold-tlf-ly1--base.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Bold-tlf-ly1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Bold-tlf-ot1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Bold-tlf-t1--base.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Bold-tlf-t1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Bold-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Bold-tlf-ts1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Italic-tlf-ly1--base.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Italic-tlf-ly1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Italic-tlf-ot1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Italic-tlf-t1--base.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Italic-tlf-t1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Italic-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Italic-tlf-ts1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Regular-tlf-ly1--base.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Regular-tlf-ly1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Regular-tlf-ot1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Regular-tlf-t1--base.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Regular-tlf-t1.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Regular-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/huerta/bitter/Bttr-Regular-tlf-ts1.tfm
RELOC/fonts/truetype/huerta/bitter/Bitter-Bold.ttf
RELOC/fonts/truetype/huerta/bitter/Bitter-Italic.ttf
RELOC/fonts/truetype/huerta/bitter/Bitter-Regular.ttf
+ RELOC/fonts/type1/huerta/bitter/Bttr-Bold.pfb
+ RELOC/fonts/type1/huerta/bitter/Bttr-Italic.pfb
+ RELOC/fonts/type1/huerta/bitter/Bttr-Regular.pfb
+ RELOC/fonts/vf/huerta/bitter/Bttr-Bold-tlf-ly1.vf
+ RELOC/fonts/vf/huerta/bitter/Bttr-Bold-tlf-t1.vf
+ RELOC/fonts/vf/huerta/bitter/Bttr-Bold-tlf-ts1.vf
+ RELOC/fonts/vf/huerta/bitter/Bttr-Italic-tlf-ly1.vf
+ RELOC/fonts/vf/huerta/bitter/Bttr-Italic-tlf-t1.vf
+ RELOC/fonts/vf/huerta/bitter/Bttr-Italic-tlf-ts1.vf
+ RELOC/fonts/vf/huerta/bitter/Bttr-Regular-tlf-ly1.vf
+ RELOC/fonts/vf/huerta/bitter/Bttr-Regular-tlf-t1.vf
+ RELOC/fonts/vf/huerta/bitter/Bttr-Regular-tlf-ts1.vf
+ RELOC/tex/latex/bitter/LY1Bttr-TLF.fd
+ RELOC/tex/latex/bitter/OT1Bttr-TLF.fd
+ RELOC/tex/latex/bitter/T1Bttr-TLF.fd
+ RELOC/tex/latex/bitter/TS1Bttr-TLF.fd
RELOC/tex/latex/bitter/bitter.sty
catalogue-contact-home https://fonts.google.com/specimen/Bitter
catalogue-ctan /fonts/bitter
catalogue-license lppl ofl
-catalogue-topics font font-serif font-proportional font-body font-ttf font-t1enc
+catalogue-topics font font-serif font-proportional font-body font-ttf font-type1 font-supp font-t1enc
name bizcard
category Package
@@ -119440,32 +119490,109 @@ catalogue-version 1.0a
name forum
category Package
-revision 55952
-shortdesc Forum fonts with LuaLaTeX/XeLaTeX support
+revision 56025
+shortdesc Forum fonts with LaTeX support
relocated 1
-longdesc This package provides XeLaTeX and LuaLaTeX support for the
-longdesc Forum font, designed by Denis Masharov. Forum has antique,
-longdesc classic "Roman" proportions. It can be used to set body texts
-longdesc and works well in titles and headlines too. It is truly
-longdesc multilingual, with glyphs for Central and Eastern Europe,
+longdesc This package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX
+longdesc support for the Forum font, designed by Denis Masharov. Forum
+longdesc has antique, classic "Roman" proportions. It can be used to set
+longdesc body texts and works well in titles and headlines too. It is
+longdesc truly multilingual, with glyphs for Central and Eastern Europe,
longdesc Baltics, Cyrillic and Asian Cyrillic communities. There is
-longdesc currently just a regular weight.
-containersize 67400
-containerchecksum 1c65443397228da05fe5b9fee38511d87c54ba2da62c9c12d8e210d4af2526e644206a38dbe6bae0b1dc3987ae39563fe088a770cda9b97f801d933b7c9d2ecb
-doccontainersize 17560
-doccontainerchecksum ed724a809e255d57a19cd9864d6856b07d03776dd2fcb6c79cffedd3391e1c51cf32fba7d64eb764da5d62166d0127900874c07204752df0356936a88970ec4c
-docfiles size=8
+longdesc currently just a regular weight and an artificially emboldened
+longdesc bold.
+execute addMap forum.map
+containersize 675572
+containerchecksum fafb6f261a58546c717cd37dd0d5bc3f22b4342d28a62f6cb5dff8132993dc0a4081681e1ad2acdd96421b8d758b7079028b50507586e66dbd80fa6adb0cb180
+doccontainersize 27440
+doccontainerchecksum b4b86a30087dfb1d8a3fb2edc9535926717e07ce619ab7ecfd709b93abb1ed4535893bbc6a0b40c9dc93f16f5c556639f8875bc1ae8183e38715aa383efd6a29
+docfiles size=10
RELOC/doc/fonts/forum/OFL.txt
RELOC/doc/fonts/forum/README details="Readme"
RELOC/doc/fonts/forum/forum-samples.pdf details="Font samples"
RELOC/doc/fonts/forum/forum-samples.tex
-runfiles size=60
- RELOC/fonts/truetype/public/forum/Forum-Regular.ttf
+runfiles size=364
+ RELOC/fonts/enc/dvips/forum/frm_acf3pt.enc
+ RELOC/fonts/enc/dvips/forum/frm_b5i5mx.enc
+ RELOC/fonts/enc/dvips/forum/frm_brq6mf.enc
+ RELOC/fonts/enc/dvips/forum/frm_e2otk2.enc
+ RELOC/fonts/enc/dvips/forum/frm_fx2ufv.enc
+ RELOC/fonts/enc/dvips/forum/frm_jsuphk.enc
+ RELOC/fonts/enc/dvips/forum/frm_smvvub.enc
+ RELOC/fonts/enc/dvips/forum/frm_ylkcu6.enc
+ RELOC/fonts/map/dvips/forum/forum.map
+ RELOC/fonts/opentype/public/forum/Forum-Regular.otf
+ RELOC/fonts/opentype/public/forum/Frm-Bold.otf
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-ly1--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-ly1--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-ly1.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-ot1--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-ot1--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-ot1.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t1--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t1--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t1.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t2a--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t2a--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t2a.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t2b--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t2b--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t2b.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t2c--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t2c--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-t2c.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-ts1--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-Bold-lf-ts1.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-ly1--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-ly1--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-ly1.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-ot1--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-ot1--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-ot1.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t1--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t1--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t1.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t2a--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t2a--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t2a.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t2b--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t2b--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t2b.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t2c--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t2c--lcdfj.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-t2c.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-ts1--base.tfm
+ RELOC/fonts/tfm/public/forum/Frm-lf-ts1.tfm
+ RELOC/fonts/type1/public/forum/Frm-Bold.pfb
+ RELOC/fonts/type1/public/forum/Frm-BoldLCDFJ.pfb
+ RELOC/fonts/type1/public/forum/Frm.pfb
+ RELOC/fonts/type1/public/forum/FrmLCDFJ.pfb
+ RELOC/fonts/vf/public/forum/Frm-Bold-lf-ly1.vf
+ RELOC/fonts/vf/public/forum/Frm-Bold-lf-ot1.vf
+ RELOC/fonts/vf/public/forum/Frm-Bold-lf-t1.vf
+ RELOC/fonts/vf/public/forum/Frm-Bold-lf-t2a.vf
+ RELOC/fonts/vf/public/forum/Frm-Bold-lf-t2b.vf
+ RELOC/fonts/vf/public/forum/Frm-Bold-lf-t2c.vf
+ RELOC/fonts/vf/public/forum/Frm-Bold-lf-ts1.vf
+ RELOC/fonts/vf/public/forum/Frm-lf-ly1.vf
+ RELOC/fonts/vf/public/forum/Frm-lf-ot1.vf
+ RELOC/fonts/vf/public/forum/Frm-lf-t1.vf
+ RELOC/fonts/vf/public/forum/Frm-lf-t2a.vf
+ RELOC/fonts/vf/public/forum/Frm-lf-t2b.vf
+ RELOC/fonts/vf/public/forum/Frm-lf-t2c.vf
+ RELOC/fonts/vf/public/forum/Frm-lf-ts1.vf
+ RELOC/tex/latex/forum/LY1Frm-LF.fd
+ RELOC/tex/latex/forum/OT1Frm-LF.fd
+ RELOC/tex/latex/forum/T1Frm-LF.fd
+ RELOC/tex/latex/forum/T2AFrm-LF.fd
+ RELOC/tex/latex/forum/T2BFrm-LF.fd
+ RELOC/tex/latex/forum/T2CFrm-LF.fd
+ RELOC/tex/latex/forum/TS1Frm-LF.fd
RELOC/tex/latex/forum/forum.sty
catalogue-contact-home https://fonts.google.com/specimen/Forum
catalogue-ctan /fonts/forum
catalogue-license ofl lppl
-catalogue-topics font font-body font-serif font-proportional font-cyrillic font-multilingual font-ttf font-supp
+catalogue-topics font font-body font-serif font-proportional font-cyrillic font-multilingual font-otf font-type1 font-supp font-t1enc
name fouridx
category Package
@@ -137926,7 +138053,7 @@ catalogue-version 2.2
name install-latex-guide-zh-cn
category Package
-revision 55849
+revision 56027
shortdesc A short introduction to LaTeX installation written in Chinese
relocated 1
longdesc This package will introduce the operations related to
@@ -137935,10 +138062,10 @@ longdesc macro packages, and compiling simple documents on Windows 10,
longdesc Ubuntu 20.04, and macOS systems, and mainly introducing command
longdesc line operations.
containersize 568
-containerchecksum 49b1ebc017b4dc078d6a10ebb885b6ece6d84e81cdcc7a3e632e4ccbe637b8eb0f51a84cea2991f92b67811c64b150f726273d2cc93d54264b26ac78732cf107
-doccontainersize 723568
-doccontainerchecksum 8720401579f0b0d2d6743eccd78e609c1ea1961256ffbaac32d4db0072832f33e074ce2fd0a32c11ca7c4f51558b534f7fa7c7653ffa291e5927fa598779310d
-docfiles size=206
+containerchecksum e2e2e04f791a1452c517c6ff15e9c33c50f1fe10319dee79958bb0580767da71ae3cb52d076ee4283c41456bc68329da01fbf26d07eef737f507ba1670542ee5
+doccontainersize 725432
+doccontainerchecksum bee77184a51428ecaea9f31670372286f4bc330505968b453bede45f187a98f5b2794147c03202759d0982acd52e04003895b17ab35dba4ac89f8803bb049f6a
+docfiles size=207
RELOC/doc/latex/install-latex-guide-zh-cn/LICENSE
RELOC/doc/latex/install-latex-guide-zh-cn/README.md details="Readme"
RELOC/doc/latex/install-latex-guide-zh-cn/appendix/mirror.tex
@@ -137960,7 +138087,7 @@ catalogue-contact-repository https://github.com/OsbertWang/install-latex-guide-z
catalogue-ctan /info/install-latex-guide-zh-cn
catalogue-license lppl1.3c
catalogue-topics chinese-doc tutorial
-catalogue-version 2020.8.1
+catalogue-version 2020.8.2
name installfont
category Package
@@ -178343,17 +178470,17 @@ catalogue-version 1.3
name luatexja
category Package
-revision 55207
+revision 56029
shortdesc Typeset Japanese with Lua(La)TeX
relocated 1
longdesc The package offers support for typesetting Japanese documents
longdesc with LuaTeX. Either of the Plain and LaTeX2e formats may be
longdesc used with the package.
depend luatexbase
-containersize 182528
-containerchecksum 0012726d91ec4772e7edd0a0223803a88a44875493e5268e8ecc4b2b2b586f1cc85bc3f3a5c73488538123472f564201c701b34dea5d1b7b068e80eec68aab44
-doccontainersize 3261120
-doccontainerchecksum ad0ee54b792bb18f25daddddfc382861e96e99a5a4f797ebc23ff46163e27c6c31b4e85e46b93b8ca6d06b663d52515a93c2ec062d0f31399e54affc8e03bcb6
+containersize 183908
+containerchecksum e702eeee2385b77904b1a25456428f4ca40ab560a72fa3cff56101e6be6a8c6b8b12497e68e95a18e43b0c735781fd1905239fff4929f5b8687dc871206f5a41
+doccontainersize 3259136
+doccontainerchecksum 00df4f9a2910225ff7a36561416028f9f052833d3fbcbcaff12be9d9895d576045b1b5c2e32ee54b61bf2735cda2249c3dbc1d69e1256929166d3cd90ca1ed12
docfiles size=971
RELOC/doc/luatex/luatexja/COPYING
RELOC/doc/luatex/luatexja/README details="Readme"
@@ -178370,8 +178497,8 @@ docfiles size=971
RELOC/doc/luatex/luatexja/luatexja-ruby.tex
RELOC/doc/luatex/luatexja/luatexja.dtx
RELOC/doc/luatex/luatexja/luatexja.ins
-srccontainersize 84340
-srccontainerchecksum 3e834e09e82905abb283225b55e233475e964399301303d0b82df139675e88991ce49e7d96d00c238e54e987d056887d1bc6ef68b3f6ae0072fa82a336e678a3
+srccontainersize 84500
+srccontainerchecksum 922d4cd1984d4578e92c39dcd61cccf82aa3c8979c32f575455901c8310a8640b5e35d1ed25d2504a1dfd884795b7ae2a162b5ad41a87c31aa17d5cc81bb7ce5
srcfiles size=123
RELOC/source/luatex/luatexja/ltj-kinsoku_make.tex
RELOC/source/luatex/luatexja/ltjclasses.dtx
@@ -178396,7 +178523,7 @@ srcfiles size=123
RELOC/source/luatex/luatexja/tool/table_ivd_aj1.lua
RELOC/source/luatex/luatexja/tool/table_jisx0208.tex
RELOC/source/luatex/luatexja/tool/unicodeBlocks.tex
-runfiles size=412
+runfiles size=396
RELOC/tex/luatex/luatexja/addons/luatexja-adjust.sty
RELOC/tex/luatex/luatexja/addons/luatexja-ajmacros.sty
RELOC/tex/luatex/luatexja/addons/luatexja-fontspec-27c.sty
@@ -178431,7 +178558,6 @@ runfiles size=412
RELOC/tex/luatex/luatexja/ltj-jfmglue.lua
RELOC/tex/luatex/luatexja/ltj-jfont.lua
RELOC/tex/luatex/luatexja/ltj-jisx0208.lua
- RELOC/tex/luatex/luatexja/ltj-kinsoku.lua
RELOC/tex/luatex/luatexja/ltj-latex.sty
RELOC/tex/luatex/luatexja/ltj-lineskip.lua
RELOC/tex/luatex/luatexja/ltj-lotf_aux.lua
@@ -178476,7 +178602,9 @@ runfiles size=412
RELOC/tex/luatex/luatexja/patches/lltjdefs.sty
RELOC/tex/luatex/luatexja/patches/lltjfont.sty
RELOC/tex/luatex/luatexja/patches/lltjp-array.sty
+ RELOC/tex/luatex/luatexja/patches/lltjp-atbegshi.sty
RELOC/tex/luatex/luatexja/patches/lltjp-collcell.sty
+ RELOC/tex/luatex/luatexja/patches/lltjp-everyshi.sty
RELOC/tex/luatex/luatexja/patches/lltjp-fontspec.sty
RELOC/tex/luatex/luatexja/patches/lltjp-footmisc.sty
RELOC/tex/luatex/luatexja/patches/lltjp-geometry.sty
@@ -178494,7 +178622,7 @@ catalogue-contact-repository https://osdn.net/projects/luatex-ja/scm/git/luatexj
catalogue-ctan /macros/luatex/generic/luatexja
catalogue-license bsd
catalogue-topics japanese luatex class
-catalogue-version 20200518.0
+catalogue-version 20200802.0
name luatexko
category Package
@@ -286702,15 +286830,15 @@ docfiles size=592
name texlive-docindex
category TLCore
-revision 56011
+revision 56023
shortdesc top-level TeX Live doc.html, etc.
longdesc These files are regenerated as needed, which is often, so we
longdesc make them a separate package. See the tl-update-auto script for
longdesc the process.
-containersize 388
-containerchecksum 69da62bd9b6cd7c06c8e9ecd062f55bb7b268c4a56d9b7f470bf61b876bd8317c3f29673e7d79562e4ab83556987c0272b4de49a5f60bfba9e329b6c85cd6d0c
-doccontainersize 168052
-doccontainerchecksum 6b52809af18b8211725e811be027c2e7e038bc0c8e742f75a1ac9b3e6c4f82cda98879e8252605d73b1f973d6296fb6e78aa6f2378a78abf9c811b764b1d3cd2
+containersize 392
+containerchecksum 36a3380337022dbb7d06a0cfe20c64c27f3c153e5ed8728a76900f8cc0aec7f35c12fb6a2c207ca9e75b8e76232397938cbf9a56b568ea61ddf07d06bd7e5795
+doccontainersize 168152
+doccontainerchecksum d9b9963de9766a417d15edceedf4b37ad2088593e25b5276837d7ada4bca50a1621daca4ff2c76c83329268cf0733605431184859aacaff21d76d2e5defcacba
docfiles size=333
doc.html
@@ -286932,7 +287060,7 @@ docfiles size=368
name texlive-scripts
category TLCore
-revision 56012
+revision 56024
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -286940,10 +287068,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 132000
-containerchecksum c1cc60b7473b9c96d05fcb0e7b0e2a7ab21cbc17f216437d3a81395f253a52b7bd9f43fa46fd6bf082033d8328075d053d3a33d28b6a882911371becf10d058a
+containersize 132024
+containerchecksum 6e0cdcf86b1038a67756a68e44035e1ea2dc889cbc86ec6babd15500b5db3eb700653ec00cd8f71cf8b04a3097c561b750e722ac497816042172e235df22b21f
doccontainersize 218656
-doccontainerchecksum db49c6c9c5b32e9a8f147e65daca2e127a9cd3a27564c763b62f926e6cac189a6cf95d02394ff71ad3fc0a61393963861b8ea3528bdca4e909a17763892711f3
+doccontainerchecksum 2203247f45c7b45d5f49fc1a0ae342d9591b4b8eb68878f8e9b7fd6484e6d767397302def3195fcd9e13c1134ebfd36e5dd48916014570a7cf9eb20b04760cb4
docfiles size=141
texmf-dist/doc/man/man1/fmtutil-sys.1
texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf
@@ -309199,15 +309327,15 @@ catalogue-topics barcode
name updmap-map
category Package
-revision 56012
+revision 56024
shortdesc auto-generated font map files
relocated 1
longdesc These map files are regenerated every time a new font is added.
longdesc There is no need to rebuild formats or update binaries because
longdesc of such updates, hence this separate package.
-containersize 305728
-containerchecksum 711ddea12cd9cf5cbb537e444c93dcc21003538bdf88c49d6c9008f95ad3dae988c182042a8c6413711d89f7d13fe4c56da3c86682c13e9ea3a0f24cd7f812c8
-runfiles size=8271
+containersize 306812
+containerchecksum 3203372a1ce88586e98777394c8d6b9a942c99ab690b0ef641826ecc7f9723881903dec6e2c709180e40ac326c222800fa8dafb4be0b604f561a95feaebfa600
+runfiles size=8275
RELOC/fonts/map/dvipdfmx/updmap/kanjix.map
RELOC/fonts/map/dvips/updmap/builtin35.map
RELOC/fonts/map/dvips/updmap/download35.map
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index ad08f3f86d..6f9087eda9 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-a33df5e4ded9e49712aac5494e373a55 texlive.tlpdb
+a700fe329c0e1452d66d9f19c4d483b1 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 0daf70bb93..c3167e1603 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-7c7b4e72a4e8f5a478c4152ee5c807d889a8c5996f88e751c275cb59c50cefc9049988991a8f8803a64e22ea9a09d113062b4110d3016e2260677040ee822f9b texlive.tlpdb
+3da4773c82484b26be5ebd0c1136d19586984fee0cd9b8bb06260d29247a2b7680b6dbe0a61f701c623f1a4aa2611a090921591b0abfc8def59c445389f2bc85 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 6dfc20c656..a85ad03901 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJfJgK+AAoJEEzhh34ZQ4xwvAUH/3eEYr03R0M6d4ft6CDnOuHm
-3E6nyREhsTgffbtStynYBZl57fRBXP1BdSHVVUmBmO8S3tj6RhzRccQfNj4tXnHx
-mRAgnNxzIk40VAvK87DJciF1CnKpGvKtpMrblPkTzO0bw4YW+Zv3VsQAX4Xtp5bO
-HzjtXlempc+m2J+MFrWDAYCBPXsZUo+/Vvw3BujOwvuRnWWOxOiHHdH71WL6B11C
-8Gerq5U8tuZv8b69wdfHU0I6oOHWJPymxPl4aqwuKNhyrueQlPYoiEbKTmbSGRMI
-2f5GfNgobIGFkPmNXAWsLWAA+mKh3BtobGpz/H/ya4T7H0AnrB7RnvAxR+Q3j8A=
-=OCh9
+iQEcBAEBCgAGBQJfJ1LgAAoJEEzhh34ZQ4xwijQH/3oHYAHp/EN2Q99hdBugq2/9
+MBDoHiZLKtNw6e49pKbG0Vfk6RsodWBrUBro9MxPNQ4ruu5mhTXqYW7elujGxjRQ
+7VwWsngM9velKGSqEub47r657YUpsezcu5SfURzDTi9B4zaTVvSwjnrZKivgBvAs
+n0ZQLWgPnpr3AdF7JlBdO25hKQYYJOAwl44yn/FSOlgzKwrCmSDQq6FAMcjJZYRH
+H5/1Ls8Oclnq2gvuyj4Xg7e2W0R8ZzFV5+Bul9klDLGTcI2QNTbWbUw63rNvg3ce
+TS7WaZio6jGSaYf2l0Nu5bg3YuxtIqXijqcyl3MGkgXMUSg1X36vBHUw7slnxBI=
+=IDL4
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 14022b075d..071b2bcb02 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 2fdcfa4f75..90b6c1212e 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1596313122
+date=1596399305
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=e8f93973393e896b845ba08f8f86fa31
+lstdigest=ca8462d3040331d3bf4382e40c54c2fe
numpkg=3955
relstate=next
-version=7518
+version=7519
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: JuCPHXzFLFG2r10lEIIYv7SczFFhVJoVVBW5YiJxeilcsbHe5Wb5jhSPiOJz4ozs36X2ObnxSdBWqAA3/SnE2jX7iXi9iSflTq1Bfj9I8Y43p7z4K2g0DCiwUcbupcyPH1/IVP9fKtELrvxA8Gxj+zIo/z+IsUmXzxPWcnsc6l9YGyiIpeOit4PjnYDYEOcu4h58oKJ/5VMe/cT55nKnZ21gY0aAu8Fw0B+g1ihvPwFvpVMSI+Nng+3qbZskUrs/XAmj1znezUDGxBiu7QQLi5J7vLHTu1lhv2W0fxjoLJnpIVqHqPnAwJwZ8j0oL6wFqV6zYl8AvlYJ9JV3s2h74A==
+;;;; signature/miktex: s6kPe8jVqmrSzmUOOCYlB2PvxopDCy4/6VqmViwCxFobefpB72SusPYAOFmIsM/nY55jLd/X6/p1U/xOoGr3D0DCZL/3XEwQ4bfcJ4CHTdG/Rb2CYNA2S0wa6Pd1uMnHpvhXKow5fQahztkoMviB205vICvxthadlo68kNU3XEQSF1pUimF3jSzAirbRNSY3gsPaN52mTKk1VZZucxPevLjpxFoF3cFfO3DAqF/jvNVTILJYhEiV5psLl1rZMEtmITtF2aRbrF17fBfOAYPE4CPZr5D6bg/5OhgcdtIt1OrMmCwCeFWx3x1ac1VYev+SwKdJIE169XnZ5T4Xor+8qQ==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 1de5e15d83..eb2b4308bf 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1596312707
+date=1596399101
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=c099d73249c5c426d77079c11298819a
+lstdigest=12766a6b97a0118371733c9ca9d5fc87
numpkg=3955
relstate=stable
-version=7518
+version=7519
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: g1UQCPKcTF/BAs1FfyO1hln5EUYAglLfYlR+AF7kuaf9ajAnUaDU0WYqbtczbe2QSrdohTNxM30BmGxFxCd11wv+dJGGW81bXnF6DC1mgr5d1myO1X+maYxzDf9HWE15Pr1MhjDkCQqZtZiypRD5qEzulHrGhufrP5M+WtmG9UNCp5pWmvdAfIKGQXeZ9Wxh9v39dWv7GuIujRIRsSpKiiltUpFkiebpEUrXdKyF48ZxtYEhp4QB0GLI72TMqbf3nGnlSpuaW/mcbZUEXj3C0XbsTQFeJfp7zOElBg+9+kgbMl/k8JuLBZ5gey9x/ZSCygPA6RCpSvui1FYOxgJW8Q==
+;;;; signature/miktex: UaecAnf8aBYgJjqgUgHlXh4XABNAYBMR7AcOO5FH+kNQmaK50h0W0kvARJ4ugisV/HtSg0QoyZVDOjFb6S80fDrWWGjv7YUO8WHTSnozhD3KaJFNf3TrwhN6uXEU1icLl083AUoYPmUh+zpOEs87DTVdB7LERt8ofIWW8fSYDt6HMpMUiKB8fX+nxgmlorqEHkzvnsUkRyZPyXtPRcFKekN4EIvb27V7PWr8JSrGSKOGe5imf58LCTua1kqwpYOr20PQipV7Gk20vn/aWwSNgemeGi8vFbfRwbVMDxc/NDwvOIz3koRt5GcAIaJ89ERIfuQI9TEGqmfQlLcQE/MSfA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog
index 08e80883ff..9fbc81bfc2 100644
--- a/systems/win32/w32tex/ChangeLog
+++ b/systems/win32/w32tex/ChangeLog
@@ -1,5 +1,17 @@
W32TeX (x86 & x64) ChangeLog
+[2020/08/02]
+(01) biblatex-biber.tar.xz
+ Update biblatex-publist.
+(02) extractpdfmark-w32.tar.xz
+ Update poppler (20.08.0) in extractpdfmark.exe.
+(03) pdftex-w32.tar.xz
+ Update poppler (20.08.0) in poppler utilities.
+(04) win64/extractpdfmark-w64.tar.xz
+ Update poppler (20.08.0) in extractpdfmark.exe.
+(05) win64/pdftex-w64.tar.xz
+ Update poppler (20.08.0) in poppler utilities.
+
[2020/08/01]
(01) ltxpkgdocs.tar.xz
Update documents for packages.
diff --git a/timestamp b/timestamp
index ade6371057..f2a9787fc0 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2020-08-02-02-02
+2020-08-03-02-02