Adding some comments.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index fb1448e..4804c89 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -398,6 +398,14 @@ FT_BEGIN_HEADER
/* This macro converts four letter tags into an unsigned long. It is */
/* used to define "encoding" identifiers (see @FT_Encoding). */
/* */
+ /* <Note> */
+ /* Since many 16bit compilers don't like 32bit enumerations, you */
+ /* should redefine this macro in case of problems to something like */
+ /* this: */
+ /* */
+ /* #define FT_ENC_TAG( value, _x1, _x2, _x3, _x4 ) (value) */
+ /* */
+ /* to get a simple enumeration without assigning special numbers. */
/* */
#ifndef FT_ENC_TAG
#define FT_ENC_TAG( value, _x1, _x2, _x3, _x4 ) \
diff --git a/include/freetype/ftimage.h b/include/freetype/ftimage.h
index 007e2d1..9720218 100644
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -580,6 +580,15 @@ FT_BEGIN_HEADER
/* <Description> */
/* This macro converts four letter tags into an unsigned long. */
/* */
+ /* <Note> */
+ /* Since many 16bit compilers don't like 32bit enumerations, you */
+ /* should redefine this macro in case of problems to something like */
+ /* this: */
+ /* */
+ /* #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) (value) */
+ /* */
+ /* to get a simple enumeration without assigning special numbers. */
+ /* */
#ifndef FT_IMAGE_TAG
#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) \
value = ( ( (unsigned long)_x1 << 24 ) | \
diff --git a/include/freetype/fttypes.h b/include/freetype/fttypes.h
index 396a036..2782f74 100644
--- a/include/freetype/fttypes.h
+++ b/include/freetype/fttypes.h
@@ -440,6 +440,10 @@ FT_BEGIN_HEADER
/* This macro converts four letter tags which are used to label */
/* TrueType tables into an unsigned long to be used within FreeType. */
/* */
+ /* <Note> */
+ /* The produced values *must* be 32bit integers. Don't redefine this */
+ /* macro. */
+ /* */
#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
( ( (FT_ULong)_x1 << 24 ) | \
( (FT_ULong)_x2 << 16 ) | \
diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c
index b189b54..3e39a49 100644
--- a/src/sfnt/ttload.c
+++ b/src/sfnt/ttload.c
@@ -159,8 +159,8 @@
FT_Error error;
FT_UInt nn, has_head = 0;
- const FT_ULong glyx_tag = FT_MAKE_TAG('g','l','y','x');
- const FT_ULong locx_tag = FT_MAKE_TAG('l','o','c','x');
+ const FT_ULong glyx_tag = FT_MAKE_TAG( 'g', 'l', 'y', 'x' );
+ const FT_ULong locx_tag = FT_MAKE_TAG( 'l', 'o', 'c', 'x' );
static const FT_Frame_Field sfnt_dir_entry_fields[] =
{