2000-07-08 21:51:42 +02:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* z1load.h */
|
|
|
|
/* */
|
|
|
|
/* Experimental Type 1 font loader (specification). */
|
|
|
|
/* */
|
|
|
|
/* Copyright 1996-2000 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. */
|
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|
|
|
|
|
2000-01-27 15:02:04 +01:00
|
|
|
|
2000-07-05 06:32:02 +02:00
|
|
|
#ifndef Z1LOAD_H
|
|
|
|
#define Z1LOAD_H
|
2000-01-27 15:02:04 +01:00
|
|
|
|
2000-05-11 20:23:52 +02:00
|
|
|
#include <freetype/internal/ftstream.h>
|
2000-08-23 00:36:33 +02:00
|
|
|
#include <freetype/internal/psaux.h>
|
A complete revision of FreeType 2's GNU makefiles (of the library):
Tons of unnecessary stuff have been removed; only the essential rules
have been retained.
The source files now depend on all header files in include/freetype,
include/freetype/config, and include/freetype/internal. This is not
optimal, I know, and I'll try to improve this, but it is better than
before (namely no dependencies on `internal').
FTDEBUG_SRC has been added (similar to FTSYS_SRC) -- I don't know
exactly whether this is really useful, but it doesn't harm.
There is now more documentation in the makefiles itself.
io-frames.html: Use of <th>, <code>, and <var> for better tagging.
Reactivating of FT_DEBUG_LEVEL_xxx macros.
Added a lot of #include directives to make `multi' builds possible -- note
that currently the modules cid, t1, and t1z have clashing structures and
functions which means that you can only use one of these three modules for a
multi build.
Added some missing function declarations to (local) header files.
Renamed some T1_Open_Face() to CID_Open_Face() in the cid module -- a lot
of other functions should be renamed also...
Replaced many FT_xxx stuff with T1_xxx in t1z driver -- this isn't finished
yet...
Fixed FT_Free() to allow a NULL pointer without an assertion (this has
always been a valid assumption in FreeType, at least in FT 1.x).
A lot of other, minor fixes (mostly documentation).
2000-06-11 05:46:57 +02:00
|
|
|
#include <freetype/ftmm.h>
|
2000-07-08 02:41:13 +02:00
|
|
|
|
2000-07-08 21:51:42 +02:00
|
|
|
|
2000-07-08 02:41:13 +02:00
|
|
|
#ifdef FT_FLAT_COMPILE
|
2000-07-08 21:51:42 +02:00
|
|
|
|
2000-07-08 02:41:13 +02:00
|
|
|
#include "z1parse.h"
|
2000-07-08 21:51:42 +02:00
|
|
|
|
2000-07-08 02:41:13 +02:00
|
|
|
#else
|
2000-07-08 21:51:42 +02:00
|
|
|
|
2000-10-26 12:04:16 +02:00
|
|
|
#include <type1/z1parse.h>
|
2000-07-08 02:41:13 +02:00
|
|
|
|
2000-07-08 21:51:42 +02:00
|
|
|
#endif
|
2000-07-08 02:41:13 +02:00
|
|
|
|
2000-01-27 15:02:04 +01:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2000-07-08 21:51:42 +02:00
|
|
|
typedef struct Z1_Loader_
|
2000-01-27 15:02:04 +01:00
|
|
|
{
|
2000-07-08 21:51:42 +02:00
|
|
|
Z1_Parser parser; /* parser used to read the stream */
|
2000-01-27 15:02:04 +01:00
|
|
|
|
2000-07-08 21:51:42 +02:00
|
|
|
FT_Int num_chars; /* number of characters in encoding */
|
2000-08-23 04:47:57 +02:00
|
|
|
PS_Table encoding_table; /* PS_Table used to store the */
|
2000-01-27 15:02:04 +01:00
|
|
|
/* encoding character names */
|
2000-05-17 01:44:38 +02:00
|
|
|
|
2000-07-08 21:51:42 +02:00
|
|
|
FT_Int num_glyphs;
|
2000-08-23 04:47:57 +02:00
|
|
|
PS_Table glyph_names;
|
|
|
|
PS_Table charstrings;
|
2000-05-17 01:44:38 +02:00
|
|
|
|
2000-07-08 21:51:42 +02:00
|
|
|
FT_Int num_subrs;
|
2000-08-23 04:47:57 +02:00
|
|
|
PS_Table subrs;
|
2000-07-08 21:51:42 +02:00
|
|
|
FT_Bool fontdata;
|
2000-05-17 01:44:38 +02:00
|
|
|
|
2000-06-28 01:21:51 +02:00
|
|
|
} Z1_Loader;
|
2000-01-27 15:02:04 +01:00
|
|
|
|
2000-07-08 21:51:42 +02:00
|
|
|
|
2000-01-27 15:02:04 +01:00
|
|
|
LOCAL_DEF
|
2000-06-28 01:21:51 +02:00
|
|
|
FT_Error Z1_Open_Face( T1_Face face );
|
2000-01-27 15:02:04 +01:00
|
|
|
|
2000-06-28 01:21:51 +02:00
|
|
|
#ifndef Z1_CONFIG_OPTION_NO_MM_SUPPORT
|
2000-07-08 21:51:42 +02:00
|
|
|
|
2000-05-26 19:13:23 +02:00
|
|
|
LOCAL_DEF
|
2000-06-28 01:21:51 +02:00
|
|
|
FT_Error Z1_Get_Multi_Master( T1_Face face,
|
A complete revision of FreeType 2's GNU makefiles (of the library):
Tons of unnecessary stuff have been removed; only the essential rules
have been retained.
The source files now depend on all header files in include/freetype,
include/freetype/config, and include/freetype/internal. This is not
optimal, I know, and I'll try to improve this, but it is better than
before (namely no dependencies on `internal').
FTDEBUG_SRC has been added (similar to FTSYS_SRC) -- I don't know
exactly whether this is really useful, but it doesn't harm.
There is now more documentation in the makefiles itself.
io-frames.html: Use of <th>, <code>, and <var> for better tagging.
Reactivating of FT_DEBUG_LEVEL_xxx macros.
Added a lot of #include directives to make `multi' builds possible -- note
that currently the modules cid, t1, and t1z have clashing structures and
functions which means that you can only use one of these three modules for a
multi build.
Added some missing function declarations to (local) header files.
Renamed some T1_Open_Face() to CID_Open_Face() in the cid module -- a lot
of other functions should be renamed also...
Replaced many FT_xxx stuff with T1_xxx in t1z driver -- this isn't finished
yet...
Fixed FT_Free() to allow a NULL pointer without an assertion (this has
always been a valid assumption in FreeType, at least in FT 1.x).
A lot of other, minor fixes (mostly documentation).
2000-06-11 05:46:57 +02:00
|
|
|
FT_Multi_Master* master );
|
2000-05-26 19:13:23 +02:00
|
|
|
|
A complete revision of FreeType 2's GNU makefiles (of the library):
Tons of unnecessary stuff have been removed; only the essential rules
have been retained.
The source files now depend on all header files in include/freetype,
include/freetype/config, and include/freetype/internal. This is not
optimal, I know, and I'll try to improve this, but it is better than
before (namely no dependencies on `internal').
FTDEBUG_SRC has been added (similar to FTSYS_SRC) -- I don't know
exactly whether this is really useful, but it doesn't harm.
There is now more documentation in the makefiles itself.
io-frames.html: Use of <th>, <code>, and <var> for better tagging.
Reactivating of FT_DEBUG_LEVEL_xxx macros.
Added a lot of #include directives to make `multi' builds possible -- note
that currently the modules cid, t1, and t1z have clashing structures and
functions which means that you can only use one of these three modules for a
multi build.
Added some missing function declarations to (local) header files.
Renamed some T1_Open_Face() to CID_Open_Face() in the cid module -- a lot
of other functions should be renamed also...
Replaced many FT_xxx stuff with T1_xxx in t1z driver -- this isn't finished
yet...
Fixed FT_Free() to allow a NULL pointer without an assertion (this has
always been a valid assumption in FreeType, at least in FT 1.x).
A lot of other, minor fixes (mostly documentation).
2000-06-11 05:46:57 +02:00
|
|
|
LOCAL_DEF
|
2000-06-28 01:21:51 +02:00
|
|
|
FT_Error Z1_Set_MM_Blend( T1_Face face,
|
2000-06-16 21:34:52 +02:00
|
|
|
FT_UInt num_coords,
|
|
|
|
FT_Fixed* coords );
|
2000-05-26 19:13:23 +02:00
|
|
|
|
A complete revision of FreeType 2's GNU makefiles (of the library):
Tons of unnecessary stuff have been removed; only the essential rules
have been retained.
The source files now depend on all header files in include/freetype,
include/freetype/config, and include/freetype/internal. This is not
optimal, I know, and I'll try to improve this, but it is better than
before (namely no dependencies on `internal').
FTDEBUG_SRC has been added (similar to FTSYS_SRC) -- I don't know
exactly whether this is really useful, but it doesn't harm.
There is now more documentation in the makefiles itself.
io-frames.html: Use of <th>, <code>, and <var> for better tagging.
Reactivating of FT_DEBUG_LEVEL_xxx macros.
Added a lot of #include directives to make `multi' builds possible -- note
that currently the modules cid, t1, and t1z have clashing structures and
functions which means that you can only use one of these three modules for a
multi build.
Added some missing function declarations to (local) header files.
Renamed some T1_Open_Face() to CID_Open_Face() in the cid module -- a lot
of other functions should be renamed also...
Replaced many FT_xxx stuff with T1_xxx in t1z driver -- this isn't finished
yet...
Fixed FT_Free() to allow a NULL pointer without an assertion (this has
always been a valid assumption in FreeType, at least in FT 1.x).
A lot of other, minor fixes (mostly documentation).
2000-06-11 05:46:57 +02:00
|
|
|
LOCAL_DEF
|
2000-06-28 01:21:51 +02:00
|
|
|
FT_Error Z1_Set_MM_Design( T1_Face face,
|
2000-06-16 21:34:52 +02:00
|
|
|
FT_UInt num_coords,
|
|
|
|
FT_Long* coords );
|
2000-05-26 19:13:23 +02:00
|
|
|
|
2000-05-26 04:07:40 +02:00
|
|
|
LOCAL_DEF
|
2000-06-28 01:21:51 +02:00
|
|
|
void Z1_Done_Blend( T1_Face face );
|
2000-07-08 21:51:42 +02:00
|
|
|
|
|
|
|
#endif /* !Z1_CONFIG_OPTION_NO_MM_SUPPORT */
|
|
|
|
|
2000-01-27 15:02:04 +01:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2000-07-05 06:32:02 +02:00
|
|
|
#endif /* Z1LOAD_H */
|
2000-01-27 15:02:04 +01:00
|
|
|
|
|
|
|
|
|
|
|
/* END */
|