/usr/include/libgnomeprint-2.2/libgnomeprint/private/gnome-font-private.h is in libgnomeprint2.2-dev 2.18.8-3ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* gnome-font-private.h: Private declarations for fonts
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License
* as published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* Authors:
* Jody Goldberg <jody@helixcode.com>
* Miguel de Icaza <miguel@helixcode.com>
* Lauris Kaplinski <lauris@helixcode.com>
* Christopher James Lahey <clahey@helixcode.com>
* Michael Meeks <michael@helixcode.com>
* Morten Welinder <terra@diku.dk>
*
* Copyright (C) 2000-2003 Ximian Inc. and authors
*
*/
#ifndef __GNOME_FONT_PRIVATE_H__
#define __GNOME_FONT_PRIVATE_H__
#include <glib.h>
G_BEGIN_DECLS
typedef struct _GnomeFontClass GnomeFontClass;
typedef struct _GnomeFontFaceClass GnomeFontFaceClass;
typedef struct _GnomeFontFamilyClass GnomeFontFamilyClass;
typedef struct _GFFGlyphInfo GFFGlyphInfo;
#include <glib-object.h>
#include <ft2build.h>
#include FT_FREETYPE_H
#include "gnome-fontmap.h"
#include <libgnomeprint/gnome-font.h>
#include <libgnomeprint/gnome-rfont.h>
/* Glyph info slot */
struct _GFFGlyphInfo {
guint metrics : 1;
ArtPoint advance;
ArtDRect bbox;
ArtBpath *bpath;
};
struct _GnomeFontFace {
GObject object;
GPFontEntry * entry; /* Pointer to our fontmap entry */
gint num_glyphs; /* Glyph storage */
GFFGlyphInfo * glyphs;
gdouble ft2ps; /* FT -> PostScript scaling coefficent */
ArtDRect bbox; /* Face bounding box */
FT_Face ft_face; /* FreeType stuff */
GSList *fonts; /* Our fonts */
gchar *psname; /* The postscript name of the font */
};
struct _GnomeFontFaceClass {
GObjectClass parent_class;
};
/* Font */
struct _GnomeFont {
GObject object;
GnomeFontFace *face; /* Our parent face */
gdouble size; /* Our master size */
guchar *name; /* Constified name */
GHashTable *outlines; /* Hash table of glyph outlines */
};
struct _GnomeFontClass {
GObjectClass parent_class;
};
GnomeFont *gnome_font_face_get_font_full (GnomeFontFace *face, gdouble size, gdouble *affine);
/* Embeddable PostScript object */
typedef struct _GnomeFontPsObject GnomeFontPsObject;
struct _GnomeFontPsObject {
GnomeFontFace *face; /* Our face (NB referenced) */
guchar *residentname; /* Resident face name, if any */
guchar *encodedname; /* Name of the font in output (i.e. GnomeUni-LuxiSans_001) */
gint encodedbytes; /* 1 or 2 byte encoding
* This will be set according to total number of
* glyphs in font, as we cannot know the number
* of glyphs used initially */
gint num_glyphs; /* Number of glyphs in face */
guint32 *glyphs; /* Used glyph bit array */
gint bufsize; /* Buffer values */
gint length;
guchar *buf;
};
GnomeFontPsObject *gnome_font_face_pso_new (GnomeFontFace *face, guchar *residentname, gint instance);
/* Mark glyph as used in internal bit array */
void gnome_font_face_pso_mark_glyph (GnomeFontPsObject *pso, gint glyph);
void gnome_font_face_pso_free (GnomeFontPsObject *pso);
void gnome_font_face_ps_embed (GnomeFontPsObject *pso);
/* Private face loader */
gboolean gnome_font_face_load (GnomeFontFace *face);
#define GFF_LOADED(f) ((f)->ft_face || gnome_font_face_load ((GnomeFontFace *) f))
/*
* Returns PostScript name for glyph
*/
const guchar *gnome_font_unsized_get_glyph_name (const GnomeFontFace *face);
/* ---- gnome-rfont-stuff --- */
/*
* Rendering flags
*
* Look into gnome-pgl.h for more meaningful definitions
*/
#define GNOME_RFONT_RENDER_DEFAULT 0
#define gnome_rfont_render_pgl_rgb8 gnome_pgl_render_rgb8
#define gnome_rfont_render_pgl_rgba8 gnome_pgl_render_rgba8
void gnome_rfont_render_glyph_rgba8 (GnomeRFont *rfont, gint glyph,
guint32 rgba,
gdouble x, gdouble y,
guchar * buf,
gint width, gint height, gint rowstride,
guint flags);
void gnome_rfont_render_glyph_rgb8 (GnomeRFont *rfont, gint glyph,
guint32 rgba,
gdouble x, gdouble y,
guchar * buf,
gint width, gint height, gint rowstride,
guint flags);
G_END_DECLS
#endif /* __GNOME_FONT_PRIVATE_H__ */
|