xref: /aosp_15_r20/frameworks/base/data/fonts/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1// 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
15package {
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
32prebuilt_font {
33    name: "DroidSansMono.ttf",
34    src: "DroidSansMono.ttf",
35    required: [
36        // Roboto-Regular.ttf provides DroidSans.ttf as a symlink to itself
37        // Roboto-Regular.ttf provides DroidSans-Bold.ttf as a symlink to itself
38        "Roboto-Regular.ttf",
39    ],
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/
51
52soong_config_bool_variable {
53    name: "use_var_font",
54}
55
56prebuilt_etc {
57    name: "fonts.xml",
58    src: "fonts.xml",
59}
60
61prebuilt_etc {
62    name: "font_fallback.xml",
63    src: ":generate_font_fallback",
64}
65
66/////////////////////////////////
67// Move `fontchain_lint` to `core/tasks/fontchain_lint.mk`.
68// Because `system.img` is a dependency of `fontchain_lint`, it cannot be
69// converted to Android.bp for now.
70// After system.img can be generated by Soong, then it can be converted to Android.bp.
71
72filegroup {
73    name: "DroidSansMono",
74    srcs: ["font_config.json"],
75    required: [
76        "DroidSansMono.ttf",
77    ],
78}
79
80genrule {
81    name: "generate_font_fallback",
82    tools: [":generate_fonts_xml"],
83    tool_files: [
84        "alias.json",
85        "fallback_order.json",
86    ],
87    srcs: [
88        ":CarroisGothicSC",
89        ":ComingSoon",
90        ":CutiveMono",
91        ":DancingScript",
92        ":DroidSansMono",
93        ":Roboto",
94        ":RobotoFlex",
95        ":SourceSansPro",
96        ":noto-fonts",
97    ],
98    exclude_srcs: [
99        "alias.json",
100        "fallback_order.json",
101    ],
102    out: ["font_fallback.xml"],
103    cmd: "$(location :generate_fonts_xml) " +
104        "--alias=$(location alias.json) " +
105        "--fallback=$(location fallback_order.json) " +
106        "$(in) " +
107        "-o $(out)",
108}
109