Al-Qurtas-Islamic-bank-The-.../include/freetype/internal/t1types.h

201 lines
7.9 KiB
C
Raw Normal View History

2000-07-19 04:59:31 +02:00
/***************************************************************************/
/* */
/* t1types.h */
/* */
/* Basic Type1/Type2 type definitions and interface (specification */
/* only). */
/* */
Avoid overwriting of numeric font dictionary entries for synthetic fonts. Additionally, some entries were handled as `integer' instead of `number'. * include/freetype/internal/psaux.h (T1_FieldType): Add T1_FIELD_TYPE_BOOL_P, T1_FIELD_TYPE_INTEGER_P, and T1_FIELD_TYPE_FIXED_P. (T1_FIELD_BOOL_P, T1_FIELD_NUM_P, T1_FIELD_FIXED_P): New macros. * src/psaux/psobjs.c (ps_parser_load_field): Handle new field types. * include/freetype/internal/cfftypes.h (CFF_FontRecDict), src/cff/cfftoken.h: Change type of underline_position and underline_thickness to FT_Fixed. * src/cff/cffload.c (cff_subfont_load): Fix default values of underline_position and underline_thickness. * src/cff/cffobjs.c (cff_face_init): Set underline_position and underline_thickness in `root'. * include/freetype/internal/t1types.h (T1_Font): Change point_type and stroke_width to pointers. * include/freetype/t1tables.h (PS_FontInfo): Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. * src/type1/t1tokens.h: Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. Change the type of the latter two to `fixed'. Change type of stroke_width to `fixed' and make it a pointer. Change paint_type to pointer. * src/type1/t1objs.c (T1_Face_Done): Updated. (T1_Face_Init): Updated. Fix assignment of underline_position and underline_thickness. * src/cid/cidtoken.h: Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. Change the type of the latter two to `fixed'. Change type of stroke_width to `fixed'. * src/cid/cidobjs.c (cid_face_done): Updated. (cid_face_init): Updated. Fix assignment of underline_position and underline_thickness. * src/type42/t42parse.c: Change italic_angle, is_fixed_pitch, underline_position, and underline_thickness to pointers. Change the type of the latter two to `fixed'. Change type of stroke_width to `fixed' and make it a pointer. Change paint_type to pointer. * src/type42/t42objs.c (T42_Face_Init): Updated. Fix assignment of underline_position and underline_thickness. (T42_Face_Done): Updated. * src/base/ftobjs.c (open_face_from_buffer): Fix compiler warning. * src/pshinter/pshglob.c, src/pshinter/pshglob.h (psh_globals_set_scale): Make it a local function. * test/gview.c: Fix remaming ps3->ps typo. Formatting.
2003-05-30 11:12:50 +02:00
/* Copyright 1996-2001, 2002, 2003 by */
2000-07-19 04:59:31 +02:00
/* 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. */
/* */
/***************************************************************************/
1999-12-17 00:11:37 +01:00
#ifndef __T1TYPES_H__
#define __T1TYPES_H__
1999-12-17 00:11:37 +01:00
* src/type42/t42drivr.c: s/T42_ENCODING_TYPE_/T1_ENCODING_TYPE_/. (parse_font_matrix): Remove unnecessary code. (parse_sfnts): Initialize some variables. (t42_driver_class) [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Use ft_module_driver_has_hinter conditionally. Moved some type 42 specific structure definitions to... * include/freetype/internal/t42types.h: New file. * include/freetype/internal/internal.h (FT_INTERNAL_T42_TYPES_H): New macro. * include/freetype/cache/ftcsbits.h (FTC_SBit): Added a new field `num_grays' for specifying the number of used gray levels. * src/cache/ftcsbits.c (ftc_sbit_node_load): Initialize it. Adding a driver for BDF fonts written by Francesco Zappa Nardelli <Francesco.Zappa.Nardelli@ens.fr>. Heavily modified by me to better adapt it to FreeType, removing unneeded stuff. Additionally, it now supports Mark Leisher's BDF extension for anti-aliased bitmap glyphs with 2 and 4 bpp. * src/bdf/*: New driver. * include/freetype/internal/bdftypes.h: New file. * include/freetype/internal/fttrace.h: Added BDF driver components. * include/freetype/fterrdef.h: Added error codes for BDF driver. * include/freetype/config/ftmodule.h, src/Jamfile: Updated. * include/freetype/internal/internal.h (FT_INTERNAL_BDF_TYPES_H): New macro. * include/freetype/config/ftstdlib.h (ft_sprintf): New alias for sprintf. * include/freetype/internal/fttrace.h: Added Type 42 driver component. * src/type42/t42drivr.c: Use it. * include/freetype/internal/internal.h (FT_INTERNAL_PCF_TYPES_H): New macro.
2002-05-21 16:13:01 +02:00
#include <ft2build.h>
#include FT_TYPE1_TABLES_H
2001-10-18 13:49:26 +02:00
#include FT_INTERNAL_POSTSCRIPT_HINTS_H
#include FT_INTERNAL_SERVICE_H
#include FT_SERVICE_POSTSCRIPT_NAMES_H
FT_BEGIN_HEADER
2000-07-19 04:59:31 +02:00
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*** ***/
/*** ***/
/*** REQUIRED TYPE1/TYPE2 TABLES DEFINITIONS ***/
/*** ***/
/*** ***/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* <Struct> */
/* T1_EncodingRec */
2000-07-19 04:59:31 +02:00
/* */
/* <Description> */
/* A structure modeling a custom encoding. */
2000-07-19 04:59:31 +02:00
/* */
/* <Fields> */
/* num_chars :: The number of character codes in the encoding. */
/* Usually 256. */
/* */
/* code_first :: The lowest valid character code in the encoding. */
/* */
/* code_last :: The highest valid character code in the encoding. */
/* */
/* char_index :: An array of corresponding glyph indices. */
/* */
/* char_name :: An array of corresponding glyph names. */
/* */
typedef struct T1_EncodingRecRec_
{
2000-07-19 04:59:31 +02:00
FT_Int num_chars;
FT_Int code_first;
FT_Int code_last;
2000-07-19 04:59:31 +02:00
FT_UShort* char_index;
FT_String** char_name;
} T1_EncodingRec, *T1_Encoding;
2000-07-19 04:59:31 +02:00
typedef enum T1_EncodingType_
{
T1_ENCODING_TYPE_NONE = 0,
T1_ENCODING_TYPE_ARRAY,
T1_ENCODING_TYPE_STANDARD,
T1_ENCODING_TYPE_ISOLATIN1,
T1_ENCODING_TYPE_EXPERT
} T1_EncodingType;
typedef struct T1_FontRec_
1999-12-17 00:11:37 +01:00
{
PS_FontInfoRec font_info; /* font info dictionary */
PS_PrivateRec private_dict; /* private dictionary */
FT_String* font_name; /* top-level dictionary */
1999-12-17 00:11:37 +01:00
T1_EncodingType encoding_type;
T1_EncodingRec encoding;
1999-12-17 00:11:37 +01:00
2000-07-19 04:59:31 +02:00
FT_Byte* subrs_block;
FT_Byte* charstrings_block;
FT_Byte* glyph_names_block;
1999-12-17 00:11:37 +01:00
2000-07-19 04:59:31 +02:00
FT_Int num_subrs;
FT_Byte** subrs;
FT_Int* subrs_len;
1999-12-17 00:11:37 +01:00
2000-07-19 04:59:31 +02:00
FT_Int num_glyphs;
FT_String** glyph_names; /* array of glyph names */
FT_Byte** charstrings; /* array of glyph charstrings */
FT_Int* charstrings_len;
1999-12-17 00:11:37 +01:00
FT_Byte paint_type;
2000-07-19 04:59:31 +02:00
FT_Byte font_type;
FT_Matrix font_matrix;
FT_Vector font_offset;
2000-07-19 04:59:31 +02:00
FT_BBox font_bbox;
FT_Long font_id;
1999-12-17 00:11:37 +01:00
FT_Fixed stroke_width;
2000-05-17 01:44:38 +02:00
} T1_FontRec, *T1_Font;
2000-05-17 01:44:38 +02:00
1999-12-17 00:11:37 +01:00
typedef struct CID_SubrsRec_
{
FT_UInt num_subrs;
FT_Byte** code;
2000-10-31 21:42:18 +01:00
} CID_SubrsRec, *CID_Subrs;
1999-12-17 00:11:37 +01:00
2000-07-19 04:59:31 +02:00
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*** ***/
/*** ***/
/*** ORIGINAL T1_FACE CLASS DEFINITION ***/
/*** ***/
/*** ***/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* This structure/class is defined here because it is common to the */
/* following formats: TTF, OpenType-TT, and OpenType-CFF. */
/* */
/* Note, however, that the classes TT_Size, TT_GlyphSlot, and TT_CharMap */
/* are not shared between font drivers, and are thus defined normally in */
/* `ttobjs.h'. */
/* */
/*************************************************************************/
1999-12-17 00:11:37 +01:00
typedef struct T1_FaceRec_* T1_Face;
typedef struct CID_FaceRec_* CID_Face;
1999-12-17 00:11:37 +01:00
2000-07-19 04:59:31 +02:00
typedef struct T1_FaceRec_
1999-12-17 00:11:37 +01:00
{
2000-07-19 04:59:31 +02:00
FT_FaceRec root;
T1_FontRec type1;
const void* psnames;
const void* psaux;
const void* afm_data;
2000-07-19 04:59:31 +02:00
FT_CharMapRec charmaprecs[2];
FT_CharMap charmaps[2];
PS_Unicodes unicode_map;
1999-12-17 00:11:37 +01:00
2000-07-19 04:59:31 +02:00
/* support for Multiple Masters fonts */
PS_Blend blend;
/* since FT 2.1 - interface to PostScript hinter */
const void* pshinter;
1999-12-17 00:11:37 +01:00
} T1_FaceRec;
2000-07-19 04:59:31 +02:00
typedef struct CID_FaceRec_
{
FT_FaceRec root;
void* psnames;
void* psaux;
CID_FaceInfoRec cid;
void* afm_data;
CID_Subrs subrs;
/* since FT 2.1 - interface to PostScript hinter */
void* pshinter;
2000-10-31 21:42:18 +01:00
} CID_FaceRec;
2000-06-27 07:58:22 +02:00
FT_END_HEADER
#endif /* __T1TYPES_H__ */
2000-06-27 07:58:22 +02:00
/* END */