aboutsummaryrefslogtreecommitdiff
path: root/freetype/src/pcf
diff options
context:
space:
mode:
Diffstat (limited to 'freetype/src/pcf')
-rw-r--r--freetype/src/pcf/Jamfile2
-rw-r--r--freetype/src/pcf/pcf.h4
-rw-r--r--freetype/src/pcf/pcfdrivr.c50
-rw-r--r--freetype/src/pcf/pcfread.c37
-rw-r--r--freetype/src/pcf/rules.mk5
5 files changed, 53 insertions, 45 deletions
diff --git a/freetype/src/pcf/Jamfile b/freetype/src/pcf/Jamfile
index 752fcac2a..8cd90e4c3 100644
--- a/freetype/src/pcf/Jamfile
+++ b/freetype/src/pcf/Jamfile
@@ -1,6 +1,6 @@
# FreeType 2 src/pcf Jamfile
#
-# Copyright 2001, 2003 by
+# Copyright 2001-2015 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
diff --git a/freetype/src/pcf/pcf.h b/freetype/src/pcf/pcf.h
index af0ffc337..c0da50341 100644
--- a/freetype/src/pcf/pcf.h
+++ b/freetype/src/pcf/pcf.h
@@ -148,9 +148,9 @@ FT_BEGIN_HEADER
int nprops;
PCF_Property properties;
- FT_Long nmetrics;
+ FT_ULong nmetrics;
PCF_Metric metrics;
- FT_Long nencodings;
+ FT_ULong nencodings;
PCF_Encoding encodings;
FT_Short defaultChar;
diff --git a/freetype/src/pcf/pcfdrivr.c b/freetype/src/pcf/pcfdrivr.c
index 96f6912ba..552049e9b 100644
--- a/freetype/src/pcf/pcfdrivr.c
+++ b/freetype/src/pcf/pcfdrivr.c
@@ -48,7 +48,7 @@ THE SOFTWARE.
#define FT_COMPONENT trace_pcfread
#include FT_SERVICE_BDF_H
-#include FT_SERVICE_XFREE86_NAME_H
+#include FT_SERVICE_FONT_FORMAT_H
/*************************************************************************/
@@ -64,7 +64,7 @@ THE SOFTWARE.
typedef struct PCF_CMapRec_
{
FT_CMapRec root;
- FT_UInt num_encodings;
+ FT_ULong num_encodings;
PCF_Encoding encodings;
} PCF_CMapRec, *PCF_CMap;
@@ -80,7 +80,7 @@ THE SOFTWARE.
FT_UNUSED( init_data );
- cmap->num_encodings = (FT_UInt)face->nencodings;
+ cmap->num_encodings = face->nencodings;
cmap->encodings = face->encodings;
return FT_Err_Ok;
@@ -104,7 +104,7 @@ THE SOFTWARE.
{
PCF_CMap cmap = (PCF_CMap)pcfcmap;
PCF_Encoding encodings = cmap->encodings;
- FT_UInt min, max, mid;
+ FT_ULong min, max, mid;
FT_UInt result = 0;
@@ -117,7 +117,7 @@ THE SOFTWARE.
mid = ( min + max ) >> 1;
- code = encodings[mid].enc;
+ code = (FT_ULong)encodings[mid].enc;
if ( charcode == code )
{
@@ -141,7 +141,7 @@ THE SOFTWARE.
{
PCF_CMap cmap = (PCF_CMap)pcfcmap;
PCF_Encoding encodings = cmap->encodings;
- FT_UInt min, max, mid;
+ FT_ULong min, max, mid;
FT_ULong charcode = *acharcode + 1;
FT_UInt result = 0;
@@ -155,7 +155,7 @@ THE SOFTWARE.
mid = ( min + max ) >> 1;
- code = encodings[mid].enc;
+ code = (FT_ULong)encodings[mid].enc;
if ( charcode == code )
{
@@ -172,7 +172,7 @@ THE SOFTWARE.
charcode = 0;
if ( min < cmap->num_encodings )
{
- charcode = encodings[min].enc;
+ charcode = (FT_ULong)encodings[min].enc;
result = encodings[min].glyph + 1;
}
@@ -487,7 +487,7 @@ THE SOFTWARE.
FT_Error error = FT_Err_Ok;
FT_Bitmap* bitmap = &slot->bitmap;
PCF_Metric metric;
- FT_Offset bytes;
+ FT_ULong bytes;
FT_UNUSED( load_flags );
@@ -513,8 +513,10 @@ THE SOFTWARE.
metric = face->metrics + glyph_index;
- bitmap->rows = metric->ascent + metric->descent;
- bitmap->width = metric->rightSideBearing - metric->leftSideBearing;
+ bitmap->rows = (unsigned int)( metric->ascent +
+ metric->descent );
+ bitmap->width = (unsigned int)( metric->rightSideBearing -
+ metric->leftSideBearing );
bitmap->num_grays = 1;
bitmap->pixel_mode = FT_PIXEL_MODE_MONO;
@@ -526,19 +528,19 @@ THE SOFTWARE.
switch ( PCF_GLYPH_PAD( face->bitmapsFormat ) )
{
case 1:
- bitmap->pitch = ( bitmap->width + 7 ) >> 3;
+ bitmap->pitch = (int)( ( bitmap->width + 7 ) >> 3 );
break;
case 2:
- bitmap->pitch = ( ( bitmap->width + 15 ) >> 4 ) << 1;
+ bitmap->pitch = (int)( ( ( bitmap->width + 15 ) >> 4 ) << 1 );
break;
case 4:
- bitmap->pitch = ( ( bitmap->width + 31 ) >> 5 ) << 2;
+ bitmap->pitch = (int)( ( ( bitmap->width + 31 ) >> 5 ) << 2 );
break;
case 8:
- bitmap->pitch = ( ( bitmap->width + 63 ) >> 6 ) << 3;
+ bitmap->pitch = (int)( ( ( bitmap->width + 63 ) >> 6 ) << 3 );
break;
default:
@@ -546,7 +548,7 @@ THE SOFTWARE.
}
/* XXX: to do: are there cases that need repadding the bitmap? */
- bytes = bitmap->pitch * bitmap->rows;
+ bytes = (FT_ULong)bitmap->pitch * bitmap->rows;
error = ft_glyphslot_alloc_bitmap( slot, (FT_ULong)bytes );
if ( error )
@@ -581,12 +583,12 @@ THE SOFTWARE.
slot->bitmap_left = metric->leftSideBearing;
slot->bitmap_top = metric->ascent;
- slot->metrics.horiAdvance = metric->characterWidth << 6;
- slot->metrics.horiBearingX = metric->leftSideBearing << 6;
- slot->metrics.horiBearingY = metric->ascent << 6;
- slot->metrics.width = ( metric->rightSideBearing -
- metric->leftSideBearing ) << 6;
- slot->metrics.height = bitmap->rows << 6;
+ slot->metrics.horiAdvance = (FT_Pos)( metric->characterWidth << 6 );
+ slot->metrics.horiBearingX = (FT_Pos)( metric->leftSideBearing << 6 );
+ slot->metrics.horiBearingY = (FT_Pos)( metric->ascent << 6 );
+ slot->metrics.width = (FT_Pos)( ( metric->rightSideBearing -
+ metric->leftSideBearing ) << 6 );
+ slot->metrics.height = (FT_Pos)( bitmap->rows << 6 );
ft_synthesize_vertical_metrics( &slot->metrics,
( face->accel.fontAscent +
@@ -667,8 +669,8 @@ THE SOFTWARE.
static const FT_ServiceDescRec pcf_services[] =
{
- { FT_SERVICE_ID_BDF, &pcf_service_bdf },
- { FT_SERVICE_ID_XF86_NAME, FT_XF86_FORMAT_PCF },
+ { FT_SERVICE_ID_BDF, &pcf_service_bdf },
+ { FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_PCF },
{ NULL, NULL }
};
diff --git a/freetype/src/pcf/pcfread.c b/freetype/src/pcf/pcfread.c
index a29a9e371..039af33e9 100644
--- a/freetype/src/pcf/pcfread.c
+++ b/freetype/src/pcf/pcfread.c
@@ -448,14 +448,14 @@ THE SOFTWARE.
pcf_get_properties( FT_Stream stream,
PCF_Face face )
{
- PCF_ParseProperty props = 0;
+ PCF_ParseProperty props = NULL;
PCF_Property properties = NULL;
FT_ULong nprops, i;
FT_ULong format, size;
FT_Error error;
FT_Memory memory = FT_FACE( face )->memory;
FT_ULong string_size;
- FT_String* strings = 0;
+ FT_String* strings = NULL;
error = pcf_seek_to_table_type( stream,
@@ -485,9 +485,9 @@ THE SOFTWARE.
goto Bail;
FT_TRACE4(( " nprop = %d (truncate %d props)\n",
- (int)nprops, nprops - (int)nprops ));
+ (int)nprops, nprops - (FT_ULong)(int)nprops ));
- nprops = (int)nprops;
+ nprops = (FT_ULong)(int)nprops;
/* rough estimate */
if ( nprops > size / PCF_PROPERTY_SIZE )
@@ -620,7 +620,7 @@ THE SOFTWARE.
FT_Error error;
FT_Memory memory = FT_FACE( face )->memory;
FT_ULong format, size;
- PCF_Metric metrics = 0;
+ PCF_Metric metrics = NULL;
FT_ULong nmetrics, i;
@@ -766,8 +766,7 @@ THE SOFTWARE.
FT_TRACE4(( " number of bitmaps: %d\n", nbitmaps ));
- /* XXX: PCF_Face->nmetrics is signed FT_Long, see pcf.h */
- if ( face->nmetrics < 0 || nbitmaps != (FT_ULong)face->nmetrics )
+ if ( nbitmaps != face->nmetrics )
return FT_THROW( Invalid_File_Format );
if ( FT_NEW_ARRAY( offsets, nbitmaps ) )
@@ -795,9 +794,10 @@ THE SOFTWARE.
if ( error )
goto Bail;
- sizebitmaps = bitmapSizes[PCF_GLYPH_PAD_INDEX( format )];
+ sizebitmaps = (FT_ULong)bitmapSizes[PCF_GLYPH_PAD_INDEX( format )];
- FT_TRACE4(( " padding %d implies a size of %ld\n", i, bitmapSizes[i] ));
+ FT_TRACE4(( " padding %d implies a size of %ld\n",
+ i, bitmapSizes[i] ));
}
FT_TRACE4(( " %d bitmaps, padding index %ld\n",
@@ -817,7 +817,7 @@ THE SOFTWARE.
" invalid offset to bitmap data of glyph %d\n", i ));
}
else
- face->metrics[i].bits = stream->pos + offsets[i];
+ face->metrics[i].bits = stream->pos + (FT_ULong)offsets[i];
}
face->bitmapsFormat = format;
@@ -837,8 +837,10 @@ THE SOFTWARE.
FT_ULong format, size;
int firstCol, lastCol;
int firstRow, lastRow;
- int nencoding, encodingOffset;
- int i, j, k;
+ FT_ULong nencoding;
+ int encodingOffset;
+ int i, j;
+ FT_ULong k;
PCF_Encoding encoding = NULL;
@@ -893,7 +895,8 @@ THE SOFTWARE.
FT_TRACE4(( " firstCol %d, lastCol %d, firstRow %d, lastRow %d\n",
firstCol, lastCol, firstRow, lastRow ));
- nencoding = ( lastCol - firstCol + 1 ) * ( lastRow - firstRow + 1 );
+ nencoding = (FT_ULong)( lastCol - firstCol + 1 ) *
+ (FT_ULong)( lastRow - firstRow + 1 );
if ( FT_NEW_ARRAY( encoding, nencoding ) )
return FT_THROW( Out_Of_Memory );
@@ -912,10 +915,10 @@ THE SOFTWARE.
else
encodingOffset = FT_GET_SHORT_LE();
- if ( encodingOffset != -1 )
+ if ( encodingOffset > -1 )
{
encoding[k].enc = i * 256 + j;
- encoding[k].glyph = (FT_Short)encodingOffset;
+ encoding[k].glyph = (FT_UShort)encodingOffset;
FT_TRACE5(( " code %d (0x%04X): idx %d\n",
encoding[k].enc, encoding[k].enc, encoding[k].glyph ));
@@ -1256,7 +1259,7 @@ THE SOFTWARE.
*
* This implies bumping the number of `available' glyphs by 1.
*/
- root->num_glyphs = face->nmetrics + 1;
+ root->num_glyphs = (FT_Long)( face->nmetrics + 1 );
root->num_fixed_sizes = 1;
if ( FT_NEW_ARRAY( root->available_sizes, 1 ) )
@@ -1313,7 +1316,7 @@ THE SOFTWARE.
/* set up charset */
{
- PCF_Property charset_registry = 0, charset_encoding = 0;
+ PCF_Property charset_registry, charset_encoding;
charset_registry = pcf_find_property( face, "CHARSET_REGISTRY" );
diff --git a/freetype/src/pcf/rules.mk b/freetype/src/pcf/rules.mk
index 78641528f..1b55daf4f 100644
--- a/freetype/src/pcf/rules.mk
+++ b/freetype/src/pcf/rules.mk
@@ -30,7 +30,10 @@
PCF_DIR := $(SRC_DIR)/pcf
-PCF_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(PCF_DIR))
+PCF_COMPILE := $(CC) $(ANSIFLAGS) \
+ $I$(subst /,$(COMPILER_SEP),$(PCF_DIR)) \
+ $(INCLUDE_FLAGS) \
+ $(FT_CFLAGS)
# pcf driver sources (i.e., C files)