[cantarell-fonts/respacing] Remove redundant diacritic "ligatures" and f-ligatures



commit a2d6d67f1fba7e41d5bb2f2753719e6a68fc7c4f
Author: Nikolaus Waxweiler <madigens gmail com>
Date:   Mon Sep 9 00:08:11 2019 +0100

    Remove redundant diacritic "ligatures" and f-ligatures
    
    They were merely the components put into one composite.

 src/Cantarell-Bold.ufo/features.fea                | 55 +-------------
 src/Cantarell-Bold.ufo/glyphs/A_breveacute.glif    |  3 +-
 src/Cantarell-Bold.ufo/glyphs/A_brevegrave.glif    |  3 +-
 .../glyphs/A_brevehookabove.glif                   |  3 +-
 src/Cantarell-Bold.ufo/glyphs/A_brevetilde.glif    |  3 +-
 .../glyphs/A_circumflexacute.glif                  | 18 ++++-
 .../glyphs/A_circumflexgrave.glif                  | 18 ++++-
 .../glyphs/A_circumflexhookabove.glif              | 18 ++++-
 .../glyphs/A_circumflextilde.glif                  | 18 ++++-
 .../glyphs/E_circumflexacute.glif                  | 18 ++++-
 .../glyphs/E_circumflexgrave.glif                  | 18 ++++-
 .../glyphs/E_circumflexhookabove.glif              | 18 ++++-
 .../glyphs/E_circumflextilde.glif                  | 18 ++++-
 .../glyphs/O_circumflexacute.glif                  | 18 ++++-
 .../glyphs/O_circumflexgrave.glif                  | 18 ++++-
 .../glyphs/O_circumflexhookabove.glif              | 18 ++++-
 .../glyphs/O_circumflextilde.glif                  | 18 ++++-
 src/Cantarell-Bold.ufo/glyphs/abreveacute.glif     |  3 +-
 src/Cantarell-Bold.ufo/glyphs/abrevegrave.glif     |  3 +-
 src/Cantarell-Bold.ufo/glyphs/abrevehookabove.glif |  3 +-
 src/Cantarell-Bold.ufo/glyphs/abrevetilde.glif     |  3 +-
 .../glyphs/acircumflexacute.glif                   | 18 ++++-
 .../glyphs/acircumflexgrave.glif                   | 18 ++++-
 .../glyphs/acircumflexhookabove.glif               | 18 ++++-
 .../glyphs/acircumflextilde.glif                   |  3 +-
 .../glyphs/acutecomb_dotaccentcomb.glif            | 18 -----
 .../glyphs/brevecomb_acutecomb.case.glif           | 13 ----
 .../glyphs/brevecomb_acutecomb.glif                | 13 ----
 .../glyphs/brevecomb_gravecomb.case.glif           | 13 ----
 .../glyphs/brevecomb_gravecomb.glif                | 13 ----
 .../glyphs/brevecomb_hookabovecomb.case.glif       | 13 ----
 .../glyphs/brevecomb_hookabovecomb.glif            | 13 ----
 .../glyphs/brevecomb_tildecomb.case.glif           | 13 ----
 .../glyphs/brevecomb_tildecomb.glif                | 13 ----
 .../glyphs/caroncomb_dotaccentcomb.glif            | 18 -----
 .../glyphs/circumflexcomb_acutecomb.case.glif      | 24 ------
 .../glyphs/circumflexcomb_acutecomb.glif           | 29 -------
 .../glyphs/circumflexcomb_gravecomb.case.glif      | 24 ------
 .../glyphs/circumflexcomb_gravecomb.glif           | 29 -------
 .../glyphs/circumflexcomb_hookabovecomb.case.glif  | 24 ------
 .../glyphs/circumflexcomb_hookabovecomb.glif       | 24 ------
 .../glyphs/circumflexcomb_tildecomb.case.glif      | 24 ------
 .../glyphs/circumflexcomb_tildecomb.glif           | 13 ----
 src/Cantarell-Bold.ufo/glyphs/contents.plist       | 64 ----------------
 .../glyphs/dieresiscomb_acutecomb.glif             | 18 -----
 .../glyphs/dieresiscomb_caroncomb.glif             | 18 -----
 .../glyphs/dieresiscomb_gravecomb.glif             | 18 -----
 .../glyphs/dieresiscomb_macroncomb.glif            | 18 -----
 .../glyphs/dotaccentcomb_macroncomb.glif           | 13 ----
 .../glyphs/ecircumflexacute.glif                   | 18 ++++-
 .../glyphs/ecircumflexgrave.glif                   | 18 ++++-
 .../glyphs/ecircumflexhookabove.glif               | 18 ++++-
 .../glyphs/ecircumflextilde.glif                   |  3 +-
 src/Cantarell-Bold.ufo/glyphs/emacronacute.glif    |  3 +-
 src/Cantarell-Bold.ufo/glyphs/emacrongrave.glif    |  3 +-
 src/Cantarell-Bold.ufo/glyphs/f_f.glif             | 16 ----
 src/Cantarell-Bold.ufo/glyphs/f_f_i.glif           | 16 ----
 src/Cantarell-Bold.ufo/glyphs/f_f_l.glif           | 16 ----
 src/Cantarell-Bold.ufo/glyphs/idieresisacute.glif  |  3 +-
 src/Cantarell-Bold.ufo/glyphs/layerinfo.plist      | 64 ----------------
 .../glyphs/macroncomb_acutecomb.glif               | 18 -----
 .../glyphs/macroncomb_dieresiscomb.glif            | 13 ----
 .../glyphs/macroncomb_gravecomb.glif               | 18 -----
 .../glyphs/ocircumflexacute.glif                   | 18 ++++-
 .../glyphs/ocircumflexgrave.glif                   | 18 ++++-
 .../glyphs/ocircumflexhookabove.glif               | 18 ++++-
 .../glyphs/ocircumflextilde.glif                   |  3 +-
 src/Cantarell-Bold.ufo/glyphs/odieresismacron.glif |  3 +-
 .../glyphs/odotaccentmacron.glif                   |  3 +-
 src/Cantarell-Bold.ufo/glyphs/omacronacute.glif    |  3 +-
 src/Cantarell-Bold.ufo/glyphs/omacrongrave.glif    |  3 +-
 src/Cantarell-Bold.ufo/glyphs/otildeacute.glif     |  3 +-
 src/Cantarell-Bold.ufo/glyphs/otildedieresis.glif  |  3 +-
 src/Cantarell-Bold.ufo/glyphs/otildemacron.glif    |  3 +-
 src/Cantarell-Bold.ufo/glyphs/sacutedotaccent.glif | 18 ++++-
 src/Cantarell-Bold.ufo/glyphs/scarondotaccent.glif |  3 +-
 .../glyphs/tildecomb_acutecomb.glif                | 18 -----
 .../glyphs/tildecomb_dieresiscomb.glif             | 18 -----
 .../glyphs/tildecomb_macroncomb.glif               | 18 -----
 src/Cantarell-Bold.ufo/glyphs/udieresisacute.glif  |  3 +-
 src/Cantarell-Bold.ufo/glyphs/udieresiscaron.glif  |  3 +-
 src/Cantarell-Bold.ufo/glyphs/udieresisgrave.glif  |  3 +-
 src/Cantarell-Bold.ufo/glyphs/udieresismacron.glif |  3 +-
 src/Cantarell-Bold.ufo/glyphs/umacrondieresis.glif |  3 +-
 src/Cantarell-Bold.ufo/glyphs/utildeacute.glif     |  3 +-
 src/Cantarell-Bold.ufo/lib.plist                   | 88 ----------------------
 src/Cantarell-Light.ufo/features.fea               | 55 +-------------
 src/Cantarell-Light.ufo/glyphs/A_breveacute.glif   |  3 +-
 src/Cantarell-Light.ufo/glyphs/A_brevegrave.glif   |  3 +-
 .../glyphs/A_brevehookabove.glif                   |  3 +-
 src/Cantarell-Light.ufo/glyphs/A_brevetilde.glif   |  3 +-
 .../glyphs/A_circumflexacute.glif                  | 18 ++++-
 .../glyphs/A_circumflexgrave.glif                  | 18 ++++-
 .../glyphs/A_circumflexhookabove.glif              | 18 ++++-
 .../glyphs/A_circumflextilde.glif                  |  3 +-
 .../glyphs/E_circumflexacute.glif                  | 18 ++++-
 .../glyphs/E_circumflexgrave.glif                  | 18 ++++-
 .../glyphs/E_circumflexhookabove.glif              | 18 ++++-
 .../glyphs/E_circumflextilde.glif                  |  3 +-
 .../glyphs/O_circumflexacute.glif                  | 18 ++++-
 .../glyphs/O_circumflexgrave.glif                  | 18 ++++-
 .../glyphs/O_circumflexhookabove.glif              | 18 ++++-
 .../glyphs/O_circumflextilde.glif                  |  3 +-
 src/Cantarell-Light.ufo/glyphs/abreveacute.glif    |  3 +-
 src/Cantarell-Light.ufo/glyphs/abrevegrave.glif    |  3 +-
 .../glyphs/abrevehookabove.glif                    |  3 +-
 src/Cantarell-Light.ufo/glyphs/abrevetilde.glif    |  3 +-
 .../glyphs/acircumflexacute.glif                   | 18 ++++-
 .../glyphs/acircumflexgrave.glif                   | 18 ++++-
 .../glyphs/acircumflexhookabove.glif               | 18 ++++-
 .../glyphs/acircumflextilde.glif                   | 18 ++++-
 .../glyphs/acutecomb_dotaccentcomb.glif            | 18 -----
 .../glyphs/brevecomb_acutecomb.case.glif           | 13 ----
 .../glyphs/brevecomb_acutecomb.glif                | 13 ----
 .../glyphs/brevecomb_gravecomb.case.glif           | 13 ----
 .../glyphs/brevecomb_gravecomb.glif                | 13 ----
 .../glyphs/brevecomb_hookabovecomb.case.glif       | 13 ----
 .../glyphs/brevecomb_hookabovecomb.glif            | 13 ----
 .../glyphs/brevecomb_tildecomb.case.glif           | 13 ----
 .../glyphs/brevecomb_tildecomb.glif                | 13 ----
 .../glyphs/caroncomb_dotaccentcomb.glif            | 18 -----
 .../glyphs/circumflexcomb_acutecomb.case.glif      | 29 -------
 .../glyphs/circumflexcomb_acutecomb.glif           | 29 -------
 .../glyphs/circumflexcomb_gravecomb.case.glif      | 24 ------
 .../glyphs/circumflexcomb_gravecomb.glif           | 29 -------
 .../glyphs/circumflexcomb_hookabovecomb.case.glif  | 24 ------
 .../glyphs/circumflexcomb_hookabovecomb.glif       | 24 ------
 .../glyphs/circumflexcomb_tildecomb.case.glif      | 13 ----
 .../glyphs/circumflexcomb_tildecomb.glif           | 24 ------
 src/Cantarell-Light.ufo/glyphs/contents.plist      | 64 ----------------
 .../glyphs/dieresiscomb_acutecomb.glif             | 18 -----
 .../glyphs/dieresiscomb_caroncomb.glif             | 18 -----
 .../glyphs/dieresiscomb_gravecomb.glif             | 18 -----
 .../glyphs/dieresiscomb_macroncomb.glif            | 18 -----
 .../glyphs/dotaccentcomb_macroncomb.glif           | 13 ----
 .../glyphs/ecircumflexacute.glif                   | 18 ++++-
 .../glyphs/ecircumflexgrave.glif                   | 18 ++++-
 .../glyphs/ecircumflexhookabove.glif               | 18 ++++-
 .../glyphs/ecircumflextilde.glif                   | 18 ++++-
 src/Cantarell-Light.ufo/glyphs/emacronacute.glif   |  3 +-
 src/Cantarell-Light.ufo/glyphs/emacrongrave.glif   |  3 +-
 src/Cantarell-Light.ufo/glyphs/f_f.glif            | 16 ----
 src/Cantarell-Light.ufo/glyphs/f_f_i.glif          | 16 ----
 src/Cantarell-Light.ufo/glyphs/f_f_l.glif          | 16 ----
 src/Cantarell-Light.ufo/glyphs/idieresisacute.glif |  3 +-
 src/Cantarell-Light.ufo/glyphs/layerinfo.plist     | 64 ----------------
 .../glyphs/macroncomb_acutecomb.glif               | 18 -----
 .../glyphs/macroncomb_dieresiscomb.glif            | 13 ----
 .../glyphs/macroncomb_gravecomb.glif               | 18 -----
 .../glyphs/ocircumflexacute.glif                   | 18 ++++-
 .../glyphs/ocircumflexgrave.glif                   | 18 ++++-
 .../glyphs/ocircumflexhookabove.glif               | 18 ++++-
 .../glyphs/ocircumflextilde.glif                   | 18 ++++-
 .../glyphs/odieresismacron.glif                    |  3 +-
 .../glyphs/odotaccentmacron.glif                   |  3 +-
 src/Cantarell-Light.ufo/glyphs/omacronacute.glif   |  3 +-
 src/Cantarell-Light.ufo/glyphs/omacrongrave.glif   |  3 +-
 src/Cantarell-Light.ufo/glyphs/otildeacute.glif    |  3 +-
 src/Cantarell-Light.ufo/glyphs/otildedieresis.glif |  3 +-
 src/Cantarell-Light.ufo/glyphs/otildemacron.glif   |  3 +-
 .../glyphs/sacutedotaccent.glif                    | 18 ++++-
 .../glyphs/scarondotaccent.glif                    |  3 +-
 .../glyphs/tildecomb_acutecomb.glif                | 18 -----
 .../glyphs/tildecomb_dieresiscomb.glif             | 18 -----
 .../glyphs/tildecomb_macroncomb.glif               | 18 -----
 src/Cantarell-Light.ufo/glyphs/udieresisacute.glif |  3 +-
 src/Cantarell-Light.ufo/glyphs/udieresiscaron.glif |  3 +-
 src/Cantarell-Light.ufo/glyphs/udieresisgrave.glif |  3 +-
 .../glyphs/udieresismacron.glif                    |  3 +-
 .../glyphs/umacrondieresis.glif                    |  3 +-
 src/Cantarell-Light.ufo/glyphs/utildeacute.glif    |  3 +-
 src/Cantarell-Light.ufo/lib.plist                  | 88 ----------------------
 src/Cantarell-Regular.ufo/features.fea             | 55 +-------------
 src/Cantarell-Regular.ufo/glyphs/A_breveacute.glif |  3 +-
 src/Cantarell-Regular.ufo/glyphs/A_brevegrave.glif |  3 +-
 .../glyphs/A_brevehookabove.glif                   |  3 +-
 src/Cantarell-Regular.ufo/glyphs/A_brevetilde.glif |  3 +-
 .../glyphs/A_circumflexacute.glif                  | 18 ++++-
 .../glyphs/A_circumflexgrave.glif                  | 18 ++++-
 .../glyphs/A_circumflexhookabove.glif              | 18 ++++-
 .../glyphs/A_circumflextilde.glif                  |  3 +-
 .../glyphs/E_circumflexacute.glif                  | 18 ++++-
 .../glyphs/E_circumflexgrave.glif                  | 18 ++++-
 .../glyphs/E_circumflexhookabove.glif              | 18 ++++-
 .../glyphs/E_circumflextilde.glif                  |  3 +-
 .../glyphs/O_circumflexacute.glif                  | 18 ++++-
 .../glyphs/O_circumflexgrave.glif                  | 18 ++++-
 .../glyphs/O_circumflexhookabove.glif              | 18 ++++-
 .../glyphs/O_circumflextilde.glif                  |  3 +-
 src/Cantarell-Regular.ufo/glyphs/abreveacute.glif  |  3 +-
 src/Cantarell-Regular.ufo/glyphs/abrevegrave.glif  |  3 +-
 .../glyphs/abrevehookabove.glif                    |  3 +-
 src/Cantarell-Regular.ufo/glyphs/abrevetilde.glif  |  3 +-
 .../glyphs/acircumflexacute.glif                   | 18 ++++-
 .../glyphs/acircumflexgrave.glif                   | 18 ++++-
 .../glyphs/acircumflexhookabove.glif               | 18 ++++-
 .../glyphs/acircumflextilde.glif                   |  3 +-
 .../glyphs/acutecomb_dotaccentcomb.glif            | 18 -----
 .../glyphs/brevecomb_acutecomb.case.glif           | 13 ----
 .../glyphs/brevecomb_acutecomb.glif                | 13 ----
 .../glyphs/brevecomb_gravecomb.case.glif           | 13 ----
 .../glyphs/brevecomb_gravecomb.glif                | 13 ----
 .../glyphs/brevecomb_hookabovecomb.case.glif       | 13 ----
 .../glyphs/brevecomb_hookabovecomb.glif            | 13 ----
 .../glyphs/brevecomb_tildecomb.case.glif           | 13 ----
 .../glyphs/brevecomb_tildecomb.glif                | 13 ----
 .../glyphs/caroncomb_dotaccentcomb.glif            | 18 -----
 .../glyphs/circumflexcomb_acutecomb.case.glif      | 24 ------
 .../glyphs/circumflexcomb_acutecomb.glif           | 29 -------
 .../glyphs/circumflexcomb_gravecomb.case.glif      | 24 ------
 .../glyphs/circumflexcomb_gravecomb.glif           | 29 -------
 .../glyphs/circumflexcomb_hookabovecomb.case.glif  | 24 ------
 .../glyphs/circumflexcomb_hookabovecomb.glif       | 24 ------
 .../glyphs/circumflexcomb_tildecomb.case.glif      | 13 ----
 .../glyphs/circumflexcomb_tildecomb.glif           | 13 ----
 src/Cantarell-Regular.ufo/glyphs/contents.plist    | 64 ----------------
 .../glyphs/dieresiscomb_acutecomb.glif             | 18 -----
 .../glyphs/dieresiscomb_caroncomb.glif             | 18 -----
 .../glyphs/dieresiscomb_gravecomb.glif             | 18 -----
 .../glyphs/dieresiscomb_macroncomb.glif            | 18 -----
 .../glyphs/dotaccentcomb_macroncomb.glif           | 13 ----
 .../glyphs/ecircumflexacute.glif                   | 18 ++++-
 .../glyphs/ecircumflexgrave.glif                   | 18 ++++-
 .../glyphs/ecircumflexhookabove.glif               | 18 ++++-
 .../glyphs/ecircumflextilde.glif                   |  3 +-
 src/Cantarell-Regular.ufo/glyphs/emacronacute.glif |  3 +-
 src/Cantarell-Regular.ufo/glyphs/emacrongrave.glif |  3 +-
 src/Cantarell-Regular.ufo/glyphs/f_f.glif          | 16 ----
 src/Cantarell-Regular.ufo/glyphs/f_f_i.glif        | 16 ----
 src/Cantarell-Regular.ufo/glyphs/f_f_l.glif        | 16 ----
 .../glyphs/idieresisacute.glif                     |  3 +-
 src/Cantarell-Regular.ufo/glyphs/layerinfo.plist   | 64 ----------------
 .../glyphs/macroncomb_acutecomb.glif               | 18 -----
 .../glyphs/macroncomb_dieresiscomb.glif            | 13 ----
 .../glyphs/macroncomb_gravecomb.glif               | 18 -----
 .../glyphs/ocircumflexacute.glif                   | 18 ++++-
 .../glyphs/ocircumflexgrave.glif                   | 18 ++++-
 .../glyphs/ocircumflexhookabove.glif               | 18 ++++-
 .../glyphs/ocircumflextilde.glif                   |  3 +-
 .../glyphs/odieresismacron.glif                    |  3 +-
 .../glyphs/odotaccentmacron.glif                   |  3 +-
 src/Cantarell-Regular.ufo/glyphs/omacronacute.glif |  3 +-
 src/Cantarell-Regular.ufo/glyphs/omacrongrave.glif |  3 +-
 src/Cantarell-Regular.ufo/glyphs/otildeacute.glif  |  3 +-
 .../glyphs/otildedieresis.glif                     |  3 +-
 src/Cantarell-Regular.ufo/glyphs/otildemacron.glif |  3 +-
 .../glyphs/sacutedotaccent.glif                    | 18 ++++-
 .../glyphs/scarondotaccent.glif                    |  3 +-
 .../glyphs/tildecomb_acutecomb.glif                | 18 -----
 .../glyphs/tildecomb_dieresiscomb.glif             | 18 -----
 .../glyphs/tildecomb_macroncomb.glif               | 18 -----
 .../glyphs/udieresisacute.glif                     |  3 +-
 .../glyphs/udieresiscaron.glif                     |  3 +-
 .../glyphs/udieresisgrave.glif                     |  3 +-
 .../glyphs/udieresismacron.glif                    |  3 +-
 .../glyphs/umacrondieresis.glif                    |  3 +-
 src/Cantarell-Regular.ufo/glyphs/utildeacute.glif  |  3 +-
 src/Cantarell-Regular.ufo/lib.plist                | 88 ----------------------
 258 files changed, 1257 insertions(+), 2646 deletions(-)
---
diff --git a/src/Cantarell-Bold.ufo/features.fea b/src/Cantarell-Bold.ufo/features.fea
index 7a47ebf1..90a096d1 100644
--- a/src/Cantarell-Bold.ufo/features.fea
+++ b/src/Cantarell-Bold.ufo/features.fea
@@ -20,9 +20,9 @@ languagesystem cyrl TAT;
 # Prefix: GDEF
 table GDEF {
   GlyphClassDef
-    [A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron Acircumflex 
Acircumflexacute Acircumflexdotbelow Acircumflexgrave Acircumflexhookabove Acircumflextilde Adblgrave 
Adieresis Adotbelow Agrave Ahookabove Ainvertedbreve Amacron Aogonek Aring Aringacute Atilde AE AEacute B C 
Cacute Ccaron Ccedilla Ccedillaacute Ccircumflex Cdotaccent D Eth Dcaron Dcroat Ddotbelow Dlinebelow E Eacute 
Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow Ecircumflexgrave 
Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave Ehookabove 
Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex Gcommaaccent 
Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex Idblgrave 
Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek Itilde J 
Jacute Jcircumflex K Kacute Kcommaaccent L Lacute Lcaro
 n Lcomma
 accent Ldotbelow Llinebelow Lslash M Mdotbelow N Nacute Ncaron Ncommaaccent Ndotaccent Ndotbelow Nlinebelow 
Ntilde O Oacute Obreve Ocaron Ocircumflex Ocircumflexacute Ocircumflexdotbelow Ocircumflexgrave 
Ocircumflexhookabove Ocircumflextilde Odblgrave Odieresis Odieresismacron Odotaccentmacron Odotbelow Ograve 
Ohookabove Ohorn Ohornacute Ohorndotbelow Ohorngrave Ohornhookabove Ohorntilde Ohungarumlaut Oinvertedbreve 
Omacron Omacronacute Omacrongrave Oogonek Oslash Oslashacute Otilde Otildeacute Otildedieresis Otildemacron 
OE P Q R Racute Rcaron Rcommaaccent Rdblgrave Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent 
Scaron Scarondotaccent Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Schwa T Tbar 
Tcaron Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis 
Udieresisacute Udieresiscaron Udieresisgrave Udieresismacron Udotbelow Ugrave Uhookabove Uhorn Uhornacute 
Uhorndotbelow Uhorngrave Uhornhoo
 kabove U
 horntilde Uhungarumlaut Uinvertedbreve Umacron Umacrondieresis Uogonek Uring Utilde Utildeacute V W Wacute 
Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ydotaccent Ydotbelow Ygrave Yhookabove Ymacron 
Ytilde Z Zacute Zcaron Zdotaccent Zdotbelow a aacute abreve abreveacute abrevedotbelow abrevegrave 
abrevehookabove abrevetilde acaron acircumflex acircumflexacute acircumflexdotbelow acircumflexgrave 
acircumflexhookabove acircumflextilde adblgrave adieresis adotbelow agrave ahookabove ainvertedbreve amacron 
aogonek aring aringacute atilde ae aeacute b c cacute ccaron ccedilla ccedillaacute ccircumflex cdotaccent d 
dcaron dcroat ddotbelow dlinebelow e eacute ebreve ecaron ecedillabreve ecircumflex ecircumflexacute 
ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove ecircumflextilde edblgrave edieresis edotaccent 
edotbelow egrave ehookabove einvertedbreve emacron emacronacute emacrongrave eogonek etilde schwa f g gbreve 
gcaron gcircumflex gcommaaccent gdotacc
 ent gmac
 ron h hbar hbrevebelow hcircumflex hdotbelow i idotless iacute ibreve icaron icircumflex idblgrave idieresis 
idieresisacute idotaccent idotbelow igrave ihookabove iinvertedbreve imacron iogonek itilde j jdotless jacute 
jcircumflex k kacute kcommaaccent l lacute lcaron lcommaaccent ldotbelow llinebelow lslash m mdotbelow n 
nacute ncaron ncommaaccent ndotaccent ndotbelow nlinebelow ntilde o oacute obreve ocaron ocircumflex 
ocircumflexacute ocircumflexdotbelow ocircumflexgrave ocircumflexhookabove ocircumflextilde odblgrave 
odieresis odieresismacron odotaccentmacron odotbelow ograve ohookabove ohorn ohornacute ohorndotbelow 
ohorngrave ohornhookabove ohorntilde ohungarumlaut oinvertedbreve omacron omacronacute omacrongrave oogonek 
oslash oslashacute otilde otildeacute otildedieresis otildemacron oe p q r racute rcaron rcommaaccent 
rdblgrave rdotbelow rinvertedbreve rlinebelow s sacute sacutedotaccent scaron scarondotaccent scedilla 
scircumflex scommaaccent sdotaccent sdotbelow s
 dotbelow
 dotaccent t tbar tcaron tcedilla tcommaaccent tdieresis tdotbelow tlinebelow u uacute ubreve ucaron 
ucircumflex udblgrave udieresis udieresisacute udieresiscaron udieresisgrave udieresismacron udotbelow ugrave 
uhookabove uhorn uhornacute uhorndotbelow uhorngrave uhornhookabove uhorntilde uhungarumlaut uinvertedbreve 
umacron umacrondieresis uogonek uring utilde utildeacute v w wacute wcircumflex wdieresis wgrave x y yacute 
ycircumflex ydieresis ydotaccent ydotbelow ygrave yhookabove ymacron ytilde z zacute zcaron zdotaccent 
zdotbelow A-cy Ve-cy Ge-cy Gje-cy Ie-cy Iegrave-cy Io-cy Zhe-cy Ze-cy Ii-cy Iishort-cy Iigrave-cy Ka-cy 
Kje-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy Te-cy U-cy Ushort-cy Ha-cy Che-cy Hardsign-cy Yeru-cy Dze-cy 
Ereversed-cy I-cy Yi-cy Je-cy Iu-cy Ia-cy Fita-cy Zhedescender-cy Zedescender-cy Kadescender-cy 
Endescender-cy Esdescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy 
Zhebreve-cy Chekhakassian-cy Abreve-cy Adieresis-cy 
 Aie-cy I
 ebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy Idieresis-cy Odieresis-cy Obarred-cy Umacron-cy 
Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy Yerudieresis-cy Qa-cy We-cy a-cy ge-cy gje-cy 
ie-cy iegrave-cy io-cy zhe-cy ze-cy ii-cy iishort-cy iigrave-cy ka-cy kje-cy en-cy o-cy pe-cy er-cy es-cy 
te-cy u-cy ushort-cy ha-cy che-cy yeru-cy dze-cy e-cy ereversed-cy i-cy yi-cy je-cy tshe-cy iu-cy ia-cy 
dje-cy fita-cy zhedescender-cy zedescender-cy kadescender-cy endescender-cy esdescender-cy ustraight-cy 
ustraightstroke-cy hadescender-cy chedescender-cy shha-cy palochka-cy zhebreve-cy chekhakassian-cy abreve-cy 
adieresis-cy aie-cy iebreve-cy schwa-cy zhedieresis-cy zedieresis-cy imacron-cy idieresis-cy odieresis-cy 
obarred-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy yerudieresis-cy qa-cy 
we-cy], # Base
+    [A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron Acircumflex 
Acircumflexacute Acircumflexdotbelow Acircumflexgrave Acircumflexhookabove Acircumflextilde Adblgrave 
Adieresis Adotbelow Agrave Ahookabove Ainvertedbreve Amacron Aogonek Aring Aringacute Atilde AE AEacute B C 
Cacute Ccaron Ccedilla Ccedillaacute Ccircumflex Cdotaccent D Eth Dcaron Dcroat Ddotbelow Dlinebelow E Eacute 
Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow Ecircumflexgrave 
Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave Ehookabove 
Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex Gcommaaccent 
Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex Idblgrave 
Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek Itilde J 
Jacute Jcircumflex K Kacute Kcommaaccent L Lacute Lcaro
 n Lcomma
 accent Ldotbelow Llinebelow Lslash M Mdotbelow N Nacute Ncaron Ncommaaccent Ndotaccent Ndotbelow Nlinebelow 
Ntilde O Oacute Obreve Ocaron Ocircumflex Ocircumflexacute Ocircumflexdotbelow Ocircumflexgrave 
Ocircumflexhookabove Ocircumflextilde Odblgrave Odieresis Odieresismacron Odotaccentmacron Odotbelow Ograve 
Ohookabove Ohorn Ohornacute Ohorndotbelow Ohorngrave Ohornhookabove Ohorntilde Ohungarumlaut Oinvertedbreve 
Omacron Omacronacute Omacrongrave Oogonek Oslash Oslashacute Otilde Otildeacute Otildedieresis Otildemacron 
OE P Q R Racute Rcaron Rcommaaccent Rdblgrave Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent 
Scaron Scarondotaccent Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Schwa T Tbar 
Tcaron Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis 
Udieresisacute Udieresiscaron Udieresisgrave Udieresismacron Udotbelow Ugrave Uhookabove Uhorn Uhornacute 
Uhorndotbelow Uhorngrave Uhornhoo
 kabove U
 horntilde Uhungarumlaut Uinvertedbreve Umacron Umacrondieresis Uogonek Uring Utilde Utildeacute V W Wacute 
Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ydotaccent Ydotbelow Ygrave Yhookabove Ymacron 
Ytilde Z Zacute Zcaron Zdotaccent Zdotbelow a aacute abreve abreveacute abrevedotbelow abrevegrave 
abrevehookabove abrevetilde acaron acircumflex acircumflexacute acircumflexdotbelow acircumflexgrave 
acircumflexhookabove acircumflextilde adblgrave adieresis adotbelow agrave ahookabove ainvertedbreve amacron 
aogonek aring aringacute atilde ae aeacute b c cacute ccaron ccedilla ccedillaacute ccircumflex cdotaccent d 
dcaron dcroat ddotbelow dlinebelow e eacute ebreve ecaron ecedillabreve ecircumflex ecircumflexacute 
ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove ecircumflextilde edblgrave edieresis edotaccent 
edotbelow egrave ehookabove einvertedbreve emacron emacronacute emacrongrave eogonek etilde schwa f g gbreve 
gcaron gcircumflex gcommaaccent gdotacc
 ent gmac
 ron h hbar hbrevebelow hcircumflex hdotbelow i idotless iacute ibreve icaron icircumflex idblgrave idieresis 
idieresisacute idotaccent idotbelow igrave ihookabove iinvertedbreve imacron iogonek itilde j jdotless jacute 
jcircumflex k kacute kcommaaccent l lacute lcaron lcommaaccent ldotbelow llinebelow lslash m mdotbelow n 
nacute ncaron ncommaaccent ndotaccent ndotbelow nlinebelow ntilde o oacute obreve ocaron ocircumflex 
ocircumflexacute ocircumflexdotbelow ocircumflexgrave ocircumflexhookabove ocircumflextilde odblgrave 
odieresis odieresismacron odotaccentmacron odotbelow ograve ohookabove ohorn ohornacute ohorndotbelow 
ohorngrave ohornhookabove ohorntilde ohungarumlaut oinvertedbreve omacron omacronacute omacrongrave oogonek 
oslash oslashacute otilde otildeacute otildedieresis otildemacron oe p q r racute rcaron rcommaaccent 
rdblgrave rdotbelow rinvertedbreve rlinebelow s sacute sacutedotaccent scaron scarondotaccent scedilla 
scircumflex scommaaccent sdotaccent sdotbelow s
 dotbelow
 dotaccent t tbar tcaron tcedilla tcommaaccent tdieresis tdotbelow tlinebelow u uacute ubreve ucaron 
ucircumflex udblgrave udieresis udieresisacute udieresiscaron udieresisgrave udieresismacron udotbelow ugrave 
uhookabove uhorn uhornacute uhorndotbelow uhorngrave uhornhookabove uhorntilde uhungarumlaut uinvertedbreve 
umacron umacrondieresis uogonek uring utilde utildeacute v w wacute wcircumflex wdieresis wgrave x y yacute 
ycircumflex ydieresis ydotaccent ydotbelow ygrave yhookabove ymacron ytilde z zacute zcaron zdotaccent 
zdotbelow l.ss01 A-cy Ve-cy Ge-cy Gje-cy Ie-cy Iegrave-cy Io-cy Zhe-cy Ze-cy Ii-cy Iishort-cy Iigrave-cy 
Ka-cy Kje-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy Te-cy U-cy Ushort-cy Ha-cy Che-cy Hardsign-cy Yeru-cy Dze-cy 
Ereversed-cy I-cy Yi-cy Je-cy Iu-cy Ia-cy Fita-cy Zhedescender-cy Zedescender-cy Kadescender-cy 
Endescender-cy Esdescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy 
Zhebreve-cy Chekhakassian-cy Abreve-cy Adiere
 sis-cy A
 ie-cy Iebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy Idieresis-cy Odieresis-cy Obarred-cy 
Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy Yerudieresis-cy Qa-cy We-cy a-cy ge-cy 
gje-cy ie-cy iegrave-cy io-cy zhe-cy ze-cy ii-cy iishort-cy iigrave-cy ka-cy kje-cy en-cy o-cy pe-cy er-cy 
es-cy te-cy u-cy ushort-cy ha-cy che-cy yeru-cy dze-cy e-cy ereversed-cy i-cy yi-cy je-cy tshe-cy iu-cy ia-cy 
dje-cy fita-cy zhedescender-cy zedescender-cy kadescender-cy endescender-cy esdescender-cy ustraight-cy 
ustraightstroke-cy hadescender-cy chedescender-cy shha-cy palochka-cy zhebreve-cy chekhakassian-cy abreve-cy 
adieresis-cy aie-cy iebreve-cy schwa-cy zhedieresis-cy zedieresis-cy imacron-cy idieresis-cy odieresis-cy 
obarred-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy yerudieresis-cy qa-cy 
we-cy], # Base
     , # Liga
-    [dieresiscomb dieresiscomb_gravecomb dieresiscomb_acutecomb dieresiscomb_caroncomb 
dieresiscomb_macroncomb dotaccentcomb dotaccentcomb_macroncomb gravecomb acutecomb acutecomb_dotaccentcomb 
hungarumlautcomb caroncomb.alt circumflexcomb caroncomb caroncomb_dotaccentcomb brevecomb ringcomb 
ringcomb_acutecomb tildecomb tildecomb_dieresiscomb tildecomb_acutecomb tildecomb_macroncomb macroncomb 
macroncomb_dieresiscomb macroncomb_gravecomb macroncomb_acutecomb hookabovecomb verticallineabovecomb 
dblgravecomb breveinvertedcomb commaturnedabovecomb horncomb dotbelowcomb dieresisbelowcomb commaaccentcomb 
cedillacomb ogonekcomb verticallinebelowcomb brevebelowcomb macronbelowcomb strokeshortcomb strokelongcomb 
slashshortcomb slashlongcomb dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case 
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case 
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case b
 reveinve
 rtedcomb.case strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case 
ogonekcomb.tall.case dieresiscomb.loclVIET dotaccentcomb.loclVIET gravecomb.loclVIET acutecomb.loclVIET 
circumflexcomb.loclVIET caroncomb.loclVIET brevecomb.loclVIET tildecomb.loclVIET macroncomb.loclVIET 
hookabovecomb.loclVIET macroncomb.narrow ogonekcomb.narrow macronbelowcomb.narrow ogonekcomb.tall 
brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait brevecomb_acutecomb 
brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb circumflexcomb_acutecomb 
circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb brevecomb_acutecomb.case 
brevecomb_gravecomb.case brevecomb_hookabovecomb.case brevecomb_tildecomb.case circumflexcomb_acutecomb.case 
circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case], # Mark
+    [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb caroncomb.alt circumflexcomb caroncomb 
brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb hookabovecomb verticallineabovecomb dblgravecomb 
breveinvertedcomb commaturnedabovecomb horncomb dotbelowcomb dieresisbelowcomb commaaccentcomb cedillacomb 
ogonekcomb verticallinebelowcomb brevebelowcomb macronbelowcomb strokeshortcomb strokelongcomb slashshortcomb 
slashlongcomb dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case hungarumlautcomb.case 
circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case tildecomb.case 
macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case strokeshortcomb.case 
slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case dieresiscomb.loclVIET 
dotaccentcomb.loclVIET gravecomb.loclVIET acutecomb.loclVIET circumflexcomb.loclVIET caroncomb.loclVIET 
brevecomb.loclVIET tildecomb.loclVIET macron
 comb.loc
 lVIET hookabovecomb.loclVIET macroncomb.narrow ogonekcomb.narrow macronbelowcomb.narrow ogonekcomb.tall 
brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait], # Mark
     ;
 } GDEF;
 
@@ -55,8 +55,8 @@ lookup ccmp_Other_1 {
        @CombiningNonTopAccents = [brevebelowcomb cedillacomb dieresisbelowcomb dotbelowcomb macronbelowcomb 
ogonekcomb verticallinebelowcomb horncomb slashlongcomb slashshortcomb strokelongcomb strokeshortcomb];
        sub [i j]' @CombiningTopAccents by [idotless jdotless];
        sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless];
-       @Markscomb = [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb 
caroncomb brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb hookabovecomb dblgravecomb 
breveinvertedcomb strokeshortcomb slashshortcomb slashlongcomb macroncomb.narrow ogonekcomb.tall brevecomb-cy 
descender-cy brevecomb_acutecomb brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb 
circumflexcomb_acutecomb circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb];
-       @MarkscombCase = [dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case 
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case 
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case 
strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case 
brevecomb-cy.case descender-cy.case brevecomb_acutecomb.case brevecomb_gravecomb.case 
brevecomb_hookabovecomb.case brevecomb_tildecomb.case circumflexcomb_acutecomb.case 
circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case];
+       @Markscomb = [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb 
caroncomb brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb hookabovecomb dblgravecomb 
breveinvertedcomb strokeshortcomb slashshortcomb slashlongcomb macroncomb.narrow ogonekcomb.tall brevecomb-cy 
descender-cy];
+       @MarkscombCase = [dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case 
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case 
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case 
strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case 
brevecomb-cy.case descender-cy.case];
        sub @Markscomb @Markscomb' by @MarkscombCase;
        sub @Uppercase @Markscomb' by @MarkscombCase;
 } ccmp_Other_1;
@@ -68,46 +68,10 @@ lookup ccmp_Other_2 {
 
 lookup ccmp_Other_3 {
        lookupflag 0;
-       sub acutecomb dotaccentcomb by acutecomb_dotaccentcomb;
-       sub caroncomb dotaccentcomb by caroncomb_dotaccentcomb;
-       sub dieresiscomb acutecomb by dieresiscomb_acutecomb;
-       sub dieresiscomb caroncomb by dieresiscomb_caroncomb;
-       sub dieresiscomb gravecomb by dieresiscomb_gravecomb;
-       sub dieresiscomb macroncomb by dieresiscomb_macroncomb;
-       sub dotaccentcomb macroncomb by dotaccentcomb_macroncomb;
-       sub macroncomb acutecomb by macroncomb_acutecomb;
-       sub macroncomb dieresiscomb by macroncomb_dieresiscomb;
-       sub macroncomb gravecomb by macroncomb_gravecomb;
        sub ringcomb acutecomb by ringcomb_acutecomb;
        sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case;
-       sub tildecomb acutecomb by tildecomb_acutecomb;
-       sub tildecomb dieresiscomb by tildecomb_dieresiscomb;
-       sub tildecomb macroncomb by tildecomb_macroncomb;
 } ccmp_Other_3;
 
-lookup ccmp_latn_1 {
-       lookupflag 0;
-       sub brevecomb acutecomb by brevecomb_acutecomb;
-       sub brevecomb.case acutecomb.case by brevecomb_acutecomb.case;
-       sub brevecomb gravecomb by brevecomb_gravecomb;
-       sub brevecomb.case gravecomb.case by brevecomb_gravecomb.case;
-       sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
-       sub brevecomb.case hookabovecomb.case by brevecomb_hookabovecomb.case;
-       sub brevecomb tildecomb by brevecomb_tildecomb;
-       sub brevecomb.case tildecomb.case by brevecomb_tildecomb.case;
-       sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
-       sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
-       sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
-       sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
-       sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
-       sub circumflexcomb.case hookabovecomb.case by circumflexcomb_hookabovecomb.case;
-       sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
-       sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
-} ccmp_latn_1;
-
-script latn;
-lookup ccmp_latn_1;
-
 } ccmp;
 
 feature locl {
@@ -327,22 +291,11 @@ sub macroncomb.narrow by macroncomb.narrow.case;
 sub ogonekcomb.tall by ogonekcomb.tall.case;
 sub brevecomb-cy by brevecomb-cy.case;
 sub descender-cy by descender-cy.case;
-sub brevecomb_acutecomb by brevecomb_acutecomb.case;
-sub brevecomb_gravecomb by brevecomb_gravecomb.case;
-sub brevecomb_hookabovecomb by brevecomb_hookabovecomb.case;
-sub brevecomb_tildecomb by brevecomb_tildecomb.case;
-sub circumflexcomb_acutecomb by circumflexcomb_acutecomb.case;
-sub circumflexcomb_gravecomb by circumflexcomb_gravecomb.case;
-sub circumflexcomb_hookabovecomb by circumflexcomb_hookabovecomb.case;
-sub circumflexcomb_tildecomb by circumflexcomb_tildecomb.case;
 
 } case;
 
 feature liga {
 # automatic
-sub f f i by f_f_i;
-sub f f l by f_f_l;
-sub f f by f_f;
 sub f i by fi;
 sub f l by fl;
 
diff --git a/src/Cantarell-Bold.ufo/glyphs/A_breveacute.glif b/src/Cantarell-Bold.ufo/glyphs/A_breveacute.glif
index a86a5a9c..300f6f1d 100644
--- a/src/Cantarell-Bold.ufo/glyphs/A_breveacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/A_breveacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAE"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_acutecomb.case" xOffset="161" yOffset="4"/>
+    <component base="brevecomb.loclVIET" xOffset="132" yOffset="204"/>
+    <component base="acutecomb.loclVIET" xOffset="271" yOffset="345"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/A_brevegrave.glif b/src/Cantarell-Bold.ufo/glyphs/A_brevegrave.glif
index 77e4afd1..ba487994 100644
--- a/src/Cantarell-Bold.ufo/glyphs/A_brevegrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/A_brevegrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB0"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_gravecomb.case" xOffset="158" yOffset="4"/>
+    <component base="brevecomb.loclVIET" xOffset="132" yOffset="204"/>
+    <component base="gravecomb.loclVIET" xOffset="181" yOffset="345"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/A_brevehookabove.glif 
b/src/Cantarell-Bold.ufo/glyphs/A_brevehookabove.glif
index 553ad7b0..a7c621f6 100644
--- a/src/Cantarell-Bold.ufo/glyphs/A_brevehookabove.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/A_brevehookabove.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB2"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_hookabovecomb.case" xOffset="161" yOffset="4"/>
+    <component base="brevecomb.loclVIET" xOffset="132" yOffset="204"/>
+    <component base="hookabovecomb.loclVIET" xOffset="204" yOffset="344"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/A_brevetilde.glif b/src/Cantarell-Bold.ufo/glyphs/A_brevetilde.glif
index 6aef54af..92dc7e7d 100644
--- a/src/Cantarell-Bold.ufo/glyphs/A_brevetilde.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/A_brevetilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB4"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_tildecomb.case" xOffset="139" yOffset="4"/>
+    <component base="brevecomb.loclVIET" xOffset="132" yOffset="204"/>
+    <component base="tildecomb.loclVIET" xOffset="139" yOffset="344"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/A_circumflexacute.glif 
b/src/Cantarell-Bold.ufo/glyphs/A_circumflexacute.glif
index c78beb69..4d60981d 100644
--- a/src/Cantarell-Bold.ufo/glyphs/A_circumflexacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/A_circumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA4"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_acutecomb.case" xOffset="204" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="153" yOffset="204"/>
+    <component base="acutecomb.loclVIET" xOffset="448" yOffset="327"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/A_circumflexgrave.glif 
b/src/Cantarell-Bold.ufo/glyphs/A_circumflexgrave.glif
index 5bcc3244..500cd7a8 100644
--- a/src/Cantarell-Bold.ufo/glyphs/A_circumflexgrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/A_circumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA6"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_gravecomb.case" xOffset="204" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="153" yOffset="204"/>
+    <component base="gravecomb.loclVIET" xOffset="358" yOffset="327"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/A_circumflexhookabove.glif 
b/src/Cantarell-Bold.ufo/glyphs/A_circumflexhookabove.glif
index 72ea894f..e4f4a468 100644
--- a/src/Cantarell-Bold.ufo/glyphs/A_circumflexhookabove.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/A_circumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA8"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_hookabovecomb.case" xOffset="204" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="153" yOffset="204"/>
+    <component base="hookabovecomb.loclVIET" xOffset="381" yOffset="326"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/A_circumflextilde.glif 
b/src/Cantarell-Bold.ufo/glyphs/A_circumflextilde.glif
index 18539e20..ded20da6 100644
--- a/src/Cantarell-Bold.ufo/glyphs/A_circumflextilde.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/A_circumflextilde.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EAA"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_tildecomb.case" xOffset="184" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="153" yOffset="204"/>
+    <component base="tildecomb.loclVIET" xOffset="139" yOffset="344"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>tildecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/E_circumflexacute.glif 
b/src/Cantarell-Bold.ufo/glyphs/E_circumflexacute.glif
index bc91469b..17ba04b0 100644
--- a/src/Cantarell-Bold.ufo/glyphs/E_circumflexacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/E_circumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EBE"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_acutecomb.case" xOffset="148" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="97" yOffset="204"/>
+    <component base="acutecomb.loclVIET" xOffset="392" yOffset="327"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/E_circumflexgrave.glif 
b/src/Cantarell-Bold.ufo/glyphs/E_circumflexgrave.glif
index 94445e4b..153d8e97 100644
--- a/src/Cantarell-Bold.ufo/glyphs/E_circumflexgrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/E_circumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC0"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_gravecomb.case" xOffset="148" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="97" yOffset="204"/>
+    <component base="gravecomb.loclVIET" xOffset="302" yOffset="327"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/E_circumflexhookabove.glif 
b/src/Cantarell-Bold.ufo/glyphs/E_circumflexhookabove.glif
index 5c88dde8..5ad7d94a 100644
--- a/src/Cantarell-Bold.ufo/glyphs/E_circumflexhookabove.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/E_circumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC2"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_hookabovecomb.case" xOffset="148" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="97" yOffset="204"/>
+    <component base="hookabovecomb.loclVIET" xOffset="325" yOffset="326"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/E_circumflextilde.glif 
b/src/Cantarell-Bold.ufo/glyphs/E_circumflextilde.glif
index f12cd7db..613077f9 100644
--- a/src/Cantarell-Bold.ufo/glyphs/E_circumflextilde.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/E_circumflextilde.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC4"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_tildecomb.case" xOffset="128" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="97" yOffset="204"/>
+    <component base="tildecomb.loclVIET" xOffset="83" yOffset="344"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>tildecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/O_circumflexacute.glif 
b/src/Cantarell-Bold.ufo/glyphs/O_circumflexacute.glif
index 921ba0b0..de56450e 100644
--- a/src/Cantarell-Bold.ufo/glyphs/O_circumflexacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/O_circumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED0"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_acutecomb.case" xOffset="225" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="174" yOffset="204"/>
+    <component base="acutecomb.loclVIET" xOffset="469" yOffset="327"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/O_circumflexgrave.glif 
b/src/Cantarell-Bold.ufo/glyphs/O_circumflexgrave.glif
index 8719436d..1718ccf4 100644
--- a/src/Cantarell-Bold.ufo/glyphs/O_circumflexgrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/O_circumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED2"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_gravecomb.case" xOffset="225" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="174" yOffset="204"/>
+    <component base="gravecomb.loclVIET" xOffset="379" yOffset="327"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/O_circumflexhookabove.glif 
b/src/Cantarell-Bold.ufo/glyphs/O_circumflexhookabove.glif
index b436f3dc..435ff764 100644
--- a/src/Cantarell-Bold.ufo/glyphs/O_circumflexhookabove.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/O_circumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED4"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_hookabovecomb.case" xOffset="225" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="174" yOffset="204"/>
+    <component base="hookabovecomb.loclVIET" xOffset="402" yOffset="326"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/O_circumflextilde.glif 
b/src/Cantarell-Bold.ufo/glyphs/O_circumflextilde.glif
index 5ec592ca..3ae882ed 100644
--- a/src/Cantarell-Bold.ufo/glyphs/O_circumflextilde.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/O_circumflextilde.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED6"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_tildecomb.case" xOffset="205" yOffset="4"/>
+    <component base="circumflexcomb.loclVIET" xOffset="174" yOffset="204"/>
+    <component base="tildecomb.loclVIET" xOffset="160" yOffset="344"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>tildecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/abreveacute.glif b/src/Cantarell-Bold.ufo/glyphs/abreveacute.glif
index ae3d157c..be59c5a4 100644
--- a/src/Cantarell-Bold.ufo/glyphs/abreveacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/abreveacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAF"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_acutecomb" xOffset="32"/>
+    <component base="brevecomb.loclVIET" xOffset="32"/>
+    <component base="acutecomb.loclVIET" xOffset="171" yOffset="141"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/abrevegrave.glif b/src/Cantarell-Bold.ufo/glyphs/abrevegrave.glif
index 75ba2645..5f9787bc 100644
--- a/src/Cantarell-Bold.ufo/glyphs/abrevegrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/abrevegrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB1"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_gravecomb" xOffset="32"/>
+    <component base="brevecomb.loclVIET" xOffset="32"/>
+    <component base="gravecomb.loclVIET" xOffset="81" yOffset="141"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/abrevehookabove.glif 
b/src/Cantarell-Bold.ufo/glyphs/abrevehookabove.glif
index d9ddc7c9..5f531fee 100644
--- a/src/Cantarell-Bold.ufo/glyphs/abrevehookabove.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/abrevehookabove.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB3"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_hookabovecomb" xOffset="32"/>
+    <component base="brevecomb.loclVIET" xOffset="32"/>
+    <component base="hookabovecomb.loclVIET" xOffset="104" yOffset="140"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/abrevetilde.glif b/src/Cantarell-Bold.ufo/glyphs/abrevetilde.glif
index 6a4db06a..cf8c322d 100644
--- a/src/Cantarell-Bold.ufo/glyphs/abrevetilde.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/abrevetilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB5"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_tildecomb" xOffset="24"/>
+    <component base="brevecomb.loclVIET" xOffset="32"/>
+    <component base="tildecomb.loclVIET" xOffset="39" yOffset="140"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/acircumflexacute.glif 
b/src/Cantarell-Bold.ufo/glyphs/acircumflexacute.glif
index d7d546da..418829b7 100644
--- a/src/Cantarell-Bold.ufo/glyphs/acircumflexacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/acircumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA5"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_acutecomb" xOffset="53"/>
+    <component base="circumflexcomb.loclVIET" xOffset="53"/>
+    <component base="acutecomb.loclVIET" xOffset="348" yOffset="123"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/acircumflexgrave.glif 
b/src/Cantarell-Bold.ufo/glyphs/acircumflexgrave.glif
index 76e38f67..9c4019d3 100644
--- a/src/Cantarell-Bold.ufo/glyphs/acircumflexgrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/acircumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA7"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_gravecomb" xOffset="53"/>
+    <component base="circumflexcomb.loclVIET" xOffset="53"/>
+    <component base="gravecomb.loclVIET" xOffset="258" yOffset="123"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/acircumflexhookabove.glif 
b/src/Cantarell-Bold.ufo/glyphs/acircumflexhookabove.glif
index e05365a1..4f3028cb 100644
--- a/src/Cantarell-Bold.ufo/glyphs/acircumflexhookabove.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/acircumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA9"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_hookabovecomb" xOffset="53"/>
+    <component base="circumflexcomb.loclVIET" xOffset="53"/>
+    <component base="hookabovecomb.loclVIET" xOffset="281" yOffset="122"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/acircumflextilde.glif 
b/src/Cantarell-Bold.ufo/glyphs/acircumflextilde.glif
index 8c6e86eb..484b75c9 100644
--- a/src/Cantarell-Bold.ufo/glyphs/acircumflextilde.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/acircumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAB"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_tildecomb" xOffset="35"/>
+    <component base="circumflexcomb.loclVIET" xOffset="53"/>
+    <component base="tildecomb.loclVIET" xOffset="39" yOffset="140"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/contents.plist b/src/Cantarell-Bold.ufo/glyphs/contents.plist
index 95a385a6..286fd932 100644
--- a/src/Cantarell-Bold.ufo/glyphs/contents.plist
+++ b/src/Cantarell-Bold.ufo/glyphs/contents.plist
@@ -734,8 +734,6 @@
     <string>acutecomb.case.glif</string>
     <key>acutecomb.loclVIET</key>
     <string>acutecomb.loclV_I_E_T_.glif</string>
-    <key>acutecomb_dotaccentcomb</key>
-    <string>acutecomb_dotaccentcomb.glif</string>
     <key>adblgrave</key>
     <string>adblgrave.glif</string>
     <key>adieresis</key>
@@ -814,22 +812,6 @@
     <string>brevecomb.case.glif</string>
     <key>brevecomb.loclVIET</key>
     <string>brevecomb.loclV_I_E_T_.glif</string>
-    <key>brevecomb_acutecomb</key>
-    <string>brevecomb_acutecomb.glif</string>
-    <key>brevecomb_acutecomb.case</key>
-    <string>brevecomb_acutecomb.case.glif</string>
-    <key>brevecomb_gravecomb</key>
-    <string>brevecomb_gravecomb.glif</string>
-    <key>brevecomb_gravecomb.case</key>
-    <string>brevecomb_gravecomb.case.glif</string>
-    <key>brevecomb_hookabovecomb</key>
-    <string>brevecomb_hookabovecomb.glif</string>
-    <key>brevecomb_hookabovecomb.case</key>
-    <string>brevecomb_hookabovecomb.case.glif</string>
-    <key>brevecomb_tildecomb</key>
-    <string>brevecomb_tildecomb.glif</string>
-    <key>brevecomb_tildecomb.case</key>
-    <string>brevecomb_tildecomb.case.glif</string>
     <key>breveinvertedcomb</key>
     <string>breveinvertedcomb.glif</string>
     <key>breveinvertedcomb.case</key>
@@ -854,8 +836,6 @@
     <string>caroncomb.case.glif</string>
     <key>caroncomb.loclVIET</key>
     <string>caroncomb.loclV_I_E_T_.glif</string>
-    <key>caroncomb_dotaccentcomb</key>
-    <string>caroncomb_dotaccentcomb.glif</string>
     <key>ccaron</key>
     <string>ccaron.glif</string>
     <key>ccedilla</key>
@@ -892,22 +872,6 @@
     <string>circumflexcomb.case.glif</string>
     <key>circumflexcomb.loclVIET</key>
     <string>circumflexcomb.loclV_I_E_T_.glif</string>
-    <key>circumflexcomb_acutecomb</key>
-    <string>circumflexcomb_acutecomb.glif</string>
-    <key>circumflexcomb_acutecomb.case</key>
-    <string>circumflexcomb_acutecomb.case.glif</string>
-    <key>circumflexcomb_gravecomb</key>
-    <string>circumflexcomb_gravecomb.glif</string>
-    <key>circumflexcomb_gravecomb.case</key>
-    <string>circumflexcomb_gravecomb.case.glif</string>
-    <key>circumflexcomb_hookabovecomb</key>
-    <string>circumflexcomb_hookabovecomb.glif</string>
-    <key>circumflexcomb_hookabovecomb.case</key>
-    <string>circumflexcomb_hookabovecomb.case.glif</string>
-    <key>circumflexcomb_tildecomb</key>
-    <string>circumflexcomb_tildecomb.glif</string>
-    <key>circumflexcomb_tildecomb.case</key>
-    <string>circumflexcomb_tildecomb.case.glif</string>
     <key>colon</key>
     <string>colon.glif</string>
     <key>colonsign</key>
@@ -962,14 +926,6 @@
     <string>dieresiscomb.case.glif</string>
     <key>dieresiscomb.loclVIET</key>
     <string>dieresiscomb.loclV_I_E_T_.glif</string>
-    <key>dieresiscomb_acutecomb</key>
-    <string>dieresiscomb_acutecomb.glif</string>
-    <key>dieresiscomb_caroncomb</key>
-    <string>dieresiscomb_caroncomb.glif</string>
-    <key>dieresiscomb_gravecomb</key>
-    <string>dieresiscomb_gravecomb.glif</string>
-    <key>dieresiscomb_macroncomb</key>
-    <string>dieresiscomb_macroncomb.glif</string>
     <key>divide</key>
     <string>divide.glif</string>
     <key>divisionslash</key>
@@ -990,8 +946,6 @@
     <string>dotaccentcomb.case.glif</string>
     <key>dotaccentcomb.loclVIET</key>
     <string>dotaccentcomb.loclV_I_E_T_.glif</string>
-    <key>dotaccentcomb_macroncomb</key>
-    <string>dotaccentcomb_macroncomb.glif</string>
     <key>dotbelowcomb</key>
     <string>dotbelowcomb.glif</string>
     <key>doubleprimemod</key>
@@ -1116,12 +1070,6 @@
     <string>exclamdown.glif</string>
     <key>f</key>
     <string>f.glif</string>
-    <key>f_f</key>
-    <string>f_f.glif</string>
-    <key>f_f_i</key>
-    <string>f_f_i.glif</string>
-    <key>f_f_l</key>
-    <string>f_f_l.glif</string>
     <key>fi</key>
     <string>fi.glif</string>
     <key>figuredash</key>
@@ -1418,12 +1366,6 @@
     <string>macroncomb.narrow.glif</string>
     <key>macroncomb.narrow.case</key>
     <string>macroncomb.narrow.case.glif</string>
-    <key>macroncomb_acutecomb</key>
-    <string>macroncomb_acutecomb.glif</string>
-    <key>macroncomb_dieresiscomb</key>
-    <string>macroncomb_dieresiscomb.glif</string>
-    <key>macroncomb_gravecomb</key>
-    <string>macroncomb_gravecomb.glif</string>
     <key>manat</key>
     <string>manat.glif</string>
     <key>mdotbelow</key>
@@ -1868,12 +1810,6 @@
     <string>tildecomb.case.glif</string>
     <key>tildecomb.loclVIET</key>
     <string>tildecomb.loclV_I_E_T_.glif</string>
-    <key>tildecomb_acutecomb</key>
-    <string>tildecomb_acutecomb.glif</string>
-    <key>tildecomb_dieresiscomb</key>
-    <string>tildecomb_dieresiscomb.glif</string>
-    <key>tildecomb_macroncomb</key>
-    <string>tildecomb_macroncomb.glif</string>
     <key>tlinebelow</key>
     <string>tlinebelow.glif</string>
     <key>trademark</key>
diff --git a/src/Cantarell-Bold.ufo/glyphs/ecircumflexacute.glif 
b/src/Cantarell-Bold.ufo/glyphs/ecircumflexacute.glif
index 8992fa24..eaed600f 100644
--- a/src/Cantarell-Bold.ufo/glyphs/ecircumflexacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/ecircumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EBF"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_acutecomb" xOffset="63"/>
+    <component base="circumflexcomb.loclVIET" xOffset="63"/>
+    <component base="acutecomb.loclVIET" xOffset="358" yOffset="123"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/ecircumflexgrave.glif 
b/src/Cantarell-Bold.ufo/glyphs/ecircumflexgrave.glif
index 4af31637..9d935325 100644
--- a/src/Cantarell-Bold.ufo/glyphs/ecircumflexgrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/ecircumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC1"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_gravecomb" xOffset="63"/>
+    <component base="circumflexcomb.loclVIET" xOffset="63"/>
+    <component base="gravecomb.loclVIET" xOffset="268" yOffset="123"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/ecircumflexhookabove.glif 
b/src/Cantarell-Bold.ufo/glyphs/ecircumflexhookabove.glif
index fb907657..332ed6fe 100644
--- a/src/Cantarell-Bold.ufo/glyphs/ecircumflexhookabove.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/ecircumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC3"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_hookabovecomb" xOffset="63"/>
+    <component base="circumflexcomb.loclVIET" xOffset="63"/>
+    <component base="hookabovecomb.loclVIET" xOffset="291" yOffset="122"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/ecircumflextilde.glif 
b/src/Cantarell-Bold.ufo/glyphs/ecircumflextilde.glif
index 6c197998..9bc4f940 100644
--- a/src/Cantarell-Bold.ufo/glyphs/ecircumflextilde.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/ecircumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EC5"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_tildecomb" xOffset="45"/>
+    <component base="circumflexcomb.loclVIET" xOffset="63"/>
+    <component base="tildecomb.loclVIET" xOffset="49" yOffset="140"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/emacronacute.glif b/src/Cantarell-Bold.ufo/glyphs/emacronacute.glif
index 0fe0e898..6f17ce9b 100644
--- a/src/Cantarell-Bold.ufo/glyphs/emacronacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/emacronacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E17"/>
   <outline>
     <component base="e"/>
-    <component base="macroncomb_acutecomb" xOffset="28"/>
+    <component base="macroncomb.loclVIET" xOffset="28"/>
+    <component base="acutecomb" xOffset="171" yOffset="194"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/emacrongrave.glif b/src/Cantarell-Bold.ufo/glyphs/emacrongrave.glif
index a25151f5..5f4079d9 100644
--- a/src/Cantarell-Bold.ufo/glyphs/emacrongrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/emacrongrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E15"/>
   <outline>
     <component base="e"/>
-    <component base="macroncomb_gravecomb" xOffset="28"/>
+    <component base="macroncomb.loclVIET" xOffset="28"/>
+    <component base="gravecomb" xOffset="69" yOffset="194"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/idieresisacute.glif 
b/src/Cantarell-Bold.ufo/glyphs/idieresisacute.glif
index a894ddfe..3c2eff8c 100644
--- a/src/Cantarell-Bold.ufo/glyphs/idieresisacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/idieresisacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E2F"/>
   <outline>
     <component base="idotless"/>
-    <component base="dieresiscomb_acutecomb" xOffset="-115"/>
+    <component base="dieresiscomb.loclVIET" xOffset="-115"/>
+    <component base="acutecomb" xOffset="45" yOffset="186"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/layerinfo.plist b/src/Cantarell-Bold.ufo/glyphs/layerinfo.plist
index 56eabf9b..e7bdfb92 100644
--- a/src/Cantarell-Bold.ufo/glyphs/layerinfo.plist
+++ b/src/Cantarell-Bold.ufo/glyphs/layerinfo.plist
@@ -738,8 +738,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.acutecomb.loclVIET</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.acutecomb_dotaccentcomb</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.adblgrave</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.adieresis</key>
@@ -818,22 +816,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb.loclVIET</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_acutecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_acutecomb.case</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_gravecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_gravecomb.case</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_hookabovecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_hookabovecomb.case</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_tildecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_tildecomb.case</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.breveinvertedcomb</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.breveinvertedcomb.case</key>
@@ -858,8 +840,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.caroncomb.loclVIET</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.caroncomb_dotaccentcomb</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.ccaron</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.ccedilla</key>
@@ -896,22 +876,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb.loclVIET</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_acutecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_acutecomb.case</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_gravecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_gravecomb.case</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_hookabovecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_hookabovecomb.case</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_tildecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_tildecomb.case</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.colon</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.colonsign</key>
@@ -966,14 +930,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb.loclVIET</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_acutecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_caroncomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_gravecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_macroncomb</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divide</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divisionslash</key>
@@ -994,8 +950,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dotaccentcomb.loclVIET</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dotaccentcomb_macroncomb</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dotbelowcomb</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.doubleprimemod</key>
@@ -1120,12 +1074,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.f</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.f_f</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.f_f_i</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.f_f_l</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.fi</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.figuredash</key>
@@ -1422,12 +1370,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb.narrow.case</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb_acutecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb_dieresiscomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb_gravecomb</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.manat</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.mdotbelow</key>
@@ -1872,12 +1814,6 @@
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb.loclVIET</key>
       <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb_acutecomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb_dieresiscomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb_macroncomb</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.tlinebelow</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.trademark</key>
diff --git a/src/Cantarell-Bold.ufo/glyphs/ocircumflexacute.glif 
b/src/Cantarell-Bold.ufo/glyphs/ocircumflexacute.glif
index d9595d40..534f76d0 100644
--- a/src/Cantarell-Bold.ufo/glyphs/ocircumflexacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/ocircumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED1"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_acutecomb" xOffset="78"/>
+    <component base="circumflexcomb.loclVIET" xOffset="78"/>
+    <component base="acutecomb.loclVIET" xOffset="373" yOffset="123"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/ocircumflexgrave.glif 
b/src/Cantarell-Bold.ufo/glyphs/ocircumflexgrave.glif
index 5f88fd8b..346a31f9 100644
--- a/src/Cantarell-Bold.ufo/glyphs/ocircumflexgrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/ocircumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED3"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_gravecomb" xOffset="78"/>
+    <component base="circumflexcomb.loclVIET" xOffset="78"/>
+    <component base="gravecomb.loclVIET" xOffset="283" yOffset="123"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/ocircumflexhookabove.glif 
b/src/Cantarell-Bold.ufo/glyphs/ocircumflexhookabove.glif
index 4230e665..a8aaf272 100644
--- a/src/Cantarell-Bold.ufo/glyphs/ocircumflexhookabove.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/ocircumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED5"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_hookabovecomb" xOffset="78"/>
+    <component base="circumflexcomb.loclVIET" xOffset="78"/>
+    <component base="hookabovecomb.loclVIET" xOffset="306" yOffset="122"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/ocircumflextilde.glif 
b/src/Cantarell-Bold.ufo/glyphs/ocircumflextilde.glif
index b9ca4318..bdc1b7d2 100644
--- a/src/Cantarell-Bold.ufo/glyphs/ocircumflextilde.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/ocircumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1ED7"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_tildecomb" xOffset="60"/>
+    <component base="circumflexcomb.loclVIET" xOffset="78"/>
+    <component base="tildecomb.loclVIET" xOffset="64" yOffset="140"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/odieresismacron.glif 
b/src/Cantarell-Bold.ufo/glyphs/odieresismacron.glif
index 6be8bd0e..7a3f2c64 100644
--- a/src/Cantarell-Bold.ufo/glyphs/odieresismacron.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/odieresismacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="022B"/>
   <outline>
     <component base="o"/>
-    <component base="dieresiscomb_macroncomb" xOffset="26"/>
+    <component base="dieresiscomb.loclVIET" xOffset="26"/>
+    <component base="macroncomb" xOffset="40" yOffset="186"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/odotaccentmacron.glif 
b/src/Cantarell-Bold.ufo/glyphs/odotaccentmacron.glif
index 1f3edb5a..5e05d600 100644
--- a/src/Cantarell-Bold.ufo/glyphs/odotaccentmacron.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/odotaccentmacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="0231"/>
   <outline>
     <component base="o"/>
-    <component base="dotaccentcomb_macroncomb" xOffset="-9"/>
+    <component base="dotaccentcomb.loclVIET" xOffset="138"/>
+    <component base="macroncomb" xOffset="40" yOffset="186"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/omacronacute.glif b/src/Cantarell-Bold.ufo/glyphs/omacronacute.glif
index 9d2f2a0c..955bdee0 100644
--- a/src/Cantarell-Bold.ufo/glyphs/omacronacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/omacronacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E53"/>
   <outline>
     <component base="o"/>
-    <component base="macroncomb_acutecomb" xOffset="43"/>
+    <component base="macroncomb.loclVIET" xOffset="43"/>
+    <component base="acutecomb" xOffset="186" yOffset="194"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/omacrongrave.glif b/src/Cantarell-Bold.ufo/glyphs/omacrongrave.glif
index 47f94437..a6e747f5 100644
--- a/src/Cantarell-Bold.ufo/glyphs/omacrongrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/omacrongrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E51"/>
   <outline>
     <component base="o"/>
-    <component base="macroncomb_gravecomb" xOffset="43"/>
+    <component base="macroncomb.loclVIET" xOffset="43"/>
+    <component base="gravecomb" xOffset="84" yOffset="194"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/otildeacute.glif b/src/Cantarell-Bold.ufo/glyphs/otildeacute.glif
index fada5634..15968a2a 100644
--- a/src/Cantarell-Bold.ufo/glyphs/otildeacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/otildeacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E4D"/>
   <outline>
     <component base="o"/>
-    <component base="tildecomb_acutecomb" xOffset="47"/>
+    <component base="tildecomb" xOffset="47"/>
+    <component base="acutecomb" xOffset="186" yOffset="211"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/otildedieresis.glif 
b/src/Cantarell-Bold.ufo/glyphs/otildedieresis.glif
index 0a88d574..72ab624a 100644
--- a/src/Cantarell-Bold.ufo/glyphs/otildedieresis.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/otildedieresis.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E4F"/>
   <outline>
     <component base="o"/>
-    <component base="tildecomb_dieresiscomb" xOffset="47"/>
+    <component base="tildecomb" xOffset="47"/>
+    <component base="dieresiscomb" xOffset="13" yOffset="211"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/otildemacron.glif b/src/Cantarell-Bold.ufo/glyphs/otildemacron.glif
index ebe920d9..22d74b7a 100644
--- a/src/Cantarell-Bold.ufo/glyphs/otildemacron.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/otildemacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="022D"/>
   <outline>
     <component base="o"/>
-    <component base="tildecomb_macroncomb" xOffset="47"/>
+    <component base="tildecomb" xOffset="47"/>
+    <component base="macroncomb" xOffset="40" yOffset="211"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/sacutedotaccent.glif 
b/src/Cantarell-Bold.ufo/glyphs/sacutedotaccent.glif
index 947fa265..250f1e07 100644
--- a/src/Cantarell-Bold.ufo/glyphs/sacutedotaccent.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/sacutedotaccent.glif
@@ -4,6 +4,22 @@
   <unicode hex="1E65"/>
   <outline>
     <component base="s"/>
-    <component base="acutecomb_dotaccentcomb" xOffset="152" yOffset="1"/>
+    <component base="acutecomb.loclVIET" xOffset="152" yOffset="1"/>
+    <component base="dotaccentcomb.loclVIET" xOffset="19" yOffset="169"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_dot</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>dotaccentcomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/scarondotaccent.glif 
b/src/Cantarell-Bold.ufo/glyphs/scarondotaccent.glif
index 71270b6d..3247b6e8 100644
--- a/src/Cantarell-Bold.ufo/glyphs/scarondotaccent.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/scarondotaccent.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E67"/>
   <outline>
     <component base="s"/>
-    <component base="caroncomb_dotaccentcomb" xOffset="30"/>
+    <component base="caroncomb.loclVIET" xOffset="30"/>
+    <component base="dotaccentcomb.loclVIET" xOffset="94" yOffset="195"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/udieresisacute.glif 
b/src/Cantarell-Bold.ufo/glyphs/udieresisacute.glif
index 56675e53..928869ab 100644
--- a/src/Cantarell-Bold.ufo/glyphs/udieresisacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/udieresisacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="01D8"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_acutecomb" xOffset="21"/>
+    <component base="dieresiscomb.loclVIET" xOffset="21"/>
+    <component base="acutecomb" xOffset="181" yOffset="186"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/udieresiscaron.glif 
b/src/Cantarell-Bold.ufo/glyphs/udieresiscaron.glif
index 23ece2cb..e87fce39 100644
--- a/src/Cantarell-Bold.ufo/glyphs/udieresiscaron.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/udieresiscaron.glif
@@ -4,6 +4,7 @@
   <unicode hex="01DA"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_caroncomb" xOffset="21"/>
+    <component base="dieresiscomb.loclVIET" xOffset="21"/>
+    <component base="caroncomb" xOffset="71" yOffset="186"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/udieresisgrave.glif 
b/src/Cantarell-Bold.ufo/glyphs/udieresisgrave.glif
index b6e1ed06..d38f25a5 100644
--- a/src/Cantarell-Bold.ufo/glyphs/udieresisgrave.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/udieresisgrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="01DC"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_gravecomb" xOffset="21"/>
+    <component base="dieresiscomb.loclVIET" xOffset="21"/>
+    <component base="gravecomb" xOffset="79" yOffset="186"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/udieresismacron.glif 
b/src/Cantarell-Bold.ufo/glyphs/udieresismacron.glif
index 2c061d5b..ee904375 100644
--- a/src/Cantarell-Bold.ufo/glyphs/udieresismacron.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/udieresismacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="01D6"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_macroncomb" xOffset="21"/>
+    <component base="dieresiscomb.loclVIET" xOffset="21"/>
+    <component base="macroncomb" xOffset="35" yOffset="186"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/umacrondieresis.glif 
b/src/Cantarell-Bold.ufo/glyphs/umacrondieresis.glif
index 36c56dbc..440ff31d 100644
--- a/src/Cantarell-Bold.ufo/glyphs/umacrondieresis.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/umacrondieresis.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E7B"/>
   <outline>
     <component base="u"/>
-    <component base="macroncomb_dieresiscomb" xOffset="-15"/>
+    <component base="macroncomb.loclVIET" xOffset="38"/>
+    <component base="dieresiscomb" xOffset="8" yOffset="194"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/glyphs/utildeacute.glif b/src/Cantarell-Bold.ufo/glyphs/utildeacute.glif
index d0b298ef..515839aa 100644
--- a/src/Cantarell-Bold.ufo/glyphs/utildeacute.glif
+++ b/src/Cantarell-Bold.ufo/glyphs/utildeacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E79"/>
   <outline>
     <component base="u"/>
-    <component base="tildecomb_acutecomb" xOffset="42"/>
+    <component base="tildecomb" xOffset="42"/>
+    <component base="acutecomb" xOffset="181" yOffset="211"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Bold.ufo/lib.plist b/src/Cantarell-Bold.ufo/lib.plist
index 43bb457e..5c93a624 100644
--- a/src/Cantarell-Bold.ufo/lib.plist
+++ b/src/Cantarell-Bold.ufo/lib.plist
@@ -1784,9 +1784,6 @@
       <string>zdotaccent</string>
       <string>zdotbelow</string>
       <string>l.ss01</string>
-      <string>f_f</string>
-      <string>f_f_i</string>
-      <string>f_f_l</string>
       <string>fi</string>
       <string>fl</string>
       <string>ordfeminine</string>
@@ -2218,31 +2215,18 @@
       <string>verticallinelowmod</string>
       <string>verticallinemod</string>
       <string>dieresiscomb</string>
-      <string>dieresiscomb_gravecomb</string>
-      <string>dieresiscomb_acutecomb</string>
-      <string>dieresiscomb_caroncomb</string>
-      <string>dieresiscomb_macroncomb</string>
       <string>dotaccentcomb</string>
-      <string>dotaccentcomb_macroncomb</string>
       <string>gravecomb</string>
       <string>acutecomb</string>
-      <string>acutecomb_dotaccentcomb</string>
       <string>hungarumlautcomb</string>
       <string>caroncomb.alt</string>
       <string>circumflexcomb</string>
       <string>caroncomb</string>
-      <string>caroncomb_dotaccentcomb</string>
       <string>brevecomb</string>
       <string>ringcomb</string>
       <string>ringcomb_acutecomb</string>
       <string>tildecomb</string>
-      <string>tildecomb_dieresiscomb</string>
-      <string>tildecomb_acutecomb</string>
-      <string>tildecomb_macroncomb</string>
       <string>macroncomb</string>
-      <string>macroncomb_dieresiscomb</string>
-      <string>macroncomb_gravecomb</string>
-      <string>macroncomb_acutecomb</string>
       <string>hookabovecomb</string>
       <string>verticallineabovecomb</string>
       <string>dblgravecomb</string>
@@ -2313,22 +2297,6 @@
       <string>brevecomb-cy.case</string>
       <string>descender-cy.case</string>
       <string>descender-cy.strait</string>
-      <string>brevecomb_acutecomb</string>
-      <string>brevecomb_gravecomb</string>
-      <string>brevecomb_hookabovecomb</string>
-      <string>brevecomb_tildecomb</string>
-      <string>circumflexcomb_acutecomb</string>
-      <string>circumflexcomb_gravecomb</string>
-      <string>circumflexcomb_hookabovecomb</string>
-      <string>circumflexcomb_tildecomb</string>
-      <string>brevecomb_acutecomb.case</string>
-      <string>brevecomb_gravecomb.case</string>
-      <string>brevecomb_hookabovecomb.case</string>
-      <string>brevecomb_tildecomb.case</string>
-      <string>circumflexcomb_acutecomb.case</string>
-      <string>circumflexcomb_gravecomb.case</string>
-      <string>circumflexcomb_hookabovecomb.case</string>
-      <string>circumflexcomb_tildecomb.case</string>
       <string>_descenderreversed-cy</string>
       <string>_bar-cy</string>
       <string>_descender-cy.case.straight</string>
@@ -2802,8 +2770,6 @@
       <string>uni1EA9</string>
       <key>acircumflextilde</key>
       <string>uni1EAB</string>
-      <key>acutecomb_dotaccentcomb</key>
-      <string>uni03010307</string>
       <key>adblgrave</key>
       <string>uni0201</string>
       <key>adieresis-cy</key>
@@ -2836,22 +2802,6 @@
       <string>uni0306.case</string>
       <key>brevecomb.loclVIET</key>
       <string>uni0306.loclVIET</string>
-      <key>brevecomb_acutecomb</key>
-      <string>uni03060301</string>
-      <key>brevecomb_acutecomb.case</key>
-      <string>uni03060301.case</string>
-      <key>brevecomb_gravecomb</key>
-      <string>uni03060300</string>
-      <key>brevecomb_gravecomb.case</key>
-      <string>uni03060300.case</string>
-      <key>brevecomb_hookabovecomb</key>
-      <string>uni03060309</string>
-      <key>brevecomb_hookabovecomb.case</key>
-      <string>uni03060309.case</string>
-      <key>brevecomb_tildecomb</key>
-      <string>uni03060303</string>
-      <key>brevecomb_tildecomb.case</key>
-      <string>uni03060303.case</string>
       <key>breveinvertedcomb</key>
       <string>uni0311</string>
       <key>breveinvertedcomb.case</key>
@@ -2866,8 +2816,6 @@
       <string>uni030C.case</string>
       <key>caroncomb.loclVIET</key>
       <string>uni030C.loclVIET</string>
-      <key>caroncomb_dotaccentcomb</key>
-      <string>uni030C0307</string>
       <key>ccedillaacute</key>
       <string>uni1E09</string>
       <key>cedi</key>
@@ -2890,22 +2838,6 @@
       <string>uni0302.case</string>
       <key>circumflexcomb.loclVIET</key>
       <string>uni0302.loclVIET</string>
-      <key>circumflexcomb_acutecomb</key>
-      <string>uni03020301</string>
-      <key>circumflexcomb_acutecomb.case</key>
-      <string>uni03020301.case</string>
-      <key>circumflexcomb_gravecomb</key>
-      <string>uni03020300</string>
-      <key>circumflexcomb_gravecomb.case</key>
-      <string>uni03020300.case</string>
-      <key>circumflexcomb_hookabovecomb</key>
-      <string>uni03020309</string>
-      <key>circumflexcomb_hookabovecomb.case</key>
-      <string>uni03020309.case</string>
-      <key>circumflexcomb_tildecomb</key>
-      <string>uni03020303</string>
-      <key>circumflexcomb_tildecomb.case</key>
-      <string>uni03020303.case</string>
       <key>colonsign</key>
       <string>colonmonetary</string>
       <key>commaaccentcomb</key>
@@ -2938,14 +2870,6 @@
       <string>uni0308.case</string>
       <key>dieresiscomb.loclVIET</key>
       <string>uni0308.loclVIET</string>
-      <key>dieresiscomb_acutecomb</key>
-      <string>uni03080301</string>
-      <key>dieresiscomb_caroncomb</key>
-      <string>uni0308030C</string>
-      <key>dieresiscomb_gravecomb</key>
-      <string>uni03080300</string>
-      <key>dieresiscomb_macroncomb</key>
-      <string>uni03080304</string>
       <key>divisionslash</key>
       <string>uni2215.tf</string>
       <key>dje-cy</key>
@@ -2958,8 +2882,6 @@
       <string>uni0307.case</string>
       <key>dotaccentcomb.loclVIET</key>
       <string>uni0307.loclVIET</string>
-      <key>dotaccentcomb_macroncomb</key>
-      <string>uni03070304</string>
       <key>doubleprimemod</key>
       <string>uni02BA</string>
       <key>downArrow</key>
@@ -3190,12 +3112,6 @@
       <string>uni0304.narrow</string>
       <key>macroncomb.narrow.case</key>
       <string>uni0304.narrow.case</string>
-      <key>macroncomb_acutecomb</key>
-      <string>uni03040301</string>
-      <key>macroncomb_dieresiscomb</key>
-      <string>uni03040308</string>
-      <key>macroncomb_gravecomb</key>
-      <string>uni03040300</string>
       <key>manat</key>
       <string>uni20BC</string>
       <key>mdotbelow</key>
@@ -3422,10 +3338,6 @@
       <string>uni2004</string>
       <key>threesuperior</key>
       <string>uni00B3</string>
-      <key>tildecomb_dieresiscomb</key>
-      <string>uni03030308</string>
-      <key>tildecomb_macroncomb</key>
-      <string>uni03030304</string>
       <key>tlinebelow</key>
       <string>uni1E6F</string>
       <key>tripleprime</key>
diff --git a/src/Cantarell-Light.ufo/features.fea b/src/Cantarell-Light.ufo/features.fea
index 7a47ebf1..90a096d1 100644
--- a/src/Cantarell-Light.ufo/features.fea
+++ b/src/Cantarell-Light.ufo/features.fea
@@ -20,9 +20,9 @@ languagesystem cyrl TAT;
 # Prefix: GDEF
 table GDEF {
   GlyphClassDef
-    [A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron Acircumflex 
Acircumflexacute Acircumflexdotbelow Acircumflexgrave Acircumflexhookabove Acircumflextilde Adblgrave 
Adieresis Adotbelow Agrave Ahookabove Ainvertedbreve Amacron Aogonek Aring Aringacute Atilde AE AEacute B C 
Cacute Ccaron Ccedilla Ccedillaacute Ccircumflex Cdotaccent D Eth Dcaron Dcroat Ddotbelow Dlinebelow E Eacute 
Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow Ecircumflexgrave 
Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave Ehookabove 
Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex Gcommaaccent 
Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex Idblgrave 
Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek Itilde J 
Jacute Jcircumflex K Kacute Kcommaaccent L Lacute Lcaro
 n Lcomma
 accent Ldotbelow Llinebelow Lslash M Mdotbelow N Nacute Ncaron Ncommaaccent Ndotaccent Ndotbelow Nlinebelow 
Ntilde O Oacute Obreve Ocaron Ocircumflex Ocircumflexacute Ocircumflexdotbelow Ocircumflexgrave 
Ocircumflexhookabove Ocircumflextilde Odblgrave Odieresis Odieresismacron Odotaccentmacron Odotbelow Ograve 
Ohookabove Ohorn Ohornacute Ohorndotbelow Ohorngrave Ohornhookabove Ohorntilde Ohungarumlaut Oinvertedbreve 
Omacron Omacronacute Omacrongrave Oogonek Oslash Oslashacute Otilde Otildeacute Otildedieresis Otildemacron 
OE P Q R Racute Rcaron Rcommaaccent Rdblgrave Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent 
Scaron Scarondotaccent Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Schwa T Tbar 
Tcaron Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis 
Udieresisacute Udieresiscaron Udieresisgrave Udieresismacron Udotbelow Ugrave Uhookabove Uhorn Uhornacute 
Uhorndotbelow Uhorngrave Uhornhoo
 kabove U
 horntilde Uhungarumlaut Uinvertedbreve Umacron Umacrondieresis Uogonek Uring Utilde Utildeacute V W Wacute 
Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ydotaccent Ydotbelow Ygrave Yhookabove Ymacron 
Ytilde Z Zacute Zcaron Zdotaccent Zdotbelow a aacute abreve abreveacute abrevedotbelow abrevegrave 
abrevehookabove abrevetilde acaron acircumflex acircumflexacute acircumflexdotbelow acircumflexgrave 
acircumflexhookabove acircumflextilde adblgrave adieresis adotbelow agrave ahookabove ainvertedbreve amacron 
aogonek aring aringacute atilde ae aeacute b c cacute ccaron ccedilla ccedillaacute ccircumflex cdotaccent d 
dcaron dcroat ddotbelow dlinebelow e eacute ebreve ecaron ecedillabreve ecircumflex ecircumflexacute 
ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove ecircumflextilde edblgrave edieresis edotaccent 
edotbelow egrave ehookabove einvertedbreve emacron emacronacute emacrongrave eogonek etilde schwa f g gbreve 
gcaron gcircumflex gcommaaccent gdotacc
 ent gmac
 ron h hbar hbrevebelow hcircumflex hdotbelow i idotless iacute ibreve icaron icircumflex idblgrave idieresis 
idieresisacute idotaccent idotbelow igrave ihookabove iinvertedbreve imacron iogonek itilde j jdotless jacute 
jcircumflex k kacute kcommaaccent l lacute lcaron lcommaaccent ldotbelow llinebelow lslash m mdotbelow n 
nacute ncaron ncommaaccent ndotaccent ndotbelow nlinebelow ntilde o oacute obreve ocaron ocircumflex 
ocircumflexacute ocircumflexdotbelow ocircumflexgrave ocircumflexhookabove ocircumflextilde odblgrave 
odieresis odieresismacron odotaccentmacron odotbelow ograve ohookabove ohorn ohornacute ohorndotbelow 
ohorngrave ohornhookabove ohorntilde ohungarumlaut oinvertedbreve omacron omacronacute omacrongrave oogonek 
oslash oslashacute otilde otildeacute otildedieresis otildemacron oe p q r racute rcaron rcommaaccent 
rdblgrave rdotbelow rinvertedbreve rlinebelow s sacute sacutedotaccent scaron scarondotaccent scedilla 
scircumflex scommaaccent sdotaccent sdotbelow s
 dotbelow
 dotaccent t tbar tcaron tcedilla tcommaaccent tdieresis tdotbelow tlinebelow u uacute ubreve ucaron 
ucircumflex udblgrave udieresis udieresisacute udieresiscaron udieresisgrave udieresismacron udotbelow ugrave 
uhookabove uhorn uhornacute uhorndotbelow uhorngrave uhornhookabove uhorntilde uhungarumlaut uinvertedbreve 
umacron umacrondieresis uogonek uring utilde utildeacute v w wacute wcircumflex wdieresis wgrave x y yacute 
ycircumflex ydieresis ydotaccent ydotbelow ygrave yhookabove ymacron ytilde z zacute zcaron zdotaccent 
zdotbelow A-cy Ve-cy Ge-cy Gje-cy Ie-cy Iegrave-cy Io-cy Zhe-cy Ze-cy Ii-cy Iishort-cy Iigrave-cy Ka-cy 
Kje-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy Te-cy U-cy Ushort-cy Ha-cy Che-cy Hardsign-cy Yeru-cy Dze-cy 
Ereversed-cy I-cy Yi-cy Je-cy Iu-cy Ia-cy Fita-cy Zhedescender-cy Zedescender-cy Kadescender-cy 
Endescender-cy Esdescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy 
Zhebreve-cy Chekhakassian-cy Abreve-cy Adieresis-cy 
 Aie-cy I
 ebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy Idieresis-cy Odieresis-cy Obarred-cy Umacron-cy 
Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy Yerudieresis-cy Qa-cy We-cy a-cy ge-cy gje-cy 
ie-cy iegrave-cy io-cy zhe-cy ze-cy ii-cy iishort-cy iigrave-cy ka-cy kje-cy en-cy o-cy pe-cy er-cy es-cy 
te-cy u-cy ushort-cy ha-cy che-cy yeru-cy dze-cy e-cy ereversed-cy i-cy yi-cy je-cy tshe-cy iu-cy ia-cy 
dje-cy fita-cy zhedescender-cy zedescender-cy kadescender-cy endescender-cy esdescender-cy ustraight-cy 
ustraightstroke-cy hadescender-cy chedescender-cy shha-cy palochka-cy zhebreve-cy chekhakassian-cy abreve-cy 
adieresis-cy aie-cy iebreve-cy schwa-cy zhedieresis-cy zedieresis-cy imacron-cy idieresis-cy odieresis-cy 
obarred-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy yerudieresis-cy qa-cy 
we-cy], # Base
+    [A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron Acircumflex 
Acircumflexacute Acircumflexdotbelow Acircumflexgrave Acircumflexhookabove Acircumflextilde Adblgrave 
Adieresis Adotbelow Agrave Ahookabove Ainvertedbreve Amacron Aogonek Aring Aringacute Atilde AE AEacute B C 
Cacute Ccaron Ccedilla Ccedillaacute Ccircumflex Cdotaccent D Eth Dcaron Dcroat Ddotbelow Dlinebelow E Eacute 
Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow Ecircumflexgrave 
Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave Ehookabove 
Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex Gcommaaccent 
Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex Idblgrave 
Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek Itilde J 
Jacute Jcircumflex K Kacute Kcommaaccent L Lacute Lcaro
 n Lcomma
 accent Ldotbelow Llinebelow Lslash M Mdotbelow N Nacute Ncaron Ncommaaccent Ndotaccent Ndotbelow Nlinebelow 
Ntilde O Oacute Obreve Ocaron Ocircumflex Ocircumflexacute Ocircumflexdotbelow Ocircumflexgrave 
Ocircumflexhookabove Ocircumflextilde Odblgrave Odieresis Odieresismacron Odotaccentmacron Odotbelow Ograve 
Ohookabove Ohorn Ohornacute Ohorndotbelow Ohorngrave Ohornhookabove Ohorntilde Ohungarumlaut Oinvertedbreve 
Omacron Omacronacute Omacrongrave Oogonek Oslash Oslashacute Otilde Otildeacute Otildedieresis Otildemacron 
OE P Q R Racute Rcaron Rcommaaccent Rdblgrave Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent 
Scaron Scarondotaccent Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Schwa T Tbar 
Tcaron Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis 
Udieresisacute Udieresiscaron Udieresisgrave Udieresismacron Udotbelow Ugrave Uhookabove Uhorn Uhornacute 
Uhorndotbelow Uhorngrave Uhornhoo
 kabove U
 horntilde Uhungarumlaut Uinvertedbreve Umacron Umacrondieresis Uogonek Uring Utilde Utildeacute V W Wacute 
Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ydotaccent Ydotbelow Ygrave Yhookabove Ymacron 
Ytilde Z Zacute Zcaron Zdotaccent Zdotbelow a aacute abreve abreveacute abrevedotbelow abrevegrave 
abrevehookabove abrevetilde acaron acircumflex acircumflexacute acircumflexdotbelow acircumflexgrave 
acircumflexhookabove acircumflextilde adblgrave adieresis adotbelow agrave ahookabove ainvertedbreve amacron 
aogonek aring aringacute atilde ae aeacute b c cacute ccaron ccedilla ccedillaacute ccircumflex cdotaccent d 
dcaron dcroat ddotbelow dlinebelow e eacute ebreve ecaron ecedillabreve ecircumflex ecircumflexacute 
ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove ecircumflextilde edblgrave edieresis edotaccent 
edotbelow egrave ehookabove einvertedbreve emacron emacronacute emacrongrave eogonek etilde schwa f g gbreve 
gcaron gcircumflex gcommaaccent gdotacc
 ent gmac
 ron h hbar hbrevebelow hcircumflex hdotbelow i idotless iacute ibreve icaron icircumflex idblgrave idieresis 
idieresisacute idotaccent idotbelow igrave ihookabove iinvertedbreve imacron iogonek itilde j jdotless jacute 
jcircumflex k kacute kcommaaccent l lacute lcaron lcommaaccent ldotbelow llinebelow lslash m mdotbelow n 
nacute ncaron ncommaaccent ndotaccent ndotbelow nlinebelow ntilde o oacute obreve ocaron ocircumflex 
ocircumflexacute ocircumflexdotbelow ocircumflexgrave ocircumflexhookabove ocircumflextilde odblgrave 
odieresis odieresismacron odotaccentmacron odotbelow ograve ohookabove ohorn ohornacute ohorndotbelow 
ohorngrave ohornhookabove ohorntilde ohungarumlaut oinvertedbreve omacron omacronacute omacrongrave oogonek 
oslash oslashacute otilde otildeacute otildedieresis otildemacron oe p q r racute rcaron rcommaaccent 
rdblgrave rdotbelow rinvertedbreve rlinebelow s sacute sacutedotaccent scaron scarondotaccent scedilla 
scircumflex scommaaccent sdotaccent sdotbelow s
 dotbelow
 dotaccent t tbar tcaron tcedilla tcommaaccent tdieresis tdotbelow tlinebelow u uacute ubreve ucaron 
ucircumflex udblgrave udieresis udieresisacute udieresiscaron udieresisgrave udieresismacron udotbelow ugrave 
uhookabove uhorn uhornacute uhorndotbelow uhorngrave uhornhookabove uhorntilde uhungarumlaut uinvertedbreve 
umacron umacrondieresis uogonek uring utilde utildeacute v w wacute wcircumflex wdieresis wgrave x y yacute 
ycircumflex ydieresis ydotaccent ydotbelow ygrave yhookabove ymacron ytilde z zacute zcaron zdotaccent 
zdotbelow l.ss01 A-cy Ve-cy Ge-cy Gje-cy Ie-cy Iegrave-cy Io-cy Zhe-cy Ze-cy Ii-cy Iishort-cy Iigrave-cy 
Ka-cy Kje-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy Te-cy U-cy Ushort-cy Ha-cy Che-cy Hardsign-cy Yeru-cy Dze-cy 
Ereversed-cy I-cy Yi-cy Je-cy Iu-cy Ia-cy Fita-cy Zhedescender-cy Zedescender-cy Kadescender-cy 
Endescender-cy Esdescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy 
Zhebreve-cy Chekhakassian-cy Abreve-cy Adiere
 sis-cy A
 ie-cy Iebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy Idieresis-cy Odieresis-cy Obarred-cy 
Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy Yerudieresis-cy Qa-cy We-cy a-cy ge-cy 
gje-cy ie-cy iegrave-cy io-cy zhe-cy ze-cy ii-cy iishort-cy iigrave-cy ka-cy kje-cy en-cy o-cy pe-cy er-cy 
es-cy te-cy u-cy ushort-cy ha-cy che-cy yeru-cy dze-cy e-cy ereversed-cy i-cy yi-cy je-cy tshe-cy iu-cy ia-cy 
dje-cy fita-cy zhedescender-cy zedescender-cy kadescender-cy endescender-cy esdescender-cy ustraight-cy 
ustraightstroke-cy hadescender-cy chedescender-cy shha-cy palochka-cy zhebreve-cy chekhakassian-cy abreve-cy 
adieresis-cy aie-cy iebreve-cy schwa-cy zhedieresis-cy zedieresis-cy imacron-cy idieresis-cy odieresis-cy 
obarred-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy yerudieresis-cy qa-cy 
we-cy], # Base
     , # Liga
-    [dieresiscomb dieresiscomb_gravecomb dieresiscomb_acutecomb dieresiscomb_caroncomb 
dieresiscomb_macroncomb dotaccentcomb dotaccentcomb_macroncomb gravecomb acutecomb acutecomb_dotaccentcomb 
hungarumlautcomb caroncomb.alt circumflexcomb caroncomb caroncomb_dotaccentcomb brevecomb ringcomb 
ringcomb_acutecomb tildecomb tildecomb_dieresiscomb tildecomb_acutecomb tildecomb_macroncomb macroncomb 
macroncomb_dieresiscomb macroncomb_gravecomb macroncomb_acutecomb hookabovecomb verticallineabovecomb 
dblgravecomb breveinvertedcomb commaturnedabovecomb horncomb dotbelowcomb dieresisbelowcomb commaaccentcomb 
cedillacomb ogonekcomb verticallinebelowcomb brevebelowcomb macronbelowcomb strokeshortcomb strokelongcomb 
slashshortcomb slashlongcomb dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case 
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case 
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case b
 reveinve
 rtedcomb.case strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case 
ogonekcomb.tall.case dieresiscomb.loclVIET dotaccentcomb.loclVIET gravecomb.loclVIET acutecomb.loclVIET 
circumflexcomb.loclVIET caroncomb.loclVIET brevecomb.loclVIET tildecomb.loclVIET macroncomb.loclVIET 
hookabovecomb.loclVIET macroncomb.narrow ogonekcomb.narrow macronbelowcomb.narrow ogonekcomb.tall 
brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait brevecomb_acutecomb 
brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb circumflexcomb_acutecomb 
circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb brevecomb_acutecomb.case 
brevecomb_gravecomb.case brevecomb_hookabovecomb.case brevecomb_tildecomb.case circumflexcomb_acutecomb.case 
circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case], # Mark
+    [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb caroncomb.alt circumflexcomb caroncomb 
brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb hookabovecomb verticallineabovecomb dblgravecomb 
breveinvertedcomb commaturnedabovecomb horncomb dotbelowcomb dieresisbelowcomb commaaccentcomb cedillacomb 
ogonekcomb verticallinebelowcomb brevebelowcomb macronbelowcomb strokeshortcomb strokelongcomb slashshortcomb 
slashlongcomb dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case hungarumlautcomb.case 
circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case tildecomb.case 
macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case strokeshortcomb.case 
slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case dieresiscomb.loclVIET 
dotaccentcomb.loclVIET gravecomb.loclVIET acutecomb.loclVIET circumflexcomb.loclVIET caroncomb.loclVIET 
brevecomb.loclVIET tildecomb.loclVIET macron
 comb.loc
 lVIET hookabovecomb.loclVIET macroncomb.narrow ogonekcomb.narrow macronbelowcomb.narrow ogonekcomb.tall 
brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait], # Mark
     ;
 } GDEF;
 
@@ -55,8 +55,8 @@ lookup ccmp_Other_1 {
        @CombiningNonTopAccents = [brevebelowcomb cedillacomb dieresisbelowcomb dotbelowcomb macronbelowcomb 
ogonekcomb verticallinebelowcomb horncomb slashlongcomb slashshortcomb strokelongcomb strokeshortcomb];
        sub [i j]' @CombiningTopAccents by [idotless jdotless];
        sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless];
-       @Markscomb = [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb 
caroncomb brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb hookabovecomb dblgravecomb 
breveinvertedcomb strokeshortcomb slashshortcomb slashlongcomb macroncomb.narrow ogonekcomb.tall brevecomb-cy 
descender-cy brevecomb_acutecomb brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb 
circumflexcomb_acutecomb circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb];
-       @MarkscombCase = [dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case 
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case 
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case 
strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case 
brevecomb-cy.case descender-cy.case brevecomb_acutecomb.case brevecomb_gravecomb.case 
brevecomb_hookabovecomb.case brevecomb_tildecomb.case circumflexcomb_acutecomb.case 
circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case];
+       @Markscomb = [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb 
caroncomb brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb hookabovecomb dblgravecomb 
breveinvertedcomb strokeshortcomb slashshortcomb slashlongcomb macroncomb.narrow ogonekcomb.tall brevecomb-cy 
descender-cy];
+       @MarkscombCase = [dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case 
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case 
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case 
strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case 
brevecomb-cy.case descender-cy.case];
        sub @Markscomb @Markscomb' by @MarkscombCase;
        sub @Uppercase @Markscomb' by @MarkscombCase;
 } ccmp_Other_1;
@@ -68,46 +68,10 @@ lookup ccmp_Other_2 {
 
 lookup ccmp_Other_3 {
        lookupflag 0;
-       sub acutecomb dotaccentcomb by acutecomb_dotaccentcomb;
-       sub caroncomb dotaccentcomb by caroncomb_dotaccentcomb;
-       sub dieresiscomb acutecomb by dieresiscomb_acutecomb;
-       sub dieresiscomb caroncomb by dieresiscomb_caroncomb;
-       sub dieresiscomb gravecomb by dieresiscomb_gravecomb;
-       sub dieresiscomb macroncomb by dieresiscomb_macroncomb;
-       sub dotaccentcomb macroncomb by dotaccentcomb_macroncomb;
-       sub macroncomb acutecomb by macroncomb_acutecomb;
-       sub macroncomb dieresiscomb by macroncomb_dieresiscomb;
-       sub macroncomb gravecomb by macroncomb_gravecomb;
        sub ringcomb acutecomb by ringcomb_acutecomb;
        sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case;
-       sub tildecomb acutecomb by tildecomb_acutecomb;
-       sub tildecomb dieresiscomb by tildecomb_dieresiscomb;
-       sub tildecomb macroncomb by tildecomb_macroncomb;
 } ccmp_Other_3;
 
-lookup ccmp_latn_1 {
-       lookupflag 0;
-       sub brevecomb acutecomb by brevecomb_acutecomb;
-       sub brevecomb.case acutecomb.case by brevecomb_acutecomb.case;
-       sub brevecomb gravecomb by brevecomb_gravecomb;
-       sub brevecomb.case gravecomb.case by brevecomb_gravecomb.case;
-       sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
-       sub brevecomb.case hookabovecomb.case by brevecomb_hookabovecomb.case;
-       sub brevecomb tildecomb by brevecomb_tildecomb;
-       sub brevecomb.case tildecomb.case by brevecomb_tildecomb.case;
-       sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
-       sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
-       sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
-       sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
-       sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
-       sub circumflexcomb.case hookabovecomb.case by circumflexcomb_hookabovecomb.case;
-       sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
-       sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
-} ccmp_latn_1;
-
-script latn;
-lookup ccmp_latn_1;
-
 } ccmp;
 
 feature locl {
@@ -327,22 +291,11 @@ sub macroncomb.narrow by macroncomb.narrow.case;
 sub ogonekcomb.tall by ogonekcomb.tall.case;
 sub brevecomb-cy by brevecomb-cy.case;
 sub descender-cy by descender-cy.case;
-sub brevecomb_acutecomb by brevecomb_acutecomb.case;
-sub brevecomb_gravecomb by brevecomb_gravecomb.case;
-sub brevecomb_hookabovecomb by brevecomb_hookabovecomb.case;
-sub brevecomb_tildecomb by brevecomb_tildecomb.case;
-sub circumflexcomb_acutecomb by circumflexcomb_acutecomb.case;
-sub circumflexcomb_gravecomb by circumflexcomb_gravecomb.case;
-sub circumflexcomb_hookabovecomb by circumflexcomb_hookabovecomb.case;
-sub circumflexcomb_tildecomb by circumflexcomb_tildecomb.case;
 
 } case;
 
 feature liga {
 # automatic
-sub f f i by f_f_i;
-sub f f l by f_f_l;
-sub f f by f_f;
 sub f i by fi;
 sub f l by fl;
 
diff --git a/src/Cantarell-Light.ufo/glyphs/A_breveacute.glif 
b/src/Cantarell-Light.ufo/glyphs/A_breveacute.glif
index ed50dbd4..8490af3d 100644
--- a/src/Cantarell-Light.ufo/glyphs/A_breveacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/A_breveacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAE"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_acutecomb.case" xOffset="137" yOffset="14"/>
+    <component base="brevecomb.loclVIET" xOffset="109" yOffset="214"/>
+    <component base="acutecomb.loclVIET" xOffset="242" yOffset="294"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/A_brevegrave.glif 
b/src/Cantarell-Light.ufo/glyphs/A_brevegrave.glif
index ba1e8092..c2578b0f 100644
--- a/src/Cantarell-Light.ufo/glyphs/A_brevegrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/A_brevegrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB0"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_gravecomb.case" xOffset="126" yOffset="14"/>
+    <component base="brevecomb.loclVIET" xOffset="109" yOffset="214"/>
+    <component base="gravecomb.loclVIET" xOffset="138" yOffset="294"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/A_brevehookabove.glif 
b/src/Cantarell-Light.ufo/glyphs/A_brevehookabove.glif
index 0fe97b84..5ced2c5a 100644
--- a/src/Cantarell-Light.ufo/glyphs/A_brevehookabove.glif
+++ b/src/Cantarell-Light.ufo/glyphs/A_brevehookabove.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB2"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_hookabovecomb.case" xOffset="131" yOffset="14"/>
+    <component base="brevecomb.loclVIET" xOffset="109" yOffset="214"/>
+    <component base="hookabovecomb.loclVIET" xOffset="169" yOffset="294"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/A_brevetilde.glif 
b/src/Cantarell-Light.ufo/glyphs/A_brevetilde.glif
index 60a1eff2..c6a8efbe 100644
--- a/src/Cantarell-Light.ufo/glyphs/A_brevetilde.glif
+++ b/src/Cantarell-Light.ufo/glyphs/A_brevetilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB4"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_tildecomb.case" xOffset="98" yOffset="14"/>
+    <component base="brevecomb.loclVIET" xOffset="109" yOffset="214"/>
+    <component base="tildecomb.loclVIET" xOffset="80" yOffset="294"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/A_circumflexacute.glif 
b/src/Cantarell-Light.ufo/glyphs/A_circumflexacute.glif
index e77deff4..8e86e7af 100644
--- a/src/Cantarell-Light.ufo/glyphs/A_circumflexacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/A_circumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA4"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_acutecomb.case" xOffset="194" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="141" yOffset="214"/>
+    <component base="acutecomb.loclVIET" xOffset="360" yOffset="288"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/A_circumflexgrave.glif 
b/src/Cantarell-Light.ufo/glyphs/A_circumflexgrave.glif
index ac5c2049..82183278 100644
--- a/src/Cantarell-Light.ufo/glyphs/A_circumflexgrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/A_circumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA6"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_gravecomb.case" xOffset="194" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="141" yOffset="214"/>
+    <component base="gravecomb.loclVIET" xOffset="256" yOffset="288"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/A_circumflexhookabove.glif 
b/src/Cantarell-Light.ufo/glyphs/A_circumflexhookabove.glif
index cfc28e2a..df2a9f9f 100644
--- a/src/Cantarell-Light.ufo/glyphs/A_circumflexhookabove.glif
+++ b/src/Cantarell-Light.ufo/glyphs/A_circumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA8"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_hookabovecomb.case" xOffset="194" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="141" yOffset="214"/>
+    <component base="hookabovecomb.loclVIET" xOffset="287" yOffset="288"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/A_circumflextilde.glif 
b/src/Cantarell-Light.ufo/glyphs/A_circumflextilde.glif
index 64275669..52044626 100644
--- a/src/Cantarell-Light.ufo/glyphs/A_circumflextilde.glif
+++ b/src/Cantarell-Light.ufo/glyphs/A_circumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAA"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_tildecomb.case" xOffset="152" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="141" yOffset="214"/>
+    <component base="tildecomb.loclVIET" xOffset="90" yOffset="294"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/E_circumflexacute.glif 
b/src/Cantarell-Light.ufo/glyphs/E_circumflexacute.glif
index c45f1597..03f6efde 100644
--- a/src/Cantarell-Light.ufo/glyphs/E_circumflexacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/E_circumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EBE"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_acutecomb.case" xOffset="174" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="121" yOffset="214"/>
+    <component base="acutecomb.loclVIET" xOffset="340" yOffset="288"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/E_circumflexgrave.glif 
b/src/Cantarell-Light.ufo/glyphs/E_circumflexgrave.glif
index c31c72d5..8a8b7567 100644
--- a/src/Cantarell-Light.ufo/glyphs/E_circumflexgrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/E_circumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC0"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_gravecomb.case" xOffset="174" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="121" yOffset="214"/>
+    <component base="gravecomb.loclVIET" xOffset="236" yOffset="288"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/E_circumflexhookabove.glif 
b/src/Cantarell-Light.ufo/glyphs/E_circumflexhookabove.glif
index 8dfd58d2..86da6a30 100644
--- a/src/Cantarell-Light.ufo/glyphs/E_circumflexhookabove.glif
+++ b/src/Cantarell-Light.ufo/glyphs/E_circumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC2"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_hookabovecomb.case" xOffset="174" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="121" yOffset="214"/>
+    <component base="hookabovecomb.loclVIET" xOffset="267" yOffset="288"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/E_circumflextilde.glif 
b/src/Cantarell-Light.ufo/glyphs/E_circumflextilde.glif
index 975f4890..e59c49f6 100644
--- a/src/Cantarell-Light.ufo/glyphs/E_circumflextilde.glif
+++ b/src/Cantarell-Light.ufo/glyphs/E_circumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EC4"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_tildecomb.case" xOffset="132" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="121" yOffset="214"/>
+    <component base="tildecomb.loclVIET" xOffset="70" yOffset="294"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/O_circumflexacute.glif 
b/src/Cantarell-Light.ufo/glyphs/O_circumflexacute.glif
index ae6224ed..1c071ae6 100644
--- a/src/Cantarell-Light.ufo/glyphs/O_circumflexacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/O_circumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED0"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_acutecomb.case" xOffset="248" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="195" yOffset="214"/>
+    <component base="acutecomb.loclVIET" xOffset="414" yOffset="288"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/O_circumflexgrave.glif 
b/src/Cantarell-Light.ufo/glyphs/O_circumflexgrave.glif
index c7653366..92f74959 100644
--- a/src/Cantarell-Light.ufo/glyphs/O_circumflexgrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/O_circumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED2"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_gravecomb.case" xOffset="248" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="195" yOffset="214"/>
+    <component base="gravecomb.loclVIET" xOffset="310" yOffset="288"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/O_circumflexhookabove.glif 
b/src/Cantarell-Light.ufo/glyphs/O_circumflexhookabove.glif
index f9103223..6fe17c10 100644
--- a/src/Cantarell-Light.ufo/glyphs/O_circumflexhookabove.glif
+++ b/src/Cantarell-Light.ufo/glyphs/O_circumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED4"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_hookabovecomb.case" xOffset="248" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="195" yOffset="214"/>
+    <component base="hookabovecomb.loclVIET" xOffset="341" yOffset="288"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/O_circumflextilde.glif 
b/src/Cantarell-Light.ufo/glyphs/O_circumflextilde.glif
index feae75c9..582d1728 100644
--- a/src/Cantarell-Light.ufo/glyphs/O_circumflextilde.glif
+++ b/src/Cantarell-Light.ufo/glyphs/O_circumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1ED6"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_tildecomb.case" xOffset="206" yOffset="14"/>
+    <component base="circumflexcomb.loclVIET" xOffset="195" yOffset="214"/>
+    <component base="tildecomb.loclVIET" xOffset="144" yOffset="294"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/abreveacute.glif b/src/Cantarell-Light.ufo/glyphs/abreveacute.glif
index 9773db2a..1ce53c55 100644
--- a/src/Cantarell-Light.ufo/glyphs/abreveacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/abreveacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAF"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_acutecomb" xOffset="26"/>
+    <component base="brevecomb.loclVIET" xOffset="5"/>
+    <component base="acutecomb.loclVIET" xOffset="138" yOffset="80"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/abrevegrave.glif b/src/Cantarell-Light.ufo/glyphs/abrevegrave.glif
index 8f69fae7..52744105 100644
--- a/src/Cantarell-Light.ufo/glyphs/abrevegrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/abrevegrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB1"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_gravecomb" xOffset="18"/>
+    <component base="brevecomb.loclVIET" xOffset="5"/>
+    <component base="gravecomb.loclVIET" xOffset="34" yOffset="80"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/abrevehookabove.glif 
b/src/Cantarell-Light.ufo/glyphs/abrevehookabove.glif
index 91c5a3d3..07eedea3 100644
--- a/src/Cantarell-Light.ufo/glyphs/abrevehookabove.glif
+++ b/src/Cantarell-Light.ufo/glyphs/abrevehookabove.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB3"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_hookabovecomb" xOffset="22"/>
+    <component base="brevecomb.loclVIET" xOffset="5"/>
+    <component base="hookabovecomb.loclVIET" xOffset="65" yOffset="80"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/abrevetilde.glif b/src/Cantarell-Light.ufo/glyphs/abrevetilde.glif
index 3ef0001d..a2ff0666 100644
--- a/src/Cantarell-Light.ufo/glyphs/abrevetilde.glif
+++ b/src/Cantarell-Light.ufo/glyphs/abrevetilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB5"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_tildecomb" xOffset="-23"/>
+    <component base="brevecomb.loclVIET" xOffset="5"/>
+    <component base="tildecomb.loclVIET" xOffset="-24" yOffset="80"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/acircumflexacute.glif 
b/src/Cantarell-Light.ufo/glyphs/acircumflexacute.glif
index 570b4ce4..228f197d 100644
--- a/src/Cantarell-Light.ufo/glyphs/acircumflexacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/acircumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA5"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_acutecomb" xOffset="37"/>
+    <component base="circumflexcomb.loclVIET" xOffset="37"/>
+    <component base="acutecomb.loclVIET" xOffset="256" yOffset="74"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/acircumflexgrave.glif 
b/src/Cantarell-Light.ufo/glyphs/acircumflexgrave.glif
index 3fb814b4..c1c4c9d5 100644
--- a/src/Cantarell-Light.ufo/glyphs/acircumflexgrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/acircumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA7"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_gravecomb" xOffset="37"/>
+    <component base="circumflexcomb.loclVIET" xOffset="37"/>
+    <component base="gravecomb.loclVIET" xOffset="152" yOffset="74"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/acircumflexhookabove.glif 
b/src/Cantarell-Light.ufo/glyphs/acircumflexhookabove.glif
index 6e7be76f..7dc8771a 100644
--- a/src/Cantarell-Light.ufo/glyphs/acircumflexhookabove.glif
+++ b/src/Cantarell-Light.ufo/glyphs/acircumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA9"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_hookabovecomb" xOffset="51"/>
+    <component base="circumflexcomb.loclVIET" xOffset="37"/>
+    <component base="hookabovecomb.loclVIET" xOffset="183" yOffset="74"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/acircumflextilde.glif 
b/src/Cantarell-Light.ufo/glyphs/acircumflextilde.glif
index ca059a8d..955309b1 100644
--- a/src/Cantarell-Light.ufo/glyphs/acircumflextilde.glif
+++ b/src/Cantarell-Light.ufo/glyphs/acircumflextilde.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EAB"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_tildecomb" xOffset="-2"/>
+    <component base="circumflexcomb.loclVIET" xOffset="37"/>
+    <component base="tildecomb.loclVIET" xOffset="-14" yOffset="80"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>tildecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/contents.plist b/src/Cantarell-Light.ufo/glyphs/contents.plist
index 95a385a6..286fd932 100644
--- a/src/Cantarell-Light.ufo/glyphs/contents.plist
+++ b/src/Cantarell-Light.ufo/glyphs/contents.plist
@@ -734,8 +734,6 @@
     <string>acutecomb.case.glif</string>
     <key>acutecomb.loclVIET</key>
     <string>acutecomb.loclV_I_E_T_.glif</string>
-    <key>acutecomb_dotaccentcomb</key>
-    <string>acutecomb_dotaccentcomb.glif</string>
     <key>adblgrave</key>
     <string>adblgrave.glif</string>
     <key>adieresis</key>
@@ -814,22 +812,6 @@
     <string>brevecomb.case.glif</string>
     <key>brevecomb.loclVIET</key>
     <string>brevecomb.loclV_I_E_T_.glif</string>
-    <key>brevecomb_acutecomb</key>
-    <string>brevecomb_acutecomb.glif</string>
-    <key>brevecomb_acutecomb.case</key>
-    <string>brevecomb_acutecomb.case.glif</string>
-    <key>brevecomb_gravecomb</key>
-    <string>brevecomb_gravecomb.glif</string>
-    <key>brevecomb_gravecomb.case</key>
-    <string>brevecomb_gravecomb.case.glif</string>
-    <key>brevecomb_hookabovecomb</key>
-    <string>brevecomb_hookabovecomb.glif</string>
-    <key>brevecomb_hookabovecomb.case</key>
-    <string>brevecomb_hookabovecomb.case.glif</string>
-    <key>brevecomb_tildecomb</key>
-    <string>brevecomb_tildecomb.glif</string>
-    <key>brevecomb_tildecomb.case</key>
-    <string>brevecomb_tildecomb.case.glif</string>
     <key>breveinvertedcomb</key>
     <string>breveinvertedcomb.glif</string>
     <key>breveinvertedcomb.case</key>
@@ -854,8 +836,6 @@
     <string>caroncomb.case.glif</string>
     <key>caroncomb.loclVIET</key>
     <string>caroncomb.loclV_I_E_T_.glif</string>
-    <key>caroncomb_dotaccentcomb</key>
-    <string>caroncomb_dotaccentcomb.glif</string>
     <key>ccaron</key>
     <string>ccaron.glif</string>
     <key>ccedilla</key>
@@ -892,22 +872,6 @@
     <string>circumflexcomb.case.glif</string>
     <key>circumflexcomb.loclVIET</key>
     <string>circumflexcomb.loclV_I_E_T_.glif</string>
-    <key>circumflexcomb_acutecomb</key>
-    <string>circumflexcomb_acutecomb.glif</string>
-    <key>circumflexcomb_acutecomb.case</key>
-    <string>circumflexcomb_acutecomb.case.glif</string>
-    <key>circumflexcomb_gravecomb</key>
-    <string>circumflexcomb_gravecomb.glif</string>
-    <key>circumflexcomb_gravecomb.case</key>
-    <string>circumflexcomb_gravecomb.case.glif</string>
-    <key>circumflexcomb_hookabovecomb</key>
-    <string>circumflexcomb_hookabovecomb.glif</string>
-    <key>circumflexcomb_hookabovecomb.case</key>
-    <string>circumflexcomb_hookabovecomb.case.glif</string>
-    <key>circumflexcomb_tildecomb</key>
-    <string>circumflexcomb_tildecomb.glif</string>
-    <key>circumflexcomb_tildecomb.case</key>
-    <string>circumflexcomb_tildecomb.case.glif</string>
     <key>colon</key>
     <string>colon.glif</string>
     <key>colonsign</key>
@@ -962,14 +926,6 @@
     <string>dieresiscomb.case.glif</string>
     <key>dieresiscomb.loclVIET</key>
     <string>dieresiscomb.loclV_I_E_T_.glif</string>
-    <key>dieresiscomb_acutecomb</key>
-    <string>dieresiscomb_acutecomb.glif</string>
-    <key>dieresiscomb_caroncomb</key>
-    <string>dieresiscomb_caroncomb.glif</string>
-    <key>dieresiscomb_gravecomb</key>
-    <string>dieresiscomb_gravecomb.glif</string>
-    <key>dieresiscomb_macroncomb</key>
-    <string>dieresiscomb_macroncomb.glif</string>
     <key>divide</key>
     <string>divide.glif</string>
     <key>divisionslash</key>
@@ -990,8 +946,6 @@
     <string>dotaccentcomb.case.glif</string>
     <key>dotaccentcomb.loclVIET</key>
     <string>dotaccentcomb.loclV_I_E_T_.glif</string>
-    <key>dotaccentcomb_macroncomb</key>
-    <string>dotaccentcomb_macroncomb.glif</string>
     <key>dotbelowcomb</key>
     <string>dotbelowcomb.glif</string>
     <key>doubleprimemod</key>
@@ -1116,12 +1070,6 @@
     <string>exclamdown.glif</string>
     <key>f</key>
     <string>f.glif</string>
-    <key>f_f</key>
-    <string>f_f.glif</string>
-    <key>f_f_i</key>
-    <string>f_f_i.glif</string>
-    <key>f_f_l</key>
-    <string>f_f_l.glif</string>
     <key>fi</key>
     <string>fi.glif</string>
     <key>figuredash</key>
@@ -1418,12 +1366,6 @@
     <string>macroncomb.narrow.glif</string>
     <key>macroncomb.narrow.case</key>
     <string>macroncomb.narrow.case.glif</string>
-    <key>macroncomb_acutecomb</key>
-    <string>macroncomb_acutecomb.glif</string>
-    <key>macroncomb_dieresiscomb</key>
-    <string>macroncomb_dieresiscomb.glif</string>
-    <key>macroncomb_gravecomb</key>
-    <string>macroncomb_gravecomb.glif</string>
     <key>manat</key>
     <string>manat.glif</string>
     <key>mdotbelow</key>
@@ -1868,12 +1810,6 @@
     <string>tildecomb.case.glif</string>
     <key>tildecomb.loclVIET</key>
     <string>tildecomb.loclV_I_E_T_.glif</string>
-    <key>tildecomb_acutecomb</key>
-    <string>tildecomb_acutecomb.glif</string>
-    <key>tildecomb_dieresiscomb</key>
-    <string>tildecomb_dieresiscomb.glif</string>
-    <key>tildecomb_macroncomb</key>
-    <string>tildecomb_macroncomb.glif</string>
     <key>tlinebelow</key>
     <string>tlinebelow.glif</string>
     <key>trademark</key>
diff --git a/src/Cantarell-Light.ufo/glyphs/ecircumflexacute.glif 
b/src/Cantarell-Light.ufo/glyphs/ecircumflexacute.glif
index 282c863b..de89a3e0 100644
--- a/src/Cantarell-Light.ufo/glyphs/ecircumflexacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/ecircumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EBF"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_acutecomb" xOffset="77"/>
+    <component base="circumflexcomb.loclVIET" xOffset="77"/>
+    <component base="acutecomb.loclVIET" xOffset="296" yOffset="74"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/ecircumflexgrave.glif 
b/src/Cantarell-Light.ufo/glyphs/ecircumflexgrave.glif
index bd542fcc..15360e40 100644
--- a/src/Cantarell-Light.ufo/glyphs/ecircumflexgrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/ecircumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC1"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_gravecomb" xOffset="77"/>
+    <component base="circumflexcomb.loclVIET" xOffset="77"/>
+    <component base="gravecomb.loclVIET" xOffset="192" yOffset="74"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/ecircumflexhookabove.glif 
b/src/Cantarell-Light.ufo/glyphs/ecircumflexhookabove.glif
index 4f4d0dfe..19da0c8f 100644
--- a/src/Cantarell-Light.ufo/glyphs/ecircumflexhookabove.glif
+++ b/src/Cantarell-Light.ufo/glyphs/ecircumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC3"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_hookabovecomb" xOffset="91"/>
+    <component base="circumflexcomb.loclVIET" xOffset="77"/>
+    <component base="hookabovecomb.loclVIET" xOffset="223" yOffset="74"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/ecircumflextilde.glif 
b/src/Cantarell-Light.ufo/glyphs/ecircumflextilde.glif
index 731f92a8..3e824c50 100644
--- a/src/Cantarell-Light.ufo/glyphs/ecircumflextilde.glif
+++ b/src/Cantarell-Light.ufo/glyphs/ecircumflextilde.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC5"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_tildecomb" xOffset="38"/>
+    <component base="circumflexcomb.loclVIET" xOffset="77"/>
+    <component base="tildecomb.loclVIET" xOffset="26" yOffset="80"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>tildecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/emacronacute.glif 
b/src/Cantarell-Light.ufo/glyphs/emacronacute.glif
index 36b8397f..032186e7 100644
--- a/src/Cantarell-Light.ufo/glyphs/emacronacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/emacronacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E17"/>
   <outline>
     <component base="e"/>
-    <component base="macroncomb_acutecomb" xOffset="15"/>
+    <component base="macroncomb.loclVIET" xOffset="15"/>
+    <component base="acutecomb" xOffset="186" yOffset="69"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/emacrongrave.glif 
b/src/Cantarell-Light.ufo/glyphs/emacrongrave.glif
index f3cc078e..c54d8750 100644
--- a/src/Cantarell-Light.ufo/glyphs/emacrongrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/emacrongrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E15"/>
   <outline>
     <component base="e"/>
-    <component base="macroncomb_gravecomb" xOffset="15"/>
+    <component base="macroncomb.loclVIET" xOffset="15"/>
+    <component base="gravecomb" xOffset="69" yOffset="69"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/idieresisacute.glif 
b/src/Cantarell-Light.ufo/glyphs/idieresisacute.glif
index d2f3d22f..22f968b3 100644
--- a/src/Cantarell-Light.ufo/glyphs/idieresisacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/idieresisacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E2F"/>
   <outline>
     <component base="idotless"/>
-    <component base="dieresiscomb_acutecomb" xOffset="-119"/>
+    <component base="dieresiscomb.loclVIET" xOffset="-119"/>
+    <component base="acutecomb" xOffset="33" yOffset="79"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/layerinfo.plist b/src/Cantarell-Light.ufo/glyphs/layerinfo.plist
index 4b9ea54c..e36b414d 100644
--- a/src/Cantarell-Light.ufo/glyphs/layerinfo.plist
+++ b/src/Cantarell-Light.ufo/glyphs/layerinfo.plist
@@ -738,8 +738,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.acutecomb.loclVIET</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.acutecomb_dotaccentcomb</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.adblgrave</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.adieresis</key>
@@ -818,22 +816,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb.loclVIET</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_acutecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_acutecomb.case</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_gravecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_gravecomb.case</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_hookabovecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_hookabovecomb.case</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_tildecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_tildecomb.case</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.breveinvertedcomb</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.breveinvertedcomb.case</key>
@@ -858,8 +840,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.caroncomb.loclVIET</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.caroncomb_dotaccentcomb</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.ccaron</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.ccedilla</key>
@@ -896,22 +876,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb.loclVIET</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_acutecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_acutecomb.case</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_gravecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_gravecomb.case</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_hookabovecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_hookabovecomb.case</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_tildecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_tildecomb.case</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.colon</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.colonsign</key>
@@ -966,14 +930,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb.loclVIET</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_acutecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_caroncomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_gravecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_macroncomb</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divide</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divisionslash</key>
@@ -994,8 +950,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dotaccentcomb.loclVIET</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dotaccentcomb_macroncomb</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dotbelowcomb</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.doubleprimemod</key>
@@ -1120,12 +1074,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.f</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.f_f</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.f_f_i</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.f_f_l</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.fi</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.figuredash</key>
@@ -1422,12 +1370,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb.narrow.case</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb_acutecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb_dieresiscomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb_gravecomb</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.manat</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.mdotbelow</key>
@@ -1872,12 +1814,6 @@
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb.loclVIET</key>
       <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb_acutecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb_dieresiscomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb_macroncomb</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.tlinebelow</key>
       <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.trademark</key>
diff --git a/src/Cantarell-Light.ufo/glyphs/ocircumflexacute.glif 
b/src/Cantarell-Light.ufo/glyphs/ocircumflexacute.glif
index baeb5b19..927309d2 100644
--- a/src/Cantarell-Light.ufo/glyphs/ocircumflexacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/ocircumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED1"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_acutecomb" xOffset="83"/>
+    <component base="circumflexcomb.loclVIET" xOffset="83"/>
+    <component base="acutecomb.loclVIET" xOffset="302" yOffset="74"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/ocircumflexgrave.glif 
b/src/Cantarell-Light.ufo/glyphs/ocircumflexgrave.glif
index 04e0012b..04eb5893 100644
--- a/src/Cantarell-Light.ufo/glyphs/ocircumflexgrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/ocircumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED3"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_gravecomb" xOffset="83"/>
+    <component base="circumflexcomb.loclVIET" xOffset="83"/>
+    <component base="gravecomb.loclVIET" xOffset="198" yOffset="74"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/ocircumflexhookabove.glif 
b/src/Cantarell-Light.ufo/glyphs/ocircumflexhookabove.glif
index 1f3bb609..43d5f6fb 100644
--- a/src/Cantarell-Light.ufo/glyphs/ocircumflexhookabove.glif
+++ b/src/Cantarell-Light.ufo/glyphs/ocircumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED5"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_hookabovecomb" xOffset="97"/>
+    <component base="circumflexcomb.loclVIET" xOffset="83"/>
+    <component base="hookabovecomb.loclVIET" xOffset="229" yOffset="74"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/ocircumflextilde.glif 
b/src/Cantarell-Light.ufo/glyphs/ocircumflextilde.glif
index 537fcbb1..0c72c33a 100644
--- a/src/Cantarell-Light.ufo/glyphs/ocircumflextilde.glif
+++ b/src/Cantarell-Light.ufo/glyphs/ocircumflextilde.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED7"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_tildecomb" xOffset="44"/>
+    <component base="circumflexcomb.loclVIET" xOffset="83"/>
+    <component base="tildecomb.loclVIET" xOffset="32" yOffset="80"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>tildecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/odieresismacron.glif 
b/src/Cantarell-Light.ufo/glyphs/odieresismacron.glif
index 29a9c81d..65c3d9ce 100644
--- a/src/Cantarell-Light.ufo/glyphs/odieresismacron.glif
+++ b/src/Cantarell-Light.ufo/glyphs/odieresismacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="022B"/>
   <outline>
     <component base="o"/>
-    <component base="dieresiscomb_macroncomb" xOffset="40"/>
+    <component base="dieresiscomb.loclVIET" xOffset="40"/>
+    <component base="macroncomb" xOffset="16" yOffset="79"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/odotaccentmacron.glif 
b/src/Cantarell-Light.ufo/glyphs/odotaccentmacron.glif
index a75c079c..32fd453a 100644
--- a/src/Cantarell-Light.ufo/glyphs/odotaccentmacron.glif
+++ b/src/Cantarell-Light.ufo/glyphs/odotaccentmacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="0231"/>
   <outline>
     <component base="o"/>
-    <component base="dotaccentcomb_macroncomb" xOffset="-14"/>
+    <component base="dotaccentcomb.loclVIET" xOffset="140"/>
+    <component base="macroncomb" xOffset="16" yOffset="79"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/omacronacute.glif 
b/src/Cantarell-Light.ufo/glyphs/omacronacute.glif
index a927e03d..841cae05 100644
--- a/src/Cantarell-Light.ufo/glyphs/omacronacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/omacronacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E53"/>
   <outline>
     <component base="o"/>
-    <component base="macroncomb_acutecomb" xOffset="21"/>
+    <component base="macroncomb.loclVIET" xOffset="21"/>
+    <component base="acutecomb" xOffset="192" yOffset="69"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/omacrongrave.glif 
b/src/Cantarell-Light.ufo/glyphs/omacrongrave.glif
index 427138b4..3c619846 100644
--- a/src/Cantarell-Light.ufo/glyphs/omacrongrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/omacrongrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E51"/>
   <outline>
     <component base="o"/>
-    <component base="macroncomb_gravecomb" xOffset="21"/>
+    <component base="macroncomb.loclVIET" xOffset="21"/>
+    <component base="gravecomb" xOffset="75" yOffset="69"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/otildeacute.glif b/src/Cantarell-Light.ufo/glyphs/otildeacute.glif
index 4fc02bde..97846580 100644
--- a/src/Cantarell-Light.ufo/glyphs/otildeacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/otildeacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E4D"/>
   <outline>
     <component base="o"/>
-    <component base="tildecomb_acutecomb" xOffset="24"/>
+    <component base="tildecomb" xOffset="24"/>
+    <component base="acutecomb" xOffset="192" yOffset="132"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/otildedieresis.glif 
b/src/Cantarell-Light.ufo/glyphs/otildedieresis.glif
index a27e40e3..50a0db37 100644
--- a/src/Cantarell-Light.ufo/glyphs/otildedieresis.glif
+++ b/src/Cantarell-Light.ufo/glyphs/otildedieresis.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E4F"/>
   <outline>
     <component base="o"/>
-    <component base="tildecomb_dieresiscomb" xOffset="24"/>
+    <component base="tildecomb" xOffset="24"/>
+    <component base="dieresiscomb" xOffset="40" yOffset="132"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/otildemacron.glif 
b/src/Cantarell-Light.ufo/glyphs/otildemacron.glif
index 6feb3c00..0cfa746a 100644
--- a/src/Cantarell-Light.ufo/glyphs/otildemacron.glif
+++ b/src/Cantarell-Light.ufo/glyphs/otildemacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="022D"/>
   <outline>
     <component base="o"/>
-    <component base="tildecomb_macroncomb" xOffset="24"/>
+    <component base="tildecomb" xOffset="24"/>
+    <component base="macroncomb" xOffset="16" yOffset="132"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/sacutedotaccent.glif 
b/src/Cantarell-Light.ufo/glyphs/sacutedotaccent.glif
index 9c83f906..0c96f7bd 100644
--- a/src/Cantarell-Light.ufo/glyphs/sacutedotaccent.glif
+++ b/src/Cantarell-Light.ufo/glyphs/sacutedotaccent.glif
@@ -4,6 +4,22 @@
   <unicode hex="1E65"/>
   <outline>
     <component base="s"/>
-    <component base="acutecomb_dotaccentcomb" xOffset="151"/>
+    <component base="acutecomb.loclVIET" xOffset="151"/>
+    <component base="dotaccentcomb.loclVIET" xOffset="63" yOffset="97"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_dot</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>dotaccentcomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/scarondotaccent.glif 
b/src/Cantarell-Light.ufo/glyphs/scarondotaccent.glif
index 132b76ce..a70b60ec 100644
--- a/src/Cantarell-Light.ufo/glyphs/scarondotaccent.glif
+++ b/src/Cantarell-Light.ufo/glyphs/scarondotaccent.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E67"/>
   <outline>
     <component base="s"/>
-    <component base="caroncomb_dotaccentcomb" xOffset="31"/>
+    <component base="caroncomb.loclVIET" xOffset="31"/>
+    <component base="dotaccentcomb.loclVIET" xOffset="97" yOffset="99"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/udieresisacute.glif 
b/src/Cantarell-Light.ufo/glyphs/udieresisacute.glif
index 1445dfaa..65eeca06 100644
--- a/src/Cantarell-Light.ufo/glyphs/udieresisacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/udieresisacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="01D8"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_acutecomb" xOffset="29"/>
+    <component base="dieresiscomb.loclVIET" xOffset="29"/>
+    <component base="acutecomb" xOffset="181" yOffset="79"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/udieresiscaron.glif 
b/src/Cantarell-Light.ufo/glyphs/udieresiscaron.glif
index ec0a88a3..aad30852 100644
--- a/src/Cantarell-Light.ufo/glyphs/udieresiscaron.glif
+++ b/src/Cantarell-Light.ufo/glyphs/udieresiscaron.glif
@@ -4,6 +4,7 @@
   <unicode hex="01DA"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_caroncomb" xOffset="29"/>
+    <component base="dieresiscomb.loclVIET" xOffset="29"/>
+    <component base="caroncomb" xOffset="65" yOffset="79"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/udieresisgrave.glif 
b/src/Cantarell-Light.ufo/glyphs/udieresisgrave.glif
index 57c0f22c..026c8a63 100644
--- a/src/Cantarell-Light.ufo/glyphs/udieresisgrave.glif
+++ b/src/Cantarell-Light.ufo/glyphs/udieresisgrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="01DC"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_gravecomb" xOffset="29"/>
+    <component base="dieresiscomb.loclVIET" xOffset="29"/>
+    <component base="gravecomb" xOffset="64" yOffset="79"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/udieresismacron.glif 
b/src/Cantarell-Light.ufo/glyphs/udieresismacron.glif
index 1f51be61..70542df2 100644
--- a/src/Cantarell-Light.ufo/glyphs/udieresismacron.glif
+++ b/src/Cantarell-Light.ufo/glyphs/udieresismacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="01D6"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_macroncomb" xOffset="29"/>
+    <component base="dieresiscomb.loclVIET" xOffset="29"/>
+    <component base="macroncomb" xOffset="5" yOffset="79"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/umacrondieresis.glif 
b/src/Cantarell-Light.ufo/glyphs/umacrondieresis.glif
index 420d04e3..a6463b70 100644
--- a/src/Cantarell-Light.ufo/glyphs/umacrondieresis.glif
+++ b/src/Cantarell-Light.ufo/glyphs/umacrondieresis.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E7B"/>
   <outline>
     <component base="u"/>
-    <component base="macroncomb_dieresiscomb" xOffset="-15"/>
+    <component base="macroncomb.loclVIET" xOffset="10"/>
+    <component base="dieresiscomb" xOffset="29" yOffset="69"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/glyphs/utildeacute.glif b/src/Cantarell-Light.ufo/glyphs/utildeacute.glif
index e2774d75..58953bb9 100644
--- a/src/Cantarell-Light.ufo/glyphs/utildeacute.glif
+++ b/src/Cantarell-Light.ufo/glyphs/utildeacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E79"/>
   <outline>
     <component base="u"/>
-    <component base="tildecomb_acutecomb" xOffset="13"/>
+    <component base="tildecomb" xOffset="13"/>
+    <component base="acutecomb" xOffset="181" yOffset="132"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Light.ufo/lib.plist b/src/Cantarell-Light.ufo/lib.plist
index c78fb038..a72c1674 100644
--- a/src/Cantarell-Light.ufo/lib.plist
+++ b/src/Cantarell-Light.ufo/lib.plist
@@ -1784,9 +1784,6 @@
       <string>zdotaccent</string>
       <string>zdotbelow</string>
       <string>l.ss01</string>
-      <string>f_f</string>
-      <string>f_f_i</string>
-      <string>f_f_l</string>
       <string>fi</string>
       <string>fl</string>
       <string>ordfeminine</string>
@@ -2218,31 +2215,18 @@
       <string>verticallinelowmod</string>
       <string>verticallinemod</string>
       <string>dieresiscomb</string>
-      <string>dieresiscomb_gravecomb</string>
-      <string>dieresiscomb_acutecomb</string>
-      <string>dieresiscomb_caroncomb</string>
-      <string>dieresiscomb_macroncomb</string>
       <string>dotaccentcomb</string>
-      <string>dotaccentcomb_macroncomb</string>
       <string>gravecomb</string>
       <string>acutecomb</string>
-      <string>acutecomb_dotaccentcomb</string>
       <string>hungarumlautcomb</string>
       <string>caroncomb.alt</string>
       <string>circumflexcomb</string>
       <string>caroncomb</string>
-      <string>caroncomb_dotaccentcomb</string>
       <string>brevecomb</string>
       <string>ringcomb</string>
       <string>ringcomb_acutecomb</string>
       <string>tildecomb</string>
-      <string>tildecomb_dieresiscomb</string>
-      <string>tildecomb_acutecomb</string>
-      <string>tildecomb_macroncomb</string>
       <string>macroncomb</string>
-      <string>macroncomb_dieresiscomb</string>
-      <string>macroncomb_gravecomb</string>
-      <string>macroncomb_acutecomb</string>
       <string>hookabovecomb</string>
       <string>verticallineabovecomb</string>
       <string>dblgravecomb</string>
@@ -2313,22 +2297,6 @@
       <string>brevecomb-cy.case</string>
       <string>descender-cy.case</string>
       <string>descender-cy.strait</string>
-      <string>brevecomb_acutecomb</string>
-      <string>brevecomb_gravecomb</string>
-      <string>brevecomb_hookabovecomb</string>
-      <string>brevecomb_tildecomb</string>
-      <string>circumflexcomb_acutecomb</string>
-      <string>circumflexcomb_gravecomb</string>
-      <string>circumflexcomb_hookabovecomb</string>
-      <string>circumflexcomb_tildecomb</string>
-      <string>brevecomb_acutecomb.case</string>
-      <string>brevecomb_gravecomb.case</string>
-      <string>brevecomb_hookabovecomb.case</string>
-      <string>brevecomb_tildecomb.case</string>
-      <string>circumflexcomb_acutecomb.case</string>
-      <string>circumflexcomb_gravecomb.case</string>
-      <string>circumflexcomb_hookabovecomb.case</string>
-      <string>circumflexcomb_tildecomb.case</string>
       <string>_descenderreversed-cy</string>
       <string>_bar-cy</string>
       <string>_descender-cy.case.straight</string>
@@ -2802,8 +2770,6 @@
       <string>uni1EA9</string>
       <key>acircumflextilde</key>
       <string>uni1EAB</string>
-      <key>acutecomb_dotaccentcomb</key>
-      <string>uni03010307</string>
       <key>adblgrave</key>
       <string>uni0201</string>
       <key>adieresis-cy</key>
@@ -2836,22 +2802,6 @@
       <string>uni0306.case</string>
       <key>brevecomb.loclVIET</key>
       <string>uni0306.loclVIET</string>
-      <key>brevecomb_acutecomb</key>
-      <string>uni03060301</string>
-      <key>brevecomb_acutecomb.case</key>
-      <string>uni03060301.case</string>
-      <key>brevecomb_gravecomb</key>
-      <string>uni03060300</string>
-      <key>brevecomb_gravecomb.case</key>
-      <string>uni03060300.case</string>
-      <key>brevecomb_hookabovecomb</key>
-      <string>uni03060309</string>
-      <key>brevecomb_hookabovecomb.case</key>
-      <string>uni03060309.case</string>
-      <key>brevecomb_tildecomb</key>
-      <string>uni03060303</string>
-      <key>brevecomb_tildecomb.case</key>
-      <string>uni03060303.case</string>
       <key>breveinvertedcomb</key>
       <string>uni0311</string>
       <key>breveinvertedcomb.case</key>
@@ -2866,8 +2816,6 @@
       <string>uni030C.case</string>
       <key>caroncomb.loclVIET</key>
       <string>uni030C.loclVIET</string>
-      <key>caroncomb_dotaccentcomb</key>
-      <string>uni030C0307</string>
       <key>ccedillaacute</key>
       <string>uni1E09</string>
       <key>cedi</key>
@@ -2890,22 +2838,6 @@
       <string>uni0302.case</string>
       <key>circumflexcomb.loclVIET</key>
       <string>uni0302.loclVIET</string>
-      <key>circumflexcomb_acutecomb</key>
-      <string>uni03020301</string>
-      <key>circumflexcomb_acutecomb.case</key>
-      <string>uni03020301.case</string>
-      <key>circumflexcomb_gravecomb</key>
-      <string>uni03020300</string>
-      <key>circumflexcomb_gravecomb.case</key>
-      <string>uni03020300.case</string>
-      <key>circumflexcomb_hookabovecomb</key>
-      <string>uni03020309</string>
-      <key>circumflexcomb_hookabovecomb.case</key>
-      <string>uni03020309.case</string>
-      <key>circumflexcomb_tildecomb</key>
-      <string>uni03020303</string>
-      <key>circumflexcomb_tildecomb.case</key>
-      <string>uni03020303.case</string>
       <key>colonsign</key>
       <string>colonmonetary</string>
       <key>commaaccentcomb</key>
@@ -2938,14 +2870,6 @@
       <string>uni0308.case</string>
       <key>dieresiscomb.loclVIET</key>
       <string>uni0308.loclVIET</string>
-      <key>dieresiscomb_acutecomb</key>
-      <string>uni03080301</string>
-      <key>dieresiscomb_caroncomb</key>
-      <string>uni0308030C</string>
-      <key>dieresiscomb_gravecomb</key>
-      <string>uni03080300</string>
-      <key>dieresiscomb_macroncomb</key>
-      <string>uni03080304</string>
       <key>divisionslash</key>
       <string>uni2215.tf</string>
       <key>dje-cy</key>
@@ -2958,8 +2882,6 @@
       <string>uni0307.case</string>
       <key>dotaccentcomb.loclVIET</key>
       <string>uni0307.loclVIET</string>
-      <key>dotaccentcomb_macroncomb</key>
-      <string>uni03070304</string>
       <key>doubleprimemod</key>
       <string>uni02BA</string>
       <key>downArrow</key>
@@ -3190,12 +3112,6 @@
       <string>uni0304.narrow</string>
       <key>macroncomb.narrow.case</key>
       <string>uni0304.narrow.case</string>
-      <key>macroncomb_acutecomb</key>
-      <string>uni03040301</string>
-      <key>macroncomb_dieresiscomb</key>
-      <string>uni03040308</string>
-      <key>macroncomb_gravecomb</key>
-      <string>uni03040300</string>
       <key>manat</key>
       <string>uni20BC</string>
       <key>mdotbelow</key>
@@ -3422,10 +3338,6 @@
       <string>uni2004</string>
       <key>threesuperior</key>
       <string>uni00B3</string>
-      <key>tildecomb_dieresiscomb</key>
-      <string>uni03030308</string>
-      <key>tildecomb_macroncomb</key>
-      <string>uni03030304</string>
       <key>tlinebelow</key>
       <string>uni1E6F</string>
       <key>tripleprime</key>
diff --git a/src/Cantarell-Regular.ufo/features.fea b/src/Cantarell-Regular.ufo/features.fea
index 7a47ebf1..90a096d1 100644
--- a/src/Cantarell-Regular.ufo/features.fea
+++ b/src/Cantarell-Regular.ufo/features.fea
@@ -20,9 +20,9 @@ languagesystem cyrl TAT;
 # Prefix: GDEF
 table GDEF {
   GlyphClassDef
-    [A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron Acircumflex 
Acircumflexacute Acircumflexdotbelow Acircumflexgrave Acircumflexhookabove Acircumflextilde Adblgrave 
Adieresis Adotbelow Agrave Ahookabove Ainvertedbreve Amacron Aogonek Aring Aringacute Atilde AE AEacute B C 
Cacute Ccaron Ccedilla Ccedillaacute Ccircumflex Cdotaccent D Eth Dcaron Dcroat Ddotbelow Dlinebelow E Eacute 
Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow Ecircumflexgrave 
Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave Ehookabove 
Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex Gcommaaccent 
Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex Idblgrave 
Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek Itilde J 
Jacute Jcircumflex K Kacute Kcommaaccent L Lacute Lcaro
 n Lcomma
 accent Ldotbelow Llinebelow Lslash M Mdotbelow N Nacute Ncaron Ncommaaccent Ndotaccent Ndotbelow Nlinebelow 
Ntilde O Oacute Obreve Ocaron Ocircumflex Ocircumflexacute Ocircumflexdotbelow Ocircumflexgrave 
Ocircumflexhookabove Ocircumflextilde Odblgrave Odieresis Odieresismacron Odotaccentmacron Odotbelow Ograve 
Ohookabove Ohorn Ohornacute Ohorndotbelow Ohorngrave Ohornhookabove Ohorntilde Ohungarumlaut Oinvertedbreve 
Omacron Omacronacute Omacrongrave Oogonek Oslash Oslashacute Otilde Otildeacute Otildedieresis Otildemacron 
OE P Q R Racute Rcaron Rcommaaccent Rdblgrave Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent 
Scaron Scarondotaccent Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Schwa T Tbar 
Tcaron Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis 
Udieresisacute Udieresiscaron Udieresisgrave Udieresismacron Udotbelow Ugrave Uhookabove Uhorn Uhornacute 
Uhorndotbelow Uhorngrave Uhornhoo
 kabove U
 horntilde Uhungarumlaut Uinvertedbreve Umacron Umacrondieresis Uogonek Uring Utilde Utildeacute V W Wacute 
Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ydotaccent Ydotbelow Ygrave Yhookabove Ymacron 
Ytilde Z Zacute Zcaron Zdotaccent Zdotbelow a aacute abreve abreveacute abrevedotbelow abrevegrave 
abrevehookabove abrevetilde acaron acircumflex acircumflexacute acircumflexdotbelow acircumflexgrave 
acircumflexhookabove acircumflextilde adblgrave adieresis adotbelow agrave ahookabove ainvertedbreve amacron 
aogonek aring aringacute atilde ae aeacute b c cacute ccaron ccedilla ccedillaacute ccircumflex cdotaccent d 
dcaron dcroat ddotbelow dlinebelow e eacute ebreve ecaron ecedillabreve ecircumflex ecircumflexacute 
ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove ecircumflextilde edblgrave edieresis edotaccent 
edotbelow egrave ehookabove einvertedbreve emacron emacronacute emacrongrave eogonek etilde schwa f g gbreve 
gcaron gcircumflex gcommaaccent gdotacc
 ent gmac
 ron h hbar hbrevebelow hcircumflex hdotbelow i idotless iacute ibreve icaron icircumflex idblgrave idieresis 
idieresisacute idotaccent idotbelow igrave ihookabove iinvertedbreve imacron iogonek itilde j jdotless jacute 
jcircumflex k kacute kcommaaccent l lacute lcaron lcommaaccent ldotbelow llinebelow lslash m mdotbelow n 
nacute ncaron ncommaaccent ndotaccent ndotbelow nlinebelow ntilde o oacute obreve ocaron ocircumflex 
ocircumflexacute ocircumflexdotbelow ocircumflexgrave ocircumflexhookabove ocircumflextilde odblgrave 
odieresis odieresismacron odotaccentmacron odotbelow ograve ohookabove ohorn ohornacute ohorndotbelow 
ohorngrave ohornhookabove ohorntilde ohungarumlaut oinvertedbreve omacron omacronacute omacrongrave oogonek 
oslash oslashacute otilde otildeacute otildedieresis otildemacron oe p q r racute rcaron rcommaaccent 
rdblgrave rdotbelow rinvertedbreve rlinebelow s sacute sacutedotaccent scaron scarondotaccent scedilla 
scircumflex scommaaccent sdotaccent sdotbelow s
 dotbelow
 dotaccent t tbar tcaron tcedilla tcommaaccent tdieresis tdotbelow tlinebelow u uacute ubreve ucaron 
ucircumflex udblgrave udieresis udieresisacute udieresiscaron udieresisgrave udieresismacron udotbelow ugrave 
uhookabove uhorn uhornacute uhorndotbelow uhorngrave uhornhookabove uhorntilde uhungarumlaut uinvertedbreve 
umacron umacrondieresis uogonek uring utilde utildeacute v w wacute wcircumflex wdieresis wgrave x y yacute 
ycircumflex ydieresis ydotaccent ydotbelow ygrave yhookabove ymacron ytilde z zacute zcaron zdotaccent 
zdotbelow A-cy Ve-cy Ge-cy Gje-cy Ie-cy Iegrave-cy Io-cy Zhe-cy Ze-cy Ii-cy Iishort-cy Iigrave-cy Ka-cy 
Kje-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy Te-cy U-cy Ushort-cy Ha-cy Che-cy Hardsign-cy Yeru-cy Dze-cy 
Ereversed-cy I-cy Yi-cy Je-cy Iu-cy Ia-cy Fita-cy Zhedescender-cy Zedescender-cy Kadescender-cy 
Endescender-cy Esdescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy 
Zhebreve-cy Chekhakassian-cy Abreve-cy Adieresis-cy 
 Aie-cy I
 ebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy Idieresis-cy Odieresis-cy Obarred-cy Umacron-cy 
Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy Yerudieresis-cy Qa-cy We-cy a-cy ge-cy gje-cy 
ie-cy iegrave-cy io-cy zhe-cy ze-cy ii-cy iishort-cy iigrave-cy ka-cy kje-cy en-cy o-cy pe-cy er-cy es-cy 
te-cy u-cy ushort-cy ha-cy che-cy yeru-cy dze-cy e-cy ereversed-cy i-cy yi-cy je-cy tshe-cy iu-cy ia-cy 
dje-cy fita-cy zhedescender-cy zedescender-cy kadescender-cy endescender-cy esdescender-cy ustraight-cy 
ustraightstroke-cy hadescender-cy chedescender-cy shha-cy palochka-cy zhebreve-cy chekhakassian-cy abreve-cy 
adieresis-cy aie-cy iebreve-cy schwa-cy zhedieresis-cy zedieresis-cy imacron-cy idieresis-cy odieresis-cy 
obarred-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy yerudieresis-cy qa-cy 
we-cy], # Base
+    [A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron Acircumflex 
Acircumflexacute Acircumflexdotbelow Acircumflexgrave Acircumflexhookabove Acircumflextilde Adblgrave 
Adieresis Adotbelow Agrave Ahookabove Ainvertedbreve Amacron Aogonek Aring Aringacute Atilde AE AEacute B C 
Cacute Ccaron Ccedilla Ccedillaacute Ccircumflex Cdotaccent D Eth Dcaron Dcroat Ddotbelow Dlinebelow E Eacute 
Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow Ecircumflexgrave 
Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave Ehookabove 
Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex Gcommaaccent 
Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex Idblgrave 
Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek Itilde J 
Jacute Jcircumflex K Kacute Kcommaaccent L Lacute Lcaro
 n Lcomma
 accent Ldotbelow Llinebelow Lslash M Mdotbelow N Nacute Ncaron Ncommaaccent Ndotaccent Ndotbelow Nlinebelow 
Ntilde O Oacute Obreve Ocaron Ocircumflex Ocircumflexacute Ocircumflexdotbelow Ocircumflexgrave 
Ocircumflexhookabove Ocircumflextilde Odblgrave Odieresis Odieresismacron Odotaccentmacron Odotbelow Ograve 
Ohookabove Ohorn Ohornacute Ohorndotbelow Ohorngrave Ohornhookabove Ohorntilde Ohungarumlaut Oinvertedbreve 
Omacron Omacronacute Omacrongrave Oogonek Oslash Oslashacute Otilde Otildeacute Otildedieresis Otildemacron 
OE P Q R Racute Rcaron Rcommaaccent Rdblgrave Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent 
Scaron Scarondotaccent Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Schwa T Tbar 
Tcaron Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis 
Udieresisacute Udieresiscaron Udieresisgrave Udieresismacron Udotbelow Ugrave Uhookabove Uhorn Uhornacute 
Uhorndotbelow Uhorngrave Uhornhoo
 kabove U
 horntilde Uhungarumlaut Uinvertedbreve Umacron Umacrondieresis Uogonek Uring Utilde Utildeacute V W Wacute 
Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ydotaccent Ydotbelow Ygrave Yhookabove Ymacron 
Ytilde Z Zacute Zcaron Zdotaccent Zdotbelow a aacute abreve abreveacute abrevedotbelow abrevegrave 
abrevehookabove abrevetilde acaron acircumflex acircumflexacute acircumflexdotbelow acircumflexgrave 
acircumflexhookabove acircumflextilde adblgrave adieresis adotbelow agrave ahookabove ainvertedbreve amacron 
aogonek aring aringacute atilde ae aeacute b c cacute ccaron ccedilla ccedillaacute ccircumflex cdotaccent d 
dcaron dcroat ddotbelow dlinebelow e eacute ebreve ecaron ecedillabreve ecircumflex ecircumflexacute 
ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove ecircumflextilde edblgrave edieresis edotaccent 
edotbelow egrave ehookabove einvertedbreve emacron emacronacute emacrongrave eogonek etilde schwa f g gbreve 
gcaron gcircumflex gcommaaccent gdotacc
 ent gmac
 ron h hbar hbrevebelow hcircumflex hdotbelow i idotless iacute ibreve icaron icircumflex idblgrave idieresis 
idieresisacute idotaccent idotbelow igrave ihookabove iinvertedbreve imacron iogonek itilde j jdotless jacute 
jcircumflex k kacute kcommaaccent l lacute lcaron lcommaaccent ldotbelow llinebelow lslash m mdotbelow n 
nacute ncaron ncommaaccent ndotaccent ndotbelow nlinebelow ntilde o oacute obreve ocaron ocircumflex 
ocircumflexacute ocircumflexdotbelow ocircumflexgrave ocircumflexhookabove ocircumflextilde odblgrave 
odieresis odieresismacron odotaccentmacron odotbelow ograve ohookabove ohorn ohornacute ohorndotbelow 
ohorngrave ohornhookabove ohorntilde ohungarumlaut oinvertedbreve omacron omacronacute omacrongrave oogonek 
oslash oslashacute otilde otildeacute otildedieresis otildemacron oe p q r racute rcaron rcommaaccent 
rdblgrave rdotbelow rinvertedbreve rlinebelow s sacute sacutedotaccent scaron scarondotaccent scedilla 
scircumflex scommaaccent sdotaccent sdotbelow s
 dotbelow
 dotaccent t tbar tcaron tcedilla tcommaaccent tdieresis tdotbelow tlinebelow u uacute ubreve ucaron 
ucircumflex udblgrave udieresis udieresisacute udieresiscaron udieresisgrave udieresismacron udotbelow ugrave 
uhookabove uhorn uhornacute uhorndotbelow uhorngrave uhornhookabove uhorntilde uhungarumlaut uinvertedbreve 
umacron umacrondieresis uogonek uring utilde utildeacute v w wacute wcircumflex wdieresis wgrave x y yacute 
ycircumflex ydieresis ydotaccent ydotbelow ygrave yhookabove ymacron ytilde z zacute zcaron zdotaccent 
zdotbelow l.ss01 A-cy Ve-cy Ge-cy Gje-cy Ie-cy Iegrave-cy Io-cy Zhe-cy Ze-cy Ii-cy Iishort-cy Iigrave-cy 
Ka-cy Kje-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy Te-cy U-cy Ushort-cy Ha-cy Che-cy Hardsign-cy Yeru-cy Dze-cy 
Ereversed-cy I-cy Yi-cy Je-cy Iu-cy Ia-cy Fita-cy Zhedescender-cy Zedescender-cy Kadescender-cy 
Endescender-cy Esdescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy 
Zhebreve-cy Chekhakassian-cy Abreve-cy Adiere
 sis-cy A
 ie-cy Iebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy Idieresis-cy Odieresis-cy Obarred-cy 
Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy Yerudieresis-cy Qa-cy We-cy a-cy ge-cy 
gje-cy ie-cy iegrave-cy io-cy zhe-cy ze-cy ii-cy iishort-cy iigrave-cy ka-cy kje-cy en-cy o-cy pe-cy er-cy 
es-cy te-cy u-cy ushort-cy ha-cy che-cy yeru-cy dze-cy e-cy ereversed-cy i-cy yi-cy je-cy tshe-cy iu-cy ia-cy 
dje-cy fita-cy zhedescender-cy zedescender-cy kadescender-cy endescender-cy esdescender-cy ustraight-cy 
ustraightstroke-cy hadescender-cy chedescender-cy shha-cy palochka-cy zhebreve-cy chekhakassian-cy abreve-cy 
adieresis-cy aie-cy iebreve-cy schwa-cy zhedieresis-cy zedieresis-cy imacron-cy idieresis-cy odieresis-cy 
obarred-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy yerudieresis-cy qa-cy 
we-cy], # Base
     , # Liga
-    [dieresiscomb dieresiscomb_gravecomb dieresiscomb_acutecomb dieresiscomb_caroncomb 
dieresiscomb_macroncomb dotaccentcomb dotaccentcomb_macroncomb gravecomb acutecomb acutecomb_dotaccentcomb 
hungarumlautcomb caroncomb.alt circumflexcomb caroncomb caroncomb_dotaccentcomb brevecomb ringcomb 
ringcomb_acutecomb tildecomb tildecomb_dieresiscomb tildecomb_acutecomb tildecomb_macroncomb macroncomb 
macroncomb_dieresiscomb macroncomb_gravecomb macroncomb_acutecomb hookabovecomb verticallineabovecomb 
dblgravecomb breveinvertedcomb commaturnedabovecomb horncomb dotbelowcomb dieresisbelowcomb commaaccentcomb 
cedillacomb ogonekcomb verticallinebelowcomb brevebelowcomb macronbelowcomb strokeshortcomb strokelongcomb 
slashshortcomb slashlongcomb dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case 
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case 
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case b
 reveinve
 rtedcomb.case strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case 
ogonekcomb.tall.case dieresiscomb.loclVIET dotaccentcomb.loclVIET gravecomb.loclVIET acutecomb.loclVIET 
circumflexcomb.loclVIET caroncomb.loclVIET brevecomb.loclVIET tildecomb.loclVIET macroncomb.loclVIET 
hookabovecomb.loclVIET macroncomb.narrow ogonekcomb.narrow macronbelowcomb.narrow ogonekcomb.tall 
brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait brevecomb_acutecomb 
brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb circumflexcomb_acutecomb 
circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb brevecomb_acutecomb.case 
brevecomb_gravecomb.case brevecomb_hookabovecomb.case brevecomb_tildecomb.case circumflexcomb_acutecomb.case 
circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case], # Mark
+    [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb caroncomb.alt circumflexcomb caroncomb 
brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb hookabovecomb verticallineabovecomb dblgravecomb 
breveinvertedcomb commaturnedabovecomb horncomb dotbelowcomb dieresisbelowcomb commaaccentcomb cedillacomb 
ogonekcomb verticallinebelowcomb brevebelowcomb macronbelowcomb strokeshortcomb strokelongcomb slashshortcomb 
slashlongcomb dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case hungarumlautcomb.case 
circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case tildecomb.case 
macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case strokeshortcomb.case 
slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case dieresiscomb.loclVIET 
dotaccentcomb.loclVIET gravecomb.loclVIET acutecomb.loclVIET circumflexcomb.loclVIET caroncomb.loclVIET 
brevecomb.loclVIET tildecomb.loclVIET macron
 comb.loc
 lVIET hookabovecomb.loclVIET macroncomb.narrow ogonekcomb.narrow macronbelowcomb.narrow ogonekcomb.tall 
brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait], # Mark
     ;
 } GDEF;
 
@@ -55,8 +55,8 @@ lookup ccmp_Other_1 {
        @CombiningNonTopAccents = [brevebelowcomb cedillacomb dieresisbelowcomb dotbelowcomb macronbelowcomb 
ogonekcomb verticallinebelowcomb horncomb slashlongcomb slashshortcomb strokelongcomb strokeshortcomb];
        sub [i j]' @CombiningTopAccents by [idotless jdotless];
        sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless];
-       @Markscomb = [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb 
caroncomb brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb hookabovecomb dblgravecomb 
breveinvertedcomb strokeshortcomb slashshortcomb slashlongcomb macroncomb.narrow ogonekcomb.tall brevecomb-cy 
descender-cy brevecomb_acutecomb brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb 
circumflexcomb_acutecomb circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb];
-       @MarkscombCase = [dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case 
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case 
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case 
strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case 
brevecomb-cy.case descender-cy.case brevecomb_acutecomb.case brevecomb_gravecomb.case 
brevecomb_hookabovecomb.case brevecomb_tildecomb.case circumflexcomb_acutecomb.case 
circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case];
+       @Markscomb = [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb 
caroncomb brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb hookabovecomb dblgravecomb 
breveinvertedcomb strokeshortcomb slashshortcomb slashlongcomb macroncomb.narrow ogonekcomb.tall brevecomb-cy 
descender-cy];
+       @MarkscombCase = [dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case 
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case 
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case 
strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case 
brevecomb-cy.case descender-cy.case];
        sub @Markscomb @Markscomb' by @MarkscombCase;
        sub @Uppercase @Markscomb' by @MarkscombCase;
 } ccmp_Other_1;
@@ -68,46 +68,10 @@ lookup ccmp_Other_2 {
 
 lookup ccmp_Other_3 {
        lookupflag 0;
-       sub acutecomb dotaccentcomb by acutecomb_dotaccentcomb;
-       sub caroncomb dotaccentcomb by caroncomb_dotaccentcomb;
-       sub dieresiscomb acutecomb by dieresiscomb_acutecomb;
-       sub dieresiscomb caroncomb by dieresiscomb_caroncomb;
-       sub dieresiscomb gravecomb by dieresiscomb_gravecomb;
-       sub dieresiscomb macroncomb by dieresiscomb_macroncomb;
-       sub dotaccentcomb macroncomb by dotaccentcomb_macroncomb;
-       sub macroncomb acutecomb by macroncomb_acutecomb;
-       sub macroncomb dieresiscomb by macroncomb_dieresiscomb;
-       sub macroncomb gravecomb by macroncomb_gravecomb;
        sub ringcomb acutecomb by ringcomb_acutecomb;
        sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case;
-       sub tildecomb acutecomb by tildecomb_acutecomb;
-       sub tildecomb dieresiscomb by tildecomb_dieresiscomb;
-       sub tildecomb macroncomb by tildecomb_macroncomb;
 } ccmp_Other_3;
 
-lookup ccmp_latn_1 {
-       lookupflag 0;
-       sub brevecomb acutecomb by brevecomb_acutecomb;
-       sub brevecomb.case acutecomb.case by brevecomb_acutecomb.case;
-       sub brevecomb gravecomb by brevecomb_gravecomb;
-       sub brevecomb.case gravecomb.case by brevecomb_gravecomb.case;
-       sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
-       sub brevecomb.case hookabovecomb.case by brevecomb_hookabovecomb.case;
-       sub brevecomb tildecomb by brevecomb_tildecomb;
-       sub brevecomb.case tildecomb.case by brevecomb_tildecomb.case;
-       sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
-       sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
-       sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
-       sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
-       sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
-       sub circumflexcomb.case hookabovecomb.case by circumflexcomb_hookabovecomb.case;
-       sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
-       sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
-} ccmp_latn_1;
-
-script latn;
-lookup ccmp_latn_1;
-
 } ccmp;
 
 feature locl {
@@ -327,22 +291,11 @@ sub macroncomb.narrow by macroncomb.narrow.case;
 sub ogonekcomb.tall by ogonekcomb.tall.case;
 sub brevecomb-cy by brevecomb-cy.case;
 sub descender-cy by descender-cy.case;
-sub brevecomb_acutecomb by brevecomb_acutecomb.case;
-sub brevecomb_gravecomb by brevecomb_gravecomb.case;
-sub brevecomb_hookabovecomb by brevecomb_hookabovecomb.case;
-sub brevecomb_tildecomb by brevecomb_tildecomb.case;
-sub circumflexcomb_acutecomb by circumflexcomb_acutecomb.case;
-sub circumflexcomb_gravecomb by circumflexcomb_gravecomb.case;
-sub circumflexcomb_hookabovecomb by circumflexcomb_hookabovecomb.case;
-sub circumflexcomb_tildecomb by circumflexcomb_tildecomb.case;
 
 } case;
 
 feature liga {
 # automatic
-sub f f i by f_f_i;
-sub f f l by f_f_l;
-sub f f by f_f;
 sub f i by fi;
 sub f l by fl;
 
diff --git a/src/Cantarell-Regular.ufo/glyphs/A_breveacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/A_breveacute.glif
index 92f554cb..89901f8e 100644
--- a/src/Cantarell-Regular.ufo/glyphs/A_breveacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/A_breveacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAE"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_acutecomb.case" xOffset="139" yOffset="12"/>
+    <component base="brevecomb.loclVIET" xOffset="106" yOffset="212"/>
+    <component base="acutecomb.loclVIET" xOffset="231" yOffset="310"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/A_brevegrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/A_brevegrave.glif
index 91a6b26b..499b440f 100644
--- a/src/Cantarell-Regular.ufo/glyphs/A_brevegrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/A_brevegrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB0"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_gravecomb.case" xOffset="132" yOffset="12"/>
+    <component base="brevecomb.loclVIET" xOffset="106" yOffset="212"/>
+    <component base="gravecomb.loclVIET" xOffset="144" yOffset="310"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/A_brevehookabove.glif 
b/src/Cantarell-Regular.ufo/glyphs/A_brevehookabove.glif
index 89095ce6..2981db70 100644
--- a/src/Cantarell-Regular.ufo/glyphs/A_brevehookabove.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/A_brevehookabove.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB2"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_hookabovecomb.case" xOffset="137" yOffset="12"/>
+    <component base="brevecomb.loclVIET" xOffset="106" yOffset="212"/>
+    <component base="hookabovecomb.loclVIET" xOffset="180" yOffset="310"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/A_brevetilde.glif 
b/src/Cantarell-Regular.ufo/glyphs/A_brevetilde.glif
index 0868840a..905086b2 100644
--- a/src/Cantarell-Regular.ufo/glyphs/A_brevetilde.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/A_brevetilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB4"/>
   <outline>
     <component base="A"/>
-    <component base="brevecomb_tildecomb.case" xOffset="108" yOffset="12"/>
+    <component base="brevecomb.loclVIET" xOffset="106" yOffset="212"/>
+    <component base="tildecomb.loclVIET" xOffset="92" yOffset="310"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/A_circumflexacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/A_circumflexacute.glif
index 7f2369f7..999f73d8 100644
--- a/src/Cantarell-Regular.ufo/glyphs/A_circumflexacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/A_circumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA4"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_acutecomb.case" xOffset="182" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="123" yOffset="212"/>
+    <component base="acutecomb.loclVIET" xOffset="361" yOffset="293"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/A_circumflexgrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/A_circumflexgrave.glif
index 85739d30..0396d91a 100644
--- a/src/Cantarell-Regular.ufo/glyphs/A_circumflexgrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/A_circumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA6"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_gravecomb.case" xOffset="182" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="123" yOffset="212"/>
+    <component base="gravecomb.loclVIET" xOffset="274" yOffset="293"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/A_circumflexhookabove.glif 
b/src/Cantarell-Regular.ufo/glyphs/A_circumflexhookabove.glif
index 7cade763..f3317759 100644
--- a/src/Cantarell-Regular.ufo/glyphs/A_circumflexhookabove.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/A_circumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA8"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_hookabovecomb.case" xOffset="182" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="123" yOffset="212"/>
+    <component base="hookabovecomb.loclVIET" xOffset="310" yOffset="293"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/A_circumflextilde.glif 
b/src/Cantarell-Regular.ufo/glyphs/A_circumflextilde.glif
index 8e29eb05..789d9680 100644
--- a/src/Cantarell-Regular.ufo/glyphs/A_circumflextilde.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/A_circumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAA"/>
   <outline>
     <component base="A"/>
-    <component base="circumflexcomb_tildecomb.case" xOffset="149" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="123" yOffset="212"/>
+    <component base="tildecomb.loclVIET" xOffset="93" yOffset="310"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/E_circumflexacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/E_circumflexacute.glif
index 6ec6496d..3a694d63 100644
--- a/src/Cantarell-Regular.ufo/glyphs/E_circumflexacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/E_circumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EBE"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_acutecomb.case" xOffset="189" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="130" yOffset="212"/>
+    <component base="acutecomb.loclVIET" xOffset="368" yOffset="293"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/E_circumflexgrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/E_circumflexgrave.glif
index e326e5f0..2ff838f9 100644
--- a/src/Cantarell-Regular.ufo/glyphs/E_circumflexgrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/E_circumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC0"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_gravecomb.case" xOffset="189" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="130" yOffset="212"/>
+    <component base="gravecomb.loclVIET" xOffset="281" yOffset="293"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/E_circumflexhookabove.glif 
b/src/Cantarell-Regular.ufo/glyphs/E_circumflexhookabove.glif
index f91a04c7..556572fd 100644
--- a/src/Cantarell-Regular.ufo/glyphs/E_circumflexhookabove.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/E_circumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC2"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_hookabovecomb.case" xOffset="189" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="130" yOffset="212"/>
+    <component base="hookabovecomb.loclVIET" xOffset="317" yOffset="293"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/E_circumflextilde.glif 
b/src/Cantarell-Regular.ufo/glyphs/E_circumflextilde.glif
index de97c9ff..1faa67a3 100644
--- a/src/Cantarell-Regular.ufo/glyphs/E_circumflextilde.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/E_circumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EC4"/>
   <outline>
     <component base="E"/>
-    <component base="circumflexcomb_tildecomb.case" xOffset="156" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="130" yOffset="212"/>
+    <component base="tildecomb.loclVIET" xOffset="100" yOffset="310"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/O_circumflexacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/O_circumflexacute.glif
index 063e49ed..c4788855 100644
--- a/src/Cantarell-Regular.ufo/glyphs/O_circumflexacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/O_circumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED0"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_acutecomb.case" xOffset="248" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="189" yOffset="212"/>
+    <component base="acutecomb.loclVIET" xOffset="427" yOffset="293"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/O_circumflexgrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/O_circumflexgrave.glif
index da3e7964..0ad4d7d5 100644
--- a/src/Cantarell-Regular.ufo/glyphs/O_circumflexgrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/O_circumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED2"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_gravecomb.case" xOffset="248" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="189" yOffset="212"/>
+    <component base="gravecomb.loclVIET" xOffset="340" yOffset="293"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/O_circumflexhookabove.glif 
b/src/Cantarell-Regular.ufo/glyphs/O_circumflexhookabove.glif
index 61096423..17a5dd7f 100644
--- a/src/Cantarell-Regular.ufo/glyphs/O_circumflexhookabove.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/O_circumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED4"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_hookabovecomb.case" xOffset="248" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="189" yOffset="212"/>
+    <component base="hookabovecomb.loclVIET" xOffset="376" yOffset="293"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/O_circumflextilde.glif 
b/src/Cantarell-Regular.ufo/glyphs/O_circumflextilde.glif
index fd28cde6..292838a2 100644
--- a/src/Cantarell-Regular.ufo/glyphs/O_circumflextilde.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/O_circumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1ED6"/>
   <outline>
     <component base="O"/>
-    <component base="circumflexcomb_tildecomb.case" xOffset="215" yOffset="12"/>
+    <component base="circumflexcomb.loclVIET" xOffset="189" yOffset="212"/>
+    <component base="tildecomb.loclVIET" xOffset="159" yOffset="310"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/abreveacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/abreveacute.glif
index 8953a05b..e5e8f340 100644
--- a/src/Cantarell-Regular.ufo/glyphs/abreveacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/abreveacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAF"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_acutecomb" xOffset="73"/>
+    <component base="brevecomb.loclVIET" xOffset="38"/>
+    <component base="acutecomb.loclVIET" xOffset="163" yOffset="98"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/abrevegrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/abrevegrave.glif
index 64832354..8feaa241 100644
--- a/src/Cantarell-Regular.ufo/glyphs/abrevegrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/abrevegrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB1"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_gravecomb" xOffset="45"/>
+    <component base="brevecomb.loclVIET" xOffset="38"/>
+    <component base="gravecomb.loclVIET" xOffset="76" yOffset="98"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/abrevehookabove.glif 
b/src/Cantarell-Regular.ufo/glyphs/abrevehookabove.glif
index 3d33dc6b..3028c30a 100644
--- a/src/Cantarell-Regular.ufo/glyphs/abrevehookabove.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/abrevehookabove.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB3"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_hookabovecomb" xOffset="53"/>
+    <component base="brevecomb.loclVIET" xOffset="38"/>
+    <component base="hookabovecomb.loclVIET" xOffset="112" yOffset="98"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/abrevetilde.glif 
b/src/Cantarell-Regular.ufo/glyphs/abrevetilde.glif
index fde4429f..d1cc1031 100644
--- a/src/Cantarell-Regular.ufo/glyphs/abrevetilde.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/abrevetilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EB5"/>
   <outline>
     <component base="a"/>
-    <component base="brevecomb_tildecomb" xOffset="22"/>
+    <component base="brevecomb.loclVIET" xOffset="38"/>
+    <component base="tildecomb.loclVIET" xOffset="24" yOffset="98"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/acircumflexacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/acircumflexacute.glif
index df1950aa..efbb7b25 100644
--- a/src/Cantarell-Regular.ufo/glyphs/acircumflexacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/acircumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA5"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_acutecomb" xOffset="55"/>
+    <component base="circumflexcomb.loclVIET" xOffset="55"/>
+    <component base="acutecomb.loclVIET" xOffset="293" yOffset="81"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/acircumflexgrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/acircumflexgrave.glif
index 5cae15c1..73c170a5 100644
--- a/src/Cantarell-Regular.ufo/glyphs/acircumflexgrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/acircumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA7"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_gravecomb" xOffset="55"/>
+    <component base="circumflexcomb.loclVIET" xOffset="55"/>
+    <component base="gravecomb.loclVIET" xOffset="206" yOffset="81"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/acircumflexhookabove.glif 
b/src/Cantarell-Regular.ufo/glyphs/acircumflexhookabove.glif
index eb9f30b1..86eb438a 100644
--- a/src/Cantarell-Regular.ufo/glyphs/acircumflexhookabove.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/acircumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EA9"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_hookabovecomb" xOffset="78"/>
+    <component base="circumflexcomb.loclVIET" xOffset="55"/>
+    <component base="hookabovecomb.loclVIET" xOffset="242" yOffset="81"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/acircumflextilde.glif 
b/src/Cantarell-Regular.ufo/glyphs/acircumflextilde.glif
index d02ca74c..c77d5112 100644
--- a/src/Cantarell-Regular.ufo/glyphs/acircumflextilde.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/acircumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EAB"/>
   <outline>
     <component base="a"/>
-    <component base="circumflexcomb_tildecomb" xOffset="33"/>
+    <component base="circumflexcomb.loclVIET" xOffset="55"/>
+    <component base="tildecomb.loclVIET" xOffset="25" yOffset="98"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/contents.plist b/src/Cantarell-Regular.ufo/glyphs/contents.plist
index 95a385a6..286fd932 100644
--- a/src/Cantarell-Regular.ufo/glyphs/contents.plist
+++ b/src/Cantarell-Regular.ufo/glyphs/contents.plist
@@ -734,8 +734,6 @@
     <string>acutecomb.case.glif</string>
     <key>acutecomb.loclVIET</key>
     <string>acutecomb.loclV_I_E_T_.glif</string>
-    <key>acutecomb_dotaccentcomb</key>
-    <string>acutecomb_dotaccentcomb.glif</string>
     <key>adblgrave</key>
     <string>adblgrave.glif</string>
     <key>adieresis</key>
@@ -814,22 +812,6 @@
     <string>brevecomb.case.glif</string>
     <key>brevecomb.loclVIET</key>
     <string>brevecomb.loclV_I_E_T_.glif</string>
-    <key>brevecomb_acutecomb</key>
-    <string>brevecomb_acutecomb.glif</string>
-    <key>brevecomb_acutecomb.case</key>
-    <string>brevecomb_acutecomb.case.glif</string>
-    <key>brevecomb_gravecomb</key>
-    <string>brevecomb_gravecomb.glif</string>
-    <key>brevecomb_gravecomb.case</key>
-    <string>brevecomb_gravecomb.case.glif</string>
-    <key>brevecomb_hookabovecomb</key>
-    <string>brevecomb_hookabovecomb.glif</string>
-    <key>brevecomb_hookabovecomb.case</key>
-    <string>brevecomb_hookabovecomb.case.glif</string>
-    <key>brevecomb_tildecomb</key>
-    <string>brevecomb_tildecomb.glif</string>
-    <key>brevecomb_tildecomb.case</key>
-    <string>brevecomb_tildecomb.case.glif</string>
     <key>breveinvertedcomb</key>
     <string>breveinvertedcomb.glif</string>
     <key>breveinvertedcomb.case</key>
@@ -854,8 +836,6 @@
     <string>caroncomb.case.glif</string>
     <key>caroncomb.loclVIET</key>
     <string>caroncomb.loclV_I_E_T_.glif</string>
-    <key>caroncomb_dotaccentcomb</key>
-    <string>caroncomb_dotaccentcomb.glif</string>
     <key>ccaron</key>
     <string>ccaron.glif</string>
     <key>ccedilla</key>
@@ -892,22 +872,6 @@
     <string>circumflexcomb.case.glif</string>
     <key>circumflexcomb.loclVIET</key>
     <string>circumflexcomb.loclV_I_E_T_.glif</string>
-    <key>circumflexcomb_acutecomb</key>
-    <string>circumflexcomb_acutecomb.glif</string>
-    <key>circumflexcomb_acutecomb.case</key>
-    <string>circumflexcomb_acutecomb.case.glif</string>
-    <key>circumflexcomb_gravecomb</key>
-    <string>circumflexcomb_gravecomb.glif</string>
-    <key>circumflexcomb_gravecomb.case</key>
-    <string>circumflexcomb_gravecomb.case.glif</string>
-    <key>circumflexcomb_hookabovecomb</key>
-    <string>circumflexcomb_hookabovecomb.glif</string>
-    <key>circumflexcomb_hookabovecomb.case</key>
-    <string>circumflexcomb_hookabovecomb.case.glif</string>
-    <key>circumflexcomb_tildecomb</key>
-    <string>circumflexcomb_tildecomb.glif</string>
-    <key>circumflexcomb_tildecomb.case</key>
-    <string>circumflexcomb_tildecomb.case.glif</string>
     <key>colon</key>
     <string>colon.glif</string>
     <key>colonsign</key>
@@ -962,14 +926,6 @@
     <string>dieresiscomb.case.glif</string>
     <key>dieresiscomb.loclVIET</key>
     <string>dieresiscomb.loclV_I_E_T_.glif</string>
-    <key>dieresiscomb_acutecomb</key>
-    <string>dieresiscomb_acutecomb.glif</string>
-    <key>dieresiscomb_caroncomb</key>
-    <string>dieresiscomb_caroncomb.glif</string>
-    <key>dieresiscomb_gravecomb</key>
-    <string>dieresiscomb_gravecomb.glif</string>
-    <key>dieresiscomb_macroncomb</key>
-    <string>dieresiscomb_macroncomb.glif</string>
     <key>divide</key>
     <string>divide.glif</string>
     <key>divisionslash</key>
@@ -990,8 +946,6 @@
     <string>dotaccentcomb.case.glif</string>
     <key>dotaccentcomb.loclVIET</key>
     <string>dotaccentcomb.loclV_I_E_T_.glif</string>
-    <key>dotaccentcomb_macroncomb</key>
-    <string>dotaccentcomb_macroncomb.glif</string>
     <key>dotbelowcomb</key>
     <string>dotbelowcomb.glif</string>
     <key>doubleprimemod</key>
@@ -1116,12 +1070,6 @@
     <string>exclamdown.glif</string>
     <key>f</key>
     <string>f.glif</string>
-    <key>f_f</key>
-    <string>f_f.glif</string>
-    <key>f_f_i</key>
-    <string>f_f_i.glif</string>
-    <key>f_f_l</key>
-    <string>f_f_l.glif</string>
     <key>fi</key>
     <string>fi.glif</string>
     <key>figuredash</key>
@@ -1418,12 +1366,6 @@
     <string>macroncomb.narrow.glif</string>
     <key>macroncomb.narrow.case</key>
     <string>macroncomb.narrow.case.glif</string>
-    <key>macroncomb_acutecomb</key>
-    <string>macroncomb_acutecomb.glif</string>
-    <key>macroncomb_dieresiscomb</key>
-    <string>macroncomb_dieresiscomb.glif</string>
-    <key>macroncomb_gravecomb</key>
-    <string>macroncomb_gravecomb.glif</string>
     <key>manat</key>
     <string>manat.glif</string>
     <key>mdotbelow</key>
@@ -1868,12 +1810,6 @@
     <string>tildecomb.case.glif</string>
     <key>tildecomb.loclVIET</key>
     <string>tildecomb.loclV_I_E_T_.glif</string>
-    <key>tildecomb_acutecomb</key>
-    <string>tildecomb_acutecomb.glif</string>
-    <key>tildecomb_dieresiscomb</key>
-    <string>tildecomb_dieresiscomb.glif</string>
-    <key>tildecomb_macroncomb</key>
-    <string>tildecomb_macroncomb.glif</string>
     <key>tlinebelow</key>
     <string>tlinebelow.glif</string>
     <key>trademark</key>
diff --git a/src/Cantarell-Regular.ufo/glyphs/ecircumflexacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/ecircumflexacute.glif
index ed931974..912f6610 100644
--- a/src/Cantarell-Regular.ufo/glyphs/ecircumflexacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/ecircumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EBF"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_acutecomb" xOffset="80"/>
+    <component base="circumflexcomb.loclVIET" xOffset="80"/>
+    <component base="acutecomb.loclVIET" xOffset="318" yOffset="81"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/ecircumflexgrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/ecircumflexgrave.glif
index 36396c6c..a6edc8d2 100644
--- a/src/Cantarell-Regular.ufo/glyphs/ecircumflexgrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/ecircumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC1"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_gravecomb" xOffset="80"/>
+    <component base="circumflexcomb.loclVIET" xOffset="80"/>
+    <component base="gravecomb.loclVIET" xOffset="231" yOffset="81"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/ecircumflexhookabove.glif 
b/src/Cantarell-Regular.ufo/glyphs/ecircumflexhookabove.glif
index fb95aa10..6957c38c 100644
--- a/src/Cantarell-Regular.ufo/glyphs/ecircumflexhookabove.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/ecircumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1EC3"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_hookabovecomb" xOffset="103"/>
+    <component base="circumflexcomb.loclVIET" xOffset="80"/>
+    <component base="hookabovecomb.loclVIET" xOffset="267" yOffset="81"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/ecircumflextilde.glif 
b/src/Cantarell-Regular.ufo/glyphs/ecircumflextilde.glif
index cb54af32..ab9870be 100644
--- a/src/Cantarell-Regular.ufo/glyphs/ecircumflextilde.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/ecircumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1EC5"/>
   <outline>
     <component base="e"/>
-    <component base="circumflexcomb_tildecomb" xOffset="58"/>
+    <component base="circumflexcomb.loclVIET" xOffset="80"/>
+    <component base="tildecomb.loclVIET" xOffset="50" yOffset="98"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/emacronacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/emacronacute.glif
index 904123c4..ec350f39 100644
--- a/src/Cantarell-Regular.ufo/glyphs/emacronacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/emacronacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E17"/>
   <outline>
     <component base="e"/>
-    <component base="macroncomb_acutecomb" xOffset="26"/>
+    <component base="macroncomb.loclVIET" xOffset="26"/>
+    <component base="acutecomb" xOffset="188" yOffset="133"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/emacrongrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/emacrongrave.glif
index d2b34e60..86af8a58 100644
--- a/src/Cantarell-Regular.ufo/glyphs/emacrongrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/emacrongrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E15"/>
   <outline>
     <component base="e"/>
-    <component base="macroncomb_gravecomb" xOffset="26"/>
+    <component base="macroncomb.loclVIET" xOffset="26"/>
+    <component base="gravecomb" xOffset="93" yOffset="133"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/idieresisacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/idieresisacute.glif
index b6c4c16f..672ef6f3 100644
--- a/src/Cantarell-Regular.ufo/glyphs/idieresisacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/idieresisacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E2F"/>
   <outline>
     <component base="idotless"/>
-    <component base="dieresiscomb_acutecomb" xOffset="-100"/>
+    <component base="dieresiscomb.loclVIET" xOffset="-100"/>
+    <component base="acutecomb" xOffset="41" yOffset="122"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/layerinfo.plist 
b/src/Cantarell-Regular.ufo/glyphs/layerinfo.plist
index da6ff1b7..8724c053 100644
--- a/src/Cantarell-Regular.ufo/glyphs/layerinfo.plist
+++ b/src/Cantarell-Regular.ufo/glyphs/layerinfo.plist
@@ -738,8 +738,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.acutecomb.loclVIET</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.acutecomb_dotaccentcomb</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.adblgrave</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.adieresis</key>
@@ -818,22 +816,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb.loclVIET</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_acutecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_acutecomb.case</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_gravecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_gravecomb.case</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_hookabovecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_hookabovecomb.case</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_tildecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.brevecomb_tildecomb.case</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.breveinvertedcomb</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.breveinvertedcomb.case</key>
@@ -858,8 +840,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.caroncomb.loclVIET</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.caroncomb_dotaccentcomb</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.ccaron</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.ccedilla</key>
@@ -896,22 +876,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb.loclVIET</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_acutecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_acutecomb.case</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_gravecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_gravecomb.case</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_hookabovecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_hookabovecomb.case</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_tildecomb</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.circumflexcomb_tildecomb.case</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.colon</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.colonsign</key>
@@ -966,14 +930,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb.loclVIET</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_acutecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_caroncomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_gravecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dieresiscomb_macroncomb</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divide</key>
       <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.divisionslash</key>
@@ -994,8 +950,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dotaccentcomb.loclVIET</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.dotaccentcomb_macroncomb</key>
-      <integer>1</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.dotbelowcomb</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.doubleprimemod</key>
@@ -1120,12 +1074,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.f</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.f_f</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.f_f_i</key>
-      <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.f_f_l</key>
-      <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.fi</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.figuredash</key>
@@ -1422,12 +1370,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb.narrow.case</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb_acutecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb_dieresiscomb</key>
-      <integer>1</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.macroncomb_gravecomb</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.manat</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.mdotbelow</key>
@@ -1872,12 +1814,6 @@
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb.loclVIET</key>
       <integer>0</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb_acutecomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb_dieresiscomb</key>
-      <integer>2</integer>
-      <key>com.schriftgestaltung.layerOrderInGlyph.tildecomb_macroncomb</key>
-      <integer>2</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.tlinebelow</key>
       <integer>0</integer>
       <key>com.schriftgestaltung.layerOrderInGlyph.trademark</key>
diff --git a/src/Cantarell-Regular.ufo/glyphs/ocircumflexacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/ocircumflexacute.glif
index 2364b414..0f68f4f9 100644
--- a/src/Cantarell-Regular.ufo/glyphs/ocircumflexacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/ocircumflexacute.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED1"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_acutecomb" xOffset="93"/>
+    <component base="circumflexcomb.loclVIET" xOffset="93"/>
+    <component base="acutecomb.loclVIET" xOffset="331" yOffset="81"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>acutecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/ocircumflexgrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/ocircumflexgrave.glif
index ccb9cf7b..d7fda85b 100644
--- a/src/Cantarell-Regular.ufo/glyphs/ocircumflexgrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/ocircumflexgrave.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED3"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_gravecomb" xOffset="93"/>
+    <component base="circumflexcomb.loclVIET" xOffset="93"/>
+    <component base="gravecomb.loclVIET" xOffset="244" yOffset="81"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>gravecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/ocircumflexhookabove.glif 
b/src/Cantarell-Regular.ufo/glyphs/ocircumflexhookabove.glif
index 6371c8ae..23f761e5 100644
--- a/src/Cantarell-Regular.ufo/glyphs/ocircumflexhookabove.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/ocircumflexhookabove.glif
@@ -4,6 +4,22 @@
   <unicode hex="1ED5"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_hookabovecomb" xOffset="116"/>
+    <component base="circumflexcomb.loclVIET" xOffset="93"/>
+    <component base="hookabovecomb.loclVIET" xOffset="280" yOffset="81"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_viet</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>hookabovecomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/ocircumflextilde.glif 
b/src/Cantarell-Regular.ufo/glyphs/ocircumflextilde.glif
index b3c42046..2350b355 100644
--- a/src/Cantarell-Regular.ufo/glyphs/ocircumflextilde.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/ocircumflextilde.glif
@@ -4,6 +4,7 @@
   <unicode hex="1ED7"/>
   <outline>
     <component base="o"/>
-    <component base="circumflexcomb_tildecomb" xOffset="71"/>
+    <component base="circumflexcomb.loclVIET" xOffset="93"/>
+    <component base="tildecomb.loclVIET" xOffset="63" yOffset="98"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/odieresismacron.glif 
b/src/Cantarell-Regular.ufo/glyphs/odieresismacron.glif
index b7d0a3ae..62d036ad 100644
--- a/src/Cantarell-Regular.ufo/glyphs/odieresismacron.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/odieresismacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="022B"/>
   <outline>
     <component base="o"/>
-    <component base="dieresiscomb_macroncomb" xOffset="60"/>
+    <component base="dieresiscomb.loclVIET" xOffset="60"/>
+    <component base="macroncomb" xOffset="39" yOffset="122"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/odotaccentmacron.glif 
b/src/Cantarell-Regular.ufo/glyphs/odotaccentmacron.glif
index 1eebcac4..66f67cf3 100644
--- a/src/Cantarell-Regular.ufo/glyphs/odotaccentmacron.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/odotaccentmacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="0231"/>
   <outline>
     <component base="o"/>
-    <component base="dotaccentcomb_macroncomb" xOffset="-1"/>
+    <component base="dotaccentcomb.loclVIET" xOffset="151"/>
+    <component base="macroncomb" xOffset="39" yOffset="122"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/omacronacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/omacronacute.glif
index 93b72c28..efd4b468 100644
--- a/src/Cantarell-Regular.ufo/glyphs/omacronacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/omacronacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E53"/>
   <outline>
     <component base="o"/>
-    <component base="macroncomb_acutecomb" xOffset="39"/>
+    <component base="macroncomb.loclVIET" xOffset="39"/>
+    <component base="acutecomb" xOffset="201" yOffset="133"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/omacrongrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/omacrongrave.glif
index 61c72a14..5e1010de 100644
--- a/src/Cantarell-Regular.ufo/glyphs/omacrongrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/omacrongrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E51"/>
   <outline>
     <component base="o"/>
-    <component base="macroncomb_gravecomb" xOffset="39"/>
+    <component base="macroncomb.loclVIET" xOffset="39"/>
+    <component base="gravecomb" xOffset="106" yOffset="133"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/otildeacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/otildeacute.glif
index 27448d7b..73c5a970 100644
--- a/src/Cantarell-Regular.ufo/glyphs/otildeacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/otildeacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E4D"/>
   <outline>
     <component base="o"/>
-    <component base="tildecomb_acutecomb" xOffset="52"/>
+    <component base="tildecomb" xOffset="52"/>
+    <component base="acutecomb" xOffset="201" yOffset="159"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/otildedieresis.glif 
b/src/Cantarell-Regular.ufo/glyphs/otildedieresis.glif
index 65e78318..62ed1c92 100644
--- a/src/Cantarell-Regular.ufo/glyphs/otildedieresis.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/otildedieresis.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E4F"/>
   <outline>
     <component base="o"/>
-    <component base="tildecomb_dieresiscomb" xOffset="52"/>
+    <component base="tildecomb" xOffset="52"/>
+    <component base="dieresiscomb" xOffset="51" yOffset="159"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/otildemacron.glif 
b/src/Cantarell-Regular.ufo/glyphs/otildemacron.glif
index d6fdd798..a6a7688a 100644
--- a/src/Cantarell-Regular.ufo/glyphs/otildemacron.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/otildemacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="022D"/>
   <outline>
     <component base="o"/>
-    <component base="tildecomb_macroncomb" xOffset="52"/>
+    <component base="tildecomb" xOffset="52"/>
+    <component base="macroncomb" xOffset="39" yOffset="159"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/sacutedotaccent.glif 
b/src/Cantarell-Regular.ufo/glyphs/sacutedotaccent.glif
index 7b1d69db..59ad07a3 100644
--- a/src/Cantarell-Regular.ufo/glyphs/sacutedotaccent.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/sacutedotaccent.glif
@@ -4,6 +4,22 @@
   <unicode hex="1E65"/>
   <outline>
     <component base="s"/>
-    <component base="acutecomb_dotaccentcomb" xOffset="148"/>
+    <component base="acutecomb.loclVIET" xOffset="148"/>
+    <component base="dotaccentcomb.loclVIET" xOffset="56" yOffset="145"/>
   </outline>
+  <lib>
+    <dict>
+      <key>com.schriftgestaltung.Glyphs.ComponentInfo</key>
+      <array>
+        <dict>
+          <key>anchor</key>
+          <string>top_dot</string>
+          <key>index</key>
+          <integer>2</integer>
+          <key>name</key>
+          <string>dotaccentcomb.loclVIET</string>
+        </dict>
+      </array>
+    </dict>
+  </lib>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/scarondotaccent.glif 
b/src/Cantarell-Regular.ufo/glyphs/scarondotaccent.glif
index 24efc300..7c3a0fa3 100644
--- a/src/Cantarell-Regular.ufo/glyphs/scarondotaccent.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/scarondotaccent.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E67"/>
   <outline>
     <component base="s"/>
-    <component base="caroncomb_dotaccentcomb" xOffset="47"/>
+    <component base="caroncomb.loclVIET" xOffset="47"/>
+    <component base="dotaccentcomb.loclVIET" xOffset="98" yOffset="145"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/udieresisacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/udieresisacute.glif
index cab47c65..5a2bf2dc 100644
--- a/src/Cantarell-Regular.ufo/glyphs/udieresisacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/udieresisacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="01D8"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_acutecomb" xOffset="50"/>
+    <component base="dieresiscomb.loclVIET" xOffset="50"/>
+    <component base="acutecomb" xOffset="191" yOffset="122"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/udieresiscaron.glif 
b/src/Cantarell-Regular.ufo/glyphs/udieresiscaron.glif
index 4d5483ce..fe1984b1 100644
--- a/src/Cantarell-Regular.ufo/glyphs/udieresiscaron.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/udieresiscaron.glif
@@ -4,6 +4,7 @@
   <unicode hex="01DA"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_caroncomb" xOffset="50"/>
+    <component base="dieresiscomb.loclVIET" xOffset="50"/>
+    <component base="caroncomb" xOffset="91" yOffset="122"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/udieresisgrave.glif 
b/src/Cantarell-Regular.ufo/glyphs/udieresisgrave.glif
index 3f0d3628..7354488e 100644
--- a/src/Cantarell-Regular.ufo/glyphs/udieresisgrave.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/udieresisgrave.glif
@@ -4,6 +4,7 @@
   <unicode hex="01DC"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_gravecomb" xOffset="50"/>
+    <component base="dieresiscomb.loclVIET" xOffset="50"/>
+    <component base="gravecomb" xOffset="96" yOffset="122"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/udieresismacron.glif 
b/src/Cantarell-Regular.ufo/glyphs/udieresismacron.glif
index 5c052e4d..e3c4649d 100644
--- a/src/Cantarell-Regular.ufo/glyphs/udieresismacron.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/udieresismacron.glif
@@ -4,6 +4,7 @@
   <unicode hex="01D6"/>
   <outline>
     <component base="u"/>
-    <component base="dieresiscomb_macroncomb" xOffset="50"/>
+    <component base="dieresiscomb.loclVIET" xOffset="50"/>
+    <component base="macroncomb" xOffset="29" yOffset="122"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/umacrondieresis.glif 
b/src/Cantarell-Regular.ufo/glyphs/umacrondieresis.glif
index 5d899182..8c3faab7 100644
--- a/src/Cantarell-Regular.ufo/glyphs/umacrondieresis.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/umacrondieresis.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E7B"/>
   <outline>
     <component base="u"/>
-    <component base="macroncomb_dieresiscomb" xOffset="-1"/>
+    <component base="macroncomb.loclVIET" xOffset="29"/>
+    <component base="dieresiscomb" xOffset="41" yOffset="133"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/glyphs/utildeacute.glif 
b/src/Cantarell-Regular.ufo/glyphs/utildeacute.glif
index aca91288..aab5e8f0 100644
--- a/src/Cantarell-Regular.ufo/glyphs/utildeacute.glif
+++ b/src/Cantarell-Regular.ufo/glyphs/utildeacute.glif
@@ -4,6 +4,7 @@
   <unicode hex="1E79"/>
   <outline>
     <component base="u"/>
-    <component base="tildecomb_acutecomb" xOffset="42"/>
+    <component base="tildecomb" xOffset="42"/>
+    <component base="acutecomb" xOffset="191" yOffset="159"/>
   </outline>
 </glyph>
diff --git a/src/Cantarell-Regular.ufo/lib.plist b/src/Cantarell-Regular.ufo/lib.plist
index 041b011b..2b01327d 100644
--- a/src/Cantarell-Regular.ufo/lib.plist
+++ b/src/Cantarell-Regular.ufo/lib.plist
@@ -1788,9 +1788,6 @@
       <string>zdotaccent</string>
       <string>zdotbelow</string>
       <string>l.ss01</string>
-      <string>f_f</string>
-      <string>f_f_i</string>
-      <string>f_f_l</string>
       <string>fi</string>
       <string>fl</string>
       <string>ordfeminine</string>
@@ -2222,31 +2219,18 @@
       <string>verticallinelowmod</string>
       <string>verticallinemod</string>
       <string>dieresiscomb</string>
-      <string>dieresiscomb_gravecomb</string>
-      <string>dieresiscomb_acutecomb</string>
-      <string>dieresiscomb_caroncomb</string>
-      <string>dieresiscomb_macroncomb</string>
       <string>dotaccentcomb</string>
-      <string>dotaccentcomb_macroncomb</string>
       <string>gravecomb</string>
       <string>acutecomb</string>
-      <string>acutecomb_dotaccentcomb</string>
       <string>hungarumlautcomb</string>
       <string>caroncomb.alt</string>
       <string>circumflexcomb</string>
       <string>caroncomb</string>
-      <string>caroncomb_dotaccentcomb</string>
       <string>brevecomb</string>
       <string>ringcomb</string>
       <string>ringcomb_acutecomb</string>
       <string>tildecomb</string>
-      <string>tildecomb_dieresiscomb</string>
-      <string>tildecomb_acutecomb</string>
-      <string>tildecomb_macroncomb</string>
       <string>macroncomb</string>
-      <string>macroncomb_dieresiscomb</string>
-      <string>macroncomb_gravecomb</string>
-      <string>macroncomb_acutecomb</string>
       <string>hookabovecomb</string>
       <string>verticallineabovecomb</string>
       <string>dblgravecomb</string>
@@ -2317,22 +2301,6 @@
       <string>brevecomb-cy.case</string>
       <string>descender-cy.case</string>
       <string>descender-cy.strait</string>
-      <string>brevecomb_acutecomb</string>
-      <string>brevecomb_gravecomb</string>
-      <string>brevecomb_hookabovecomb</string>
-      <string>brevecomb_tildecomb</string>
-      <string>circumflexcomb_acutecomb</string>
-      <string>circumflexcomb_gravecomb</string>
-      <string>circumflexcomb_hookabovecomb</string>
-      <string>circumflexcomb_tildecomb</string>
-      <string>brevecomb_acutecomb.case</string>
-      <string>brevecomb_gravecomb.case</string>
-      <string>brevecomb_hookabovecomb.case</string>
-      <string>brevecomb_tildecomb.case</string>
-      <string>circumflexcomb_acutecomb.case</string>
-      <string>circumflexcomb_gravecomb.case</string>
-      <string>circumflexcomb_hookabovecomb.case</string>
-      <string>circumflexcomb_tildecomb.case</string>
       <string>_descenderreversed-cy</string>
       <string>_bar-cy</string>
       <string>_descender-cy.case.straight</string>
@@ -2806,8 +2774,6 @@
       <string>uni1EA9</string>
       <key>acircumflextilde</key>
       <string>uni1EAB</string>
-      <key>acutecomb_dotaccentcomb</key>
-      <string>uni03010307</string>
       <key>adblgrave</key>
       <string>uni0201</string>
       <key>adieresis-cy</key>
@@ -2840,22 +2806,6 @@
       <string>uni0306.case</string>
       <key>brevecomb.loclVIET</key>
       <string>uni0306.loclVIET</string>
-      <key>brevecomb_acutecomb</key>
-      <string>uni03060301</string>
-      <key>brevecomb_acutecomb.case</key>
-      <string>uni03060301.case</string>
-      <key>brevecomb_gravecomb</key>
-      <string>uni03060300</string>
-      <key>brevecomb_gravecomb.case</key>
-      <string>uni03060300.case</string>
-      <key>brevecomb_hookabovecomb</key>
-      <string>uni03060309</string>
-      <key>brevecomb_hookabovecomb.case</key>
-      <string>uni03060309.case</string>
-      <key>brevecomb_tildecomb</key>
-      <string>uni03060303</string>
-      <key>brevecomb_tildecomb.case</key>
-      <string>uni03060303.case</string>
       <key>breveinvertedcomb</key>
       <string>uni0311</string>
       <key>breveinvertedcomb.case</key>
@@ -2870,8 +2820,6 @@
       <string>uni030C.case</string>
       <key>caroncomb.loclVIET</key>
       <string>uni030C.loclVIET</string>
-      <key>caroncomb_dotaccentcomb</key>
-      <string>uni030C0307</string>
       <key>ccedillaacute</key>
       <string>uni1E09</string>
       <key>cedi</key>
@@ -2894,22 +2842,6 @@
       <string>uni0302.case</string>
       <key>circumflexcomb.loclVIET</key>
       <string>uni0302.loclVIET</string>
-      <key>circumflexcomb_acutecomb</key>
-      <string>uni03020301</string>
-      <key>circumflexcomb_acutecomb.case</key>
-      <string>uni03020301.case</string>
-      <key>circumflexcomb_gravecomb</key>
-      <string>uni03020300</string>
-      <key>circumflexcomb_gravecomb.case</key>
-      <string>uni03020300.case</string>
-      <key>circumflexcomb_hookabovecomb</key>
-      <string>uni03020309</string>
-      <key>circumflexcomb_hookabovecomb.case</key>
-      <string>uni03020309.case</string>
-      <key>circumflexcomb_tildecomb</key>
-      <string>uni03020303</string>
-      <key>circumflexcomb_tildecomb.case</key>
-      <string>uni03020303.case</string>
       <key>colonsign</key>
       <string>colonmonetary</string>
       <key>commaaccentcomb</key>
@@ -2942,14 +2874,6 @@
       <string>uni0308.case</string>
       <key>dieresiscomb.loclVIET</key>
       <string>uni0308.loclVIET</string>
-      <key>dieresiscomb_acutecomb</key>
-      <string>uni03080301</string>
-      <key>dieresiscomb_caroncomb</key>
-      <string>uni0308030C</string>
-      <key>dieresiscomb_gravecomb</key>
-      <string>uni03080300</string>
-      <key>dieresiscomb_macroncomb</key>
-      <string>uni03080304</string>
       <key>divisionslash</key>
       <string>uni2215.tf</string>
       <key>dje-cy</key>
@@ -2962,8 +2886,6 @@
       <string>uni0307.case</string>
       <key>dotaccentcomb.loclVIET</key>
       <string>uni0307.loclVIET</string>
-      <key>dotaccentcomb_macroncomb</key>
-      <string>uni03070304</string>
       <key>doubleprimemod</key>
       <string>uni02BA</string>
       <key>downArrow</key>
@@ -3194,12 +3116,6 @@
       <string>uni0304.narrow</string>
       <key>macroncomb.narrow.case</key>
       <string>uni0304.narrow.case</string>
-      <key>macroncomb_acutecomb</key>
-      <string>uni03040301</string>
-      <key>macroncomb_dieresiscomb</key>
-      <string>uni03040308</string>
-      <key>macroncomb_gravecomb</key>
-      <string>uni03040300</string>
       <key>manat</key>
       <string>uni20BC</string>
       <key>mdotbelow</key>
@@ -3426,10 +3342,6 @@
       <string>uni2004</string>
       <key>threesuperior</key>
       <string>uni00B3</string>
-      <key>tildecomb_dieresiscomb</key>
-      <string>uni03030308</string>
-      <key>tildecomb_macroncomb</key>
-      <string>uni03030304</string>
       <key>tlinebelow</key>
       <string>uni1E6F</string>
       <key>tripleprime</key>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]