1 # Copyright (C) 2011 The Android Open Source Project
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 # We have to use BUILD_PREBUILT instead of PRODUCT_COPY_FIES,
16 # because SMALLER_FONT_FOOTPRINT is only available in Android.mks.
18 LOCAL_PATH := $(call my-dir)
20 ##########################################
21 # create symlink for given font
22 # $(1): new font $(2): link target
23 # should be used with eval: $(eval $(call ...))
24 define create-font-symlink
25 $(PRODUCT_OUT)/system/fonts/$(1) : $(PRODUCT_OUT)/system/fonts/$(2)
26 @echo "Symlink: $$@ -> $$<"
29 $(hide) ln -sf $$(notdir $$<) $$@
30 # this magic makes LOCAL_REQUIRED_MODULES work
31 ALL_MODULES.$(1).INSTALLED := \
32 $(ALL_MODULES.$(1).INSTALLED) $(PRODUCT_OUT)/system/fonts/$(1)
35 ##########################################
36 # We may only afford small font footprint.
37 ##########################################
38 $(eval $(call create-font-symlink,DroidSans.ttf,Roboto-Regular.ttf))
39 $(eval $(call create-font-symlink,DroidSans-Bold.ttf,Roboto-Bold.ttf))
41 ################################
42 # On space-constrained devices, we include a subset of fonts:
43 ifeq ($(SMALLER_FONT_FOOTPRINT),true)
44 droidsans_fallback_src := DroidSansFallback.ttf
45 extra_font_files := DroidSans.ttf DroidSans-Bold.ttf
48 LOCAL_MODULE := DroidSansEthiopic-Regular.ttf
49 LOCAL_SRC_FILES := $(LOCAL_MODULE)
50 LOCAL_MODULE_CLASS := ETC
51 LOCAL_MODULE_TAGS := optional
52 LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
53 include $(BUILD_PREBUILT)
56 LOCAL_MODULE := DroidSansTamil-Regular.ttf
57 LOCAL_SRC_FILES := $(LOCAL_MODULE)
58 LOCAL_MODULE_CLASS := ETC
59 LOCAL_MODULE_TAGS := optional
60 LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
61 include $(BUILD_PREBUILT)
64 LOCAL_MODULE := DroidSansTamil-Bold.ttf
65 LOCAL_SRC_FILES := $(LOCAL_MODULE)
66 LOCAL_MODULE_CLASS := ETC
67 LOCAL_MODULE_TAGS := optional
68 LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
69 include $(BUILD_PREBUILT)
72 LOCAL_MODULE := MTLmr3m.ttf
73 LOCAL_SRC_FILES := $(LOCAL_MODULE)
74 LOCAL_MODULE_CLASS := ETC
75 LOCAL_MODULE_TAGS := optional
76 LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
77 include $(BUILD_PREBUILT)
79 droidsans_fallback_src := DroidSansFallbackFull.ttf
83 DroidSansEthiopic-Regular.ttf \
84 DroidSansTamil-Regular.ttf \
85 DroidSansTamil-Bold.ttf \
87 endif # SMALLER_FONT_FOOTPRINT
89 ################################
91 LOCAL_MODULE := DroidSansFallback.ttf
92 LOCAL_SRC_FILES := $(droidsans_fallback_src)
93 LOCAL_MODULE_CLASS := ETC
94 LOCAL_MODULE_TAGS := optional
95 LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
96 LOCAL_REQUIRED_MODULES := $(extra_font_files)
97 include $(BUILD_PREBUILT)
101 droidsans_fallback_src :=
103 ################################
104 # Build the rest font files as prebuilt.
106 # $(1): The source file name in LOCAL_PATH.
107 # It also serves as the module name and the dest file name.
108 define build-one-font-module
109 $(eval include $(CLEAR_VARS))\
110 $(eval LOCAL_MODULE := $(1))\
111 $(eval LOCAL_SRC_FILES := $(1))\
112 $(eval LOCAL_MODULE_CLASS := ETC)\
113 $(eval LOCAL_MODULE_TAGS := optional)\
114 $(eval LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts)\
115 $(eval include $(BUILD_PREBUILT))
122 Roboto-BoldItalic.ttf \
123 DroidSerif-Regular.ttf \
124 DroidSerif-Bold.ttf \
125 DroidSerif-Italic.ttf \
126 DroidSerif-BoldItalic.ttf \
130 AndroidClock_Highlight.ttf \
131 AndroidClock_Solid.ttf
133 ifeq ($(MINIMAL_FONT_FOOTPRINT),true)
135 $(eval $(call create-font-symlink,Roboto-Light.ttf,Roboto-Regular.ttf))
136 $(eval $(call create-font-symlink,Roboto-LightItalic.ttf,Roboto-Italic.ttf))
137 $(eval $(call create-font-symlink,Roboto-Thin.ttf,Roboto-Regular.ttf))
138 $(eval $(call create-font-symlink,Roboto-ThinItalic.ttf,Roboto-Italic.ttf))
139 $(eval $(call create-font-symlink,RobotoCondensed-Regular.ttf,Roboto-Regular.ttf))
140 $(eval $(call create-font-symlink,RobotoCondensed-Bold.ttf,Roboto-Bold.ttf))
141 $(eval $(call create-font-symlink,RobotoCondensed-Italic.ttf,Roboto-Italic.ttf))
142 $(eval $(call create-font-symlink,RobotoCondensed-BoldItalic.ttf,Roboto-BoldItalic.ttf))
147 Roboto-LightItalic.ttf \
149 Roboto-ThinItalic.ttf \
150 RobotoCondensed-Regular.ttf \
151 RobotoCondensed-Bold.ttf \
152 RobotoCondensed-Italic.ttf \
153 RobotoCondensed-BoldItalic.ttf \
154 DroidNaskh-Regular.ttf \
155 DroidNaskh-Regular-SystemUI.ttf \
156 DroidSansDevanagari-Regular.ttf \
157 DroidSansHebrew-Regular.ttf \
158 DroidSansHebrew-Bold.ttf \
160 DroidSansArmenian.ttf \
161 DroidSansGeorgian.ttf \
164 endif # !MINIMAL_FONT
166 $(foreach f, $(font_src_files), $(call build-one-font-module, $(f)))
168 build-one-font-module :=