From 2f0674a7fa6c54d57c231467e0a88232669bad2a Mon Sep 17 00:00:00 2001 From: Seigo Nonaka Date: Wed, 10 Feb 2021 17:54:30 -0800 Subject: [PATCH] Rename the font file with PostScript name based file name This CL also adds lint rules for matching the file name and PostScript name. Bug: 179952916 Test: m fontchain_lint Change-Id: I829840299b5d138cfec8924ce8f77e1371524a70 --- data/fonts/fonts.xml | 494 ++++++++++++------------- libs/hwui/tests/unit/TypefaceTests.cpp | 2 +- tools/fonts/fontchain_linter.py | 55 +++ 3 files changed, 303 insertions(+), 248 deletions(-) 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 5d2aa2ff83c95..9307cb91bc858 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]