summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfm-x/tt_gsub.h
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2013-06-29 10:04:59 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2013-06-29 10:04:59 +0000
commit83196ba37bdc708ebfe9ea20fe0a397cb602cbf9 (patch)
tree3f62d8e78d74c1c0a66a8777f68698839b6b626d /Build/source/texk/dvipdfm-x/tt_gsub.h
parente6d82d4de870c4c32ce61177fe008bfddc79cce9 (diff)
Merging dvipdfmx and xdvipdfmx (continue)
git-svn-id: svn://tug.org/texlive/trunk@31034 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.h67
1 files changed, 67 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..43e5aae02ae
--- /dev/null
+++ b/Build/source/texk/dvipdfm-x/tt_gsub.h
@@ -0,0 +1,67 @@
+/*
+
+ This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
+
+ Copyright (C) 2002-2012 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"
+
+extern void otl_gsub_set_verbose (void);
+
+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);
+
+#if 0
+extern int otl_gsub_dump (otl_gsub *gsub_list,
+ const char *script,
+ const char *language,
+ const char *feature);
+#endif
+
+#endif /* _TT_GSUB_H_ */