ref: 1039234c39e036bd40d891cd9e96715a1be595a7
parent: eed446d0d57d7d2a2299b08a2591e6a23a9b8bb5
author: Werner Lemberg <[email protected]>
date: Sun Aug 18 03:15:52 EDT 2002
Adding some comments.
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -398,6 +398,14 @@
/* 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 ) \
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -580,6 +580,15 @@
/* <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 ) | \
--- a/include/freetype/fttypes.h
+++ b/include/freetype/fttypes.h
@@ -440,6 +440,10 @@
/* 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 ) | \
--- 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[] =
{