*** empty log message ***
authorhanda <handa>
Tue, 14 Oct 2003 02:07:14 +0000 (02:07 +0000)
committerhanda <handa>
Tue, 14 Oct 2003 02:07:14 +0000 (02:07 +0000)
src/otfdrive.c

index 08b9007..14e422b 100644 (file)
@@ -155,6 +155,7 @@ setup_lookup_indices (OTF_LangSys *LangSys, OTF_FeatureList *FeatureList,
     {
       char tagname[4];
       OTF_Tag tag;
+      int negate = 0;
 
       if (*features == '*')
        {
@@ -169,6 +170,8 @@ setup_lookup_indices (OTF_LangSys *LangSys, OTF_FeatureList *FeatureList,
          break;
        }
 
+      if (*features == '~')
+       negate = 1, features++;
       for (i = 0; *features && *features != ','; i++, features++)
        tagname[i] = *features;
       if (*features)
@@ -182,8 +185,9 @@ setup_lookup_indices (OTF_LangSys *LangSys, OTF_FeatureList *FeatureList,
          feature = FeatureList->Feature + i;
          if (tag == feature->FeatureTag)
            {
-             for (j = 0; j < feature->LookupCount; j++)
-               lookup_indices[n++] = feature->LookupListIndex[j];
+             if (! negate)
+               for (j = 0; j < feature->LookupCount; j++)
+                 lookup_indices[n++] = feature->LookupListIndex[j];
              feature_table[i] = 1;
              break;
            }