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