summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn-Mark Bell <jmb@netsurf-browser.org>2022-05-22 22:55:49 +0100
committerJohn-Mark Bell <jmb@netsurf-browser.org>2022-05-22 22:55:49 +0100
commit6e5b46e3f363bd70923419a9a0f1764a09fdd98f (patch)
treed7a3851dfa28fd804be5f5502e4ff114e3989f37
parent1fd4db565d2b8b981ed00e3ee127ea4f04207b92 (diff)
downloadlibrufl-6e5b46e3f363bd70923419a9a0f1764a09fdd98f.tar.gz
librufl-6e5b46e3f363bd70923419a9a0f1764a09fdd98f.tar.bz2
Add checks for rufl_glyph_metrics
-rw-r--r--test/oldfminit.c12
-rw-r--r--test/olducsinit.c12
-rw-r--r--test/ucsinit.c12
3 files changed, 36 insertions, 0 deletions
diff --git a/test/oldfminit.c b/test/oldfminit.c
index 64563e1..b545e9a 100644
--- a/test/oldfminit.c
+++ b/test/oldfminit.c
@@ -236,6 +236,7 @@ int main(int argc, const char **argv)
int width, x;
size_t offset;
int32_t xkern, ykern, italic, ascent, descent, xheight, cap_height;
+ int32_t x_bearing, y_bearing, mwidth, mheight, x_advance, y_advance;
int8_t uline_position;
uint8_t uline_thickness;
os_box bbox;
@@ -327,6 +328,17 @@ int main(int argc, const char **argv)
rufl_dump_state(true);
+ /* Obtain metrics for a glyph */
+ assert(rufl_OK == rufl_glyph_metrics("Homerton", rufl_WEIGHT_500, 160,
+ (const uint8_t *) "!", 1, &x_bearing, &y_bearing,
+ &mwidth, &mheight, &x_advance, &y_advance));
+ assert(0 == x_bearing);
+ assert(10000 == y_bearing);
+ assert(10000 == mwidth);
+ assert(10000 == mheight);
+ assert(10000 == x_advance);
+ assert(10000 == y_advance);
+
rufl_quit();
/* Reinit -- should load cache */
diff --git a/test/olducsinit.c b/test/olducsinit.c
index f4e97af..208484e 100644
--- a/test/olducsinit.c
+++ b/test/olducsinit.c
@@ -35,6 +35,7 @@ int main(int argc, const char **argv)
int width, x;
size_t offset;
int32_t xkern, ykern, italic, ascent, descent, xheight, cap_height;
+ int32_t x_bearing, y_bearing, mwidth, mheight, x_advance, y_advance;
int8_t uline_position;
uint8_t uline_thickness;
os_box bbox;
@@ -112,6 +113,17 @@ int main(int argc, const char **argv)
assert(rufl_OK == rufl_paint("Trinity", rufl_WEIGHT_500, 160,
(const uint8_t *) "!\xc2\xa0", 3, 0, 0, 0));
+ /* Obtain metrics for a glyph */
+ assert(rufl_OK == rufl_glyph_metrics("Homerton", rufl_WEIGHT_500, 160,
+ (const uint8_t *) "!", 1, &x_bearing, &y_bearing,
+ &mwidth, &mheight, &x_advance, &y_advance));
+ assert(0 == x_bearing);
+ assert(10000 == y_bearing);
+ assert(10000 == mwidth);
+ assert(10000 == mheight);
+ assert(10000 == x_advance);
+ assert(10000 == y_advance);
+
rufl_dump_state(true);
rufl_quit();
diff --git a/test/ucsinit.c b/test/ucsinit.c
index 5cd46d7..45197a0 100644
--- a/test/ucsinit.c
+++ b/test/ucsinit.c
@@ -35,6 +35,7 @@ int main(int argc, const char **argv)
int width, x;
size_t offset;
int32_t xkern, ykern, italic, ascent, descent, xheight, cap_height;
+ int32_t x_bearing, y_bearing, mwidth, mheight, x_advance, y_advance;
int8_t uline_position;
uint8_t uline_thickness;
os_box bbox;
@@ -112,6 +113,17 @@ int main(int argc, const char **argv)
assert(rufl_OK == rufl_paint("Trinity", rufl_WEIGHT_500, 160,
(const uint8_t *) "!\xc2\xa0", 3, 0, 0, 0));
+ /* Obtain metrics for a glyph */
+ assert(rufl_OK == rufl_glyph_metrics("Homerton", rufl_WEIGHT_500, 160,
+ (const uint8_t *) "!", 1, &x_bearing, &y_bearing,
+ &mwidth, &mheight, &x_advance, &y_advance));
+ assert(0 == x_bearing);
+ assert(10000 == y_bearing);
+ assert(10000 == mwidth);
+ assert(10000 == mheight);
+ assert(10000 == x_advance);
+ assert(10000 == y_advance);
+
rufl_dump_state(true);
rufl_quit();