summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2007-10-11 08:30:50 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2007-10-11 08:30:50 +0000
commit932a4bf0d8fe13bb657c09fb426cd85334159e79 (patch)
tree58e674256c5564a9c0ead813b48ab689ba7f7285
parent76e662883f0966862c09bbc13eaa7b6d968d86bd (diff)
downloadpango-932a4bf0d8fe13bb657c09fb426cd85334159e79.tar.gz
Mark internal symbols as HB_INTERNAL and define that to static in
2007-10-11 Behdad Esfahbod <behdad@gnome.org> * pango/opentype/*: Mark internal symbols as HB_INTERNAL and define that to static in harfbuzz.c. * pango/opentype/harfbuzz-buffer-internal.h: New file. svn path=/trunk/; revision=2442
-rw-r--r--ChangeLog7
-rw-r--r--pango/opentype/Makefile.am1
-rw-r--r--pango/opentype/ftglue.c18
-rw-r--r--pango/opentype/ftglue.h20
-rw-r--r--pango/opentype/harfbuzz-buffer-private.h60
-rw-r--r--pango/opentype/harfbuzz-buffer.c108
-rw-r--r--pango/opentype/harfbuzz-buffer.h38
-rw-r--r--pango/opentype/harfbuzz-gdef-private.h17
-rw-r--r--pango/opentype/harfbuzz-gdef.c20
-rw-r--r--pango/opentype/harfbuzz-gpos-private.h13
-rw-r--r--pango/opentype/harfbuzz-gpos.c16
-rw-r--r--pango/opentype/harfbuzz-gsub-private.h14
-rw-r--r--pango/opentype/harfbuzz-gsub.c20
-rw-r--r--pango/opentype/harfbuzz-impl.h12
-rw-r--r--pango/opentype/harfbuzz-open-private.h81
-rw-r--r--pango/opentype/harfbuzz-open.c111
-rw-r--r--pango/opentype/harfbuzz.c1
17 files changed, 322 insertions, 235 deletions
diff --git a/ChangeLog b/ChangeLog
index 43e68121..01b4124a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
+ * pango/opentype/*: Mark internal symbols as HB_INTERNAL and
+ define that to static in harfbuzz.c.
+
+ * pango/opentype/harfbuzz-buffer-internal.h: New file.
+
+2007-10-11 Behdad Esfahbod <behdad@gnome.org>
+
* pango/opentype/ftglue.[ch]: Remove FTGLUE_API/APIDEF cruft.
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
diff --git a/pango/opentype/Makefile.am b/pango/opentype/Makefile.am
index 25b0718f..9eb696fc 100644
--- a/pango/opentype/Makefile.am
+++ b/pango/opentype/Makefile.am
@@ -28,6 +28,7 @@ PUBLICHEADERS = \
PRIVATEHEADERS = \
ftglue.h \
harfbuzz-impl.h \
+ harfbuzz-buffer-private.h \
harfbuzz-gdef-private.h \
harfbuzz-gpos-private.h \
harfbuzz-gsub-private.h \
diff --git a/pango/opentype/ftglue.c b/pango/opentype/ftglue.c
index 8dd6bb9c..0f68ebfa 100644
--- a/pango/opentype/ftglue.c
+++ b/pango/opentype/ftglue.c
@@ -51,7 +51,7 @@ _hb_ftglue_qalloc( FT_ULong size,
#define QALLOC(ptr,size) ( (ptr) = _hb_ftglue_qalloc( (size), &error ), error != 0 )
-FT_Pointer
+HB_INTERNAL FT_Pointer
_hb_ftglue_alloc( FT_ULong size,
HB_Error *perror )
{
@@ -72,7 +72,7 @@ _hb_ftglue_alloc( FT_ULong size,
}
-FT_Pointer
+HB_INTERNAL FT_Pointer
_hb_ftglue_realloc( FT_Pointer block,
FT_ULong new_size,
HB_Error *perror )
@@ -92,7 +92,7 @@ _hb_ftglue_realloc( FT_Pointer block,
}
-void
+HB_INTERNAL void
_hb_ftglue_free( FT_Pointer block )
{
if ( block )
@@ -100,7 +100,7 @@ _hb_ftglue_free( FT_Pointer block )
}
-FT_Long
+HB_INTERNAL FT_Long
_hb_ftglue_stream_pos( FT_Stream stream )
{
LOG(( "ftglue:stream:pos() -> %ld\n", stream->pos ));
@@ -108,7 +108,7 @@ _hb_ftglue_stream_pos( FT_Stream stream )
}
-HB_Error
+HB_INTERNAL HB_Error
_hb_ftglue_stream_seek( FT_Stream stream,
FT_Long pos )
{
@@ -128,7 +128,7 @@ _hb_ftglue_stream_seek( FT_Stream stream,
}
-HB_Error
+HB_INTERNAL HB_Error
_hb_ftglue_stream_frame_enter( FT_Stream stream,
FT_ULong count )
{
@@ -176,7 +176,7 @@ Exit:
}
-void
+HB_INTERNAL void
_hb_ftglue_stream_frame_exit( FT_Stream stream )
{
if ( stream->read )
@@ -190,7 +190,7 @@ _hb_ftglue_stream_frame_exit( FT_Stream stream )
}
-HB_Error
+HB_INTERNAL HB_Error
_hb_ftglue_face_goto_table( FT_Face face,
FT_ULong the_tag,
FT_Stream stream )
@@ -280,7 +280,7 @@ Exit:
/* abuse these private header/source files */
/* helper func to set a breakpoint on */
-HB_Error
+HB_INTERNAL HB_Error
_hb_err (HB_Error code)
{
return code;
diff --git a/pango/opentype/ftglue.h b/pango/opentype/ftglue.h
index cb71add5..a866feea 100644
--- a/pango/opentype/ftglue.h
+++ b/pango/opentype/ftglue.h
@@ -46,6 +46,7 @@
#include <ft2build.h>
#include FT_FREETYPE_H
+#include "harfbuzz-impl.h"
#include "harfbuzz-open.h"
FT_BEGIN_HEADER
@@ -83,21 +84,21 @@ FT_BEGIN_HEADER
#define GET_ULong() ((FT_ULong)GET_Long())
#define GET_Tag4() GET_ULong()
-FT_Long
+HB_INTERNAL FT_Long
_hb_ftglue_stream_pos( FT_Stream stream );
-HB_Error
+HB_INTERNAL HB_Error
_hb_ftglue_stream_seek( FT_Stream stream,
FT_Long pos );
-HB_Error
+HB_INTERNAL HB_Error
_hb_ftglue_stream_frame_enter( FT_Stream stream,
FT_ULong size );
-void
+HB_INTERNAL void
_hb_ftglue_stream_frame_exit( FT_Stream stream );
-HB_Error
+HB_INTERNAL HB_Error
_hb_ftglue_face_goto_table( FT_Face face,
FT_ULong tag,
FT_Stream stream );
@@ -127,22 +128,23 @@ _hb_ftglue_face_goto_table( FT_Face face,
#define MEM_Copy(dest,source,count) memcpy( (char*)(dest), (const char*)(source), (size_t)(count) )
-FT_Pointer
+HB_INTERNAL FT_Pointer
_hb_ftglue_alloc( FT_ULong size,
HB_Error *perror_ );
-FT_Pointer
+HB_INTERNAL FT_Pointer
_hb_ftglue_realloc( FT_Pointer block,
FT_ULong new_size,
HB_Error *perror_ );
-void
+HB_INTERNAL void
_hb_ftglue_free( FT_Pointer block );
/* abuse these private header/source files */
/* helper func to set a breakpoint on */
-HB_Error _hb_err (HB_Error code);
+HB_INTERNAL HB_Error
+_hb_err (HB_Error code);
FT_END_HEADER
diff --git a/pango/opentype/harfbuzz-buffer-private.h b/pango/opentype/harfbuzz-buffer-private.h
new file mode 100644
index 00000000..0b87c18a
--- /dev/null
+++ b/pango/opentype/harfbuzz-buffer-private.h
@@ -0,0 +1,60 @@
+/* harfbuzz-buffer-private.h: Buffer of glyphs for substitution/positioning
+ *
+ * Copyright 2004,7 Red Hat Software
+ *
+ * Portions Copyright 1996-2000 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 HARFBUZZ_BUFFER_PRIVATE_H
+#define HARFBUZZ_BUFFER_PRIVATE_H
+
+#include "harfbuzz-impl.h"
+#include "harfbuzz-buffer.h"
+
+FT_BEGIN_HEADER
+
+#define HB_GLYPH_PROPERTIES_UNKNOWN 0xFFFF
+
+HB_INTERNAL void
+_hb_buffer_swap( HB_Buffer buffer );
+
+HB_INTERNAL void
+_hb_buffer_clear_output( HB_Buffer buffer );
+
+HB_INTERNAL HB_Error
+_hb_buffer_clear_positions( HB_Buffer buffer );
+
+HB_INTERNAL HB_Error
+_hb_buffer_add_output_glyphs( HB_Buffer buffer,
+ FT_UShort num_in,
+ FT_UShort num_out,
+ FT_UShort *glyph_data,
+ FT_UShort component,
+ FT_UShort ligID );
+
+HB_INTERNAL HB_Error
+_hb_buffer_add_output_glyph ( HB_Buffer buffer,
+ FT_UInt glyph_index,
+ FT_UShort component,
+ FT_UShort ligID );
+
+HB_INTERNAL HB_Error
+_hb_buffer_copy_output_glyph ( HB_Buffer buffer );
+
+HB_INTERNAL HB_Error
+_hb_buffer_replace_output_glyph ( HB_Buffer buffer,
+ FT_UInt glyph_index,
+ FT_Bool inplace );
+
+HB_INTERNAL FT_UShort
+_hb_buffer_allocate_ligid( HB_Buffer buffer );
+
+FT_END_HEADER
+
+#endif /* HARFBUZZ_BUFFER_PRIVATE_H */
diff --git a/pango/opentype/harfbuzz-buffer.c b/pango/opentype/harfbuzz-buffer.c
index 382d6b56..8f9539a9 100644
--- a/pango/opentype/harfbuzz-buffer.c
+++ b/pango/opentype/harfbuzz-buffer.c
@@ -7,7 +7,7 @@
*/
#include "harfbuzz-impl.h"
-#include "harfbuzz-buffer.h"
+#include "harfbuzz-buffer-private.h"
#include "harfbuzz-gsub-private.h"
#include "harfbuzz-gpos-private.h"
@@ -38,6 +38,8 @@
* to in_string (FALSE) or alt_string (TRUE).
*/
+/* Internal API */
+
static HB_Error
hb_buffer_ensure( HB_Buffer buffer,
FT_ULong size )
@@ -102,6 +104,8 @@ hb_buffer_duplicate_out_buffer( HB_Buffer buffer )
return HB_Err_Ok;
}
+/* Public API */
+
HB_Error
hb_buffer_new( HB_Buffer *pbuffer )
{
@@ -145,8 +149,36 @@ hb_buffer_clear( HB_Buffer buffer )
buffer->max_ligID = 0;
}
-void
-hb_buffer_clear_output( HB_Buffer buffer )
+HB_Error
+hb_buffer_add_glyph( HB_Buffer buffer,
+ FT_UInt glyph_index,
+ FT_UInt properties,
+ FT_UInt cluster )
+{
+ HB_Error error;
+ HB_GlyphItem glyph;
+
+ error = hb_buffer_ensure( buffer, buffer->in_length + 1 );
+ if ( error )
+ return error;
+
+ glyph = &buffer->in_string[buffer->in_length];
+ glyph->gindex = glyph_index;
+ glyph->properties = properties;
+ glyph->cluster = cluster;
+ glyph->component = 0;
+ glyph->ligID = 0;
+ glyph->gproperties = HB_GLYPH_PROPERTIES_UNKNOWN;
+
+ buffer->in_length++;
+
+ return HB_Err_Ok;
+}
+
+/* HarfBuzz-Internal API */
+
+HB_INTERNAL void
+_hb_buffer_clear_output( HB_Buffer buffer )
{
buffer->out_length = 0;
buffer->out_pos = 0;
@@ -154,8 +186,8 @@ hb_buffer_clear_output( HB_Buffer buffer )
buffer->separate_out = FALSE;
}
-HB_Error
-hb_buffer_clear_positions( HB_Buffer buffer )
+HB_INTERNAL HB_Error
+_hb_buffer_clear_positions( HB_Buffer buffer )
{
if ( !buffer->positions )
{
@@ -170,8 +202,8 @@ hb_buffer_clear_positions( HB_Buffer buffer )
return HB_Err_Ok;
}
-void
-hb_buffer_swap( HB_Buffer buffer )
+HB_INTERNAL void
+_hb_buffer_swap( HB_Buffer buffer )
{
HB_GlyphItem tmp_string;
int tmp_length;
@@ -194,32 +226,6 @@ hb_buffer_swap( HB_Buffer buffer )
buffer->out_pos = tmp_pos;
}
-HB_Error
-hb_buffer_add_glyph( HB_Buffer buffer,
- FT_UInt glyph_index,
- FT_UInt properties,
- FT_UInt cluster )
-{
- HB_Error error;
- HB_GlyphItem glyph;
-
- error = hb_buffer_ensure( buffer, buffer->in_length + 1 );
- if ( error )
- return error;
-
- glyph = &buffer->in_string[buffer->in_length];
- glyph->gindex = glyph_index;
- glyph->properties = properties;
- glyph->cluster = cluster;
- glyph->component = 0;
- glyph->ligID = 0;
- glyph->gproperties = HB_GLYPH_PROPERTIES_UNKNOWN;
-
- buffer->in_length++;
-
- return HB_Err_Ok;
-}
-
/* The following function copies `num_out' elements from `glyph_data'
to `buffer->out_string', advancing the in array pointer in the structure
by `num_in' elements, and the out array pointer by `num_out' elements.
@@ -239,8 +245,8 @@ hb_buffer_add_glyph( HB_Buffer buffer,
The cluster value for the glyph at position buffer->in_pos is used
for all replacement glyphs */
-HB_Error
-hb_buffer_add_output_glyphs( HB_Buffer buffer,
+HB_INTERNAL HB_Error
+_hb_buffer_add_output_glyphs( HB_Buffer buffer,
FT_UShort num_in,
FT_UShort num_out,
FT_UShort *glyph_data,
@@ -290,20 +296,20 @@ hb_buffer_add_output_glyphs( HB_Buffer buffer,
return HB_Err_Ok;
}
-HB_Error
-hb_buffer_add_output_glyph( HB_Buffer buffer,
- FT_UInt glyph_index,
- FT_UShort component,
- FT_UShort ligID )
+HB_INTERNAL HB_Error
+_hb_buffer_add_output_glyph( HB_Buffer buffer,
+ FT_UInt glyph_index,
+ FT_UShort component,
+ FT_UShort ligID )
{
FT_UShort glyph_data = glyph_index;
- return hb_buffer_add_output_glyphs ( buffer, 1, 1,
+ return _hb_buffer_add_output_glyphs ( buffer, 1, 1,
&glyph_data, component, ligID );
}
-HB_Error
-hb_buffer_copy_output_glyph ( HB_Buffer buffer )
+HB_INTERNAL HB_Error
+_hb_buffer_copy_output_glyph ( HB_Buffer buffer )
{
HB_Error error;
@@ -323,17 +329,17 @@ hb_buffer_copy_output_glyph ( HB_Buffer buffer )
return HB_Err_Ok;
}
-HB_Error
-hb_buffer_replace_output_glyph( HB_Buffer buffer,
- FT_UInt glyph_index,
- FT_Bool inplace )
+HB_INTERNAL HB_Error
+_hb_buffer_replace_output_glyph( HB_Buffer buffer,
+ FT_UInt glyph_index,
+ FT_Bool inplace )
{
HB_Error error;
if ( inplace )
{
- error = hb_buffer_copy_output_glyph ( buffer );
+ error = _hb_buffer_copy_output_glyph ( buffer );
if ( error )
return error;
@@ -341,14 +347,14 @@ hb_buffer_replace_output_glyph( HB_Buffer buffer,
}
else
{
- return hb_buffer_add_output_glyph( buffer, glyph_index, 0xFFFF, 0xFFFF );
+ return _hb_buffer_add_output_glyph( buffer, glyph_index, 0xFFFF, 0xFFFF );
}
return HB_Err_Ok;
}
-FT_UShort
-hb_buffer_allocate_ligid( HB_Buffer buffer )
+HB_INTERNAL FT_UShort
+_hb_buffer_allocate_ligid( HB_Buffer buffer )
{
return ++buffer->max_ligID;
}
diff --git a/pango/opentype/harfbuzz-buffer.h b/pango/opentype/harfbuzz-buffer.h
index d35f0956..fdc70757 100644
--- a/pango/opentype/harfbuzz-buffer.h
+++ b/pango/opentype/harfbuzz-buffer.h
@@ -1,6 +1,6 @@
/* harfbuzz-buffer.h: Buffer of glyphs for substitution/positioning
*
- * Copyrigh 2004 Red Hat Software
+ * Copyright 2004,7 Red Hat Software
*
* Portions Copyright 1996-2000 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
@@ -19,8 +19,6 @@
FT_BEGIN_HEADER
-#define HB_GLYPH_PROPERTIES_UNKNOWN 0xFFFF
-
typedef struct HB_GlyphItemRec_ {
FT_UInt gindex;
FT_UInt properties;
@@ -67,51 +65,17 @@ HB_Error
hb_buffer_new( HB_Buffer *buffer );
void
-hb_buffer_swap( HB_Buffer buffer );
-
-void
hb_buffer_free( HB_Buffer buffer );
void
hb_buffer_clear( HB_Buffer buffer );
-void
-hb_buffer_clear_output( HB_Buffer buffer );
-
-HB_Error
-hb_buffer_clear_positions( HB_Buffer buffer );
-
HB_Error
hb_buffer_add_glyph( HB_Buffer buffer,
FT_UInt glyph_index,
FT_UInt properties,
FT_UInt cluster );
-HB_Error
-hb_buffer_add_output_glyphs( HB_Buffer buffer,
- FT_UShort num_in,
- FT_UShort num_out,
- FT_UShort *glyph_data,
- FT_UShort component,
- FT_UShort ligID );
-
-HB_Error
-hb_buffer_add_output_glyph ( HB_Buffer buffer,
- FT_UInt glyph_index,
- FT_UShort component,
- FT_UShort ligID );
-
-HB_Error
-hb_buffer_copy_output_glyph ( HB_Buffer buffer );
-
-HB_Error
-hb_buffer_replace_output_glyph ( HB_Buffer buffer,
- FT_UInt glyph_index,
- FT_Bool inplace );
-
-FT_UShort
-hb_buffer_allocate_ligid( HB_Buffer buffer );
-
FT_END_HEADER
#endif /* HARFBUZZ_BUFFER_H */
diff --git a/pango/opentype/harfbuzz-gdef-private.h b/pango/opentype/harfbuzz-gdef-private.h
index e93fd44e..0d1b9049 100644
--- a/pango/opentype/harfbuzz-gdef-private.h
+++ b/pango/opentype/harfbuzz-gdef-private.h
@@ -13,6 +13,7 @@
#ifndef HARFBUZZ_GDEF_PRIVATE_H
#define HARFBUZZ_GDEF_PRIVATE_H
+#include "harfbuzz-impl.h"
#include "harfbuzz-gdef.h"
#include "harfbuzz-buffer.h"
@@ -87,14 +88,16 @@ struct HB_LigGlyph_
};
-HB_Error _HB_GDEF_Add_Glyph_Property( HB_GDEFHeader* gdef,
- FT_UShort glyphID,
- FT_UShort property );
+HB_INTERNAL HB_Error
+_HB_GDEF_Add_Glyph_Property( HB_GDEFHeader* gdef,
+ FT_UShort glyphID,
+ FT_UShort property );
-HB_Error _HB_GDEF_Check_Property( HB_GDEFHeader* gdef,
- HB_GlyphItem item,
- FT_UShort flags,
- FT_UShort* property );
+HB_INTERNAL HB_Error
+_HB_GDEF_Check_Property( HB_GDEFHeader* gdef,
+ HB_GlyphItem item,
+ FT_UShort flags,
+ FT_UShort* property );
FT_END_HEADER
diff --git a/pango/opentype/harfbuzz-gdef.c b/pango/opentype/harfbuzz-gdef.c
index 2ba6b1ab..1f86e9bf 100644
--- a/pango/opentype/harfbuzz-gdef.c
+++ b/pango/opentype/harfbuzz-gdef.c
@@ -762,7 +762,7 @@ HB_Error HB_GDEF_Get_Glyph_Property( HB_GDEFHeader* gdef,
FT_UShort glyphID,
FT_UShort* property )
{
- FT_UShort class, index;
+ FT_UShort class = 0, index = 0; /* shut compiler up */
HB_Error error;
@@ -1057,12 +1057,13 @@ static void Free_NewGlyphClasses( HB_GDEFHeader* gdef )
}
-HB_Error _HB_GDEF_Add_Glyph_Property( HB_GDEFHeader* gdef,
- FT_UShort glyphID,
- FT_UShort property )
+HB_INTERNAL HB_Error
+_HB_GDEF_Add_Glyph_Property( HB_GDEFHeader* gdef,
+ FT_UShort glyphID,
+ FT_UShort property )
{
HB_Error error;
- FT_UShort class, new_class, index;
+ FT_UShort class, new_class, index = 0; /* shut compiler up */
FT_UShort byte, bits, mask;
FT_UShort array_index, glyph_index, count;
@@ -1142,10 +1143,11 @@ HB_Error _HB_GDEF_Add_Glyph_Property( HB_GDEFHeader* gdef,
}
-HB_Error _HB_GDEF_Check_Property( HB_GDEFHeader* gdef,
- HB_GlyphItem gitem,
- FT_UShort flags,
- FT_UShort* property )
+HB_INTERNAL HB_Error
+_HB_GDEF_Check_Property( HB_GDEFHeader* gdef,
+ HB_GlyphItem gitem,
+ FT_UShort flags,
+ FT_UShort* property )
{
HB_Error error;
diff --git a/pango/opentype/harfbuzz-gpos-private.h b/pango/opentype/harfbuzz-gpos-private.h
index ef3c750f..ba08ecfe 100644
--- a/pango/opentype/harfbuzz-gpos-private.h
+++ b/pango/opentype/harfbuzz-gpos-private.h
@@ -13,6 +13,7 @@
#ifndef HARFBUZZ_GPOS_PRIVATE_H
#define HARFBUZZ_GPOS_PRIVATE_H
+#include "harfbuzz-impl.h"
#include "harfbuzz-gpos.h"
FT_BEGIN_HEADER
@@ -670,12 +671,14 @@ typedef union HB_GPOS_SubTable_ HB_GPOS_SubTable;
-HB_Error _HB_GPOS_Load_SubTable( HB_GPOS_SubTable* st,
- FT_Stream stream,
- FT_UShort lookup_type );
+HB_INTERNAL HB_Error
+_HB_GPOS_Load_SubTable( HB_GPOS_SubTable* st,
+ FT_Stream stream,
+ FT_UShort lookup_type );
-void _HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st,
- FT_UShort lookup_type );
+HB_INTERNAL void
+_HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st,
+ FT_UShort lookup_type );
FT_END_HEADER
diff --git a/pango/opentype/harfbuzz-gpos.c b/pango/opentype/harfbuzz-gpos.c
index 52ed1206..859524ea 100644
--- a/pango/opentype/harfbuzz-gpos.c
+++ b/pango/opentype/harfbuzz-gpos.c
@@ -1533,7 +1533,7 @@ static HB_Error Lookup_PairPos2( GPOS_Instance* gpi,
FT_UShort format2 )
{
HB_Error error;
- FT_UShort cl1, cl2;
+ FT_UShort cl1 = 0, cl2 = 0; /* shut compiler up */
HB_Class1Record* c1r;
HB_Class2Record* c2r;
@@ -5877,9 +5877,10 @@ static HB_Error GPOS_Do_Glyph_Lookup( GPOS_Instance* gpi,
}
-HB_Error _HB_GPOS_Load_SubTable( HB_GPOS_SubTable* st,
- FT_Stream stream,
- FT_UShort lookup_type )
+HB_INTERNAL HB_Error
+_HB_GPOS_Load_SubTable( HB_GPOS_SubTable* st,
+ FT_Stream stream,
+ FT_UShort lookup_type )
{
switch ( lookup_type ) {
case HB_GPOS_LOOKUP_SINGLE: return Load_SinglePos ( st, stream );
@@ -5896,8 +5897,9 @@ HB_Error _HB_GPOS_Load_SubTable( HB_GPOS_SubTable* st,
}
-void _HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st,
- FT_UShort lookup_type )
+HB_INTERNAL void
+_HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st,
+ FT_UShort lookup_type )
{
switch ( lookup_type ) {
case HB_GPOS_LOOKUP_SINGLE: Free_SinglePos ( st ); return;
@@ -6110,7 +6112,7 @@ HB_Error HB_GPOS_Apply_String( FT_Face face,
if ( num_features )
{
- error = hb_buffer_clear_positions( buffer );
+ error = _hb_buffer_clear_positions( buffer );
if ( error )
return error;
}
diff --git a/pango/opentype/harfbuzz-gsub-private.h b/pango/opentype/harfbuzz-gsub-private.h
index 5096694e..7f339cdb 100644
--- a/pango/opentype/harfbuzz-gsub-private.h
+++ b/pango/opentype/harfbuzz-gsub-private.h
@@ -13,6 +13,7 @@
#ifndef HARFBUZZ_GSUB_PRIVATE_H
#define HARFBUZZ_GSUB_PRIVATE_H
+#include "harfbuzz-impl.h"
#include "harfbuzz-gsub.h"
FT_BEGIN_HEADER
@@ -434,13 +435,14 @@ union HB_GSUB_SubTable_
+HB_INTERNAL HB_Error
+_HB_GSUB_Load_SubTable( HB_GSUB_SubTable* st,
+ FT_Stream stream,
+ FT_UShort lookup_type );
-HB_Error _HB_GSUB_Load_SubTable( HB_GSUB_SubTable* st,
- FT_Stream stream,
- FT_UShort lookup_type );
-
-void _HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st,
- FT_UShort lookup_type );
+HB_INTERNAL void
+_HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st,
+ FT_UShort lookup_type );
FT_END_HEADER
diff --git a/pango/opentype/harfbuzz-gsub.c b/pango/opentype/harfbuzz-gsub.c
index 3f70e0d0..7ef3bcb3 100644
--- a/pango/opentype/harfbuzz-gsub.c
+++ b/pango/opentype/harfbuzz-gsub.c
@@ -1042,7 +1042,7 @@ static HB_Error Lookup_LigatureSubst( HB_GSUBHeader* gsub,
}
else
{
- FT_UShort ligID = hb_buffer_allocate_ligid( buffer );
+ FT_UShort ligID = _hb_buffer_allocate_ligid( buffer );
if ( ADD_String( buffer, i, 1, &lig->LigGlyph,
0xFFFF, ligID ) )
return error;
@@ -1050,7 +1050,7 @@ static HB_Error Lookup_LigatureSubst( HB_GSUBHeader* gsub,
}
else
{
- FT_UShort ligID = hb_buffer_allocate_ligid( buffer );
+ FT_UShort ligID = _hb_buffer_allocate_ligid( buffer );
if ( ADD_Glyph( buffer, lig->LigGlyph, 0xFFFF, ligID ) )
return error;
@@ -4112,9 +4112,10 @@ static HB_Error GSUB_Do_Glyph_Lookup( HB_GSUBHeader* gsub,
}
-HB_Error _HB_GSUB_Load_SubTable( HB_GSUB_SubTable* st,
- FT_Stream stream,
- FT_UShort lookup_type )
+HB_INTERNAL HB_Error
+_HB_GSUB_Load_SubTable( HB_GSUB_SubTable* st,
+ FT_Stream stream,
+ FT_UShort lookup_type )
{
switch (lookup_type) {
case HB_GSUB_LOOKUP_SINGLE: return Load_SingleSubst ( st, stream );
@@ -4130,8 +4131,9 @@ HB_Error _HB_GSUB_Load_SubTable( HB_GSUB_SubTable* st,
}
-void _HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st,
- FT_UShort lookup_type )
+HB_INTERNAL void
+_HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st,
+ FT_UShort lookup_type )
{
switch ( lookup_type ) {
case HB_GSUB_LOOKUP_SINGLE: Free_SingleSubst ( st ); return;
@@ -4173,7 +4175,7 @@ static HB_Error GSUB_Do_String_Lookup( HB_GSUBHeader* gsub,
case HB_GSUB_LOOKUP_CHAIN:
/* in/out forward substitution (implemented lazy) */
- hb_buffer_clear_output ( buffer );
+ _hb_buffer_clear_output ( buffer );
buffer->in_pos = 0;
while ( buffer->in_pos < buffer->in_length )
{
@@ -4201,7 +4203,7 @@ static HB_Error GSUB_Do_String_Lookup( HB_GSUBHeader* gsub,
* shouldn't matter in that case though.
*/
if ( retError == HB_Err_Ok )
- hb_buffer_swap( buffer );
+ _hb_buffer_swap( buffer );
return retError;
diff --git a/pango/opentype/harfbuzz-impl.h b/pango/opentype/harfbuzz-impl.h
index 9547b062..2215d2c4 100644
--- a/pango/opentype/harfbuzz-impl.h
+++ b/pango/opentype/harfbuzz-impl.h
@@ -19,6 +19,10 @@
FT_BEGIN_HEADER
+#ifndef HB_INTERNAL
+# define HB_INTERNAL
+#endif
+
#ifndef NULL
# define NULL ((void *)0)
#endif
@@ -68,19 +72,19 @@ FT_BEGIN_HEADER
(property) ) ) != HB_Err_Ok )
#define ADD_String( buffer, num_in, num_out, glyph_data, component, ligID ) \
- ( ( error = hb_buffer_add_output_glyphs( (buffer), \
+ ( ( error = _hb_buffer_add_output_glyphs( (buffer), \
(num_in), (num_out), \
(glyph_data), (component), (ligID) \
) ) != HB_Err_Ok )
#define ADD_Glyph( buffer, glyph_index, component, ligID ) \
- ( ( error = hb_buffer_add_output_glyph( (buffer), \
+ ( ( error = _hb_buffer_add_output_glyph( (buffer), \
(glyph_index), (component), (ligID) \
) ) != HB_Err_Ok )
#define REPLACE_Glyph( buffer, glyph_index, nesting_level ) \
- ( ( error = hb_buffer_replace_output_glyph( (buffer), (glyph_index), \
+ ( ( error = _hb_buffer_replace_output_glyph( (buffer), (glyph_index), \
(nesting_level) == 1 ) ) != HB_Err_Ok )
#define COPY_Glyph( buffer ) \
- ( (error = hb_buffer_copy_output_glyph ( buffer ) ) != HB_Err_Ok )
+ ( (error = _hb_buffer_copy_output_glyph ( buffer ) ) != HB_Err_Ok )
FT_END_HEADER
diff --git a/pango/opentype/harfbuzz-open-private.h b/pango/opentype/harfbuzz-open-private.h
index 2e2149a0..f3f6cc99 100644
--- a/pango/opentype/harfbuzz-open-private.h
+++ b/pango/opentype/harfbuzz-open-private.h
@@ -13,6 +13,7 @@
#ifndef HARFBUZZ_OPEN_PRIVATE_H
#define HARFBUZZ_OPEN_PRIVATE_H
+#include "harfbuzz-impl.h"
#include "harfbuzz-open.h"
#include "harfbuzz-gsub-private.h"
#include "harfbuzz-gpos-private.h"
@@ -30,48 +31,58 @@ struct HB_SubTable_
};
-HB_Error _HB_OPEN_Load_ScriptList( HB_ScriptList* sl,
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_ScriptList( HB_ScriptList* sl,
FT_Stream stream );
-HB_Error _HB_OPEN_Load_FeatureList( HB_FeatureList* fl,
- FT_Stream input );
-HB_Error _HB_OPEN_Load_LookupList( HB_LookupList* ll,
- FT_Stream input,
- HB_Type type );
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_FeatureList( HB_FeatureList* fl,
+ FT_Stream input );
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_LookupList( HB_LookupList* ll,
+ FT_Stream input,
+ HB_Type type );
-HB_Error _HB_OPEN_Load_Coverage( HB_Coverage* c,
- FT_Stream input );
-HB_Error _HB_OPEN_Load_ClassDefinition( HB_ClassDefinition* cd,
- FT_UShort limit,
- FT_Stream input );
-HB_Error _HB_OPEN_Load_EmptyOrClassDefinition( HB_ClassDefinition* cd,
- FT_UShort limit,
- FT_ULong class_offset,
- FT_ULong base_offset,
- FT_Stream stream );
-HB_Error _HB_OPEN_Load_Device( HB_Device* d,
- FT_Stream input );
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_Coverage( HB_Coverage* c,
+ FT_Stream input );
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_ClassDefinition( HB_ClassDefinition* cd,
+ FT_UShort limit,
+ FT_Stream input );
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_EmptyOrClassDefinition( HB_ClassDefinition* cd,
+ FT_UShort limit,
+ FT_ULong class_offset,
+ FT_ULong base_offset,
+ FT_Stream stream );
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_Device( HB_Device* d,
+ FT_Stream input );
-void _HB_OPEN_Free_ScriptList( HB_ScriptList* sl );
-void _HB_OPEN_Free_FeatureList( HB_FeatureList* fl );
-void _HB_OPEN_Free_LookupList( HB_LookupList* ll,
- HB_Type type );
+HB_INTERNAL void _HB_OPEN_Free_ScriptList( HB_ScriptList* sl );
+HB_INTERNAL void _HB_OPEN_Free_FeatureList( HB_FeatureList* fl );
+HB_INTERNAL void _HB_OPEN_Free_LookupList( HB_LookupList* ll,
+ HB_Type type );
-void _HB_OPEN_Free_Coverage( HB_Coverage* c );
-void _HB_OPEN_Free_ClassDefinition( HB_ClassDefinition* cd );
-void _HB_OPEN_Free_Device( HB_Device* d );
+HB_INTERNAL void _HB_OPEN_Free_Coverage( HB_Coverage* c );
+HB_INTERNAL void _HB_OPEN_Free_ClassDefinition( HB_ClassDefinition* cd );
+HB_INTERNAL void _HB_OPEN_Free_Device( HB_Device* d );
-HB_Error _HB_OPEN_Coverage_Index( HB_Coverage* c,
- FT_UShort glyphID,
- FT_UShort* index );
-HB_Error _HB_OPEN_Get_Class( HB_ClassDefinition* cd,
- FT_UShort glyphID,
- FT_UShort* class,
- FT_UShort* index );
-HB_Error _HB_OPEN_Get_Device( HB_Device* d,
- FT_UShort size,
- FT_Short* value );
+HB_INTERNAL HB_Error
+_HB_OPEN_Coverage_Index( HB_Coverage* c,
+ FT_UShort glyphID,
+ FT_UShort* index );
+HB_INTERNAL HB_Error
+_HB_OPEN_Get_Class( HB_ClassDefinition* cd,
+ FT_UShort glyphID,
+ FT_UShort* klass,
+ FT_UShort* index );
+HB_INTERNAL HB_Error
+_HB_OPEN_Get_Device( HB_Device* d,
+ FT_UShort size,
+ FT_Short* value );
FT_END_HEADER
diff --git a/pango/opentype/harfbuzz-open.c b/pango/opentype/harfbuzz-open.c
index defcd1b6..e7881f3a 100644
--- a/pango/opentype/harfbuzz-open.c
+++ b/pango/opentype/harfbuzz-open.c
@@ -184,8 +184,9 @@ static void Free_Script( HB_Script* s )
/* ScriptList */
-HB_Error _HB_OPEN_Load_ScriptList( HB_ScriptList* sl,
- FT_Stream stream )
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_ScriptList( HB_ScriptList* sl,
+ FT_Stream stream )
{
HB_Error error;
@@ -258,7 +259,8 @@ Fail:
}
-void _HB_OPEN_Free_ScriptList( HB_ScriptList* sl )
+HB_INTERNAL void
+_HB_OPEN_Free_ScriptList( HB_ScriptList* sl )
{
FT_UShort n, count;
@@ -334,8 +336,9 @@ static void Free_Feature( HB_Feature* f )
/* FeatureList */
-HB_Error _HB_OPEN_Load_FeatureList( HB_FeatureList* fl,
- FT_Stream stream )
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_FeatureList( HB_FeatureList* fl,
+ FT_Stream stream )
{
HB_Error error;
@@ -397,7 +400,8 @@ Fail2:
}
-void _HB_OPEN_Free_FeatureList( HB_FeatureList* fl )
+HB_INTERNAL void
+_HB_OPEN_Free_FeatureList( HB_FeatureList* fl )
{
FT_UShort n, count;
@@ -557,9 +561,10 @@ static void Free_Lookup( HB_Lookup* l,
/* LookupList */
-HB_Error _HB_OPEN_Load_LookupList( HB_LookupList* ll,
- FT_Stream stream,
- HB_Type type )
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_LookupList( HB_LookupList* ll,
+ FT_Stream stream,
+ HB_Type type )
{
HB_Error error;
@@ -617,8 +622,9 @@ Fail2:
}
-void _HB_OPEN_Free_LookupList( HB_LookupList* ll,
- HB_Type type )
+HB_INTERNAL void
+_HB_OPEN_Free_LookupList( HB_LookupList* ll,
+ HB_Type type )
{
FT_UShort n, count;
@@ -754,8 +760,9 @@ static void Free_Coverage2( HB_CoverageFormat2* cf2 )
}
-HB_Error _HB_OPEN_Load_Coverage( HB_Coverage* c,
- FT_Stream stream )
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_Coverage( HB_Coverage* c,
+ FT_Stream stream )
{
HB_Error error;
@@ -777,7 +784,8 @@ HB_Error _HB_OPEN_Load_Coverage( HB_Coverage* c,
}
-void _HB_OPEN_Free_Coverage( HB_Coverage* c )
+HB_INTERNAL void
+_HB_OPEN_Free_Coverage( HB_Coverage* c )
{
switch ( c->CoverageFormat )
{
@@ -888,9 +896,10 @@ static HB_Error Coverage_Index2( HB_CoverageFormat2* cf2,
}
-HB_Error _HB_OPEN_Coverage_Index( HB_Coverage* c,
- FT_UShort glyphID,
- FT_UShort* index )
+HB_INTERNAL HB_Error
+_HB_OPEN_Coverage_Index( HB_Coverage* c,
+ FT_UShort glyphID,
+ FT_UShort* index )
{
switch ( c->CoverageFormat )
{
@@ -1059,9 +1068,10 @@ static void Free_ClassDef2( HB_ClassDefFormat2* cdf2 )
/* ClassDefinition */
-HB_Error _HB_OPEN_Load_ClassDefinition( HB_ClassDefinition* cd,
- FT_UShort limit,
- FT_Stream stream )
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_ClassDefinition( HB_ClassDefinition* cd,
+ FT_UShort limit,
+ FT_Stream stream )
{
HB_Error error;
@@ -1095,7 +1105,8 @@ Fail:
}
-static HB_Error _HB_OPEN_Load_EmptyClassDefinition( HB_ClassDefinition* cd )
+static HB_Error
+_HB_OPEN_Load_EmptyClassDefinition( HB_ClassDefinition* cd )
{
HB_Error error;
@@ -1115,11 +1126,12 @@ Fail:
return error;
}
-HB_Error _HB_OPEN_Load_EmptyOrClassDefinition( HB_ClassDefinition* cd,
- FT_UShort limit,
- FT_ULong class_offset,
- FT_ULong base_offset,
- FT_Stream stream )
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_EmptyOrClassDefinition( HB_ClassDefinition* cd,
+ FT_UShort limit,
+ FT_ULong class_offset,
+ FT_ULong base_offset,
+ FT_Stream stream )
{
HB_Error error;
FT_ULong cur_offset;
@@ -1140,7 +1152,8 @@ HB_Error _HB_OPEN_Load_EmptyOrClassDefinition( HB_ClassDefinition* cd,
return error;
}
-void _HB_OPEN_Free_ClassDefinition( HB_ClassDefinition* cd )
+HB_INTERNAL void
+_HB_OPEN_Free_ClassDefinition( HB_ClassDefinition* cd )
{
if ( !cd->loaded )
return;
@@ -1158,7 +1171,7 @@ void _HB_OPEN_Free_ClassDefinition( HB_ClassDefinition* cd )
static HB_Error Get_Class1( HB_ClassDefFormat1* cdf1,
FT_UShort glyphID,
- FT_UShort* class,
+ FT_UShort* klass,
FT_UShort* index )
{
FT_UShort* cva = cdf1->ClassValueArray;
@@ -1170,12 +1183,12 @@ static HB_Error Get_Class1( HB_ClassDefFormat1* cdf1,
if ( glyphID >= cdf1->StartGlyph &&
glyphID < cdf1->StartGlyph + cdf1->GlyphCount )
{
- *class = cva[glyphID - cdf1->StartGlyph];
+ *klass = cva[glyphID - cdf1->StartGlyph];
return HB_Err_Ok;
}
else
{
- *class = 0;
+ *klass = 0;
return HB_Err_Not_Covered;
}
}
@@ -1186,7 +1199,7 @@ static HB_Error Get_Class1( HB_ClassDefFormat1* cdf1,
static HB_Error Get_Class2( HB_ClassDefFormat2* cdf2,
FT_UShort glyphID,
- FT_UShort* class,
+ FT_UShort* klass,
FT_UShort* index )
{
HB_Error error = HB_Err_Ok;
@@ -1199,7 +1212,7 @@ static HB_Error Get_Class2( HB_ClassDefFormat2* cdf2,
if ( cdf2->ClassRangeCount == 0 )
{
- *class = 0;
+ *klass = 0;
if ( index )
*index = 0;
@@ -1221,7 +1234,7 @@ static HB_Error Get_Class2( HB_ClassDefFormat2* cdf2,
if ( glyphID >= crr[middle].Start && glyphID <= crr[middle].End )
{
- *class = crr[middle].Class;
+ *klass = crr[middle].Class;
error = HB_Err_Ok;
break;
}
@@ -1229,7 +1242,7 @@ static HB_Error Get_Class2( HB_ClassDefFormat2* cdf2,
{
if ( middle == min )
{
- *class = 0;
+ *klass = 0;
error = HB_Err_Not_Covered;
break;
}
@@ -1239,7 +1252,7 @@ static HB_Error Get_Class2( HB_ClassDefFormat2* cdf2,
{
if ( middle == max )
{
- *class = 0;
+ *klass = 0;
error = HB_Err_Not_Covered;
break;
}
@@ -1254,15 +1267,16 @@ static HB_Error Get_Class2( HB_ClassDefFormat2* cdf2,
}
-HB_Error _HB_OPEN_Get_Class( HB_ClassDefinition* cd,
- FT_UShort glyphID,
- FT_UShort* class,
- FT_UShort* index )
+HB_INTERNAL HB_Error
+_HB_OPEN_Get_Class( HB_ClassDefinition* cd,
+ FT_UShort glyphID,
+ FT_UShort* klass,
+ FT_UShort* index )
{
switch ( cd->ClassFormat )
{
- case 1: return Get_Class1( &cd->cd.cd1, glyphID, class, index );
- case 2: return Get_Class2( &cd->cd.cd2, glyphID, class, index );
+ case 1: return Get_Class1( &cd->cd.cd1, glyphID, klass, index );
+ case 2: return Get_Class2( &cd->cd.cd2, glyphID, klass, index );
default: return _hb_err(HB_Err_Invalid_SubTable_Format);
}
@@ -1276,8 +1290,9 @@ HB_Error _HB_OPEN_Get_Class( HB_ClassDefinition* cd,
***************************/
-HB_Error _HB_OPEN_Load_Device( HB_Device* d,
- FT_Stream stream )
+HB_INTERNAL HB_Error
+_HB_OPEN_Load_Device( HB_Device* d,
+ FT_Stream stream )
{
HB_Error error;
@@ -1331,7 +1346,8 @@ HB_Error _HB_OPEN_Load_Device( HB_Device* d,
}
-void _HB_OPEN_Free_Device( HB_Device* d )
+HB_INTERNAL void
+_HB_OPEN_Free_Device( HB_Device* d )
{
FREE( d->DeltaValue );
}
@@ -1372,9 +1388,10 @@ void _HB_OPEN_Free_Device( HB_Device* d )
mask = 0x00FF */
-HB_Error _HB_OPEN_Get_Device( HB_Device* d,
- FT_UShort size,
- FT_Short* value )
+HB_INTERNAL HB_Error
+_HB_OPEN_Get_Device( HB_Device* d,
+ FT_UShort size,
+ FT_Short* value )
{
FT_UShort byte, bits, mask, f, s;
diff --git a/pango/opentype/harfbuzz.c b/pango/opentype/harfbuzz.c
index 114069f5..78f06a95 100644
--- a/pango/opentype/harfbuzz.c
+++ b/pango/opentype/harfbuzz.c
@@ -10,6 +10,7 @@
* See the file name COPYING for licensing information.
*
******************************************************************/
+#define HB_INTERNAL static
#include "ftglue.c"
#include "harfbuzz-open.c"
#include "harfbuzz-buffer.c"