2008 AFC Champions League knockout stage and Metafont: Difference between pages

From Wikipedia, the free encyclopedia
(Difference between pages)
Content deleted Content added
 
m Quick-adding category "Cross-platform software" (using HotCat)
 
Line 1: Line 1:
{{infobox software
{{main|AFC Champions League 2008}}
| logo = [[Image:METAFONT logo.svg|220px]]
| developer = [[Donald Knuth]]
| latest_release_version = 2.718281
| latest_release_date = March 2008
| operating_system = [[Cross-platform]]
| genre = [[Computer language]]
| license = freely modifiable
}}
'''Metafont''' is a [[programming language]] used to define [[outline font|vector fonts]]. It is also the name of the [[interpreter (computer software)|interpreter]] that executes Metafont code, generating the bitmap fonts that can be embedded into e.g. [[PostScript]]. Metafont was devised by Donald Knuth as counterpart to his [[TeX]] typesetting system.


One of the characteristics of Metafont is that all of the shapes of the [[glyph]]s are defined with geometrical equations, e.g., one can define a given point to be the intersection of a line segment and a [[Bézier curve|Bézier cubic]].
==Knockout stage==
===Bracket===
{{8TeamBracket-Tennis3 | RD1=Quarter-finals | RD2=Semi-finals | RD3=Final
| score-width=30px | team-width=160px


==Mode of operation==
| RD1-seed1=
Unlike more common outline font formats (such as [[TrueType]] or [[PostScript#Font handling|PostScript Type 1]]), 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 [[Computer Modern]] 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 [[Roman type|Roman]] 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.
| RD1-team1={{flagicon|SYR}} [[Al-Karamah]]
| RD1-score1-1=1
| RD1-score1-2=
| RD1-score1-3=
| RD1-seed2=
| RD1-team2={{flagicon|JPN}} [[Gamba Osaka]]
| RD1-score2-1=2
| RD1-score2-2=
| RD1-score2-3=


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, [[serif]] size, and so forth as input parameters in each glyph definition. 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 sizes from 5pt to 17pt, with the stroke widths the same in all sizes (rather than increasing as the font is scaled up) and aspect ratios widening in the smaller sizes for increased legibility. In addition, the Computer Modern typewriter and [[sans-serif]] fonts are defined using essentially the same Metafont file as the Roman font, but with different global parameters.
| RD1-seed3=
| RD1-team3={{flagicon|KUW}} [[Al Qadisiya Kuwait]]
| RD1-score3-1=2
| RD1-score3-2=
| RD1-score3-3=
| RD1-seed4=
| RD1-team4={{flagicon|JPN}} [[Urawa Red Diamonds]]
| RD1-score4-1=1
| RD1-score4-2=
| RD1-score4-3=


Curves in Metafont are defined not as conic sections but as [[cubic spline]]s, for greater versatility and simpler arithmetic.
| RD1-seed5=
| RD1-team5={{flagicon|IRN}} [[Saipa F.C.]]
| RD1-score5-1=2
| RD1-score5-2=
| RD1-score5-3=
| RD1-seed6=
| RD1-team6={{flagicon|UZB}} [[FC Bunyodkor]]
| RD1-score6-1=2
| RD1-score6-2=
| RD1-score6-3=


Metafont can render any kind of graphical output, not just glyphs. However, [[MetaPost]] with its PostScript output is preferred for advanced illustrations. Metafont is most commonly invoked without a direct request from the user. [[DVI file format|DVI files]] 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. Most TeX distributions are configured so that any fonts not currently available at the required [[Dots per inch|resolution]] are generated by calls to Metafont. The typefaces are then stored for later reuse.
| RD1-seed7=
| RD1-team7={{flagicon|JPN}} [[Kashima Antlers]]
| RD1-score7-1=1
| RD1-score7-2=
| RD1-score7-3=
| RD1-seed8=
| RD1-team8={{flagicon|AUS}} [[Adelaide United FC|Adelaide United]]
| RD1-score8-1=1
| RD1-score8-2=
| RD1-score8-3=


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.
<!-- semi finals -->
<!-- could say something here about alternatives – e.g. vector versions such as pdftex uses -->
| RD2-team1=
| RD2-score1-1=
| RD2-score1-2=
| RD2-score1-3=
| RD2-team2=
| RD2-score2-1=
| RD2-score2-2=
| RD2-score2-3=


==Producing PostScript Type 1 fonts==
| RD2-team3=
There are several tools for converting Metafont programs to [[PostScript Type 1]] fonts. Most make use of [[Metapost]]'s ability to convert a subset of Metafont's language into [[EPS]] outlines, which can subsequently be converted to [[PostScript Type 1]] fonts. Generating vector outlines of pen strokes directly in Metafont is nontrivial, as the bitmapped strokes are generated by rasterization rather the actual outlines.
| RD2-score3-1=
| RD2-score3-2=
| RD2-score3-3=
| RD2-team4=
| RD2-score4-1=
| RD2-score4-2=
| RD2-score4-3=


* The Polish [[JNS team]] developed [[METATYPE1]]<ref>http://www.ctan.org/tex-archive/fonts/utilities/metatype1/</ref> (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 [[GUST]] typeface foundry to produce a modernized and extended variant of [[Computer Modern]], called [[Latin Modern]].
<!-- final -->
* [[mf2pt1]],<ref>http://www.ctan.org/tex-archive/support/mf2pt1/</ref> which is also based on Metapost, was developed by Scott Pakin with some contributions from [[Werner Lemberg]]. 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 [[FontForge]], 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 by Michael Zedler to produce Type 1 outlines for the [[MnSymbol]] mathematical font developed by Achim Blumensath; MnSymbol was designed as a companion to [[Minion (typeface)| Minion Pro]].
| RD3-team1=
* [[MetaFog]]<ref>[http://www.tug.org/TUGboat/Articles/tb16-3/tb48kinc.pdf R. J. Kinch, "MetaFog: converting Metafont shapes to contours", ''TUGboat'' '''16(3)''', 233&ndash;243 (1995)]</ref> 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 output.<ref>K. Píška, 2004</ref>
| RD3-score1-1=
| RD3-score1-2=
| RD3-score1-3=
| RD3-team2=
| RD3-score2-1=
| RD3-score2-2=
| RD3-score2-3=
}}


The common approach to generate Type 1 fonts with pen strokes remains to generate a high-resolution bitmap and then using an [[autotracer]], implemented by packages such as [[mftrace]].
==Quarter-finals==
The first leg matches will be played on [[17 September]], and the second leg matches will be played on [[24 September]] [[2008]].


==Use==
{{TwoLeg start}}
While well-known font designers, such as [[Hermann Zapf]], 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
{{TwoLegResult|[[Al-Karamah]]|SYR|1|[[Gamba Osaka]]|JPN||}}
"''asking an artist to become enough of a mathematician to understand how to write a font with 60 parameters is too much''".<ref>CSTUG, Charles University, Prague, March 1996, Questions and Answers with Prof. Donald E. Knuth, reproduced in TUGboat '''17 (4)''' (1996), 355&ndash;367. Citation is from page 361. Available online at http://www.tug.org/TUGboat/Articles/tb17-4/tb53knuc.pdf''</ref>
{{TwoLegResult|[[Al Qadisiya Kuwait]]|KUW|2|[[Urawa Red Diamonds]]|JPN||}}
{{TwoLegResult|[[Saipa F.C.|Saipa]]|IRN|3|[[FC Bunyodkor]]|UZB||}}
{{TwoLegResult|[[Kashima Antlers]]|JPN|4|[[Adelaide United FC|Adelaide United]]|AUS|1 - 1|}}
|}


===First Leg===
==History==
[[Donald Knuth]] 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 similar to that of [[TeX]], where the number asymptotically approaches ''[[e (mathematical constant)|e]]'' with each revision.
{{footballbox
|date = [[17 September]] [[2008]]
|team1 = [[Al-Karamah]] {{flagicon|Syria}}
|score = ''1'' &ndash; ''2''
|report =
|team2 = {{flagicon|Japan}} [[Gamba Osaka]]
|goals1 = {{goal|[[Belal Abduldaim|Abduldaim]] 5}}
|goals2 = {{goal|[[Satoshi Yamaguchi|Yamaguchi]] 70}} <br> {{goal|[[Masato Yamazaki|Yamazaki]] 76}}
|stadium = [[Khaled bin Walid Stadium]], [[Homs]], [[Syria]]
|attendance =
|referee = {{flagicon|Australia}} [[Matthew Breeze]]
}}
----
{{footballbox
|date = [[17 September]] [[2008]]
|team1 = [[Al Qadisiya Kuwait]] {{flagicon|Kuwait}}
|score = ''3'' &ndash; ''2''
|report =
|team2 = {{flagicon|Japan}} [[Urawa Red Diamonds]]
|goals1 = {{goal|[[Ibrahima Keita|Keita]] 17}} <br> {{goal|[[Selim Ben Achour|Ben Achour]] 57}} <br> {{goal|[[Nawaf Al Mutairi|Al Mutairi]] 84|[[penalty kick|pen]]}}
|goals2 = {{goal|[[Edmilson dos Santos Silva|Edmilson]] 33}} {{goal|90}}
|stadium = [[Mohammed Al-Hamad Stadium]]
|attendance =
|referee = {{flagicon|Iran}} [[Masoud Moradi]]
}}
----
{{footballbox
|date = [[17 September]] [[2008]]
|team1 = [[Saipa F.C.]] {{flagicon|Iran}}
|score = v
|report =
|team2 = {{flagicon|Uzbekistan}} [[FC Bunyodkor]]
|goals1 =
|goals2 =
|stadium = [[Enghelab Stadium (Karaj)|Enghelab Stadium]], [[Karaj]], [[Iran]]
|attendance =
|referee = {{flagicon|Kuwait}} [[Saad Kameel Al Fadhli]]
}}
----
{{footballbox
|date = [[17 September]] [[2008]]
|team1 = [[Kashima Antlers]] {{flagicon|Japan}}
|score = 1 &ndash; 1
|report =
|team2 = {{flagicon|Australia}} [[Adelaide United FC|Adelaide United]]
|goals1 = {{goal|[[Robert Cornthwaite|Cornthwaite]] 44 |[[own goal|og]]}}
|goals2 = {{goal|[[Travis Dodd|Dodd]] 38}}
|stadium = [[Kashima Stadium]]
|attendance =
|referee = {{flagicon|South Korea}} [[Lee Gi Young]]
}}


===Second Leg===
==Notes==
{{Reflist}}
{{footballbox
|date = [[24 September]] [[2008]]
|team1 = [[Gamba Osaka]] {{flagicon|Japan}}
|score = v
|report =
|team2 = {{flagicon|Syria}} [[Al-Karamah]]
|goals1 =
|goals2 =
|stadium = [[Osaka Expo '70 Stadium]]
|attendance =
|referee =
}}
----
{{footballbox
|date = [[24 September]] [[2008]]
|team1 = [[Urawa Red Diamonds]] {{flagicon|Japan}}
|score = v
|report =
|team2 = {{flagicon|Kuwait}} [[Al Qadisiya Kuwait]]
|goals1 =
|goals2 =
|stadium = [[Saitama Stadium]]
|attendance =
|referee =
}}
----
{{footballbox
|date = [[24 September]] [[2008]]
|team1 = [[FC Bunyodkor]] {{flagicon|Uzbekistan}}
|score = v
|report =
|team2 = {{flagicon|Iran}} [[Saipa F.C.]]
|goals1 =
|goals2 =
|stadium = [[MHSK Stadium]], [[Tashkent]], [[Uzbekistan]]
|attendance =
|referee =
}}
----
{{footballbox
|date = [[24 September]] [[2008]]
|team1 = [[Adelaide United FC|Adelaide United]] {{flagicon|Australia}}
|score = v
|report =
|team2 = {{flagicon|Japan}} [[Kashima Antlers]]
|goals1 =
|goals2 =
|stadium = [[Hindmarsh Stadium]], [[Adelaide]]
|attendance =
|referee =
}}


==Semi-finals==
==References==
* [[Donald Knuth]]: ''Metafont: The Program'', Addison-Wesley 1986. ISBN 0-201-13438-1
The first leg matches will be played on [[8 October]], and the second leg matches will be played on [[22 October]] [[2008]].
* Donald Knuth : ''The Metafontbook'', Addison-Wesley 1986. ISBN 0-201-13444-6 <!-- not a typo -->. The [http://www.ctan.org/tex-archive/systems/knuth/dist/mf/mfbook.tex source code of the book in TeX] (and a needed macro [http://www.ctan.org/tex-archive/systems/knuth/dist/lib/manmac.tex]) is available online on [[CTAN]].
* K. Píška, "Creating Type 1 fonts from Metafont sources: comparison of tools, techniques and results", in ''TeX, XML, and Digital Typography'' (Springer-Verlag, Berlin, 2004), Lect. Notes Comput. Sci., Vol. 3130, pp. 240&ndash;256. [http://www-hep2.fzu.cz/~piska/TUG2004/piskatb2.pdf preprint]


==External links==
{{TwoLeg start}}
* [http://metafont.tutorial.free.fr/ The Metafont Tutorial: an online guide to using Metafont.]
{{TwoLegResult|Winners match 1||1|Winners match 2||[[October 8|8 Oct]]|[[October 22|22 Oct]]}}
{{TwoLegResult|Winners match 3||2|Winners match 4||[[October 8|8 Oct]]|[[October 22|22 Oct]]}}
|}


<!-- Interwikis found using http://vs.aka-online.de/globalwpsearch/ -->
===First Leg===
{{footballbox
|date = [[8 October]] [[2008]]
|team1 = {{flagicon}}
|score = v
|report =
|team2 = {{flagicon}}
|goals1 =
|goals2 =
|stadium =
|attendance =
|referee =
}}
----
{{footballbox
|date = [[8 October]] [[2008]]
|team1 = {{flagicon}}
|score = v
|report =
|team2 = {{flagicon}}
|goals1 =
|goals2 =
|stadium =
|attendance =
|referee =
}}

===Second Leg===
{{footballbox
|date = [[22 October]] [[2008]]
|team1 = {{flagicon}}
|score = v
|report =
|team2 = {{flagicon}}
|goals1 =
|goals2 =
|stadium =
|attendance =
|referee =
}}
----
{{footballbox
|date = [[22 October]] [[2008]]
|team1 = {{flagicon}}
|score = v
|report =
|team2 = {{flagicon}}
|goals1 =
|goals2 =
|stadium =
|attendance =
|referee =
}}

==Final==
The first and second legs of the final are scheduled to be played on [[5 November]] and [[12 November]] [[2008]], respectively.

===First Leg===
{{footballbox
|date = [[5 November]] [[2008]]
|team1 = {{flagicon}}
|score = v
|report =
|team2 = {{flagicon}}
|goals1 =
|goals2 =
|stadium =
|attendance =
|referee =
}}

===Second Leg===
{{footballbox
|date = [[12 November]] [[2008]]
|team1 = {{flagicon}}
|score = v
|report =
|team2 = {{flagicon}}
|goals1 =
|goals2 =
|stadium =
|attendance =
|referee =
}}


[[Category:Typesetting programming languages]]
{{fb start}}
[[Category:Free TeX software]]
|{{AFC Champions League Seasons}}
[[Category:Digital typography]]
|{{AFC Champions League 2008}}
[[Category:Font formats]]
{{2007-08 in Asian Football (AFC)}}
[[Category:Donald Knuth]]
{{International Club Football}}
[[Category:Cross-platform software]]
{{fb end}}


[[de:METAFONT]]
[[Category:2008 in football (soccer)]]
[[es:METAFONT]]
[[Category:AFC Champions League|2008]]
[[fr:Metafont]]
[[it:METAFONT]]
[[ja:METAFONT]]
[[pl:METAFONT]]
[[pt:METAFONT]]
[[ro:METAFONT]]
[[ru:METAFONT]]
[[sv:METAFONT]]

Revision as of 22:19, 10 October 2008

Metafont
Developer(s)Donald Knuth
Stable release
2.718281 / March 2008
Operating systemCross-platform
TypeComputer language
Licensefreely modifiable

Metafont is a programming language used to define vector fonts. It is also the name of the interpreter that executes Metafont code, generating the bitmap fonts that can be embedded into e.g. PostScript. Metafont was devised by Donald Knuth as counterpart to his TeX typesetting system.

One of the characteristics of Metafont is that all of the shapes of the glyphs are defined with geometrical equations, e.g., one can define a given point to be the intersection of a line segment and a Bézier cubic.

Mode of operation

Unlike more common outline font formats (such as TrueType or PostScript Type 1), 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 Computer Modern 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 Roman 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.

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, serif size, and so forth as input parameters in each glyph definition. 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 sizes from 5pt to 17pt, with the stroke widths the same in all sizes (rather than increasing as the font is scaled up) and aspect ratios widening in the smaller sizes for increased legibility. In addition, the Computer Modern typewriter and sans-serif fonts are defined using essentially the same Metafont file as the Roman font, but with different global parameters.

Curves in Metafont are defined not as conic sections but as cubic splines, for greater versatility and simpler arithmetic.

Metafont can render any kind of graphical output, not just glyphs. However, MetaPost with its PostScript output is preferred for advanced illustrations. Metafont is most commonly invoked without a direct request from the user. DVI files 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. Most TeX distributions are configured so that any fonts not currently available at the required resolution are generated by calls to Metafont. The typefaces are then stored for later reuse.

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.

Producing PostScript Type 1 fonts

There are several tools for converting Metafont programs to PostScript Type 1 fonts. Most make use of Metapost's ability to convert a subset of Metafont's language into EPS outlines, which can subsequently be converted to PostScript Type 1 fonts. Generating vector outlines of pen strokes directly in Metafont is nontrivial, as the bitmapped strokes are generated by rasterization rather the actual outlines.

  • The Polish JNS team developed METATYPE1[1] (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 GUST typeface foundry to produce a modernized and extended variant of Computer Modern, called Latin Modern.
  • mf2pt1,[2] which is also based on Metapost, was developed by Scott Pakin with some contributions from Werner Lemberg. 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 FontForge, 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 by Michael Zedler to produce Type 1 outlines for the MnSymbol mathematical font developed by Achim Blumensath; MnSymbol was designed as a companion to Minion Pro.
  • MetaFog[3] 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 output.[4]

The common approach to generate Type 1 fonts with pen strokes remains to generate a high-resolution bitmap and then using an autotracer, implemented by packages such as mftrace.

Use

While well-known font designers, such as Hermann Zapf, 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".[5]

History

Donald Knuth 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 similar to that of TeX, where the number asymptotically approaches e with each revision.

Notes

  1. ^ http://www.ctan.org/tex-archive/fonts/utilities/metatype1/
  2. ^ http://www.ctan.org/tex-archive/support/mf2pt1/
  3. ^ R. J. Kinch, "MetaFog: converting Metafont shapes to contours", TUGboat 16(3), 233–243 (1995)
  4. ^ K. Píška, 2004
  5. ^ CSTUG, Charles University, Prague, March 1996, Questions and Answers with Prof. Donald E. Knuth, reproduced in TUGboat 17 (4) (1996), 355–367. Citation is from page 361. Available online at http://www.tug.org/TUGboat/Articles/tb17-4/tb53knuc.pdf

References

  • Donald Knuth: Metafont: The Program, Addison-Wesley 1986. ISBN 0-201-13438-1
  • Donald Knuth : The Metafontbook, Addison-Wesley 1986. ISBN 0-201-13444-6 . The source code of the book in TeX (and a needed macro [1]) is available online on CTAN.
  • K. Píška, "Creating Type 1 fonts from Metafont sources: comparison of tools, techniques and results", in TeX, XML, and Digital Typography (Springer-Verlag, Berlin, 2004), Lect. Notes Comput. Sci., Vol. 3130, pp. 240–256. preprint

External links