summaryrefslogtreecommitdiff
path: root/src/outlines.h
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-05-07 15:22:02 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-05-07 15:22:02 +0000
commita98d8fb5e49436c6fedea37797225293284b9894 (patch)
treef140662044f20668b937c9f3b451c56345678108 /src/outlines.h
downloadttf2f-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.h58
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