[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master b0de5a8 1/3: [autofit] Start implementing hinting dir
From: |
Werner LEMBERG |
Subject: |
[freetype2] master b0de5a8 1/3: [autofit] Start implementing hinting direction (up/down, down/up). |
Date: |
Fri, 25 Dec 2015 07:07:33 +0000 |
branch: master
commit b0de5a82f1d2f5309011ab3066150f072f955185
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[autofit] Start implementing hinting direction (up/down, down/up).
Right now, it does nothing.
* src/autofit/afscript.h: Add another parameter to `SCRIPT',
specifying hinting direction.
* src/autofit/afglobal.c, scr/autofit/afglobal.h,
src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/afshaper.c,
src/autofit/aftypes.h: Extend `SCRIPT' definitions.
---
ChangeLog | 13 +++++++++++++
src/autofit/afglobal.c | 4 ++--
src/autofit/afglobal.h | 2 +-
src/autofit/afpic.c | 2 +-
src/autofit/afranges.h | 4 ++--
src/autofit/afscript.h | 28 ++++++++++++++++++++++++++++
src/autofit/afshaper.c | 2 +-
src/autofit/aftypes.h | 2 +-
8 files changed, 49 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 489a583..11dcdbc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2015-12-23 Werner Lemberg <address@hidden>
+
+ [autofit] Start implementing hinting direction (up/down, down/up).
+
+ Right now, it does nothing.
+
+ * src/autofit/afscript.h: Add another parameter to `SCRIPT',
+ specifying hinting direction.
+
+ * src/autofit/afglobal.c, scr/autofit/afglobal.h,
+ src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/afshaper.c,
+ src/autofit/aftypes.h: Extend `SCRIPT' definitions.
+
2015-12-22 Werner Lemberg <address@hidden>
* src/type1/t1load.c (parse_subrs): Fix memory leak (#46744).
diff --git a/src/autofit/afglobal.c b/src/autofit/afglobal.c
index 3223358..39ea9bb 100644
--- a/src/autofit/afglobal.c
+++ b/src/autofit/afglobal.c
@@ -42,7 +42,7 @@
#undef SCRIPT
-#define SCRIPT( s, S, d, h, ss ) \
+#define SCRIPT( s, S, d, h, H, ss ) \
AF_DEFINE_SCRIPT_CLASS( \
af_ ## s ## _script_class, \
AF_SCRIPT_ ## S, \
@@ -83,7 +83,7 @@
#undef SCRIPT
-#define SCRIPT( s, S, d, h, ss ) \
+#define SCRIPT( s, S, d, h, H, ss ) \
&af_ ## s ## _script_class,
FT_LOCAL_ARRAY_DEF( AF_ScriptClass )
diff --git a/src/autofit/afglobal.h b/src/autofit/afglobal.h
index 5b4e439..00441fa 100644
--- a/src/autofit/afglobal.h
+++ b/src/autofit/afglobal.h
@@ -34,7 +34,7 @@ FT_BEGIN_HEADER
#undef SCRIPT
-#define SCRIPT( s, S, d, h, ss ) \
+#define SCRIPT( s, S, d, h, H, ss ) \
AF_DECLARE_SCRIPT_CLASS( af_ ## s ## _script_class )
#include "afscript.h"
diff --git a/src/autofit/afpic.c b/src/autofit/afpic.c
index 37254a2..640f9d6 100644
--- a/src/autofit/afpic.c
+++ b/src/autofit/afpic.c
@@ -122,7 +122,7 @@
#include "afwrtsys.h"
#undef SCRIPT
-#define SCRIPT( s, S, d, h, sss ) \
+#define SCRIPT( s, S, d, h, H, sss ) \
FT_Init_Class_af_ ## s ## _script_class( \
&container->af_script_classes_rec[ss++] );
diff --git a/src/autofit/afranges.h b/src/autofit/afranges.h
index bca5084..4165d26 100644
--- a/src/autofit/afranges.h
+++ b/src/autofit/afranges.h
@@ -26,13 +26,13 @@
FT_BEGIN_HEADER
#undef SCRIPT
-#define SCRIPT( s, S, d, h, ss ) \
+#define SCRIPT( s, S, d, h, H, ss ) \
extern const AF_Script_UniRangeRec af_ ## s ## _uniranges[];
#include "afscript.h"
#undef SCRIPT
-#define SCRIPT( s, S, d, h, ss )
\
+#define SCRIPT( s, S, d, h, H, ss )
\
extern const AF_Script_UniRangeRec af_ ## s ## _nonbase_uniranges[];
#include "afscript.h"
diff --git a/src/autofit/afscript.h b/src/autofit/afscript.h
index f9b40de..92a8b0c 100644
--- a/src/autofit/afscript.h
+++ b/src/autofit/afscript.h
@@ -33,85 +33,101 @@
SCRIPT( arab, ARAB,
"Arabic",
HB_SCRIPT_ARABIC,
+ HINTING_BOTTOM_TO_TOP,
"\xD9\x84 \xD8\xAD \xD9\x80" ) /* ل ح ـ */
/* there are no simple forms for letters; we thus use two digit shapes */
SCRIPT( beng, BENG,
"Bengali",
HB_SCRIPT_BENGALI,
+ HINTING_TOP_TO_BOTTOM,
"\xE0\xA7\xA6 \xE0\xA7\xAA" ) /* ০ ৪*/
SCRIPT( cyrl, CYRL,
"Cyrillic",
HB_SCRIPT_CYRILLIC,
+ HINTING_BOTTOM_TO_TOP,
"\xD0\xBE \xD0\x9E" ) /* о О */
SCRIPT( deva, DEVA,
"Devanagari",
HB_SCRIPT_DEVANAGARI,
+ HINTING_TOP_TO_BOTTOM,
"\xE0\xA4\xA0 \xE0\xA4\xB5 \xE0\xA4\x9F" ) /* ठ व ट */
SCRIPT( grek, GREK,
"Greek",
HB_SCRIPT_GREEK,
+ HINTING_BOTTOM_TO_TOP,
"\xCE\xBF \xCE\x9F" ) /* ο Ο */
SCRIPT( hebr, HEBR,
"Hebrew",
HB_SCRIPT_HEBREW,
+ HINTING_BOTTOM_TO_TOP,
"\xD7\x9D" ) /* ם */
/* only digit zero has a simple shape in the Khmer script */
SCRIPT( khmr, KHMR,
"Khmer",
HB_SCRIPT_KHMER,
+ HINTING_BOTTOM_TO_TOP,
"\xE1\x9F\xA0" ) /* ០ */
SCRIPT( khms, KHMS,
"Khmer Symbols",
HB_SCRIPT_INVALID,
+ HINTING_BOTTOM_TO_TOP,
"\xE1\xA7\xA1 \xE1\xA7\xAA" ) /* ᧡ ᧪ */
/* only digit zero has a simple shape in the Lao script */
SCRIPT( lao, LAO,
"Lao",
HB_SCRIPT_LAO,
+ HINTING_BOTTOM_TO_TOP,
"\xE0\xBB\x90" ) /* ໐ */
SCRIPT( latn, LATN,
"Latin",
HB_SCRIPT_LATIN,
+ HINTING_BOTTOM_TO_TOP,
"o O 0" )
SCRIPT( latb, LATB,
"Latin Subscript Fallback",
HB_SCRIPT_INVALID,
+ HINTING_BOTTOM_TO_TOP,
"\xE2\x82\x92 \xE2\x82\x80" ) /* ₒ ₀ */
SCRIPT( latp, LATP,
"Latin Superscript Fallback",
HB_SCRIPT_INVALID,
+ HINTING_BOTTOM_TO_TOP,
"\xE1\xB5\x92 \xE1\xB4\xBC \xE2\x81\xB0" ) /* ᵒ ᴼ ⁰ */
SCRIPT( mymr, MYMR,
"Myanmar",
HB_SCRIPT_MYANMAR,
+ HINTING_BOTTOM_TO_TOP,
"\xE1\x80\x9D \xE1\x80\x84 \xE1\x80\x82" ) /* ဝ င ဂ */
SCRIPT( none, NONE,
"no script",
HB_SCRIPT_INVALID,
+ HINTING_BOTTOM_TO_TOP,
"" )
/* there are no simple forms for letters; we thus use two digit shapes */
SCRIPT( telu, TELU,
"Telugu",
HB_SCRIPT_TELUGU,
+ HINTING_BOTTOM_TO_TOP,
"\xE0\xB1\xA6 \xE0\xB1\xA7" ) /* ౦ ౧ */
SCRIPT( thai, THAI,
"Thai",
HB_SCRIPT_THAI,
+ HINTING_BOTTOM_TO_TOP,
"\xE0\xB8\xB2 \xE0\xB9\x85 \xE0\xB9\x90" ) /* า ๅ ๐ */
#ifdef AF_CONFIG_OPTION_INDIC
@@ -119,56 +135,67 @@
SCRIPT( gujr, GUJR,
"Gujarati",
HB_SCRIPT_GUJARATI,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( guru, GURU,
"Gurmukhi",
HB_SCRIPT_GURMUKHI,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( knda, KNDA,
"Kannada",
HB_SCRIPT_KANNADA,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( limb, LIMB,
"Limbu",
HB_SCRIPT_LIMBU,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( mlym, MLYM,
"Malayalam",
HB_SCRIPT_MALAYALAM,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( orya, ORYA,
"Oriya",
HB_SCRIPT_ORIYA,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( sinh, SINH,
"Sinhala",
HB_SCRIPT_SINHALA,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( sund, SUND,
"Sundanese",
HB_SCRIPT_SUNDANESE,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( sylo, SYLO,
"Syloti Nagri",
HB_SCRIPT_SYLOTI_NAGRI,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( taml, TAML,
"Tamil",
HB_SCRIPT_TAMIL,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
SCRIPT( tibt, TIBT,
"Tibetan",
HB_SCRIPT_TIBETAN,
+ HINTING_BOTTOM_TO_TOP,
"o" ) /* XXX */
#endif /* AF_CONFIG_OPTION_INDIC */
@@ -178,6 +205,7 @@
SCRIPT( hani, HANI,
"CJKV ideographs",
HB_SCRIPT_HAN,
+ HINTING_BOTTOM_TO_TOP,
"\xE7\x94\xB0 \xE5\x9B\x97" ) /* 田 囗 */
#endif /* AF_CONFIG_OPTION_CJK */
diff --git a/src/autofit/afshaper.c b/src/autofit/afshaper.c
index 6ba9190..c9be619 100644
--- a/src/autofit/afshaper.c
+++ b/src/autofit/afshaper.c
@@ -86,7 +86,7 @@
/* load HarfBuzz script tags */
#undef SCRIPT
-#define SCRIPT( s, S, d, h, ss ) h,
+#define SCRIPT( s, S, d, h, H, ss ) h,
static const hb_script_t scripts[] =
diff --git a/src/autofit/aftypes.h b/src/autofit/aftypes.h
index b483619..0134877 100644
--- a/src/autofit/aftypes.h
+++ b/src/autofit/aftypes.h
@@ -309,7 +309,7 @@ extern void* _af_debug_hints;
*/
#undef SCRIPT
-#define SCRIPT( s, S, d, h, ss ) \
+#define SCRIPT( s, S, d, h, H, ss ) \
AF_SCRIPT_ ## S,
/* The list of known scripts. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master b0de5a8 1/3: [autofit] Start implementing hinting direction (up/down, down/up).,
Werner LEMBERG <=