From 0aa36160d6ca5b4f7280127ea861a637759a1ff6 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Sun, 8 Mar 2015 22:50:37 +0100 Subject: [PATCH] Formatting, whitespace, addition of some comments. --- include/internal/ftdebug.h | 2 +- src/truetype/ttgxvar.c | 162 ++++++++++++++++++++----------------- 2 files changed, 91 insertions(+), 73 deletions(-) diff --git a/include/internal/ftdebug.h b/include/internal/ftdebug.h index edd3b49cd..216c73031 100644 --- a/include/internal/ftdebug.h +++ b/include/internal/ftdebug.h @@ -140,7 +140,7 @@ FT_BEGIN_HEADER /* This function may be useful if you want to control FreeType 2's */ /* debug level in your application. */ /* */ - FT_BASE( const char * ) + FT_BASE( const char* ) FT_Trace_Get_Name( FT_Int idx ); diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c index e44951db5..2652e75f5 100644 --- a/src/truetype/ttgxvar.c +++ b/src/truetype/ttgxvar.c @@ -288,7 +288,7 @@ static void ft_var_load_avar( TT_Face face ) { - FT_Stream stream = FT_FACE_STREAM(face); + FT_Stream stream = FT_FACE_STREAM( face ); FT_Memory memory = stream->memory; GX_Blend blend = face->blend; GX_AVarSegment segment; @@ -302,7 +302,10 @@ blend->avar_checked = TRUE; - if ( (error = face->goto_table( face, TTAG_avar, stream, &table_len )) != 0 ) + if ( ( error = face->goto_table( face, + TTAG_avar, + stream, + &table_len ) ) != 0 ) return; if ( FT_FRAME_ENTER( table_len ) ) @@ -319,7 +322,7 @@ goto Exit; segment = &blend->avar_segment[0]; - for ( i = 0; i < axisCount; ++i, ++segment ) + for ( i = 0; i < axisCount; i++, segment++ ) { segment->pairCount = FT_GET_USHORT(); if ( FT_NEW_ARRAY( segment->correspondence, segment->pairCount ) ) @@ -327,7 +330,7 @@ /* Failure. Free everything we have done so far. We must do */ /* it right now since loading the `avar' table is optional. */ - for ( j = i - 1; j >= 0; --j ) + for ( j = i - 1; j >= 0; j-- ) FT_FREE( blend->avar_segment[j].correspondence ); FT_FREE( blend->avar_segment ); @@ -335,7 +338,7 @@ goto Exit; } - for ( j = 0; j < segment->pairCount; ++j ) + for ( j = 0; j < segment->pairCount; j++ ) { /* convert to Fixed */ segment->correspondence[j].fromCoord = FT_GET_SHORT() << 2; @@ -367,8 +370,8 @@ /* ft_var_load_gvar */ /* */ /* */ - /* Parses the `gvar' table if present. If `fvar' is there, `gvar' */ - /* had better be there too. */ + /* Parse the `gvar' table if present. If `fvar' is there, `gvar' had */ + /* better be there too. */ /* */ /* */ /* face :: The font face. */ @@ -379,7 +382,7 @@ static FT_Error ft_var_load_gvar( TT_Face face ) { - FT_Stream stream = FT_FACE_STREAM(face); + FT_Stream stream = FT_FACE_STREAM( face ); FT_Memory memory = stream->memory; GX_Blend blend = face->blend; FT_Error error; @@ -406,7 +409,10 @@ FT_FRAME_END }; - if ( (error = face->goto_table( face, TTAG_gvar, stream, &table_len )) != 0 ) + if ( ( error = face->goto_table( face, + TTAG_gvar, + stream, + &table_len ) ) != 0 ) goto Exit; gvar_start = FT_STREAM_POS( ); @@ -433,7 +439,7 @@ if ( FT_FRAME_ENTER( ( blend->gv_glyphcnt + 1 ) * 4L ) ) goto Exit; - for ( i = 0; i <= blend->gv_glyphcnt; ++i ) + for ( i = 0; i <= blend->gv_glyphcnt; i++ ) blend->glyphoffsets[i] = offsetToData + FT_GET_ULONG(); FT_FRAME_EXIT(); @@ -444,9 +450,9 @@ if ( FT_FRAME_ENTER( ( blend->gv_glyphcnt + 1 ) * 2L ) ) goto Exit; - for ( i = 0; i <= blend->gv_glyphcnt; ++i ) + for ( i = 0; i <= blend->gv_glyphcnt; i++ ) blend->glyphoffsets[i] = offsetToData + FT_GET_USHORT() * 2; - /* XXX: Undocumented: `*2'! */ + /* XXX: Undocumented: `*2'! */ FT_FRAME_EXIT(); } @@ -457,12 +463,12 @@ gvar_head.axisCount * blend->tuplecount ) ) goto Exit; - if ( FT_STREAM_SEEK( gvar_start + gvar_head.offsetToCoord ) || - FT_FRAME_ENTER( blend->tuplecount * gvar_head.axisCount * 2L ) ) + if ( FT_STREAM_SEEK( gvar_start + gvar_head.offsetToCoord ) || + FT_FRAME_ENTER( blend->tuplecount * gvar_head.axisCount * 2L ) ) goto Exit; - for ( i = 0; i < blend->tuplecount; ++i ) - for ( j = 0 ; j < (FT_UInt)gvar_head.axisCount; ++j ) + for ( i = 0; i < blend->tuplecount; i++ ) + for ( j = 0 ; j < (FT_UInt)gvar_head.axisCount; j++ ) blend->tuplecoords[i * gvar_head.axisCount + j] = FT_GET_SHORT() << 2; /* convert to FT_Fixed */ @@ -512,7 +518,7 @@ FT_Fixed apply = 0x10000L; - for ( i = 0; i < blend->num_axis; ++i ) + for ( i = 0; i < blend->num_axis; i++ ) { if ( tuple_coords[i] == 0 ) /* It's not clear why (for intermediate tuples) we don't need */ @@ -662,15 +668,18 @@ }; + /* read the font data and set up the internal representation */ + /* if not already done */ + if ( face->blend == NULL ) { /* both `fvar' and `gvar' must be present */ - if ( (error = face->goto_table( face, TTAG_gvar, - stream, &table_len )) != 0 ) + if ( ( error = face->goto_table( face, TTAG_gvar, + stream, &table_len ) ) != 0 ) goto Exit; - if ( (error = face->goto_table( face, TTAG_fvar, - stream, &table_len )) != 0 ) + if ( ( error = face->goto_table( face, TTAG_fvar, + stream, &table_len ) ) != 0 ) goto Exit; fvar_start = FT_STREAM_POS( ); @@ -713,6 +722,9 @@ goto Exit; face->blend->mmvar = mmvar; + /* set up pointers and offsets into the `mmvar' array; */ + /* the data gets filled in later on */ + mmvar->num_axis = fvar_head.axisCount; mmvar->num_designs = @@ -722,30 +734,32 @@ mmvar->num_namedstyles = fvar_head.instanceCount; mmvar->axis = - (FT_Var_Axis*)&(mmvar[1]); + (FT_Var_Axis*)&( mmvar[1] ); mmvar->namedstyle = - (FT_Var_Named_Style*)&(mmvar->axis[fvar_head.axisCount]); + (FT_Var_Named_Style*)&( mmvar->axis[fvar_head.axisCount] ); next_coords = - (FT_Fixed*)&(mmvar->namedstyle[fvar_head.instanceCount]); - for ( i = 0; i < fvar_head.instanceCount; ++i ) + (FT_Fixed*)&( mmvar->namedstyle[fvar_head.instanceCount] ); + for ( i = 0; i < fvar_head.instanceCount; i++ ) { mmvar->namedstyle[i].coords = next_coords; next_coords += fvar_head.axisCount; } next_name = (FT_String*)next_coords; - for ( i = 0; i < fvar_head.axisCount; ++i ) + for ( i = 0; i < fvar_head.axisCount; i++ ) { mmvar->axis[i].name = next_name; next_name += 5; } + /* now fill in the data */ + if ( FT_STREAM_SEEK( fvar_start + fvar_head.offsetToData ) ) goto Exit; a = mmvar->axis; - for ( i = 0; i < fvar_head.axisCount; ++i ) + for ( i = 0; i < fvar_head.axisCount; i++ ) { GX_FVar_Axis axis_rec; @@ -762,13 +776,13 @@ a->name[1] = (FT_String)( ( a->tag >> 16 ) & 0xFF ); a->name[2] = (FT_String)( ( a->tag >> 8 ) & 0xFF ); a->name[3] = (FT_String)( ( a->tag ) & 0xFF ); - a->name[4] = 0; + a->name[4] = '\0'; - ++a; + a++; } ns = mmvar->namedstyle; - for ( i = 0; i < fvar_head.instanceCount; ++i, ++ns ) + for ( i = 0; i < fvar_head.instanceCount; i++, ns++ ) { if ( FT_FRAME_ENTER( 4L + 4L * fvar_head.axisCount ) ) goto Exit; @@ -776,13 +790,15 @@ ns->strid = FT_GET_USHORT(); (void) /* flags = */ FT_GET_USHORT(); - for ( j = 0; j < fvar_head.axisCount; ++j ) + for ( j = 0; j < fvar_head.axisCount; j++ ) ns->coords[j] = FT_GET_LONG(); FT_FRAME_EXIT(); } } + /* fill the output array if requested */ + if ( master != NULL ) { FT_UInt n; @@ -793,36 +809,36 @@ FT_MEM_COPY( mmvar, face->blend->mmvar, face->blend->mmvar_len ); mmvar->axis = - (FT_Var_Axis*)&(mmvar[1]); + (FT_Var_Axis*)&( mmvar[1] ); mmvar->namedstyle = - (FT_Var_Named_Style*)&(mmvar->axis[mmvar->num_axis]); + (FT_Var_Named_Style*)&( mmvar->axis[mmvar->num_axis] ); next_coords = - (FT_Fixed*)&(mmvar->namedstyle[mmvar->num_namedstyles]); + (FT_Fixed*)&( mmvar->namedstyle[mmvar->num_namedstyles] ); - for ( n = 0; n < mmvar->num_namedstyles; ++n ) + for ( n = 0; n < mmvar->num_namedstyles; n++ ) { mmvar->namedstyle[n].coords = next_coords; next_coords += mmvar->num_axis; } - a = mmvar->axis; + a = mmvar->axis; next_name = (FT_String*)next_coords; - for ( n = 0; n < mmvar->num_axis; ++n ) + for ( n = 0; n < mmvar->num_axis; n++ ) { a->name = next_name; /* standard PostScript names for some standard apple tags */ if ( a->tag == TTAG_wght ) - a->name = (char *)"Weight"; + a->name = (char*)"Weight"; else if ( a->tag == TTAG_wdth ) - a->name = (char *)"Width"; + a->name = (char*)"Width"; else if ( a->tag == TTAG_opsz ) - a->name = (char *)"OpticalSize"; + a->name = (char*)"OpticalSize"; else if ( a->tag == TTAG_slnt ) - a->name = (char *)"Slant"; + a->name = (char*)"Slant"; next_name += 5; - ++a; + a++; } *master = mmvar; @@ -850,7 +866,7 @@ /* */ /* num_coords :: Must be the axis count of the font. */ /* */ - /* coords :: An array of num_coords, each between [-1,1]. */ + /* coords :: An array of `num_coords', each between [-1,1]. */ /* */ /* */ /* FreeType error code. 0 means success. */ @@ -879,7 +895,7 @@ if ( face->blend == NULL ) { - if ( (error = TT_Get_MM_Var( face, NULL)) != 0 ) + if ( ( error = TT_Get_MM_Var( face, NULL ) ) != 0 ) goto Exit; } @@ -892,7 +908,7 @@ goto Exit; } - for ( i = 0; i < num_coords; ++i ) + for ( i = 0; i < num_coords; i++ ) if ( coords[i] < -0x00010000L || coords[i] > 0x00010000L ) { error = FT_THROW( Invalid_Argument ); @@ -900,7 +916,7 @@ } if ( blend->glyphoffsets == NULL ) - if ( (error = ft_var_load_gvar( face )) != 0 ) + if ( ( error = ft_var_load_gvar( face ) ) != 0 ) goto Exit; if ( blend->normalizedcoords == NULL ) @@ -917,7 +933,8 @@ else { manageCvt = mcvt_retain; - for ( i = 0; i < num_coords; ++i ) + + for ( i = 0; i < num_coords; i++ ) { if ( blend->normalizedcoords[i] != coords[i] ) { @@ -1008,7 +1025,7 @@ if ( face->blend == NULL ) { - if ( (error = TT_Get_MM_Var( face, NULL )) != 0 ) + if ( ( error = TT_Get_MM_Var( face, NULL ) ) != 0 ) goto Exit; } @@ -1029,7 +1046,7 @@ goto Exit; a = mmvar->axis; - for ( i = 0; i < mmvar->num_axis; ++i, ++a ) + for ( i = 0; i < mmvar->num_axis; i++, a++ ) { if ( coords[i] > a->maximum || coords[i] < a->minimum ) { @@ -1038,11 +1055,13 @@ } if ( coords[i] < a->def ) - normalized[i] = -FT_DivFix( coords[i] - a->def, a->minimum - a->def ); + normalized[i] = -FT_DivFix( coords[i] - a->def, + a->minimum - a->def ); else if ( a->maximum == a->def ) normalized[i] = 0; else - normalized[i] = FT_DivFix( coords[i] - a->def, a->maximum - a->def ); + normalized[i] = FT_DivFix( coords[i] - a->def, + a->maximum - a->def ); } if ( !blend->avar_checked ) @@ -1051,9 +1070,9 @@ if ( blend->avar_segment != NULL ) { av = blend->avar_segment; - for ( i = 0; i < mmvar->num_axis; ++i, ++av ) + for ( i = 0; i < mmvar->num_axis; i++, av++ ) { - for ( j = 1; j < (FT_UInt)av->pairCount; ++j ) + for ( j = 1; j < (FT_UInt)av->pairCount; j++ ) if ( normalized[i] < av->correspondence[j].fromCoord ) { normalized[i] = @@ -1181,7 +1200,7 @@ /* tuplecount, but John Jenkins says that shared points don't apply */ /* to `cvar', and no other flags are defined. */ - for ( i = 0; i < ( tupleCount & 0xFFF ); ++i ) + for ( i = 0; i < ( tupleCount & 0xFFF ); i++ ) { FT_UInt tupleDataSize; FT_UInt tupleIndex; @@ -1196,7 +1215,7 @@ if ( tupleIndex & GX_TI_EMBEDDED_TUPLE_COORD ) { - for ( j = 0; j < blend->num_axis; ++j ) + for ( j = 0; j < blend->num_axis; j++ ) tuple_coords[j] = FT_GET_SHORT() << 2; /* convert from */ /* short frac to fixed */ } @@ -1205,7 +1224,7 @@ /* skip this tuple; it makes no sense */ if ( tupleIndex & GX_TI_INTERMEDIATE_TUPLE ) - for ( j = 0; j < 2 * blend->num_axis; ++j ) + for ( j = 0; j < 2 * blend->num_axis; j++ ) (void)FT_GET_SHORT(); offsetToData += tupleDataSize; @@ -1214,9 +1233,9 @@ if ( tupleIndex & GX_TI_INTERMEDIATE_TUPLE ) { - for ( j = 0; j < blend->num_axis; ++j ) + for ( j = 0; j < blend->num_axis; j++ ) im_start_coords[j] = FT_GET_SHORT() << 2; - for ( j = 0; j < blend->num_axis; ++j ) + for ( j = 0; j < blend->num_axis; j++ ) im_end_coords[j] = FT_GET_SHORT() << 2; } @@ -1244,22 +1263,23 @@ point_count == 0 ? face->cvt_size : point_count ); if ( localpoints == NULL || deltas == NULL ) - /* failure, ignore it */; + ; /* failure, ignore it */ else if ( localpoints == ALL_POINTS ) { /* this means that there are deltas for every entry in cvt */ - for ( j = 0; j < face->cvt_size; ++j ) + for ( j = 0; j < face->cvt_size; j++ ) face->cvt[j] = (FT_Short)( face->cvt[j] + FT_MulFix( deltas[j], apply ) ); } else { - for ( j = 0; j < point_count; ++j ) + for ( j = 0; j < point_count; j++ ) { int pindex = localpoints[j]; + face->cvt[pindex] = (FT_Short)( face->cvt[pindex] + FT_MulFix( deltas[j], apply ) ); } @@ -1378,7 +1398,7 @@ FT_Stream_SeekSet( stream, here ); } - for ( i = 0; i < ( tupleCount & GX_TC_TUPLE_COUNT_MASK ); ++i ) + for ( i = 0; i < ( tupleCount & GX_TC_TUPLE_COUNT_MASK ); i++ ) { FT_UInt tupleDataSize; FT_UInt tupleIndex; @@ -1390,7 +1410,7 @@ if ( tupleIndex & GX_TI_EMBEDDED_TUPLE_COORD ) { - for ( j = 0; j < blend->num_axis; ++j ) + for ( j = 0; j < blend->num_axis; j++ ) tuple_coords[j] = FT_GET_SHORT() << 2; /* convert from */ /* short frac to fixed */ } @@ -1400,18 +1420,16 @@ goto Fail3; } else - { FT_MEM_COPY( tuple_coords, - &blend->tuplecoords[(tupleIndex & 0xFFF) * blend->num_axis], + &blend->tuplecoords[( tupleIndex & 0xFFF ) * blend->num_axis], blend->num_axis * sizeof ( FT_Fixed ) ); - } if ( tupleIndex & GX_TI_INTERMEDIATE_TUPLE ) { - for ( j = 0; j < blend->num_axis; ++j ) + for ( j = 0; j < blend->num_axis; j++ ) im_start_coords[j] = FT_GET_SHORT() << 2; - for ( j = 0; j < blend->num_axis; ++j ) + for ( j = 0; j < blend->num_axis; j++ ) im_end_coords[j] = FT_GET_SHORT() << 2; } @@ -1455,7 +1473,7 @@ else if ( points == ALL_POINTS ) { /* this means that there are deltas for every point in the glyph */ - for ( j = 0; j < n_points; ++j ) + for ( j = 0; j < n_points; j++ ) { delta_xy[j].x += FT_MulFix( deltas_x[j], apply ); delta_xy[j].y += FT_MulFix( deltas_y[j], apply ); @@ -1464,7 +1482,7 @@ else { - for ( j = 0; j < point_count; ++j ) + for ( j = 0; j < point_count; j++ ) { if ( localpoints[j] >= n_points ) continue; @@ -1510,7 +1528,7 @@ /* tt_done_blend */ /* */ /* */ - /* Frees the blend internal data structure. */ + /* Free the blend internal data structure. */ /* */ FT_LOCAL_DEF( void ) tt_done_blend( FT_Memory memory, @@ -1526,7 +1544,7 @@ if ( blend->avar_segment != NULL ) { - for ( i = 0; i < blend->num_axis; ++i ) + for ( i = 0; i < blend->num_axis; i++ ) FT_FREE( blend->avar_segment[i].correspondence ); FT_FREE( blend->avar_segment ); }