summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/extend.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/extend.c')
-rw-r--r--Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/extend.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/extend.c b/Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/extend.c
new file mode 100644
index 00000000000..4b64449d0b4
--- /dev/null
+++ b/Build/source/texk/web2c/mfluadir/otfcc/lib/table/otl/subtables/extend.c
@@ -0,0 +1,35 @@
+#include "extend.h"
+
+// Extended tables are special
+// We will only deal with reading, and they will be flatten.
+static otl_Subtable *_caryll_read_otl_extend(font_file_pointer data, uint32_t tableLength,
+ uint32_t subtableOffset, otl_LookupType BASIS,
+ const glyphid_t maxGlyphs,
+ const otfcc_Options *options) {
+ otl_Subtable *_subtable;
+ NEW(_subtable);
+ checkLength(subtableOffset + 8);
+ subtable_extend *subtable = &(_subtable->extend);
+ subtable->type = read_16u(data + subtableOffset + 2) + BASIS;
+ subtable->subtable = otfcc_readOtl_subtable(
+ data, tableLength, subtableOffset + read_32u(data + subtableOffset + 4), subtable->type,
+ maxGlyphs, options);
+ goto OK;
+FAIL:
+ FREE(_subtable);
+OK:
+ return _subtable;
+}
+
+otl_Subtable *otfcc_readOtl_gsub_extend(font_file_pointer data, uint32_t tableLength,
+ uint32_t subtableOffset, const glyphid_t maxGlyphs,
+ const otfcc_Options *options) {
+ return _caryll_read_otl_extend(data, tableLength, subtableOffset, otl_type_gsub_unknown,
+ maxGlyphs, options);
+}
+otl_Subtable *otfcc_readOtl_gpos_extend(font_file_pointer data, uint32_t tableLength,
+ uint32_t subtableOffset, const glyphid_t maxGlyphs,
+ const otfcc_Options *options) {
+ return _caryll_read_otl_extend(data, tableLength, subtableOffset, otl_type_gpos_unknown,
+ maxGlyphs, options);
+}