diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.1FC,21,41,20,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.default.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.61,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.default.61,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.61,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.default.D7,D8,D9,DA,DE.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize-retain-gids.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.1FC,21,41,20,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize-retain-gids.1FC,21,41,20,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.1FC,21,41,20,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize-retain-gids.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.61,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize-retain-gids.61,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.61,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.1FC,21,41,20,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.61,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.desubroutinize.D7,D8,D9,DA,DE.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.1FC,21,41,20,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.1FC,21,41,20,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.1FC,21,41,20,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.61,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.61,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.61,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize-retain-gids.D7,D8,D9,DA,DE.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.1FC,21,41,20,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize.1FC,21,41,20,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.1FC,21,41,20,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.61,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize.61,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.61,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-desubroutinize.D7,D8,D9,DA,DE.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-retain-gids.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.1FC,21,41,20,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-retain-gids.1FC,21,41,20,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.1FC,21,41,20,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-retain-gids.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.61,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-retain-gids.61,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.61,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints-retain-gids.D7,D8,D9,DA,DE.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.1FC,21,41,20,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.61,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.drop-hints.D7,D8,D9,DA,DE.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.retain-gids.1FC,21,41,20,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.1FC,21,41,20,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.retain-gids.1FC,21,41,20,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.1FC,21,41,20,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.retain-gids.61,62,63.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.61,62,63.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.retain-gids.61,62,63.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.61,62,63.otf diff --git a/test/subset/data/expected/full-font/SourceSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf b/test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf similarity index 100% rename from test/subset/data/expected/full-font/SourceSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf rename to test/subset/data/expected/cff-full-font/SourceSansPro-Regular.retain-gids.D7,D8,D9,DA,DE.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.3042,3044,3046,3048,304A,304B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,3048,304A,304B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.3042,3044,3046,3048,304A,304B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.3042,3044,3046,73E0,5EA6,8F38.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.61,63,65,6B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.61,63,65,6B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.default.61,63,65,6B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.61,63,65,6B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.660E.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.default.660E.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.default.660E.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.3042,3044,3046,3048,304A,304B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.3042,3044,3046,3048,304A,304B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.3042,3044,3046,3048,304A,304B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.61,63,65,6B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.61,63,65,6B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.61,63,65,6B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.61,63,65,6B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.660E.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.660E.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize-retain-gids.660E.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize-retain-gids.660E.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,3048,304A,304B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,3048,304A,304B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,3048,304A,304B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.61,63,65,6B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.61,63,65,6B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.61,63,65,6B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.61,63,65,6B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.660E.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.desubroutinize.660E.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.desubroutinize.660E.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.3042,3044,3046,3048,304A,304B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.3042,3044,3046,3048,304A,304B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.3042,3044,3046,3048,304A,304B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.61,63,65,6B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.61,63,65,6B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.61,63,65,6B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.61,63,65,6B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.660E.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.660E.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.660E.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize-retain-gids.660E.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.3042,3044,3046,3048,304A,304B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.3042,3044,3046,3048,304A,304B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.3042,3044,3046,3048,304A,304B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.3042,3044,3046,73E0,5EA6,8F38.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.61,63,65,6B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.61,63,65,6B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.61,63,65,6B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.61,63,65,6B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.660E,6975,73E0,5EA6,8F38,6E05.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.660E.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.660E.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-desubroutinize.660E.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-desubroutinize.660E.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.3042,3044,3046,3048,304A,304B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.3042,3044,3046,3048,304A,304B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.3042,3044,3046,3048,304A,304B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.61,63,65,6B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.61,63,65,6B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.61,63,65,6B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.61,63,65,6B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.660E.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.660E.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints-retain-gids.660E.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints-retain-gids.660E.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,3048,304A,304B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,3048,304A,304B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,3048,304A,304B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.61,63,65,6B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.61,63,65,6B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.61,63,65,6B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.61,63,65,6B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.660E.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.drop-hints.660E.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.drop-hints.660E.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.3042,3044,3046,3048,304A,304B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.3042,3044,3046,3048,304A,304B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.3042,3044,3046,3048,304A,304B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.3042,3044,3046,3048,304A,304B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.3042,3044,3046,73E0,5EA6,8F38.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.61,63,65,6B.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.61,63,65,6B.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.61,63,65,6B.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.61,63,65,6B.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.660E,6975,73E0,5EA6,8F38,6E05.otf diff --git a/test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.660E.otf b/test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.660E.otf similarity index 100% rename from test/subset/data/expected/japanese/SourceHanSans-Regular.retain-gids.660E.otf rename to test/subset/data/expected/cff-japanese/SourceHanSans-Regular.retain-gids.660E.otf diff --git a/test/subset/data/tests/cff-full-font.tests b/test/subset/data/tests/cff-full-font.tests new file mode 100644 index 000000000..e55f21e4a --- /dev/null +++ b/test/subset/data/tests/cff-full-font.tests @@ -0,0 +1,18 @@ +FONTS: +SourceSansPro-Regular.otf + +PROFILES: +default.txt +drop-hints.txt +drop-hints-retain-gids.txt +retain-gids.txt +desubroutinize.txt +desubroutinize-retain-gids.txt +drop-hints-desubroutinize.txt +drop-hints-desubroutinize-retain-gids.txt + +SUBSETS: +abc +Ǽ!A bc +×ØÙÚÞ + diff --git a/test/subset/data/tests/cff-japanese.tests b/test/subset/data/tests/cff-japanese.tests new file mode 100644 index 000000000..c06de6c8b --- /dev/null +++ b/test/subset/data/tests/cff-japanese.tests @@ -0,0 +1,22 @@ +FONTS: +SourceHanSans-Regular.otf + +PROFILES: +default.txt +drop-hints.txt +drop-hints-retain-gids.txt +retain-gids.txt +desubroutinize.txt +desubroutinize-retain-gids.txt +drop-hints-desubroutinize.txt +drop-hints-desubroutinize-retain-gids.txt + +SUBSETS: +明 +acek +明極珠度輸清 +あいうえおか +あいう珠度輸 + + + diff --git a/test/subset/data/tests/full-font.tests b/test/subset/data/tests/full-font.tests index 74c61fa15..ff195cead 100644 --- a/test/subset/data/tests/full-font.tests +++ b/test/subset/data/tests/full-font.tests @@ -1,16 +1,9 @@ FONTS: Roboto-Regular.ttf -SourceSansPro-Regular.otf PROFILES: default.txt drop-hints.txt -drop-hints-retain-gids.txt -retain-gids.txt -desubroutinize.txt -desubroutinize-retain-gids.txt -drop-hints-desubroutinize.txt -drop-hints-desubroutinize-retain-gids.txt SUBSETS: abc diff --git a/test/subset/data/tests/japanese.tests b/test/subset/data/tests/japanese.tests index e28891208..5a0438012 100644 --- a/test/subset/data/tests/japanese.tests +++ b/test/subset/data/tests/japanese.tests @@ -1,16 +1,9 @@ FONTS: Mplus1p-Regular.ttf -SourceHanSans-Regular.otf PROFILES: default.txt drop-hints.txt -drop-hints-retain-gids.txt -retain-gids.txt -desubroutinize.txt -desubroutinize-retain-gids.txt -drop-hints-desubroutinize.txt -drop-hints-desubroutinize-retain-gids.txt SUBSETS: 明 diff --git a/test/subset/subset_test_suite.py b/test/subset/subset_test_suite.py index 955a00d4b..ad438ee2b 100644 --- a/test/subset/subset_test_suite.py +++ b/test/subset/subset_test_suite.py @@ -33,9 +33,6 @@ class Test: font_base_name_parts = os.path.splitext(font_base_name) return font_base_name_parts[1] - def applicable(self): - return self.profile_path.find("desubroutinize") < 0 and self.profile_path.find("retain-gids") < 0 or self.get_font_extension() == ".otf" - # A group of tests to perform on the subsetter. Each test # Identifies a font a subsetting profile, and a subset to be cut. class SubsetTestSuite: @@ -65,9 +62,7 @@ class SubsetTestSuite: for profile in self.profiles: profile = os.path.join(self._base_path(), "profiles", profile) for subset in self.subsets: - test = Test(font, profile, subset) - if test.applicable(): - yield test + yield Test(font, profile, subset) def _base_path(self): return os.path.dirname(os.path.dirname(self.test_path))