1 #include "config.h"
2 #ifdef ENABLE_SVG_FONTS
3 #ifndef __SP_GLYPH_KERNING_H__
4 #define __SP_GLYPH_KERNING_H__
6 /*
7 * SVG <hkern> and <vkern> elements implementation
8 *
9 * Authors:
10 * Felipe C. da S. Sanches <felipe.sanches@gmail.com>
11 *
12 * Copyright (C) 2008 Felipe C. da S. Sanches
13 *
14 * Released under GNU GPL, read the file 'COPYING' for more information
15 */
17 #include "sp-object.h"
18 #include "unicoderange.h"
20 #define SP_TYPE_HKERN (sp_glyph_kerning_h_get_type ())
21 #define SP_HKERN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_HKERN, SPHkern))
22 #define SP_HKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_HKERN, SPGlyphKerningClass))
23 #define SP_IS_HKERN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_HKERN))
24 #define SP_IS_HKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_HKERN))
26 #define SP_TYPE_VKERN (sp_glyph_kerning_v_get_type ())
27 #define SP_VKERN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_VKERN, SPVkern))
28 #define SP_VKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_VKERN, SPGlyphKerningClass))
29 #define SP_IS_VKERN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_VKERN))
30 #define SP_IS_VKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_VKERN))
32 struct SPGlyphKerning : public SPObject {
33 UnicodeRange* u1;
34 char* g1;
35 UnicodeRange* u2;
36 char* g2;
37 double k;
38 };
40 struct SPHkern : public SPGlyphKerning {};
41 struct SPVkern : public SPGlyphKerning {};
43 struct SPGlyphKerningClass {
44 SPObjectClass parent_class;
45 };
47 GType sp_glyph_kerning_h_get_type (void);
48 GType sp_glyph_kerning_v_get_type (void);
50 #endif //#ifndef __SP_GLYPH_KERNING_H__
51 #endif //#ifdef ENABLE_SVG_FONTS