Make FT_Sfnt_Table_Info return the number of SFNT tables.
* src/sfnt/sfdriver.c (sfnt_table_info): Implement it. * include/freetype/tttables.h: Update documentation. * docs/CHANGES: Updated.
This commit is contained in:
parent
d87389e9d3
commit
cecd912747
10
ChangeLog
10
ChangeLog
|
@ -1,4 +1,12 @@
|
||||||
2011-03-27 Bram Tassyns <bramt@enfocus.be>
|
2011-03-09 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
Make FT_Sfnt_Table_Info return the number of SFNT tables.
|
||||||
|
|
||||||
|
* src/sfnt/sfdriver.c (sfnt_table_info): Implement it.
|
||||||
|
* include/freetype/tttables.h: Update documentation.
|
||||||
|
* docs/CHANGES: Updated.
|
||||||
|
|
||||||
|
2011-03-07 Bram Tassyns <bramt@enfocus.be>
|
||||||
|
|
||||||
Fix Savannah bug #27988.
|
Fix Savannah bug #27988.
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,9 @@ CHANGES BETWEEN 2.4.4 and 2.4.5
|
||||||
|
|
||||||
III. MISCELLANEOUS
|
III. MISCELLANEOUS
|
||||||
|
|
||||||
|
- `FT_Sfnt_Table_Info' can now return the number of SFNT tables of
|
||||||
|
a font.
|
||||||
|
|
||||||
- Support for PCF files compressed with bzip2 has been contributed
|
- Support for PCF files compressed with bzip2 has been contributed
|
||||||
by Joel Klinghed. To make this work, the OS must provide a
|
by Joel Klinghed. To make this work, the OS must provide a
|
||||||
bzip2 library.
|
bzip2 library.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* Basic SFNT/TrueType tables definitions and interface */
|
/* Basic SFNT/TrueType tables definitions and interface */
|
||||||
/* (specification only). */
|
/* (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2008, 2009, 2010 by */
|
/* Copyright 1996-2005, 2008-2011 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -687,12 +687,16 @@ FT_BEGIN_HEADER
|
||||||
* The index of an SFNT table. The function returns
|
* The index of an SFNT table. The function returns
|
||||||
* FT_Err_Table_Missing for an invalid value.
|
* FT_Err_Table_Missing for an invalid value.
|
||||||
*
|
*
|
||||||
* @output:
|
* @inout:
|
||||||
* tag ::
|
* tag ::
|
||||||
* The name tag of the SFNT table.
|
* The name tag of the SFNT table. If the value is NULL, `table_index'
|
||||||
|
* is ignored, and `length' returns the number of SFNT tables in the
|
||||||
|
* font.
|
||||||
*
|
*
|
||||||
|
* @output:
|
||||||
* length ::
|
* length ::
|
||||||
* The length of the SFNT table.
|
* The length of the SFNT table (or the number of SFNT tables, depending
|
||||||
|
* on `tag').
|
||||||
*
|
*
|
||||||
* @return:
|
* @return:
|
||||||
* FreeType error code. 0~means success.
|
* FreeType error code. 0~means success.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* High-level SFNT driver interface (body). */
|
/* High-level SFNT driver interface (body). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 by */
|
/* Copyright 1996-2007, 2009-2011 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -117,15 +117,20 @@
|
||||||
FT_ULong *offset,
|
FT_ULong *offset,
|
||||||
FT_ULong *length )
|
FT_ULong *length )
|
||||||
{
|
{
|
||||||
if ( !tag || !offset || !length )
|
if ( !offset || !length )
|
||||||
return SFNT_Err_Invalid_Argument;
|
return SFNT_Err_Invalid_Argument;
|
||||||
|
|
||||||
if ( idx >= face->num_tables )
|
if ( !tag )
|
||||||
return SFNT_Err_Table_Missing;
|
*length = face->num_tables;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( idx >= face->num_tables )
|
||||||
|
return SFNT_Err_Table_Missing;
|
||||||
|
|
||||||
*tag = face->dir_tables[idx].Tag;
|
*tag = face->dir_tables[idx].Tag;
|
||||||
*offset = face->dir_tables[idx].Offset;
|
*offset = face->dir_tables[idx].Offset;
|
||||||
*length = face->dir_tables[idx].Length;
|
*length = face->dir_tables[idx].Length;
|
||||||
|
}
|
||||||
|
|
||||||
return SFNT_Err_Ok;
|
return SFNT_Err_Ok;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue