Converting METAFONT Sources to Outline Fonts Using METAPOST

Total Page:16

File Type:pdf, Size:1020Kb

Converting METAFONT Sources to Outline Fonts Using METAPOST Converting METAFONT sources to outline fonts using METAPOST Karel P´ıˇska Institute of Physics, Academy of Sciences 182 21 Prague Czech Republic [email protected] http://www-hep.fzu.cz/~piska/ Abstract The paper describes a multistep conversion process from METAFONT sources to outline fonts (Adobe Type 1 format). An important step, finding contours, is based on an accurate algorithm fitting the envelope curve of a stroke drawn by a pen along a cubic B´ezier curve by the least square method, specially extended (adapted) for a rotated elliptical pen applied, for instance, in the Devanagari font design. After converting the EPS files produced by METAPOST to the correspond- ing outline representation, the FontForge font editor is used for removing overlap, simplification, autohinting, generating outline fonts, and necessary manual mod- ifications. The conversion results, the faithful Indic Type 1 fonts (significantly more precise and closer to optimal than earlier attempts made by autotracing bitmaps) will be released. Keywords: font conversion, bitmap fonts, METAFONT, METAPOST, outline fonts, PostScript, Type 1 fonts, approximation, B´ezier curves. Introduction available in METAPOST [5], for example, using op- erations with bitmap picture variables. In 2001 I experimented with approximate conversion METAFONT Indic fonts to the Type 1 format by au- Creating encoding files Encoding files and en- totracing bitmaps with the TEXtrace program [11]. I was not satisfied with the results and decided to coding vectors define a mapping between the glyph METAFONT apply another, analytic approach, to achieve results names and their number codes. defini- more precise and also better optimized. tions usually do not contain unique glyph names in an explicit form but only as comments. The glyph names are taken from these comments to produce an Conversion process unambiguous list of PostScript names, i.e. we must Our procedure consists of studying the font defini- find duplicated names and change them to be dif- tions in METAFONT and preparing encoding files. ferent. Our preliminary solution inherits the META- Then the glyph strokes produced by METAPOST are FONT comments closely to make glyph identification converted to outlines, and the font is assembled, op- easier. timized, and autohinted. Finally, it is generated as a Type 1 binary file with FontForge. After verifica- Running METAPOST Invoking METAPOST pro- tion of visual proofsheet pages some steps are often cesses the METAFONT sources and produces EPS repeated to correct or improve the final results. files. METAPOST together with a macro package mfplain ([5], p. 79) allows processing the original Analysis of METAFONT sources We analyze the or modified (to eliminate METAFONT-specific com- METAFONT source texts [7] of a font to select an ap- mands) font sources written in METAFONT and to propriate strategy of conversion, to find the crucial generate for each glyph a single file in the Encap- parameters, like the font size, the italic angle, and sulated PostScript format, consisting only of Post- the definitions of pens and strokes. Some parame- Script commands like curves, strokes, affine trans- ters may be also hidden inside macros. Sometimes, formations representing pens, etc., but no bitmap a method for efficient conversion is not apparent. images, in contrast to METAFONT’s usual output. Therefore it is also important to know about the Some metric data, e.g. the glyph widths and italic presence and number of METAFONT commands not angles, may be lost; we shall restore them later. 158 TUGboat, Volume 26 (2005), No. 2 — Proceedings of the 2005 Annual Meeting Converting METAFONT sources to outline fonts using METAPOST Figure 1: Result of METAPOST. Figure 2: Primary conversion to outlines. We also need to define a magnification factor, All the calculations are in the non-integer value because we have to transform the glyph images to space. We check each segment for accuracy and sub- a 1000-unit glyph coordinate system (we use this divide it if a chosen limit is exceeded; insert all hori- usual space) with the units in PostScript big points zontal and vertical extrema nodes; keep all horizon- (bp) and the font designsize in pt units. The trans- tal/vertical straight lines and control vectors to be formation factor from pt to bp is 1.00375. Thus exactly horizontal/vertical. The inner part of a con- in general the magnification factor will be 1000 ∗ tour curve of drawing a rotated elliptical pen even 1.00375/designsize. For designsize = 10 pt, this is along a simple B´ezier path without any intersections 1000∗1.00375/10 = 100.375, for 8 pt it is 125.46875, may have self-intersections. Therefore we try to find for 17.28 pt 58.087384, etc. self-intersection points as precisely as possible, if it METAPOST So, a typical command to call is: is possible at all. Unfortunately, sometimes this it- mpost ’&mfplain \mode=localfont;’ \ eration does not converge. A simplest conversion to mag=100.375’; input’ dvng10.mf outlines is shown in figure 2. These files may contain various stroked paths (see For a given time of the path segment using the figures 1, 9). It is necessary to find contour curves affine transformation matrix and its inverse matrix for single strokes and then also common envelope (for a usual pen they are always regular) we can cal- curves for overlapping strokes. culate the displacement corresponding to the point The following lines from the PostScript pro- lying on the right parallel outline curve (the left one METAPOST duced by correspond to fig. 1: is located symmetrically). Knowing the coordinates 0 79.06227 dtransform truncate idtransform of points on the outline curves and also on the pen setlinewidth pop [] 0 setdash boundary we can fit them by a cubic B´ezier approx- 1 setlinecap 1 setlinejoin 10 setmiterlimit imation. But a problem is that we do not know gsave newpath 119.50958 284.54501 moveto whether the points are on the envelope curve, be- 398.36119 284.54501 lineto cause parts of the outline curves may create loops [-0.98387 0.98387 -0.17888 -0.17888 0 0] concat of arbitrary size being inside a closed area. It de- stroke grestore pends on complex correlations between the path and The lineto operator describes the line segment, the the pen. concat operator applies the affine transformation We also recognize quarter-circles, usually rep- represented by the preceding normalized matrix (in resented in METAFONT by two segments because brackets) denoting the rotated elliptical pen, and METAFONT tends to divide curves into octants. To 79.06227 ... setlinewidth is the scale factor defin- avoid further simplification problems, we do not pre- ing the stroke width. serve the 45 degree middle nodes and change the quarter-circles to the accurate single-segment Post- METAPOST Converting products to outlines Script representation√ with relative lengths of con- The results of METAPOST (strokes) are converted trol vectors 4/3( 2 − 1) ' 0.552285, cf. R. Kinch [6, to “primary” outlines. Fitting curves with the least p. 236] and Luc Devroye [2]. For an example of our square method is a typical approach to calculate a circle approximation see figure 3. curve approximation. This method is nothing new To summarize, in the primary approximation and may well have been used in conversion programs straight lines and circles are represented by the min- developed by Richard Kinch (MetaFog, [6]), Basil imal number of segments (because other nodes are Malyshev [9], George Williams (FontForge, [13]) and unnecessary), and, on the other hand, other outline others. We only apply a few additional conditions. curves have redundant node points (to preserve a We try to be more precise, but our attempts are still maximal starting accuracy). These intermediate re- more fragile and unstable than the programs listed sults of the primary conversion to outline are demon- above. strated in figures 2 and 10. TUGboat, Volume 26 (2005), No. 2 — Proceedings of the 2005 Annual Meeting 159 Karel P´ıˇska FONT source. Of course, information about contour curves, intersection points, corners, etc., virtually calculated by METAFONT has been lost. The font outlines autotraced by mftrace from similar bitmaps, despite the inevitable artifacts (bumps, holes, un- recognized corners, . ) give reasonably correct in- formation about the glyphs. Our aim is to obtain another outline representation: more accurate and closer to optimal, minimizing the number of defects. Having the font in SFD format built from the mftrace output, our next step with FontForge is re- moving overlap and optimization (simplifica- tion). We continue processing in the non-integer Figure 3: Representation of circles. space to keep accuracy, in particular, not changing the slopes of the neighboring control vectors so as to preserve a smooth transition between segments. Creating a font with FontForge FontForge is a Rounding to integer, hinting and Type 1 powerful open source font editor. Among its wide font generation FontForge allows for generating range of useful abilities is a “background layer”, PostScript fonts with non-integer point coordinates which may contain bitmap images and line drawings. and, PostScript RIP devices (usually) render these METAFONT So, we generate with high resolution fonts properly. But we have three significant reasons bitmaps for the font under study, either 2400 dpi to round coordinates to integers and to generate the (supre mode), or 7254 dpi. The 7254 dpi “device” Type 1 fonts in integer representation: corresponds to the relation 1 pixel in the PK bitmap • Non-integer values in the PostScript charstring ∼ 1 unit in the PostScript glyph space for a 10 pt occupy 3 “items”. Therefore the integer rep- design size: resentation saves storage and the PFB files are % (72.27*1000.375/10dpi)=7254.1 smaller. mode_param (pixels_per_inch,4000+3254.1); • The final Type 1 fonts do not need such accu- mode_param (blacker, 0); racy after removing overlap and simplification.
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]
  • CM-Super: Automatic Creation of Efficient Type 1 Fonts from Metafont
    CM-Super: Automatic creation of efficient Type 1 fonts from METAFONT fonts Vladimir Volovich Voronezh State University Moskovsky prosp. 109/1, kv. 75, Voronezh 304077 Russia [email protected] Abstract In this article I describe making the CM-Super fonts: Type 1 fonts converted from METAFONT sources of various Computer Modern font families. The fonts contain a large number of glyphs covering writing in dozens of languages (Latin-based, Cyrillic-based, etc.) and provide outline replacements for the original METAFONT fonts. The CM-Super fonts were produced by tracing the high resolution bitmaps generated by METAFONT with the help of TEXtrace, optimizing and hinting the fonts with FontLab, and applying cleanups and optimizations with Perl scripts. 1 The idea behind the CM-Super fonts There exist free Type 1 versions of the original CM The Computer Modern (CM) fonts are the default fonts, provided by Blue Sky Research, Elsevier Sci- ence, IBM Corporation, the Society for Industrial and most commonly used text fonts with TEX. Orig- inally, CM fonts contained only basic Latin letters, and Applied Mathematics (SIAM), Springer-Verlag, and thus covered only the English language. There Y&Y and the American Mathematical Society, but are however a number of Computer Modern look- until not long ago there were no free Type 1 versions alike METAFONT fonts developed which cover other of other “CM look-alike” fonts available, which lim- languages and scripts. Just to name a few: ited their usage in PDF and PostScript target docu- ment formats. The CM-Super fonts were developed • EC and TC fonts, developed by J¨orgKnappen, to cover this gap.
    [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]
  • About Basictex-2021
    About BasicTeX-2021 Richard Koch January 2, 2021 1 Introduction Most TeX distributions for Mac OS X are based on TeX Live, the reference edition of TeX produced by TeX User Groups across the world. Among these is MacTeX, which installs the full TeX Live as well as front ends, Ghostscript, and other utilities | everything needed to use TeX on the Mac. To obtain it, go to http://tug.org/mactex. 2 Basic TeX BasicTeX (92 MB) is an installation package for Mac OS X based on TeX Live 2021. Unlike MacTeX, this package is deliberately small. Yet it contains all of the standard tools needed to write TeX documents, including TeX, LaTeX, pdfTeX, MetaFont, dvips, MetaPost, and XeTeX. It would be dangerous to construct a new distribution by going directly to CTAN or the Web and collecting useful style files, fonts and so forth. Such a distribution would run into support issues as the creators move on to other projects. Luckily, the TeX Live install script has its own notion of \installation packages" and collections of such packages to make \installation schemes." BasicTeX is constructed by running the TeX Live install script and choosing the \small" scheme. Thus it is a subset of the full TeX Live with exactly the TeX Live directory structure and configuration scripts. Moreover, BasicTeX contains tlmgr, the TeX Live Manager software introduced in TeX Live 2008, which can install additional packages over the network. So it will be easy for users to add missing packages if needed. Since it is important that the install package come directly from the standard TeX Live distribution, I'm going to explain exactly how I installed TeX to produce the install package.
    [Show full text]
  • The TEX Font Panel
    The TEX Font Panel Nelson H. F. Beebe (chair) Center for Scientific Computing University of Utah Department of Mathematics, 322 INSCC 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Email: [email protected], [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe Telephone: +1 801 581 5254 FAX: +1 801 585 1640, +1 801 581 4148 Internet: [email protected] Introduction Since most programming languages, operating systems, file systems, and even computer I/O and The TUG’2001 Font Panel convened on Thursday, CPU chips, have character knowledge designed into August 16, 2001, with members William Adams, them, changing the character set has huge ramifica- Nelson H. F. Beebe (chair), Barbara Beeton, Hans tions for the computing industry and for worldwide Hagen, Alan Hoenig, and Ross Moore, with active business data processing, data exchange, and record participation by several attendees in the audience. keeping. The list of topics that was projected on the screen Fortunately, a particular encoding scheme makes up the sectional headings in what follows, and called UTF-8 makes it possible for files encoded in the topics are largely independent. pure ASCII to also be Unicode in UTF-8 encoding, Any errors or omissions in this article are solely easing the transition to the new character set. the fault of the panel chair. Up to version 2.0 in 1996, the Unicode character repertoire could be fit into a table of 216 = 65 536 en- Unicode tries. Version 3.0 in 2000 increased the count to over The work of the Unicode Consortium, begun in a million, although just under 50 000 are assigned 1988, and first reported on for the TEX community and tabulated in the book.
    [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]
  • Making Type 1 and Opentype Fonts with Metatype1 and Fontforge
    Making Type 1 and OpenType fonts with MetaType1 and FontForge Karel Píška Institute of Physics, Academy of Sciences Prague, Czech Republic 24 August 2008 2nd ConTEXt Meeting Bohinj, Slovenija Contents Type 1 v.s. OpenType OpenType fonts today TEX text OpenType fonts OpenType math fonts today Stage 1: Font creating with MetaType1 Examples with Latin Modern Stage 2: From Type 1 to OpenType Construction of OpenType Conclusion and suggestions Conclusion and suggestions TEX Gyre fonts and math OpenType tables Last comments Type 1 v.s. OpenType (probably everybody knows) Limitations in Type 1 I max.number of encoded glyphs – 256 I we need many encoding files to cover various languages and their encodings (9 or more in today’s Latin Modern and TEX Gyre) I metrics data (also ligatures, kernings, . ) in additional separated files (× the number of encodings) OpenType fonts I can cover all characters together with metrics and “advances typographic facilities” I are available for XeTEX, LuaTEX I allow to unify access to glyphs, hyphenation patterns, . OpenType fonts today TEX text OpenType fonts I Latin Modern (LMRoman10-Regular) old style digits present I TEX Gyre (TeXGyreTermes-Regular) old style digits, small caps I Antykwa Torunska I Iwona I Kurier and, maybe, other OpenType fonts today OpenType math fonts I Cambria Math [MicroSoft] I old style digits I math symbols I letters: regular, bold, (math) italic, small caps, subscript, superscript, script-script, etc. I see (MS specification) I Minion Math [Jonannes Küster] I Asana Math [Apostolos Syropoulos] (glyph list) special optical sizes for scripts and scriptscrips are absent (?) I STIX not available after beta-testing (?) I other OpenType math ? Stage 1: Font creating with MetaType1 The fonts can be generated with the MetaType1 package [authors B.
    [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]