summaryrefslogtreecommitdiffstats
path: root/src/autofit/afpic.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/autofit/afpic.c')
-rw-r--r--src/autofit/afpic.c49
1 files changed, 25 insertions, 24 deletions
diff --git a/src/autofit/afpic.c b/src/autofit/afpic.c
index 45e1448..92d696d 100644
--- a/src/autofit/afpic.c
+++ b/src/autofit/afpic.c
@@ -43,13 +43,10 @@
/* forward declaration of PIC init functions from script classes */
-#include "aflatin.h"
-#ifdef FT_OPTION_AUTOFIT2
-#include "aflatin2.h"
-#endif
-#include "afcjk.h"
-#include "afdummy.h"
-#include "afindic.h"
+#undef WRITING_SYSTEM
+#define WRITING_SYSTEM( ws, WS ) /* empty */
+
+#include "afwrtsys.h"
void
@@ -100,27 +97,31 @@
FT_Init_Class_af_service_properties( &container->af_service_properties );
- for ( ss = 0 ; ss < AF_SCRIPT_CLASSES_REC_COUNT ; ss++ )
- {
+ for ( ss = 0; ss < AF_WRITING_SYSTEM_MAX - 1; ss++ )
+ container->af_writing_system_classes[ss] =
+ &container->af_writing_system_classes_rec[ss];
+ container->af_writing_system_classes[AF_WRITING_SYSTEM_MAX - 1] = NULL;
+
+ for ( ss = 0; ss < AF_SCRIPT_MAX - 1; ss++ )
container->af_script_classes[ss] =
&container->af_script_classes_rec[ss];
- }
- container->af_script_classes[AF_SCRIPT_CLASSES_COUNT - 1] = NULL;
+ container->af_script_classes[AF_SCRIPT_MAX - 1] = NULL;
+
+#undef WRITING_SYSTEM
+#define WRITING_SYSTEM( ws, WS ) \
+ FT_Init_Class_af_ ## ws ## _writing_system_class( \
+ &container->af_writing_system_classes_rec[ss++] );
+
+ ss = 0;
+#include "afwrtsys.h"
+
+#undef SCRIPT
+#define SCRIPT( s, S, d ) \
+ FT_Init_Class_af_ ## s ## _script_class( \
+ &container->af_script_classes_rec[ss++] );
- /* add call to initialization function when you add new scripts */
ss = 0;
- FT_Init_Class_af_dummy_script_class(
- &container->af_script_classes_rec[ss++] );
-#ifdef FT_OPTION_AUTOFIT2
- FT_Init_Class_af_latin2_script_class(
- &container->af_script_classes_rec[ss++] );
-#endif
- FT_Init_Class_af_latin_script_class(
- &container->af_script_classes_rec[ss++] );
- FT_Init_Class_af_cjk_script_class(
- &container->af_script_classes_rec[ss++] );
- FT_Init_Class_af_indic_script_class(
- &container->af_script_classes_rec[ss++] );
+#include "afscript.h"
FT_Init_Class_af_autofitter_interface(
library, &container->af_autofitter_interface );