Back to index

texmacs  1.0.7.15
tt_gsub.h
Go to the documentation of this file.
00001 /*  $Header: /home/cvsroot/dvipdfmx/src/tt_gsub.h,v 1.9 2005/06/27 09:04:52 hirata Exp $
00002     
00003     This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
00004 
00005     Copyright (C) 2002 by Jin-Hwan Cho and Shunsaku Hirata,
00006     the dvipdfmx project team <dvipdfmx@project.ktug.or.kr>
00007     
00008     This program is free software; you can redistribute it and/or modify
00009     it under the terms of the GNU General Public License as published by
00010     the Free Software Foundation; either version 2 of the License, or
00011     (at your option) any later version.
00012     
00013     This program is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016     GNU General Public License for more details.
00017     
00018     You should have received a copy of the GNU General Public License
00019     along with this program; if not, write to the Free Software
00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00021 */
00022 
00023 #ifndef _TT_GSUB_H_
00024 #define _TT_GSUB_H_
00025 
00026 #include "sfnt.h"
00027 #include "otl_opt.h"
00028 
00029 extern void otl_gsub_set_verbose (void);
00030 
00031 typedef struct otl_gsub otl_gsub;
00032 
00033 /* LookupType for GSUB */
00034 #define OTL_GSUB_TYPE_SINGLE    1
00035 #define OTL_GSUB_TYPE_MULTIPLE  2
00036 #define OTL_GSUB_TYPE_ALTERNATE 3
00037 #define OTL_GSUB_TYPE_LIGATURE  4
00038 #define OTL_GSUB_TYPE_CONTEXT   5
00039 #define OTL_GSUB_TYPE_CCONTEXT  6
00040 #define OTL_GSUB_TYPE_ESUBST    7
00041 
00042 extern otl_gsub *otl_gsub_new     (void);
00043 extern void      otl_gsub_release (otl_gsub *gsub_list);
00044 
00045 extern int  otl_gsub_select    (otl_gsub *gsub_list,
00046                                 const char *script,
00047                                 const char *language,
00048                                 const char *feature);
00049 extern int  otl_gsub_add_feat  (otl_gsub *gsub_list,
00050                                 const char *script,
00051                                 const char *language,
00052                                 const char *feature,
00053                                 sfnt *sfont);
00054 extern int  otl_gsub_apply     (otl_gsub *gsub_list, USHORT *gid);
00055 extern int  otl_gsub_apply_alt (otl_gsub *gsub_list, USHORT alt_idx, USHORT *gid);
00056 extern int  otl_gsub_apply_lig (otl_gsub *gsub_list,
00057                                 USHORT *gid_in, USHORT num_gids,
00058                                 USHORT *gid_out);
00059 
00060 #if  0  
00061 extern int  otl_gsub_dump      (otl_gsub *gsub_list,
00062                                 const char *script,
00063                                 const char *language,
00064                                 const char *feature);
00065 #endif
00066 
00067 #endif /* _TT_GSUB_H_ */