pub(crate) fn with_thread_local_font_context<F, R>(
    canvas_data: &CanvasData<'_>,
    f: F
) -> Rwhere
    F: FnOnce(&mut FontContext<FontCacheThread>) -> R,