Prepare for using std::array<> and std::span<> in headers included from
this library. Remove the AFont constructors to prevent that the build
fails as follows:
frameworks/base/native/android/system_fonts.cpp:265:35: error: no matching member function for call to 'insert'
fonts.insert(
~~~~~~^~~~~~
Removing these constructors is necessary because of the following rule:
"An aggregate is one of the following types [...] class type (struct or
union) that has [...] no user-declared or inherited constructors (since
C++20)". Source:
https://en.cppreference.com/w/cpp/language/aggregate_initialization.
Bug: 260725458
Change-Id: I384d05f5d3e471f8f58294119d04eb8ab16697ba
Signed-off-by: Bart Van Assche <bvanassche@google.com>
There are multiple problems here:
- Java Font.equals and hashCode doesn't look at locale list. Due to this
issue, the CTS tests have been passing unexpectedly.
- The null pointer check in the AFont_getLoacle was inversed. Should
return only when it is non-null.
- Looks like we cannot get the parent's attribute which always returns
null. Instead, read the "lang" attribute when we read the family tag.
Bug: 139201432
Test: atest NativeSystemFontTest
Test: atest TypefaceEqualsTest
Change-Id: I0514847bbf46a73358afab374ccfce2db09b2ec0
We now moved OEM font customization outside of system image and all
system font modifications are in /product directory.
In this CL, only customizationType="new-named-family" is supported.
My previous CL If58711fc038898175fcad0ae095865312bd738e2 breaks test
cases in CtsGraphicsTestCases but TreeHugger didn't catch my mistake
becasue the test cases are not annotated as Presubmit.
Bug: 111544833
Test: atest CtsGraphicsTestCases:android.graphics.fonts
Change-Id: I7a7a2d91d8f37c51944d598dde7562733eae5626
ASystemFont API provides an ability of enumerating the system available
font files with some additional information.
ASystemFont reads /system/etc/fonts.xml and give the information to
developers.
Lots of developers reads fonts.xml by themselves but that is not a part
of public API and the structure is subject to change. This API is a
replacement of the reading fonts.xml by developers.
Bug: 111861508
Test: atest NativeSystemFontTest
Change-Id: I992902228650303eb10f486f1ec7838f218c15e7