summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/table/fvar.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/table/fvar.h')
-rw-r--r--Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/table/fvar.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/table/fvar.h b/Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/table/fvar.h
new file mode 100644
index 00000000000..767496dfc3e
--- /dev/null
+++ b/Build/source/texk/web2c/mfluadir/otfcc/include/otfcc/table/fvar.h
@@ -0,0 +1,40 @@
+#ifndef CARYLL_INCLUDE_TABLE_FVAR_H
+#define CARYLL_INCLUDE_TABLE_FVAR_H
+
+#include "table-common.h"
+#include "otfcc/vf/vf.h"
+
+// vf_Axis and vf_Axes are defined in vf/vf.h
+// fvar_Instance is defined below
+typedef struct {
+ uint16_t subfamilyNameID;
+ uint16_t flags;
+ VV coordinates;
+ uint16_t postScriptNameID;
+} fvar_Instance;
+extern caryll_ElementInterface(fvar_Instance) fvar_iInstance;
+typedef caryll_Vector(fvar_Instance) fvar_InstanceList;
+extern caryll_VectorInterface(fvar_InstanceList, fvar_Instance) fvar_iInstanceList;
+
+typedef struct {
+ sds name;
+ vq_Region *region;
+ UT_hash_handle hh;
+} fvar_Master;
+
+typedef struct {
+ uint16_t majorVersion;
+ uint16_t minorVersion;
+ vf_Axes axes;
+ fvar_InstanceList instances;
+ fvar_Master *masters;
+} table_fvar;
+
+extern caryll_ElementInterfaceOf(table_fvar) {
+ caryll_RT(table_fvar);
+ const vq_Region *(*registerRegion)(table_fvar * fvar, MOVE vq_Region * region);
+ const fvar_Master *(*findMasterByRegion)(const table_fvar *fvar, const vq_Region *region);
+}
+table_iFvar;
+
+#endif