This file is indexed.

/usr/include/fontforge/sflayoutP.h is in libfontforge-dev 1:20170731~dfsg-1.

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
/* Copyright (C) 2007-2012 by George Williams */
/*
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
 * list of conditions and the following disclaimer.

 * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.

 * The name of the author may not be used to endorse or promote products
 * derived from this software without specific prior written permission.

 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef _SFLAYOUTP_H
# define _SFLAYOUTP_H

enum sftf_fonttype { sftf_pfb, sftf_ttf, sftf_otf, sftf_nohints, sftf_bitmap, sftf_pfaedit };

typedef struct fontdata {
    SplineFont *sf;
    enum sftf_fonttype fonttype;
    int pointsize;
    int antialias;
    int layer;
    BDFFont *bdf;
    struct fontdata *next;
    struct fontdata *depends_on;	/* We use much of the ftc allocated for depends_on */
					/* Can't free depends_on until after we get freeed */
    struct _GImage base;
    GImage gi;
    GClut clut;
    struct sfmaps *sfmap;
} FontData;

struct lineheights {
    int32 y;
    int16 as, fh;
    uint16 p, linelen;
    uint32 start_pos;
};

struct fontlist {
    int start, end;		/* starting and ending characters [start,end) */
				/*  always break at newline & will omit it between fontlists */
    uint32 *feats;		/* Ends with a 0 entry */
    uint32 script, lang;
    FontData *fd;
    SplineChar **sctext;
    int scmax;
    struct opentype_str *ottext;
    struct fontlist *next;
};

struct sfmaps {
    SplineFont *sf;
    EncMap *map;
    int16 sfbit_id;
    int16 notdef_gid;
    SplineChar *fake_notdef;
    struct sfmaps *next;
};

struct paras {
    struct opentype_str **para;	/* An array of pointers to ottext entries */
    int start_pos;
};

typedef struct layoutinfo {
    unichar_t *text, *oldtext;	/* Input glyphs (in unicode) */
    int16 lcnt, lmax;
    struct opentype_str ***lines;	/* pointers into the paras array */
    int16 xmax;
    struct lineheights *lineheights;
    struct fontlist *fontlist, *oldfontlist;
    struct sfmaps *sfmaps;
    struct paras *paras;
    int pcnt, pmax;
    int ps, pe, ls, le;
    struct fontlist *oldstart, *oldend;
    FontData *generated;
    float dpi;
    unsigned int wrap: 1;
} LayoutInfo;

extern void GImageDrawRect(GImage *img,GRect *r,Color col);
extern void GImageDrawImage(GImage *dest,GImage *src,GRect *junk,int x, int y);
extern int LI_FDDrawChar(void *data,
	void (*drawImage)(void *,GImage *,GRect *,int x, int y),
	void (*drawRect)(void *,GRect *,Color col),
	struct opentype_str *osc,int x,int y,Color col);
extern uint32 *LI_TagsCopy(uint32 *tags);
extern struct fontlist *LI_fontlistcopy(struct fontlist *fl );
extern void LI_fontlistmergecheck(LayoutInfo *li);
extern void LayoutInfoRefigureLines(LayoutInfo *li, int start_of_change,
	int end_of_change, int width);
extern int LayoutInfoReplace(LayoutInfo *li, const unichar_t *str,
	int sel_start, int sel_end,int width);
extern void LayoutInfo_Destroy(LayoutInfo *li);
extern void SFMapFill(struct sfmaps *sfmaps,SplineFont *sf);
extern struct sfmaps *SFMapOfSF(LayoutInfo *li,SplineFont *sf);
extern FontData *LI_FindFontData(LayoutInfo *li, SplineFont *sf,
	int layer, enum sftf_fonttype fonttype, int size, int antialias);
extern FontData *LI_RegenFontData(LayoutInfo *li, FontData *ret);
extern void LayoutInfoInitLangSys(LayoutInfo *li, int end, uint32 script, uint32 lang);
extern LayoutInfo *LIConvertToPrint(LayoutInfo *li, int width, int height, int dpi);
extern SplineSet *LIConvertToSplines(LayoutInfo *li,double dpi,int order2);
extern void LayoutInfoSetTitle(LayoutInfo *li,const unichar_t *tit,int width);
extern struct fontlist *LI_BreakFontList(LayoutInfo *li,int start,int end);
extern int LI_SetFontData(LayoutInfo *li, int start, int end, SplineFont *sf,
	int layer, enum sftf_fonttype fonttype, int size, int antialias,int width);
#endif