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"
19 #define SP_TYPE_HKERN (sp_glyph_kerning_h_get_type ())
20 #define SP_HKERN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_HKERN, SPHkern))
21 #define SP_HKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_HKERN, SPGlyphKerningClass))
22 #define SP_IS_HKERN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_HKERN))
23 #define SP_IS_HKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_HKERN))
25 #define SP_TYPE_VKERN (sp_glyph_kerning_v_get_type ())
26 #define SP_VKERN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_VKERN, SPVkern))
27 #define SP_VKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_VKERN, SPGlyphKerningClass))
28 #define SP_IS_VKERN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_VKERN))
29 #define SP_IS_VKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_VKERN))
31 struct SPGlyphKerning : public SPObject {
32 char* u1;
33 char* g1;
34 char* u2;
35 char* g2;
36 double k;
37 };
39 struct SPHkern : public SPGlyphKerning {};
40 struct SPVkern : public SPGlyphKerning {};
42 struct SPGlyphKerningClass {
43 SPObjectClass parent_class;
44 };
46 GType sp_glyph_kerning_h_get_type (void);
47 GType sp_glyph_kerning_v_get_type (void);
49 #endif //#ifndef __SP_GLYPH_KERNING_H__
50 #endif //#ifdef ENABLE_SVG_FONTS