ref: a65e44617ba1d08e011f3cee56470a0a7351ea47
dir: /otf.h.in/
/* this file is generated. do not modify. */
typedef struct Otf Otf;
#pragma incomplete Otf
typedef struct ComponentGlyph ComponentGlyph;
enum {
CGLYPH_FL_ROUND_TO_GRID_XY = 1<<2,
CGLYPH_FL_SCALE = 1<<3,
CGLYPH_FL_MORE_COMPONENTS = 1<<5,
CGLYPH_FL_SCALE_XY = 1<<6,
CGLYPH_FL_2X2_TRANSFORM = 1<<7,
CGLYPH_FL_INSTRUCTIONS = 1<<8,
CGLYPH_FL_METRICS = 1<<9,
CGLYPH_FL_OVERLAP_COMPOUND = 1<<10,
CGLYPH_FL_SCALED_COMPONENT_OFFSET = 1<<11,
CGLYPH_FL_UNSCALED_COMPONENT_OFFSET = 1<<12,
};
struct ComponentGlyph {
u16int flags;
u16int glyphIndex;
int arg1;
int arg2;
float scale, scaleX, scale01, scale10, scaleY;
u16int numInstr;
u8int *instr;
ComponentGlyph *next;
};
typedef struct Point Point;
struct Point {
int x;
int y;
int onCurve;
};
typedef struct SimpleGlyph SimpleGlyph;
struct SimpleGlyph {
int numEndPtsOfContours;
u16int *endPtsOfContours;
u16int instructionLength;
u8int *instructions;
int numPoints;
Point *points;
};
extern int indentΔ;
#pragma varargck type "T" s64int
#pragma varargck type "t" u32int
#pragma varargck type "V" u32int
void otfinit(void);
Otf *otfopen(char *path);
void otfprint(Otf *o, Biobuf *out, int indent);
void otfclose(Otf *o);
/* FIXME these will go, this is for debugging and designing the drawing logic */
typedef struct Glyf Glyf;
Glyf *otfglyf(Otf *o, int index);
int otfglyfnum(Otf *o);