mirror of https://github.com/freetype/freetype
[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.
This commit is contained in:
parent
9c1a2b0439
commit
b0de5a82f1
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
2015-12-23 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[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 <wl@gnu.org>
|
||||
|
||||
* src/type1/t1load.c (parse_subrs): Fix memory leak (#46744).
|
||||
|
|
|
@ -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 )
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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++] );
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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[] =
|
||||
|
|
|
@ -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. */
|
||||
|
|
Loading…
Reference in New Issue