/[freetype]/freetype2/src/otvalid/otvcommn.h
ViewVC logotype

Diff of /freetype2/src/otvalid/otvcommn.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by wl, Thu Jun 16 19:07:08 2005 UTC revision 1.5 by freetype, Thu Jun 30 11:46:45 2005 UTC
# Line 109  FT_BEGIN_HEADER Line 109  FT_BEGIN_HEADER
109            FT_END_STMNT            FT_END_STMNT
110    
111    
112    #define  OTV_NAME_(x)  #x
113    #define  OTV_NAME(x)   OTV_NAME_(x)
114    
115    #define  OTV_FUNC_(x)  x##Func
116    #define  OTV_FUNC(x)   OTV_FUNC_(x)
117    
118  #ifdef FT_DEBUG_LEVEL_TRACE  #ifdef FT_DEBUG_LEVEL_TRACE
119    
120    /* use preprocessor's argument prescan to expand one argument into two */    /* use preprocessor's argument prescan to expand one argument into two */
121  #define OTV_NEST1( x )  OTV_NEST1_( x )  #define OTV_NEST1( x )                                     \
122  #define OTV_NEST1_( func0, name0 )                 \            FT_BEGIN_STMNT                                   \
123            FT_BEGIN_STMNT                           \              valid->nesting_level          = 0;             \
124              valid->nesting_level          = 0;     \              valid->func[0]                = OTV_FUNC(x);   \
125              valid->func[0]                = func0; \              valid->debug_function_name[0] = OTV_NAME(x);   \
             valid->debug_function_name[0] = name0; \  
126            FT_END_STMNT            FT_END_STMNT
127    
128    /* use preprocessor's argument prescan to expand two arguments into four */    /* use preprocessor's argument prescan to expand two arguments into four */
129  #define OTV_NEST2( x, y )  OTV_NEST2_( x, y )  #define OTV_NEST2( x, y )                                   \
130  #define OTV_NEST2_( func0, name0, func1, name1 )   \            FT_BEGIN_STMNT                                    \
131            FT_BEGIN_STMNT                           \              valid->nesting_level          = 0;              \
132              valid->nesting_level          = 0;     \              valid->func[0]                = OTV_FUNC(x);    \
133              valid->func[0]                = func0; \              valid->func[1]                = OTV_FUNC(y);    \
134              valid->func[1]                = func1; \              valid->debug_function_name[0] = OTV_NAME(x);    \
135              valid->debug_function_name[0] = name0; \              valid->debug_function_name[1] = OTV_NAME(y);    \
             valid->debug_function_name[1] = name1; \  
136            FT_END_STMNT            FT_END_STMNT
137    
138    /* use preprocessor's argument prescan to expand three arguments into six */    /* use preprocessor's argument prescan to expand three arguments into six */
139  #define OTV_NEST3( x, y, z )  OTV_NEST3_( x, y, z )  #define OTV_NEST3( x, y, z )                                \
140  #define OTV_NEST3_( func0, name0, func1, name1, func2, name2 ) \            FT_BEGIN_STMNT                                    \
141            FT_BEGIN_STMNT                                       \              valid->nesting_level          = 0;              \
142              valid->nesting_level          = 0;                 \              valid->func[0]                = OTV_FUNC(x);    \
143              valid->func[0]                = func0;             \              valid->func[1]                = OTV_FUNC(y);    \
144              valid->func[1]                = func1;             \              valid->func[2]                = OTV_FUNC(z);    \
145              valid->func[2]                = func2;             \              valid->debug_function_name[0] = OTV_NAME(x);    \
146              valid->debug_function_name[0] = name0;             \              valid->debug_function_name[1] = OTV_NAME(y);    \
147              valid->debug_function_name[1] = name1;             \              valid->debug_function_name[2] = OTV_NAME(z);    \
             valid->debug_function_name[2] = name2;             \  
148            FT_END_STMNT            FT_END_STMNT
149    
150  #define OTV_INIT  valid->debug_indent = 0  #define OTV_INIT  valid->debug_indent = 0
# Line 172  FT_BEGIN_HEADER Line 175  FT_BEGIN_HEADER
175  #else   /* !FT_DEBUG_LEVEL_TRACE */  #else   /* !FT_DEBUG_LEVEL_TRACE */
176    
177    /* use preprocessor's argument prescan to expand one argument into two */    /* use preprocessor's argument prescan to expand one argument into two */
178  #define OTV_NEST1( x )  OTV_NEST1_( x )  #define OTV_NEST1( x )                          \
179  #define OTV_NEST1_( func0, name0 )        \            FT_BEGIN_STMNT                        \
180            FT_BEGIN_STMNT                  \              valid->nesting_level = 0;           \
181              valid->nesting_level = 0;     \              valid->func[0]       = OTV_FUNC(x); \
             valid->func[0]       = func0; \  
182            FT_END_STMNT            FT_END_STMNT
183    
184    /* use preprocessor's argument prescan to expand two arguments into four */    /* use preprocessor's argument prescan to expand two arguments into four */
185  #define OTV_NEST2( x, y )  OTV_NEST2_( x, y )  #define OTV_NEST2( x, y )                        \
 #define OTV_NEST2_( func0, name0, func1, name1 ) \  
186            FT_BEGIN_STMNT                         \            FT_BEGIN_STMNT                         \
187              valid->nesting_level = 0;            \              valid->nesting_level = 0;            \
188              valid->func[0]       = func0;        \              valid->func[0]       = OTV_FUNC(x);  \
189              valid->func[1]       = func1;        \              valid->func[1]       = OTV_FUNC(y);  \
190            FT_END_STMNT            FT_END_STMNT
191    
192    /* use preprocessor's argument prescan to expand three arguments into six */    /* use preprocessor's argument prescan to expand three arguments into six */
193  #define OTV_NEST3( x, y, z )  OTV_NEST3_( x, y, z )  #define OTV_NEST3( x, y, z )                     \
194  #define OTV_NEST3_( func0, name0, func1, name1, func2, name2 ) \            FT_BEGIN_STMNT                         \
195            FT_BEGIN_STMNT                                       \              valid->nesting_level = 0;            \
196              valid->nesting_level = 0;                          \              valid->func[0]       = OTV_FUNC(x);  \
197              valid->func[0]       = func0;                      \              valid->func[1]       = OTV_FUNC(y);  \
198              valid->func[1]       = func1;                      \              valid->func[2]       = OTV_FUNC(z);  \
             valid->func[2]       = func2;                      \  
199            FT_END_STMNT            FT_END_STMNT
200    
201  #define OTV_INIT                do ; while ( 0 )  #define OTV_INIT                do ; while ( 0 )
# Line 338  FT_BEGIN_HEADER Line 338  FT_BEGIN_HEADER
338    /*************************************************************************/    /*************************************************************************/
339    /*************************************************************************/    /*************************************************************************/
340    
341    #if 0
342  #define ChainPosClassSet  otv_x_Ox, "ChainPosClassSet"  #define ChainPosClassSet  otv_x_Ox, "ChainPosClassSet"
343  #define ChainPosRuleSet   otv_x_Ox, "ChainPosRuleSet"  #define ChainPosRuleSet   otv_x_Ox, "ChainPosRuleSet"
344  #define ChainSubClassSet  otv_x_Ox, "ChainSubClassSet"  #define ChainSubClassSet  otv_x_Ox, "ChainSubClassSet"
# Line 351  FT_BEGIN_HEADER Line 352  FT_BEGIN_HEADER
352  #define PosRuleSet        otv_x_Ox, "PosRuleSet"  #define PosRuleSet        otv_x_Ox, "PosRuleSet"
353  #define SubClassSet       otv_x_Ox, "SubClassSet"  #define SubClassSet       otv_x_Ox, "SubClassSet"
354  #define SubRuleSet        otv_x_Ox, "SubRuleSet"  #define SubRuleSet        otv_x_Ox, "SubRuleSet"
355    #endif
356    
357    #define ChainPosClassSetFunc  otv_x_Ox
358    #define ChainPosRuleSetFunc   otv_x_Ox
359    #define ChainSubClassSetFunc  otv_x_Ox
360    #define ChainSubRuleSetFunc   otv_x_Ox
361    #define JstfLangSysFunc       otv_x_Ox
362    #define JstfMaxFunc           otv_x_Ox
363    #define LigGlyphFunc          otv_x_Ox
364    #define LigatureArrayFunc     otv_x_Ox
365    #define LigatureSetFunc       otv_x_Ox
366    #define PosClassSetFunc       otv_x_Ox
367    #define PosRuleSetFunc        otv_x_Ox
368    #define SubClassSetFunc       otv_x_Ox
369    #define SubRuleSetFunc        otv_x_Ox
370    
371    FT_LOCAL( void )    FT_LOCAL( void )
372    otv_x_Ox ( FT_Bytes       table,    otv_x_Ox ( FT_Bytes       table,
373               OTV_Validator  valid );               OTV_Validator  valid );
374    
375    #if 0
376  #define AlternateSubstFormat1     otv_u_C_x_Ox, "AlternateSubstFormat1"  #define AlternateSubstFormat1     otv_u_C_x_Ox, "AlternateSubstFormat1"
377  #define ChainContextPosFormat1    otv_u_C_x_Ox, "ChainContextPosFormat1"  #define ChainContextPosFormat1    otv_u_C_x_Ox, "ChainContextPosFormat1"
378  #define ChainContextSubstFormat1  otv_u_C_x_Ox, "ChainContextSubstFormat1"  #define ChainContextSubstFormat1  otv_u_C_x_Ox, "ChainContextSubstFormat1"
# Line 363  FT_BEGIN_HEADER Line 380  FT_BEGIN_HEADER
380  #define ContextSubstFormat1       otv_u_C_x_Ox, "ContextSubstFormat1"  #define ContextSubstFormat1       otv_u_C_x_Ox, "ContextSubstFormat1"
381  #define LigatureSubstFormat1      otv_u_C_x_Ox, "LigatureSubstFormat1"  #define LigatureSubstFormat1      otv_u_C_x_Ox, "LigatureSubstFormat1"
382  #define MultipleSubstFormat1      otv_u_C_x_Ox, "MultipleSubstFormat1"  #define MultipleSubstFormat1      otv_u_C_x_Ox, "MultipleSubstFormat1"
383    #endif
384    
385    #define AlternateSubstFormat1Func     otv_u_C_x_Ox
386    #define ChainContextPosFormat1Func    otv_u_C_x_Ox
387    #define ChainContextSubstFormat1Func  otv_u_C_x_Ox
388    #define ContextPosFormat1Func         otv_u_C_x_Ox
389    #define ContextSubstFormat1Func       otv_u_C_x_Ox
390    #define LigatureSubstFormat1Func      otv_u_C_x_Ox
391    #define MultipleSubstFormat1Func      otv_u_C_x_Ox
392    
393    
394    FT_LOCAL( void )    FT_LOCAL( void )
395    otv_u_C_x_Ox( FT_Bytes       table,    otv_u_C_x_Ox( FT_Bytes       table,
396                  OTV_Validator  valid );                  OTV_Validator  valid );
397    
398    #if 0
399  #define AlternateSet     otv_x_ux, "AlternateSet"  #define AlternateSet     otv_x_ux, "AlternateSet"
400  #define AttachPoint      otv_x_ux, "AttachPoint"  #define AttachPoint      otv_x_ux, "AttachPoint"
401  #define ExtenderGlyph    otv_x_ux, "ExtenderGlyph"  #define ExtenderGlyph    otv_x_ux, "ExtenderGlyph"
402  #define JstfGPOSModList  otv_x_ux, "JstfGPOSModList"  #define JstfGPOSModList  otv_x_ux, "JstfGPOSModList"
403  #define JstfGSUBModList  otv_x_ux, "JstfGSUBModList"  #define JstfGSUBModList  otv_x_ux, "JstfGSUBModList"
404  #define Sequence         otv_x_ux, "Sequence"  #define Sequence         otv_x_ux, "Sequence"
405    #endif
406    #define AlternateSetFunc     otv_x_ux
407    #define AttachPointFunc      otv_x_ux
408    #define ExtenderGlyphFunc    otv_x_ux
409    #define JstfGPOSModListFunc  otv_x_ux
410    #define JstfGSUBModListFunc  otv_x_ux
411    #define SequenceFunc         otv_x_ux
412    
413    FT_LOCAL( void )    FT_LOCAL( void )
414    otv_x_ux( FT_Bytes       table,    otv_x_ux( FT_Bytes       table,
415              OTV_Validator  valid );              OTV_Validator  valid );
416    
417    #if 0
418  #define PosClassRule  otv_x_y_ux_sy, "PosClassRule"  #define PosClassRule  otv_x_y_ux_sy, "PosClassRule"
419  #define PosRule       otv_x_y_ux_sy, "PosRule"  #define PosRule       otv_x_y_ux_sy, "PosRule"
420  #define SubClassRule  otv_x_y_ux_sy, "SubClassRule"  #define SubClassRule  otv_x_y_ux_sy, "SubClassRule"
421  #define SubRule       otv_x_y_ux_sy, "SubRule"  #define SubRule       otv_x_y_ux_sy, "SubRule"
422    #endif
423    
424    #define PosClassRuleFunc  otv_x_y_ux_sy
425    #define PosRuleFunc       otv_x_y_ux_sy
426    #define SubClassRuleFunc  otv_x_y_ux_sy
427    #define SubRuleFunc       otv_x_y_ux_sy
428    
429    FT_LOCAL( void )    FT_LOCAL( void )
430    otv_x_y_ux_sy( FT_Bytes       table,    otv_x_y_ux_sy( FT_Bytes       table,
431                   OTV_Validator  valid );                   OTV_Validator  valid );
432    
433    #if 0
434  #define ChainPosClassRule  otv_x_ux_y_uy_z_uz_p_sp, "ChainPosClassRule"  #define ChainPosClassRule  otv_x_ux_y_uy_z_uz_p_sp, "ChainPosClassRule"
435  #define ChainPosRule       otv_x_ux_y_uy_z_uz_p_sp, "ChainPosRule"  #define ChainPosRule       otv_x_ux_y_uy_z_uz_p_sp, "ChainPosRule"
436  #define ChainSubClassRule  otv_x_ux_y_uy_z_uz_p_sp, "ChainSubClassRule"  #define ChainSubClassRule  otv_x_ux_y_uy_z_uz_p_sp, "ChainSubClassRule"
437  #define ChainSubRule       otv_x_ux_y_uy_z_uz_p_sp, "ChainSubRule"  #define ChainSubRule       otv_x_ux_y_uy_z_uz_p_sp, "ChainSubRule"
438    #endif
439    
440    #define ChainPosClassRuleFunc  otv_x_ux_y_uy_z_uz_p_sp
441    #define ChainPosRuleFunc       otv_x_ux_y_uy_z_uz_p_sp
442    #define ChainSubClassRuleFunc  otv_x_ux_y_uy_z_uz_p_sp
443    #define ChainSubRuleFunc       otv_x_ux_y_uy_z_uz_p_sp
444    
445    FT_LOCAL( void )    FT_LOCAL( void )
446    otv_x_ux_y_uy_z_uz_p_sp( FT_Bytes       table,    otv_x_ux_y_uy_z_uz_p_sp( FT_Bytes       table,
447                             OTV_Validator  valid );                             OTV_Validator  valid );
448    
449    #if 0
450  #define ContextPosFormat2    otv_u_O_O_x_Onx, "ContextPosFormat2"  #define ContextPosFormat2    otv_u_O_O_x_Onx, "ContextPosFormat2"
451  #define ContextSubstFormat2  otv_u_O_O_x_Onx, "ContextSubstFormat2"  #define ContextSubstFormat2  otv_u_O_O_x_Onx, "ContextSubstFormat2"
452    #endif
453    
454    #define ContextPosFormat2Func    otv_u_O_O_x_Onx
455    #define ContextSubstFormat2Func  otv_u_O_O_x_Onx
456    
457    FT_LOCAL( void )    FT_LOCAL( void )
458    otv_u_O_O_x_Onx( FT_Bytes       table,    otv_u_O_O_x_Onx( FT_Bytes       table,
459                     OTV_Validator  valid );                     OTV_Validator  valid );
460    
461    #if 0
462  #define ContextPosFormat3    otv_u_x_y_Ox_sy, "ContextPosFormat3"  #define ContextPosFormat3    otv_u_x_y_Ox_sy, "ContextPosFormat3"
463  #define ContextSubstFormat3  otv_u_x_y_Ox_sy, "ContextSubstFormat3"  #define ContextSubstFormat3  otv_u_x_y_Ox_sy, "ContextSubstFormat3"
464    #endif
465    
466    #define ContextPosFormat3Func    otv_u_x_y_Ox_sy
467    #define ContextSubstFormat3Func  otv_u_x_y_Ox_sy
468    
469    FT_LOCAL( void )    FT_LOCAL( void )
470    otv_u_x_y_Ox_sy( FT_Bytes       table,    otv_u_x_y_Ox_sy( FT_Bytes       table,
471                     OTV_Validator  valid );                     OTV_Validator  valid );
472    
473  #define ChainContextPosFormat2    otv_u_O_O_O_O_x_Onx, "ChainContextPosFormat2"  #if 0
474  #define ChainContextSubstFormat2  otv_u_O_O_O_O_x_Onx, "ChainContextSubstFormat2"  #define ChainContextPosFormat2        otv_u_O_O_O_O_x_Onx, "ChainContextPosFormat2"
475    #define ChainContextSubstFormat2      otv_u_O_O_O_O_x_Onx, "ChainContextSubstFormat2"
476    #endif
477    
478    #define ChainContextPosFormat2Func    otv_u_O_O_O_O_x_Onx
479    #define ChainContextSubstFormat2Func  otv_u_O_O_O_O_x_Onx
480    
481    FT_LOCAL( void )    FT_LOCAL( void )
482    otv_u_O_O_O_O_x_Onx( FT_Bytes       table,    otv_u_O_O_O_O_x_Onx( FT_Bytes       table,
483                         OTV_Validator  valid );                         OTV_Validator  valid );
484    
485  #define ChainContextPosFormat3    otv_u_x_Ox_y_Oy_z_Oz_p_sp, "ChainContextPosFormat3"  #if 0
486  #define ChainContextSubstFormat3  otv_u_x_Ox_y_Oy_z_Oz_p_sp, "ChainContextSubstFormat3"  #define ChainContextPosFormat3        otv_u_x_Ox_y_Oy_z_Oz_p_sp, "ChainContextPosFormat3"
487    #define ChainContextSubstFormat3      otv_u_x_Ox_y_Oy_z_Oz_p_sp, "ChainContextSubstFormat3"
488    #endif
489    
490    #define ChainContextPosFormat3Func    otv_u_x_Ox_y_Oy_z_Oz_p_sp
491    #define ChainContextSubstFormat3Func  otv_u_x_Ox_y_Oy_z_Oz_p_sp
492    
493    FT_LOCAL( void )    FT_LOCAL( void )
494    otv_u_x_Ox_y_Oy_z_Oz_p_sp( FT_Bytes       table,    otv_u_x_Ox_y_Oy_z_Oz_p_sp( FT_Bytes       table,

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26