parent
67d301f305
commit
e3c11d7f00
19 changed files with 2639 additions and 2576 deletions
File diff suppressed because it is too large
Load Diff
@ -1,304 +1,167 @@ |
||||
/*******************************************************************
|
||||
* |
||||
* t1objs.h 1.0 |
||||
* |
||||
* Type1 objects definition. |
||||
* |
||||
* Copyright 1996-1999 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. |
||||
* |
||||
******************************************************************/ |
||||
|
||||
#ifndef T1OBJS_H |
||||
#define T1OBJS_H |
||||
/***************************************************************************/ |
||||
/* */ |
||||
/* cidobjs.h */ |
||||
/* */ |
||||
/* CID objects manager (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. */ |
||||
/* */ |
||||
/***************************************************************************/ |
||||
|
||||
|
||||
#ifndef CIDOBJS_H |
||||
#define CIDOBJS_H |
||||
|
||||
#include <freetype/internal/ftobjs.h> |
||||
#include <freetype/config/ftconfig.h> |
||||
#include <freetype/internal/t1errors.h> |
||||
#include <freetype/internal/t1types.h> |
||||
|
||||
|
||||
#ifdef __cplusplus |
||||
extern "C" { |
||||
#endif |
||||
|
||||
|
||||
/* The following structures must be defined by the hinter */ |
||||
typedef struct T1_Size_Hints_ T1_Size_Hints; |
||||
typedef struct T1_Glyph_Hints_ T1_Glyph_Hints; |
||||
|
||||
/***********************************************************************/ |
||||
/* */ |
||||
/* <Type> T1_Driver */ |
||||
/* */ |
||||
/* <Description> */ |
||||
/* A handle to a Type 1 driver object. */ |
||||
/* */ |
||||
typedef struct T1_DriverRec_ *T1_Driver; |
||||
|
||||
|
||||
/***********************************************************************/ |
||||
/* */ |
||||
/* <Type> T1_Size */ |
||||
/* */ |
||||
/* <Description> */ |
||||
/* A handle to a Type 1 size object. */ |
||||
/* */ |
||||
|
||||
/*************************************************************************/ |
||||
/* */ |
||||
/* <Type> */ |
||||
/* T1_Driver */ |
||||
/* */ |
||||
/* <Description> */ |
||||
/* A handle to a Type 1 driver object. */ |
||||
/* */ |
||||
typedef struct T1_DriverRec_* T1_Driver; |
||||
|
||||
|
||||
/*************************************************************************/ |
||||
/* */ |
||||
/* <Type> */ |
||||
/* T1_Size */ |
||||
/* */ |
||||
/* <Description> */ |
||||
/* A handle to a Type 1 size object. */ |
||||
/* */ |
||||
typedef struct T1_SizeRec_* T1_Size; |
||||
|
||||
|
||||
/***********************************************************************/ |
||||
/* */ |
||||
/* <Type> T1_GlyphSlot */ |
||||
/* */ |
||||
/* <Description> */ |
||||
/* A handle to a Type 1 glyph slot object. */ |
||||
/* */ |
||||
/*************************************************************************/ |
||||
/* */ |
||||
/* <Type> */ |
||||
/* T1_GlyphSlot */ |
||||
/* */ |
||||
/* <Description> */ |
||||
/* A handle to a Type 1 glyph slot object. */ |
||||
/* */ |
||||
typedef struct T1_GlyphSlotRec_* T1_GlyphSlot; |
||||
|
||||
|
||||
/***********************************************************************/ |
||||
/* */ |
||||
/* <Type> T1_CharMap */ |
||||
/* */ |
||||
/* <Description> */ |
||||
/* A handle to a Type 1 character mapping object. */ |
||||
/* */ |
||||
/* <Note> */ |
||||
/* The Type 1 format doesn't use a charmap but an encoding table. */ |
||||
/* The driver is responsible for making up charmap objects */ |
||||
/* corresponding to these tables.. */ |
||||
/* */ |
||||
/*************************************************************************/ |
||||
/* */ |
||||
/* <Type> */ |
||||
/* T1_CharMap */ |
||||
/* */ |
||||
/* <Description> */ |
||||
/* A handle to a Type 1 character mapping object. */ |
||||
/* */ |
||||
/* <Note> */ |
||||
/* The Type 1 format doesn't use a charmap but an encoding table. */ |
||||
/* The driver is responsible for making up charmap objects */ |
||||
/* corresponding to these tables. */ |
||||
/* */ |
||||
typedef struct T1_CharMapRec_* T1_CharMap; |
||||
|
||||
|
||||
/*************************************************************************/ |
||||
/* */ |
||||
/* HERE BEGINS THE TYPE1 SPECIFIC STUFF */ |
||||
/* */ |
||||
/*************************************************************************/ |
||||
|
||||
/**************************************************************************/ |
||||
/* */ |
||||
/* NOW BEGINS THE TYPE1 SPECIFIC STUFF .............................. */ |
||||
/* */ |
||||
/**************************************************************************/ |
||||
|
||||
|
||||
/***************************************************/ |
||||
/* */ |
||||
/* T1_Size : */ |
||||
/* */ |
||||
/* Type 1 size record.. */ |
||||
/* */ |
||||
|
||||
typedef struct T1_SizeRec_ |
||||
{ |
||||
FT_SizeRec root; |
||||
T1_Bool valid; |
||||
T1_Size_Hints* hints; /* defined in the hinter. This allows */ |
||||
/* us to experiment with different */ |
||||
/* hinting schemes without having to */ |
||||
/* change 't1objs' each time.. */ |
||||
T1_Size_Hints* hints; /* defined in the hinter. This allows */ |
||||
/* us to experiment with different */ |
||||
/* hinting schemes without having to */ |
||||
/* change `cidobjs' each time. */ |
||||
} T1_SizeRec; |
||||
|
||||
|
||||
|
||||
/***************************************************/ |
||||
/* */ |
||||
/* T1_GlyphSlot : */ |
||||
/* */ |
||||
/* TrueDoc glyph record.. */ |
||||
/* */ |
||||
|
||||
typedef struct T1_GlyphSlotRec_ |
||||
typedef struct T1_GlyphSlotRec_ |
||||
{ |
||||
FT_GlyphSlotRec root; |
||||
|
||||
T1_Bool hint; |
||||
T1_Bool scaled; |
||||
|
||||
FT_Int max_points; |
||||
FT_Int max_contours; |
||||
T1_Int max_points; |
||||
T1_Int max_contours; |
||||
|
||||
FT_Fixed x_scale; |
||||
FT_Fixed y_scale; |
||||
T1_Fixed x_scale; |
||||
T1_Fixed y_scale; |
||||
|
||||
T1_Glyph_Hints* hints; /* defined in the hinter */ |
||||
|
||||
} T1_GlyphSlotRec; |
||||
|
||||
|
||||
/*******************************************************************
|
||||
* |
||||
* <Function> T1_Init_Face |
||||
* |
||||
* <Description> |
||||
* Initialise a given Type 1 face object |
||||
* |
||||
* <Input> |
||||
* face_index :: index of font face in resource |
||||
* resource :: source font resource |
||||
* face :: face record to build |
||||
* |
||||
* <Return> |
||||
* Error code. |
||||
* |
||||
******************************************************************/ |
||||
|
||||
LOCAL_DEF |
||||
FT_Error T1_Init_Face( FT_Stream stream, |
||||
CID_Face face, |
||||
FT_Int face_index, |
||||
FT_Int num_params, |
||||
FT_Parameter* params ); |
||||
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* |
||||
* <Function> T1_Done_Face |
||||
* |
||||
* <Description> |
||||
* Finalise a given face object |
||||
* |
||||
* <Input> |
||||
* face :: handle to the face object to destroy |
||||
* |
||||
******************************************************************/ |
||||
T1_Error CID_Init_Face( FT_Stream stream, |
||||
CID_Face face, |
||||
T1_Int face_index, |
||||
T1_Int num_params, |
||||
FT_Parameter* params ); |
||||
|
||||
LOCAL_DEF |
||||
void T1_Done_Face( CID_Face face ); |
||||
|
||||
|
||||
void CID_Done_Face( CID_Face face ); |
||||
|
||||
/*******************************************************************
|
||||
* |
||||
* <Function> T1_Init_Size |
||||
* |
||||
* <Description> |
||||
* Initialise a new Type 1 size object |
||||
* |
||||
* <Input> |
||||
* size :: handle to size object |
||||
* |
||||
* <Return> |
||||
* Type 1 error code. 0 means success. |
||||
* |
||||
******************************************************************/ |
||||
|
||||
LOCAL_DEF |
||||
FT_Error T1_Init_Size( T1_Size size ); |
||||
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* |
||||
* <Function> T1_Done_Size |
||||
* |
||||
* <Description> |
||||
* The Type 1 size object finaliser. |
||||
* |
||||
* <Input> |
||||
* size :: handle to the target size object. |
||||
* |
||||
******************************************************************/ |
||||
T1_Error CID_Init_Size( T1_Size size ); |
||||
|
||||
LOCAL_DEF |
||||
void T1_Done_Size( T1_Size size ); |
||||
|
||||
|
||||
/*******************************************************************
|
||||
* |
||||
* <Function> T1_Reset_Size |
||||
* |
||||
* <Description> |
||||
* Reset a Type 1 size when resolutions and character dimensions |
||||
* have been changed.. |
||||
* |
||||
* <Input> |
||||
* size :: handle to the target size object. |
||||
* |
||||
******************************************************************/ |
||||
void CID_Done_Size( T1_Size size ); |
||||
|
||||
LOCAL_DEF |
||||
FT_Error T1_Reset_Size( T1_Size size ); |
||||
T1_Error CID_Reset_Size( T1_Size size ); |
||||
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* |
||||
* <Function> T1_Init_GlyphSlot |
||||
* |
||||
* <Description> The TrueType glyph slot initialiser |
||||
* |
||||
* <Input> glyph :: glyph record to build. |
||||
* |
||||
* <Output> Error code. |
||||
* |
||||
******************************************************************/ |
||||
|
||||
LOCAL_DEF |
||||
FT_Error T1_Init_GlyphSlot( T1_GlyphSlot slot ); |
||||
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* |
||||
* <Function> T1_Done_GlyphSlot |
||||
* |
||||
* <Description> The Type 1 glyph slot finaliser |
||||
* |
||||
* <Input> glyph :: handle to glyph slot object |
||||
* |
||||
* <Output> Error code. |
||||
* |
||||
******************************************************************/ |
||||
T1_Error CID_Init_GlyphSlot( T1_GlyphSlot slot ); |
||||
|
||||
LOCAL_DEF |
||||
void T1_Done_GlyphSlot( T1_GlyphSlot slot ); |
||||
|
||||
void CID_Done_GlyphSlot( T1_GlyphSlot slot ); |
||||
|
||||
|
||||
/*******************************************************************
|
||||
* |
||||
* <Function> T1_Init_Driver |
||||
* |
||||
* <Description> |
||||
* Initialise a given Type 1 driver object |
||||
* |
||||
* <Input> |
||||
* driver :: handle to target driver object |
||||
* |
||||
* <Return> |
||||
* Error code. |
||||
* |
||||
******************************************************************/ |
||||
|
||||
LOCAL_DEF |
||||
FT_Error T1_Init_Driver( T1_Driver driver ); |
||||
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* |
||||
* <Function> T1_Done_Driver |
||||
* |
||||
* <Description> |
||||
* finalise a given Type 1 driver |
||||
* |
||||
* <Input> |
||||
* driver :: handle to target Type 1 driver |
||||
* |
||||
******************************************************************/ |
||||
T1_Error CID_Init_Driver( T1_Driver driver ); |
||||
|
||||
LOCAL_DEF |
||||
void T1_Done_Driver( T1_Driver driver ); |
||||
void CID_Done_Driver( T1_Driver driver ); |
||||
|
||||
|
||||
#ifdef __cplusplus |
||||
} |
||||
#endif |
||||
|
||||
#endif /* T1OBJS_H */ |
||||
|
||||
#endif /* CIDOBJS_H */ |
||||
|
||||
|
||||
/* END */ |
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,27 +1,30 @@ |
||||
/*******************************************************************
|
||||
* |
||||
* t1driver.h |
||||
* |
||||
* High-level Type1 driver interface for FreeType 2.0 |
||||
* |
||||
* Copyright 1996-1998 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. |
||||
* |
||||
******************************************************************/ |
||||
/***************************************************************************/ |
||||
/* */ |
||||
/* cidriver.h */ |
||||
/* */ |
||||
/* High-level CID driver interface (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. */ |
||||
/* */ |
||||
/***************************************************************************/ |
||||
|
||||
#ifndef T1DRIVER_H |
||||
#define T1DRIVER_H |
||||
|
||||
#ifndef CIDRIVER_H |
||||
#define CIDRIVER_H |
||||
|
||||
#include <cidobjs.h> |
||||
#include <freetype/internal/t1errors.h> |
||||
|
||||
FT_EXPORT_VAR(const FT_DriverInterface) t1cid_driver_interface; |
||||
FT_EXPORT_VAR( const FT_DriverInterface ) t1cid_driver_interface; |
||||
|
||||
#endif /* CIDRIVER_H */ |
||||
|
||||
#endif /* T1DRIVER_H */ |
||||
|
||||
/* END */ |
||||
|
Loading…
Reference in new issue