[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] ewaldhew-wip d5def9f 5/7: cid driver (cff driver)
From: |
Hew Yih Shiuan Ewald |
Subject: |
[freetype2] ewaldhew-wip d5def9f 5/7: cid driver (cff driver) |
Date: |
Wed, 19 Jul 2017 05:20:59 -0400 (EDT) |
branch: ewaldhew-wip
commit d5def9f7865253e8a52cd23e581bf7310e58782d
Author: Ewald Hew <address@hidden>
Commit: Ewald Hew <address@hidden>
cid driver (cff driver)
---
src/cid/cidobjs.c | 37 +++++++++++++++++++++++++++++++++++--
src/cid/cidriver.c | 2 +-
2 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/src/cid/cidobjs.c b/src/cid/cidobjs.c
index ceda8ff..e7b449d 100644
--- a/src/cid/cidobjs.c
+++ b/src/cid/cidobjs.c
@@ -463,9 +463,42 @@
/* FreeType error code. 0 means success. */
/* */
FT_LOCAL_DEF( FT_Error )
- cid_driver_init( FT_Module driver )
+ cid_driver_init( FT_Module module )
{
- FT_UNUSED( driver );
+ CFF_Driver driver = (CFF_Driver)module;
+
+ FT_UInt32 seed;
+
+
+ /* set default property values, cf. `ftcffdrv.h' */
+#if 0/*def T1_CONFIG_OPTION_OLD_ENGINE*/
+ driver->hinting_engine = FT_T1_HINTING_FREETYPE;
+#else
+ driver->hinting_engine = FT_T1_HINTING_ADOBE;
+#endif
+
+ driver->no_stem_darkening = TRUE;
+
+ driver->darken_params[0] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1;
+ driver->darken_params[1] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1;
+ driver->darken_params[2] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2;
+ driver->darken_params[3] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2;
+ driver->darken_params[4] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3;
+ driver->darken_params[5] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3;
+ driver->darken_params[6] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4;
+ driver->darken_params[7] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4;
+
+ /* compute random seed from some memory addresses */
+ seed = (FT_UInt32)( (FT_Offset)(char*)&seed ^
+ (FT_Offset)(char*)&module ^
+ (FT_Offset)(char*)module->memory );
+ seed = seed ^ ( seed >> 10 ) ^ ( seed >> 20 );
+
+ driver->random_seed = (FT_Int32)seed;
+ if ( driver->random_seed < 0 )
+ driver->random_seed = -driver->random_seed;
+ else if ( driver->random_seed == 0 )
+ driver->random_seed = 123456789;
return FT_Err_Ok;
}
diff --git a/src/cid/cidriver.c b/src/cid/cidriver.c
index bb611a9..eaaebb5 100644
--- a/src/cid/cidriver.c
+++ b/src/cid/cidriver.c
@@ -200,7 +200,7 @@
FT_MODULE_FONT_DRIVER |
FT_MODULE_DRIVER_SCALABLE |
FT_MODULE_DRIVER_HAS_HINTER,
- sizeof ( FT_DriverRec ),
+ sizeof ( CFF_DriverRec ),
"t1cid", /* module name */
0x10000L, /* version 1.0 of driver */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] ewaldhew-wip d5def9f 5/7: cid driver (cff driver),
Hew Yih Shiuan Ewald <=