28 Commits

Author SHA1 Message Date
Siyamed Sinir
6e06ad055b Update fontchain to read from additional sequences
Test: make fontchain_lint

Bug: 37520224
Bug: 37169477
Change-Id: Ie01a2aca85314701654cc2397f0bcf8eafdbe608
2017-04-25 17:32:15 +00:00
Roozbeh Pournader
aa3ee8e079 Update fontchain_lint to test new emoji font
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
2017-04-10 13:52:20 -07:00
Roozbeh Pournader
f7a68c10c7 Use additions/emoji-data.txt instead of hardcoded values
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
2017-04-05 09:22:42 -07:00
Jungshik Shin
88b1114010 Use variable fonts for Noto Sans Khmer
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
2017-03-31 19:31:13 +00:00
Roozbeh Pournader
1800ba4ffe Read emoji addtions from data file
We now read the emoji additions from a data file, instead of keeping
them in code.

Test: updated lint script passes.
Change-Id: Ica1ca10eaba0ca2b4a178d08354e31729cb88ce5
2017-03-17 18:28:16 -07:00
Roozbeh Pournader
fabeed6910 Update fontchain_lint.py to read Emoji 5.0 data
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
2017-03-16 18:00:48 -07:00
Roozbeh Pournader
033b2226ba Load hyphenation patterns for Bulgarian and Church Slavonic
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
2017-02-22 23:39:24 -08:00
Seigo Nonaka
9092dc2fa8 Check the count of the families in a default collection.
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
2017-01-11 17:46:52 +09:00
yirui
f9936b9b7c Fix incorrect emoji presentation for 'Zsym' script
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
2016-09-14 10:30:59 +09:00
Raph Levien
2b8b819fee Update lint check to accommodate new emoji sequences
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
2016-08-09 14:28:54 -07:00
Roozbeh Pournader
ede3a17f60 Add test for ascent and descent of serif and mono fonts
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
2016-07-27 16:35:12 -07:00
Roozbeh Pournader
bac1aec635 Test Roboto's vertical font metrics
Test that yMin, yMax, Ascent, and Descent values of Roboto are not
changed.

Bug: 26187231
Change-Id: Ia41f5a118e292b8eda8dae5124be112dc0cdbc8d
2016-07-27 13:10:24 -07:00
Roozbeh Pournader
10ea8f7431 Check defaults for Android default-emoji characters
There are 12 characters that Android is defaulting to emoji,
differing from UTR #51 recommendation. This tests for their proper
support.

Change-Id: Icd570510090ef29b3b7a3520bc368c5f77f99fa4
2016-07-26 23:09:48 +00:00
Roozbeh Pournader
3b3c78e6ba Re-enable disabled emoji tests
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
2016-07-25 14:13:00 -07:00
Raph Levien
5370c72c51 Merge \\"Patch out part of the emoji tests.\\" into nyc-mr1-dev am: 2f39bc777c
am: a77343f873

Change-Id: I60cc91a65e818cb78663647bfa249c896a7cff2c
2016-07-14 22:37:50 +00:00
Doug Felt
4970cdac7e Patch out part of the emoji tests.
This is temporary, until we have proper attribution for additional
emoji data.

Bug: 29939737
Change-Id: I5b97c8e055fa2ccf44b13bf801f681b860d47286
(cherry picked from commit f874a1949a7516596a0c2f5829e140dc6f69c326)
2016-07-13 18:44:45 +00:00
Doug Felt
f874a1949a Patch out part of the emoji tests.
This is temporary, until we have proper attribution for additional
emoji data.

Bug: 29939737
Change-Id: I5b97c8e055fa2ccf44b13bf801f681b860d47286
2016-07-09 01:10:42 +00:00
Roozbeh Pournader
8566f96668 Remove modifications to emoji data
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
2016-06-15 13:23:01 -07:00
Doug Felt
3a64f8140c Remove rifle (1F946) from emoji font.
Bug: 28678310
Change-Id: I60097cd78f28764d83abe0d12b53e2a7e6c974dc
2016-05-10 12:50:25 -07:00
Doug Felt
ce51db00ec Patch fontchain_lint to exclude modern_pentathlon.
Fix build breakage.
Bug: 28426800

Change-Id: Idcc8f1b66014b25758c163d908d34f06011d9927
2016-04-29 14:17:57 -07:00
Roozbeh Pournader
5dde087811 Add many more emoji tests
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
2016-04-04 11:37:49 -07:00
Roozbeh Pournader
27ec3ace18 Re-enable emoji font tests
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
2016-03-31 13:23:15 -07:00
Jungshik Shin
fe952f3a0b Merge "Add Lang-to-Script entries for languages with new hyph patterns" into nyc-dev 2016-03-25 00:30:45 +00:00
Jungshik Shin
6c4f9e0d6f Add Lang-to-Script entries for languages with new hyph patterns
Hyphenation patterns are being added for 22 languages and they need
entries in LANG_TO_SCRIPT

This CL is a prerequisite to the following CL to add hyphenation
patterns for more languages:

https://googleplex-android-review.googlesource.com/#/c/890133/

BUG: 26405413
Change-Id: Ibba8379cca29a5a7b6df35f10b66468b612601f8
2016-03-23 17:19:49 +00:00
Siyamed Sinir
c56ad2badb Temporarily disable emoji availability check
On builds where SMALLER_FONT_FOOTPRINT environment variable is set, some
of the fonts are not included in the build which causes emoji checks to
fail. This CL temporarily disables emoji checks.

Bug: 27785690
Change-Id: Ie32f0aa630c84347588fc87630467c14e985940a
2016-03-22 17:50:58 -07:00
Roozbeh Pournader
7b822e5fc1 Add more emoji-related tests
1. Check that dual-use text/emoji character that default to text
style are available in a font before the emoji font. (Exceptions are
Unicode 7.0 characters that Noto Symbols doesn't support yet and four
odd characters that should be added to the Noto Symbols subset.)

2. Remove previous workaround for default emoji-style characters that
were in the Noto CJK fonts, since they are now subsetted out from
Noto CJK.

Bug: 26113320
Bug: 26187231
Change-Id: Ib9ea2f4f7e6ca0cd8d291f1dc3d7ee5053d4928e
2016-03-17 08:50:43 -07:00
Roozbeh Pournader
fa1facc0fd Add emoji-related tests for the font chain
1. Check that all emoji characters are supported in emoji fonts.

2. Check that no default-emoji characters are included in any font
that can get a higher score then the color emoji font, either by
being before it or by having a language/script assigned.

Bug: 26187231

Change-Id: Ic76bf59f1c6f9d2d290b1b64128d725ae08dcb5c
2016-03-16 13:57:22 -07:00
Roozbeh Pournader
0e969e2c0b Add test script for sanity of font fallback chain
Various tests have been added:

1. Availability of hyphens: Make sure that every font used for
rendering a language that is automatically hyphenated includes either
of Unicode hyphen characters U+2010 HYPHEN or U+002D HYPHEN-MINUS.

2. Range of values: Make sure that styles, weights, and styles belong
to certain limited sets.

Bug: 26187231
Bug: 21570828
Bug: 21815394
Change-Id: Ia63d63cc8da4f2d6bc81fe5619ccac6cfcd9a54e
2016-03-10 18:07:15 -08:00