Hide backend-specific shape functions Also remove shaper_options argument to hb_shape_full(). That was unused and for "future". Let it go. More shaper API coming in preparation for plan/planned API.
diff --git a/src/Makefile.am b/src/Makefile.am index 27c69a7..9311ab7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am
@@ -77,7 +77,6 @@ HBHEADERS += \ hb-ot.h \ hb-ot-layout.h \ - hb-ot-shape.h \ hb-ot-tag.h \ $(NULL) endif @@ -118,17 +117,17 @@ HBHEADERS += hb-ft.h endif -if HAVE_GRAPHITE -HBCFLAGS += $(GRAPHITE_CFLAGS) -HBLIBS += $(GRAPHITE_LIBS) -HBSOURCES += hb-graphite2.cc +if HAVE_GRAPHITE2 +HBCFLAGS += $(GRAPHITE2_CFLAGS) +HBLIBS += $(GRAPHITE2_LIBS) +HBSOURCES += hb-graphite2.cc hb-graphite2-private.hh HBHEADERS += hb-graphite2.h endif if HAVE_UNISCRIBE HBCFLAGS += $(UNISCRIBE_CFLAGS) HBLIBS += $(UNISCRIBE_LIBS) -HBSOURCES += hb-uniscribe.cc +HBSOURCES += hb-uniscribe.cc hb-uniscribe-private.hh HBHEADERS += hb-uniscribe.h endif
diff --git a/src/hb-fallback-shape-private.hh b/src/hb-fallback-shape-private.hh index d0beb16..159456d 100644 --- a/src/hb-fallback-shape-private.hh +++ b/src/hb-fallback-shape-private.hh
@@ -36,11 +36,10 @@ HB_INTERNAL hb_bool_t -hb_fallback_shape (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options); +_hb_fallback_shape (hb_font_t *font, + hb_buffer_t *buffer, + const hb_feature_t *features, + unsigned int num_features); HB_END_DECLS
diff --git a/src/hb-fallback-shape.cc b/src/hb-fallback-shape.cc index 2fd527f..6822d2e 100644 --- a/src/hb-fallback-shape.cc +++ b/src/hb-fallback-shape.cc
@@ -29,11 +29,10 @@ #include "hb-buffer-private.hh" hb_bool_t -hb_fallback_shape (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options) +_hb_fallback_shape (hb_font_t *font, + hb_buffer_t *buffer, + const hb_feature_t *features, + unsigned int num_features) { buffer->guess_properties ();
diff --git a/src/hb-ot-shape.h b/src/hb-graphite2-private.hh similarity index 69% copy from src/hb-ot-shape.h copy to src/hb-graphite2-private.hh index cc18be6..644ea75 100644 --- a/src/hb-ot-shape.h +++ b/src/hb-graphite2-private.hh
@@ -1,5 +1,5 @@ /* - * Copyright © 2010 Red Hat, Inc. + * Copyright © 2012 Google, Inc. * * This is part of HarfBuzz, a text shaping library. * @@ -21,28 +21,22 @@ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. * - * Red Hat Author(s): Behdad Esfahbod + * Google Author(s): Behdad Esfahbod */ -#ifndef HB_OT_H_IN -#error "Include <hb-ot.h> instead." -#endif +#ifndef HB_GRAPHITE2_PRIVATE_HH +#define HB_GRAPHITE2_PRIVATE_HH -#ifndef HB_OT_SHAPE_H -#define HB_OT_SHAPE_H +#include "hb-private.hh" -HB_BEGIN_DECLS - -#include "hb.h" - -hb_bool_t -hb_ot_shape (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options); +#include "hb-graphite2.h" -HB_END_DECLS +HB_INTERNAL hb_bool_t +_hb_graphite2_shape (hb_font_t *font, + hb_buffer_t *buffer, + const hb_feature_t *features, + unsigned int num_features); -#endif /* HB_OT_SHAPE_H */ + +#endif /* HB_GRAPHITE2_PRIVATE_HH */
diff --git a/src/hb-graphite2.cc b/src/hb-graphite2.cc index 0675759..64f22f7 100644 --- a/src/hb-graphite2.cc +++ b/src/hb-graphite2.cc
@@ -212,11 +212,10 @@ hb_bool_t -hb_graphite_shape (hb_font_t *font, +_hb_graphite_shape (hb_font_t *font, hb_buffer_t *buffer, const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options) + unsigned int num_features) { buffer->guess_properties ();
diff --git a/src/hb-graphite2.h b/src/hb-graphite2.h index 3eba9e0..2d16cc8 100644 --- a/src/hb-graphite2.h +++ b/src/hb-graphite2.h
@@ -33,13 +33,6 @@ #define HB_GRAPHITE_TAG_Silf HB_TAG('S','i','l','f') -hb_bool_t -hb_graphite_shape (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options); - /* TODO add gr_font/face etc getters and other glue API */ HB_END_DECLS
diff --git a/src/hb-ot-shape-private.hh b/src/hb-ot-shape-private.hh index 41afd68..2ceb6f2 100644 --- a/src/hb-ot-shape-private.hh +++ b/src/hb-ot-shape-private.hh
@@ -29,8 +29,6 @@ #include "hb-private.hh" -#include "hb-ot-shape.h" - #include "hb-ot-map-private.hh" #include "hb-ot-shape-complex-private.hh" #include "hb-ot-shape-normalize-private.hh" @@ -96,6 +94,12 @@ HB_INTERNAL void _hb_set_unicode_props (hb_buffer_t *buffer); +HB_INTERNAL hb_bool_t +_hb_ot_shape (hb_font_t *font, + hb_buffer_t *buffer, + const hb_feature_t *features, + unsigned int num_features); + #include "hb-ot-shape-complex-private.hh" #endif /* HB_OT_SHAPE_PRIVATE_HH */
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc index 92481ed..4b20cb3 100644 --- a/src/hb-ot-shape.cc +++ b/src/hb-ot-shape.cc
@@ -419,11 +419,10 @@ } hb_bool_t -hb_ot_shape (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options) +_hb_ot_shape (hb_font_t *font, + hb_buffer_t *buffer, + const hb_feature_t *features, + unsigned int num_features) { hb_ot_shape_plan_t plan; @@ -434,5 +433,3 @@ return TRUE; } - -
diff --git a/src/hb-ot.h b/src/hb-ot.h index a825a86..a4cb371 100644 --- a/src/hb-ot.h +++ b/src/hb-ot.h
@@ -31,7 +31,6 @@ #include "hb.h" #include "hb-ot-layout.h" -#include "hb-ot-shape.h" #include "hb-ot-tag.h" HB_BEGIN_DECLS
diff --git a/src/hb-shape.cc b/src/hb-shape.cc index 9357f81..3d5f56c 100644 --- a/src/hb-shape.cc +++ b/src/hb-shape.cc
@@ -31,30 +31,29 @@ #include "hb-buffer-private.hh" #ifdef HAVE_GRAPHITE -#include "hb-graphite2.h" +#include "hb-graphite2-private.hh" #endif #ifdef HAVE_UNISCRIBE -# include "hb-uniscribe.h" +# include "hb-uniscribe-private.hh" #endif #ifdef HAVE_OT -# include "hb-ot-shape.h" +# include "hb-ot-shape-private.hh" #endif #include "hb-fallback-shape-private.hh" typedef hb_bool_t (*hb_shape_func_t) (hb_font_t *font, hb_buffer_t *buffer, const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options); + unsigned int num_features); -#define HB_SHAPER_IMPLEMENT(name) {#name, hb_##name##_shape} +#define HB_SHAPER_IMPLEMENT(name) {#name, _hb_##name##_shape} static struct hb_shaper_pair_t { char name[16]; hb_shape_func_t func; } shapers[] = { /* v--- Add new shapers in the right place here */ #ifdef HAVE_GRAPHITE - HB_SHAPER_IMPLEMENT (graphite), + HB_SHAPER_IMPLEMENT (graphite2), #endif #ifdef HAVE_UNISCRIBE HB_SHAPER_IMPLEMENT (uniscribe), @@ -120,22 +119,17 @@ hb_buffer_t *buffer, const hb_feature_t *features, unsigned int num_features, - const char * const *shaper_options, const char * const *shaper_list) { if (likely (!shaper_list)) { for (unsigned int i = 0; i < ARRAY_LENGTH (shapers); i++) - if (likely (shapers[i].func (font, buffer, - features, num_features, - shaper_options))) + if (likely (shapers[i].func (font, buffer, features, num_features))) return TRUE; } else { while (*shaper_list) { for (unsigned int i = 0; i < ARRAY_LENGTH (shapers); i++) if (0 == strcmp (*shaper_list, shapers[i].name)) { - if (likely (shapers[i].func (font, buffer, - features, num_features, - shaper_options))) + if (likely (shapers[i].func (font, buffer, features, num_features))) return TRUE; break; } @@ -151,5 +145,5 @@ const hb_feature_t *features, unsigned int num_features) { - hb_shape_full (font, buffer, features, num_features, NULL, NULL); + hb_shape_full (font, buffer, features, num_features, NULL); }
diff --git a/src/hb-shape.h b/src/hb-shape.h index 99c24ab..1a0d6cf 100644 --- a/src/hb-shape.h +++ b/src/hb-shape.h
@@ -57,7 +57,6 @@ hb_buffer_t *buffer, const hb_feature_t *features, unsigned int num_features, - const char * const *shaper_options, const char * const *shaper_list); const char **
diff --git a/src/hb-ot-shape.h b/src/hb-uniscribe-private.hh similarity index 69% rename from src/hb-ot-shape.h rename to src/hb-uniscribe-private.hh index cc18be6..239ab0c 100644 --- a/src/hb-ot-shape.h +++ b/src/hb-uniscribe-private.hh
@@ -1,5 +1,5 @@ /* - * Copyright © 2010 Red Hat, Inc. + * Copyright © 2012 Google, Inc. * * This is part of HarfBuzz, a text shaping library. * @@ -21,28 +21,22 @@ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. * - * Red Hat Author(s): Behdad Esfahbod + * Google Author(s): Behdad Esfahbod */ -#ifndef HB_OT_H_IN -#error "Include <hb-ot.h> instead." -#endif +#ifndef HB_UNISCRIBE_PRIVATE_HH +#define HB_UNISCRIBE_PRIVATE_HH -#ifndef HB_OT_SHAPE_H -#define HB_OT_SHAPE_H +#include "hb-private.hh" -HB_BEGIN_DECLS - -#include "hb.h" - -hb_bool_t -hb_ot_shape (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options); +#include "hb-uniscribe.h" -HB_END_DECLS +HB_INTERNAL hb_bool_t +_hb_uniscribe_shape (hb_font_t *font, + hb_buffer_t *buffer, + const hb_feature_t *features, + unsigned int num_features); -#endif /* HB_OT_SHAPE_H */ + +#endif /* HB_UNISCRIBE_PRIVATE_HH */
diff --git a/src/hb-uniscribe.cc b/src/hb-uniscribe.cc index ce86074..41ce5e6 100644 --- a/src/hb-uniscribe.cc +++ b/src/hb-uniscribe.cc
@@ -223,11 +223,10 @@ hb_bool_t -hb_uniscribe_shape (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options) +_hb_uniscribe_shape (hb_font_t *font, + hb_buffer_t *buffer, + const hb_feature_t *features, + unsigned int num_features) { buffer->guess_properties ();
diff --git a/src/hb-uniscribe.h b/src/hb-uniscribe.h index 7bf8090..216610e 100644 --- a/src/hb-uniscribe.h +++ b/src/hb-uniscribe.h
@@ -35,13 +35,6 @@ HB_BEGIN_DECLS -hb_bool_t -hb_uniscribe_shape (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - const char * const *shaper_options); - LOGFONTW * hb_uniscribe_font_get_logfontw (hb_font_t *font);