summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/sfnt-builder.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/sfnt-builder.h')
-rw-r--r--Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/sfnt-builder.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/sfnt-builder.h b/Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/sfnt-builder.h
new file mode 100644
index 00000000000..313003a0eb5
--- /dev/null
+++ b/Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/sfnt-builder.h
@@ -0,0 +1,30 @@
+#ifndef CARYLL_SFNT_BUILDER_H
+#define CARYLL_SFNT_BUILDER_H
+
+#include "primitives.h"
+#include "caryll/buffer.h"
+#include "otfcc/options.h"
+#include "dep/uthash.h"
+
+typedef struct {
+ int tag;
+ uint32_t length;
+ uint32_t checksum;
+ caryll_Buffer *buffer;
+ UT_hash_handle hh;
+} otfcc_SFNTTableEntry;
+
+typedef struct {
+ uint32_t count;
+ uint32_t header;
+ otfcc_SFNTTableEntry *tables;
+ const otfcc_Options *options;
+} otfcc_SFNTBuilder;
+
+otfcc_SFNTBuilder *otfcc_newSFNTBuilder(uint32_t header, const otfcc_Options *options);
+void otfcc_SFNTBuilder_pushTable(otfcc_SFNTBuilder *builder, uint32_t tag, caryll_Buffer *buffer);
+void otfcc_deleteSFNTBuilder(otfcc_SFNTBuilder *builder);
+
+caryll_Buffer *otfcc_SFNTBuilder_serialize(otfcc_SFNTBuilder *builder);
+
+#endif