33 #define HB_SHAPER_IMPLEMENT(name) {#name, _hb_##name##_shape},
35 #undef HB_SHAPER_IMPLEMENT
41 static inline void free_static_shapers ();
43 static struct hb_shapers_lazy_loader_t :
hb_lazy_loader_t<const hb_shaper_entry_t,
44 hb_shapers_lazy_loader_t>
48 char *env = getenv (
"HB_SHAPER_LIST");
56 memcpy (shapers, all_shapers,
sizeof (all_shapers));
63 end = strchr (
p,
',');
73 memmove (&shapers[
i + 1], &shapers[
i],
sizeof (shapers[
i]) * (
j -
i));
93 void free_static_shapers ()
95 static_shapers.free_instance ();
101 return static_shapers.get_unconst ();
small capitals from c petite p scientific i
[1]
#define ARRAY_LENGTH_CONST(__array)
const hb_shaper_entry_t * _hb_shapers_get()
void *PRIV() memmove(void *d, const void *s, size_t n)
int PRIV() strncmp(PCRE2_SPTR str1, PCRE2_SPTR str2, size_t len)
PCRE2_SIZE PRIV() strlen(PCRE2_SPTR str)
static void destroy(Stored *p)
static const Stored * get_null()