diff --git a/src/harfbuzz-gobject.def b/src/harfbuzz-gobject.def new file mode 100644 index 000000000..ca952cf43 --- /dev/null +++ b/src/harfbuzz-gobject.def @@ -0,0 +1,33 @@ +EXPORTS +hb_gobject_blob_get_type +hb_gobject_buffer_cluster_level_get_type +hb_gobject_buffer_content_type_get_type +hb_gobject_buffer_diff_flags_get_type +hb_gobject_buffer_flags_get_type +hb_gobject_buffer_get_type +hb_gobject_buffer_serialize_flags_get_type +hb_gobject_buffer_serialize_format_get_type +hb_gobject_direction_get_type +hb_gobject_face_get_type +hb_gobject_feature_get_type +hb_gobject_font_funcs_get_type +hb_gobject_font_get_type +hb_gobject_glyph_flags_get_type +hb_gobject_glyph_info_get_type +hb_gobject_glyph_position_get_type +hb_gobject_memory_mode_get_type +hb_gobject_ot_layout_glyph_class_get_type +hb_gobject_ot_math_constant_get_type +hb_gobject_ot_math_glyph_part_flags_get_type +hb_gobject_ot_math_glyph_part_get_type +hb_gobject_ot_math_glyph_variant_get_type +hb_gobject_ot_math_kern_get_type +hb_gobject_script_get_type +hb_gobject_segment_properties_get_type +hb_gobject_set_get_type +hb_gobject_shape_plan_get_type +hb_gobject_unicode_combining_class_get_type +hb_gobject_unicode_funcs_get_type +hb_gobject_unicode_general_category_get_type +hb_gobject_user_data_key_get_type +LIBRARY libharfbuzz-gobject-0.dll \ No newline at end of file diff --git a/src/harfbuzz-icu.def b/src/harfbuzz-icu.def new file mode 100644 index 000000000..aa86e93ce --- /dev/null +++ b/src/harfbuzz-icu.def @@ -0,0 +1,5 @@ +EXPORTS +hb_icu_get_unicode_funcs +hb_icu_script_from_script +hb_icu_script_to_script +LIBRARY libharfbuzz-icu-0.dll \ No newline at end of file diff --git a/src/harfbuzz-subset.def b/src/harfbuzz-subset.def new file mode 100644 index 000000000..d422f7255 --- /dev/null +++ b/src/harfbuzz-subset.def @@ -0,0 +1,12 @@ +EXPORTS +hb_subset +hb_subset_get_all_codepoints +hb_subset_input_create_or_fail +hb_subset_input_destroy +hb_subset_input_drop_hints +hb_subset_input_glyph_set +hb_subset_input_reference +hb_subset_input_unicode_set +hb_subset_profile_create +hb_subset_profile_destroy +LIBRARY libharfbuzz-subset-0.dll \ No newline at end of file diff --git a/src/harfbuzz.def b/src/harfbuzz.def new file mode 100644 index 000000000..87ea315bb --- /dev/null +++ b/src/harfbuzz.def @@ -0,0 +1,310 @@ +EXPORTS +hb_blob_copy_writable_or_fail +hb_blob_create +hb_blob_create_from_file +hb_blob_create_sub_blob +hb_blob_destroy +hb_blob_get_data +hb_blob_get_data_writable +hb_blob_get_empty +hb_blob_get_length +hb_blob_get_user_data +hb_blob_is_immutable +hb_blob_make_immutable +hb_blob_reference +hb_blob_set_user_data +hb_buffer_add +hb_buffer_add_codepoints +hb_buffer_add_latin1 +hb_buffer_add_utf16 +hb_buffer_add_utf32 +hb_buffer_add_utf8 +hb_buffer_allocation_successful +hb_buffer_append +hb_buffer_clear_contents +hb_buffer_create +hb_buffer_deserialize_glyphs +hb_buffer_destroy +hb_buffer_diff +hb_buffer_get_cluster_level +hb_buffer_get_content_type +hb_buffer_get_direction +hb_buffer_get_empty +hb_buffer_get_flags +hb_buffer_get_glyph_infos +hb_buffer_get_glyph_positions +hb_buffer_get_language +hb_buffer_get_length +hb_buffer_get_replacement_codepoint +hb_buffer_get_script +hb_buffer_get_segment_properties +hb_buffer_get_unicode_funcs +hb_buffer_get_user_data +hb_buffer_guess_segment_properties +hb_buffer_normalize_glyphs +hb_buffer_pre_allocate +hb_buffer_reference +hb_buffer_reset +hb_buffer_reverse +hb_buffer_reverse_clusters +hb_buffer_reverse_range +hb_buffer_serialize_format_from_string +hb_buffer_serialize_format_to_string +hb_buffer_serialize_glyphs +hb_buffer_serialize_list_formats +hb_buffer_set_cluster_level +hb_buffer_set_content_type +hb_buffer_set_direction +hb_buffer_set_flags +hb_buffer_set_language +hb_buffer_set_length +hb_buffer_set_message_func +hb_buffer_set_replacement_codepoint +hb_buffer_set_script +hb_buffer_set_segment_properties +hb_buffer_set_unicode_funcs +hb_buffer_set_user_data +hb_direction_from_string +hb_direction_to_string +hb_face_create +hb_face_create_for_tables +hb_face_destroy +hb_face_get_empty +hb_face_get_glyph_count +hb_face_get_index +hb_face_get_table_tags +hb_face_get_upem +hb_face_get_user_data +hb_face_is_immutable +hb_face_make_immutable +hb_face_reference +hb_face_reference_blob +hb_face_reference_table +hb_face_set_glyph_count +hb_face_set_index +hb_face_set_upem +hb_face_set_user_data +hb_feature_from_string +hb_feature_to_string +hb_font_add_glyph_origin_for_direction +hb_font_create +hb_font_create_sub_font +hb_font_destroy +hb_font_funcs_create +hb_font_funcs_destroy +hb_font_funcs_get_empty +hb_font_funcs_get_user_data +hb_font_funcs_is_immutable +hb_font_funcs_make_immutable +hb_font_funcs_reference +hb_font_funcs_set_font_h_extents_func +hb_font_funcs_set_font_v_extents_func +hb_font_funcs_set_glyph_contour_point_func +hb_font_funcs_set_glyph_extents_func +hb_font_funcs_set_glyph_from_name_func +hb_font_funcs_set_glyph_func +hb_font_funcs_set_glyph_h_advance_func +hb_font_funcs_set_glyph_h_kerning_func +hb_font_funcs_set_glyph_h_origin_func +hb_font_funcs_set_glyph_name_func +hb_font_funcs_set_glyph_v_advance_func +hb_font_funcs_set_glyph_v_kerning_func +hb_font_funcs_set_glyph_v_origin_func +hb_font_funcs_set_nominal_glyph_func +hb_font_funcs_set_user_data +hb_font_funcs_set_variation_glyph_func +hb_font_get_empty +hb_font_get_extents_for_direction +hb_font_get_face +hb_font_get_glyph +hb_font_get_glyph_advance_for_direction +hb_font_get_glyph_contour_point +hb_font_get_glyph_contour_point_for_origin +hb_font_get_glyph_extents +hb_font_get_glyph_extents_for_origin +hb_font_get_glyph_from_name +hb_font_get_glyph_h_advance +hb_font_get_glyph_h_kerning +hb_font_get_glyph_h_origin +hb_font_get_glyph_kerning_for_direction +hb_font_get_glyph_name +hb_font_get_glyph_origin_for_direction +hb_font_get_glyph_v_advance +hb_font_get_glyph_v_kerning +hb_font_get_glyph_v_origin +hb_font_get_h_extents +hb_font_get_nominal_glyph +hb_font_get_parent +hb_font_get_ppem +hb_font_get_ptem +hb_font_get_scale +hb_font_get_user_data +hb_font_get_v_extents +hb_font_get_var_coords_normalized +hb_font_get_variation_glyph +hb_font_glyph_from_string +hb_font_glyph_to_string +hb_font_is_immutable +hb_font_make_immutable +hb_font_reference +hb_font_set_face +hb_font_set_funcs +hb_font_set_funcs_data +hb_font_set_parent +hb_font_set_ppem +hb_font_set_ptem +hb_font_set_scale +hb_font_set_user_data +hb_font_set_var_coords_design +hb_font_set_var_coords_normalized +hb_font_set_variations +hb_font_subtract_glyph_origin_for_direction +hb_ft_face_create +hb_ft_face_create_cached +hb_ft_face_create_referenced +hb_ft_font_changed +hb_ft_font_create +hb_ft_font_create_referenced +hb_ft_font_get_face +hb_ft_font_get_load_flags +hb_ft_font_set_funcs +hb_ft_font_set_load_flags +hb_glib_blob_create +hb_glib_get_unicode_funcs +hb_glib_script_from_script +hb_glib_script_to_script +hb_glyph_info_get_glyph_flags +hb_language_from_string +hb_language_get_default +hb_language_to_string +hb_ot_font_set_funcs +hb_ot_layout_collect_lookups +hb_ot_layout_feature_get_lookups +hb_ot_layout_feature_with_variations_get_lookups +hb_ot_layout_get_attach_points +hb_ot_layout_get_glyph_class +hb_ot_layout_get_glyphs_in_class +hb_ot_layout_get_ligature_carets +hb_ot_layout_get_size_params +hb_ot_layout_has_glyph_classes +hb_ot_layout_has_positioning +hb_ot_layout_has_substitution +hb_ot_layout_language_find_feature +hb_ot_layout_language_get_feature_indexes +hb_ot_layout_language_get_feature_tags +hb_ot_layout_language_get_required_feature +hb_ot_layout_language_get_required_feature_index +hb_ot_layout_lookup_collect_glyphs +hb_ot_layout_lookup_substitute_closure +hb_ot_layout_lookup_would_substitute +hb_ot_layout_script_find_language +hb_ot_layout_script_get_language_tags +hb_ot_layout_table_choose_script +hb_ot_layout_table_find_feature_variations +hb_ot_layout_table_find_script +hb_ot_layout_table_get_feature_tags +hb_ot_layout_table_get_lookup_count +hb_ot_layout_table_get_script_tags +hb_ot_math_get_constant +hb_ot_math_get_glyph_assembly +hb_ot_math_get_glyph_italics_correction +hb_ot_math_get_glyph_kerning +hb_ot_math_get_glyph_top_accent_attachment +hb_ot_math_get_glyph_variants +hb_ot_math_get_min_connector_overlap +hb_ot_math_has_data +hb_ot_math_is_glyph_extended_shape +hb_ot_shape_glyphs_closure +hb_ot_shape_plan_collect_lookups +hb_ot_tag_from_language +hb_ot_tag_to_language +hb_ot_tag_to_script +hb_ot_tags_from_script +hb_ot_var_find_axis +hb_ot_var_get_axes +hb_ot_var_get_axis_count +hb_ot_var_has_data +hb_ot_var_normalize_coords +hb_ot_var_normalize_variations +hb_script_from_iso15924_tag +hb_script_from_string +hb_script_get_horizontal_direction +hb_script_to_iso15924_tag +hb_segment_properties_equal +hb_segment_properties_hash +hb_set_add +hb_set_add_range +hb_set_allocation_successful +hb_set_clear +hb_set_create +hb_set_del +hb_set_del_range +hb_set_destroy +hb_set_get_empty +hb_set_get_max +hb_set_get_min +hb_set_get_population +hb_set_get_user_data +hb_set_has +hb_set_intersect +hb_set_invert +hb_set_is_empty +hb_set_is_equal +hb_set_next +hb_set_next_range +hb_set_previous +hb_set_previous_range +hb_set_reference +hb_set_set +hb_set_set_user_data +hb_set_subtract +hb_set_symmetric_difference +hb_set_union +hb_shape +hb_shape_full +hb_shape_list_shapers +hb_shape_plan_create +hb_shape_plan_create2 +hb_shape_plan_create_cached +hb_shape_plan_create_cached2 +hb_shape_plan_destroy +hb_shape_plan_execute +hb_shape_plan_get_empty +hb_shape_plan_get_shaper +hb_shape_plan_get_user_data +hb_shape_plan_reference +hb_shape_plan_set_user_data +hb_tag_from_string +hb_tag_to_string +hb_unicode_combining_class +hb_unicode_compose +hb_unicode_decompose +hb_unicode_decompose_compatibility +hb_unicode_eastasian_width +hb_unicode_funcs_create +hb_unicode_funcs_destroy +hb_unicode_funcs_get_default +hb_unicode_funcs_get_empty +hb_unicode_funcs_get_parent +hb_unicode_funcs_get_user_data +hb_unicode_funcs_is_immutable +hb_unicode_funcs_make_immutable +hb_unicode_funcs_reference +hb_unicode_funcs_set_combining_class_func +hb_unicode_funcs_set_compose_func +hb_unicode_funcs_set_decompose_compatibility_func +hb_unicode_funcs_set_decompose_func +hb_unicode_funcs_set_eastasian_width_func +hb_unicode_funcs_set_general_category_func +hb_unicode_funcs_set_mirroring_func +hb_unicode_funcs_set_script_func +hb_unicode_funcs_set_user_data +hb_unicode_general_category +hb_unicode_mirroring +hb_unicode_script +hb_variation_from_string +hb_variation_to_string +hb_version +hb_version_atleast +hb_version_string +LIBRARY libharfbuzz-0.dll diff --git a/subprojects/.gitignore b/subprojects/.gitignore index 13602578f..04b04874b 100644 --- a/subprojects/.gitignore +++ b/subprojects/.gitignore @@ -3,4 +3,6 @@ /glib /fontconfig /libffi +/proxy-libintl +/zlib /packagecache diff --git a/subprojects/proxy-libintl.wrap b/subprojects/proxy-libintl.wrap new file mode 100644 index 000000000..f32522ee6 --- /dev/null +++ b/subprojects/proxy-libintl.wrap @@ -0,0 +1,4 @@ +[wrap-git] +directory=proxy-libintl +url=https://github.com/centricular/proxy-libintl.git +revision=master diff --git a/subprojects/zlib.wrap b/subprojects/zlib.wrap new file mode 100644 index 000000000..de1e861e1 --- /dev/null +++ b/subprojects/zlib.wrap @@ -0,0 +1,4 @@ +[wrap-git] +directory=zlib +url=https://github.com/centricular/zlib.git +revision=meson diff --git a/test/fuzzing/meson.build b/test/fuzzing/meson.build index f6c8890bd..d72cd6ea5 100644 --- a/test/fuzzing/meson.build +++ b/test/fuzzing/meson.build @@ -20,11 +20,13 @@ endforeach env = environment() env.set('srcdir', meson.current_source_dir()) -test('shape_fuzzer', python3, +run_shape_fuzzer_tests = find_program('run-shape-fuzzer-tests.py') + +test('shape_fuzzer', run_shape_fuzzer_tests, args: [ - files('run-shape-fuzzer-tests.py')[0], hb_shape_fuzzer_exe, ], + depends: [hb_shape_fuzzer_exe, libharfbuzz, libharfbuzz_subset], workdir: join_paths(meson.current_build_dir(), '..', '..'), env: env) diff --git a/test/shaping/meson.build b/test/shaping/meson.build index d8854fe9f..f6ef3016b 100644 --- a/test/shaping/meson.build +++ b/test/shaping/meson.build @@ -87,10 +87,10 @@ foreach test_data : in_house_tests test(test_name, python3, args: [ files('run-tests.py')[0], - hb_shape.full_path(), + hb_shape, join_paths(meson.current_source_dir(), 'data/in-house/tests', fname), ], - workdir: meson.current_source_dir(), + workdir: join_paths(meson.current_build_dir(), '..', '..'), ) endforeach @@ -102,9 +102,9 @@ foreach test_data : text_rendering_tests test(test_name, python3, args: [ files('run-tests.py')[0], - hb_shape.full_path(), + hb_shape, join_paths(meson.current_source_dir(), 'data/text-rendering-tests/tests', fname), ], - workdir: meson.current_source_dir(), + workdir: join_paths(meson.current_build_dir(), '..', '..'), ) endforeach diff --git a/test/subset/meson.build b/test/subset/meson.build index ae9e7ea25..8e6d1ca3f 100644 --- a/test/subset/meson.build +++ b/test/subset/meson.build @@ -4,17 +4,20 @@ tests = [ ['japanese.tests'], ] -foreach test_data : tests - fname = test_data[0] +# The test tries to run which unconditionally, windows doesn't agree +if find_program('which', required: false).found() + foreach test_data : tests + fname = test_data[0] - test_name = fname.split('.')[0].underscorify() + test_name = fname.split('.')[0].underscorify() - test(test_name, python3, - args: [ - files('run-tests.py')[0], - hb_subset.full_path(), - join_paths(meson.current_source_dir(), 'data/tests', fname), - ], - workdir: meson.current_source_dir(), - ) -endforeach + test(test_name, python3, + args: [ + files('run-tests.py')[0], + hb_subset, + join_paths(meson.current_source_dir(), 'data/tests', fname), + ], + workdir: join_paths(meson.current_build_dir(), '..', '..'), + ) + endforeach +endif \ No newline at end of file