TrueType hinting is no longer patented.
* include/freetype/config/ftoption.h, devel/ftoption.h (TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Define. (TT_CONFIG_OPTION_UNPATENTED_HINTING): Undefine. * docs/CHANGES, docs/INSTALL, include/freetype/freetype.h: Updated. * docs/TRUETYPE, docs/PATENTS: Removed.
This commit is contained in:
parent
ce27fd56fa
commit
6bbbbc1523
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
||||||
|
2010-07-04 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
TrueType hinting is no longer patented.
|
||||||
|
|
||||||
|
* include/freetype/config/ftoption.h, devel/ftoption.h
|
||||||
|
(TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Define.
|
||||||
|
(TT_CONFIG_OPTION_UNPATENTED_HINTING): Undefine.
|
||||||
|
|
||||||
|
* docs/CHANGES, docs/INSTALL, include/freetype/freetype.h: Updated.
|
||||||
|
* docs/TRUETYPE, docs/PATENTS: Removed.
|
||||||
|
|
||||||
2010-07-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
2010-07-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||||
|
|
||||||
Check error value by `FT_CMap_New'.
|
Check error value by `FT_CMap_New'.
|
||||||
|
|
|
@ -488,8 +488,7 @@ FT_BEGIN_HEADER
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile */
|
/* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile */
|
||||||
/* a bytecode interpreter in the TrueType driver. Note that there are */
|
/* a bytecode interpreter in the TrueType driver. */
|
||||||
/* important patent issues related to the use of the interpreter. */
|
|
||||||
/* */
|
/* */
|
||||||
/* By undefining this, you will only compile the code necessary to load */
|
/* By undefining this, you will only compile the code necessary to load */
|
||||||
/* TrueType glyphs without hinting. */
|
/* TrueType glyphs without hinting. */
|
||||||
|
@ -504,10 +503,13 @@ FT_BEGIN_HEADER
|
||||||
/* */
|
/* */
|
||||||
/* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */
|
/* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */
|
||||||
/* of the TrueType bytecode interpreter is used that doesn't implement */
|
/* of the TrueType bytecode interpreter is used that doesn't implement */
|
||||||
/* any of the patented opcodes and algorithms. Note that the */
|
/* any of the patented opcodes and algorithms. The patents related to */
|
||||||
/* TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* if you define */
|
/* TrueType hinting have expired worldwide since May 2010; this option */
|
||||||
/* TT_CONFIG_OPTION_BYTECODE_INTERPRETER; in other words, either define */
|
/* is now deprecated. */
|
||||||
/* TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
|
/* */
|
||||||
|
/* Note that the TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* */
|
||||||
|
/* if you define TT_CONFIG_OPTION_BYTECODE_INTERPRETER; in other words, */
|
||||||
|
/* either define TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
|
||||||
/* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time. */
|
/* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time. */
|
||||||
/* */
|
/* */
|
||||||
/* This macro is only useful for a small number of font files (mostly */
|
/* This macro is only useful for a small number of font files (mostly */
|
||||||
|
|
13
docs/CHANGES
13
docs/CHANGES
|
@ -1,10 +1,20 @@
|
||||||
CHANGES BETWEEN 2.3.12 and 2.3.13
|
CHANGES BETWEEN 2.3.12 and 2.4.0
|
||||||
|
|
||||||
I. IMPORTANT CHANGES
|
I. IMPORTANT CHANGES
|
||||||
|
|
||||||
|
- Since May 2010, all patents regarding the TrueType bytecode
|
||||||
|
interpreter have expired worldwide. Consequently, we now define
|
||||||
|
TT_CONFIG_OPTION_BYTECODE_INTERPRETER by default (and undefine
|
||||||
|
TT_CONFIG_OPTION_UNPATENTED_HINTING).
|
||||||
|
|
||||||
- A new function `FT_Library_SetLcdFilterWeights' is available to
|
- A new function `FT_Library_SetLcdFilterWeights' is available to
|
||||||
adjust the filter weights set by `FT_Library_SetLcdFilter'.
|
adjust the filter weights set by `FT_Library_SetLcdFilter'.
|
||||||
|
|
||||||
|
II. MISCELLANEOUS
|
||||||
|
|
||||||
|
- Thanks to many reports from Robert Święcki, FreeType's stability
|
||||||
|
in handling broken or damaged fonts could be much improved.
|
||||||
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
@ -16,6 +26,7 @@ CHANGES BETWEEN 2.3.11 and 2.3.12
|
||||||
preferred family names: FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY and
|
preferred family names: FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY and
|
||||||
FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY.
|
FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY.
|
||||||
|
|
||||||
|
|
||||||
II. MISCELLANEOUS
|
II. MISCELLANEOUS
|
||||||
|
|
||||||
- Support for incremental font loading (controlled with the
|
- Support for incremental font loading (controlled with the
|
||||||
|
|
26
docs/INSTALL
26
docs/INSTALL
|
@ -7,13 +7,7 @@ overview of the documentation available:
|
||||||
I. Normal installation and upgrades
|
I. Normal installation and upgrades
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
1. Native TrueType Hinting
|
1. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
|
||||||
|
|
||||||
Native TrueType hinting is disabled by default[1]. If you really
|
|
||||||
need it, read the file `TRUETYPE' for information.
|
|
||||||
|
|
||||||
|
|
||||||
2. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
|
|
||||||
|
|
||||||
Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
|
Please read *both* `UPGRADE.UNIX' and `INSTALL.UNIX' to install or
|
||||||
upgrade FreeType 2 on a Unix system. Note that you *need* GNU
|
upgrade FreeType 2 on a Unix system. Note that you *need* GNU
|
||||||
|
@ -23,22 +17,22 @@ I. Normal installation and upgrades
|
||||||
GNU Make VERSION 3.80 OR NEWER IS NEEDED!
|
GNU Make VERSION 3.80 OR NEWER IS NEEDED!
|
||||||
|
|
||||||
|
|
||||||
3. On VMS with the `mms' build tool
|
2. On VMS with the `mms' build tool
|
||||||
|
|
||||||
See `INSTALL.VMS' for installation instructions on this platform.
|
See `INSTALL.VMS' for installation instructions on this platform.
|
||||||
|
|
||||||
|
|
||||||
4. Other systems using GNU Make
|
3. Other systems using GNU Make
|
||||||
|
|
||||||
On non-Unix platforms, it is possible to build the library using
|
On non-Unix platforms, it is possible to build the library using
|
||||||
GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]!
|
GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[1]!
|
||||||
This methods supports several compilers on Windows, OS/2, and
|
This methods supports several compilers on Windows, OS/2, and
|
||||||
BeOS, including MinGW, Visual C++, Borland C++, and more.
|
BeOS, including MinGW, Visual C++, Borland C++, and more.
|
||||||
|
|
||||||
Instructions are provided in the file `INSTALL.GNU'.
|
Instructions are provided in the file `INSTALL.GNU'.
|
||||||
|
|
||||||
|
|
||||||
5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
4. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
||||||
|
|
||||||
We provide a small number of `project files' for various IDEs to
|
We provide a small number of `project files' for various IDEs to
|
||||||
automatically build the library as well. Note that these files
|
automatically build the library as well. Note that these files
|
||||||
|
@ -49,7 +43,7 @@ I. Normal installation and upgrades
|
||||||
directory, where <system> stands for your OS or environment.
|
directory, where <system> stands for your OS or environment.
|
||||||
|
|
||||||
|
|
||||||
6. From you own IDE, or own Makefiles
|
5. From you own IDE, or own Makefiles
|
||||||
|
|
||||||
If you want to create your own project file, follow the
|
If you want to create your own project file, follow the
|
||||||
instructions given in the `INSTALL.ANY' document of this
|
instructions given in the `INSTALL.ANY' document of this
|
||||||
|
@ -66,9 +60,7 @@ II. Custom builds of the library
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
[1] More details on: http://www.freetype.org/patents.html
|
[1] make++, a make tool written in Perl, has sufficient support of GNU
|
||||||
|
|
||||||
[2] make++, a make tool written in Perl, has sufficient support of GNU
|
|
||||||
make extensions to build FreeType. See
|
make extensions to build FreeType. See
|
||||||
|
|
||||||
http://makepp.sourceforge.net
|
http://makepp.sourceforge.net
|
||||||
|
@ -78,8 +70,8 @@ II. Custom builds of the library
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
|
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
by David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
modified, and distributed under the terms of the FreeType project
|
modified, and distributed under the terms of the FreeType project
|
||||||
|
|
27
docs/PATENTS
27
docs/PATENTS
|
@ -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 PROPRIETARY OR FREE SOFTWARE 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,40 +0,0 @@
|
||||||
How to enable the TrueType native hinter if you need it
|
|
||||||
-------------------------------------------------------
|
|
||||||
|
|
||||||
The TrueType bytecode interpreter is disabled in all public releases
|
|
||||||
of the FreeType packages for patents reasons; see
|
|
||||||
|
|
||||||
http://www.freetype.org/patents.html
|
|
||||||
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
However, many Linux distributions do enable the interpreter in the
|
|
||||||
FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
|
|
||||||
you are using TrueType fonts on your system, you most probably want to
|
|
||||||
enable it manually by doing the following:
|
|
||||||
|
|
||||||
- open the file `include/freetype/config/ftoption.h'
|
|
||||||
|
|
||||||
- locate a line that says:
|
|
||||||
|
|
||||||
/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
|
||||||
|
|
||||||
- change it to:
|
|
||||||
|
|
||||||
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
|
||||||
|
|
||||||
These steps must be done _before_ compiling the library.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Copyright 2003, 2005, 2006 by
|
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
|
||||||
modified, and distributed under the terms of the FreeType project
|
|
||||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
|
||||||
file you indicate that you have read the license and understand and
|
|
||||||
accept it fully.
|
|
||||||
|
|
||||||
|
|
||||||
--- end of TRUETYPE ---
|
|
|
@ -488,8 +488,7 @@ FT_BEGIN_HEADER
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile */
|
/* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile */
|
||||||
/* a bytecode interpreter in the TrueType driver. Note that there are */
|
/* a bytecode interpreter in the TrueType driver. */
|
||||||
/* important patent issues related to the use of the interpreter. */
|
|
||||||
/* */
|
/* */
|
||||||
/* By undefining this, you will only compile the code necessary to load */
|
/* By undefining this, you will only compile the code necessary to load */
|
||||||
/* TrueType glyphs without hinting. */
|
/* TrueType glyphs without hinting. */
|
||||||
|
@ -497,17 +496,20 @@ FT_BEGIN_HEADER
|
||||||
/* Do not #undef this macro here, since the build system might */
|
/* Do not #undef this macro here, since the build system might */
|
||||||
/* define it for certain configurations only. */
|
/* define it for certain configurations only. */
|
||||||
/* */
|
/* */
|
||||||
/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */
|
/* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */
|
||||||
/* of the TrueType bytecode interpreter is used that doesn't implement */
|
/* of the TrueType bytecode interpreter is used that doesn't implement */
|
||||||
/* any of the patented opcodes and algorithms. Note that the */
|
/* any of the patented opcodes and algorithms. The patents related to */
|
||||||
/* TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* if you define */
|
/* TrueType hinting have expired worldwide since May 2010; this option */
|
||||||
/* TT_CONFIG_OPTION_BYTECODE_INTERPRETER; in other words, either define */
|
/* is now deprecated. */
|
||||||
/* TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
|
/* */
|
||||||
|
/* Note that the TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* */
|
||||||
|
/* if you define TT_CONFIG_OPTION_BYTECODE_INTERPRETER; in other words, */
|
||||||
|
/* either define TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
|
||||||
/* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time. */
|
/* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time. */
|
||||||
/* */
|
/* */
|
||||||
/* This macro is only useful for a small number of font files (mostly */
|
/* This macro is only useful for a small number of font files (mostly */
|
||||||
|
@ -544,7 +546,7 @@ FT_BEGIN_HEADER
|
||||||
/* ... */
|
/* ... */
|
||||||
/* } */
|
/* } */
|
||||||
/* */
|
/* */
|
||||||
#define TT_CONFIG_OPTION_UNPATENTED_HINTING
|
/* #define TT_CONFIG_OPTION_UNPATENTED_HINTING */
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
|
@ -3834,6 +3834,9 @@ FT_BEGIN_HEADER
|
||||||
/* 1~if this is a TrueType font that uses one of the patented */
|
/* 1~if this is a TrueType font that uses one of the patented */
|
||||||
/* opcodes, 0~otherwise. */
|
/* opcodes, 0~otherwise. */
|
||||||
/* */
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* Since May 2010, TrueType hinting is no longer patented. */
|
||||||
|
/* */
|
||||||
/* <Since> */
|
/* <Since> */
|
||||||
/* 2.3.5 */
|
/* 2.3.5 */
|
||||||
/* */
|
/* */
|
||||||
|
@ -3861,6 +3864,9 @@ FT_BEGIN_HEADER
|
||||||
/* an SFNT font, or if the unpatented hinter is not compiled in this */
|
/* an SFNT font, or if the unpatented hinter is not compiled in this */
|
||||||
/* instance of the library. */
|
/* instance of the library. */
|
||||||
/* */
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* Since May 2010, TrueType hinting is no longer patented. */
|
||||||
|
/* */
|
||||||
/* <Since> */
|
/* <Since> */
|
||||||
/* 2.3.5 */
|
/* 2.3.5 */
|
||||||
/* */
|
/* */
|
||||||
|
|
|
@ -397,8 +397,8 @@ FT_BEGIN_HEADER
|
||||||
*
|
*
|
||||||
* FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
|
* FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
|
||||||
* The library implements a bytecode interpreter that covers
|
* The library implements a bytecode interpreter that covers
|
||||||
* the full instruction set of the TrueType virtual machine.
|
* the full instruction set of the TrueType virtual machine (this
|
||||||
* See the file `docs/PATENTS' for legal aspects.
|
* was governed by patents until May 2010, hence the name).
|
||||||
*
|
*
|
||||||
* @since:
|
* @since:
|
||||||
* 2.2
|
* 2.2
|
||||||
|
|
Loading…
Reference in New Issue