This file is indexed.

/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__ */