From 4f3ae7a52de570891eb3aa9587ce0b7eea0e4f61 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Wed, 7 Nov 2007 09:59:18 +0000 Subject: And some more. 2007-11-07 Behdad Esfahbod * pango/opentype/*: And some more. svn path=/trunk/; revision=2494 --- ChangeLog | 4 ++ pango/opentype/harfbuzz-buffer.h | 8 ++-- pango/opentype/harfbuzz-dump-main.c | 22 ++++----- pango/opentype/harfbuzz-gdef.c | 14 +++--- pango/opentype/harfbuzz-gdef.h | 4 +- pango/opentype/harfbuzz-global.h | 21 ++++---- pango/opentype/harfbuzz-gpos.c | 82 ++++++++++++++++---------------- pango/opentype/harfbuzz-gpos.h | 12 ++--- pango/opentype/harfbuzz-gsub.c | 4 +- pango/opentype/harfbuzz-gsub.h | 4 +- pango/opentype/harfbuzz-stream-private.h | 4 +- pango/opentype/harfbuzz-stream.c | 16 +++---- 12 files changed, 99 insertions(+), 96 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7ee9c9f5..76413f5e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-11-07 Behdad Esfahbod + + * pango/opentype/*: And some more. + 2007-11-07 Behdad Esfahbod * pango/opentype/*: Some more cleanup and merging. diff --git a/pango/opentype/harfbuzz-buffer.h b/pango/opentype/harfbuzz-buffer.h index e659ce33..3043671a 100644 --- a/pango/opentype/harfbuzz-buffer.h +++ b/pango/opentype/harfbuzz-buffer.h @@ -28,10 +28,10 @@ typedef struct HB_GlyphItemRec_ { } HB_GlyphItemRec, *HB_GlyphItem; typedef struct HB_PositionRec_ { - FT_Pos x_pos; - FT_Pos y_pos; - FT_Pos x_advance; - FT_Pos y_advance; + HB_Fixed x_pos; + HB_Fixed y_pos; + HB_Fixed x_advance; + HB_Fixed y_advance; HB_UShort back; /* number of glyphs to go back for drawing current glyph */ HB_Bool new_advance; /* if set, the advance width values are diff --git a/pango/opentype/harfbuzz-dump-main.c b/pango/opentype/harfbuzz-dump-main.c index 5945c9d6..7e1b5a4a 100644 --- a/pango/opentype/harfbuzz-dump-main.c +++ b/pango/opentype/harfbuzz-dump-main.c @@ -131,7 +131,7 @@ HB_UShort arabic_props[] = { I|L, M|L, M|L, M|L, M|L, F|L, I|L, M|L void try_string (FT_Library library, - FT_Face face, + HB_Font font, HB_GSUB gsub) { HB_Error error; @@ -139,9 +139,9 @@ try_string (FT_Library library, HB_GSUB_String *out_str; HB_UInt i; - if ((error = HB_GSUB_String_New (face->memory, &in_str))) + if ((error = HB_GSUB_String_New (font->memory, &in_str))) croak ("HB_GSUB_String_New", error); - if ((error = HB_GSUB_String_New (face->memory, &out_str))) + if ((error = HB_GSUB_String_New (font->memory, &out_str))) croak ("HB_GSUB_String_New", error); if ((error = HB_GSUB_String_Set_Length (in_str, N_ELEMENTS (arabic_str)))) @@ -149,7 +149,7 @@ try_string (FT_Library library, for (i=0; i < N_ELEMENTS (arabic_str); i++) { - in_str->string[i] = FT_Get_Char_Index (face, arabic_str[i]); + in_str->string[i] = FT_Get_Char_Index (font, arabic_str[i]); in_str->properties[i] = arabic_props[i]; in_str->components[i] = i; in_str->ligIDs[i] = i; @@ -173,7 +173,7 @@ main (int argc, char **argv) { HB_Error error; FT_Library library; - FT_Face face; + HB_Font font; HB_GSUB gsub; HB_GPOS gpos; @@ -186,13 +186,13 @@ main (int argc, char **argv) if ((error = FT_Init_FreeType (&library))) croak ("FT_Init_FreeType", error); - if ((error = FT_New_Face (library, argv[1], 0, &face))) + if ((error = FT_New_Face (library, argv[1], 0, &font))) croak ("FT_New_Face", error); printf ("\n"); printf ("\n"); - if (!(error = HB_Load_GSUB_Table (face, &gsub, NULL))) + if (!(error = HB_Load_GSUB_Table (font, &gsub, NULL))) { HB_Dump_GSUB_Table (gsub, stdout); @@ -202,7 +202,7 @@ main (int argc, char **argv) else if (error != HB_Err_Not_Covered) fprintf (stderr, "HB_Load_GSUB_Table %x\n", error); - if (!(error = HB_Load_GPOS_Table (face, &gpos, NULL))) + if (!(error = HB_Load_GPOS_Table (font, &gpos, NULL))) { HB_Dump_GPOS_Table (gpos, stdout); @@ -215,14 +215,14 @@ main (int argc, char **argv) printf ("\n"); #if 0 - select_cmap (face); + select_cmap (font); add_features (gsub); - try_string (library, face, gsub); + try_string (library, font, gsub); #endif - if ((error = FT_Done_Face (face))) + if ((error = FT_Done_Face (font))) croak ("FT_Done_Face", error); if ((error = FT_Done_FreeType (library))) diff --git a/pango/opentype/harfbuzz-gdef.c b/pango/opentype/harfbuzz-gdef.c index bcf566e1..0dafc915 100644 --- a/pango/opentype/harfbuzz-gdef.c +++ b/pango/opentype/harfbuzz-gdef.c @@ -35,9 +35,9 @@ static void Free_NewGlyphClasses( HB_GDEFHeader* gdef ); static HB_Error GDEF_Create( void* ext, - PFace face ) + PFace font ) { - DEFINE_LOAD_LOCALS( face->stream ); + DEFINE_LOAD_LOCALS( font->stream ); HB_GDEFHeader* gdef = (HB_GDEFHeader*)ext; Long table; @@ -54,11 +54,11 @@ static HB_Error GDEF_Create( void* ext, /* we store the start offset and the size of the subtable */ - table = HB_LookUp_Table( face, TTAG_GDEF ); + table = HB_LookUp_Table( font, TTAG_GDEF ); if ( table < 0 ) return HB_Err_Ok; /* The table is optional */ - if ( FILE_Seek( face->dirTables[table].Offset ) || + if ( FILE_Seek( font->dirTables[table].Offset ) || ACCESS_Frame( 4L ) ) return error; @@ -74,7 +74,7 @@ static HB_Error GDEF_Create( void* ext, static HB_Error GDEF_Destroy( void* ext, - PFace face ) + PFace font ) { HB_GDEFHeader* gdef = (HB_GDEFHeader*)ext; @@ -154,11 +154,11 @@ HB_Error HB_New_GDEF_Table( HB_GDEFHeader** retptr ) } -HB_Error HB_Load_GDEF_Table( FT_Face face, +HB_Error HB_Load_GDEF_Table( HB_Font font, HB_GDEFHeader** retptr ) { HB_Error error; - HB_Stream stream = face->stream; + HB_Stream stream = font->stream; HB_UInt cur_offset, new_offset, base_offset; HB_GDEFHeader* gdef; diff --git a/pango/opentype/harfbuzz-gdef.h b/pango/opentype/harfbuzz-gdef.h index 9f9338c8..d3d287ef 100644 --- a/pango/opentype/harfbuzz-gdef.h +++ b/pango/opentype/harfbuzz-gdef.h @@ -80,7 +80,7 @@ struct HB_GDEFHeader_ { HB_UInt offset; - FT_Fixed Version; + HB_16Dot16 Version; HB_ClassDefinition GlyphClassDef; HB_AttachList AttachList; @@ -99,7 +99,7 @@ typedef struct HB_GDEFHeader_* HB_GDEF; HB_Error HB_New_GDEF_Table( HB_GDEFHeader** retptr ); -HB_Error HB_Load_GDEF_Table( FT_Face face, +HB_Error HB_Load_GDEF_Table( HB_Font font, HB_GDEFHeader** gdef ); diff --git a/pango/opentype/harfbuzz-global.h b/pango/opentype/harfbuzz-global.h index 1484a44a..036c6ebd 100644 --- a/pango/opentype/harfbuzz-global.h +++ b/pango/opentype/harfbuzz-global.h @@ -1,7 +1,5 @@ /******************************************************************* * - * Copyright 1996-2000 by - * David Turner, Robert Wilhelm, and Werner Lemberg. * Copyright 2007 Trolltech ASA * Copyright 2007 Behdad Esfahbod * @@ -27,15 +25,18 @@ HB_BEGIN_HEADER #define HB_MAKE_TAG(a,b,c,d) FT_MAKE_TAG(a,b,c,d) +typedef FT_Pos HB_Fixed; /* 26.6 */ +typedef FT_Fixed HB_16Dot16; /* 16.6 */ +typedef FT_Face HB_Font; -typedef unsigned char HB_Byte; -typedef signed char HB_Char; -typedef unsigned short HB_UShort; -typedef signed short HB_Short; -typedef unsigned int HB_UInt; -typedef signed int HB_Int; -typedef int HB_Bool; -typedef void *HB_Pointer; +typedef unsigned char HB_Byte; +typedef signed char HB_Char; +typedef unsigned short HB_UShort; +typedef signed short HB_Short; +typedef unsigned int HB_UInt; +typedef signed int HB_Int; +typedef int HB_Bool; +typedef void * HB_Pointer; typedef enum { diff --git a/pango/opentype/harfbuzz-gpos.c b/pango/opentype/harfbuzz-gpos.c index 3c36580d..ab7972c7 100644 --- a/pango/opentype/harfbuzz-gpos.c +++ b/pango/opentype/harfbuzz-gpos.c @@ -19,15 +19,15 @@ struct GPOS_Instance_ { HB_GPOSHeader* gpos; - FT_Face face; + HB_Font font; HB_Bool dvi; HB_UShort load_flags; /* how the glyph should be loaded */ HB_Bool r2l; HB_UShort last; /* the last valid glyph -- used with cursive positioning */ - FT_Pos anchor_x; /* the coordinates of the anchor point */ - FT_Pos anchor_y; /* of the last valid glyph */ + HB_Fixed anchor_x; /* the coordinates of the anchor point */ + HB_Fixed anchor_y; /* of the last valid glyph */ }; typedef struct GPOS_Instance_ GPOS_Instance; @@ -44,12 +44,12 @@ static HB_Error GPOS_Do_Glyph_Lookup( GPOS_Instance* gpi, /* the client application must replace this with something more meaningful if multiple master fonts are to be supported. */ -static HB_Error default_mmfunc( FT_Face face, +static HB_Error default_mmfunc( HB_Font font, HB_UShort metric_id, - FT_Pos* metric_value, + HB_Fixed* metric_value, void* data ) { - HB_UNUSED(face); + HB_UNUSED(font); HB_UNUSED(metric_id); HB_UNUSED(metric_value); HB_UNUSED(data); @@ -58,7 +58,7 @@ static HB_Error default_mmfunc( FT_Face face, -HB_Error HB_Load_GPOS_Table( FT_Face face, +HB_Error HB_Load_GPOS_Table( HB_Font font, HB_GPOSHeader** retptr, HB_GDEFHeader* gdef ) { @@ -66,7 +66,7 @@ HB_Error HB_Load_GPOS_Table( FT_Face face, HB_GPOSHeader* gpos; - HB_Stream stream = face->stream; + HB_Stream stream = font->stream; HB_Error error; @@ -442,22 +442,22 @@ static HB_Error Get_ValueRecord( GPOS_Instance* gpi, HB_UShort format, HB_Position gd ) { - FT_Pos value; + HB_Fixed value; HB_Short pixel_value; HB_Error error = HB_Err_Ok; HB_GPOSHeader* gpos = gpi->gpos; HB_UShort x_ppem, y_ppem; - FT_Fixed x_scale, y_scale; + HB_16Dot16 x_scale, y_scale; if ( !format ) return HB_Err_Ok; - x_ppem = gpi->face->size->metrics.x_ppem; - y_ppem = gpi->face->size->metrics.y_ppem; - x_scale = gpi->face->size->metrics.x_scale; - y_scale = gpi->face->size->metrics.y_scale; + x_ppem = gpi->font->size->metrics.x_ppem; + y_ppem = gpi->font->size->metrics.y_ppem; + x_scale = gpi->font->size->metrics.x_scale; + y_scale = gpi->font->size->metrics.y_scale; /* design units -> fractional pixel */ @@ -500,7 +500,7 @@ static HB_Error Get_ValueRecord( GPOS_Instance* gpi, if ( format & HB_GPOS_FORMAT_HAVE_X_ID_PLACEMENT ) { - error = (gpos->mmfunc)( gpi->face, vr->XIdPlacement, + error = (gpos->mmfunc)( gpi->font, vr->XIdPlacement, &value, gpos->data ); if ( error ) return error; @@ -508,7 +508,7 @@ static HB_Error Get_ValueRecord( GPOS_Instance* gpi, } if ( format & HB_GPOS_FORMAT_HAVE_Y_ID_PLACEMENT ) { - error = (gpos->mmfunc)( gpi->face, vr->YIdPlacement, + error = (gpos->mmfunc)( gpi->font, vr->YIdPlacement, &value, gpos->data ); if ( error ) return error; @@ -516,7 +516,7 @@ static HB_Error Get_ValueRecord( GPOS_Instance* gpi, } if ( format & HB_GPOS_FORMAT_HAVE_X_ID_ADVANCE ) { - error = (gpos->mmfunc)( gpi->face, vr->XIdAdvance, + error = (gpos->mmfunc)( gpi->font, vr->XIdAdvance, &value, gpos->data ); if ( error ) return error; @@ -524,7 +524,7 @@ static HB_Error Get_ValueRecord( GPOS_Instance* gpi, } if ( format & HB_GPOS_FORMAT_HAVE_Y_ID_ADVANCE ) { - error = (gpos->mmfunc)( gpi->face, vr->YIdAdvance, + error = (gpos->mmfunc)( gpi->font, vr->YIdAdvance, &value, gpos->data ); if ( error ) return error; @@ -670,8 +670,8 @@ static void Free_Anchor( HB_Anchor* an ) static HB_Error Get_Anchor( GPOS_Instance* gpi, HB_Anchor* an, HB_UShort glyph_index, - FT_Pos* x_value, - FT_Pos* y_value ) + HB_Fixed* x_value, + HB_Fixed* y_value ) { HB_Error error = HB_Err_Ok; @@ -683,13 +683,13 @@ static HB_Error Get_Anchor( GPOS_Instance* gpi, HB_UShort load_flags; HB_UShort x_ppem, y_ppem; - FT_Fixed x_scale, y_scale; + HB_16Dot16 x_scale, y_scale; - x_ppem = gpi->face->size->metrics.x_ppem; - y_ppem = gpi->face->size->metrics.y_ppem; - x_scale = gpi->face->size->metrics.x_scale; - y_scale = gpi->face->size->metrics.y_scale; + x_ppem = gpi->font->size->metrics.x_ppem; + y_ppem = gpi->font->size->metrics.y_ppem; + x_scale = gpi->font->size->metrics.x_scale; + y_scale = gpi->font->size->metrics.y_scale; switch ( an->PosFormat ) { @@ -711,21 +711,19 @@ static HB_Error Get_Anchor( GPOS_Instance* gpi, if ( !gpi->dvi ) { - error = (gpos->gfunc)( gpi->face, glyph_index, load_flags ); + error = (gpos->gfunc)( gpi->font, glyph_index, load_flags ); if ( error ) return error; - if ( gpi->face->glyph->format != ft_glyph_format_outline ) + if ( gpi->font->glyph->format != ft_glyph_format_outline ) return ERR(HB_Err_Invalid_SubTable); ap = an->af.af2.AnchorPoint; - outline = gpi->face->glyph->outline; - - /* if outline.n_points is set to zero by gfunc(), we use the - design coordinate value pair. This can happen e.g. for - sbit glyphs */ + outline = gpi->font->glyph->outline; + /* if n_points is set to zero, we use the design coordinate value pair. + * This can happen e.g. for sbit glyphs. */ if ( !outline.n_points ) goto no_contour_point; @@ -759,12 +757,12 @@ static HB_Error Get_Anchor( GPOS_Instance* gpi, break; case 4: - error = (gpos->mmfunc)( gpi->face, an->af.af4.XIdAnchor, + error = (gpos->mmfunc)( gpi->font, an->af.af4.XIdAnchor, x_value, gpos->data ); if ( error ) return error; - error = (gpos->mmfunc)( gpi->face, an->af.af4.YIdAnchor, + error = (gpos->mmfunc)( gpi->font, an->af.af4.YIdAnchor, y_value, gpos->data ); if ( error ) return error; @@ -1767,8 +1765,8 @@ static HB_Error Lookup_CursivePos( GPOS_Instance* gpi, HB_CursivePos* cp = &st->cursive; HB_EntryExitRecord* eer; - FT_Pos entry_x, entry_y; - FT_Pos exit_x, exit_y; + HB_Fixed entry_x, entry_y; + HB_Fixed exit_x, exit_y; HB_UNUSED(nesting_level); @@ -2201,7 +2199,7 @@ static HB_Error Lookup_MarkBasePos( GPOS_Instance* gpi, int nesting_level ) { HB_UShort i, j, mark_index, base_index, property, class; - FT_Pos x_mark_value, y_mark_value, x_base_value, y_base_value; + HB_Fixed x_mark_value, y_mark_value, x_base_value, y_base_value; HB_Error error; HB_GPOSHeader* gpos = gpi->gpos; HB_MarkBasePos* mbp = &st->markbase; @@ -2609,7 +2607,7 @@ static HB_Error Lookup_MarkLigPos( GPOS_Instance* gpi, { HB_UShort i, j, mark_index, lig_index, property, class; HB_UShort mark_glyph; - FT_Pos x_mark_value, y_mark_value, x_lig_value, y_lig_value; + HB_Fixed x_mark_value, y_mark_value, x_lig_value, y_lig_value; HB_Error error; HB_GPOSHeader* gpos = gpi->gpos; HB_MarkLigPos* mlp = &st->marklig; @@ -2949,7 +2947,7 @@ static HB_Error Lookup_MarkMarkPos( GPOS_Instance* gpi, int nesting_level ) { HB_UShort i, j, mark1_index, mark2_index, property, class; - FT_Pos x_mark1_value, y_mark1_value, + HB_Fixed x_mark1_value, y_mark1_value, x_mark2_value, y_mark2_value; HB_Error error; HB_GPOSHeader* gpos = gpi->gpos; @@ -6058,7 +6056,7 @@ HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos, tables are ignored -- you will get device independent values. */ -HB_Error HB_GPOS_Apply_String( FT_Face face, +HB_Error HB_GPOS_Apply_String( HB_Font font, HB_GPOSHeader* gpos, HB_UShort load_flags, HB_Buffer buffer, @@ -6069,13 +6067,13 @@ HB_Error HB_GPOS_Apply_String( FT_Face face, GPOS_Instance gpi; int i, j, lookup_count, num_features; - if ( !face || !gpos || !buffer ) + if ( !font || !gpos || !buffer ) return ERR(HB_Err_Invalid_Argument); if ( buffer->in_length == 0 ) return HB_Err_Not_Covered; - gpi.face = face; + gpi.font = font; gpi.gpos = gpos; gpi.load_flags = load_flags; gpi.r2l = r2l; diff --git a/pango/opentype/harfbuzz-gpos.h b/pango/opentype/harfbuzz-gpos.h index 3563759f..94ca71fa 100644 --- a/pango/opentype/harfbuzz-gpos.h +++ b/pango/opentype/harfbuzz-gpos.h @@ -45,7 +45,7 @@ HB_BEGIN_HEADER _glyph = HANDLE_Glyph( glyph ) */ -typedef HB_Error (*HB_GlyphFunction)(FT_Face face, +typedef HB_Error (*HB_GlyphFunction)(HB_Font font, HB_UInt glyphIndex, HB_Int loadFlags ); @@ -61,15 +61,15 @@ typedef HB_Error (*HB_GlyphFunction)(FT_Face face, `metric_value' must be returned as a scaled value (but shouldn't be rounded). */ -typedef HB_Error (*HB_MMFunction)(FT_Face face, +typedef HB_Error (*HB_MMFunction)(HB_Font font, HB_UShort metric_id, - FT_Pos* metric_value, + HB_Fixed* metric_value, void* data ); struct HB_GPOSHeader_ { - FT_Fixed Version; + HB_16Dot16 Version; HB_ScriptList ScriptList; HB_FeatureList FeatureList; @@ -94,7 +94,7 @@ typedef struct HB_GPOSHeader_ HB_GPOSHeader; typedef HB_GPOSHeader* HB_GPOS; -HB_Error HB_Load_GPOS_Table( FT_Face face, +HB_Error HB_Load_GPOS_Table( HB_Font font, HB_GPOSHeader** gpos, HB_GDEFHeader* gdef ); @@ -151,7 +151,7 @@ HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos, tables are ignored -- you will get device independent values. */ -HB_Error HB_GPOS_Apply_String( FT_Face face, +HB_Error HB_GPOS_Apply_String( HB_Font font, HB_GPOSHeader* gpos, HB_UShort load_flags, HB_Buffer buffer, diff --git a/pango/opentype/harfbuzz-gsub.c b/pango/opentype/harfbuzz-gsub.c index 558876c7..d40c9dcb 100644 --- a/pango/opentype/harfbuzz-gsub.c +++ b/pango/opentype/harfbuzz-gsub.c @@ -30,11 +30,11 @@ static HB_Error GSUB_Do_Glyph_Lookup( HB_GSUBHeader* gsub, -HB_Error HB_Load_GSUB_Table( FT_Face face, +HB_Error HB_Load_GSUB_Table( HB_Font font, HB_GSUBHeader** retptr, HB_GDEFHeader* gdef ) { - HB_Stream stream = face->stream; + HB_Stream stream = font->stream; HB_Error error; HB_UInt cur_offset, new_offset, base_offset; diff --git a/pango/opentype/harfbuzz-gsub.h b/pango/opentype/harfbuzz-gsub.h index 8caa2ba2..0bd24fc7 100644 --- a/pango/opentype/harfbuzz-gsub.h +++ b/pango/opentype/harfbuzz-gsub.h @@ -49,7 +49,7 @@ struct HB_GSUBHeader_ { HB_UInt offset; - FT_Fixed Version; + HB_16Dot16 Version; HB_ScriptList ScriptList; HB_FeatureList FeatureList; @@ -68,7 +68,7 @@ typedef struct HB_GSUBHeader_ HB_GSUBHeader; typedef HB_GSUBHeader* HB_GSUB; -HB_Error HB_Load_GSUB_Table( FT_Face face, +HB_Error HB_Load_GSUB_Table( HB_Font font, HB_GSUBHeader** gsub, HB_GDEFHeader* gdef ); diff --git a/pango/opentype/harfbuzz-stream-private.h b/pango/opentype/harfbuzz-stream-private.h index eb4464c8..d2138cb1 100644 --- a/pango/opentype/harfbuzz-stream-private.h +++ b/pango/opentype/harfbuzz-stream-private.h @@ -34,14 +34,14 @@ HB_INTERNAL void _hb_stream_frame_exit( HB_Stream stream ); HB_INTERNAL HB_Error -_hb_face_goto_table( FT_Face face, +_hb_font_goto_table( HB_Font font, HB_UInt tag ); /* convenience macros */ #define SET_ERR(c) ( (error = (c)) != 0 ) -#define GOTO_Table(tag) SET_ERR( _hb_face_goto_table( face, tag ) ) +#define GOTO_Table(tag) SET_ERR( _hb_font_goto_table( font, tag ) ) #define FILE_Pos() _hb_stream_pos( stream ) #define FILE_Seek(pos) SET_ERR( _hb_stream_seek( stream, pos ) ) #define ACCESS_Frame(size) SET_ERR( _hb_stream_frame_enter( stream, size ) ) diff --git a/pango/opentype/harfbuzz-stream.c b/pango/opentype/harfbuzz-stream.c index 5746d42f..75e4d34e 100644 --- a/pango/opentype/harfbuzz-stream.c +++ b/pango/opentype/harfbuzz-stream.c @@ -145,24 +145,24 @@ _hb_stream_frame_exit( HB_Stream stream ) HB_INTERNAL HB_Error -_hb_face_goto_table( FT_Face face, +_hb_font_goto_table( HB_Font font, HB_UInt the_tag ) { - HB_Stream stream = face->stream; + HB_Stream stream = font->stream; HB_Error error; - LOG(( "_hb_face_goto_table( %p, %c%c%c%c, %p )\n", - face, + LOG(( "_hb_font_goto_table( %p, %c%c%c%c, %p )\n", + font, (int)((the_tag >> 24) & 0xFF), (int)((the_tag >> 16) & 0xFF), (int)((the_tag >> 8) & 0xFF), (int)(the_tag & 0xFF), stream )); - if ( !FT_IS_SFNT(face) ) + if ( !FT_IS_SFNT(font) ) { - LOG(( "not a SFNT face !!\n" )); + LOG(( "not a SFNT font !!\n" )); error = ERR(HB_Err_Invalid_Argument); } else @@ -173,12 +173,12 @@ _hb_face_goto_table( FT_Face face, HB_UInt offset = 0; HB_UInt count, nn; - if ( face->num_faces > 1 ) + if ( font->num_faces > 1 ) { /* deal with TrueType collections */ LOG(( ">> This is a TrueType Collection\n" )); - if ( FILE_Seek( 12 + face->face_index*4 ) || + if ( FILE_Seek( 12 + font->face_index*4 ) || ACCESS_Frame( 4 ) ) goto Exit; -- cgit v1.2.1