More fixes
test-subset-glyf still failing. No idea why :(
This commit is contained in:
parent
a981d798ea
commit
43314ff4c0
|
@ -367,6 +367,5 @@ hb_subset (hb_face_t *source,
|
||||||
|
|
||||||
// TODO(grieger): Remove once basic subsetting is working + tests updated.
|
// TODO(grieger): Remove once basic subsetting is working + tests updated.
|
||||||
hb_face_destroy (dest);
|
hb_face_destroy (dest);
|
||||||
hb_face_reference (source);
|
return success ? hb_face_reference (source) : hb_face_get_empty ();
|
||||||
return success ? source : hb_face_get_empty();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,6 @@ read_file (const char *path,
|
||||||
rewind (fp);
|
rewind (fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool success = false;
|
|
||||||
if (file_length > 0) {
|
if (file_length > 0) {
|
||||||
buffer = (char *) calloc (file_length + 1, sizeof(char));
|
buffer = (char *) calloc (file_length + 1, sizeof(char));
|
||||||
if (fread (buffer, 1, file_length, fp) == file_length) {
|
if (fread (buffer, 1, file_length, fp) == file_length) {
|
||||||
|
@ -61,7 +60,11 @@ read_file (const char *path,
|
||||||
static hb_face_t *
|
static hb_face_t *
|
||||||
open_font (const char *font_path)
|
open_font (const char *font_path)
|
||||||
{
|
{
|
||||||
gchar *path = g_test_build_filename(G_TEST_DIST, font_path, NULL);
|
#if GLIB_CHECK_VERSION(2,37,2)
|
||||||
|
gchar* path = g_test_build_filename(G_TEST_DIST, font_path, NULL);
|
||||||
|
#else
|
||||||
|
gchar* path = g_strdup(fontFile);
|
||||||
|
#endif
|
||||||
|
|
||||||
size_t length;
|
size_t length;
|
||||||
char *font_data = read_file(path, &length);
|
char *font_data = read_file(path, &length);
|
||||||
|
@ -88,30 +91,33 @@ test_subset_glyf (void)
|
||||||
{
|
{
|
||||||
hb_face_t *face_abc = open_font("fonts/Roboto-Regular.abc.ttf");
|
hb_face_t *face_abc = open_font("fonts/Roboto-Regular.abc.ttf");
|
||||||
hb_face_t *face_ac = open_font("fonts/Roboto-Regular.ac.ttf");
|
hb_face_t *face_ac = open_font("fonts/Roboto-Regular.ac.ttf");
|
||||||
|
hb_face_t *face_abc_subset;
|
||||||
|
hb_blob_t *glyf_expected_blob;
|
||||||
|
hb_blob_t *glyf_actual_blob;
|
||||||
|
hb_set_t *codepoints = hb_set_create();
|
||||||
|
hb_subset_profile_t *profile = hb_subset_profile_create();
|
||||||
|
hb_subset_input_t *input = hb_subset_input_create (codepoints);
|
||||||
|
|
||||||
g_assert (face_abc);
|
g_assert (face_abc);
|
||||||
g_assert (face_ac);
|
g_assert (face_ac);
|
||||||
|
|
||||||
hb_set_t *codepoints = hb_set_create();
|
|
||||||
hb_set_add (codepoints, 97);
|
hb_set_add (codepoints, 97);
|
||||||
hb_set_add (codepoints, 99);
|
hb_set_add (codepoints, 99);
|
||||||
|
|
||||||
hb_subset_profile_t *profile = hb_subset_profile_create();
|
face_abc_subset = hb_subset (face_abc, profile, input);
|
||||||
hb_subset_input_t *input = hb_subset_input_create (codepoints);
|
|
||||||
|
|
||||||
hb_face_t *face_abc_subset = hb_subset (face_abc, profile, input);
|
|
||||||
g_assert (face_abc_subset);
|
g_assert (face_abc_subset);
|
||||||
|
|
||||||
hb_blob_t *glyf_expected_blob = hb_face_reference_table (face_ac, HB_TAG('g','l','y','f'));
|
glyf_expected_blob = hb_face_reference_table (face_ac, HB_TAG('g','l','y','f'));
|
||||||
hb_blob_t *glyf_actual_blob = hb_face_reference_table (face_abc_subset, HB_TAG('g','l','y','f'));
|
glyf_actual_blob = hb_face_reference_table (face_abc_subset, HB_TAG('g','l','y','f'));
|
||||||
|
|
||||||
int expected_length, actual_length;
|
|
||||||
// TODO(grieger): Uncomment below once this actually works.
|
// TODO(grieger): Uncomment below once this actually works.
|
||||||
|
//int expected_length, actual_length;
|
||||||
// g_assert_cmpmem(hb_blob_get_data (glyf_expected_blob, &expected_length), expected_length,
|
// g_assert_cmpmem(hb_blob_get_data (glyf_expected_blob, &expected_length), expected_length,
|
||||||
// hb_blob_get_data (glyf_actual_blob, &actual_length), actual_length);
|
// hb_blob_get_data (glyf_actual_blob, &actual_length), actual_length);
|
||||||
|
|
||||||
hb_blob_destroy (glyf_actual_blob);
|
hb_blob_destroy (glyf_actual_blob);
|
||||||
hb_blob_destroy (glyf_expected_blob);
|
hb_blob_destroy (glyf_expected_blob);
|
||||||
|
|
||||||
hb_subset_input_destroy (input);
|
hb_subset_input_destroy (input);
|
||||||
hb_subset_profile_destroy (profile);
|
hb_subset_profile_destroy (profile);
|
||||||
hb_set_destroy (codepoints);
|
hb_set_destroy (codepoints);
|
||||||
|
|
Loading…
Reference in New Issue