diff options
-rw-r--r-- | configure.ac | 13 | ||||
-rw-r--r-- | libass/ass_render.c | 4 | ||||
-rw-r--r-- | libass/ass_render.h | 6 | ||||
-rw-r--r-- | libass/ass_render_api.c | 2 | ||||
-rw-r--r-- | libass/ass_shaper.c | 37 |
5 files changed, 3 insertions, 59 deletions
diff --git a/configure.ac b/configure.ac index 6408c67..f7215c1 100644 --- a/configure.ac +++ b/configure.ac @@ -47,8 +47,6 @@ AC_ARG_ENABLE([coretext], AS_HELP_STRING([--disable-coretext], [disable CoreText support (OSX only) @<:@default=check@:>@])) AC_ARG_ENABLE([require-system-font-provider], AS_HELP_STRING([--disable-require-system-font-provider], [allow compilation even if no system font provider was found @<:@default=enabled:>@])) -AC_ARG_ENABLE([harfbuzz], AS_HELP_STRING([--disable-harfbuzz], - [disable HarfBuzz support @<:@default=check@:>@])) AC_ARG_ENABLE([asm], AS_HELP_STRING([--disable-asm], [disable compiling with ASM @<:@default=check@:>@])) AC_ARG_ENABLE([large-tiles], AS_HELP_STRING([--enable-large-tiles], @@ -210,14 +208,11 @@ AC_LINK_IFELSE([ fi AM_CONDITIONAL([DIRECTWRITE], [test x$directwrite = xtrue]) -if test x$enable_harfbuzz != xno; then PKG_CHECK_MODULES([HARFBUZZ], harfbuzz >= 1.2.3, [ CFLAGS="$CFLAGS $HARFBUZZ_CFLAGS" LIBS="$LIBS $HARFBUZZ_LIBS" - AC_DEFINE(CONFIG_HARFBUZZ, 1, [found harfbuzz-ng via pkg-config]) - harfbuzz=true - ], [harfbuzz=false]) -fi + AC_DEFINE(CONFIG_HARFBUZZ, 1, [found harfbuzz via pkg-config]) + ]) libpng=false if test x$enable_test = xyes || test x$enable_compare = xyes; then @@ -242,12 +237,10 @@ if test "$use_libiconv" = true; then fi pkg_requires="freetype2 >= 9.10.3" pkg_requires="fribidi >= 0.19.0, ${pkg_requires}" +pkg_requires="harfbuzz >= 1.2.3, ${pkg_requires}" if test x$fontconfig = xtrue; then pkg_requires="fontconfig >= 2.10.92, ${pkg_requires}" fi -if test x$harfbuzz = xtrue; then - pkg_requires="harfbuzz >= 1.2.3, ${pkg_requires}" -fi if test x$enable_require_system_font_provider != xno && test x$fontconfig != xtrue && diff --git a/libass/ass_render.c b/libass/ass_render.c index df4b5de..6a7f26e 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -113,11 +113,7 @@ ASS_Renderer *ass_renderer_init(ASS_Library *library) goto fail; ass_shaper_info(library); -#ifdef CONFIG_HARFBUZZ priv->settings.shaper = ASS_SHAPING_COMPLEX; -#else - priv->settings.shaper = ASS_SHAPING_SIMPLE; -#endif ass_msg(library, MSGL_V, "Initialized"); diff --git a/libass/ass_render.h b/libass/ass_render.h index 2207850..359152a 100644 --- a/libass/ass_render.h +++ b/libass/ass_render.h @@ -26,9 +26,7 @@ #include FT_FREETYPE_H #include FT_GLYPH_H #include FT_SYNTHESIS_H -#ifdef CONFIG_HARFBUZZ #include <hb.h> -#endif #include "ass.h" #include "ass_font.h" @@ -128,11 +126,7 @@ typedef struct glyph_info { ASS_Font *font; int face_index; int glyph_index; -#ifdef CONFIG_HARFBUZZ hb_script_t script; -#else - int script; -#endif double font_size; char *drawing_text; int drawing_scale; diff --git a/libass/ass_render_api.c b/libass/ass_render_api.c index 29465a9..319758d 100644 --- a/libass/ass_render_api.c +++ b/libass/ass_render_api.c @@ -70,13 +70,11 @@ void ass_set_storage_size(ASS_Renderer *priv, int w, int h) void ass_set_shaper(ASS_Renderer *priv, ASS_ShapingLevel level) { -#ifdef CONFIG_HARFBUZZ // select the complex shaper for illegal values if (level == ASS_SHAPING_SIMPLE || level == ASS_SHAPING_COMPLEX) priv->settings.shaper = level; else priv->settings.shaper = ASS_SHAPING_COMPLEX; -#endif } void ass_set_margins(ASS_Renderer *priv, int t, int b, int l, int r) diff --git a/libass/ass_shaper.c b/libass/ass_shaper.c index 19cafaf..4a7c11e 100644 --- a/libass/ass_shaper.c +++ b/libass/ass_shaper.c @@ -27,7 +27,6 @@ #include <limits.h> #include <stdbool.h> -#ifdef CONFIG_HARFBUZZ #include <hb-ft.h> enum { VERT = 0, @@ -37,7 +36,6 @@ enum { CLIG }; #define NUM_FEATURES 5 -#endif struct ass_shaper { ASS_ShapingLevel shaping_level; @@ -50,7 +48,6 @@ struct ass_shaper { FriBidiStrIndex *cmap; FriBidiParType base_direction; -#ifdef CONFIG_HARFBUZZ // OpenType features int n_features; hb_feature_t *features; @@ -58,7 +55,6 @@ struct ass_shaper { // Glyph metrics cache, to speed up shaping Cache *metrics_cache; -#endif #ifdef USE_FRIBIDI_EX_API FriBidiBracketType *btypes; @@ -66,7 +62,6 @@ struct ass_shaper { #endif }; -#ifdef CONFIG_HARFBUZZ struct ass_shaper_metrics_data { Cache *metrics_cache; GlyphMetricsHashKey hash_key; @@ -78,7 +73,6 @@ struct ass_shaper_font_data { hb_font_funcs_t *font_funcs[ASS_FONT_MAX_FACES]; struct ass_shaper_metrics_data *metrics_data[ASS_FONT_MAX_FACES]; }; -#endif /** * \brief Print version information @@ -87,9 +81,7 @@ void ass_shaper_info(ASS_Library *lib) { ass_msg(lib, MSGL_INFO, "Shaper: FriBidi " FRIBIDI_VERSION " (SIMPLE)" -#ifdef CONFIG_HARFBUZZ " HarfBuzz-ng %s (COMPLEX)", hb_version_string() -#endif ); } @@ -118,10 +110,8 @@ static bool check_allocations(ASS_Shaper *shaper, size_t new_size) */ void ass_shaper_free(ASS_Shaper *shaper) { -#ifdef CONFIG_HARFBUZZ ass_cache_done(shaper->metrics_cache); free(shaper->features); -#endif free(shaper->event_text); free(shaper->ctypes); #ifdef USE_FRIBIDI_EX_API @@ -134,14 +124,11 @@ void ass_shaper_free(ASS_Shaper *shaper) void ass_shaper_empty_cache(ASS_Shaper *shaper) { -#ifdef CONFIG_HARFBUZZ ass_cache_empty(shaper->metrics_cache); -#endif } void ass_shaper_font_data_free(ASS_ShaperFontData *priv) { -#ifdef CONFIG_HARFBUZZ int i; for (i = 0; i < ASS_FONT_MAX_FACES; i++) if (priv->fonts[i]) { @@ -150,10 +137,8 @@ void ass_shaper_font_data_free(ASS_ShaperFontData *priv) hb_font_funcs_destroy(priv->font_funcs[i]); } free(priv); -#endif } -#ifdef CONFIG_HARFBUZZ /** * \brief set up the HarfBuzz OpenType feature list with some * standard features. @@ -722,15 +707,6 @@ void ass_shaper_determine_script(ASS_Shaper *shaper, GlyphInfo *glyphs, } } -#else - -size_t ass_glyph_metrics_construct(void *key, void *value, void *priv) -{ - return 0; // that function should be never used -} - -#endif - /** * \brief Shape event text with FriBidi. Does mirroring and simple * Arabic shaping. @@ -765,9 +741,7 @@ static void shape_fribidi(ASS_Shaper *shaper, GlyphInfo *glyphs, size_t len) */ void ass_shaper_set_kerning(ASS_Shaper *shaper, bool kern) { -#ifdef CONFIG_HARFBUZZ shaper->features[KERN].value = kern; -#endif } /** @@ -779,9 +753,7 @@ void ass_shaper_find_runs(ASS_Shaper *shaper, ASS_Renderer *render_priv, int i; int shape_run = 0; -#ifdef CONFIG_HARFBUZZ ass_shaper_determine_script(shaper, glyphs, len); -#endif // find appropriate fonts for the shape runs for (i = 0; i < len; i++) { @@ -820,7 +792,6 @@ void ass_shaper_set_base_direction(ASS_Shaper *shaper, FriBidiParType dir) */ void ass_shaper_set_language(ASS_Shaper *shaper, const char *code) { -#ifdef CONFIG_HARFBUZZ hb_language_t lang; if (code) @@ -829,7 +800,6 @@ void ass_shaper_set_language(ASS_Shaper *shaper, const char *code) lang = HB_LANGUAGE_INVALID; shaper->language = lang; -#endif } /** @@ -918,7 +888,6 @@ int ass_shaper_shape(ASS_Shaper *shaper, TextInfo *text_info) } } -#ifdef CONFIG_HARFBUZZ switch (shaper->shaping_level) { case ASS_SHAPING_SIMPLE: shape_fribidi(shaper, glyphs, text_info->length); @@ -928,10 +897,6 @@ int ass_shaper_shape(ASS_Shaper *shaper, TextInfo *text_info) shape_harfbuzz(shaper, glyphs, text_info->length); break; } -#else - shape_fribidi(shaper, glyphs, text_info->length); - ass_shaper_skip_characters(text_info); -#endif return 0; } @@ -947,13 +912,11 @@ ASS_Shaper *ass_shaper_new(void) shaper->base_direction = FRIBIDI_PAR_ON; -#ifdef CONFIG_HARFBUZZ if (!init_features(shaper)) goto error; shaper->metrics_cache = ass_glyph_metrics_cache_create(); if (!shaper->metrics_cache) goto error; -#endif return shaper; |