xref: /aosp_15_r20/frameworks/base/data/fonts/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2011 The Android Open Source Project
2*d57664e9SAndroid Build Coastguard Worker//
3*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d57664e9SAndroid Build Coastguard Worker//
7*d57664e9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*d57664e9SAndroid Build Coastguard Worker//
9*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d57664e9SAndroid Build Coastguard Worker// limitations under the License.
14*d57664e9SAndroid Build Coastguard Worker
15*d57664e9SAndroid Build Coastguard Workerpackage {
16*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_base_data_fonts_license"],
17*d57664e9SAndroid Build Coastguard Worker}
18*d57664e9SAndroid Build Coastguard Worker
19*d57664e9SAndroid Build Coastguard Worker// Added automatically by a large-scale-change
20*d57664e9SAndroid Build Coastguard Worker// See: http://go/android-license-faq
21*d57664e9SAndroid Build Coastguard Workerlicense {
22*d57664e9SAndroid Build Coastguard Worker    name: "frameworks_base_data_fonts_license",
23*d57664e9SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
24*d57664e9SAndroid Build Coastguard Worker    license_kinds: [
25*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
26*d57664e9SAndroid Build Coastguard Worker    ],
27*d57664e9SAndroid Build Coastguard Worker    license_text: [
28*d57664e9SAndroid Build Coastguard Worker        "NOTICE",
29*d57664e9SAndroid Build Coastguard Worker    ],
30*d57664e9SAndroid Build Coastguard Worker}
31*d57664e9SAndroid Build Coastguard Worker
32*d57664e9SAndroid Build Coastguard Workerprebuilt_font {
33*d57664e9SAndroid Build Coastguard Worker    name: "DroidSansMono.ttf",
34*d57664e9SAndroid Build Coastguard Worker    src: "DroidSansMono.ttf",
35*d57664e9SAndroid Build Coastguard Worker    required: [
36*d57664e9SAndroid Build Coastguard Worker        // Roboto-Regular.ttf provides DroidSans.ttf as a symlink to itself
37*d57664e9SAndroid Build Coastguard Worker        // Roboto-Regular.ttf provides DroidSans-Bold.ttf as a symlink to itself
38*d57664e9SAndroid Build Coastguard Worker        "Roboto-Regular.ttf",
39*d57664e9SAndroid Build Coastguard Worker    ],
40*d57664e9SAndroid Build Coastguard Worker}
41*d57664e9SAndroid Build Coastguard Worker
42*d57664e9SAndroid Build Coastguard Workerprebuilt_font {
43*d57664e9SAndroid Build Coastguard Worker    name: "AndroidClock.ttf",
44*d57664e9SAndroid Build Coastguard Worker    src: "AndroidClock.ttf",
45*d57664e9SAndroid Build Coastguard Worker}
46*d57664e9SAndroid Build Coastguard Worker
47*d57664e9SAndroid Build Coastguard Worker/////////////////////////////////
48*d57664e9SAndroid Build Coastguard Worker// Copies the font configuration file into system/etc for the product as fonts.xml.
49*d57664e9SAndroid Build Coastguard Worker// Additional fonts should be installed to /product/fonts/ alongside a corresponding
50*d57664e9SAndroid Build Coastguard Worker// fonts_customiztion.xml in /product/etc/
51*d57664e9SAndroid Build Coastguard Worker
52*d57664e9SAndroid Build Coastguard Workersoong_config_bool_variable {
53*d57664e9SAndroid Build Coastguard Worker    name: "use_var_font",
54*d57664e9SAndroid Build Coastguard Worker}
55*d57664e9SAndroid Build Coastguard Worker
56*d57664e9SAndroid Build Coastguard Workerprebuilt_etc {
57*d57664e9SAndroid Build Coastguard Worker    name: "fonts.xml",
58*d57664e9SAndroid Build Coastguard Worker    src: "fonts.xml",
59*d57664e9SAndroid Build Coastguard Worker}
60*d57664e9SAndroid Build Coastguard Worker
61*d57664e9SAndroid Build Coastguard Workerprebuilt_etc {
62*d57664e9SAndroid Build Coastguard Worker    name: "font_fallback.xml",
63*d57664e9SAndroid Build Coastguard Worker    src: ":generate_font_fallback",
64*d57664e9SAndroid Build Coastguard Worker}
65*d57664e9SAndroid Build Coastguard Worker
66*d57664e9SAndroid Build Coastguard Worker/////////////////////////////////
67*d57664e9SAndroid Build Coastguard Worker// Move `fontchain_lint` to `core/tasks/fontchain_lint.mk`.
68*d57664e9SAndroid Build Coastguard Worker// Because `system.img` is a dependency of `fontchain_lint`, it cannot be
69*d57664e9SAndroid Build Coastguard Worker// converted to Android.bp for now.
70*d57664e9SAndroid Build Coastguard Worker// After system.img can be generated by Soong, then it can be converted to Android.bp.
71*d57664e9SAndroid Build Coastguard Worker
72*d57664e9SAndroid Build Coastguard Workerfilegroup {
73*d57664e9SAndroid Build Coastguard Worker    name: "DroidSansMono",
74*d57664e9SAndroid Build Coastguard Worker    srcs: ["font_config.json"],
75*d57664e9SAndroid Build Coastguard Worker    required: [
76*d57664e9SAndroid Build Coastguard Worker        "DroidSansMono.ttf",
77*d57664e9SAndroid Build Coastguard Worker    ],
78*d57664e9SAndroid Build Coastguard Worker}
79*d57664e9SAndroid Build Coastguard Worker
80*d57664e9SAndroid Build Coastguard Workergenrule {
81*d57664e9SAndroid Build Coastguard Worker    name: "generate_font_fallback",
82*d57664e9SAndroid Build Coastguard Worker    tools: [":generate_fonts_xml"],
83*d57664e9SAndroid Build Coastguard Worker    tool_files: [
84*d57664e9SAndroid Build Coastguard Worker        "alias.json",
85*d57664e9SAndroid Build Coastguard Worker        "fallback_order.json",
86*d57664e9SAndroid Build Coastguard Worker    ],
87*d57664e9SAndroid Build Coastguard Worker    srcs: [
88*d57664e9SAndroid Build Coastguard Worker        ":CarroisGothicSC",
89*d57664e9SAndroid Build Coastguard Worker        ":ComingSoon",
90*d57664e9SAndroid Build Coastguard Worker        ":CutiveMono",
91*d57664e9SAndroid Build Coastguard Worker        ":DancingScript",
92*d57664e9SAndroid Build Coastguard Worker        ":DroidSansMono",
93*d57664e9SAndroid Build Coastguard Worker        ":Roboto",
94*d57664e9SAndroid Build Coastguard Worker        ":RobotoFlex",
95*d57664e9SAndroid Build Coastguard Worker        ":SourceSansPro",
96*d57664e9SAndroid Build Coastguard Worker        ":noto-fonts",
97*d57664e9SAndroid Build Coastguard Worker    ],
98*d57664e9SAndroid Build Coastguard Worker    exclude_srcs: [
99*d57664e9SAndroid Build Coastguard Worker        "alias.json",
100*d57664e9SAndroid Build Coastguard Worker        "fallback_order.json",
101*d57664e9SAndroid Build Coastguard Worker    ],
102*d57664e9SAndroid Build Coastguard Worker    out: ["font_fallback.xml"],
103*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location :generate_fonts_xml) " +
104*d57664e9SAndroid Build Coastguard Worker        "--alias=$(location alias.json) " +
105*d57664e9SAndroid Build Coastguard Worker        "--fallback=$(location fallback_order.json) " +
106*d57664e9SAndroid Build Coastguard Worker        "$(in) " +
107*d57664e9SAndroid Build Coastguard Worker        "-o $(out)",
108*d57664e9SAndroid Build Coastguard Worker}
109