diff --git a/data/fonts/fonts.xml b/data/fonts/fonts.xml
index 2db4c5d6bf2ac..4f188cc032826 100644
--- a/data/fonts/fonts.xml
+++ b/data/fonts/fonts.xml
@@ -223,7 +223,7 @@
- NotoSerif-Regular.ttf
+ NotoSerif.ttf
NotoSerif-Bold.ttf
NotoSerif-Italic.ttf
NotoSerif-BoldItalic.ttf
@@ -275,144 +275,144 @@
- NotoNaskhArabic-Regular.ttf
+ NotoNaskhArabic.ttf
NotoNaskhArabic-Bold.ttf
- NotoNaskhArabicUI-Regular.ttf
+ NotoNaskhArabicUI.ttf
NotoNaskhArabicUI-Bold.ttf
- NotoSansEthiopic-VF.ttf
+ NotoSansEthiopic-Regular.ttf
- NotoSansEthiopic-VF.ttf
+ NotoSansEthiopic-Regular.ttf
- NotoSansEthiopic-VF.ttf
+ NotoSansEthiopic-Regular.ttf
- NotoSansEthiopic-VF.ttf
+ NotoSansEthiopic-Regular.ttf
- NotoSerifEthiopic-VF.ttf
+ NotoSerifEthiopic-Regular.ttf
- NotoSerifEthiopic-VF.ttf
+ NotoSerifEthiopic-Regular.ttf
- NotoSerifEthiopic-VF.ttf
+ NotoSerifEthiopic-Regular.ttf
- NotoSerifEthiopic-VF.ttf
+ NotoSerifEthiopic-Regular.ttf
- NotoSansHebrew-Regular.ttf
+ NotoSansHebrew.ttf
NotoSansHebrew-Bold.ttf
NotoSerifHebrew-Regular.ttf
NotoSerifHebrew-Bold.ttf
- NotoSansThai-Regular.ttf
+ NotoSansThai.ttf
NotoSansThai-Bold.ttf
- NotoSerifThai-Regular.ttf
+ NotoSerifThai.ttf
NotoSerifThai-Bold.ttf
- NotoSansThaiUI-Regular.ttf
+ NotoSansThaiUI.ttf
NotoSansThaiUI-Bold.ttf
- NotoSansArmenian-VF.ttf
+ NotoSansArmenian-Regular.ttf
- NotoSansArmenian-VF.ttf
+ NotoSansArmenian-Regular.ttf
- NotoSansArmenian-VF.ttf
+ NotoSansArmenian-Regular.ttf
- NotoSansArmenian-VF.ttf
+ NotoSansArmenian-Regular.ttf
- NotoSerifArmenian-VF.ttf
+ NotoSerifArmenian-Regular.ttf
- NotoSerifArmenian-VF.ttf
+ NotoSerifArmenian-Regular.ttf
- NotoSerifArmenian-VF.ttf
+ NotoSerifArmenian-Regular.ttf
- NotoSerifArmenian-VF.ttf
+ NotoSerifArmenian-Regular.ttf
- NotoSansGeorgian-VF.ttf
+ NotoSansGeorgian-Regular.ttf
- NotoSansGeorgian-VF.ttf
+ NotoSansGeorgian-Regular.ttf
- NotoSansGeorgian-VF.ttf
+ NotoSansGeorgian-Regular.ttf
- NotoSansGeorgian-VF.ttf
+ NotoSansGeorgian-Regular.ttf
- NotoSerifGeorgian-VF.ttf
+ NotoSerifGeorgian-Regular.ttf
- NotoSerifGeorgian-VF.ttf
+ NotoSerifGeorgian-Regular.ttf
- NotoSerifGeorgian-VF.ttf
+ NotoSerifGeorgian-Regular.ttf
- NotoSerifGeorgian-VF.ttf
+ NotoSerifGeorgian-Regular.ttf
- NotoSansDevanagari-VF.ttf
+ NotoSansDevanagari-Regular.ttf
- NotoSansDevanagari-VF.ttf
+ NotoSansDevanagari-Regular.ttf
- NotoSansDevanagari-VF.ttf
+ NotoSansDevanagari-Regular.ttf
- NotoSansDevanagari-VF.ttf
+ NotoSansDevanagari-Regular.ttf
- NotoSerifDevanagari-VF.ttf
+ NotoSerifDevanagari-Regular.ttf
- NotoSerifDevanagari-VF.ttf
+ NotoSerifDevanagari-Regular.ttf
- NotoSerifDevanagari-VF.ttf
+ NotoSerifDevanagari-Regular.ttf
- NotoSerifDevanagari-VF.ttf
+ NotoSerifDevanagari-Regular.ttf
- NotoSansDevanagariUI-VF.ttf
+ NotoSansDevanagariUI-Regular.ttf
- NotoSansDevanagariUI-VF.ttf
+ NotoSansDevanagariUI-Regular.ttf
- NotoSansDevanagariUI-VF.ttf
+ NotoSansDevanagariUI-Regular.ttf
- NotoSansDevanagariUI-VF.ttf
+ NotoSansDevanagariUI-Regular.ttf
@@ -421,347 +421,347 @@
danda characters.
-->
- NotoSansGujarati-Regular.ttf
+ NotoSansGujarati.ttf
NotoSansGujarati-Bold.ttf
- NotoSerifGujarati-VF.ttf
+ NotoSerifGujarati-Regular.ttf
- NotoSerifGujarati-VF.ttf
+ NotoSerifGujarati-Regular.ttf
- NotoSerifGujarati-VF.ttf
+ NotoSerifGujarati-Regular.ttf
- NotoSerifGujarati-VF.ttf
+ NotoSerifGujarati-Regular.ttf
- NotoSansGujaratiUI-Regular.ttf
+ NotoSansGujaratiUI.ttf
NotoSansGujaratiUI-Bold.ttf
- NotoSansGurmukhi-VF.ttf
+ NotoSansGurmukhi-Regular.ttf
- NotoSansGurmukhi-VF.ttf
+ NotoSansGurmukhi-Regular.ttf
- NotoSansGurmukhi-VF.ttf
+ NotoSansGurmukhi-Regular.ttf
- NotoSansGurmukhi-VF.ttf
+ NotoSansGurmukhi-Regular.ttf
- NotoSerifGurmukhi-VF.ttf
+ NotoSerifGurmukhi-Regular.ttf
- NotoSerifGurmukhi-VF.ttf
+ NotoSerifGurmukhi-Regular.ttf
- NotoSerifGurmukhi-VF.ttf
+ NotoSerifGurmukhi-Regular.ttf
- NotoSerifGurmukhi-VF.ttf
+ NotoSerifGurmukhi-Regular.ttf
- NotoSansGurmukhiUI-VF.ttf
+ NotoSansGurmukhiUI-Regular.ttf
- NotoSansGurmukhiUI-VF.ttf
+ NotoSansGurmukhiUI-Regular.ttf
- NotoSansGurmukhiUI-VF.ttf
+ NotoSansGurmukhiUI-Regular.ttf
- NotoSansGurmukhiUI-VF.ttf
+ NotoSansGurmukhiUI-Regular.ttf
- NotoSansTamil-VF.ttf
+ NotoSansTamil-Regular.ttf
- NotoSansTamil-VF.ttf
+ NotoSansTamil-Regular.ttf
- NotoSansTamil-VF.ttf
+ NotoSansTamil-Regular.ttf
- NotoSansTamil-VF.ttf
+ NotoSansTamil-Regular.ttf
- NotoSerifTamil-VF.ttf
+ NotoSerifTamil-Regular.ttf
- NotoSerifTamil-VF.ttf
+ NotoSerifTamil-Regular.ttf
- NotoSerifTamil-VF.ttf
+ NotoSerifTamil-Regular.ttf
- NotoSerifTamil-VF.ttf
+ NotoSerifTamil-Regular.ttf
- NotoSansTamilUI-VF.ttf
+ NotoSansTamilUI-Regular.ttf
- NotoSansTamilUI-VF.ttf
+ NotoSansTamilUI-Regular.ttf
- NotoSansTamilUI-VF.ttf
+ NotoSansTamilUI-Regular.ttf
- NotoSansTamilUI-VF.ttf
+ NotoSansTamilUI-Regular.ttf
- NotoSansMalayalam-VF.ttf
+ NotoSansMalayalam-Regular.ttf
- NotoSansMalayalam-VF.ttf
+ NotoSansMalayalam-Regular.ttf
- NotoSansMalayalam-VF.ttf
+ NotoSansMalayalam-Regular.ttf
- NotoSansMalayalam-VF.ttf
+ NotoSansMalayalam-Regular.ttf
- NotoSerifMalayalam-VF.ttf
+ NotoSerifMalayalam-Regular.ttf
- NotoSerifMalayalam-VF.ttf
+ NotoSerifMalayalam-Regular.ttf
- NotoSerifMalayalam-VF.ttf
+ NotoSerifMalayalam-Regular.ttf
- NotoSerifMalayalam-VF.ttf
+ NotoSerifMalayalam-Regular.ttf
- NotoSansMalayalamUI-VF.ttf
+ NotoSansMalayalamUI-Regular.ttf
- NotoSansMalayalamUI-VF.ttf
+ NotoSansMalayalamUI-Regular.ttf
- NotoSansMalayalamUI-VF.ttf
+ NotoSansMalayalamUI-Regular.ttf
- NotoSansMalayalamUI-VF.ttf
+ NotoSansMalayalamUI-Regular.ttf
- NotoSansBengali-VF.ttf
+ NotoSansBengali-Regular.ttf
- NotoSansBengali-VF.ttf
+ NotoSansBengali-Regular.ttf
- NotoSansBengali-VF.ttf
+ NotoSansBengali-Regular.ttf
- NotoSansBengali-VF.ttf
+ NotoSansBengali-Regular.ttf
- NotoSerifBengali-VF.ttf
+ NotoSerifBengali-Regular.ttf
- NotoSerifBengali-VF.ttf
+ NotoSerifBengali-Regular.ttf
- NotoSerifBengali-VF.ttf
+ NotoSerifBengali-Regular.ttf
- NotoSerifBengali-VF.ttf
+ NotoSerifBengali-Regular.ttf
- NotoSansBengaliUI-VF.ttf
+ NotoSansBengaliUI-Regular.ttf
- NotoSansBengaliUI-VF.ttf
+ NotoSansBengaliUI-Regular.ttf
- NotoSansBengaliUI-VF.ttf
+ NotoSansBengaliUI-Regular.ttf
- NotoSansBengaliUI-VF.ttf
+ NotoSansBengaliUI-Regular.ttf
- NotoSansTelugu-VF.ttf
+ NotoSansTelugu-Regular.ttf
- NotoSansTelugu-VF.ttf
+ NotoSansTelugu-Regular.ttf
- NotoSansTelugu-VF.ttf
+ NotoSansTelugu-Regular.ttf
- NotoSansTelugu-VF.ttf
+ NotoSansTelugu-Regular.ttf
- NotoSerifTelugu-VF.ttf
+ NotoSerifTelugu-Regular.ttf
- NotoSerifTelugu-VF.ttf
+ NotoSerifTelugu-Regular.ttf
- NotoSerifTelugu-VF.ttf
+ NotoSerifTelugu-Regular.ttf
- NotoSerifTelugu-VF.ttf
+ NotoSerifTelugu-Regular.ttf
- NotoSansTeluguUI-VF.ttf
+ NotoSansTeluguUI-Regular.ttf
- NotoSansTeluguUI-VF.ttf
+ NotoSansTeluguUI-Regular.ttf
- NotoSansTeluguUI-VF.ttf
+ NotoSansTeluguUI-Regular.ttf
- NotoSansTeluguUI-VF.ttf
+ NotoSansTeluguUI-Regular.ttf
- NotoSansKannada-VF.ttf
+ NotoSansKannada-Regular.ttf
- NotoSansKannada-VF.ttf
+ NotoSansKannada-Regular.ttf
- NotoSansKannada-VF.ttf
+ NotoSansKannada-Regular.ttf
- NotoSansKannada-VF.ttf
+ NotoSansKannada-Regular.ttf
- NotoSerifKannada-VF.ttf
+ NotoSerifKannada-Regular.ttf
- NotoSerifKannada-VF.ttf
+ NotoSerifKannada-Regular.ttf
- NotoSerifKannada-VF.ttf
+ NotoSerifKannada-Regular.ttf
- NotoSerifKannada-VF.ttf
+ NotoSerifKannada-Regular.ttf
- NotoSansKannadaUI-VF.ttf
+ NotoSansKannadaUI-Regular.ttf
- NotoSansKannadaUI-VF.ttf
+ NotoSansKannadaUI-Regular.ttf
- NotoSansKannadaUI-VF.ttf
+ NotoSansKannadaUI-Regular.ttf
- NotoSansKannadaUI-VF.ttf
+ NotoSansKannadaUI-Regular.ttf
- NotoSansOriya-Regular.ttf
+ NotoSansOriya.ttf
NotoSansOriya-Bold.ttf
- NotoSansOriyaUI-Regular.ttf
+ NotoSansOriyaUI.ttf
NotoSansOriyaUI-Bold.ttf
- NotoSansSinhala-VF.ttf
+ NotoSansSinhala-Regular.ttf
- NotoSansSinhala-VF.ttf
+ NotoSansSinhala-Regular.ttf
- NotoSansSinhala-VF.ttf
+ NotoSansSinhala-Regular.ttf
- NotoSansSinhala-VF.ttf
+ NotoSansSinhala-Regular.ttf
- NotoSerifSinhala-VF.ttf
+ NotoSerifSinhala-Regular.ttf
- NotoSerifSinhala-VF.ttf
+ NotoSerifSinhala-Regular.ttf
- NotoSerifSinhala-VF.ttf
+ NotoSerifSinhala-Regular.ttf
- NotoSerifSinhala-VF.ttf
+ NotoSerifSinhala-Regular.ttf
- NotoSansSinhalaUI-VF.ttf
+ NotoSansSinhalaUI-Regular.ttf
- NotoSansSinhalaUI-VF.ttf
+ NotoSansSinhalaUI-Regular.ttf
- NotoSansSinhalaUI-VF.ttf
+ NotoSansSinhalaUI-Regular.ttf
- NotoSansSinhalaUI-VF.ttf
+ NotoSansSinhalaUI-Regular.ttf
- NotoSansKhmer-VF.ttf
+ NotoSansKhmer-Regular.ttf
- NotoSansKhmer-VF.ttf
+ NotoSansKhmer-Regular.ttf
- NotoSansKhmer-VF.ttf
+ NotoSansKhmer-Regular.ttf
- NotoSansKhmer-VF.ttf
+ NotoSansKhmer-Regular.ttf
- NotoSansKhmer-VF.ttf
+ NotoSansKhmer-Regular.ttf
- NotoSansKhmer-VF.ttf
+ NotoSansKhmer-Regular.ttf
- NotoSansKhmer-VF.ttf
+ NotoSansKhmer-Regular.ttf
- NotoSansKhmer-VF.ttf
+ NotoSansKhmer-Regular.ttf
- NotoSansKhmer-VF.ttf
+ NotoSansKhmer-Regular.ttf
@@ -769,17 +769,17 @@
NotoSerifKhmer-Bold.otf
- NotoSansKhmerUI-Regular.ttf
+ NotoSansKhmerUI.ttf
NotoSansKhmerUI-Bold.ttf
- NotoSansLao-Regular.ttf
+ NotoSansLao.ttf
NotoSansLao-Bold.ttf
- NotoSerifLao-Regular.ttf
+ NotoSerifLao.ttf
NotoSerifLao-Bold.ttf
- NotoSansLaoUI-Regular.ttf
+ NotoSansLaoUI.ttf
NotoSansLaoUI-Bold.ttf
@@ -795,56 +795,56 @@
NotoSansMyanmarUI-Bold.otf
- NotoSansThaana-Regular.ttf
+ NotoSansThaana.ttf
NotoSansThaana-Bold.ttf
- NotoSansCham-Regular.ttf
+ NotoSansCham.ttf
NotoSansCham-Bold.ttf
NotoSansAhom-Regular.otf
- NotoSansAdlam-VF.ttf
+ NotoSansAdlam-Regular.ttf
- NotoSansAdlam-VF.ttf
+ NotoSansAdlam-Regular.ttf
- NotoSansAdlam-VF.ttf
+ NotoSansAdlam-Regular.ttf
- NotoSansAdlam-VF.ttf
+ NotoSansAdlam-Regular.ttf
- NotoSansAvestan-Regular.ttf
+ NotoSansAvestan.ttf
- NotoSansBalinese-Regular.ttf
+ NotoSansBalinese.ttf
- NotoSansBamum-Regular.ttf
+ NotoSansBamum.ttf
- NotoSansBatak-Regular.ttf
+ NotoSansBatak.ttf
- NotoSansBrahmi-Regular.ttf
+ NotoSansBrahmi.ttf
- NotoSansBuginese-Regular.ttf
+ NotoSansBuginese.ttf
- NotoSansBuhid-Regular.ttf
+ NotoSansBuhid.ttf
- NotoSansCanadianAboriginal-Regular.ttf
+ NotoSansCanadianAboriginal.ttf
- NotoSansCarian-Regular.ttf
+ NotoSansCarian.ttf
NotoSansChakma-Regular.otf
@@ -853,164 +853,164 @@
NotoSansCherokee-Regular.ttf
- NotoSansCoptic-Regular.ttf
+ NotoSansCoptic.ttf
- NotoSansCuneiform-Regular.ttf
+ NotoSansCuneiform.ttf
- NotoSansCypriot-Regular.ttf
+ NotoSansCypriot.ttf
- NotoSansDeseret-Regular.ttf
+ NotoSansDeseret.ttf
- NotoSansEgyptianHieroglyphs-Regular.ttf
+ NotoSansEgyptianHieroglyphs.ttf
NotoSansElbasan-Regular.otf
- NotoSansGlagolitic-Regular.ttf
+ NotoSansGlagolitic.ttf
- NotoSansGothic-Regular.ttf
+ NotoSansGothic.ttf
- NotoSansHanunoo-Regular.ttf
+ NotoSansHanunoo.ttf
- NotoSansImperialAramaic-Regular.ttf
+ NotoSansImperialAramaic.ttf
- NotoSansInscriptionalPahlavi-Regular.ttf
+ NotoSansInscriptionalPahlavi.ttf
- NotoSansInscriptionalParthian-Regular.ttf
+ NotoSansInscriptionalParthian.ttf
NotoSansJavanese-Regular.otf
- NotoSansKaithi-Regular.ttf
+ NotoSansKaithi.ttf
- NotoSansKayahLi-Regular.ttf
+ NotoSansKayahLi.ttf
- NotoSansKharoshthi-Regular.ttf
+ NotoSansKharoshthi.ttf
- NotoSansLepcha-Regular.ttf
+ NotoSansLepcha.ttf
- NotoSansLimbu-Regular.ttf
+ NotoSansLimbu.ttf
- NotoSansLinearB-Regular.ttf
+ NotoSansLinearB.ttf
- NotoSansLisu-Regular.ttf
+ NotoSansLisu.ttf
- NotoSansLycian-Regular.ttf
+ NotoSansLycian.ttf
- NotoSansLydian-Regular.ttf
+ NotoSansLydian.ttf
- NotoSansMandaic-Regular.ttf
+ NotoSansMandaic.ttf
- NotoSansMeeteiMayek-Regular.ttf
+ NotoSansMeeteiMayek.ttf
- NotoSansNewTaiLue-Regular.ttf
+ NotoSansNewTaiLue.ttf
- NotoSansNKo-Regular.ttf
+ NotoSansNKo.ttf
- NotoSansOgham-Regular.ttf
+ NotoSansOgham.ttf
- NotoSansOlChiki-Regular.ttf
+ NotoSansOlChiki.ttf
- NotoSansOldItalic-Regular.ttf
+ NotoSansOldItalic.ttf
- NotoSansOldPersian-Regular.ttf
+ NotoSansOldPersian.ttf
- NotoSansOldSouthArabian-Regular.ttf
+ NotoSansOldSouthArabian.ttf
- NotoSansOldTurkic-Regular.ttf
+ NotoSansOldTurkic.ttf
NotoSansOsage-Regular.ttf
- NotoSansOsmanya-Regular.ttf
+ NotoSansOsmanya.ttf
- NotoSansPhoenician-Regular.ttf
+ NotoSansPhoenician.ttf
- NotoSansRejang-Regular.ttf
+ NotoSansRejang.ttf
- NotoSansRunic-Regular.ttf
+ NotoSansRunic.ttf
- NotoSansSamaritan-Regular.ttf
+ NotoSansSamaritan.ttf
- NotoSansSaurashtra-Regular.ttf
+ NotoSansSaurashtra.ttf
- NotoSansShavian-Regular.ttf
+ NotoSansShavian.ttf
- NotoSansSundanese-Regular.ttf
+ NotoSansSundanese.ttf
- NotoSansSylotiNagri-Regular.ttf
+ NotoSansSylotiNagri.ttf
- NotoSansSyriacEstrangela-Regular.ttf
+ NotoSansSyriacEstrangela.ttf
- NotoSansSyriacEastern-Regular.ttf
+ NotoSansSyriacEastern.ttf
- NotoSansSyriacWestern-Regular.ttf
+ NotoSansSyriacWestern.ttf
- NotoSansTagalog-Regular.ttf
+ NotoSansTagalog.ttf
- NotoSansTagbanwa-Regular.ttf
+ NotoSansTagbanwa.ttf
- NotoSansTaiTham-Regular.ttf
+ NotoSansTaiTham.ttf
- NotoSansTaiViet-Regular.ttf
+ NotoSansTaiViet.ttf
- NotoSerifTibetan-VF.ttf
+ NotoSerifTibetan-Regular.ttf
- NotoSerifTibetan-VF.ttf
+ NotoSerifTibetan-Regular.ttf
- NotoSerifTibetan-VF.ttf
+ NotoSerifTibetan-Regular.ttf
- NotoSerifTibetan-VF.ttf
+ NotoSerifTibetan-Regular.ttf
@@ -1018,29 +1018,29 @@
NotoSansTifinagh-Regular.otf
- NotoSansUgaritic-Regular.ttf
+ NotoSansUgaritic.ttf
- NotoSansVai-Regular.ttf
+ NotoSansVai.ttf
NotoSansSymbols-Regular-Subsetted.ttf
- NotoSansCJK-Regular.ttc
- NotoSerifCJK-Regular.ttc
+ NotoSansCJKjp-Regular.otc
+ NotoSerifCJKjp-Regular.otc
- NotoSansCJK-Regular.ttc
- NotoSerifCJK-Regular.ttc
+ NotoSansCJKjp-Regular.otc
+ NotoSerifCJKjp-Regular.otc
- NotoSansCJK-Regular.ttc
- NotoSerifCJK-Regular.ttc
+ NotoSansCJKjp-Regular.otc
+ NotoSerifCJKjp-Regular.otc
- NotoSansCJK-Regular.ttc
- NotoSerifCJK-Regular.ttc
+ NotoSansCJKjp-Regular.otc
+ NotoSerifCJKjp-Regular.otc
NotoColorEmoji.ttf
@@ -1053,16 +1053,16 @@
override the East Asian punctuation for Chinese.
-->
- NotoSansTaiLe-Regular.ttf
+ NotoSansTaiLe.ttf
- NotoSansYi-Regular.ttf
+ NotoSansYi.ttf
- NotoSansMongolian-Regular.ttf
+ NotoSansMongolian.ttf
- NotoSansPhagsPa-Regular.ttf
+ NotoSansPhagsPa.ttf
NotoSansAnatolianHieroglyphs-Regular.otf
@@ -1152,72 +1152,72 @@
NotoSerifDogra-Regular.ttf
- NotoSansMedefaidrin-VF.ttf
+ NotoSansMedefaidrin-Regular.ttf
- NotoSansMedefaidrin-VF.ttf
+ NotoSansMedefaidrin-Regular.ttf
- NotoSansMedefaidrin-VF.ttf
+ NotoSansMedefaidrin-Regular.ttf
- NotoSansMedefaidrin-VF.ttf
+ NotoSansMedefaidrin-Regular.ttf
- NotoSansSoyombo-VF.ttf
+ NotoSansSoyombo-Regular.ttf
- NotoSansSoyombo-VF.ttf
+ NotoSansSoyombo-Regular.ttf
- NotoSansSoyombo-VF.ttf
+ NotoSansSoyombo-Regular.ttf
- NotoSansSoyombo-VF.ttf
+ NotoSansSoyombo-Regular.ttf
- NotoSansTakri-VF.ttf
+ NotoSansTakri-Regular.ttf
- NotoSansTakri-VF.ttf
+ NotoSansTakri-Regular.ttf
- NotoSansTakri-VF.ttf
+ NotoSansTakri-Regular.ttf
- NotoSansTakri-VF.ttf
+ NotoSansTakri-Regular.ttf
- NotoSerifNyiakengPuachueHmong-VF.ttf
+ NotoSerifHmongNyiakeng-Regular.ttf
- NotoSerifNyiakengPuachueHmong-VF.ttf
+ NotoSerifHmongNyiakeng-Regular.ttf
- NotoSerifNyiakengPuachueHmong-VF.ttf
+ NotoSerifHmongNyiakeng-Regular.ttf
- NotoSerifNyiakengPuachueHmong-VF.ttf
+ NotoSerifHmongNyiakeng-Regular.ttf
- NotoSerifYezidi-VF.ttf
+ NotoSerifYezidi-Regular.ttf
- NotoSerifYezidi-VF.ttf
+ NotoSerifYezidi-Regular.ttf
- NotoSerifYezidi-VF.ttf
+ NotoSerifYezidi-Regular.ttf
- NotoSerifYezidi-VF.ttf
+ NotoSerifYezidi-Regular.ttf
diff --git a/libs/hwui/tests/unit/TypefaceTests.cpp b/libs/hwui/tests/unit/TypefaceTests.cpp
index ab23448ab93f4..1a3dbe7faaf6e 100644
--- a/libs/hwui/tests/unit/TypefaceTests.cpp
+++ b/libs/hwui/tests/unit/TypefaceTests.cpp
@@ -33,7 +33,7 @@ namespace {
constexpr char kRobotoVariable[] = "/system/fonts/Roboto-Regular.ttf";
-constexpr char kRegularFont[] = "/system/fonts/NotoSerif-Regular.ttf";
+constexpr char kRegularFont[] = "/system/fonts/NotoSerif.ttf";
constexpr char kBoldFont[] = "/system/fonts/NotoSerif-Bold.ttf";
constexpr char kItalicFont[] = "/system/fonts/NotoSerif-Italic.ttf";
constexpr char kBoldItalicFont[] = "/system/fonts/NotoSerif-BoldItalic.ttf";
diff --git a/tools/fonts/fontchain_linter.py b/tools/fonts/fontchain_linter.py
index f0b759547a937..ebc0ec1640f55 100755
--- a/tools/fonts/fontchain_linter.py
+++ b/tools/fonts/fontchain_linter.py
@@ -11,6 +11,12 @@ from fontTools import ttLib
EMOJI_VS = 0xFE0F
+#TODO(179952916): Rename CutiveMono and DancingScript
+CANONICAL_NAME_EXCEPTION_LIST = [
+ 'CutiveMono.ttf',
+ 'DancingScript-Regular.ttf',
+]
+
LANG_TO_SCRIPT = {
'as': 'Beng',
'be': 'Cyrl',
@@ -665,6 +671,53 @@ def check_cjk_punctuation():
assert_font_supports_none_of_chars(record.font, cjk_punctuation, name)
+def getPostScriptName(font):
+ ttf = open_font(font)
+ nameTable = ttf['name']
+ for name in nameTable.names:
+ if name.nameID == 6 and name.platformID == 3 and name.platEncID == 1 and name.langID == 0x0409:
+ return str(name)
+
+
+def getSuffix(font):
+ file_path, index = font
+ with open(path.join(_fonts_dir, file_path), 'rb') as f:
+ tag = f.read(4)
+ isCollection = tag == b'ttcf'
+
+ ttf = open_font(font)
+ isType1 = ('CFF ' in ttf or 'CFF2' in ttf)
+
+ if isType1:
+ if isCollection:
+ return '.otc'
+ else:
+ return '.otf'
+ else:
+ if isCollection:
+ return '.ttc'
+ else:
+ return '.ttf'
+
+
+def check_canonical_name():
+ for record in _all_fonts:
+ file_name, index = record.font
+ if file_name in CANONICAL_NAME_EXCEPTION_LIST:
+ continue
+
+ if index and index != 0:
+ continue
+
+ psName = getPostScriptName(record.font)
+ assert psName, 'PostScript must be defined'
+
+ suffix = getSuffix(record.font)
+ canonicalName = '%s%s' % (psName, suffix)
+
+ assert file_name == canonicalName, (
+ '%s is not a canonical name. Must be %s' % (file_name, canonicalName))
+
def main():
global _fonts_dir
target_out = sys.argv[1]
@@ -682,6 +735,8 @@ def main():
check_cjk_punctuation()
+ check_canonical_name()
+
check_emoji = sys.argv[2]
if check_emoji == 'true':
ucd_path = sys.argv[3]