ref: dd570e99ab6770657222bf7da8f780b8ea9752a1
parent: cc7bb80bdea0fe0f60f6f01e3c0a054fa100bd48
author: Werner Lemberg <[email protected]>
date: Thu Oct 23 15:57:37 EDT 2014
[cff] Work around bug in preprocessor of MSVC 2010. We have been hit by https://connect.microsoft.com/VisualStudio/feedback/details/718976/msvc-pr * devel/ftoption.h, include/config/ftoption.h: Replace `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' with eight macros `CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}'. * src/cff/cffobjs.c (SET_DARKENING_PARAMETERS): Removed. We no longer need double expansion. (SET_DARKENING_PARAMETERS_0): Renamed to ... (SET_DARKENING_PARAMETERS): ... this. Update call.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2014-10-23 Werner Lemberg <[email protected]>
+
+ [cff] Work around bug in preprocessor of MSVC 2010.
+
+ We have been hit by
+
+ https://connect.microsoft.com/VisualStudio/feedback/details/718976/msvc-pr
+
+ * devel/ftoption.h, include/config/ftoption.h: Replace
+ `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' with eight macros
+ `CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}'.
+
+ * src/cff/cffobjs.c (SET_DARKENING_PARAMETERS): Removed. We no
+ longer need double expansion.
+ (SET_DARKENING_PARAMETERS_0): Renamed to ...
+ (SET_DARKENING_PARAMETERS): ... this.
+ Update call.
+
2014-10-20 Werner Lemberg <[email protected]>
[sbit] Minor fixes.
--- a/devel/ftoption.h
+++ b/devel/ftoption.h
@@ -773,19 +773,26 @@
/*************************************************************************/
/* */
- /* Using CFF_CONFIG_OPTION_DARKENING_PARAMETERS it is possible to set up */
- /* the default values of the four control points that define the stem */
- /* darkening behaviour of the (new) CFF engine. For more details please */
- /* read the documentation of the `darkening-parameters' property of the */
- /* cff driver module (file `ftcffdrv.h'), which allows the control at */
- /* run-time. */
+ /* Using CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4} it is */
+ /* possible to set up the default values of the four control points that */
+ /* define the stem darkening behaviour of the (new) CFF engine. For */
+ /* more details please read the documentation of the */
+ /* `darkening-parameters' property of the cff driver module (file */
+ /* `ftcffdrv.h'), which allows the control at run-time. */
/* */
- /* Do *not* undefine this macro! */
+ /* Do *not* undefine these macros! */
/* */
-#define CFF_CONFIG_OPTION_DARKENING_PARAMETERS 500, 400, \
- 1000, 275, \
- 1667, 275, \
- 2333, 0
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400
+
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275
+
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275
+
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0
/*************************************************************************/
--- a/include/config/ftoption.h
+++ b/include/config/ftoption.h
@@ -773,19 +773,26 @@
/*************************************************************************/
/* */
- /* Using CFF_CONFIG_OPTION_DARKENING_PARAMETERS it is possible to set up */
- /* the default values of the four control points that define the stem */
- /* darkening behaviour of the (new) CFF engine. For more details please */
- /* read the documentation of the `darkening-parameters' property of the */
- /* cff driver module (file `ftcffdrv.h'), which allows the control at */
- /* run-time. */
+ /* Using CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4} it is */
+ /* possible to set up the default values of the four control points that */
+ /* define the stem darkening behaviour of the (new) CFF engine. For */
+ /* more details please read the documentation of the */
+ /* `darkening-parameters' property of the cff driver module (file */
+ /* `ftcffdrv.h'), which allows the control at run-time. */
/* */
- /* Do *not* undefine this macro! */
+ /* Do *not* undefine these macros! */
/* */
-#define CFF_CONFIG_OPTION_DARKENING_PARAMETERS 500, 400, \
- 1000, 275, \
- 1667, 275, \
- 2333, 0
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400
+
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275
+
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275
+
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0
/*************************************************************************/
--- a/src/cff/cffobjs.c
+++ b/src/cff/cffobjs.c
@@ -1049,11 +1049,11 @@
}
-#define SET_DARKENING_PARAMETERS_0( driver, \
- x1, y1, \
- x2, y2, \
- x3, y3, \
- x4, y4 ) \
+#define SET_DARKENING_PARAMETERS( driver, \
+ x1, y1, \
+ x2, y2, \
+ x3, y3, \
+ x4, y4 ) \
FT_BEGIN_STMNT \
/* checks copied from `cff_property_set' in `cffdrivr.c' */ \
typedef int static_assert_darkening_parameters[ \
@@ -1073,10 +1073,7 @@
driver->darken_params[7] = y4; \
FT_END_STMNT
-#define SET_DARKENING_PARAMETERS( driver, params ) \
- SET_DARKENING_PARAMETERS_0( driver, params )
-
FT_LOCAL_DEF( FT_Error )
cff_driver_init( FT_Module module ) /* CFF_Driver */
{
@@ -1092,7 +1089,14 @@
driver->no_stem_darkening = FALSE;
SET_DARKENING_PARAMETERS( driver,
- CFF_CONFIG_OPTION_DARKENING_PARAMETERS );
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1,
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1,
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2,
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2,
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3,
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3,
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4,
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 );
return FT_Err_Ok;
}