754125831ab6e2a0722dfed792caf57979027e01
1 #ifndef __SP_FONTFACE_H__
2 #define __SP_FONTFACE_H__
4 /*
5 * SVG <font-face> element implementation
6 *
7 * Section 20.8.3 of the W3C SVG 1.1 spec
8 * available at:
9 * http://www.w3.org/TR/SVG/fonts.html#FontFaceElement
10 *
11 * Authors:
12 * Felipe C. da S. Sanches <felipe.sanches@gmail.com>
13 *
14 * Copyright (C) 2008 Felipe C. da S. Sanches
15 *
16 * Released under GNU GPL, read the file 'COPYING' for more information
17 */
19 #include "sp-object.h"
21 #define SP_TYPE_FONTFACE (sp_fontface_get_type ())
22 #define SP_FONTFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_FONTFACE, SPFontFace))
23 #define SP_FONTFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_FONTFACE, SPFontFaceClass))
24 #define SP_IS_FONTFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_FONTFACE))
25 #define SP_IS_FONTFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_FONTFACE))
27 enum FontFaceUnicodeRangeType{
28 FONTFACE_UNICODERANGE_FIXME_HERE,
29 };
31 struct SPFontFace : public SPObject {
32 std::vector<FontFaceUnicodeRangeType> unicode_range;
33 double units_per_em;
34 std::vector<int> panose_1;
35 double stemv;
36 double stemh;
37 double slope;
38 double cap_height;
39 double x_height;
40 double accent_height;
41 double ascent;
42 double descent;
43 char* widths;
44 char* bbox;
45 double ideographic;
46 double alphabetic;
47 double mathematical;
48 double hanging;
49 double v_ideographic;
50 double v_alphabetic;
51 double v_mathematical;
52 double v_hanging;
53 double underline_position;
54 double underline_thickness;
55 double strikethrough_position;
56 double strikethrough_thickness;
57 double overline_position;
58 double overline_thickness;
59 };
61 struct SPFontFaceClass {
62 SPObjectClass parent_class;
63 };
65 GType sp_fontface_get_type (void);
67 #endif //#ifndef __SP_FONTFACE_H__