1 #ifdef HAVE_CONFIG_H
2 # include <config.h>
3 #endif
5 #ifdef ENABLE_SVG_FONTS
6 #ifndef __SP_GLYPH_H__
7 #define __SP_GLYPH_H__
9 /*
10 * SVG <glyph> element implementation
11 *
12 * Authors:
13 * Felipe C. da S. Sanches <felipe.sanches@gmail.com>
14 *
15 * Copyright (C) 2008 Felipe C. da S. Sanches
16 *
17 * Released under GNU GPL, read the file 'COPYING' for more information
18 */
20 #include "sp-object.h"
22 #define SP_TYPE_GLYPH (sp_glyph_get_type ())
23 #define SP_GLYPH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_GLYPH, SPGlyph))
24 #define SP_GLYPH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_GLYPH, SPGlyphClass))
25 #define SP_IS_GLYPH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_GLYPH))
26 #define SP_IS_GLYPH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_GLYPH))
28 enum glyphArabicForm {
29 GLYPH_ARABIC_FORM_INITIAL,
30 GLYPH_ARABIC_FORM_MEDIAL,
31 GLYPH_ARABIC_FORM_TERMINAL,
32 GLYPH_ARABIC_FORM_ISOLATED,
33 };
35 enum glyphOrientation {
36 GLYPH_ORIENTATION_HORIZONTAL,
37 GLYPH_ORIENTATION_VERTICAL,
38 GLYPH_ORIENTATION_BOTH
39 };
41 struct SPGlyph : public SPObject {
42 Glib::ustring unicode;
43 Glib::ustring glyph_name;
44 char* d;
45 glyphOrientation orientation;
46 glyphArabicForm arabic_form;
47 char* lang;
48 double horiz_adv_x;
49 double vert_origin_x;
50 double vert_origin_y;
51 double vert_adv_y;
52 };
54 struct SPGlyphClass {
55 SPObjectClass parent_class;
56 };
58 GType sp_glyph_get_type (void);
60 #endif //#ifndef __SP_GLYPH_H__
61 #endif //#ifdef ENABLE_SVG_FONTS