2014-06-10 03:45:52 +08:00
|
|
|
<TeXmacs|1.99.1>
|
2011-08-28 15:59:50 +08:00
|
|
|
|
|
|
|
<style|tmdoc>
|
|
|
|
|
|
|
|
<\body>
|
|
|
|
<tmdoc-title|Specifying the current font>
|
|
|
|
|
|
|
|
In this section, we describe the environment variables which control the
|
2014-06-10 03:45:52 +08:00
|
|
|
rendering of fonts. Font properties may be controlled globally for the
|
|
|
|
whole document in <menu|Document|Font> and locally for document fragments
|
|
|
|
in <menu|Format|Font>.
|
2011-08-28 15:59:50 +08:00
|
|
|
|
|
|
|
From an abstract point of view, a <em|font> is defined to be a graphically
|
|
|
|
consistent way of rendering strings. Fonts are usually made up from glyphs
|
2014-06-10 03:45:52 +08:00
|
|
|
like ``x'', ``ffi'', ``<math|\<alpha\>>'', ``<math|<op|<big|sum>>>'',
|
|
|
|
<abbr|etc.> When rendering a string, the string is decomposed into glyphs
|
|
|
|
so as to take into account ligatures (like fi, fl, ff, ffi, ffl). Next, the
|
|
|
|
individual glyphs are positioned while taking into account kerning
|
|
|
|
information (in ``xo'' the ``o'' character is slightly shifted to the left
|
|
|
|
so as to take profit out of the hole in the ``x''). In the case of
|
|
|
|
mathematical fonts, <TeXmacs> also provides a coherent rendering for
|
|
|
|
resizable characters, like the large brackets in
|
2011-08-28 15:59:50 +08:00
|
|
|
|
|
|
|
<\equation*>
|
2014-06-10 03:45:52 +08:00
|
|
|
<around*|(|<around*|(|<around*|(||)><rsup|<rsup|\<nosymbol\>>>|)><rsup|<rsup|<rsup|\<nosymbol\>>>>|)>.
|
2011-08-28 15:59:50 +08:00
|
|
|
</equation*>
|
|
|
|
|
|
|
|
Similarly, a <em|font family> is a family of fonts with different
|
|
|
|
characteristics (like font weight, slant, <abbr|etc.>), but with a globally
|
|
|
|
consistent rendering. One also says that the fonts in a font family ``mix
|
|
|
|
well together''. For instance, the standard computer modern roman font and
|
|
|
|
its <with|font-series|bold|bold> and <with|font-shape|italic|italic>
|
|
|
|
variants mix well together, but the computer modern roman font and the
|
|
|
|
<with|font|avant-garde|Avant Garde> font do not.
|
|
|
|
|
|
|
|
<\remark>
|
2014-06-10 03:45:52 +08:00
|
|
|
In versions of <TeXmacs> prior to 1.99.1, the fonts for the mathematical
|
|
|
|
and programming modes could be controlled independently using the
|
|
|
|
environment variables <src-var|math-font>, <src-var|math-font-family>,
|
|
|
|
<src-var|math-font-series>, <src-var|math-font-shape>,
|
|
|
|
<src-var|prog-font>, <src-var|prog-font-family>,
|
|
|
|
<src-var|prog-font-series>, <src-var|prog-font-shape>. In more recent
|
|
|
|
versions of <TeXmacs>, the environment variables <src-var|font>,
|
|
|
|
<src-var|font-family>, <src-var|font-series> and <src-var|font-shape>
|
|
|
|
directly control the font for all modes.
|
2011-08-28 15:59:50 +08:00
|
|
|
</remark>
|
|
|
|
|
|
|
|
<\explain>
|
2014-06-10 03:45:52 +08:00
|
|
|
<var-val|font|roman><explain-synopsis|font name>
|
2011-08-28 15:59:50 +08:00
|
|
|
<|explain>
|
|
|
|
These variables control the main name of the font, also called the
|
|
|
|
<em|font family>. For instance:
|
|
|
|
|
|
|
|
<\tm-fragment>
|
|
|
|
<with|font|roman|Computer modern roman>, <with|font|pandora|Pandora>,
|
|
|
|
<with|font|chancery|Chancery>, <with|font|palatino|Palatino>
|
|
|
|
</tm-fragment>
|
|
|
|
|
|
|
|
Similarly, <TeXmacs> supports various mathematical fonts:
|
|
|
|
|
|
|
|
<\tm-fragment>
|
2014-06-10 03:45:52 +08:00
|
|
|
Roman: <math|a<rsup|2>+b<rsup|2>=c<rsup|2>>
|
2011-08-28 15:59:50 +08:00
|
|
|
|
2014-06-10 03:45:52 +08:00
|
|
|
Adobe: <math|<with|math-font|adobe|a<rsup|2>+b<rsup|2>=c<rsup|2>>>
|
2011-08-28 15:59:50 +08:00
|
|
|
|
2014-06-10 03:45:52 +08:00
|
|
|
New roman: <math|<with|math-font|ENR|a<rsup|2>+b<rsup|2>=c<rsup|2>>>
|
2011-08-28 15:59:50 +08:00
|
|
|
|
2014-06-10 03:45:52 +08:00
|
|
|
Concrete: <math|<with|math-font|concrete|a<rsup|2>+b<rsup|2>=c<rsup|2>>>
|
2011-08-28 15:59:50 +08:00
|
|
|
</tm-fragment>
|
2014-06-10 03:45:52 +08:00
|
|
|
|
|
|
|
Most fonts only implement a subset of all Unicode glyphs. Sometimes, the
|
|
|
|
user might wish to combine several fonts to cover a larger subset. For
|
|
|
|
instance, when specifying <verbatim|roman,IPAMincho> or
|
|
|
|
<verbatim|cjk=IPAMincho,roman> as the <src-var|font> name, ordinary text
|
|
|
|
and mathematics will be typeset using the default <verbatim|roman> font,
|
|
|
|
whereas Chinese text will use the <verbatim|IPAMincho> font. Similarly,
|
|
|
|
when specifying <verbatim|math=Stix,roman> as the <src-var|font> name,
|
|
|
|
ordinary text will be typeset using the default <verbatim|roman> font,
|
|
|
|
but mathematical formulas using the <verbatim|Stix> font.
|
2011-08-28 15:59:50 +08:00
|
|
|
</explain>
|
|
|
|
|
|
|
|
<\explain>
|
2014-06-10 03:45:52 +08:00
|
|
|
<var-val|font-family|rm><explain-synopsis|font variant>
|
2011-08-28 15:59:50 +08:00
|
|
|
<|explain>
|
|
|
|
This variable selects a variant of the major font, like a sans serif
|
|
|
|
font, a typewriter font, and so on. As explained above, variants of a
|
|
|
|
given font are designed to mix well together. Physically speaking, many
|
|
|
|
fonts do not come with all possible variants (sans serif, typewriter,
|
|
|
|
<abbr|etc.>), in which case <TeXmacs> tries to fall back on a suitable
|
|
|
|
alternative font.
|
|
|
|
|
|
|
|
Typical variants for text fonts are <verbatim|rm> (roman), <verbatim|tt>
|
|
|
|
(typewriter) and <verbatim|ss> (sans serif):
|
|
|
|
|
|
|
|
<\tm-fragment>
|
|
|
|
roman, <with|font-family|tt|typewriter> and <with|font-family|ss|sans
|
|
|
|
serif>
|
|
|
|
|
2014-06-10 03:45:52 +08:00
|
|
|
Sans serif formula: <with|font-family|ss|<math|sin
|
|
|
|
<around*|(|x+y|)>=sin x*cos y+cos x*sin y>>
|
2011-08-28 15:59:50 +08:00
|
|
|
</tm-fragment>
|
|
|
|
</explain>
|
|
|
|
|
|
|
|
<\explain>
|
2014-06-10 03:45:52 +08:00
|
|
|
<var-val|font-series|medium><explain-synopsis|font weight>
|
2011-08-28 15:59:50 +08:00
|
|
|
<|explain>
|
|
|
|
The font series determines the weight of the font. Most fonts only
|
|
|
|
provide <verbatim|regular> and <verbatim|bold> font weights. Some fonts
|
|
|
|
also provide <verbatim|light> as a possible value.
|
|
|
|
|
|
|
|
<\tm-fragment>
|
|
|
|
medium, <with|font-series|bold|bold>
|
|
|
|
</tm-fragment>
|
|
|
|
</explain>
|
|
|
|
|
|
|
|
<\explain>
|
2014-06-10 03:45:52 +08:00
|
|
|
<var-val|font-shape|right><explain-synopsis|font shape>
|
2011-08-28 15:59:50 +08:00
|
|
|
<|explain>
|
|
|
|
The font shape determines other characters of a font, like its slant,
|
|
|
|
whether we use small capitals, whether it is condensed, and so on. For
|
|
|
|
instance,
|
|
|
|
|
|
|
|
<\tm-fragment>
|
|
|
|
<with|font-shape|right|upright>, <with|font-shape|slanted|slanted>,
|
|
|
|
<with|font-shape|italic|italic>, <with|font-shape|left-slanted|left
|
|
|
|
slanted>, <with|font-shape|small-caps|Small Capitals>,
|
|
|
|
<with|font-shape|proportional|<with|font-family|tt|proportional
|
|
|
|
typewriter>>, <with|font-shape|condensed|<with|font-series|bold|bold
|
|
|
|
condensed>>, <with|font-shape|flat|<with|font-family|ss|flat sans
|
|
|
|
serif>>, <with|font-shape|long|long>
|
|
|
|
</tm-fragment>
|
|
|
|
</explain>
|
|
|
|
|
|
|
|
<\explain>
|
|
|
|
<label|font-base-size><var-val|font-base-size|10><explain-synopsis|font
|
|
|
|
base size>
|
|
|
|
<|explain>
|
2014-06-10 03:45:52 +08:00
|
|
|
The base font size is specified in <hlink|<verbatim|pt>
|
2011-08-28 15:59:50 +08:00
|
|
|
units|../basics/lengths.en.tm> and is usually invariant throughout the
|
|
|
|
document. Usually, the base font size is <verbatim|9pt>, <verbatim|10pt>,
|
|
|
|
<verbatim|11pt> or <verbatim|12pt>. Other font sizes are usually obtained
|
2014-06-10 03:45:52 +08:00
|
|
|
by changing the <hlink|<src-var|magnification>|env-general.en.tm#magnification>
|
|
|
|
or the relative <hlink|font-size|#font-size>.
|
2011-08-28 15:59:50 +08:00
|
|
|
|
|
|
|
<\tm-fragment>
|
|
|
|
<with|font-base-size|9|9pt>, <with|font-base-size|10|10pt>,
|
|
|
|
<with|font-base-size|11|11pt>, <with|font-base-size|12|12pt>
|
|
|
|
</tm-fragment>
|
|
|
|
</explain>
|
|
|
|
|
|
|
|
<\explain>
|
|
|
|
<label|font-size><var-val|font-size|1><explain-synopsis|font size>
|
|
|
|
<|explain>
|
|
|
|
The real font size is obtained by multiplying the
|
|
|
|
<src-var|font-base-size> by the <src-var|font-size> multiplier. The
|
|
|
|
following standard font sizes are available from <menu|Format|Size>:
|
|
|
|
|
|
|
|
<big-table|<descriptive-table|<tformat|<cwith|4|5|1|4|cell-bsep|0.25fn>|<cwith|4|5|1|4|cell-tsep|0.25fn>|<table|<row|<cell|size>|<cell|multiplier>|<cell|size>|<cell|multiplier>>|<row|<cell|<with|font-size|0.59|Tiny>>|<cell|0.59>|<cell|<with|font-size|0.71|Very
|
|
|
|
small>>|<cell|0.71>>|<row|<cell|<with|font-size|0.84|Small>>|<cell|0.84>|<cell|<with|font-size|1|Normal>>|<cell|1>>|<row|<cell|<with|font-size|1.19|Large>>|<cell|1.19>|<cell|<with|font-size|1.41|Very
|
|
|
|
large>>|<cell|1.41>>|<row|<cell|<with|font-size|1.68|Huge>>|<cell|1.68>|<cell|<with|font-size|2|Really
|
|
|
|
huge>>|<cell|2>>>>>|Standard font sizes.>
|
|
|
|
|
|
|
|
From a mathematical point of view, the multipliers are in a geometric
|
2014-06-10 03:45:52 +08:00
|
|
|
progression with factor <no-break><math|<sqrt|2|4>>. Notice that the font
|
|
|
|
size is also affected by the <hlink|index
|
2011-08-28 15:59:50 +08:00
|
|
|
level|env-math.en.tm#math-level>.
|
|
|
|
</explain>
|
|
|
|
|
|
|
|
<\explain>
|
|
|
|
<var-val|dpi|600><explain-synopsis|fonts rendering quality>
|
|
|
|
<|explain>
|
|
|
|
The rendering quality of raster fonts (also called Type 3 fonts), such as
|
|
|
|
the fonts generated by the <name|Metafont> program is controlled through
|
|
|
|
its discretization precision in dots per inch. Nowadays, most laser
|
|
|
|
printers offer a printing quality of at least <verbatim|600dpi>, which is
|
|
|
|
also the default <src-var|dpi> setting for <TeXmacs>. For really high
|
|
|
|
quality printing, professionals usually use a precision of
|
|
|
|
<verbatim|1200dpi>. The <src-var|dpi> is usually set once and for all for
|
|
|
|
the whole document.
|
|
|
|
</explain>
|
|
|
|
|
|
|
|
<tmdoc-copyright|2004|Joris van der Hoeven>
|
|
|
|
|
|
|
|
<tmdoc-license|Permission is granted to copy, distribute and/or modify this
|
|
|
|
document under the terms of the GNU Free Documentation License, Version 1.1
|
|
|
|
or any later version published by the Free Software Foundation; with no
|
|
|
|
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
|
|
|
|
Texts. A copy of the license is included in the section entitled "GNU Free
|
|
|
|
Documentation License".>
|
|
|
|
</body>
|