freetype2/src/type1/t1objs.h

176 lines
7.3 KiB
C
Raw Normal View History

/***************************************************************************/
/* */
/* t1objs.h */
/* */
/* Type 1 objects manager (specification). */
/* */
/* Copyright 1996-2001 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__
2000-12-08 17:17:16 +01:00
#include <ft2build.h>
#include FT_INTERNAL_OBJECTS_H
#include FT_CONFIG_CONFIG_H
#include FT_INTERNAL_TYPE1_TYPES_H
2000-12-08 17:17:16 +01:00
FT_BEGIN_HEADER
2000-12-08 17:17:16 +01:00
/* 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. */
/* */
typedef struct T1_SizeRec_* T1_Size;
/*************************************************************************/
/* */
/* <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. */
/* */
typedef struct T1_CharMapRec_* T1_CharMap;
/*************************************************************************/
/* */
/* HERE BEGINS THE TYPE1 SPECIFIC STUFF */
/* */
/*************************************************************************/
2000-05-17 01:44:38 +02:00
/*************************************************************************/
/* */
/* <Type> */
/* T1_SizeRec */
/* */
/* <Description> */
/* Type 1 size record. */
/* */
typedef struct T1_SizeRec_
{
2001-10-18 13:49:26 +02:00
FT_SizeRec root;
} T1_SizeRec;
2001-10-18 13:49:26 +02:00
FT_LOCAL
void T1_Size_Done( T1_Size size );
FT_LOCAL
FT_Error T1_Size_Reset( T1_Size size );
FT_LOCAL
FT_Error T1_Size_Init( T1_Size size );
/*************************************************************************/
/* */
/* <Type> */
/* T1_GlyphSlotRec */
/* */
/* <Description> */
/* Type 1 glyph slot record. */
/* */
typedef struct T1_GlyphSlotRec_
{
FT_GlyphSlotRec root;
FT_Bool hint;
FT_Bool scaled;
2000-05-17 01:44:38 +02:00
FT_Int max_points;
FT_Int max_contours;
FT_Fixed x_scale;
FT_Fixed y_scale;
} T1_GlyphSlotRec;
2001-06-28 09:17:51 +02:00
FT_LOCAL FT_Error
2001-10-18 13:49:26 +02:00
T1_Face_Init( FT_Stream stream,
2001-06-28 09:17:51 +02:00
T1_Face face,
FT_Int face_index,
FT_Int num_params,
FT_Parameter* params );
2001-06-28 09:17:51 +02:00
FT_LOCAL void
2001-10-18 13:49:26 +02:00
T1_Face_Done( T1_Face face );
FT_LOCAL FT_Error
T1_Size_Init( T1_Size size );
FT_LOCAL void
T1_Size_Done( T1_Size size );
FT_LOCAL FT_Error
T1_GlyphSlot_Init( T1_GlyphSlot slot );
FT_LOCAL void
T1_GlyphSlot_Done( T1_GlyphSlot slot );
2001-06-28 09:17:51 +02:00
FT_LOCAL FT_Error
2001-10-18 13:49:26 +02:00
T1_Driver_Init( T1_Driver driver );
2001-06-28 09:17:51 +02:00
FT_LOCAL void
2001-10-18 13:49:26 +02:00
T1_Driver_Done( T1_Driver driver );
FT_END_HEADER
#endif /* __T1OBJS_H__ */
/* END */