summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/tottfaat.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/tottfaat.c')
-rw-r--r--Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/tottfaat.c136
1 files changed, 0 insertions, 136 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/tottfaat.c b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/tottfaat.c
deleted file mode 100644
index 559867543f2..00000000000
--- a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/tottfaat.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Copyright (C) 2000-2008 by George Williams */
-/*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
-
- * The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
-
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
- * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "pfaedit.h"
-#include <utype.h>
-
-#include "ttf.h"
-
-/* This file contains routines to create some of the Apple Advanced Typography Tables */
-/* (or GX fonts) */
-
-/* ************************************************************************** */
-/* ************************* The 'morx' table ************************* */
-/* ************************* (and 'feat') ************************* */
-/* ************************************************************************** */
-
-/* Each lookup gets its own subtable, so there may be multiple subtables */
-/* with the same feature/setting. The subtables will be ordered the same */
-/* way the lookups are, which might lead to awkwardness if there are many */
-/* chains and the same feature occurs in several of them */
-/* (only the default language will be used) */
-struct feature {
- int16 featureType, featureSetting;
- MacFeat *mf, *smf;
- struct macsetting *ms, *sms;
- unsigned int vertOnly: 1;
- unsigned int r2l: 1; /* I think this is the "descending" flag */
- unsigned int needsOff: 1;
- unsigned int singleMutex: 1;
- unsigned int dummyOff: 1;
- uint8 subtable_type;
- int chain;
- int32 flag, offFlags;
- uint32 feature_start;
- uint32 feature_len; /* Does not include header yet */
- struct feature *next; /* features in output order */
- struct feature *nexttype; /* features in feature/setting order */
- struct feature *nextsame; /* all features with the same feature/setting */
- int setting_cnt, setting_index, real_index;
-};
-
-
-
-struct transition { uint16 next_state, dontconsume, ismark, trans_ent; LigList *l; };
-struct trans_entries { uint16 next_state, flags, act_index; LigList *l; };
-
-
-int Macable(SplineFont *sf, OTLookup *otl) {
- int ft, fs;
- FeatureScriptLangList *features;
-
- switch ( otl->lookup_type ) {
- /* These lookup types are mac only */
- case kern_statemachine: case morx_indic: case morx_context: case morx_insert:
-return( true );
- /* These lookup types or OpenType only */
- case gsub_multiple: case gsub_alternate:
- case gpos_single: case gpos_cursive: case gpos_mark2base:
- case gpos_mark2ligature: case gpos_mark2mark:
-return( false );
- /* These are OpenType only, but they might be convertable to a state */
- /* machine */
- case gsub_context:
- case gsub_contextchain: case gsub_reversecchain:
- case gpos_context: case gpos_contextchain:
- if ( sf==NULL || sf->sm!=NULL )
-return( false );
- /* Else fall through into the test on the feature tag */;
- /* These two can be expressed in both, and might be either */
- case gsub_single: case gsub_ligature: case gpos_pair:
- for ( features = otl->features; features!=NULL; features = features->next ) {
- if ( features->ismac || OTTagToMacFeature(features->featuretag,&ft,&fs))
-return( true );
- }
- default: /* handle this to silence compiler warnings */
- break;
- }
-return( false );
-}
-
-
-/* ************************************************************************** */
-/* ************************* utility routines ************************* */
-/* ************************************************************************** */
-
-uint32 MacFeatureToOTTag(int featureType,int featureSetting) {
- int i;
- struct macsettingname *msn = user_macfeat_otftag ? user_macfeat_otftag : macfeat_otftag;
-
- for ( i=0; msn[i].otf_tag!=0; ++i )
- if ( msn[i].mac_feature_type == featureType &&
- msn[i].mac_feature_setting == featureSetting )
-return( msn[i].otf_tag );
-
-return( 0 );
-}
-
-int OTTagToMacFeature(uint32 tag, int *featureType,int *featureSetting) {
- int i;
- struct macsettingname *msn = user_macfeat_otftag ? user_macfeat_otftag : macfeat_otftag;
-
- for ( i=0; msn[i].otf_tag!=0; ++i )
- if ( msn[i].otf_tag == tag ) {
- *featureType = msn[i].mac_feature_type;
- *featureSetting = msn[i].mac_feature_setting;
-return( true );
- }
-
- *featureType = 0;
- *featureSetting = 0;
-return( false );
-}
-