312:(visible in the name of the output file, see below). These bitmaps are typically stored for later reuse, so that Metafont does not have to be run every time a document is displayed, but on the other hand TeX distributions with a Metafont component have typically not included any prebuilt bitmap fonts, since they would be rather large in comparison to the sources from which they could be generated. Since Metafont fonts were traditionally the TeX default from which other font formats were exceptions, an incomplete installation of a non-Metafont font can sometimes result in Metafont being called and emitting a confusing "
2496:
1147:
1247:
27:
1312:, which is capable of interpreting complex PostScript paths generated by Metapost from Metafont's elliptic pens, and also capable of removing contour overlaps. Since FontForge supports scripting, this post-processing step can also be automated. This approach was used to produce Type 1 outlines for the
746:
Delimiters (such as parentheses) do not have built-in meanings, instead there is a command that turns two symbolic tokens into a pair of matching delimiters, but normally
Metafont programs use only the ordinary parentheses. Besides to override priorities in expressions, delimiters are also required
561:
adds color (a triple of numerics) as a ninth type and has a completely different (non-raster) model for pictures; the latter is the main point of divergence between the two programs. Metafont vardef macros also live in the same namespace as variables and may in some ways be regarded as a ninth type
810:, have collaborated with Knuth to create new fonts using Metafont, the system has not been widely adopted by professional type designers. Knuth attributes this to the fact that "asking an artist to become enough of a mathematician to understand how to write a font with 60 parameters is too much."
790:-font). Thus, by changing the value of one of these parameters at one location in the Metafont file, one can produce a consistent change throughout the entire font. Computer Modern Roman illustrates many uses of this feature; a typical TeX installation includes a number of versions of the font in
597:
types may be simulated through collections of variables that share a common name prefix, an idiom supported by the type declaration system giving all variables whose names which differ only in numeric indices the same type (as expected for arrays) while keeping variables whole name differ in some
621:
of one or several independents). When
Metafont executes an equation statement, it turns one of the independents involved into a dependent and eliminates it from the expressions for all other dependents; when no independents remain in the expression for a dependent variable, that variable becomes
1380:
generate vector outlines as an intermediate step of rasterising a stroke, but those intermediate outlines are tailored to the current raster resolution and non-simple as curves, so they are very far from being usable as Type 1 outlines. An effect of the non-simplicity is spurious pixels on the
836:
started work on font creation software in 1977, and produced the first version of
Metafont in 1979. Due to shortcomings in the original Metafont language, Knuth developed an entirely new Metafont system in 1984, and it is this revised system that is used today; Metafont has a versioning system
629:
thus is a built-in feature of the
Metafont language, and the recommended method of assigning most variables (especially those whose values have geometric significance) is to state equations determining their values. Equation systems frequently mix numeric (scalar) equations with pair (vector)
770:), a Metafont font is primarily made up of strokes with finite-width "pens", along with filled regions. Thus, rather than describing the outline of the glyph directly, a Metafont file describes the pen paths. Some simpler Metafont fonts, such as the calligraphic mathematics fonts in the
637:
variables. These have names consisting of just one symbolic token, are always numeric, and are always known. They have a more direct internal representation than ordinary variables, making it convenient for primitive operations in
Metafont (or extensions thereof) to use them implicitly.
389:
After running
Metafont, typically one uses the gftopk program to convert the NNNNgf files to pk (packed) format (.NNNNpk). The pk format was primarily introduced to reduce file size (to about half), but expected to also speed up processing since less data would have to be
346:
Metafont can also be run interactively, and has commands for displaying on the screen the images it produces. Knuth has said that he uses
Metafont as a kind of desk calculator for solving complicated equations, though he now uses MetaPost for mathematical illustrations.
1308:. It also has several limitations detailed in its manual, the most significant one being the restriction that each glyph must be drawn entirely from closed paths. In order to overcome the limitations of mf2pt1, the EPS output by Metapost can be post-processed with
362:
can only contain references to typefaces, rather than the sets of raster or vector glyphs that other formats like PostScript allow. Consequently, the glyphs in the typefaces need to be accessed whenever a request is made to view, print or convert a DVI file.
1675:– a small Python program that lets you trace a TeX bitmap font into a PFA or PFB font (A PostScript Type1 Scalable Font) or TTF (TrueType) font. It is licensed under the GNU GPL. Created by Han-Wen Nienhuys. Versions prior to 1.0.5 were called 'pktrace'.
323:
variable is positive. Traditionally TeX distributions have often come with all TFM files pregenerated (since they are pretty small), but someone installing a
Metafont font from sources will have to generate its TFM file before TeX can use it.
1269:
outlines, which can subsequently be converted to PostScript Type 1 fonts. Generating vector outlines of
Metafont pen strokes is nontrivial, as the Metafont model of a glyph is a raster image and the exact outlines of most strokes are not
778:
text fonts in the
Computer Modern family use a small pen to trace around the outline of the visual "strokes", which are then filled; the result is much like an outline font, but with slightly softened corners defined by the pen shape.
280:
language, where operations such as "draw a lower case top of stem serif at point 4" might appear as one macro instruction (with the point as argument) in the program for a letter. For describing shapes, Metafont has a rich set of
398:
of bitmaps, but make different binary encodings of the run-lengths. The PK format also does some preprocessing of the bitmaps (bounding box, eliding repeated rows) and encodes all rows of a character as one long bit-sequence.
724:, as well as the class of underscore together with upper and lower case A–Z, the token consists of the longest consecutive sequence of characters from the same class. Whitespace characters don't contribute tokens.
1687:– a collection of scripts for UNIX that convert any TeX font into a Type1 .pfb outline font immediately suitable for use with dvips, pdftex, acroread (and any many other programs). Created by Peter Szabo.
1286:(based on MetaPost) for creating PostScript Type 1 fonts. Its big disadvantage is that no pens may be used which highly reduces the power of Metafont language. Initially, tool has been used by the Polish
1326:
is a proprietary converter that can analytically convert pen strokes, but it requires manual post processing to eliminate degenerate cases, and it is not publicly available. It can process only Metapost
1381:
concave side of a stroke that get a value of 2 rather than 1, however the automatic culling of pictures being shipped out as glyphs in a font normally prevents this from showing up in the final bitmap.
304:
Metafont is most often run as a helper to output device (printer, screen) drivers; in those cases, its job is to generate bitmaps for a font for a specific combination of output device (called a
665:
Except where characters are involved in numeric or string constants, the extent of the token containing a particular character depends on to which class the character belongs; unlike
658:, and can be redefined arbitrarily; there is no restriction that tokens with certain meanings must have names consisting of certain characters. At runtime, there can additionally be
218:
1167:
Then it can be used in a LaTeX file such as the following (all files should dwell in the same directory, or the TeX system should be informed about them using appropriate methods):
154:, or intersection of a stem and crossbar—are defined with geometrical equations; the intent that the three stems of an ‘m’ are equally spaced horizontally might be expressed as
271:
292:, em width, slant, vertical stroke width, etc.), then calling a separate source file common for a whole range of fonts to actually draw the individual glyphs; this is the
814:
commented that the Metafont system ultimately became "a technology behind zero of your favourite fonts...Knuth's idea that letters start with skeletal forms is flawed."
1541:
782:
Since the font shapes are defined by equations rather than directly coded numbers, it is possible to treat parameters such as aspect ratio, font slant, stroke width,
493:
1825:
794:
from 5 to 17 cpi, with the stroke widths the same in all sizes (rather than increasing as the font is scaled up). In addition, the Computer Modern typewriter and
343:
utility to generate enlarged images of the font glyphs, this information from specials is included; point positions are not limited to pixel resolution.
1777:
1305:
2561:
1818:
220:
if points 1, 2, and 3 are at the bottom ends of the three stems, whereas the intent that they all end on the same vertical position would be
774:
family, use a single pen stroke with a relatively large pen to define each visual "stroke" of the glyphs. More complex fonts such as the
2556:
1340:
1313:
1279:
339:
commands, in particular the positions and names of points the font designer considered important for the design. If using the separate
1647:
1336:
1323:
288:
Many families of Metafont fonts are set up so that the main source file for a font only defines a small number of design parameters (
1745:
817:
The Metafont system allows fonts to be processed in unusual ways; in 1982, Knuth showed how it could be used to morph fonts, with a
319:
Equally important, but not as common, is running Metafont to generate a font metric (TFM) file; a TFM file is only generated if the
2515:
1811:
1301:
569:
Unusually, the names of variables are not simple tokens, but sequences of symbolic tokens and numeric indices; the variable name
1771:
1556:
2500:
1908:
1331:
The common approach to generate Type 1 fonts with pen strokes remains to generate a high-resolution bitmap and then use an
662:
tokens, which are effectively constant value tokens of arbitrary type; in the source code those appear as symbolic tokens.
355:
2344:
358:
are preferred for mathematical illustrations. Metafont is most commonly invoked without a direct request from the user.
1499:
CSTUG, Charles University, Prague, March 1996, Questions and Answers with Prof. Donald E. Knuth, reproduced in TUGboat
1488:...the mathematics is really simple for a quadratic. The corresponding thing for a cubic is six times as complicated...
605:
to define variables. A numeric variable (or component of a pair or transformation variable) may be in the three states
1418:
1948:
1760:
1726:
1712:
1471:
1451:
798:
fonts are defined using essentially the same Metafont file as the Roman font, but with different global parameters.
2551:
1903:
108:
91:
1519:"Knuth's idea that letters start with skeletal forms is flawed. But his work is important and had lasting impact"
128:
2510:
2505:
2102:
1834:
1778:"Metafont, Metamathematics, and Metaphysics: Comments on Donald Knuth's Article 'The Concept of a Meta-Font'"
157:
786:
size, and so forth as input parameters in each glyph definition (which then define not a single font, but a
1953:
1351:
1968:
1766:
K. Píška, "Creating Type 1 fonts from Metafont sources: comparison of tools, techniques and results", in
50:
2536:
1939:
623:
618:
382:
information, which is the information TeX needs. Usually metafont has to be told to generate this file.
223:
2267:
1752:
programming language, and includes very extensive documentation about the algorithms used in Metafont.
2297:
847:
590:
120:
56:
1734:
1934:
1730:
646:
Metafont has numeric and string constant tokens with mainstream syntaxes; strings are delimited by
514:
277:
1266:
437:
431:
406:
standard, filenames are limited to 8+3 characters, so GF and PK files would only have extensions
335:
variable is positive then the bitmap font file also contains additional information provided via
414:. Files for different resolutions are kept apart by placing them in separate directories, named
458:
441:
2546:
2541:
2384:
2309:
1963:
1605:
1304:, which is also based on Metapost, was developed by Scott Pakin with some contributions from
533:
468:
285:
construction operations that mostly relieves the user of having to calculate control points.
2359:
2314:
2159:
2023:
1633:
1573:
1518:
1504:
8:
2220:
2178:
1316:
mathematical font developed by Achim Blumensath; MnSymbol was designed as a companion to
759:, rather than quadratic, for greater versatility at the cost of more complex arithmetic.
651:
563:
395:
131:
that executes Metafont code, generating the bitmap fonts that can be embedded into e.g.
2467:
2319:
2215:
1943:
1797:
1770:(Springer-Verlag, Berlin, 2004), Lect. Notes Comput. Sci., Vol. 3130, pp. 240–56.
859:
The following example creates a closed beanlike shape for the character "B" of a font:
791:
2482:
2424:
2234:
2225:
1996:
1991:
1756:
1722:
1708:
1447:
1317:
1258:
767:
549:
496:
151:
146:
One of the characteristics of Metafont is that the points defining the shapes of the
96:
2087:
2290:
2198:
2117:
2055:
1978:
811:
518:
371:
Metafont outputs several kinds of files: for a file called NAME.mf, it can output:
103:
79:
1803:
1619:
2457:
2379:
2374:
2193:
2188:
2077:
2033:
1291:
771:
594:
543:
462:
379:
359:
1403:
1271:
526:
282:
2257:
2229:
2122:
2038:
2001:
1924:
842:
84:
685:
are "loners" and only form single character tokens. For the character classes
502:
Pair: a pair of numerics, used primarily for representing points in the plane.
2530:
2329:
2149:
2107:
2045:
2018:
787:
309:
293:
350:
Metafont can render any kind of graphical output, not just glyphs. However,
2477:
2472:
2462:
2442:
2414:
2404:
2369:
2208:
2092:
2006:
1929:
1700:
1467:
1295:
833:
807:
756:
574:
525:
cubic polynomials. As in those other systems, path segments are encoded as
391:
375:
NAME.NNNNgf – File with raster output at resolution NNNN (2602 by default).
136:
124:
39:
1475:
1146:
539:
Pen: a convex polygon, representing the shape of a "pen" used for drawing.
536:
of the plane, equivalent to a "(transformation) matrix" in PostScript/PDF.
2452:
2447:
2409:
2399:
2394:
2349:
2334:
2203:
2154:
2144:
2134:
2097:
2013:
1958:
1868:
735:
is frequently appearing as part of variable names in Metafont code, e.g.
499:). This is the default for variables not declared to be of another type.
2324:
2304:
2239:
2139:
2060:
2050:
2028:
1858:
1837:
1332:
822:
795:
775:
506:
132:
34:
2419:
2389:
2272:
2183:
2065:
1888:
1853:
1783:, Vol. XVI no. 4, pp. 309–338 (republished in Hofstadter's book
1309:
1283:
522:
1591:
2364:
2262:
2129:
2112:
1883:
1873:
1863:
1684:
1356:
1262:
763:
602:
558:
351:
289:
2354:
2339:
2082:
1634:"R. J. Kinch, "MetaFog: converting Metafont shapes to contours",
1290:
typeface foundry to produce a modernized and extended variant of
1152:
The above example will be processed with a command line such as:
26:
2070:
1672:
1503:(1996), 355–67. Citation is from page 361. Available online at
1246:
2171:
2166:
1893:
818:
783:
147:
1257:
There are several tools for converting Metafont programs to
1738:
1265:'s ability to convert a subset of Metafont's language into
1755:
Yannis Haralambous, "Fonts and Encodings", O'Reilly 2007,
1898:
1749:
1533:
1287:
838:
666:
510:
140:
669:, Metafont has fixed character classes. The characters
650:
quotes, numeric constants can have decimals but not an
453:
Variables in Metafont can be of eight different types:
601:
A very distinctive feature of Metafont is the use of
471:
226:
160:
16:
Description language used to define rastertype fonts
1474:(Interview). Interviewed by Advogato. Archived from
1252:
1833:
598:symbolic token separate (as expected for records).
487:
265:
212:
1359:, a vector drawing language derived from Metafont
1158:'\mode=ljfour; mode_setup; input beta.mf'
762:Unlike more common outline font formats (such as
2528:
1589:
1244:The resulting PDF file should look like this:
1819:
1606:"CTAN: tex-archive/fonts/utilities/metatype1"
1510:
870:% Define a beanlike shape for the character B
731:A notable application of these rules is that
562:of variable, although macros do not exist as
2295:
1763:, Appendix F: "METAFONT and its derivatives"
728:starts a comment lasting until end of line.
521:in the plane whose coordinate functions are
1435:
546:with a signed integer value for each pixel.
1826:
1812:
1585:
1583:
633:An exception to the above is the class of
577:token, but a sequence of the three tokens
448:
385:NAME.log – Log file output from processing
907:% Setup coordinates as an equation system
806:While well-known type designers, such as
747:around certain kinds of macro arguments.
2501:Free and open-source software portal
2516:List of free software Unicode typefaces
1580:
1401:
213:{\displaystyle x_{2}-x_{1}=x_{3}-x_{2}}
2562:Computer-related introductions in 1977
2529:
1807:
1539:
1466:
1441:
654:. All other tokens are classified as
529:in terms of knots and control points.
327:A third way of operating Metafont is
299:
394:. The GF and PK formats both employ
1516:
13:
1800:(PDF). Christophe Grandsire, 2004.
1620:"CTAN: tex-archive/support/mf2pt1"
1574:"Knuth: Computers and Typesetting"
1335:, implemented by packages such as
825:design over the course of a text.
755:Curves in Metafont are defined as
14:
2573:
2557:Declarative programming languages
1949:GNU Lesser General Public License
1791:
1253:Producing PostScript Type 1 fonts
1142:This yields the following glyph:
821:font slowly transitioning into a
266:{\displaystyle y_{1}=y_{2}=y_{3}}
2494:
1768:TeX, XML, and Digital Typography
1653:from the original on 2000-10-05.
1245:
1145:
25:
1678:
1666:
1657:
1626:
1612:
1598:
1424:from the original on 2011-11-06
1226:Let's try having a strange
495:, capped to be less than 4096 (
434:language for programs that are
366:
1731:source code of the book in TeX
1566:
1493:
1460:
1404:"Packed (PK) Font File Format"
1395:
1370:
316:.mf not found" error message.
1:
2511:List of open source typefaces
2506:Open-source Unicode typefaces
1388:
127:. It is also the name of the
1954:LaTeX Project Public License
1542:"The Concept of a Meta-Font"
1472:"Interview: Donald E. Knuth"
1352:Ikarus (typography software)
1065:% z1 is the same as (x1, y1)
554:String (of 8-bit characters)
430:The Metafont language is an
7:
1345:
1163:gftopkbeta.600gfbeta.600pk
750:
425:
10:
2578:
1940:GNU General Public License
1694:
1062:% Draw the character curve
854:
828:
135:. Metafont was devised by
61:; 3 years ago
2491:
2433:
2281:
2248:
1977:
1935:Creative Commons licenses
1917:
1844:
1737:) is available online on
1555:(1): 3–27. Archived from
641:
617:(not set, but given by a
102:
90:
78:
74:
49:
45:
33:
24:
1787:, NY: Basic Books, 1985)
1776:Hofstadter, Douglas R.,
1363:
1261:fonts. Most make use of
1169:
1154:
861:
2552:Cross-platform software
1721:, Addison-Wesley 1986.
1707:, Addison-Wesley 1986.
1402:Rokicki, Tomas (1985).
488:{\displaystyle 2^{-16}}
461:signed numbers with an
449:Variables and equations
404:TeX Directory Structure
2296:
1540:Knuth, Donald (1982).
1442:Knuth, Donald (1986).
1376:Technically, Metafont
801:
489:
296:aspect of the system.
267:
214:
150:—for example top of a
139:as a companion to his
59:/ January 2021
2310:Atkinson Hyperlegible
1964:SIL Open Font License
1798:The Metafont Tutorial
1705:Metafont: The Program
1590:Christophe Grandsir.
534:affine transformation
490:
378:NAME.tfm – File with
268:
215:
2298:Antykwa Półtawskiego
1835:Free and open-source
1746:Metafont source code
1470:(January 25, 2000).
851:with each revision.
566:values in Metafont.
469:
224:
158:
143:typesetting system.
121:description language
1969:Ubuntu Font Licence
1592:"METAFONT Tutorial"
1517:Hoefler, Jonathan.
1478:on January 22, 2009
864:%file name: beta.mf
841:, where the number
837:similar to that of
611:unknown independent
396:run-length encoding
21:
2468:Greek Font Society
1944:GPL font exception
1785:Metamagical Themas
1748:is written in the
1744:Donald Knuth: The
1446:. Addison Wesley.
485:
300:Modes of operation
263:
210:
19:
2537:Free TeX software
2524:
2523:
2483:SIL International
2088:Ghostscript fonts
1997:Bitstream Charter
1259:PostScript Type 1
768:PostScript Type 1
693:(single quotes),
635:internal quantity
619:linear expression
615:unknown dependent
308:in Metafont) and
114:
113:
97:Computer language
2569:
2499:
2498:
2497:
2410:Squarish Sans CT
2400:Open Baskerville
2301:
2199:Source Han Serif
1979:Operating system
1828:
1821:
1814:
1805:
1804:
1781:Visible Language
1719:The Metafontbook
1688:
1682:
1676:
1670:
1664:
1661:
1655:
1654:
1652:
1645:
1641:, 233–43 (1995)"
1630:
1624:
1623:
1616:
1610:
1609:
1602:
1596:
1595:
1587:
1578:
1577:
1570:
1564:
1563:
1561:
1549:Visible Language
1546:
1537:
1531:
1530:
1528:
1526:
1514:
1508:
1497:
1491:
1490:
1485:
1483:
1464:
1458:
1457:
1444:The METAFONTbook
1439:
1433:
1432:
1430:
1429:
1423:
1408:
1399:
1382:
1374:
1249:
1240:
1236:
1233:
1229:
1225:
1221:
1218:
1215:
1211:
1208:
1205:
1202:
1199:
1196:
1192:
1189:
1186:
1183:
1180:
1176:
1173:
1162:
1159:
1149:
1138:
1135:
1132:
1129:
1126:
1123:
1120:
1117:
1114:
1111:
1108:
1105:
1102:
1099:
1096:
1093:
1090:
1087:
1084:
1081:
1078:
1075:
1072:
1069:
1066:
1063:
1060:
1057:
1054:
1051:
1047:
1044:
1041:
1038:
1034:
1031:
1028:
1025:
1022:
1019:
1016:
1013:
1010:
1007:
1004:
1001:
998:
995:
992:
989:
986:
983:
980:
977:
974:
971:
968:
965:
962:
959:
956:
953:
950:
947:
944:
941:
938:
935:
932:
929:
926:
923:
920:
917:
914:
911:
908:
905:
902:
899:
895:
891:
887:
883:
880:
877:
874:
871:
868:
865:
812:Jonathan Hoefler
742:
738:
734:
727:
723:
719:
715:
712:
708:
704:
700:
696:
692:
688:
684:
680:
676:
672:
649:
627:equation systems
588:
584:
580:
573:is thus not one
572:
519:parametric curve
494:
492:
491:
486:
484:
483:
421:
417:
413:
409:
342:
338:
272:
270:
269:
264:
262:
261:
249:
248:
236:
235:
219:
217:
216:
211:
209:
208:
196:
195:
183:
182:
170:
169:
80:Operating system
69:
67:
62:
29:
22:
18:
2577:
2576:
2572:
2571:
2570:
2568:
2567:
2566:
2527:
2526:
2525:
2520:
2495:
2493:
2487:
2458:Behdad Esfahbod
2435:
2429:
2380:Linux Libertine
2283:
2277:
2250:
2244:
2194:Source Han Sans
2034:Computer Modern
1984:
1982:
1973:
1913:
1846:
1840:
1832:
1794:
1697:
1692:
1691:
1683:
1679:
1671:
1667:
1662:
1658:
1650:
1643:
1632:
1631:
1627:
1618:
1617:
1613:
1604:
1603:
1599:
1588:
1581:
1572:
1571:
1567:
1559:
1544:
1538:
1534:
1524:
1522:
1515:
1511:
1498:
1494:
1481:
1479:
1465:
1461:
1454:
1440:
1436:
1427:
1425:
1421:
1406:
1400:
1396:
1391:
1386:
1385:
1375:
1371:
1366:
1348:
1292:Computer Modern
1255:
1242:
1241:
1238:
1234:
1231:
1227:
1223:
1219:
1216:
1213:
1209:
1206:
1203:
1200:
1197:
1194:
1190:
1187:
1184:
1181:
1178:
1174:
1171:
1165:
1164:
1160:
1157:
1140:
1139:
1136:
1133:
1130:
1127:
1124:
1121:
1118:
1115:
1112:
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1070:
1067:
1064:
1061:
1058:
1055:
1052:
1049:
1045:
1042:
1039:
1036:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
1002:
999:
996:
993:
990:
987:
984:
981:
978:
975:
972:
969:
966:
963:
960:
957:
954:
951:
948:
945:
942:
939:
936:
933:
930:
927:
924:
921:
918:
915:
912:
909:
906:
903:
900:
897:
893:
889:
885:
881:
878:
875:
872:
869:
866:
863:
857:
831:
804:
772:Computer Modern
753:
740:
736:
732:
725:
721:
717:
714:
710:
706:
702:
698:
694:
690:
686:
682:
678:
674:
670:
647:
644:
622:known. Solving
613:(not set), and
586:
585:(numeric), and
582:
578:
570:
476:
472:
470:
467:
466:
451:
428:
420:dpi300/cmr10.pk
419:
415:
411:
407:
380:TeX font metric
369:
340:
336:
302:
257:
253:
244:
240:
231:
227:
225:
222:
221:
204:
200:
191:
187:
178:
174:
165:
161:
159:
156:
155:
123:used to define
70:
65:
63:
60:
17:
12:
11:
5:
2575:
2565:
2564:
2559:
2554:
2549:
2544:
2539:
2522:
2521:
2519:
2518:
2513:
2508:
2492:
2489:
2488:
2486:
2485:
2480:
2475:
2470:
2465:
2460:
2455:
2450:
2445:
2439:
2437:
2431:
2430:
2428:
2427:
2422:
2417:
2412:
2407:
2402:
2397:
2392:
2387:
2382:
2377:
2372:
2367:
2362:
2357:
2352:
2347:
2342:
2337:
2332:
2327:
2322:
2317:
2312:
2307:
2302:
2293:
2287:
2285:
2279:
2278:
2276:
2275:
2270:
2265:
2260:
2258:National Fonts
2254:
2252:
2246:
2245:
2243:
2242:
2237:
2232:
2230:Ubuntu Titling
2223:
2218:
2213:
2212:
2211:
2206:
2201:
2196:
2186:
2181:
2176:
2175:
2174:
2164:
2163:
2162:
2157:
2147:
2142:
2137:
2132:
2127:
2126:
2125:
2115:
2110:
2105:
2103:Go and Go Mono
2100:
2095:
2090:
2085:
2080:
2075:
2074:
2073:
2068:
2063:
2053:
2048:
2043:
2042:
2041:
2039:Concrete Roman
2031:
2026:
2021:
2016:
2011:
2010:
2009:
2002:Bitstream Vera
1999:
1994:
1988:
1986:
1975:
1974:
1972:
1971:
1966:
1961:
1956:
1951:
1946:
1937:
1932:
1927:
1925:Apache License
1921:
1919:
1915:
1914:
1912:
1911:
1906:
1901:
1896:
1891:
1886:
1881:
1876:
1871:
1866:
1861:
1856:
1850:
1848:
1842:
1841:
1831:
1830:
1823:
1816:
1808:
1802:
1801:
1793:
1792:External links
1790:
1789:
1788:
1774:
1764:
1753:
1742:
1717:Donald Knuth:
1715:
1696:
1693:
1690:
1689:
1677:
1665:
1663:K. Píška, 2004
1656:
1625:
1611:
1597:
1579:
1565:
1562:on 2020-07-07.
1532:
1509:
1492:
1459:
1452:
1434:
1417:(3): 115–120.
1393:
1392:
1390:
1387:
1384:
1383:
1368:
1367:
1365:
1362:
1361:
1360:
1354:
1347:
1344:
1329:
1328:
1321:
1306:Werner Lemberg
1299:
1254:
1251:
1172:\documentclass
1170:
1155:
862:
856:
853:
843:asymptotically
830:
827:
803:
800:
752:
749:
643:
640:
556:
555:
552:
547:
540:
537:
532:Transform: an
530:
503:
500:
482:
479:
475:
450:
447:
427:
424:
387:
386:
383:
376:
368:
365:
301:
298:
276:Metafont is a
260:
256:
252:
247:
243:
239:
234:
230:
207:
203:
199:
194:
190:
186:
181:
177:
173:
168:
164:
112:
111:
106:
100:
99:
94:
88:
87:
85:Cross-platform
82:
76:
75:
72:
71:
55:
53:
51:Stable release
47:
46:
43:
42:
37:
31:
30:
15:
9:
6:
4:
3:
2:
2574:
2563:
2560:
2558:
2555:
2553:
2550:
2548:
2545:
2543:
2540:
2538:
2535:
2534:
2532:
2517:
2514:
2512:
2509:
2507:
2504:
2503:
2502:
2490:
2484:
2481:
2479:
2476:
2474:
2471:
2469:
2466:
2464:
2461:
2459:
2456:
2454:
2451:
2449:
2446:
2444:
2441:
2440:
2438:
2432:
2426:
2423:
2421:
2418:
2416:
2413:
2411:
2408:
2406:
2403:
2401:
2398:
2396:
2393:
2391:
2388:
2386:
2383:
2381:
2378:
2376:
2373:
2371:
2368:
2366:
2363:
2361:
2358:
2356:
2353:
2351:
2348:
2346:
2343:
2341:
2338:
2336:
2333:
2331:
2328:
2326:
2323:
2321:
2318:
2316:
2313:
2311:
2308:
2306:
2303:
2300:
2299:
2294:
2292:
2289:
2288:
2286:
2280:
2274:
2271:
2269:
2266:
2264:
2261:
2259:
2256:
2255:
2253:
2247:
2241:
2238:
2236:
2233:
2231:
2227:
2224:
2222:
2219:
2217:
2214:
2210:
2207:
2205:
2202:
2200:
2197:
2195:
2192:
2191:
2190:
2187:
2185:
2182:
2180:
2177:
2173:
2170:
2169:
2168:
2165:
2161:
2158:
2156:
2153:
2152:
2151:
2148:
2146:
2143:
2141:
2138:
2136:
2133:
2131:
2128:
2124:
2121:
2120:
2119:
2116:
2114:
2111:
2109:
2108:Hershey fonts
2106:
2104:
2101:
2099:
2096:
2094:
2091:
2089:
2086:
2084:
2081:
2079:
2076:
2072:
2069:
2067:
2064:
2062:
2059:
2058:
2057:
2054:
2052:
2049:
2047:
2046:Courier Prime
2044:
2040:
2037:
2036:
2035:
2032:
2030:
2027:
2025:
2022:
2020:
2019:Cascadia Code
2017:
2015:
2012:
2008:
2005:
2004:
2003:
2000:
1998:
1995:
1993:
1990:
1989:
1987:
1983:corporate and
1980:
1976:
1970:
1967:
1965:
1962:
1960:
1957:
1955:
1952:
1950:
1947:
1945:
1941:
1938:
1936:
1933:
1931:
1928:
1926:
1923:
1922:
1920:
1916:
1910:
1907:
1905:
1902:
1900:
1897:
1895:
1892:
1890:
1887:
1885:
1882:
1880:
1877:
1875:
1872:
1870:
1867:
1865:
1862:
1860:
1857:
1855:
1852:
1851:
1849:
1847:and libraries
1843:
1839:
1836:
1829:
1824:
1822:
1817:
1815:
1810:
1809:
1806:
1799:
1796:
1795:
1786:
1782:
1779:
1775:
1773:
1769:
1765:
1762:
1761:0-596-10242-9
1758:
1754:
1751:
1747:
1743:
1740:
1736:
1732:
1728:
1727:0-201-13444-6
1724:
1720:
1716:
1714:
1713:0-201-13438-1
1710:
1706:
1702:
1699:
1698:
1686:
1681:
1674:
1669:
1660:
1649:
1642:
1640:
1637:
1629:
1621:
1615:
1607:
1601:
1593:
1586:
1584:
1575:
1569:
1558:
1554:
1550:
1543:
1536:
1520:
1513:
1507:
1505:
1502:
1496:
1489:
1477:
1473:
1469:
1468:Knuth, Donald
1463:
1455:
1453:0-201-13445-4
1449:
1445:
1438:
1420:
1416:
1412:
1405:
1398:
1394:
1379:
1373:
1369:
1358:
1355:
1353:
1350:
1349:
1343:
1342:
1338:
1334:
1325:
1322:
1319:
1315:
1311:
1307:
1303:
1300:
1297:
1293:
1289:
1285:
1281:
1277:
1276:
1275:
1273:
1272:Bézier curves
1268:
1264:
1260:
1250:
1248:
1168:
1153:
1150:
1148:
1143:
879:"B"
860:
852:
850:
849:
844:
840:
835:
826:
824:
820:
815:
813:
809:
799:
797:
793:
789:
785:
780:
777:
773:
769:
765:
760:
758:
757:cubic splines
748:
744:
729:
668:
663:
661:
657:
653:
652:exponent part
639:
636:
631:
628:
626:
620:
616:
612:
608:
604:
599:
596:
592:
576:
567:
565:
560:
553:
551:
548:
545:
541:
538:
535:
531:
528:
527:Bézier curves
524:
520:
516:
512:
508:
504:
501:
498:
480:
477:
473:
464:
460:
456:
455:
454:
446:
444:
443:
439:
433:
423:
405:
400:
397:
393:
384:
381:
377:
374:
373:
372:
364:
361:
357:
353:
348:
344:
334:
330:
325:
322:
317:
315:
311:
307:
297:
295:
291:
286:
284:
279:
274:
258:
254:
250:
245:
241:
237:
232:
228:
205:
201:
197:
192:
188:
184:
179:
175:
171:
166:
162:
153:
149:
144:
142:
138:
134:
130:
126:
122:
118:
110:
107:
105:
101:
98:
95:
93:
89:
86:
83:
81:
77:
73:
58:
54:
52:
48:
44:
41:
38:
36:
32:
28:
23:
2547:Donald Knuth
2542:Font formats
2478:Google Fonts
2473:Font Library
2463:Font Awesome
2443:Donald Knuth
2415:Theano Didot
2405:OpenDyslexic
2268:Railway Sans
2209:Source Serif
2093:GNU FreeFont
1985:professional
1930:BSD licenses
1878:
1784:
1780:
1767:
1735:needed macro
1718:
1704:
1701:Donald Knuth
1680:
1668:
1659:
1638:
1635:
1628:
1614:
1600:
1568:
1557:the original
1552:
1548:
1535:
1523:. Retrieved
1512:
1506:
1500:
1495:
1487:
1480:. Retrieved
1476:the original
1462:
1443:
1437:
1426:. Retrieved
1414:
1410:
1397:
1377:
1372:
1330:
1296:Latin Modern
1256:
1243:
1228:\otherbeta\
1166:
1151:
1144:
1141:
1018:% Define pen
867:%mode_setup;
858:
846:
834:Donald Knuth
832:
816:
808:Hermann Zapf
805:
781:
761:
754:
745:
730:
664:
659:
655:
645:
634:
632:
624:
614:
610:
606:
600:
589:(symbolic).
581:(symbolic),
575:alphanumeric
568:
557:
544:raster image
505:Path: as in
452:
440:rather than
436:essentially
435:
429:
403:
401:
392:input/output
388:
370:
367:Output files
349:
345:
332:
328:
326:
320:
318:
313:
305:
303:
287:
275:
145:
137:Donald Knuth
125:raster fonts
116:
115:
40:Donald Knuth
35:Developer(s)
2453:Raph Levien
2448:Ray Larabie
2350:Inconsolata
2335:EB Garamond
2204:Source Sans
2189:Source Code
2150:Nimbus Mono
2145:Nanum fonts
2098:GNU Unifont
2014:Breeze Sans
1959:MIT License
1869:Ghostscript
1482:January 13,
1278:The Polish
1210:\letterbeta
1198:\newcommand
1188:\letterbeta
845:approaches
687:<=>:|
630:equations.
564:first-class
542:Picture: a
459:fixed-point
438:declarative
432:interpreted
418:NNNN, e.g.
129:interpreter
2531:Categories
2434:Groups and
2395:News Cycle
2385:Montserrat
2325:Comic Neue
2305:Asana-Math
2249:Government
2240:Zilla Slab
2216:STIX fonts
2118:Liberation
2051:Doulos SIL
2029:Charis SIL
1859:Fontmatrix
1838:typography
1428:2019-08-09
1389:References
1333:autotracer
1318:Minion Pro
1282:developed
1204:\otherbeta
823:sans-serif
796:sans-serif
507:PostScript
442:imperative
329:proof mode
321:fontmaking
310:resolution
133:PostScript
109:Permissive
57:2.71828182
2420:WenQuanYi
2360:Jomolhari
2330:Cormorant
2284:typefaces
2273:e-Ukraine
2251:typefaces
2066:Open Sans
2024:Cantarell
1889:MetaType1
1854:FontForge
1525:18 August
1521:. Twitter
1310:FontForge
1294:, called
1284:METATYPE1
1024:pencircle
873:beginchar
707:#&@$
603:equations
523:piecewise
478:−
457:Numeric:
360:DVI files
356:Asymptote
331:: if the
198:−
172:−
2365:Junicode
2263:PT Fonts
2221:Tiresias
2179:Overpass
2130:Literata
2123:Croscore
2113:IBM Plex
1918:Licenses
1904:Graphite
1884:MetaPost
1879:Metafont
1874:HarfBuzz
1864:FreeType
1845:Software
1772:preprint
1685:TeXtrace
1648:Archived
1419:Archived
1357:MetaPost
1346:See also
1341:TeXtrace
1314:MnSymbol
1280:JNS team
1263:MetaPost
1237:document
1222:document
1182:\newfont
764:TrueType
751:Graphics
656:symbolic
559:Metapost
426:Language
352:MetaPost
333:proofing
314:somefont
290:x-height
117:Metafont
20:Metafont
2355:Iosevka
2345:IM Fell
2340:Gentium
2320:Chandas
2184:Selawik
2083:Gentium
1733:(and a
1695:Sources
1673:mftrace
1636:TUGboat
1411:TUGboat
1337:mftrace
1327:output.
1324:MetaFog
1177:article
1131:endchar
1053:rotated
1040:yscaled
1027:xscaled
855:Example
829:History
792:pitches
660:capsule
609:(set),
550:Boolean
463:epsilon
402:In the
341:gftodvi
337:special
104:License
66:2021-01
64: (
2436:people
2235:Utopia
2226:Ubuntu
2071:Roboto
2007:DejaVu
1992:Andika
1759:
1729:. The
1725:
1711:
1501:17 (4)
1450:
1302:mf2pt1
1230:here.
1217:\begin
1021:pickup
720:, and
681:, and
642:Syntax
625:linear
591:Record
497:Q12.16
148:glyphs
2370:Kochi
2315:Cardo
2291:Amiri
2282:Other
2172:OCR-B
2167:OCR-A
2160:Roman
2135:Lohit
2056:Droid
1894:Pango
1651:(PDF)
1644:(PDF)
1639:16(3)
1560:(PDF)
1545:(PDF)
1422:(PDF)
1407:(PDF)
1364:Notes
1125:cycle
819:serif
784:serif
776:Roman
607:known
595:array
278:macro
119:is a
2425:XITS
2375:Lato
2155:Sans
2140:Luxi
2078:Fira
2061:Noto
1757:ISBN
1739:CTAN
1723:ISBN
1709:ISBN
1527:2018
1484:2016
1448:ISBN
1378:does
1339:and
1288:GUST
1232:\end
1193:beta
1068:draw
788:meta
739:and
593:and
517:, a
410:and
354:and
306:mode
294:meta
283:path
152:stem
92:Type
1909:ICU
1899:TeX
1750:WEB
1267:EPS
1207:}{{
1137:end
1104:..{
1098:}..
839:TeX
802:Use
766:or
741:pt#
737:em#
699:/*\
667:TeX
571:x2r
515:SVG
511:PDF
465:of
416:dpi
412:.pk
408:.gf
141:TeX
2533::
2228:,
1942:+
1703::
1646:.
1582:^
1553:16
1551:.
1547:.
1486:.
1413:.
1409:.
1274:.
1214:}}
1191:}{
1156:mf
1122:..
1119:z4
1113:z2
1107:z4
1101:z5
1095:z6
1089:z2
1083:z6
1080:..
1077:z3
1074:..
1071:z1
1056:45
1048:04
1000:x6
994:x3
982:x5
976:x2
964:x4
958:x1
946:y6
940:y5
934:y4
922:y3
916:y2
910:y1
904:);
894:pt
892:11
886:pt
884:11
743:.
718:{}
716:,
713:,
711:^~
709:,
705:,
703:!?
701:,
697:,
695:+-
691:‘’
689:,
677:,
673:,
481:16
445:.
422:.
273:.
2390:M
1981:,
1827:e
1820:t
1813:v
1741:.
1622:.
1608:.
1594:.
1576:.
1529:.
1456:.
1431:.
1415:6
1320:.
1298:.
1239:}
1235:{
1224:}
1220:{
1212:B
1201:{
1195:}
1185:{
1179:}
1175:{
1161:;
1134:;
1128:;
1116:}
1110:-
1092:-
1086:{
1059:;
1050:w
1046:.
1043:0
1037:w
1035:2
1033:.
1030:0
1015:;
1012:w
1009:*
1006:2
1003:=
997:=
991:;
988:w
985:=
979:=
973:;
970:0
967:=
961:=
955:;
952:h
949:=
943:=
937:=
931:;
928:0
925:=
919:=
913:=
901:0
898:,
896:#
890:,
888:#
882:,
876:(
848:e
733:#
726:%
722:.
683:)
679:(
675:;
671:,
648:"
587:r
583:2
579:x
513:/
509:/
474:2
259:3
255:y
251:=
246:2
242:y
238:=
233:1
229:y
206:2
202:x
193:3
189:x
185:=
180:1
176:x
167:2
163:x
68:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.