blob: cbaac21aa10b96d09428e9986aad7e9793c82c51 [file] [log] [blame]
Dan Willemsen276c4eb2020-05-13 20:22:42 -07001// Copyright (C) 2011 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
Bob Badoure539dba2021-02-12 17:07:05 -080015package {
16 default_applicable_licenses: ["frameworks_base_data_fonts_license"],
17}
18
19// Added automatically by a large-scale-change
20// See: http://go/android-license-faq
21license {
22 name: "frameworks_base_data_fonts_license",
23 visibility: [":__subpackages__"],
24 license_kinds: [
25 "SPDX-license-identifier-Apache-2.0",
26 ],
27 license_text: [
28 "NOTICE",
29 ],
30}
31
Dan Willemsen276c4eb2020-05-13 20:22:42 -070032prebuilt_font {
33 name: "DroidSansMono.ttf",
34 src: "DroidSansMono.ttf",
35 required: [
Yo Chiang5585f04ae2020-05-20 01:28:11 +080036 // Roboto-Regular.ttf provides DroidSans.ttf as a symlink to itself
Rod S49f452c2020-09-10 20:18:46 -070037 // Roboto-Regular.ttf provides DroidSans-Bold.ttf as a symlink to itself
Yo Chiang5585f04ae2020-05-20 01:28:11 +080038 "Roboto-Regular.ttf",
Dan Willemsen276c4eb2020-05-13 20:22:42 -070039 ],
40}
41
42prebuilt_font {
43 name: "AndroidClock.ttf",
44 src: "AndroidClock.ttf",
45}
46
47/////////////////////////////////
48// Copies the font configuration file into system/etc for the product as fonts.xml.
49// Additional fonts should be installed to /product/fonts/ alongside a corresponding
50// fonts_customiztion.xml in /product/etc/
Seigo Nonakae5011b82024-01-11 14:12:33 +090051
52soong_config_bool_variable {
53 name: "use_var_font",
Dan Willemsen276c4eb2020-05-13 20:22:42 -070054}
Seigo Nonakac235a382023-07-03 14:25:26 +090055
Seigo Nonakae5011b82024-01-11 14:12:33 +090056soong_config_module_type {
57 name: "prebuilt_fonts_xml",
58 module_type: "prebuilt_etc",
59 config_namespace: "noto_sans_cjk_config",
60 bool_variables: ["use_var_font"],
61 properties: ["src"],
62}
63
64prebuilt_fonts_xml {
65 name: "fonts.xml",
66 src: "fonts.xml",
67 soong_config_variables: {
68 use_var_font: {
69 src: "fonts_cjkvf.xml",
70 },
71 },
72}
73
Seigo Nonaka433d77f2024-07-30 22:10:54 +090074// TODO(nona): Change this to use generate_font_fallback to be able to generate XML from
75// per family JSON config
Seigo Nonakae5011b82024-01-11 14:12:33 +090076prebuilt_fonts_xml {
Seigo Nonakac235a382023-07-03 14:25:26 +090077 name: "font_fallback.xml",
78 src: "font_fallback.xml",
Seigo Nonakae5011b82024-01-11 14:12:33 +090079 soong_config_variables: {
80 use_var_font: {
81 src: "font_fallback_cjkvf.xml",
82 },
83 },
Seigo Nonakac235a382023-07-03 14:25:26 +090084}
Nelson Lic784e9e2024-01-19 07:04:00 +000085
86/////////////////////////////////
87// Move `fontchain_lint` to `core/tasks/fontchain_lint.mk`.
88// Because `system.img` is a dependency of `fontchain_lint`, it cannot be
89// converted to Android.bp for now.
90// After system.img can be generated by Soong, then it can be converted to Android.bp.
Seigo Nonaka29715322024-08-21 11:32:03 +090091
92filegroup {
93 name: "DroidSansMono",
94 srcs: ["font_config.json"],
95 required: [
96 "DroidSansMono.ttf",
97 ],
98}
Seigo Nonaka433d77f2024-07-30 22:10:54 +090099
100genrule {
101 name: "generate_font_fallback",
102 tools: [":generate_fonts_xml"],
103 tool_files: [
104 "alias.json",
105 "fallback_order.json",
106 ],
107 srcs: [
108 ":CarroisGothicSC",
109 ":ComingSoon",
110 ":CutiveMono",
111 ":DancingScript",
112 ":DroidSansMono",
113 ":Roboto",
114 ":RobotoFlex",
115 ":SourceSansPro",
116 ":noto-fonts",
117 ],
118 exclude_srcs: [
119 "alias.json",
120 "fallback_order.json",
121 ],
122 out: ["font_fallback.xml"],
123 cmd: "$(location :generate_fonts_xml) " +
124 "--alias=$(location alias.json) " +
125 "--fallback=$(location fallback_order.json) " +
126 "$(in) " +
127 "-o $(out)",
128}