The Metafun Manual

Total Page:16

File Type:pdf, Size:1020Kb

The Metafun Manual 1 1 Hans Hagen metafun 1 1 2 2 2 2 3 3 For them I owe much inspiration to both my parents. My mother Jannie constantly demonstrates me that computer graphics will never improve nature. She also converted one of my first METAPOST graphics into a patchwork that will remind me forever that handcraft is more vivid than computer artwork. My father Hein has spent a great deal of his life teaching math, and I’m sure he would have loved METAPOST. I inherited his love for books. I therefore dedicate this document to them. Colofon METAPOST This manual is typeset with CONTEXT and . No special tricks are used and everything you see in here, is available for CONTEXT users. The text is typeset in Palatino and Courier. We used PDFTEX as TEX processing engine. Since this document is meant to be printed in color, some examples will look sub--optimal when printed in black and white. Copyright Hans Hagen, PRAGMA Advanced Document Engineering, Hasselt NL copyright: October 27, 2000 Info internet: www.pragma-ade.com support: [email protected] email: [email protected] 3 3 4 4 4 4 5 5 1 Introduction METAPOST This document is about and TEX. The former is a graphic programming language, the latter a typographic programming language. However, in this document we will not focus on real programming, but more on how we can interface between those two languages. We will do METAPOST so by using CONTEXT, a macro package written in TEX, where support for is integrated METAPOST in the core. The TEX macros are integrated in CONTEXT, and the macros are bundled in MetaFun. When Donald Knuth wrote his typographical programming language TEX he was in need for fonts, especially mathematical fonts. So, as a side track, he started writing METAFONT, a graphical language. When you read between the lines in the METAFONT book and the source code, the name John Hobby is mentioned alongside complicated formulas. It will be no surprise then, that, since he was tightly involved in the development of METAFONT, after a few years his METAPOST showed up. While its ancestor METAFONT was originally targeted at designing fonts, METAPOST is more ori- ented to drawing graphics as used in scientific publications. Since METAFONT produced bitmap out- put, some of its operators make use of this fact. METAPOST on the other hand produces POSTSCRIPT code, which means that it has some features not present in METAFONT and vise versa. With MetaFun I will demonstrate that METAPOST can also be used, or misused, for less technical METAPOST drawing purposes. We will see that can fill in some gaps in TEX, especially its lack of graphic capabilities. We will demonstrate that graphics can make a document more attractive, even if it is processed in a batch processing system like TEX. Most of all, we will see that embedding METAPOST definitions in the TEX source enables a smooth communication between both programs. The best starting point for using METAPOST is the manual written by its author John Hobby. METAFONT You can find this manual at every main TEX repository. Also, a copy of the book from Donald Knuth is worth every penny, if only because it will give you the feeling that many years of graphical fun lays ahead. In this MetaFun manual we will demonstrate how you can embed graphics in a TEX docu- ment, but we will also introduce most of the features of METAPOST. For this reason you will see a lot of METAPOST code. For sure there are better methods to solve problems, but I have tried to demonstrate different methods and techniques as much as possible. METAPOST I started using long after I started using TEX, and I never regret it. Although I like METAPOST TEX very much, I must admit that sometimes using is even more fun. Therefore, before we start exploring both in depth, I want to thank their creators, Donald Knuth and John Hob- by, for providing me these fabulous tools. Of course I also need to thank Hàn Thê´ Thành, for giving the TEX community PDFTEX, as well as providing me the hooks I considered neccessary for implementing some of the features presented here. I also want to thank David Arnold and Ton Otten for their fast proofreading, for providing me useful input, and for testing the examples. Without Davids patience and help, this document would be far from perfect English and less complete. Without Tons help, many small typo’s would have gone unnoticed. Hans Hagen, October 27, 2000 Preliminary Version October 27, 2000 5 5 6 6 2 Preliminary Version October 27, 2000 6 6 7 7 3 Content Conventions . 5 4 Enhancing the layout . 101 1 Welcome to METAPOST .......... 7 4.1 Overlays . 101 4.2 Overlay variables . 103 1.1 Paths ......................... 7 4.3 Stacking overlays . 103 1.2 Transformations . 10 4.4 Foregrounds . 104 1.3 Constructing paths . 14 4.5 Typesetting graphics . 105 1.4 Drawing pictures . 23 4.6 Graphics and macros . 107 1.5 Variables . 27 1.6 Conditions . 28 5 Positional graphics . 115 1.7 Loops . 29 1.8 Macros . 30 5.1 The concept . 115 1.9 Pens . 32 5.2 Anchors and layers . 116 1.10 Colors . 35 5.3 Some examples . 119 1.11 Dashes . 35 1.12 Text ......................... 36 6 Page backgrounds . 121 1.13 Linear equations . 37 1.14 Clipping . 44 6.1 The basic layout . 121 1.15 Cutting and pasting . 45 6.2 Setting up backgrounds . 125 6.3 Multiple overlays . 128 2 A few more details . 49 6.4 Crossing borders . 129 6.5 Advanced features . 136 2.1 Making graphics . 49 2.2 Bounding boxes . 50 7 Shapes, symbols and buttons . 137 2.3 Units . 53 2.4 Scaling and shifting . 55 7.1 Interfacing to TEX ............ 137 2.5 Curve construction . 58 7.2 Random graphics . 138 2.6 Inflection, tension and curl . 63 7.3 Graphic variables . 141 2.7 Transformations . 70 7.4 Shape libraries . 141 2.8 Only this far . 73 7.5 Symbol collections . 143 2.9 Directions . 79 2.10 Analyzing pictures . 80 8 Special effects . 145 2.11 Additional operators . 88 8.1 Shading . 145 3 Embedded graphics . 89 8.2 Clipping . 149 8.3 Patterns . 153 3.1 Getting started . 89 8.4 Fonts . 153 3.2 External graphics . 90 3.3 Integrated graphics . 91 9 Typesetting in METAPOST . 155 3.4 Graphic buffers . 94 3.5 Communicating color . 96 9.1 The process . 155 3.6 Common definitions . 97 9.2 Environments . 155 3.7 One page graphics . 98 9.3 Labels . 156 3.8 Managing resources . 99 Preliminary Version October 27, 2000 7 7 8 8 4 9.4 TEX text . 156 A.2 TEX ........................ 241 9.5 Talking to TEX . 166 A.3 ConTEXt .................... 241 A.4 TEXExec . 242 10 Debugging . 183 A.5 MPtoPDF . 242 A.6 Test case . 243 11 Defining styles . 189 B METAPOST syntax . 245 11.1 Adaptive buttons . 189 B.1 Syntax diagrams . 245 12 Functions . 197 B.2 List of things . 254 13 A few applications . 199 C This document . 255 13.1 Simple drawings . 199 D Reference . 257 13.2 Free labels . 202 13.3 Marking angles . 207 D.1 Paths . 257 13.4 Color circles . 213 D.2 Transformations . 265 13.5 Fool yourself . 218 D.3 Points . 273 13.6 Puzzles . 222 D.4 Attributes . 275 13.7 Flow charts . 222 D.5 Text . 280 13.8 Chemistry . 222 13.9 Growing graphics . 223 E Literature . 283 13.10 Simple Logos . 230 13.11 Animations . 235 E.1 METAFONT and METAPOST . 283 E.2 TEX . 283 14 MetaFun macros . 237 E.3 CONTEXT . 283 E.4 Tools . 283 15 Example graphics . 239 E.5 Distributions . 283 A Programs . 241 Index . 285 A.1 METAPOST ................. 241 Preliminary Version October 27, 2000 8 8 9 9 5 Conventions When reading this manual, you may be tempted to test the examples shown. This can be done in several ways. You can make a file and process that file by METAPOST. Such a file looks like: input mp-tool ; % some initializations and auxiliary macros input mp-spec ; % macros that support special features beginfig(1) ; fill fullcircle scaled 5cm withcolor red ; % a graphic endfig ; end . Don’t forget the semi--colons that end the statements. If the file is saved as yourfile.mp, then the file is processed by: mpost yourfile The results are available in yourfile.1 and can be viewed with GHOSTSCRIPT. You don’t need to close the file so reprocessing is very convenient. Alternatively you can use CONTEXT. In that case, a simple file looks like: \starttext \startuseMPgraphic{dummy} fill fullcircle scaled 5cm withcolor red ; \stopuseMPgraphic \useMPgraphic{dummy} \stoptext If the file is saved as yourfile.tex, then you can produce a DVI file with: texexec yourfile A PDF file, viewable in ACROBAT or GHOSTVIEW, is produced with: texexec --pdf yourfile METAPOST Depending on how your system is set up, CONTEXT will run during the TEX run or after- METAPOST wards. If you want to process a file separately using TEXEXEC, you should say: texexec --mptex yourfile.mp This is the preferred way when a graphic contains TEX directives (btex cum suis) or when the METAPOST file is generated by CONTEXT. We will use lots of color. Don’t worry if your red is not our red, or your yellow does not match ours. We’ve made color definitions to match the overall design of this document, but you should feel free to use any color of choice in the upcoming examples.
Recommended publications
  • Resources Ton 'QX Repository (For Details, Contact Peter Ab- Bott, E-Mail Address Above)
    TUGboat, Volume 10 (1989), No. 2 Janet users may obtain back issues from the As- Resources ton 'QX repository (for details, contact Peter Ab- bott, e-mail address above). DECnetISPAN users may obtain back issues from the European (con- Announcing (belatedly) -MAG tact Massimo Calvani, fisicaQastrpd.infn. it) or American (contact Ed Bell, 7388 : :bell) DECnet Don Hosek T)?J repositories. University of Illinois at Chicago Others with network access should send a mes- After being chided for not publicizing my electronic sage to archive-serverQsun.soe.clarkson.edu "magazine" enough, I have decided to make a formal with the first line being path followed by an address announcement of its availability to the 'J&X cornmu- from Clarkson to you, and then a line nity at large. get texmag texmag.v.nn What is =MAG? for each back issue desired where v is the volume number and nn the issue number. The line index WMAG is available free of charge to anyone reach- texmag will give a list of back issues available. able by electronic mail and is published approxi- A typical mail request may resemble: mately every two months. The subject material index t exmag generally falls somewhere between the somewhat get texmag texmag.l.08 chaotic (but still useful) correspondence of 'QXHAX and UKW, and the printed matter in TUGboat How do I submit articles to TEXMAG? and QXline. Some previous articles have included I was hoping you would ask. Articles are accepted an early version of Dominik Wujastyk's article on on all aspects of T)?J, M'QX, and METAFONT from fonts from TUB 9#2; an overview of the differ- specific information on interfacing graphics packages ent font files used by 'QX, METAFONT, and device with particular DVI drivers to general information drivers; macros for commutative diagrams and sim- on macro writing to product reviews to whatever ple chemical equations and many other topics.
    [Show full text]
  • Font HOWTO Font HOWTO
    Font HOWTO Font HOWTO Table of Contents Font HOWTO......................................................................................................................................................1 Donovan Rebbechi, elflord@panix.com..................................................................................................1 1.Introduction...........................................................................................................................................1 2.Fonts 101 −− A Quick Introduction to Fonts........................................................................................1 3.Fonts 102 −− Typography.....................................................................................................................1 4.Making Fonts Available To X..............................................................................................................1 5.Making Fonts Available To Ghostscript...............................................................................................1 6.True Type to Type1 Conversion...........................................................................................................2 7.WYSIWYG Publishing and Fonts........................................................................................................2 8.TeX / LaTeX.........................................................................................................................................2 9.Getting Fonts For Linux.......................................................................................................................2
    [Show full text]
  • Surviving the TEX Font Encoding Mess Understanding The
    Surviving the TEX font encoding mess Understanding the world of TEX fonts and mastering the basics of fontinst Ulrik Vieth Taco Hoekwater · EuroT X ’99 Heidelberg E · FAMOUS QUOTE: English is useful because it is a mess. Since English is a mess, it maps well onto the problem space, which is also a mess, which we call reality. Similary, Perl was designed to be a mess, though in the nicests of all possible ways. | LARRY WALL COROLLARY: TEX fonts are mess, as they are a product of reality. Similary, fontinst is a mess, not necessarily by design, but because it has to cope with the mess we call reality. Contents I Overview of TEX font technology II Installation TEX fonts with fontinst III Overview of math fonts EuroT X ’99 Heidelberg 24. September 1999 3 E · · I Overview of TEX font technology What is a font? What is a virtual font? • Font file formats and conversion utilities • Font attributes and classifications • Font selection schemes • Font naming schemes • Font encodings • What’s in a standard font? What’s in an expert font? • Font installation considerations • Why the need for reencoding? • Which raw font encoding to use? • What’s needed to set up fonts for use with T X? • E EuroT X ’99 Heidelberg 24. September 1999 4 E · · What is a font? in technical terms: • – fonts have many different representations depending on the point of view – TEX typesetter: fonts metrics (TFM) and nothing else – DVI driver: virtual fonts (VF), bitmaps fonts(PK), outline fonts (PFA/PFB or TTF) – PostScript: Type 1 (outlines), Type 3 (anything), Type 42 fonts (embedded TTF) in general terms: • – fonts are collections of glyphs (characters, symbols) of a particular design – fonts are organized into families, series and individual shapes – glyphs may be accessed either by character code or by symbolic names – encoding of glyphs may be fixed or controllable by encoding vectors font information consists of: • – metric information (glyph metrics and global parameters) – some representation of glyph shapes (bitmaps or outlines) EuroT X ’99 Heidelberg 24.
    [Show full text]
  • Using Fonts Installed in Local Texlive - Tex - Latex Stack Exchange
    27-04-2015 Using fonts installed in local texlive - TeX - LaTeX Stack Exchange sign up log in tour help TeX ­ LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related Take the 2­minute tour × typesetting systems. It's 100% free, no registration required. Using fonts installed in local texlive I have installed texlive at ~/texlive . I have installed collection­fontsrecommended using tlmgr . Now, ~/texlive/2014/texmf­dist/fonts/ has several folders: afm , cmap , enc , ... , vf . Here is the output of tlmgr info helvetic package: helvetic category: Package shortdesc: URW "Base 35" font pack for LaTeX. longdesc: A set of fonts for use as "drop­in" replacements for Adobe's basic set, comprising: ­ Century Schoolbook (substituting for Adobe's New Century Schoolbook); ­ Dingbats (substituting for Adobe's Zapf Dingbats); ­ Nimbus Mono L (substituting for Abobe's Courier); ­ Nimbus Roman No9 L (substituting for Adobe's Times); ­ Nimbus Sans L (substituting for Adobe's Helvetica); ­ Standard Symbols L (substituting for Adobe's Symbol); ­ URW Bookman; ­ URW Chancery L Medium Italic (substituting for Adobe's Zapf Chancery); ­ URW Gothic L Book (substituting for Adobe's Avant Garde); and ­ URW Palladio L (substituting for Adobe's Palatino). installed: Yes revision: 31835 sizes: run: 2377k relocatable: No cat­date: 2012­06­06 22:57:48 +0200 cat­license: gpl collection: collection­fontsrecommended But when I try to compile: \documentclass{article} \usepackage{helvetic} \begin{document} Hello World! \end{document} It gives an error: ! LaTeX Error: File `helvetic.sty' not found. Type X to quit or <RETURN> to proceed, or enter new name.
    [Show full text]
  • Proposal to Represent the Slashed Zero Variant of Empty
    L2/15-268 Title: Proposal to Represent the Slashed Zero Variant of Empty Set Source: Barbara Beeton (American Mathematical Society), Asmus Freytag (ASMUS, Inc.), Laurențiu Iancu and Murray Sargent III (Microsoft Corporation) Status: Individual contribution Action: For consideration by the Unicode Technical Committee Date: 2015-10-30 Abstract As of Unicode Version 8.0, the symbol for empty set is encoded as the character U+2205 EMPTY SET, with no standardized variation sequences. In scientific publications, the symbol is typeset in one of three var- iant forms, chosen by notational style: a slashed circle, ∅, a slashed wide oval in the shape a letter, ∅, or a slashed narrow oval in the shape of a digit zero, . The slashed circle and the slashed zero forms are the most widely used, and correspond to the LaTeX commands \varnothing and \emptyset, respectively. Having one Unicode representation to map to, fonts that provide glyphs for more than one form of the symbol typically implement a stylistic variant or a mapping to a PUA code point. However, the wide- spread use of the slashed zero variant and its mapping to the main LaTeX command for the symbol, \emptyset, make it a candidate for a dedicated means to distinctly represent it in Unicode. This document evaluates three approaches for representing in Unicode the slashed zero variant of the empty set symbol and proposes a solution based on a variation sequence. Additional related characters resulting from the investigation and needed to complete the solution are also proposed for encoding. 1. The empty set symbol 1.1. Historical references The introduction of the modern symbol for the empty set is attributed to André Weil of the Nicholas Bourbaki group.
    [Show full text]
  • Metatype Project: Creating Truetype Fonts Based on M
    Metatype project: creating TrueType fonts based on Metafont Serge Vakulenko Cronyx Engineering, Moscow Russia [email protected] http://www.vak.ru/proj/metatype Abstract The purpose of Metatype project is the development of freeware TrueType fonts for generic user community. Metafont language is chosen for creating character glyphs. Currently, glyph im- ages are converted to cubic outlines using bitmap tracing algorithm, and then to conic outlines. Two font families are currently been under development as a part of Metatype project: 1. TeX font family, based on Computer Modern fonts by Donald E. Knuth, retaining their “look and feel”. A rich set of typefaces is available, including Roman, Sans Serif, Monotype and Math faces with Normal, Bold, Italic, Bold Italic, Narrow and Wide variations. 2. Maestro font family is designed, as a Times-lookalike. It also uses Computer Mod- ern sources, with a lot of modifications. Why TrueType? representation of text strings. Far-seeing operational sys- tems, such as Windows NT, provide support Unicode at The world becomes closer. Now we observe, how the a kernel level. Word-processors use Unicode for stor- Internet and globalization of economics cause increase age of documents (XML, RTF and other formats). The of intensity of contacts between representatives of dif- amount of Internet sites with Unicode encoding grows ferent peoples, cultures, races. The world becomes more every day. Cellular telephones use Unicode for Inter- and more multilingual. The computer branch for a long net browsing (WAP). The world is slowly moving toward time has realized this fact: the draft variant of standard Unicode. And TrueType seems to be a natural result of Unicode is dated 1989 [1].
    [Show full text]
  • THE MATHALPHA, AKA MATHALFA PACKAGE the Math Alphabets
    THE MATHALPHA, AKA MATHALFA PACKAGE MICHAEL SHARPE The math alphabets normally addressed via the macros \mathcal, \mathbb, \mathfrak and \mathscr are in a number of cases not well-adapted to the LATEX math font structure. Some suffer from one or more of the following defects: • font sizes are locked into a sequence that was appropriate for metafont{generated rather than scalable fonts; • there is no option in the loading package to enable scaling; • the font metrics are designed for text rather than math mode, leading to awkward spacing, subscript placement and accent placement when used for the latter; • the means of selecting a set of math alphabets varies from package to package. The goal of this package is to provide remedies for the above, where possible. This means, in effect, providing virtual fonts with my personal effort at correcting the metric issues, rewriting the font-loading macros usually found in a .sty and/or .fd files to admit a scale factor in all cases, and providing a .sty file which is extensible and from which any such math alphabet may be specified using a standard recipe. For example, the following fonts are potentially suitable as targets for \mathcal or \mathscr and are either included as part of TEXLive 2011, as free downloads from CTAN or other free sources, or from commercial sites. cm % Computer Modern Math Italic (cmsy) euler % euscript rsfs % Ralph Smith Formal Script---heavily sloped rsfso % based on rsfs, much less sloped lucida % From Lucida New Math (commercial) mathpi % Adobe Mathematical Pi or clones thereof
    [Show full text]
  • Optimal Use of Fonts on Linux
    Optimal Use of Fonts on Linux Avi Alkalay Donovan Rebbechi Hal Burgiss Copyright © 2006 Avi Alkalay, Donovan Rebbechi, Hal Burgiss 2007−04−15 Revision History Revision 2007−04−15 15 Apr 2007 Revised by: avi Included support to SUSE installation for the RPM scriptlets on template spec file, listed SUSE as a BCI−enabled distro. Revision 2007−02−08 08 Feb 2007 Revised by: avi Fixed some typos, updated Luc's page URL, added DejaVu sections, added link to FC6 Freetype RPMs, added link to Debian MS Core fonts, and added reference to the gnome−font−properties command. Revision 2006−07−02 02 Jul 2006 Revised by: avi Included link to Debian FreeType BCI package, improved the glossary with Latin1 descriptions, more clear links on the webcore fonts section, instructions on how to rebuild source RPM packages in the BCI appendix, updated the freetype recompilation appendix to cover new versions of the lib, authorship section reorganized. Revision 2006−04−02 02 Apr 2006 Revised by: avi Included link to FC5 Freetype.bci contribution by Cody DeHaan. Revision 2006−03−25 25 Mar 2006 Revised by: avi Updated link to BCI Freetype RPMs to be more distro version specific. Revision 2005−07−19 19 May 2005 Revised by: avi Renamed Microsoft Fonts to Webcore Fonts, and links updated.Added X.org Subsystems section. Revision 2005−05−25 25 May 2005 Revised by: avi Comment related to web pages in the Microsoft Fonts section Revision 2005−05−10 10 May 2005 Revised by: avi Old section−based glossary converted to real DocBook glossary.Modernized terms and explanations on the glossary.Included concepts as charsets, Unicode and UTF−8 in the glossary.
    [Show full text]
  • Math Symbol Tables
    APPENDIX A Math symbol tables A.1 Hebrew and Greek letters Hebrew letters Type Typeset \aleph ℵ \beth ℶ \daleth ℸ \gimel ℷ © Springer International Publishing AG 2016 481 G. Grätzer, More Math Into LATEX, DOI 10.1007/978-3-319-23796-1 482 Appendix A Math symbol tables Greek letters Lowercase Type Typeset Type Typeset Type Typeset \alpha \iota \sigma \beta \kappa \tau \gamma \lambda \upsilon \delta \mu \phi \epsilon \nu \chi \zeta \xi \psi \eta \pi \omega \theta \rho \varepsilon \varpi \varsigma \vartheta \varrho \varphi \digamma ϝ \varkappa Uppercase Type Typeset Type Typeset Type Typeset \Gamma Γ \Xi Ξ \Phi Φ \Delta Δ \Pi Π \Psi Ψ \Theta Θ \Sigma Σ \Omega Ω \Lambda Λ \Upsilon Υ \varGamma \varXi \varPhi \varDelta \varPi \varPsi \varTheta \varSigma \varOmega \varLambda \varUpsilon A.2 Binary relations 483 A.2 Binary relations Type Typeset Type Typeset < < > > = = : ∶ \in ∈ \ni or \owns ∋ \leq or \le ≤ \geq or \ge ≥ \ll ≪ \gg ≫ \prec ≺ \succ ≻ \preceq ⪯ \succeq ⪰ \sim ∼ \approx ≈ \simeq ≃ \cong ≅ \equiv ≡ \doteq ≐ \subset ⊂ \supset ⊃ \subseteq ⊆ \supseteq ⊇ \sqsubseteq ⊑ \sqsupseteq ⊒ \smile ⌣ \frown ⌢ \perp ⟂ \models ⊧ \mid ∣ \parallel ∥ \vdash ⊢ \dashv ⊣ \propto ∝ \asymp ≍ \bowtie ⋈ \sqsubset ⊏ \sqsupset ⊐ \Join ⨝ Note the \colon command used in ∶ → 2, typed as f \colon x \to x^2 484 Appendix A Math symbol tables More binary relations Type Typeset Type Typeset \leqq ≦ \geqq ≧ \leqslant ⩽ \geqslant ⩾ \eqslantless ⪕ \eqslantgtr ⪖ \lesssim ≲ \gtrsim ≳ \lessapprox ⪅ \gtrapprox ⪆ \approxeq ≊ \lessdot
    [Show full text]
  • A Module for Using METAFONT Directly Inside the Freetype Rasterizer 138 Tugboat, Volume 39 (2018), No
    136 TUGboat, Volume 39 (2018), No. 2 FreeType MF Module: Fonts are the graphical representation of text A module for using METAFONT directly in a specific style and size. These fonts are mainly inside the FreeType rasterizer categorized in two types: outline fonts and bitmap fonts. Outline fonts are the most popular fonts for Jaeyoung Choi, Ammar Ul Hassan, producing high-quality output used in digital envi- Geunho Jeong ronments. However, to create a new font style as Abstract an outline font, font designers have to design a new font with consequent extensive cost and time. This METAFONT is a font description language which gen- recreation of font files for each variant of a font can erates bitmap fonts for the use by the T X system, E be especially painful for font designers in the case of printer drivers, and related programs. One advan- CJK fonts, which require designing of thousands in- tage of METAFONT over outline fonts is its capability dividual glyphs one by one. Compared to alphabetic for producing different font styles by changing pa- scripts, CJK scripts have both many more characters rameter values defined in its font specification file. and generally more complex shapes, expressed by Another major advantage of using METAFONT is combinations of radicals [3]. Thus it often takes more that it can produce various font styles like bold, than a year to design a CJK font set. italic, and bold-italic from one source file, unlike A programmable font language, METAFONT, outline fonts, which require development of a sepa- has been developed which does not have the above rate font file for each style in one font family.
    [Show full text]
  • Creating Truetype Fonts Based on METAFONT
    The METATYPE Project: Creating TrueType Fonts Based on METAFONT Serge Vakulenko Cronyx Engineering, Moscow, Russia [email protected] http://www.vak.ru/proj/metatype Abstract The purpose of the METATYPE project is the development of freeware TrueType fonts for the general user community. The METAFONT language was chosen for creating character glyphs. Currently, glyph images are converted to cubic outlines using a bitmap tracing algorithm, and then to conic outlines. Two font families are currently under development as part of the METATYPE project: the TeX font family, based on Computer Modern fonts by Donald E. Knuth, retaining their look and feel. A rich set of typefaces is available, including Roman, Sans Serif, Monowidth and Math faces with Normal, Bold, Italic, Bold Italic, Narrow and Wide variations; and second, the Maestro font family, which is designed as a Times look-alike. It also uses Computer Modern sources, but with numerous modifications. Résumé Le but du projet METATYPE est le développement de fontes TrueType libres pour la commu- nauté générale d’utilisateurs. Le langage de programmation METAFONT est utilisé pour créer les glyphes. Actuellement, les glyphes sont convertis d’abord en contours cubiques, en utilisant un al- gorithme d’auto-traçage de bitmap, et ensuite en contours coniques. Deux familles de fontes sont actuellement en développement, dans le cadre du projet META- TYPE : la famille «TeX font», basée sur les fontes Computer Modern de Donald E. Knuth, et proposant du romain, du sans empattements, du mono-chasse, et les fontes mathématiques, dans les styles : régulier, gras, italique, gras italique, étroitisé et élargi ; la famille «Maestro», qui est un clone du Times.
    [Show full text]
  • Organization MFG Discussion Document Task 1
    MFG discussion document Task 1: Organization 1 Summary of math font-related activities mote the use of MathML on the World Wide Web at EuroTEX '98 without being restricted to the symbol complement provided by the system fonts. 1 Introduction Information about the list of symbols collected The subject of math symbol fonts has been one of by the STIX project currently resides on internal the major topics of interest at the 10th European pages on the AMS Web server [2] and is kept in a TEX Conference (EuroTEX '98), which was held on format similar to the Unicode symbol tables [3], but March 29{31, 1998 at St. Malo, France as part of there are plans to release a printable version of these the 2nd Week on Electronic Publishing and Digital tables in PDF format to the general public soon. Typography (WEPT '98). It was pointed out that a printable version of During the conference a paper summarizing the the symbol tables from the MathML specification is 1 MFG supposed to be available in PDF format on the W3C activities of the Math Font Group ( ) [1] was 2 presented and two BOF sessions on math fonts were Web server [4]. The latest version of the MathML held, bringing together members of the MFG and specification also includes some background infor- representatives of other interested parties, such as mation about the STIX project and references to the W3C MathML working group, the STIX project, various other glyph collections [5, Chapter 6]. as well as publishers and typesetters. 3 Implementation of new 8-bit math fonts In addition, there were also many private dis- for (LA)TEX cussions on math fonts at lunches, dinners, and at informal get-togethers in the local caf´es or pubs.
    [Show full text]