diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-05-07 15:22:02 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-05-07 15:22:02 +0000 |
commit | a98d8fb5e49436c6fedea37797225293284b9894 (patch) | |
tree | f140662044f20668b937c9f3b451c56345678108 /src/outlines.h | |
download | ttf2f-a98d8fb5e49436c6fedea37797225293284b9894.tar.gz ttf2f-a98d8fb5e49436c6fedea37797225293284b9894.tar.bz2 |
Import TTF2f. Don't expect this to link; I've prevented it building main.c.
svn path=/trunk/tools/ttf2f/; revision=7427
Diffstat (limited to 'src/outlines.h')
-rw-r--r-- | src/outlines.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/outlines.h b/src/outlines.h new file mode 100644 index 0000000..99a916b --- /dev/null +++ b/src/outlines.h @@ -0,0 +1,58 @@ +#ifndef _TTF2F_OUTLINES_H_ +#define _TTF2F_OUTLINES_H_ + +struct chunk_data { + int chunk_table_offset; + int nchunks; + int num_scaffold; + int scaffold_flags; + int reserved[5]; +}; + +struct outlines_header { + int id; + char bpp; + char version; + short flags; + short x0; + short y0; + short X; + short Y; + struct chunk_data chunk_data; +}; + +#define OUTLINES_SCAFFOLD_16BIT 0x1 +#define OUTLINES_SCAFFOLD_NO_AA 0x2 +#define OUTLINES_SCAFFOLD_NON_ZERO_WINDING 0x4 +#define OUTLINES_SCAFFOLD_BIG_TABLE 0x8 + +struct chunk { + unsigned int flags; + unsigned int offset[32]; + unsigned char depend[4]; +}; + +struct char_data { + char flags; + char x0y0[3]; + char xsys[3]; +}; + +#define CHAR_12BIT_COORDS 0x01 +#define CHAR_1BPP 0x02 +#define CHAR_BLACK 0x04 +#define CHAR_OUTLINE 0x08 +#define CHAR_COMPOSITE 0x10 +#define CHAR_HAS_ACCENT 0x20 +#define CHAR_16BIT_ASCII 0x40 +#define CHAR_RESERVED 0x80 + +struct glyph; +struct font_metrics; + +void write_outlines(const char *savein, const char *name, + struct glyph *glyph_list, int list_size, + struct font_metrics *metrics, + void (*callback)(int progress)); + +#endif |