From d43fbadd2eebf8ad7886dd22c8ee94d3d1613c08 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 25 Sep 2021 13:20:20 -0400 Subject: freetype: Support old versions that do not have FT_Error_String. --- chickadee/freetype.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/chickadee/freetype.scm b/chickadee/freetype.scm index 73c0791..de93d00 100644 --- a/chickadee/freetype.scm +++ b/chickadee/freetype.scm @@ -83,8 +83,14 @@ (define FT_LOAD_COMPUTE_METRICS 32768) (define FT_LOAD_BITMAP_METRICS_ONLY 65536) -(define-foreign ft-error-string - '* "FT_Error_String" (list int)) +;; FT_Error_String only exists in libfreetype 2.10.0+, and we wish to +;; support older versions so we stub out the function when it doesn't +;; exist. +(define ft-error-string + (or (false-if-exception (freetype-func '* "FT_Error_String" (list int))) + (lambda (error-code) + (string->pointer + (string-append "error code " (number->string error-code)))))) (define-foreign ft-init-freetype int "FT_Init_FreeType" '(*)) -- cgit v1.2.3