Home | History | Annotate | Download | only in noto-fonts
      1 # Copyright (C) 2013 The Android Open Source Project
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
      4 # you may not use this file except in compliance with the License.
      5 # You may obtain a copy of the License at
      6 #
      7 #      http://www.apache.org/licenses/LICENSE-2.0
      8 #
      9 # Unless required by applicable law or agreed to in writing, software
     10 # distributed under the License is distributed on an "AS IS" BASIS,
     11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 # See the License for the specific language governing permissions and
     13 # limitations under the License.
     14 
     15 NOTO_DIR := $(call my-dir)
     16 
     17 include $(call all-makefiles-under,$(NOTO_DIR))
     18 
     19 # We have to use BUILD_PREBUILT instead of PRODUCT_COPY_FILES,
     20 # to copy over the NOTICE file.
     21 #############################################################################
     22 # $(1): The source file name in LOCAL_PATH.
     23 #       It also serves as the module name and the dest file name.
     24 #############################################################################
     25 define build-one-font-module
     26 $(eval include $(CLEAR_VARS))\
     27 $(eval LOCAL_MODULE := $(1))\
     28 $(eval LOCAL_SRC_FILES := $(1))\
     29 $(eval LOCAL_MODULE_CLASS := ETC)\
     30 $(eval LOCAL_MODULE_TAGS := optional)\
     31 $(eval LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts)\
     32 $(eval include $(BUILD_PREBUILT))
     33 endef
     34 
     35 
     36 #############################################################################
     37 # First "build" the Noto CJK fonts, which have a different directory and
     38 # copyright holder. These are not included in MINIMAL_FONT_FOOTPRINT builds.
     39 #############################################################################
     40 ifneq ($(MINIMAL_FONT_FOOTPRINT),true)
     41 LOCAL_PATH := $(NOTO_DIR)/cjk
     42 
     43 font_src_files := \
     44     NotoSansCJK-Regular.ttc
     45 
     46 $(foreach f, $(font_src_files), $(call build-one-font-module, $(f)))
     47 font_src_files :=
     48 
     49 endif # !MINIMAL_FONT_FOOTPRINT
     50 
     51 #############################################################################
     52 # Similary "build" the Noto CJK fonts for serif family.
     53 # These are not included in SMALLER_FONT_FOOTPRINT builds.
     54 #############################################################################
     55 ifeq ($(filter true,$(EXCLUDE_SERIF_FONTS) $(SMALLER_FONT_FOOTPRINT)),)
     56 LOCAL_PATH := $(NOTO_DIR)/cjk
     57 
     58 font_src_files := \
     59     NotoSerifCJK-Regular.ttc
     60 
     61 $(foreach f, $(font_src_files), $(call build-one-font-module, $(f)))
     62 font_src_files :=
     63 
     64 endif # !EXCLUDE_SERIF_FONTS && !SMALLER_FONT_FOOTPRINT
     65 
     66 #############################################################################
     67 # Now "build" the Noto Color Emoji font, which is in its own directory. It is
     68 # not included in the MINIMAL_FONT_FOOTPRINT builds.
     69 #############################################################################
     70 ifneq ($(MINIMAL_FONT_FOOTPRINT),true)
     71 LOCAL_PATH := $(NOTO_DIR)/emoji
     72 
     73 font_src_files := \
     74     NotoColorEmoji.ttf
     75 
     76 $(foreach f, $(font_src_files), $(call build-one-font-module, $(f)))
     77 font_src_files :=
     78 
     79 endif # !MINIMAL_FONT_FOOTPRINT
     80 
     81 #############################################################################
     82 # Now "build" the rest of the fonts, which live in a separate subdirectory.
     83 #############################################################################
     84 LOCAL_PATH := $(NOTO_DIR)/other
     85 
     86 #############################################################################
     87 # The following fonts are included in all builds.
     88 #############################################################################
     89 font_src_files := \
     90     NotoSerif-Regular.ttf \
     91     NotoSerif-Bold.ttf \
     92     NotoSerif-Italic.ttf \
     93     NotoSerif-BoldItalic.ttf
     94 
     95 #############################################################################
     96 # The following fonts are excluded from SMALLER_FONT_FOOTPRINT builds.
     97 #############################################################################
     98 ifneq ($(SMALLER_FONT_FOOTPRINT),true)
     99 font_src_files += \
    100     NotoSansAdlam-Regular.ttf \
    101     NotoSansAhom-Regular.otf \
    102     NotoSansAnatolianHieroglyphs-Regular.otf \
    103     NotoSansAvestan-Regular.ttf \
    104     NotoSansBalinese-Regular.ttf \
    105     NotoSansBamum-Regular.ttf \
    106     NotoSansBassaVah-Regular.otf \
    107     NotoSansBatak-Regular.ttf \
    108     NotoSansBengali-Bold.ttf \
    109     NotoSansBengali-Regular.ttf \
    110     NotoSansBengaliUI-Bold.ttf \
    111     NotoSansBengaliUI-Regular.ttf \
    112     NotoSansBhaiksuki-Regular.otf \
    113     NotoSansBrahmi-Regular.ttf \
    114     NotoSansBuginese-Regular.ttf \
    115     NotoSansBuhid-Regular.ttf \
    116     NotoSansCanadianAboriginal-Regular.ttf \
    117     NotoSansCarian-Regular.ttf \
    118     NotoSansChakma-Regular.ttf \
    119     NotoSansCham-Bold.ttf \
    120     NotoSansCham-Regular.ttf \
    121     NotoSansCherokee-Regular.ttf \
    122     NotoSansCoptic-Regular.ttf \
    123     NotoSansCuneiform-Regular.ttf \
    124     NotoSansCypriot-Regular.ttf \
    125     NotoSansDeseret-Regular.ttf \
    126     NotoSansEgyptianHieroglyphs-Regular.ttf \
    127     NotoSansElbasan-Regular.otf \
    128     NotoSansEthiopic-Bold.ttf \
    129     NotoSansEthiopic-Regular.ttf \
    130     NotoSansGlagolitic-Regular.ttf \
    131     NotoSansGothic-Regular.ttf \
    132     NotoSansGujarati-Bold.ttf \
    133     NotoSansGujarati-Regular.ttf \
    134     NotoSansGujaratiUI-Bold.ttf \
    135     NotoSansGujaratiUI-Regular.ttf \
    136     NotoSansGurmukhi-Bold.ttf \
    137     NotoSansGurmukhi-Regular.ttf \
    138     NotoSansGurmukhiUI-Bold.ttf \
    139     NotoSansGurmukhiUI-Regular.ttf \
    140     NotoSansHanunoo-Regular.ttf \
    141     NotoSansHatran-Regular.otf \
    142     NotoSansImperialAramaic-Regular.ttf \
    143     NotoSansInscriptionalPahlavi-Regular.ttf \
    144     NotoSansInscriptionalParthian-Regular.ttf \
    145     NotoSansJavanese-Regular.ttf \
    146     NotoSansKaithi-Regular.ttf \
    147     NotoSansKannada-Bold.ttf \
    148     NotoSansKannada-Regular.ttf \
    149     NotoSansKannadaUI-Bold.ttf \
    150     NotoSansKannadaUI-Regular.ttf \
    151     NotoSansKayahLi-Regular.ttf \
    152     NotoSansKharoshthi-Regular.ttf \
    153     NotoSansKhmerUI-Bold.ttf \
    154     NotoSansKhmerUI-Regular.ttf \
    155     NotoSansLao-Bold.ttf \
    156     NotoSansLao-Regular.ttf \
    157     NotoSansLaoUI-Bold.ttf \
    158     NotoSansLaoUI-Regular.ttf \
    159     NotoSansLepcha-Regular.ttf \
    160     NotoSansLimbu-Regular.ttf \
    161     NotoSansLinearA-Regular.otf \
    162     NotoSansLinearB-Regular.ttf \
    163     NotoSansLisu-Regular.ttf \
    164     NotoSansLycian-Regular.ttf \
    165     NotoSansLydian-Regular.ttf \
    166     NotoSansMalayalam-Bold.ttf \
    167     NotoSansMalayalam-Regular.ttf \
    168     NotoSansMalayalamUI-Bold.ttf \
    169     NotoSansMalayalamUI-Regular.ttf \
    170     NotoSansMandaic-Regular.ttf \
    171     NotoSansManichaean-Regular.otf \
    172     NotoSansMarchen-Regular.otf \
    173     NotoSansMeeteiMayek-Regular.ttf \
    174     NotoSansMeroitic-Regular.otf \
    175     NotoSansMiao-Regular.otf \
    176     NotoSansMongolian-Regular.ttf \
    177     NotoSansMro-Regular.otf \
    178     NotoSansMultani-Regular.otf \
    179     NotoSansMyanmar-Bold.ttf \
    180     NotoSansMyanmar-Regular.ttf \
    181     NotoSansMyanmarUI-Bold.ttf \
    182     NotoSansMyanmarUI-Regular.ttf \
    183     NotoSansNabataean-Regular.otf \
    184     NotoSansNewa-Regular.otf \
    185     NotoSansNewTaiLue-Regular.ttf \
    186     NotoSansNKo-Regular.ttf \
    187     NotoSansOgham-Regular.ttf \
    188     NotoSansOlChiki-Regular.ttf \
    189     NotoSansOldItalic-Regular.ttf \
    190     NotoSansOldNorthArabian-Regular.otf \
    191     NotoSansOldPermic-Regular.otf \
    192     NotoSansOldPersian-Regular.ttf \
    193     NotoSansOldSouthArabian-Regular.ttf \
    194     NotoSansOldTurkic-Regular.ttf \
    195     NotoSansOriya-Bold.ttf \
    196     NotoSansOriya-Regular.ttf \
    197     NotoSansOriyaUI-Bold.ttf \
    198     NotoSansOriyaUI-Regular.ttf \
    199     NotoSansOsage-Regular.ttf \
    200     NotoSansOsmanya-Regular.ttf \
    201     NotoSansPahawhHmong-Regular.otf \
    202     NotoSansPalmyrene-Regular.otf \
    203     NotoSansPauCinHau-Regular.otf \
    204     NotoSansPhagsPa-Regular.ttf \
    205     NotoSansPhoenician-Regular.ttf \
    206     NotoSansRejang-Regular.ttf \
    207     NotoSansRunic-Regular.ttf \
    208     NotoSansSamaritan-Regular.ttf \
    209     NotoSansSaurashtra-Regular.ttf \
    210     NotoSansSharada-Regular.otf \
    211     NotoSansShavian-Regular.ttf \
    212     NotoSansSinhala-Bold.ttf \
    213     NotoSansSinhala-Regular.ttf \
    214     NotoSansSinhalaUI-Bold.otf \
    215     NotoSansSinhalaUI-Regular.otf \
    216     NotoSansSoraSompeng-Regular.otf \
    217     NotoSansSundanese-Regular.ttf \
    218     NotoSansSylotiNagri-Regular.ttf \
    219     NotoSansSyriacEastern-Regular.ttf \
    220     NotoSansSyriacEstrangela-Regular.ttf \
    221     NotoSansSyriacWestern-Regular.ttf \
    222     NotoSansTagalog-Regular.ttf \
    223     NotoSansTagbanwa-Regular.ttf \
    224     NotoSansTaiLe-Regular.ttf \
    225     NotoSansTaiTham-Regular.ttf \
    226     NotoSansTaiViet-Regular.ttf \
    227     NotoSansTamil-Bold.ttf \
    228     NotoSansTamil-Regular.ttf \
    229     NotoSansTamilUI-Bold.ttf \
    230     NotoSansTamilUI-Regular.ttf \
    231     NotoSansTelugu-Bold.ttf \
    232     NotoSansTelugu-Regular.ttf \
    233     NotoSansTeluguUI-Bold.ttf \
    234     NotoSansTeluguUI-Regular.ttf \
    235     NotoSansThaana-Bold.ttf \
    236     NotoSansThaana-Regular.ttf \
    237     NotoSansTibetan-Bold.ttf \
    238     NotoSansTibetan-Regular.ttf \
    239     NotoSansTifinagh-Regular.ttf \
    240     NotoSansUgaritic-Regular.ttf \
    241     NotoSansVai-Regular.ttf \
    242     NotoSansYi-Regular.ttf
    243 endif # !SMALLER_FONT_FOOTPRINT
    244 
    245 #############################################################################
    246 # The following fonts are excluded from MINIMAL_FONT_FOOTPRINT builds.
    247 #############################################################################
    248 ifneq ($(MINIMAL_FONT_FOOTPRINT),true)
    249 font_src_files += \
    250     NotoNaskhArabic-Regular.ttf \
    251     NotoNaskhArabic-Bold.ttf \
    252     NotoNaskhArabicUI-Regular.ttf \
    253     NotoNaskhArabicUI-Bold.ttf \
    254     NotoSansArmenian-Regular.ttf \
    255     NotoSansArmenian-Bold.ttf \
    256     NotoSansDevanagari-Regular.ttf \
    257     NotoSansDevanagari-Bold.ttf \
    258     NotoSansDevanagariUI-Regular.ttf \
    259     NotoSansDevanagariUI-Bold.ttf \
    260     NotoSansGeorgian-Regular.ttf \
    261     NotoSansGeorgian-Bold.ttf \
    262     NotoSansHebrew-Regular.ttf \
    263     NotoSansHebrew-Bold.ttf \
    264     NotoSansSymbols-Regular-Subsetted.ttf \
    265     NotoSansSymbols-Regular-Subsetted2.ttf \
    266     NotoSansThai-Regular.ttf \
    267     NotoSansThai-Bold.ttf \
    268     NotoSansThaiUI-Regular.ttf \
    269     NotoSansThaiUI-Bold.ttf
    270 endif # !MINIMAL_FONT_FOOTPRINT
    271 
    272 ifeq ($(filter true,$(EXCLUDE_SERIF_FONTS) $(SMALLER_FONT_FOOTPRINT)),)
    273 font_src_files += \
    274     NotoSerifArmenian-Bold.ttf \
    275     NotoSerifArmenian-Regular.ttf \
    276     NotoSerifBengali-Bold.ttf \
    277     NotoSerifBengali-Regular.ttf \
    278     NotoSerifDevanagari-Bold.ttf \
    279     NotoSerifDevanagari-Regular.ttf \
    280     NotoSerifEthiopic-Bold.otf \
    281     NotoSerifEthiopic-Regular.otf \
    282     NotoSerifGeorgian-Bold.ttf \
    283     NotoSerifGeorgian-Regular.ttf \
    284     NotoSerifGujarati-Bold.ttf \
    285     NotoSerifGujarati-Regular.ttf \
    286     NotoSerifGurmukhi-Bold.otf \
    287     NotoSerifGurmukhi-Regular.otf \
    288     NotoSerifHebrew-Bold.ttf \
    289     NotoSerifHebrew-Regular.ttf \
    290     NotoSerifKannada-Bold.ttf \
    291     NotoSerifKannada-Regular.ttf \
    292     NotoSerifKhmer-Bold.otf \
    293     NotoSerifKhmer-Regular.otf \
    294     NotoSerifLao-Bold.ttf \
    295     NotoSerifLao-Regular.ttf \
    296     NotoSerifMalayalam-Bold.ttf \
    297     NotoSerifMalayalam-Regular.ttf \
    298     NotoSerifMyanmar-Bold.otf \
    299     NotoSerifMyanmar-Regular.otf \
    300     NotoSerifSinhala-Bold.otf \
    301     NotoSerifSinhala-Regular.otf \
    302     NotoSerifTamil-Bold.ttf \
    303     NotoSerifTamil-Regular.ttf \
    304     NotoSerifTelugu-Bold.ttf \
    305     NotoSerifTelugu-Regular.ttf \
    306     NotoSerifThai-Bold.ttf \
    307     NotoSerifThai-Regular.ttf
    308 endif # !EXCLUDE_SERIF_FONTS && !SMALLER_FONT_FOOTPRINT
    309 
    310 $(foreach f, $(font_src_files), $(call build-one-font-module, $(f)))
    311 
    312 #############################################################################
    313 # Now "build" the variable fonts, which live in a separate subdirectory.
    314 # The only variable fonts are for Khmer Sans, which is excluded in
    315 # SMALLER_FONT_FOOTPRINT build.
    316 #############################################################################
    317 
    318 ifneq ($(SMALLER_FONT_FOOTPRINT),true)
    319 
    320 LOCAL_PATH := $(NOTO_DIR)/other-vf
    321 
    322 font_src_files := \
    323     NotoSansKhmer-VF.ttf
    324 
    325 $(foreach f, $(font_src_files), $(call build-one-font-module, $(f)))
    326 
    327 endif # !SMALLER_FONT_FOOTPRINT
    328 
    329 NOTO_DIR :=
    330 build-one-font-module :=
    331 font_src_files :=
    332 
    333 
    334 
    335 
    336