renamed CFF version 1 structs and sources to CFF1 from CFF

"CFF" is used for shared structs & sources between CFF1 & CFF2
except OT:cff is for CFF version 1 table
diff --git a/src/Makefile.sources b/src/Makefile.sources
index edd9c65..f5e1a6d 100644
--- a/src/Makefile.sources
+++ b/src/Makefile.sources
@@ -26,7 +26,7 @@
 	hb-ot-color-cbdt-table.hh \
 	hb-ot-cmap-table.hh \
 	hb-ot-glyf-table.hh \
-	hb-ot-cff-table.hh \
+	hb-ot-cff1-table.hh \
 	hb-ot-cff2-table.hh \
 	hb-ot-hdmx-table.hh \
 	hb-ot-head-table.hh \
@@ -154,7 +154,7 @@
 	hb-ot-var-mvar-table.hh \
 	hb-cff-interp-common-private.hh \
 	hb-cff-interp-cs-common-private.hh \
-	hb-cff-interp-cs.hh \
+	hb-cff1-interp-cs.hh \
 	hb-cff-interp-dict-common-private.hh \
 	$(NULL)
 
@@ -215,7 +215,7 @@
 	hb-static.cc \
 	hb-subset.cc \
 	hb-subset-glyf.cc \
-  hb-subset-cff.cc \
+  hb-subset-cff1.cc \
   hb-subset-cff2.cc \
 	hb-subset-cff-common-private.cc \
 	hb-subset-input.cc \
@@ -225,7 +225,7 @@
 HB_SUBSET_headers = \
 	hb-subset.h \
 	hb-subset-glyf.hh \
-  hb-subset-cff.hh \
+  hb-subset-cff1.hh \
   hb-subset-cff2.hh \
 	hb-subset-cff-common-private.hh \
 	hb-subset-plan.hh \
diff --git a/src/hb-cff-interp-cs.hh b/src/hb-cff1-interp-cs.hh
similarity index 93%
rename from src/hb-cff-interp-cs.hh
rename to src/hb-cff1-interp-cs.hh
index 867ef24..33a63cc 100644
--- a/src/hb-cff-interp-cs.hh
+++ b/src/hb-cff1-interp-cs.hh
@@ -23,21 +23,21 @@
  *
  * Adobe Author(s): Michiharu Ariza
  */
-#ifndef HB_CFF_INTERP_CS_HH
-#define HB_CFF_INTERP_CS_HH
+#ifndef HB_CFF1_INTERP_CS_HH
+#define HB_CFF1_INTERP_CS_HH
 
 #include "hb-private.hh"
-#include "hb-cff-interp-cs.hh"
+#include "hb-cff-interp-cs-common-private.hh"
 
 namespace CFF {
 
 using namespace OT;
 
-struct CFFCSInterpEnv : CSInterpEnv<CFFSubrs>
+struct CFF1CSInterpEnv : CSInterpEnv<CFF1Subrs>
 {
-  inline void init (const ByteStr &str, const CFFSubrs &globalSubrs, const CFFSubrs &localSubrs)
+  inline void init (const ByteStr &str, const CFF1Subrs &globalSubrs, const CFF1Subrs &localSubrs)
   {
-    CSInterpEnv<CFFSubrs>::init (str, globalSubrs, localSubrs);
+    CSInterpEnv<CFF1Subrs>::init (str, globalSubrs, localSubrs);
     seen_width = false;
     seen_moveto = true;
     seen_hintmask = false;
@@ -101,9 +101,9 @@
 };
 
 template <typename PARAM>
-struct CFFCSOpSet : CSOpSet<CFFSubrs, PARAM>
+struct CFF1CSOpSet : CSOpSet<CFF1Subrs, PARAM>
 {
-  static inline bool process_op (OpCode op, CFFCSInterpEnv &env, PARAM& param)
+  static inline bool process_op (OpCode op, CFF1CSInterpEnv &env, PARAM& param)
   {
     Number  n1, n2;
 
@@ -265,7 +265,7 @@
         env.clear_stack ();
         break;
       default:
-        typedef CSOpSet<CFFSubrs, PARAM>  SUPER;
+        typedef CSOpSet<CFF1Subrs, PARAM>  SUPER;
         if (unlikely (!SUPER::process_op (op, env, param)))
           return false;
         env.process_width ();
@@ -276,8 +276,8 @@
 };
 
 template <typename OPSET, typename PARAM>
-struct CFFCSInterpreter : CSInterpreter<CFFCSInterpEnv, OPSET, PARAM> {};
+struct CFF1CSInterpreter : CSInterpreter<CFF1CSInterpEnv, OPSET, PARAM> {};
 
 } /* namespace CFF */
 
-#endif /* HB_CFF_INTERP_CS_HH */
+#endif /* HB_CFF1_INTERP_CS_HH */
diff --git a/src/hb-ot-cff-table.hh b/src/hb-ot-cff1-table.hh
similarity index 81%
rename from src/hb-ot-cff-table.hh
rename to src/hb-ot-cff1-table.hh
index 7b17ef1..10a9599 100644
--- a/src/hb-ot-cff-table.hh
+++ b/src/hb-ot-cff1-table.hh
@@ -24,11 +24,11 @@
  * Adobe Author(s): Michiharu Ariza
  */
 
-#ifndef HB_OT_CFF_TABLE_HH
-#define HB_OT_CFF_TABLE_HH
+#ifndef HB_OT_CFF1_TABLE_HH
+#define HB_OT_CFF1_TABLE_HH
 
 #include "hb-ot-cff-common-private.hh"
-#include "hb-subset-cff.hh"
+#include "hb-subset-cff1.hh"
 
 namespace CFF {
 
@@ -38,15 +38,15 @@
  */
 #define HB_OT_TAG_cff HB_TAG('C','F','F',' ')
 
-typedef Index<HBUINT16>   CFFIndex;
-template <typename Type> struct CFFIndexOf : IndexOf<HBUINT16, Type> {};
+typedef Index<HBUINT16>   CFF1Index;
+template <typename Type> struct CFF1IndexOf : IndexOf<HBUINT16, Type> {};
 
-typedef Index<HBUINT16>   CFFIndex;
-typedef CFFIndex          CFFCharStrings;
-typedef FDArray<HBUINT16> CFFFDArray;
-typedef Subrs<HBUINT16>   CFFSubrs;
+typedef Index<HBUINT16>   CFF1Index;
+typedef CFF1Index         CFF1CharStrings;
+typedef FDArray<HBUINT16> CFF1FDArray;
+typedef Subrs<HBUINT16>   CFF1Subrs;
 
-struct CFFFDSelect : FDSelect {};
+struct CFF1FDSelect : FDSelect {};
 
 /* Encoding */
 struct Encoding0 {
@@ -133,7 +133,7 @@
   DEFINE_SIZE_STATIC (3);
 };
 
-struct CFFSuppEncData {
+struct CFF1SuppEncData {
   inline bool sanitize (hb_sanitize_context_t *c) const
   {
     TRACE_SANITIZE (this);
@@ -207,12 +207,12 @@
     return false;
   }
 
-  inline const CFFSuppEncData &suppEncData (void) const
+  inline const CFF1SuppEncData &suppEncData (void) const
   {
     if ((format & 0x7F) == 0)
-      return StructAfter<CFFSuppEncData> (u.format0.codes[u.format0.nCodes-1]);
+      return StructAfter<CFF1SuppEncData> (u.format0.codes[u.format0.nCodes-1]);
     else
-      return StructAfter<CFFSuppEncData> (u.format1.ranges[u.format1.nRanges-1]);
+      return StructAfter<CFF1SuppEncData> (u.format1.ranges[u.format1.nRanges-1]);
   }
 
   HBUINT8       format;
@@ -220,7 +220,7 @@
     Encoding0   format0;
     Encoding1   format1;
   } u;
-  /* CFFSuppEncData  suppEncData; */
+  /* CFF1SuppEncData  suppEncData; */
 
   DEFINE_SIZE_MIN (1);
 };
@@ -356,7 +356,7 @@
   DEFINE_SIZE_MIN (1);
 };
 
-struct CFFTopDictValues : TopDictValues
+struct CFF1TopDictValues : TopDictValues
 {
   inline void init (void)
   {
@@ -407,9 +407,9 @@
   TableInfo     privateDictInfo;
 };
 
-struct CFFTopDictOpSet : TopDictOpSet
+struct CFF1TopDictOpSet : TopDictOpSet
 {
-  static inline bool process_op (OpCode op, InterpEnv& env, CFFTopDictValues& dictval)
+  static inline bool process_op (OpCode op, InterpEnv& env, CFF1TopDictValues& dictval)
   {
   
     switch (op) {
@@ -493,7 +493,7 @@
   }
 };
 
-struct CFFFontDictValues : DictValues<OpStr>
+struct CFF1FontDictValues : DictValues<OpStr>
 {
   inline void init (void)
   {
@@ -509,9 +509,9 @@
   TableInfo   privateDictInfo;
 };
 
-struct CFFFontDictOpSet : DictOpSet
+struct CFF1FontDictOpSet : DictOpSet
 {
-  static inline bool process_op (OpCode op, InterpEnv& env, CFFFontDictValues& dictval)
+  static inline bool process_op (OpCode op, InterpEnv& env, CFF1FontDictValues& dictval)
   {
     switch (op) {
       case OpCode_FontName:
@@ -540,13 +540,13 @@
 };
 
 template <typename VAL>
-struct CFFPrivateDictValues_Base : DictValues<VAL>
+struct CFF1PrivateDictValues_Base : DictValues<VAL>
 {
   inline void init (void)
   {
     DictValues<VAL>::init ();
     subrsOffset = 0;
-    localSubrs = &Null(CFFSubrs);
+    localSubrs = &Null(CFF1Subrs);
   }
 
   inline void fini (void)
@@ -566,15 +566,15 @@
   }
 
   unsigned int      subrsOffset;
-  const CFFSubrs    *localSubrs;
+  const CFF1Subrs    *localSubrs;
 };
 
-typedef CFFPrivateDictValues_Base<OpStr> CFFPrivateDictValues_Subset;
-typedef CFFPrivateDictValues_Base<DictVal> CFFPrivateDictValues;
+typedef CFF1PrivateDictValues_Base<OpStr> CFF1PrivateDictValues_Subset;
+typedef CFF1PrivateDictValues_Base<DictVal> CFF1PrivateDictValues;
 
-struct CFFPrivateDictOpSet : DictOpSet
+struct CFF1PrivateDictOpSet : DictOpSet
 {
-  static inline bool process_op (OpCode op, InterpEnv& env, CFFPrivateDictValues& dictval)
+  static inline bool process_op (OpCode op, InterpEnv& env, CFF1PrivateDictValues& dictval)
   {
     DictVal val;
     val.init ();
@@ -622,9 +622,9 @@
   }
 };
 
-struct CFFPrivateDictOpSet_Subset : DictOpSet
+struct CFF1PrivateDictOpSet_Subset : DictOpSet
 {
-  static inline bool process_op (OpCode op, InterpEnv& env, CFFPrivateDictValues_Subset& dictval)
+  static inline bool process_op (OpCode op, InterpEnv& env, CFF1PrivateDictValues_Subset& dictval)
   {
     switch (op) {
       case OpCode_BlueValues:
@@ -665,13 +665,13 @@
   }
 };
 
-typedef DictInterpreter<CFFTopDictOpSet, CFFTopDictValues> CFFTopDict_Interpreter;
-typedef DictInterpreter<CFFFontDictOpSet, CFFFontDictValues> CFFFontDict_Interpreter;
-typedef DictInterpreter<CFFPrivateDictOpSet, CFFPrivateDictValues> CFFPrivateDict_Interpreter;
+typedef DictInterpreter<CFF1TopDictOpSet, CFF1TopDictValues> CFF1TopDict_Interpreter;
+typedef DictInterpreter<CFF1FontDictOpSet, CFF1FontDictValues> CFF1FontDict_Interpreter;
+typedef DictInterpreter<CFF1PrivateDictOpSet, CFF1PrivateDictValues> CFF1PrivateDict_Interpreter;
 
-typedef CFFIndex NameIndex;
-typedef CFFIndexOf<TopDict> TopDictIndex;
-typedef CFFIndex StringIndex;
+typedef CFF1Index CFF1NameIndex;
+typedef CFF1IndexOf<TopDict> CFF1TopDictIndex;
+typedef CFF1Index CFF1StringIndex;
 
 }; /* namespace CFF */
 
@@ -713,17 +713,17 @@
       { fini (); return; }
 
       nameIndex = &cff->nameIndex (cff);
-      if ((nameIndex == &Null (NameIndex)) || !nameIndex->sanitize (&sc))
+      if ((nameIndex == &Null (CFF1NameIndex)) || !nameIndex->sanitize (&sc))
       { fini (); return; }
 
-      topDictIndex = &StructAtOffset<TopDictIndex> (nameIndex, nameIndex->get_size ());
-      if ((topDictIndex == &Null (TopDictIndex)) || !topDictIndex->sanitize (&sc) || (topDictIndex->count == 0))
+      topDictIndex = &StructAtOffset<CFF1TopDictIndex> (nameIndex, nameIndex->get_size ());
+      if ((topDictIndex == &Null (CFF1TopDictIndex)) || !topDictIndex->sanitize (&sc) || (topDictIndex->count == 0))
       { fini (); return; }
 
       { /* parse top dict */
         const ByteStr topDictStr = (*topDictIndex)[0];
         if (unlikely (!topDictStr.sanitize (&sc))) { fini (); return; }
-        CFFTopDict_Interpreter top_interp;
+        CFF1TopDict_Interpreter top_interp;
         top_interp.env.init (topDictStr);
         if (unlikely (!top_interp.interpret (topDicts[0]))) { fini (); return; }
       }
@@ -734,20 +734,20 @@
       fdCount = 1;
       if (is_CID ())
       {
-        fdArray = &StructAtOffsetOrNull<CFFFDArray> (cff, topDicts[0].FDArrayOffset);
-        fdSelect = &StructAtOffsetOrNull<CFFFDSelect> (cff, topDicts[0].FDSelectOffset);
-        if (unlikely ((fdArray == &Null(CFFFDArray)) || !fdArray->sanitize (&sc) ||
-            (fdSelect == &Null(CFFFDSelect)) || !fdSelect->sanitize (&sc, fdArray->count)))
+        fdArray = &StructAtOffsetOrNull<CFF1FDArray> (cff, topDicts[0].FDArrayOffset);
+        fdSelect = &StructAtOffsetOrNull<CFF1FDSelect> (cff, topDicts[0].FDSelectOffset);
+        if (unlikely ((fdArray == &Null(CFF1FDArray)) || !fdArray->sanitize (&sc) ||
+            (fdSelect == &Null(CFF1FDSelect)) || !fdSelect->sanitize (&sc, fdArray->count)))
         { fini (); return; }
 
         fdCount = fdArray->count;
       }
       else
       {
-        fdArray = &Null(CFFFDArray);
-        fdSelect = &Null(CFFFDSelect);
-        if (topDicts[0].EncodingOffset != CFFTopDictValues::StandardEncoding &&
-            topDicts[0].EncodingOffset != CFFTopDictValues::ExpertEncoding)
+        fdArray = &Null(CFF1FDArray);
+        fdSelect = &Null(CFF1FDSelect);
+        if (topDicts[0].EncodingOffset != CFF1TopDictValues::StandardEncoding &&
+            topDicts[0].EncodingOffset != CFF1TopDictValues::ExpertEncoding)
         {
           encoding = &StructAtOffsetOrNull<Encoding> (cff, topDicts[0].EncodingOffset);
           if ((encoding == &Null (Encoding)) || !encoding->sanitize (&sc))
@@ -755,17 +755,17 @@
         }
       }
 
-      stringIndex = &StructAtOffset<StringIndex> (topDictIndex, topDictIndex->get_size ());
-      if ((stringIndex == &Null (StringIndex)) || !stringIndex->sanitize (&sc))
+      stringIndex = &StructAtOffset<CFF1StringIndex> (topDictIndex, topDictIndex->get_size ());
+      if ((stringIndex == &Null (CFF1StringIndex)) || !stringIndex->sanitize (&sc))
       { fini (); return; }
 
-      globalSubrs = &StructAtOffset<CFFSubrs> (stringIndex, stringIndex->get_size ());
-      if ((globalSubrs != &Null (CFFSubrs)) && !stringIndex->sanitize (&sc))
+      globalSubrs = &StructAtOffset<CFF1Subrs> (stringIndex, stringIndex->get_size ());
+      if ((globalSubrs != &Null (CFF1Subrs)) && !stringIndex->sanitize (&sc))
       { fini (); return; }
 
-      charStrings = &StructAtOffsetOrNull<CFFCharStrings> (cff, topDicts[0].charStringsOffset);
+      charStrings = &StructAtOffsetOrNull<CFF1CharStrings> (cff, topDicts[0].charStringsOffset);
 
-      if ((charStrings == &Null(CFFCharStrings)) || unlikely (!charStrings->sanitize (&sc)))
+      if ((charStrings == &Null(CFF1CharStrings)) || unlikely (!charStrings->sanitize (&sc)))
       { fini (); return; }
 
       num_glyphs = charStrings->count;
@@ -783,8 +783,8 @@
         {
           ByteStr fontDictStr = (*fdArray)[i];
           if (unlikely (!fontDictStr.sanitize (&sc))) { fini (); return; }
-          CFFFontDictValues  *font;
-          CFFFontDict_Interpreter font_interp;
+          CFF1FontDictValues  *font;
+          CFF1FontDict_Interpreter font_interp;
           font_interp.env.init (fontDictStr);
           font = fontDicts.push ();
           if (unlikely (!font_interp.interpret (*font))) { fini (); return; }
@@ -795,15 +795,15 @@
           priv_interp.env.init (privDictStr);
           if (unlikely (!priv_interp.interpret (*priv))) { fini (); return; }
 
-          priv->localSubrs = &StructAtOffsetOrNull<CFFSubrs> (privDictStr.str, priv->subrsOffset);
-          if (priv->localSubrs != &Null(CFFSubrs) &&
+          priv->localSubrs = &StructAtOffsetOrNull<CFF1Subrs> (privDictStr.str, priv->subrsOffset);
+          if (priv->localSubrs != &Null(CFF1Subrs) &&
               unlikely (!priv->localSubrs->sanitize (&sc)))
           { fini (); return; }
         }
       }
       else  /* non-CID */
       {
-        CFFTopDictValues  *font = &topDicts[0];
+        CFF1TopDictValues  *font = &topDicts[0];
         PrivDictVal  *priv = &privateDicts[0];
         
         const ByteStr privDictStr (StructAtOffset<UnsizedByteStr> (cff, font->privateDictInfo.offset), font->privateDictInfo.size);
@@ -812,8 +812,8 @@
         priv_interp.env.init (privDictStr);
         if (unlikely (!priv_interp.interpret (*priv))) { fini (); return; }
 
-        priv->localSubrs = &StructAtOffsetOrNull<CFFSubrs> (privDictStr.str, priv->subrsOffset);
-        if (priv->localSubrs != &Null(CFFSubrs) &&
+        priv->localSubrs = &StructAtOffsetOrNull<CFF1Subrs> (privDictStr.str, priv->subrsOffset);
+        if (priv->localSubrs != &Null(CFF1Subrs) &&
             unlikely (!priv->localSubrs->sanitize (&sc)))
         { fini (); return; }
       }
@@ -848,33 +848,33 @@
     hb_sanitize_context_t   sc;
 
     public:
-    const NameIndex         *nameIndex;
-    const TopDictIndex      *topDictIndex;
-    const StringIndex       *stringIndex;
+    const CFF1NameIndex     *nameIndex;
+    const CFF1TopDictIndex  *topDictIndex;
+    const CFF1StringIndex   *stringIndex;
     const Encoding          *encoding;
     const Charset           *charset;
-    const CFFSubrs          *globalSubrs;
-    const CFFCharStrings    *charStrings;
-    const CFFFDArray        *fdArray;
-    const CFFFDSelect       *fdSelect;
+    const CFF1Subrs         *globalSubrs;
+    const CFF1CharStrings   *charStrings;
+    const CFF1FDArray       *fdArray;
+    const CFF1FDSelect      *fdSelect;
     unsigned int            fdCount;
 
-    hb_vector_t<CFFTopDictValues>     topDicts;
-    hb_vector_t<CFFFontDictValues>    fontDicts;
+    hb_vector_t<CFF1TopDictValues>    topDicts;
+    hb_vector_t<CFF1FontDictValues>   fontDicts;
     hb_vector_t<PrivDictVal>          privateDicts;
 
     unsigned int            num_glyphs;
   };
 
-  typedef accelerator_templ_t<CFFPrivateDictOpSet, CFFPrivateDictValues> accelerator_t;
-  typedef accelerator_templ_t<CFFPrivateDictOpSet_Subset, CFFPrivateDictValues_Subset> accelerator_subset_t;
+  typedef accelerator_templ_t<CFF1PrivateDictOpSet, CFF1PrivateDictValues> accelerator_t;
+  typedef accelerator_templ_t<CFF1PrivateDictOpSet_Subset, CFF1PrivateDictValues_Subset> accelerator_subset_t;
 
   inline bool subset (hb_subset_plan_t *plan) const
   {
     hb_blob_t *cff_prime = nullptr;
 
     bool success = true;
-    if (hb_subset_cff (plan, &cff_prime)) {
+    if (hb_subset_cff1 (plan, &cff_prime)) {
       success = success && plan->add_table (HB_OT_TAG_cff, cff_prime);
     } else {
       success = false;
@@ -886,7 +886,7 @@
 
   public:
   FixedVersion<HBUINT8> version;          /* Version of CFF table. set to 0x0100u */
-  OffsetTo<NameIndex, HBUINT8> nameIndex; /* headerSize = Offset to Name INDEX. */
+  OffsetTo<CFF1NameIndex, HBUINT8> nameIndex; /* headerSize = Offset to Name INDEX. */
   HBUINT8               offSize;          /* offset size (unused?) */
 
   public:
@@ -895,4 +895,4 @@
 
 } /* namespace OT */
 
-#endif /* HB_OT_CFF_TABLE_HH */
+#endif /* HB_OT_CFF1_TABLE_HH */
diff --git a/src/hb-ot-font.cc b/src/hb-ot-font.cc
index 8c37acd..01c4b83 100644
--- a/src/hb-ot-font.cc
+++ b/src/hb-ot-font.cc
@@ -33,7 +33,7 @@
 
 #include "hb-ot-cmap-table.hh"
 #include "hb-ot-glyf-table.hh"
-#include "hb-ot-cff-table.hh"
+#include "hb-ot-cff1-table.hh"
 #include "hb-ot-cff2-table.hh"
 #include "hb-ot-hmtx-table.hh"
 #include "hb-ot-kern-table.hh"
diff --git a/src/hb-subset-cff.cc b/src/hb-subset-cff1.cc
similarity index 87%
rename from src/hb-subset-cff.cc
rename to src/hb-subset-cff1.cc
index 3d47e22..228687a 100644
--- a/src/hb-subset-cff.cc
+++ b/src/hb-subset-cff1.cc
@@ -25,23 +25,23 @@
  */
 
 #include "hb-open-type-private.hh"
-#include "hb-ot-cff-table.hh"
+#include "hb-ot-cff1-table.hh"
 #include "hb-set.h"
-#include "hb-subset-cff.hh"
+#include "hb-subset-cff1.hh"
 #include "hb-subset-plan.hh"
 #include "hb-subset-cff-common-private.hh"
-#include "hb-cff-interp-cs.hh"
+#include "hb-cff1-interp-cs.hh"
 
 using namespace CFF;
 
-struct CFFSubTableOffsets {
-  inline CFFSubTableOffsets (void)
+struct CFF1SubTableOffsets {
+  inline CFF1SubTableOffsets (void)
   {
     memset (this, 0, sizeof(*this));
     localSubrsInfos.init ();
   }
 
-  inline ~CFFSubTableOffsets (void)
+  inline ~CFF1SubTableOffsets (void)
   {
     localSubrsInfos.fini ();
   }
@@ -59,11 +59,11 @@
   hb_vector_t<TableInfo>  localSubrsInfos;
 };
 
-struct CFFTopDict_OpSerializer : OpSerializer
+struct CFF1TopDict_OpSerializer : OpSerializer
 {
   inline bool serialize (hb_serialize_context_t *c,
                          const OpStr &opstr,
-                         const CFFSubTableOffsets &offsets) const
+                         const CFF1SubTableOffsets &offsets) const
   {
     TRACE_SERIALIZE (this);
 
@@ -122,7 +122,7 @@
   }
 };
 
-struct CFFFontDict_OpSerializer : OpSerializer
+struct CFF1FontDict_OpSerializer : OpSerializer
 {
   inline bool serialize (hb_serialize_context_t *c,
                          const OpStr &opstr,
@@ -165,7 +165,7 @@
   }
 };
 
-struct CFFPrivateDict_OpSerializer : OpSerializer
+struct CFF1PrivateDict_OpSerializer : OpSerializer
 {
   inline bool serialize (hb_serialize_context_t *c,
                          const OpStr &opstr,
@@ -188,9 +188,9 @@
   }
 };
 
-struct CFFCSOpSet_SubrSubset : CFFCSOpSet<SubrRefMapPair>
+struct CFF1CSOpSet_SubrSubset : CFF1CSOpSet<SubrRefMapPair>
 {
-  static inline bool process_op (OpCode op, CFFCSInterpEnv &env, SubrRefMapPair& refMapPair)
+  static inline bool process_op (OpCode op, CFF1CSInterpEnv &env, SubrRefMapPair& refMapPair)
   {
     unsigned int  subr_num;
     switch (op) {
@@ -209,7 +209,7 @@
       default:
         break;
     }
-    return CFFCSOpSet<SubrRefMapPair>::process_op (op, env, refMapPair);
+    return CFF1CSOpSet<SubrRefMapPair>::process_op (op, env, refMapPair);
   }
 };
 
@@ -255,10 +255,10 @@
     /* top dict INDEX */
     {
       offsets.topDictInfo.offset = final_size;
-      CFFTopDict_OpSerializer topSzr;
+      CFF1TopDict_OpSerializer topSzr;
       unsigned int topDictSize = TopDict::calculate_serialized_size (acc.topDicts[0], topSzr);
       offsets.topDictInfo.offSize = calcOffSize(topDictSize);
-      final_size += CFFIndexOf<TopDict>::calculate_serialized_size<CFFTopDictValues> (offsets.topDictInfo.offSize, acc.topDicts, topdict_sizes, topSzr);
+      final_size += CFF1IndexOf<TopDict>::calculate_serialized_size<CFF1TopDictValues> (offsets.topDictInfo.offSize, acc.topDicts, topdict_sizes, topSzr);
     }
 
     /* String INDEX */
@@ -267,7 +267,7 @@
     
     /* Subset global & local subrs */
     {
-      SubrSubsetter<const OT::cff::accelerator_subset_t, CFFCSInterpEnv, CFFCSOpSet_SubrSubset> subsetter(acc, plan->glyphs);
+      SubrSubsetter<const OT::cff::accelerator_subset_t, CFF1CSInterpEnv, CFF1CSOpSet_SubrSubset> subsetter(acc, plan->glyphs);
       if (!subsetter.collect_refs (subrRefMaps))
         return false;
       
@@ -293,7 +293,7 @@
       final_size += acc.charset->get_size (acc.num_glyphs);
 
     /* FDSelect */
-    if (acc.fdSelect != &Null(CFFFDSelect))
+    if (acc.fdSelect != &Null(CFF1FDSelect))
     {
       offsets.FDSelectInfo.offset = final_size;
       if (unlikely (!hb_plan_subset_cff_fdselect (plan->glyphs,
@@ -312,10 +312,10 @@
     }
 
     /* FDArray (FDIndex) */
-    if (acc.fdArray != &Null(CFFFDArray)) {
+    if (acc.fdArray != &Null(CFF1FDArray)) {
       offsets.FDArrayInfo.offset = final_size;
-      CFFFontDict_OpSerializer fontSzr;
-      final_size += CFFFDArray::calculate_serialized_size(offsets.FDArrayInfo.offSize/*OUT*/, acc.fontDicts, subst_fdcount, fdmap, fontSzr);
+      CFF1FontDict_OpSerializer fontSzr;
+      final_size += CFF1FDArray::calculate_serialized_size(offsets.FDArrayInfo.offSize/*OUT*/, acc.fontDicts, subst_fdcount, fdmap, fontSzr);
     }
 
     /* CharStrings */
@@ -329,7 +329,7 @@
         dataSize += str.len;
       }
       offsets.charStringsInfo.offSize = calcOffSize (dataSize + 1);
-      final_size += CFFCharStrings::calculate_serialized_size (offsets.charStringsInfo.offSize, plan->glyphs.len, dataSize);
+      final_size += CFF1CharStrings::calculate_serialized_size (offsets.charStringsInfo.offSize, plan->glyphs.len, dataSize);
     }
 
     /* private dicts & local subrs */
@@ -338,7 +338,7 @@
     {
       if (!fdmap.excludes (i))
       {
-        CFFPrivateDict_OpSerializer privSzr;
+        CFF1PrivateDict_OpSerializer privSzr;
         TableInfo  privInfo = { final_size, PrivateDict::calculate_serialized_size (acc.privateDicts[i], privSzr), 0 };
         privateDictInfos.push (privInfo);
         final_size += privInfo.size + offsets.localSubrsInfos[i].size;
@@ -355,7 +355,7 @@
 
   unsigned int        final_size;
   hb_vector_t<unsigned int> topdict_sizes;
-  CFFSubTableOffsets  offsets;
+  CFF1SubTableOffsets  offsets;
 
   unsigned int    orig_fdcount;
   unsigned int    subst_fdcount;
@@ -373,7 +373,7 @@
   SubrRefMaps             subrRefMaps;
 };
 
-static inline bool _write_cff (const cff_subset_plan &plan,
+static inline bool _write_cff1 (const cff_subset_plan &plan,
                                 const OT::cff::accelerator_subset_t  &acc,
                                 const hb_vector_t<hb_codepoint_t>& glyphs,
                                 unsigned int dest_sz,
@@ -397,7 +397,7 @@
   /* name INDEX */
   {
     assert (cff->nameIndex == c.head - c.start);
-    NameIndex *dest = c.start_embed<NameIndex> ();
+    CFF1NameIndex *dest = c.start_embed<CFF1NameIndex> ();
     if (unlikely (dest == nullptr)) return false;
     if (unlikely (!dest->serialize (&c, *acc.nameIndex)))
     {
@@ -409,9 +409,9 @@
   /* top dict INDEX */
   {
     assert (plan.offsets.topDictInfo.offset == c.head - c.start);
-    CFFIndexOf<TopDict> *dest = c.start_embed< CFFIndexOf<TopDict> > ();
+    CFF1IndexOf<TopDict> *dest = c.start_embed< CFF1IndexOf<TopDict> > ();
     if (dest == nullptr) return false;
-    CFFTopDict_OpSerializer topSzr;
+    CFF1TopDict_OpSerializer topSzr;
     if (unlikely (!dest->serialize (&c, plan.offsets.topDictInfo.offSize, acc.topDicts, plan.topdict_sizes, topSzr, plan.offsets)))
     {
       DEBUG_MSG (SUBSET, nullptr, "failed to serialize CFF top dict");
@@ -422,7 +422,7 @@
   /* String INDEX */
   {
     assert (plan.offsets.stringIndexOffset == c.head - c.start);
-    StringIndex *dest = c.start_embed<StringIndex> ();
+    CFF1StringIndex *dest = c.start_embed<CFF1StringIndex> ();
     if (unlikely (dest == nullptr)) return false;
     if (unlikely (!dest->serialize (&c, *acc.stringIndex)))
     {
@@ -434,7 +434,7 @@
   /* global subrs */
   {
     assert (plan.offsets.globalSubrsInfo.offset == c.head - c.start);
-    CFFSubrs *dest = c.start_embed<CFFSubrs> ();
+    CFF1Subrs *dest = c.start_embed<CFF1Subrs> ();
     if (unlikely (dest == nullptr)) return false;
     if (unlikely (!dest->serialize (&c, *acc.globalSubrs, plan.offsets.globalSubrsInfo.offSize, plan.subrRefMaps.global_map, NULL_SUBR)))
     {
@@ -469,7 +469,7 @@
   }
 
   /* FDSelect */
-  if (acc.fdSelect != &Null(CFFFDSelect))
+  if (acc.fdSelect != &Null(CFF1FDSelect))
   {
     assert (plan.offsets.FDSelectInfo.offset == c.head - c.start);
     
@@ -486,7 +486,7 @@
     }
     else
     {
-      CFFFDSelect *dest = c.start_embed<CFFFDSelect> ();
+      CFF1FDSelect *dest = c.start_embed<CFF1FDSelect> ();
       if (unlikely (!dest->serialize (&c, *acc.fdSelect, acc.num_glyphs)))
       {
         DEBUG_MSG (SUBSET, nullptr, "failed to serialize CFF FDSelect");
@@ -496,12 +496,12 @@
   }
 
   /* FDArray (FD Index) */
-  if (acc.fdArray != &Null(CFFFDArray))
+  if (acc.fdArray != &Null(CFF1FDArray))
   {
     assert (plan.offsets.FDArrayInfo.offset == c.head - c.start);
-    CFFFDArray  *fda = c.start_embed<CFFFDArray> ();
+    CFF1FDArray  *fda = c.start_embed<CFF1FDArray> ();
     if (unlikely (fda == nullptr)) return false;
-    CFFFontDict_OpSerializer  fontSzr;
+    CFF1FontDict_OpSerializer  fontSzr;
     if (unlikely (!fda->serialize (&c, plan.offsets.FDArrayInfo.offSize,
                                    acc.fontDicts, plan.subst_fdcount, plan.fdmap,
                                    fontSzr, plan.privateDictInfos)))
@@ -514,7 +514,7 @@
   /* CharStrings */
   {
     assert (plan.offsets.charStringsInfo.offset == c.head - c.start);
-    CFFCharStrings  *cs = c.start_embed<CFFCharStrings> ();
+    CFF1CharStrings  *cs = c.start_embed<CFF1CharStrings> ();
     if (unlikely (cs == nullptr)) return false;
     if (unlikely (!cs->serialize (&c, plan.offsets.charStringsInfo.offSize, plan.subset_charstrings)))
     {
@@ -531,7 +531,7 @@
     {
       PrivateDict  *pd = c.start_embed<PrivateDict> ();
       if (unlikely (pd == nullptr)) return false;
-      CFFPrivateDict_OpSerializer privSzr;
+      CFF1PrivateDict_OpSerializer privSzr;
       /* N.B. local subrs immediately follows its corresponding private dict. i.e., subr offset == private dict size */
       if (unlikely (!pd->serialize (&c, acc.privateDicts[i], privSzr, plan.privateDictInfos[plan.fdmap[i]].size)))
       {
@@ -540,8 +540,8 @@
       }
       if (acc.privateDicts[i].subrsOffset != 0)
       {
-        CFFSubrs *subrs = c.start_embed<CFFSubrs> ();
-        if (unlikely (subrs == nullptr) || acc.privateDicts[i].localSubrs == &Null(CFFSubrs))
+        CFF1Subrs *subrs = c.start_embed<CFF1Subrs> ();
+        if (unlikely (subrs == nullptr) || acc.privateDicts[i].localSubrs == &Null(CFF1Subrs))
         {
           DEBUG_MSG (SUBSET, nullptr, "CFF subset: local subrs unexpectedly null [%d]", i);
           return false;
@@ -561,7 +561,7 @@
 }
 
 static bool
-_hb_subset_cff (const OT::cff::accelerator_subset_t  &acc,
+_hb_subset_cff1 (const OT::cff::accelerator_subset_t  &acc,
                 const char                      *data,
                 hb_subset_plan_t                *plan,
                 hb_blob_t                       **prime /* OUT */)
@@ -577,7 +577,7 @@
   unsigned int  cff_prime_size = cff_plan.get_final_size ();
   char *cff_prime_data = (char *) calloc (1, cff_prime_size);
 
-  if (unlikely (!_write_cff (cff_plan, acc, plan->glyphs,
+  if (unlikely (!_write_cff1 (cff_plan, acc, plan->glyphs,
                               cff_prime_size, cff_prime_data))) {
     DEBUG_MSG(SUBSET, nullptr, "Failed to write a subset cff.");
     free (cff_prime_data);
@@ -593,13 +593,13 @@
 }
 
 /**
- * hb_subset_cff:
+ * hb_subset_cff1:
  * Subsets the CFF table according to a provided plan.
  *
  * Return value: subsetted cff table.
  **/
 bool
-hb_subset_cff (hb_subset_plan_t *plan,
+hb_subset_cff1 (hb_subset_plan_t *plan,
                 hb_blob_t       **prime /* OUT */)
 {
   hb_blob_t *cff_blob = hb_sanitize_context_t().reference_table<CFF::cff> (plan->source);
@@ -608,7 +608,7 @@
   OT::cff::accelerator_subset_t acc;
   acc.init(plan->source);
   bool result = likely (acc.is_valid ()) &&
-                        _hb_subset_cff (acc, data, plan, prime);
+                        _hb_subset_cff1 (acc, data, plan, prime);
   hb_blob_destroy (cff_blob);
   acc.fini ();
 
diff --git a/src/hb-subset-cff.hh b/src/hb-subset-cff1.hh
similarity index 90%
rename from src/hb-subset-cff.hh
rename to src/hb-subset-cff1.hh
index 6c96603..729bc12 100644
--- a/src/hb-subset-cff.hh
+++ b/src/hb-subset-cff1.hh
@@ -24,15 +24,15 @@
  * Adobe Author(s): Michiharu Ariza
  */
 
-#ifndef HB_SUBSET_CFF_HH
-#define HB_SUBSET_CFF_HH
+#ifndef HB_SUBSET_CFF1_HH
+#define HB_SUBSET_CFF1_HH
 
 #include "hb-private.hh"
 
 #include "hb-subset-plan.hh"
 
 HB_INTERNAL bool
-hb_subset_cff (hb_subset_plan_t *plan,
+hb_subset_cff1 (hb_subset_plan_t *plan,
                hb_blob_t        **cff_prime /* OUT */);
 
-#endif /* HB_SUBSET_CFF_HH */
+#endif /* HB_SUBSET_CFF1_HH */
diff --git a/src/hb-subset.cc b/src/hb-subset.cc
index 0512597..98401a4 100644
--- a/src/hb-subset.cc
+++ b/src/hb-subset.cc
@@ -41,7 +41,7 @@
 #include "hb-ot-maxp-table.hh"
 #include "hb-ot-os2-table.hh"
 #include "hb-ot-post-table.hh"
-#include "hb-ot-cff-table.hh"
+#include "hb-ot-cff1-table.hh"
 #include "hb-ot-cff2-table.hh"