Difference between revisions of "Simple Typescript Example"
m |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
==Overview== | ==Overview== | ||
− | This page describes how to map a Sans Serif font to the {{cmd|ss}} command and a Serif font to the {{cmd|rm}} command. | + | This page describes how to map a Sans Serif font to the {{cmd|ss}} command and a Serif font to the {{cmd|rm}} command. This page also describes how typefaces differ from typescripts. |
==Requirements== | ==Requirements== | ||
− | This example uses Nimbus, which is a GPL font. Check | + | This example uses Nimbus, which is a GPL font. Check whether Nimbus is available by running the following command: |
mtxrun --script fonts --list --all --pattern=nimbus* | mtxrun --script fonts --list --all --pattern=nimbus* | ||
Line 29: | Line 29: | ||
/usr/share/fonts/type1/gsfonts | /usr/share/fonts/type1/gsfonts | ||
− | You may use a different font; please see [[Fonts_in_LuaTeX#Building_the_font_database|how to install fonts to MkIV]] for details. | + | You may use a different font; please see [[Fonts/Fonts_in_LuaTeX#Building_the_font_database|how to install fonts to MkIV]] for details. |
==Script== | ==Script== | ||
− | + | Configure a font follows: | |
<texcode> | <texcode> | ||
Line 81: | Line 81: | ||
</texcode> | </texcode> | ||
− | Both scripts map the fonts names to the different (existing) font style. Usage is implemented as follows: | + | Both scripts (serif and sans nimbus) map the fonts names to the different (existing) font style. Usage is implemented as follows: |
− | + | * The {{cmd|setupbodyfont}} command calls the ''typeface nimbus''. | |
− | + | * The ''typeface nimbus'' calls the ''typescript [serif][nimbus]'' for {{cmd|rm}} fonts, or ''typescript [sans][nimbus]'' for the {{cmd|ss}} fonts. | |
The scripts then map the fonts to different font styles. | The scripts then map the fonts to different font styles. | ||
− | == | + | ==Extension== |
− | + | The fonts can be changed by extending the script: | |
<texcode> | <texcode> | ||
Line 97: | Line 97: | ||
\stoptypescript | \stoptypescript | ||
+ | % Define a typescript named nimbus. | ||
\starttypescript [nimbus] | \starttypescript [nimbus] | ||
\definetypeface [nimbus] [rm] [serif] [nimbus] | \definetypeface [nimbus] [rm] [serif] [nimbus] | ||
Line 102: | Line 103: | ||
\stoptypescript | \stoptypescript | ||
+ | % Use the nimbus typescript, which defines the nimbus typeface. | ||
\usetypescript[nimbus] | \usetypescript[nimbus] | ||
\setupbodyfont[nimbus,rm,10pt] | \setupbodyfont[nimbus,rm,10pt] | ||
Line 109: | Line 111: | ||
</texcode> | </texcode> | ||
− | + | Note that ''typeface [nimbus]'' and ''typescript [nimbus]'' are different. | |
− | + | ||
− | + | Calling {{cmd|usetypescript}}[nimbus] ensures that the two {{cmd|definetypeface}} commands, embedded within {{cmd|starttypescript}}, as shown above, are called: | |
− | + | ||
− | + | \definetypeface [nimbus] [rm] [serif] [nimbus] | |
+ | \definetypeface [nimbus] [ss] [sans] [nimbus] | ||
==References== | ==References== | ||
− | * | + | * {{cmd|setupbodyfont}} |
− | * | + | * {{cmd|showbodyfont}} |
− | * definetypeface | + | * {{cmd|definetypeface}} |
− | * starttypescript | + | * {{cmd|starttypescript}} |
− | * definefontsynonym | + | * {{cmd|definefontsynonym}} |
Latest revision as of 20:14, 17 May 2024
Overview
This page describes how to map a Sans Serif font to the \ss command and a Serif font to the \rm command. This page also describes how typefaces differ from typescripts.
Requirements
This example uses Nimbus, which is a GPL font. Check whether Nimbus is available by running the following command:
mtxrun --script fonts --list --all --pattern=nimbus*
This should reveal a list similar to the following:
nimbusromno9lmedi nimbusromno9lmedi utmb8a.afm nimbusromno9lmedibold nimbusromno9lmedi utmb8a.afm nimbusromno9lmediital nimbusromno9lmediital utmbi8a.afm nimbusromno9lregu nimbusromno9lregu utmr8a.afm nimbusromno9lreguital nimbusromno9lreguital utmri8a.afm nimbusromno9lregunormal nimbusromno9lregu utmr8a.afm nimbussanlbold nimbussanlbold uhvb8a.afm nimbussanlboldital nimbussanlboldital uhvbo8a.afm nimbussanlregu nimbussanlregu uhvr8a.afm nimbussanlreguital nimbussanlreguital uhvro8a.afm nimbussanlregunormal nimbussanlregu uhvr8a.afm
If the font is not shown, you might have to install the font, which can be found on some systems at:
/usr/share/fonts/type1/gsfonts
You may use a different font; please see how to install fonts to MkIV for details.
Script
Configure a font follows:
% Enable Unicode fonts \enableregime[utf] % Enable Capital Letter use \setupcapitals[sc=yes] % Define a script named [serif][nimbus] \starttypescript [serif] [nimbus] \definefontsynonym [Serif] [name:nimbusromno9lregu] \definefontsynonym [SerifBold] [name:nimbusromno9lbold] \definefontsynonym [SerifItalic] [name:nimbusromno9lreguital] \definefontsynonym [SerifSlanted] [name:nimbusromno9lreguital] \definefontsynonym [SerifBoldItalic] [name:nimbusromno9lboldital] \definefontsynonym [SerifBoldSlanted] [name:nimbusromno9lboldital] \definefontsynonym [SerifCaps] [name:nimbusromno9lregu] \stoptypescript % Define a second script named [sans][nimbus] \starttypescript [sans] [nimbus] \definefontsynonym [Sans] [name:nimbussanlregu] \definefontsynonym [SansBold] [name:nimbussanlbold] \definefontsynonym [SansItalic] [name:nimbussanlreguital] \definefontsynonym [SansSlanted] [name:nimbussanlreguital] \definefontsynonym [SansBoldItalic] [name:nimbussanlboldital] \definefontsynonym [SansBoldSlanted] [name:nimbussanlboldital] \definefontsynonym [SansCaps] [name:nimbussanlregu] \stoptypescript % Define the typeface nimbus; use serif for rm-fonts, sans serif for ss-fonts. \definetypeface [nimbus] [rm] [serif] [nimbus] \definetypeface [nimbus] [ss] [sans] [nimbus] % Indicate the typeface to use. \usetypescript[nimbus][uc] \setupbodyfont[nimbus,rm,10pt] \starttext Regular, {\it Italic}, {\bf Bold}, {\bi Bold-Italic}, {\sc KaPiTaLe} \showbodyfont \stoptext
Both scripts (serif and sans nimbus) map the fonts names to the different (existing) font style. Usage is implemented as follows:
- The \setupbodyfont command calls the typeface nimbus.
- The typeface nimbus calls the typescript [serif][nimbus] for \rm fonts, or typescript [sans][nimbus] for the \ss fonts.
The scripts then map the fonts to different font styles.
Extension
The fonts can be changed by extending the script:
... \definefontsynonym [SansCaps] [name:nimbusromno9lregu] \stoptypescript % Define a typescript named nimbus. \starttypescript [nimbus] \definetypeface [nimbus] [rm] [serif] [nimbus] \definetypeface [nimbus] [ss] [sans] [nimbus] \stoptypescript % Use the nimbus typescript, which defines the nimbus typeface. \usetypescript[nimbus] \setupbodyfont[nimbus,rm,10pt] \starttext ...
Note that typeface [nimbus] and typescript [nimbus] are different.
Calling \usetypescript[nimbus] ensures that the two \definetypeface commands, embedded within \starttypescript, as shown above, are called:
\definetypeface [nimbus] [rm] [serif] [nimbus] \definetypeface [nimbus] [ss] [sans] [nimbus]