Clean up FreeType outsourcing leftovers
- Remove obsolete FreeType docs - Remove obsolete FreeType license - Update FreeType license and copyrights in AboutSystem Signed-off-by: Adrien Destugues <[email protected]> Fixes #11697
This commit is contained in:
@@ -1,174 +0,0 @@
|
|||||||
The FreeType Project LICENSE
|
|
||||||
----------------------------
|
|
||||||
|
|
||||||
2002-Apr-11
|
|
||||||
|
|
||||||
Copyright 1996-2002 by
|
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
|
||||||
============
|
|
||||||
|
|
||||||
The FreeType Project is distributed in several archive packages;
|
|
||||||
some of them may contain, in addition to the FreeType font engine,
|
|
||||||
various tools and contributions which rely on, or relate to, the
|
|
||||||
FreeType Project.
|
|
||||||
|
|
||||||
This license applies to all files found in such packages, and
|
|
||||||
which do not fall under their own explicit license. The license
|
|
||||||
affects thus the FreeType font engine, the test programs,
|
|
||||||
documentation and makefiles, at the very least.
|
|
||||||
|
|
||||||
This license was inspired by the BSD, Artistic, and IJG
|
|
||||||
(Independent JPEG Group) licenses, which all encourage inclusion
|
|
||||||
and use of free software in commercial and freeware products
|
|
||||||
alike. As a consequence, its main points are that:
|
|
||||||
|
|
||||||
o We don't promise that this software works. However, we will be
|
|
||||||
interested in any kind of bug reports. (`as is' distribution)
|
|
||||||
|
|
||||||
o You can use this software for whatever you want, in parts or
|
|
||||||
full form, without having to pay us. (`royalty-free' usage)
|
|
||||||
|
|
||||||
o You may not pretend that you wrote this software. If you use
|
|
||||||
it, or only parts of it, in a program, you must acknowledge
|
|
||||||
somewhere in your documentation that you have used the
|
|
||||||
FreeType code. (`credits')
|
|
||||||
|
|
||||||
We specifically permit and encourage the inclusion of this
|
|
||||||
software, with or without modifications, in commercial products.
|
|
||||||
We disclaim all warranties covering The FreeType Project and
|
|
||||||
assume no liability related to The FreeType Project.
|
|
||||||
|
|
||||||
|
|
||||||
Finally, many people asked us for a preferred form for a
|
|
||||||
credit/disclaimer to use in compliance with this license. We thus
|
|
||||||
encourage you to use the following text:
|
|
||||||
|
|
||||||
"""
|
|
||||||
Portions of this software are copyright © 1996-2002 The FreeType
|
|
||||||
Project (www.freetype.org). All rights reserved.
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
Legal Terms
|
|
||||||
===========
|
|
||||||
|
|
||||||
0. Definitions
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Throughout this license, the terms `package', `FreeType Project',
|
|
||||||
and `FreeType archive' refer to the set of files originally
|
|
||||||
distributed by the authors (David Turner, Robert Wilhelm, and
|
|
||||||
Werner Lemberg) as the `FreeType Project', be they named as alpha,
|
|
||||||
beta or final release.
|
|
||||||
|
|
||||||
`You' refers to the licensee, or person using the project, where
|
|
||||||
`using' is a generic term including compiling the project's source
|
|
||||||
code as well as linking it to form a `program' or `executable'.
|
|
||||||
This program is referred to as `a program using the FreeType
|
|
||||||
engine'.
|
|
||||||
|
|
||||||
This license applies to all files distributed in the original
|
|
||||||
FreeType Project, including all source code, binaries and
|
|
||||||
documentation, unless otherwise stated in the file in its
|
|
||||||
original, unmodified form as distributed in the original archive.
|
|
||||||
If you are unsure whether or not a particular file is covered by
|
|
||||||
this license, you must contact us to verify this.
|
|
||||||
|
|
||||||
The FreeType Project is copyright (C) 1996-2000 by David Turner,
|
|
||||||
Robert Wilhelm, and Werner Lemberg. All rights reserved except as
|
|
||||||
specified below.
|
|
||||||
|
|
||||||
1. No Warranty
|
|
||||||
--------------
|
|
||||||
|
|
||||||
THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
|
|
||||||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
|
|
||||||
BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
|
|
||||||
USE, OF THE FREETYPE PROJECT.
|
|
||||||
|
|
||||||
2. Redistribution
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
This license grants a worldwide, royalty-free, perpetual and
|
|
||||||
irrevocable right and license to use, execute, perform, compile,
|
|
||||||
display, copy, create derivative works of, distribute and
|
|
||||||
sublicense the FreeType Project (in both source and object code
|
|
||||||
forms) and derivative works thereof for any purpose; and to
|
|
||||||
authorize others to exercise some or all of the rights granted
|
|
||||||
herein, subject to the following conditions:
|
|
||||||
|
|
||||||
o Redistribution of source code must retain this license file
|
|
||||||
(`FTL.TXT') unaltered; any additions, deletions or changes to
|
|
||||||
the original files must be clearly indicated in accompanying
|
|
||||||
documentation. The copyright notices of the unaltered,
|
|
||||||
original files must be preserved in all copies of source
|
|
||||||
files.
|
|
||||||
|
|
||||||
o Redistribution in binary form must provide a disclaimer that
|
|
||||||
states that the software is based in part of the work of the
|
|
||||||
FreeType Team, in the distribution documentation. We also
|
|
||||||
encourage you to put an URL to the FreeType web page in your
|
|
||||||
documentation, though this isn't mandatory.
|
|
||||||
|
|
||||||
These conditions apply to any software derived from or based on
|
|
||||||
the FreeType Project, not just the unmodified files. If you use
|
|
||||||
our work, you must acknowledge us. However, no fee need be paid
|
|
||||||
to us.
|
|
||||||
|
|
||||||
3. Advertising
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Neither the FreeType authors and contributors nor you shall use
|
|
||||||
the name of the other for commercial, advertising, or promotional
|
|
||||||
purposes without specific prior written permission.
|
|
||||||
|
|
||||||
We suggest, but do not require, that you use one or more of the
|
|
||||||
following phrases to refer to this software in your documentation
|
|
||||||
or advertising materials: `FreeType Project', `FreeType Engine',
|
|
||||||
`FreeType library', or `FreeType Distribution'.
|
|
||||||
|
|
||||||
As you have not signed this license, you are not required to
|
|
||||||
accept it. However, as the FreeType Project is copyrighted
|
|
||||||
material, only this license, or another one contracted with the
|
|
||||||
authors, grants you the right to use, distribute, and modify it.
|
|
||||||
Therefore, by using, distributing, or modifying the FreeType
|
|
||||||
Project, you indicate that you understand and accept all the terms
|
|
||||||
of this license.
|
|
||||||
|
|
||||||
4. Contacts
|
|
||||||
-----------
|
|
||||||
|
|
||||||
There are two mailing lists related to FreeType:
|
|
||||||
|
|
||||||
o [email protected]
|
|
||||||
|
|
||||||
Discusses general use and applications of FreeType, as well as
|
|
||||||
future and wanted additions to the library and distribution.
|
|
||||||
If you are looking for support, start in this list if you
|
|
||||||
haven't found anything to help you in the documentation.
|
|
||||||
|
|
||||||
o [email protected]
|
|
||||||
|
|
||||||
Discusses bugs, as well as engine internals, design issues,
|
|
||||||
specific licenses, porting, etc.
|
|
||||||
|
|
||||||
o http://www.freetype.org
|
|
||||||
|
|
||||||
Holds the current FreeType web page, which will allow you to
|
|
||||||
download our latest development version and read online
|
|
||||||
documentation.
|
|
||||||
|
|
||||||
You can also contact us individually at:
|
|
||||||
|
|
||||||
David Turner <[email protected]>
|
|
||||||
Robert Wilhelm <[email protected]>
|
|
||||||
Werner Lemberg <[email protected]>
|
|
||||||
|
|
||||||
|
|
||||||
--- end of LICENSE.TXT ---
|
|
||||||
@@ -1,275 +0,0 @@
|
|||||||
List of known FreeType 2 Bugs
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
"Identifier" is a string to uniquely identify the bug. A more detailed
|
|
||||||
description of the bug is found below the table of opened bugs.
|
|
||||||
|
|
||||||
"Date" is the date when the bug was first reported or entered in this
|
|
||||||
document. Dates are in _European_ format, i.e day/month/year.
|
|
||||||
|
|
||||||
"Opened By" is the name of the person who first spotted the bug. Note that
|
|
||||||
we can use abbreviations here, like:
|
|
||||||
|
|
||||||
"David" for David Turner
|
|
||||||
"Werner" for Werner Lemberg
|
|
||||||
etc.
|
|
||||||
|
|
||||||
"Reproduceable" indicates whether the bug could be reproduced by the
|
|
||||||
development team or not (it can be specific to a given platform), whether it
|
|
||||||
always happens, or only sporadically, etc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
I. Open bugs
|
|
||||||
============
|
|
||||||
|
|
||||||
|
|
||||||
Identifier Date Opened by Reproduceable
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
NO-CID-CMAPS 13-09-2001 David always
|
|
||||||
BAD-TT-RENDERING 12-09-2001 Paul Pedriana ?
|
|
||||||
BAD-THIN-LINES 13-09-2001 David ?
|
|
||||||
NOT-WINDOWS-METRICS 07-10-2001 David always
|
|
||||||
ADVANCED-COMPOSITES 25-10-2001 George Williams always
|
|
||||||
|
|
||||||
--------------------END-OF-OPENED-BUGS-TABLE----------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
II. Closed bugs
|
|
||||||
===============
|
|
||||||
|
|
||||||
|
|
||||||
Identifier Date Closed by Closure date
|
|
||||||
------------------------------------------------------------------------------
|
|
||||||
BAD-TTNAMEID.H 12-09-2001 Antoine N/A
|
|
||||||
BAD-T1-CHARMAP 15-06-2001 David 2.0.5
|
|
||||||
BAD-UNIXXXX-NAMES 30-07-2001 David 2.0.5
|
|
||||||
GLYPH_TO_BITMAP-BUG 05-12-2001 David 05-12-2001
|
|
||||||
AUTOHINT-NO-SBITS 13-09-2001 David 2.0.6
|
|
||||||
TT-GLYPH-CRASH 01-01-2002 David 2.0.6
|
|
||||||
T1-FONT-CRASH 01-01-2002 David 2.0.6
|
|
||||||
BAD-ADVANCES 30-11-2001 David 2.0.6
|
|
||||||
GLYPH-TO-BITMAP-BUG 15-12-2001 David 2.0.6
|
|
||||||
--------------------END-OF-CLOSED-BUGS-TABLE----------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
III. Bug descriptions
|
|
||||||
=====================
|
|
||||||
|
|
||||||
|
|
||||||
--- START OF OPEN BUGS ---
|
|
||||||
|
|
||||||
|
|
||||||
NO-CID-CMAPS
|
|
||||||
|
|
||||||
Not exactly a bug, but the CFF font driver doesn't build a Unicode charmap
|
|
||||||
from the contents of font files, which prevents efficiently using fonts in
|
|
||||||
this format.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BAD-TT-RENDERING
|
|
||||||
|
|
||||||
According to Paul Pedriana <[email protected]>, there is a rather
|
|
||||||
important difference between the rendering of TrueType-hinted glyphs of
|
|
||||||
current FT2 and old betas.
|
|
||||||
|
|
||||||
Tests and comparisons show a _major_ discrepancy of monochrome truetype
|
|
||||||
bytecode-hinted glyphs! Something seems to be really broken here!
|
|
||||||
|
|
||||||
Some of this has been fixed in 2.0.6; there was a bug in the TrueType
|
|
||||||
loader that prevented it from loading composites correctly. However,
|
|
||||||
there are still _subtle_ differences between FT1 and FT2 when it comes to
|
|
||||||
monochrome TrueType-hinted glyphs (the major differences are gone though).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BAD-THIN-LINES
|
|
||||||
|
|
||||||
It seems that the anti-aliased renderer in FreeType has problems rendering
|
|
||||||
extremely thin straight lines correctly, at least when using the
|
|
||||||
FT_Outline_Render() function.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NOT-WINDOWS-METRICS
|
|
||||||
|
|
||||||
FreeType doesn't always return the same metrics as Windows for ascender,
|
|
||||||
descender, and text height, depending on character pixel sizes. A lot of
|
|
||||||
testing on Windows is needed to debug this properly. It might be due to a
|
|
||||||
rounding bug when computing the "x_scale" and "y_scale" values.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ADVANCED-COMPOSITES
|
|
||||||
|
|
||||||
Provided by George Williams <[email protected]>:
|
|
||||||
|
|
||||||
I notice that truetype/ttgload.c only supports Apple's definition of
|
|
||||||
offsets for composite glyphs. Apple and Microsoft behave differently if
|
|
||||||
there is a scale factor. OpenType defines some bits to disambiguate.
|
|
||||||
|
|
||||||
(A problem in both 2.0.4 and 2.0.5.)
|
|
||||||
|
|
||||||
Apple says (http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html) that if
|
|
||||||
flags&ARGS_ARE_XY is set then the offsets should be scaled by the scale
|
|
||||||
factors (as you have done), but they also say something very cryptic
|
|
||||||
about what happens when the component is rotated at 45° (which you do
|
|
||||||
not support) -- See the "Important" note at the bottom.
|
|
||||||
|
|
||||||
The old truetype spec from Microsoft did not mention this. The OpenType
|
|
||||||
spec (http://www.microsoft.com/typography/otspec/glyf.htm,
|
|
||||||
http://partners.adobe.com/asn/developer/opentype/glyf.html) defines two
|
|
||||||
new bits to disambiguate:
|
|
||||||
|
|
||||||
SCALED_COMPONENT_OFFSET 11
|
|
||||||
Composite designed to have the component offset scaled (designed for
|
|
||||||
Apple rasterizer)
|
|
||||||
|
|
||||||
UNSCALED_COMPONENT_OFFSET 12
|
|
||||||
Composite designed not to have the component offset scaled (designed
|
|
||||||
for the Microsoft TrueType rasterizer)
|
|
||||||
|
|
||||||
Perhaps you could add a load_flag to allow the user to define the
|
|
||||||
default setting?
|
|
||||||
|
|
||||||
David says:
|
|
||||||
|
|
||||||
Wow, I was not even aware of this, it will probably take a little time
|
|
||||||
to implement since I don't have any font that implement these
|
|
||||||
"features", and also because I believe that we're running out of bits
|
|
||||||
for "load_flag", some other way to set preferences is probably needed.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- END OF OPEN BUGS ---
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BAD-TTNAMEID.H
|
|
||||||
|
|
||||||
The file "ttnameid.h" contains various constant macro definitions
|
|
||||||
corresponding to important values defined by the TrueType specification.
|
|
||||||
|
|
||||||
Joe Man <[email protected]> reports that:
|
|
||||||
|
|
||||||
According to the information from TrueType v1.66:
|
|
||||||
|
|
||||||
Platform ID = 3 (Microsoft)
|
|
||||||
the Encoding ID of GB2312 = 4
|
|
||||||
the Encoding ID of big5 = 3
|
|
||||||
|
|
||||||
However, I have found that in ttnameid.h:
|
|
||||||
|
|
||||||
TT_MS_ID_GB2312 = 3
|
|
||||||
TT_MS_ID_BIG_5 = 4
|
|
||||||
|
|
||||||
Which one is correct?
|
|
||||||
|
|
||||||
Antoine replied that this was a bug in the TT 1.66 specification, and that
|
|
||||||
FreeType followed the most recent TrueType/OpenType specification here.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AUTOHINT-SBITS
|
|
||||||
|
|
||||||
When trying to load a glyph, with the auto-hinter activated (i.e., when
|
|
||||||
using FT_LOAD_FORCE_AUTOHINT, or when the font driver doesn't provide its
|
|
||||||
own hinter), embedded bitmaps are _never_ loaded, unlike the default
|
|
||||||
behaviour described by the API specification.
|
|
||||||
|
|
||||||
This seems to be a bug in FT_Load_Glyph(), but there is no way to solve it
|
|
||||||
efficiently without making a few important internal changes to the
|
|
||||||
library's design (more importantly, to the font driver interface).
|
|
||||||
|
|
||||||
This has been corrected with a hack in FT_Load_Glyph(). More important
|
|
||||||
internal changes should help get rid of it with a clean solution in a
|
|
||||||
further release like FreeType 2.1.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BAD-T1-CHARMAP
|
|
||||||
|
|
||||||
Type1 driver doesn't read "cacute" and "lslash" characters from iso8859-2
|
|
||||||
charset. Those characters are mapped as MAC-one in glnames.py, so they
|
|
||||||
cannot be shown in Adobe Type1 fonts.
|
|
||||||
|
|
||||||
(This was due to a bug in the "glnames.py" script used to generate the
|
|
||||||
table of glyph names in 'src/psaux/pstables.h'.)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BAD-UNIXXXX-NAMES
|
|
||||||
|
|
||||||
Glyph names like uniXXXX are not recognized as they should be. It seems
|
|
||||||
that code in psmodule.c for uniXXXX glyph names was never tested. The
|
|
||||||
patch is very simple.
|
|
||||||
|
|
||||||
(A simple bug that was left un-noticed due to the fact that I don't have
|
|
||||||
any Postscript font that use this convention, unfortunately.)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GLYPH_TO_BITMAP-BUG
|
|
||||||
|
|
||||||
Calling FT_Glyph_To_Bitmap() sometimes modifies the original glyph
|
|
||||||
outline, creating weird alignment artefacts.
|
|
||||||
|
|
||||||
This subtle bug was really in the file `src/smooth/ftsmooth.c'.
|
|
||||||
Basically, the outline was shifted before rendering it into a new bitmap
|
|
||||||
buffer. However, it wasn't properly un-shifted after that operation.
|
|
||||||
|
|
||||||
This was only noticeable with certain glyphs or certain fonts; it crept in
|
|
||||||
a long time ago.
|
|
||||||
|
|
||||||
The same bug has been fixed in src/raster/ftrender1.c also.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TT-GLYPH-CRASH
|
|
||||||
|
|
||||||
The library crashed when trying to load certain glyphs from an
|
|
||||||
automatically generated TrueType file (tt1095m_.ttf submitted by Scott
|
|
||||||
Long).
|
|
||||||
|
|
||||||
It turned out that the font contained invalid glyph data (i.e. was
|
|
||||||
broken), but the TrueType glyph loader in FreeType wasn't paranoid enough,
|
|
||||||
which resulted in nasty memory overwrites all over the place.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
T1-FONT-CRASH
|
|
||||||
|
|
||||||
The library crashed when trying to load the "Stalingrad Regular" face from
|
|
||||||
the "sadn.pfb" font file provided by Anthony Fok (and the Gnome-Print team
|
|
||||||
I believe).
|
|
||||||
|
|
||||||
This was due to the fact that the font missed a full font name entry,
|
|
||||||
though boasted a family name and postscript name. The Type 1 face loader
|
|
||||||
didn't check for these pathetic cases and seg-faulted.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BAD-ADVANCES
|
|
||||||
|
|
||||||
All scalable font drivers returned un-fitted glyph advances when
|
|
||||||
FT_LOAD_DEFAULT was used, which was incorrect. This problem was pretty
|
|
||||||
old but hadn't been spotted because all test programs actually explicitly
|
|
||||||
or implicitly (i.e. through the cache) rounded the advance widths of
|
|
||||||
glyphs.
|
|
||||||
|
|
||||||
This resulted in poor rendering of a number of client applications however
|
|
||||||
(it is strange to see they took so long to notify the FreeType team).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GLYPH-TO-BITMAP-BUG
|
|
||||||
|
|
||||||
FT_Glyph_To_Bitmap() did incorrectly modify the source glyph in certain
|
|
||||||
cases, which resulted in random behaviour and bad text rendering. This
|
|
||||||
was spotted to bugs in both the monochrome and smooth rasterizer.
|
|
||||||
|
|
||||||
|
|
||||||
=== end of file ===
|
|
||||||
@@ -1,276 +0,0 @@
|
|||||||
|
|
||||||
FreeType 2 compilation how-to
|
|
||||||
=============================
|
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
|
||||||
------------
|
|
||||||
|
|
||||||
Welcome to the FreeType 2 library. You'll find in this document
|
|
||||||
instructions on how to compile the library on your favorite platform.
|
|
||||||
|
|
||||||
|
|
||||||
I. QUICK COMMAND-LINE GUIDE
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
THE FOLLOWING WILL ONLY WORK WITH GNU MAKE, IT WILL FAIL MISERABLY
|
|
||||||
WITH OTHER MAKE TOOLS, FOR EXAMPLE "BSD MAKE".
|
|
||||||
|
|
||||||
Install GNU Make (version 3.78.1 or newer), then try the following
|
|
||||||
on Unix or any system with gcc:
|
|
||||||
|
|
||||||
make // this will setup the build
|
|
||||||
make // this will build the library
|
|
||||||
|
|
||||||
On Win32 + Visual C++:
|
|
||||||
|
|
||||||
make setup visualc // setup the build for VisualC++ on Win32
|
|
||||||
make // build the library
|
|
||||||
|
|
||||||
Then, go to the `demos' directory and type
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
|
|
||||||
Note that on Unix, the first `make' invocation will run a configure
|
|
||||||
script (which is located in `freetype2/builds/unix/'. You can also
|
|
||||||
pass parameters to this script with the CFG variable, as in:
|
|
||||||
|
|
||||||
make CFG="--prefix=/usr/local"
|
|
||||||
make
|
|
||||||
|
|
||||||
|
|
||||||
If this doesn't work, read the following.
|
|
||||||
|
|
||||||
|
|
||||||
II. COMMAND-LINE COMPILATION
|
|
||||||
----------------------------
|
|
||||||
|
|
||||||
Note that if you do not want to compile FreeType 2 from a command
|
|
||||||
line shell, please skip to section III below (DETAILED COMPILATION).
|
|
||||||
|
|
||||||
FreeType 2 includes a powerful and flexible build system that allows
|
|
||||||
you to easily compile it on a great variety of platforms from the
|
|
||||||
command line. To do so, just follow these simple instructions:
|
|
||||||
|
|
||||||
a. Install GNU Make
|
|
||||||
|
|
||||||
Because GNU Make is the only Make tool supported to compile
|
|
||||||
FreeType 2, you should install it on your machine.
|
|
||||||
|
|
||||||
The FreeType 2 build system relies on many features special to GNU
|
|
||||||
Make -- trying to build the library with any other Make tool will
|
|
||||||
*fail*.
|
|
||||||
|
|
||||||
NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO
|
|
||||||
REALLY INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
|
|
||||||
|
|
||||||
Make sure that you are invoking GNU Make from the command line, by
|
|
||||||
typing something like:
|
|
||||||
|
|
||||||
make -v
|
|
||||||
|
|
||||||
to display its version number.
|
|
||||||
|
|
||||||
VERSION 3.78.1 OR NEWER IS NEEDED!
|
|
||||||
|
|
||||||
b. Invoke `make'
|
|
||||||
|
|
||||||
Go to the root directory of FreeType 2, then simply invoke GNU
|
|
||||||
Make from the command line. This will launch the FreeType 2 host
|
|
||||||
platform detection routines. A summary will be displayed, for
|
|
||||||
example, on Win32:
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================
|
|
||||||
FreeType build system -- automatic system detection
|
|
||||||
|
|
||||||
The following settings are used:
|
|
||||||
|
|
||||||
platform win32
|
|
||||||
compiler gcc
|
|
||||||
configuration directory ./builds/win32
|
|
||||||
configuration rules ./builds/win32/w32-gcc.mk
|
|
||||||
|
|
||||||
If this does not correspond to your system or settings please
|
|
||||||
remove the file 'config.mk' from this directory then read the
|
|
||||||
INSTALL file for help.
|
|
||||||
|
|
||||||
Otherwise, simply type 'make' again to build the library.
|
|
||||||
=============================================================
|
|
||||||
|
|
||||||
|
|
||||||
If the detected settings correspond to your platform and compiler,
|
|
||||||
skip to step e. Note that if your platform is completely alien to
|
|
||||||
the build system, the detected platform will be `ansi'.
|
|
||||||
|
|
||||||
c. Configure the build system for a different compiler
|
|
||||||
|
|
||||||
If the build system correctly detected your platform, but you want
|
|
||||||
to use a different compiler than the one specified in the summary
|
|
||||||
(for most platforms, gcc is the defaut compiler), invoke GNU Make
|
|
||||||
with
|
|
||||||
|
|
||||||
make setup <compiler>
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
to use Visual C++ on Win32, type: "make setup visualc"
|
|
||||||
to use LCC-Win32 on Win32, type: "make setup lcc"
|
|
||||||
|
|
||||||
The <compiler> name to use is platform-dependent. The list of
|
|
||||||
available compilers for your system is available in the file
|
|
||||||
`builds/<system>/detect.mk' (note that we hope to make the list
|
|
||||||
displayed at user demand in the final release).
|
|
||||||
|
|
||||||
If you are satisfied by the new configuration summary, skip to
|
|
||||||
step e.
|
|
||||||
|
|
||||||
d. Configure the build system for an unknown platform/compiler
|
|
||||||
|
|
||||||
The auto-detection/setup phase of the build system copies a file
|
|
||||||
to the current directory under the name `config.mk'.
|
|
||||||
|
|
||||||
For example, on OS/2+gcc, it would simply copy
|
|
||||||
`builds/os2/os2-gcc.mk' to `./config.mk'.
|
|
||||||
|
|
||||||
If for some reason your platform isn't correctly detected, copy
|
|
||||||
manually the configuration sub-makefile to `./config.mk' and go to
|
|
||||||
step e.
|
|
||||||
|
|
||||||
Note that this file is a sub-Makefile used to specify Make
|
|
||||||
variables for compiler and linker invocation during the build.
|
|
||||||
You can easily create your own version from one of the existing
|
|
||||||
configuration files, then copy it to the current directory under
|
|
||||||
the name `./config.mk'.
|
|
||||||
|
|
||||||
e. Build the library
|
|
||||||
|
|
||||||
The auto-detection/setup phase should have copied a file in the
|
|
||||||
current directory, called `./config.mk'. This file contains
|
|
||||||
definitions of various Make variables used to invoke the compiler
|
|
||||||
and linker during the build.
|
|
||||||
|
|
||||||
To launch the build, simply invoke GNU Make again: The top
|
|
||||||
Makefile will detect the configuration file and run the build with
|
|
||||||
it.
|
|
||||||
|
|
||||||
f. Build the demonstration programs
|
|
||||||
|
|
||||||
|
|
||||||
III. DETAILED COMPILATION PROCEDURE
|
|
||||||
-----------------------------------
|
|
||||||
|
|
||||||
If you don't want to compile FreeType 2 from the command-line (for
|
|
||||||
example if you use a graphical IDE on a Mac or Windows), you will
|
|
||||||
need to understand how the FreeType files are organized.
|
|
||||||
|
|
||||||
FreeType 2 has a very modular design, and it is made of several
|
|
||||||
components. Each component must be compiled as a stand-alone object
|
|
||||||
file, even if it is really made of several C source files. For
|
|
||||||
example, the `base layer' component is made of the following C
|
|
||||||
files:
|
|
||||||
|
|
||||||
src/
|
|
||||||
base/
|
|
||||||
ftcalc.c - computations
|
|
||||||
ftextend.c - extensions support
|
|
||||||
ftlist.c - simple list management
|
|
||||||
ftobjs.c - object management
|
|
||||||
ftoutln.c - simple outline processing
|
|
||||||
ftstream.c - stream input
|
|
||||||
|
|
||||||
However, you can create a single object file by compiling the file
|
|
||||||
`src/base/ftbase.c', which basically contains
|
|
||||||
|
|
||||||
#include "ftcalc.c"
|
|
||||||
#include "ftobjs.c"
|
|
||||||
#include "ftstream.c"
|
|
||||||
#include "ftlist.c"
|
|
||||||
#include "ftoutln.c"
|
|
||||||
#include "ftextend.c"
|
|
||||||
|
|
||||||
Similarly, each component has a single `englobing' C file to compile
|
|
||||||
it as a stand-alone object:
|
|
||||||
|
|
||||||
src/autohint/autohint.c - the autohinting module
|
|
||||||
src/base/ftbase.c - the base layer, high-level interface
|
|
||||||
src/cache/ftcache.c - a glyph and image caching system
|
|
||||||
(still experimental)
|
|
||||||
src/cff/cff.c - the OpenType font driver
|
|
||||||
src/cid/type1cid.c - the CID-keyed font driver
|
|
||||||
src/psaux/psaux.c - the PS support module
|
|
||||||
src/psnames/psnames.c - a support module to handle PS glyph
|
|
||||||
names
|
|
||||||
src/raster1/raster1.c - the monochrome raster module
|
|
||||||
src/sfnt/sfnt.c - the `sfnt' module
|
|
||||||
src/smooth/smooth.c - the anti-aliasing raster module
|
|
||||||
src/truetype/truetype.c - the TrueType font driver
|
|
||||||
src/type1/type1.c - the Type 1 font driver
|
|
||||||
|
|
||||||
The last module of FreeType 2, `winfonts' (implementing support for
|
|
||||||
Windows FNT format), is a single file.
|
|
||||||
|
|
||||||
To compile one component, do the following:
|
|
||||||
|
|
||||||
- Add the top-level `include' directory to your compilation
|
|
||||||
include path
|
|
||||||
|
|
||||||
- Add the `src/<component>' directory to your compilation include
|
|
||||||
path, or simply `cd' to the component's source directory.
|
|
||||||
|
|
||||||
- Compile the component `source' file (see list below); you don't
|
|
||||||
need to be in the component's directory if you added
|
|
||||||
`src/<component>' to your include path.
|
|
||||||
|
|
||||||
For example, the following line can be used to compile the truetype
|
|
||||||
driver on Unix:
|
|
||||||
|
|
||||||
cd freetype2/
|
|
||||||
cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c
|
|
||||||
|
|
||||||
Alternatively:
|
|
||||||
|
|
||||||
cd freetype2/src/truetype
|
|
||||||
cc -c -I../../include truetype.c
|
|
||||||
|
|
||||||
Finally, FreeType 2 contains some other components:
|
|
||||||
|
|
||||||
src/base/ftsystem.c - system-specific memory and i/o support
|
|
||||||
src/base/ftinit.c - initialization layer
|
|
||||||
src/base/ftdebug.c - debugging component (empty in release
|
|
||||||
build)
|
|
||||||
src/base/ftglyph.c - optional convenience functions
|
|
||||||
|
|
||||||
All font drivers are optional. The `sfnt', `psaux', and `psnames'
|
|
||||||
modules are mandatory for certain drivers. However, you may need to
|
|
||||||
update the list of drivers that are statically linked to the
|
|
||||||
library, which is located in the configuration file
|
|
||||||
`include/freetype/config/ftmodule.h'.
|
|
||||||
|
|
||||||
|
|
||||||
IV. Support for flat-directory compilation
|
|
||||||
------------------------------------------
|
|
||||||
|
|
||||||
It is possible to put all FreeType 2 source files into a single
|
|
||||||
directory, with the exception of the `include' hierarchy.
|
|
||||||
|
|
||||||
1. Copy all files in current directory:
|
|
||||||
|
|
||||||
cp freetype2/src/base/*.[hc] .
|
|
||||||
cp freetype2/src/raster1/*.[hc] .
|
|
||||||
cp freetype2/src/smooth/*.[hc] .
|
|
||||||
etc.
|
|
||||||
|
|
||||||
2. Compile sources:
|
|
||||||
|
|
||||||
cc -c -Ifreetype2/include ftsystem.c
|
|
||||||
cc -c -Ifreetype2/include ftinit.c
|
|
||||||
cc -c -Ifreetype2/include ftdebug.c
|
|
||||||
cc -c -Ifreetype2/include ftbase.c
|
|
||||||
etc.
|
|
||||||
|
|
||||||
You don't need to define the FT_FLAT_COMPILATION macro (as this was
|
|
||||||
required in previous releases of FreeType 2).
|
|
||||||
|
|
||||||
End of file
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,162 +0,0 @@
|
|||||||
Debugging within the FreeType sources:
|
|
||||||
======================================
|
|
||||||
|
|
||||||
I. Configuration macros
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
There are several ways to enable debugging features in a FreeType 2
|
|
||||||
builds. This is controlled through the definition of special macros
|
|
||||||
located in the file "ftoptions.h". The macros are:
|
|
||||||
|
|
||||||
|
|
||||||
FT_DEBUG_LEVEL_ERROR
|
|
||||||
|
|
||||||
#define this macro if you want to compile the FT_ERROR macro calls
|
|
||||||
used to print error messages during program execution. This will
|
|
||||||
not stop the program, but is very useful to spot invalid fonts
|
|
||||||
during development and code wordarounds for them.
|
|
||||||
|
|
||||||
FT_DEBUG_LEVEL_TRACE
|
|
||||||
|
|
||||||
#define this macro if you want to compile both the FT_ERROR macro
|
|
||||||
and the FT_TRACE one. This also includes the variants FT_TRACE0,
|
|
||||||
FT_TRACE1, FT_TRACE2, ..., FT_TRACE6.
|
|
||||||
|
|
||||||
The trace macros are used to send debugging messages when an
|
|
||||||
appropriate "debug level" is configured at runtime through the
|
|
||||||
FT2_DEBUG environment variable (more on this later).
|
|
||||||
|
|
||||||
FT_DEBUG_MEMORY
|
|
||||||
|
|
||||||
If this macro is #defined, the FreeType engines is linked with a
|
|
||||||
small but effective debugging memory manager that tracks all
|
|
||||||
allocations and frees that are performed within the font engine.
|
|
||||||
|
|
||||||
When the FT2_DEBUG_MEMORY environment variable is defined at
|
|
||||||
runtime, a call to FT_Done_FreeType will dump memory statistics,
|
|
||||||
including the list of leaked memory blocks with the source locations
|
|
||||||
where these were allocated. It's always a very good idea to define
|
|
||||||
this in development builds. This works with _any_ program linked to
|
|
||||||
FreeType, but requires a big deal of memory (the debugging memory
|
|
||||||
manager never frees the blocks to the heap in order to detect double
|
|
||||||
frees).
|
|
||||||
|
|
||||||
When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
|
|
||||||
manager is ignored, and performance is un-affected.
|
|
||||||
|
|
||||||
|
|
||||||
II. Debugging macros
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
Several macros can be used within the FreeType sources to help debugging
|
|
||||||
its code:
|
|
||||||
|
|
||||||
1. FT_ERROR(( ... ))
|
|
||||||
|
|
||||||
This macro is used to send debug messages that indicate relatively
|
|
||||||
serious errors (like broken font files), but will not stop the
|
|
||||||
execution of the running program. Its code is compiled only when
|
|
||||||
either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
|
|
||||||
"ftoption.h".
|
|
||||||
|
|
||||||
Note that you must use with a printf-like signature, but with double
|
|
||||||
parentheses, like in:
|
|
||||||
|
|
||||||
FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
|
|
||||||
|
|
||||||
|
|
||||||
2. FT_ASSERT( condition )
|
|
||||||
|
|
||||||
This macro is used to check strong assertions at runtime. If its
|
|
||||||
condition isn't TRUE, the program will abort with a panic message.
|
|
||||||
Its code is compiled when either FT_DEBUG_LEVEL_ERROR or
|
|
||||||
FT_DEBUG_LEVEL_TRACE are defined. You don't need double-parentheses
|
|
||||||
here. For example:
|
|
||||||
|
|
||||||
FT_ASSERT( ptr != NULL );
|
|
||||||
|
|
||||||
|
|
||||||
3. FT_TRACE( level, (message...) )
|
|
||||||
|
|
||||||
The FT_TRACE macro is used to send general-purpose debugging
|
|
||||||
messages during program execution. This macro uses an *implicit*
|
|
||||||
macro named FT_COMPONENT used to name the current FreeType component
|
|
||||||
being run.
|
|
||||||
|
|
||||||
The developer should always define FT_COMPONENT as appropriate, for
|
|
||||||
example as in:
|
|
||||||
|
|
||||||
#undef FT_COMPONENT
|
|
||||||
#define FT_COMPONENT trace_io
|
|
||||||
|
|
||||||
The value of the FT_COMPONENT macro is an enumeration named
|
|
||||||
trace_XXXX where XXXX is one of the component names defined in the
|
|
||||||
internal file <freetype/internal/fttrace.h>.
|
|
||||||
|
|
||||||
Each such component is assigned a "debug level", ranging from 0 to 6
|
|
||||||
when a program linked with FreeType starts, through the use of the
|
|
||||||
FT2_DEBUG environment variable, described later.
|
|
||||||
|
|
||||||
When FT_TRACE is called, its level is compared to the one of the
|
|
||||||
corresponding component. Messages with trace levels *higher* than
|
|
||||||
the corresponding component level are filtered and never printed.
|
|
||||||
|
|
||||||
This means that trace messages with level 0 are always printed,
|
|
||||||
those with level 2 are only printed when the component level is *at
|
|
||||||
least* 2.
|
|
||||||
|
|
||||||
The second parameter to FT_TRACE must contain parentheses and
|
|
||||||
correspond to a print-like call, as in:
|
|
||||||
|
|
||||||
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
|
|
||||||
|
|
||||||
The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2_, ... FT_TRACE6
|
|
||||||
can be used with constant level indices, and are much cleaner to
|
|
||||||
use, as in
|
|
||||||
|
|
||||||
FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
|
|
||||||
|
|
||||||
|
|
||||||
III. Environment variables
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
The following environment variables control debugging output and
|
|
||||||
behaviour of FreeType at runtime:
|
|
||||||
|
|
||||||
|
|
||||||
FT2_DEBUG
|
|
||||||
|
|
||||||
This variable is only used when FreeType is built with
|
|
||||||
FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level
|
|
||||||
definitions, following this format:
|
|
||||||
|
|
||||||
component1:level1 component2:level2 component3:level3 ...
|
|
||||||
|
|
||||||
where "componentX" is the name of a tracing component, as defined in
|
|
||||||
"fttrace.h", but without the "trace_" prefix, and "levelX" is the
|
|
||||||
corresponding level to use at runtime.
|
|
||||||
|
|
||||||
"any" is a special component name that will be interpreted as
|
|
||||||
"any/all components". For example, the following definitions
|
|
||||||
|
|
||||||
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
|
|
||||||
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux)
|
|
||||||
|
|
||||||
both stipulate that all components should have level 2, except for
|
|
||||||
the memory and io components which will be set to trace levels 5 and
|
|
||||||
4 respectively.
|
|
||||||
|
|
||||||
FT2_DEBUG_MEMORY
|
|
||||||
|
|
||||||
This environment variable, when defined, tells FreeType to use a
|
|
||||||
debugging memory manager that will track leaked memory blocks as
|
|
||||||
well as other common errors like double frees. It is also capable
|
|
||||||
of reporting _where_ the leaked blocks were allocated, which
|
|
||||||
considerably saves time when debugging new additions to the library.
|
|
||||||
|
|
||||||
This code is only compiled when FreeType is built with the
|
|
||||||
FT_DEBUG_MEMORY macro #defined in "ftoption.h" though, it will be
|
|
||||||
ignored in other builds.
|
|
||||||
|
|
||||||
|
|
||||||
End of file
|
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
The FreeType Project LICENSE
|
|
||||||
----------------------------
|
|
||||||
|
|
||||||
2002-Apr-11
|
|
||||||
|
|
||||||
Copyright 1996-2002 by
|
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
|
||||||
============
|
|
||||||
|
|
||||||
The FreeType Project is distributed in several archive packages;
|
|
||||||
some of them may contain, in addition to the FreeType font engine,
|
|
||||||
various tools and contributions which rely on, or relate to, the
|
|
||||||
FreeType Project.
|
|
||||||
|
|
||||||
This license applies to all files found in such packages, and
|
|
||||||
which do not fall under their own explicit license. The license
|
|
||||||
affects thus the FreeType font engine, the test programs,
|
|
||||||
documentation and makefiles, at the very least.
|
|
||||||
|
|
||||||
This license was inspired by the BSD, Artistic, and IJG
|
|
||||||
(Independent JPEG Group) licenses, which all encourage inclusion
|
|
||||||
and use of free software in commercial and freeware products
|
|
||||||
alike. As a consequence, its main points are that:
|
|
||||||
|
|
||||||
o We don't promise that this software works. However, we will be
|
|
||||||
interested in any kind of bug reports. (`as is' distribution)
|
|
||||||
|
|
||||||
o You can use this software for whatever you want, in parts or
|
|
||||||
full form, without having to pay us. (`royalty-free' usage)
|
|
||||||
|
|
||||||
o You may not pretend that you wrote this software. If you use
|
|
||||||
it, or only parts of it, in a program, you must acknowledge
|
|
||||||
somewhere in your documentation that you have used the
|
|
||||||
FreeType code. (`credits')
|
|
||||||
|
|
||||||
We specifically permit and encourage the inclusion of this
|
|
||||||
software, with or without modifications, in commercial products.
|
|
||||||
We disclaim all warranties covering The FreeType Project and
|
|
||||||
assume no liability related to The FreeType Project.
|
|
||||||
|
|
||||||
|
|
||||||
Finally, many people asked us for a preferred form for a
|
|
||||||
credit/disclaimer to use in compliance with this license. We thus
|
|
||||||
encourage you to use the following text:
|
|
||||||
|
|
||||||
"""
|
|
||||||
Portions of this software are copyright © 1996-2002 The FreeType
|
|
||||||
Project (www.freetype.org). All rights reserved.
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
Legal Terms
|
|
||||||
===========
|
|
||||||
|
|
||||||
0. Definitions
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Throughout this license, the terms `package', `FreeType Project',
|
|
||||||
and `FreeType archive' refer to the set of files originally
|
|
||||||
distributed by the authors (David Turner, Robert Wilhelm, and
|
|
||||||
Werner Lemberg) as the `FreeType Project', be they named as alpha,
|
|
||||||
beta or final release.
|
|
||||||
|
|
||||||
`You' refers to the licensee, or person using the project, where
|
|
||||||
`using' is a generic term including compiling the project's source
|
|
||||||
code as well as linking it to form a `program' or `executable'.
|
|
||||||
This program is referred to as `a program using the FreeType
|
|
||||||
engine'.
|
|
||||||
|
|
||||||
This license applies to all files distributed in the original
|
|
||||||
FreeType Project, including all source code, binaries and
|
|
||||||
documentation, unless otherwise stated in the file in its
|
|
||||||
original, unmodified form as distributed in the original archive.
|
|
||||||
If you are unsure whether or not a particular file is covered by
|
|
||||||
this license, you must contact us to verify this.
|
|
||||||
|
|
||||||
The FreeType Project is copyright (C) 1996-2000 by David Turner,
|
|
||||||
Robert Wilhelm, and Werner Lemberg. All rights reserved except as
|
|
||||||
specified below.
|
|
||||||
|
|
||||||
1. No Warranty
|
|
||||||
--------------
|
|
||||||
|
|
||||||
THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
|
|
||||||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
|
|
||||||
BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
|
|
||||||
USE, OF THE FREETYPE PROJECT.
|
|
||||||
|
|
||||||
2. Redistribution
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
This license grants a worldwide, royalty-free, perpetual and
|
|
||||||
irrevocable right and license to use, execute, perform, compile,
|
|
||||||
display, copy, create derivative works of, distribute and
|
|
||||||
sublicense the FreeType Project (in both source and object code
|
|
||||||
forms) and derivative works thereof for any purpose; and to
|
|
||||||
authorize others to exercise some or all of the rights granted
|
|
||||||
herein, subject to the following conditions:
|
|
||||||
|
|
||||||
o Redistribution of source code must retain this license file
|
|
||||||
(`FTL.TXT') unaltered; any additions, deletions or changes to
|
|
||||||
the original files must be clearly indicated in accompanying
|
|
||||||
documentation. The copyright notices of the unaltered,
|
|
||||||
original files must be preserved in all copies of source
|
|
||||||
files.
|
|
||||||
|
|
||||||
o Redistribution in binary form must provide a disclaimer that
|
|
||||||
states that the software is based in part of the work of the
|
|
||||||
FreeType Team, in the distribution documentation. We also
|
|
||||||
encourage you to put an URL to the FreeType web page in your
|
|
||||||
documentation, though this isn't mandatory.
|
|
||||||
|
|
||||||
These conditions apply to any software derived from or based on
|
|
||||||
the FreeType Project, not just the unmodified files. If you use
|
|
||||||
our work, you must acknowledge us. However, no fee need be paid
|
|
||||||
to us.
|
|
||||||
|
|
||||||
3. Advertising
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Neither the FreeType authors and contributors nor you shall use
|
|
||||||
the name of the other for commercial, advertising, or promotional
|
|
||||||
purposes without specific prior written permission.
|
|
||||||
|
|
||||||
We suggest, but do not require, that you use one or more of the
|
|
||||||
following phrases to refer to this software in your documentation
|
|
||||||
or advertising materials: `FreeType Project', `FreeType Engine',
|
|
||||||
`FreeType library', or `FreeType Distribution'.
|
|
||||||
|
|
||||||
As you have not signed this license, you are not required to
|
|
||||||
accept it. However, as the FreeType Project is copyrighted
|
|
||||||
material, only this license, or another one contracted with the
|
|
||||||
authors, grants you the right to use, distribute, and modify it.
|
|
||||||
Therefore, by using, distributing, or modifying the FreeType
|
|
||||||
Project, you indicate that you understand and accept all the terms
|
|
||||||
of this license.
|
|
||||||
|
|
||||||
4. Contacts
|
|
||||||
-----------
|
|
||||||
|
|
||||||
There are two mailing lists related to FreeType:
|
|
||||||
|
|
||||||
o [email protected]
|
|
||||||
|
|
||||||
Discusses general use and applications of FreeType, as well as
|
|
||||||
future and wanted additions to the library and distribution.
|
|
||||||
If you are looking for support, start in this list if you
|
|
||||||
haven't found anything to help you in the documentation.
|
|
||||||
|
|
||||||
o [email protected]
|
|
||||||
|
|
||||||
Discusses bugs, as well as engine internals, design issues,
|
|
||||||
specific licenses, porting, etc.
|
|
||||||
|
|
||||||
o http://www.freetype.org
|
|
||||||
|
|
||||||
Holds the current FreeType web page, which will allow you to
|
|
||||||
download our latest development version and read online
|
|
||||||
documentation.
|
|
||||||
|
|
||||||
You can also contact us individually at:
|
|
||||||
|
|
||||||
David Turner <[email protected]>
|
|
||||||
Robert Wilhelm <[email protected]>
|
|
||||||
Werner Lemberg <[email protected]>
|
|
||||||
|
|
||||||
|
|
||||||
--- end of LICENSE.TXT ---
|
|
||||||
@@ -1,339 +0,0 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 2, June 1991
|
|
||||||
|
|
||||||
Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
|
|
||||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
License is intended to guarantee your freedom to share and change free
|
|
||||||
software--to make sure the software is free for all its users. This
|
|
||||||
General Public License applies to most of the Free Software
|
|
||||||
Foundation's software and to any other program whose authors commit to
|
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
|
||||||
the GNU Library General Public License instead.) You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
this service if you wish), that you receive source code or can get it
|
|
||||||
if you want it, that you can change the software or use pieces of it
|
|
||||||
in new free programs; and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
anyone to deny you these rights or to ask you to surrender the rights.
|
|
||||||
These restrictions translate to certain responsibilities for you if you
|
|
||||||
distribute copies of the software, or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must give the recipients all the rights that
|
|
||||||
you have. You must make sure that they, too, receive or can get the
|
|
||||||
source code. And you must show them these terms so they know their
|
|
||||||
rights.
|
|
||||||
|
|
||||||
We protect your rights with two steps: (1) copyright the software, and
|
|
||||||
(2) offer you this license which gives you legal permission to copy,
|
|
||||||
distribute and/or modify the software.
|
|
||||||
|
|
||||||
Also, for each author's protection and ours, we want to make certain
|
|
||||||
that everyone understands that there is no warranty for this free
|
|
||||||
software. If the software is modified by someone else and passed on, we
|
|
||||||
want its recipients to know that what they have is not the original, so
|
|
||||||
that any problems introduced by others will not reflect on the original
|
|
||||||
authors' reputations.
|
|
||||||
|
|
||||||
Finally, any free program is threatened constantly by software
|
|
||||||
patents. We wish to avoid the danger that redistributors of a free
|
|
||||||
program will individually obtain patent licenses, in effect making the
|
|
||||||
program proprietary. To prevent this, we have made it clear that any
|
|
||||||
patent must be licensed for everyone's free use or not licensed at all.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
|
||||||
a notice placed by the copyright holder saying it may be distributed
|
|
||||||
under the terms of this General Public License. The "Program", below,
|
|
||||||
refers to any such program or work, and a "work based on the Program"
|
|
||||||
means either the Program or any derivative work under copyright law:
|
|
||||||
that is to say, a work containing the Program or a portion of it,
|
|
||||||
either verbatim or with modifications and/or translated into another
|
|
||||||
language. (Hereinafter, translation is included without limitation in
|
|
||||||
the term "modification".) Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running the Program is not restricted, and the output from the Program
|
|
||||||
is covered only if its contents constitute a work based on the
|
|
||||||
Program (independent of having been made by running the Program).
|
|
||||||
Whether that is true depends on what the Program does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Program's
|
|
||||||
source code as you receive it, in any medium, provided that you
|
|
||||||
conspicuously and appropriately publish on each copy an appropriate
|
|
||||||
copyright notice and disclaimer of warranty; keep intact all the
|
|
||||||
notices that refer to this License and to the absence of any warranty;
|
|
||||||
and give any other recipients of the Program a copy of this License
|
|
||||||
along with the Program.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy, and
|
|
||||||
you may at your option offer warranty protection in exchange for a fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Program or any portion
|
|
||||||
of it, thus forming a work based on the Program, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) You must cause the modified files to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
b) You must cause any work that you distribute or publish, that in
|
|
||||||
whole or in part contains or is derived from the Program or any
|
|
||||||
part thereof, to be licensed as a whole at no charge to all third
|
|
||||||
parties under the terms of this License.
|
|
||||||
|
|
||||||
c) If the modified program normally reads commands interactively
|
|
||||||
when run, you must cause it, when started running for such
|
|
||||||
interactive use in the most ordinary way, to print or display an
|
|
||||||
announcement including an appropriate copyright notice and a
|
|
||||||
notice that there is no warranty (or else, saying that you provide
|
|
||||||
a warranty) and that users may redistribute the program under
|
|
||||||
these conditions, and telling the user how to view a copy of this
|
|
||||||
License. (Exception: if the Program itself is interactive but
|
|
||||||
does not normally print such an announcement, your work based on
|
|
||||||
the Program is not required to print an announcement.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Program,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Program, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Program.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Program
|
|
||||||
with the Program (or with a work based on the Program) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may copy and distribute the Program (or a work based on it,
|
|
||||||
under Section 2) in object code or executable form under the terms of
|
|
||||||
Sections 1 and 2 above provided that you also do one of the following:
|
|
||||||
|
|
||||||
a) Accompany it with the complete corresponding machine-readable
|
|
||||||
source code, which must be distributed under the terms of Sections
|
|
||||||
1 and 2 above on a medium customarily used for software interchange; or,
|
|
||||||
|
|
||||||
b) Accompany it with a written offer, valid for at least three
|
|
||||||
years, to give any third party, for a charge no more than your
|
|
||||||
cost of physically performing source distribution, a complete
|
|
||||||
machine-readable copy of the corresponding source code, to be
|
|
||||||
distributed under the terms of Sections 1 and 2 above on a medium
|
|
||||||
customarily used for software interchange; or,
|
|
||||||
|
|
||||||
c) Accompany it with the information you received as to the offer
|
|
||||||
to distribute corresponding source code. (This alternative is
|
|
||||||
allowed only for noncommercial distribution and only if you
|
|
||||||
received the program in object code or executable form with such
|
|
||||||
an offer, in accord with Subsection b above.)
|
|
||||||
|
|
||||||
The source code for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For an executable work, complete source
|
|
||||||
code means all the source code for all modules it contains, plus any
|
|
||||||
associated interface definition files, plus the scripts used to
|
|
||||||
control compilation and installation of the executable. However, as a
|
|
||||||
special exception, the source code distributed need not include
|
|
||||||
anything that is normally distributed (in either source or binary
|
|
||||||
form) with the major components (compiler, kernel, and so on) of the
|
|
||||||
operating system on which the executable runs, unless that component
|
|
||||||
itself accompanies the executable.
|
|
||||||
|
|
||||||
If distribution of executable or object code is made by offering
|
|
||||||
access to copy from a designated place, then offering equivalent
|
|
||||||
access to copy the source code from the same place counts as
|
|
||||||
distribution of the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
|
||||||
except as expressly provided under this License. Any attempt
|
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
|
||||||
void, and will automatically terminate your rights under this License.
|
|
||||||
However, parties who have received copies, or rights, from you under
|
|
||||||
this License will not have their licenses terminated so long as such
|
|
||||||
parties remain in full compliance.
|
|
||||||
|
|
||||||
5. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Program or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Program (or any work based on the
|
|
||||||
Program), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Program or works based on it.
|
|
||||||
|
|
||||||
6. Each time you redistribute the Program (or any work based on the
|
|
||||||
Program), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute or modify the Program subject to
|
|
||||||
these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties to
|
|
||||||
this License.
|
|
||||||
|
|
||||||
7. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Program at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Program by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Program.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under
|
|
||||||
any particular circumstance, the balance of the section is intended to
|
|
||||||
apply and the section as a whole is intended to apply in other
|
|
||||||
circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system, which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Program under this License
|
|
||||||
may add an explicit geographical distribution limitation excluding
|
|
||||||
those countries, so that distribution is permitted only in or among
|
|
||||||
countries not thus excluded. In such case, this License incorporates
|
|
||||||
the limitation as if written in the body of this License.
|
|
||||||
|
|
||||||
9. The Free Software Foundation may publish revised and/or new versions
|
|
||||||
of the General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Program
|
|
||||||
specifies a version number of this License which applies to it and "any
|
|
||||||
later version", you have the option of following the terms and conditions
|
|
||||||
either of that version or of any later version published by the Free
|
|
||||||
Software Foundation. If the Program does not specify a version number of
|
|
||||||
this License, you may choose any version ever published by the Free Software
|
|
||||||
Foundation.
|
|
||||||
|
|
||||||
10. If you wish to incorporate parts of the Program into other free
|
|
||||||
programs whose distribution conditions are different, write to the author
|
|
||||||
to ask for permission. For software which is copyrighted by the Free
|
|
||||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
|
||||||
make exceptions for this. Our decision will be guided by the two goals
|
|
||||||
of preserving the free status of all derivatives of our free software and
|
|
||||||
of promoting the sharing and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
|
||||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
|
||||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
|
||||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
|
||||||
REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
|
||||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
|
||||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
|
||||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
|
||||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
Appendix: How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
convey the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) 19yy <name of author>
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program is interactive, make it output a short notice like this
|
|
||||||
when it starts in an interactive mode:
|
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, the commands you use may
|
|
||||||
be called something other than `show w' and `show c'; they could even be
|
|
||||||
mouse-clicks or menu items--whatever suits your program.
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or your
|
|
||||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
|
||||||
necessary. Here is a sample; alter the names:
|
|
||||||
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
|
||||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
|
||||||
|
|
||||||
<signature of Ty Coon>, 1 April 1989
|
|
||||||
Ty Coon, President of Vice
|
|
||||||
|
|
||||||
This General Public License does not permit incorporating your program into
|
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
|
||||||
consider it more useful to permit linking proprietary applications with the
|
|
||||||
library. If this is what you want to do, use the GNU Library General
|
|
||||||
Public License instead of this License.
|
|
||||||
@@ -1,185 +0,0 @@
|
|||||||
In order to build the library, read the `BUILD' document in the `docs'
|
|
||||||
directory. This is only a quick starter.
|
|
||||||
|
|
||||||
|
|
||||||
I. Unix systems
|
|
||||||
---------------
|
|
||||||
|
|
||||||
If you have GNU Make installed, simply type
|
|
||||||
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
|
|
||||||
on the command line to configure, build and install FreeType on your
|
|
||||||
system. Note that the default installation path is "/usr/local".
|
|
||||||
|
|
||||||
Please read the file README.UNX, it contains _critical_ information
|
|
||||||
regarding the installation of FreeType on many Unix systems.
|
|
||||||
|
|
||||||
|
|
||||||
II. From the command line
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
If you are not using Unix, there are two ways to quickly build
|
|
||||||
FreeType 2 from the command line.
|
|
||||||
|
|
||||||
The first, and favorite one, is to use the "Jam" build tool. Jam is
|
|
||||||
a highly portable replacement for Make whose control files do not
|
|
||||||
depend on the current platform or compiler toolset.
|
|
||||||
|
|
||||||
For more information, please see:
|
|
||||||
|
|
||||||
http://www.freetype.org/jam/index.html
|
|
||||||
|
|
||||||
The second one is to use "GNU Make" (and NO OTHER MAKE TOOL).
|
|
||||||
|
|
||||||
|
|
||||||
1. Building FT2 with "Jam"
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
Once you've got *our version* of the Jam tool installed on your
|
|
||||||
system, simply go to the top-level FT2 directory, then type
|
|
||||||
|
|
||||||
"jam"
|
|
||||||
|
|
||||||
on the command line. This will build the library and place it in
|
|
||||||
the "objs" directory.
|
|
||||||
|
|
||||||
By default, a static library is built. On Unix systems, it is
|
|
||||||
possible to build a shared library through the "libtool" script.
|
|
||||||
You need to have libtool installed on your system, then re-define
|
|
||||||
a few environment variables before invoking Jam, as in
|
|
||||||
|
|
||||||
export CC="libtool --mode=compile cc"
|
|
||||||
export LINK="libtool --mode=link cc"
|
|
||||||
jam
|
|
||||||
|
|
||||||
In later releases of FT2, building shared libraries with Jam
|
|
||||||
should become automatic on Unix systems.
|
|
||||||
|
|
||||||
|
|
||||||
2. Building FT2 with "GNU Make"
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
You need to have GNU Make (version 3.78.1 or newer) installed on
|
|
||||||
your system to compile the library from the command line. This will
|
|
||||||
_NOT_ work with other make tools (including BSD make)!
|
|
||||||
|
|
||||||
[Well, this is not really correct. Recently, a perl implementation
|
|
||||||
of make called `makepp' has appeared which can also build FreeType 2
|
|
||||||
successfully on Unix platforms. See http://makepp.sourceforge.net
|
|
||||||
for more details.]
|
|
||||||
|
|
||||||
- Go to the `freetype2' directory.
|
|
||||||
|
|
||||||
- Unix (any C compiler should work):
|
|
||||||
|
|
||||||
- make setup (don't worry, this will invoke a configure script)
|
|
||||||
- make
|
|
||||||
- make install
|
|
||||||
|
|
||||||
Alternatively, you can pass parameters to the configure script
|
|
||||||
within the CFG variable, as in:
|
|
||||||
|
|
||||||
- make setup CFG="--prefix=/usr"
|
|
||||||
- make
|
|
||||||
- make install
|
|
||||||
|
|
||||||
If the configure script isn't run, try to add `unix' as a target
|
|
||||||
on the command line, e.g.:
|
|
||||||
|
|
||||||
- make setup unix CFG="--prefix=/opt/experimental"
|
|
||||||
|
|
||||||
|
|
||||||
- Windows:
|
|
||||||
|
|
||||||
We provide a version of GNU Make for Win32 on the FreeType site.
|
|
||||||
See http://www.freetype.org/download.html for details.
|
|
||||||
|
|
||||||
- gcc (Mingw, _not_ CygWin):
|
|
||||||
|
|
||||||
- make setup
|
|
||||||
- make
|
|
||||||
|
|
||||||
|
|
||||||
- Visual C++:
|
|
||||||
|
|
||||||
- make setup visualc
|
|
||||||
- make
|
|
||||||
|
|
||||||
|
|
||||||
- other compilers:
|
|
||||||
|
|
||||||
- make setup bcc32 -> Borland C++ 32 bits
|
|
||||||
- make setup intelc -> Intel C++
|
|
||||||
- make setup watcom -> Watcom C++
|
|
||||||
- make setup lcc -> Win32-LCC
|
|
||||||
|
|
||||||
|
|
||||||
If you want to build FreeType 2 in another directory, you must set
|
|
||||||
two environment variables, `OJB_DIR' and `TOP_DIR'. The former
|
|
||||||
gives the directory where the object files and the library should be
|
|
||||||
created (this directory must exist), the latter the top directory of
|
|
||||||
the FreeType 2 source tree. Example:
|
|
||||||
|
|
||||||
OBJ_DIR=~/freetype2.compiled TOP_DIR=~/freetype2 \
|
|
||||||
make -f$TOP_DIR/Makefile setup ansi
|
|
||||||
OBJ_DIR=~/freetype2.compiled TOP_DIR=~/freetype2 \
|
|
||||||
make -f$TOP_DIR/Makefile
|
|
||||||
|
|
||||||
On Unix boxes, calling `configure' from the build directory is
|
|
||||||
sufficient; it will build a small Makefile which calls the
|
|
||||||
FreeType 2 Makefile with the necessary parameters.
|
|
||||||
|
|
||||||
|
|
||||||
III. In your own environment (IDE)
|
|
||||||
----------------------------------
|
|
||||||
|
|
||||||
You need to add the directories "freetype2/include" to your include
|
|
||||||
path when compiling the library.
|
|
||||||
|
|
||||||
FreeType 2 is made of several components; each one of them is
|
|
||||||
located in a subdirectory of "freetype2/src". For example,
|
|
||||||
`freetype2/src/truetype/' contains the TrueType font driver.
|
|
||||||
|
|
||||||
DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
|
|
||||||
|
|
||||||
-- base components (required)
|
|
||||||
|
|
||||||
src/base/ftsystem.c
|
|
||||||
src/base/ftinit.c
|
|
||||||
src/base/ftdebug.c
|
|
||||||
src/base/ftbase.c
|
|
||||||
src/base/ftglyph.c
|
|
||||||
src/base/ftbbox.c
|
|
||||||
src/base/ftmm.c
|
|
||||||
|
|
||||||
src/base/ftmac.c -- only on the Macintosh
|
|
||||||
|
|
||||||
-- other components are optional
|
|
||||||
|
|
||||||
src/autohint/autohint.c -- auto hinting module
|
|
||||||
src/cache/ftcache.c -- cache sub-system (in beta)
|
|
||||||
src/sfnt/sfnt.c -- SFNT files support
|
|
||||||
(TrueType & OpenType)
|
|
||||||
src/cff/cff.c -- CFF/OpenType font driver
|
|
||||||
src/psnames/psnames.c -- Postscript glyph names support
|
|
||||||
src/psaux/psaux.c -- Postscript Type 1 parsing
|
|
||||||
src/truetype/truetype.c -- TrueType font driver
|
|
||||||
src/type1/type1.c -- Type 1 font driver
|
|
||||||
src/cid/type1cid.c -- Type 1 CID-keyed font driver
|
|
||||||
src/winfonts/winfonts.c -- Windows FONT / FNT font driver
|
|
||||||
|
|
||||||
Note:
|
|
||||||
|
|
||||||
`truetype.c' needs `sfnt.c' and `psnames.c'
|
|
||||||
`type1.c' needs `psaux.c' and `psnames.c'
|
|
||||||
`type1cid.c' needs `psaux.c' and `psnames.c'
|
|
||||||
`cff.c' needs `sfnt.c', `psaux.c', and `psnames.c'
|
|
||||||
|
|
||||||
etc.
|
|
||||||
|
|
||||||
For more information, please consult "docs/BUILD".
|
|
||||||
|
|
||||||
--- end of INSTALL --
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
|
|
||||||
FreeType Patents Disclaimer
|
|
||||||
August 1999
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
WE HAVE DISCOVERED THAT APPLE OWNS SEVERAL PATENTS RELATED TO THE
|
|
||||||
RENDERING OF TRUETYPE FONTS. THIS COULD MEAN THAT THE FREE USE OF
|
|
||||||
FREETYPE MIGHT BE ILLEGAL IN THE USA, JAPAN, AND POSSIBLY OTHER
|
|
||||||
COUNTRIES, BE IT IN COMMERCIAL OR OPEN SOURCE PRODUCTS.
|
|
||||||
|
|
||||||
FOR MORE DETAILS, WE STRONGLY ADVISE YOU TO GO TO THE FREETYPE
|
|
||||||
PATENTS PAGE AT THE FOLLOWING WEB ADDRESS:
|
|
||||||
|
|
||||||
http://www.freetype.org/patents.html
|
|
||||||
|
|
||||||
WE WILL NOT PLACE INFORMATION IN THIS FILE AS THE SITUATION IS STILL
|
|
||||||
UNDETERMINED FOR NOW. AT THE TIME THESE LINES ARE WRITTEN, WE HAVE
|
|
||||||
CONTACTED APPLE'S LEGAL DEPARTMENT AND ARE STILL WAITING FOR THEIR
|
|
||||||
ANSWER ON THE SUBJECT.
|
|
||||||
|
|
||||||
PLEASE READ THE `INSTALL' FILE TO SEE HOW TO DISABLE THE ENGINE'S
|
|
||||||
BYTECODE INTERPRETER IN ORDER TO BUILD A PATENT-FREE ENGINE, AT THE
|
|
||||||
COST OF RENDERING QUALITY.
|
|
||||||
|
|
||||||
|
|
||||||
--- end of PATENTS ---
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
Note that the list of known bugs for FreeType 2 is now located in the
|
|
||||||
document "docs/BUGS".
|
|
||||||
|
|
||||||
Here is a list of items that need to be addressed in FreeType 2; they are
|
|
||||||
not exactly bugs, but should be considered though:
|
|
||||||
|
|
||||||
* Add synthesized Unicode charmap processing to the CFF driver.
|
|
||||||
|
|
||||||
* Implement stem3/counter hints properly in the Postscript hinter.
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
Libtool's version for FreeType 2.1.3 is `9.2.3'.
|
|
||||||
|
|
||||||
On most platforms, the soname will be `6.3.2' (e.g. `libfreetype.so.6.3.2').
|
|
||||||
|
|
||||||
Libtool's version for FreeType 2.1.2 is `9.1.3'.
|
|
||||||
|
|
||||||
On most platforms, the soname will be `6.3.1' (e.g. `libfreetype.so.6.3.1').
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
|
|
||||||
FreeType comes with two licenses from which you can choose the one which
|
|
||||||
fits your needs best:
|
|
||||||
|
|
||||||
. The FreeType License, in file `docs/FTL.txt'.
|
|
||||||
|
|
||||||
. The GNU General Public License, in file `docs/GPL.txt'.
|
|
||||||
|
|
||||||
The contributed PCF driver comes with a license similar to that of X Window
|
|
||||||
System which is compatible to the above two licenses (see file
|
|
||||||
src/pcf/readme).
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
This file shows the interdependencies of various FreeType modules.
|
|
||||||
|
|
||||||
Note that the use of `psnames' can be controlled in ftconfig.h
|
|
||||||
(FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
|
|
||||||
|
|
||||||
module dependency
|
|
||||||
---------------------------------------
|
|
||||||
cff sfnt, pshinter, psnames
|
|
||||||
cid psaux, pshinter, psnames
|
|
||||||
truetype sfnt
|
|
||||||
type1 psaux, pshinter, psnames
|
|
||||||
type42 truetype
|
|
||||||
psaux psnames
|
|
||||||
sfnt psnames
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
How to build the freetype2 library on VMS
|
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
Just type one of the following depending on the type of external entries you
|
|
||||||
want:
|
|
||||||
|
|
||||||
mms
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
mms/macro=("COMP_FLAGS=/name=(as_is,short)")
|
|
||||||
|
|
||||||
The library is avalaible in the directory
|
|
||||||
|
|
||||||
[.LIB]
|
|
||||||
|
|
||||||
To compile applications using freetype2 you'll need to define the logical
|
|
||||||
FREETYPE pointing to the directory
|
|
||||||
|
|
||||||
[.INCLUDE.FREETYPE]
|
|
||||||
|
|
||||||
(i.e., if the directory in which this README.VMS file is located is
|
|
||||||
$disk:[freetype] then define the logical with
|
|
||||||
|
|
||||||
define freetype $disk:[freetype.include.freetype]
|
|
||||||
|
|
||||||
This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha V7.2-1.
|
|
||||||
|
|
||||||
|
|
||||||
Any problems can be reported to
|
|
||||||
|
|
||||||
[email protected]
|
|
||||||
|
|
||||||
|
|
||||||
Jouk Jansen
|
|
||||||
@@ -1072,11 +1072,12 @@ AboutView::_CreateCreditsView()
|
|||||||
|
|
||||||
// FreeType copyrights
|
// FreeType copyrights
|
||||||
_AddPackageCredit(PackageCredit("FreeType2")
|
_AddPackageCredit(PackageCredit("FreeType2")
|
||||||
.SetCopyright(B_TRANSLATE("Portions of this software are under "
|
.SetCopyrights(B_TRANSLATE(COPYRIGHT_STRING "1996-2002, 2006 "
|
||||||
"copyright.\n"
|
"David Turner, Robert Wilhelm and Werner Lemberg."),
|
||||||
COPYRIGHT_STRING "1996-2006 "
|
COPYRIGHT_STRING "2014 The FreeType Project. "
|
||||||
"The FreeType Project. All rights reserved."))
|
"All rights reserved.",
|
||||||
.SetLicense("FTL")
|
NULL)
|
||||||
|
.SetLicense("FreeType")
|
||||||
.SetURL("http://www.freetype.org"));
|
.SetURL("http://www.freetype.org"));
|
||||||
|
|
||||||
// Mesa3D (http://www.mesa3d.org) copyrights
|
// Mesa3D (http://www.mesa3d.org) copyrights
|
||||||
|
|||||||
Reference in New Issue
Block a user