summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfm-x/tt_gsub.h
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
committerKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
commitad547a6b5986815fda458221149728d9d9ab1d87 (patch)
tree16296910eb3eca724371474ea9aea3994dc69614 /Build/source/texk/dvipdfm-x/tt_gsub.h
parent947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff)
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfm-x/tt_gsub.h')
-rw-r--r--Build/source/texk/dvipdfm-x/tt_gsub.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/Build/source/texk/dvipdfm-x/tt_gsub.h b/Build/source/texk/dvipdfm-x/tt_gsub.h
new file mode 100644
index 00000000000..07e9efe751d
--- /dev/null
+++ b/Build/source/texk/dvipdfm-x/tt_gsub.h
@@ -0,0 +1,66 @@
+/* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
+
+ Copyright (C) 2002-2020 by Jin-Hwan Cho and Shunsaku Hirata,
+ the dvipdfmx project team.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+*/
+
+#ifndef _TT_GSUB_H_
+#define _TT_GSUB_H_
+
+#include "sfnt.h"
+#include "otl_opt.h"
+#include "cmap.h"
+
+typedef struct otl_gsub otl_gsub;
+
+/* LookupType for GSUB */
+#define OTL_GSUB_TYPE_SINGLE 1
+#define OTL_GSUB_TYPE_MULTIPLE 2
+#define OTL_GSUB_TYPE_ALTERNATE 3
+#define OTL_GSUB_TYPE_LIGATURE 4
+#define OTL_GSUB_TYPE_CONTEXT 5
+#define OTL_GSUB_TYPE_CCONTEXT 6
+#define OTL_GSUB_TYPE_ESUBST 7
+
+extern otl_gsub *otl_gsub_new (void);
+extern void otl_gsub_release (otl_gsub *gsub_list);
+
+extern int otl_gsub_select (otl_gsub *gsub_list,
+ const char *script,
+ const char *language,
+ const char *feature);
+extern int otl_gsub_add_feat (otl_gsub *gsub_list,
+ const char *script,
+ const char *language,
+ const char *feature,
+ sfnt *sfont);
+extern int otl_gsub_apply (otl_gsub *gsub_list, USHORT *gid);
+extern int otl_gsub_apply_alt (otl_gsub *gsub_list, USHORT alt_idx, USHORT *gid);
+extern int otl_gsub_apply_lig (otl_gsub *gsub_list,
+ USHORT *gid_in, USHORT num_gids,
+ USHORT *gid_out);
+
+/* Handle a list of OTL features */
+extern int otl_gsub_add_feat_list (otl_gsub *gsub_list,
+ const char *otl_tags, sfnt *sfont);
+extern int otl_gsub_set_chain (otl_gsub *gsub_list, const char *otl_tags);
+extern int otl_gsub_apply_chain (otl_gsub *gsub_list, USHORT *gid);
+
+extern int otl_gsub_add_ToUnicode (CMap *cmap, char *used_chars,
+ int32_t *map_base, int32_t *map_sub, USHORT num_glyphs,
+ uint16_t *GIDToCIDMap, sfnt *sfont);
+#endif /* _TT_GSUB_H_ */