summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog44
-rw-r--r--Jamfile2
-rw-r--r--README10
-rw-r--r--builds/freetype.mk2
-rw-r--r--builds/unix/configure2
-rw-r--r--builds/unix/configure.ac2
-rw-r--r--builds/win32/visualc/freetype.dsp12
-rw-r--r--builds/win32/visualc/freetype.vcproj12
-rw-r--r--builds/win32/visualc/index.html10
-rw-r--r--docs/CHANGES3
-rw-r--r--docs/VERSION.DLL1
-rw-r--r--include/freetype/freetype.h2
-rw-r--r--include/freetype/internal/services/svsfnt.h15
-rw-r--r--include/freetype/tttables.h37
-rw-r--r--src/base/ftobjs.c22
-rw-r--r--src/base/ftrfork.c4
-rw-r--r--src/base/ftstream.c3
-rw-r--r--src/sfnt/sfdriver.c22
18 files changed, 172 insertions, 33 deletions
diff --git a/ChangeLog b/ChangeLog
index 8e26261b0..0760dd996 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,47 @@
+2004-08-11 Danny <dannyboynow@yahoo.com>
+
+ * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close
+ to NULL. This allows custom close functions to delete the FT_STREAM
+ object.
+
+2004-08-11 Werner Lemberg <wl@gnu.org>
+
+ Add API to get information about SFNT tables.
+
+ * include/freetype/internal/services/svsfnt.h
+ (FT_SFNT_Table_Info_Func): New typedef.
+ (SFNT_Table): Add it.
+
+ * src/base/ftobjs (FT_Sfnt_Table_Info): New function.
+
+ * include/freetype/tttables.h: Updated.
+
+ * src/sfnt/sfdriver.c (sfnt_table_info): New function.
+ (sfnt_service_sfnt_table): Add it.
+
+ * docs/CHANGES: Updated.
+
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
+
+ * builds/unix/configure.ac (version_info): Set to 9:8:3.
+ * builds/unix/configure: Updated.
+
+ * builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
+
+ * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
+ s/2.1.8/2.1.9/.
+
+ * docs/CHANGES, docs/VERSION.DLL: Updated.
+
+2004-08-11 Detlef Würkner <TetiSoft@apg.lahn.de>
+
+ * src/base/ftrfork.c (FT_Raccess_Guess)
+ [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler
+ warnings.
+
2004-08-06 Adam Piotrowski <st_intel@poczta.onet.pl>
* src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte
diff --git a/Jamfile b/Jamfile
index 54fe154e8..9d2637498 100644
--- a/Jamfile
+++ b/Jamfile
@@ -148,7 +148,7 @@ if $(DEBUG_HINTER)
actions RefDoc
{
- python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.1.9 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h $(FT2_INCLUDE)/freetype/cache/*.h
+ python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.1.10 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h $(FT2_INCLUDE)/freetype/cache/*.h
}
RefDoc refdoc ;
diff --git a/README b/README
index 354d67d1c..81740b109 100644
--- a/README
+++ b/README
@@ -9,8 +9,8 @@
is called `libttf'. They are *not* compatible!
- FreeType 2.1.9
- ==============
+ FreeType 2.1.10
+ ===============
Please read the docs/CHANGES file, it contains IMPORTANT INFORMATION.
@@ -19,9 +19,9 @@
Note that the FreeType 2 documentation is now available as a
separate package from our sites. See:
- ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.9.tar.bz2
- ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.9.tar.gz
- ftp://ftp.freetype.org/freetype/freetype2/ftdoc219.zip
+ ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.bz2
+ ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.gz
+ ftp://ftp.freetype.org/freetype/freetype2/ftdoc2110.zip
Bugs
diff --git a/builds/freetype.mk b/builds/freetype.mk
index 00325d6fc..ff1b19e79 100644
--- a/builds/freetype.mk
+++ b/builds/freetype.mk
@@ -254,7 +254,7 @@ library: $(PROJECT_LIBRARY)
refdoc:
python $(SRC_DIR)/tools/docmaker/docmaker.py \
--prefix=ft2 \
- --title=FreeType-2.1.9 \
+ --title=FreeType-2.1.10 \
--output=$(DOC_DIR) \
$(PUBLIC_DIR)/*.h \
$(PUBLIC_DIR)/config/*.h \
diff --git a/builds/unix/configure b/builds/unix/configure
index d08ac9d6a..cc8efc0dc 100644
--- a/builds/unix/configure
+++ b/builds/unix/configure
@@ -1720,7 +1720,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Don't forget to update docs/VERSION.DLL!
-version_info='9:7:3'
+version_info='9:8:3'
ft_version=`echo $version_info | tr : .`
diff --git a/builds/unix/configure.ac b/builds/unix/configure.ac
index 71a04ce90..feb4e50e2 100644
--- a/builds/unix/configure.ac
+++ b/builds/unix/configure.ac
@@ -8,7 +8,7 @@ AC_CONFIG_SRCDIR([ftconfig.in])
# Don't forget to update docs/VERSION.DLL!
-version_info='9:7:3'
+version_info='9:8:3'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
diff --git a/builds/win32/visualc/freetype.dsp b/builds/win32/visualc/freetype.dsp
index 5e88deb38..76a5f318c 100644
--- a/builds/win32/visualc/freetype.dsp
+++ b/builds/win32/visualc/freetype.dsp
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype219.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype219_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
@@ -103,7 +103,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"lib\freetype200b8_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype219MT_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110MT_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
@@ -127,7 +127,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"lib\freetype200b8.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype219MT.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110MT.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
@@ -152,7 +152,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype206.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype219ST.lib"
+# ADD LIB32 /out:"..\..\..\objs\freetype2110ST.lib"
# SUBTRACT LIB32 /nologo
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@@ -178,7 +178,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype206_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype219ST_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2110ST_D.lib"
!ENDIF
diff --git a/builds/win32/visualc/freetype.vcproj b/builds/win32/visualc/freetype.vcproj
index 4967e582a..7e4c58f06 100644
--- a/builds/win32/visualc/freetype.vcproj
+++ b/builds/win32/visualc/freetype.vcproj
@@ -41,7 +41,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype219.lib"
+ OutputFile="..\..\..\objs\freetype2110.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@@ -94,7 +94,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype219MT.lib"
+ OutputFile="..\..\..\objs\freetype2110MT.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@@ -147,7 +147,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype219ST.lib"/>
+ OutputFile="..\..\..\objs\freetype2110ST.lib"/>
<Tool
Name="VCMIDLTool"/>
<Tool
@@ -197,7 +197,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype219_D.lib"
+ OutputFile="..\..\..\objs\freetype2110_D.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@@ -248,7 +248,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype219ST_D.lib"
+ OutputFile="..\..\..\objs\freetype2110ST_D.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@@ -299,7 +299,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype219MT_D.lib"
+ OutputFile="..\..\..\objs\freetype2110MT_D.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
diff --git a/builds/win32/visualc/index.html b/builds/win32/visualc/index.html
index 9454d4c24..459e3e92c 100644
--- a/builds/win32/visualc/index.html
+++ b/builds/win32/visualc/index.html
@@ -12,14 +12,14 @@
<p>This directory contains a project files for Visual C++, named
<tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
-will compile the following libraries from the FreeType 2.1.9 sources:</p>
+will compile the following libraries from the FreeType 2.1.10 sources:</p>
<ul>
<pre>
- freetype219.lib - release build; single threaded
- freetype219_D.lib - debug build; single threaded
- freetype219MT.lib - release build; multi-threaded
- freetype219MT_D.lib - debug build; multi-threaded</pre>
+ freetype2110.lib - release build; single threaded
+ freetype2110_D.lib - debug build; single threaded
+ freetype2110MT.lib - release build; multi-threaded
+ freetype2110MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
diff --git a/docs/CHANGES b/docs/CHANGES
index 5b11097c1..9ca43f96e 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -20,6 +20,9 @@ LATEST CHANGES BETWEEN 2.1.10 and 2.1.9
setting family and style in SFNT fonts (patch from Kornfeld
Eliyahu Peter).
+ - A new API `FT_Sfnt_Table_Info' (in FT_TRUETYPE_TABLES_H) has
+ been added to retrieve name and size information of SFNT tables.
+
LATEST CHANGES BETWEEN 2.1.9 and 2.1.8
diff --git a/docs/VERSION.DLL b/docs/VERSION.DLL
index 9e27a57d2..a143d290d 100644
--- a/docs/VERSION.DLL
+++ b/docs/VERSION.DLL
@@ -52,6 +52,7 @@ systems, but not all of them:
release libtool so
-------------------------------
+ 2.1.10 9.8.3 6.3.8
2.1.9 9.7.3 6.3.7
2.1.8 9.6.3 6.3.6
2.1.7 9.5.3 6.3.5
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index 3780a2836..d9f934487 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -44,7 +44,7 @@
/* */
#define FREETYPE_MAJOR 2
#define FREETYPE_MINOR 1
-#define FREETYPE_PATCH 9
+#define FREETYPE_PATCH 10
#include <ft2build.h>
diff --git a/include/freetype/internal/services/svsfnt.h b/include/freetype/internal/services/svsfnt.h
index 06a5b1c23..cdd07518d 100644
--- a/include/freetype/internal/services/svsfnt.h
+++ b/include/freetype/internal/services/svsfnt.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType PostScript name services (specification). */
/* */
-/* Copyright 2003 by */
+/* Copyright 2003, 2004 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -50,11 +50,22 @@ FT_BEGIN_HEADER
(*FT_SFNT_TableGetFunc)( FT_Face face,
FT_Sfnt_Tag tag );
-
+
+ /*
+ * Used to implement FT_Sfnt_Table_Info().
+ */
+ typedef FT_Error
+ (*FT_SFNT_TableInfoFunc)( FT_Face face,
+ FT_UInt idx,
+ FT_ULong *tag,
+ FT_ULong *length );
+
+
FT_DEFINE_SERVICE( SFNT_Table )
{
FT_SFNT_TableLoadFunc load_table;
FT_SFNT_TableGetFunc get_table;
+ FT_SFNT_TableInfoFunc table_info;
};
/* */
diff --git a/include/freetype/tttables.h b/include/freetype/tttables.h
index 26e66b977..ccf43c68c 100644
--- a/include/freetype/tttables.h
+++ b/include/freetype/tttables.h
@@ -663,6 +663,43 @@ FT_BEGIN_HEADER
FT_ULong* length );
+ /**************************************************************************
+ *
+ * <Function>
+ * FT_Sfnt_Table_Info
+ *
+ * <Description>
+ * Returns information on an SFNT table.
+ *
+ * <Input>
+ * face ::
+ * A handle to the source face.
+ *
+ * table_index ::
+ * The index of an SFNT table. The function returns
+ * FT_Err_Table_Missing for an invalid value.
+ *
+ * <Output>
+ * tag ::
+ * The name tag of the SFNT table.
+ *
+ * length ::
+ * The length of the SFNT table.
+ *
+ * <Return>
+ * FreeType error code. 0 means success.
+ *
+ * <Note>
+ * SFNT tables with length zero are treated as missing by Windows.
+ *
+ */
+ FT_EXPORT( FT_Error )
+ FT_Sfnt_Table_Info( FT_Face face,
+ FT_UInt table_index,
+ FT_ULong *tag,
+ FT_ULong *length );
+
+
/*************************************************************************/
/* */
/* <Function> */
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index bd9636775..b18e8ed43 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -2508,6 +2508,28 @@
}
+ /* documentation is in tttables.h */
+
+ FT_EXPORT_DEF( FT_Error )
+ FT_Sfnt_Table_Info( FT_Face face,
+ FT_UInt table_index,
+ FT_ULong *tag,
+ FT_ULong *length )
+ {
+ FT_Service_SFNT_Table service;
+
+
+ if ( !face || !FT_IS_SFNT( face ) )
+ return FT_Err_Invalid_Face_Handle;
+
+ FT_FACE_FIND_SERVICE( face, service, SFNT_TABLE );
+ if ( service == NULL )
+ return FT_Err_Unimplemented_Feature;
+
+ return service->table_info( face, table_index, tag, length );
+ }
+
+
FT_EXPORT_DEF( FT_ULong )
FT_Get_CMap_Language_ID( FT_CharMap charmap )
{
diff --git a/src/base/ftrfork.c b/src/base/ftrfork.c
index cf790ccc0..c9dbe4a3d 100644
--- a/src/base/ftrfork.c
+++ b/src/base/ftrfork.c
@@ -701,6 +701,10 @@
{
int i;
+ FT_UNUSED( library );
+ FT_UNUSED( stream );
+ FT_UNUSED( base_name );
+
for ( i = 0; i < FT_RACCESS_N_RULES; i++ )
{
diff --git a/src/base/ftstream.c b/src/base/ftstream.c
index 932fe1b40..4fb933ef4 100644
--- a/src/base/ftstream.c
+++ b/src/base/ftstream.c
@@ -49,10 +49,7 @@
FT_Stream_Close( FT_Stream stream )
{
if ( stream && stream->close )
- {
stream->close( stream );
- stream->close = NULL;
- }
}
diff --git a/src/sfnt/sfdriver.c b/src/sfnt/sfdriver.c
index 7da53d2f1..05f62995a 100644
--- a/src/sfnt/sfdriver.c
+++ b/src/sfnt/sfdriver.c
@@ -92,10 +92,30 @@
}
+ static FT_Error
+ sfnt_table_info( TT_Face face,
+ FT_UInt idx,
+ FT_ULong *tag,
+ FT_ULong *length )
+ {
+ if ( !tag || !length )
+ return SFNT_Err_Invalid_Argument;
+
+ if ( idx >= face->num_tables )
+ return SFNT_Err_Table_Missing;
+
+ *tag = face->dir_tables[idx].Tag;
+ *length = face->dir_tables[idx].Length;
+
+ return SFNT_Err_Ok;
+ }
+
+
static const FT_Service_SFNT_TableRec sfnt_service_sfnt_table =
{
(FT_SFNT_TableLoadFunc)tt_face_load_any,
- (FT_SFNT_TableGetFunc) get_sfnt_table
+ (FT_SFNT_TableGetFunc) get_sfnt_table,
+ (FT_SFNT_TableInfoFunc)sfnt_table_info
};