* src/otlayout/otlayout.h: Add copyright.

(OTL_INVALID_OFFSET): Removed.

* src/otlayout/otlgdef.h: Include otlayout.h.
Comment out inclusion of otltable.h.

* src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
to otl_base_array_validate.
(otl_liga_mark2_validate): Fix `for' loop.

* src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
not components array.

* src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
Comment out.
(otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
(otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
s/otl_lookup_get_count/otl_lookup_list_get_count/.
(otl_script_list_validate):
s/otl_feature_get_count/otl_feature_list_get_count/.
(otl_script_validate): Call otl_lang_validate for default language.

* src/otlayout/otlcommn.h: Updated.
This commit is contained in:
Werner Lemberg 2004-08-28 07:59:53 +00:00
parent 46b5c4ac31
commit 009ce1aba8
7 changed files with 69 additions and 23 deletions

View File

@ -1,3 +1,29 @@
2004-08-27 Werner Lemberg <wl@gnu.org>
* src/otlayout/otlayout.h: Add copyright.
(OTL_INVALID_OFFSET): Removed.
* src/otlayout/otlgdef.h: Include otlayout.h.
Comment out inclusion of otltable.h.
* src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
to otl_base_array_validate.
(otl_liga_mark2_validate): Fix `for' loop.
* src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
not components array.
* src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
Comment out.
(otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
(otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
s/otl_lookup_get_count/otl_lookup_list_get_count/.
(otl_script_list_validate):
s/otl_feature_get_count/otl_feature_list_get_count/.
(otl_script_validate): Call otl_lang_validate for default language.
* src/otlayout/otlcommn.h: Updated.
2004-08-16 Werner Lemberg <wl@gnu.org>
* src/otlayout/otlgpos.c (otl_gpos_lookup1_validate,

View File

@ -1,3 +1,21 @@
/***************************************************************************/
/* */
/* otlayout.h */
/* */
/* OpenType layout support (specification only). */
/* */
/* Copyright 2002, 2004 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef __OT_LAYOUT_H__
#define __OT_LAYOUT_H__
@ -200,7 +218,6 @@ OTL_BEGIN_HEADER
#define OTL_INVALID(e) otl_validator_error( valid, e )
#define OTL_INVALID_TOO_SHORT OTL_INVALID( OTL_Err_InvalidSize )
#define OTL_INVALID_OFFSET OTL_INVALID( OTL_Err_InvalidOffset )
#define OTL_INVALID_DATA OTL_INVALID( OTL_Err_InvalidData )
#define OTL_INVALID_FORMAT OTL_INVALID( OTL_Err_InvalidFormat )
@ -214,3 +231,6 @@ OTL_BEGIN_HEADER
OTL_END_HEADER
#endif /* __OT_LAYOUT_H__ */
/* END */

View File

@ -512,6 +512,7 @@
}
#if 0
OTL_LOCALDEF( OTL_UInt )
otl_lookup_get_count( OTL_Bytes table )
{
@ -520,6 +521,7 @@
return OTL_PEEK_USHORT( p );
}
#endif
#if 0
@ -575,7 +577,6 @@
}
#if 0
OTL_LOCALDEF( OTL_UInt )
otl_lookup_list_get_count( OTL_Bytes table )
{
@ -584,7 +585,6 @@
return OTL_PEEK_USHORT( p );
}
#endif
#if 0
@ -671,6 +671,7 @@
}
#if 0
OTL_LOCALDEF( OTL_UInt )
otl_feature_get_count( OTL_Bytes table )
{
@ -679,6 +680,7 @@
return OTL_PEEK_USHORT( p );
}
#endif
#if 0
@ -730,7 +732,7 @@
num_features = OTL_NEXT_USHORT( p );
OTL_CHECK( 2 * num_features );
lookup_count = otl_lookup_get_count( lookups );
lookup_count = otl_lookup_list_get_count( lookups );
/* scan feature records */
for ( ; num_features > 0; num_features-- )
@ -743,7 +745,6 @@
}
#if 0
OTL_LOCALDEF( OTL_UInt )
otl_feature_list_get_count( OTL_Bytes table )
{
@ -752,7 +753,6 @@
return OTL_PEEK_USHORT( p );
}
#endif
#if 0
@ -906,10 +906,7 @@
num_langs = OTL_NEXT_USHORT( p );
if ( default_lang != 0 )
{
if ( table + default_lang >= valid->limit )
OTL_INVALID_OFFSET;
}
otl_lang_validate( table + default_lang, feature_count, valid );
OTL_CHECK( num_langs * 6 );
@ -936,7 +933,7 @@
num_scripts = OTL_NEXT_USHORT( p );
OTL_CHECK( num_scripts * 6 );
feature_count = otl_feature_get_count( features );
feature_count = otl_feature_list_get_count( features );
/* scan script records */
for ( ; num_scripts > 0; num_scripts-- )
@ -963,7 +960,7 @@
OTL_Bytes p = table + 8;
return otl_lookup_get_count( table + OTL_PEEK_USHORT( p ) );
return otl_lookup_list_get_count( table + OTL_PEEK_USHORT( p ) );
}

View File

@ -128,9 +128,11 @@ OTL_BEGIN_HEADER
OTL_UInt glyph_count,
OTL_Validator valid );
#if 0
/* return number of sub-tables in a lookup */
OTL_LOCAL( OTL_UInt )
otl_lookup_get_count( OTL_Bytes table );
#endif
#if 0
/* return lookup sub-table */
@ -156,11 +158,9 @@ OTL_BEGIN_HEADER
OTL_UInt glyph_count,
OTL_Validator valid );
#if 0
/* return number of lookups in list */
OTL_LOCAL( OTL_UInt )
otl_lookup_list_get_count( OTL_Bytes table );
#endif
#if 0
/* return a given lookup from a list */
@ -200,9 +200,11 @@ OTL_BEGIN_HEADER
OTL_UInt lookup_count,
OTL_Validator valid );
#if 0
/* return feature's lookup count */
OTL_LOCAL( OTL_UInt )
otl_feature_get_count( OTL_Bytes table );
#endif
#if 0
/* get several lookups indices from a feature. returns the number of */
@ -230,11 +232,9 @@ OTL_BEGIN_HEADER
OTL_Bytes lookups,
OTL_Validator valid );
#if 0
/* return number of features in list */
OTL_LOCAL( OTL_UInt )
otl_feature_list_get_count( OTL_Bytes table );
#endif
#if 0
/* return a given feature from a list */

View File

@ -19,7 +19,11 @@
#ifndef __OTLGDEF_H__
#define __OTLGDEF_H__
#include "otlayout.h"
#if 0
#include "otltable.h"
#endif
OTL_BEGIN_HEADER

View File

@ -477,7 +477,7 @@
otl_coverage_validate( table + base_coverage, valid );
otl_mark_array_validate( table + mark_array, valid );
otl_base_array_validate( table, num_classes, valid );
otl_base_array_validate( table + base_array, num_classes, valid );
}
break;
@ -514,7 +514,7 @@
/* scan component records */
for ( ; num_components > 0; num_components-- )
/* scan ligature anchor records */
for ( count = class_count; class_count > 0; class_count-- )
for ( count = class_count; count > 0; count-- )
{
OTL_UInt offset = OTL_NEXT_USHORT( p );

View File

@ -484,7 +484,10 @@
OTL_CHECK( 4 );
glyph_id = OTL_NEXT_USHORT( p );
glyph_id = OTL_NEXT_USHORT( p );
if ( glyph_id >= glyph_count )
OTL_INVALID_DATA;
num_components = OTL_NEXT_USHORT( p );
if ( num_components == 0 )
@ -493,10 +496,6 @@
num_components--;
OTL_CHECK( num_components * 2 );
for ( ; num_components > 0; num_components-- )
if ( OTL_NEXT_USHORT( p ) >= glyph_count )
OTL_INVALID_DATA;
}