See build/soong/README.md for more information.
Test: m -j checkbuild
Change-Id: I930debdd129da7f61ac4b764980f73dfd487785d
Merged-In: I930debdd129da7f61ac4b764980f73dfd487785d
(cherry picked from commit fa994b25d1)
Here these mappings are used to convert from uppercase to lowercase,
and mk_hyb_file.py doesn't handle multi-character uppercase sequences.
Therefore, in case the sequence ßSS is encountered in a .chr.txt,
replace it internally with ßẞ.
Test: make -j
Change-Id: I8f678aad9298784f70645c453ec07da5bf43cb66
See build/soong/README.md for more information.
Test: m -j checkbuild
Change-Id: I71d3406054b35dd4e8ae30f46eec6cef77eef160
(cherry picked from commit 716f07be94)
See build/soong/README.md for more information.
Test: m -j checkbuild
Change-Id: I71d3406054b35dd4e8ae30f46eec6cef77eef160
Merged-In: I71d3406054b35dd4e8ae30f46eec6cef77eef160
This patch reduces about 73 kB memory.
The original SparseBitSet could contain full 32bit integers, but all of
that is not necessary for Unicode code points. By reducing the supported
range to up to Unicode maximum, U+10FFFF, we can save extra memory.
SparseBitSet holds 256-bit sliced pages and indices of them.
Previously, we needed to hold up to 2^24-1 pages for keeping 32-bit
integers.
This CL limits the number of pages to 2^16-1 (65535), so that
SparseBitSet only supports 24-bit integers now, but this is sufficient
for keeping all Unicode code points. With this change, we can change the
index integer type from uint32_t to uint16_t.
Bug: 37357593
Test: minikin_tests passes
Change-Id: I462cc27927752c942ac5da0bf303a5afb81b87a3
Some fonts don't have cmap subtables of Microsoft Platform ID (3) and
only have cmap subtables of Unicode Platform ID (0).
Bug: 32505843
Test: minikin_unittest passed
Test: android.graphics.cts.TypefaceTest passed
Change-Id: I24aa49860790c0ae8d8e578efd728b95ec0f93ae
Removed Bitmap and MinikinFontFreeType classes, as well
as the Layout::draw() method.
The code was there for debugging purposes and for potential
third-party users. We no longer support third-party uses of
Minikin, since we don't know of any.
Test: mmma -j frameworks/minikin builds with no errors
Change-Id: Iddc9e8d35334053bd5255bccf3dbe5ba1eecf814
Previously, we insisted that in order for us to claim that a text variation
sequence is supported or to display it, it needs to be standardized already.
Now we accept any character as the base of a text variation sequence and
support it as far the font used to display it is not an emoji font.
Also fix a typo in a font name.
Test: Unit tests are updated and pass.
Bug: 30874706
Change-Id: I9660ec43aeee84303cfb825352a7f5029d036dd6
This is now done properly in ICU so we no longer need to do it ourselves.
Also updated some comments about emoji line-breaking.
Test: Existings tests for this in Minikin continue to pass.
Bug: 24959657
Bug: 27365282
Change-Id: I865ea9ba1e79a64409d84d2d30c121f740e35ad6
Certain differences are still needed, since ICU appears to support
Emoji 4.0 only, while we need Emoji 5.0. But the bulk of the data is
now carried by ICU.
We no longer need the script that generates the tables, so that's
also removed.
Test: Comprehensive unit tests added.
Bug: 27365282
Bug: 30874706
Change-Id: I011443fbca9bb202deff7fffb40043f89e1f1fb1
Update emoji character data to Unicode 10.0 / Emoji 5.0 (which also
removes U+1F93B MODERN PENATHLON from the emoji base letters).
Also add unit tests for line breaking for new characters (based on
earlier work by Seigo Nonaka).
Test: All new and existing unit tests pass;
Test: Manually tested line breaking of new emojis in TextView.
Bug: 28364892
Bug: 28678294
Bug: 30874706
Change-Id: I367cdab09187dc08a66a3112a5181a2b7fb338a5