summaryrefslogtreecommitdiff
path: root/info/context-notes-zh-cn
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-03-30 03:01:43 +0000
committerNorbert Preining <norbert@preining.info>2023-03-30 03:01:43 +0000
commit0a426619b66178dd2257f1ece60ff80f86f40e88 (patch)
treefb35be40eb794817645905b4813c091d5f75dda9 /info/context-notes-zh-cn
parent395caca342df230d7d98a658477b7f54c3ee5845 (diff)
CTAN sync 202303300301
Diffstat (limited to 'info/context-notes-zh-cn')
-rw-r--r--info/context-notes-zh-cn/LICENSE674
-rw-r--r--info/context-notes-zh-cn/README12
-rw-r--r--info/context-notes-zh-cn/README.md1
-rw-r--r--info/context-notes-zh-cn/ctxnotes.pdfbin738337 -> 2002991 bytes
-rw-r--r--info/context-notes-zh-cn/src/01.tex236
-rw-r--r--info/context-notes-zh-cn/src/02.tex255
-rw-r--r--info/context-notes-zh-cn/src/03.tex327
-rw-r--r--info/context-notes-zh-cn/src/04.tex186
-rw-r--r--info/context-notes-zh-cn/src/05.tex146
-rw-r--r--info/context-notes-zh-cn/src/06.tex179
-rw-r--r--info/context-notes-zh-cn/src/07.tex179
-rw-r--r--info/context-notes-zh-cn/src/08.tex281
-rw-r--r--info/context-notes-zh-cn/src/09.tex295
-rw-r--r--info/context-notes-zh-cn/src/10.tex276
-rw-r--r--info/context-notes-zh-cn/src/11.tex810
-rw-r--r--info/context-notes-zh-cn/src/12.tex280
-rw-r--r--info/context-notes-zh-cn/src/13.tex271
-rw-r--r--info/context-notes-zh-cn/src/Makefile22
-rw-r--r--info/context-notes-zh-cn/src/basis.tex246
-rw-r--r--info/context-notes-zh-cn/src/bib-style.tex80
-rw-r--r--info/context-notes-zh-cn/src/bibl-lyr.tex77
-rw-r--r--info/context-notes-zh-cn/src/bibliography.bib53
-rw-r--r--info/context-notes-zh-cn/src/cover.tex78
-rw-r--r--info/context-notes-zh-cn/src/ctxnotes.bib101
-rw-r--r--info/context-notes-zh-cn/src/ctxnotes.tex104
-rw-r--r--info/context-notes-zh-cn/src/doc-env.tex315
-rw-r--r--info/context-notes-zh-cn/src/example/slides.tex28
-rw-r--r--info/context-notes-zh-cn/src/example/style.tex52
-rw-r--r--info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdfbin0 -> 5697 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdfbin0 -> 7465 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdfbin0 -> 49791 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-floatcomb.pdfbin0 -> 5697 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-metapost.pdfbin0 -> 8520 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-2.pdfbin0 -> 10334 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-3.pdfbin0 -> 8986 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-4.pdfbin0 -> 9125 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-5.pdfbin0 -> 9096 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-6.pdfbin0 -> 9171 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-7.pdfbin0 -> 9535 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list-8.pdfbin0 -> 9534 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/05-todo-list.pdfbin0 -> 9536 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-01.pdfbin0 -> 49780 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-02.pdfbin0 -> 10311 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-03.pdfbin0 -> 8190 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-04.pdfbin0 -> 8569 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-05.pdfbin0 -> 9205 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/06-three-line-table.pdfbin0 -> 9141 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdfbin0 -> 7327 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdfbin0 -> 17332 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdfbin0 -> 18967 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdfbin0 -> 18945 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdfbin0 -> 11612 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-flowchart-1.pdfbin0 -> 6085 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-flowchart-2.pdfbin0 -> 6342 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-flowchart-3.pdfbin0 -> 8381 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-flowchart-4.pdfbin0 -> 5575 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/11-watermark.pngbin0 -> 71998 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-layout-1.pdfbin0 -> 9908 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-slides-1.pdfbin0 -> 9421 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-slides-2.pdfbin0 -> 14431 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-slides-3.pdfbin0 -> 12839 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/12-slides-4.pdfbin0 -> 26414 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/13-bookmarks.pngbin0 -> 91322 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/13-toc-2.pdfbin0 -> 6105 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/13-toc.pdfbin0 -> 6054 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg1235
-rw-r--r--info/context-notes-zh-cn/src/figures/aligned-1.pdfbin0 -> 3333 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/aligned-2.pdfbin0 -> 7408 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/bad-latin.pdfbin0 -> 8311 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-1.pdfbin0 -> 7736 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-2.pdfbin0 -> 7754 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-3.pdfbin0 -> 7793 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-4.pdfbin0 -> 7776 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/breakinglines-5.pdfbin0 -> 13115 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/cmd-window.pngbin0 -> 23633 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/ctxnotes-2.pngbin0 -> 19843 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/ctxnotes.pngbin0 -> 32313 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/defaultfonts.pdfbin0 -> 31097 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/fakewords.pdfbin0 -> 3506 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/fallbacks.pdfbin0 -> 19558 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/fontsize-level.pdfbin0 -> 5056 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/foo.pdfbin0 -> 5906 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hello.pngbin0 -> 6557 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hibert-1.pdfbin0 -> 23993 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hibert-2.pdfbin0 -> 23976 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hibert-3.pdfbin0 -> 24494 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/hibert.pdfbin0 -> 26055 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/indenting-1.pdfbin0 -> 8168 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/indenting-2.pdfbin0 -> 8168 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/letter.pdfbin0 -> 11003 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/lines.pdfbin0 -> 3941 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/linux-terminal-icon.pngbin0 -> 16045 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdfbin0 -> 66096 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/msfonts.pngbin0 -> 62524 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/none-zhfonts.pdfbin0 -> 28173 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pagenumber.pngbin0 -> 22295 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/parindentcolor.pdfbin0 -> 4668 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars-2.pdfbin0 -> 4612 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars-3.pdfbin0 -> 4671 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars-4.pdfbin0 -> 4656 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars-5.pdfbin0 -> 4678 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/pars.pdfbin0 -> 3506 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/qian.pdfbin0 -> 11728 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/search.pngbin0 -> 29154 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/setupbodyfont.pdfbin0 -> 8166 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/slides-finished.pdfbin0 -> 35012 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/slides.pdfbin0 -> 34689 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/starting-area.pdfbin0 -> 5909 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/style-file.pngbin0 -> 114762 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/tex-root.pngbin0 -> 30218 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/true-words.pdfbin0 -> 6128 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/win-r.jpgbin0 -> 150002 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu-2.pdfbin0 -> 10503 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu-3.pdfbin0 -> 10501 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu-4.pdfbin0 -> 13028 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu-5.pdfbin0 -> 13022 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zaoshu.pdfbin0 -> 10127 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zhfonts-01.pdfbin0 -> 9993 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zhfonts-02.pdfbin0 -> 9472 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zhfonts-03.pdfbin0 -> 14420 bytes
-rw-r--r--info/context-notes-zh-cn/src/figures/zhfonts.pdfbin0 -> 28688 bytes
-rw-r--r--info/context-notes-zh-cn/src/fonts.tex219
-rw-r--r--info/context-notes-zh-cn/src/layout.tex233
-rw-r--r--info/context-notes-zh-cn/src/metafun.tex463
-rw-r--r--info/context-notes-zh-cn/src/postscript.tex13
-rw-r--r--info/context-notes-zh-cn/src/preface.tex23
-rw-r--r--info/context-notes-zh-cn/src/project.tex67
-rw-r--r--info/context-notes-zh-cn/src/references.tex362
-rw-r--r--info/context-notes-zh-cn/src/t-layout.tex411
-rw-r--r--info/context-notes-zh-cn/src/t-zhfonts.lua272
-rw-r--r--info/context-notes-zh-cn/src/t-zhfonts.mkiv37
-rw-r--r--info/context-notes-zh-cn/src/t-zhspuncs.lua178
-rw-r--r--info/context-notes-zh-cn/src/zhfonts.tex153
133 files changed, 6373 insertions, 2857 deletions
diff --git a/info/context-notes-zh-cn/LICENSE b/info/context-notes-zh-cn/LICENSE
new file mode 100644
index 0000000000..f288702d2f
--- /dev/null
+++ b/info/context-notes-zh-cn/LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<https://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/info/context-notes-zh-cn/README b/info/context-notes-zh-cn/README
deleted file mode 100644
index eb41b59ff0..0000000000
--- a/info/context-notes-zh-cn/README
+++ /dev/null
@@ -1,12 +0,0 @@
-This is an introductory tutorial on ConTeXt in Chinese written by Yanrui Li.
-
-ConTeXt installation, fonts, layout design, cross-reference, project structure, metafun are covered in this tutorial.
-
-This package is licensed in GFDL (GNU Free Documentation License).
-
-If you are interested in the process of development you may observe
-
- http://code.google.com/p/ctex-doc/updates/list
-
-Report feedback in the Issues section of ctex-doc project,
-or in http://bbs.ctex.org forum.
diff --git a/info/context-notes-zh-cn/README.md b/info/context-notes-zh-cn/README.md
new file mode 100644
index 0000000000..19e4d1d000
--- /dev/null
+++ b/info/context-notes-zh-cn/README.md
@@ -0,0 +1 @@
+This tutorial is completely rewritten. It comprehensively introduces how to use ConTeXt (>= MkIV) to typeset Simplified Chinese documents, mainly including the installation of ConTeXt LMTX, how to use Chinese fonts, and how to typeset lists, references, illustrations, tables, and framed texts. Furthermore, it is described how to use the MetaPost language for drawing in ConTeXt. Finally, how to make slides and books is introduced.
diff --git a/info/context-notes-zh-cn/ctxnotes.pdf b/info/context-notes-zh-cn/ctxnotes.pdf
index 5b13416d1e..7fde3eef9e 100644
--- a/info/context-notes-zh-cn/ctxnotes.pdf
+++ b/info/context-notes-zh-cn/ctxnotes.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/01.tex b/info/context-notes-zh-cn/src/01.tex
new file mode 100644
index 0000000000..4086af389e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/01.tex
@@ -0,0 +1,236 @@
+\chapter[Installation]{不怕命令行 }
+
+无论是安装还是使用 \ConTeXt,皆需要对命令行环境有所了解。原本未有介绍这方面知识的计划,但是考虑到我正在写一份世上最好的 \ConTeXt\ 入门文档,便有了些许动力。本章先分别介绍 Windows、Linux 和 macOS 系统的命令行环境的基本用法,以刚好满足安装和运行 \ConTeXt\ 的需求为要。倘若对命令行环境已颇为熟悉,可直接阅读 \in[installation] 和 \in[quick-installation] 节。
+
+\section{任务}
+
+使用命令行环境,在文件系统中,创建一个名为 foo 的目录,在该目录内创建一份 Shell 脚本,令其可在命令行窗口中输出「不怕命令行」,执行该脚本,查看其输出。
+
+\section{Windows 命令行}
+
+Windows 用户似乎畏惧甚至厌憎命令行环境,甚至很多人认为命令行环境是早已被淘汰的上个世纪的产物,因此要教会他们如何使用命令行环境,通常会有些麻烦,我当勉力为之。
+
+在 Windows 系统中打开一个命令行窗口,有很多种方法,其中最快的应当是使用如图 \in[win-r] 所示快捷键「Win + R」,打开「运行」对话框,在其中输入「cmd」后点击「确定」按钮或单击「Enter」键,即可打开与图 \in[cmd-window] 类似的命令行窗口。
+
+\startplacefigure[location=none]
+\startfloatcombination[nx=2,ny=1]
+\startplacefigure[title={「\type{Win + R}」 组合键},reference=win-r]
+\externalfigure[win-r.jpg][height=6cm]
+\stopplacefigure
+\startplacefigure[title={Windows 命令行窗口},reference=cmd-window]
+\externalfigure[cmd-window.png][height=6cm]
+\stopplacefigure
+\stopfloatcombination
+\stopplacefigure
+
+所有要执行的命令皆是在「\type{>}」符号后输入,因而该符号名曰「命令提示符」。命令提示符左侧的内容是一个文件目录,名曰「当前目录」或「工作目录」。在命令行环境里,任何命令皆是在某个目录中执行的。在开始尝试输入命令之前,请将输入法切换为英文输入状态。
+
+在命令行窗口中输入命令「d:」,然后单击「Enter」键执行该命令,可将当前目录切换为 D 盘。在命令行环境里,输入命令后,必须单击「Enter」键,方能使命令得以执行。
+
+执行命令「\type{md foo}」,可在 D 盘根目录创建目录 foo,然后执行命令「\type{cd foo}」,将当前目录切换为 foo,即 \type{D:\foo}。
+
+诸如 \type{D:\} 和 \type{D:\foo} 这样的表示形式统称为路径,更为准确地说,是绝对路径。有相对路径吗?有。在 \type{D:\foo} 中执行命令「\type{cd ..}」,便可将当前目录返回上一级,即 \type{D:\}。在 \type{D:\foo} 中执行命令「\type{cd ..\foo}」,则当前目录不会发生变化,因为 \type{D:\foo} 的上一级目录的子目录 foo 依然是 \type{D:\foo} 。形如 \type{..\foo} 这样的路径便是相对路径。
+
+在当前目录 \type{D:\} 中执行命令「\type{cd ..}」,当前目录会发生什么变化?不会发生任何变化,因为 \type{D:\} 是 D 盘的最顶层目录,亦即它的上一级目录为空。
+
+掌握了上述命令,便可在 Windows 文件系统中畅游无阻了,然而我们的任务尚未完成。在 Windows 系统中,该任务可描述为,在 \type{D:\foo} 中创建一份 Shell 脚本,执行该脚本,在命令行窗口中输出「不怕命令行」。在 Windows 系统中,Shell 脚本即批处理文件——扩展名为「\type{.bat}」的纯文本文件。在制作这份批处理文件之前,需要了解「\type{echo}」命令的基本用法。
+
+「\type{echo}」命令,如同我们对着幽深的山谷呼喊而产生回声的过程,它读取一段文本,然后在命令行窗口中原样输出。例如,
+
+\starttyping
+D:\foo> echo 不怕命令行
+不怕命令行
+\stoptyping
+
+似乎「\type{echo}」命令是一个什么都不会做的命令,这样的命令有什么用呢?它有一个用途是,利用输出重定向,将一些内容写入文本文件。例如,
+
+\starttyping
+D:\foo> echo @echo off > foo.bat
+\stoptyping
+
+\noindent 上述命令通过命令输出重定向符「\type{>}」将「\type{echo}」原本会输出到命令行窗口的文字「@echo off」重定向为输出到文件 \type{D:\foo\foo.bat} 。倘若该文件事先并不存在,上述命令会自动创建它。
+
+现在,使用「\type{echo}」命令向文件 \type{D:\foo\foo.bat} 增加一行文字:
+
+\starttyping
+D:\foo> echo echo 不怕命令行 >> foo.bat
+\stoptyping
+
+\noindent 注意,向指定文件追加内容,需要使用「\type{>>}」,倘若使用「\type{>}」,则文件原有内容会被全部替换。
+
+现在,略有纪念意义的时刻到了,你可能已经创建了人生中第一份 Windows 批处理文件,执行它吧!
+
+\starttyping
+D:\foo> .\foo.bat
+不怕命令行
+\stoptyping
+
+\noindent 注意,上述命令使用了相对路径的第二种形式,路径中的「\type{.}」表示当前目录。事实上,在 Windows 命令行环境里,这种形式的相对路径可以忽略,亦即上述命令可以改为
+
+\starttyping
+D:\foo> foo.bat
+不怕命令行
+\stoptyping
+
+\noindent 在执行某个程序或批处理文件时,倘若未给出其路径,Windows 系统默认先从当前目录中搜索文件,若未搜到,才会在系统环境变量 \type{PATH} 设定的路径中搜索。
+
+系统环境变量 \type{PATH} 是什么呢?既然是变量,必定有值,其值是绝对路径集,执行以下命令可以查看:
+
+\starttyping
+D:\foo> echo %PATH%
+\stoptyping
+
+\noindent 顺便指出,这是「\type{echo}」命令的另一种用途。
+
+使用以下「\type{setx}」命令可以将上述示例创建的批处理文件 foo.bat 所在目录 \type{D:\foo} 追加至 \type{PATH} 变量现有路径集的尾部:
+
+\starttyping
+D:\foo> setx /M PATH "%PATH%d:\foo;"
+\stoptyping
+
+\noindent 务必注意,该命令仅在「以管理员身份」启动的命令行窗口中起效。在 Windows 开始菜单里的搜索栏,输入「cmd」并单击「Enter」键提交,然后鼠标右键单击搜索结果,在弹出的菜单中选择「以管理员身份运行」。以这种方式开启的命令行窗口方可执行上述的「\type{setx}」命令。
+
+验证「\type{D:\foo}」是否被成功添加到系统 \type{PATH} 变量,只需在除 \type{D:\foo} 之外的任一目录验证能否执行 foo.bat,例如
+
+\starttyping
+D:\foo> c:
+C:\> cd windows\system32
+C:\Windows\System32> foo.bat
+不怕命令行
+\stoptyping
+
+\useURL[Windows 命令行][https://www.bilibili.com/video/BV1vk4y1h7LE/]
+若不知如何以管理员身份运行命令行窗口,亦可通过图形界面设置 \type{PATH} 变量。我已将上述构建 \type{D:\foo\foo.bat} 以及如何通过图形界面设置系统 \type{PATH} 变量等过程录制为视频,网络链接为\bluebox{\from[Windows 命令行]},藉此避免让层峦叠障的 Windows 窗口截图占据本章太多篇幅。
+
+\section{Linux 终端}
+
+在 Linux 系统中,命令行环境叫作「终端(Terminal)」。终端中可以运行多种 Shell,最为常见的是 Bash Shell。这些 Shell 往往大同小异。终端可以嵌入窗口运行,也可以在没有窗口的情况下运行\footnote{通常情况下,可使用快捷键「\type{Ctrl + Alt + F1~F6}」切换到无窗口的终端。「\type{Ctrl + Alt + F7}」也对应一个终端,它通常被 Linux 窗口系统占用。},我们通常使用的是前者。
+
+Linux 系统发行版众多,每个发行版有其不同的打开终端窗口的方式且因 Linux 用户往往对终端较为熟悉,因而不再赘述如何打开终端窗口。现在,假设终端窗口已经开启。首先,进入 \type{$HOME} 目录,创建子目录 foo:
+
+\starttyping
+$ cd $HOME
+$ mkdir foo
+\stoptyping
+
+\noindent 进入 foo,使用命令输出重定向,将 \type{echo} 命令的输出结果写入 foo.sh 文件:
+
+\starttyping
+$ cd foo
+$ echo #!/bin/bash > foo.sh
+$ echo echo 不怕命令行 >> foo.sh
+\stoptyping
+
+\noindent 使用 \type{chmod} 命令为 foo.sh 增加可执行权限,让它像程序一样运行:
+
+\starttyping
+$ chmod +x foo.sh
+\stoptyping
+
+\noindent 运行 foo.sh:
+
+\starttyping
+$ ./foo.sh
+不怕命令行
+\stoptyping
+
+\noindent 将「\type{$HOME/foo}」添加至系统「\type{PATH}」变量并使之生效:
+
+\starttyping
+$ cd $HOME
+$ echo 'export PATH=$HOME/foo:$PATH' >> .bashrc
+$ source .bashrc
+\stoptyping
+
+\noindent 在任一目录下执行 foo.sh 以验证「\type{$HOME/foo}」是否已被添加至「\type{PATH}」变量,例如
+
+\starttyping
+$ cd /tmp
+$ foo.sh
+不怕命令行
+\stoptyping
+
+倘若想对 Bash Shell 有更多一些的了解,可以阅读我的拙作「写给高年级小学生的《Bash 指南》」\cite[bash-tutor],它介绍了 Bash 的诸多有趣之处,也许会让你喜欢命令行,而不仅仅是不怕它。
+
+\section{macOS 终端}
+
+\useURL[macOS 终端][https://support.apple.com/zh-cn/guide/terminal/apd5265185d-f365-44cb-8b09-71a064a42125/mac]
+我没用过 macOS 系统,在该系统中打开终端窗口,可按 macOS 官方帮助文档介绍的方法进行,详见:\\
+\bluebox{{\switchtobodyfont[9.75pt]\from[macOS 终端]}}
+
+至于 macOS 终端的用法,因 macOS 和 Linux 皆为 Unix-like(类 Unix)系统,二者终端环境的用法近乎相同,唯一有些区别的是,从 macOS Catalina 版开始,macOS 默认使用的 Shell 不再是 Bash,而是 zsh。因此,在设置「\type{PATH}」变量时,命令需要变为
+
+\starttyping
+$ cd $HOME
+$ echo 'export PATH=$HOME/foo:$PATH' >> .zshrc
+$ source .zshrc
+\stoptyping
+
+\section[installation]{安装 \ConTeXt\ LMTX}
+
+\useURL[installation][https://wiki.contextgarden.net/Installation]
+\ConTeXt\ 的最新版本是 \ConTeXt\ LMTX,目前尚在开发和试验阶段,功能虽不稳定,但对于入门而言并无妨碍。从 \bluebox{\from[installation]} 下载对应操作系统类型的 \ConTeXt\ LMTX 安装包,按照该网址的相关介绍进行安装即可。授人以鱼,不如授人以渔,安装过程所需要的全部知识皆已在上文介绍完毕。不过,我总担心 Windows 用户无法安装成功,下文以 Windows 64 位系统为例,给出完整的安装过程。
+
+\useURL[win-64-version][http://lmtx.pragma-ade.com/install-lmtx/context-win64.zip]
+首先,从链接 \bluebox{\from[win-64-version]} 获得面向 Windows 64 位系统的安装包 \type{context-win64.zip} 并假设将其放在 \type{D:\} 解开,所得目录为 \type{context-win64},其结构如下:
+
+\starttyping
+D:\context-win64
+├── bin
+│   ├── mtx-install.lua
+│   ├── mtxrun.exe
+│   └── mtxrun.lua
+├── installation.pdf
+├── install.bat
+└── setpath.bat
+\stoptyping
+
+将目录 \type{context-win64} 改名为 \type{context},然后打开命令行窗口,依次执行以下命令:
+
+\starttyping
+> d:
+> cd context
+> install.bat
+\stoptyping
+
+\noindent 批处理文件 install.bat 能够自动从网络上下载 \ConTeXt\ LMTX 的所有文件,并将其安装在 \type{D:\context} 目录。安装时长取决于网络下载速度。由于服务器在境外,文件下载速度缓慢,可能需要很久方能安装完毕。当安装过程结束后,目前需要再次执行 install.bat,将 \ConTeXt\ LMTX 更新到最新版本。这些都是 \bluebox{\from[installation]} 未告诉我们的。此外,即使安装过程中断,再次运行 install.bat 可继续安装,而不会导致前功尽弃。
+
+验证 \ConTeXt\ LMTX 是否安装成功的方法是,在 \type{D:\context} 目录中执行以下命令:
+
+\starttyping
+> setpath.bat
+> md test
+> cd test
+> echo \startTEXpage[frame=on,offset=1pt] > foo.tex
+> echo Hello \ConTeXt! >> foo.tex
+> echo \stopTEXpage >> foo.tex
+> context foo.tex
+\stoptyping
+
+\noindent 倘若在 \type{D:\context\test} 目录下能够得到 \type{foo.pdf} 文件,且其内容为 \lower.3em\hbox{\externalfigure[foo.pdf]},则意味着已成功安装 \ConTeXt\ LMTX。
+
+最后,将 \type{D:\context\tex\texmf-win64\bin} 添加到系统 \type{PATH} 变量,便可在任一目录使用 \type{context} 命令将扩展名为 \type{.tex} 的文本文件编译成 PDF 文件了。
+
+\section[quick-installation]{投机取巧}
+
+倘若因为网络不畅甚至不通等问题无法成功安装 \ConTeXt\ LMTX,可以考虑下载我打包的整个 \ConTeXt\ LMTX 环境,目前仅有 Windows 64 位和 Linux 64 位版本,下载地址为:
+
+\useURL[win64v][https://pan.baidu.com/s/1r5gMqsk-peGQhOmcp_dNlw?pwd=eejf]
+\useURL[linux64v][https://pan.baidu.com/s/1iBHN-8Zroyd9rGOjRpQrYg?pwd=r2hp]
+\startitemize[packed]
+\item Windows amd64 版本:\bluebox{\from[win64v]}
+\item Linux amd64 版本:\bluebox{\from[linux64v]}
+\stopitemize
+
+\useURL[quick-installation][https://www.bilibili.com/video/BV1q84y1c7Je/]
+以 Windows 系统为例,从上述链接获得压缩包,以 \type{D:\} 作为解压缩目录,解压后可得 \type{D:\context} 目录,然后按照上一节所述方式修改系统 \type{PATH} 变量即可得到完整的 \ConTeXt\ LMTX 环境,日后依然可执行 \type{D:\context\install.bat} 对其进行更新。我已将该过程录制为视频,网络链接为 \bluebox{\from[quick-installation]}。
+
+\section{小结}
+
+在一个桌面操作系统中,命令行环境能完成的工作,图形界面通常也能完成,但对于有些任务,命令行环境比图形界面更为高效,反之亦然,原本无需厚此薄彼,但尺有所短,寸有所长,Windows,Linux 和 macOS 也是如此。
+
+\startitemize
+\item Windows 系统的命令行环境,前身是 MS DOS 系统,长期未得进化,现在用起来,捉襟见肘。现代的 PowerShell 更为适用,但因 \ConTeXt\ 目前不能直接在 PowerShell 环境里完成安装,故而上文未曾言及。
+\item macOS 无论图形界面还是命令行环境皆胜于 Windows 和 Linux,但其缺点是在不违法的情况下,它只能运行于苹果公司的计算机,费用不菲。
+\item Linux 系统的图形界面不及 Windows 和 macOS,但命令行环境优于 Windows\footnote{自 Windows 10 开始,微软在 Windows 系统中构建了 Linux 子系统(WSL),允许用户在 Windows 系统中使用 Linux 命令行环境,但是该环境无法利用 Windows 和 Linux 的图形界面功能。},与 macOS 相当,但 Linux 最显著的特点是,它能帮助每一个使用计算机的人,让他深刻觉察自己以往所宣称的那样热爱自由是否真实。
+\stopitemize
diff --git a/info/context-notes-zh-cn/src/02.tex b/info/context-notes-zh-cn/src/02.tex
new file mode 100644
index 0000000000..fe7e6ed58e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/02.tex
@@ -0,0 +1,255 @@
+\chapter{沙盘游戏}
+
+先不要急于学习使用 \ConTeXt\ 写论文,出专著,虽然它极为擅长这类任务,但是我还是希望先将它当成一个可爱的朋友,慢慢去熟悉它,而不是功利主义视角下的工具。
+
+\section{新手村}
+
+在第 \in[Installation] 章中,为了验证 \ConTeXt\ LMTX 是否已成功安装,我使用三条 \type{echo} 命令构造了一份简单的 \ConTeXt\ 源文件 foo.tex。事实上,可以使用任何一个文本编辑器来做此事。foo.tex 文件内容如下:
+
+\starttyping[option=TEX]
+\startTEXpage[offset=1cm]
+Hello \ConTeXt!
+\stopTEXpage
+\stoptyping
+
+\noindent 执行以下命令\footnote{从本章开始,一直使用 Linux 风格的命令提示符 \type{$}。},调用 \type{context} 程序,可将 foo.tex 编译成 PDF 文件 foo.pdf:
+
+\starttyping
+$ context foo.tex
+\stoptyping
+
+\noindent 在使用 \type{context} 命令编译 ConTeXt 源文件时,可省略文件扩展名「\type{.tex}」,因此下面的命令与上述命令等效:
+
+\starttyping
+$ context foo.tex
+\stoptyping
+
+现在,想必你已经敏锐地觉察到了,凡是开头为反斜线「\type{\}」开头的英文单词,都是排版命令,的确如此。
+
+排版命令 \type{\startTEXpage...\stopTEXpage} 称为 \type{TEXpage} 环境,我将其称为新手村。这一对排版命令所包含的内容,例如「\type{Hello \ConTeXt!}」会被排版于一个恰好能包含它的矩形排版空间。\type{frame} 参数用于控制边框是否开启,其值为 \type{off} 或省略对它的设定时,关闭边框。\type{offset} 参数可用于对排版空间进行扩大或缩小,如示例 \in[starting-area] 所示,排版空间从中心向四周被扩大 2.5 mm。
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,offset=2.5mm]
+Hello \ConTeXt!
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[starting-area]{新手村}{starting-area.pdf}
+
+之所以称 \type{TEXpage} 环境为新手村,是因它足够简单,将其用于观察大多数排版命令的效果时无需关心版面的天头、地脚、订口、翻口、版心、页码等元素的设定。
+
+\section{伪文字}
+
+\ConTeXt\ 有一个可视化模块,提供了伪造单词的排版命令,使用该命令可以生成一些黑色的长短随机的矩形块,可将它们当成文字,从而在沙盘上可以更加随心所欲一些。
+
+如示例 \in[true-words] 所示,排版两行文字,每行由 5 个单词组成。示例 \in[true-words] 给出了伪文字的效果。同样是两行文字,每一行由 3~5 个单词构成。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual] % 加载可视化模块
+\startTEXpage[frame=on,offset=2.5mm]
+This is the first line.\\ % 强制换行
+This is the second line.
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[true-words]{两行真实文字}{true-words.pdf}
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm]
+\fakewords{3}{5}\\
+\fakewords{3}{5}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[fakewords]{两行伪文字}{fakewords.pdf}
+
+\section{注释}
+
+在示例 \in[true-words] 的源代码中,「\type{%}」及其后面的同一行文字,是 \TeX\ 注释文本,它们会被 \type{context} 程序忽略,故而不会出现在排版结果中。注释是为了便于人类阅读 \ConTeXt\ 源代码而存在的。
+
+\section{换行符}
+
+在示例 \in[true-words] 和 \in[fakewords] 的源代码中,「\type{\\}」是强制换行命令,倘若将其删除,即使在源代码中将文字分为两行,例如
+
+\starttyping[option=TEX]
+This is the first line.
+This is the second line.
+\stoptyping
+
+\noindent 排版结果依然是一行,而且换行符会被 \type{context} 程序视为一个空格,不妨亲自动手试验一下。
+
+在使用换行符的情况下,即使两行文字在源代码中处于同一行,例如
+
+\starttyping[option=TEX]
+This is the first line.\\ This is the second line.
+\stoptyping
+
+\noindent 排版结果依然是两行。
+
+\type{\crlf} 也能用于对文字强制进行断行。倘若不希望对每一行都输入断行命令,也可以考虑使用 \type{lines} 环境,请参考示例 \in[lines]。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm]
+\startlines
+\fakewords{3}{5}
+\fakewords{4}{7}
+\fakewords{5}{9}
+\stoplines
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[lines]{排版多行文本}{lines.pdf}
+
+\section{分段}
+
+观察示例 \in[pars],虽然排版结果依然是两行,但实际上它是两段。\type{\par} 是分段命令。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm]
+\startlines
+\fakewords{3}{5}\par
+\fakewords{3}{5}
+\stoplines
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[pars]{分段}{pars.pdf}
+
+通常很少使用分段符对文本进行分段,因为在 \ConTeXt\ 源文档中,只需在两段文字之间空一行便可实现分段。示例 \in[pars-2] 使用空行进行分段,并通过限定「新手村」的宽度为 6 cm,从而在促狭的空间里展示了多行伪文字构成的段落。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\fakewords{9}{15}
+
+\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[pars-2]{多行文本构成的段落}{pars-2.pdf}
+
+段落可以设置首行缩进。中文排版的惯例是,段落首行需缩进 2 个汉字的宽度,示例 \in[pars-3] 实现了该需求,排版结果中段落开头的蓝色矩形区域表示文字缩进后产生的空白区域。尺寸 2em 即英文字母 \type{M} 的宽度的 2 倍,刚好与两个汉字的宽度相同。还有一个常用的尺寸单位 ex,它是英文字母 \type{x} 的高度。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\setupindenting[first,always,2em]
+\fakewords{9}{15}
+
+\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[pars-3]{设置段落首行缩进}{pars-3.pdf}
+
+根据文档「Faking text and more」\cite[faking-text]的提示,可将段落缩进区域的颜色定义为白色,从而可避免蓝色矩形块对视觉的干扰,见示例 \in[parindentcolor]。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\setupindenting[first,always,2em]
+% 将缩进区域的颜色由默认的蓝色改为白色
+\definecolor[fakeparindentcolor][white]
+\fakewords{9}{15}
+
+\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[parindentcolor]{消除段落缩进色块}{parindentcolor.pdf}
+
+在设定段落首行缩进后,若不希望某个段落的首行被缩进,可在段落开头放置命令 \type{\noindent}。示例 \in[noindent],第二段消除了第二段文字的首行缩进。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\setupindenting[first,always,2em]
+\definecolor[fakeparindentcolor][white]
+\fakewords{9}{15}
+
+\noindent\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[noindent]{消除第二段的首行缩进}{pars-4.pdf}
+
+\section[interlinespace]{行间距}
+
+\ConTeXt\ 默认的段落内各行文字的间距是 2.8 ex,约等于 \ConTeXt\ 默认的正文字体大小 12 pt。可使用 \type{\setupinterlinespace} 对行间距进行调整。如示例 \in[pars-5] 将行间距设为 1.75 倍默认行距。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\setupindenting[first,always,2em]
+\definecolor[fakeparindentcolor][white]
+\setupinterlinespace[1.75]
+\fakewords{9}{15}
+
+\fakewords{9}{15}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[pars-5]{多行文本构成的段落}{pars-5.pdf}
+
+不过,我发现示例 \in[pars-5] 的行间距设定语句若放在 \type{\startTEXpage} 语句之前则无效\footnote{在 \in[context-world] 节中会介绍 \type{\starttext ... \stoptext},直接以默认行距倍数的方式设置行间距,若设定语句位于 \type{\starttext} 之前则同样无效。},也许是当前的 \ConTeXt\ LMTX 版本存在 bug。
+
+不过,还有一种段落内行间距设定方法。等到掌握第 \in[chinese-fonts] 章中讲述的设定 \ConTeXt\ 字体的方法,在你已经清楚正文字体的大小时,例如 11 pt,可采取以下方式设定 1.75 倍行距:
+
+\starttyping[option=TEX]
+\setupinterlinespace[line=19.25pt]
+\stoptyping
+
+\noindent 之所以是 19.25 pt,是因它等于 $1.75\times 11$ pt。上述代码设定的是一行文字的最大高度。在后文中,本文档皆使用这种方式设定段落内行间距。
+
+\section{对齐}
+
+有时,希望将一行文字居左、居中或居右放置,可分别使用 \type{\leftaligned},\type{\midaligned} 和\type{\rightaligned} 进行排版,请参考示例 \in[aligned-1]。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage
+ [frame=on,offset=2.5mm,width=6cm]
+\leftaligned{\fakewords{1}{2}}
+\midaligned{\fakewords{1}{2}}
+\rightaligned{\fakewords{1}{2}}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[aligned-1]{多行文本构成的段落}{aligned-1.pdf}
+
+如果是一段文字需要居左、居中或居右排版,可使用 \type{alignment} 环境,通过该环境的参数控制对齐形式。示例 \in[aligned-2] 展示了段落的三种对齐形式。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage[frame=on,offset=2.5mm,width=6cm]
+\startalignment[flushleft] % 左对齐
+1. \fakewords{5}{15}
+\stopalignment
+\startalignment[middle] % 居中对齐
+2. \fakewords{5}{15}
+\stopalignment
+\startalignment[flushright] % 右对齐
+3. \fakewords{5}{15}
+\stopalignment
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[aligned-2]{段落对齐}{aligned-2.pdf}
+
+\section{写一封谁也看不懂的信}
+
+现在,我们已经有能力用伪文字排版一封谁也看不懂内容的书信了,见示例 \in[letter]。也许现在你很想用汉字给朋友写封信,并告诉他,这封信的排版是你亲手用 \ConTeXt\ 制作的。我劝你暂时最好放弃这个想法,写英文书信是完全可以的。
+
+\startsamplecode\startnarrowtyping
+\usemodule[visual]
+\startTEXpage
+ [frame=on,offset=1cm,width=10cm]
+\definecolor[fakeparindentcolor][white]
+\setupindenting[first,always,2em]
+\noindent\fakewords{1}{1}:\par
+\fakewords{1}{2}\par
+\fakewords{20}{50}\par
+\fakewords{20}{50}\par
+\fakewords{20}{50}\par
+\fakewords{1}{1}\par
+\noindent\fakewords{1}{1}\par
+\rightaligned{\fakewords{1}{1}}\par
+\rightaligned{\fakewords{1}{1}}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[letter]{一封谁也看不懂的信}{letter.pdf}
+
+\section{小结}
+
+恭喜你,走出了新手村。在下一章学会安装和使用汉字字体,便可以闯荡 \ConTeXt\ 世界了。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/03.tex b/info/context-notes-zh-cn/src/03.tex
new file mode 100644
index 0000000000..34688f0564
--- /dev/null
+++ b/info/context-notes-zh-cn/src/03.tex
@@ -0,0 +1,327 @@
+\chapter[chinese-fonts]{汉字}
+
+让 \TeX\ 系统支持汉字,这个任务曾经很容易对新手学习和使用 \TeX\ 的热情造成毁灭性打击。后来,随着 \XeTeX\ 和 \LuaTeX\ 等现代 \TeX\ 引擎的出现,这项任务的难度已经大幅降低了。\ConTeXt\ LMTX 所用的 \TeX\ 引擎是 \LuaMetaTeX,对 \LuaTeX\ 进行了精简并作为它的继任者而继续发展。可能你现在并不理解这些术语,但也不必担心,如同驾驶一辆 \ConTeXt\ 汽车,无需知道它的引擎(发动机)是哪个工厂生产的,其性能参数又是如何。
+
+\section[fonts-installation]{安装字体}
+
+首先,需要找到一款汉字字体文件,否则只有学仓颉,自己造字。倘若你或你的朋友的计算机中装有 Windows 系统,可从如图 \in[msfonts] 所示的 \type{C:\Windows\Fonts} 目录下获得宋体(simsun.ttc)、黑体(simhei.ttf)和楷体(simkai.ttf)等字体文件。有了它们,足以胜任常规的排版工作。
+
+\placefigure
+ [here,force]
+ [msfonts]
+ {\type{C:\Windows\Fonts}}
+ {\externalfigure[msfonts.png][width=.6\textwidth]}
+
+在开始安装字体之前,需要给出一个术语,\TeX\ 根目录。以 Windows 系统为例,若 \ConTeXt\ 安装在 \type{D:\context} 目录,则该目录中的子目录和文件当如图 \in[tex-root] 所示。在这种情况下,\type{D:\context\tex} 目录即为 \TeX\ 根目录。同理,对于 Linux 和 macOS 系统,若 \ConTeXt\ 安装在 \type{$HOME/context} 目录,则 \type{$HOME/context/tex} 为 \TeX\ 根目录。
+
+\placefigure
+ [here,force]
+ [tex-root]
+ {\TeX\ 根目录}
+ {\externalfigure[tex-root.png][width=.6\textwidth]}
+
+为了便于描述,从现在开始,以虚构的类 Unix 环境变量风格的 \type{$TEXROOT} 指代 \TeX\ 根目录,不再使用具体路径,因为后者严重依赖于操作系统和用户偏好而缺乏一致性。此外,路径中的目录间隔符也统一使用类 Unix 风格进行表示,即使用「\type{/}」而非 Windows 风格的「\type{\}」,例如 \type{$TEXROOT/texmf} 表示 \TeX\ 根目录的子目录 \type{texmf}。
+
+向 \ConTeXt\ 安装宋体(simsun.ttc)、黑体(simhei.ttf)和楷体(simkai.ttf)的具体过程如下:
+
+\startitemize[n,packed][stopper=,left=(,right=)]
+\item 将上述字体文件复制到 \type{$TEXROOT/texmf-local/fonts/truetype/msfonts} 目录,若该目录不存在,则自行创建;
+\item 执行「\type{context --generate}」命令,刷新 \ConTeXt\ 的文件数据库:
+\item 执行「\type{mtxrun --script fonts --reload --force}」命令,载入新添加的字体:
+\stopitemize
+
+字体安装完毕后,可以通过查询字体文件名确认字体是否安装成功,例如查询 simhei.ttf:
+
+
+\starttyping
+$ mtxrun --script fonts --list --file simhei.ttf
+familyname weight style width variant fontname filename ...
+
+simhei normal normal normal normal simhei simhei.ttf
+\stoptyping
+
+\noindent 查询结果中的 \type{fontname} 栏很重要,因为在排版时,通常要使用字体名字指代某个字体。上述命令也可用于查询 simkai.ttf 的信息,但是无法用于查询 TTC 字体 simsun.ttc,可能是因 TTC 字体文件较为特殊,但无论如何,这是 \type{mtxrun} 的 \type{fonts} 脚本的一个 bug,希望日后能被修复。
+
+查询 simsun.ttc 对应的字体名,可以使用以下命令:
+
+\starttyping
+$ mtxrun --script fonts --list --all simsun
+identifier familyname fontname filename subfont instances
+
+nsimsunnormal nsimsun nsimsun simsun.ttc 2
+nsimsunregular nsimsun nsimsun simsun.ttc 2
+simsun simsun simsun simsun.ttc 1
+simsunnormal simsun simsun simsun.ttc 1
+simsunregular simsun simsun simsun.ttc 1
+\stoptyping
+
+\noindent\type{subfont} 栏表明 simsun.ttc 里包含了两种字体,一种是 \type{simsun}(宋体),另一种是 \type{nsimsun}(新宋体)。此外,请对 \type{identifier} 和 \type{familyname} 栏略加留意,\in[define-family] 节需要这些信息。
+
+需要注意,上述过程安装的字体都是有版权的,倘若作商业用途,需要向开发这些字体的公司支付授权费用。本文档之所以选择使用它们,主要是为了兼容国内在文档字体选用上的积习。网络上能够找到 Google 公司开发的一系列免费的汉字字体,例如 Noto 系列,其安装方式可参考上述过程,无须赘述。此外,若安装扩展名为「\type{.otf}」的字体,即 OpenType 字体,建议将它们安装到 \type{$TEXROOT/texmf-local/fonts/opentype} 目录,若无该目录,可自行创建。
+
+\section{字体的定义与使用}
+
+示例 \in[hello-hanzi] 演示了如何在新手村里为 \ConTeXt\ 定义大小为 12 pt 的宋体,黑体和楷体等字体切换命令,并使用它们各排版一行文字。
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\definefont[heiti][name:simhei at 12pt]
+\definefont[kaiti][name:kaiti at 12pt]
+\songti 潜龙勿用。\\
+\heiti 见龙在田,利见大人。\\
+\kaiti 君子终日乾乾,夕惕若厉,无咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[hello-hanzi]{三种汉字字体}{qian.pdf}
+
+需要注意的是,第一次在 \ConTeXt\ 中使用新安装的汉字字体,源文件编译过程会较为缓慢,因为 \ConTeXt\ 需要解析字体文件中的一些编码信息并将解析结果存到它的字体缓存目录。待下一次使用经过缓存后字体时,编译速度便会正常,因此不应急切宣判 \ConTeXt\ 不适合处理中文文档。我的计算机 CPU 是 \type{Intel i5-4300U @ 1.90GHz}。这份文档写至此处,已有 20 页内容,其源文件单次编译时间不到 3 秒。我感觉 \ConTeXt\ 处理中文文档,并不是很慢,但是应当承认,肯定是比基于 \pdfTeX 或 \XeTeX 等引擎的 \TeX\ 要慢一些。
+
+\section[breaking-lines]{中文断行}
+
+现在尝试用宋体字排版一段中文,见示例 \in[无法断行]。结果表明,仅仅能在 \ConTeXt\ 中使用汉字字体是不够的,因为 \ConTeXt\ 此刻尚不知在限定宽度的版面内如何对汉字进行断行,以致文字超出版面。究其原因,是汉字之间不像西文单词以空格作为间隔,因此在 \ConTeXt\ 看来,一段汉字文字等同于一个很长的西文单词,是一个无法分隔的单元。
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,width=5cm,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\songti
+潜龙勿用。见龙在田,利见大人。%
+君子终日乾乾,夕惕若厉,无咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[无法断行]{中文段落无法断行}{breakinglines-1.pdf}
+
+需要注意示例 \in[无法断行] 中的注释符的用法。虽然注释内容为空,但注释符可令 \TeX\ 引擎忽略其后的所有空白字符(包括换行符)。倘若将该示例中的注释符去掉,第一行汉字和第二行汉字之间的换行符会被 \TeX\ 引擎视为空白字符,从而让 \ConTeXt\ 觉得,它面对的是两个较长的单词,它们之间可以断行,结果见示例 \in[将错就错],可以断行,但属于误打误撞。
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,width=5cm,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\songti
+潜龙勿用。见龙在田,利见大人。
+君子终日乾乾,夕惕若厉,无咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[将错就错]{中文段落无法断行}{breakinglines-2.pdf}
+
+现在,我们可以灵机一动,既然换行符被 \TeX\ 引擎视为空白字符从而使得 \ConTeXt\ 误打误撞对汉字进行了一次断行,那么倘若在汉字之间手工插入空格字符,\ConTeXt\ 能否实现汉字断行呢?答案是,可行,见源文档显现了空格字符(以 \type[space=on]{ } 表示)的示例 \in[手工断行],只是空格的存在,导致排版结果中的汉字分布较为蓬松。
+
+\startsamplecode\startnarrowtyping[space=on]
+\startTEXpage[frame=on,width=5cm,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\songti
+潜 龙 勿 用。 见 龙 在 田, 利 见 大 人。
+君 子 终 日 乾 乾, 夕 惕 若 厉, 无 咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[手工断行]{中文段落手工插入空格进行断行}{breakinglines-3.pdf}
+
+位于 \ConTeXt\ 底层的 \TeX\ 系统提供了粘连(Glue)机制,我们可以用它定义给定宽度且有些许弹性的空格。例如,定义一个宽度为 0,最大可伸展 2 pt 且不可收缩的粘连:
+
+\starttyping[option=TEX]
+\def\foo{\hskip 0pt plus 2pt minus 0pt}
+\stoptyping
+
+\noindent 然后用该粘连代替空格,插入到汉字之间,便基本可实现汉字断行,结果见示例 \in[手工插入粘连断行],需要注意的是,\TeX\ 会自动忽略排版命令之后尾随的空格,因此 \type{\foo} 之后虽然有一个空格,但该空格不会在排版结果里出现。
+
+\startsamplecode\startnarrowtyping[space=on]
+\startTEXpage[frame=on,width=5cm,offset=4pt]
+\definefont[songti][name:simsun at 12pt]
+\def\foo{\hskip 0pt plus 2pt minus 0pt}
+\songti
+潜\foo 龙\foo 勿\foo 用。%
+\foo 见\foo 龙\foo 在\foo 田,\foo 利\foo 见%
+\foo 大\foo 人。%
+\foo 君\foo 子\foo 终\foo 日\foo 乾\foo 乾,%
+\foo 夕\foo 惕\foo 若\foo 厉,\foo 无\foo 咎。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[手工插入粘连断行]{中文段落手工插入粘连进行断行}{breakinglines-4.pdf}
+
+由于没有人愿意像示例 \in[手工插入粘连断行] 那样排版汉字,因此 \ConTeXt\ 提供了一个可以自动在汉字之间插入粘连的命令,即
+
+\starttyping[option=TEX]
+\setscript[hanzi]
+\stoptyping
+
+\noindent 上述过程大费周章,仅仅是让你明白 \type{\setscript[hanzi]} 的原理。此外,你甚至学会了如何定义一个 \TeX\ 宏,即 \type{\foo},从而避免了像下面这样输入繁琐的排版命令:
+
+\starttyping[option=TEX]
+潜\hskip 0pt plus 2pt minus 0pt 龙\hskip 0pt plus 2pt minus 0pt 勿……
+\stoptyping
+
+\noindent 倘若你擅长定义你所需要的 \TeX\ 宏,便可以自己创造一个可与 \ConTeXt\ 媲美的宏包。现在,已经隐隐知道了\ConTeXt\ 的一些真相了吧。
+
+\section{写一封真正的信}
+
+\startsamplecode\startnarrowtyping
+\startTEXpage[frame=on,width=6cm,offset=6pt]
+\definefont[songti][name:simsun at 10.5pt]
+\setscript[hanzi] % 中文断行支持
+\songti
+\setupindenting[always,first,2em]
+\setupinterlinespace[1.5]
+\noindent 亲爱的朋友:\par
+你们好吗?\par
+现在工作很忙吧,身体好吗?我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。\par
+五百年后的春节,我一定回山。
+好了,先写到这吧。\par
+此致\par
+\noindent 敬礼\par
+\rightaligned{孙悟空}
+\rightaligned{2035.10.1}
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[孙悟空的信]{孙悟空的信}{breakinglines-5.pdf}
+
+从现在开始,在提供示例时,为了节省篇幅,我有时会省略一部分经常重复使用的代码,仅给出关键代码以突出重点,在有兴致动手试验这些代码时,需要你自己动手添加被省略的代码。
+
+\section{字族}
+
+如同我们习惯于将汉字分为许多书体,诸如常用的宋体、楷体、仿宋、隶书、幼圆、黑体等,西方人对他们的字体也是有着一套分类体系。\TeX\ 系统原本是针对西方文字排版而设计和开发的,因此我们需要先了解西方人对字体的分类,然后将汉字字体按自己的需要与之相应。
+
+回忆一下,在学会安装和使用汉字字体之前,用 \ConTeXt\ 排版英文内容,我们并未设置任何西文字体,\ConTeXt\ 依然能完成排版。这意味着 \ConTeXt\ 已经为用户定义了一套西文字体,且在排版环境中默认启用了。这套字体由十多种字体组成,统称为 Computer Modern Roman(简称 cmr)字体,可分为四族:衬线(Serif)、无衬线(Sans Serif)、等宽(Monospace)以及数学。前三个字族基本上又分别细分为正体(Regular 或 Normal)、粗体(Bold)、斜体(Italic)和粗斜体(BoldItalic)。
+
+\ConTeXt\ 默认启用的正文字体是衬线字族中的正体。\type{\rm},\type{\ss} 和 \type{\tt} 可分别用于将字体切换为衬线、无衬线和等宽字族的正体。\type{\tf},\type{\bf},\type{\it} 和 {\type{\bi}} 可分别用于切换每个字族中的正体、粗体、斜体和粗斜体等字体。示例 \in[默认字体] 演示了如何切换各种字体以及 \type{{...}} 的用法。在默认情况下,\TeX\ 引擎将一对花括号所包含的内容视为一个整体,\TeX\ 术语称之为编组(Group)。编组内部的排版命令不会对编组外部产生任何影响,但编组外部的排版命令会影响编组内部。
+
+\startsamplecode\startnarrowtyping
+% 衬线字体
+Hello. {\bf Hello.}
+{\it Hello.} {\bi Hello.}\\
+% 无衬线字体
+\ss Hello. {\bf Hello.}
+{\it Hello.} {\bi Hello.}\\
+% 等宽字体
+\tt Hello. {\bf Hello.}
+{\it Hello.} {\bi Hello.}\\
+% 将字体切换为衬线字体
+\rm
+% 数学字体
+Math in text mode: $\int_a^b f(x)dx$\\
+Math in display mode:
+\startformula
+\int_a^b f(x)dx
+\stopformula
+\stopnarrowtyping\stopsamplecode
+\mysample[默认字体]{\ConTeXt\ 默认字体}{defaultfonts.pdf}
+
+\ConTeXt\ 默认正文字体的大小为 12 pt,并以该尺寸为基准,定义了 6 种不同级别的字体尺寸,从小到大依序为:\type{xx},\type{x},\type{a},\type{b},\type{c},\type{d}。\type{x} 级比正文字体小,\type{a} 级比正文字体大。示例 \in[fontsize-level] 演示了无衬线字族的正体字体 7 种大小级别的切换。
+
+\startsamplecode\startnarrowtyping
+\ss {\tfxx A} {\tfx A} A or {\tf A}
+{\tfa A} {\tfb A} {\tfc A} {\tfd A}
+\stopnarrowtyping\stopsamplecode
+\mysample[fontsize-level]{字体大小的 7 种级别}{fontsize-level.pdf}
+
+此外,还需要注意的是,尺寸单位 em 的含义。之前我对它给出解释是字母 \type{M} 宽度,恰好等于 1 个汉字的宽度,这是针对当前所的字体环境而言的。例如,在示例 \in[em-1] 和 \in[em-2] 中,段落首行缩进设定命令出现的位置不同,导致段落缩进距离产生了差异。这是因为,在示例 \in[em-1] 中,设定段落首行缩进时,em 的值是基于 \ConTeXt\ 默认的正文字体尺寸确定的,其值为 12 pt,而在 示例 \in[em-1] 中,em 的值是基于我们自定义的字体 \type{\songti} 的尺寸确定的,其值为 9 pt。
+
+\startsamplecode\startnarrowtyping
+\setscript[hanzi]
+\definefont[songti][name:simsun at 9pt]
+\setupindenting[always,first,2em]
+\songti
+我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。
+\stopnarrowtyping\stopsamplecode
+\mysample[em-1]{段落缩进距离是 24 pt}{indenting-1.pdf}
+
+\startsamplecode\startnarrowtyping
+\setscript[hanzi]
+\definefont[songti][name:simsun at 9pt]
+\songti
+\setupindenting[always,first,2em]
+我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。
+\stopnarrowtyping\stopsamplecode
+\mysample[em-2]{段落缩进距离是 18 pt}{indenting-2.pdf}
+
+\section[define-family]{定义汉字字族}
+
+使用 \type{\definefontfamily} 可将你喜欢的一些汉字字体定义为字族,用以代替 \ConTeXt\ 的默认字族,然后使用 \type{\setupbodyfont} 启用你定义的字族。示例 \in[setupbodyfont] 将 10.5 pt 的宋体作为正文默认字体\footnote{10.5 pt 可对应 MicroSoft Word 中的五号字。}。注意,字族的定义和启用,需在新手村之外进行,否则无效。不过,\type{\setupindenting} 却只能在新手村之内起效,这让我有些不解,但是这就是新手村的规矩,只能接受。
+
+\startsamplecode\startnarrowtyping
+\definefontfamily[myfonts][rm][nsimsun]
+\setupbodyfont[myfonts,10.5pt]
+\setscript[hanzi]
+\startTEXpage[frame=on,width=6cm,offset=6pt]
+\setupindenting[always,first,2em]
+我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[setupbodyfont]{定义正文字体并启用}{setupbodyfont.pdf}
+
+示例 \in[setupbodyfont] 仅定义了 \type{myfonts} 的衬线字族(\type{rm})为 \type{nsimsun},且需要注意的是,此处的 \type{nsimsun} 并非字体名,而是字族名。在 \in[fonts-installation] 节中,将 simsun.ttc 安装至 \ConTeXt\ 环境之后,我们曾查询过它的相关信息,其中有一栏信息是 \type{familyname},其中罗列的便是字体所属的字族名。\ConTeXt\ 会根据字族名自动搜索字体的 \type{identifier} 信息,若某字体,其 identifier 的末尾是 \type{regular} 或 \type{normal}\footnote{identifier 名的末尾为 regular 和 normal 的字体通常是同一个字体。},则该字体会被 \ConTeXt\ 自动作为该字体所属字族的正体。同理,若某字体的 identifier 的末尾是 \type{bold},\type{italic} 或 \type{bolditalic},则该字体会被 \ConTeXt\ 自动作为该字体所属字族的粗体、斜体或粗斜体。
+
+由于我们的 \ConTeXt\ 环境里的 \type{nsimsun} 字族只有正体 \type{nsimsunregular},没有其他字体,因此倘若在示例 \in[setupbodyfont] 中,使用 \type{\bf} 切换字体时,即
+
+\starttyping[option=TEX]
+\bf 我现在五指山挺好的。
+虽然我很少写信,其实我很怀念花果山。
+\stoptyping
+
+\noindent \ConTeXt\ 会因找不到相应的字体而排出空页。若要解决该问题,需要使用 \type{\definefontfamily} 的第四个参数,通过字体名指定其他字体以补充字族缺失的字体。例如,可以使用黑体和楷体作为来补充 \type{nsimsun} 字族的缺失字体:
+
+\starttyping[option=TEX]
+\definefontfamily[myfonts][rm][nsimsun][bf=simhei,it=kaiti,bi=simhei]
+\stoptyping
+
+同理,也可以用宋体,黑体和楷体定义非衬线和等宽字族:
+
+\starttyping[option=TEX]
+\definefontfamily[myfonts][ss][simhei][bf=simhei,it=simhei,bi=simhei]
+\definefontfamily[myfonts][tt][kaiti][bf=simhei,it=kaiti,bi=simhei]
+\stoptyping
+
+为汉字定义字族还有一种传统方法,使用 \ConTeXt\ 的 typescript 机制,但是需要写许多代码,但以前只有这一种方法。现在我们可以对它说,再见,typescript!
+
+\section[fallback-fonts]{字形替换}
+
+也许你现在觉得自己在新手村里已经脱胎换骨,可以扬眉吐气了,因为你已经能够自由地在 \ConTeXt\ 世界里使用汉字。是的,你可以如此觉得,只要你的排版内容没有西方文字。
+
+排版内容里有西方文字会怎样的?图 \in[bad-latin] 给出了选项,在排版结果中,是上面那行文字里的英文单词美观,还是下面那行?前者是 simsun.ttc 中的西文字形,后者是 \ConTeXt\ 默认的 cmr 字体里的衬线正体中的西文字形。若你选择前者,则本节内容可至此完全忽略,否则请继续阅读。
+
+\placefigure
+ [here,force][bad-latin]
+ {英文字形比较}
+ {\externalfigure[bad-latin.pdf][width=.4\textwidth]}
+
+\type{\definefallbackfamily} 可用一种字体中的部分字形替换另一种字体的相应字形,其用法与 \type{\definefontfamily} 类似,只是需要在参数中指定字形覆盖范围。示例 \in[fallbacks] 使用 latinmodernroman 字族里的每种字体的 Unicode 码位区间 $[0\mathrm{x}0000, 0\mathrm{x}0400]$ 中的所有字形强行替换 nsimsun 字族中每种字体(包括替补字体)的相应字形。也可以使用 \ConTeXt\ 已经定义了名字的 Unicode 码位区间代替 16 进制数字形式的区间。例如,
+
+\starttyping[option=TEX]
+\definefallbackfamily
+ [myfonts][rm][latinmodernroman]
+ [range={basiclatin,latinsupplement},force=yes]
+\stoptyping
+
+\noindent 指定了 Unicode 码位区间 $\mathrm{[0x0000, 0x00FF]}$ 中的字形作为替换字形。Unicode 码位区间的名字见文档「List of Unicode blocks」\cite[unicode-blocks]。
+
+\startsamplecode\startnarrowtyping
+\definefallbackfamily
+ [myfonts][rm][latinmodernroman]
+ [range={0x0000-0x0400},force=yes]
+\definefontfamily
+ [myfonts][rm][nsimsun]
+ [bf=simhei,it=kaiti,bi=simhei]
+\setupbodyfont[myfonts,16pt]
+\setscript[hanzi]
+\startTEXpage[frame=on,offset=4pt]
+爱因斯坦 Einstein\\
+\bf 爱因斯坦 Einstein\\
+\it 爱因斯坦 Einstein\\
+\bi 爱因斯坦 Einstein
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[fallbacks]{字形替换}{fallbacks.pdf}
+
+\section{小结}
+
+当你读到此处,我想悄悄告诉你,\ConTeXt\ 里最难的知识,你已基本掌握。现在,你完全可以在新手村的春天里扬眉吐气了。
+
+这部分知识有多难呢,难到 Hans Hagen 需要为之撰写一本长达 228 页的手册,若有兴趣,不妨拜读。我可以很诚实地说,该手册我只读过寥寥数页。由于你已经安装了 \ConTeXt,这份手册就在你的 \ConTeXt\ 环境里,执行以下命令可以找到它:
+
+\starttyping
+$ mtxrun --script base --find-file fonts-mkiv.pdf
+\stoptyping
+
+\noindent 请顺便浏览一番这份手册所在的目录里的其他 PDF 文件吧。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/04.tex b/info/context-notes-zh-cn/src/04.tex
new file mode 100644
index 0000000000..e8c0d0dcfa
--- /dev/null
+++ b/info/context-notes-zh-cn/src/04.tex
@@ -0,0 +1,186 @@
+\chapter[post]{让文章有它该有的样子}
+
+走出新手村,我们的第一个任务是,让一篇文章有它该有的样子。什么样子呢?至少要有标题,有作者信息,还可能有次标题,次次标题……还要有页码,当然最重要的是,要有段落——新手村里我们的老朋友。对于大多数文学创作工作者而言,这些已经足够了,这就是一篇文章该有的样子。至于科技工作者通常所需要的列表、表格、插图、数学公式等形式,是在文章该有的样子的基础上进一步的构造,现在不必急于理会。
+
+\section{标题}
+
+在 \ConTeXt\ 中,标题分为两种,无编号的和有编号的。每种标题又分为诸多级别。无编号的标题,级别从高到低,排版命令依序是
+
+\starttyping[option=TEX]
+\title{...} % 一级标题
+\subject{...} % 次级标题
+\subsubject{...} % 次次级标题
+\subsubsubject{...} % 次次次级标题
+... ... ...
+\stoptyping
+
+\noindent 有编号的标题,级别从高到低,排版命令依序是
+
+\starttyping[option=TEX]
+\title{...} % 一级标题
+\section{...} % 次级标题
+\subsection{...} % 次次级标题
+\subsubsection{...} % 次次次级标题
+... ... ...
+\stoptyping
+
+\noindent 应该不难看出两种标题各自的次级标题降级规律。不建议使用级别层次太深的标题,否则会让读者觉得身陷迷宫,通常前三级标题足够使用。若是写一篇散文,标题只需要用 \type{\title}。若是写一本小说,只需用 \type{\title} 制作书名,用 \type{\chapter} 制作章名。
+
+\section{写一篇散文}
+
+示例 \in[zaoshu] 虚构了一篇散文,我只给出了关键的源代码——为它构建完整的可编译的源代码,对你应该不是难事。该示例设置了段落首行缩进距离,并且使用 \type{\title} 创建了文章标题。目前尚无作者的名字,因为它会导致你无法看到 \ConTeXt\ 标题之后的段落,首行是不缩进的,这是西文的排版习惯。在使用标题前,只需对标题作如下设定,便可强迫 \ConTeXt\ 必须对每个标题后的第一个段落进行缩进。
+
+\starttyping[option=TEX]
+\setupheads[indentnext=yes]
+\stoptyping
+
+\startsamplecode\startnarrowtyping
+\setupindenting[first,always,2em]
+\title{鲁迅家的后园}
+
+在鲁迅家的后园,可以看见墙外有两株树。
+一株是枣树,还有一株也是枣树。
+
+这上面的夜的天空,奇怪而高,鲁迅生平
+没有见过这样奇怪而高的天空。
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu]{散文示例 1}{zaoshu.pdf}
+
+现在可以为文章增加作者信息了,虽然他叫无名氏,见示例 \in[zaoshu-2],只是作者距离正文太近了。不要尝试使用一些空行去增大该距离,因为 \TeX\ 引擎在遇到多个空行时,它也只是把它们当成一个空行,并将其视为 \type{\par}。
+
+\startsamplecode\startnarrowtyping
+\setupheads[indentnext=yes]
+\setupindenting[first,always,2em]
+\title{鲁迅家的后园}
+\midaligned{无名氏}
+% 省略了正文内容
+\stopTEXpage
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu-2]{散文示例 2}{zaoshu-2.pdf}
+
+在版面的竖直方向,段落之间,或标题与段落之间,或标题与标题之间……增加空白,通常可以使用 \type{\blank} 命令。例如,在作者和正文之间增加一个空行的距离,只需 \type{\blank[line]};要增加 $n$ 个空行的距离,只需 \type{\blank[n*line]}。
+
+\startsamplecode\startnarrowtyping
+\midaligned{无名氏}
+\blank[line]
+% 省略了正文内容
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu-3]{散文示例 3}{zaoshu-3.pdf}
+
+倘若需要将标题居中,而非默认的居左,只需使用 \type{\setuphead}单独为 \type{\title} 设定样式:
+
+\starttyping[option=TEX]
+\setuphead[title][align=middle]
+\stoptyping
+
+若汉字字族里已经设定了粗体,也可以将标题的样式设为粗体,并指定它的大小级别:
+
+\starttyping[option=TEX]
+\setuphead[title][style=\bfc,align=middle]
+\stoptyping
+
+示例 \in[zaoshu-4] 将上述设定综合起来,排版结果已经中规中矩了,只是标题里的汉字的分布有些疏松,这是 \type{\setscript[hanzi]} 命令在汉字之间插入的粘连的伸长特性被 \ConTeXt\ 激活导致的,而它们之所以被激活,大概是 \ConTeXt\ 过于追求精确文字居中对齐而导致的,令 \type{\setuphead} 的参数 \type{align} 的值为 \type{{middle,broad}} 可以让 \ConTeXt\ 在文字居中对齐方面宽松一些\cite[contextref](p86),结果可让汉字的分布变为紧密,见示例 \in[zaoshu-5]。
+
+\startsamplecode\startnarrowtyping
+\setupheads[indentnext=yes]
+\setuphead[title][style=\bfc,align=middle]
+\setupindenting[first,always,2em]
+
+\title{鲁迅家的后园}
+\midaligned{无名氏}
+% 省略了正文内容
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu-4]{散文示例 4}{zaoshu-4.pdf}
+
+不知 \ConTeXt\ 从哪个版本起,有了一个新的对齐方式 \type{center},它与 \type{{middle,broad}} 等价。请记住这个知识,因为以后可能会经常需要设定居中对齐。
+
+\startsamplecode\startnarrowtyping
+\setupheads[indentnext=yes]
+\setuphead
+ [title][style=\bfc,align=center]
+\setupindenting[first,always,2em]
+
+\title{鲁迅家的后园}
+\midaligned{无名氏}
+% 省略了正文内容
+\stopnarrowtyping\stopsamplecode
+\mysample[zaoshu-5]{散文示例 5}{zaoshu-5.pdf}
+
+\section[context-world]{正式踏入 \ConTeXt\ 世界}
+
+新手村终究太小了,小到已经不太容易让你尝试越来越多的 \ConTeXt\ 排版命令了。事实上,真正的 \ConTeXt\ 世界用起来要比新手村更为简单,只需使用 \type{\starttext ...\stoptext} 环境取代新手村即可,另外,一切设置排版样式的命令皆可放在 \type{\starttext} 之前。在 \type{text} 环境里,我们通常只需要关心文章或书籍的内容。
+
+以下代码应当有助于你看到 \ConTeXt\ 世界大致面目。它是完整的,亦即可将其保存为 \ConTeXt\ 源文件,使用 \type{context} 程序进行编译。
+
+\starttyping[option=TEX]
+% 排版样式
+\definefontfamily[myfonts][rm][nsimsun][bf=simhei]
+\setupbodyfont[myfonts,10.5pt]
+\setscript[hanzi]
+\setupheads[indentnext=yes]
+\setuphead[title][style=\bfc,align=center]
+\setupindenting[first,always,2em]
+% 行距:1.5 倍的正文字体尺寸,即1.5 * 10.5pt
+\setupinterlinespace[line=15.75pt]
+% 正文
+\starttext
+\title{鲁迅家的后园}
+\midaligned{无名氏}
+\blank[line]
+在我的后园,可以看见墙外有两株树,一株是枣树,还有一株也是枣树。
+
+这上面的夜的天空,奇怪而高,我生平没有见过这样的奇怪而高的天空。他仿佛要离开人间而去,使人们仰面不再看见。然而现在却非常之蓝,闪闪地眨着几十个星星的眼,冷眼。他的口角上现出微笑,似乎自以为大有深意,而将繁霜洒在我的园里的野花草上。
+
+... ... ...
+\stoptext
+\stoptyping
+
+\section[style]{内容与样式分离}
+
+或许你现在已经对每次排版时,会担心日后需要重复输入许多代码,它们主要用于设定排版所用的字体,标题的对齐方式、字体的大小粗细、段落缩进、行间距等。无需有此担心,因为任何一种 \TeX\ 都支持排版内容与样式的分离。
+
+如图 \in[style-file] 若将 \in[context-world] 节中的代码中位于 \type{\starttext} 之前的部分保存为文件,例如 foo-env.tex,然后将这部分代码之后的所有代码也保存为文件,例如 foo.tex。让 foo-env.tex 和 foo.tex 位于同一目录,然后在 foo.tex 的开头添加
+
+\starttyping[option=TEX]
+\input foo-env
+\stoptyping
+
+\noindent 最后,编译 foo.tex,所的结果必定与 \in[context-world] 节中的代码的编译结果相同。\type{\input} 是 \TeX\ 层面的命令,它的作用载入指定的扩展名为 \type{.tex} 的文件,但扩展名可省略。\ConTeXt\ 提供了 \type{\input} 等效且用法相同的命令 \type{\environment},以体现所载入的文件仅涉及排版样式的设定。
+
+\placefigure
+ [here,force][style-file]
+ {内容与样式分离}{\blueframed{\externalfigure[style-file.png][width=.8\textwidth]}}
+
+一旦熟悉了如何实现排版内容与样式的分离,在使用 \ConTeXt\ 排版愈发复杂的内容时,你的样式文件 foo-env.tex 的内容便会日益丰富。长此以往,你总是能攒出一些样式文件,供不同的文档形式使用。排版内容总是千变万化,但样式却总是寥寥数种且极易与他人分享,这便是 \TeX\ 的优点,但前提是,你需要清晰地理解你所设定的任何一个排版样式。事实上,这也正是学习任何一种 \TeX\ 系统的乐趣所在。
+
+\section{页码}
+
+如果你亲自动手编译了 \in[style] 的 foo.tex,应当能看到,页眉是有页码的,如图 \in[pagenumber] 所示。这是 \ConTeXt\ 默认的页码样式,即页码出现在每一页,且居中位于页眉,这并不合乎中文的排版习惯,需要对页码进行样式设定。
+
+\placefigure
+ [here,force][pagenumber]
+ {页码}{\blueframed{\externalfigure[pagenumber.png][width=.8\textwidth]}}
+
+首先,文章标题所在页面,通常不需要页码。该要求,只需在标题样式将页眉和页脚置空,即
+
+\starttyping[option=TEX]
+\setuphead
+ [title]
+ [header=empty,
+ footer=empty,
+ % 应该还有其他设定吧
+ ...=...]
+\stoptyping
+
+然后,修改页码投放位置,例如放在页脚右侧:
+
+\starttyping[option=TEX]
+\setuppagenumbering[location={footer,right}]
+\stoptyping
+
+将上述设定酌情添加到样式文件里,然后编译 \ConTeXt\ 源文档,查看其效果吧。日后,倘若是排版书籍,还需要对标题和页码样式的设计作更多的调整。
+
+\section{小结}
+
+现在,你已经可以用 \ConTeXt\ 写日记或随笔了。倘若动手尝试了 \type{\chapter},你甚至能用 \ConTeXt\ 写一本文集,只是风格过于朴素。若想让排版结果更为精致,\ConTeXt\ 博大精深,通常总有途径能够实现你的想法,前提是你需要更加用心。\TeX\ 之父 Donald Knuth 曾有一言,「我从来也不期盼 {\TeX} 会成为某种万能的排版工具,用于制作一些快速而脏的东西;我只是将其视为一种只要你足够用心就能得到最好结果的东西」,引用于此,与君共勉。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/05.tex b/info/context-notes-zh-cn/src/05.tex
new file mode 100644
index 0000000000..3a1a3cdc0b
--- /dev/null
+++ b/info/context-notes-zh-cn/src/05.tex
@@ -0,0 +1,146 @@
+\chapter{列表}
+
+若是帮领导起草并排版一份会议讲话稿,须知天下没有领导不偏爱含有列表的文章。大可以相信,\ConTeXt\ 列表绝对不会让领导失望。
+
+\section{Todo List}
+
+在偷偷使用 ChatGPT 给领导起草讲稿之前,先用 \ConTeXt\ 列表安排一下今日待办事项:
+
+\startsamplecode\startnarrowtyping
+2023 年 3 月 22 日
+\startitemize
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[todo-list]{待办事项}{05-todo-list.pdf}
+
+现在你已经学会了列表的用法了,剩下的,仅仅是设定它的样式。此外,你也学到了如何写大写的罗马数字,至于小写的,将 \type{\Romannumerals} 换成 \type{\romannumerals} 即可。
+
+\section{无序号列表}
+
+示例 \in[todo-list] 已经展示了样式最为简单的无序号列表,列表项符号是实心圆点。该示例中的列表实际上省略了列表项符号的设定,其完整形式为
+
+\starttyping[option=TEX]
+\startitemize[1]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stoptyping
+
+将上述代码中的数字 1 换成 2~9 的任何一个数字,可更换另一种列表项符号。例如
+
+\startsamplecode\startnarrowtyping
+\startitemize[8]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{改变列表项符号}{05-todo-list-2.pdf}
+
+\section{有序号列表}
+
+将无序号列表的数字参数换为 n,便可得到有序号列表。例如
+
+\startsamplecode\startnarrowtyping
+\startitemize[n]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{有序号列表}{05-todo-list-3.pdf}
+
+有时,需要序号形式是带括号的数字,可作以下设定:
+
+\startsamplecode\startnarrowtyping
+\startitemize[n][left=(,right=),stopper=]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals[2]
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{数字带括号的有序号列表}{05-todo-list-4.pdf}
+
+\noindent 其中「\type{stopper=}」是将参数 \type{stopper} 置空,达到的效果是消除列表项序号的西文句号后缀「\type{.}」。
+
+若将列表项序号参数设定为 a,A,r,R,对应的序号形式分别为小写英文字母、大写英文字母、小写罗马数字、大写罗马数字。
+
+\section[item-sym-diy]{自定义符号列表}
+
+你可能会觉得 \ConTeXt\ 为无序号列表提供的列表项符号无法体现你的气质,\ConTeXt\ 说,Do it yourself! 下面我用 \METAPOST\ 代码绘制了一个小正方形,并令其边线略微受到随机扰动,然后将该图形定义为列表项符号:
+
+\startsamplecode\startnarrowtyping
+\startuseMPgraphic{foo}
+ path p;
+ p := fullsquare scaled 8pt randomized 1pt;
+ draw p withpen pencircle scaled 2pt
+ withcolor darkred;
+\stopuseMPgraphic
+
+\definesymbol
+ [10][{\lower.2ex\hbox{\useMPgraphic{foo}}}]
+\startitemize[10]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals{2}
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[rsquare]{自定义符号的无序号列表}{05-todo-list-5.pdf}
+
+\noindent 现在你不懂上述代码的具体细节也无妨,观其大略即可,知道有一种可以画画的语言,叫 \METAPOST,它的代码可嵌入 \ConTeXt\ 环境作为插图使用,便已足够。
+
+对于有序号列表,有时会需要使用带圈的数字作为序号。虽然 Unicode 有相应的带圈字符的码位,例如 \char"2460,\char"2461……对应的 \TeX\ 命令是
+
+\starttyping[option=TEX]
+\char"2460,\char"2461……
+\stoptyping
+
+\noindent 但是这些带圈数字都是文字,并非数字。带圈的数字,无非是数字外面画个圆圈。画圆圈,用 \METAPOST\ 做此事,完全是不费吹灰之力,然后借助 \ConTeXt\ 的 overlay 机制\cite[overlay],将圆圈作为 inframed\cite[framed] 的背景,再用 inframed 套住列表项序号即可,详见
+
+\startsamplecode\startnarrowtyping
+\startuseMPgraphic{foo}
+ path p;
+ p := fullcircle scaled 12pt;
+ draw p withpen pencircle scaled .4pt
+ withcolor darkred;
+\stopuseMPgraphic
+\defineoverlay[rsquare][\useMPgraphic{foo}]
+\def\fooframe#1{%
+ \inframed[frame=off,background=rsquare]{#1}%
+}
+
+\defineconversion[foo][\fooframe]
+\startitemize[foo][stopper=]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals{2}
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[number-in-circle]{数字带圆圈的有序号列表}{05-todo-list-6.pdf}
+
+\noindent 你可能依然不知道上述代码具体细节,不必着急,以后会经常和它们打交道,逐渐便可熟悉。
+
+\section{间距调整}
+
+消除列表项之间的空白,只需
+
+\startsamplecode\startnarrowtyping
+2023 年 3 月 22 日
+\startitemize[1,packed]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals{2}
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{消除列表项之间的空白}{05-todo-list-7.pdf}
+
+消除列表前后以及列表项之间的空白,只需
+
+\startsamplecode\startnarrowtyping
+2023 年 3 月 22 日
+\startitemize[1,nowhite]
+\item 中午,晒十五分钟太阳
+\item 晚上,看流浪地球 \Romannumerals{2}
+\stopitemize
+\stopnarrowtyping\stopsamplecode
+\mysample[]{消除列表项之间的空白}{05-todo-list-8.pdf}
+
+\section{小结}
+
+真正让你的领导失望并抱怨的应该是,他想要一份 Microsoft Word 文件,而你提交给他的却是只能看不能随手改动的 PDF 文件。
diff --git a/info/context-notes-zh-cn/src/06.tex b/info/context-notes-zh-cn/src/06.tex
new file mode 100644
index 0000000000..e37f533934
--- /dev/null
+++ b/info/context-notes-zh-cn/src/06.tex
@@ -0,0 +1,179 @@
+\chapter{参考文献}
+
+稍微严肃一些的文章,往往会附上一些与文章内容密切相关的参考文献。科研论文更是如此,牛顿都说过自己是站在巨人的肩膀上做事情的。参考文献便是巨人。任何一个 \TeX\ 系统皆不敢对支持参考文献排版这一事宜掉以轻心,否则 \TeX\ 无以为科技文献排版软件之先驱和典范。
+
+\section{\BibTeX}
+
+大多数 \TeX\ 系统在排版参考文献时,皆需依赖 bibtex 程序。由 bibtex 基于文献数据文件生成参考文献列表信息,然后交由 \TeX\ 进行排版,这一过程通常是自动进行的,并不需要用户了解和干预。\ConTeXt\ 现在不需要依赖 bibtex 程序,它已自身内部实现了 bibtex 的全部功能。本文档在谈及 \BibTeX 时,主要指其文献数据格式。
+
+\BibTeX\ 文献数据文件是纯文本文件,其中包含着论文、专著和手册等文献数据。例如,一篇期刊论文,其数据格式为
+
+\starttyping
+@article{knuth-1984-literate,
+ title={Literate programming},
+ author={Knuth, Donald Ervin},
+ journal={The computer journal},
+ volume={27},
+ number={2},
+ pages={97--111},
+ year={1984},
+ publisher={Oxford University Press}
+}
+\stoptyping
+
+\noindent 再例如一本专著,其数据格式为
+
+\starttyping
+@book{knuth-1986-texbook,
+ title={The texbook},
+ author={Knuth, Donald Ervin and Bibby, Duane},
+ volume={1993},
+ year={1986},
+ publisher={Addison-Wesley Reading, MA}
+}
+\stoptyping
+
+现在,为了学习 \ConTeXt\ 的参考文献排版功能,可将上述文献数据保存为一份文本文件,例如 foo.bib,将该文件作为文献数据文件。
+
+在 foo.bib 相同目录下,建立 \ConTeXt\ 源文件,例如 foo.tex,其内容为
+
+\starttyping[option=TEX]
+\usebtxdataset[foo.bib] % 加载 foo.bib
+\starttext
+Knuth 基于文学编程\cite[knuth-1984-literate]技术开发了
+\TeX\ 系统\cite[knuth-1986-texbook]。
+\blank
+\placelistofpublications
+\stoptext
+\stoptyping
+\noindent 编译 foo.tex,可得以下结果:
+\blank[line]
+\midaligned{\externalfigure[10-bibtex-example-01.pdf]}
+\blank[line]
+
+\section{文献列表样式}
+
+上一节示例中的文献列表是 \ConTeXt\ 默认样式,除此之外,还有其他三种预定义的文献列表样式:apa,aps 和 chicago,可在 \type{\placelistofpublications} 之前使用 \type{\usebtxdefinitions} 进行切换。例如使用 aps 样式,
+
+\starttyping[option=TEX]
+... ... ...
+\usebtxdefinitions[aps]
+\placelistofpublications
+\stoptyping
+\blank[line]
+\midaligned{\externalfigure[10-bibtex-example-02.pdf]}
+\blank[line]
+
+对于预定义样式,可以进行调整。例如,缩小文献序号后的空白间距,
+
+\starttyping[option=TEX]
+\setupbtxlist[apa][distance=.5em,width=fit]
+\stoptyping
+\blank[line]
+\midaligned{\externalfigure[10-bibtex-example-03.pdf]}
+
+\section{自定义文献列表样式}
+
+也许 \ConTeXt\ 提供的参考文献列表样式并不符合你的需求,因此你会忍不住想自己定义一种样式。对此,我的看法是,文献列表样式当由期刊编辑部或专著出版商负责定义,个人无需如此刻意。不过,倘若你正是此类机构工作人员,需要为 \ConTeXt\ 定义符合自己单位要求的文献样式,下文仅能为你提供一个简单的示例,希望对你有所帮助。
+
+现在,假设我们要定义一种名字叫作 foo 的文献列表样式。首先,需要按照 \ConTeXt\ 的文件命名约定,建立两份文件,一份是 publ-imp-foo.lua,一份是 publ-imp-foo.tex。
+
+在 publ-imp-foo.lua 里写入以下内容:
+
+\starttyping[option=LUA]
+local specification = {
+ name = "foo",
+ categories = {},
+}
+local categories = specification.categories
+categories.book = {
+ required = { "title" },
+ optional = {"author", "editor",
+ "year",
+ "edition", "series", "volume", "number",
+ "address", "publisher",
+ },
+}
+return specification
+\stoptyping
+
+\noindent 上述代码是 Lua 代码,定义了一个表。\ConTeXt\ 可通过该表明白 \BibTeX\ 文献数据里哪些信息是必须的,哪些信息是可选的。
+
+在 publ-imp-foo.tex 文件中写入以下内容
+
+\starttyping[option=TEX]
+\startbtxrenderingdefinitions[foo]
+\definebtx
+ [foo]
+ [default=default,specification=foo]
+
+\definebtxrendering
+ [foo]
+ [specification=foo,numbering=yes]
+\stopbtxrenderingdefinitions
+\stoptyping
+
+\noindent 上述代码定义了 foo 环境及其默认样式。此外,\ConTeXt\ 实际上是通过上述代码获知你在 publ-imp-foo.lua 文件里定义的数据表。
+
+下面在 publ-imp-foo.tex 文件为期刊论文定义文献列表样式:
+
+\starttyping[option=TEX]
+\startsetups btx:foo:list:article
+ \btxdoif {author} {
+ \color[blue]{\btxflush{author}}\btxperiod\btxspace
+ }
+ \btxdoifelse {title} {
+ \color[red]{\btxflush{title}}\btxperiod\btxspace
+ }{
+ No title\btxperiod\btxspace
+ }
+ \btxdoif {journal} {
+ \color[magenta]{\btxflush{journal}}\btxcomma\btxspace
+ \btxflush{year},\nospace
+ \btxdoifelse {volume} {
+ \btxspace
+ \btxflush{volume}
+ \btxdoif {number} {
+ \ignorespaces
+ \btxleftparenthesis
+ \btxflush{number}
+ \btxrightparenthesis
+ }
+ }{
+ \btxdoif {number} {
+ \btxlabeltext{default:number}
+ \btxspace
+ \btxflush{number}
+ }
+ }
+ \btxdoif {pages} {
+ \nospace\btxcolon\btxspace\btxflush{pages}
+ }
+ \btxperiod
+ }
+ \removeunwantedspaces
+\stopsetups
+\stoptyping
+
+这是本文档截止至此最为复杂的 \TeX\ 代码,但是所表达的内容非常简单,仅仅是针对期刊论文设定文献列表应当出现作者、文章名称、期刊名称、时间、卷号、期号以及页码等信息。其中,\type{\btxflush} 命令可将 \ConTeXt\ 从 \BibTeX\ 数据格式中解析出的信息输出到排版结果中;\type{\btxcomma},\type{\btxperiod} 之类的命令皆为西文逗号,句号等标点符号;\type{\btxspace} 是西文空格;\type{\btxdoif} 之类的命令是判断 \ConTeXt\ 对 \BibTeX\ 数据格式的解析结果中是否包含某项。
+
+在 publ-imp-foo.lua 和 publ-imp-foo.tex 文件同一目录下,建立测试文件,例如 foo.tex,其内容为
+
+\starttyping[option=TEX]
+\usebtxdataset[foo.bib] % 加载 foo.bib
+\starttext
+Knuth 发明了文学编程语言 WEB\cite[knuth-1984-literate]。
+\blank
+\usebtxdefinitions[foo]
+\placelistofpublications
+\stoptext
+\stoptyping
+
+用于验证上述定义参考文献类表样式 foo 是否可用。结果为
+
+\blank[line]
+\midaligned{\externalfigure[10-bibtex-example-04.pdf]}
+
+\section{小结}
+
+参考文献的样式,我总觉得是学术界拿来唬人的东西。写一篇论文,即使附上几十篇参考文献,用 \ConTeXt\ 列表进行排版,与写文章内容的所耗费的时间相比,完全可以忽略不计。然而在学术界,参考文献如何排版,却成了一门学问。倘若你半个小时依然未能学会如何为 \ConTeXt\ 定义参考文献样式,我建议随便选一个 \ConTeXt\ 预定义的样式使用。待文章最终定稿后,再手工用 \ConTeXt\ 列表将参考文献制作成你需要的样式。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/07.tex b/info/context-notes-zh-cn/src/07.tex
new file mode 100644
index 0000000000..154b4d9364
--- /dev/null
+++ b/info/context-notes-zh-cn/src/07.tex
@@ -0,0 +1,179 @@
+\chapter{数学环境}
+
+\TeX\ 原本是 Knuth 专为排版数学类书籍而开发的,亦即排版数学公式是 \TeX\ 最擅长的任务,这也是我对数学的唯一兴趣了。希望你是因为喜欢数学而喜欢 \TeX。
+
+\section{两种模式}
+
+\TeX\ 数学公式有两种模式,一种是正文模式(text mode),一种是显摆模式(display mode),在 \ConTeXt\ 中,自然也是如此。当然,可能你觉得显摆模式这个称谓不够严肃,于是随了它的俗称「行间模式」,并无不可,而且后文我也如此称谓它。
+
+正文模式里的数学公式放在一对美元符号之间,意思是有钱人都精通数学。例如 \type{$a^2 + b^2 = c^2$} 便是正文模式的数学公式,其排版结果为 $a^2 + b^2 = c^2$。\TeX\ 数学公式的行间模式是放在一对双美元符号之间,例如
+
+\starttyping[option=TEX]
+$$
+\int_0^{+\infty}f(x) {\rm d}x
+$$
+\stoptyping
+
+\noindent 其排版结果为
+
+$$
+\int_0^{+\infty}f(x) {\rm d}x
+$$
+
+\noindent 但是,在 \ConTeXt\ 里,行间模式建议用以下形式的语法
+
+\starttyping[option=TEX]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+\stoptyping
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+
+\noindent 至于原因为何,想必你已经知道了,\ConTeXt\ 对 \type{\startformula ... \stopformula} 环境的行间公式默认提供了居中对齐以及前后空白支持。为什么 \ConTeXt\ 不对 \type{$$...$$} 提供类似的支持呢?因为 \ConTeXt\ 需要以一种统一的方式控制行间公式前后的空白大小,例如消除行间公式前后空白,只需
+
+\starttyping[option=TEX]
+\setupformulas[spacebefore=0pt,spaceafter=0pt]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+\stoptyping
+\setupformulas[spacebefore=0pt,spaceafter=0pt]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+
+\noindent 若基于 \type{$$...$$} 标记则很难实现该方式。
+
+\section{公式编号}
+
+如同插图和表格,行间数学公式也有一个放置命令 \type{\placeformula}。例如
+
+\starttyping[option=TEX]
+\placeformula
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+\stoptyping
+
+\placeformula[math-example]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+
+\ConTeXt\ 行间公式支持引用,例如
+
+\starttyping[option=TEX]
+\placeformula[math-example]
+\startformula
+\int_0^{+\infty}f(x) {\rm d}x
+\stopformula
+\stoptyping
+
+\noindent 类似插图和表格,使用 \type{\in[...]} 进行引用。例如 \type{\in[math-example]},结果为「\in[math-example]」。
+
+\section{定理和证明}
+
+\ConTeXt\ 未提供可直接用于排版数学定理和证明的命令,但是我们可以借助枚举环境定义它们。我们对枚举环境事实上并不陌生,因为早已见识过它的一个特例:列表。
+
+使用 \type{\defineenumeration} 可以定义一种新的枚举特例。例如
+
+\starttyping[option=TEX]
+\defineenumeration[theorem][text=定理]
+\stoptyping
+
+然后便可使用该特例:
+
+\starttyping[option=TEX]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stoptyping
+
+\noindent 结果为
+
+\startblueframedtext
+\defineenumeration[theorem][text=定理]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stopblueframedtext
+
+接下来,让定理序号与定理内容的第一行处于同一行,让版面更加紧凑(serried):
+
+\starttyping[option=TEX]
+\defineenumeration[theorem][text=定理,alternative=serried]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stoptyping
+
+\startblueframedtext
+\defineenumeration[theorem][text=定理,alternative=serried]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stopblueframedtext
+
+现在,只需将定理的宽度设为 \type{broad} 或 \type{\textwidth},便可让定理编号和定理内容不至于如此隔阂,顺便将定理内容的字体切换为粗体:
+
+\starttyping[option=TEX]
+\defineenumeration[theorem][text=定理,alternative=serried,width=broad,style=\bf]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stoptyping
+
+\noindent 结果为
+
+\startblueframedtext
+\defineenumeration[theorem][text=定理,alternative=serried,width=broad,style=\bf]
+\starttheorem
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+\stopblueframedtext
+
+由于枚举环境皆支持引用,因此上述定义的定理可免费继承该功能。例如
+
+\starttyping[option=TEX]
+\starttheorem[千面神定理]
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+
+如定理 \in[千面神定理] 所述……
+\stoptyping
+
+\startblueframedtext
+\defineenumeration[theorem][text=定理,alternative=serried,width=broad,style=\bf]
+\starttheorem[千面神定理]
+凡人皆有一死,凡人皆须侍奉。
+\stoptheorem
+
+如定理 \in[千面神定理] 所述……
+\stopblueframedtext
+
+类似地,也基于枚举环境定义证明,只需去掉序号,并在证明结尾居右放置 $\square$ 符号。例如
+
+\starttyping[option=TEX]
+\defineenumeration
+ [proof]
+ [text=证明,alternative=serried,width=broad,
+ number=no,closesymbol={$\square$}]
+\startproof
+因为人的生命是有限的,为人民服务是无限的。我们应当将有限的生命投入到无限的为人民服务中去。
+\stopproof
+\stoptyping
+\startblueframedtext
+\defineenumeration
+ [proof]
+ [text=证明,alternative=serried,width=broad,
+ number=no,closesymbol={$\square$}]
+\startproof
+因为人的生命是有限的,为人民服务是无限的。我们应当将有限的生命投入到无限的为人民服务中去。
+\stopproof
+\stopblueframedtext
+
+\section{小结}
+
+现在你已经基本学会了 \ConTeXt\ 数学公式排版。与 \ConTeXt\ 数学排版专家相比,你缺乏的可能主要是如何熟练地输入具体的数学公式。若想在这方面能有所精进,可参考 \ConTeXt\ Wiki 的「Math」页面\cite[math]。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/08.tex b/info/context-notes-zh-cn/src/08.tex
new file mode 100644
index 0000000000..052ef77ea6
--- /dev/null
+++ b/info/context-notes-zh-cn/src/08.tex
@@ -0,0 +1,281 @@
+\chapter{插图}
+
+在某些情境下,一图可胜千言。\ConTeXt\ 在插图方面,不仅支持常见的 JPEG,GIF 和 PNG 等位图格式,也支持 PDF,SVG 以及 \METAPOST\ 等矢量图格式。
+
+\section[figure]{位图}
+
+所谓位图,直观上的认识是,对其进行放大或缩小,图像会失真。照片和屏幕截图,都是位图。常见的几种位图格式文件的扩展名是「\type{.jpg}」(或「\type{.jpeg}」),「\type{.gif}」和「\type{.png}」。\ConTeXt\ 在处理插图时,若发现插图文件的扩展名是这些扩展名之一,便会以位图的形式将图片插入版面相应位置。
+
+假设在 \ConTeXt\ 源文件同一目录里有一幅位图 ctxnotes.png,以下代码,
+
+\starttyping[option=TEX]
+\externalfigure[ctxnotes.png]
+\stoptyping
+
+
+\noindent 便可将 ctxnotes.png 作为插图,即 \externalfigure[ctxnotes.png]。显然,这是插图,但很可能并非是我们想要的插图形式。我们想要的是,独占一行且居中放置的插图,这个要求这并不难实现:
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png]}
+\stoptyping
+
+\midaligned{\externalfigure[ctxnotes.png]}
+
+如果需要让插图更大一些,例如宽度为 8 cm,高度按图片原有比例自动放大,只需
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=8cm]}
+\stoptyping
+
+\noindent 通常更建议使用相对尺寸,例如 0.3 倍的版心宽度(满行文字的最大宽度):
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\stoptyping
+
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+
+如法炮制,给图片加上标题也很容易:
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\midaligned{\tfx \ConTeXt\ 学习笔记封面截图}
+\stoptyping
+
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\midaligned{\tfx\ConTeXt\ 学习笔记封面截图}
+
+\indentation 如果你还希望插图能有编号,对于篇幅较小的文章,手工输入即可,建议在编号后,使用 \type{\quad} 插入一个字宽的空白作为间隔,因为普通的空格只有半个字宽。例如
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\midaligned{\tfx 图 1\quad\ConTeXt\ 学习笔记封面截图}
+\stoptyping
+
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\midaligned{\tfx 图 1\quad\ConTeXt\ 学习笔记封面截图}
+
+如果你担心,插图太多,手工输入图片编号难免会出错,可以使用 \ConTeXt\ 的计数器功能,让 \ConTeXt\ 为你自动递增图片序号。首先,定义一个计数器:
+
+\starttyping[option=TEX]
+\definenumber[myfig]
+\stoptyping
+
+\noindent 然后,每次在给插图添加加标题时,将该计数器增 1,并获取它的当前的值:
+
+\starttyping[option=TEX]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\incrementnumber[myfig]
+\midaligned{\tfx 图 \getnumber[myfig]\quad\ConTeXt\ 学习笔记封面截图}
+\blank[line]
+\midaligned{\externalfigure[ctxnotes-2.png][width=.4\textwidth]}
+\incrementnumber[myfig]
+\midaligned{\tfx 图 \getnumber[myfig]\quad 涂鸦版 Hilbert 曲线}
+\stoptyping
+
+\definenumber[myfig][prefix=no]
+\midaligned{\externalfigure[ctxnotes.png][width=.4\textwidth]}
+\incrementnumber[myfig]
+\midaligned{\tfx 图 \getnumber[myfig]\quad\ConTeXt\ 学习笔记封面截图}
+\midaligned{\externalfigure[ctxnotes-2.png][width=.4\textwidth]}
+\incrementnumber[myfig]
+\midaligned{\tfx 图 \getnumber[myfig]\quad 涂鸦版 Hilbert 曲线}
+
+\section{矢量图}
+
+所谓矢量图,对其进行放大或缩小,图像不会失真。PDF 和 SVG 格式,皆为矢量图格式,文件扩展名分别为 \type{.pdf} 和 \type{.svg},将它们作为文档插图,方法与位图相同,例如
+
+\starttyping[option=TEX]
+\externalfigure[ctxnotes.pdf][width=.7\textwidth]
+\stoptyping
+
+\section{宏}
+
+超弦理论认为,宇宙是十维的,其中有六个维度蜷缩在卡拉比-丘空间,人类目前观测不到。我不知道这个理论是否正确,但是在 \TeX\ 系统中,的确能将让一些维度蜷缩在一个空间里,这个空间叫作「宏」。
+
+在 \in[breaking-lines] 节,我们曾经定义过一个宏:
+
+\starttyping[option=TEX]
+\def\foo{\hskip 0pt plus 2pt minus 0pt}
+\stoptyping
+
+\noindent 当我们使用 \type{\foo} 时,\TeX\ 引擎会将其展开为「\type{\hskip 0pt plus 2pt minus 0pt}」。用类似的方法,可以让 \in[figure] 节中的制作插图的代码蜷缩在一个带参数的宏里,例如
+
+\starttyping[option=TEX]
+\definenumber[myfig] % 定义插图编号计数器
+\def\placemyfigure#1#2{%
+ \midaligned{#2}
+ \incrementnumber[myfig]
+ \midaligned{\tfx 图 \getnumber[myfig]\quad #1}
+ \blank[line]
+}
+\stoptyping
+
+\noindent 之后,在文章里放入插图会更为容易,例如
+
+\starttyping[option=TEX]
+\placemyfigure
+ {涂鸦版 Hilbert 曲线}
+ {\externalfigure[ctxnotes-2.png][width=.4\textwidth]}
+\stoptyping
+
+你可能并不能完全理解 \type{\palcemyfigure} 的定义,但是基于上一节的一些示例,应该能猜出其要义。这已经足够了,日后倘若你觉得有些经常重复使用的排版代码,它们只存在少许差异,便可尝试为它们定义一个宏,用宏的参数代替差异。现在也许你已经隐隐感觉到了,\ConTeXt\ 的排版命令也是 \TeX\ 宏。
+
+\section{\type{\placefigure}}
+
+事实上,\ConTeXt\ 提供了比我们定义的 \type{\palcemyfigure} 更为强大的命令 \type{\palcefigure},其用法为
+
+\starttyping[option=TEX]
+\placefigure[插图摆放位置][引用]{插图标题}{\exteranlfigure[...][...]}
+\stoptyping
+
+例如,将 ctxnotes-2.png 作为插图,居中放置,引用为「Hilbert 曲线」,标题为「涂鸦版 Hilbert 曲线」,只需
+
+\starttyping[option=TEX]
+\placefigure
+ [][Hilbert 曲线]
+ {涂鸦版 Hilbert 曲线}
+ {\externalfigure[ctxnotes-2.png][width=.3\textwidth]}
+\stoptyping
+\midaligned{\externalfigure[hibert.pdf]}
+
+\subsection{插图标题样式}
+
+对于 \type{\placefigure} 的结果,可能你已经觉得有些不满意了。在中文排版中,图片的编号前缀不应该是 Figure,而应该是「图」,此外,编号也没必要粗体,而且标题字号应当比正文字体小一级。没有办法,\ConTeXt\ 一切默认的样式,皆针对西文排版。不过,我们可以通过以下命令,将插图标题样式设置成我们所期望的样式:
+
+\starttyping[option=TEX][space=on]
+\setupcaption[figure][style=\tfx,headstyle=\rm]
+\setuplabeltext[en][figure={图 }]
+\stoptyping
+\midaligned{\externalfigure[hibert-1.pdf]}
+
+上述设定的样式,已基本符合我们的要求。根据排版结果,很容易能猜出来,\type{\setupcaption} 的 \type{style} 参数用于设定插图字体样式,\type{headstyle} 则用于设定插图编号样式。至于 \type{\setuplabeltext},与 \ConTeXt\ 的语言界面有关,但现在不必涉及太多细节,仅需知道,它可将插图标题的前缀「\type{Figure}」替换为「\type[space=on]{图 }」。不过,依然存在一个细微的问题,标题里的汉字之间的粘连的伸长特性又被 \ConTeXt\ 触发了,导致汉字分布有些疏松。该问题的解决方法与第 \in[post] 章的示例 \in[zaoshu-5] 相似,用将对齐参数设为 \type{center},即
+
+\starttyping[option=TEX]
+\setupcaption[figure][style=\tfx,headstyle=\normal,align=center]
+\stoptyping
+\midaligned{\externalfigure[hibert-2.pdf]}
+
+\subsection{插图位置}
+
+\type{\placefigure} 的第一个参数用于设定插图摆放位置。当该参数为空时,\ConTeXt\ 默认插图居中放置。有时为了节省排版空间,需要将插图居左或居右放置,该需求可通过参数 \type{left} 或 \type{right} 实现。例如,
+
+\starttyping[option=TEX]
+% 居左
+\placefigure[left][...]{...}{...}
+% 居右
+\placefigure[right][...]{...}{...}
+\stoptyping
+
+与 Mircro Word 这种字处理软件相比,\ConTeXt\ 的居中插图缺乏文字环绕功能,若想实现该功能,需对在 \TeX\ 层面掌握如何控制段落形状。
+
+在 \ConTeXt\ 世界里,插图实际上是浮动对象(Float Object)的特例。所谓浮动对象,即你以为插图应该在文档的某个位置出现,但实际上 \TeX\ 引擎会根据版面的拥挤程度,修改插图的位置。例如,在文档的某一页的底部,若剩余空间已经不够放置一幅插图,则 \TeX\ 引擎会努力在下一页为插图寻找一个更合适的位置,但是原本应该位于插图之后的正文内容会出现在插图之前。若是禁止插图浮动,只需
+
+\starttyping[option=TEX]
+\placefigure[force][...]{...}{...}
+\stoptyping
+
+\noindent 还有一个参数 \type{here},强迫性比 \type{force} 要弱一些,只是建议 \TeX\ 引擎尽量让插图保持在原位置。
+
+除上述参数之外,\type{\placefigure} 还有许多控制插图摆放位置的参数,但并不常用,欲知其详,请参考 \ConTeXt\ Wiki 页面「Floating Objects」\cite[floating-objects]。
+
+\subsection{引用}
+
+\type{\placefigure} 的第二个参数用于设定图片的引用标记。在正文中,使用 \type{\in[...]} 便可得到插图编号。例如
+
+\starttyping[option=TEX]
+如图 \in[Hilbert 曲线] 所示……
+
+\placefigure
+ [][Hilbert 曲线]
+ {涂鸦版 Hilbert 曲线}{\externalfigure[ctxnotes-2.png][width=.3\textwidth]}
+\stoptyping
+\midaligned{\blueframed{\externalfigure[hibert-3.pdf]}}
+
+\section[figure-matrix]{阵列}
+
+有时为了节省排版空间,需要将两幅或更多幅插图并排放置,如图 \in[win-r] 和 \in[cmd-window] 所示。该效果可使用 floatcombination 环境构造插图阵列来实现。例如,首先构建一行两列的插图阵列:
+
+\starttyping[option=TEX]
+\startfloatcombination[nx=2,ny=1]
+\placefigure{}{}
+\placefigure{}{}
+\stopfloatcombination
+\stoptyping
+\leftaligned{\externalfigure[05-floatcomb.pdf]}
+
+\noindent 然后将所得阵列作为插图,便可得到居中放置的插图阵列:
+
+\starttyping[option=TEX]
+\placefigure[none][]{}{
+ \startfloatcombination[nx=2,ny=1]
+ \placefigure{}{}
+ \placefigure{}{}
+ \stopfloatcombination
+}
+\stoptyping
+\midaligned{\externalfigure[05-floatcomb-2.pdf]}
+
+上述示例用了 \type{\placefigure} 一个小技巧:当 \type{\placefigure} 的第一个参数含有 \type{none} 时,可以消除插图编号和标题。此外,你应该发现了,\type{\placefigure} 的参数为空时,\ConTeXt\ 会以一个矩形框表示插图,还应当注意到,方括号形式的参数,通常是可以省略的。
+
+若 \type{\placefigure} 的第一个参数含有 \type{nonumber} 时,可以消除插图编号,仅保留标题。因此,上述实现图片阵列的方法稍加变换,便可实现由多幅插图组合为一幅插图的效果:
+
+\starttyping[option=TEX]
+\placefigure{}{
+ \startfloatcombination[nx=2,ny=1]
+ \placefigure[nonumber]{a}{}
+ \placefigure[nonumber]{b}{}
+ \stopfloatcombination
+}
+\stoptyping
+\midaligned{\externalfigure[05-floatcomb-3.pdf]}
+
+基于 \type{combination} 环境可实现与上例等效的插图阵列,只是所用代码略多一些,但形式上更为结构化且应用范围更广。例如
+
+\starttyping[option=TEX]
+\placefigure{}{
+ \startcombination[nx=2,ny=1]
+ \startcontent \externalfigure[ctxnotes.png][height=3cm] \stopcontent
+ \startcaption a \stopcaption
+ \startcontent \externalfigure[ctxnotes-2.png][height=3cm] \stopcontent
+ \startcaption b \stopcaption
+ \stopcombination
+}
+\stoptyping
+\midaligned{\externalfigure[05-floatcomb-4.pdf]}
+
+\section{图片目录}
+
+前文所有示例,插图所用图形文件皆需与 \ConTeXt\ 源文件位于同一目录。为了让文件目录更为整洁,我们在 \ConTeXt\ 源文件所在目录下,构建了一子目录,例如 figures,专门用于存放图形文件。为了让 \ConTeXt\ 能够找到图形文件,在构造插图时,需要向 \type{\externalfigure} 提供图形文件的相对路径:
+
+\starttyping[option=TEX]
+\externalfigure[figures/图形文件]
+\stoptyping
+
+若不想每次插图时如此麻烦,可以通过以下命令将图形文件所在目录告知 \ConTeXt:
+
+\starttyping[option=TEX]
+\setupexternalfigures[directory={./figures}]
+\stoptyping
+
+\section{\MetaFun}
+
+在 \ConTeXt\ 中,还有一种插图形式,\METAPOST\ 绘图代码,这些绘图代码被嵌入在 \ConTeXt\ 的 \MetaFun\ 环境里。例如,使用 \MetaFun\ 环境 \type{useMPgraphic},以 \METAPOST\ 语言绘制一个边线被轻微随机扰动的矩形:
+
+\starttyping[option=TEX]
+\startuseMPgraphic{metapost 图形}
+path p;
+u := 7cm; v := 3cm;
+p := fullsquare xyscaled (u, v) randomized 0.07u;
+drawpath p;
+drawpoints p;
+\stopuseMPgraphic
+\placefigure{\MetaFun\ example}{\useMPgraphic{metapost 图形}}
+\stoptyping
+\midaligned{\externalfigure[05-metapost.pdf]}
+
+上述示例在排版插图标题时,涉及 \TeX\ 宏在使用时即宏调用时的一个细节。例如,\type{\TeX} 之后跟随一个或多个空格,即 \type[space=on]{\TeX },这些空格会被 \TeX\ 引擎吞掉,不会显示在排版结果中,原因是默认情况下,空格是 \TeX\ 引擎需要知道宏的名字的结束符。如果需要在一个宏调用之后插入空格,需要对空格进行转义,即 \type[space=on]{\ },亦即反斜线后跟随一个空格。
+
+\section{小结}
+
+所谓插图,不过是个头较大的文字罢了。
diff --git a/info/context-notes-zh-cn/src/09.tex b/info/context-notes-zh-cn/src/09.tex
new file mode 100644
index 0000000000..587dd248b5
--- /dev/null
+++ b/info/context-notes-zh-cn/src/09.tex
@@ -0,0 +1,295 @@
+\chapter{表格}
+
+\ConTeXt\ 提供了多种表格形式,我们不需要全都学会,可以先学会最为简单的形式 Tabulate,等到将它用到山穷水尽也无法表达你想要的表格时,再考虑其他形式是否够用。简单的未必不好,强大的未必更好,既简单又符合自己需求的,永远都是最好的。
+
+\section{基本用法}
+
+首先,构造一个 2 行 3 列的表格,第 1 行的内容是 \type{1 2 3},第二行的内容是 \type{4 5 6},排版代码和结果如下:
+
+\starttyping[option=TEX]
+\starttabulate
+\NC 1 \NC 2 \NC 3\NC\NR
+\NC 4 \NC 5 \NC 6\NC\NR
+\stoptabulate
+\stoptyping
+\starttabulate
+\NC 1 \NC 2 \NC 3\NC\NR
+\NC 4 \NC 5 \NC 6\NC\NR
+\stoptabulate
+
+结果第 3 列跑到版面最右侧了。这是因为我们尚未定义表格各列的对齐方式。对齐方式不外乎三种,左、中、右,Tabulate 分别使用缩写 \type{l},\type{c} 和 \type{r} 指代它们。例如,若令表格第 1 列居左,第 2 列居中,第 3 列居右,只需
+
+\starttyping[option=TEX]
+\starttabulate[|l|c|r|]
+\NC 1 \NC 2 \NC 3\NC\NR
+\NC 4 \NC 5 \NC 6\NC\NR
+\stoptabulate
+\stoptyping
+\starttabulate[|l|c|r|]
+\NC 1 \NC 2 \NC 3\NC\NR
+\NC 4 \NC 5 \NC 6\NC\NR
+\stoptabulate
+
+现在看上去像表格了,但是由于表格尚无边框线,无法看出表格各列内容的对齐状态。
+
+想必你已经猜测出了,\type{\NC} 用于在表格的某一行构造一个单元格,上述示例中,表格内容的每一行最后一个 \type{\NC} 实际上是多余的,\ConTeXt\ 会忽略它,但是你可以将它理解为表格的单元格的边界。\type{\NR} 用于构造一个新行,即下一行。上述示例里,表格只有两行,实际上第 2 个 \type{\NR} 也是多余的,只是为了形式上更整齐而保留,\ConTeXt\ 会忽略它,你可以将它理解为表格一行的结束。
+
+现在,将 \type{\NC} 替换为 \type{\VL},便可画出单元格的左右边界线,即
+
+\starttyping[option=TEX]
+\starttabulate[|l|c|r|]
+\VL 1 \VL 2 \VL 3\VL\NR
+\VL 4 \VL 5 \VL 6\VL\NR
+\stoptabulate
+\stoptyping
+
+\starttabulate[|l|c|r|]
+\VL 1 \VL 2 \VL 3\VL\NR
+\VL 4 \VL 5 \VL 6\VL\NR
+\stoptabulate
+
+如果在表格每一行的开始放上 \type{\HL},可画出表格各行横线,即
+
+\starttyping[option=TEX]
+\starttabulate[|l|c|r|]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+\stoptyping
+\starttabulate[|l|c|r|]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+
+可能你已经发现了,表格的竖线将被横线截断了。不必担心是你的问题,而是 Tabulate 主要用于排版横线表,例如图 \in[three-line table] 所示的在科技论文中常用的三线表。
+
+\placefigure[here][three-line table]{三线表}{\externalfigure[06-three-line-table.pdf]}
+
+不过,要让表格的横线和竖线完全相交并不困难,只需将单元格之间的纵向间距参数 \type{distance} 设为 \type{0pt} 或 \type{none}:
+
+\starttyping[option=TEX]
+\starttabulate[|l|c|r|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+\stoptyping
+\starttabulate[|l|c|r|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+
+\section{间距调整}
+
+若希望单元格的宽度更宽一些,需要在列格式中设定 \type{w} 参数,例如令单元格宽度为 1 cm,只需 \type{w(1cm)} 即可。例如
+
+\starttyping[option=TEX]
+\starttabulate[|lw(1cm)|cw(1cm)|rw(1cm)|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+\stoptyping
+\starttabulate[|lw(1cm)|cw(1cm)|rw(1cm)|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+
+如果希望所有的 Tablutate 实例的 \type{distance} 参数皆为 \type{none},可使用 \type{\setuptabulate} 进行设定:
+
+\starttyping[option=TEX]
+\setuptabulate[distance=none]
+\stoptyping
+
+若希望单元格的竖向间距大一些,可使用 \type{\TB} 命令插入空行进行调整。例如插入 2mm 高的空格:
+
+\starttyping[option=TEX]
+\starttabulate[|lw(1cm)|cw(1cm)|rw(1cm)|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\TB[2mm]
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+\stoptyping
+\starttabulate[|lw(1cm)|cw(1cm)|rw(1cm)|][distance=none]
+\HL
+\VL 1 \VL 2 \VL 3\VL\NR
+\HL
+\TB[line]
+\HL
+\VL 4 \VL 5 \VL 6\VL\NR
+\HL
+\stoptabulate
+
+\noindent \type{\TB} 也可以使用相对尺寸,例如 \type{2*line},\type{line},\type{halfline} 和 \type{quarterline} 分别为一行文字的高度的 2 倍,1 倍,1/2 倍和 1/4 倍。
+
+由于插图不过是个头较大的文字,因此基于表格理应能实现 \in[figure-matrix] 节所述的排版插图阵列。的确可以如此,例如
+
+\starttyping[option=TEX]
+\def\figA{\externalfigure[ctxnotes.png][height=3cm]}
+\def\figB{\externalfigure[ctxnotes-2.png][height=3cm]}
+\placefigure{}{
+ \starttabulate[|cw(6cm)|cw(6cm)|]
+ \NC \figA \NC \figB \NC\NR
+ \NC a \NC b\NC\NR
+ \stoptabulate
+}
+\stoptyping
+\midaligned{\externalfigure[06-01.pdf]}
+
+\section{\type{\placetable}}
+
+类似于插图,表格也有一个放置命令 \type{\placetable},其用法与 \type{\placefigure} 相似。例如
+
+\starttyping[option=TEX]
+\placetable[here][表格示例]{简单的表格}{
+ \starttabulate[|cw(2cm)|cw(2cm)|cw(2cm)|][distance=none]
+ \HL
+ \VL 1 \VL 2 \VL 3\VL\NR
+ \HL
+ \VL 4 \VL 5 \VL 6\VL\NR
+ \HL
+ \stoptabulate
+}
+\stoptyping
+\midaligned{\externalfigure[06-02.pdf]}
+
+对于中文排版,表格的标题,也需要自己定制,默认的设置并不符合我们的习惯。首先,将表格编号前缀设定为
+
+\starttyping[option=TEX][space=on]
+\setuplabeltext[en][table={表 }]
+\stoptyping
+
+\noindent 然后将表格标题编号设为正体,字号比正文字号小一级,放置于表格上方,并居中对齐:
+
+\starttyping[option=TEX]
+\setupcaption
+ [table]
+ [headstyle=\tf,style=\tfx,location=top,align=center]
+\stoptyping
+\blank[line]
+\midaligned{\externalfigure[06-03.pdf]}
+
+\section{不传之秘}
+
+在绘制表格的横线和竖线时,线条粗度可通过参数 \type{rulethickness} 进行设定。例如,将线条粗度设为 2 pt:
+
+\starttyping[option=TEX]
+\starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+\HL
+\NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+\HL
+\NC one \NC two \NC three \NC four \NC five \NC\NR
+\NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+\HL
+\stoptabulate
+\stoptyping
+\midaligned{\externalfigure[06-04.pdf]}
+
+\noindent 但是,如果我们只想让表格的顶线和底线是粗度 2 pt,中间那条横线让它是 Tabulate 的默认粗度,该如何实现呢?
+
+对于该问题,也许你翻遍 \ConTeXt\ 的 Wiki 或手册,都找不到答案,因为答案在 \ConTeXt\ 的 tabl-tbl.mkxl 文件里。使用以下命令可搜索该文件:
+
+\starttyping
+$ mtxrun --script base --search tabl-tbl.mkxl
+\stoptyping
+
+\noindent 需要注意的是,该文件中关于 \type{\TL},\type{\LL} 和 \type{\BL} 的注释应该是错的。要解决上述问题,需要先了解以下细节:
+
+\startitemize[packed]
+\item 表格线粗度默认大概是 0.4 pt;
+\item 横线 \type{\HL} 有着细致的类别划分,从表格的顶线到底线,依次为顶线 \type{\TL},第一条横线 \type{\FL},中间的横线 \type{\ML},最后一条横线 \type{LL},底线 \type{\BL};
+\item 若要设定表格横线的不同粗度,则横线必须按照类别使用,不可使用 \type{\HL};
+\item \type{\HL}\footnote{包括 \type{\TL},\type{\FL},……,\type{\BL}。}和 \type{\VL} 可以接受两个参数,一个是表格线既定粗度的倍数,另一个是表格线颜色。
+\stopitemize
+
+解决方法是,首先将上述示例修改为
+
+\starttyping[option=TEX]
+\starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+\TL
+\NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+\FL
+\NC one \NC two \NC three \NC four \NC five \NC\NR
+\NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+\BL
+\stoptabulate
+\stoptyping
+
+\noindent 由于该表格内容只有三行,因此只有顶线,第一条横线和底线,亦即无中间横线和最后一条横线。为了更加充分演示问题是如何解决的,可以让该表格的内容再丰富一些:
+
+\starttyping[option=TEX]
+\starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+\TL
+\NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+\FL
+\NC 甲 \NC 乙 \NC 丙 \NC 丁 \NC 戊 \NC\NR
+\ML
+\NC one \NC two \NC three \NC four \NC five \NC\NR
+\LL
+\NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+\BL
+\stoptabulate
+\stoptyping
+
+现在要保持 \type{\TL} 和 \type{\BL} 为既定粗度 2 pt,将 \type{\FL},\type{\ML} 和 \type{\LL} 的粗度设置为 0.2 倍的既定粗度,及 0.4 pt,顺便试验一下颜色是否真的可用,见表 \in[HL example] 对应的代码,结果只有 \type{\ML} 变成了双线,其他皆符合预期。
+
+为何 \type{\ML} 如此不配合呢?我猜也许它本来就是在绘制双线,因为 Tabulate 支持表格分页断开,即一个表格若处于页面底部且不能完全被当前页面容纳时,\ConTeXt\ 可将其断开,一部分在当前页面,另一部分在下一页面。为了让断开后的表格完整,\type{\ML} 必须是双线。若将表 \in[HL example] 对应代码中的 \type{\ML} 换成 \type{\HL},结果同样是双线。若不需要双线,可将 \type{\ML} 皆换为 \type{\FL} 或 \type{\LL}。
+
+为了避免上述莫名其妙的问题,若只是令表格顶线和底线变粗,不必设定 \type{rulethickness} 参数,而是修改顶线和底线的粗度,令其他表格线的粗度皆为默认值。
+
+\starttyping[option=TEX]
+\starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+\TL
+\NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+\FL[0.2,red]
+\NC 甲 \NC 乙 \NC 丙 \NC 丁 \NC 戊 \NC\NR
+\ML[0.2,blue]
+\NC one \NC two \NC three \NC four \NC five \NC\NR
+\LL[0.2,magenta]
+\NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+\BL
+\stoptabulate
+\stoptyping
+\placetable[here][HL example]{修改表格线粗度和颜色}{
+ \starttabulate[|c|c|c|c|c|][rulethickness=2pt]
+ \TL
+ \NC 一 \NC 二 \NC 三 \NC 四 \NC 五 \NC\NR
+ \FL[0.2,red]
+ \NC 甲 \NC 乙 \NC 丙 \NC 丁 \NC 戊 \NC\NR
+ \ML[0.2,blue]
+ \NC one \NC two \NC three \NC four \NC five \NC\NR
+ \LL[0.2,magenta]
+ \NC 1 \NC 2 \NC 3 \NC 4 \NC 5 \NC\NR
+ \BL
+ \stoptabulate
+}
+
+\section{小结}
+
+除了在设定表格线粗度时不尽人意之外,Tabulate 堪当日常之用。它还有一些功能,本章尚未涉及,诸如跨栏,分页,段落等,这部分功能在后续章节介绍其他排版元素时,将作为搭配示例予以介绍。
+
+待到 Tabulate 用至捉襟见肘之时,可使用「终极表格」,其文档在你的 \ConTeXt\ 环境里,可通过以下命令搜索:
+
+\starttyping
+$ mtxrun --script base --search xtables-mkiv.pdf
+\stoptyping
diff --git a/info/context-notes-zh-cn/src/10.tex b/info/context-notes-zh-cn/src/10.tex
new file mode 100644
index 0000000000..7616361d01
--- /dev/null
+++ b/info/context-notes-zh-cn/src/10.tex
@@ -0,0 +1,276 @@
+\chapter{盒子}
+
+在 \in[item-sym-diy] 节中,你已经见过盒子了,只是那时可能你还不知其究竟,本章将揭开它们的一些端倪。也有可能你早已钻研过 Knuth 的《The \TeX\ book》,对盒子的研究之深已经让我望风而拜,但是未必熟悉 \ConTeXt\ 的盒子,故而本章仍有部分内容值得一睹。
+
+\section{\TeX\ 盒子}
+
+前面已经多次暗示和明示,\TeX\ 系统是 \ConTeXt\ 的底层,二者的关系犹如引擎(发动机)和汽车的关系。对 \TeX\ 引擎丝毫不懂,并不影响你学习和使用 \ConTeXt\ 排版一份精致的文档,但是懂一些引擎层面工作原理,未必会有用处,但是你现在也并不能确定将来会不会成为一名 \TeX\ 黑客,如同你从前也从未想过有一天会学习 \ConTeXt。
+
+在 \TeX\ 系统中,盒子是很重要的部件。例如,在 \ConTeXt\ 的排版的每一个段落,是一个竖向盒子,即 \type{\vbox},该盒子之内又有一些横向盒子,即 \type{\hbox},它们是段落的每一行。我们可以直接用这两种盒子构造一个不甚规整的段落:
+
+\startsamplecode\startnarrowtyping
+\vbox{
+ \hbox{离离原上草}\hbox{一岁一枯荣}\hbox{野火烧不尽}\hbox{春风吹又生}
+}
+\stopnarrowtyping\stopsamplecode
+\mysample[todo-list]{竖向盒子和横向盒子}{08-vbox-and-hbox.pdf}
+
+横向盒子可以指定它的长度,竖向盒子可以指定它的高度。例如,
+
+\starttyping[option=TEX]
+\hbox to 5cm {赋得古原草送别}
+\vbox to 3cm {
+ \hbox{离离原上草}\hbox{一岁一枯荣}\hbox{野火烧不尽}\hbox{春风吹又生}
+}
+\stoptyping
+
+在示例 \in[rsquare] 中,\type{\hbox} 用于包含一副使用 \METAPOST\ 语言绘制的矢量插图,关键代码如下:
+
+\starttyping[option=TEX]
+\startuseMPgraphic{foo}
+... ... ...
+\stopuseMPgraphic
+\lower.2ex\hbox{\useMPgraphic{foo}}
+\stoptyping
+
+\noindent 其中 \type{useMPgraphic} 环境中的 \METAPOST\ 代码会被 \type{\useMPgraphic{foo}} 提交给 \TeX\ 引擎。\TeX\ 引擎会调用 metapost 程序将 \METAPOST\ 代码编译成 PDF 格式的图片,然后交给 \ConTeXt。最后由 \ConTeXt\ 将图片插入到 \type{\useMPgraphic{foo}} 所在的横向盒子里。\type{\lower .2ex} 可令位于其后的横向盒子下沉 0.2 ex。长度单位 ex 类似于 em,也是一个相对尺寸,它是当前所用字体中的字母 x 对应的字形的高度。从现在开始要记住,横向距离用 em,竖向距离用 ex,不过这只是建议,并非 \TeX\ 世界的法律。
+
+还有一种横向盒子 \type{\line},它的宽度是当前段落的宽度,可让其中的文字向两边伸展并与边界对齐,例如
+
+\starttyping[option=TEX]
+\line{\darkred\bf 我能吞下玻璃而不伤身体。}
+\stoptyping
+\line{\darkred\bf 我能吞下玻璃而不伤身体。}
+
+看到上述示例,想必你想起了之前我们曾在文章标题的样式设定时,用 \type{{middle,broad}} 抑制的 \ConTeXt\ 触发汉字间隙的伸长特性,该特性与\type{\line} 的效果非常相似。
+
+使用 \type{\hfill} 或 \type{\hss} 可对横向盒子里的内容进行挤压。例如
+
+\starttyping[option=TEX]
+\line{\hfill 我能吞下玻璃而不伤身体。}
+\line{我能吞下玻璃而不伤身体。\hfill}
+\line{\hfill 我能吞下玻璃而不伤身体。\hfill}
+\line{\hss 我能吞下玻璃而不伤身体。}
+\line{我能吞下玻璃而不伤身体。\hss}
+\line{\hss 我能吞下玻璃而不伤身体。\hss}
+\stoptyping
+
+\blueframed{
+ \vbox{
+ \line{\hfill 我能吞下玻璃而不伤身体。}
+ \line{我能吞下玻璃而不伤身体。\hfill}
+ \line{\hfill 我能吞下玻璃而不伤身体。\hfill}
+ \line{\hss 我能吞下玻璃而不伤身体。}
+ \line{我能吞下玻璃而不伤身体。\hss}
+ \line{\hss 我能吞下玻璃而不伤身体。\hss}
+ }
+}
+
+\type{\hfill} 和 \type{\hss},都是可无限伸缩的粘连,还有一个伸缩能力弱于 \type{\hfill} 的 \type{\hfil}。竖向的可无限伸缩的粘连有 \type{\vfil},\type{\vfill} 和 \type{\vss}。
+
+\section{\ConTeXt\ 盒子}
+
+在 \ConTeXt\ 层面,通常很少使用 \TeX\ 盒子,而是使用 \type{\inframed} 和 \type{\framed}——前者是后者的特例。与 \TeX\ 盒子相比,\ConTeXt\ 层面的盒子可以显示边框,且有非常多的参数可以定制它们的外观。
+
+\type{\inframed} 用于正文,可用于给一行文字增加边框,例如
+
+\starttyping[option=TEX]
+\type{\inframed{\type{\inframed{...}}}}
+\stoptyping
+
+\noindent 结果为 \inframed{\type{\inframed{...}}}。倘若使用 \type{\framed},例如
+
+\starttyping[option=TEX]
+\type{\framed{\type{\framed{...}}}}
+\stoptyping
+
+\noindent 结果为 \framed{\type{\framed{...}}}。可以发现,\type{\inframed} 更适合在正文中使用,因为它能与文字基线对齐。事实上,\type{\inframed} 与 \type{\framed[location=low]} 等效,故而前者是后者的特例。例如
+
+\starttyping[option=TEX]
+\framed[location=low]{\type{\framed[location=low]{...}}}
+\stoptyping
+
+\noindent 结果为 \framed[location=low]{\type{\framed[location=low]{...}}}。上述示例中的 \type{\type} 用于排版代码,它会自动将字体切换为等宽字体(\type{\tt})原样显示它所接受的文字。顺便多言,若是排版一段代码,可使用 \type{\starttyping[option=TEX] ... \stoptyping}。
+
+如果不希望 \type{\framed} 显示边框,只需 \type{\framed[frame=off]{...}},也可以单独显示某条边线,并设定边线粗度和颜色:
+
+\starttyping[option=TEX]
+\line{
+ \framed[frame=off,leftframe=on,rulethickness=4pt,framecolor=red]{foo}
+ \framed[frame=off,topframe=on,rulethickness=4pt,framecolor=green]{foo}
+ \framed[frame=off,rightframe=on,rulethickness=4pt,framecolor=blue]{foo}
+ \framed[frame=off,bottomframe=on,rulethickness=4pt,framecolor=magenta]{foo}
+}
+\stoptyping
+\line{
+ \framed[frame=off,leftframe=on,rulethickness=4pt,framecolor=red]{foo}
+ \framed[frame=off,topframe=on,rulethickness=4pt,framecolor=green]{foo}
+ \framed[frame=off,rightframe=on,rulethickness=4pt,framecolor=blue]{foo}
+ \framed[frame=off,bottomframe=on,rulethickness=4pt,framecolor=magenta]{foo}
+}
+
+\blank
+
+可以设定盒子的宽度和高度,例如宽 10cm,高 2 cm 的盒子:
+
+\starttyping[option=TEX]
+\hbox to \textwidth{\hfill\framed[width=10cm,height=2cm]{foo}\hfill}
+\stoptyping
+\hbox to \textwidth{\hfill\framed[width=10cm,height=2cm]{foo}\hfill}
+
+\section{对齐}
+
+\ConTeXt\ 盒子的内容默认居中,即 \type{align=center},此外还有 8 种对齐方式:
+
+\starttyping[option=TEX]
+\line{
+ \setupframed[width=1.95cm,height=1.95cm]
+ \framed[align={flushleft,high}]{A}
+ \framed[align={middle,high}]{A}
+ \framed[align={flushright,high}]{A}
+ \framed[align={flushright,lohi}]{A}
+ \framed[align={flushright,low}]{A}
+ \framed[align={middle,low}]{A}
+ \framed[align={flushleft,low}]{A}
+ \framed[align={flushleft,lohi}]{A}
+}
+\stoptyping
+\line{
+ \setupframed[width=1.95cm,height=1.95cm]
+ \framed[align={flushleft,high}]{A}
+ \framed[align={middle,high}]{A}
+ \framed[align={flushright,high}]{A}
+ \framed[align={flushright,lohi}]{A}
+ \framed[align={flushright,low}]{A}
+ \framed[align={middle,low}]{A}
+ \framed[align={flushleft,low}]{A}
+ \framed[align={flushleft,lohi}]{A}
+}
+
+\type{\setupframed} 所作的设定会影响到其后的所有 \type{\framed},但是不会影响到其所处编组\footnote{还记得 \TeX\ 编组吗?即 \type[escape=no]{{...}}。}之外的 \type{\framed}。
+
+\section{背景}
+
+可将颜色作为 \type{\framed} 的背景。例如
+
+\starttyping[option=TEX]
+\inframed
+ [background=color,
+ backgroundcolor=lightgray,
+ width=2cm,
+ frame=off]{\bf foo}
+\stoptyping
+
+\noindent 结果为 \inframed[background=color,backgroundcolor=lightgray,width=2cm,frame=off]{\bf foo}。
+
+通过 overlay,可将一些代码片段的排版结果作为 \type{\framed} 的背景。例如
+
+\starttyping[option=TEX]
+\defineoverlay
+ [foo]
+ [{\framed[width=3cm,frame=off,bottomframe=on]{}}]
+\midaligned{\inframed[background=foo,frame=off]{你好啊!}}
+\stoptyping
+
+\defineoverlay
+ [foo]
+ [{\framed[width=3cm,frame=off,bottomframe=on]{}}]
+\midaligned{\inframed[background=foo,frame=off]{你好啊!}}
+\blank
+
+通过上述示例,现在你应该能有有七八分明白 \in[item-sym-diy] 节中带圈数字是如何实现的了,其关键代码如下:
+
+\starttyping[option=TEX]
+\startuseMPgraphic{foo}
+ path p;
+ p := fullcircle scaled 12pt;
+ draw p withpen pencircle scaled .4pt
+ withcolor darkred;
+\stopuseMPgraphic
+\defineoverlay[rsquare][\useMPgraphic{foo}]
+\def\fooframe#1{%
+ \inframed[frame=off,background=rsquare]{#1}%
+}
+\stoptyping
+\startuseMPgraphic{foo}
+ path p;
+ p := fullcircle scaled 12pt;
+ draw p withpen pencircle scaled .4pt
+ withcolor darkred;
+\stopuseMPgraphic
+\defineoverlay[rsquare][\useMPgraphic{foo}]
+\def\fooframe#1{%
+ \inframed[frame=off,background=rsquare]{#1}%
+}
+\noindent 无非是将一个圆圈图形作为 \type{\inframed} 的背景罢了,而且对圈内的文字的长度有限制,字数略多一些,便出圈了,例如 \type{\fooframe{123}},结果为 \fooframe{123}。不过,只需对上述代码略加修改,
+
+\starttyping[option=TEX]
+ p := fullcircle scaled \overlaywidth;
+\stoptyping
+\startuseMPgraphic{foo}
+ path p;
+ p := fullcircle scaled \overlaywidth;
+ draw p withpen pencircle scaled .4pt
+ withcolor darkred;
+\stopuseMPgraphic
+\defineoverlay[rsquare][\useMPgraphic{foo}]
+\def\fooframe#1{%
+ \inframed[frame=off,background=rsquare]{#1}%
+}
+
+\noindent 便可解除该限制。技巧是,用 overlay 的实际宽度作为单位圆的放大倍数,故而可保证圆圈的直径即圈内文字的长度,例如 \type{\fooframe{我有一个大房子}},结果为 \fooframe{我有一个大房子}。
+
+\section{盒子的深度}
+
+如果你仔细观察,\ConTeXt\ 盒子里的内容在水平方向是精确居中的,但是在并非如此。例如
+
+\starttyping[option=TEX]
+\inframed{ajk\framed{我看到一棵樱桃树}}。
+\stoptyping
+
+\noindent 结果为 \inframed{\framed{我看到一棵樱桃树}}。可见 \type{\inframed} 内部的 \type{\framed} 的底部有着看似多余的空白。使用盒子的参数 \type{depth} 可以消除这些空白,但问题在于这处空白从何而来及其高度是多少。该问题与底层 \TeX\ 的西文排版机制有关。
+
+首先,我们需要明白,西文排版,一行文字是有基线的,但基线并非位于该行文字的最底端,而是距最底端有一段较小的距离,否则所有西文字母都在同一条线上了。在上述示例中,\type{\framed} 的底线便是其外围的 \type{\inframed} 所在行的基线。西文字体在设计时,每个字形(Glyph)是有基线位置,因此在排版时可根据实际的基线位置对字形进行对齐。一行文字的基线到该行的最底端的这段距离称为深度。一行文字的基线到该行最顶端的这段距离称为高度。因此,一行文字的真正高度等于深度 + 高度;在 \ConTeXt\ 中,它等于我们使用 \type{\setupinterlinespace} 设定的尺寸。
+
+无论是 \TeX\ 还是 \ConTeXt\ 盒子,它们本身是没有深度的,但是当它们里面的文字或盒子有深度时,它们便有了深度。至于深度值具体是多大,可以借助 \TeX\ 的盒子寄存器进行测量。例如,定义一个盒子寄存器 box0:
+
+\starttyping[option=TEX]
+\setbox0\hbox{\inframed{\framed{我看到一棵樱桃树}}}
+\stoptyping
+
+\noindent 现在我们有了一个 0 号盒子,使用 \type{\wd},\type{\ht} 和 \type{\dp} 可分别测量该盒子的宽度、高度和深度……顺便复习一下表格的用法:
+
+\starttyping[option=TEX]
+\placetable[force]{box0 的几何信息}{\tfx
+ \starttabulate[|c|c|c|]
+ \HL
+ \NC 宽度 \NC 高度 \NC 深度 \NC\NR
+ \HL
+ \NC \the\wd0 \NC \the\ht0 \NC \the\dp0 \NC\NR
+ \HL
+ \stoptabulate
+}
+\stoptyping
+\setbox0\hbox{\inframed{\framed{我看到一棵樱桃树}}}
+\setupcaption[table][location=top]
+\placetable[force]{box0 的几何信息}{\tfx
+ \starttabulate[|c|c|c|]
+ \HL
+ \NC 宽度 \NC 高度 \NC 深度 \NC\NR
+ \HL
+ \NC \the\wd0 \NC \the\ht0 \NC \the\dp0 \NC\NR
+ \HL
+ \stoptabulate
+}
+
+将上述所得深度信息取负作为 \type{\inframed} 的参数 \type{depth} 的值,即
+
+\starttyping[option=TEX]
+\inframed[depth=-\dp0]{\framed{我看到一棵樱桃树}}
+\stoptyping
+
+\noindent 便可消除深度,结果为 \inframed[depth=-\dp0]{\framed{我看到一棵樱桃树}}。
+
+\section{小结}
+
+\TeX\ 盒子是无形的。\ConTeXt\ 盒子是有形的。老子曾说过,恒无欲,以观其妙;恒有欲,以观其所徼。故而,\TeX\ 要懂一些,\ConTeXt\ 也要懂一些。
diff --git a/info/context-notes-zh-cn/src/11.tex b/info/context-notes-zh-cn/src/11.tex
new file mode 100644
index 0000000000..7b5d538b3e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/11.tex
@@ -0,0 +1,810 @@
+\chapter{学一点 \METAPOST}
+
+想必你已迫不及待想学习 \METAPOST\ 了。这大概是来自人类上古基因的冲动。人类先学会的是绘画,而后才是文字。只是不要妄图通过这区区一章内容掌握 \METAPOST,因为关于它的全部内容,足够写一本至少三百多页的书籍了。不过,本章内容足以给你打开一扇窗户,让 \METAPOST\ 的优雅气息拂过时常过于严肃的 \ConTeXt\ 世界。
+
+\section{作图环境}
+
+\METAPOST\ 是一种计算机作图语言,与 \TeX\ 一样,皆为宏编程语言。使用 \METAPOST\ 语言编写的代码可被 mpost 程序编译成 PS 格式的图形文件。自 \LuaTeX\ 开始,mpost 的核心功能集成到了 \LuaTeX\ 中,从此以后,在 \TeX\ 环境中使用 \METAPOST\ 语言作图便不需依赖外部程序了。
+
+\ConTeXt\ 为 \METAPOST\ 代码提供了五种环境:
+
+\starttyping
+\startMPcode ... \stopMPcode
+\startMPpage ... \stopMPpage
+\startuseMPgraphic{name} ... \stopuseMPgraphic
+\startuniqueMPgraphic{name} ... \stopuniqueMPgraphic
+\startreusableMPgraphic{name} ... \stopreusableMPgraphic
+\stoptyping
+
+\noindent 第一种环境用于临时作图,生成的图形会被插入到代码所在位置。第二种环境是生成单独的图形文件,以作其他用途。后面三种环境,生成的图形可根据环境的名称作为文章插图随处使用,但它们又有三种不同用途:
+
+\startitemize[nowhite]
+\item useMPgraphic:每被使用一次,对应的 \METAPOST\ 代码便会被重新编译一次。
+\item uniqueMPgraphic:只要图形所处环境不变,\METAPOST\ 代码只会被编译一次。
+\item reusableMPgraphic:无论如何使用,其 \METAPOST\ 只会被编译一次。
+\stopitemize
+
+\noindent 大多数情况下,建议选用 uniqueMPgraphic,但若图形中存在一些需要每次使用时都要有所变化的内容,可选用 useMPgraphic。
+
+另外需要注意,在 \ConTeXt\ 中使用 \METAPOST\ 时,通常会使用 \ConTeXt\ 定义的一些 \METAPOST\ 宏,这些宏构成的集合,名曰 \MetaFun。
+
+\section{画一个盒子}
+
+\METAPOST\ 作图语句遵守基本的英文语法,理解起来颇为简单。例如,用粗度为 2 pt 的圆头笔用暗红色绘制一条经过 $(0, 0)$,$(3\,{\rm cm}, 0)$,$(3\,{\rm cm}, 1\,{\rm cm})$,$(0, 1\,{\rm cm})$ 的封闭路径,
+
+\starttyping[option=MP]
+\startMPcode
+pickup pencircle scaled 2pt;
+draw (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle withcolor darkred;
+\stopMPcode
+\stoptyping
+\startMPcode
+pickup pencircle scaled 2pt;
+draw (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle withcolor darkred;
+\stopMPcode
+
+上述代码中,\type{(0, 0) -- ... -- cycle} 构造的是一条封闭路径,可将其保存于路径变量:
+
+\starttyping[option=MP]
+path p;
+p := (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle;
+pickup pencircle scaled 2pt;
+draw p withcolor darkred;
+\stoptyping
+
+将路径保存在变量中,是为了更便于对路径进行一些运算,例如
+
+\starttyping[option=MP]
+path p;
+p := (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle;
+pickup pencircle scaled 2pt;
+draw p withcolor darkred;
+draw p shifted (2cm, .5cm) withcolor darkblue;
+\stoptyping
+\startMPcode
+path p;
+p := (0, 0) -- (3cm, 0) -- (3cm, 1cm) -- (0, 1cm) -- cycle;
+pickup pencircle scaled 2pt;
+draw p withcolor darkred;
+draw p shifted (2cm, .5cm) withcolor darkblue;
+\stopMPcode
+\noindent 路径 \type{p} 被向右平移了 2 cm,继而被向上平移动了 0.5 cm。
+
+还有一种构造矩形路径的方法:先构造一个单位正方形,然后对其缩放。例如
+
+\starttyping[option=MP]
+pickup pencircle scaled 2pt;
+draw fullsquare xscaled 3cm yscaled 1cm withcolor darkred;
+\stoptyping
+\startMPcode
+pickup pencircle scaled 2pt;
+draw fullsquare xscaled 3cm yscaled 1cm withcolor darkred;
+\stopMPcode
+
+可以使用 \MetaFun\ 宏 \type{randomized} 对路径进行随机扰动。例如,对一个宽为 3 cm,高为 1cm 的矩形路径以幅度 2mm 的程度予以扰动:
+
+\starttyping[option=MP]
+\startuseMPgraphic{随机晃动的矩形}
+pickup pencircle scaled 2pt;
+draw (fullsquare xscaled 3cm yscaled 1cm) randomized 2mm withcolor darkred;
+\stopuseMPgraphic
+\useMPgraphic{随机晃动的矩形}
+\stoptyping
+\startuseMPgraphic{随机晃动的矩形}
+pickup pencircle scaled 2pt;
+draw (fullsquare xscaled 3cm yscaled 1cm) randomized 2mm withcolor darkred;
+\stopuseMPgraphic
+\useMPgraphic{随机晃动的矩形}
+
+还记得 overlay 吗?只要将上述 useMPgraphic 环境构造的图形制作为 overlay,便可将其作为 \type{\framed} 的背景,从而可以得到一种外观颇为别致的盒子。
+
+\starttyping
+\defineoverlay[晃晃][\useMPgraphic{随机晃动的矩形}]
+\framed[frame=off,background=晃晃]{光辉岁月}
+\stoptyping
+\defineoverlay[晃晃][\useMPgraphic{随机晃动的矩形}]
+\dontleavehmode\kern .25em\framed[frame=off,background=晃晃]{光辉岁月}
+
+在 \ConTeXt\ 为 \METAPOST\ 提供的作图环境里,可分别通过 \type{\overlaywidth} 和 \type{\overlayheight} 获得 overlay 的宽度和高度。在将 overlay 作为 \type{\framed} 的背景时,\type{\framed} 的宽度和高度便是 overlay 的宽度和高度。基于这一特性,便可实现 \METAPOST\ 绘制的图形能够自动适应 \type{\framed} 的宽度和高度的变化。例如
+
+\starttyping[option=MP]
+\startuseMPgraphic{新的随机晃动的矩形}
+path p;
+p := fullsquare xscaled \overlaywidth yscaled \overlayheight;
+pickup pencircle scaled 2pt;
+draw p randomized 2mm withcolor darkred;
+\stopuseMPgraphic
+
+\defineoverlay[新的晃晃][\useMPgraphic{新的随机晃动的矩形}]
+\framed
+ [frame=off,background=新的晃晃]
+ {今天只有残留的躯壳,迎接光辉岁月,风雨中抱紧自由。}
+\stoptyping
+
+\startuseMPgraphic{新的随机晃动的矩形}
+path p;
+p := fullsquare xscaled \overlaywidth yscaled \overlayheight;
+pickup pencircle scaled 2pt;
+draw p randomized 2mm withcolor darkred;
+\stopuseMPgraphic
+
+\defineoverlay[新的晃晃][\useMPgraphic{新的随机晃动的矩形}]
+\framed[frame=off,background=新的晃晃]{今天只有残留的躯壳,迎接光辉岁月,风雨中抱紧自由。}
+
+对于需要重复使用的盒子,为了避免每次重复设置其样式,可以将它定义为专用盒子。例如
+
+\starttyping[option=TEX]
+\defineframed[funnybox][frame=off,background=新的晃晃]
+\funnybox{今天只有残留的躯壳,迎接光辉岁月,风雨中抱紧自由。}
+\stoptyping
+
+\METAPOST\ 可以为一条封闭路径填充颜色。在此需要明确,何为封闭路径。例如
+
+\starttyping[option=MP]
+path p, q, r;
+p := (0, 0) -- (1, 0) -- (1, 1) -- (0, 0) -- (0, 0);
+q := (0, 0) -- (1, 0) -- (1, 1) -- (0, 0) -- cycle;
+r := fullsquare;
+\stoptyping
+
+\noindent 其中路径 \type{p} 的终点的坐标恰好是其起点,但它并非封闭路径,而路径 \type{q} 和 \type{r} 皆为封闭路径。下面示例,为封闭路径填充颜色:
+
+\starttyping[option=MP]
+path p;
+p := (fullsquare xscaled 3cm yscaled 1cm) randomized 2mm;
+pickup pencircle scaled 2pt;
+fill p withcolor gray;
+draw p withcolor darkred;
+\stoptyping
+\startMPcode
+path p;
+p := (fullsquare xscaled 3cm yscaled 1cm) randomized 2mm;
+pickup pencircle scaled 2pt;
+fill p withcolor darkgray;
+draw p withcolor darkred;
+\stopMPcode
+\noindent 注意,对于封闭路径,应当先填充颜色,再绘制路径,否则所填充的颜色会覆盖一部分路径线条。
+
+\section{颜色}
+
+\METAPOST\ 以含有三个分量的向量表示颜色。向量的三个分量分别表示红色、绿色和蓝色,取值范围为 [0, 1],例如 \type{(0.4, 0.5, 0.6)}。可将颜色保存到 color 类型的变量中,以备绘图中重复使用。例如定义一个值为暗红色的颜色变量:
+
+\starttyping[option=MP]
+color foo;
+foo := (0.3, 0, 0);
+\stoptyping
+
+由于 METAPOST 内部已经定义了用于表示红色的变量 \type{red},因此 \type{foo} 的定义也可写为
+
+\starttyping[option=MP]
+color foo;
+foo := 0.3 * red;
+\stoptyping
+
+\noindent 小于 1 的倍数,可以忽略前缀 0,且可以直接作用于颜色:
+
+\starttyping[option=MP]
+foo := .3red;
+\stoptyping
+
+使用 \type{transparent} 宏可用于构造带有透明度的颜色值。例如
+
+\starttyping[option=MP]
+path p; p := fullsquare scaled 1cm;
+color foo; foo := .3red;
+pickup pencircle scaled 4pt;
+draw p withcolor transparent (1, 0.3, foo);
+draw p shifted (.5cm, .5cm) withcolor transparent (1, 0.25, blue);
+\stoptyping
+\startMPcode
+path p; p := fullsquare scaled 1cm;
+color foo; foo := .3red;
+pickup pencircle scaled 4pt;
+draw p withcolor transparent (1, 0.3, foo);
+draw p shifted (.5cm, .5cm) withcolor transparent (1, 0.25, blue);
+\stopMPcode
+\noindent \type{transparent} 的第一个参数表示选用的颜色透明方法,共有 12 种方法可选:
+
+\startitemize[n,packed,columns,four]
+\item normal
+\item multiply
+\item screen
+\item overlay
+\item softlight
+\item hardlight
+\item colordodge
+\item colorburn
+\item darken
+\item lighten
+\item difference
+\item exclusion
+\stopitemize
+\noindent 第二个参数表示透明度,取值范围 [0, 1],其值越大,透明程度越低。第三个参数为颜色值。需要注意的是,\METAPOST\ 并不支持以 \type{color} 类型的变量保存带透明度的颜色值,而且 \METAPOST\ 里也没有与之对应的变量类型。
+
+\section{文字}
+
+使用 \MetaFun\ 宏 \type{textext} 可在 \METAPOST\ 图形中插入文字,且基于 \METAPOST\ 图形变换命令可对文字进行定位、缩放、旋转。例如
+
+\starttyping[option=MP]
+string s; % 字符串类型变量
+s = "\color[darkred]{\bf 江山如此多娇}";
+draw textext(s);
+draw textext(s) shifted (4cm, 0);
+draw textext(s) scaled 1.5 shifted (8cm, 0) ;
+draw textext(s) scaled 1.5 rotated 45 shifted (12cm, 0);
+\stoptyping
+\startMPcode
+string s; s = "\color[darkred]{\bf 江山如此多娇}";
+draw textext(s);
+draw thetextext(s, (4cm, 0));
+draw textext(s) scaled 1.5 shifted (8cm, 0) ;
+draw textext(s) scaled 1.5 rotated 45 shifted (12cm, 0);
+\stopMPcode
+
+也可使用 \type{\thetextext} 宏直接对文字进行定位,从而可省去 \type{shifted} 变换。例如
+
+\starttyping
+string s; s = "{\bf 江山如此多娇}";
+draw (0, 0) withpen pensquare scaled 11pt withcolor darkred;
+draw textext(s, (4cm, 0)) withcolor darkred;
+\stoptyping
+\startMPcode
+string s; s = "{\bf 江山如此多娇}";
+draw (0, 0) withpen pensquare scaled 12pt withcolor darkred;
+draw thetextext(s, (4cm, 0)) withcolor darkred;
+\stopMPcode
+
+\section{方向路径}
+
+\METAPOST\ 宏 \type{drawarrow} 可绘制带箭头的路径。例如
+
+\starttyping[option=MP]
+path p; p := (0, 0) -- (4cm, 0) -- (4cm, 2cm) -- (0, 2cm) -- (0, 1cm);
+pickup pencircle scaled 2pt;
+drawarrow p withcolor darkred;
+drawarrow p shifted (6cm, 0) dashed (evenly scaled .5mm) withcolor darkred;
+\stoptyping
+\startMPcode
+path p; p := (0, 0) -- (4cm, 0) -- (4cm, 2cm) -- (0, 2cm) -- (0, 1cm);
+pickup pencircle scaled 2pt;
+drawarrow p withcolor darkred;
+drawarrow p shifted (6cm, 0) dashed (evenly scaled .5mm) withcolor darkred;
+\stopMPcode
+
+\noindent 上述代码也给出了虚线路径的画法。
+
+\METAPOST\ 的任何一条路径,从起点到终点可基于取值范围为 [0, 1] 的参数选择该路径上的某一点。基于该功能可实现路径标注。例如选择路径参数 0.5 对应的点,在该点右侧放置 \ConTeXt\ 旋转 90 度的文字:
+
+\starttyping[option=MP]
+path p; p := (0, 0) -- (4cm, 0) -- (4cm, 2cm) -- (0, 2cm) -- (0, 1cm);
+pair pos; pos := point .5 along p;
+pickup pencircle scaled 2pt;
+drawarrow p withcolor darkred;
+draw pos withpen pensquare scaled 4pt withcolor darkgreen;
+draw thetextext.rt("\rotate[rotation=-90]{路过}", pos shifted (1mm, 0));
+\stoptyping
+\startMPcode
+path p; p := (0, 0) -- (4cm, 0) -- (4cm, 2cm) -- (0, 2cm) -- (0, 1cm);
+pair pos; pos := point .5 along p;
+pickup pencircle scaled 2pt;
+drawarrow p withcolor darkred;
+draw pos withpen pensquare scaled 4pt withcolor darkgreen;
+draw thetextext.rt("\rotate[rotation=-90]{路过}", pos shifted (1mm, 0));
+\stopMPcode
+
+\noindent 上述代码中出现了 \type{thetextext} 的后缀形式。除了默认形式,\type{thetextext} 还有 4 种后缀形式,后缀名为 \inframed{\type{.lft}},\inframed{\type{.top}},\inframed{\type{.rt}} 和 \inframed{\type{.bot}},分别表示将文字放在指定位置的左侧、上方、右侧和下方。
+
+\section{画面}
+
+\METAPOST\ 有一种变量类型 \type{picture},可将其用于将一组绘图语句合并为一个图形,然后予以绘制。使用 \METAPOST\ 宏 \type{image} 可构造 \type{picture} 实例。例如
+
+\starttyping[option=MP]
+path a; a := fullsquare xscaled 4cm yscaled 1cm;
+picture p; p := image(fill a withcolor darkgray;
+ draw a withpen pencircle scaled 2pt withcolor darkblue;);
+draw p;
+\stoptyping
+\startMPcode
+path a; a := fullsquare xscaled 4cm yscaled 1cm;
+picture p; p := image(fill a withcolor darkgray;
+ draw a withpen pencircle scaled 2pt withcolor darkblue;);
+draw p;
+\stopMPcode
+
+使用 \METAPOST\ 宏 \type{center} 可以获得 \type{picture} 实例的中心坐标,结果可保存于一个 \type{pair} 类型的变量。例如
+
+\starttyping[option=MP]
+picture p; p := image(draw textext("密云不雨,自我西郊"););
+pair c; c := center p;
+draw c withpen pensquare scaled 4pt withcolor darkred;
+draw p withcolor darkblue;
+\stoptyping
+\startMPcode
+picture p; p := image(draw textext("密云不雨,自我西郊"););
+pair c; c := center p;
+draw c withpen pensquare scaled 4pt withcolor darkred;
+draw p withcolor darkblue;
+\stopMPcode
+
+使用 \MetaFun\ 宏 \type{bbwidth} 和 \type{bbheight} 可以获得 \type{picture} 实例的宽度和高度。使用这两个宏,可为任何图形和文字构造边框。例如
+
+\starttyping[option=MP]
+picture p; p := image(draw textext("归妹愆期,迟归有时"));
+numeric w, h; w := bbwidth(p); h := bbheight(p);
+path q; q := fullsquare xscaled w yscaled h;
+\stoptyping
+\starttyping[option=MP]
+fill q withcolor darkgray;
+draw q withpen pencircle scaled 2pt withcolor darkred;
+draw p;
+\stoptyping
+\startMPcode
+picture p; p := image(draw textext("归妹愆期,迟归有时"));
+numeric w, h; w := bbwidth(p); h := bbheight(p);
+path q; q := fullsquare xscaled w yscaled h;
+fill q withcolor darkgray;
+draw q withpen pencircle scaled 2pt withcolor darkred;
+draw p;
+\stopMPcode
+
+上述实例为文字构造的边框太紧了,综合利用现有所学,让它宽松一些并不困难:
+
+\starttyping[option=MP]
+picture p; p := image(draw textext("归妹愆期,迟归有时"));
+numeric w, h; w := bbwidth(p); h := bbheight(p);
+numeric offset; offset := 5mm;
+path q;
+q := fullsquare xscaled (w + offset) yscaled (h + offset) shifted center p;
+
+fill q withcolor darkgray;
+draw q withpen pencircle scaled 2pt withcolor darkred;
+draw p;
+\stoptyping
+\startMPcode
+picture p; p := image(draw textext("归妹愆期,迟归有时"));
+numeric w, h; w := bbwidth(p); h := bbheight(p);
+numeric offset; offset := 5mm;
+path q; q := fullsquare xscaled (w + offset) yscaled (h + offset) shifted center p;
+fill q withcolor darkgray;
+draw q withpen pencircle scaled 2pt withcolor darkred;
+draw p;
+\stopMPcode
+
+\section[macro]{宏}
+
+定义一个宏,令其接受一个字符串类型的参数,返回一个矩形框,并令文字居于矩形框中心:
+
+\starttyping[option=MP]
+vardef framed (expr text, offset) =
+ picture p; p := image(draw textext(text));
+ numeric w, h; w := bbwidth(p); h := bbheight(p);
+ path q;
+ q := fullsquare xscaled (w + offset) yscaled (h + offset) shifted center p;
+ image(fill q withcolor lightgray;
+ draw q withpen pencircle scaled 2pt withcolor darkred;
+ draw p;)
+enddef;
+\stoptyping
+
+\noindent 使用上述定义的宏:
+
+\starttyping[option=MP]
+draw framed("{\bf 亢龙有悔}", 5mm);
+\stoptyping
+\startMPcode
+vardef framed (expr text, offset) =
+ picture p; p := image(draw textext(text));
+ numeric w, h; w := bbwidth(p); h := bbheight(p);
+ path q;
+ q := fullsquare xscaled (w + offset) yscaled (h + offset) shifted center p;
+ image(fill q withcolor lightgray;
+ draw q withpen pencircle scaled 2pt withcolor darkred;
+ draw p;)
+enddef;
+draw framed("{\bf 亢龙有悔}", 5mm);
+\stopMPcode
+
+\METAPOST\ 的 \type{vardef} 用于定义一个有返回值的宏,宏定义的最后一条语句即返回值,该条语句不可以分号作为结尾。\METAPOST\ 还有其他几种宏定义形式,但是对于大多数作图任务而言,\type{vardef} 已足够应付。
+
+\section[sec:flow-chart]{画一幅简单的流程图}
+
+现在,请跟随我敲击键盘的手指,逐步画一幅描述数字求和过程的流程图,希望这次旅程能让你对 \METAPOST\ 的基本语法有一些全面的认识。
+
+首先,构造一个结点,表示数据输入“”
+
+\starttyping[option=MP]
+string f; f := "\framed[frame=off,align=center]";
+picture a;
+a := image(
+ % 符号 & 用于拼接两个字符串
+ draw textext(f & "{$i\leftarrow 1$\\$s\leftarrow 0$}");
+);
+\stoptyping
+
+然后,用 \in[macro] 节定义的 \type{framed} 宏构造两个运算过程结点:
+
+\starttyping[option=MP]
+numeric offset; offset := 5mm;
+picture b; b := framed(f & "{$s\leftarrow s + i$}", offset);
+picture c; c := framed(f & "{$i\leftarrow i + 1$}", offset);
+\stoptyping
+
+还需要定义一个宏,用它构造菱形的条件判断结点:
+
+\starttyping[option=MP]
+vardef diamond (expr text, offset) =
+ picture p; p := image(draw textext(text));
+ numeric w, h; w := bbwidth(p); h := bbheight(p);
+ path q;
+ q := fulldiamond xscaled (w + offset) yscaled (h + offset) shifted center p;
+ image(fill q withcolor darkgray;
+ draw q withpen pencircle scaled 2pt withcolor darkred;
+ draw p withcolor white;)
+enddef;
+picture d; d := diamond(f & "{$i > 100$}", 3 * offset);
+\stoptyping
+
+最后,再构造一个结点表示程序输出:
+
+\starttyping[option=MP]
+picture e;
+e := image(draw textext(f & "{$s$}"););
+\stoptyping
+
+保持结点 \type{a} 不动,对 \type{b},\type{c},\type{d} 和 \type{e} 进行定位:
+
+\starttyping[option=MP]
+b := b shifted (0, -2cm);
+c := c shifted (4cm, -4.5cm);
+d := d shifted (0, -4.5cm);
+e := e shifted (0, -7cm);
+\stoptyping
+
+现在可以画出所有结点了,即
+
+\starttyping[option=MP]
+draw a; draw b; draw c; draw d; draw e;
+\stoptyping
+\midaligned{\externalfigure[11-flowchart-1.pdf]}
+\blank
+
+现在开始构造连接各结点的路径。首先构造结点 \type{a} 的底部中点到 \type{b} 的顶部中点的路径:
+
+\starttyping[option=MP]
+path ab;
+ab := .5[llcorner a, lrcorner a] -- .5[ulcorner b, urcorner b];
+\stoptyping
+
+\noindent 其中 \type{llcorner} 用于获取路径或画面实例的最小包围盒的左下角顶点坐标。同理,\type{ulcorner},\type{urcorner} 和 \type{lrcorner} 分别获取包围盒的左上角、右上角和右下角顶点坐标。\type{.5[..., ...]} 用于计算两个点连线的中点。
+
+用类似的方法可以构造其他连接各结点的路径:
+
+\starttyping[option=MP]
+path bd;
+bd := .5[llcorner b, lrcorner b] -- .5[ulcorner d, urcorner d];
+path dc;
+dc := .5[lrcorner d, urcorner d] -- .5[ulcorner c, llcorner c];
+path cb;
+cb := .5[ulcorner c, urcorner c] -- (4cm, -2cm) -- .5[urcorner b, lrcorner b];
+path de;
+de := .5[llcorner d, lrcorner d] -- .5[ulcorner e, urcorner e];
+\stoptyping
+
+画出所有路径:
+
+\starttyping[option=MP]
+drawarrow ab withcolor darkred; drawarrow bd withcolor darkred;
+drawarrow cb withcolor darkred; drawarrow dc withcolor darkred;
+drawarrow de withcolor darkred;
+\stoptyping
+\midaligned{\externalfigure[11-flowchart-2.pdf]}
+\blank
+
+最后一步,路径标注:
+
+\starttyping[option=MP]
+pair no; no := point .4 along dc;
+pair yes; yes := point .5 along de;
+draw thetextext.top("否", no);
+draw thetextext.rt("是", yes);
+\stoptyping
+\midaligned{\externalfigure[11-flowchart-3.pdf]}
+
+\section{代码简化}
+
+\in[sec:flow-chart] 节中用于绘制程序流程图的代码存在许多重复。我们可以尝试使用条件、循环,宏等形式对代码进行简化,但我对它们给出的讲解并不会细致,为的正是走马观花,观其大略。
+
+首先,观察宏 \type{framed} 和 \type{diamond} 的定义,发现二者仅有的不同是前者用 \type{fullsquare} 绘制盒子,后者用 \type{fulldiamond}。因此,可以重新定义一个更为灵活的宏,用于制作结点:
+
+\starttyping[option=MP]
+vardef make_node(expr text, shape, offset) =
+ picture p; p := image(draw textext(text));
+ numeric w, h; w := bbwidth(p); h := bbheight(p);
+ if path shape:
+ path q;
+ q := shape xysized (w + offset, h + offset) shifted center p;
+ image(fill q withcolor lightgray;
+ draw q withpen pencircle scaled 2pt withcolor darkred;
+ draw p;)
+ else:
+ image(draw p;)
+ fi
+enddef;
+\stoptyping
+
+\noindent 由于上述代码使用了 \METAPOST\ 的条件判断语法,以 \type{path shape} 判断 \type{shape} 是否为路径变量,从而使得 \type{make_node} 能构用于构造有无边框和有边框的结点:
+
+\starttyping[option=MP]
+numeric offset; offset := 5mm;
+string f; f := "\framed[frame=off,align=center]";
+picture a, b, c, d, e;
+a := make_node(f & "{$i\leftarrow 1$\\$s\leftarrow 0$}", none, 0);
+b := make_node(f & "{$s\leftarrow s + i$}", fullsquare, offset);
+c := make_node(f & "{$i\leftarrow i + 1$}", fullsquare, offset);
+d := make_node(f & "{$i > 100$}", fulldiamond, offset);
+e := make_node(f & "{$s$}", none, 0);
+\stoptyping
+
+在 \type{vardef} 宏中使用条件语句时需要注意,通常情况下不要条件结束语句 \type{fi} 后面添加分号,否则 \type{vardef} 宏的返回值会带上这个分号。在其他情境下,通常需要在 \type{fi} 加分号。还要注意,我在 \type{make_node} 宏中使用 \type{xysized} 取代了之前的 \type{xscale} 和 \type{yscale},可直接指定路径或画面的尺寸。之所以如此,是因为我们无法确定 \type{make_node} 宏的第 2 个参数对应的路径是否为标准图形。
+
+在绘制结点和路径时,存在重复使用 \type{draw} 语句的情况,例如
+
+\starttyping[option=MP]
+drawarrow ab withcolor darkred;
+drawarrow bd withcolor darkred;
+drawarrow cb withcolor darkred;
+drawarrow dc withcolor darkred;
+drawarrow de withcolor darkred;
+\stoptyping
+
+\noindent 可使用循环语句予以简化:
+
+\starttyping[option=MP]
+for i = ab, bd, cb, dc, de:
+ draw i withcolor darkred;
+endfor;
+\stoptyping
+
+为了便于获得路径或画面的包围盒的四边中点,定义以下宏:
+
+\starttyping[option=MP]
+vardef left(expr p) = .5[llcorner p, ulcorner p] enddef;
+vardef top(expr p) = .5[ulcorner p, urcorner p] enddef;
+vardef right(expr p) = .5[lrcorner p, urcorner p] enddef;
+vardef bottom(expr p) = .5[llcorner p, lrcorner p] enddef;
+\stoptyping
+
+\noindent 以绘制结点 \type{b} 的四边中点为测试用例
+
+\starttyping[option=MP]
+for i = left(b), top(b), right(b), bottom(b):
+ draw i withpen pensquare scaled 4pt withcolor darkblue;
+endfor;
+\stoptyping
+\leftaligned{\externalfigure[11-flowchart-4.pdf]}
+\blank
+
+基于上述宏,可以更为简洁地构造连接各结点的路径:
+
+\starttyping[option=MP]
+path ab; ab := bottom(a) -- top(b);
+path bd; bd := bottom(b) -- top(d);
+path dc; dc := right(d) -- left(c);
+path cb; cb := top(c) -- (xpart center c, ypart center b) -- right(b);
+path de; de := bottom(d) -- top(e);
+\stoptyping
+
+\noindent \type{center} 是 \METAPOST\ 宏,可用于获取路径或画面的包围盒中心点坐标。\type{xpart} 和 \type{ypart} 也皆为 \METAPOST\ 宏,用于获取点的坐标分量。
+
+路径标注也可以通过定义一个宏予以简化:
+
+\starttyping[option=MP]
+vardef tag(expr p, text, pos, loc) =
+ if loc = "left":
+ thetextext.lft(text, point pos along p)
+ elseif loc = "right":
+ thetextext.rt(text, point pos along p)
+ elseif loc = "top":
+ thetextext.top(text, point pos along p)
+ elseif loc = "bottom":
+ thetextext.bot(text, point pos along p)
+ else
+ thetextext(text, point pos along p)
+ fi
+enddef;
+\stoptyping
+
+\noindent 其用法为
+
+\starttyping[option=MP]
+draw tag(dc, "否", .5, "top");
+draw tag(de, "是", .5, "right");
+\stoptyping
+
+
+\section{层层叠叠}
+
+\ConTeXt\ 有一个以 overlay 为基础的层(Layer)机制。利用层机制,我们可将 \METAPOST\ 图形绘制在页面上的任何一个位置。在学习层之前,我们需要对 overlay 的认识再加深一些。
+
+\subsection{overlay}
+
+实际上 overlay 环境是一个图形「栈」。通过它,可实现图形(包括文字)的叠加。例如,对于以下 \METAPOST\ 图形:
+
+\starttyping[option=MP]
+\startuseMPgraphic{一个矩形}
+path p; p := fullsquare xscaled 4cm yscaled 1cm;
+draw p randomized 3mm
+ withcolor transparent (1, .5 randomized .3, red)
+ withpen pencircle scaled 2pt;
+\stopuseMPgraphic
+\stoptyping
+
+\noindent 上述代码中,\type{transparent (1, .5 randomized .3, red)} 用于构造在一定程度上不确定透明度的红色,透明度在 [0.2, 0.8] 之间,亦即 \type{randomized} 不仅可作用于路径,也可作用于数字或颜色值。由于上述 \METAPOST\ 图形环境包含着随机内容,将其作为插图,在一个 overlay 中多次使用,每次使用都会产生不同的结果,在 overlay 中它们会被叠加到一起:
+
+\starttyping[option=TEX]
+\startoverlay
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+\stopoverlay
+\stoptyping
+\startuseMPgraphic{一个矩形}
+path p; p := fullsquare xscaled 4cm yscaled 1cm;
+draw p randomized 3mm
+ withcolor transparent (0, .5 randomized .25, red)
+ withpen pencircle scaled 2pt;
+\stopuseMPgraphic
+\startoverlay
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+\stopoverlay
+
+之前在为 \type{\framed} 定义 overlay 时,overlay 中只有单个图形,亦即我们并未充分利用 overlay 的特性。以下代码定义的 \type{\framed} 的背景便包含了三个叠加的 overlay:
+
+\starttyping[option=TEX]
+\defineoverlay
+ [叠叠]
+ [\startoverlay
+ {\useMPgraphic{一个矩形}} {\useMPgraphic{一个矩形}} {\useMPgraphic{一个矩形}}
+ \stopoverlay]
+\stoptyping
+\starttyping[option=TEX]
+\defineframed[foo][frame=off,background={叠叠}]
+\foo{迎接光辉岁月}
+\stoptyping
+\defineoverlay
+ [叠叠]
+ [\startoverlay
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+ {\useMPgraphic{一个矩形}}
+ \stopoverlay]
+\defineframed[foo][frame=off,background={叠叠}]
+\dontleavehmode\kern .25em\foo{迎接光辉岁月}
+
+\type{\framed} 的也可以将多个 overlay 作为背景,以下代码与上例等效:
+
+\starttyping[option=TEX]
+\defineoverlay[叠叠-1]{\useMPgraphic{一个矩形}}
+\defineoverlay[叠叠-2]{\useMPgraphic{一个矩形}}
+\defineoverlay[叠叠-3]{\useMPgraphic{一个矩形}}
+\defineframed[foo][frame=off,background={叠叠-1,重叠-2,重叠-3}]
+\foo{迎接光辉岁月}
+\stoptyping
+
+\noindent 这意味着,\type{\framed} 的背景,本质上也是一个 overlay。
+
+基于 overlay,也可为文档设置水印。例如,若在 \type{\starttext} 之前添加以下代码:
+
+\starttyping[option=TEX]
+\startuseMPgraphic{square}
+path p; p := fullsquare xscaled 4cm yscaled 1cm;
+draw p randomized 3mm
+ withcolor transparent (1, .5 randomized .3, red)
+ withpen pencircle scaled 2pt;
+\stopuseMPgraphic
+\defineoverlay[watermark][\useMPgraphic{square}]
+\setupbackgrounds[page][background=watermark]
+\stoptyping
+\midaligned{\externalfigure[11-watermark.png][width=.6\textwidth]}
+
+\subsection[layer]{层}
+
+\ConTeXt\ 的层,本质上是一个可作为全页背景的 overlay,可使用绝对坐标或相对坐标对排版元素在页面上定位放置。例如,定义一个层 foo,在三个不同位置分别放置一幅 \METAPOST\ 图形,并将其作用于当前页面:
+
+\starttyping[option=TEX]
+\definelayer[foo]
+\setlayer[foo][x=0cm,y=0cm]{\useMPgraphic{一个矩形}}
+\setlayer[foo][x=6cm,y=1cm]{\useMPgraphic{一个矩形}}
+\stoptyping
+\starttyping[option=TEX]
+\setlayer
+ [foo]
+ [x=\textwidth,y=2cm,hoffset=-4cm,vhoffset=-.5cm]{\useMPgraphic{一个矩形}}
+\flushlayer[foo]
+\stoptyping
+\definelayer[test]
+\setlayer[test][x=0cm,y=0cm]{\useMPgraphic{一个矩形}}
+\setlayer[test][x=6cm,y=1cm]{\useMPgraphic{一个矩形}}
+\setlayer
+ [test]
+ [x=\textwidth,y=2cm,hoffset=-4cm,voffset=-3cm]{\useMPgraphic{一个矩形}}
+\flushlayer[test]
+\noindent 上述代码定义的层 foo,其坐标原点是层被投放的位置,亦即在本行文字的左上角。$x$ 坐标向右递增,$y$ 坐标向下递增。
+\definelayer[foo]
+\setlayer[foo][x=0cm,y=0cm]{\useMPgraphic{circle}}
+\setlayer[foo][preset=rightbottom]{\useMPgraphic{circle}}
+\setupbackgrounds[page][background=foo]
+
+如果将层的宽度和高度分别设为页面的宽度和高度,并将其设为页面背景,则坐标原点在页面的左上角,且可使用一些预定义位置投放内容。例如以下代码可在当前页面的左上角和右下角位置各放一个圆圈:
+
+\starttyping[option=TEX]
+\startuniqueMPgraphic{circle}
+draw fullcircle scaled 2cm withpen pencircle scaled 2pt withcolor darkgreen;
+\stopuniqueMPgraphic
+\definelayer[foo][width=\paperwidth,height=\paperheight]
+\setlayer[foo][x=0cm,y=0cm]{\uniqueMPgraphic{circle}}
+\setlayer[foo][preset=rightbottom]{\uniqueMPgraphic{circle}}
+\setupbackgrounds[page][background=foo]
+\stoptyping
+\startuniqueMPgraphic{circle}
+draw fullcircle scaled 2cm withpen pencircle scaled 2pt withcolor darkgreen;
+\stopuniqueMPgraphic
+\definelayer[foo][width=\paperwidth,height=\paperheight]
+\setlayer[foo][x=0cm,y=0cm]{\uniqueMPgraphic{circle}}
+\setlayer[foo][preset=rightbottom]{\uniqueMPgraphic{circle}}
+\setupbackgrounds[page][background=foo]
+
+\noindent 需要注意的是,层被使用一次后,便会被清空,因而将其作为页面背景,仅对当前页有效。
+
+通过 \type{preset} 参数可调整层的坐标原点和坐标方向。在上述代码中,\type{rightbottom} 可将层的坐标原点定位于层的右下角,同时 $x$ 坐标方向变为向左递增,$y$ 坐标方向变为向上递增。
+
+\ConTeXt\ 预定义的 \type{preset} 参数值有
+
+\startitemize[packed,columns,five]
+\item lefttop\item righttop\item leftbottom\item rightbottom\item middle\item middletop
+\item middlebottom\item middleleft\item middleright\item lefttopleft\item lefttopright
+\stopitemize
+
+\noindent 使用这些参数值时,要注意坐标方向。例如,若 \type{preset=middleright},其 $x$ 坐标方向变为向左递增,而 $y$ 坐标方向依然保持向上递增,以下代码可予以验证:
+
+\starttyping[option=TEX]
+\definelayer[bar][width=\paperwidth,height=\paperheight]
+\setlayer[bar][preset=middleright]{
+ \startMPcode
+ draw (0, 0) withpen pensquare scaled 12pt withcolor darkred;
+ \stopMPcode
+}
+\stoptyping
+\starttyping[option=TEX]
+\setlayer[bar][preset=middleright,x=2cm,y=2cm]{
+ \startMPcode
+ draw (0, 0) withpen pensquare scaled 12pt
+ withcolor transparent (1, .3, darkred);
+ \stopMPcode
+}
+\setupbackgrounds[page][background=bar]
+\stoptyping
+
+\definelayer[bar][width=\paperwidth,height=\paperheight]
+\setlayer[bar][preset=middleright]{
+ \startMPcode
+ draw (0, 0) withpen pensquare scaled 12pt withcolor darkred;
+ \stopMPcode
+}
+\setlayer[bar][preset=middleright,x=2cm,y=2cm]{
+ \startMPcode
+ draw (0, 0) withpen pensquare scaled 12pt
+ withcolor transparent (1, .3, darkred);
+ \stopMPcode
+}
+\setupbackgrounds[page][background=bar]
+
+\section{小结}
+
+也许你意犹未尽,甚至觉得我语焉不详。切莫怪我,我原本仅仅是介绍如何使用 \METAPOST\ 绘制一个边框受随机扰动的盒子。不过,在大致掌握了本章所述的内容的基础上,关于 \METAPOST\ 更多的知识,特别本章所有你觉得语焉不详之处,皆可阅读它的手册\cite[mpman]以增进认识。此外,\ConTeXt\ 开发者 Hans Hagen 所写的 \MetaFun\ 手册除了讲述 \MetaFun\ 之外也大量介绍了 \METAPOST\ 的基本知识和技巧,该手册在你的 \ConTeXt\ 系统中,使用以下命令查找:
+
+\starttyping
+$ mtxrun --script base --search metafun-s.pdf
+\stoptyping \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/12.tex b/info/context-notes-zh-cn/src/12.tex
new file mode 100644
index 0000000000..cbbc82666f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/12.tex
@@ -0,0 +1,280 @@
+\chapter{幻灯片}
+
+现在你已经领略甚至可能全部掌握了 \ConTeXt\ 常用的的排版元素,若不使用它们而是依然使用 Microsoft PowerPoint 制作幻灯片甚为可惜。如果你已决意使用 \ConTeXt\ 制作幻灯片,你会发现,你几乎不需要再学习多少新的 \ConTeXt\ 命令便可随心所欲地制作清新质朴的幻灯片了。
+
+\section{纸面尺寸}
+
+纸面尺寸是每一页的打印尺寸。至此为止,本文档之前所有的示例,在 \type{TEXpage} 环境里的,纸面尺寸取决于文档内容的多少,而在 \type{text} 环境里的,纸面尺寸默认是 A4,即 $21\,{\rm cm}\times 29.7\,{\rm cm}$,如果你需要将该尺寸换成 A5,只需在样式文件中作以下设定
+
+\starttyping[option=TEX]
+\setuppapersize[A5]
+\stoptyping
+
+制作幻灯片通常不需要太大的纸面尺寸。\ConTeXt\ 提供了 S4 尺寸($400\,{\rm pt}\times 300\,{\rm pt}$),可将其作为幻灯片的纸面尺寸。也可以自己定义纸面尺寸并使用,例如
+
+\starttyping[option=TEX]
+\definepapersize[foo][width=640pt,height=480pt]
+\setuppapersize[foo]
+\stoptyping
+
+实际上,纸面尺寸仅对排版结果的打印很重要,倘若只是在计算机(或投影仪)屏幕上观看排版结果,我们总是可以通过调整正文字体大小去应对过大或过小的纸面尺寸,但是纸面尺寸的宽高比例,对于屏幕非常重要。通常,幻灯片的宽高比应当与屏幕的分辨率相适应为最佳。例如,我的屏幕分辨率是 $1600\times 900$,那么我要制作的幻灯片页面的宽高比也应当是 $16:9$,故而纸面尺寸可设定为
+
+\starttyping[option=TEX]
+\definepapersize[foo][width=640pt,height=360pt]
+\setuppapersize[foo]
+\stoptyping
+
+现在,我们可以制作幻灯片的最原始的形式:
+
+\starttyping[option=TEX]
+\usemodule[visual]
+\definepapersize[foo][width=640pt,height=360pt]
+\setuppapersize[foo]
+\starttext
+\title{\fakewords{3}{5}}
+\fakewords{50}{100}
+\stoptext
+\stoptyping
+\midaligned{\externalfigure[12-slides-1.pdf][width=.6\textwidth,frame=on]}
+
+\section{页面布局}
+
+在 \type{text} 环境之前添加以下代码
+
+\starttyping[option=TEX]
+\showframe
+\stoptyping
+
+\noindent 可在页面上显示当前的页面布局,结果如图 \in[12-layout-1] 所示。可根据图 \in[ConTeXt-layout] 理解页面布局中各区域名称和尺寸参数名称。
+
+\placefigure[here][12-layout-1]{\ConTeXt\ 默认的页面布局}{\externalfigure[12-layout-1.pdf][width=.6\textwidth]}
+
+\placefigure[here][ConTeXt-layout]{页面布局注解}{\externalfigure[ConTeXt-layout.svg][width=.8\textwidth]}
+
+使用 \type{\setlayout} 可对各区域尺寸进行调整,例如让版心居中,即图 \in[ConTeXt-layout] 所示的 \type{width} 和 \type{textheight} 确定的区域居中,因为在默认情况下,它有些偏左。我们已经知道,页面的横向尺寸是 640 pt,按照以下设定便可将问题解决:
+
+\starttyping[option=TEX]
+\setuplayout
+ [leftedge=0pt,leftedgedistance=0pt,
+ leftmargin=80pt,leftmargindistance=10pt,
+ backspace=90pt,
+ rightedge=0pt,rightedgedistance=0pt,
+ rightmargin=80pt,rightmargindistance=10pt,
+ width=460pt]
+\stoptyping
+
+\noindent 上述设定,实现了页面布局中页面总宽度值 640 pt 的分配,但是要注意一点,\type{backspace} 的值等于 4 个以 \type{left} 为前缀的参数值之和,虽然在设定了它的各个分量后,但 \ConTeXt\ 在遇到默认的 \type{backspace} 值与实际的 \type{left...} 参数值之和不符时,会根据 \type{backspace} 值进行页面布局。倘若我们不关心 \type{left...} 参数,即 \ConTeXt\ 默认对页面左侧留白区域默认如何分配,仅需要让 \ConTeXt\ 知道 \type{backspace=90pt},则上述代码可简化为
+
+\starttyping[option=TEX]
+\setuplayout
+ [backspace=90pt,
+ rightedge=0pt,rightedgedistance=0pt,
+ rightmargin=80pt,rightmargindistance=10pt,
+ width=460pt]
+\stoptyping
+
+\noindent 还可以进一步简化,因为 \ConTeXt\ 对 \type{rightedge} 和 \type{rightedgedistance} 赋予的默认值原本就是 0,因此有
+
+\starttyping[option=TEX]
+\setuplayout
+ [backspace=90pt,
+ rightmargin=80pt,rightmargindistance=10pt,
+ width=460pt]
+\stoptyping
+
+如果我们只关心版心的横向居中问题,并不关心左右留白区域的尺寸,最为简单的布局方式是
+
+\starttyping[option=TEX]
+\setuplayout[width=middle]
+\stoptyping
+
+以上设置的是页面横向布局。对于纵向布局,存在与 \type{backspace} 类似的问题,即 \type{topspace} 的设定。\type{tospace} 的值是 \type{top} + \type{topdistance},但是在 \type{\setuplayout} 中只对后者进行设定是无效的,必须先设定 \type{tospace},然后再将其值分配给 \type{top} 和 \type{topdistance},或让 \ConTeXt\ 自动分配。
+
+对于页面纵向布局参数,我要去掉页面顶部和底部留白,只需作以下设定
+
+\starttyping[option=TEX]
+topspace=0pt,height=middle,bottom=0pt
+\stoptyping
+
+\noindent 现在全部的页面布局设定如下:
+
+\starttyping[option=TEX]
+\setuplayout[width=middle,topspace=0pt,height=middle,footer=40pt]
+\stoptyping
+
+完成页面布局设定后,别忘记去掉 \type{text} 环境之前的 \type{\showframe} 语句。此外,我建议你在 \type{text} 环境里动手试验一番 \type{\showlayout}。
+
+\section[slide-fonts]{字体}
+
+在 \ConTeXt\ 使用汉字字体,对此估计你已经颇为熟悉了。在幻灯片中,我使用以下字体:
+
+\starttyping[option=TEX]
+\definefallbackfamily
+ [myfonts][ss][latinmodernsans][range={0x0000-0x0400},force=yes]
+\definefontfamily[myfonts][ss][simhei][bf=simhei,it=kaiti,bi=simhei]
+\setscript[hanzi]
+\setupbodyfont[myfonts,ss,16pt]
+\stoptyping
+
+\noindent 上述字体设定并不完整,尚未设定衬线字族和等宽字族,这些待需要时再予以设定。
+
+\section[regular-style]{常规样式}
+
+首先,消除 \ConTeXt\ 默认在页面顶部设置的页码:
+
+\starttyping[option=TEX]
+\setuppagenumbering[location=]
+\stoptyping
+
+\noindent 幻灯片通常不需要页码,即使需要页码,默认的页码出现的位置和字号皆不合适。
+
+设置行间距为 1.75 倍,即 $1.75\times 16\,{\rm pt}$:
+
+\starttyping[option=TEX]
+\setupinterlinespace[line=28pt]
+\stoptyping
+
+以下代码设置了了第 1 级列表样式,(1)定义一个新的列表项符号,将其设置列表项默认符号;(2)消除列表项之间的额外间距;(3)列表项的符号和内容之间插入 .5em 的间距;(4)列表前后各空 1/4 行,因为在幻灯片中,纵向空间颇为珍贵。
+
+\starttyping[option=MP]
+\startuseMPgraphic{square}
+ path a, b;
+ a := (-.5, 0) -- (-.5, .5) -- (.5, .5);
+ b := (-.5, -.5) -- (.5, -.5) -- (.5, 0);
+ for i = a, b:
+ draw i scaled 10pt withpen pencircle scaled 2pt withcolor darkred;
+ endfor;
+ draw (0, 0) withpen pensquare scaled 4pt withcolor darkred;
+\stopuseMPgraphic
+\stoptyping
+\starttyping[option=TEX]
+\definesymbol[10][{\lower.15ex\hbox{\useMPgraphic{square}}}]
+\setupitemize
+ [1][10,packed]
+ [distance=0.4em,
+ before={\blank[quarterline]},after={\blank[quarterline]}]
+\stoptyping
+\noindent 如果你还需要二级、三级列表,可参照上述设定制作适合的样式。
+
+将幻灯片一级无编号标题和有编号标题均设置为居中对齐,字号级别为 \type{b},颜色为 \type{darkred},前后各空半行:
+
+\starttyping[option=TEX]
+\setuphead
+ [title,chapter]
+ [align=center,style=\ssb,color=darkred,
+ before={\blank[halfline]},after={\blank[halfline]}]
+\stoptyping
+
+现在,在 \type{text} 环境中随便写点什么,察验上述设定是否起效。
+
+\starttyping[option=TEX]
+\starttext
+\startbuffer[foo]
+\chapter{蒙}
+亨。匪我求童蒙,童蒙求我;初筮告,再三渎,渎则不告。利贞。
+\startitemize
+\item 初六,发蒙,利用刑人,用说桎梏;以往吝。
+\item 九二,包蒙,吉。纳妇,吉;子克家。
+\item 六三,勿用取女,见金夫,不有躬,无攸利。
+\item 六四,困蒙,吝。
+\item 六五,童蒙,吉。
+\item 上九,击蒙,不利为寇,利御寇。
+\stopitemize
+\stopbuffer
+\dorecurse{10}{\getbuffer[foo]}
+\stoptext
+\stoptyping
+\midaligned{\externalfigure[12-slides-2.pdf][width=.6\textwidth,frame=on]}
+
+\noindent 上述代码使用了 \ConTeXt\ 的 \type{buffer} 环境和循环宏 \type{\dorecurse}。所谓 \type{buff},是一个可以设定名字的缓存,它可以包含 \ConTeXt\ 排版代码。\type{\getbuffer} 可获得指定名字的缓存中所包含的全部代码。\type{\dorecurse} 可以将其所含内容重复指定次数。上述代码所产生的效果是生成十页内容相同的幻灯片。
+
+截止至此,我们第一次在示例中使用有编号标题。对于 \type{\chapter} 建议在幻灯片样式中增加以下设定,将其数字编号更改为中文编号,另外设置编号不参与对齐,亦即只有标题内容参与对齐:
+
+\starttyping[option=TEX]
+\setuphead[chapter][conversion=chinesenumerals,alternative=inmargin]
+\stoptyping
+\midaligned{\externalfigure[12-slides-3.pdf][width=.6\textwidth,frame=on]}
+\blank
+
+\noindent 如果你还需要二级、三级标题,可参照上述设定制作适合的样式。
+
+\section{页脚}
+
+在 \in[regular-style] 节中,我关闭了 \ConTeXt\ 好意提供的页码。因为我希望页码出现在页面的右下角,且除以总页数,以便清楚幻灯片的进度。
+
+\ConTeXt\ 提供了 \type{\setupfootertexts} 命令,可以在页脚左、右区域放入文字、盒子或图形等内容,同时提供了 \type{\setupfooter} 用于设定页脚区域的文字样式。另外,\type{\userpagenumber} 和 \type{\lastuserpage} 可分别用于获取当前页的页码和最后一页的页码。基于这些命令,便可实现能够表示进度的页码。例如
+
+\starttyping[option=TEX]
+\showframe
+\setupfooter[style=small,color=darkred]
+% 页脚左侧区域为空,右侧区域放置用于表示进度的页码
+\setupfootertexts[margin][][\hss\userpagenumber/\lastuserpage]
+\stoptyping
+\noindent 结果如图 \in[页码进度] 所示。
+\placefigure[here][页码进度]{第 4 页幻灯片}{\externalfigure[12-slides-4.pdf][page=4,width=.6\textwidth,frame=on]}
+
+现在,我们已经有了一个基本可用的幻灯片样式了。倘若使用刚学过的 \METAPOST\ 语言,琢磨一下,给幻灯片增加些许不庸俗又实用的装饰,也许会让人觉得你的幻灯片颇为用心。
+
+\section{进度条}
+
+现在,我们放弃使用当前页码除以总页数的方式表示进度,而是颇为用心地用 \METAPOST\ 在页面底部绘制一个进度条。实际上,用不了几行代码便可实现:
+
+\starttyping[option=MP]
+\startuseMPgraphic{processbar}
+numeric w, n, s, t;
+w := \overlaywidth; n := \lastuserpage;
+s := .5w / (n + 2); t := \userpagenumber - 1;
+path p; p := (fullsquare scaled \overlayheight);
+pickup pencircle scaled 2pt;
+picture q;
+q := image(for i = 0 upto n - 1:
+ p := (p shifted (2s, 0)) randomized .5pt;
+ if t = i: fill p withcolor darkgreen; fi;
+ draw p withcolor transparent(1, 0.5, darkgray);
+ endfor;);
+draw q xsized w;
+\stopuseMPgraphic
+\stoptyping
+
+\starttyping[option=TEX]
+\defineoverlay[process][\useMPgraphic{processbar}]
+\setupfootertexts[{\framed[frame=off,offset=0pt,
+ width=\makeupwidth,height=.8em,
+ background=process,empty=yes]{}}]
+\stoptyping
+
+\noindent 上述代码唯一需要解释之处是,当 \type{\setupfootertexts} 只有一个参数时,该参数的值会被安置在页脚的中间区域。所构造的进度条效果如图 \in[processbar] 所示。
+
+\placefigure[here][processbar]{第 3 页幻灯片}{\externalfigure[slides.pdf][width=.6\textwidth,page=4,frame=on]}
+
+\section{封面和致谢}
+
+幻灯片的封面和最后的致谢页皆可使用 \type{sandardmakeup} 环境制作。例如
+
+\starttyping[option=TEX]
+\startstandardmakeup[align=center]
+\ssd \color[darkred]{如何用 \ConTeXt\ 制作幻灯片}
+\blank[2*line]
+\ssb 李某人
+\blank[line]
+2023 年 3 月 28 日
+\stopstandardmakeup
+\stoptyping
+\noindent 结果如图 \in[cover] 所示。
+
+之所以使用 \type{standardmakeup} 环境,是因为它是完全的空白页,且不会参与页码计数。
+\placefigure[here][cover]{封面}{\externalfigure[slides.pdf][width=.6\textwidth,page=1,frame=on]}
+
+\section{不要太刺眼}
+
+白色背景,往往过于刺眼。我们可将幻灯片背景色设置为浅灰色:
+
+\starttyping[option=TEX]
+\setupbackgrounds[page][backgroundcolor=lightgray,background=color]
+\stoptyping
+\noindent 结果如图 \in[slide-background] 所示。
+\placefigure[here][slide-background]{浅灰色背景}{\externalfigure[slides-finished.pdf][width=.6\textwidth,page=1,frame=on]}
+
+\section{小结}
+
+本章仅介绍了非常基本的幻灯片制作过程。一份精致的幻灯片样式,值得你用心设计,但是切记,不要喧宾夺主。质胜文则野,文胜质则史。孔子说,好的幻灯片样式,总是是文质彬彬的。本文制作的幻灯片示例,路数偏野。
diff --git a/info/context-notes-zh-cn/src/13.tex b/info/context-notes-zh-cn/src/13.tex
new file mode 100644
index 0000000000..9e620179a3
--- /dev/null
+++ b/info/context-notes-zh-cn/src/13.tex
@@ -0,0 +1,271 @@
+\chapter{写一本书?}
+
+至此,你所掌握的关于 \CONTEXT\ 的所有知识,无论是用于撰写书信,随笔,论文,还是制作幻灯片,皆已游刃有余。现在再掌握 \ConTeXt\ 对文档逻辑结构的划分以及为文档添加目录等功能,便可写书了,这是 \TEX\ 系统一直以来最为擅长的事情,也是 \TEX\ 系统为何复杂到令很多人畏惧的原因,他们从未想过自己有一天会写一本书。
+
+\section{书的内容结构}
+
+一本书,通常是由一组文章构成的,可分为序、前言、目录、正文篇章、跋、参考文献、索引、附录等内容,再加上封面,衬页、扉页等页面。对于书籍制作,\CONTEXT\ 对 \type{text} 环境进行了更为细致的划分:
+
+\starttyping[option=TEX]
+\starttext
+\startfrontmatter
+% 封面、扉页、序、前言、目录等内容
+\stopfrontmatter
+\startbodymatter
+% 正文篇章
+\stopbodymatter
+\startbackmatter
+% 跋,参考文献列表、索引等内容
+\stopbackmatter
+\startappendices
+% 附录
+\stopappendices
+\stoptext
+\stoptyping
+
+\section{文件结构}
+
+将一本书的内容全部放在一份 \CONTEXT\ 源文件中并不违法,但是数十万甚至上百万字的内容,无论是撰写还是修改必定极为不便。通常是将按照内容结构,将每部分内容制作为单独的 \type{.tex} 源文件,然后使用 \type{\input} 载入到主文件中。例如,主文档的主文件内容如下:
+
+\starttyping[option=TEX]
+\starttext
+\startfrontmatter
+\input cover % cover.tex:封面
+\input preface % preface.tex:序
+\stopfrontmatter
+\stoptyping
+\starttyping[option=TEX]
+\startbodymatter
+\input 01 % 01.tex:第一章
+\input 02 % 02.tex:第二章
+% ... ...
+\stopbodymatter
+\startbackmatter
+\title{参考文献}
+\placelistofpublications % 参考文献列表
+\stopbackmatter
+\startappendices
+\null % 暂时为空
+\stopappendices
+\stoptext
+\stoptyping
+
+\noindent 主文件 \type{\input} 的所有文件皆与主文件在同一目录。
+
+\section{样式}
+
+原则上,书籍的所有排版样式皆应在单独的文件中设定,然后使用 \type{\input} 或 \type{\environment} 命令在 \type{text} 环境之前将其载入。例如
+
+\starttyping[option=TEX]
+\environment book-style % 载入book-style.tex
+\starttext
+% ... ... ...
+\stoptext
+\stoptyping
+
+\section{目录}
+
+\type{\placecontent} 可将全文章节标题及其所在页码等信息汇总为一个列表,以方便读者查阅。例如
+
+\starttyping[option=TEX]
+\usemodule[visual]
+\starttext
+\title{\fakewords{3}{5}}
+\placecontent
+\section{\fakewords{3}{5}}
+... ... ...
+\section{\fakewords{3}{5}}
+... ... ...
+\stoptext
+\stoptyping
+\midaligned{%
+ \clip[width=\textwidth,height=6cm,voffset=3cm]{%
+ \externalfigure[13-toc.pdf][width=\textwidth,frame=on]%
+ }%
+}
+
+使用 \type{\setupcombinedlist} 可设定目录样式,例如设定可在目录中出现的标题级别以及列表样式。若得到常见的目录样式,只需作以下设定:
+
+\starttyping[option=TEX]
+\setupcombinedlist[content][alternative=c]
+\stoptyping
+\midaligned{%
+ \clip[width=\textwidth,height=6cm,voffset=3cm]{%
+ \externalfigure[13-toc-2.pdf][width=\textwidth,frame=on]%
+ }%
+}
+\blank
+\noindent 目录列表样式参数 \type{alternative} 有 \type{a},\type{b},\type{c},\type{d} 四个值可选,默认是 \type{b}。本文档目录使用的是 \type{d}。
+
+\type{\setupcombinedlist} 亦可用于指定可出现在目录列表中的标题级别,例如
+
+\starttyping[option=TEX]
+\setupcombinedlist[content][list={chapter,section}]
+\stoptyping
+
+注意,当 \type{\placecontent} 出现在 \type{\chapter} 之后时,生成的目录仅针对该章之内的各节。若是写书,需将 \type{\placecontent} 放在 \type{frontmatter} 环境,例如:
+
+\starttyping[option=TEX]
+\startfrontmatter
+\title{目录}
+\placecontent
+\stopfrontmatter
+\stoptyping
+
+\noindent 可对全篇被列入目录列表的章节生成目录。
+
+使用 \type{\setuplist} 可对出现在目录列表中相应级别的标题样式分别予以设定,例如
+
+\starttyping[option=TEX]
+\setuplist[chapter]
+ [alternative=a,
+ before={\blank[halfline]},after={\blank[halfline]},style=bold]
+\setuplist[section]
+ [alternative=d,style=normal,pagestyle=smallbold]
+\stoptyping
+
+\section{让无编号标题进入目录}
+
+\CONTEXT\ 默认不允许无编号标题出现在目录中,但是倘若对无编号标题,例如 \type{\title} 作以下设定
+
+\starttyping[option=TEX]
+\setuphead[title][incrementnumber=list]
+\stoptyping
+
+\noindent 之后便可将 \type{\title} 添加到目录列表,即
+
+\starttyping[option=TEX]
+\setupcombinedlist[content][list={title,chapter,section}]
+\stoptyping
+
+需要注意的是,在 \type{frontmatter} 环境中放置目录列表时,若使用以下代码
+
+\starttyping[option=TEX]
+\startfrontmatter
+\title{目录}
+\placecontent
+\stopfrontmatter
+\stoptyping
+
+\noindent 由于此时 \type{\title} 已被列入目录列表,因此 \type{\title{目录}} 本身会出现在目录列表中。为避免这一问题,需要为目录页单独定义一个标题。\CONTEXT\ 支持我们定义自己的标题,例如
+
+\starttyping[option=TEX]
+\definehead[TOC][title]
+\stoptyping
+
+\noindent 定义了一个新的标题 \type{\TOC},它与 \type{\title} 的样式相同。在 \type{frontmatter} 环境中使用 \type{\TOC}:
+
+\starttyping[option=TEX]
+\startfrontmatter
+\TOC{目录}
+\placecontent
+\stopfrontmatter
+\stoptyping
+
+\noindent 由于我们并未将 \type{\TOC} 列入目录列表,因此上述问题得以解决。
+
+\section{书签}
+
+对于内容较多的 PDF 文档,提供书签(Bookmark)可更加便于他人阅读。书签通常显示于 PDF 阅读器的侧栏,如图 \in[13-bookmarks] 所示,点击某个书签便可跳转至其关联的页面。
+
+\placefigure[here][13-bookmarks]{PDF 书签}{\externalfigure[13-bookmarks.png][width=.6\textwidth]}
+
+为 \ConTeXt\ 生成的 PDF 文件制作书签,非常简单,只需在样式文件中添加以下语句,
+
+\starttyping[option=TEX]
+\setupinteraction[state=start,focus=standard]
+\setupinteractionscreen[option=bookmark]
+\placebookmarks[title,chapter,section][title,chapter]
+\stoptyping
+
+\noindent 其中,\type{\setupinteraction} 用于开启 PDF 的用户交互特性。\type{\setupinteractionscreen} 用于设定 PDF 文件被阅读器打开后,以何种形式如何呈现在屏幕上,若其 \type{option} 值为 \type{bookmark},则文件打开后,会自动开启阅读器的侧边栏并显示书签;若设置 \type{option} 为 \type{max},则文件在被打开后会全屏显示。上述 \type{\placebookmarks} 语句的用途是设置可出现在书签栏的标题级别,且仅允许 \type{\title} 和 \type{\chapter} 级别的标题,其子标题列表可被展开。
+
+需要注意的是,\CONTEXT\ 同样默认无编号标题不被列入书签,但是倘若做以下设定
+
+\starttyping[option=TEX]
+\setuphead[title][incrementnumber=list]
+\stoptyping
+
+\noindent 则 \type{\title} 亦可出现在书签列表中。
+
+还需要注意一点, 书签功能取决于你所用的 PDF 阅读器是否支持。此外,你的 PDF 阅读器可能会将 \ConTeXt\ 生成的书签视为索引(Index),而其本身则提供了另一个叫作书签的功能,允许用户手动在侧边栏为文档的某一页建立链接,与 \CONTEXT\ 的书签原理相同。
+
+\section[reference]{引用}
+
+在本文档的插图、表格、数学公式等章节中,已简略介绍了 \CONTEXT\ 引用的用法。\CONTEXT\ 的标题和列表也支持引用。例如,本节的标题对应的排版命令是
+
+\starttyping[option=TEX]
+\section[reference]{引用}
+\stoptyping
+
+可以在文章几乎任何一个位置,像下面这样引用本节:
+
+\starttyping[option=TEX]
+我在 \at[reference] 页 \in[reference] 节\about[reference]中的一些内容。
+\stoptyping
+
+\noindent 结果为
+\blank[line]
+\blueframed{我引用了本文档 \at[reference] 页 \in[reference] 节\about[reference]中的一些内容。}
+\blank[line]
+
+使用 \type{\textreference} 可在文档几乎任何位置插入引用。例如
+
+\starttyping[option=TEX]
+我在此处放置了一个引用\textreference[myref]{一个引用}。
+\stoptyping
+\blank[line]
+\blueframed{我在此处放置了一个引用\textreference[myref]{一个引用}。}
+\blank[line]
+\noindent 注意,一个引用,其内容是不会显示在排版结果中的。然后在文档某处使用该引用,
+
+\starttyping[option=TEX]
+我在此处使用一个引用,它是 \at[myref] 的「\in[myref]」。
+\stoptyping
+\blank[line]
+\blueframed{我在此处使用一个引用,它是第 \at[myref] 页的「\in[myref]」。}
+\blank[line]
+
+如果你希望一个引用,其内容不仅出现在排版结果中,且想给他加个外框,只需定义一个宏来帮助你实现这一需求。例如
+
+\starttyping[option=TEX]
+\def\framedref[#1]#2{\inframed{#2}\textreference[#1]{#2}}
+\stoptyping
+\starttyping[option=TEX]
+我在此处放置了一个引用\textreference[myref]{一个引用}。
+\stoptyping
+\blank[line]
+\def\framedref[#1]#2{\inframed{#2}\textreference[#1]{#2}}
+\blueframed{我在此处放置了\framedref[myref]{一个引用}。}
+\blank[line]
+
+\section{索引}
+
+索引通常放在 \type{backmatter} 环境,即附在书的正文之后,
+
+\starttyping[option=TEX]
+\startbackmatter
+\title{索引}
+\placeindex
+\stopbackmatter
+\stoptyping
+
+\noindent 以便检索在正文某页检索一些关键词这些关键词在正文中需由 \type{\index} 给出。例如
+
+\starttyping[option=TEX]
+我在此演示 \type{\placeindex}\index[placeindex]{\type{\placeindex}}
+和 \type{\index}\index[index]{\type{\index}} 的用法。
+\stoptyping
+\blank[line]
+\blueframed{我在此演示 \type{\placeindex}\index[placeindex]{\type{\placeindex}} 和 \type{\index}\index[index]{\type{\index}} 的用法。}
+\blank[line]
+
+\noindent \tex{placeindex} 产生的结果为
+
+\blank[line]
+\blueframed{\placeindex}
+\blank[line]
+
+\section{小结}
+
+用 \CONTEXT\ 排版一本书并不难,难的是书该如何写。 \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/Makefile b/info/context-notes-zh-cn/src/Makefile
deleted file mode 100644
index f49149b0dc..0000000000
--- a/info/context-notes-zh-cn/src/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-PRODUCT=ctxnotes
-READER=evince
-
-all:
- context --mode=screen $(PRODUCT)
-
-print:
- context --mode=print $(PRODUCT)
- context --purge
-
-bib:
- context --mode=screen --once $(PRODUCT) \
- && bibtex $(PRODUCT) \
- && context --mode=screen $(PRODUCT)
-
-pdf:
- $(READER) $(PRODUCT).pdf &
-
-clean:
- context --purge
- rm -f *.aux *.bbl *.blg
- rm -f *.pdf
diff --git a/info/context-notes-zh-cn/src/basis.tex b/info/context-notes-zh-cn/src/basis.tex
index 6d1e46590b..ab0980d470 100644
--- a/info/context-notes-zh-cn/src/basis.tex
+++ b/info/context-notes-zh-cn/src/basis.tex
@@ -1,242 +1,10 @@
-\startcomponent basis
-\product ctxnotes
-
\chapter{让 \CONTEXT\ 工作起来}
-\bookmark{让 ConTeXt 工作起来}
-
-目前,只有 \ConTeXt\ Minimals(\ConTeXt\ 最小包)提供了最新的 ConTeXt 版本并且可以使之与系统所安装的其它 TeX 发行版友好共存。本章介绍 \ConTeXt\ Minimals 的安装、基本使用以及 MkIV 的中文支持等知识,目的在于让你多快好省地拥有一个 \CONTEXT\ 文档编译环境。本章的最后介绍了一些初学者应当阅读的文档以及一些学习资源。
-
-\section[installmkiv]{\ConTeXt\ Minimals}
-\bookmark{ConTeXt Minimals}
-
-首先,在本地机器上创建一个 \ConTeXt\ 安装目录,该目录的位置与名字视个人嗜好而定,我喜欢用 \type{/opt/context}。为了不引起混乱,下文提及 \ConTeXt\ 安装目录皆以如下设定的 Bash 变量 \type{$CTXDIR} 代替:
-
-\starttyping
-$ export CTXDIR=/opt/context
-$ mkdir -p $CTXDIR
-\stoptyping
-
-然后下载 ConTeXt 最小包安装脚本,将其存放于 \type{$CTXDIR} 目录并执行:
-
-\starttyping
-$ cd $CTXDIR
-$ rsync -ptv \
-rsync://contextgarden.net/minimals/setup/linux/first-setup.sh .
-$ ./first-setup.sh
-\stoptyping
-
-由于安装脚本需要联网下载 \ConTeXt\ Minimals,需要等待一段时间才可以完成安装。这段时间,你可以做点自己喜欢做的事情。
-
-\ConTeXt\ Minimals 安装完毕后,就开始进行 \ConTeXt\ 运行环境的配置,这需要设置许多的系统环境变量。不过莫要担心,\ConTeXt\ Minimals 提供了一个配置脚本,使用 source(亦称点命令)命令加载该文件即可完成所有 \ConTeXt\ 所需环境变量的设定。
-
-\starttyping
-$ . $CTXDIR/tex/setuptex $CTXDIR/tex
-\stoptyping
-
-上述命令行可将 setuptex 配置文件中的诸多环境变量的设定在当前终端环境中保持有效性。这意味着,每次使用 \ConTeXt\ Minimals,可以开一个终端窗口,然后执行一次上述命令,之后就可以在该终端中使用 \ConTeXt\ 环境。如果需要使用系统所安装的其它 \TeX\ 发行套件,可另建一个未开启 \ConTeXt\ 环境的终端即可。
-
-虽然每次启用 \ConTeXt\ Minimals 所输入的命令行并不复杂,但是尽力让命令行简约且易于输入一向是 Unix-like 系统的光荣传统,因此我在 \type{$HOME/myscript} 目录下建立了一个配置文件 ctx,该文件内容如下:
-
-\starttyping
-export TEXDIR=/opt/context/tex
-source $TEXDIR/setuptex $TEXDIR
-export OSFONTDIR="/usr/share/fonts/{adobe,winfonts}"
-\stoptyping
-
-然后将 \type{$HOME/myscript} 目录添加到系统环境变量 \type{$PATH} 并使之生效:
-
-\starttyping
-$ echo "PATH=$PATH:$HOME/myscript" >> ~/.bashrc
-$ . ~/.bashrc
-\stoptyping
-
-这样,以后每次启用 \ConTeXt\ 环境时,只需执行以下命令:
-
-\starttyping
-$ . ctx
-\stoptyping
-
-注意,在 ctx 文件中设置了 \type{$OSFONTDIR} 变量,该变量的意义在下一章讲述 MkIV 中文排版时会进行详细阐述,现在可不予理会。
-
-使用 \type{ctxtools} 命令并配合 \type{-updatecontext} 参数可对所安装的 \ConTeXt\ Minimals 进行在线升级,不过前提是要建立 \type{$TEXMFLOCAL} 目录。因为 \ConTeXt\ Minimals 升级包是一个 zip 压缩档,升级时会将该压缩档下载到 \type{$TEXMFLOCAL} 目录并进行解压缩。
-
-\CONTEXT\ Minimals 的升级很简单,那就是再重装一遍。
-
-\section{若需要 \TeX\ 与 \LaTeX}
-\bookmark{若需要 TeX 与 LaTeX}
-
-\ConTeXt\ Minimals 可以与其它 \TeX\ 发行套件友好共存。最近,我打算使用 \XeTeX\ + plain \TeX\ 格式写一份文档,但是 \ConTeXt\ Minimals 默认未提供 \XeTeX\ 的 plain \TeX\ 格式并且缺乏一些 plain \TEX\ 必须的字体,因此基于 \XeTeX\ 的 plain \TEX\ 及 \LATEX\ 环境均无法正常运行。对于这个问题,我能想到的比较轻省的解决方案是安装一个 \TeX\ Live 2008,使用它所包含的 plain \TeX\ 环境,另外再安装一个 \LATEX\ 环境以备不时之需。
-
-首先从清华的 CTAN 镜像 FTP 服务器下载 \TEX\ Live 2008 的网络安装程序并解包:
-
-\starttyping
-$ wget ftp://ftp.tsinghua.edu.cn/mirror/CTAN/systems/texlive/\
-tlnet/tldev/install-tl-unx.tar.gz
-$ tar -zxvf install-tl-unx.tar.gz && cd install-tl-unx
-\stoptyping
-
-\TEX\ Live 2008 的安装程序兼顾了不同用户的软件使用习惯,同时提供了文本界面与图形界面两种安装模式:
-
-\starttyping
-$ install-tl # 文本界面安装
-$ install-tl --gui # 图形界面安装模式
-\stoptyping
-
-\type{install-tl} 程序在运行时会自动访问预设定的 CTAN 镜像 FTP 服务器,如果连接失败,安装过程也就终止了。对于国内用户,可以通过 \type{--location} 参数将 CTAN 镜像服务器设为清华的 FTP:
-
-\starttyping
-$ install-tl --location=ftp://ftp.tsinghua.edu.cn/\
-mirror/CTAN/systems/texlive/tlnet/tldev
-\stoptyping
-
-如果网速足够,那么应当很快就可以在终端中显示文本安装界面了,具体的安装过程应当参考 \TEX\ Live 2008 中文指南\footnote{http://tug.org/texlive/doc/texlive-zh-cn/}。\TEX\ Live 2008 成功安装后,只要不在终端中开启 \ConTeXt\ Minimals 的 \ConTeXt\ 环境,就不会影响它的使用。
-
-\section[helloworld]{Hello World}
-
-将下面代码使用文本编辑器保存为 hello-world.tex 文件,这就是一个最简单的 \ConTeXt\ 源文档。
-
-\starttyping
-% hello-world.tex
-\starttext
-Hello World.
-\stoptext
-\stoptyping
-
-我们可以在终端中使用 \type{context} 命令将这份源文档编译、输出为 PDF 文档:
-
-\starttyping
-$ . ctx
-$ context hello-world
-\stoptyping
-
-上述命令将在当前目录产生 hello-world.pdf 文档,使用 PDF 阅读器查看它,可以看到文档中除了“Hello World.”字串之外,就剩下一个置于顶端的页码了。
-
-在编译 hello-world.tex 时,生成了许多中间文件,如果你不喜欢看到它们,可以使用以下命令将其清除:
-
-\starttyping
-$ context --purge
-\stoptyping
-
-\section{\TeX\ 与 \ConTeXt\ 的关系}
-\bookmark{TeX 与 ConTeXt 的关系}
-
-在上一节 hello-world.tex 文档的编译过程中,我们可以获得的直观认识如下图所示:
-
-\setupFLOWcharts[nx=3,ny=1,
- dx=2\bodyfontsize,dy=4\bodyfontsize,
- width=8\bodyfontsize, height=4\bodyfontsize,
- maxwidth=.8\textwidth]
-
-\startFLOWchart[context-flow]
-\startFLOWcell
-\name{texfile}\location{1,1}\shape{singledocument}
-\text{\ConTeXt\ 源文档}
-\connection[rl]{context}
-\stopFLOWcell
-
-\startFLOWcell
-\name{context}\location{2,1}\shape{}
-\text{\ConTeXt\ 程序}
-\connection[rl]{pdf}
-\stopFLOWcell
-
-\startFLOWcell
-\name{pdf}\location{3,1}\shape{singledocument}
-\text{PDF 文档}
-\stopFLOWcell
-
-\stopFLOWchart
-
-\placefigure[force][fig:context-flow]{\ConTeXt\ 文档编译过程的直观认识}
- {\FLOWchart[context-flow]}
-
-实际上是没有所谓的“\ConTeXt\ 程序”的,真正实现 \TeX\ 文档编译的的是 \TeX\ 引擎。在 \ConTeXt\ MkIV 中,\type{context} 程序只是一个脚本文件,只有一行代码:
-
-\starttyping
-mtxrun --script context "$@"
-\stoptyping
-
-\type{mtxrun} 是一个 Lua 脚本,它需要调用 Lua\TEX\ 引擎并读入 cont-en.fmt 文件才可以对 \ConTeXt\ 文档进行编译处理。cont-en.fmt 是 \ConTeXt\ 的格式文件,可以将它理解为一本词典,当编译 \ConTeXt\ 文档时,Lua\TeX\ 引擎遇到文档中的排版命令时,就去 cont-en.fmt 文件中查找这些排版命令的定义并依命行事。可还记得 2.3 节中使用 \type{context --make} 命令么?这个命令就是用于产生 cont-en.fmt 之类的格式文件的。这就是为什么我们经常说 \ConTeXt\ 或 \LaTeX\ 是 \TeX\ 的一种格式的原因。
-
-\section{让 MkIV 讲中文}
-
-要让 \ConTeXt\ MkIV 讲中文,首先要让它能够找到中文字体所在。还记得 \in{}[installmkiv]\ 节中我们写的那个 \ConTeXt\ 环境配置文件 ctx 么?其中有一行代码如下:
-
-\starttyping
-export OSFONTDIR="/usr/share/fonts/{adobe,winfonts}"
-\stoptyping
-
-\type{$OSFONTDIR} 可以让 Lua\TeX\ 知道系统所安装的字体所在。
-
-我在 \type{/usr/share/fonts/adobe} 目录中存放了 4 款 Adobe OTF 中文字体,在 \type{/usr/share/fonts/winfonts} 目录中存放了一些从 Windows XP 中复制过来的一些中文字体。
-
-有了中文字体,还需要一份字体配置文件。\ConTeXt\ 提供了一套比较高级的字体机制,叫做 Typescript,它可以设置三种字型:衬线 (Serif)、非衬线 (Sans)与等宽 (Mono) 字型。这三种字型均为英文字体机制中的术语,就像我们中文字体有楷体、宋体、黑体等类型一样。\ConTeXt\ 的 Typescript 机制牵涉太多的字体知识,对它们的详细描述已超出我之所能,这里仅给出一份我照猫画虎搞出来的的一份字体配置文件——\type{zhfonts.tex},它是随这份文档一起发布的,只需将它放到 \type{TEX} 目录树中,譬如:
-
-\startniceTEX
-$ mkdir -p $TEXMFLLOCAL/tex/context/third
-$ mv zhfonts.tex $TEXMFLLOCAL/tex/context/third
-\stopniceTEX
-
-\noindent 然后执行:
-
-\starttyping
-$ context --generate
-\stoptyping
-
-\noindent 刷新一下文档数据库,就可以使用该字体配置文件了。
-
-在 zhfonts.tex 中,我使用了 Adobe 宋、黑、楷体作为主要的中文字体。如果你没有这些字体,可以将其替换为其它 TTF 或 OpenType 中文字体,但是要保证 Lua\TEX\ 可以找到它们。由于中文字体所包含的英文字形通常比较丑陋,因此在 zhfonts.tex 文件中利用了 MkIV 的混合字体机制,将 lmroman、lmsans、lmmono 以及它们的粗体的英文字形区域分别注入到相应的中文字体中。
-
-现在,将 \in[helloworld] 节中的 hello-world.tex 文档修改为:
-
-\startTEX
-\usetypescriptfile[zhfonts]
-\usetypescript[myfont]
-\setupbodyfont[myfont,rm,11pt]
-\starttext
-世界,你好!
-\stoptext
-\stopTEX
-
-重新编译这份文档,即可得到中文版的 hello-world.pdf 文档。
-
-\tex{usetypescriptfile} 命令用于加载 typescript 文件,要求 typescript 文件与 helloworld.tex 文件均在同一目录或者前者位于 \ConTeXt\ Minimals 的某个可以检索到的目录中。
-
-\tex{usetypescript} 命令表示使用 typescript 文件中定义的 typeface。所谓 typeface,就是一个字型族。在 zhfonts.tex 文件中所定义的 typeface为 myfont,该字型族包含了 3 种字型:Serif、Sans 与 Mono。\tex{setupbodyfont} 命令是用于定义 hello-world.tex 文档的默认字体,也就是正文字体,这里是将 myfont 字型族中的 Serif 字型作为文档的默认字体,并且默认尺寸为 11pt。
-
-现在,MkIV 基本上已经解决了中文排版问题,我们应当为此感谢 Hans、Taco 等开发者的辛勤劳动。另外,还要感谢 Wang Yue、SDE 诸位同学,他们提出了许多有关 \ConTeXt\ 中文支持的要求并报告了许多 bug。特别是 Wang Yue 同学,自去年始,一直在关注 Lua\TeX\ \& \ConTeXt\ MkIV 等项目的发展,并积极地与开发者们沟通,使得开发者认真考虑了有关中文处理的诸多需求。
-
-\section{开始 \ConTeXt\ 的旅程}
-\bookmark{开始 ConTeXt 的旅程}
-
-\ConTeXt\ MkIV 中文支持的成功尝试,奠定了我开始学习 \ConTeXt\ 的信心。\CONTEXT\ 的文档非常丰富,不过大部分都是英文的,这多少让我有点沮丧。虽然读英文文档不是什么大障碍,但是总没有中文文档来得亲切。现状如此,只好忍了。
-
-目前,\ConTeXt\ 的大多数文档是针对 MkII 版本的,除了 MkIV 手册之外,似乎再也没有其它文档来讲述 MkIV 的应用。不过,由于 MkIV 改变的主要是 \CONTEXT\ 底层,用户界面基本上没有改变,对于中文用户而言,基本上只需将 MkII 的中文字体支持机制改换为 MkIV 的即可,这样原来适用于 MkII 的文档基本上也适用于 MkIV。现在,\ConTeXt\ 项目组现在正在组织进行新的 \ConTeXt\ 文档撰写,这个工程非常浩大,其意在于将这么多年零散的文档汇总到一起,并追随 \CONTEXT\ 的最新进展,估计要到明年方能竣工。远水解不了近渴,现在学习 \CONTEXT,还是要从 MKII 版本的文档开始。
-
-作为初学者,{\it\ConTeXt, an excursion}\cite[ms-cb-en]文档是官方制作的新手入门必读文档。\ConTeXt\ 的官方文档通常是分为屏幕阅读版本与打印版本,我读的 {\it\ConTeXt, an excursion} 是屏幕阅读版本,第一次打开这份文档,就惊愕了一下,没想到 PDF 文档居然可以做得如此精致。内容浅显易懂,文档版面美观,我觉得 \ConTeXt\ 是非常礼遇初学者的。
-
-当读过 {\it\ConTeXt, an excursion} 时\footnote{实际上我是用到什么就去看什么,现在大概看了有一半内容。},就可以使用 \ConTeXt\ 排版手头上正在写作的一些文档,其实这才是真正的开始学习 \CONTEXT。对于其它任何一种 \TEX\ 都是如此,只有真正开始使用它,才有可能掌握它。一开始,文档的版面丑点没关系,毕竟内容是最重要的。随着对 \CONTEXT\ 的认识日益深刻,你的文档便会愈发具备可观赏性。在实践的过程中,\CONTEXT\ 用户手册\cite[cont-eni]是主要的参考书。当你遇到不解的命令/参数,或者想了解一些命令更多的细节,都可以使用 PDF 阅读器打开 \CONTEXT\ 用户手册,利用阅读器提供的查询功能找到你所感兴趣的内容,并掌握它们。
-
-字体在排版中是决定版面美观的重要因素,阅读 \CONTEXT\ 新手册中已经基本完工的 {\it fonts}\mycite{fonts} 部分,便可以理解 \CONTEXT\ 的字体机制,你将获得可以在 \CONTEXT\ 自如使用你喜欢的字体的能力;同时,我制作的那份 MkIV 中文字体配置文件也不再会令你感到困惑。
-
-若使用 \ConTeXt\ 排版时存在矢量图绘制需求,推荐使用 \METAPOST。不过,在 \ConTeXt\ 中,我们要面对的不是 \METAPOST,而是 \METAFUN\mycite{metafun},后者对前者进行了封装,实现了 \CONTEXT\ 与 \METAPOST\ 的完美结合。{\it\ConTeXt, an excursion} 文档版面之所以美观,是因为在排版中大量使用 \METAFUN 来美化版面布局的结果。
-
-若你对 \ConTeXt\ 已经有所认识,那么 \ConTeXt\ Wiki\footnote{\type{http://wiki.contextgarden.net/Main_Page}} 是非常好的网络学习资源。若有能力,可以在该 Wiki 上与整个世界的 \ConTeXt\ 用户分享你的学习经验;若暂时没能力,可以选择潜水。目前,我是这个 Wiki 众多潜水员中的一名。
-
-目前,\CONTEXT\ MkIV 也许还存在许多的 bug,当你发现它们,应当提交 \CONTEXT\ 邮件列表\footnote{http://archive.contextgarden.net/list/context.en.html}中;当你使用 \CONTEXT\ 时有不解的问题,也可以去邮件列表中寻找答案。说来惭愧,我英文不好,并且不熟悉邮件列表的交流规则,所以一直都胆怯于邮件列表上的交流。
-
-介绍了以上学习资源之后,我开始如释重负。以后再在这份文档上折腾,心里就不会总是想着自己在写一本 \CONTEXT\ 教程,那样子很累,并且很容易丧失乐趣。这份笔记的真正的意图是自我备忘,将它投放到网络上,是希望我的经验能够对他人有所帮助并且能够一同学习、讨论 \CONTEXT\ 排版知识。
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “序幕有些长”,介绍了 \TEX\ 与 \CONTEXT\ MkIV 的背景知识:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/10/zhfonts-usage.23740.html}
-\item “这就是 \CONTEXT\ Minimals”,讲述了 \CONTEXT\ Minimals 的安装方法:\crlf\hbox{\tt http://liyanrui.is-programmer.com/2009/10/7/this-is-context-minimals.11971.html}
+\startitemize[columns,n,joinedup]
+\item a
+\item b
+\stopitemize
+\startitemize[continue,columns,joinedup]
+\item a
+\item b
\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/bib-style.tex b/info/context-notes-zh-cn/src/bib-style.tex
new file mode 100644
index 0000000000..3aac77b6dc
--- /dev/null
+++ b/info/context-notes-zh-cn/src/bib-style.tex
@@ -0,0 +1,80 @@
+\setupbtxlist
+ [default]
+ [starter={[},stopper={]},
+ width=fit,
+ distance=.5em,
+ before={\blank[.25em]},
+ after={\blank[.25em]},]
+
+\setupbtx
+ [default:list:author]
+ [authorconversion=invertedshort,
+ separator:invertedinitials=\btxspace,
+ otherstext={\nospace,et al},
+ stopper:initials=\btxspace,
+ separator:names:2={\nospace,}]
+\setupbtx[default:list:journal][style=normal]
+
+\definebtx
+ [default:title:online]
+ [default:list:title]
+
+\startsetups btx:default:list:article
+ \texdefinition{btx:default:author}\nospace.
+ \texdefinition{btx:default:title} [J].
+ \texdefinition{btx:default:journal}.
+\stopsetups
+
+\startsetups btx:default:list:online
+ \texdefinition{btx:default:author}\nospace.
+ \texdefinition{btx:default:title}.
+ \texdefinition{btx:default:url},
+ \btxdoif {year} {
+ \btxflush{year}.
+ }
+\stopsetups
+
+\starttexdefinition btx:default:url
+ \goto{\hyphenatedurl{\btxflush{url}}}
+ [url(\btxflush{url})]
+\stoptexdefinition
+
+\starttexdefinition btx:default:author
+ \btxflush{author}
+\stoptexdefinition
+
+\starttexdefinition btx:default:title
+ \btxflush{title}
+\stoptexdefinition
+
+\starttexdefinition btx:default:journal
+ \btxdoif {journal} {
+ \btxstartstyleandcolor [default:list:journal]
+ \btxusecommand [default:list:journal] {
+ \btxflush{journal},
+ }
+ \btxstopstyleandcolor
+ \btxdoif {year} {
+ \btxflush{year},\nospace
+ }
+ \btxdoifelse {volume} {
+ \btxspace
+ \btxflush{volume}
+ \btxdoif {number} {
+ \ignorespaces % brrr
+ \btxleftparenthesis
+ \btxflush{number}
+ \btxrightparenthesis
+ }
+ } {
+ \btxdoif {number} {
+ \btxlabeltext{default:number}
+ \btxspace
+ \btxflush{number}
+ }
+ }
+ \btxdoif {pages} {
+ \nospace:\kern-.1em\btxflush{pages}
+ }
+ }
+\stoptexdefinition \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/bibl-lyr.tex b/info/context-notes-zh-cn/src/bibl-lyr.tex
deleted file mode 100644
index 6e30f43781..0000000000
--- a/info/context-notes-zh-cn/src/bibl-lyr.tex
+++ /dev/null
@@ -1,77 +0,0 @@
-\setupcite[num][inbetween={, }, lastpubsep={, },compress=yes]
-
-\def\withbrackets#1{[#1]~~}
-\setuppublications
- [sorttype=,
- criterium=,
- refcommand=num,
- numbering=yes,
- numbercommand=\withbrackets,
- autohang=yes]
-
-\setuppublicationlist
- [artauthor=\normalauthor,
- editor=\normalauthor,
- author=\normalauthor,
- namesep={,},
- lastnamesep={ and },
- finalnamesep={ and },
- firstnamesep={ },
- juniorsep={ },
- vonsep={ },
- surnamesep={ },
- authoretallimit=5,
- editoretallimit=5,
- artauthoretallimit=5,
- authoretaldisplay=5,
- editoretaldisplay=5,
- artauthoretaldisplay=5,
- authoretaltext={ etc},
- editoretaltext={ etc},
- artauthoretaltext={ etc},
-]
-
-\setuppublicationlayout[article]{%
- \insertartauthors{}{\unskip.}{}%
- \insertarttitle{\bgroup }{\egroup[J].}{}%
- \insertjournal{\bgroup }{\egroup}{}%
- \insertpubyear{,}{}{}%
- \insertvolume{,}{}{}%
- \insertissue{(}{)}{}%
- \insertpages{:}{.}{}%
-}
-
-\setuppublicationlayout[phdthesis]{%
- \insertauthors{}{\unskip.}{}%
- \inserttitle{}{\unskip[D].}{}%
- \insertpubname{}{,}{}%
- \insertpubyear{}{.}{}%
-}
-
-\setuppublicationlayout[techreport]{%
- \insertauthors{}{.}{}%
- \inserttitle{}{[R].}{}%
- \insertpubname{}{}{}%
- \insertpubyear{,}{.}{}%
-}
-
-\setuppublicationlayout[inproceedings]{%
- \insertauthors{}{.}{}%
- \insertarttitle{}{[C].}{}%%
- \inserttitle{}{}{}%
- \insertpubyear{,}{.}{}%
-}
-
-\setuppublicationlayout[book]{%
- \insertauthors{}{.}{}%
- \inserttitle{}{[M].}{}%
- \insertpubname{}{}{}%
- \insertpubyear{,}{.}{}%
- \insertnote{}{}{}%
-}
-
-\setuppublicationlayout[unpublished]{%
- \insertauthors{}{.}{}%
- \inserttitle{}{.}{}%
- \inserturl{}{}{}%
-}
diff --git a/info/context-notes-zh-cn/src/bibliography.bib b/info/context-notes-zh-cn/src/bibliography.bib
deleted file mode 100644
index 0203a2de9a..0000000000
--- a/info/context-notes-zh-cn/src/bibliography.bib
+++ /dev/null
@@ -1,53 +0,0 @@
-@unpublished{bibtex,
- title = {{Tame the BeaST: The B to X of Bib\TeX}},
- author = {Nicolas Markey},
- url = {http://www.ctan.org/tex-archive/info/bibtex/tamethebeast/},
-}
-
-@unpublished{fonts,
- title = {{Fonts in \ConTeXt}},
- author = {PRAGMA},
- url = {http://context.aanhet.net/svn/contextman/context-reference/en/co-fonts.pdf},
-}
-
-@unpublished{Taco,
- title = {{Bibliographies}},
- author = {Taco Hoekwater},
- url = {http://modules.contextgarden.net/bib},
-}
-
-@unpublished{TacoCTXWiki,
- title = {{Bibliography}},
- author = {Taco Hoekwater},
- url = {http://wiki.contextgarden.net/Bibliography},
-}
-
-@unpublished{widgets,
- title = {{WIDGETS uncovered}},
- author = {PRAGMA},
- url = {http://pragma-ade.com/general/manuals/mwidget-s.pdf},
-}
-
-@unpublished{cont-eni,
- title = {{\ConTeXt the manual}},
- author = {PRAGMA},
- url = {http://www.pragma-ade.com/general/manuals/cont-eni.pdf},
-}
-
-@unpublished{ms-cb-en,
- title = {{\ConTeXt an excursion}},
- author = {PRAGMA},
- url = {http://www.pragma-ade.com/general/manuals/ms-cb-en.pdf},
-}
-
-@unpublished{metafun,
- title = {{METAFUN}},
- author = {Hans Hagen},
- url = {http://www.pragma-ade.com/general/manuals/metafun-s.pdf},
-}
-
-@unpublished{lnotes,
- title = {{\LATEX 学习笔记}},
- author = {Alpha Huang},
- url = {http://www.ctan.org/tex-archive/info/lnotes/lnotes.pdf},
-}
diff --git a/info/context-notes-zh-cn/src/cover.tex b/info/context-notes-zh-cn/src/cover.tex
new file mode 100644
index 0000000000..57c033c631
--- /dev/null
+++ b/info/context-notes-zh-cn/src/cover.tex
@@ -0,0 +1,78 @@
+% 封面
+\startMPinclusions
+vardef hilbert(expr sidelength, n) =
+ numeric u; u := 0.5sidelength;
+ pair a, b, c, d;
+ a := (-0.5, -0.5) * u;
+ b := (-0.5, 0.5) * u;
+ c := (0.5, 0.5) * u;
+ d := (0.5, -0.5) * u;
+ path p;
+ p := a -- b -- c -- d;
+ transform sw, nw, ne, se;
+ sw := identity
+ scaled 0.5
+ reflectedabout ((0, 0), (1, 1))
+ shifted (-0.5u, -0.5u);
+ nw := identity
+ scaled 0.5
+ shifted (-0.5u, 0.5u);
+ ne := identity
+ scaled 0.5
+ shifted (0.5u, 0.5u);
+ se := identity
+ scaled 0.5
+ reflectedabout ((0, 0), (1, -1))
+ shifted (0.5u, -0.5u);
+
+ for i := 2 upto n:
+ p := p transformed sw for j := nw, ne, se: -- p transformed j endfor;
+ endfor;
+ p
+enddef;
+\stopMPinclusions
+\startuseMPgraphic{TitleGraphic}
+path p; p := hilbert(OverlayWidth, 5) randomized 1mm;
+pickup pencircle scaled 1mm;
+draw p yscaled(OverlayHeight / OverlayWidth) withcolor transparent(1, .5, darkgray); %\MPcolor{tan};
+\stopuseMPgraphic
+\defineoverlay[TitleGraphic][\useMPgraphic{TitleGraphic}]
+
+%% 阴影盒
+\startuniqueMPgraphic{shade box}
+numeric u, w, h, roundcorner, offset;
+path p, q;
+color shade;
+u := 1cm; w := \overlaywidth; h := \overlayheight;
+p := unitsquare xyscaled (w, h);
+offset := 7pt;
+shade := darkgray;
+pickup pencircle scaled offset;
+for i = 0 step .1 until 1:
+ q := unitsquare xyscaled (w, h) shifted (i * offset, -i * offset);
+ fill q withcolor transparent (1, .1, shade);
+ draw q withcolor transparent (1, .1, shade);
+endfor;
+q := p shifted (-offset, offset);
+draw q withcolor transparent (1, 0, white);
+fill p withcolor \MPcolor{dimgray};
+draw p withcolor \MPcolor{lightsteelblue};
+\stopuniqueMPgraphic
+\defineoverlay[shade box][\uniqueMPgraphic{shade box}]
+\defineframedtext[coverbox][frame=off,background={shade box}]
+
+\setupbackgrounds[page][background=TitleGraphic]
+\startstandardmakeup
+ \startcolor[white]
+ \startcoverbox[middle][width=.6\textwidth,height=5cm,toffset=.8cm]
+ \strut
+ \hfil \bfd\ConTeXt\ 蹊径\hfil
+ \blank[1cm]
+ \hfil\bfa 李延瑞\hfil
+ \blank[.25cm]
+ \hfil\bf 2023 年 3 月 29 日\hfil
+ \stopcoverbox
+ \stopcolor
+ \blank[14cm]
+\stopstandardmakeup
+\setupbackgrounds[page][background=] \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/ctxnotes.bib b/info/context-notes-zh-cn/src/ctxnotes.bib
new file mode 100644
index 0000000000..5ce2928904
--- /dev/null
+++ b/info/context-notes-zh-cn/src/ctxnotes.bib
@@ -0,0 +1,101 @@
+@article {Hagen2019,
+ author = "Hans Hagen",
+ title = "ConTeXt LMTX",
+ journal = "TUGboat",
+ volume = "40",
+ number = "1",
+ pages = "34--37",
+ month = "4",
+ year = "2019"
+}
+
+@online{ma-cb-en,
+ author = {Hans Hagen},
+ title = {\ConTeXt\ Mark IV: an excursion},
+ url = {http://www.pragma-ade.nl/general/manuals/ma-cb-en.pdf},
+ year = {2017}
+}
+
+@online{ctxnotes,
+ author = {李延瑞},
+ title = {\ConTeXt\ 学习笔记:Using MkIV},
+ url = {http://mirrors.ctan.org/info/context-notes-zh-cn/ctxnotes.pdf},
+ year = {2009}
+}
+
+@online{bash-tutor,
+ author = {李延瑞},
+ title = {写给高年级小学生的《Bash》指南},
+ url = {https://segmentfault.com/a/1190000017229619},
+ year = {2018}
+}
+
+@online{faking-text,
+ author = {Hans Hagen},
+ title = {Faking text and more},
+ url = {http://www.pragma-ade.nl/general/magazines/mag-0007-mkiv.pdf},
+ year = {2016}
+}
+
+@online{unicode-blocks,
+ author = {\ConTeXt\ wiki editors},
+ title = {List of Unicode blocks},
+ url = {https://wiki.contextgarden.net/List_of_Unicode_blocks},
+ year = {2020}
+}
+
+@online{contextref,
+ author = {Hans Hagen},
+ title = {\ConTeXt\ Reference},
+ url = {http://pmrb.free.fr/contextref.pdf},
+ year = 2013
+}
+
+@online{floating-objects,
+ author = {\ConTeXt\ wiki editors},
+ title = {Floating Objects},
+ url = {https://wiki.contextgarden.net/Floating_Objects},
+ year = 2021
+}
+
+@online{metafun,
+ author = {李延瑞},
+ title = {\MetaFun\ 小传},
+ url = {https://segmentfault.com/a/1190000016832302},
+ year = 2018
+}
+
+@online{math,
+ author = {\ConTeXt\ wiki editors},
+ title = {Math},
+ url = {https://wiki.contextgarden.net/Math},
+ year = {2022}
+}
+
+@online{mpman,
+ author = {John D. Hobby},
+ title = {\MetaPost\ Manual},
+ url = {https://www.tug.org/docs/metapost/mpman.pdf},
+ year = {2022}
+}
+
+@online{overlay,
+ author = {\ConTeXt\ wiki editors},
+ title = {Overlays},
+ url = {https://wiki.contextgarden.net/Overlays},
+ year = {2022}
+}
+
+@online{framed,
+ author = {\ConTeXt\ wiki editors},
+ title = {Framed},
+ url = {https://wiki.contextgarden.net/Framed},
+ year = {2022}
+}
+
+@online{math-fonts,
+ author = {\ConTeXt\ wiki editors},
+ title = {Math fonts},
+ url = {https://wiki.contextgarden.net/Math_fonts},
+ year = {2020}
+} \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/ctxnotes.tex b/info/context-notes-zh-cn/src/ctxnotes.tex
index 87059cd3f5..7b4847b28c 100644
--- a/info/context-notes-zh-cn/src/ctxnotes.tex
+++ b/info/context-notes-zh-cn/src/ctxnotes.tex
@@ -1,88 +1,40 @@
\environment doc-env
-%\startproduct ctxnotes
+\usebtxdataset[ctxnotes.bib]
\starttext
-
-% 封面
-\startMPinclusions
- def random_hash_frame (expr width, height, offset, linewidth ) =
-
- def delta = ((uniformdeviate .5offset) + .25offset) enddef ;
- x1 := offset ; y1 := offset ; x2 := width-offset ; y2 := height-offset ;
-
- drawoptions(withpen pencircle scaled linewidth withcolor transparent(1,.8,\MPcolor{BackgroundColor})) ;
- fill z1--(x2,y1)--z2--(x1,y2)--cycle ;
-
- drawoptions(withpen pencircle scaled linewidth withcolor \MPcolor{OrnamentColor}) ;
- draw (x1-delta,y1)--(x2+delta,y1) ;
- draw (x2,y1-delta)--(x2,y2+delta) ;
- draw (x2+delta,y2)--(x1-delta,y2) ;
- draw (x1,y2+delta)--(x1,y1-delta) ;
-
- drawoptions();
- setbounds currentpicture to unitsquare xscaled width yscaled height ;
- enddef ;
-\stopMPinclusions
-
-\startuseMPgraphic{TitleGraphic}
- for i=1 upto 400 :
- offset := uniformdeviate 10pt ;
- width := 2*offset + 40pt + uniformdeviate 30pt ;
- height := 2*offset + 30pt + uniformdeviate 10pt ;
- addto currentpicture also
- image(random_hash_frame(width,height,offset,1pt)) shifted
- (uniformdeviate OverlayWidth, uniformdeviate OverlayHeight) ;
- endfor ;
-\stopuseMPgraphic
-
-\defineoverlay [TitleGraphic] [\useMPgraphic{TitleGraphic}]
-
-% 前文
\startfrontmatter
-\setupbackgrounds [page][background=TitleGraphic]
-\startstandardmakeup
- \startcolor[white]
- \startframedtext[middle][width=.8\textwidth,height=5cm]
- \dontleavehmode
- \blank[.5cm]
- \hfil\bfd\ConTeXt\ 学习笔记\hfil
- \blank[.5cm]
- \hfil\bfc Using MkIV\hfil
- \blank[1cm]
- \hfil\bfa Li Yanrui (liyanrui.m2@gmail.com)\hfil
- \stopframedtext
- \stopcolor
- \blank[14cm]
-\stopstandardmakeup
-\setupbackgrounds [page][background=]
-\setuppagenumbering[conversion=romannumerals]
+\input cover
\setuppagenumber[number=1]
-\title{目\;\;录}\blank
-\placecontent
+\setupuserpagenumber[numberconversion=romannumerals]
+\setups{FrontHeaderFooter}
+\input preface % 自序
+\TOC{目录}
+\definelistextra[page][before=\page]
+\placecontent[extras={page=10}] % 强行在第 10 章之前分页
\stopfrontmatter
-
-% 正文
\startbodymatter
-\setuppagenumbering[conversion=number]
\setuppagenumber[number=1]
-\setups{HeaderFooter}
-\component basis
-\component fonts
-\component layout
-\component references
-\component project
-\component metafun
+\setupuserpagenumber[numberconversion=number]
+\setups{BodyHeaderFooter}
+\input 01
+\input 02
+\input 03
+\input 04
+\input 05
+\input 06
+\input 07
+\input 08
+\input 09
+\input 10
+\input 11
+\input 12
+\input 13
\stopbodymatter
-
-% 附录
+\startbackmatter
+\input postscript
+\stopbackmatter
\startappendices
+\input zhfonts
\title{参考文献}
-\placepublications[criterium=all]
+\placelistofpublications
\stopappendices
-
-% 后文
-\startbackmatter
-未完成……
-\stopbackmatter
-
-%\stopproduct
\stoptext
diff --git a/info/context-notes-zh-cn/src/doc-env.tex b/info/context-notes-zh-cn/src/doc-env.tex
index 138b60d565..c6fe8890fa 100644
--- a/info/context-notes-zh-cn/src/doc-env.tex
+++ b/info/context-notes-zh-cn/src/doc-env.tex
@@ -1,153 +1,196 @@
\startenvironment doc-env
-
\usemodule[zhfonts]
-
-\usemodule[chart]
-\usemodule[t][layout]
-
-\setupcolor[hex]
-\definecolor [BackgroundColor] [h=cccccc]
-\definecolor [OrnamentColor] [h=99ccff]
-\definecolor [TitleColor] [h=336699]
-
-\setupinteraction
- [state=start,
- focus=standard,
- color=darkblue,
- title={ConTeXt 学习笔记},
- subtitle={Using MkIV},
- author={Li Yanrui},
- keyword={TeX, ConTeXt, MkIV, LuaTeX}]
-
-%\setupinteractionscreen[option=max]
-
+\definefont[kaiti][name:kaiti]
+
+\usecolors[svg]
+%\showgrid
+\setupinteraction[state=start,
+ focus=standard,
+ color=darkblue,
+ title={ConTeXt 蹊径},
+ author={李延瑞},
+ keyword={TeX, ConTeXt, LMTX, MkIV, LuaTeX, LuaMetaTeX}]
+% 书签
+\setupinteractionscreen[option=bookmark]
+\placebookmarks[title,chapter,section][chapter]
+% 版式
\setuppapersize[A4][A4]
-\setuplayout[width=fit,height=middle,
- leftmargin=2cm,rightmargin=2cm,
- backspace=2.5cm,topspace=2cm,
- headerdistance=.5cm,footerdistance=.5cm,
- leftmargindistance=.5cm,rightmargindistance=.5cm,
- header=1cm,footer=1cm]
-\setuppagenumbering[style=\tfx,location=]
-
-\setuptolerance[horizontal, stretch]
-
+\setuplayout[backspace=2.5cm,width=16.5cm,
+ topspace=1.5cm,header=1.5cm,
+ height=27.2cm,footer=1cm]
+%\showframe
+% 段落首行缩进、行间距
+\setupindenting[first,always,2em]
+\setupinterlinespace[line=3.7ex]
+% 关闭页码,后面会在页眉设置页码
+\setuppagenumbering[location=]
+% 丑度
+%\setuptolerance[horizontal,stretch]
% 图片目录
\setupexternalfigures[directory={./figures}]
-
-%-------- 标题设置 --------
+% 标题设置
\setupheads[indentnext=yes]
-
-\setuphead[title][style=\bfb,align={broad,middle},header=empty,foote=empty]
-\setuphead[chapter][style=\bfb,header=empty,footer=empty]
-\setuphead[section][style=\bfa]
-\setuphead[subsubject][style=\bf]
-
-% 代码环境
-\setuplinenumbering[color=darkgray,style=small]
-\setuptyping[option=color,palet=graypretty,
- before={\blank[.5em]\setupinterlinespace[line=1.2em]},
- after={\blank[.5em]}]
-
-\definetyping[niceTEX][option=TEX]
-
-%-------- 中文化 --------
-\setuplabeltext [en] [chapter={第\;,\;章}]
-\setuplabeltext [en] [figure=图\;]
-\setuplabeltext [en] [table=表\;]
-\setupheadtext[en][pubs={\bfc 参考文献}]
-\setupheadtext[en][content={\bfc 目录}]
-
-%% 目录 %%
-\def\ChapterNumber#1{\doiftext{#1}{第\;#1\;章\quad}}
+\setuphead[title][incrementnumber=list]
+\setuphead
+ [title,chapter]
+ [style=\bfb,header=empty,footer=empty,before=,after={\blank[2*line]},align=center]
+\setuphead[chapter][alternative=inmargin]
+\setuphead[subject,section][style=\bfa,before={\blank},after={\blank}]
+\setuphead[subsubject,subsection][style=\bf,before={\blank},after={\blank}]
+\definehead[TOC][title]
+\setuphead[TOC][before={\blank[quarterline]},after={\blank[quarterline]}]
+% 目录列表
+\setupcombinedlist[content][list={title,chapter,section},criterium=text]
+\def\PageNumber#1{\underbars{#1}.} % 给页码增加下划线
\setuplist
- [chapter]
- [alternative=a,
- before=\blank,
- after=\blank,
- style=\bf,
- width=fit,
- pagestyle=boldslanted,
- pagenumber=no,
- numbercommand=\ChapterNumber]
-
+ [title]
+ [alternative=a,
+ before={\blank[halfline]},
+ after={\blank[halfline]},
+ style=bold,
+ pagecommand=\PageNumber,
+ pagestyle=smallbold,
+ width=fit]
+\def\ChapterNumber#1{\doiftext{#1}{第 #1 章\quad}} % 若 #1 是存在,则将其中文化
+\setuplist
+ [chapter]
+ [alternative=a,
+ before={\blank[halfline]},
+ after={\blank[halfline]},
+ style=bold,
+ width=fit,
+ pagenumber=no,
+ numbercommand=\ChapterNumber]
\def\PageNumber#1{\underbars{#1}.}
\setuplist
- [section]
- [alternative=d,
- style=normal,
- pagecommand=\PageNumber,
- pagestyle=\itx]
+ [section]
+ [alternative=d,
+ style=normal,
+ pagecommand=\PageNumber,
+ pagestyle=smallbold]
-% 页眉页脚
+% 页眉:通用
\startsetups HeaderFooter
- \def\CurrentChapter{%
- 第 \headnumber[chapter]\ 章%
- \hbox to 2em{}%
- \getmarking[chapter]%
- }
- \def\CurrentSection{%
- \headnumber[section]%
- \hbox to 2em{}%
- \getmarking[section]%
- }
- \setupheadertexts
- [\CurrentChapter][pagenumber]
- [pagenumber][\CurrentSection]
- \setupheader[style=\bfx,color=darkgray]
+\setupheadertexts[][pagenumber][pagenumber][]
+\setupheader[style=\tfx]
+\stopsetups
+% 页眉:body 部分
+\startsetups BodyHeaderFooter
+\def\CurrentChapter{%
+ 第 \headnumber[chapter]\ 章\kern 1em\getmarking[chapter]%
+}
+\def\CurrentSection{%
+ \headnumber[section]%
+ \hbox to 2em{}%
+ \getmarking[section]%
+}
+\setupheadertexts[\CurrentChapter][pagenumber][pagenumber][\CurrentSection]
+\setupheader[style=\tfx]
\stopsetups
-% 书签
-\setupinteractionscreen[option=bookmark]
-\placebookmarks[chapter,section][chapter]
-
-% 参考文献
-\setupbibtex[database=bibliography]
-\setuppublications[alternative=lyr]
-
-%---- 其它一些零碎设置 ----
-\setupinterlinespace[line=1.5em]
-\setupwhitespace[big]
+% 脚注里的中文断行
+\startsetups footnote:hanzi
+\setscript[hanzi]
+\stopsetups
+\setupnote[footnote][textstyle=\bold,setups={footnote:hanzi}]
+\setupnotation[footnote][way=bypage] % 来自 wolfgang 的 tip
+% 汉化
+\setuplabeltext[en][chapter={第\;,\;章\kern.5em}]
+\setuplabeltext[en][figure=图\;]
+\setuplabeltext[en][table=表\;]
+\setupheadtext[en][pubs={\bfc 参考文献}]
+\setupheadtext[en][content={\bfc 目录}]
+%---- 列表 ----
\setupfloats[indentnext=yes]
-\setupcaptions[style=\tfx, headstyle=\normal]
-
-\setupitemize[each][packed,serried,inmargin][margin=2em]
-
-\setupfootnotes[way=bychapter]
-
+\setupcaptions[style=\tfx, headstyle=\normal, align=center]
+%\setupitemize[each][packed,serried,inmargin][margin=2em]
+\setupitemize[each][distance=.4em]
\setupinmargin[left,right][style=\tfx]
-
-\definedescription[definition]
- [location=top,hang=20,width=broad,indenting=always,style=\ss,headstyle=\bf]
-
-\def\mycite#1{\cite[#1]}
-
-%% 阴影盒
-
-\startuniqueMPgraphic{shade box}
- path p;
- u := 1cm; w := \overlaywidth; h := \overlayheight;
- roundcorner := 8pt; offset := 12pt;
-
- color shade;
- shade := (.6,.6,.6);
-
- for i = 0 step .02 until 1:
- fill unitsquare xyscaled (w-i*u,h-i*u) squeezed (8pt,6pt)
- shifted (offset+i*u/2,-offset+i*u/2)
- withcolor transparent (1,.1,shade);
- endfor;
-
- p := unitsquare xyscaled (w, h);
- draw p withcolor transparent (1,0,white);
-
- p := p shifted (offset/2, -offset/2) squeezed (8pt,6pt);
- fill p withcolor \MPcolor{darkgray};
- draw p withcolor \MPcolor{OrnamentColor};
+\definedescription
+ [definition]
+ [location=top,hang=20,width=broad,indenting=always,style=\ss,headstyle=\bf]
+
+
+% 抄录
+\setuplinenumbering[style=small]
+%\setuptyping[option=color,palet=graypretty,
+% before={\blank[.5em]\setupinterlinespace[line=1.2em]},
+% after={\blank[.5em]}]
+\startuniqueMPgraphic{blue box}
+path p, q;
+w := \overlaywidth; h := \overlayheight;
+p := (3mm, 0) -- (0, 0) -- (0, h) -- (3mm, h);
+q := (w - 3mm, 0) -- (w, 0) -- (w, h) -- (w - 3mm, h);
+pickup pencircle scaled 2pt;
+draw p withcolor \MPcolor{lightsteelblue};
+draw q withcolor \MPcolor{lightsteelblue};
\stopuniqueMPgraphic
-
-\defineoverlay[shade box][\uniqueMPgraphic{shade box}]
-\setupframedtexts[frame=off,background={shade box}]
-
-\stopenvironment
+\defineoverlay[blue box][\uniqueMPgraphic{blue box}]
+\defineframedtext
+ [blueframe]
+ [frame=off,background={blue box},
+ offset=0pt,loffset=.5em,roffset=.5em,before={\blank},after={\blank[.95em]}]
+\setuptyping
+ [before={\startblueframe[width=\textwidth]},
+ after={\stopblueframe},escape=yes]
+\definetyping
+ [narrowtyping]
+ [option=TEX,before={\startblueframe[width=fit]},after={\stopblueframe},escape=yes]
+
+\startuniqueMPgraphic{blue box2}
+path p;
+numeric s;
+w := \overlaywidth; h := \overlayheight;
+p := (0, 0) -- (0, h) -- (w, h) -- (w, 0) -- cycle;
+pickup pencircle scaled 2pt;
+s := .1 * h;
+if s < 2mm:
+ s := 2mm;
+fi
+draw p randomized s withcolor \MPcolor{lightsteelblue};
+\stopuniqueMPgraphic
+\defineoverlay[blue box2][\uniqueMPgraphic{blue box2}]
+\def\bluebox#1{%
+ \kern.25em%
+ \inframed[frame=off,background={blue box2},offset=0pt,loffset=.25em,roffset=.25em]{#1}%
+ \kern.25em%
+}
+\def\blueframed#1{%
+ \kern.25em%
+ \framed[frame=off,background={blue box2},offset=0pt,loffset=.25em,roffset=.25em]{#1}%
+ \kern.25em%
+}
+\defineframedtext[blueframedtext][offset=0pt,frame=off,background={blue box2},width=\textwidth]
+
+% 红色背景框
+\def\redbox#1{%
+ \inframed[frame=off,background=color,backgroundcolor=indianred,offset=4pt]{#1}%
+}
+
+% sample
+\definefloat[Sample][Samples]
+\setuplabeltext[en][Sample={示例\;}]
+\definebuffer[samplecode]
+\def\mysample[#1]#2#3{%
+ \placeSample[force][#1]{#2}{%
+ \hbox to \textwidth{%
+ \hbox to .45\textwidth{\getsamplecode}\hfill\externalfigure[#3][maxwidth=.45\textwidth]%
+ }%
+ }%
+}
+% 修改 MPcode 代码部分高亮颜色
+\definestartstop
+ [MetapostSnippetName]
+ [color=darkblue,
+ style=boldface]
+\definestartstop
+ [MetapostSnippetNamePrimitive]
+ [color=darkgreen,
+ style=boldface]
+
+\def\BibTeX{B\scale[height=.5em]{IB}\TeX}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% 参考文献 GB
+\input bib-style
+\stopenvironment \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/example/slides.tex b/info/context-notes-zh-cn/src/example/slides.tex
new file mode 100644
index 0000000000..15b6714f03
--- /dev/null
+++ b/info/context-notes-zh-cn/src/example/slides.tex
@@ -0,0 +1,28 @@
+\input style
+\starttext
+\startstandardmakeup[align=center]
+\ssd \color[darkred]{如何用 \ConTeXt\ 制作幻灯片}
+\blank[2*line]
+\ssb 李某人
+\blank[line]
+2023 年 3 月 28 日
+\stopstandardmakeup
+
+\startbuffer[foo]
+\chapter{蒙}
+亨。匪我求童蒙,童蒙求我;初筮告,再三渎,渎则不告。利贞。
+\startitemize
+\item 初六,发蒙,利用刑人,用说桎梏;以往吝。
+\item 九二,包蒙,吉。纳妇,吉;子克家。
+\item 六三,勿用取女,见金夫,不有躬,无攸利。
+\item 六四,困蒙,吝。
+\item 六五,童蒙,吉。
+\item 上九,击蒙,不利为寇,利御寇。
+\stopitemize
+\stopbuffer
+\dorecurse{50}{\getbuffer[foo]}
+
+\startstandardmakeup[align=center]
+\ssd \color[darkred]{同志们,辛苦了!}
+\stopstandardmakeup
+\stoptext
diff --git a/info/context-notes-zh-cn/src/example/style.tex b/info/context-notes-zh-cn/src/example/style.tex
new file mode 100644
index 0000000000..e0919cf7db
--- /dev/null
+++ b/info/context-notes-zh-cn/src/example/style.tex
@@ -0,0 +1,52 @@
+% 页面布局
+\definepapersize[foo][width=640pt,height=360pt]
+\setuppapersize[foo]
+\setuplayout[width=middle,topspace=0pt,height=middle,footer=40pt]
+\setupbackgrounds[page][backgroundcolor=gray,background=color]
+% 字体
+\definefallbackfamily
+ [myfonts][ss][latinmodernsans][range={0x0000-0x0400},force=yes]
+\definefontfamily[myfonts][ss][simhei][bf=simhei,it=kaiti,bi=simhei]
+\setscript[hanzi]
+\setupbodyfont[myfonts,ss,16pt]
+% 常规
+\setuppagenumbering[location=]
+\setupinterlinespace[line=28pt]
+\startuseMPgraphic{square}
+ path a, b;
+ a := (-.5, 0) -- (-.5, .5) -- (.5, .5);
+ b := (-.5, -.5) -- (.5, -.5) -- (.5, 0);
+ for i = a, b:
+ draw i scaled 10pt withpen pencircle scaled 2pt withcolor darkred;
+ endfor;
+ draw (0, 0) withpen pensquare scaled 4pt withcolor darkred;
+\stopuseMPgraphic
+\definesymbol[10][{\lower.15ex\hbox{\useMPgraphic{square}}}]
+\setupitemize
+ [1][10,packed]
+ [distance=0.4em,
+ before={\blank[quarterline]},after={\blank[quarterline]}]
+% 标题
+\setuphead
+ [title,chapter]
+ [align=center,style=\ssb,color=darkred,
+ before={\blank[halfline]},after={\blank[halfline]}]
+\setuphead[chapter][conversion=chinesenumerals,alternative=inmargin]
+
+\startuseMPgraphic{processbar}
+ numeric w, n, s, t;
+ w := \overlaywidth; n := \lastuserpage; s := .5w / (n + 2); t := \userpagenumber - 1;
+ path p; p := (fullsquare scaled \overlayheight) randomized 1pt;
+ pickup pencircle scaled 1.25pt;
+ picture q;
+ q := image(for i = 0 upto n - 1:
+ p := (p shifted (2s, 0));
+ if t = i: fill p withcolor darkgreen; fi;
+ draw p withcolor darkgray;%transparent(1, 0.5, darkgray);
+ endfor;);
+ draw q xsized w;
+\stopuseMPgraphic
+\defineoverlay[process][\useMPgraphic{processbar}]
+\setupfootertexts[{\framed[frame=off,offset=0pt,
+ width=\makeupwidth,height=.8em,
+ background=process,empty=yes]{}}] \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdf b/info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdf
new file mode 100644
index 0000000000..801ec7b83d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-floatcomb-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdf b/info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdf
new file mode 100644
index 0000000000..5ba88c0db7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-floatcomb-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdf b/info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdf
new file mode 100644
index 0000000000..8a1efdd6ec
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-floatcomb-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-floatcomb.pdf b/info/context-notes-zh-cn/src/figures/05-floatcomb.pdf
new file mode 100644
index 0000000000..60e2a8572f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-floatcomb.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-metapost.pdf b/info/context-notes-zh-cn/src/figures/05-metapost.pdf
new file mode 100644
index 0000000000..5b8683edee
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-metapost.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-2.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-2.pdf
new file mode 100644
index 0000000000..355e2722a7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-3.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-3.pdf
new file mode 100644
index 0000000000..8476132bf8
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-4.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-4.pdf
new file mode 100644
index 0000000000..2c8ecf2d79
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-5.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-5.pdf
new file mode 100644
index 0000000000..4633d66ca4
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-5.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-6.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-6.pdf
new file mode 100644
index 0000000000..162f257cb5
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-6.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-7.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-7.pdf
new file mode 100644
index 0000000000..7bce0357e2
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-7.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list-8.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list-8.pdf
new file mode 100644
index 0000000000..12cabf988f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list-8.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/05-todo-list.pdf b/info/context-notes-zh-cn/src/figures/05-todo-list.pdf
new file mode 100644
index 0000000000..40a311e607
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/05-todo-list.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-01.pdf b/info/context-notes-zh-cn/src/figures/06-01.pdf
new file mode 100644
index 0000000000..334748a68d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-01.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-02.pdf b/info/context-notes-zh-cn/src/figures/06-02.pdf
new file mode 100644
index 0000000000..b28053808f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-02.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-03.pdf b/info/context-notes-zh-cn/src/figures/06-03.pdf
new file mode 100644
index 0000000000..2b790a5def
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-03.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-04.pdf b/info/context-notes-zh-cn/src/figures/06-04.pdf
new file mode 100644
index 0000000000..fec3105025
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-04.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-05.pdf b/info/context-notes-zh-cn/src/figures/06-05.pdf
new file mode 100644
index 0000000000..f622fb5a85
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-05.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/06-three-line-table.pdf b/info/context-notes-zh-cn/src/figures/06-three-line-table.pdf
new file mode 100644
index 0000000000..ac000edc79
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/06-three-line-table.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdf b/info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdf
new file mode 100644
index 0000000000..243b337735
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/08-vbox-and-hbox.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdf b/info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdf
new file mode 100644
index 0000000000..b58373132e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/10-bibtex-example-01.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdf b/info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdf
new file mode 100644
index 0000000000..43adbf2577
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/10-bibtex-example-02.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdf b/info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdf
new file mode 100644
index 0000000000..28e3443a8d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/10-bibtex-example-03.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdf b/info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdf
new file mode 100644
index 0000000000..279e7212f0
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/10-bibtex-example-04.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-flowchart-1.pdf b/info/context-notes-zh-cn/src/figures/11-flowchart-1.pdf
new file mode 100644
index 0000000000..54e71e8a71
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-flowchart-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-flowchart-2.pdf b/info/context-notes-zh-cn/src/figures/11-flowchart-2.pdf
new file mode 100644
index 0000000000..3567cae708
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-flowchart-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-flowchart-3.pdf b/info/context-notes-zh-cn/src/figures/11-flowchart-3.pdf
new file mode 100644
index 0000000000..cf06b847eb
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-flowchart-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-flowchart-4.pdf b/info/context-notes-zh-cn/src/figures/11-flowchart-4.pdf
new file mode 100644
index 0000000000..5a1e6a2d8e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-flowchart-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/11-watermark.png b/info/context-notes-zh-cn/src/figures/11-watermark.png
new file mode 100644
index 0000000000..4e689c338c
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/11-watermark.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-layout-1.pdf b/info/context-notes-zh-cn/src/figures/12-layout-1.pdf
new file mode 100644
index 0000000000..9bc70bc4ca
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-layout-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-slides-1.pdf b/info/context-notes-zh-cn/src/figures/12-slides-1.pdf
new file mode 100644
index 0000000000..2485deadde
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-slides-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-slides-2.pdf b/info/context-notes-zh-cn/src/figures/12-slides-2.pdf
new file mode 100644
index 0000000000..4b26477642
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-slides-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-slides-3.pdf b/info/context-notes-zh-cn/src/figures/12-slides-3.pdf
new file mode 100644
index 0000000000..28f9344b4f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-slides-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/12-slides-4.pdf b/info/context-notes-zh-cn/src/figures/12-slides-4.pdf
new file mode 100644
index 0000000000..8ceef2f8c9
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/12-slides-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/13-bookmarks.png b/info/context-notes-zh-cn/src/figures/13-bookmarks.png
new file mode 100644
index 0000000000..d11a152edc
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/13-bookmarks.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/13-toc-2.pdf b/info/context-notes-zh-cn/src/figures/13-toc-2.pdf
new file mode 100644
index 0000000000..1329c57d27
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/13-toc-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/13-toc.pdf b/info/context-notes-zh-cn/src/figures/13-toc.pdf
new file mode 100644
index 0000000000..60c2b9fbdd
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/13-toc.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg b/info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg
new file mode 100644
index 0000000000..d50f52a056
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/ConTeXt-layout.svg
@@ -0,0 +1,1235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="420.0534pt" height="395.1229pt" viewBox="0 0 420.0534 395.1229" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 4.578125 0 L 2.59375 -2.28125 L 4.421875 -4.421875 L 3.59375 -4.421875 L 2.265625 -2.78125 L 0.890625 -4.421875 L 0.0625 -4.421875 L 1.9375 -2.28125 L 0 0 L 0.8125 0 L 2.265625 -1.875 L 3.765625 0 Z M 4.578125 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph3-0">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph3-1">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph3-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph4-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-0">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-2">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-3">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph5-4">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph6-0">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph6-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph6-2">
+<path style="stroke:none;" d="M 4.78125 -2.21875 C 4.78125 -3.421875 4.15625 -4.53125 3.203125 -4.53125 C 2.609375 -4.53125 2.03125 -4.328125 1.5625 -3.9375 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 1.9375 L 1.59375 1.9375 L 1.59375 -0.453125 C 1.90625 -0.171875 2.34375 0.109375 2.9375 0.109375 C 3.90625 0.109375 4.78125 -0.875 4.78125 -2.21875 Z M 4 -2.21875 C 4 -1.203125 3.296875 -0.5 2.546875 -0.5 C 2.15625 -0.5 1.890625 -0.703125 1.6875 -0.96875 C 1.59375 -1.109375 1.59375 -1.140625 1.59375 -1.3125 L 1.59375 -3.3125 C 1.828125 -3.671875 2.21875 -3.890625 2.65625 -3.890625 C 3.40625 -3.890625 4 -3.140625 4 -2.21875 Z M 4 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-0">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-2">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-3">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph7-4">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph8-0">
+<path style="stroke:none;" d="M 4.78125 -2.21875 C 4.78125 -3.453125 4.109375 -4.53125 3.171875 -4.53125 C 2.78125 -4.53125 2.15625 -4.4375 1.5625 -3.953125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.59375 0 L 1.59375 -0.453125 C 1.828125 -0.234375 2.265625 0.109375 2.9375 0.109375 C 3.921875 0.109375 4.78125 -0.890625 4.78125 -2.21875 Z M 4 -2.21875 C 4 -0.921875 3.171875 -0.5 2.5625 -0.5 C 2.171875 -0.5 1.84375 -0.671875 1.59375 -1.140625 L 1.59375 -3.34375 C 1.75 -3.578125 2.109375 -3.921875 2.65625 -3.921875 C 3.25 -3.921875 4 -3.5 4 -2.21875 Z M 4 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph8-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph8-2">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph8-3">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-0">
+<path style="stroke:none;" d="M 3.71875 -0.46875 C 3.71875 -0.5 3.703125 -0.5625 3.640625 -0.78125 C 3.59375 -0.984375 3.5625 -1.03125 3.484375 -1.03125 C 3.421875 -1.03125 3.421875 -1.03125 3.359375 -0.96875 C 3.25 -0.890625 2.984375 -0.671875 2.5625 -0.671875 C 2.328125 -0.671875 2.171875 -0.84375 2.171875 -1.5 L 2.171875 -3.84375 L 3.0625 -3.84375 C 3.1875 -3.84375 3.53125 -3.84375 3.53125 -4.203125 C 3.53125 -4.5625 3.1875 -4.5625 3.0625 -4.5625 L 2.171875 -4.5625 L 2.171875 -5.390625 C 2.171875 -5.71875 2.109375 -5.875 1.6875 -5.875 L 1.390625 -5.875 C 1.03125 -5.875 0.90625 -5.765625 0.90625 -5.390625 L 0.90625 -4.5625 L 0.671875 -4.5625 C 0.5625 -4.5625 0.203125 -4.5625 0.203125 -4.203125 C 0.203125 -3.84375 0.5625 -3.84375 0.671875 -3.84375 L 0.875 -3.84375 L 0.875 -1.328125 C 0.875 -0.3125 1.234375 0.109375 1.921875 0.109375 C 2.015625 0.109375 2.453125 0.109375 2.96875 -0.046875 C 3.140625 -0.09375 3.71875 -0.28125 3.71875 -0.46875 Z M 3.71875 -0.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-1">
+<path style="stroke:none;" d="M 5.15625 -2.25 C 5.15625 -3.875 4.359375 -4.734375 2.734375 -4.734375 C 1.078125 -4.734375 0.3125 -3.84375 0.3125 -2.25 C 0.3125 -0.625 1.171875 0.109375 2.734375 0.109375 C 4.296875 0.109375 5.15625 -0.609375 5.15625 -2.25 Z M 3.8125 -2.359375 C 3.8125 -1.578125 3.8125 -0.671875 2.734375 -0.671875 C 1.671875 -0.671875 1.671875 -1.5625 1.671875 -2.359375 C 1.671875 -3.125 1.671875 -4.015625 2.734375 -4.015625 C 3.8125 -4.015625 3.8125 -3.140625 3.8125 -2.359375 Z M 3.8125 -2.359375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-2">
+<path style="stroke:none;" d="M 5.21875 -2.296875 C 5.21875 -2.796875 5.21875 -4.671875 3.40625 -4.671875 C 2.828125 -4.671875 2.296875 -4.4375 1.9375 -4.09375 C 1.9375 -4.46875 1.796875 -4.5625 1.453125 -4.5625 L 1.09375 -4.5625 C 0.734375 -4.5625 0.609375 -4.453125 0.609375 -4.09375 L 0.609375 1.453125 C 0.609375 1.8125 0.71875 1.9375 1.09375 1.9375 L 1.484375 1.9375 C 1.859375 1.9375 1.96875 1.796875 1.96875 1.453125 L 1.96875 -0.390625 C 2.40625 0.109375 2.953125 0.109375 3.09375 0.109375 C 5.21875 0.109375 5.21875 -1.796875 5.21875 -2.296875 Z M 3.859375 -2.28125 C 3.859375 -1.890625 3.859375 -0.609375 2.734375 -0.609375 C 2.5 -0.609375 2.328125 -0.6875 2.203125 -0.78125 C 1.96875 -0.953125 1.96875 -1 1.96875 -1.171875 L 1.96875 -3.5625 C 2.078125 -3.671875 2.40625 -3.890625 2.828125 -3.890625 C 3.84375 -3.890625 3.859375 -2.71875 3.859375 -2.28125 Z M 3.859375 -2.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-3">
+<path style="stroke:none;" d="M 3.953125 -1.40625 C 3.953125 -1.96875 3.65625 -2.3125 3.46875 -2.46875 C 3.078125 -2.828125 2.71875 -2.890625 2.296875 -2.96875 C 1.75 -3.078125 1.359375 -3.15625 1.359375 -3.53125 C 1.359375 -3.953125 1.6875 -4.03125 2.078125 -4.03125 C 2.734375 -4.03125 3.09375 -3.78125 3.359375 -3.5625 C 3.453125 -3.453125 3.484375 -3.453125 3.515625 -3.453125 C 3.625 -3.453125 3.640625 -3.546875 3.65625 -3.59375 C 3.671875 -3.671875 3.765625 -4.234375 3.765625 -4.28125 C 3.765625 -4.4375 3.234375 -4.578125 3.125 -4.609375 C 2.734375 -4.71875 2.40625 -4.734375 2.15625 -4.734375 C 1.703125 -4.734375 0.375 -4.734375 0.375 -3.3125 C 0.375 -2.828125 0.59375 -2.515625 0.859375 -2.28125 C 1.203125 -1.96875 1.59375 -1.890625 2.15625 -1.78125 C 2.453125 -1.734375 2.953125 -1.640625 2.953125 -1.203125 C 2.953125 -0.734375 2.578125 -0.671875 2.1875 -0.671875 C 1.75 -0.671875 1.1875 -0.796875 0.71875 -1.359375 C 0.671875 -1.40625 0.640625 -1.4375 0.578125 -1.4375 C 0.484375 -1.4375 0.453125 -1.34375 0.453125 -1.28125 C 0.421875 -1.140625 0.3125 -0.578125 0.3125 -0.484375 C 0.3125 -0.296875 1.0625 -0.0625 1.0625 -0.0625 C 1.609375 0.109375 2.015625 0.109375 2.1875 0.109375 C 2.6875 0.109375 3.953125 0.0625 3.953125 -1.40625 Z M 3.953125 -1.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-4">
+<path style="stroke:none;" d="M 4.71875 -0.484375 L 4.71875 -3.15625 C 4.71875 -4.71875 3.203125 -4.734375 2.71875 -4.734375 C 2.25 -4.734375 1.75 -4.6875 1.078125 -4.421875 C 0.875 -4.328125 0.8125 -4.296875 0.8125 -4.1875 C 0.8125 -4.109375 0.875 -3.53125 0.890625 -3.453125 C 0.890625 -3.40625 0.953125 -3.34375 1.015625 -3.34375 C 1.0625 -3.34375 1.09375 -3.375 1.125 -3.40625 C 1.5625 -3.859375 2.046875 -4.078125 2.671875 -4.078125 C 3.203125 -4.078125 3.375 -3.75 3.375 -3.15625 L 3.375 -2.8125 C 3.015625 -2.8125 0.40625 -2.796875 0.40625 -1.328125 C 0.40625 -0.625 0.96875 0.109375 1.84375 0.109375 C 2.1875 0.109375 2.9375 0.015625 3.40625 -0.671875 L 3.40625 -0.484375 C 3.40625 -0.15625 3.46875 0 3.875 0 L 4.25 0 C 4.625 0 4.71875 -0.125 4.71875 -0.484375 Z M 3.375 -1.53125 C 3.375 -0.609375 2.421875 -0.609375 2.390625 -0.609375 C 1.96875 -0.609375 1.703125 -0.96875 1.703125 -1.34375 C 1.703125 -2.328125 3.09375 -2.390625 3.375 -2.40625 Z M 3.375 -1.53125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-5">
+<path style="stroke:none;" d="M 4.5625 -0.5 C 4.5625 -0.609375 4.515625 -1.0625 4.5 -1.203125 C 4.5 -1.21875 4.46875 -1.328125 4.375 -1.328125 C 4.34375 -1.328125 4.3125 -1.328125 4.21875 -1.21875 C 4.046875 -1.078125 3.578125 -0.671875 2.765625 -0.671875 C 1.71875 -0.671875 1.71875 -1.671875 1.71875 -2.3125 C 1.71875 -3.125 1.78125 -3.953125 2.796875 -3.953125 C 3.4375 -3.953125 3.703125 -3.796875 4.0625 -3.5 C 4.1875 -3.390625 4.203125 -3.390625 4.25 -3.390625 C 4.34375 -3.390625 4.359375 -3.484375 4.375 -3.515625 C 4.390625 -3.59375 4.5 -4.15625 4.5 -4.203125 C 4.5 -4.296875 4.421875 -4.34375 4.25 -4.421875 C 3.78125 -4.640625 3.484375 -4.734375 2.78125 -4.734375 C 1.296875 -4.734375 0.375 -4.03125 0.375 -2.296875 C 0.375 -0.640625 1.21875 0.109375 2.734375 0.109375 C 3 0.109375 3.59375 0.09375 4.265625 -0.234375 C 4.546875 -0.390625 4.5625 -0.40625 4.5625 -0.5 Z M 4.5625 -0.5 "/>
+</symbol>
+<symbol overflow="visible" id="glyph9-6">
+<path style="stroke:none;" d="M 4.78125 -2.59375 C 4.78125 -3.875 4.171875 -4.734375 2.6875 -4.734375 C 1.09375 -4.734375 0.3125 -3.84375 0.3125 -2.328125 C 0.3125 -0.6875 1.25 0.109375 2.828125 0.109375 C 3.203125 0.109375 3.765625 0.0625 4.421875 -0.265625 C 4.640625 -0.375 4.71875 -0.40625 4.71875 -0.53125 C 4.71875 -0.59375 4.6875 -0.890625 4.671875 -0.96875 C 4.640625 -1.28125 4.625 -1.28125 4.53125 -1.28125 C 4.5 -1.28125 4.46875 -1.28125 4.359375 -1.1875 C 3.78125 -0.671875 3.1875 -0.609375 2.859375 -0.609375 C 1.734375 -0.609375 1.609375 -1.5 1.578125 -2.140625 L 4.296875 -2.140625 C 4.53125 -2.140625 4.78125 -2.140625 4.78125 -2.59375 Z M 3.671875 -2.65625 L 1.59375 -2.65625 C 1.625 -3.265625 1.828125 -4.015625 2.6875 -4.015625 C 3.484375 -4.015625 3.640625 -3.4375 3.671875 -2.65625 Z M 3.671875 -2.65625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-0">
+<path style="stroke:none;" d="M 5.21875 -2.296875 C 5.21875 -2.78125 5.21875 -4.671875 3.34375 -4.671875 C 2.515625 -4.671875 2.03125 -4.21875 1.9375 -4.109375 L 1.9375 -6.4375 C 1.9375 -6.765625 1.859375 -6.921875 1.453125 -6.921875 L 1.09375 -6.921875 C 0.734375 -6.921875 0.609375 -6.8125 0.609375 -6.4375 L 0.609375 -0.484375 C 0.609375 -0.125 0.71875 0 1.09375 0 L 1.484375 0 C 1.65625 0 1.953125 0 1.96875 -0.390625 C 2.421875 0.109375 2.9375 0.109375 3.09375 0.109375 C 5.21875 0.109375 5.21875 -1.796875 5.21875 -2.296875 Z M 3.859375 -2.296875 C 3.859375 -1.5625 3.859375 -0.609375 2.734375 -0.609375 C 2.328125 -0.609375 2.078125 -0.859375 1.96875 -1 L 1.96875 -3.609375 C 2.09375 -3.734375 2.390625 -3.953125 2.84375 -3.953125 C 3.859375 -3.953125 3.859375 -3.046875 3.859375 -2.296875 Z M 3.859375 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-1">
+<path style="stroke:none;" d="M 4.71875 -0.484375 L 4.71875 -3.15625 C 4.71875 -4.71875 3.203125 -4.734375 2.71875 -4.734375 C 2.25 -4.734375 1.75 -4.6875 1.078125 -4.421875 C 0.875 -4.328125 0.8125 -4.296875 0.8125 -4.1875 C 0.8125 -4.109375 0.875 -3.53125 0.890625 -3.453125 C 0.890625 -3.40625 0.953125 -3.34375 1.015625 -3.34375 C 1.0625 -3.34375 1.09375 -3.375 1.125 -3.40625 C 1.5625 -3.859375 2.046875 -4.078125 2.671875 -4.078125 C 3.203125 -4.078125 3.375 -3.75 3.375 -3.15625 L 3.375 -2.8125 C 3.015625 -2.8125 0.40625 -2.796875 0.40625 -1.328125 C 0.40625 -0.625 0.96875 0.109375 1.84375 0.109375 C 2.1875 0.109375 2.9375 0.015625 3.40625 -0.671875 L 3.40625 -0.484375 C 3.40625 -0.15625 3.46875 0 3.875 0 L 4.25 0 C 4.625 0 4.71875 -0.125 4.71875 -0.484375 Z M 3.375 -1.53125 C 3.375 -0.609375 2.421875 -0.609375 2.390625 -0.609375 C 1.96875 -0.609375 1.703125 -0.96875 1.703125 -1.34375 C 1.703125 -2.328125 3.09375 -2.390625 3.375 -2.40625 Z M 3.375 -1.53125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-2">
+<path style="stroke:none;" d="M 4.5625 -0.5 C 4.5625 -0.609375 4.515625 -1.0625 4.5 -1.203125 C 4.5 -1.21875 4.46875 -1.328125 4.375 -1.328125 C 4.34375 -1.328125 4.3125 -1.328125 4.21875 -1.21875 C 4.046875 -1.078125 3.578125 -0.671875 2.765625 -0.671875 C 1.71875 -0.671875 1.71875 -1.671875 1.71875 -2.3125 C 1.71875 -3.125 1.78125 -3.953125 2.796875 -3.953125 C 3.4375 -3.953125 3.703125 -3.796875 4.0625 -3.5 C 4.1875 -3.390625 4.203125 -3.390625 4.25 -3.390625 C 4.34375 -3.390625 4.359375 -3.484375 4.375 -3.515625 C 4.390625 -3.59375 4.5 -4.15625 4.5 -4.203125 C 4.5 -4.296875 4.421875 -4.34375 4.25 -4.421875 C 3.78125 -4.640625 3.484375 -4.734375 2.78125 -4.734375 C 1.296875 -4.734375 0.375 -4.03125 0.375 -2.296875 C 0.375 -0.640625 1.21875 0.109375 2.734375 0.109375 C 3 0.109375 3.59375 0.09375 4.265625 -0.234375 C 4.546875 -0.390625 4.5625 -0.40625 4.5625 -0.5 Z M 4.5625 -0.5 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-3">
+<path style="stroke:none;" d="M 4.953125 -0.21875 C 4.953125 -0.21875 4.953125 -0.3125 4.859375 -0.4375 L 3.125 -2.71875 L 4.65625 -4.140625 C 4.78125 -4.25 4.8125 -4.28125 4.8125 -4.359375 C 4.8125 -4.5625 4.609375 -4.5625 4.46875 -4.5625 L 3.890625 -4.5625 C 3.703125 -4.5625 3.515625 -4.5625 3.296875 -4.359375 L 1.859375 -3.015625 L 1.859375 -6.4375 C 1.859375 -6.765625 1.78125 -6.921875 1.375 -6.921875 L 1.171875 -6.921875 C 0.8125 -6.921875 0.6875 -6.8125 0.6875 -6.4375 L 0.6875 -0.484375 C 0.6875 -0.125 0.796875 0 1.171875 0 L 1.34375 0 C 1.71875 0 1.828125 -0.125 1.828125 -0.484375 L 1.828125 -1.515625 C 1.984375 -1.65625 2.140625 -1.796875 2.296875 -1.9375 L 3.59375 -0.25 C 3.765625 -0.03125 3.828125 0 4.109375 0 L 4.59375 0 C 4.734375 0 4.953125 0 4.953125 -0.21875 Z M 4.953125 -0.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-4">
+<path style="stroke:none;" d="M 3.953125 -1.40625 C 3.953125 -1.96875 3.65625 -2.3125 3.46875 -2.46875 C 3.078125 -2.828125 2.71875 -2.890625 2.296875 -2.96875 C 1.75 -3.078125 1.359375 -3.15625 1.359375 -3.53125 C 1.359375 -3.953125 1.6875 -4.03125 2.078125 -4.03125 C 2.734375 -4.03125 3.09375 -3.78125 3.359375 -3.5625 C 3.453125 -3.453125 3.484375 -3.453125 3.515625 -3.453125 C 3.625 -3.453125 3.640625 -3.546875 3.65625 -3.59375 C 3.671875 -3.671875 3.765625 -4.234375 3.765625 -4.28125 C 3.765625 -4.4375 3.234375 -4.578125 3.125 -4.609375 C 2.734375 -4.71875 2.40625 -4.734375 2.15625 -4.734375 C 1.703125 -4.734375 0.375 -4.734375 0.375 -3.3125 C 0.375 -2.828125 0.59375 -2.515625 0.859375 -2.28125 C 1.203125 -1.96875 1.59375 -1.890625 2.15625 -1.78125 C 2.453125 -1.734375 2.953125 -1.640625 2.953125 -1.203125 C 2.953125 -0.734375 2.578125 -0.671875 2.1875 -0.671875 C 1.75 -0.671875 1.1875 -0.796875 0.71875 -1.359375 C 0.671875 -1.40625 0.640625 -1.4375 0.578125 -1.4375 C 0.484375 -1.4375 0.453125 -1.34375 0.453125 -1.28125 C 0.421875 -1.140625 0.3125 -0.578125 0.3125 -0.484375 C 0.3125 -0.296875 1.0625 -0.0625 1.0625 -0.0625 C 1.609375 0.109375 2.015625 0.109375 2.1875 0.109375 C 2.6875 0.109375 3.953125 0.0625 3.953125 -1.40625 Z M 3.953125 -1.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-5">
+<path style="stroke:none;" d="M 5.21875 -2.296875 C 5.21875 -2.796875 5.21875 -4.671875 3.40625 -4.671875 C 2.828125 -4.671875 2.296875 -4.4375 1.9375 -4.09375 C 1.9375 -4.46875 1.796875 -4.5625 1.453125 -4.5625 L 1.09375 -4.5625 C 0.734375 -4.5625 0.609375 -4.453125 0.609375 -4.09375 L 0.609375 1.453125 C 0.609375 1.8125 0.71875 1.9375 1.09375 1.9375 L 1.484375 1.9375 C 1.859375 1.9375 1.96875 1.796875 1.96875 1.453125 L 1.96875 -0.390625 C 2.40625 0.109375 2.953125 0.109375 3.09375 0.109375 C 5.21875 0.109375 5.21875 -1.796875 5.21875 -2.296875 Z M 3.859375 -2.28125 C 3.859375 -1.890625 3.859375 -0.609375 2.734375 -0.609375 C 2.5 -0.609375 2.328125 -0.6875 2.203125 -0.78125 C 1.96875 -0.953125 1.96875 -1 1.96875 -1.171875 L 1.96875 -3.5625 C 2.078125 -3.671875 2.40625 -3.890625 2.828125 -3.890625 C 3.84375 -3.890625 3.859375 -2.71875 3.859375 -2.28125 Z M 3.859375 -2.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph10-6">
+<path style="stroke:none;" d="M 4.78125 -2.59375 C 4.78125 -3.875 4.171875 -4.734375 2.6875 -4.734375 C 1.09375 -4.734375 0.3125 -3.84375 0.3125 -2.328125 C 0.3125 -0.6875 1.25 0.109375 2.828125 0.109375 C 3.203125 0.109375 3.765625 0.0625 4.421875 -0.265625 C 4.640625 -0.375 4.71875 -0.40625 4.71875 -0.53125 C 4.71875 -0.59375 4.6875 -0.890625 4.671875 -0.96875 C 4.640625 -1.28125 4.625 -1.28125 4.53125 -1.28125 C 4.5 -1.28125 4.46875 -1.28125 4.359375 -1.1875 C 3.78125 -0.671875 3.1875 -0.609375 2.859375 -0.609375 C 1.734375 -0.609375 1.609375 -1.5 1.578125 -2.140625 L 4.296875 -2.140625 C 4.53125 -2.140625 4.78125 -2.140625 4.78125 -2.59375 Z M 3.671875 -2.65625 L 1.59375 -2.65625 C 1.625 -3.265625 1.828125 -4.015625 2.6875 -4.015625 C 3.484375 -4.015625 3.640625 -3.4375 3.671875 -2.65625 Z M 3.671875 -2.65625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-0">
+<path style="stroke:none;" d="M 4.984375 -0.484375 L 4.984375 -3.234375 C 4.984375 -4.265625 4.546875 -4.671875 3.53125 -4.671875 C 2.53125 -4.671875 2.078125 -3.984375 1.9375 -3.703125 L 1.921875 -3.703125 L 1.921875 -6.4375 C 1.921875 -6.765625 1.859375 -6.921875 1.453125 -6.921875 L 1.078125 -6.921875 C 0.71875 -6.921875 0.59375 -6.8125 0.59375 -6.4375 L 0.59375 -0.484375 C 0.59375 -0.125 0.703125 0 1.078125 0 L 1.46875 0 C 1.859375 0 1.953125 -0.125 1.953125 -0.484375 L 1.953125 -2.6875 C 1.953125 -3.546875 2.53125 -3.953125 3.046875 -3.953125 C 3.53125 -3.953125 3.625 -3.734375 3.625 -3.21875 L 3.625 -0.484375 C 3.625 -0.15625 3.703125 0 4.109375 0 L 4.5 0 C 4.890625 0 4.984375 -0.125 4.984375 -0.484375 Z M 4.984375 -0.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-1">
+<path style="stroke:none;" d="M 4.78125 -2.59375 C 4.78125 -3.875 4.171875 -4.734375 2.6875 -4.734375 C 1.09375 -4.734375 0.3125 -3.84375 0.3125 -2.328125 C 0.3125 -0.6875 1.25 0.109375 2.828125 0.109375 C 3.203125 0.109375 3.765625 0.0625 4.421875 -0.265625 C 4.640625 -0.375 4.71875 -0.40625 4.71875 -0.53125 C 4.71875 -0.59375 4.6875 -0.890625 4.671875 -0.96875 C 4.640625 -1.28125 4.625 -1.28125 4.53125 -1.28125 C 4.5 -1.28125 4.46875 -1.28125 4.359375 -1.1875 C 3.78125 -0.671875 3.1875 -0.609375 2.859375 -0.609375 C 1.734375 -0.609375 1.609375 -1.5 1.578125 -2.140625 L 4.296875 -2.140625 C 4.53125 -2.140625 4.78125 -2.140625 4.78125 -2.59375 Z M 3.671875 -2.65625 L 1.59375 -2.65625 C 1.625 -3.265625 1.828125 -4.015625 2.6875 -4.015625 C 3.484375 -4.015625 3.640625 -3.4375 3.671875 -2.65625 Z M 3.671875 -2.65625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-2">
+<path style="stroke:none;" d="M 1.9375 -0.484375 L 1.9375 -4.09375 C 1.9375 -4.40625 1.859375 -4.5625 1.453125 -4.5625 L 1.09375 -4.5625 C 0.734375 -4.5625 0.609375 -4.453125 0.609375 -4.09375 L 0.609375 -0.484375 C 0.609375 -0.125 0.71875 0 1.09375 0 L 1.453125 0 C 1.828125 0 1.9375 -0.125 1.9375 -0.484375 Z M 2 -6.046875 L 2 -6.234375 C 2 -6.546875 1.9375 -6.703125 1.53125 -6.703125 L 1.015625 -6.703125 C 0.640625 -6.703125 0.53125 -6.578125 0.53125 -6.234375 L 0.53125 -6.046875 C 0.53125 -5.75 0.59375 -5.5625 1.015625 -5.5625 L 1.53125 -5.5625 C 1.9375 -5.5625 2 -5.734375 2 -6.046875 Z M 2 -6.046875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-3">
+<path style="stroke:none;" d="M 5.328125 -4.03125 C 5.328125 -4.078125 5.28125 -4.3125 5.25 -4.421875 C 5.21875 -4.65625 5.21875 -4.671875 5.03125 -4.671875 C 4.71875 -4.671875 4.234375 -4.5625 3.84375 -4.328125 C 3.375 -4.640625 2.859375 -4.671875 2.4375 -4.671875 C 2.015625 -4.671875 0.421875 -4.671875 0.421875 -3.03125 C 0.421875 -2.625 0.53125 -2.140625 0.921875 -1.796875 C 0.640625 -1.4375 0.640625 -1.046875 0.640625 -1 C 0.640625 -0.8125 0.703125 -0.484375 0.921875 -0.203125 C 0.765625 -0.15625 0.25 0.03125 0.25 0.671875 C 0.25 0.984375 0.40625 1.5 1.03125 1.78125 C 1.59375 2.046875 2.265625 2.046875 2.734375 2.046875 C 3.3125 2.046875 5.21875 2.046875 5.21875 0.640625 C 5.21875 -0.921875 3.8125 -0.921875 2.46875 -0.921875 L 2 -0.921875 C 1.640625 -0.921875 1.5 -0.921875 1.359375 -1.03125 C 1.3125 -1.078125 1.140625 -1.21875 1.140625 -1.484375 C 1.140625 -1.5625 1.15625 -1.578125 1.171875 -1.640625 C 1.640625 -1.375 2.21875 -1.375 2.4375 -1.375 C 2.84375 -1.375 4.4375 -1.375 4.4375 -3.015625 C 4.4375 -3.59375 4.21875 -3.953125 4.125 -4.0625 C 4.296875 -4.0625 4.640625 -4.0625 5.046875 -3.953125 C 5.09375 -3.921875 5.15625 -3.90625 5.1875 -3.90625 C 5.28125 -3.90625 5.328125 -3.96875 5.328125 -4.03125 Z M 3.15625 -3.03125 C 3.15625 -2.484375 3.125 -2.09375 2.4375 -2.09375 C 1.734375 -2.09375 1.703125 -2.46875 1.703125 -3.015625 C 1.703125 -3.5625 1.734375 -3.953125 2.4375 -3.953125 C 3.125 -3.953125 3.15625 -3.578125 3.15625 -3.03125 Z M 4.203125 0.671875 C 4.203125 1.328125 3.0625 1.328125 2.734375 1.328125 C 2.34375 1.328125 1.28125 1.328125 1.28125 0.640625 C 1.28125 0.171875 1.578125 0.171875 1.8125 0.171875 L 2.96875 0.171875 C 3.78125 0.171875 4.203125 0.3125 4.203125 0.671875 Z M 4.203125 0.671875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph11-4">
+<path style="stroke:none;" d="M 3.71875 -0.46875 C 3.71875 -0.5 3.703125 -0.5625 3.640625 -0.78125 C 3.59375 -0.984375 3.5625 -1.03125 3.484375 -1.03125 C 3.421875 -1.03125 3.421875 -1.03125 3.359375 -0.96875 C 3.25 -0.890625 2.984375 -0.671875 2.5625 -0.671875 C 2.328125 -0.671875 2.171875 -0.84375 2.171875 -1.5 L 2.171875 -3.84375 L 3.0625 -3.84375 C 3.1875 -3.84375 3.53125 -3.84375 3.53125 -4.203125 C 3.53125 -4.5625 3.1875 -4.5625 3.0625 -4.5625 L 2.171875 -4.5625 L 2.171875 -5.390625 C 2.171875 -5.71875 2.109375 -5.875 1.6875 -5.875 L 1.390625 -5.875 C 1.03125 -5.875 0.90625 -5.765625 0.90625 -5.390625 L 0.90625 -4.5625 L 0.671875 -4.5625 C 0.5625 -4.5625 0.203125 -4.5625 0.203125 -4.203125 C 0.203125 -3.84375 0.5625 -3.84375 0.671875 -3.84375 L 0.875 -3.84375 L 0.875 -1.328125 C 0.875 -0.3125 1.234375 0.109375 1.921875 0.109375 C 2.015625 0.109375 2.453125 0.109375 2.96875 -0.046875 C 3.140625 -0.09375 3.71875 -0.28125 3.71875 -0.46875 Z M 3.71875 -0.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-0">
+<path style="stroke:none;" d="M 7.171875 -4.28125 C 7.140625 -4.5625 6.953125 -4.5625 6.65625 -4.5625 C 6.1875 -4.5625 6.0625 -4.53125 5.921875 -4.015625 L 5.109375 -1.125 L 4.265625 -4.109375 C 4.203125 -4.34375 4.140625 -4.5625 3.671875 -4.5625 C 3.53125 -4.5625 3.296875 -4.5625 3.15625 -4.34375 C 3.078125 -4.1875 2.625 -2.46875 2.28125 -1.296875 L 1.484375 -4.109375 C 1.390625 -4.453125 1.28125 -4.5625 0.875 -4.5625 L 0.671875 -4.5625 C 0.484375 -4.5625 0.265625 -4.5625 0.234375 -4.28125 L 1.296875 -0.453125 C 1.421875 0 1.6875 0 1.9375 0 L 2.21875 0 C 2.6875 0 2.765625 -0.15625 2.875 -0.546875 C 3.09375 -1.375 3.453125 -2.625 3.5 -3.15625 L 3.515625 -3.15625 C 3.5625 -2.59375 4 -1.015625 4.140625 -0.546875 C 4.25 -0.1875 4.296875 0 4.796875 0 L 5.46875 0 C 5.90625 0 6 -0.125 6.09375 -0.453125 Z M 7.171875 -4.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-1">
+<path style="stroke:none;" d="M 1.9375 -0.484375 L 1.9375 -4.09375 C 1.9375 -4.40625 1.859375 -4.5625 1.453125 -4.5625 L 1.09375 -4.5625 C 0.734375 -4.5625 0.609375 -4.453125 0.609375 -4.09375 L 0.609375 -0.484375 C 0.609375 -0.125 0.71875 0 1.09375 0 L 1.453125 0 C 1.828125 0 1.9375 -0.125 1.9375 -0.484375 Z M 2 -6.046875 L 2 -6.234375 C 2 -6.546875 1.9375 -6.703125 1.53125 -6.703125 L 1.015625 -6.703125 C 0.640625 -6.703125 0.53125 -6.578125 0.53125 -6.234375 L 0.53125 -6.046875 C 0.53125 -5.75 0.59375 -5.5625 1.015625 -5.5625 L 1.53125 -5.5625 C 1.9375 -5.5625 2 -5.734375 2 -6.046875 Z M 2 -6.046875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-2">
+<path style="stroke:none;" d="M 4.96875 -0.484375 L 4.96875 -6.4375 C 4.96875 -6.765625 4.90625 -6.921875 4.5 -6.921875 L 4.125 -6.921875 C 3.75 -6.921875 3.65625 -6.78125 3.65625 -6.4375 L 3.65625 -4.171875 C 3.203125 -4.609375 2.703125 -4.671875 2.390625 -4.671875 C 0.375 -4.671875 0.375 -2.765625 0.375 -2.265625 C 0.375 -1.8125 0.375 0.109375 2.34375 0.109375 C 2.765625 0.109375 3.1875 -0.015625 3.625 -0.46875 C 3.625 -0.09375 3.765625 0 4.09375 0 L 4.5 0 C 4.875 0 4.96875 -0.125 4.96875 -0.484375 Z M 3.625 -1.25 C 3.625 -1.078125 3.625 -0.984375 3.328125 -0.78125 C 3.078125 -0.625 2.84375 -0.609375 2.734375 -0.609375 C 1.71875 -0.609375 1.71875 -1.53125 1.71875 -2.265625 C 1.71875 -3.015625 1.71875 -3.953125 2.84375 -3.953125 C 3.125 -3.953125 3.40625 -3.859375 3.625 -3.65625 Z M 3.625 -1.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-3">
+<path style="stroke:none;" d="M 3.71875 -0.46875 C 3.71875 -0.5 3.703125 -0.5625 3.640625 -0.78125 C 3.59375 -0.984375 3.5625 -1.03125 3.484375 -1.03125 C 3.421875 -1.03125 3.421875 -1.03125 3.359375 -0.96875 C 3.25 -0.890625 2.984375 -0.671875 2.5625 -0.671875 C 2.328125 -0.671875 2.171875 -0.84375 2.171875 -1.5 L 2.171875 -3.84375 L 3.0625 -3.84375 C 3.1875 -3.84375 3.53125 -3.84375 3.53125 -4.203125 C 3.53125 -4.5625 3.1875 -4.5625 3.0625 -4.5625 L 2.171875 -4.5625 L 2.171875 -5.390625 C 2.171875 -5.71875 2.109375 -5.875 1.6875 -5.875 L 1.390625 -5.875 C 1.03125 -5.875 0.90625 -5.765625 0.90625 -5.390625 L 0.90625 -4.5625 L 0.671875 -4.5625 C 0.5625 -4.5625 0.203125 -4.5625 0.203125 -4.203125 C 0.203125 -3.84375 0.5625 -3.84375 0.671875 -3.84375 L 0.875 -3.84375 L 0.875 -1.328125 C 0.875 -0.3125 1.234375 0.109375 1.921875 0.109375 C 2.015625 0.109375 2.453125 0.109375 2.96875 -0.046875 C 3.140625 -0.09375 3.71875 -0.28125 3.71875 -0.46875 Z M 3.71875 -0.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph12-4">
+<path style="stroke:none;" d="M 4.984375 -0.484375 L 4.984375 -3.234375 C 4.984375 -4.265625 4.546875 -4.671875 3.53125 -4.671875 C 2.53125 -4.671875 2.078125 -3.984375 1.9375 -3.703125 L 1.921875 -3.703125 L 1.921875 -6.4375 C 1.921875 -6.765625 1.859375 -6.921875 1.453125 -6.921875 L 1.078125 -6.921875 C 0.71875 -6.921875 0.59375 -6.8125 0.59375 -6.4375 L 0.59375 -0.484375 C 0.59375 -0.125 0.703125 0 1.078125 0 L 1.46875 0 C 1.859375 0 1.953125 -0.125 1.953125 -0.484375 L 1.953125 -2.6875 C 1.953125 -3.546875 2.53125 -3.953125 3.046875 -3.953125 C 3.53125 -3.953125 3.625 -3.734375 3.625 -3.21875 L 3.625 -0.484375 C 3.625 -0.15625 3.703125 0 4.109375 0 L 4.5 0 C 4.890625 0 4.984375 -0.125 4.984375 -0.484375 Z M 4.984375 -0.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-0">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-2">
+<path style="stroke:none;" d="M 4.78125 -2.21875 C 4.78125 -3.421875 4.15625 -4.53125 3.203125 -4.53125 C 2.609375 -4.53125 2.03125 -4.328125 1.5625 -3.9375 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 1.9375 L 1.59375 1.9375 L 1.59375 -0.453125 C 1.90625 -0.171875 2.34375 0.109375 2.9375 0.109375 C 3.90625 0.109375 4.78125 -0.875 4.78125 -2.21875 Z M 4 -2.21875 C 4 -1.203125 3.296875 -0.5 2.546875 -0.5 C 2.15625 -0.5 1.890625 -0.703125 1.6875 -0.96875 C 1.59375 -1.109375 1.59375 -1.140625 1.59375 -1.3125 L 1.59375 -3.3125 C 1.828125 -3.671875 2.21875 -3.890625 2.65625 -3.890625 C 3.40625 -3.890625 4 -3.140625 4 -2.21875 Z M 4 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-3">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-4">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-5">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-6">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-7">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-8">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph13-9">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-0">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-2">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-3">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-4">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-5">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-6">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-7">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-8">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph14-9">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-0">
+<path style="stroke:none;" d="M 2.828125 -0.21875 L 2.6875 -0.71875 C 2.421875 -0.53125 2.140625 -0.46875 1.921875 -0.46875 C 1.578125 -0.46875 1.5 -0.796875 1.5 -1.15625 L 1.5 -3.03125 L 2.671875 -3.03125 L 2.671875 -3.53125 L 1.5 -3.53125 L 1.5 -4.546875 L 0.890625 -4.546875 L 0.890625 -3.53125 L 0.15625 -3.53125 L 0.15625 -3.03125 L 0.859375 -3.03125 L 0.859375 -1.015625 C 0.859375 -0.484375 1 0.078125 1.5625 0.078125 C 2.140625 0.078125 2.578125 -0.109375 2.828125 -0.21875 Z M 2.828125 -0.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-1">
+<path style="stroke:none;" d="M 3.5 -1.75 C 3.5 -2.109375 3.46875 -2.640625 3.15625 -3.09375 C 2.875 -3.5 2.390625 -3.65625 2 -3.65625 C 1.03125 -3.65625 0.28125 -2.8125 0.28125 -1.796875 C 0.28125 -0.765625 1.078125 0.078125 2.125 0.078125 C 2.59375 0.078125 3.0625 -0.0625 3.46875 -0.296875 L 3.421875 -0.875 C 2.984375 -0.546875 2.484375 -0.453125 2.140625 -0.453125 C 1.4375 -0.453125 0.921875 -1.015625 0.890625 -1.75 Z M 3.015625 -2.21875 L 0.953125 -2.21875 C 1.125 -2.859375 1.609375 -3.125 2 -3.125 C 2.34375 -3.125 2.875 -2.96875 3.015625 -2.21875 Z M 3.015625 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-2">
+<path style="stroke:none;" d="M 3.890625 0 L 2.203125 -1.828125 L 3.75 -3.53125 L 3.046875 -3.53125 L 1.921875 -2.234375 L 0.765625 -3.53125 L 0.046875 -3.53125 L 1.640625 -1.828125 L 0 0 L 0.703125 0 L 1.921875 -1.5 L 3.171875 0 Z M 3.890625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-3">
+<path style="stroke:none;" d="M 3.703125 0 L 3.703125 -2.359375 C 3.703125 -2.984375 3.515625 -3.625 2.546875 -3.625 C 1.859375 -3.625 1.484375 -3.21875 1.328125 -3.046875 L 1.328125 -5.53125 L 0.65625 -5.53125 L 0.65625 0 L 1.359375 0 L 1.359375 -1.9375 C 1.359375 -2.46875 1.578125 -3.09375 2.1875 -3.09375 C 3.015625 -3.09375 3.015625 -2.53125 3.015625 -2.296875 L 3.015625 0 Z M 3.703125 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-4">
+<path style="stroke:none;" d="M 1.34375 0 L 1.34375 -3.53125 L 0.671875 -3.53125 L 0.671875 0 Z M 1.40625 -4.46875 L 1.40625 -5.265625 L 0.609375 -5.265625 L 0.609375 -4.46875 Z M 1.40625 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph15-5">
+<path style="stroke:none;" d="M 4.109375 -3.078125 L 4.015625 -3.625 C 3.828125 -3.625 3.296875 -3.609375 2.6875 -3.375 L 2.671875 -3.375 C 2.390625 -3.5625 2.109375 -3.625 1.875 -3.625 C 1.09375 -3.625 0.515625 -3 0.515625 -2.3125 C 0.515625 -2.046875 0.609375 -1.75 0.796875 -1.53125 C 0.6875 -1.390625 0.5625 -1.171875 0.5625 -0.875 C 0.5625 -0.5625 0.6875 -0.359375 0.765625 -0.265625 C 0.328125 -0.015625 0.234375 0.359375 0.234375 0.546875 C 0.234375 1.15625 1.078125 1.640625 2.109375 1.640625 C 3.15625 1.640625 3.984375 1.15625 3.984375 0.546875 C 3.984375 -0.578125 2.59375 -0.578125 2.25 -0.578125 L 1.5 -0.578125 C 1.375 -0.578125 1.03125 -0.578125 1.03125 -0.984375 C 1.03125 -1.140625 1.09375 -1.234375 1.09375 -1.25 C 1.375 -1.0625 1.65625 -1.015625 1.875 -1.015625 C 2.65625 -1.015625 3.234375 -1.625 3.234375 -2.3125 C 3.234375 -2.5625 3.15625 -2.796875 3.015625 -3.015625 C 2.984375 -3.0625 2.984375 -3.078125 2.984375 -3.078125 C 2.984375 -3.109375 3.46875 -3.109375 3.5 -3.109375 C 3.5 -3.109375 3.8125 -3.109375 4.109375 -3.078125 Z M 2.625 -2.3125 C 2.625 -1.703125 2.21875 -1.5 1.875 -1.5 C 1.453125 -1.5 1.125 -1.78125 1.125 -2.3125 C 1.125 -2.9375 1.53125 -3.125 1.875 -3.125 C 2.296875 -3.125 2.625 -2.859375 2.625 -2.3125 Z M 3.375 0.5625 C 3.375 0.90625 2.78125 1.140625 2.109375 1.140625 C 1.4375 1.140625 0.84375 0.90625 0.84375 0.5625 C 0.84375 0.515625 0.84375 0.046875 1.484375 0.046875 L 2.25 0.046875 C 2.4375 0.046875 3.375 0.046875 3.375 0.5625 Z M 3.375 0.5625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-0">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-2">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-3">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-4">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-5">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-6">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-7">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-8">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph16-10">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-0">
+<path style="stroke:none;" d="M 4.78125 -2.21875 C 4.78125 -3.453125 4.109375 -4.53125 3.171875 -4.53125 C 2.78125 -4.53125 2.15625 -4.4375 1.5625 -3.953125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.59375 0 L 1.59375 -0.453125 C 1.828125 -0.234375 2.265625 0.109375 2.9375 0.109375 C 3.921875 0.109375 4.78125 -0.890625 4.78125 -2.21875 Z M 4 -2.21875 C 4 -0.921875 3.171875 -0.5 2.5625 -0.5 C 2.171875 -0.5 1.84375 -0.671875 1.59375 -1.140625 L 1.59375 -3.34375 C 1.75 -3.578125 2.109375 -3.921875 2.65625 -3.921875 C 3.25 -3.921875 4 -3.5 4 -2.21875 Z M 4 -2.21875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-1">
+<path style="stroke:none;" d="M 4.671875 -2.1875 C 4.671875 -3.53125 3.671875 -4.59375 2.5 -4.59375 C 1.265625 -4.59375 0.296875 -3.5 0.296875 -2.1875 C 0.296875 -0.875 1.3125 0.109375 2.484375 0.109375 C 3.671875 0.109375 4.671875 -0.890625 4.671875 -2.1875 Z M 3.890625 -2.296875 C 3.890625 -1.109375 3.21875 -0.53125 2.484375 -0.53125 C 1.796875 -0.53125 1.078125 -1.09375 1.078125 -2.296875 C 1.078125 -3.5 1.828125 -3.984375 2.484375 -3.984375 C 3.1875 -3.984375 3.890625 -3.46875 3.890625 -2.296875 Z M 3.890625 -2.296875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-2">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-3">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-4">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-5">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-6">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-7">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-8">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-9">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph17-10">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-4">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-5">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph18-6">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-4">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-5">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-6">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-7">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-8">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-10">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph19-11">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-0">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-1">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-3">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-4">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-5">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-6">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-7">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph20-8">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-4">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-5">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-6">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-7">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-8">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph21-10">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-0">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 Z M 1.5625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-1">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-2">
+<path style="stroke:none;" d="M 3.453125 -6.25 L 3.453125 -6.921875 C 3.34375 -6.953125 3.03125 -7.03125 2.65625 -7.03125 C 1.71875 -7.03125 1 -6.3125 1 -5.328125 L 1 -4.421875 L 0.265625 -4.421875 L 0.265625 -3.84375 L 1 -3.84375 L 1 0 L 1.75 0 L 1.75 -3.84375 L 2.84375 -3.84375 L 2.84375 -4.421875 L 1.71875 -4.421875 L 1.71875 -5.609375 C 1.71875 -6.34375 2.390625 -6.421875 2.65625 -6.421875 C 2.84375 -6.421875 3.125 -6.40625 3.453125 -6.25 Z M 3.453125 -6.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-3">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-4">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-5">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-6">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-7">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-8">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-10">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-11">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-12">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph22-13">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-0">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-1">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-2">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-3">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-4">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-5">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-6">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-7">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-8">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-9">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph23-10">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-5">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-6">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-7">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-8">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-9">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-10">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-11">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph24-12">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-5">
+<path style="stroke:none;" d="M 7.109375 0 L 7.109375 -2.96875 C 7.109375 -3.640625 6.953125 -4.53125 5.734375 -4.53125 C 5.140625 -4.53125 4.625 -4.25 4.25 -3.71875 C 4 -4.46875 3.296875 -4.53125 2.984375 -4.53125 C 2.265625 -4.53125 1.796875 -4.125 1.53125 -3.765625 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.125 1.859375 -3.921875 2.59375 -3.921875 C 3.515625 -3.921875 3.5625 -3.28125 3.5625 -2.90625 L 3.5625 0 L 4.34375 0 L 4.34375 -2.4375 C 4.34375 -3.125 4.609375 -3.921875 5.359375 -3.921875 C 6.28125 -3.921875 6.328125 -3.28125 6.328125 -2.90625 L 6.328125 0 Z M 7.109375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-6">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-7">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph25-8">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-5">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-6">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-7">
+<path style="stroke:none;" d="M 3.59375 -1.28125 C 3.59375 -1.828125 3.21875 -2.15625 3.203125 -2.1875 C 2.8125 -2.546875 2.546875 -2.609375 2.046875 -2.6875 C 1.5 -2.796875 1.03125 -2.90625 1.03125 -3.390625 C 1.03125 -4 1.75 -4 1.890625 -4 C 2.203125 -4 2.734375 -3.96875 3.296875 -3.625 L 3.421875 -4.28125 C 2.90625 -4.515625 2.5 -4.59375 1.984375 -4.59375 C 1.734375 -4.59375 0.328125 -4.59375 0.328125 -3.296875 C 0.328125 -2.796875 0.625 -2.484375 0.875 -2.296875 C 1.171875 -2.078125 1.390625 -2.03125 1.9375 -1.921875 C 2.296875 -1.859375 2.875 -1.734375 2.875 -1.203125 C 2.875 -0.515625 2.09375 -0.515625 1.9375 -0.515625 C 1.140625 -0.515625 0.578125 -0.890625 0.40625 -1 L 0.28125 -0.328125 C 0.59375 -0.171875 1.140625 0.109375 1.953125 0.109375 C 2.140625 0.109375 2.6875 0.109375 3.109375 -0.203125 C 3.421875 -0.453125 3.59375 -0.84375 3.59375 -1.28125 Z M 3.59375 -1.28125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-8">
+<path style="stroke:none;" d="M 4.078125 0 L 4.078125 -2.875 C 4.078125 -3.890625 3.34375 -4.59375 2.4375 -4.59375 C 1.78125 -4.59375 1.328125 -4.4375 0.875 -4.171875 L 0.921875 -3.515625 C 1.453125 -3.875 1.9375 -4 2.4375 -4 C 2.90625 -4 3.296875 -3.609375 3.296875 -2.875 L 3.296875 -2.4375 C 1.796875 -2.421875 0.53125 -2 0.53125 -1.125 C 0.53125 -0.703125 0.8125 0.109375 1.671875 0.109375 C 1.8125 0.109375 2.75 0.09375 3.328125 -0.359375 L 3.328125 0 Z M 3.296875 -1.3125 C 3.296875 -1.125 3.296875 -0.875 2.953125 -0.6875 C 2.671875 -0.515625 2.296875 -0.5 2.1875 -0.5 C 1.703125 -0.5 1.25 -0.734375 1.25 -1.140625 C 1.25 -1.84375 2.875 -1.90625 3.296875 -1.9375 Z M 3.296875 -1.3125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-9">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.078125 -4.53125 1.578125 -3.859375 1.53125 -3.78125 L 1.53125 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-10">
+<path style="stroke:none;" d="M 4.140625 -0.40625 L 4.078125 -1.0625 C 3.5625 -0.671875 3.03125 -0.53125 2.515625 -0.53125 C 1.6875 -0.53125 1.140625 -1.25 1.140625 -2.21875 C 1.140625 -3 1.5 -3.953125 2.5625 -3.953125 C 3.078125 -3.953125 3.421875 -3.875 3.96875 -3.515625 L 4.09375 -4.171875 C 3.5 -4.5 3.15625 -4.59375 2.546875 -4.59375 C 1.171875 -4.59375 0.359375 -3.390625 0.359375 -2.21875 C 0.359375 -0.984375 1.265625 0.109375 2.515625 0.109375 C 3.046875 0.109375 3.59375 -0.03125 4.140625 -0.40625 Z M 4.140625 -0.40625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph26-11">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-0">
+<path style="stroke:none;" d="M 3.265625 -3.875 L 3.265625 -4.53125 C 2.375 -4.53125 1.828125 -4.03125 1.515625 -3.578125 L 1.515625 -4.484375 L 0.8125 -4.484375 L 0.8125 0 L 1.5625 0 L 1.5625 -2.140625 C 1.5625 -3.125 2.28125 -3.84375 3.265625 -3.875 Z M 3.265625 -3.875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-1">
+<path style="stroke:none;" d="M 1.5625 0 L 1.5625 -4.421875 L 0.8125 -4.421875 L 0.8125 0 Z M 1.640625 -5.640625 L 1.640625 -6.53125 L 0.75 -6.53125 L 0.75 -5.640625 Z M 1.640625 -5.640625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-2">
+<path style="stroke:none;" d="M 4.828125 -3.90625 L 4.71875 -4.53125 C 4.03125 -4.53125 3.453125 -4.34375 3.15625 -4.21875 C 2.9375 -4.390625 2.609375 -4.53125 2.203125 -4.53125 C 1.34375 -4.53125 0.625 -3.8125 0.625 -2.90625 C 0.625 -2.546875 0.75 -2.1875 0.953125 -1.921875 C 0.65625 -1.515625 0.65625 -1.125 0.65625 -1.078125 C 0.65625 -0.8125 0.75 -0.53125 0.921875 -0.3125 C 0.40625 -0.015625 0.28125 0.453125 0.28125 0.703125 C 0.28125 1.453125 1.265625 2.046875 2.484375 2.046875 C 3.703125 2.046875 4.6875 1.46875 4.6875 0.703125 C 4.6875 -0.6875 3.03125 -0.6875 2.640625 -0.6875 L 1.765625 -0.6875 C 1.640625 -0.6875 1.1875 -0.6875 1.1875 -1.21875 C 1.1875 -1.328125 1.21875 -1.484375 1.296875 -1.578125 C 1.5 -1.421875 1.828125 -1.28125 2.203125 -1.28125 C 3.09375 -1.28125 3.796875 -2.03125 3.796875 -2.90625 C 3.796875 -3.390625 3.578125 -3.765625 3.46875 -3.90625 L 3.515625 -3.890625 C 3.734375 -3.890625 4 -3.9375 4.25 -3.9375 C 4.421875 -3.9375 4.828125 -3.90625 4.828125 -3.90625 Z M 3.09375 -2.90625 C 3.09375 -2.140625 2.625 -1.859375 2.203125 -1.859375 C 1.828125 -1.859375 1.3125 -2.078125 1.3125 -2.90625 C 1.3125 -3.734375 1.828125 -3.96875 2.203125 -3.96875 C 2.625 -3.96875 3.09375 -3.6875 3.09375 -2.90625 Z M 4 0.71875 C 4 1.15625 3.3125 1.484375 2.5 1.484375 C 1.6875 1.484375 0.984375 1.171875 0.984375 0.703125 C 0.984375 0.671875 0.984375 0.03125 1.75 0.03125 L 2.65625 0.03125 C 2.875 0.03125 4 0.03125 4 0.71875 Z M 4 0.71875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-3">
+<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -2.96875 C 4.34375 -3.625 4.1875 -4.53125 2.96875 -4.53125 C 2.359375 -4.53125 1.875 -4.234375 1.5625 -3.8125 L 1.5625 -6.921875 L 0.8125 -6.921875 L 0.8125 0 L 1.578125 0 L 1.578125 -2.4375 C 1.578125 -3.09375 1.828125 -3.921875 2.59375 -3.921875 C 3.546875 -3.921875 3.5625 -3.21875 3.5625 -2.90625 L 3.5625 0 Z M 4.34375 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-4">
+<path style="stroke:none;" d="M 3.3125 -0.265625 L 3.15625 -0.859375 C 2.890625 -0.640625 2.578125 -0.53125 2.25 -0.53125 C 1.890625 -0.53125 1.75 -0.828125 1.75 -1.359375 L 1.75 -3.84375 L 3.15625 -3.84375 L 3.15625 -4.421875 L 1.75 -4.421875 L 1.75 -5.6875 L 1.0625 -5.6875 L 1.0625 -4.421875 L 0.1875 -4.421875 L 0.1875 -3.84375 L 1.03125 -3.84375 L 1.03125 -1.1875 C 1.03125 -0.59375 1.171875 0.109375 1.859375 0.109375 C 2.546875 0.109375 3.0625 -0.140625 3.3125 -0.265625 Z M 3.3125 -0.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-5">
+<path style="stroke:none;" d="M 4.125 -2.1875 C 4.125 -2.515625 4.109375 -3.265625 3.734375 -3.875 C 3.3125 -4.484375 2.71875 -4.59375 2.359375 -4.59375 C 1.25 -4.59375 0.34375 -3.53125 0.34375 -2.25 C 0.34375 -0.9375 1.3125 0.109375 2.5 0.109375 C 3.125 0.109375 3.703125 -0.125 4.09375 -0.40625 L 4.03125 -1.0625 C 3.40625 -0.53125 2.734375 -0.5 2.515625 -0.5 C 1.71875 -0.5 1.078125 -1.203125 1.046875 -2.1875 Z M 3.5625 -2.734375 L 1.09375 -2.734375 C 1.25 -3.484375 1.78125 -3.984375 2.359375 -3.984375 C 2.875 -3.984375 3.421875 -3.65625 3.5625 -2.734375 Z M 3.5625 -2.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-6">
+<path style="stroke:none;" d="M 4.328125 0 L 4.328125 -6.921875 L 3.578125 -6.921875 L 3.578125 -3.984375 C 3.046875 -4.421875 2.5 -4.53125 2.125 -4.53125 C 1.140625 -4.53125 0.359375 -3.5 0.359375 -2.21875 C 0.359375 -0.90625 1.125 0.109375 2.078125 0.109375 C 2.40625 0.109375 2.984375 0.015625 3.546875 -0.515625 L 3.546875 0 Z M 3.546875 -1.390625 C 3.546875 -1.25 3.53125 -1.0625 3.21875 -0.78125 C 2.984375 -0.578125 2.734375 -0.5 2.484375 -0.5 C 1.859375 -0.5 1.140625 -0.96875 1.140625 -2.203125 C 1.140625 -3.515625 2 -3.921875 2.578125 -3.921875 C 3.03125 -3.921875 3.328125 -3.703125 3.546875 -3.375 Z M 3.546875 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph27-7">
+<path style="stroke:none;" d="M 1.796875 -0.015625 L 1.796875 -0.828125 L 0.96875 -0.828125 L 0.96875 0 L 1.21875 0 L 0.96875 1.25 L 1.375 1.25 Z M 1.796875 -0.015625 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface1">
+<path style="fill:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M -0.00059375 -340.160387 C 119.054094 -340.160387 238.112687 -340.160387 357.167375 -340.160387 C 357.167375 -226.773669 357.167375 -113.38695 357.167375 -0.00023125 C 238.112687 -0.00023125 119.054094 -0.00023125 -0.00059375 -0.00023125 C -0.00059375 -113.38695 -0.00059375 -226.773669 -0.00059375 -340.160387 Z M -0.00059375 -340.160387 " transform="matrix(1,0,0,-1,48.067,40.1443)"/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 142.191406 L 286.179688 142.191406 L 286.179688 244.242188 L 167.125 244.242188 Z M 167.125 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 108.175781 L 286.179688 108.175781 L 286.179688 125.183594 L 167.125 125.183594 Z M 167.125 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 261.25 L 286.179688 261.25 L 286.179688 278.257812 L 167.125 278.257812 Z M 167.125 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 65.65625 L 286.179688 65.65625 L 286.179688 91.167969 L 167.125 91.167969 Z M 167.125 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 167.125 295.265625 L 286.179688 295.265625 L 286.179688 320.777344 L 167.125 320.777344 Z M 167.125 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 142.191406 L 155.21875 142.191406 L 155.21875 244.242188 L 105.894531 244.242188 Z M 105.894531 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 108.175781 L 155.21875 108.175781 L 155.21875 125.183594 L 105.894531 125.183594 Z M 105.894531 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 261.25 L 155.21875 261.25 L 155.21875 278.257812 L 105.894531 278.257812 Z M 105.894531 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 65.65625 L 155.21875 65.65625 L 155.21875 91.167969 L 105.894531 91.167969 Z M 105.894531 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 105.894531 295.265625 L 155.21875 295.265625 L 155.21875 320.777344 L 105.894531 320.777344 Z M 105.894531 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 142.191406 L 347.410156 142.191406 L 347.410156 244.242188 L 298.085938 244.242188 Z M 298.085938 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 108.175781 L 347.410156 108.175781 L 347.410156 125.183594 L 298.085938 125.183594 Z M 298.085938 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 261.25 L 347.410156 261.25 L 347.410156 278.257812 L 298.085938 278.257812 Z M 298.085938 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 65.65625 L 347.410156 65.65625 L 347.410156 91.167969 L 298.085938 91.167969 Z M 298.085938 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 298.085938 295.265625 L 347.410156 295.265625 L 347.410156 320.777344 L 298.085938 320.777344 Z M 298.085938 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 142.191406 L 97.390625 142.191406 L 97.390625 244.242188 L 53.167969 244.242188 Z M 53.167969 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 108.175781 L 97.390625 108.175781 L 97.390625 125.183594 L 53.167969 125.183594 Z M 53.167969 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 261.25 L 97.390625 261.25 L 97.390625 278.257812 L 53.167969 278.257812 Z M 53.167969 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 65.65625 L 97.390625 65.65625 L 97.390625 91.167969 L 53.167969 91.167969 Z M 53.167969 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 53.167969 295.265625 L 97.390625 295.265625 L 97.390625 320.777344 L 53.167969 320.777344 Z M 53.167969 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 142.191406 L 400.132812 142.191406 L 400.132812 244.242188 L 355.914062 244.242188 Z M 355.914062 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 108.175781 L 400.132812 108.175781 L 400.132812 125.183594 L 355.914062 125.183594 Z M 355.914062 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 261.25 L 400.132812 261.25 L 400.132812 278.257812 L 355.914062 278.257812 Z M 355.914062 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 65.65625 L 400.132812 65.65625 L 400.132812 91.167969 L 355.914062 91.167969 Z M 355.914062 65.65625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 355.914062 295.265625 L 400.132812 295.265625 L 400.132812 320.777344 L 355.914062 320.777344 Z M 355.914062 295.265625 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-0" x="218.5448" y="23.4284"/>
+ <use xlink:href="#glyph0-1" x="222.141312" y="23.4284"/>
+ <use xlink:href="#glyph0-2" x="226.564722" y="23.4284"/>
+ <use xlink:href="#glyph0-0" x="231.157497" y="23.4284"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-0" x="123.8304" y="23.4284"/>
+ <use xlink:href="#glyph1-1" x="126.211472" y="23.4284"/>
+ <use xlink:href="#glyph1-2" x="130.634886" y="23.4284"/>
+ <use xlink:href="#glyph1-3" x="133.683455" y="23.4284"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-0" x="116.3834" y="32.6618"/>
+ <use xlink:href="#glyph2-1" x="124.293735" y="32.6618"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-2" x="128.80681" y="32.6618"/>
+ <use xlink:href="#glyph2-3" x="132.214033" y="32.6618"/>
+ <use xlink:href="#glyph2-4" x="137.195352" y="32.6618"/>
+ <use xlink:href="#glyph2-5" x="139.576423" y="32.6618"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph1-0" x="68.5549" y="23.4284"/>
+ <use xlink:href="#glyph1-1" x="70.935972" y="23.4284"/>
+ <use xlink:href="#glyph1-2" x="75.359386" y="23.4284"/>
+ <use xlink:href="#glyph1-3" x="78.407955" y="23.4284"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph3-0" x="65.7903" y="33.050398"/>
+ <use xlink:href="#glyph3-1" x="70.213713" y="33.050398"/>
+ <use xlink:href="#glyph3-2" x="75.364399" y="33.050398"/>
+ <use xlink:href="#glyph3-0" x="80.34572" y="33.050398"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph4-0" x="312.9852" y="21.485698"/>
+ <use xlink:href="#glyph4-1" x="316.392424" y="21.485698"/>
+ <use xlink:href="#glyph4-2" x="318.773496" y="21.485698"/>
+ <use xlink:href="#glyph4-3" x="323.754818" y="21.485698"/>
+ <use xlink:href="#glyph4-4" x="328.905504" y="21.485698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-0" x="308.5718" y="32.6618"/>
+ <use xlink:href="#glyph2-1" x="316.482135" y="32.6618"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-2" x="320.99521" y="32.6618"/>
+ <use xlink:href="#glyph2-3" x="324.402433" y="32.6618"/>
+ <use xlink:href="#glyph2-4" x="329.383752" y="32.6618"/>
+ <use xlink:href="#glyph2-5" x="331.764823" y="32.6618"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph4-0" x="368.2607" y="21.485698"/>
+ <use xlink:href="#glyph4-1" x="371.667924" y="21.485698"/>
+ <use xlink:href="#glyph4-2" x="374.048996" y="21.485698"/>
+ <use xlink:href="#glyph4-3" x="379.030318" y="21.485698"/>
+ <use xlink:href="#glyph4-4" x="384.181004" y="21.485698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph3-0" x="368.5297" y="33.050398"/>
+ <use xlink:href="#glyph3-1" x="372.953113" y="33.050398"/>
+ <use xlink:href="#glyph3-2" x="378.103799" y="33.050398"/>
+ <use xlink:href="#glyph3-0" x="383.08512" y="33.050398"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph0-0" x="28.858" y="196.0044"/>
+ <use xlink:href="#glyph0-1" x="32.454512" y="196.0044"/>
+ <use xlink:href="#glyph0-2" x="36.877922" y="196.0044"/>
+ <use xlink:href="#glyph0-0" x="41.470697" y="196.0044"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph5-0" x="17.7199" y="120.0818"/>
+ <use xlink:href="#glyph5-1" x="22.870585" y="120.0818"/>
+ <use xlink:href="#glyph5-2" x="27.293997" y="120.0818"/>
+ <use xlink:href="#glyph5-3" x="32.086026" y="120.0818"/>
+ <use xlink:href="#glyph5-1" x="37.236711" y="120.0818"/>
+ <use xlink:href="#glyph5-4" x="41.660123" y="120.0818"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph6-0" x="31.3386" y="80.2899"/>
+ <use xlink:href="#glyph6-1" x="34.935113" y="80.2899"/>
+ <use xlink:href="#glyph6-2" x="39.916433" y="80.2899"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph7-0" x="20.35" y="273.2072"/>
+ <use xlink:href="#glyph7-1" x="23.398567" y="273.2072"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph7-1" x="28.658839" y="273.2072"/>
+ <use xlink:href="#glyph7-2" x="33.640158" y="273.2072"/>
+ <use xlink:href="#glyph7-3" x="37.23667" y="273.2072"/>
+ <use xlink:href="#glyph7-4" x="41.66008" y="273.2072"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph8-0" x="14.5717" y="311.4201"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph8-1" x="20.001338" y="311.4201"/>
+ <use xlink:href="#glyph8-2" x="24.982657" y="311.4201"/>
+ <use xlink:href="#glyph8-2" x="28.579169" y="311.4201"/>
+ <use xlink:href="#glyph8-1" x="32.175681" y="311.4201"/>
+ <use xlink:href="#glyph8-3" x="37.157" y="311.4201"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 168.121094 40.144531 C 168.121094 40.144531 166.128906 40.144531 166.128906 40.144531 L 166.128906 104.480469 C 166.128906 104.480469 168.121094 104.480469 168.121094 104.480469 Z M 168.121094 40.144531 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 165.59375 104.480469 L 167.125 108.175781 L 168.652344 104.480469 Z M 165.59375 104.480469 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 166.589844 104.480469 C 166.589844 104.480469 166.296875 103.777344 166.296875 103.777344 C 166.296875 103.777344 165.59375 103.484375 165.59375 103.484375 C 165.59375 103.484375 164.886719 103.777344 164.886719 103.777344 C 164.886719 103.777344 164.597656 104.480469 164.597656 104.480469 L 166.128906 108.175781 C 166.128906 108.175781 166.417969 108.882812 166.417969 108.882812 C 166.417969 108.882812 167.125 109.171875 167.125 109.171875 C 167.125 109.171875 167.828125 108.882812 167.828125 108.882812 C 167.828125 108.882812 168.121094 108.175781 168.121094 108.175781 L 169.648438 104.480469 C 169.648438 104.480469 169.359375 103.777344 169.359375 103.777344 C 169.359375 103.777344 168.652344 103.484375 168.652344 103.484375 L 165.59375 103.484375 C 165.59375 103.484375 164.886719 103.777344 164.886719 103.777344 C 164.886719 103.777344 164.597656 104.480469 164.597656 104.480469 C 164.597656 104.480469 164.886719 105.1875 164.886719 105.1875 C 164.886719 105.1875 165.59375 105.476562 165.59375 105.476562 L 168.652344 105.476562 C 168.652344 105.476562 167.65625 104.480469 167.65625 104.480469 L 166.128906 108.175781 C 166.128906 108.175781 168.121094 108.175781 168.121094 108.175781 Z M 166.589844 104.480469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph9-0" x="170.1218" y="54.8677"/>
+ <use xlink:href="#glyph9-1" x="174.146707" y="54.8677"/>
+ <use xlink:href="#glyph9-2" x="179.626159" y="54.8677"/>
+ <use xlink:href="#glyph9-3" x="185.2152" y="54.8677"/>
+ <use xlink:href="#glyph9-2" x="189.419434" y="54.8677"/>
+ <use xlink:href="#glyph9-4" x="195.008475" y="54.8677"/>
+ <use xlink:href="#glyph9-5" x="200.238861" y="54.8677"/>
+ <use xlink:href="#glyph9-6" x="205.110592" y="54.8677"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 48.066406 107.179688 C 48.066406 107.179688 48.066406 109.171875 48.066406 109.171875 L 163.429688 109.171875 C 163.429688 109.171875 163.429688 107.179688 163.429688 107.179688 Z M 48.066406 107.179688 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 163.425781 109.707031 L 167.125 108.175781 L 163.425781 106.644531 Z M 163.425781 109.707031 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 163.425781 108.710938 C 163.425781 108.710938 162.722656 109.003906 162.722656 109.003906 C 162.722656 109.003906 162.429688 109.707031 162.429688 109.707031 C 162.429688 109.707031 162.722656 110.410156 162.722656 110.410156 C 162.722656 110.410156 163.425781 110.703125 163.425781 110.703125 L 167.125 109.171875 C 167.125 109.171875 167.828125 108.882812 167.828125 108.882812 C 167.828125 108.882812 168.121094 108.175781 168.121094 108.175781 C 168.121094 108.175781 167.828125 107.472656 167.828125 107.472656 C 167.828125 107.472656 167.125 107.179688 167.125 107.179688 L 163.425781 105.648438 C 163.425781 105.648438 162.722656 105.941406 162.722656 105.941406 C 162.722656 105.941406 162.429688 106.644531 162.429688 106.644531 L 162.429688 109.707031 C 162.429688 109.707031 162.722656 110.410156 162.722656 110.410156 C 162.722656 110.410156 163.425781 110.703125 163.425781 110.703125 C 163.425781 110.703125 164.132812 110.410156 164.132812 110.410156 C 164.132812 110.410156 164.421875 109.707031 164.421875 109.707031 L 164.421875 106.644531 C 164.421875 106.644531 163.425781 107.640625 163.425781 107.640625 L 167.125 109.171875 C 167.125 109.171875 167.125 107.179688 167.125 107.179688 Z M 163.425781 108.710938 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph10-0" x="84.6109" y="103.242899"/>
+ <use xlink:href="#glyph10-1" x="90.199941" y="103.242899"/>
+ <use xlink:href="#glyph10-2" x="95.430327" y="103.242899"/>
+ <use xlink:href="#glyph10-3" x="100.302058" y="103.242899"/>
+ <use xlink:href="#glyph10-4" x="105.59222" y="103.242899"/>
+ <use xlink:href="#glyph10-5" x="109.796454" y="103.242899"/>
+ <use xlink:href="#glyph10-1" x="115.385495" y="103.242899"/>
+ <use xlink:href="#glyph10-2" x="120.615881" y="103.242899"/>
+ <use xlink:href="#glyph10-6" x="125.487612" y="103.242899"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 203.835938 108.175781 C 203.835938 108.175781 201.84375 108.175781 201.84375 108.175781 L 201.84375 274.5625 C 201.84375 274.5625 203.835938 274.5625 203.835938 274.5625 Z M 203.835938 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 201.308594 274.5625 L 202.839844 278.257812 L 204.371094 274.5625 Z M 201.308594 274.5625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 202.304688 274.5625 C 202.304688 274.5625 202.015625 273.859375 202.015625 273.859375 C 202.015625 273.859375 201.308594 273.566406 201.308594 273.566406 C 201.308594 273.566406 200.605469 273.859375 200.605469 273.859375 C 200.605469 273.859375 200.3125 274.5625 200.3125 274.5625 L 201.84375 278.257812 C 201.84375 278.257812 202.136719 278.960938 202.136719 278.960938 C 202.136719 278.960938 202.839844 279.253906 202.839844 279.253906 C 202.839844 279.253906 203.546875 278.960938 203.546875 278.960938 C 203.546875 278.960938 203.835938 278.257812 203.835938 278.257812 L 205.367188 274.5625 C 205.367188 274.5625 205.074219 273.859375 205.074219 273.859375 C 205.074219 273.859375 204.371094 273.566406 204.371094 273.566406 L 201.308594 273.566406 C 201.308594 273.566406 200.605469 273.859375 200.605469 273.859375 C 200.605469 273.859375 200.3125 274.5625 200.3125 274.5625 C 200.3125 274.5625 200.605469 275.265625 200.605469 275.265625 C 200.605469 275.265625 201.308594 275.558594 201.308594 275.558594 L 204.371094 275.558594 C 204.371094 275.558594 203.375 274.5625 203.375 274.5625 L 201.84375 278.257812 C 201.84375 278.257812 203.835938 278.257812 203.835938 278.257812 Z M 202.304688 274.5625 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph11-0" x="171.5153" y="216.054798"/>
+ <use xlink:href="#glyph11-1" x="177.104341" y="216.054798"/>
+ <use xlink:href="#glyph11-2" x="182.195249" y="216.054798"/>
+ <use xlink:href="#glyph11-3" x="184.745685" y="216.054798"/>
+ <use xlink:href="#glyph11-0" x="190.225136" y="216.054798"/>
+ <use xlink:href="#glyph11-4" x="195.814177" y="216.054798"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 167.125 175.210938 C 167.125 175.210938 167.125 177.203125 167.125 177.203125 L 282.484375 177.203125 C 282.484375 177.203125 282.484375 175.210938 282.484375 175.210938 Z M 167.125 175.210938 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 282.484375 177.738281 L 286.179688 176.207031 L 282.484375 174.675781 Z M 282.484375 177.738281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 282.484375 176.742188 C 282.484375 176.742188 281.78125 177.03125 281.78125 177.03125 C 281.78125 177.03125 281.488281 177.738281 281.488281 177.738281 C 281.488281 177.738281 281.78125 178.441406 281.78125 178.441406 C 281.78125 178.441406 282.484375 178.734375 282.484375 178.734375 L 286.179688 177.203125 C 286.179688 177.203125 286.882812 176.910156 286.882812 176.910156 C 286.882812 176.910156 287.175781 176.207031 287.175781 176.207031 C 287.175781 176.207031 286.882812 175.503906 286.882812 175.503906 C 286.882812 175.503906 286.179688 175.210938 286.179688 175.210938 L 282.484375 173.679688 C 282.484375 173.679688 281.78125 173.972656 281.78125 173.972656 C 281.78125 173.972656 281.488281 174.675781 281.488281 174.675781 L 281.488281 177.738281 C 281.488281 177.738281 281.78125 178.441406 281.78125 178.441406 C 281.78125 178.441406 282.484375 178.734375 282.484375 178.734375 C 282.484375 178.734375 283.1875 178.441406 283.1875 178.441406 C 283.1875 178.441406 283.480469 177.738281 283.480469 177.738281 L 283.480469 174.675781 C 283.480469 174.675781 282.484375 175.671875 282.484375 175.671875 L 286.179688 177.203125 C 286.179688 177.203125 286.179688 175.210938 286.179688 175.210938 Z M 282.484375 176.742188 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph12-0" x="241.2793" y="173.0954"/>
+ <use xlink:href="#glyph12-1" x="248.691503" y="173.0954"/>
+ <use xlink:href="#glyph12-2" x="251.241938" y="173.0954"/>
+ <use xlink:href="#glyph12-3" x="256.830978" y="173.0954"/>
+ <use xlink:href="#glyph12-4" x="260.855884" y="173.0954"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 226.152344 91.167969 C 226.152344 91.167969 227.148438 91.167969 227.148438 91.167969 L 227.148438 69.351562 C 227.148438 69.351562 226.152344 69.351562 226.152344 69.351562 Z M 226.152344 91.167969 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 228.183594 69.351562 L 226.652344 65.65625 L 225.121094 69.351562 Z M 228.183594 69.351562 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 227.683594 69.351562 C 227.683594 69.351562 227.828125 69.703125 227.828125 69.703125 C 227.828125 69.703125 228.183594 69.851562 228.183594 69.851562 C 228.183594 69.851562 228.535156 69.703125 228.535156 69.703125 C 228.535156 69.703125 228.679688 69.351562 228.679688 69.351562 L 227.148438 65.65625 C 227.148438 65.65625 227.003906 65.304688 227.003906 65.304688 C 227.003906 65.304688 226.652344 65.160156 226.652344 65.160156 C 226.652344 65.160156 226.300781 65.304688 226.300781 65.304688 C 226.300781 65.304688 226.152344 65.65625 226.152344 65.65625 L 224.621094 69.351562 C 224.621094 69.351562 224.769531 69.703125 224.769531 69.703125 C 224.769531 69.703125 225.121094 69.851562 225.121094 69.851562 L 228.183594 69.851562 C 228.183594 69.851562 228.535156 69.703125 228.535156 69.703125 C 228.535156 69.703125 228.679688 69.351562 228.679688 69.351562 C 228.679688 69.351562 228.535156 69 228.535156 69 C 228.535156 69 228.183594 68.855469 228.183594 68.855469 L 225.121094 68.855469 C 225.121094 68.855469 225.617188 69.351562 225.617188 69.351562 L 227.148438 65.65625 C 227.148438 65.65625 226.152344 65.65625 226.152344 65.65625 Z M 227.683594 69.351562 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph6-0" x="229.6493" y="80.2898"/>
+ <use xlink:href="#glyph6-1" x="233.245813" y="80.2898"/>
+ <use xlink:href="#glyph6-2" x="238.227133" y="80.2898"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.679688 108.175781 C 285.679688 108.175781 286.675781 108.175781 286.675781 108.175781 L 286.675781 94.863281 C 286.675781 94.863281 285.679688 94.863281 285.679688 94.863281 Z M 285.679688 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 287.710938 94.863281 L 286.179688 91.167969 L 284.648438 94.863281 Z M 287.710938 94.863281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 287.210938 94.863281 C 287.210938 94.863281 287.359375 95.214844 287.359375 95.214844 C 287.359375 95.214844 287.710938 95.363281 287.710938 95.363281 C 287.710938 95.363281 288.0625 95.214844 288.0625 95.214844 C 288.0625 95.214844 288.207031 94.863281 288.207031 94.863281 L 286.675781 91.167969 C 286.675781 91.167969 286.53125 90.816406 286.53125 90.816406 C 286.53125 90.816406 286.179688 90.671875 286.179688 90.671875 C 286.179688 90.671875 285.828125 90.816406 285.828125 90.816406 C 285.828125 90.816406 285.679688 91.167969 285.679688 91.167969 L 284.152344 94.863281 C 284.152344 94.863281 284.296875 95.214844 284.296875 95.214844 C 284.296875 95.214844 284.648438 95.363281 284.648438 95.363281 L 287.710938 95.363281 C 287.710938 95.363281 288.0625 95.214844 288.0625 95.214844 C 288.0625 95.214844 288.207031 94.863281 288.207031 94.863281 C 288.207031 94.863281 288.0625 94.511719 288.0625 94.511719 C 288.0625 94.511719 287.710938 94.367188 287.710938 94.367188 L 284.648438 94.367188 C 284.648438 94.367188 285.148438 94.863281 285.148438 94.863281 L 286.675781 91.167969 C 286.675781 91.167969 285.679688 91.167969 285.679688 91.167969 Z M 287.210938 94.863281 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph13-0" x="289.1767" y="102.162299"/>
+ <use xlink:href="#glyph13-1" x="292.773213" y="102.162299"/>
+ <use xlink:href="#glyph13-2" x="297.754533" y="102.162299"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph13-3" x="303.184171" y="102.162299"/>
+ <use xlink:href="#glyph13-4" x="308.334856" y="102.162299"/>
+ <use xlink:href="#glyph13-5" x="310.715927" y="102.162299"/>
+ <use xlink:href="#glyph13-0" x="314.531617" y="102.162299"/>
+ <use xlink:href="#glyph13-6" x="318.12813" y="102.162299"/>
+ <use xlink:href="#glyph13-7" x="322.92016" y="102.162299"/>
+ <use xlink:href="#glyph13-8" x="328.070844" y="102.162299"/>
+ <use xlink:href="#glyph13-9" x="332.494256" y="102.162299"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 227.148438 108.175781 C 227.148438 108.175781 226.152344 108.175781 226.152344 108.175781 L 226.152344 121.488281 C 226.152344 121.488281 227.148438 121.488281 227.148438 121.488281 Z M 227.148438 108.175781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.121094 121.488281 L 226.652344 125.183594 L 228.183594 121.488281 Z M 225.121094 121.488281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.617188 121.488281 C 225.617188 121.488281 225.472656 121.136719 225.472656 121.136719 C 225.472656 121.136719 225.121094 120.992188 225.121094 120.992188 C 225.121094 120.992188 224.769531 121.136719 224.769531 121.136719 C 224.769531 121.136719 224.621094 121.488281 224.621094 121.488281 L 226.152344 125.183594 C 226.152344 125.183594 226.300781 125.535156 226.300781 125.535156 C 226.300781 125.535156 226.652344 125.683594 226.652344 125.683594 C 226.652344 125.683594 227.003906 125.535156 227.003906 125.535156 C 227.003906 125.535156 227.148438 125.183594 227.148438 125.183594 L 228.679688 121.488281 C 228.679688 121.488281 228.535156 121.136719 228.535156 121.136719 C 228.535156 121.136719 228.183594 120.992188 228.183594 120.992188 L 225.121094 120.992188 C 225.121094 120.992188 224.769531 121.136719 224.769531 121.136719 C 224.769531 121.136719 224.621094 121.488281 224.621094 121.488281 C 224.621094 121.488281 224.769531 121.839844 224.769531 121.839844 C 224.769531 121.839844 225.121094 121.988281 225.121094 121.988281 L 228.183594 121.988281 C 228.183594 121.988281 227.683594 121.488281 227.683594 121.488281 L 226.152344 125.183594 C 226.152344 125.183594 227.148438 125.183594 227.148438 125.183594 Z M 225.617188 121.488281 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph5-0" x="229.6493" y="120.0818"/>
+ <use xlink:href="#glyph5-1" x="234.799985" y="120.0818"/>
+ <use xlink:href="#glyph5-2" x="239.223397" y="120.0818"/>
+ <use xlink:href="#glyph5-3" x="244.015426" y="120.0818"/>
+ <use xlink:href="#glyph5-1" x="249.166111" y="120.0818"/>
+ <use xlink:href="#glyph5-4" x="253.589523" y="120.0818"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 286.675781 125.183594 C 286.675781 125.183594 285.679688 125.183594 285.679688 125.183594 L 285.679688 138.496094 C 285.679688 138.496094 286.675781 138.496094 286.675781 138.496094 Z M 286.675781 125.183594 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 284.648438 138.496094 L 286.179688 142.191406 L 287.710938 138.496094 Z M 284.648438 138.496094 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.148438 138.496094 C 285.148438 138.496094 285 138.144531 285 138.144531 C 285 138.144531 284.648438 138 284.648438 138 C 284.648438 138 284.296875 138.144531 284.296875 138.144531 C 284.296875 138.144531 284.152344 138.496094 284.152344 138.496094 L 285.679688 142.191406 C 285.679688 142.191406 285.828125 142.542969 285.828125 142.542969 C 285.828125 142.542969 286.179688 142.691406 286.179688 142.691406 C 286.179688 142.691406 286.53125 142.542969 286.53125 142.542969 C 286.53125 142.542969 286.675781 142.191406 286.675781 142.191406 L 288.207031 138.496094 C 288.207031 138.496094 288.0625 138.144531 288.0625 138.144531 C 288.0625 138.144531 287.710938 138 287.710938 138 L 284.648438 138 C 284.648438 138 284.296875 138.144531 284.296875 138.144531 C 284.296875 138.144531 284.152344 138.496094 284.152344 138.496094 C 284.152344 138.496094 284.296875 138.847656 284.296875 138.847656 C 284.296875 138.847656 284.648438 138.996094 284.648438 138.996094 L 287.710938 138.996094 C 287.710938 138.996094 287.210938 138.496094 287.210938 138.496094 L 285.679688 142.191406 C 285.679688 142.191406 286.675781 142.191406 286.675781 142.191406 Z M 285.148438 138.496094 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph14-0" x="289.1767" y="137.0896"/>
+ <use xlink:href="#glyph14-1" x="294.327385" y="137.0896"/>
+ <use xlink:href="#glyph14-2" x="298.750798" y="137.0896"/>
+ <use xlink:href="#glyph14-3" x="303.542828" y="137.0896"/>
+ <use xlink:href="#glyph14-1" x="308.693513" y="137.0896"/>
+ <use xlink:href="#glyph14-4" x="313.116925" y="137.0896"/>
+ <use xlink:href="#glyph14-3" x="316.524149" y="137.0896"/>
+ <use xlink:href="#glyph14-5" x="321.674834" y="137.0896"/>
+ <use xlink:href="#glyph14-6" x="324.055905" y="137.0896"/>
+ <use xlink:href="#glyph14-7" x="327.871596" y="137.0896"/>
+ <use xlink:href="#glyph14-2" x="331.46811" y="137.0896"/>
+ <use xlink:href="#glyph14-8" x="336.26014" y="137.0896"/>
+ <use xlink:href="#glyph14-9" x="341.410825" y="137.0896"/>
+ <use xlink:href="#glyph14-1" x="345.834237" y="137.0896"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 226.902344 142.191406 C 226.902344 142.191406 226.402344 142.191406 226.402344 142.191406 L 226.402344 240.546875 C 226.402344 240.546875 226.902344 240.546875 226.902344 240.546875 Z M 226.902344 142.191406 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.121094 240.296875 C 225.121094 240.296875 224.945312 240.367188 224.945312 240.367188 C 224.945312 240.367188 224.871094 240.546875 224.871094 240.546875 C 224.871094 240.546875 224.945312 240.722656 224.945312 240.722656 L 225.554688 242.191406 C 225.554688 242.191406 225.480469 242.015625 225.480469 242.015625 L 226.402344 244.242188 C 226.402344 244.242188 226.476562 244.417969 226.476562 244.417969 C 226.476562 244.417969 226.652344 244.488281 226.652344 244.488281 C 226.652344 244.488281 226.828125 244.417969 226.828125 244.417969 C 226.828125 244.417969 226.902344 244.242188 226.902344 244.242188 L 227.820312 242.015625 C 227.820312 242.015625 227.75 242.191406 227.75 242.191406 L 228.359375 240.722656 C 228.359375 240.722656 228.429688 240.546875 228.429688 240.546875 C 228.429688 240.546875 228.359375 240.367188 228.359375 240.367188 C 228.359375 240.367188 228.183594 240.296875 228.183594 240.296875 Z M 225.121094 240.296875 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.296875 240.367188 C 225.296875 240.367188 225.121094 240.792969 225.121094 240.792969 L 228.183594 240.792969 C 228.183594 240.792969 228.007812 240.367188 228.007812 240.367188 L 227.398438 241.839844 C 227.398438 241.839844 227.324219 242.015625 227.324219 242.015625 L 226.402344 244.242188 C 226.402344 244.242188 226.902344 244.242188 226.902344 244.242188 L 225.980469 242.015625 C 225.980469 242.015625 225.90625 241.839844 225.90625 241.839844 Z M 225.296875 240.367188 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 228.183594 146.136719 C 228.183594 146.136719 228.359375 146.0625 228.359375 146.0625 C 228.359375 146.0625 228.429688 145.886719 228.429688 145.886719 C 228.429688 145.886719 228.359375 145.710938 228.359375 145.710938 L 227.75 144.242188 C 227.75 144.242188 227.820312 144.417969 227.820312 144.417969 L 226.902344 142.191406 C 226.902344 142.191406 226.828125 142.015625 226.828125 142.015625 C 226.828125 142.015625 226.652344 141.945312 226.652344 141.945312 C 226.652344 141.945312 226.476562 142.015625 226.476562 142.015625 C 226.476562 142.015625 226.402344 142.191406 226.402344 142.191406 L 225.480469 144.417969 C 225.480469 144.417969 225.554688 144.242188 225.554688 144.242188 L 224.945312 145.710938 C 224.945312 145.710938 224.871094 145.886719 224.871094 145.886719 C 224.871094 145.886719 224.945312 146.0625 224.945312 146.0625 C 224.945312 146.0625 225.121094 146.136719 225.121094 146.136719 Z M 228.183594 146.136719 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 228.007812 146.0625 C 228.007812 146.0625 228.183594 145.640625 228.183594 145.640625 L 225.121094 145.640625 C 225.121094 145.640625 225.296875 146.0625 225.296875 146.0625 L 225.90625 144.59375 C 225.90625 144.59375 225.980469 144.417969 225.980469 144.417969 L 226.902344 142.191406 C 226.902344 142.191406 226.402344 142.191406 226.402344 142.191406 L 227.324219 144.417969 C 227.324219 144.417969 227.398438 144.59375 227.398438 144.59375 Z M 228.007812 146.0625 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph15-0" x="229.6493" y="215.5726"/>
+ <use xlink:href="#glyph15-1" x="232.709823" y="215.5726"/>
+ <use xlink:href="#glyph15-2" x="236.471715" y="215.5726"/>
+ <use xlink:href="#glyph15-0" x="240.377069" y="215.5726"/>
+ <use xlink:href="#glyph15-3" x="243.437592" y="215.5726"/>
+ <use xlink:href="#glyph15-1" x="247.813183" y="215.5726"/>
+ <use xlink:href="#glyph15-4" x="251.575075" y="215.5726"/>
+ <use xlink:href="#glyph15-5" x="253.591513" y="215.5726"/>
+ <use xlink:href="#glyph15-3" x="257.823642" y="215.5726"/>
+ <use xlink:href="#glyph15-0" x="262.199233" y="215.5726"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.679688 261.25 C 285.679688 261.25 286.675781 261.25 286.675781 261.25 L 286.675781 247.9375 C 286.675781 247.9375 285.679688 247.9375 285.679688 247.9375 Z M 285.679688 261.25 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 287.710938 247.9375 L 286.179688 244.242188 L 284.648438 247.9375 Z M 287.710938 247.9375 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 287.210938 247.9375 C 287.210938 247.9375 287.359375 248.289062 287.359375 248.289062 C 287.359375 248.289062 287.710938 248.433594 287.710938 248.433594 C 287.710938 248.433594 288.0625 248.289062 288.0625 248.289062 C 288.0625 248.289062 288.207031 247.9375 288.207031 247.9375 L 286.675781 244.242188 C 286.675781 244.242188 286.53125 243.886719 286.53125 243.886719 C 286.53125 243.886719 286.179688 243.742188 286.179688 243.742188 C 286.179688 243.742188 285.828125 243.886719 285.828125 243.886719 C 285.828125 243.886719 285.679688 244.242188 285.679688 244.242188 L 284.152344 247.9375 C 284.152344 247.9375 284.296875 248.289062 284.296875 248.289062 C 284.296875 248.289062 284.648438 248.433594 284.648438 248.433594 L 287.710938 248.433594 C 287.710938 248.433594 288.0625 248.289062 288.0625 248.289062 C 288.0625 248.289062 288.207031 247.9375 288.207031 247.9375 C 288.207031 247.9375 288.0625 247.585938 288.0625 247.585938 C 288.0625 247.585938 287.710938 247.4375 287.710938 247.4375 L 284.648438 247.4375 C 284.648438 247.4375 285.148438 247.9375 285.148438 247.9375 L 286.675781 244.242188 C 286.675781 244.242188 285.679688 244.242188 285.679688 244.242188 Z M 287.210938 247.9375 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph16-0" x="289.1767" y="256.1993"/>
+ <use xlink:href="#glyph16-1" x="292.225268" y="256.1993"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph16-1" x="297.485542" y="256.1993"/>
+ <use xlink:href="#glyph16-2" x="302.466861" y="256.1993"/>
+ <use xlink:href="#glyph16-3" x="306.063374" y="256.1993"/>
+ <use xlink:href="#glyph16-4" x="310.486786" y="256.1993"/>
+ <use xlink:href="#glyph16-5" x="313.894009" y="256.1993"/>
+ <use xlink:href="#glyph16-6" x="319.044694" y="256.1993"/>
+ <use xlink:href="#glyph16-7" x="321.425765" y="256.1993"/>
+ <use xlink:href="#glyph16-2" x="325.241456" y="256.1993"/>
+ <use xlink:href="#glyph16-8" x="328.837969" y="256.1993"/>
+ <use xlink:href="#glyph16-9" x="333.629998" y="256.1993"/>
+ <use xlink:href="#glyph16-10" x="338.780683" y="256.1993"/>
+ <use xlink:href="#glyph16-3" x="343.204095" y="256.1993"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 226.152344 278.257812 C 226.152344 278.257812 227.148438 278.257812 227.148438 278.257812 L 227.148438 264.945312 C 227.148438 264.945312 226.152344 264.945312 226.152344 264.945312 Z M 226.152344 278.257812 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 228.183594 264.945312 L 226.652344 261.25 L 225.121094 264.945312 Z M 228.183594 264.945312 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 227.683594 264.945312 C 227.683594 264.945312 227.828125 265.296875 227.828125 265.296875 C 227.828125 265.296875 228.183594 265.441406 228.183594 265.441406 C 228.183594 265.441406 228.535156 265.296875 228.535156 265.296875 C 228.535156 265.296875 228.679688 264.945312 228.679688 264.945312 L 227.148438 261.25 C 227.148438 261.25 227.003906 260.898438 227.003906 260.898438 C 227.003906 260.898438 226.652344 260.75 226.652344 260.75 C 226.652344 260.75 226.300781 260.898438 226.300781 260.898438 C 226.300781 260.898438 226.152344 261.25 226.152344 261.25 L 224.621094 264.945312 C 224.621094 264.945312 224.769531 265.296875 224.769531 265.296875 C 224.769531 265.296875 225.121094 265.441406 225.121094 265.441406 L 228.183594 265.441406 C 228.183594 265.441406 228.535156 265.296875 228.535156 265.296875 C 228.535156 265.296875 228.679688 264.945312 228.679688 264.945312 C 228.679688 264.945312 228.535156 264.59375 228.535156 264.59375 C 228.535156 264.59375 228.183594 264.445312 228.183594 264.445312 L 225.121094 264.445312 C 225.121094 264.445312 225.617188 264.945312 225.617188 264.945312 L 227.148438 261.25 C 227.148438 261.25 226.152344 261.25 226.152344 261.25 Z M 227.683594 264.945312 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph7-0" x="229.6493" y="273.2072"/>
+ <use xlink:href="#glyph7-1" x="232.697867" y="273.2072"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph7-1" x="237.958139" y="273.2072"/>
+ <use xlink:href="#glyph7-2" x="242.939458" y="273.2072"/>
+ <use xlink:href="#glyph7-3" x="246.53597" y="273.2072"/>
+ <use xlink:href="#glyph7-4" x="250.95938" y="273.2072"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 286.675781 278.257812 C 286.675781 278.257812 285.679688 278.257812 285.679688 278.257812 L 285.679688 291.570312 C 285.679688 291.570312 286.675781 291.570312 286.675781 291.570312 Z M 286.675781 278.257812 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 284.648438 291.570312 L 286.179688 295.265625 L 287.710938 291.570312 Z M 284.648438 291.570312 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 285.148438 291.570312 C 285.148438 291.570312 285 291.21875 285 291.21875 C 285 291.21875 284.648438 291.070312 284.648438 291.070312 C 284.648438 291.070312 284.296875 291.21875 284.296875 291.21875 C 284.296875 291.21875 284.152344 291.570312 284.152344 291.570312 L 285.679688 295.265625 C 285.679688 295.265625 285.828125 295.617188 285.828125 295.617188 C 285.828125 295.617188 286.179688 295.761719 286.179688 295.761719 C 286.179688 295.761719 286.53125 295.617188 286.53125 295.617188 C 286.53125 295.617188 286.675781 295.265625 286.675781 295.265625 L 288.207031 291.570312 C 288.207031 291.570312 288.0625 291.21875 288.0625 291.21875 C 288.0625 291.21875 287.710938 291.070312 287.710938 291.070312 L 284.648438 291.070312 C 284.648438 291.070312 284.296875 291.21875 284.296875 291.21875 C 284.296875 291.21875 284.152344 291.570312 284.152344 291.570312 C 284.152344 291.570312 284.296875 291.921875 284.296875 291.921875 C 284.296875 291.921875 284.648438 292.066406 284.648438 292.066406 L 287.710938 292.066406 C 287.710938 292.066406 287.210938 291.570312 287.210938 291.570312 L 285.679688 295.265625 C 285.679688 295.265625 286.675781 295.265625 286.675781 295.265625 Z M 285.148438 291.570312 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph17-0" x="289.1767" y="290.1602"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph17-1" x="294.606339" y="290.1602"/>
+ <use xlink:href="#glyph17-2" x="299.587659" y="290.1602"/>
+ <use xlink:href="#glyph17-2" x="303.184172" y="290.1602"/>
+ <use xlink:href="#glyph17-1" x="306.780685" y="290.1602"/>
+ <use xlink:href="#glyph17-3" x="311.762005" y="290.1602"/>
+ <use xlink:href="#glyph17-4" x="319.672341" y="290.1602"/>
+ <use xlink:href="#glyph17-5" x="324.823025" y="290.1602"/>
+ <use xlink:href="#glyph17-6" x="327.204096" y="290.1602"/>
+ <use xlink:href="#glyph17-2" x="331.019787" y="290.1602"/>
+ <use xlink:href="#glyph17-7" x="334.6163" y="290.1602"/>
+ <use xlink:href="#glyph17-8" x="339.40833" y="290.1602"/>
+ <use xlink:href="#glyph17-9" x="344.559015" y="290.1602"/>
+ <use xlink:href="#glyph17-10" x="348.982427" y="290.1602"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 227.148438 295.265625 C 227.148438 295.265625 226.152344 295.265625 226.152344 295.265625 L 226.152344 317.082031 C 226.152344 317.082031 227.148438 317.082031 227.148438 317.082031 Z M 227.148438 295.265625 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.121094 317.082031 L 226.652344 320.777344 L 228.183594 317.082031 Z M 225.121094 317.082031 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 225.617188 317.082031 C 225.617188 317.082031 225.472656 316.730469 225.472656 316.730469 C 225.472656 316.730469 225.121094 316.582031 225.121094 316.582031 C 225.121094 316.582031 224.769531 316.730469 224.769531 316.730469 C 224.769531 316.730469 224.621094 317.082031 224.621094 317.082031 L 226.152344 320.777344 C 226.152344 320.777344 226.300781 321.128906 226.300781 321.128906 C 226.300781 321.128906 226.652344 321.273438 226.652344 321.273438 C 226.652344 321.273438 227.003906 321.128906 227.003906 321.128906 C 227.003906 321.128906 227.148438 320.777344 227.148438 320.777344 L 228.679688 317.082031 C 228.679688 317.082031 228.535156 316.730469 228.535156 316.730469 C 228.535156 316.730469 228.183594 316.582031 228.183594 316.582031 L 225.121094 316.582031 C 225.121094 316.582031 224.769531 316.730469 224.769531 316.730469 C 224.769531 316.730469 224.621094 317.082031 224.621094 317.082031 C 224.621094 317.082031 224.769531 317.433594 224.769531 317.433594 C 224.769531 317.433594 225.121094 317.578125 225.121094 317.578125 L 228.183594 317.578125 C 228.183594 317.578125 227.683594 317.082031 227.683594 317.082031 L 226.152344 320.777344 C 226.152344 320.777344 227.148438 320.777344 227.148438 320.777344 Z M 225.617188 317.082031 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph8-0" x="229.6493" y="311.4201"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph8-1" x="235.078938" y="311.4201"/>
+ <use xlink:href="#glyph8-2" x="240.060257" y="311.4201"/>
+ <use xlink:href="#glyph8-2" x="243.656769" y="311.4201"/>
+ <use xlink:href="#glyph8-1" x="247.253281" y="311.4201"/>
+ <use xlink:href="#glyph8-3" x="252.2346" y="311.4201"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 97.390625 176.703125 C 97.390625 176.703125 97.390625 175.707031 97.390625 175.707031 L 56.863281 175.707031 C 56.863281 175.707031 56.863281 176.703125 56.863281 176.703125 Z M 97.390625 176.703125 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 56.863281 174.675781 L 53.167969 176.207031 L 56.863281 177.738281 Z M 56.863281 174.675781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 56.863281 175.175781 C 56.863281 175.175781 57.21875 175.027344 57.21875 175.027344 C 57.21875 175.027344 57.363281 174.675781 57.363281 174.675781 C 57.363281 174.675781 57.21875 174.324219 57.21875 174.324219 C 57.21875 174.324219 56.863281 174.175781 56.863281 174.175781 L 53.167969 175.707031 C 53.167969 175.707031 52.816406 175.855469 52.816406 175.855469 C 52.816406 175.855469 52.671875 176.207031 52.671875 176.207031 C 52.671875 176.207031 52.816406 176.558594 52.816406 176.558594 C 52.816406 176.558594 53.167969 176.703125 53.167969 176.703125 L 56.863281 178.234375 C 56.863281 178.234375 57.21875 178.089844 57.21875 178.089844 C 57.21875 178.089844 57.363281 177.738281 57.363281 177.738281 L 57.363281 174.675781 C 57.363281 174.675781 57.21875 174.324219 57.21875 174.324219 C 57.21875 174.324219 56.863281 174.175781 56.863281 174.175781 C 56.863281 174.175781 56.511719 174.324219 56.511719 174.324219 C 56.511719 174.324219 56.367188 174.675781 56.367188 174.675781 L 56.367188 177.738281 C 56.367188 177.738281 56.863281 177.238281 56.863281 177.238281 L 53.167969 175.707031 C 53.167969 175.707031 53.167969 176.703125 53.167969 176.703125 Z M 56.863281 175.175781 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph18-0" x="57.6808" y="171.152698"/>
+ <use xlink:href="#glyph18-1" x="60.061871" y="171.152698"/>
+ <use xlink:href="#glyph18-2" x="64.485284" y="171.152698"/>
+ <use xlink:href="#glyph18-3" x="67.533852" y="171.152698"/>
+ <use xlink:href="#glyph18-1" x="71.130365" y="171.152698"/>
+ <use xlink:href="#glyph18-4" x="75.553778" y="171.152698"/>
+ <use xlink:href="#glyph18-5" x="80.704463" y="171.152698"/>
+ <use xlink:href="#glyph18-1" x="85.685784" y="171.152698"/>
+ <use xlink:href="#glyph18-6" x="90.109197" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph3-0" x="65.7903" y="186.118898"/>
+ <use xlink:href="#glyph3-1" x="70.213713" y="186.118898"/>
+ <use xlink:href="#glyph3-2" x="75.364399" y="186.118898"/>
+ <use xlink:href="#glyph3-0" x="80.34572" y="186.118898"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 105.894531 321.273438 C 105.894531 321.273438 105.894531 320.277344 105.894531 320.277344 L 101.085938 320.277344 C 101.085938 320.277344 101.085938 321.273438 101.085938 321.273438 Z M 105.894531 321.273438 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 101.085938 319.246094 L 97.390625 320.777344 L 101.085938 322.308594 Z M 101.085938 319.246094 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 101.085938 319.746094 C 101.085938 319.746094 101.4375 319.597656 101.4375 319.597656 C 101.4375 319.597656 101.585938 319.246094 101.585938 319.246094 C 101.585938 319.246094 101.4375 318.894531 101.4375 318.894531 C 101.4375 318.894531 101.085938 318.75 101.085938 318.75 L 97.390625 320.277344 C 97.390625 320.277344 97.039062 320.425781 97.039062 320.425781 C 97.039062 320.425781 96.890625 320.777344 96.890625 320.777344 C 96.890625 320.777344 97.039062 321.128906 97.039062 321.128906 C 97.039062 321.128906 97.390625 321.273438 97.390625 321.273438 L 101.085938 322.804688 C 101.085938 322.804688 101.4375 322.660156 101.4375 322.660156 C 101.4375 322.660156 101.585938 322.308594 101.585938 322.308594 L 101.585938 319.246094 C 101.585938 319.246094 101.4375 318.894531 101.4375 318.894531 C 101.4375 318.894531 101.085938 318.75 101.085938 318.75 C 101.085938 318.75 100.734375 318.894531 100.734375 318.894531 C 100.734375 318.894531 100.585938 319.246094 100.585938 319.246094 L 100.585938 322.308594 C 100.585938 322.308594 101.085938 321.808594 101.085938 321.808594 L 97.390625 320.277344 C 97.390625 320.277344 97.390625 321.273438 97.390625 321.273438 Z M 101.085938 319.746094 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph19-0" x="67.1764" y="330.797298"/>
+ <use xlink:href="#glyph19-1" x="69.557471" y="330.797298"/>
+ <use xlink:href="#glyph19-2" x="73.980882" y="330.797298"/>
+ <use xlink:href="#glyph19-3" x="77.02945" y="330.797298"/>
+ <use xlink:href="#glyph19-1" x="80.625963" y="330.797298"/>
+ <use xlink:href="#glyph19-4" x="85.049375" y="330.797298"/>
+ <use xlink:href="#glyph19-5" x="90.200059" y="330.797298"/>
+ <use xlink:href="#glyph19-1" x="95.181378" y="330.797298"/>
+ <use xlink:href="#glyph19-4" x="99.60479" y="330.797298"/>
+ <use xlink:href="#glyph19-6" x="104.755475" y="330.797298"/>
+ <use xlink:href="#glyph19-7" x="107.136545" y="330.797298"/>
+ <use xlink:href="#glyph19-3" x="110.952236" y="330.797298"/>
+ <use xlink:href="#glyph19-8" x="114.548749" y="330.797298"/>
+ <use xlink:href="#glyph19-9" x="119.340778" y="330.797298"/>
+ <use xlink:href="#glyph19-10" x="124.491463" y="330.797298"/>
+ <use xlink:href="#glyph19-1" x="128.914874" y="330.797298"/>
+ <use xlink:href="#glyph19-11" x="133.338286" y="330.797298"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph20-0" x="75.2859" y="342.593098"/>
+ <use xlink:href="#glyph20-1" x="79.709312" y="342.593098"/>
+ <use xlink:href="#glyph20-2" x="84.859996" y="342.593098"/>
+ <use xlink:href="#glyph20-0" x="89.841315" y="342.593098"/>
+ <use xlink:href="#glyph20-1" x="94.264727" y="342.593098"/>
+ <use xlink:href="#glyph20-3" x="99.415411" y="342.593098"/>
+ <use xlink:href="#glyph20-4" x="101.796482" y="342.593098"/>
+ <use xlink:href="#glyph20-5" x="105.612172" y="342.593098"/>
+ <use xlink:href="#glyph20-6" x="109.208685" y="342.593098"/>
+ <use xlink:href="#glyph20-7" x="114.000714" y="342.593098"/>
+ <use xlink:href="#glyph20-8" x="119.151399" y="342.593098"/>
+ <use xlink:href="#glyph20-0" x="123.57481" y="342.593098"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 155.21875 176.703125 C 155.21875 176.703125 155.21875 175.707031 155.21875 175.707031 L 109.589844 175.707031 C 109.589844 175.707031 109.589844 176.703125 109.589844 176.703125 Z M 155.21875 176.703125 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 109.589844 174.675781 L 105.894531 176.207031 L 109.589844 177.738281 Z M 109.589844 174.675781 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 109.589844 175.175781 C 109.589844 175.175781 109.941406 175.027344 109.941406 175.027344 C 109.941406 175.027344 110.089844 174.675781 110.089844 174.675781 C 110.089844 174.675781 109.941406 174.324219 109.941406 174.324219 C 109.941406 174.324219 109.589844 174.175781 109.589844 174.175781 L 105.894531 175.707031 C 105.894531 175.707031 105.542969 175.855469 105.542969 175.855469 C 105.542969 175.855469 105.394531 176.207031 105.394531 176.207031 C 105.394531 176.207031 105.542969 176.558594 105.542969 176.558594 C 105.542969 176.558594 105.894531 176.703125 105.894531 176.703125 L 109.589844 178.234375 C 109.589844 178.234375 109.941406 178.089844 109.941406 178.089844 C 109.941406 178.089844 110.089844 177.738281 110.089844 177.738281 L 110.089844 174.675781 C 110.089844 174.675781 109.941406 174.324219 109.941406 174.324219 C 109.941406 174.324219 109.589844 174.175781 109.589844 174.175781 C 109.589844 174.175781 109.238281 174.324219 109.238281 174.324219 C 109.238281 174.324219 109.09375 174.675781 109.09375 174.675781 L 109.09375 177.738281 C 109.09375 177.738281 109.589844 177.238281 109.589844 177.238281 L 105.894531 175.707031 C 105.894531 175.707031 105.894531 176.703125 105.894531 176.703125 Z M 109.589844 175.175781 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph21-0" x="108.2739" y="171.152698"/>
+ <use xlink:href="#glyph21-1" x="110.654971" y="171.152698"/>
+ <use xlink:href="#glyph21-2" x="115.078383" y="171.152698"/>
+ <use xlink:href="#glyph21-3" x="118.12695" y="171.152698"/>
+ <use xlink:href="#glyph21-4" x="121.723463" y="171.152698"/>
+ <use xlink:href="#glyph21-5" x="129.633798" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph21-6" x="134.146874" y="171.152698"/>
+ <use xlink:href="#glyph21-7" x="137.554096" y="171.152698"/>
+ <use xlink:href="#glyph21-8" x="142.535416" y="171.152698"/>
+ <use xlink:href="#glyph21-9" x="144.916487" y="171.152698"/>
+ <use xlink:href="#glyph21-10" x="150.067171" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-0" x="116.3834" y="185.7304"/>
+ <use xlink:href="#glyph2-1" x="124.293735" y="185.7304"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-2" x="128.80681" y="185.7304"/>
+ <use xlink:href="#glyph2-3" x="132.214033" y="185.7304"/>
+ <use xlink:href="#glyph2-4" x="137.195352" y="185.7304"/>
+ <use xlink:href="#glyph2-5" x="139.576423" y="185.7304"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 167.125 321.273438 C 167.125 321.273438 167.125 320.277344 167.125 320.277344 L 158.914062 320.277344 C 158.914062 320.277344 158.914062 321.273438 158.914062 321.273438 Z M 167.125 321.273438 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 158.914062 319.246094 L 155.21875 320.777344 L 158.914062 322.308594 Z M 158.914062 319.246094 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 158.914062 319.746094 C 158.914062 319.746094 159.265625 319.597656 159.265625 319.597656 C 159.265625 319.597656 159.410156 319.246094 159.410156 319.246094 C 159.410156 319.246094 159.265625 318.894531 159.265625 318.894531 C 159.265625 318.894531 158.914062 318.75 158.914062 318.75 L 155.21875 320.277344 C 155.21875 320.277344 154.867188 320.425781 154.867188 320.425781 C 154.867188 320.425781 154.71875 320.777344 154.71875 320.777344 C 154.71875 320.777344 154.867188 321.128906 154.867188 321.128906 C 154.867188 321.128906 155.21875 321.273438 155.21875 321.273438 L 158.914062 322.804688 C 158.914062 322.804688 159.265625 322.660156 159.265625 322.660156 C 159.265625 322.660156 159.410156 322.308594 159.410156 322.308594 L 159.410156 319.246094 C 159.410156 319.246094 159.265625 318.894531 159.265625 318.894531 C 159.265625 318.894531 158.914062 318.75 158.914062 318.75 C 158.914062 318.75 158.5625 318.894531 158.5625 318.894531 C 158.5625 318.894531 158.414062 319.246094 158.414062 319.246094 L 158.414062 322.308594 C 158.414062 322.308594 158.914062 321.808594 158.914062 321.808594 L 155.21875 320.277344 C 155.21875 320.277344 155.21875 321.273438 155.21875 321.273438 Z M 158.914062 319.746094 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph22-0" x="122.0214" y="354.608098"/>
+ <use xlink:href="#glyph22-1" x="124.402471" y="354.608098"/>
+ <use xlink:href="#glyph22-2" x="128.825883" y="354.608098"/>
+ <use xlink:href="#glyph22-3" x="131.874451" y="354.608098"/>
+ <use xlink:href="#glyph22-4" x="135.470964" y="354.608098"/>
+ <use xlink:href="#glyph22-5" x="143.381301" y="354.608098"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph22-6" x="147.894377" y="354.608098"/>
+ <use xlink:href="#glyph22-7" x="151.3016" y="354.608098"/>
+ <use xlink:href="#glyph22-8" x="156.28292" y="354.608098"/>
+ <use xlink:href="#glyph22-9" x="158.663991" y="354.608098"/>
+ <use xlink:href="#glyph22-10" x="163.814676" y="354.608098"/>
+ <use xlink:href="#glyph22-8" x="168.965361" y="354.608098"/>
+ <use xlink:href="#glyph22-11" x="171.346432" y="354.608098"/>
+ <use xlink:href="#glyph22-3" x="175.162123" y="354.608098"/>
+ <use xlink:href="#glyph22-5" x="178.758636" y="354.608098"/>
+ <use xlink:href="#glyph22-9" x="183.550666" y="354.608098"/>
+ <use xlink:href="#glyph22-12" x="188.701351" y="354.608098"/>
+ <use xlink:href="#glyph22-1" x="193.124764" y="354.608098"/>
+ <use xlink:href="#glyph22-13" x="197.548176" y="354.608098"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph23-0" x="130.1309" y="366.404298"/>
+ <use xlink:href="#glyph23-1" x="138.041236" y="366.404298"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph23-2" x="142.554312" y="366.404298"/>
+ <use xlink:href="#glyph23-3" x="145.961535" y="366.404298"/>
+ <use xlink:href="#glyph23-4" x="150.942855" y="366.404298"/>
+ <use xlink:href="#glyph23-5" x="153.323926" y="366.404298"/>
+ <use xlink:href="#glyph23-6" x="158.474611" y="366.404298"/>
+ <use xlink:href="#glyph23-4" x="163.625296" y="366.404298"/>
+ <use xlink:href="#glyph23-7" x="166.006367" y="366.404298"/>
+ <use xlink:href="#glyph23-8" x="169.822058" y="366.404298"/>
+ <use xlink:href="#glyph23-1" x="173.418571" y="366.404298"/>
+ <use xlink:href="#glyph23-5" x="178.210601" y="366.404298"/>
+ <use xlink:href="#glyph23-9" x="183.361286" y="366.404298"/>
+ <use xlink:href="#glyph23-10" x="187.784699" y="366.404298"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 286.179688 320.277344 C 286.179688 320.277344 286.179688 321.273438 286.179688 321.273438 L 294.390625 321.273438 C 294.390625 321.273438 294.390625 320.277344 294.390625 320.277344 Z M 286.179688 320.277344 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 294.390625 322.308594 L 298.085938 320.777344 L 294.390625 319.246094 Z M 294.390625 322.308594 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 294.390625 321.808594 C 294.390625 321.808594 294.039062 321.957031 294.039062 321.957031 C 294.039062 321.957031 293.890625 322.308594 293.890625 322.308594 C 293.890625 322.308594 294.039062 322.660156 294.039062 322.660156 C 294.039062 322.660156 294.390625 322.804688 294.390625 322.804688 L 298.085938 321.273438 C 298.085938 321.273438 298.4375 321.128906 298.4375 321.128906 C 298.4375 321.128906 298.582031 320.777344 298.582031 320.777344 C 298.582031 320.777344 298.4375 320.425781 298.4375 320.425781 C 298.4375 320.425781 298.085938 320.277344 298.085938 320.277344 L 294.390625 318.75 C 294.390625 318.75 294.039062 318.894531 294.039062 318.894531 C 294.039062 318.894531 293.890625 319.246094 293.890625 319.246094 L 293.890625 322.308594 C 293.890625 322.308594 294.039062 322.660156 294.039062 322.660156 C 294.039062 322.660156 294.390625 322.804688 294.390625 322.804688 C 294.390625 322.804688 294.742188 322.660156 294.742188 322.660156 C 294.742188 322.660156 294.886719 322.308594 294.886719 322.308594 L 294.886719 319.246094 C 294.886719 319.246094 294.390625 319.746094 294.390625 319.746094 L 298.085938 321.273438 C 298.085938 321.273438 298.085938 320.277344 298.085938 320.277344 Z M 294.390625 321.808594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph24-0" x="249.9482" y="354.498598"/>
+ <use xlink:href="#glyph24-1" x="253.355423" y="354.498598"/>
+ <use xlink:href="#glyph24-2" x="255.736494" y="354.498598"/>
+ <use xlink:href="#glyph24-3" x="260.717814" y="354.498598"/>
+ <use xlink:href="#glyph24-4" x="265.868499" y="354.498598"/>
+ <use xlink:href="#glyph24-5" x="269.465012" y="354.498598"/>
+ <use xlink:href="#glyph24-6" x="277.375349" y="354.498598"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph24-0" x="281.888425" y="354.498598"/>
+ <use xlink:href="#glyph24-2" x="285.295648" y="354.498598"/>
+ <use xlink:href="#glyph24-1" x="290.276968" y="354.498598"/>
+ <use xlink:href="#glyph24-7" x="292.658039" y="354.498598"/>
+ <use xlink:href="#glyph24-8" x="297.808724" y="354.498598"/>
+ <use xlink:href="#glyph24-1" x="302.959409" y="354.498598"/>
+ <use xlink:href="#glyph24-9" x="305.34048" y="354.498598"/>
+ <use xlink:href="#glyph24-4" x="309.156172" y="354.498598"/>
+ <use xlink:href="#glyph24-6" x="312.752685" y="354.498598"/>
+ <use xlink:href="#glyph24-7" x="317.544715" y="354.498598"/>
+ <use xlink:href="#glyph24-10" x="322.6954" y="354.498598"/>
+ <use xlink:href="#glyph24-11" x="327.118812" y="354.498598"/>
+ <use xlink:href="#glyph24-12" x="331.542224" y="354.498598"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph23-0" x="261.0913" y="366.404298"/>
+ <use xlink:href="#glyph23-1" x="269.001636" y="366.404298"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph23-2" x="273.514712" y="366.404298"/>
+ <use xlink:href="#glyph23-3" x="276.921935" y="366.404298"/>
+ <use xlink:href="#glyph23-4" x="281.903255" y="366.404298"/>
+ <use xlink:href="#glyph23-5" x="284.284326" y="366.404298"/>
+ <use xlink:href="#glyph23-6" x="289.435011" y="366.404298"/>
+ <use xlink:href="#glyph23-4" x="294.585696" y="366.404298"/>
+ <use xlink:href="#glyph23-7" x="296.966767" y="366.404298"/>
+ <use xlink:href="#glyph23-8" x="300.782458" y="366.404298"/>
+ <use xlink:href="#glyph23-1" x="304.378971" y="366.404298"/>
+ <use xlink:href="#glyph23-5" x="309.171001" y="366.404298"/>
+ <use xlink:href="#glyph23-9" x="314.321686" y="366.404298"/>
+ <use xlink:href="#glyph23-10" x="318.745099" y="366.404298"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 298.085938 175.707031 C 298.085938 175.707031 298.085938 176.703125 298.085938 176.703125 L 343.714844 176.703125 C 343.714844 176.703125 343.714844 175.707031 343.714844 175.707031 Z M 298.085938 175.707031 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 343.710938 177.738281 L 347.410156 176.207031 L 343.710938 174.675781 Z M 343.710938 177.738281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 343.710938 177.238281 C 343.710938 177.238281 343.359375 177.386719 343.359375 177.386719 C 343.359375 177.386719 343.214844 177.738281 343.214844 177.738281 C 343.214844 177.738281 343.359375 178.089844 343.359375 178.089844 C 343.359375 178.089844 343.710938 178.234375 343.710938 178.234375 L 347.410156 176.703125 C 347.410156 176.703125 347.761719 176.558594 347.761719 176.558594 C 347.761719 176.558594 347.90625 176.207031 347.90625 176.207031 C 347.90625 176.207031 347.761719 175.855469 347.761719 175.855469 C 347.761719 175.855469 347.410156 175.707031 347.410156 175.707031 L 343.710938 174.175781 C 343.710938 174.175781 343.359375 174.324219 343.359375 174.324219 C 343.359375 174.324219 343.214844 174.675781 343.214844 174.675781 L 343.214844 177.738281 C 343.214844 177.738281 343.359375 178.089844 343.359375 178.089844 C 343.359375 178.089844 343.710938 178.234375 343.710938 178.234375 C 343.710938 178.234375 344.066406 178.089844 344.066406 178.089844 C 344.066406 178.089844 344.210938 177.738281 344.210938 177.738281 L 344.210938 174.675781 C 344.210938 174.675781 343.710938 175.175781 343.710938 175.175781 L 347.410156 176.703125 C 347.410156 176.703125 347.410156 175.707031 347.410156 175.707031 Z M 343.710938 177.238281 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph25-0" x="297.4288" y="171.152698"/>
+ <use xlink:href="#glyph25-1" x="300.836023" y="171.152698"/>
+ <use xlink:href="#glyph25-2" x="303.217094" y="171.152698"/>
+ <use xlink:href="#glyph25-3" x="308.198413" y="171.152698"/>
+ <use xlink:href="#glyph25-4" x="313.349098" y="171.152698"/>
+ <use xlink:href="#glyph25-5" x="316.945611" y="171.152698"/>
+ <use xlink:href="#glyph25-6" x="324.855947" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph25-0" x="329.369023" y="171.152698"/>
+ <use xlink:href="#glyph25-2" x="332.776245" y="171.152698"/>
+ <use xlink:href="#glyph25-1" x="337.757565" y="171.152698"/>
+ <use xlink:href="#glyph25-7" x="340.138636" y="171.152698"/>
+ <use xlink:href="#glyph25-8" x="345.289321" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-0" x="308.5718" y="185.7304"/>
+ <use xlink:href="#glyph2-1" x="316.482135" y="185.7304"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph2-2" x="320.99521" y="185.7304"/>
+ <use xlink:href="#glyph2-3" x="324.402433" y="185.7304"/>
+ <use xlink:href="#glyph2-4" x="329.383752" y="185.7304"/>
+ <use xlink:href="#glyph2-5" x="331.764823" y="185.7304"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 347.410156 320.277344 C 347.410156 320.277344 347.410156 321.273438 347.410156 321.273438 L 352.21875 321.273438 C 352.21875 321.273438 352.21875 320.277344 352.21875 320.277344 Z M 347.410156 320.277344 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 352.21875 322.308594 L 355.914062 320.777344 L 352.21875 319.246094 Z M 352.21875 322.308594 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 352.21875 321.808594 C 352.21875 321.808594 351.863281 321.957031 351.863281 321.957031 C 351.863281 321.957031 351.71875 322.308594 351.71875 322.308594 C 351.71875 322.308594 351.863281 322.660156 351.863281 322.660156 C 351.863281 322.660156 352.21875 322.804688 352.21875 322.804688 L 355.914062 321.273438 C 355.914062 321.273438 356.265625 321.128906 356.265625 321.128906 C 356.265625 321.128906 356.410156 320.777344 356.410156 320.777344 C 356.410156 320.777344 356.265625 320.425781 356.265625 320.425781 C 356.265625 320.425781 355.914062 320.277344 355.914062 320.277344 L 352.21875 318.75 C 352.21875 318.75 351.863281 318.894531 351.863281 318.894531 C 351.863281 318.894531 351.71875 319.246094 351.71875 319.246094 L 351.71875 322.308594 C 351.71875 322.308594 351.863281 322.660156 351.863281 322.660156 C 351.863281 322.660156 352.21875 322.804688 352.21875 322.804688 C 352.21875 322.804688 352.570312 322.660156 352.570312 322.660156 C 352.570312 322.660156 352.714844 322.308594 352.714844 322.308594 L 352.714844 319.246094 C 352.714844 319.246094 352.21875 319.746094 352.21875 319.746094 L 355.914062 321.273438 C 355.914062 321.273438 355.914062 320.277344 355.914062 320.277344 Z M 352.21875 321.808594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph26-0" x="314.1579" y="330.687698"/>
+ <use xlink:href="#glyph26-1" x="317.565123" y="330.687698"/>
+ <use xlink:href="#glyph26-2" x="319.946193" y="330.687698"/>
+ <use xlink:href="#glyph26-3" x="324.927513" y="330.687698"/>
+ <use xlink:href="#glyph26-4" x="330.078198" y="330.687698"/>
+ <use xlink:href="#glyph26-5" x="333.674711" y="330.687698"/>
+ <use xlink:href="#glyph26-6" x="338.098122" y="330.687698"/>
+ <use xlink:href="#glyph26-2" x="343.248807" y="330.687698"/>
+ <use xlink:href="#glyph26-5" x="348.230127" y="330.687698"/>
+ <use xlink:href="#glyph26-6" x="352.653539" y="330.687698"/>
+ <use xlink:href="#glyph26-1" x="357.804223" y="330.687698"/>
+ <use xlink:href="#glyph26-7" x="360.185294" y="330.687698"/>
+ <use xlink:href="#glyph26-4" x="364.000985" y="330.687698"/>
+ <use xlink:href="#glyph26-8" x="367.597498" y="330.687698"/>
+ <use xlink:href="#glyph26-9" x="372.389527" y="330.687698"/>
+ <use xlink:href="#glyph26-10" x="377.540212" y="330.687698"/>
+ <use xlink:href="#glyph26-5" x="381.963624" y="330.687698"/>
+ <use xlink:href="#glyph26-11" x="386.387036" y="330.687698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph20-0" x="325.301" y="342.593098"/>
+ <use xlink:href="#glyph20-1" x="329.724412" y="342.593098"/>
+ <use xlink:href="#glyph20-2" x="334.875096" y="342.593098"/>
+ <use xlink:href="#glyph20-0" x="339.856415" y="342.593098"/>
+ <use xlink:href="#glyph20-1" x="344.279827" y="342.593098"/>
+ <use xlink:href="#glyph20-3" x="349.430511" y="342.593098"/>
+ <use xlink:href="#glyph20-4" x="351.811582" y="342.593098"/>
+ <use xlink:href="#glyph20-5" x="355.627272" y="342.593098"/>
+ <use xlink:href="#glyph20-6" x="359.223785" y="342.593098"/>
+ <use xlink:href="#glyph20-7" x="364.015814" y="342.593098"/>
+ <use xlink:href="#glyph20-8" x="369.166499" y="342.593098"/>
+ <use xlink:href="#glyph20-0" x="373.58991" y="342.593098"/>
+</g>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 355.914062 175.707031 C 355.914062 175.707031 355.914062 176.703125 355.914062 176.703125 L 396.4375 176.703125 C 396.4375 176.703125 396.4375 175.707031 396.4375 175.707031 Z M 355.914062 175.707031 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 396.4375 177.738281 L 400.132812 176.207031 L 396.4375 174.675781 Z M 396.4375 177.738281 "/>
+<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 396.4375 177.238281 C 396.4375 177.238281 396.085938 177.386719 396.085938 177.386719 C 396.085938 177.386719 395.941406 177.738281 395.941406 177.738281 C 395.941406 177.738281 396.085938 178.089844 396.085938 178.089844 C 396.085938 178.089844 396.4375 178.234375 396.4375 178.234375 L 400.132812 176.703125 C 400.132812 176.703125 400.484375 176.558594 400.484375 176.558594 C 400.484375 176.558594 400.632812 176.207031 400.632812 176.207031 C 400.632812 176.207031 400.484375 175.855469 400.484375 175.855469 C 400.484375 175.855469 400.132812 175.707031 400.132812 175.707031 L 396.4375 174.175781 C 396.4375 174.175781 396.085938 174.324219 396.085938 174.324219 C 396.085938 174.324219 395.941406 174.675781 395.941406 174.675781 L 395.941406 177.738281 C 395.941406 177.738281 396.085938 178.089844 396.085938 178.089844 C 396.085938 178.089844 396.4375 178.234375 396.4375 178.234375 C 396.4375 178.234375 396.789062 178.089844 396.789062 178.089844 C 396.789062 178.089844 396.9375 177.738281 396.9375 177.738281 L 396.9375 174.675781 C 396.9375 174.675781 396.4375 175.175781 396.4375 175.175781 L 400.132812 176.703125 C 400.132812 176.703125 400.132812 175.707031 400.132812 175.707031 Z M 396.4375 177.238281 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph27-0" x="357.3867" y="171.152698"/>
+ <use xlink:href="#glyph27-1" x="360.793923" y="171.152698"/>
+ <use xlink:href="#glyph27-2" x="363.174995" y="171.152698"/>
+ <use xlink:href="#glyph27-3" x="368.156315" y="171.152698"/>
+ <use xlink:href="#glyph27-4" x="373.307001" y="171.152698"/>
+ <use xlink:href="#glyph27-5" x="376.903514" y="171.152698"/>
+ <use xlink:href="#glyph27-6" x="381.326927" y="171.152698"/>
+ <use xlink:href="#glyph27-2" x="386.477613" y="171.152698"/>
+ <use xlink:href="#glyph27-5" x="391.458933" y="171.152698"/>
+ <use xlink:href="#glyph27-7" x="395.882346" y="171.152698"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+ <use xlink:href="#glyph3-0" x="368.5297" y="186.118898"/>
+ <use xlink:href="#glyph3-1" x="372.953113" y="186.118898"/>
+ <use xlink:href="#glyph3-2" x="378.103799" y="186.118898"/>
+ <use xlink:href="#glyph3-0" x="383.08512" y="186.118898"/>
+</g>
+</g>
+</svg>
diff --git a/info/context-notes-zh-cn/src/figures/aligned-1.pdf b/info/context-notes-zh-cn/src/figures/aligned-1.pdf
new file mode 100644
index 0000000000..e7c5b46d7c
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/aligned-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/aligned-2.pdf b/info/context-notes-zh-cn/src/figures/aligned-2.pdf
new file mode 100644
index 0000000000..8f52afbeee
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/aligned-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/bad-latin.pdf b/info/context-notes-zh-cn/src/figures/bad-latin.pdf
new file mode 100644
index 0000000000..34bf4d40d7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/bad-latin.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-1.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-1.pdf
new file mode 100644
index 0000000000..00d0481dcd
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-2.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-2.pdf
new file mode 100644
index 0000000000..0c53fb84bd
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-3.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-3.pdf
new file mode 100644
index 0000000000..5c09f0bd80
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-4.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-4.pdf
new file mode 100644
index 0000000000..c79c91dd5e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/breakinglines-5.pdf b/info/context-notes-zh-cn/src/figures/breakinglines-5.pdf
new file mode 100644
index 0000000000..d7c29695f3
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/breakinglines-5.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/cmd-window.png b/info/context-notes-zh-cn/src/figures/cmd-window.png
new file mode 100644
index 0000000000..81629fcb6e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/cmd-window.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/ctxnotes-2.png b/info/context-notes-zh-cn/src/figures/ctxnotes-2.png
new file mode 100644
index 0000000000..11190a179d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/ctxnotes-2.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/ctxnotes.png b/info/context-notes-zh-cn/src/figures/ctxnotes.png
new file mode 100644
index 0000000000..faaf563432
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/ctxnotes.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/defaultfonts.pdf b/info/context-notes-zh-cn/src/figures/defaultfonts.pdf
new file mode 100644
index 0000000000..0a2af2b0ca
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/defaultfonts.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/fakewords.pdf b/info/context-notes-zh-cn/src/figures/fakewords.pdf
new file mode 100644
index 0000000000..8170c00d84
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/fakewords.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/fallbacks.pdf b/info/context-notes-zh-cn/src/figures/fallbacks.pdf
new file mode 100644
index 0000000000..599fe4e088
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/fallbacks.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/fontsize-level.pdf b/info/context-notes-zh-cn/src/figures/fontsize-level.pdf
new file mode 100644
index 0000000000..91c34eab9b
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/fontsize-level.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/foo.pdf b/info/context-notes-zh-cn/src/figures/foo.pdf
new file mode 100644
index 0000000000..0da6514b9f
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/foo.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hello.png b/info/context-notes-zh-cn/src/figures/hello.png
new file mode 100644
index 0000000000..01b096bd20
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hello.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hibert-1.pdf b/info/context-notes-zh-cn/src/figures/hibert-1.pdf
new file mode 100644
index 0000000000..9f7ba941b7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hibert-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hibert-2.pdf b/info/context-notes-zh-cn/src/figures/hibert-2.pdf
new file mode 100644
index 0000000000..47b7d5728e
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hibert-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hibert-3.pdf b/info/context-notes-zh-cn/src/figures/hibert-3.pdf
new file mode 100644
index 0000000000..4a780c6814
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hibert-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/hibert.pdf b/info/context-notes-zh-cn/src/figures/hibert.pdf
new file mode 100644
index 0000000000..627236d101
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/hibert.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/indenting-1.pdf b/info/context-notes-zh-cn/src/figures/indenting-1.pdf
new file mode 100644
index 0000000000..52333e11b7
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/indenting-1.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/indenting-2.pdf b/info/context-notes-zh-cn/src/figures/indenting-2.pdf
new file mode 100644
index 0000000000..be10c57825
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/indenting-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/letter.pdf b/info/context-notes-zh-cn/src/figures/letter.pdf
new file mode 100644
index 0000000000..9a2aa7345d
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/letter.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/lines.pdf b/info/context-notes-zh-cn/src/figures/lines.pdf
new file mode 100644
index 0000000000..b5445178d1
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/lines.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/linux-terminal-icon.png b/info/context-notes-zh-cn/src/figures/linux-terminal-icon.png
new file mode 100644
index 0000000000..561da8dbb8
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/linux-terminal-icon.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdf b/info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdf
new file mode 100644
index 0000000000..6b5a8ecb67
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/m_k_i_v_ConTeXt-layout_svg_c60ccda70ef92e32d7a6334f31c23259.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/msfonts.png b/info/context-notes-zh-cn/src/figures/msfonts.png
new file mode 100644
index 0000000000..a1e05840f5
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/msfonts.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/none-zhfonts.pdf b/info/context-notes-zh-cn/src/figures/none-zhfonts.pdf
new file mode 100644
index 0000000000..5064281d40
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/none-zhfonts.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pagenumber.png b/info/context-notes-zh-cn/src/figures/pagenumber.png
new file mode 100644
index 0000000000..16906a2736
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pagenumber.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/parindentcolor.pdf b/info/context-notes-zh-cn/src/figures/parindentcolor.pdf
new file mode 100644
index 0000000000..36f765a403
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/parindentcolor.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars-2.pdf b/info/context-notes-zh-cn/src/figures/pars-2.pdf
new file mode 100644
index 0000000000..3651200580
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars-3.pdf b/info/context-notes-zh-cn/src/figures/pars-3.pdf
new file mode 100644
index 0000000000..efb7228ddb
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars-4.pdf b/info/context-notes-zh-cn/src/figures/pars-4.pdf
new file mode 100644
index 0000000000..795bd8b5b4
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars-5.pdf b/info/context-notes-zh-cn/src/figures/pars-5.pdf
new file mode 100644
index 0000000000..45ed389aeb
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars-5.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/pars.pdf b/info/context-notes-zh-cn/src/figures/pars.pdf
new file mode 100644
index 0000000000..1db6965752
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/pars.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/qian.pdf b/info/context-notes-zh-cn/src/figures/qian.pdf
new file mode 100644
index 0000000000..461e463a48
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/qian.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/search.png b/info/context-notes-zh-cn/src/figures/search.png
new file mode 100644
index 0000000000..74e12ca6a2
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/search.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/setupbodyfont.pdf b/info/context-notes-zh-cn/src/figures/setupbodyfont.pdf
new file mode 100644
index 0000000000..9086488f21
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/setupbodyfont.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/slides-finished.pdf b/info/context-notes-zh-cn/src/figures/slides-finished.pdf
new file mode 100644
index 0000000000..b49b06afcb
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/slides-finished.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/slides.pdf b/info/context-notes-zh-cn/src/figures/slides.pdf
new file mode 100644
index 0000000000..3d65bd5a28
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/slides.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/starting-area.pdf b/info/context-notes-zh-cn/src/figures/starting-area.pdf
new file mode 100644
index 0000000000..40598ce3da
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/starting-area.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/style-file.png b/info/context-notes-zh-cn/src/figures/style-file.png
new file mode 100644
index 0000000000..1612428c77
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/style-file.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/tex-root.png b/info/context-notes-zh-cn/src/figures/tex-root.png
new file mode 100644
index 0000000000..0a7d60fbd1
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/tex-root.png
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/true-words.pdf b/info/context-notes-zh-cn/src/figures/true-words.pdf
new file mode 100644
index 0000000000..0faf5af1e3
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/true-words.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/win-r.jpg b/info/context-notes-zh-cn/src/figures/win-r.jpg
new file mode 100644
index 0000000000..b33d05417a
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/win-r.jpg
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu-2.pdf b/info/context-notes-zh-cn/src/figures/zaoshu-2.pdf
new file mode 100644
index 0000000000..dafa5e5f8b
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu-2.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu-3.pdf b/info/context-notes-zh-cn/src/figures/zaoshu-3.pdf
new file mode 100644
index 0000000000..ede9539c35
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu-3.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu-4.pdf b/info/context-notes-zh-cn/src/figures/zaoshu-4.pdf
new file mode 100644
index 0000000000..595fad74e9
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu-4.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu-5.pdf b/info/context-notes-zh-cn/src/figures/zaoshu-5.pdf
new file mode 100644
index 0000000000..5dec6e3ec1
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu-5.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zaoshu.pdf b/info/context-notes-zh-cn/src/figures/zaoshu.pdf
new file mode 100644
index 0000000000..b40135449a
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zaoshu.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zhfonts-01.pdf b/info/context-notes-zh-cn/src/figures/zhfonts-01.pdf
new file mode 100644
index 0000000000..12e3519ae6
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zhfonts-01.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zhfonts-02.pdf b/info/context-notes-zh-cn/src/figures/zhfonts-02.pdf
new file mode 100644
index 0000000000..f4795fec8c
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zhfonts-02.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zhfonts-03.pdf b/info/context-notes-zh-cn/src/figures/zhfonts-03.pdf
new file mode 100644
index 0000000000..c1ccc3fcfc
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zhfonts-03.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/figures/zhfonts.pdf b/info/context-notes-zh-cn/src/figures/zhfonts.pdf
new file mode 100644
index 0000000000..8958d73fc3
--- /dev/null
+++ b/info/context-notes-zh-cn/src/figures/zhfonts.pdf
Binary files differ
diff --git a/info/context-notes-zh-cn/src/fonts.tex b/info/context-notes-zh-cn/src/fonts.tex
deleted file mode 100644
index c597b23ee5..0000000000
--- a/info/context-notes-zh-cn/src/fonts.tex
+++ /dev/null
@@ -1,219 +0,0 @@
-\startcomponent fonts
-\environment doc-env
-\product ctxnotes
-
-\chapter{在字体中挣扎}
-
-当我刚开始学用 \LATEX\ 时,就患上了字体恐惧症。如果只是写英文文档,那么对于初学者而言实在是太简单了,基本上不需要怎么关心字体的问题;但是对于中文或者其它非西语文字而言,\TEX\ 的易用性依然很弱,以至于用户不得不去弄清楚诸多有关字体方面的知识及其配置方法。我很憎恶这些东西,但是也没有办法,排版本来就不是一件易事,只好秉承“为之,则难者易易也”的精神去摸索一下。我开始阅读 \CONTEXT\ Fonts 文档\mycite{fonts},这一章内容就是我的阅读笔记。
-
-\section{字体、别名与特征}
-
-为字体文件取个别名,这是 \CONTEXT\ 字体机制推荐的做法。比如,我们可以将 AdobeSongStd-Light.otf 字体取名为 Song:
-
-\startniceTEX
-\definefontsynonym
- [Song][AdobeSongStd-Light][features=zh]
-\stopniceTEX
-
-\noindent \type{features=zh} 参数是用来告诉 \CONTEXT\ MkIV 应当采用中文 (zh) 方式来处理这款字体。\type{features} 的值并非 \CONTEXT\ 提供的标准值,而是要用户自己定义:
-
-\startniceTEX
-\definefontfeature
- [zh][mode=node,script=hang,lang=zhs]
-\stopniceTEX
-
-\noindent \type{zh} 这个 font feature 名字可根据自己的嗜好来定;至于第二组参数,对于简体中文用户,通常这样设置就可以。
-
-\tex{definefontfeature} 与 \tex{definefontsynonym} 命令的用法在与本文档一同发布的 zhfonts.tex 文件中均有体现,可参照理解。
-
-这里需要注意一下字体别名定义中的字体名称。上面的示例中,我直接使用 \type{AdobeSongStd-Light} 告诉 MkIV:我使用的是 AdobeSongStd-Light.otf 字体。实际上,这样的效率会有点低。因为 MkIV 有两种搜索字体的方式,第一种是根据字体开发商给出的字体名 (name),第二种是字体的文件名 (file)。字体名可以使用 \type{fc-list} 命令来查,譬如查询搜索 AdobeSongStd-Light.otf 的字体名:
-
-\starttyping
-> fc-list | grep Song
-Adobe 宋体 Std L,Adobe Song Std,Adobe 宋体 Std,
-Adobe Song Std L:style=L,Regular
-\stoptyping
-
-\noindent 我们可以得到许多字体名,推荐从中选择一个纯英文的供给 MkIV,譬如:
-
-\startniceTEX
-\definefontsynonym
- [Song][name:Adobe Song Std][features=zh]
-\stopniceTEX
-
-如果想使用字体文件名,可以为其冠以 \type{file} 前缀:
-
-\startniceTEX
-\definefontsynonym
- [Song][file:AdobeSongStd-Light][features=zh]
-\stopniceTEX
-
-在本节最初的那个例子中,既没有 \type{name} 前缀,也没有 \type{file} 前缀,那么 MkIV 就只好先尝试字体名;如果找不到字体,再去尝试字体文件名。
-
-我觉得使用字体名比较正规一些,因为字体的文件名很容易被改掉;字体名是由开发商设定的,一般用户不会想到去修改它,因此使用它可以提高文档的可移植性。
-
-\CONTEXT\ 预定义了一些标准的字体别名,我们常用的是\crlf\type{[Serif|Sans|Mono][Bold|Italic|BoldItalic]},它们在 zhfonts.tex 中均出现了。
-
-还值得注意的一个问题就是:我们可以定义字体别名的别名。
-
-\section{简单的字体定义}
-
-使用 \tex{definefont} 命令可以实现最快捷、最容易理解的字体定义与使用。比如我想定义 Adobe 宋体并使用它:
-
-\startniceTEX
-\definefont
- [Song]
- [{name:Adobe Song Std*zh} at 14pt]
-
-\starttext
-\Song 我使用的是 Adobe 宋体
-\stoptext
-\stopniceTEX
-
-或许上面这个例子看起来有点古怪,我将字体定义的部分改写一下,或许就会清楚一些:
-
-\startniceTEX
-\definefontsynonym
- [SongTi][name:Adobe Song Std][features=zh]
-
-\definefont
- [Song][SongTi at 14pt]
-\stopniceTEX
-
-如果在定义字体时,不去硬性地设定字体尺寸,那么 \CONTEXT\ 可以根据具体的排版环境自动为字体设定合适的尺寸。
-
-\section{Typescript 与 typeface}
-
-说实在的,typescript 的中文意思我真的说不出来,词典上可以查到的解释是“用打字机打的文件”。我在中文里也实在找不出简洁、准确的翻译,所以还是直称 typescript 为好。
-
-简单来说,typescript 是 \CONTEXT\ 的最上层的字体配置文件。目前,MkIV 没有提供面向中文用户的 typescript 文件,这就需要我们自行去实现,因此掌握 typescript 文件的写法非常重要。
-
-在只针对 MkIV 的 typescript 配置与使用中,常用命令如下:
-
-\startitemize
-\item typescript 环境
-\item \tex{definefontsynonym}
-\item \tex{definetypeface}
-\item \tex{usetypescriptfile}
-\item \tex{usetypescript}
-\stopitemize
-
-\noindent 下面我将结合 zhfonts.tex 中的部分内容来理解这些命令的用法。
-
-在 zhfonts.tex 文件中可以看到,typescript 文件内容是被 typescript 环境分为多个小节的,每个小节实现了一组字体的配置:
-
-\startniceTEX
-\definefontfeature
- [zh][mode=node,script=hang,lang=zhs]
-
-\starttypescript[serif] [zhfont]
- ... ...
-\stoptypescript
-
-\starttypescript[sans][zhfont]
- ... ...
-\stoptypescript
-
-\starttypscript[mono][zhfont]
- ... ...
-\stoptypescript
-
-\starttypescript[myfont]
- ... ...
-\stoptypescript
-\stopniceTEX
-
-上述代码,我设置了三种字样 (typeface):衬线 (serif)、非衬线 (sans) 与等宽 (mono)。最后的那个 typescript 环境是打算用来定义字样集合的。有关这里的字样的概念,可参考黄老师的《\LATEX\ 学习笔记》\mycite{lnotes}的第 8 章来理解,同时你也可以从中额外获得一些 \TEX\ 字体的常识。
-
-我们是在 typescript 环境中定义具体的字体,比如下面定义衬线字样的一组字体:
-
-\startniceTEX
-\starttypescript[serif] [zhfont]
- \definefontsynonym
- [Serif][name:adobesongstd]
- \definefontsynonym
- [SerifBold][name:adobeheitistd]
- \definefontsynonym
- [SerifItalic][name:adobekaitistd]
- \definefontsynonym
- [SerifBoldItalic][name:adobeheitistd]
-\stoptypescript
-\stopniceTEX
-
-\noindent 因为已经知道了 \tex{definefontsynonym} 命令的作用,因此上述字体的定义看起来就非常简单了,就是用我们所指定的一组字体去替换 \ConTeXt\ 标准字体别名默认所使用的字体而已。我们可以按照这样的方式完成非衬线与等宽字样的字体定义,不再赘述。
-
-下面来看一下字样的定义:
-
-\startniceTEX
-\starttypescript[myfont]
- \definetypeface[myfont][rm][serif][zhfont][features=zh]
- \definetypeface[myfont][ss][sans][zhfont][features=zh]
- \definetypeface[myfont][tt][mono][zhfont]
-\stoptypescript
-\stopniceTEX
-
-\noindent \tex{definetypeface} 命令的第三个参数与第四个参数是与前面的 typescript 环境参数对应一致的,比如:
-
-\startniceTEX
-\definetypeface
- [adobe][rm][serif][zhfont]
-\stopniceTEX
-\noindent 对应:
-\startniceTEX
-\starttypescript[serif][zhfont]
- ... ... ...
-\stoptypescript
-\stopniceTEX
-\noindent 其中含义就是将 adobe 字样集合的衬线 (rm) 字样设为该 typescript 文件中具有 \type{[serif][zhfont]} 参数的 typescript 环境所定义的字体集;也就是说,\CONTEXT\ 可以根据 \tex{definetypeface} 的第三、四个参数来匹配对应的 typescript 环境。不知我有没有说明白。总之,在此要认真体会一下 typescript 环境参数的作用,姑且可以将其当作是对应 typescript 环境唯一的标识符号。至于 \tex{definetypeface} 前两个参数,其实也是作为一个标识符来用的,这在使用 typescript 文件时就可以看到。
-
-将上述的知识汇在一起,就可以写出类似 zhfonts.tex 这样的 typescript 文件,若将其投入到 \TEX\ 目录树中,就可以在排版时使用它了,譬如:
-
-\startniceTEX
-\usetypescriptfile[zhfonts]
-\usetypescript[myfont]
-\setupbodyfont[adobe,rm,11pt]
-\stopniceTEX
-
-\noindent 首先 \tex{usetypescriptfile} 命令驱使 \CONTEXT\ 在 \TEX\ 目录树中找到 zhfonts.tex 这个 typescript 文件;然后 \tex{usetypescript} 命令可以在 zhfonts.tex 文件中匹配含有一个参数为 myfont 的 typescript 环境,并读取该环境所定义的字样信息;最后使用 \tex{setupbodyfont} 命令将 typescript 文件中所定义的某种字样其定位文档的默认字体集,\tex{definetypeface} 命令的前两个参数的用途再次便得以体现出来。
-
-\section{混合字体}
-
-从概念上讲,混合字体就是将两种或更多的字体的不同编码部分合成到一起,形成一种新的字体。比如,中文字体往往也会包含了英文部分,偏偏这部分字体设计的又太差。所以,目前对于中文用户而言,混合字体机制实在是重之又重,因为我们可以利用这套机制来实现将一部分好看的英文字体注入到中文字体中,以此来实现美观的中英文混合文本排版。
-
-下面展示一个小例子,用以说明如何使用 MkIV 的混合字体机制:
-
-\startniceTEX
-\definefontsynonym
- [zhserif][name:adobesongstd]
-\definefontfallback
- [serifwhatever][lmroman10-regular][0x0000-0x0400][force=yes]
-\definefontsynonym
- [ZhSerif][zhserif][fallbacks=serifwhatever]
-\definefont[FbSong][ZhSerif at 12pt]
-\definefont[Song][name:adobesongstd at 12pt]
-
-\starttext
-\FbSong
-中英文混合:To do or not to do, this is the question!
-
-\Song
-中英文混合:To do or not to do, this is the question!
-\stoptext
-\stopniceTEX
-
-字体切换命令 \tex{ZhSerif} 使用的是混合字体,是 Adobe 宋体的 \type{0x0000-0x0400} 区域中掺入了 lmroman10 字体的对应区域;而 \tex{Song} 命令使用的则是纯的 Adobe 宋体。上面的例子也许看不出来混合字体的优势所在,这主要是因为 Adobe 宋体中的英文部分设计的还算不错。如果将 Adobe 宋体换成 SimSun,对比效果会更明显一些。
-
-我们可以将这种混合字体机制与 MkIV 的 typescript 机制相结合,在不同风格的中文字体中掺入类似风格的英文字符,这样中英文混合排版的问题就能够得到较好的解决。
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “不仅仅是为了中文”,详细介绍了 \CONTEXT\ 的 Typescript 机制:\crlf \hbox{\tt http://liyanrui.is-programmer.com/2009/10/21/not-just-for-chinese.12264.html}
-\item “zhfonts 模块的用法”,zhfonts 模块可支持中文字体加载、标点间距调整等功能:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/10/zhfonts-usage.23740.html}
-\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/layout.tex b/info/context-notes-zh-cn/src/layout.tex
deleted file mode 100644
index 52691d16d8..0000000000
--- a/info/context-notes-zh-cn/src/layout.tex
+++ /dev/null
@@ -1,233 +0,0 @@
-\startcomponent layout
-\product ctxnotes
-
-\chapter{版面设计}
-
-其实我不懂排版,我只是希望这份文档的版面看上去不那么丑陋,所以我经常留意有关排版的知识,并乐于使用 \CONTEXT\ 来实践。我将这个实践的过程整理出来,就是本章所记述的内容,并且每当我修改本文档的版面风格时,这一章的内容也会适应性的变动。可以将本章看作是这份笔记版面设计的说明书。
-
-\section{页面与纸张}
-
-页面尺寸就是文档的版面尺寸,而纸张尺寸是指文档印刷用纸的规格,它们的取值一般是相同的;只有在要求每张印刷用纸上实现多页排版时,二者的取值才不一样。这份笔记的屏幕阅读文档页面与纸张尺寸设定如下:
-
-\startniceTEX
-\definepapersize[SCREEN][width=24cm,height=18cm]
-\setuppapersize[SCREEN][SCREEN]
-\stopniceTEX
-
-\noindent 其意是指页面与纸张的尺寸的宽高分别为 24cm 与 18cm,这是考虑到显示屏幕尺寸的宽高比一般为 4:3,这样可以充分利用屏幕区域,并且翻页方便。
-
-页面与纸张的规格可以采用 \CONTEXT\ 已经预定义好的国际标准规格,如 A0~A10、B0~B5 等;也可以采用自定义尺寸:
-
-\startniceTEX
-\definepapersize[I18][width=18.5cm,height=23cm]
-\setuppapersize[I18][I18]
-\stopniceTEX
-
-\noindent 这里定义的 I18 规格的页面与纸张尺寸,是近年来计算机技术书籍排版常用的纸张规格。
-
-\section{版面布局}
-
-\CONTEXT\ 将版面划分为 25 个区域,具体的区域划分在 {\it\CONTEXT, an excursion}\cite[ms-cb-en]文档的第 32 章 {\it Page Layout} 中可以看到,也可以在 \CONTEXT\ Wiki 的 {\it Layout} 页面看到\footnote{http://wiki.contextgarden.net/Layout}。
-
-我为这份文档所规划的版面布局如下:
-
-\startmode[print]
-\startniceTEX
-\setuplayout
- [leftmargin=2cm,
- rightmargin=3cm,
- width=fit,
- height=fit,
- topspace=1cm,
- header=1.5cm,
- footer=1.5cm]
-\stopniceTEX
-\stopmode
-
-\startmode[screen]
-\startniceTEX
-\setuplayout
- [width=fit,
- height=middle,
- leftmargin=3cm,
- rightmargin=3cm,
- backspace=4cm,
- topspace=.5cm,
- headerdistance=.4cm,
- footerdistance=.4cm,
- header=1cm,
- footer=1cm]
-\stopniceTEX
-\stopmode
-
-\noindent 下一页的插图显示了这些参数的布局效果,这里交代一下,那幅插图是利用了 Patrick 写的一个模块 (Module)\footnote{\type{http://modules.contextgarden.net/t-layout}}绘制的。
-
-\type{\setuplayout} 命令所具有的参数,在数量上堪称是 \ConTeXt\ 命令之最,如果我没有数错,应该是 44 个,常用的参数也就是下一页插图中所示的那些了。通过这些参数,\ConTeXt\ 可实现各种复杂的版面布局。
-
-说点闲话。如果我没记错的话,MS Word 用来设置版面布局的参数不超过 10 个。在 \LATEX\ 中,需要借助一些宏包才可以比较方便地实现版面布局控制。复杂与统一,也许这是 \CONTEXT\ 的一个很重要的特征,复杂是追求功能强大的必然结果,而统一可以让用户只需一份官方提供的技术手册就可以毫无争议地使用这些功能。
-
-注意,将 \type{\setuplayout} 的 \type{width} 与 \type{height} 参数设为 \type{fit} 或 \type{middle} 都可以让 \CONTEXT\ 自动为我们确定它们的值。\type{fit} 参数的确定是根据周边邻域参数计算出来的,而 \type{middle} 不是很关心周边参数,它只需要将 \type{width} 或 \type{height} 所确定的尺度相对于同一维向的页面尺度是居中的。
-
-\type{location} 这个参数让我费解了许久,历经多次尝试,总算知道一点所以然。当我们将版面尺寸与纸张尺寸设为相同时,\type{location} 这个参数无论如何设定都是看不到效果的。当纸张尺寸大于版面尺寸时,\type{location} 的值可以表示版面在纸张的位置,譬如 left、right、middle、singlesided 以及 doublesided。
-
-\page
-\ShowLayout[digit=1,showmore=0]
-\page
-
-\section[HFer]{页眉、页脚}
-
-对于这份文档的页眉,我将奇数页的页眉设为当前章标题(左)+ 页码(右);偶数页的页眉设为当前节标题(左)+ 页码(右):
-
-\startniceTEX
-\def\CurrentChapter{%
- 第 \headnumber[chapter]\ 章%
- \hbox to wem{}%
- \getmarking[chapter]%
-}
-
-\def\CurrentSection{%
- \headnumber[section]%
- \hbox to 2em{}%
- \getmarking[section]%
-}
-
- \setupheadertexts
- [\CurrentChapter][pagenumber]
- [pagenumber][\CurrentSection]
-\stopniceTEX
-
-\tex{setupheadertexts} 命令的参数设置的有些古怪,按手册上讲的,前两个参数分别用于设置奇数页的页眉左侧与右侧内容,后两个参数则用于设置偶数页的页眉左侧与右侧内容,但是在上述的页眉设置语句中,我只有将偶数页的页眉内容的左右位置掉换过来才可以得到这份文档的页眉结构。我并不知道为什么要这样设置,只是多次尝试才知道只有如此才能实现我的要求。
-
-由于设置在页眉中显示页码,所以应当引去 \CONTEXT\ 自动为页面添加的页码,顺便把页码的字号也设置一下:
-
-\startniceTEX
-\setuppagenumbering
- [style=\tfx,location=]
-\stopniceTEX
-
-我感觉 \CONTEXT\ 是有点另类,居然让 \tex{setuppagenumbering} 来设置双面打印文档模式。如果,我想将本文档的页眉结构变成:奇数页的页眉设为当前章标题(左)+ 页码(右);偶数页的页眉设为当前节标题(右)+ 页码(左),只需在 \tex{setuppagenumbering} 命令中设定 \type{alternative} 参数即可:
-
-\startniceTEX
-\setuppagenumbering
- [alternative=doublesided,style=\tfx,location=]
-\stopniceTEX
-
-\noindent 感觉有点莫名其妙,也许因为我还未发现正确的页眉设置方法的缘故。
-
-页脚的设定方法与页眉类似,我在页脚的左侧设置了显示这份文档的名称,在其右侧显示可以跳往目录页的链接:
-
-\startniceTEX
-\startmode[screen]
-\setupfootertexts
- [{\ConTeXt\ MkIV 学习笔记}][{\goto{回目录}[content]}]
- [{\goto{回目录}[content]}][{\ConTeXt\ MkIV 学习笔记}]
-\stopmode
-\stopniceTEX
-
-\noindent 用到了 \CONTEXT\ 的 mode 环境,这就像 C 语言中的编译宏。只有在 \CONTEXT\ 编译命令中设定对应的 mode 值,对应 mode 环境中的语句才是有效的。要让 screen mode 环境生效,可:
-
-\starttyping
-$ context --mode=screen ctxnotes
-\stoptyping
-
-\noindent \CONTEXT\ 的 mode 环境非常有用,许多 \CONTEXT\ 官方制作的文档都是利用 mode 环境同时产生屏幕阅读版本与打印版本。将来,我打算将这一环境用于制作演示文档与讲稿。
-
-在页脚右侧显示的“回目录”的链接需要设置目录代码的支持,因为这需要利用 \ConTeXt\ 的引用机制:
-
-\startniceTEX
-% 我的目录页
-\title[content]{目录}
-\placecontent
-\stopniceTEX
-
-\noindent 有关文档目录设置的细节,准备单独开一个章节来记述。
-
-\section{封面设计}
-
-\CONTEXT\ 没有像 \LATEX\ 那样提供了专用于封面制作的命令,只是提供了一个 \type{standardmakeup} 环境,该环境的作用就是建立一个不增加页码计数的页面,使得用户可以在其中排版封面、扉页之类的页面。这份文档的封面的具体设计如下:
-
-\startniceTEX
-\startstandardmakeup
- \startcolor[mydarkred]
- \switchtobodyfont[14pt]
- \hfil\bfd\ConTeXt 学习笔记\hfil
- \blank[1.5cm]
- \hfil\bfc Using MkIV\hfil
- \blank[12cm]
-
- \startalignment[flushright]
- \ssa
- \bTABLE
- \setupTABLE[r][each][frame=off]
- \bTR \bTD Athor: Li Yanrui\eTD \eTR
- \bTR \bTD Email: lyanry@gmail.com\eTD \eTR
- \bTR \bTD \date \eTD \eTR
- \eTABLE
- \stopalignment
- \stopcolor
-\stopstandardmakeup
-\stopniceTEX
-
-请宽恕我在上述语句中很可耻地使用了 1.5cm、12cm 这样确定的长度。因为我还不怎么会驾驭 \CONTEXT,还无法灵活地实现可根据版面的变化自适应调整的封面设计。
-
-要设计一个美观的封面真得很难,而且这也不是我所擅长的。现在,拥有这样一个简单的封面,我已经心满意足。也许等我以后渐渐熟悉 \METAFUN\ 之时,会让它再美观一些。
-
-\section{标题样式}
-
-惯见的文档章、节标题一般都是采用黑体,字号通常也比正文字号大一些,另外标题前后也留出了一些垂直间距。这些设置无非是为了告诉读者,它们是标题,而不是正文。这份文档的标题样式设置如下:
-
-\startniceTEX
-\setupheads[indentnext=yes]
-\setuphead
- [chapter]
- [style=\bfc,header=empty,footer=empty]
-\setuphead
- [section]
- [style=\bfa]
-\setuphead
- [title]
- [style=\bfb,header=empty,foote=empty]
-\setuphead
- [subsubject]
- [style=\bf]
-\stopniceTEX
-
-\noindent\tex{setupheads} 命令可以设置所有类型的章节标题默认状态。在设置章标题时,由于其所在页面通常不需要页眉与页脚,所以 \type{header} 与 \type{footer} 都应设为 \type{empty}。
-
-现在使用 MkIV 排版中文,要想实现章节的编号格式为“第 x 章”、“第 x 节”,或者实现图、表标题格式为“图 x”、“表 x”,可能需要自己来做一些有些 dirty 工作。\ConTeXt\ 提供了 \tex{setuplabeltext} 命令,可用于设置表格、图、章节、附录的编号格式。譬如,要设置中文的章节编号:
-
-\startniceTEX
-\setuplabeltext [en] [chapter={第\;,\;章}]
-\setuplabeltext [en] [section={第\;,\;节}]
-\stopniceTEX
-
-\noindent 遗憾的是,我不知道怎样将编号中的数字也使用中文来表示,这在 MkII 中是可以的。
-
-\section{段落与行}
-
-中文排版,段落间距通常等于行间距,因为中文段落是通过首行缩进来标示的,下面代码可将段落文本首行缩进 2 个汉字距离:
-
-\startniceTEX
-\setupindenting[always,2em,first]
-\stopniceTEX
-
-\ConTeXt\ 默认是将段间距设置为 0,这碰巧符合中文的排版规范。如果有设定段间距的需求,就查一下 \tex{setupwhitespace} 命令的用法。
-
-对文档正文而言,行间距的设置对于排版的美观性是至关重要的:行间距过小则阅读困难;行间距过大又显得版面稀疏,浪费纸张。\ConTeXt\ 默认的文本行间距的值对于中文排版而言过小,可通过 \tex{setupinterlinespace} 命令结合自己的审美嗜好对行间距进行调整。我习惯将行高设为 1.5em:
-
-\startniceTEX
-\setupinterlinespace[line=1.5em]
-\stopniceTEX
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “页面布局控制”:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/19/layout-control.23895.html}
-\item “\CONTEXT\ 文稿的逻辑结构”:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/16/context-manuscript-logic-structure.23826.html}
-\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/metafun.tex b/info/context-notes-zh-cn/src/metafun.tex
deleted file mode 100644
index c7a121d47b..0000000000
--- a/info/context-notes-zh-cn/src/metafun.tex
+++ /dev/null
@@ -1,463 +0,0 @@
-\startcomponent metafun
-\product ctxnotes
-
-\chapter{我是这样学习 MetaFun 的}
-
-其实,我本来是想尽快制作一份有关 \CONTEXT\ 演示文档的学习笔记,尝试了几次之后,都铩羽而归。我渐渐意识到如果不了解 \METAFUN,那么使用 \CONTEXT\ 是很痛苦的,就像拿到了一座金山却无处消费它一般。我开始认真学习 \METAFUN,并且也很后悔当初没有学习 \METAPOST,而在 PGF/TikZ 上却曾经浪费了很多时间。
-
-\section{从画一个矩形开始}
-
-在这份这份文档的封面上,画有许多形态各异的矩形,它们不是我画的,而是我从一份 \CONTEXT\ 演示文档模板中扣出来的一段代码。我从现在开始逐步研究它们是如何绘制出来的。
-
-先进行一个矩形区域的填充:
-
-\startniceTEX[numbering=line]
-\setupcolors[state=start]
-\setupcolor[hex]
-\definecolor[BackgroundColor][h=cccccc]
-
-\starttext
-\startuseMPgraphic{box}
-offset := uniformdeviate 10pt;
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset; x2 := width-offset; y2 := height-offset;
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-\stopuseMPgraphic
-
-\useMPgraphic{box}
-\stoptext
-\stopniceTEX
-
-\definecolor[BackgroundColor][h=cccccc]
-\startuseMPgraphic{box}
-offset := uniformdeviate 10pt;
-
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset;
-x2 := width-offset; y2 := height-offset;
-
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-\stopuseMPgraphic
-
-这个小例子可在页面中绘制一个灰色的矩形填充域\;\useMPgraphic{box}\;\;。实际上,单单要完成这个例子所实现的目标,没必要去定义那么多的变量,这里之所以如此,不妨认为我想借此来熟悉一下 \METAPOST\ 的变量赋值与运算语法。
-
-代码第 1-3 行的大意是启用颜色环境,并将颜色描述格式设为 16 进制码形式,最后使用灰色定义了一种名曰 BackgroundColor 的颜色;在 \METAFUN\ 中,我们可以使用 \tex{MPcolor} 命令将 \CONTEXT\ 中定义的颜色转换为 \METAFUN\ 所使用的颜色值,详见代码第 12 行。这多少可以体现出 \METAFUN\ 的一些特点,它实现了 \CONTEXT\ 与 \METAPOST\ 的沟通。
-
-代码第 7 行演示了 uniformdeviate 命令的用法,它的作用就是从 \type{[0pt - 10pt]} 这个尺寸区间中随机取一个尺寸。
-
-代码第 11-12 行演示了如何填充一条路径,比较值得注意的是路径构成中的 \type{z1} 与 \type{z2} 的含意,这似乎是 \METAPOST\ 约定的,它们分别表示 \type{(x1,y1)} 与 \type{(x2,y2)},但愿我没有理解错。
-
-代码第 6-13 行构造了一幅 \METAFUN\ 图形,第 15 行代码将该图形插入至文档中。这就是 \METAFUN\ 图形嵌入于 \CONTEXT\ 的一般方式。另外,也可以像插入普通图片那样:
-
-\startniceTEX
-\placefigure
- [here,force][fig:box]
- {嵌入 \METAFUN\ 图形}{\useMPgraphic{box}}
-\stopniceTEX
-
-\placefigure
- [here,force][fig:box]
- {嵌入 \METAFUN\ 图形}{\useMPgraphic{box}}
-
-下面为这个矩形填充域绘制边框。如果只是绘制一个矩形框,这比较简单,以下示例便可以:
-
-\startniceTEX
-\setupcolors[state=start]
-\setupcolor[hex]
-\definecolor[BackgroundColor][h=cccccc]
-\definecolor[OrnamentColor][h=99ccff]
-
-\starttext
-\startuseMPgraphic{box-ornament}
-offset := uniformdeviate 10pt;
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset; x2 := width-offset; y2 := height-offset;
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-draw z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\useMPgraphic{box-ornament}
-\stoptext
-\stopniceTEX
-
-\definecolor[BackgroundColor][h=cccccc]
-\definecolor[OrnamentColor][h=99ccff]
-\startuseMPgraphic{box-ornament}
-offset := uniformdeviate 10pt;
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset; x2 := width-offset; y2 := height-offset;
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-draw z1--(x2,y1)--z2--(x1,y2)--cycle
- withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\noindent 得到\;\useMPgraphic{box-ornament}\;,但是它无法实现本文档封面页上的那些小矩形框的效果,它们是无法采用一条路径来实现,而是要四个边框逐个的画:
-
-\startniceTEX[numbering=line]
-... ...
-def delta = ((uniformdeviate .5offset) + .25offset) enddef;
-drawoptions(withpen pencircle scaled 2pt
- withcolor \MPcolor{OrnamentColor});
-draw (x1-delta,y1)--(x2+delta,y1);
-draw (x2,y1-delta)--(x2,y2+delta);
-draw (x2+delta,y2)--(x1-delta,y2);
-draw (x1,y2+delta)--(x1,y1-delta);
-
-drawoptions();
-setbounds currentpicture to unitsquare xyscaled (width,height);
-\stopniceTEX
-
-\startuseMPgraphic{box-random-ornament}
-offset := uniformdeviate 10pt;
-def delta = ((uniformdeviate offset) + .25offset) enddef;
-width := 2*offset + 30pt + uniformdeviate 30pt;
-height := 2*offset + 20pt + uniformdeviate 10pt;
-x1 := offset ; y1 := offset; x2 := width-offset; y2 := height-offset;
-fill z1--(x2,y1)--z2--(x1,y2)--cycle
- withcolor \MPcolor{BackgroundColor};
-drawoptions(withpen pencircle scaled 2pt
- withcolor \MPcolor{OrnamentColor});
-draw (x1-delta,y1)--(x2+delta,y1);
-draw (x2,y1-delta)--(x2,y2+delta);
-draw (x2+delta,y2)--(x1-delta,y2);
-draw (x1,y2+delta)--(x1,y1-delta);
-
-drawoptions();
-setbounds currentpicture to unitsquare xyscaled (width,height);
-\stopuseMPgraphic
-
-\noindent 这样才可以得到那种类似于手绘矩形框的效果\;\useMPgraphic{box-random-ornament}\;\;。注意,第 2 行代码所定义的 \type{delta} 似乎是一个变量,实际它是一个宏,一个不带任何参数的宏。宏可以避免许多重复的输入,并且使得代码更为易读;\type{drawoptions} 也具有类似作用。在上述代码片段中,宏还起到了让 \type{delta} 返回的尺寸大小居于随机变化的效果,因为宏在被 \METAPOST\ 处理时要被其定义替换,因为 \type{delta} 定义中的 \type{uniformdeviate} 运算符就被反复调用,生成不同的随机数。\type{setbounds} 语句用于设置图形的边界,这样可以保证将所绘制的图形完全地显示出来(其实我觉得这有点多余)。
-
-下面,来看一下带参数的宏该如何写。带参数的宏,可将它理解为可重复调用的函数。对于前面的示例,可以将这一系列的绘制过程定义为下面的宏:
-
-\startniceTEX
-def random_box (expr width, height, offset, linewidth ) =
- def delta = ((uniformdeviate .5offset) + .25offset) enddef;
-
- x1 := offset; y1 := offset; x2 := width-offset; y2 := height-offset;
-
- drawoptions(withcolor transparent(1,.8,\MPcolor{BackgroundColor}));
- fill z1--(x2,y1)--z2--(x1,y2)--cycle;
-
- drawoptions(withpen pencircle scaled linewidth
- withcolor \MPcolor{OrnamentColor});
- draw (x1-delta,y1)--(x2+delta,y1);
- draw (x2,y1-delta)--(x2,y2+delta);
- draw (x2+delta,y2)--(x1-delta,y2);
- draw (x1,y2+delta)--(x1,y1-delta);
-
- drawoptions();
- setbounds currentpicture to unitsquare xyscaled (width,height);
-enddef;
-\stopniceTEX
-
-\type{random_box} 宏是可以接受传入参数的。\METAPOST\ 宏所支持的参数类型有:
-\type{expr}、\type{text} 与 \type{suffix}。\type{expr} 参数类型的用法正如上例 \type{random_box} 宏定义所示,它表示宏的使用者可以向其传入表达式的值。至于 \type{text} 与 \type{suffix} 参数类型,由于现在尚未用到它们,所以我可以暂时不理睬它们的功用。
-
-下面演示如何使用上述定义的 \type{random_box} 宏:
-
-\startniceTEX
-offset := uniformdeviate 10pt ;
-width := 2*offset + 40pt + uniformdeviate 30pt ;
-height := 2*offset + 30pt + uniformdeviate 10pt ;
-
-random_box (width,height,offset,1pt);
-\stopniceTEX
-
-\section[ordinary-repeat]{平凡的重复}
-
-一个士兵会踢正步,实在太平凡了;一群士兵会踢同样节奏的正步,就开始不平凡起来了。平凡的重复,往往是不平凡的。现在,我们开始重复上一节所绘制的那个 Box。先来看下面这个可编译的示例:
-
-\startniceTEX[numbering=line]
-\startuseMPgraphic{random-box}
-def random_box (expr width, height, offset, linewidth ) =
- def delta = ((uniformdeviate .5offset) + .25offset) enddef;
-
- x1 := offset; y1 := offset; x2 := width-offset; y2 := height-offset;
-
- drawoptions(withcolor \MPcolor{BackgroundColor});
- fill z1--(x2,y1)--z2--(x1,y2)--cycle;
-
- drawoptions(withpen pencircle scaled linewidth
- withcolor \MPcolor{OrnamentColor});
- draw (x1-delta,y1)--(x2+delta,y1);
- draw (x2,y1-delta)--(x2,y2+delta);
- draw (x2+delta,y2)--(x1-delta,y2);
- draw (x1,y2+delta)--(x1,y1-delta);
-
- drawoptions();
- setbounds currentpicture to unitsquare xyscaled (width,height);
-enddef;
-
-for i=1 upto 400 :
- offset := uniformdeviate 4pt ;
- width := 2*offset + 10pt + uniformdeviate 10pt ;
- height := 2*offset + 5pt + uniformdeviate 4pt ;
-
- addto currentpicture also
- image(random_box (width,height,offset,1pt)) shifted
- (uniformdeviate 8cm, uniformdeviate 6cm) ;
-endfor ;
-\stopuseMPgraphic
-\stopniceTEX
-
-\startuseMPgraphic{random-box}
-def random_box (expr width, height, offset, linewidth ) =
- def delta = ((uniformdeviate .5offset) + .25offset) enddef;
-
- x1 := offset; y1 := offset; x2 := width-offset; y2 := height-offset;
-
- drawoptions(withcolor \MPcolor{BackgroundColor});
- fill z1--(x2,y1)--z2--(x1,y2)--cycle;
-
- drawoptions(withpen pencircle scaled linewidth
- withcolor \MPcolor{OrnamentColor});
- draw (x1-delta,y1)--(x2+delta,y1);
- draw (x2,y1-delta)--(x2,y2+delta);
- draw (x2+delta,y2)--(x1-delta,y2);
- draw (x1,y2+delta)--(x1,y1-delta);
-
- drawoptions();
- setbounds currentpicture to unitsquare xyscaled (width,height);
-enddef;
-
-for i=1 upto 400 :
- offset := uniformdeviate 4pt ;
- width := 2*offset + 10pt + uniformdeviate 10pt ;
- height := 2*offset + 5pt + uniformdeviate 4pt ;
-
- addto currentpicture also
- image(random_box (width,height,offset,1pt)) shifted
- (uniformdeviate 8cm, uniformdeviate 6cm) ;
-endfor ;
-\stopuseMPgraphic
-
-\noindent 我得到如下图所示的图形:
-
-\placefigure
- [here,force][fig:random-box]
- {平凡的重复}{\useMPgraphic{random-box}}
-
-第 26-28 行是解决 \type{random_box} 重复绘制的核心代码。\type{addto ... also} 是 \METAPOST\ 内部定义的宏,它可以将一幅图形 (picture) 添加到另一幅图形中。图形是 \METAPOST\ 中的一个数据结构,它可以存储多条已被绘制的路径,并且图形与图形之间是可以包容的。\type{image} 也是 \METAPOST\ 内部定义的宏,它可以将某一被绘制的路径转变为图形。至于 \type{shifted},顾名思义,它是用来进行几何平移变换的,而且变换的位置是随机坐标来确定的。
-
-\section{Overlay 与背景}
-
-Overlay 这是 \CONTEXT\ 的一个术语,它的名字取的不是很正确,其本意是“覆盖,覆盖图”,但是在 \CONTEXT\ 中,它通常是位于文本之下的图形,或者说它是被文本覆盖。不过,overlay 可以分为许多个层次,因此这个术语的名字取得也不是完全不正确。
-
-很多时候,我都是将 overlay 作为一个背景层来对待的,下面的这个例子便可以说明这个问题:
-
-\startniceTEX[numbering=line]
-\setupcolors[state=start]
-
-\starttext
-\defineoverlay[tea][{\darkgreen\ss\bfc 绿茶}]
-\framed[background=tea, align=middle]{今\\天\\出\\售}
-\stoptext
-\stopniceTEX
-
-\defineoverlay[tea][{\darkgreen\ss\bfd 绿\;茶}]
-
-\noindent 这个例子可以将“绿茶”作为“今天出售”的背景:\framed[background=tea, align=middle]{今\\天\\出\\售}\;\;。
-
-\tex{defineoverlay} 的命令使用起来很简单,第一个参数是 overlay 名,第二个参数是 overlay 的内容,通常是一组排版或绘图命令的集合,推荐使用 \type{{}} 将其括起来。
-
-在上述示例中,已经演示了使用文本作为 overlay 内容,下面来看一下使用图片的例子:
-
-\startniceTEX
-\defineoverlay[cow][{\externalfigure[cow]%
- [width=\overlaywidth,height=\overlayheight]}]
-\framed[width=3cm,height=2cm,background=cow,align=right]
- {\vfill\color[darkred]{这是一头奶牛}}
-\stopniceTEX
-
-\defineoverlay[cow][{\externalfigure[cow][width=\overlaywidth,height=\overlayheight]}]
-
-\noindent 于是我们便拥有了一头漂亮的奶牛 \framed[width=3cm,height=2cm,background=cow,align=right]{\vfill\color[darkred]{这是一头奶牛}} 。
-
-上述以图片作为 overlay 的代码没必要多费口舌,多看几遍,动手尝试一下便可以明了。值得注意的倒是 \tex{framed} 命令的 \type{align} 参数,它的取值有些另类,明明是左对齐,但是它的值却是 right;如果你想让文本右对齐,就不得不将其设为 left。这实际上是 Hans 犯得一个错误,因为他当年在写 \CONTEXT\ 时,满脑子是 ragged left(左边不齐) 与 ragged right(右边不齐)。这样的错误一旦犯下了,便不好再改,主要是因为无法兼容过去的文档,后来 Hans 又加入了 flushleft 与 flushright 参数值,这是与我们普遍的习惯是相符的。
-
-我们还可以将 \METAFUN\ 绘制的图形作为 overlay,这也是本章一个非常重要的内容,它是 \METAFUN\ 与 \CONTEXT\ 集成的基础,来看这个示例:
-
-\startniceTEX
-\startuseMPgraphic{demo circle}
- path p ;
- p := fullcircle xscaled \overlaywidth yscaled \overlayheight ;
- fill p withcolor \MPcolor{BackgroundColor};
- draw p withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\defineoverlay[demo circle][\useMPgraphic{demo circle}]
-\framed[background=demo circle,frame=off]{被椭圆包围的文本}
-\stopniceTEX
-
-\startuseMPgraphic{demo circle}
- path p ;
- p := fullcircle xscaled \overlaywidth yscaled \overlayheight ;
- fill p withcolor \MPcolor{BackgroundColor};
- draw p withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-\defineoverlay[demo circle][\useMPgraphic{demo circle}]
-
-\noindent 我们可以得到 \framed[background=demo circle,frame=off,height=22pt]{被椭圆包围的文本}\;。
-
-由上例可见,我们发现 \METAFUN\ 可以将 \CONTEXT\ 中的一些尺寸,比如 \tex{overlaywidth} 与 \tex{overlayheight} 等参数传入 \METAFUN\ 环境中。在本章开始的时候,还用过一个 \tex{MPcolor} 宏,可以将 \CONTEXT\ 的颜色定义转换为 \METAPOST\ 的颜色定义。我们还可以通过使用 \tex{the} 作为前缀,实现在 \METAFUN\ 环境中访问诸如 \tex{textwidth}、\tex{textheight}、\tex{topspace} 等尺寸参数。
-
-前面说过,overlay 是可以叠加的,下面再来用一个例子演示一下:
-
-\startniceTEX
-\startuseMPgraphic{demo ellipse}
- path p ;
- p := fullcircle xscaled (.95*\overlaywidth) yscaled (.95*\overlayheight);
- fill p withcolor \MPcolor{BackgroundColor};
- draw p withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\startuseMPgraphic{demo square}
- path p ;
- p := fullsquare xscaled \overlaywidth yscaled \overlayheight;
- fill p withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\defineoverlay[demo ellipse][\useMPgraphic{demo ellipse}]
-\defineoverlay[demo square][\useMPgraphic{demo square}]
-
-\framed[background={demo square,demo ellipse},frame=off]{被矩形与椭圆包围的文本}
-\stopniceTEX
-
-\startuseMPgraphic{demo ellipse}
- path p ;
- p := fullcircle xscaled \overlaywidth yscaled \overlayheight;
- fill p withcolor \MPcolor{BackgroundColor};
- draw p withpen pencircle scaled 2pt withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\startuseMPgraphic{demo square}
- path p ;
- p := fullsquare xyscaled (1.1*\overlaywidth,1.1*\overlayheight);
- fill p withcolor \MPcolor{OrnamentColor};
-\stopuseMPgraphic
-
-\defineoverlay[demo ellipse][\useMPgraphic{demo ellipse}]
-\defineoverlay[demo square][\useMPgraphic{demo square}]
-
-\noindent 我们可以得到\quad\framed[background={demo square,demo ellipse},frame=off,height=22pt]{被矩形与椭圆包围的文本} 。这其实没什么技巧,只需多定义几个 overlay,然后将它们作为 \tex{framed} 的 \type{background} 的参数列表并按照先后的显示次序排列即可。
-
-本节所举的例子,只是使用 \tex{framed} 命令来演示。事实上,\CONTEXT\ 有许多命令都支持 overlay,只要它具备 \type{background} 参数。
-
-\section{代码的分离}
-
-有时候,会希望能够在多个 \METAFUN\ 图形环境中引用同样的一段代码,在我不知道存在 \type{MPinclusions} 环境时,我写过下面这般风格的代码:
-
-\startniceTEX
-\startuseMPgraphic{TitlePage}
-def random_box (expr width, height, offset, linewidth ) =
- ... ... ...
-enddef
-
-for i=1 upto 400 :
- ... ... ...
- addto currentpicture also
- image(random_hash_frame(width,height,offset,1pt)) shifted
- (uniformdeviate OverlayWidth, uniformdeviate OverlayHeight) ;
-endfor ;
-\stopuseMPgraphic
-
-\startuseMPgraphic{PageNumberBox}
-def random_box (expr width, height, offset, linewidth ) =
- ... ... ...
-enddef
-
-offset := uniformdeviate 10pt ;
-random_box (\overlaywidth, \overlayheight, offset, 1pt);
-\stopuseMPgraphic
-\stopniceTEX
-
-\noindent 虽然这样的代码可以用,但是它很脏。比如,如果我想修改 \type{random_box} 宏的定义,就意味着这两个图形环境中的 \type{random_box} 都要修改。当我我在 \METAFUN\ 手册中发现了 \type{MPinclusions} 这个环境时,立刻就将上述的代码格式修改为:
-
-\startniceTEX
-
-\startMPinclusions
-def random_box (expr width, height, offset, linewidth ) =
- ... ... ...
-enddef
-\stopMPinclusions
-
-\startuseMPgraphic{TitlePage}
-for i=1 upto 400 :
- ... ... ...
- addto currentpicture also
- image(random_hash_frame(width,height,offset,1pt)) shifted
- (uniformdeviate OverlayWidth, uniformdeviate OverlayHeight) ;
-endfor ;
-\stopuseMPgraphic
-
-\startuseMPgraphic{PageNumberBox}
-offset := uniformdeviate 10pt ;
-random_box (\overlaywidth, \overlayheight, offset, 1pt);
-\stopuseMPgraphic
-\stopniceTEX
-
-\noindent 可以看出,\type{MPinclusions} 环境的作用就是用于存放各 \METAFUN\ 图形的公共代码,类似于 C 程序的 .h 文件。
-
-我们还可以在 \METAFUN\ 图形环境中使用 \tex{includeMPgraphic} 来引用其它的 \METAFUN\ 图形:
-
-\startniceTEX
-\setupcolors[state=start]
-
-\starttext
-\startuseMPgraphic{test}
- fill fullsquare rotated 45 scaled 4cm withcolor \MPcolor{yellow} ;
-\stopuseMPgraphic
-
-\startuseMPgraphic{demo}
- \includeMPgraphic{test}
- fill fullsquare scaled 2cm withcolor \MPcolor{red} ;
-\stopuseMPgraphic
-
-\useMPgraphic{demo}
-\stoptext
-\stopniceTEX
-
-\section{还有一些图形环境}
-
-除了 \type{useMPgraphic} 环境之外,还有 \type{uniqueMPgraphic}、\type{MPpage} 图形环境,当然还有其它类型的,只是我目前认为掌握这三种,基本上够用了。
-
-\type{uniqueMPgrahpic} 环境与 \type{useMPgraphic} 环境的区别是:前者只生成一份图形,可供多次使用;后者是在每一次使用时,都要生成图形。如果是要实现随机图形效果,也就是说多次使用同一份绘图代码生成的图形却不相同,这就只好使用 \type{useMPgraphic} 环境,这个问题在 \in[ordinary-repeat] 节中有所体现。
-
-\type{MPpage} 环境可专门用于生成单独的矢量图形,试验一下这个例子便可体验其用处:
-
-\startniceTEX
-\setupcolors[state=start]
-\setupMPpage
- [offset=1pt,
- background=color,
- backgroundcolor=gray]
-
-\startuseMPgraphic{test}
- fill fullsquare rotated 45 scaled 4cm withcolor \MPcolor{yellow} ;
-\stopuseMPgraphic
-
-\starttext
-\startMPpage
- \includeMPgraphic{test}
- fill fullsquare scaled 2.5cm withcolor \MPcolor{red} ;
-\stopMPpage
-\stoptext
-\stopniceTEX
-
-\section{后记}
-
-这篇文章的内容,支离破碎。这是自然的。因为 \METAFUN\ 所涵括的内容远非我这一篇小文所能覆盖得了的。我以为 \METAFUN\ 手册最好是能通读一遍,不过我现在做不到,只好用什么,看什么。在这用与看的过程中,我想尽量地建立系统的认识。这是一个长期的过程。我唯一能做的就是尽量寻找可以使用 \METAFUN\ 的机会。
-
-我觉得使用 \CONTEXT\ 排版文档,如果能够充分结合 \METAFUN\ 图形环境来设计文档版面的外观,这是非常具有挑战性的。个人的审美观以及绘制图形的能力决定了文档样式能否体现出个性。
-
-\stopcomponent \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/postscript.tex b/info/context-notes-zh-cn/src/postscript.tex
new file mode 100644
index 0000000000..da911d0668
--- /dev/null
+++ b/info/context-notes-zh-cn/src/postscript.tex
@@ -0,0 +1,13 @@
+\title{跋}
+
+历时二十日,终于写完了。
+
+你现在学会 \CONTEXT\ 了吗?
+
+我还没有学会。
+
+这份文档所介绍的 \CONTEXT\ 知识或许尚不及它全部功能的百分之一,且 \CONTEXT\ 依然在发展着。学无止境,以我生之有涯随知识之无涯,这样不好。弱水三千,仅取一瓢饮,会好一些。
+
+我应该去外面走走了,不然春天又悄悄离去了。
+
+
diff --git a/info/context-notes-zh-cn/src/preface.tex b/info/context-notes-zh-cn/src/preface.tex
new file mode 100644
index 0000000000..bc545f60ab
--- /dev/null
+++ b/info/context-notes-zh-cn/src/preface.tex
@@ -0,0 +1,23 @@
+\title{自序}
+
+\useURL[王垠][https://www.yinwang.org]%[][\hyphenatedurl{https://www.yinwang.org}]
+
+我最早听闻并接触 \ConTeXt,大概是 2008 年在王垠\footnote{一个敢于自我否定的人,曾致力于在国内推广 GNU/Linux 和 \TEX,后来以其对计算机科学和编程语言设计的洞察而闻名,详见其个人主页 \bluebox{\from[王垠]}。}的个人主页上看到他对 \ConTeXt 的谥美之文。当时我猎奇心甚为严重,又觉得大家都在用的 \LaTeX\ 无法体现我的气质,便开始自学 \CONTEXT。或许这是年青人的通病。
+
+现在,我已不再年青,却依然喜欢 \ConTeXt。曾经沧海难为水,或许这是人老了之后的通病,而我觉得更可能是因为 \CONTEXT\ 依然年青。2008 年,\CONTEXT\ 正处于从 Mk\Romannumerals{2} 版本向 Mk\Romannumerals{4} 版本跃迁期间。待 2019 年 MK\Romannumerals{4} 版本尘埃落定时,\CONTEXT\ 的开发者大刀阔斧,如火如荼,开启了下一个版本 \LMTX\cite[Hagen2019]的开发工作,至今方兴未艾。
+
+任何工具,只要有人长时间维持和改进,便会趋向于复杂而难以被他人驾驭,但是它能胜任复杂的任务。\TEX\ 是复杂的,以它为基础的 Plain \TeX,\LaTeX\ 和 \ConTeXt\ 则更为复杂。事实上,并非工具趋向于变得复杂,而是任务趋向于变得复杂,更本质一些,是人心趋向于变得复杂。例如,使用 Markdown 之类的标记语言写散文类的文章,轻松愉快,这是近年来 Markdown 广泛用于网文创作的主要原因。倘若用 Markdown 写一本含有许多插图、数学公式、表格、参考文献等内容的书籍,便需要为它增加许多功能,最终的结果相当于又重新发明了一次 \TeX。
+
+Plain \TeX,\LaTeX\ 和 \ConTeXt\ 虽然皆为构建在 \TeX\ 系统上的宏包,但是国内熟悉前两者的人数远多于 \ConTeXt,究其原因,我觉得是因为 \ConTeXt\ 入门文档甚少,其中中文文档则更为罕见。\ConTeXt\ 创始人兼主要开发者 Hans Hagen 为 \ConTeXt\ 撰写了一份内容全面、排版精美的英文版入门文档\cite[ma-cb-en],对于具备一些英文阅读能力的人,原本可从该文档入门,但遗憾的是,除非读者知道如何在 \ConTeXt\ 中使用汉字(也包括日、韩文字)字体,否则所学知识仅能用于英文排版。
+
+\useURL[ctan][https://ctan.org]
+我曾于 2009 年写过一份 \ConTeXt 学习笔记\cite[ctxnotes],介绍了在 \ConTeXt\ Mk\Romannumerals{4} 中如何加载汉字字体以及基本的 \ConTeXt\ 排版命令的用法,内容颇为粗陋,由 CTeX 论坛里的朋友整合至 ctex-doc 项目并打包呈交 \bluebox{\from[ctan]} 网站。2011 年夏天曾许诺将我发布于网络上的一些相关文章合并至该笔记,但因俗务缠身,后来兴趣又有漂移,便不了了之。
+
+光阴荏苒,时过境迁,当年曾在 CTeX 论坛一起折腾 \TeX\ 的朋友大多已不知所踪——在他们看来,我亦如是。2018 年,CTeX 论坛因国内日益严厉的互联网监管政策被迫无限期关闭,导致国内 \TeX\ 学习、研究和使用热情似乎遭受了毁灭性打击,爱好者们离散江湖,白头宫女在,闲坐说玄宗。现在,若学习 \LaTeX\ 尚能找到一些讨论区,而 \ConTeXt\ 似乎再也无人问津了。爱好终归属于自己。即使现在国内只有我一个人还在喜欢 \ConTeXt,依然应当为自己写一份新的 \ConTeXt\ 学习笔记,以偿旧诺。
+
+值此情境,需篡改古词一阙,歌以咏志:芦叶满汀洲,寒沙带浅流,二十年重过南楼。欲买桂花同载酒,终不负,少年游。
+
+\vfill
+\startalignment[flushright,broad]
+2023 年 3 月写于乡下老家
+\stopalignment \ No newline at end of file
diff --git a/info/context-notes-zh-cn/src/project.tex b/info/context-notes-zh-cn/src/project.tex
deleted file mode 100644
index 861c51f179..0000000000
--- a/info/context-notes-zh-cn/src/project.tex
+++ /dev/null
@@ -1,67 +0,0 @@
-\startcomponent project
-\environment doc-env
-\product ctxnotes
-
-\chapter{大文档项目}
-
-对于规模比较大的文档项目而言,采用 \TEX\ 的优越性要高于 WYSIWYG 的字处理器 (MS Word)。众人谓之曰字处理器使用起来比较方便,实际这只不过表面现象,在其背后是文档更新方面的困难——难以进行多人协同撰写与版本维护。本章主要介绍 \CONTEXT\ 所提供的文档项目管理功能,探讨如何在文档项目中布置版本控制系统,建立一种比较稳定的大文档项目撰写模式。
-
-\section{项目的部署}
-
-一个 \TeX\ 文档项目,通常可以将文档结构分为:环境、宏、文档主体内容。这样划分的意图就是让文档的样式与内容分离开。环境,主要用于定制版面样式。宏,主要是封装一些排版命令,实现一些特定的排版功能。在 \CONTEXT\ 中,环境或宏可以由一份或多份专门的环境文件来定义,环境文件的格式如下:
-
-\startniceTEX
-\startenvironment 环境文件名
-... 环境内容 ...
-\stopenvironment
-\stopniceTEX
-
-如果不对文档的主体内容进行划分的话,那么它就与普通的 \CONTEXT\ 文档无异,只是多了加载环境文件的命令:
-
-\startniceTEX
-\environment 环境文档名
-... ... ...
-\starttext
-... 文档内容
-\stoptext
-\stopniceTEX
-
-如果对文档的主体内容细分下去,可以有封面、前言、正文章节、附录、封底等。文档结构划分的深浅程度,这个主要由用户来把握,主要视文档的规模而定。对于 \CONTEXT\ 而言,文档的主体内容实际上只有产品 (product) 与 组件 (component) 这两种划分\footnote{事实上还有比产品更高层的结构,就是项目 (project),不过我们写文档一般用不到它,如果是出版期刊杂志倒是有可能用到它。}\;。对于产品与组件之间的关系,这在产品文档中便可以直观地看到,譬如:
-
-\startniceTEX
-\startproduct 产品文档名
-\environment 环境文档名
-
-\component 组件文档 1
-\component 组件文档 2
-... ... ...
-\stopproduct
-\stopniceTEX
-
-产品文档将环境与组件的信息都记录了下来,因此当我们在使用 \CONTEXT\ 编译一个文档项目时,只需要编译产品文档即可。
-
-组件文档的格式如下:
-
-\startniceTEX
-\startcomponent 组件文档名
-\environment 环境文档名
-\product 所属产品名
-
-... 组件内容 ...
-
-\stopcomponent
-\stopniceTEX
-
-也可以直接编译组件文档,因为在组件文档中已经记录了所使用的环境文档信息;在撰写文档的过程中,推荐使用编译组件文档的方式来查看排版效果。
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “\CONTEXT\ 文稿的物理结构”:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/12/project-structure.23773.html}
-\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/references.tex b/info/context-notes-zh-cn/src/references.tex
deleted file mode 100644
index 2fe85785d9..0000000000
--- a/info/context-notes-zh-cn/src/references.tex
+++ /dev/null
@@ -1,362 +0,0 @@
-\startcomponent bibliography
-\product ctxnotes
-\chapter{引用}
-
-当我用我这个代号来进行对话的同时,你的代号也是我,这意味着什么呢?这是否意味着你就是我,而我也就是你?
-
-\section{目录}
-
-如果不那么在乎目录的样式,可以在期望插入目录之处添加:
-
-\startniceTEX
-\completecontent
-% 或者
-\placecontent
-\stopniceTEX
-
-\noindent \tex{completecontent} 与 \tex{placecontent} 的区别就是前者是生成的目录列表页面是带有标题的;而后者只生成目录列表,如果需要页面带有标题,可以使用 \tex{title} 之类的无编号的标题命令实现:
-
-\startniceTEX
-\title{目录}
-\placecontent
- [alternative=a,
- style=normal,
- numberstyle=bold]
-\stopniceTEX
-
-在章标题之后使用 \tex{placecontent}:
-
-\startniceTEX
-\chapter{引用}
-\placecontent
- [alternative=a,
- style=normal,
- pagenumber=no,
- margin=2em]
-\stopniceTEX
-
-\noindent 可以实现在当前章标题下面显示出这一章所有小节的列表。
-
-由于我比较喜欢 \CONTEXT\ 手册的那种目录样式,便从手册的源码中找到了该样式的具体设置,然后照虎画猫一番,并添加了一些小创意:
-
-\startniceTEX
-\def\ChapterNumber#1{\doiftext{#1}{第\;#1\;章\quad}}
-\setuplist
- [chapter]
- [alternative=a,
- before={\page[preference]\blank},
- after=\blank,
- style=bold,
- width=fit,
- pagestyle=boldslanted,
- pagenumber=no,
- numbercommand=\ChapterNumber]
-
-\def\PageNumber#1{\color[darkgray]{#1}.}
-\setuplist
- [section]
- [alternative=d,
- style=small,
- pagecommand=\PageNumber,
- pagestyle=\itx]
-\stopniceTEX
-
-\noindent
-
-\noindent 结果便是这份文档目录页中所显示的那个样子。我所说得小创意,实际上就是让章节编号变成半中文化(因为还夹着阿拉伯语呢);另外就是让目录列表中各小节的页码显示为灰色,不那么抢眼。
-
-\section[cross references]{交叉引用}
-
-交叉引用实在是太有用了,即便也不怎么经常用到它,也还可以借此嘲笑一下 Word 交叉引用功能的孱弱,赢得一次口水战的胜利。
-
-这份文档的页脚的右侧的“回目录”链接就是通过交叉引用来实现的,在\in[HFer]{} 节(瞧,这就是一个交叉引用)中的页脚设置:
-
-\startniceTEX
-\setupfootertexts
- [{\ConTeXt\ MkIV 学习笔记}][{\goto{回目录}[content]}]
- [{\goto{回目录}[content]}][{\ConTeXt\ MkIV 学习笔记}]
-\stopniceTEX
-
-\noindent 其中,\tex{goto} 这个命令可以跳到任何设置了引用的文档位置。这里,它要跳到 \type{content} 引用所在的位置,由于这个引用我是在设置目录页面时设定的:
-
-\startniceTEX
-\startfrontmatter
- \setuppagenumbering
- [conversion=romannumerals]
- \title[Content]{目录} % 在此设定了引用
- \placecontent
-\stopfrontmatter
-\stopniceTEX
-
-\noindent 因此 \tex{goto} 会带你跳到目录页。目录页面的引用是通过 \type{content} 这个名称标识的,\tex{goto} 命令可以根据这个标识确定所要跳往的页面位置。
-
-\CONTEXT\ 许多排版命令都支持引用设置,譬如章节标题、插图、表格等命令。一定要记住,文档中只要出现诸如“第 xxx 章”、“xxx 节”、“图 xxx”、“表 xxx”之类的内容时,这就意味着您应当使用交叉引用机制了。比如,我要引用当前这一节,首先要为节标题命令设定引用名称:
-
-\startniceTEX
-\section[cross references]{交叉引用}
-\stopniceTEX
-
-\noindent 然后在需要引用本节之处,通过 \tex{in} 命令即可获取节号;如果是屏幕阅读文档,还可以让节号作为一个链接,指向本节所在页面位置。同类的命令还有 \tex{at} 与 \tex{about},前者可以获取引用所在的页面,后者可以得到引用的内容。下面仿照 \CONTEXT\ 手册中的例子,演示这三个命令的用法:
-
-\startniceTEX
-我引用了第 \at[cross references] 页的 \in[cross references] 节\about[corss references]的一些内容。
-\stopniceTEX
-
-\noindent 效果:{\ss 我引用了第 \at[cross references] 页的 \in[cross references] 节 \about[cross references]的一些内容。}
-
-现在,MkIV 还未能实现引用在页面的准确定位,所以在屏幕阅读文档中的一些链接只是将你带往这些引用所在的页面而不是将准确的位置展示在你眼前。
-
-\section{索引}
-
-在阅读 {\it \CONTEXT\ 手册}或者 {\it \CONTEXT, an excursion} 之类的文档时,在附录中可以看到许多命令的索引,这些索引会告诉你那些命令在哪些页面出现了;如果是屏幕阅读文档,还可以将页码变成指向对应页面的链接。利用这些索引功能,我可以快速找到这些命令的细节知识。这在写技术文档时非常重要。在这份文档中,我没有使用索引的功能,因为很少有人会为了一份学习笔记如此大动干戈。将它记述于此,仅仅是为了将来有可能使用到它。
-
-要定义索引很简单,使用\tex{index} \index[index]{\tex{index}} 这个命令就可以:
-
-\startniceTEX
-我在这里演示 index\index[index]{\tex{index}} 与
- placeindex\index[placeindex]{\tex{placeindex}} 命令的用法。
-
-\placeindex
-\stopniceTEX
-
-\noindent 然后使用 \tex{placeindex}\index[placeindex]{\tex{placeindex}} 或 \tex{completeindex}\index[completeindex]{\tex{completeindex}} 命令在需要放置索引的页面显示索引。
-
-索引列表默认是以字母进行分组与排序的,这对于西文文档排版很适用,但是没法处理中文。可以采用汉语拼音\index[HYPY]{汉语拼音}来解决这个问题。譬如:
-
-\startniceTEX
-……可以采用汉语拼音\index[HYPY]{汉语拼音}来解决这个问题……
-\stopniceTEX
-
-\noindent 生成的索引列表如下:
-
-\placeindex
-
-索引与目录的用法很相似。实际上这一章中所有的内容都是基于 \CONTEXT\ 的引用机制实现的。索引与目录存在着更为高级的用法,但是我没有那么多兴趣和精力去折腾它们,以后若有这方面的需要再下手也不迟。
-
-\section{参考文献}
-
-写科技文档必然离不开参考文献 (Bibliography) 的支撑,所以要评价一个文档排版软件的优劣,其参考文献管理功能是一项非常重要的指标。与 \LaTeX\ 类似,\ConTeXt\ 主要是基于 Bib\TeX\ 维护参考文献,这是借助 Taco Hoekwater 写的 t-bib.tex 模块来实现的。
-
-\subsubject{Bib\TEX}
-
-Bib\TeX\ 的主要功能是管理参考文献信息并提供排版格式。在使用 Bib\TeX\ 之前,用户需要建立参考文献数据库,不要害怕,这里的数据库实际上就是一个扩展名为 .bib 的文本文件,我们在其中记录文献信息。下面是一份 .bib 文件示例:
-
-\startTEX
-@book{诸葛专著2008,
- author = "诸葛亮",
- year = "2008",
- title = "木牛流马制造工艺 [M]",
- publisher = "蜀国机械工业出版社"
-};
-
-@article{诸葛论文2008,
- author = "诸葛亮",
- title = "论伐魏的必要性与可行性 [J]",
- journal = "蜀国军事",
- volume = "13",
- number = "110",
- year = "2007"
-}
-\stopTEX
-
-在文献数据库中,可以存储许多种文献类别,常用条目类型有 article、book、conference、manual、misc、techreport 等。每种参考文献类别由多个域组成,有些是必须写得,没写会给出警告,而有些是可选。譬如 book 类别中,不可省略的域有 author, title, journal, year,可省略的域有 volume, number, pages, month, note。推荐做法是在参考文献数据库中尽可能地提供文献的详细信息。关于 .bib 文件的格式说明,请参考 Bib\TeX\ 文档\cite[bibtex]。
-
-Bib\TeX\ 为便于用户管理参考文献列表的排版风格,提供了 .bst 文件。.bib 文件与 .bst 文件之间的关系宛若 HTML 与 CSS 之间的关系,它们都遵守内在数据与外在表现分离的游戏规则。用户在 .bst 文件中可使用 Bib\TeX\ 定义的一种微型语言来实现对参考文献列表风格的控制,但是在 \ConTeXt\ 的 bib 模块中,仅使用 .bst 文件控制参考文献条目的排列次序。一般情况下,用户不需要制作 .bst,所以这个了解一下就可以了。
-
-Bib\TeX\ 与 \ConTeXt\ 的协同工作时,需要 \ConTeXt\ 文档编译命令输出 .aux 文件。基于 .aux 文件,Bib\TeX\ 在 .bib 检索所需的文献信息,并结合 .bst 文件实现参考文献列表外观控制,最终输出 .bbl 文件。一旦我们得到了 .bbl 文件(实际是 \TeX\ 文档),那么就可以继续进行 \ConTeXt\ 文档编译过程,最终输出带有参考文献信息的文档,这一工作流程如下图所示。
-
-\setupFLOWcharts[nx=4,ny=4,
- dx=\bodyfontsize,dy=\bodyfontsize,
- width=7.5\bodyfontsize, height=4\bodyfontsize,
- maxwidth=.8\textwidth]
-
-\startFLOWchart[bibtex-flow]
-
-\startFLOWcell
-\name{texfile}\location{1,2}\shape{singledocument}
-\text{\ConTeXt\ 源文档}\connection[rl]{ctx}
-\stopFLOWcell
-
-\startFLOWcell
-\name{ctx}\location{2,2}\shape{action}
-\text{编译 \ConTeXt\ 文档}\connection[rl]{aux}
-\stopFLOWcell
-
-\startFLOWcell
-\name{aux}\location{3,3}\shape{singledocument}
-\text{.aux 文档}\connection[rln]{bibtex}
-\stopFLOWcell
-
-\startFLOWcell
-\name{bib}\location{3,1}\shape{singledocument}
-\text{.bib 文档}\connection[rlp]{bibtex}
-\stopFLOWcell
-
-\startFLOWcell
-\name{bst}\location{3,2}\shape{singledocument}
-\text{.bst 文档}\connection[rl]{bibtex}
-\stopFLOWcell
-
-\startFLOWcell
-\name{bibtex}\location{4,2}\shape{action}
-\text{Bib\TeX}\connection[bt]{bbl}
-\stopFLOWcell
-
-\startFLOWcell
-\name{bbl}\location{4,4}\shape{singledocument}
-\text{.bbl 文档}\connection[lr]{ctxagain}
-\stopFLOWcell
-
-\startFLOWcell
-\name{ctxagain}\location{3,4}\shape{action}
-\text{编译 \ConTeXt\ 文档}\connection[lr]{pdf}
-\stopFLOWcell
-
-\startFLOWcell
-\name{pdf}\location{2,4}\shape{singledocument}
-\text{含参考文献的 PDF 文档}
-\stopFLOWcell
-
-\stopFLOWchart
-\placefigure[here][fig:bibtex-flow]{Bib\TeX\ 工作过程}
- {\FLOWchart[bibtex-flow]}
-
-\subsubject{\ConTeXt\ 的 bib 模块}
-
-\ConTeXt\ 是通过 Taco 写的 bib 模块取得 Bib\TeX\ 的协同(现已集成至 \CONTEXT\ 中),用户可以在 \ConTeXt\ 文档中实现参考文献列表排版样式的设置。下面是一份最为简单的 \ConTeXt\ 参考文献示例文档 \type{example/ex-4.tex}:
-
-\startTEX
-\setupbibtex[database=example]
-
-\starttext
-这一年,诸葛亮同学出版了一本专著\cite[诸葛专著2008],并在核心学术期刊上发表了一篇论文\cite[诸葛论文2008],因此深得刘备的赏识。
-\completepublications
-\stoptext
-\stopTEX
-
-上例中 \tex{setupbibtex} 命令的 \type{database} 参数的值为 .bib 文件名,我是将上一节中的那个 .bib 文件命名为 example.bib,然后在此使用。\tex{completepublications} 命令会在所排版的文档中插入参考文献列表。
-
-编译上述示例文档的过程正如图 \in[fig:bibtex-flow] 所示的那样,需要三个处理步骤,如下:
-
-\starttyping
-$ context --once ex-4 # 产生 .aux 文档
-$ bibtex ex-4 # 产生 .bbl 文档
-$ context ex-4 # 完成文档编译
-\stoptyping
-
-如果嫌每次编译文档都要重复输入三次命令过于繁琐,花上 20 分钟学习一下 Makefile 的简单用法会让我们更轻松一些。
-
-查看一下带有参考文献的 PDF 文档,可能你会发现参考文献并非是我们常见的那种风格,不要着慌,\ConTeXt\ 提供了一些用于设置参考文献风格的命令供我们使用。下面对 \type{ex-4.tex} 文件略作修改,添加了 \tex{setuppublications} 代码:
-
-\startTEX
-...
-\setupbibtex[database=example]
-\setuppublications[alternative=num]
-...
-\stopTEX
-
-重新编译一次 \type{ex-4.tex} 文档\footnote{若是未有改动 .bib 文档或者未引用新的文献,只需使用常规 \ConTeXt\ 文档编译方式即可。},现在参考文献的样式基本符合我们常见的风格了。有关 \tex{setuppublications} 命令的详细用法请参考 bib 模块文档\mycite{Taco}。
-
-\subsubject{Zotero}
-
-Zotero 是 Firefox 的一款扩展 (Extension),号称是下一代研究工具\footnote{至于上一代是谁,不可考,也许是那些脱离网络环境的文献管理软件吧。},我使用它来管理参考文献数据。除 Zotero 之外,还有许多其它文献管理软件,比如 Endnote、RefWorks、jabref 等,与它们相比,Zotero 将我们进行文献管理的整个过程──搜集、整理、阅读和引用等步骤都很好地集成在一起,并且与 Firefox 取得完美的结合,莫要忘记我们通常要在网上寻找文献的。关于 Zotero 的详情见其项目主页\footnote{\type{http://www.zotero.org/}}。
-
-大多数情况下,使用 Zotero 的流程可以归纳为:在互联网上发现文献──利用导入功能得到文件信息和有关附件──制作文献阅读笔记、tag 以及相关文件链接──搜索文献──输出有关文献为其他软件格式──在 TeX 或字处理软件中引用。除最后一步外都不需要打开任何其他软件。
-
-关于 Zotero 的具体用法……咳咳……实在不知道该如何用文字来讲述一款 GUI 工具的使用,又不胜一副一副配图介绍的那般繁琐。自我开脱一下,毕竟这是一份个人学习笔记,而不是一份教材,所以推荐去看 Zotero 的操作视频教程\footnote{\type{http://www.zotero.org/videos/tour/zotero_tour.htm}}。
-
-\subsubject{设置参考文献列表的样式}
-
-在制作这份学习笔记的参考文献时,因为有一些文献来自于网络,我希望在参考文献列表中提供它们的网址 (URL) 并且要求是超级链接格式的,这样便于读者直接驱动网页浏览器去下载它们。按照 Bib\TeX\ 的 .bib 文档语法,我采用以下文献条目格式提供此类文献的信息:
-
-\startTEX
-@booklet{Taco,
- title = {{Bibliographies}},
- author = {Taco Hoekwater},
- url = {http://modules.contextgarden.net/bib}
-}
-\stopTEX
-
-但是在文档中去引用上述文献时,其 URL 信息无法在参考文献列表中显示,更谈不上超级链接格式了。在 \ConTeXt\ Wiki 中的 Bibliography 文档\mycite{TacoCTXWiki}中讲述了如何在参考文献中启用 URL 的方法,并提供了一个示例。我对这个示例进行了一些简化,贵在于理解其要义。将以下代码添加到文档导言区,位于 bib 模块加载及其设置代码区域的下面:
-
-\startTEX
-\unprotect
-\setuppublicationlayout[booklet]{%
- \insertauthors{}{\unskip.}{}%
- \inserttitle{ \bgroup\it }{\/\egroup\unskip.}{}%
- \insertbiburl{ URL: }{\unskip.}{}%
- \insertnote{ }{\unskip.}{}}
-\protect
-\stopTEX
-
-\tex{setuppublicationlayout} 命令是用于设置参考文献列表的排版布局的,上例中,其参数我设为 booklet,这是因为我在 .bib 文档中将将网络文档类型定义为 booklet(小册子)类型,它是 Bib\TeX\ 的标准文献条目类型之一,将其作为 \tex{setuppublicationlayout} 的参数,表示这里要设置该类型文献条目的排版风格。
-
-在这份笔记中,我只需要 booklet 条目由 author(作者)、title(标题)、URL(文献网址)以及 note(文献注解)附加注释信息构成,因此在设置 booklet 文献条目的排版风格时,对于每一条目要素都对应一个 \tex{insertxxx} 命令。\tex{insertxxx} 命令有三个参数,可用于设定每一文献条目构成要素的排版环境,前两个参数分别用于设置对应排版文献条目构成要素的前后排版命令,第三个参数用于设置对应的文献条目构成要素缺省状态。以 \type{\insertauthors{}{\unskip.}{}} 为例,第一个参数是空的,表示采用默认排版环境;第二个参数为 \type{\unskip.},表示消除 booklet 文献条目中作者信息之后的空格,并且添加句点,第三个参数为空,表示当 .bib 文件中的 booklet 条目未提供作者信息时不作任何处理。
-
-注意,在上述示例中,\tex{insertbiburl} 命令是启来 .bib 中所提供的文献 URL 信息的。如果你希望文档中的 URL 是超级链接格式,那么还需要在 \ConTeXt\ 文档导言区添加以下代码:
-
-\startTEX
-\setupinteraction[state=start] % 启用文档的可交互功能
-\stopTEX
-
-利用上述方法并配合 \ConTeXt\ 各种排版命令可以灵活地控制参考文献列表的排版格式,这就是为什么 \ConTeXt\ 的 bib 模块只是将 Bib\TeX\ 的 .bst 文档用来实现参考文献列表排序的主要原因。
-
-\section{书签}
-
-在阅读很长的 PDF 文档时,书签 (Bookmark) 是很有用的,它们通常显示于 PDF 阅读器的侧栏,用户用鼠标点击书签就可以快速打开书签所指向的页面。对于如何使用 \CONTEXT\ 实现书签,由于我是没有耐心的人,所以看到 \ConTeXt\ Wiki 上提供了适合没耐心的人对文档书签的生成快速建立初步认识的代码,便直接抄过来:
-
-\startniceTEX
-% 启用书签功能
-\setupinteraction[state=start]
-\setupinteractionscreen[option=bookmark]
-\placebookmarks[chapter][chapter]
-
-\starttext
-\chapter{飞刀与快剑}
-冷风如刀,以大地为砧板,视众生为鱼肉。\par
-万里飞雪,将穹庐作洪炉,熔万物为白银。\par
-……
-\chapter{海内存知己}
-马车里堆着好几坛酒,这酒是那少年买的,
-所以他一碗又一碗地喝着,而且喝得很快。\par
-……
-\stoptext
-\stopniceTEX
-
-\noindent 用常规的 PDF 阅读器打开所生成的文档,若开启侧栏面板,应当可以看到书签了。如果你看不到,那么就见识一下图 \in{}[fig:bookmark]\quad。
-
-\placefigure[here][fig:bookmark]
- {带书签的 PDF 文档}
- {\externalfigure[bookmark][bookmark][width=.6\textwidth]}
-
-要开启 \ConTeXt\ 的书签功能,必须 \tex{setupinteraction[state=start]}。另外,PDF 阅读器的侧栏的书签窗口默认是隐藏的,要让阅读器打开文档时自动开启书签窗口,那就是上例中 \tex{setupinteractionscreen} 命令所做的。
-
-将章、节标题作为书签的想法很好,这样在书签窗口中,可以通过章节标题对文档的大致内容有所了解。在上例中,我通过 \tex{placebookmarks} 命令设置 chapter 标题作为书签。\tex{placebookmarks} 的第一个参数是设定各层次的章节类型作为书签,第二个参数是设置默认可见的书签。看下面一个更复杂的示例:
-
-\startTEX
-\placebookmarks[chapter,section,subsection][chapter]
-\stopTEX
-
-\noindent 这个示例的含义是:将章、节、小节的标题作为书签,默认只在书签窗口中显示由章标题生成的书签。
-
-在 MkIV 中,不知是特性还是缺陷,在将章节标题作为书签时,若标题中出现了格式化文本,譬如 \type{\ConTeXt} 这样的文本,那么书签中就会将 \type{\ConTeXt} 的 \TeX\ 定义显示出来,而不是显示 \type{ConTeXt} 或者 \ConTeXt。现在,我未能找到解决这一问题的好方法,笨方法是有的。在撰写某章节标题时,若是需要使用格式化文本,那么就在章节命令之后使用 \tex{bookmark} 命令手动设定书签标题:
-
-\startTEX
-\section{安装 \ConTeXt\ Minimals}
-\bookmark{安装 ConTeXt Minimals}
-\stopTEX
-
-\noindent 本文档目前正是使用这种方法去除书签中出现的格式化文本,勉强对付过去。
-
-\section{更多阅读……}
-
-如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档:
-
-\startitemize
-\item “\CONTEXT\ 对参考文献的处理”:\crlf \hbox{\tt http://liyanrui.is-programmer.com/2009/12/17/bibliographic-in-ConTeXt.14078.html}
-\item “\CONTEXT\ 对参考文献的处理——整容篇”,讲述了 \CONTEXT\ Minimals 的安装方法:\crlf\hbox{\tt http://liyanrui.is-programmer.com/2009/12/18/bibliographic-style-in-ConTeXt.14103.html}
-\stopitemize
-
-我计划今年年底将这些外部文档归整到这份文档中。
-
-\stopcomponent
diff --git a/info/context-notes-zh-cn/src/t-layout.tex b/info/context-notes-zh-cn/src/t-layout.tex
deleted file mode 100644
index 7ca9d6e1b6..0000000000
--- a/info/context-notes-zh-cn/src/t-layout.tex
+++ /dev/null
@@ -1,411 +0,0 @@
-%% Last Change: Fri Apr 22 11:06:09 2005
-
-%D \module
-%D [ file=t-layout,
-%D version=2003.03.26,
-%D title=\CONTEXT\ User Module,
-%D subtitle=show layout,
-%D author=Patrick Gundlach,
-%D date=\currentdate,
-%D copyright={Patrick Gundlach}]
-
-
-%C filename: t-layout.tex
-%C module layout, shows layout of current page
-
-
-%C copyright 2003,2007 Patrick Gundlach, patrick@gundla.ch
-%C may be distributed under the terms of the GNU General Public License
-%C URL: http://levana.de/context/
-
-%D \subject{Introduction}
-%D This third-party module \quote{layout} draws a representation of
-%D the of the layout of the
-%D current page and displays the sizes of the widths and heights of the
-%D margins, header, footer and text body.
-
-%D \subject{Usage}
-%D Include this module into your ConTeXt files:
-%D \type{\usemodule[t][layout]} and show the layout with \type{\ShowLayout}.
-
-%D You can set some parameters using \type{\SetupShowLayout}. The
-%D parameters are: units, digits, round, showmore and graphonly.
-%D If graphonly (0/1) is 0, this module shows the lenghts of some text areas.
-%D units (cm, mm, in or pt) sets the unit in which the lengths will be
-%D displayed, digits (any number $\geq 0$)
-%D sets the number of digits after the decimal period, round (any
-%D number $\neq 0$) states
-%D the place where rounding of the displayed numbers should occur
-%D (\TeX\ is bad at calculating such things) and showmore (0/1) tells
-%D this module to display information about the edge and top/bottom.
-
-%D Example:
-%D \starttyping
-%D \ShowLayout
-%D [units=cm,
-%D digits=2,
-%D round=0.1,
-%D showmore=1,
-%D graphonly=1]
-%D
-%D \stoptyping
-
-%D The idea was taken from the \type{\layout} command from the layout LaTeX
-%D package. (Kent McPherson and others)
-
-%C the following settings will be recognized:
-%C units = cm, mm, in or pt
-%C digits = any number >= 0, those are the digits after the decimal period
-%C round = any number != 0, just play with it, example 0.1 or 0.01.
-%C Explanation will be done later
-
-%D \subject{The code}
-
-%D This section is not meant as documentation
-
-\newdimen\ShowLayoutdimen
-
-\setvalue{Layoutmm}{0.351459804} % 2.54/72.27 * 10
-\setvalue{Layoutcm}{0.0351459804} % 2.54/72.27
-\setvalue{Layoutin}{0.0138370001} % 1/72.27
-\setvalue{Layoutpt}{1}
-
-\def\ShowLayoutB(#1.#2)#3{%
- \counttokens #2\to\scratchcounter
- #1\ifnum#3>0%
- \ifnum#3 > \the\scratchcounter \else \scratchcounter=#3 \fi
- \splitofftokens \scratchcounter \from #2 \to\test .\test \fi}
-
-% taken from ConTeXt source
-\def\LayoutConvert#1#2#3%
- {\ShowLayoutdimen=\getvalue{ShowLayoutround}pt
- \begingroup
- \scratchdimen#1\relax
- \scratchdimen\getvalue{Layout#2}\scratchdimen
- \advance\scratchdimen by 0.5\ShowLayoutdimen
- \divide\scratchdimen by \ShowLayoutdimen
- \multiply\scratchdimen by \ShowLayoutdimen
- \expandafter\ShowLayoutB\expandafter(\number\withoutpt{\the\scratchdimen}){#3}\thinspace #2
- \endgroup}
-
-\def\ShowLayoutA#1{%
- \LayoutConvert{#1}%
- {\getvalue{ShowLayoutunits}}%
- {\getvalue{ShowLayoutdigits}}}%
-
-\startuniqueMPgraphic{ShowLayout}{showmore}
-% make sure that the label is on the same side as the posa
-vardef swapifnecessary (suffix posa, posb)(expr labelpos) =
- if ( (labelpos < posa) and (posa > posb))
- or ( (labelpos > posa) and (posa < posb)) :
- save c; %swap 'em
- c:=posa;
- posa:=posb;
- posb:= c;
- fi
-enddef;
-% num: labelnumber
-% vertical: horizontal or vertical label?
-% pos: for horizontal the y coord, for vertical the x corrd
-% posa, posb: positions of the borders (x coord for horizontal)
-% labelpos: position for label, only for outer labels, given in the
-% same direction as posa, posb
-def layoutshowmark(expr num, vertical, pos, posa, posb, labelpos) =
- save b,e,c,p,arrow;
- numeric b,e; pair p[]; path arrow[],c;
-
- b:=posa;
- e:=posb;
-
- % p0 is labelposition
- % p1 is from
- % p2 is to
- % p3 is opposite arrow in outer marking
-
- if labelpos = 0 : % inner label |<----(n)---->|
- p0 := (.5[b,e], pos);
- else: % outer label --->| |<----(n)
- swapifnecessary (b,e, labelpos);
- p0 := (labelpos, pos);
- p3 := ( if b < labelpos: e-5mm else: e+5mm fi ,pos);
- fi
-
- p1 := (b,pos);
- p2 := (e,pos);
-
- if vertical:
- p0:=(ypart p0,xpart p0);
- p1:=(ypart p1,xpart p1);
- p2:=(ypart p2,xpart p2);
- p3:=(ypart p3,xpart p3);
- fi
- c:= fullcircle scaled .7cm shifted p0;
-
- if (center(c) -- p1) intersectiontimes c = (-1,-1):
- % don't draw the arrows, because there is not enough room for them.
- else:
- arrow1 :=center(c) -- p1 cutbefore (center(c) -- p1) intersectionpoint c ;
- arrow2 :=
- if labelpos = 0 : % inner
- center(c) -- p2 cutbefore (center(c) -- p2) intersectionpoint c
- else:
- p3 -- p2
- fi;
-
- label (decimal (num), center(c));
- draw c;
- drawarrow arrow1;
- drawarrow arrow2;
- fi
-
-enddef;
-
-
-
-StartPage;
-numeric xpos,ypos;
-
-path body,leftmargin,header,footer,rightmargin;
-
-
-% backspace:
-draw llcorner Page shifted (BackSpace,0) --
- ulcorner Page shifted (BackSpace,0) dashed evenly;
-
-%topspace
-draw urcorner Page shifted (0,-TopSpace) --
- ulcorner Page shifted (0,-TopSpace) dashed evenly;
-
-
-header := Field [Header] [Text];
-footer := Field [Footer] [Text];
-leftmargin := Field [LeftMargin] [Text];
-rightmargin:= Field [RightMargin][Text];
-body := Field [Text] [Text];
-
-pickup pencircle scaled 2pt;
-
-draw Page;
-draw leftmargin;
-draw rightmargin;
-draw header;
-draw footer;
-draw body;
-
-
-
-label ("Body", center (body));
-label ("Header",center (header));
-label ("Left Margin", center (leftmargin));
-label ("Right Margin", center (rightmargin));
-label ("Footer", center (footer));
-%% label (textext("\tfb Body"), center (body));
-%% label (textext("\tfa Header"),center (header));
-%% label (textext("Left Margin"), center (leftmargin));
-%% label (textext("Right Margin"), center (rightmargin));
-%% label (textext("\tfa Footer"), center (footer));
-
-
-if \MPvar{showmore}=1:
- path top, bot, leftedge, rightedge;
-
- top := Field [Top] [Text];
- bot := Field [Bottom] [Text];
- leftedge := Field [LeftEdge] [Text];
- rightedge := Field [RightEdge][Text];
-
- draw top;
- draw bot;
- draw leftedge;
- draw rightedge;
-fi
-
-pickup pencircle scaled 1pt;
-
-% (num, vertical, pos, from, to, labelpos)
-
-%backspace
-layoutshowmark (1, false, .5[ypart(ulcorner Page),Vstep[Top]], 0,BackSpace,0)
-
-
-ypos := Vstep[HeaderSeparator] -1cm;
-
-% leftmargin
-layoutshowmark (2, false, ypos,
- Hstep[LeftMargin],
- Hstep[LeftMargin]+Hsize[LeftMargin],0);
-
-% leftmargindistance
-layoutshowmark (3, false, ypos -1cm,
- Hstep[LeftMarginSeparator],
- Hstep[Text],
- Hstep[Text]+1cm);
-
-% makeupwidth
-layoutshowmark (4, false, Vstep[Text]+2cm,
- Hstep[Text], Hstep[Text]+Hsize[Text],0);
-
-% rightmargin
-layoutshowmark (5, false, ypos,
- Hstep[RightMargin],
- Hstep[RightMargin]+Hsize[RightMargin],0);
-
-% rightmargindistance
-layoutshowmark (6, false, ypos-1cm,
- Hstep[RightMargin],
- Hstep[RightMarginSeparator],
- Hstep[RightMarginSeparator] -1cm);
-
-
-%topspace
-
-xpos:=xpart(ulcorner Page)+BackSpace+1cm;
-layoutshowmark (7, true, xpos, PaperHeight,PaperHeight-TopSpace,0)
-
-%header
-xpos:=xpos+1cm;
-ypos:=.5[PaperHeight,PaperHeight-TopSpace];
-layoutshowmark (8, true, xpos ,
- Vstep[Header],
- Vstep[Header]+Vsize[Header],ypos);
-
-%headerseparator
-xpos:=xpos+1cm;
-layoutshowmark (9, true,xpos,
- Vstep[HeaderSeparator],
- Vstep[HeaderSeparator]+Vsize[HeaderSeparator],ypos);
-
-xpos:=xpos+1cm;
-
-if \MPvar{showmore}=1:
- % top
- layoutshowmark (17, true, xpos,
- Vstep[Top],
- Vstep[Top]+Vsize[Top], ypos);
-
- xpos:=xpos+1cm;
- layoutshowmark (18, true, xpos,
- Vstep[TopSeparator],
- Vstep[TopSeparator]+Vsize[TopSeparator], ypos);
-
-fi
-
-% makeupheight
-layoutshowmark (10, true,Hstep[RightMarginSeparator]-2cm,
- Vstep[Header]+Vsize[Header],
- Vstep[Footer],0);
-
-
-%footerseparator
-xpos:=xpart(ulcorner Page)+BackSpace+2cm;
-ypos:=.5(Vstep[Footer]);
-
-layoutshowmark (11, true,xpos,
- Vstep[FooterSeparator],
- Vstep[FooterSeparator]+Vsize[FooterSeparator],ypos);
-
-%footer
-xpos:=xpos+1cm;
-layoutshowmark (12, true,xpos,
- Vstep[Footer],Vstep[Footer]+Vsize[Footer],ypos);
-
-xpos:=xpos+1cm;
-
-if \MPvar{showmore}=1:
- % bottom
- layoutshowmark (19, true, xpos,
- Vstep[Bottom],
- Vstep[Bottom]+Vsize[Bottom], ypos);
- xpos:=xpos+1cm;
- layoutshowmark (20, true, xpos,
- Vstep[BottomSeparator],
- Vstep[BottomSeparator]+Vsize[BottomSeparator], ypos);
-
-fi
-
-if \MPvar{showmore}=1:
-
- ypos := Vstep[HeaderSeparator] -3cm;
-
- % LeftEdge
- layoutshowmark (13, false, ypos,
- Hstep[LeftEdge],
- Hstep[LeftEdge]+Hsize[LeftEdge],Hstep[Text]+1cm);
- ypos := ypos-1cm;
- % LeftEdgeSeparator
- layoutshowmark (14, false, ypos,
- Hstep[LeftEdgeSeparator],
- Hstep[LeftEdgeSeparator]+Hsize[LeftEdgeSeparator],
- Hstep[Text]+1cm);
-
- ypos := Vstep[HeaderSeparator] -3cm;
-
- layoutshowmark (15, false, ypos,
- Hstep[RightEdge],
- Hstep[RightEdge]+Hsize[RightEdge],
- Hstep[RightMarginSeparator] -1cm);
-
- ypos := ypos-1cm;
-
- layoutshowmark (16, false, ypos,
- Hstep[RightEdge],
- Hstep[RightEdgeSeparator],
- Hstep[RightMarginSeparator] -1cm);
-
-
-
-fi
-
-currentpicture := currentpicture scaled .5;
-
-\stopuniqueMPgraphic
-\defineoverlay[ShowLayout][\uniqueMPgraphic{ShowLayout}]
-
-\def\SetupShowLayout{\dosingleempty\getparameters[ShowLayout]}
-\SetupShowLayout[units=pt,digits=1,round=0.1,showmore=0,graphonly=0]
-
-\def\ShowLayout{\dosingleempty\doShowLayout}
-
-
-\def\doShowLayout[#1]{%
- \getparameters[ShowLayout][#1]
- \setMPvariables[ShowLayout][showmore=\getvalue{ShowLayoutshowmore}]
- \framed[width=.5\paperwidth,
- height=.5\paperheight,
- background=ShowLayout,
- frame=off,
-% frame=on,
- ]{}%
-\ifnum\getvalue{ShowLayoutgraphonly}=0
- \bgroup\tfxx
-\startcolumns[n=2]
-\starttabulate[|r|l|]
-\NC 1 \NC backspace \ShowLayoutA{\the\backspace} \NR
-\NC 2 \NC leftmargin \ShowLayoutA{\the\leftmarginwidth}\NR
-\NC 3 \NC leftmargindistance \ShowLayoutA{\the\leftmargindistance}\NR
-\NC 4 \NC width \ShowLayoutA{\the\makeupwidth}\NR
-\NC 5 \NC rightmargin \ShowLayoutA{\the\rightmarginwidth}\NR
-\NC 6 \NC rightmargindistance \ShowLayoutA{\the\rightmargindistance}\NR
-\NC 7 \NC topspace \ShowLayoutA{\the\topspace}\NR
-\NC 8 \NC header \ShowLayoutA{\the\headerheight}\NR
-\NC 9 \NC headerdistance \ShowLayoutA{\the\headerdistance}\NR
-\NC 10\NC height \ShowLayoutA{\the\makeupheight}\NR
-\NC 11\NC footerdistance \ShowLayoutA{\the\footerdistance}\NR
-\NC 12\NC footer \ShowLayoutA{\the\footerheight}\NR
-\ifnum\getvalue{ShowLayoutshowmore}=1%
-\NC 13\NC leftedge \ShowLayoutA{\the\leftedgewidth}\NR
-\NC 14\NC leftedgedistance \ShowLayoutA{\the\leftedgedistance}\NR
-\NC 15\NC rightedge \ShowLayoutA{\the\rightedgewidth}\NR
-\NC 16\NC rightedgedistance \ShowLayoutA{\the\rightedgedistance}\NR
-\NC 17\NC top \ShowLayoutA{\the\topheight}\NR
-\NC 18\NC topdistance \ShowLayoutA{\the\topdistance}\NR
-\NC 19\NC bottom \ShowLayoutA{\the\bottomheight}\NR
-\NC 20\NC bottomdistance \ShowLayoutA{\the\bottomdistance}\NR
-\fi
-\NC \NC paperwidth \ShowLayoutA{\the\paperwidth}\NR
-\NC \NC paperheight \ShowLayoutA{\the\paperheight}\NR
-\stoptabulate
-\stopcolumns
-\egroup
-\fi
-}
diff --git a/info/context-notes-zh-cn/src/t-zhfonts.lua b/info/context-notes-zh-cn/src/t-zhfonts.lua
deleted file mode 100644
index c40219febf..0000000000
--- a/info/context-notes-zh-cn/src/t-zhfonts.lua
+++ /dev/null
@@ -1,272 +0,0 @@
-zhfonts = {}
-
-local function init_fonts_table ()
- local f = {}
- f.serif, f.sans, f.mono = {}, {}, {}
- for k in pairs (f) do
- f[k] = {regular = {},bold = {}, italic = {}, bolditalic = {}}
- end
- return f
-end
-
-local cjkfonts, latinfonts = init_fonts_table (), init_fonts_table ()
-
-cjkfonts.serif.regular = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.serif.bold = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.serif.italic = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.serif.bolditalic = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.sans.regular = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.sans.bold = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.sans.italic = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.sans.bolditalic = {name = 'adobeheitistd', rscale = '1.0'}
-cjkfonts.mono.regular = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.mono.bold = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.mono.italic = {name = 'adobesongstd', rscale = '1.0'}
-cjkfonts.mono.bolditalic = {name = 'adobesongstd', rscale = '1.0'}
-
-latinfonts.serif.regular = {name = 'texgyrepagellaregular'}
-latinfonts.serif.bold = {name = 'texgyrepagellabold'}
-latinfonts.serif.italic = {name = 'texgyrepagellaitalic'}
-latinfonts.serif.bolditalic = {name = 'texgyrepagellabolditalic'}
-latinfonts.sans.regular = {name = 'texgyreherosregular'}
-latinfonts.sans.bold = {name = 'texgyreherosbold'}
-latinfonts.sans.italic = {name = 'texgyreherositalic'}
-latinfonts.sans.bolditalic = {name = 'texgyreherosbolditalic'}
-latinfonts.mono.regular = {name = 'lmmono10regular'}
-latinfonts.mono.bold = {name = 'lmmonolt10bold'}
-latinfonts.mono.italic = {name = 'lmmono10italic'}
-latinfonts.mono.bolditalic = {name = 'lmmonolt10boldoblique'}
-
-local mathfonts = {roman = {}}
-mathfonts.roman.name = 'xitsmathregular'
-mathfonts.roman.feature = 'math\mathsizesuffix'
-mathfonts.roman.goodies = 'xits-math'
-
-local function strsplit(str, sep)
- local start_pos = 1
- local split_pos = 1
- local result = {}
- local stop_pos = nil
- while true do
- stop_pos = string.find (str, sep, start_pos)
- if not stop_pos then
- result[split_pos] = string.sub (str, start_pos, string.len(str))
- break
- end
- result[split_pos] = string.sub (str, start_pos, stop_pos - 1)
- start_pos = stop_pos + string.len(sep)
- split_pos = split_pos + 1
- end
- return result
-end
-
-local function strtrim (str)
- return string.gsub (str, "^%s*(.-)%s*$", "%1")
-end
-
-local function str_split_and_trim (str, sep)
- local strlist = strsplit (str, sep)
- local result = {}
- for i, v in ipairs (strlist) do
- result[i] = strtrim (v)
- end
- return result
-end
-
-local function gen_cjk_typescript (ft)
- local fb = '\\definefontfallback'
- local fb_area = '[0x00400-0x2FA1F]'
- local s1 = nil
-
- context ('\\starttypescript[serif][zhfonts]')
- context ('\\setups[font:fallbacks:serif]')
- s = ft.serif.regular
- context (fb..'[zhSerif][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.serif.bold
- context (fb..'[zhSerifBold][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.serif.italic
- context (fb..'[zhSerifItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.serif.bolditalic
- context (fb..'[zhSerifBoldItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[sans][zhfonts]')
- context ('\\setups[font:fallbacks:sans]')
- s = ft.sans.regular
- context (fb..'[zhSans][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.sans.bold
- context (fb..'[zhSansBold][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.sans.italic
- context (fb..'[zhSansItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.sans.bolditalic
- context (fb..'[zhSansBoldItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[mono][zhfonts]')
- context ('\\setups[font:fallbacks:mono]')
- s = ft.mono.regular
- context (fb..'[zhMono][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.mono.bold
- context (fb..'[zhMonoBold][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.mono.italic
- context (fb..'[zhMonoItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- s = ft.mono.bolditalic
- context (fb..'[zhMonoBoldItalic][name:'..s.name..']'..fb_area..'[rscale='..s.rscale..']')
- context ('\\stoptypescript')
-end
-
-local function gen_latin_typescript (ft)
- local la = '\\definefontsynonym[latin'
-
- context ('\\starttypescript[serif][zhfonts]')
- context (la..'Serif][name:' .. ft.serif.regular.name .. ']')
- context (la..'SerifBold][name:' .. ft.serif.bold.name .. ']')
- context (la..'SerifItalic][name:' .. ft.serif.italic.name .. ']')
- context (la..'SerifBoldItalic][name:' .. ft.serif.bolditalic.name .. ']')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[sans][zhfonts]')
- context (la..'Sans][name:' .. ft.sans.regular.name .. ']')
- context (la..'SansBold][name:' .. ft.sans.bold.name .. ']')
- context (la..'SansItalic][name:' .. ft.sans.italic.name .. ']')
- context (la..'SansBoldItalic][name:' .. ft.sans.bolditalic.name .. ']')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[mono][zhfonts]')
- context (la..'Mono][name:' .. ft.mono.regular.name .. ']')
- context (la..'MonoBold][name:' .. ft.mono.bold.name .. ']')
- context (la..'MonoItalic][name:' .. ft.mono.italic.name .. ']')
- context (la..'MonoBoldItalic][name:' .. ft.mono.bolditalic.name .. ']')
- context ('\\stoptypescript')
-end
-
-local function gen_fallback_typescript ()
- context ('\\starttypescript[serif][zhfonts]')
- context ('\\setups[font:fallbacks:serif]')
- context ('\\definefontsynonym[zhSeriffallback][latinSerif][fallbacks=zhSerif]')
- context ('\\definefontsynonym[Serif][zhSeriffallback]')
- context ('\\definefontsynonym[zhSerifBoldfallback][latinSerifBold][fallbacks=zhSerifBold]')
- context ('\\definefontsynonym[SerifBold][zhSerifBoldfallback]')
- context ('\\definefontsynonym[zhSerifItalicfallback][latinSerifItalic][fallbacks=zhSerifItalic]')
- context ('\\definefontsynonym[SerifItalic][zhSerifItalicfallback]')
- context ('\\definefontsynonym[zhSerifBoldItalicfallback][latinSerifBoldItalic][fallbacks=zhSerifBoldItalic]')
- context ('\\definefontsynonym[SerifBoldItalic][zhSerifBoldItalicfallback]')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[sans][zhfonts]')
- context ('\\setups[font:fallbacks:sans]')
- context ('\\definefontsynonym[zhSansfallback][latinSans][fallbacks=zhSans]')
- context ('\\definefontsynonym[Sans][zhSansfallback]')
- context ('\\definefontsynonym[zhSansBoldfallback][latinSansBold][fallbacks=zhSansBold]')
- context ('\\definefontsynonym[SansBold][zhSansBoldfallback]')
- context ('\\definefontsynonym[zhSansItalicfallback][latinSansItalic][fallbacks=zhSansItalic]')
- context ('\\definefontsynonym[SansItalic][zhSansItalicfallback]')
- context ('\\definefontsynonym[zhSansBoldItalicfallback][latinSansBoldItalic][fallbacks=zhSansBoldItalic]')
- context ('\\definefontsynonym[SansBoldItalic][zhSansBoldItalicfallback]')
- context ('\\stoptypescript')
-
- context ('\\starttypescript[mono][zhfonts]')
- context ('\\setups[font:fallbacks:mono]')
- context ('\\definefontsynonym[zhMonofallback][latinMono][fallbacks=zhMono]')
- context ('\\definefontsynonym[Mono][zhMonofallback]')
- context ('\\definefontsynonym[zhMonoBoldfallback][latinMonoBold][fallbacks=zhMonoBold]')
- context ('\\definefontsynonym[MonoBold][zhMonoBoldfallback]')
- context ('\\definefontsynonym[zhMonoItalicfallback][latinMonoItalic][fallbacks=zhMonoItalic]')
- context ('\\definefontsynonym[MonoItalic][zhMonoItalicfallback]')
- context ('\\definefontsynonym[zhMonoBoldItalicfallback][latinMonoBoldItalic][fallbacks=zhMonoBoldItalic]')
- context ('\\definefontsynonym[MonoBoldItalic][zhMonoBoldItalicfallback]')
- context ('\\stoptypescript')
-end
-
-local function gen_math_typescript (ft)
- if mathfonts.roman.name then
- local s = ft.roman
- context ('\\starttypescript[math][zhfonts]')
- context ('\\setups[font:fallbacks:math]')
- context ('\\definefontsynonym[MathRoman][name:'..s.name..'][features='..s.feature..', goodies='..s.goodies..']')
- context ('\\stoptypescript')
- end
-end
-
-local function gen_typeface ()
- context ('\\starttypescript[zhfonts]')
- context ('\\definetypeface[zhfonts][rm][serif][zhfonts][default][features=zh]')
- context ('\\definetypeface[zhfonts][ss][sans][zhfonts][default][features=zh]')
- context ('\\definetypeface[zhfonts][tt][mono][zhfonts][default]')
- if mathfonts.roman.name then
- context ('\\definetypeface[zhfonts][mm][math][zhfonts]')
- end
- context ('\\stoptypescript')
-end
-
-function zhfonts.gen_typescript ()
- gen_cjk_typescript (cjkfonts)
- gen_latin_typescript (latinfonts)
- gen_fallback_typescript ()
- gen_math_typescript (mathfonts)
- gen_typeface ()
-end
-
-local function setup_cjkfonts (meta, fontlist)
- local f, g = nil, nil
- for i, v in ipairs (fontlist) do
- f = str_split_and_trim (v, '=')
- g = str_split_and_trim (f[2], '@')
- if g[1] ~= '' then cjkfonts[meta][f[1]].name = g[1] end
- if g[2] then cjkfonts[meta][f[1]].rscale = g[2] end
- end
-end
-
-local function setup_latinfonts (meta, fontlist)
- local f, g = nil, nil
- for i, v in ipairs (fontlist) do
- f = str_split_and_trim (v, '=')
- latinfonts[meta][f[1]].name = f[2]
- end
-end
-
-local function setup_mathfonts (fontlist)
- local f, g = nil, nil
- for i, v in ipairs (fontlist) do
- f = str_split_and_trim (v, '=')
- if f[2] ~= '' then
- mathfonts[f[1]].name = f[2]
- else
- mathfonts[f[1]].name = nil
- end
- end
-end
-
-
-local fontfeatures = "mode=node,protrusion=myvector,liga=yes,"
-local function setup_fontfeatures (s)
- fontfeatures = fontfeatures .. s
- print (fontfeatures)
-end
-
-function zhfonts.setup (metainfo, fontinfo)
- local m = str_split_and_trim (metainfo, ',')
- local f = str_split_and_trim (fontinfo, ',')
- if #m == 1 and m[1] == 'feature' then setup_fontfeatures (fontinfo) end
- if #m == 1 and cjkfonts[m[1]] then setup_cjkfonts (m[1], f) end
- if #m == 1 and m[1] == 'math' then setup_mathfonts (f) end
- if #m == 2 then
- if m[1] == 'latin' and latinfonts[m[2]] then setup_latinfonts (m[2], f) end
- if m[2] == 'latin' and latinfonts[m[1]] then setup_latinfonts (m[1], f) end
- end
-end
-
-function zhfonts.use (param)
- context ('\\setscript[hanzi]')
- zhspuncs.opt ()
- context ('\\definefontfeature[zh][default][' .. fontfeatures .. ']')
- context ('\\setupalign[hz,hanging]')
- local f = strtrim (param)
- if f ~= "none" then
- zhfonts.gen_typescript ()
- if f ~= "hack" then
- context ('\\usetypescript[zhfonts]')
- context ('\\setupbodyfont[zhfonts, ' .. param .. ']')
- end
- end
-end
diff --git a/info/context-notes-zh-cn/src/t-zhfonts.mkiv b/info/context-notes-zh-cn/src/t-zhfonts.mkiv
deleted file mode 100644
index 5549845cce..0000000000
--- a/info/context-notes-zh-cn/src/t-zhfonts.mkiv
+++ /dev/null
@@ -1,37 +0,0 @@
-%D \module
-%D [ file=t-zhfonts,
-%D version=2010.01.06,
-%D title=\CONTEXT\ User Module,
-%D subtitle=zhfonts,
-%D author=Li Yanrui,
-%D date=\currentdate,
-%D copyright=Li Yanrui,
-%D email=liyanrui.m2@gmail.com,
-%D license=Public Domain]
-
-\writestatus{loading}{ConTeXt User Module / zhfonts}
-\startmodule[zhfonts]
-\unprotect
-\setupmodule[style=rm,size=11pt]
-
-%D Lua code
-\ctxloadluafile{t-zhfonts}
-\ctxloadluafile{t-zhspuncs}
-
-\def\setupzhfonts{\dodoubleempty\dosetupzhfonts}
-\def\dosetupzhfonts[#1][#2]{%
- \ctxlua{zhfonts.setup ('#1', '#2')}
-}
-
-\def\zhfonts[#1]{%
- \ctxlua{zhfonts.use ("#1")}
-}
-
-\edef\@@@@??style{\currentmoduleparameter{style}}
-\edef\@@@@??size{\currentmoduleparameter{size}}
-\prependtoks \zhfonts[\@@@@??style, \@@@@??size] \to \everystarttext
-
-\protect
-\stopmodule
-\endinput
-
diff --git a/info/context-notes-zh-cn/src/t-zhspuncs.lua b/info/context-notes-zh-cn/src/t-zhspuncs.lua
deleted file mode 100644
index a739bf4c03..0000000000
--- a/info/context-notes-zh-cn/src/t-zhspuncs.lua
+++ /dev/null
@@ -1,178 +0,0 @@
-zhspuncs = zhspuncs or {}
-
-local glyph = nodes.pool.register (node.new ("glyph", 0))
-
-local glyph_flag = node.id ('glyph')
-local glue_flag = node.id ('glue')
-local hlist_flag = node.id ('hlist')
-local kern_flag = node.id ('kern')
-local penalty_flag = node.id ('penalty')
-local math_flag = node.id ('math')
-
-local fonthashes = fonts.hashes
-local fontdata = fonthashes.identifiers
-local quaddata = fonthashes.quads
-
-local node_count = node.count
-local node_dimensions = node.dimensions
-local node_traverse_id = node.traverse_id
-local node_slide = node.slide
-local list_tail = node.tail
-local insert_before = node.insert_before
-local insert_after = node.insert_after
-local new_glue = nodes.pool.glue
-local new_kern = nodes.pool.kern
-local new_glue_spec = nodes.pool.glue_spec
-local new_penalty = nodes.pool.penalty
-local new_rule = nodes.pool.rule
-
-local tasks = nodes.tasks
-
-
-local puncs = {
- [0x2018] = {0.5, 0.1, 1.0, 1.0}, -- ‘
- [0x201C] = {0.5, 0.1, 0.5, 1.0}, -- “
- [0x3008] = {0.5, 0.1, 1.0, 1.0}, -- 〈
- [0x300A] = {0.5, 0.1, 1.0, 1.0}, -- 《
- [0x300C] = {0.5, 0.1, 1.0, 1.0}, -- 「
- [0x300E] = {0.5, 0.1, 1.0, 1.0}, -- 『
- [0x3010] = {0.5, 0.1, 1.0, 1.0}, -- 【
- [0x3014] = {0.5, 0.1, 1.0, 1.0}, -- 〔
- [0x3016] = {0.5, 0.1, 1.0, 1.0}, -- 〖
- [0xFF08] = {0.5, 0.1, 1.0, 1.0}, -- (
- [0xFF3B] = {0.5, 0.1, 1.0, 1.0}, -- [
- [0xFF5B] = {0.5, 0.1, 1.0, 1.0}, -- {
- [0x2019] = {0.1, 0.5, 1.0, 0.0}, -- ’
- [0x201D] = {0.1, 0.5, 1.0, 0.0}, -- ”
- [0x3009] = {0.1, 0.5, 1.0, 0.5}, -- 〉
- [0x300B] = {0.1, 0.5, 1.0, 0.5}, -- 》
- [0x300D] = {0.1, 0.5, 1.0, 0.5}, -- 」
- [0x300F] = {0.1, 0.5, 1.0, 0.5}, -- 』
- [0x3011] = {0.1, 0.5, 1.0, 0.5}, -- 】
- [0x3015] = {0.1, 0.5, 1.0, 0.5}, -- 〕
- [0x3017] = {0.1, 0.5, 1.0, 0.5}, -- 〗
- [0xFF09] = {0.1, 0.5, 1.0, 0.5}, -- )
- [0xFF3D] = {0.1, 0.5, 1.0, 0.5}, -- ]
- [0xFF5D] = {0.1, 0.5, 1.0, 0.5}, -- }
- -- 需要特殊处理
- [0x2014] = {0.0, 0.0, 1.0, 1.0}, -- —
- [0x2026] = {0.1, 0.1, 1.0, 1.0}, -- …
- [0x2500] = {0.0, 0.0, 1.0, 1.0}, -- ─
- [0x3001] = {0.15, 0.5, 1.0, 0.5}, -- 、
- [0x3002] = {0.15, 0.6, 1.0, 0.3}, -- 。
- [0xFF01] = {0.15, 0.5, 1.0, 0.5}, -- !
- [0xFF05] = {0.0, 0.0, 1.0, 0.5}, -- %
- [0xFF0C] = {0.15, 0.5, 1.0, 0.3}, -- ,
- [0xFF0E] = {0.15, 0.5, 1.0, 0.5}, -- .
- [0xFF1A] = {0.15, 0.5, 1.0, -0.1}, -- :
- [0xFF1B] = {0.15, 0.5, 1.0, 0.5}, -- ;
- [0xFF1F] = {0.15, 0.5, 1.0, 0.5}, -- ?
-}
-
-local function is_zhcnpunc_node (n)
- local n_is_punc = 0
- if puncs[n.char] then
- return true
- end
- return false
-end
-
-local function is_zhcnpunc_node_group (n)
- local n_is_punc = 0
- if puncs[n.char] then
- n_is_punc = 1
- end
- local nn = n.next
- local nn_is_punc = 0
- -- 还需要穿越那些非 glyph 结点
- while nn_is_punc == 0 and nn and n_is_punc == 1 do
- if nn.id == glyph_flag then
- if puncs[nn.char] then nn_is_punc = 1 end
- break
- end
- nn = nn.next
- end
- return n_is_punc + nn_is_punc
-end
-
-local function is_cjk_ideo (n)
- -- CJK Ext A
- if n.char >= 13312 and n.char <= 19893 then
- return true
- -- CJK
- elseif n.char >= 19968 and n.char <= 40891 then
- return true
- -- CJK Ext B
- elseif n.char >= 131072 and n.char <= 173782 then
- return true
- else
- return false
- end
-end
-
-local function quad_multiple (font, r)
- local quad = quaddata[font]
- return r * quad
-end
-
-local function process_punc (head, n, punc_flag, punc_table)
- local desc = fontdata[n.font].descriptions[n.char]
- if not desc then return end
- local quad = quad_multiple (n.font, 1)
-
- -- 像 $\ldots$ 这样的符号竟然没有边界盒,只好忽略并返回
- -- if desc.boundingbox == nil then return end
-
- local l_space = desc.boundingbox[1] / desc.width
- local r_space = (desc.width - desc.boundingbox[3]) / desc.width
- local l_kern, r_kern = 0.0, 0.0
-
- if punc_flag == 1 then
- l_kern = (punc_table[n.char][1] - l_space) * quad
- r_kern = (punc_table[n.char][2] - r_space) * quad
- elseif punc_flag == 2 then
- l_kern = (punc_table[n.char][1] * punc_table[n.char][3] - l_space) * quad
- r_kern = (punc_table[n.char][2] * punc_table[n.char][4] - r_space) * quad
- end
-
- insert_before (head, n, new_kern (l_kern))
- insert_after (head, n, new_kern (r_kern))
-end
-
-local function compress_punc (head)
- for n in node_traverse_id (glyph_flag, head) do
- local n_flag = is_zhcnpunc_node_group (n)
- if n_flag ~= 0 then
- process_punc (head, n, n_flag, puncs)
- end
- end
-end
-
-function zhspuncs.my_linebreak_filter (head, is_display)
- compress_punc (head)
- return head, true
-end
-
-function zhspuncs.opt ()
- tasks.appendaction("processors","after","zhspuncs.my_linebreak_filter")
-end
-
-fonts.protrusions.vectors['myvector'] = {
- [0xFF0c] = { 0, 0.60 }, -- ,
- [0x3002] = { 0, 0.60 }, -- 。
- [0x2018] = { 0.60, 0 }, -- ‘
- [0x2019] = { 0, 0.60 }, -- ’
- [0x201C] = { 0.60, 0 }, -- “
- [0x201D] = { 0, 0.60 }, -- ”
- [0xFF1F] = { 0, 0.60 }, -- ?
- [0x300A] = { 0.60, 0 }, -- 《
- [0x300B] = { 0, 0.60 }, -- 》
- [0xFF08] = { 0.50, 0 }, -- (
- [0xFF09] = { 0, 0.50 }, -- )
- [0x3001] = { 0, 0.50 }, -- 、
- [0xFF0E] = { 0, 0.50 }, -- .
-}
-fonts.protrusions.classes['myvector'] = {
- vector = 'myvector', factor = 1
-}
-
diff --git a/info/context-notes-zh-cn/src/zhfonts.tex b/info/context-notes-zh-cn/src/zhfonts.tex
new file mode 100644
index 0000000000..b2fa8d7bb1
--- /dev/null
+++ b/info/context-notes-zh-cn/src/zhfonts.tex
@@ -0,0 +1,153 @@
+\title{zhfonts 模块}
+
+基于第 \in[chinese-fonts] 章介绍的汉字字体的设定方法,使用 \CONTEXT\ 足以排版中文文档,但是存在汉字标点符号的间距过大且无法与正文左右边界对齐等问题。若你对此无法忍受,可以考虑使用我写的 zhfonts 模块。
+
+\section{标点间距微调}
+
+根据现在你已经掌握的 \CONTEXT\ 知识,理解以下代码,想必已不在话下:
+
+\starttyping[option=TEX]
+\definefallbackfamily
+ [foo][rm][latinmodernroman][range={0x0000-0x0400},force=yes]
+\definefontfamily[myfonts][rm][nsimsun][bf=simhei,it=kaiti,bi=simhei]
+\setscript[hanzi]
+\setupbodyfont[foo,12pt]
+\setuppapersize[S4]
+\setuplayout[width=middle]
+\showglyphs % 显示字形边界盒
+\starttext
+小知不及大知,小年不及大年。奚以知其然也?朝菌不知晦朔,蟪蛄不知春秋,此小年也。楚之南有冥灵者,以五百岁为春,五百岁为秋;上古有大椿者,以八千岁为春,八千岁为秋,此大年也。而彭祖乃今以久特闻,众人匹之,不亦悲乎!汤之问棘也是已。穷发之北,有冥海者,天池也。有鱼焉,其广数千里,未有知其修者,其名为鲲。有鸟焉,其名为鹏,背若泰山,翼若垂天之云,抟扶摇羊角而上者九万里,绝云气,负青天,然后图南,且适南冥也。斥鴳笑之曰:“彼且奚适也?我腾跃而上,不过数仞而下,翱翔蓬蒿之间,此亦飞之至也。而彼且奚适也?”此小大之辩也。
+\stoptext
+\stoptyping
+\noindent 对应的排版结果如图 \in[none-zhfonts] 所示。
+
+若使用 zhfonts 模块,则上述示例可改写为
+
+\starttyping[option=TEX]
+\usemodule[zhfonts][size=12pt]
+\setuppapersize[S4]
+\setuplayout[width=middle]
+\showglyphs % 显示字形边界盒
+\starttext
+小知不及大知,小年不及大年 [... 省略很多字 ...] 此小大之辩也。
+\stoptext
+\stoptyping
+\noindent 对应的排版结果如图 \in[zhfonts] 所示。
+
+若认真对比图 \in[none-zhfonts] 和图 \in[zhfonts] 中的标点符号的排版结果,则不难发现 zhfonts 模块解决的问题是标点间距微调。
+
+\placefigure[here][none-zhfonts]{未使用 zhfonts 的中文标点排版效果}{%
+ \clip[width=\textwidth,height=5cm,voffset=1.8cm]{\externalfigure[none-zhfonts.pdf][width=\textwidth]}}
+\placefigure[here][zhfonts]{使用 zhfonts 的中文标点排版结果}{%
+ \clip[width=\textwidth,height=4.25cm,voffset=1.8cm]{\externalfigure[zhfonts.pdf][width=\textwidth]}}
+
+\section{安装 zhfonts 模块}
+
+\useURL[zhfonts][https://github.com/liyanrui/zhfonts/archive/refs/heads/master.zip]
+下载 zhfonts-master.zip 包,网络链接为\\
+\blueframed{\from[zhfonts]}\\
+解包后可得目录 zhfonts-master,将其更名为 zhfonts 并移动至
+\starttyping
+$TEXROOT/texmf-local/tex/context/third
+\stoptyping
+\noindent 若无该目录\footnote{\type{$TEXROOT} 的含义详见 \in[fonts-installation] 节。},可自行创建。
+
+然后执行以下命令刷新 \CONTEXT\ 文件系统,
+
+\starttyping
+$ context --generate
+\stoptyping
+
+\noindent 以使 \CONTEXT\ 能够通过 \type{\usemodule[zhfonts]} 搜索并加载 zhfonts 模块的相关文件。
+
+zhfonts 模块默认使用 simsun.ttc,simhei.ttf,simkai.ttf 这三款汉字字体——想必你早已按照 \in[fonts-installation] 节的介绍安装了它们——,西文字体默认使用随 \CONTEXT\ 发行的 Latin Modern 系列字体。
+
+\section{基本用法}
+
+zhfonts 默认使用 11 pt 正体字(宋体 + Latin Modern Serif)作为正文字体:
+
+\starttyping[option=TEX]
+\usemodule[zhfonts] % 默认正文字号为 11 pt
+\startTEXpage[frame=on,offset=4pt,width=12cm]
+我能吞下玻璃而不伤身体。I can eat glass, it does not hurt me.
+\stopTEXpage
+\stoptyping
+\placefigure[none]{}{\externalfigure[zhfonts-01.pdf]}
+
+使用模块参数 \type{style=ss} 或 \type{style=tt},可将正文字体切换为模块参数 \type{size} 所设定大小的无衬线字体或等宽字体。例如
+
+\starttyping[option=TEX]
+% 以 12 pt 的无衬线字体作为正文字体
+\usemodule[zhfonts][style=ss,size=12pt]
+\startTEXpage[frame=on,offset=4pt,width=12cm]
+我能吞下玻璃而不伤身体。I can eat glass, it does not hurt me.
+\stopTEXpage
+\stoptyping
+\placefigure[none]{}{\externalfigure[zhfonts-02.pdf]}
+
+\section{\type{\setupzhfonts}}
+
+使用 \type{\setupzhfonts} 可替换 zhfonts 默认的中文和西文字体。例如,将默认的汉字的衬线字族的粗体更换为 NotoSerifCJK-Bold.ttc\footnote{Google 开发的 Noto 字体中的一款,需要你去网络上搜索获取并按照 \in[fonts-installation] 节所介绍的方式予以安装。}:
+
+\starttyping[option=TEX]
+\setupzhfonts
+ [serif]
+ [bold=notoserifcjkscbold,
+ bolditalic=notoserifcjkscbold]
+\stoptyping
+
+亦可将默认的汉字字族全部替换为其他字体,例如替换衬线字族:
+
+\starttyping[option=TEX]
+\setupzhfonts
+ [serif]
+ [regular=notoserifcjkscregular,
+ bold=notoserifcjkscbold,
+ italic=notoserifcjkscregular,
+ bolditalic=notoserifcjkscbold]
+\stoptyping
+
+西文字体的替换方式为
+
+\starttyping[option=TEX]
+\setupzhfonts
+ [latin,serif|sans|mono]
+ [regular=...,
+ bold=...,
+ italic=...,
+ bolditalic=...]
+\stoptyping
+
+对于数学字体,zhfonts 使用 \CONTEXT\ 默认的数学字体。如果你想更换其他的数学字体,请参考 \CONTEXT\ wiki 页「Math fonts」\cite[math-fonts],例如切换为 antykwa 字体,只需
+
+\starttyping[option=TEX]
+\setupzhfonts[math][antykwa]
+\stoptyping
+
+zhfonts 并未使用汉字字体中的西文字形,而是是将汉字字体作为 Fallback 字体「注入」到西文字体,从而将汉字字体与西文字体组成了混合字体,具体原因已在 \in[fallback-fonts] 节给出了说明。
+
+两种不同的字体,混合到一起,可能会出现字形尺寸不一致的情况。若遇到这种情况,可使用 \type{\setupzhfonts} 的 \type{fontname@n.n} 的参数形式设置汉字的缩放比例。例如
+
+\starttyping[option=TEX]
+\usemodule[zhfonts][size=16pt]
+\setupzhfonts
+ [serif]
+ [regular=@1.5, % 设置默认字体的 rscale 参数值
+ bold=notoserifcjkscbold@0.5]
+\startTEXpage[frame=on,offset=4pt]
+这是汉字,These are English characters.\par
+\bf 这是汉字,These are English characters.
+\stopTEXpage
+\stoptyping
+\placefigure[none]{}{\externalfigure[zhfonts-03.pdf]}
+
+\section{小结}
+
+zhfonts 模块是基于 \CONTEXT\ 的传统的 Typescript 机制实现的汉字字体和英文字体的混合。若想见识一下 Typescript 的恐怖之处,只需编译以下内容的 \CONTEXT\ 源文件:
+
+\starttyping[option=TEX]
+\usemodule[zhfonts]
+\starttext
+\showzhfonts
+\stoptext
+\stoptyping \ No newline at end of file