changes to reflect the new files

include/tttables.h
  include/t1tables.h
This commit is contained in:
David Turner 2000-05-02 10:59:01 +00:00
parent 6eebf9053e
commit 9a9315faae
8 changed files with 99 additions and 134 deletions

View File

@ -21,7 +21,7 @@
#ifndef T1TYPES_H
#define T1TYPES_H
#include <freetype.h>
#include <t1tables.h>
#include <psnames.h>
#ifdef __cplusplus
@ -310,55 +310,12 @@
{
/* font info dictionary */
T1_FontInfo font_info;
T1_String* version;
T1_String* notice;
T1_String* full_name;
T1_String* family_name;
T1_String* weight;
T1_Long italic_angle;
T1_Bool is_fixed_pitch;
T1_Short underline_position;
T1_UShort underline_thickness;
/* private dictionary */
T1_Int unique_id;
T1_Int lenIV;
T1_Byte num_blues;
T1_Byte num_other_blues;
T1_Byte num_family_blues;
T1_Byte num_family_other_blues;
T1_Short blue_values[14];
T1_Short other_blues[10];
T1_Short family_blues [14];
T1_Short family_other_blues[10];
T1_Fixed blue_scale;
T1_Int blue_shift;
T1_Int blue_fuzz;
T1_UShort standard_width;
T1_UShort standard_height;
T1_Byte num_snap_widths;
T1_Byte num_snap_heights;
T1_Bool force_bold;
T1_Bool round_stem_up;
T1_Short stem_snap_widths [13]; /* reserve one place for the std */
T1_Short stem_snap_heights[13]; /* reserve one place for the std */
T1_Long language_group;
T1_Long password;
T1_Short min_feature[2];
T1_Private private_dict;
/* top-level dictionary */
FT_String* font_name;
T1_EncodingType encoding_type;

View File

@ -788,60 +788,6 @@
/* load them by default. See the ttpost.c file. */
} TT_Postscript;
#endif
/*************************************************************************/
/* */
/* <Struct> */
/* TT_CMapDir */
/* */
/* <Description> */
/* This structure describes the directory of the `cmap' table, */
/* containing the font's character mappings table. */
/* */
/* <Fields> */
/* tableVersionNumber :: The version number. */
/* numCMaps :: The number of charmaps in the font. */
/* */
/* <Note> */
/* This structure is only used during font loading. */
/* */
typedef struct TT_CMapDir_
{
TT_UShort tableVersionNumber;
TT_UShort numCMaps;
} TT_CMapDir;
/*************************************************************************/
/* */
/* <Struct> */
/* TT_CMapDirEntry */
/* */
/* <Description> */
/* This structure describes a charmap in a TrueType font. */
/* */
/* <Fields> */
/* platformID :: An ID used to specify for which platform this */
/* charmap is defined (FreeType manages all platforms). */
/* */
/* encodingID :: A platform-specific ID used to indicate which source */
/* encoding is used in this charmap. */
/* */
/* offset :: The offset of the charmap relative to the start of */
/* the `cmap' table. */
/* */
/* <Note> */
/* This structure is only used during font loading. */
/* */
typedef struct TT_CMapDirEntry_
{
TT_UShort platformID;
TT_UShort platformEncodingID;
TT_Long offset;
} TT_CMapDirEntry;
/*************************************************************************/
@ -932,6 +878,62 @@
} TT_MaxProfile;
#endif
/*************************************************************************/
/* */
/* <Struct> */
/* TT_CMapDir */
/* */
/* <Description> */
/* This structure describes the directory of the `cmap' table, */
/* containing the font's character mappings table. */
/* */
/* <Fields> */
/* tableVersionNumber :: The version number. */
/* numCMaps :: The number of charmaps in the font. */
/* */
/* <Note> */
/* This structure is only used during font loading. */
/* */
typedef struct TT_CMapDir_
{
TT_UShort tableVersionNumber;
TT_UShort numCMaps;
} TT_CMapDir;
/*************************************************************************/
/* */
/* <Struct> */
/* TT_CMapDirEntry */
/* */
/* <Description> */
/* This structure describes a charmap in a TrueType font. */
/* */
/* <Fields> */
/* platformID :: An ID used to specify for which platform this */
/* charmap is defined (FreeType manages all platforms). */
/* */
/* encodingID :: A platform-specific ID used to indicate which source */
/* encoding is used in this charmap. */
/* */
/* offset :: The offset of the charmap relative to the start of */
/* the `cmap' table. */
/* */
/* <Note> */
/* This structure is only used during font loading. */
/* */
typedef struct TT_CMapDirEntry_
{
TT_UShort platformID;
TT_UShort platformEncodingID;
TT_Long offset;
} TT_CMapDirEntry;
/*************************************************************************/
/* */
/* <Struct> */

View File

@ -105,7 +105,7 @@
T1_Error t1_set_blue_zones( T1_Size size )
{
T1_Face face = (T1_Face)size->root.face;
T1_Font* priv = &face->type1;
T1_Private* priv = &face->type1.private_dict;
T1_Int n;
T1_Int blues[24];
T1_Int num_bottom;
@ -286,7 +286,7 @@
T1_Fixed scale;
T1_Face face = (T1_Face)size->root.face;
T1_Font* priv = &face->type1;
T1_Private* priv = &face->type1.private_dict;
T1_Size_Hints* hints = size->hints;
/* start with horizontal snap zones */
@ -1286,7 +1286,7 @@
void T1_Hint_Stems( T1_Builder* builder )
{
T1_Glyph_Hints* hints = builder->glyph->hints;
T1_Font* priv = &builder->face->type1;
T1_Private* priv = &builder->face->type1.private_dict;
T1_Size size = builder->size;
T1_Fixed scale_x = size->root.metrics.x_scale;

View File

@ -44,7 +44,7 @@
parser->encoding_lengths = 0;
parser->dump_tokens = 0;
face->type1.lenIV = 4; /* XXX : is it sure ?? */
face->type1.private_dict.lenIV = 4; /* XXX : is it sure ?? */
}
@ -309,7 +309,7 @@
break;
case imm_UniqueID:
type1->unique_id = CopyInteger( parser );
type1->private_dict.unique_id = CopyInteger( parser );
break;
case imm_StrokeWidth:
@ -347,8 +347,8 @@
static
T1_Error Do_Def_FontInfo( T1_Parser* parser )
{
T1_Token* top = parser->top;
T1_Font* info = &parser->face->type1;
T1_Token* top = parser->top;
T1_FontInfo* info = &parser->face->type1.font_info;
switch ( top[0].kind2 )
{
@ -416,7 +416,7 @@
T1_Error Do_Def_Private( T1_Parser* parser )
{
T1_Token* top = parser->top;
T1_Font* priv = &parser->face->type1;
T1_Private* priv = &parser->face->type1.private_dict;
switch ( top[0].kind2 )
{
@ -722,8 +722,8 @@
t1_decrypt( base, count, 4330 );
tokzer->cursor += count;
base += face->type1.lenIV;
count -= face->type1.lenIV;
base += face->type1.private_dict.lenIV;
count -= face->type1.private_dict.lenIV;
error = T1_Add_Table( &parser->table, index, base, count );
}
@ -806,8 +806,8 @@
t1_decrypt( base, count, 4330 );
tokzer->cursor += count; /* skip */
base += face->type1.lenIV;
count -= face->type1.lenIV;
base += face->type1.private_dict.lenIV;
count -= face->type1.private_dict.lenIV;
error = T1_Add_Table( &parser->table, index*2+1, base, count );
}

View File

@ -243,17 +243,17 @@
root->face_flags |= FT_FACE_FLAG_HORIZONTAL;
if ( type1->is_fixed_pitch )
if ( type1->font_info.is_fixed_pitch )
root->face_flags |= FT_FACE_FLAG_FIXED_WIDTH;
/* XXX : TO DO - add kerning with .afm support */
/* get style name - be careful, some broken fonts only */
/* have a /FontName dictionary entry .. !! */
root->family_name = type1->family_name;
root->family_name = type1->font_info.family_name;
if (root->family_name)
{
char* full = type1->full_name;
char* full = type1->font_info.full_name;
char* family = root->family_name;
while ( *family && *full == *family )
@ -286,10 +286,10 @@
/* now compute the maximum advance width */
root->max_advance_width = type1->standard_width;
root->max_advance_width = type1->private_dict.standard_width;
/* compute max advance width for proportional fonts */
if (!type1->is_fixed_pitch)
if (!type1->font_info.is_fixed_pitch)
{
T1_Int max_advance;
@ -304,8 +304,8 @@
root->max_advance_height = root->height;
root->underline_position = type1->underline_position;
root->underline_thickness = type1->underline_thickness;
root->underline_position = type1->font_info.underline_position;
root->underline_thickness = type1->font_info.underline_thickness;
root->max_points = 0;
root->max_contours = 0;

View File

@ -437,8 +437,8 @@
if (!read_binary_data(parser,&size,&base)) return;
T1_Decrypt( base, size, 4330 );
size -= face->type1.lenIV;
base += face->type1.lenIV;
size -= face->type1.private_dict.lenIV;
base += face->type1.private_dict.lenIV;
error = T1_Add_Table( table, index, base, size );
if (error) goto Fail;
@ -521,8 +521,8 @@
if (!read_binary_data(parser,&size,&base)) return;
T1_Decrypt( base, size, 4330 );
size -= face->type1.lenIV;
base += face->type1.lenIV;
size -= face->type1.private_dict.lenIV;
base += face->type1.private_dict.lenIV;
error = T1_Add_Table( code_table, n, base, size );
if (error) goto Fail;
@ -688,7 +688,7 @@
t1_init_loader( &loader, face );
/* default lenIV */
type1->lenIV = 4;
type1->private_dict.lenIV = 4;
parser = &loader.parser;
error = T1_New_Parser( parser, face->root.stream, face->root.memory );

View File

@ -215,17 +215,17 @@
root->face_flags |= FT_FACE_FLAG_HORIZONTAL;
if ( face->type1.is_fixed_pitch )
if ( face->type1.font_info.is_fixed_pitch )
root->face_flags |= FT_FACE_FLAG_FIXED_WIDTH;
/* XXX : TO DO - add kerning with .afm support */
/* get style name - be careful, some broken fonts only */
/* have a /FontName dictionary entry .. !! */
root->family_name = face->type1.family_name;
root->family_name = face->type1.font_info.family_name;
if (root->family_name)
{
char* full = face->type1.full_name;
char* full = face->type1.font_info.full_name;
char* family = root->family_name;
while ( *family && *full == *family )
@ -258,10 +258,10 @@
/* now compute the maximum advance width */
root->max_advance_width = face->type1.standard_width;
root->max_advance_width = face->type1.private_dict.standard_width;
/* compute max advance width for proportional fonts */
if (!face->type1.is_fixed_pitch)
if (!face->type1.font_info.is_fixed_pitch)
{
T1_Int max_advance;
@ -276,8 +276,8 @@
root->max_advance_height = root->height;
root->underline_position = face->type1.underline_position;
root->underline_thickness = face->type1.underline_thickness;
root->underline_position = face->type1.font_info.underline_position;
root->underline_thickness = face->type1.font_info.underline_thickness;
root->max_points = 0;
root->max_contours = 0;

View File

@ -17,10 +17,9 @@
*
******************************************************************/
#undef FACE
#define FACE (face->type1)
/* define the font info dictionary parsing callbacks */
#undef FACE
#define FACE (face->type1.font_info)
PARSE_STRING("version",version)
PARSE_STRING("Notice",notice)
@ -35,6 +34,9 @@
/* define the private dict parsing callbacks */
#undef FACE
#define FACE (face->type1.private_dict)
PARSE_INT("UniqueID",unique_id)
PARSE_INT("lenIV",lenIV)
@ -60,6 +62,10 @@
PARSE_COORDS2( "MinFeature", 2, min_feature )
/* define the top-level dictionary parsing callbacks */
#undef FACE
#define FACE (face->type1)
/* PARSE_STRING( "FontName", font_name ) -- handled by special routine */
PARSE_NUM( "PaintType", paint_type, T1_Byte )