- static const FT_ServiceDescRec sfnt_services[] =
- {
- { FT_SERVICE_ID_SFNT_TABLE, &sfnt_service_sfnt_table },
- { FT_SERVICE_ID_POSTSCRIPT_FONT_NAME, &sfnt_service_ps_name },
-#ifdef TT_CONFIG_OPTION_POSTSCRIPT_NAMES
- { FT_SERVICE_ID_GLYPH_DICT, &sfnt_service_glyph_dict },
-#endif
-#ifdef TT_CONFIG_OPTION_BDF
- { FT_SERVICE_ID_BDF, &sfnt_service_bdf },
+#if defined TT_CONFIG_OPTION_POSTSCRIPT_NAMES && defined TT_CONFIG_OPTION_BDF
+ FT_DEFINE_SERVICEDESCREC5(sfnt_services,
+ FT_SERVICE_ID_SFNT_TABLE, &FT_SFNT_SERVICE_SFNT_TABLE_GET,
+ FT_SERVICE_ID_POSTSCRIPT_FONT_NAME, &FT_SFNT_SERVICE_PS_NAME_GET,
+ FT_SERVICE_ID_GLYPH_DICT, &FT_SFNT_SERVICE_GLYPH_DICT_GET,
+ FT_SERVICE_ID_BDF, &FT_SFNT_SERVICE_BDF_GET,
+ FT_SERVICE_ID_TT_CMAP, &FT_TT_SERVICE_GET_CMAP_INFO_GET
+ )
+#elif defined TT_CONFIG_OPTION_POSTSCRIPT_NAMES
+ FT_DEFINE_SERVICEDESCREC4(sfnt_services,
+ FT_SERVICE_ID_SFNT_TABLE, &FT_SFNT_SERVICE_SFNT_TABLE_GET,
+ FT_SERVICE_ID_POSTSCRIPT_FONT_NAME, &FT_SFNT_SERVICE_PS_NAME_GET,
+ FT_SERVICE_ID_GLYPH_DICT, &FT_SFNT_SERVICE_GLYPH_DICT_GET,
+ FT_SERVICE_ID_TT_CMAP, &FT_TT_SERVICE_GET_CMAP_INFO_GET
+ )
+#elif defined TT_CONFIG_OPTION_BDF
+ FT_DEFINE_SERVICEDESCREC4(sfnt_services,
+ FT_SERVICE_ID_SFNT_TABLE, &FT_SFNT_SERVICE_SFNT_TABLE_GET,
+ FT_SERVICE_ID_POSTSCRIPT_FONT_NAME, &FT_SFNT_SERVICE_PS_NAME_GET,
+ FT_SERVICE_ID_BDF, &FT_SFNT_SERVICE_BDF_GET,
+ FT_SERVICE_ID_TT_CMAP, &FT_TT_SERVICE_GET_CMAP_INFO_GET
+ )
+#else
+ FT_DEFINE_SERVICEDESCREC3(sfnt_services,
+ FT_SERVICE_ID_SFNT_TABLE, &FT_SFNT_SERVICE_SFNT_TABLE_GET,
+ FT_SERVICE_ID_POSTSCRIPT_FONT_NAME, &FT_SFNT_SERVICE_PS_NAME_GET,
+ FT_SERVICE_ID_TT_CMAP, &FT_TT_SERVICE_GET_CMAP_INFO_GET
+ )