* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.

Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to
FT_SFNT_NAMES_H.
* docs/docmaker.py: Added generation of INDEX link in table of
contents.
* INSTALL, docs/BUILD: Updated documentation to indicate that the
compilation process has changed slightly (no more `src' required in
* builds/*/*-def.mk: Changed the objects directory from "obj" to
"objs".
* include/freetype/config/ftheader.h: Removed obsolete macros like
FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>.  Added comments to
be included in a new API Reference section.

* src/*/*: Removed the use of FT_SOURCE_FILE, etc.  Now, each
component needs to add its own directory to the include path at
compile time.  Modified all "rules.mk" and "descrip.mms"
accordingly.

* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
compiler warnings in pedantic modes.
* include/config/ft2build.h, include/config/ftheader.h: The file
top-level <ft2build.h>.

* include/config/ftheader.h: Added new section describing the #include
macros.


the Type 2 glyph charstring (used by conversion programs).
* docs/docmaker.py: Added cross-references generation as well as


seac emulation provided by the Type 2 endchar operator.


* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
Added support for clipped direct rendering in the smooth renderer.


* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
This commit is contained in:
Werner Lemberg 2001-03-20 22:58:56 +00:00
parent 0e20e1e575
commit 521a2d7a13
16 changed files with 439 additions and 379 deletions

View File

@ -1,25 +1,32 @@
2001-03-20 David Turner <david.turner@freetype.org>
2001-03-20 Werner Lemberg <wl@gnu.org>
* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
2001-03-20 David Turner <david.turner@freetype.org>
* include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_H
Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to
FT_SFNT_NAMES_H.
* docs/docmaker.py: added generation of INDEX link in table of contents
* docs/docmaker.py: Added generation of INDEX link in table of
contents.
* INSTALL, docs/BUILD: updated documentation to indicate that the
compilation process has changed slightly (no more 'src' required in
* INSTALL, docs/BUILD: Updated documentation to indicate that the
compilation process has changed slightly (no more `src' required in
the include path).
* builds/*/*-def.mk: changed the objects directory from "obj" to "objs"
* builds/*/*-def.mk: Changed the objects directory from "obj" to
"objs".
* include/freetype/config/ftheader.h: removed obsolete macros like
FT_SOURCE_FILE, etc.. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>. Added comments to be
included in a new API Reference section.
* src/*/*: removed the use of FT_SOURCE_FILE, etc.. now, each component
needs to added its own directory to the include path at compile time.
Modified all "rules.mk" and "descrip.mms" accordingly..
* include/freetype/config/ftheader.h: Removed obsolete macros like
FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>. Added comments to
be included in a new API Reference section.
* src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each
component needs to add its own directory to the include path at
compile time. Modified all "rules.mk" and "descrip.mms"
accordingly.
2001-03-20 Werner Lemberg <wl@gnu.org>
@ -36,19 +43,19 @@
* src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
value an unsigned short value, first by shifting right 16 bits,
then by casting the results to FT_UShort.
2001-03-17 David Turner <david.turner@freetype.org>
* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
src/type1/t1load.c, src/type1/t1objs.c: added a few casts to remove
compiler warnings in pedantic modes..
* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
compiler warnings in pedantic modes.
* include/config/ft2build.h, include/config/ftheader.h: the file
* include/config/ft2build.h, include/config/ftheader.h: The file
"ft2build.h" was renamed to "ftheader.h" to avoid conflicts with the
top-level <ft2build.h>
* include/config/ftheader.h: added new section describing the #include
macros..
top-level <ft2build.h>.
* include/config/ftheader.h: Added new section describing the #include
macros.
2001-03-17 Tom Kacvinsky <tjk@ams.org>
@ -64,7 +71,7 @@
* src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in
cff_get_interface to facilitate getting a glyph name for glyph index
via FT_Get_Glyph_Name().
(cff_get_interface): Added support for getting a glyph name via the
"glyph_name" module interface. Uses the new function
get_cff_glyph_name().
@ -75,7 +82,7 @@
not defined. This is to add support for getting a glyph name from a
glyph index via FT_Get_Glyph_Name().
Submitted by Sander van der Wal <svdwal@xs4all.nl>
* src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
deprecated operator "dotsection".
Submitted by Sander van der Wal <svdwal@xs4all.nl>
@ -150,7 +157,7 @@
2001-03-05 Tom Kacvinsky <tjk@ams.org>
* src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
the Type 2 glyph charstring (used by conversion programs).
the Type 2 glyph charstring (used by conversion programs).
Submitted by Ha Shao <hashao@chinese.com>.
2001-03-04 Antoine Leca <Antoine.Leca@renault.fr>
@ -304,7 +311,7 @@
2001-01-11 David Turner <david.turner@freetype.org>
* docs/docmaker.py: Added cross-references generation as well as
* docs/docmaker.py: Added cross-references generation as well as
more robust handling of pathname wildcard matching.
2001-01-10 Werner Lemberg <wl@gnu.org>
@ -332,7 +339,7 @@
2001-01-03 Tom Kacvinsky <tjk@ams.org>
* src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
* include/freetype/internal/internal.h: Changed to use cfftypes.h
(cfferrs.h) instead of t2types.h (t2errors.h, respectively).
@ -354,7 +361,7 @@
* src/cff/t2gload.h: Renamed cffgload.h.
* src/cff/t2gload.c: Renamed cffgload.c
2000-01-02 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
* builds/vms: Support files for VMS architecture added.
@ -398,7 +405,7 @@
* src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
t2_operator_seac): Added these functions for use in implementing the
seac emulation provided by the Type 2 endchar operator.
seac emulation provided by the Type 2 endchar operator.
(T2_Parse_CharStrings): Added seac emulation for the endchar
operator.
@ -406,13 +413,13 @@
CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
charset/encoding tables, and free the memory used by them when the
CFF driver is finished with them. Added tables
cff_isoadobe_charset
cff_expert_charset
cff_expertsubset_charset
cff_standard_encoding
cff_expert_encoding
so that the encoding/charset parser can handle predefined encodings and
charsets.
@ -433,7 +440,7 @@
2000-12-21 David Turner <david.turner@freetype.org>
* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
we'll work on supporting CID AFM files later I guess :-)
2000-12-21 Tom Kacvinsky <tjk@ams.org>
@ -459,7 +466,7 @@
2000-12-14 David Turner <david.turner@freetype.org>
Added support for clipped direct rendering in the smooth renderer.
Added support for clipped direct rendering in the smooth renderer.
This should not break binary compatibility of existing applications.
* include/freetype/fttypes.h, include/freetype/ftimage.h: Move
@ -468,7 +475,7 @@
FT_Raster_Flag enumeration.
Add `clip_box' element to FT_Raster_Params structure.
* src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
* INSTALL: Updated installation instructions on Win32, listing the
new "make setup list" target used to list supported
compilers/targets.
@ -483,7 +490,7 @@
to use direct definitions. This is the only way to do these things
in a portable way :-( The rest of the code should follow shortly
though everything compiles now.
* builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
* builds/win32/detect.mk: Added support for the Intel C/C++
@ -759,13 +766,13 @@
2000-11-22 Tom Kacvinsky <tjk@ams.org>
* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
`root->num_faces' to `cff->num_faces' and set `units_per_EM'
to 1000.
* src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
loop.
* src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
sid that was off by one.

12
INSTALL
View File

@ -60,14 +60,14 @@ I. From the command line
II. In your own environment (IDE)
---------------------------------
You need to add the directories "freetype2/include" to
your include path when compiling the library.
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.
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:
DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
-- base components (required)

View File

@ -86,12 +86,12 @@ ifeq ($(PLATFORM),win32)
.PHONY: visualc
endif
ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++
ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++
CONFIG_FILE := w32-intl.mk
SEP := $(BACKSLASH)
CC := cl
visualc: setup
.PHONY: visualc
.PHONY: intelc
endif
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++

View File

@ -13,8 +13,8 @@ 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"..
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:
@ -62,8 +62,8 @@ II. COMMAND-LINE COMPILATION
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 !!
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:
@ -72,7 +72,7 @@ II. COMMAND-LINE COMPILATION
to display its version number.
VERSION 3.78.1 OR NEWER IS NEEDED !!.
VERSION 3.78.1 OR NEWER IS NEEDED!
b. Invoke `make'
@ -208,7 +208,7 @@ III. DETAILED COMPILATION PROCEDURE
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
The last module of FreeType 2, `winfonts' (implementing support for
Windows FNT format), is a single file.
To compile one component, do the following:
@ -216,18 +216,18 @@ III. DETAILED COMPILATION PROCEDURE
- 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
- 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..
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
cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c
Alternatively:
@ -252,7 +252,7 @@ III. DETAILED COMPILATION PROCEDURE
IV. Support for flat-directory compilation
------------------------------------------
It is possible to put all FreeType 2 source files into a single
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:
@ -270,7 +270,7 @@ IV. Support for flat-directory compilation
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)
You don't need to define the FT_FLAT_COMPILATION macro (as this was
required in previous releases of FreeType 2).
End of file

View File

@ -901,12 +901,13 @@ class DocSectionList:
# provide a new one.
#
if abstract:
section.block.print_error( "duplicate section definition for " +
"'" + name + "'\n" +
"previous definition in " +
"'" + section.block.location() + "'\n" +
"second definition in " +
"'" + block.location() + "'" )
section.block.print_error(
"duplicate section definition for " +
"'" + name + "'\n" +
"previous definition in " +
"'" + section.block.location() + "'\n" +
"second definition in " +
"'" + block.location() + "'" )
else:
# The old section didn't contain an abstract; we are
# now going to replace it.

View File

@ -60,318 +60,369 @@
/* */
/*************************************************************************/
/*************************************************************************
*
* <Section> header_file_macros
*
* <Title> Header File Macros
*
* <Abstract>
* Macro definitions used to #include specific header files
*
* <Description>
* The following macros are defined to the name of specific FreeType 2
* header files. They can be used directly in #include statements as in:
*
* {
* #include FT_FREETYPE_H
* #include FT_MULTIPLE_MASTERS_H
* #include FT_GLYPH_H
* }
*
* there are several reasons why we're now using macros to name
* public header files. The first one is that the macros are not
* limited to the infamous 8.3 naming rule required by Dos
* (and FT_MULTIPLE_MASTERS_H is a lot more meaningful than "ftmm.h")
*
* The second reason is that is allows for more flexibility in the way
* FreeType 2 is installed on a given system..
*
*/
/*************************************************************************/
/* */
/* <Section> */
/* header_file_macros */
/* */
/* <Title> */
/* Header File Macros */
/* */
/* <Abstract> */
/* Macro definitions used to #include specific header files. */
/* */
/* <Description> */
/* The following macros are defined to the name of specific */
/* FreeType 2 header files. They can be used directly in #include */
/* statements as in: */
/* */
/* { */
/* #include FT_FREETYPE_H */
/* #include FT_MULTIPLE_MASTERS_H */
/* #include FT_GLYPH_H */
/* } */
/* */
/* There are several reasons why we are now using macros to name */
/* public header files. The first one is that such macros are not */
/* limited to the infamous 8.3 naming rule required by DOS (and */
/* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */
/* */
/* The second reason is that is allows for more flexibility in the */
/* way FreeType 2 is installed on a given system. */
/* */
/*************************************************************************/
/* configuration files */
/*************************************************************************
*
* @macro: FT_CONFIG_CONFIG_H
*
* @description:
* a macro used in #include statements to name the file containing
* FreeType 2 configuration
*/
/*************************************************************************/
/* */
/* @macro: */
/* FT_CONFIG_CONFIG_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* FreeType 2 configuration data. */
/* */
#ifndef FT_CONFIG_CONFIG_H
#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
#endif
/*************************************************************************
*
* @macro: FT_CONFIG_OPTIONS_H
*
* @description:
* a macro used in #include statements to name the file containing
* FreeType 2 project-specific configuration options
*/
/*************************************************************************/
/* */
/* @macro: */
/* FT_CONFIG_OPTIONS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* FreeType 2 project-specific configuration options. */
/* */
#ifndef FT_CONFIG_OPTIONS_H
#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
#endif
/*************************************************************************
*
* @macro: FT_CONFIG_MODULES_H
*
* @description:
* a macro used in #include statements to name the file containing
* the list of FreeType 2 modules that are statically linked to new
* library instances in @FT_Init_FreeType
*/
/*************************************************************************/
/* */
/* @macro: */
/* FT_CONFIG_MODULES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the list of FreeType 2 modules that are statically linked to new */
/* library instances in @FT_Init_FreeType. */
/* */
#ifndef FT_CONFIG_MODULES_H
#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
#endif
/* public headers */
/*************************************************************************
*
* @macro: FT_FREETYPE_H
*
* @description:
* a macro used in #include statements to name the file containing
* the base FreeType 2 API
*/
#define FT_FREETYPE_H <freetype/freetype.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_FREETYPE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the base FreeType 2 API. */
/* */
#define FT_FREETYPE_H <freetype/freetype.h>
/*************************************************************************
*
* @macro: FT_ERRORS_H
*
* @description:
* a macro used in #include statements to name the file containing
* the list of FreeType 2 error codes (and messages).
*
* it is included by @FT_FREETYPE_H
*/
#define FT_ERRORS_H <freetype/fterrors.h>
/*************************************************************************
*
* @macro: FT_SYSTEM_H
*
* @description:
* a macro used in #include statements to name the file containing
* the FreeType 2 interface to low-level operations (i.e. memory management
* and stream i/o)
*
* it is included by @FT_FREETYPE_H
*/
#define FT_SYSTEM_H <freetype/ftsystem.h>
/*************************************************************************
*
* @macro: FT_IMAGE_H
*
* @description:
* a macro used in #include statements to name the file containing
* types definitions related to glyph images (i.e. bitmaps, outlines,
* scan-converter parameters)
*
* it is included by @FT_FREETYPE_H
*/
#define FT_IMAGE_H <freetype/ftimage.h>
/*************************************************************************
*
* @macro: FT_TYPES_H
*
* @description:
* a macro used in #include statements to name the file containing
* the basic data types defined by FreeType 2
*
* it is included by @FT_FREETYPE_H
*/
#define FT_TYPES_H <freetype/fttypes.h>
/*************************************************************************
*
* @macro: FT_LIST_H
*
* @description:
* a macro used in #include statements to name the file containing
* the list management API of FreeType 2
*
* (most applications will never need to include this file)
*/
#define FT_LIST_H <freetype/ftlist.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_ERRORS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the list of FreeType 2 error codes (and messages). */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
#define FT_ERRORS_H <freetype/fterrors.h>
/*************************************************************************
*
* @macro: FT_OUTLINE_H
*
* @description:
* a macro used in #include statements to name the file containing
* the scalable outline management API of FreeType 2
*/
#define FT_OUTLINE_H <freetype/ftoutln.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_SYSTEM_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the FreeType 2 interface to low-level operations (i.e. memory */
/* management and stream i/o). */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
#define FT_SYSTEM_H <freetype/ftsystem.h>
/*************************************************************************
*
* @macro: FT_MODULE_H
*
* @description:
* a macro used in #include statements to name the file containing
* the module management API of FreeType 2
*/
#define FT_MODULE_H <freetype/ftmodule.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_IMAGE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* types definitions related to glyph images (i.e. bitmaps, outlines, */
/* scan-converter parameters). */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
#define FT_IMAGE_H <freetype/ftimage.h>
/*************************************************************************
*
* @macro: FT_RENDER_H
*
* @description:
* a macro used in #include statements to name the file containing
* the renderer module management API of FreeType 2
*/
#define FT_RENDER_H <freetype/ftrender.h>
/*************************************************************************
*
* @macro: FT_TYPE1_TABLES_H
*
* @description:
* a macro used in #include statements to name the file containing
* the types and API specific to the Type 1 format.
*/
#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TYPES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the basic data types defined by FreeType 2. */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
#define FT_TYPES_H <freetype/fttypes.h>
/*************************************************************************
*
* @macro: FT_TRUETYPE_IDS_H
*
* @description:
* a macro used in #include statements to name the file containing
* the enumeration values used to identify name strings, languages,
* encodings, etc.. This file really contains a _large_ set of
* constant macro definitions, taken from the TrueType and OpenType
* specs..
*/
#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
/*************************************************************************
*
* @macro: FT_TRUETYPE_TABLES_H
*
* @description:
* a macro used in #include statements to name the file containing
* the types and API specific to the TrueType (as well as OpenType) format.
*/
#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_LIST_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the list management API of FreeType 2. */
/* */
/* (Most applications will never need to include this file.) */
/* */
#define FT_LIST_H <freetype/ftlist.h>
/*************************************************************************
*
* @macro: FT_TRUETYPE_TAGS_H
*
* @description:
* a macro used in #include statements to name the file containing
* the definitions of TrueType 4-byte "tags" used to identify blocks
* in SFNT-based font formats (i.e. TrueType and OpenType)
*/
#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
/*************************************************************************
*
* @macro: FT_GLYPH_H
*
* @description:
* a macro used in #include statements to name the file containing
* the API of the optional glyph management component.
*/
#define FT_GLYPH_H <freetype/ftglyph.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_OUTLINE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the scalable outline management API of FreeType 2. */
/* */
#define FT_OUTLINE_H <freetype/ftoutln.h>
/*************************************************************************
*
* @macro: FT_BBOX_H
*
* @description:
* a macro used in #include statements to name the file containing
* the API of the optional exact bounding box computation routines
*/
#define FT_BBOX_H <freetype/ftbbox.h>
/*************************************************************************
*
* @macro: FT_CACHE_H
*
* @description:
* a macro used in #include statements to name the file containing
* the API of the optional FreeType 2 cache sub-system.
*/
#define FT_CACHE_H <freetype/ftcache.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_MODULE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the module management API of FreeType 2. */
/* */
#define FT_MODULE_H <freetype/ftmodule.h>
/*************************************************************************
*
* @macro: FT_CACHE_IMAGE_H
*
* @description:
* a macro used in #include statements to name the file containing
* the "glyph image" API of the FreeType 2 cache sub-system
*
* it is used to define a cache for @FT_Glyph elements. You can also
* see the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need
* to store small glyph bitmaps, as it will use less memory
*/
#define FT_CACHE_IMAGE_H <freetype/cache/ftcimage.h>
/*************************************************************************
*
* @macro: FT_CACHE_SMALL_BITMAPS_H
*
* @description:
* a macro used in #include statements to name the file containing
* the "small bitmaps" API of the FreeType 2 cache sub-system
*
* it is used to define a cache for small glyph bitmaps in a relatively
* memory-efficient way. You can also use the API defined in
* @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, including
* scalable outlines.
*/
#define FT_CACHE_SMALL_BITMAPS_H <freetype/cache/ftcsbits.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_RENDER_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the renderer module management API of FreeType 2. */
/* */
#define FT_RENDER_H <freetype/ftrender.h>
/*************************************************************************
*
* @macro: FT_MAC_H
*
* @description:
* a macro used in #include statements to name the file containing
* the Macintosh-specific FreeType 2 API. The latter is used to
* access fonts embedded in resource forks..
*
* this header file must be explicitely included by client applications
* compiled on the Mac (note that the base API still works though)
*/
#define FT_MAC_H <freetype/ftmac.h>
/*************************************************************************
*
* @macro: FT_MULTIPLE_MASTERS_H
*
* @description:
* a macro used in #include statements to name the file containing
* the optional multiple-masters management API of FreeType 2
*/
/*************************************************************************/
/* */
/* @macro: */
/* FT_TYPE1_TABLES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the types and API specific to the Type 1 format. */
/* */
#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TRUETYPE_IDS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the enumeration values used to identify name strings, languages, */
/* encodings, etc. This file really contains a _large_ set of */
/* constant macro definitions, taken from the TrueType and OpenType */
/* specifications. */
/* */
#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TRUETYPE_TABLES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the types and API specific to the TrueType (as well as OpenType) */
/* format. */
/* */
#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TRUETYPE_TAGS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the definitions of TrueType 4-byte `tags' used to identify blocks */
/* in SFNT-based font formats (i.e. TrueType and OpenType). */
/* */
#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_GLYPH_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the API of the optional glyph management component. */
/* */
#define FT_GLYPH_H <freetype/ftglyph.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_BBOX_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the API of the optional exact bounding box computation routines. */
/* */
#define FT_BBOX_H <freetype/ftbbox.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_CACHE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the API of the optional FreeType 2 cache sub-system. */
/* */
#define FT_CACHE_H <freetype/ftcache.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_CACHE_IMAGE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the `glyph image' API of the FreeType 2 cache sub-system. */
/* */
/* It is used to define a cache for @FT_Glyph elements. You can also */
/* see the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need */
/* to store small glyph bitmaps, as it will use less memory. */
/* */
#define FT_CACHE_IMAGE_H <freetype/cache/ftcimage.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_CACHE_SMALL_BITMAPS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the `small bitmaps' API of the FreeType 2 cache sub-system. */
/* */
/* It is used to define a cache for small glyph bitmaps in a */
/* relatively memory-efficient way. You can also use the API defined */
/* in @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, */
/* including scalable outlines. */
/* */
#define FT_CACHE_SMALL_BITMAPS_H <freetype/cache/ftcsbits.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_MAC_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the Macintosh-specific FreeType 2 API. The latter is used to */
/* access fonts embedded in resource forks. */
/* */
/* This header file must be explicitly included by client */
/* applications compiled on the Mac (note that the base API still */
/* works though). */
/* */
#define FT_MAC_H <freetype/ftmac.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_MULTIPLE_MASTERS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the optional multiple-masters management API of FreeType 2. */
/* */
#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
/*************************************************************************
*
* @macro: FT_SFNT_NAMES_H
*
* @description:
* a macro used in #include statements to name the file containing
* the optional FreeType 2 API used to access embedded "name" strings
* in SFNT-based font formats (i.e. TrueType and OpenType)
*/
#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
/* */
/*************************************************************************/
/* */
/* @macro: */
/* FT_SFNT_NAMES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the optional FreeType 2 API used to access embedded `name' strings */
/* in SFNT-based font formats (i.e. TrueType and OpenType). */
/* */
#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
/* */
#define FT_SYNTHESIS_H <freetype/ftsynth.h>
@ -382,6 +433,7 @@
#define FT_CACHE_INTERNAL_CHUNK_H <freetype/cache/ftcchunk.h>
/* now include internal headers definitions from <freetype/internal/...> */
#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>
#include FT_INTERNAL_INTERNAL_H

View File

@ -276,9 +276,9 @@ FT_BEGIN_HEADER
/* FT_Offset */
/* */
/* <Description> */
/* This is equivalent to the ANSI C "size_t" type, i.e. it's the */
/* largest _unsigned_ integer type used to express a file size or */
/* position, or a memory block size. */
/* This is equivalent to the ANSI C `size_t' type, i.e. the largest */
/* _unsigned_ integer type used to express a file size or position, */
/* or a memory block size. */
/* */
typedef size_t FT_Offset;
@ -289,7 +289,7 @@ FT_BEGIN_HEADER
/* FT_PtrDist */
/* */
/* <Description> */
/* This is equivalent to the ANSI C "ptrdiff_t" type, i.e. the */
/* This is equivalent to the ANSI C `ptrdiff_t' type, i.e. the */
/* largest _signed_ integer type used to express the distance */
/* between two pointers. */
/* */

View File

@ -2079,10 +2079,10 @@
}
FT_EXPORT_DEF(FT_Error)
FT_Render_Glyph_Internal( FT_Library library,
FT_GlyphSlot slot,
FT_UInt render_mode )
FT_EXPORT_DEF( FT_Error ) FT_Render_Glyph_Internal(
FT_Library library,
FT_GlyphSlot slot,
FT_UInt render_mode )
{
FT_Error error = FT_Err_Ok;
FT_Renderer renderer;

View File

@ -225,14 +225,15 @@
FT_Pointer buffer,
FT_UInt buffer_max )
{
CFF_Font* font = (CFF_Font*)face->extra.data;
CFF_Font* font = (CFF_Font*)face->extra.data;
FT_Memory memory = FT_FACE_MEMORY(face);
FT_String* gname;
FT_UShort sid;
PSNames_Interface* psnames;
FT_Error error;
psnames = (PSNames_Interface*)FT_Get_Module_Interface( face->root.driver->root.library, "psnames" );
psnames = (PSNames_Interface*)FT_Get_Module_Interface(
face->root.driver->root.library, "psnames" );
if ( !psnames )
{
@ -255,7 +256,7 @@
FT_UInt len = strlen( gname );
if (len >= buffer_max)
if ( len >= buffer_max )
len = buffer_max - 1;
MEM_Copy( buffer, gname, len );
@ -269,6 +270,7 @@
return error;
}
/*************************************************************************/
/* */
/* <Function> */

View File

@ -1066,7 +1066,6 @@
case cff_op_hintmask:
case cff_op_cntrmask:
FT_TRACE4(( op == cff_op_hintmask ? " hintmask"
: " cntrmask" ));
@ -1078,7 +1077,9 @@
FT_TRACE4(( " " ));
for ( maskbyte = 0; maskbyte < ( decoder->num_hints + 7 ) >> 3 ; maskbyte++, ip++ )
for ( maskbyte = 0;
maskbyte < ( decoder->num_hints + 7 ) >> 3;
maskbyte++, ip++ )
{
FT_TRACE4(( "%02X", *ip ));
}
@ -1839,10 +1840,8 @@
goto Unimplemented;
case cff_op_dotsection:
{
/* this operator is deprecated and ignored by the parser */
FT_TRACE4(( " dotsection" ));
}
/* this operator is deprecated and ignored by the parser */
FT_TRACE4(( " dotsection" ));
break;
case cff_op_and:

View File

@ -8,7 +8,7 @@
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and xdistributed under the terms of the FreeType project */
/* 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. */

View File

@ -388,8 +388,8 @@
/* set global bbox, as well as EM size */
root->bbox = dict->font_bbox;
root->ascender = (FT_Short)(root->bbox.yMax >> 16);
root->descender = (FT_Short)(root->bbox.yMin >> 16);
root->ascender = (FT_Short)( root->bbox.yMax >> 16 );
root->descender = (FT_Short)( root->bbox.yMin >> 16 );
root->height = ( ( root->ascender - root->descender ) * 12 ) / 10;
if ( dict->units_per_em )

View File

@ -339,7 +339,7 @@
temp = ABS( matrix->yy );
*upm = (FT_UShort)( FT_DivFix( 0x10000L,
FT_DivFix( temp, 1000 ) ) >> 16 );
FT_DivFix( temp, 1000 ) ) >> 16 );
if ( temp != 0x10000L )
{

View File

@ -225,8 +225,8 @@
if ( !root->units_per_EM )
root->units_per_EM = 1000;
root->ascender = (FT_Short)(face->cid.font_bbox.yMax >> 16);
root->descender = (FT_Short)(face->cid.font_bbox.yMin >> 16);
root->ascender = (FT_Short)( face->cid.font_bbox.yMax >> 16 );
root->descender = (FT_Short)( face->cid.font_bbox.yMin >> 16 );
root->height = ( ( root->ascender + root->descender ) * 12 )
/ 10;

View File

@ -981,10 +981,10 @@ THE SOFTWARE.
yres = find_property( face, "RESOLUTION_Y" );
if ( ( xres != NULL ) && ( yres != NULL ) )
{
root->available_sizes->width = (FT_Short)
(prop->value.integer * 75 / xres->value.integer);
root->available_sizes->height = (FT_Short)
(prop->value.integer * 75 / yres->value.integer);
root->available_sizes->width =
(FT_Short)( prop->value.integer * 75 / xres->value.integer );
root->available_sizes->height =
(FT_Short)( prop->value.integer * 75 / yres->value.integer );
}
}
else

View File

@ -268,20 +268,19 @@
root->num_fixed_sizes = 0;
root->available_sizes = 0;
root->bbox = face->type1.font_bbox;
root->bbox = face->type1.font_bbox;
/* Set units_per_EM if we didn't set it in parse_font_matrix. */
if ( !root->units_per_EM )
root->units_per_EM = 1000;
root->ascender = (FT_Short)(face->type1.font_bbox.yMax >> 16);
root->descender = (FT_Short)(face->type1.font_bbox.yMin >> 16);
root->height = ( ( root->ascender - root->descender ) * 12 ) / 10;
root->ascender = (FT_Short)( face->type1.font_bbox.yMax >> 16 );
root->descender = (FT_Short)( face->type1.font_bbox.yMin >> 16 );
root->height = ( ( root->ascender - root->descender ) * 12 ) / 10;
/* now compute the maximum advance width */
root->max_advance_width = (FT_Short)(face->type1.font_bbox.xMax >> 16);
root->max_advance_width =
(FT_Short)( face->type1.font_bbox.xMax >> 16 );
{
FT_Int max_advance;