The top-level Android.bp file is very large, so move modules that can be
in subdirs.
Also rename the vague "base_defaults" module to something more suitable.
Bug: 185128417
Test: m
Change-Id: I5f3106b74edb91ac9db5b3e66cc61566d0f16e9b
This CL also adds lint rules for matching the file name and PostScript
name.
Bug: 179952916
Test: m fontchain_lint
Change-Id: I829840299b5d138cfec8924ce8f77e1371524a70
This test:
(1) signs a font file with the test key.
(2) side-loads the test cert to the device under test.
(3) verifies that the signed font file can be installed.
The device must be rootable for doing step (2).
Bug: 176939176
Test: atest UpdatableSystemFontTest
Change-Id: I7a9b614aa3c77589c3495b663cb76056ba657006
Bug: 174932174
Test: I solemnly swear I tested this conflict resolution.
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Change-Id: I9262a08ffc1ccede8e519d0eed90ed2bfcf0232c
As general background, OWNERS files expedite code reviews by helping
code authors quickly find relevant reviewers, and they also ensure
that stakeholders are involved in code changes in their areas.
Some teams under frameworks/base/ have been using OWNERS files
successfully for many years, and we're ready to expand them to cover
more areas. Here's the historical coverage statistics for the last
two years of changes before these new OWNERS changes land:
-- 56% of changes are fully covered by OWNERS
-- 17% of changes are partially covered by OWNERS
-- 25% of changes have no OWNERS coverage
Working closely with team leads, we've now identified clear OWNERS on
a per-package basis, and we're using "include" directives whenever
possible to to simplify future maintenance. With this extensive
effort, we've now improved our coverage as follows:
-- 98% of changes are fully covered by OWNERS
-- 1% of changes are partially covered by OWNERS
-- 1% of changes have no OWNERS coverage
This specific change is automatically generated by a script that
identifies relevant "include" directives.
Bug: 174932174
Test: manual
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Merged-In: I3480ddf2fe7ba3dfb922b459d4da01fa17a2c813
Change-Id: I3480ddf2fe7ba3dfb922b459d4da01fa17a2c813
Android Q will support all region flags in UNSUPPORTED_FLAGS list.
BL - Saint Barthélemy
BQ - Caribbean Netherlands
MQ - Martinique
RE - Réunion
TF - French Southern Territories
Bug: 127811703
Test: Verified on device.
Test: m fontchain_lint
Test: minikin_tests --gtest_filter=EmojiTest.cpp
Test: atest cts/tests/tests/text/src/android/text/cts/EmojiTest.java
Test: atest frameworks/base/core/tests/coretests/src/android/text/EmojiTest.java
Change-Id: Ice1fb10af35dc4e180735d9712167b71635920da
As the initial version of the OEM customization XML, support
new-named-family customization. This allows OEMs to add new named
family.
Bug: 111544833
Test: atest FrameworksCoreTests:android.graphics
Change-Id: If58711fc038898175fcad0ae095865312bd738e2
- FAMILY emoji now has own gender neutral emoji
- Some flags are newly supported
- Some regions may have the same flags.
Bug: 77148691
Test: m fontchain_lint
Change-Id: If1a69974230f025d35503eb49bea105923593e87
* Add default genders for super villain and super hero.
* Read capability to read from emoji exclusions file.
* Update lint rule to use different glyphs for couple with heart.
Test: m fontchain_lint
Test: Visual test with a build and sample app
Bug: 77148691
Change-Id: Icd92f0455709625b3998fc8eef1d448e17a5d71f
Merged-In: Icd92f0455709625b3998fc8eef1d448e17a5d71f
Merged-In: I56dd3c1e1258bab2fcbdf42e5c42587e45dd92fe
(cherry picked from commit e853efc0817ef38f6ba561ea768d49caf1e53dba)
It is totally valid if the font is missing even if the font is listed in
fonts.xml. Android Watch has less fonts and OEM vendor may reduce the
font files.
Bug: 72159040
Test: m fontchain_lint
Change-Id: I22bdf7bfeb6d80a2a338ebf7536c8eaf193b03c5
The native frameworks code now knows about Belarusian and Latin
patterns.
Also, the fontchain_lint tool needed to know the script for any
hyphenation patterns added, and now it does.
Bug: 65626527
Test: make -j fontchain_lint
Change-Id: I747cbb5ea3d36ca63335bfe6b337fad1e75ee79b
Previously, we used PRODUCT_COPY_FILES. However, that does not allow
overriding the file to use a different one on a per-device basis.
This change migrates the logic to using a BUILD_PREBUILT module
called fonts.xml.
To add additional fonts, the add_additional_fonts.py script has been
added. If ADDITIONAL_FONTS_FILE is defined, add_additional_fonts.py
is run and generates a new version of fonts.xml that contains the
content of ADDITIONAL_FONTS_FILE added where
"<!-- fallback fonts -->" is added.
Bug: 36855735
Bug: 37997769
Test: manual. built multiple devices and verified that the correct
versions of fonts.xml were showing.
Change-Id: I8308f0cb3068274bca5ebd25a38cc023babbd69d
Added tests check that CJK punctuation marks do not appear in
non-CJK fonts that appear earlier than CJK fonts.
This should prevent bugs like those fixed by
Ic2cbc79cecf9539ace8a432f373685eeff81e106 and
Ieeb4c04ca785e07a5db94006a6da31ad040b7e7a to appear again.
Change-Id: I622dccd2a619b2366987a81d1c7f8f49334f5638
Fixes: 38182099
Bug: 19355391
Test: make -j fontchain_lint
The new emoji font has been update to Unicode 10/Emoji 5, and has a
new mechanism for flag fallbacks. It also shares glyphs between
gendered emoji and non-genders ones.
Test: make fontchain_lint passes
Bug: 34688862
Bug: 33276970
Bug: 34738377
Change-Id: I4d43b8c777deb93be1e6a784eaa109e2e7febd7d
Previously, characters for which Android defaulted to emoji were
hardcoded in the script. Now they are read from a data file.
Test: make checkbuild passes
Bug: 36536216
Change-Id: I99eeadf89a29b8a3336263dd68520433765ed5e2
Update fonts.xml to use NotoSansKhmer-VF.ttf.
The weight range of Khmer is also extended to have 9 weight instances
(three more than Roboto with 200, 600 and 800).
The width range for Khmer is left alone partly because of an apparent
lack of support in fonts.xml for non-normal width fallback fonts.
Note that Noto Sans Khmer UI is left alone because of a baseline issue.
BUG: 22667753
Test: See the QA instruction in comment 10 of the bug.
Test: fontchain_lint
Change-Id: Idf6d4fec86822663ac08feb8979edacbc6c709a0
We now read the emoji additions from a data file, instead of keeping
them in code.
Test: updated lint script passes.
Change-Id: Ica1ca10eaba0ca2b4a178d08354e31729cb88ce5
This corresponds to an update in emoji-zwj-sequences.txt in
I956ba139737bd79f5e31324ed77df9182342df4e.
Test: The updated script passes with the update data file.
Bug: 30999328
Change-Id: I989dee6e571645daa324ae3eb667e3a92a31511f
Patterns for Bulgarian (bg) and Church Slavonic (cu) are now loaded
too.
Also make changes to fontchain_lint.py, so it knows the script for Bulgarian
and Church Slavonic is Cyrillic.
Test: make -j works and creates .hyb files for bg and cu
Change-Id: I0586f6c49380279ef88fe952b5cfd2d3594c5524
After I9e01d237c9adcb05e200932401cb1a4780049f86, Minikin can
accept up to 254 font families. To make sure we don't exeed this limit,
introduce an assertion to fontchain_lint.py
Bug: 33562608
Test: m fontchain_lint
Change-Id: I35fc104fd4763f77145bef0e7c5facf30fa99644
If the language tag "und-Zsym" is applied to a TextView, the default
presentation should be text-style. However, it didn't work before this
patch, due to a lack of "und-Zsym" language tag in fonts.xml.
Bug: 31297127
Change-Id: Ieed8fe1532806dd1e75c58aa0d7a724bfeed7796
These are not yet ready for updating in the unicode data, so we patch
them in code until they are.
Bug: 30594617
Change-Id: Ib4c8568aa4840341474eb0c0c95674d640473f4d
fontchain_lint now has tests making sure that their ascent and
descent matches that of Roboto.
Also, this moves a test class that contains a similar test and and
other related tests from graphictests to coretests.
Bug: 19791102
Change-Id: I8b473dd2a5f97ae2e3d322a2cabc16f3d32489f6
There are 12 characters that Android is defaulting to emoji,
differing from UTR #51 recommendation. This tests for their proper
support.
Change-Id: Icd570510090ef29b3b7a3520bc368c5f77f99fa4
Since Ib68f803c6adfb41db70f7319b7736d17cdbb6ec2 updates the emoji
data to version 4.0 beta, we can now re-enable the disabled emoji
tests.
Also fix some style issues, update data file parsing method to handle
the new emoji format, add UN to unsupported flags, and do a little
refactoring.
Bug: 26187231
Change-Id: I441fdfed68381d08e5e0b3af91e94bfae742eef6
This is temporary, until we have proper attribution for additional
emoji data.
Bug: 29939737
Change-Id: I5b97c8e055fa2ccf44b13bf801f681b860d47286
(cherry picked from commit f874a1949a7516596a0c2f5829e140dc6f69c326)
The previous two changes, I60097cd78f28764d83abe0d12b53e2a7e6c974dc
and Idcc8f1b66014b25758c163d908d34f06011d9927, added code to filter
out two characters that were getting removed from the emoji set. Now
that the upstream Unicode data file removes them (see
Ibfea01280d08df34dcdd03f5121aabd532a6eecc), we can remove the code.
Bug: 26187231
Change-Id: Ib849917d8978da1b24fe5fff17d62ad7c2de963a
This creates an exact map of the emoji font and adds the following
tests:
* Test that all 'emoji style' variation sequences exist in the color
emoji font.
* Test that the emoji font contains the exact same character set that
we expect.
* Test that all unsupported flags map to the same flag tofu glyph.
* Test that the reverse of ZWJ sequences exist in the font and map to
the same glyph.
* Test that legacy PUA Android emoji are supported.
* Test that all emoji sequences that should map to the same glyph do
so, but no other sequences map to the same glyph.
Bug: 26187231
Change-Id: I64ef17862df2d91879bf7904055c77c24abb7d88
This re-enables the emoji font tests, but doesn't run the tests if
SMALLER_FONT_FOOTPRINT is set.
Additionally, we test that there's one and only one emoji font in the
fallback chain.
Bug: 26187231
Bug: 27785690
Change-Id: I2e6d467e3f54ee3d41737170d7c2492a0f6b30f0