blob: bf1a46553726802aad92150dabc08b1b47497cb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
The Punk Nova font
==================
This is an OpenType implementation of Donald Knuth's
[Punk font](http://tug.org/TUGboat/Articles/tb09-2/tb21knut.pdf).
The Original Metafont sources were adapted to a more Metapost friendly
form by Taco Hoekwater et. al.
Punk is a dynamic font, every time a glyph is requested Matafont draws
a unique instance of it. On the other hand, OpenType is static, glyph
outlines are drawn once and stored in the font and the renderer can not
alter those outlines. To emulate the dynamic nature of Punk, we generate
several alternate shapes of each glyph and store them in the font.
Alternate shapes are mapped to the base character using OpenType
["Randomize"](http://www.microsoft.com/typography/otspec/features_pt.htm#rand)
feature (rand), which tells the renderer to select glyphs randomly from
the list of alternate shapes.
The PostScript outlines of the glyphs are generated by Matapost, a
Python script then used FontForge to import the glyphs into an OpenType
CFF font. Since this year is the 2^5 anniversary of TeX, each lower case
letter have 2^5 variants, 2^4 for each upper case and 2^3 for the rest.
This font is free software, you can do whatever you want with it as long
as you use different font and file name. The exact copyright statement is:
"Unlimited copying and redistribution of this file are permitted as long
as this file is not modified. Modifications are permitted, but only if
the resulting file is not named 'punknova.otf' and the (internal)
fontname differs from 'Punk Nova'."
The MetaPost source has the following notice:
This file is a merge of the original punk files by Donald Knuth, who
added this comment:
Font inspired by Gerard and Marjan Unger's lectures,
Feb 1985
The regular punk files are part of TeXLive and in metafont format. All
errors introduced are ours. We also changed the encoding to unicode. In
due time we might add a few more more characters. We still need to
improve some of the metrics which involves a bit of trial and error. The
font just covers basic latin shapes but in ConTeXt MkIV we add virtual
composed shapes. There is a module m-punk.tex that implements this. This
derivate is also used in mk.tex (mk.pdf) which is one of our tests for
LuaTeX. We published an article on it in the MAPS (NTG magazine).
2008, Taco Hoekwater & Hans Hagen
Khaled Hosny
6 Aug. 2010
|