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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type"
content="text/css">
<meta http-equiv="Content-Script-Type"
content="text/javascript">
<meta name="description"
content="FreeType History">
<meta name="keywords"
content="FreeType 1 FreeType 2 history Werner Lemberg David Turner
Robert Wilhelm libttf libfreetype Pascal ftpascal">
<link rel="icon"
href="image/favicon_-60.ico">
<link rel="shortcut icon"
href="image/favicon_-60.ico">
<link rel="stylesheet"
type="text/css"
href="css/freetype2_-60.css">
<script type="text/javascript"
src="js/jquery-1.11.0.min.js">
</script>
<script type="text/javascript"
src="js/jquery.ba-resize.min.js">
</script>
<script type="text/javascript"
src="js/freetype2.js">
</script>
<title>FreeType History</title>
</head>
<body>
<div id="top"
class="bar">
<h1><a href="index.html">FreeType</a> History</h1>
</div>
<div id="wrapper">
<div class="colmask leftmenu">
<div class="colright">
<div class="col1wrap">
<div class="col1">
<!-- ************************************************** -->
<div id="freetype1">
<h3>FreeType 1</h3>
<p>The main author of FreeType was David Turner, who created
the library in 1996 to render TrueType fonts, including an
interpreter for handling TrueType bytecode. It was
originally written in
the <a href="http://en.wikipedia.org/wiki/Pascal_%28programming_language%29">Pascal</a>
programming language. In 1997, Robert Wilhelm ported it
to <a href="http://en.wikipedia.org/wiki/C_%28programming_language%29">C</a>,
and Werner Lemberg joined the team. Originally, the C and
Pascal versions were developed in parallel, however,
development of the Pascal version stopped in 2000.</p>
<p>Using FreeType 1, as this original version is called
today, some programs were written which then had some
impact, for
example <a href="ft_os2/index.html">FreeType/2</a>, a
better TrueType font driver for
the <a href="http://en.wikipedia.org/wiki/Os/2">OS/2</a>
operating system,
or <a href="http://www.tug.org/svn/texlive/trunk/Build/source/texk/ttf2pk/">ttf2pk</a>,
a converter from TrueType fonts
to <a href="http://en.wikipedia.org/wiki/TeX">TeX</a>'s PK
bitmap format (this program is still part
of <a href="http://www.tug.org/texlive/">TeXLive</a>).</p>
<p>Robert Wilhelm stopped working on FreeType in 2000.</p>
<p>For historical reasons you can find here links to the
documentation of FreeType 1. Note that those pages are
no longer maintained.</p>
<div class="quote">
<p><a href="freetype1/index.html">Overview</a><br>
<a href="freetype1/index.html#features">Features</a><br>
<a href="freetype1/index.html#requirements">Requirements</a><br>
<a href="freetype1/screenshots.html">Screenshots</a><br>
<a href="freetype1/documentation.html">Documentation</a><br>
<a href="patents.html">Patent issues</a><br>
<a href="opentype/index.html">OpenType support</a><br>
<a href="freetype1/projects.html">Related
projects</a></p>
</div>
</div>
<!-- ************************************************** -->
<div id="freetype2">
<h3>FreeType 2</h3>
<p>After several beta releases, version 2.0 of FreeType was
released in 2000, providing a complete rewrite to make it
modular. To distinguish it from FreeType 1, it was
then called FreeType 2 (which is no longer necessary
today). Most important new features were the support of
multiple font formats, in particular PostScript fonts
(together with hinting engine), a much improved rendering
backend for gray-level images, and a module for caching
glyphs images and glyph metrics. Later versions added
support for even more font formats and LCD rendering
modes.</p>
<p>In the year 1999 we were informed by Apple Inc. that
FreeType was infringing patents related to TrueType
hinting (see <a href="patents.html">here</a> for more).
As a consequence, we disabled the bytecode interpreter
completely by default. Later on we were able to refine
this radical cut by disabling only the patented
instructions, handling more than 95% of the other
instructions just fine and circumventing problems with the
remaining 5% to a certain extent. Another consequence was
the invention of the auto-hinter which needs no hints at
all (you can
find <a href="http://www.tug.org/TUGboat/tb24-3/lemberg.pdf">here</a>
an early scholarly paper). Today, the TrueType patents
have expired.</p>
<p>Around 2004 it was decided to restrict FreeType to a
single target: Creating (rasterized) glyph images.
Attempts to handle OpenType layout features and text
shaping were abandoned since this could be handled much
better with a separate library on top of FreeType
(cf. <a href="http://www.icu-project.org/">ICU</a> or
<a href="http://harfbuzz.org">Harfbuzz</a>).
<p>In 2009, the source code repository has been migrated
from <a href="http://www.nongnu.org/cvs/">CVS</a>
to <a href="http://git-scm.com/">git</a>, and David Turner
stopped active development on FreeType. Since then the
only maintainer is Werner Lemberg, with the help of others
who contribute fixes and improvements.</p>
</div>
<!-- ************************************************** -->
<div class="updated">
<p>Last update: 2-Jul-2013</p>
</div>
</div>
</div>
<!-- ************************************************** -->
<div class="col2">
</div>
</div>
</div>
<!-- ************************************************** -->
<div id="TOC">
<ul>
<li class="funding">
<p><a href="https://pledgie.com/campaigns/24434">
<img alt="Click here to lend your support to the FreeType project and make a donation at pledgie.com!"
src="https://pledgie.com/campaigns/24434.png?skin_name=chrome"
border="0"
align="middle">
</a></p>
<p><a href="https://flattr.com/submit/auto?fid=mq2xxp&url=https%3A%2F%2Fwww.freetype.org"
target="_blank">
<img class="with-border"
src="https://button.flattr.com/flattr-badge-large.png"
alt="Flattr this"
title="Flattr this"
border="0"
align="middle">
</a></p>
</li>
<li class="primary">
<a href="index.html">Home</a>
</li>
<li class="primary">
<a href="index.html#news">News</a>
</li>
<li class="primary">
<a href="freetype2/docs/index.html">Overview</a>
</li>
<li class="primary">
<a href="freetype2/docs/documentation.html">Documentation</a>
</li>
<li class="primary">
<a href="developer.html">Development</a>
</li>
<li class="primary">
<a href="contact.html"
class="emphasis">Contact</a>
</li>
<li>
<!-- separate primary from secondary entries -->
</li>
<li class="secondary">
<a href="history.html" class="current">History</a>
</li>
<li class="tertiary">
<a href="#freetype1">FreeType 1</a>
</li>
<li class="tertiary">
<a href="#freetype2">FreeType 2</a>
</li>
</ul>
</div>
</div> <!-- id="wrapper" -->
<div id="TOC-bottom">
</div>
</body>
</html>
|