1 #ifndef __NR_TYPE_PRIMITIVES_H__
2 #define __NR_TYPE_PRIMITIVES_H__
4 /*
5 * Typeface and script library
6 *
7 * Authors:
8 * Lauris Kaplinski <lauris@kaplinski.com>
9 * g++ port: Nathan Hurst <njh@mail.csse.monash.edu.au>
10 *
11 * This code is in public domain
12 */
14 #include <glib/gtypes.h>
16 struct NRNameList;
17 struct NRStyleList;
18 struct NRTypeDict;
20 typedef void (* NRNameListDestructor) (NRNameList *list);
21 typedef void (* NRStyleListDestructor) (NRStyleList *list);
23 struct NRNameList {
24 guint length;
25 guchar **names;
26 guchar **families;
27 NRNameListDestructor destructor;
28 };
30 struct NRStyleRecord {
31 const char *name;
32 const char *descr;
33 };
35 struct NRStyleList {
36 guint length;
37 NRStyleRecord *records;
38 NRStyleListDestructor destructor;
39 };
41 void nr_name_list_release (NRNameList *list);
42 void nr_style_list_release (NRStyleList *list);
44 NRTypeDict *nr_type_dict_new (void);
46 void nr_type_dict_insert (NRTypeDict *td, const gchar *key, void *val);
48 void *nr_type_dict_lookup (NRTypeDict *td, const gchar *key);
50 #endif