600 Commits

Author SHA1 Message Date
Elliott Hughes
c5e0585ac7 Switch minikin to std::unique_ptr.
am: fba88d3b3c

Change-Id: I91198bdae7aac9638e6ef3553b0eacac021d4f93
2016-09-13 01:24:37 +00:00
Elliott Hughes
fba88d3b3c Switch minikin to std::unique_ptr.
Bug: http://b/22403888
Change-Id: I9e18496fcc38ad2e6b922455daa9f2a46778ec55
2016-09-12 15:29:35 -07:00
Dan Willemsen
b4f4c16d32 Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n
These modules can be named the same between the target and host
libraries, which simplifies references to them, particularly in
Soong.

To prevent accidentally loading the system copy of the library,
we still rename the installed name to be libicu*-host.so. But
modules do not need to know that in order to build against them.

Change-Id: Ic38499bb236ace75333a84f23798af023e14cf5f
2016-09-12 14:37:02 -07:00
Chih-Hung Hsieh
cb98ad0293 Fix google-explicit-constructor warnings in minikin am: 32252e357f -s ours am: 58514b3cce am: 83c5cedc63
am: a061ed7415

Change-Id: Ie330bd0bfec81c3a8d159a13d96480dbd2774855
2016-08-16 21:20:27 +00:00
Chih-Hung Hsieh
a061ed7415 Fix google-explicit-constructor warnings in minikin am: 32252e357f -s ours am: 58514b3cce
am: 83c5cedc63

Change-Id: I3623a0f372da99c5a189bc5900b3f55bc3d7b0be
2016-08-16 21:14:54 +00:00
Chih-Hung Hsieh
83c5cedc63 Fix google-explicit-constructor warnings in minikin am: 32252e357f -s ours
am: 58514b3cce

Change-Id: Idf3e3882894774d917166e4eec743fb8bea0c31b
2016-08-16 21:13:13 +00:00
Chih-Hung Hsieh
58514b3cce Fix google-explicit-constructor warnings in minikin
am: 32252e357f  -s ours

Change-Id: I51c71217e402c3cbeefd6de5ccf7252dc1687f76
2016-08-16 21:08:26 +00:00
Chih-Hung Hsieh
32252e357f Fix google-explicit-constructor warnings in minikin
* Add explicit keyword to conversion constructors,
  or add NOLINT(implicit) for implicit converters.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I0c7b90f9bb953a9f2e4f0fb2032fa65ac604b9ca
Merged-In: I0c7b90f9bb953a9f2e4f0fb2032fa65ac604b9ca
2016-08-16 01:48:48 +00:00
Chih-Hung Hsieh
85c660fa98 Fix google-explicit-constructor warnings in minikin
* Add explicit keyword to conversion constructors,
  or add NOLINT(implicit) for implicit converters.
Bug: 28341362
Test: build with WITH_TIDY=1

Change-Id: I0c7b90f9bb953a9f2e4f0fb2032fa65ac604b9ca
2016-08-15 13:58:52 -07:00
Roozbeh Pournader
8bbb3224cf Revert "Lookup glyph from color emoji font before and after ZWJ." am: 96fa633577 am: 01be577f0e
am: 777a92cefa

Change-Id: Iebf945839891cc1ab561cf424ef917ac15e08842
2016-08-11 23:40:20 +00:00
Roozbeh Pournader
777a92cefa Revert "Lookup glyph from color emoji font before and after ZWJ." am: 96fa633577
am: 01be577f0e

Change-Id: Id1b94e72ccd480bf5395752868f7f26e17ab7491
2016-08-11 23:36:50 +00:00
Roozbeh Pournader
01be577f0e Revert "Lookup glyph from color emoji font before and after ZWJ."
am: 96fa633577

Change-Id: Icc8b76ebd3edfdeb7622bf21a6585b191cf5b15f
2016-08-11 23:32:49 +00:00
Roozbeh Pournader
96fa633577 Revert "Lookup glyph from color emoji font before and after ZWJ."
This reverts commit 56bda7e82a59b3fcaa828960deeb2a766f8afdfe.

Bug: 30815709
Change-Id: I057d9bcd05246e58894abb4e9633bd10f6fab211
2016-08-11 21:03:00 +00:00
Ben Wagner
3ebdaaae86 Move SkTypeface::CreateXXX to SkTypeface::MakeXXX.
Skia is moving to returning smart pointers from its factory methods.
This updates uses of SkTypeface::CreateXXX to SkTypeface::MakeXXX and
generally updates use of SkTypeface to sk_sp. This will allow for the
removal of the SK_SUPPORT_LEGACY_TYPEFACE_PTR define.

Change-Id: If3e600c6cb86080576667bc77d427da4f6560afa
2016-08-05 13:57:22 -04:00
Seigo Nonaka
0e47edac42 Lookup glyph from color emoji font before and after ZWJ. am: 56bda7e82a
am: 8072cf551c

Change-Id: I6c77cba0290c56995bf56cfb876dd60989e50b9b
2016-07-15 00:28:05 +00:00
Seigo Nonaka
790bdaf424 Treat U+2695, U+2640, U+2642 as emoji characters. am: c5d673d423
am: 9c9c199f65  -s ours

Change-Id: Ib77b3862c81da7c58bd64846c0950534c12b5492
2016-07-15 00:27:35 +00:00
Seigo Nonaka
a169db954e Add some gender balanced components in to the sticky whitelist. am: 2fd057eb70
am: e74b7cfd5e  -s ours

Change-Id: I3fb287e86b3ecb8a61dca114578fe3a067a4469f
2016-07-14 23:14:28 +00:00
Seigo Nonaka
8072cf551c Lookup glyph from color emoji font before and after ZWJ.
am: 56bda7e82a

Change-Id: Ic4900b65ed16a2ba3b5431d12a093654b7921a9b
2016-07-14 22:43:47 +00:00
Seigo Nonaka
9c9c199f65 Treat U+2695, U+2640, U+2642 as emoji characters.
am: c5d673d423

Change-Id: I551ee1c4c5368dde3bf2ab7d016634991b62f212
2016-07-14 22:43:47 +00:00
Seigo Nonaka
e74b7cfd5e Add some gender balanced components in to the sticky whitelist.
am: 2fd057eb70

Change-Id: Ieda8b25bba40f22c9d8c33aba590e96e3396f6c4
2016-07-14 22:43:46 +00:00
Seigo Nonaka
56bda7e82a Lookup glyph from color emoji font before and after ZWJ.
Unicode recommends that the zwj sequences should be emoji presentation
even if they don't have the proper U+FE0F. Thus always lookup the glyph
for the code point before and after zwj as if they have a U+FE0F
variation selector.

Bug: 30056627
Change-Id: I03958a92337eaba4a8dd9c5be824b2665aa4a103
2016-07-13 14:12:06 -07:00
Seigo Nonaka
c5d673d423 Treat U+2695, U+2640, U+2642 as emoji characters.
Bug: 29885295
Change-Id: I1bf191a46d05e7099265d863bae0523c50817d0b
2016-07-13 14:05:02 -07:00
Seigo Nonaka
2fd057eb70 Add some gender balanced components in to the sticky whitelist.
FEMALE SIGN(U+2640), MALE SIGN(U+2642), StAFF OF AESCULAPIUS(U+2695)
will be used as the ZWJ sequenced in gender balanced emoji sequence.
To be in the same run with ZWJ, mark these emoji as sticky chracters.

With this fix, Female police officer sequence will be shown correctly
regardless of VS16.

Bug: 30026374
Change-Id: I503fc061eaa943d45208bb69e885151610c430ce
2016-07-13 14:01:41 -07:00
Seigo Nonaka
3d665c82d4 Lookup glyph from color emoji font before and after ZWJ.
Unicode recommends that the zwj sequences should be emoji presentation
even if they don't have the proper U+FE0F. Thus always lookup the glyph
for the code point before and after zwj as if they have a U+FE0F
variation selector.

Bug: 30056627
Change-Id: I03958a92337eaba4a8dd9c5be824b2665aa4a103
2016-07-12 10:07:19 +09:00
Seigo Nonaka
9c9fda459e Treat U+2695, U+2640, U+2642 as emoji characters.
Bug: 29885295
Change-Id: I1bf191a46d05e7099265d863bae0523c50817d0b
2016-07-11 15:27:05 +09:00
Seigo Nonaka
dc6138ffeb Add some gender balanced components in to the sticky whitelist.
FEMALE SIGN(U+2640), MALE SIGN(U+2642), StAFF OF AESCULAPIUS(U+2695)
will be used as the ZWJ sequenced in gender balanced emoji sequence.
To be in the same run with ZWJ, mark these emoji as sticky chracters.

With this fix, Female police officer sequence will be shown correctly
regardless of VS16.

Bug: 30026374
Change-Id: I503fc061eaa943d45208bb69e885151610c430ce
2016-07-08 15:49:50 +09:00
Adam Buchbinder
a39c200b81 Merge "Fix a leaked file in HyphTool.cpp." 2016-07-07 20:51:08 +00:00
Seigo Nonaka
cd8eea6205 Fix build failure of minikin_perftest
stat.st_size is off_t not size_t, so need to cast to size_t before
compare it.

Change-Id: I6b742746fbb9f254701fc91e515c293f93f912c5
2016-06-28 09:37:17 +00:00
Seigo Nonaka
a89c08ae49 Introduce FontCollection perftest
This CL introduces performance tests for FontCollection.

To support TTC file in /system/fonts, this CL also extends FontTestUtils

Bug:29142734
Change-Id: I9d8ad24ca55f61031b85623ab7c26234239e4f41
2016-06-28 08:52:35 +00:00
Seigo Nonaka
df66baa6fa Add more native perf tests to minikin.
This CL introduces performance tests for following three modules:
- Hyphenator
- WordBreaker
- GraphemeBreak

During using UnicodeUtils, need to decouple it from gtest since
perftest doesn't have gtest dependencies.

Bug:29142734
Change-Id: I700c662fa7d0a52f19d8e93150ad1a85dc28769f
2016-06-28 16:55:42 +09:00
Seigo Nonaka
c3b9f7dadd Fix test utilities
This fixes following three memory leaks in test utilities.
There is no problem in production code and this CL doesn't affect
any production behaviors.

- SkTypeface leaks due to forget calling SkSafeUnref in dtor.
- MinikinFontForTest leaks during constructing FontCollection.
- FontCollection leaks due to unnecessary AddRef.

Change-Id: I22e1e0307f1b2499296acb1aacc3ef66076a36e9
2016-06-21 16:47:25 +09:00
Seigo Nonaka
2fdcf62495 Always use minikin namespace.
Here is a new policy of the namespace of minikin.
- All components should be in minikin namespace.
- All tests are also in minikin namespace and no anonymous namespace.

Bug: 29233740
Change-Id: I71a8a35049bb8d624f7a78797231e90fed1e2b8c
2016-06-11 00:11:17 +09:00
Seigo Nonaka
b344fd499c Merge "Introduce initial minikin perftest" 2016-06-09 03:31:45 +00:00
Seigo Nonaka
2eef839c8e Reconstruct the directory structure of minikin tests.
To add perftests and reuse some utility classes, reconstruct
test directory structure.

- Move unit tests from minikin/tests to minikin/tests/unittests
- Extract utilitiy classes to minikin/tests/utils which will be
  used by perftests eventually.

Change-Id: I5026b177934e72ae67d362ee888302037da2f808
2016-06-09 03:25:03 +00:00
Seigo Nonaka
96c4e39716 Introduce initial minikin perftest
Bug: 28992567
Change-Id: Id14cc86761d6c5b408262fe8684e2b293a420a4f
2016-06-08 13:01:55 +09:00
Roozbeh Pournader
f03149ec85 Do not break after Myanmar viramas am: acaf5cc08d am: 04b29bcbbb
am: b26b8dd05d

* commit 'b26b8dd05d29240843555c7a47ebee003e916d12':

Change-Id: I0a3d24fcffb1d0533970058b4a3498d45e794f36
2016-05-26 02:56:56 +00:00
Roozbeh Pournader
bdf4e0f270 Do not break after Myanmar viramas am: acaf5cc08d am: e04e0e9a43
am: e03c64d7b8

* commit 'e03c64d7b80c40b4f25ccf3f5e27112dd5824170':
  Do not break after Myanmar viramas

Change-Id: I69972aed4fe1c1b956c0b65af18e1a4f1c739bf4
2016-05-26 02:56:55 +00:00
Roozbeh Pournader
b26b8dd05d Do not break after Myanmar viramas am: acaf5cc08d
am: 04b29bcbbb

* commit '04b29bcbbb55f0d39baa059b4bf5ea2a79f7b76f':

Change-Id: I4437e1206de2a45593e69956d8bcdf85a64b0f32
2016-05-26 02:31:31 +00:00
Roozbeh Pournader
e03c64d7b8 Do not break after Myanmar viramas am: acaf5cc08d
am: e04e0e9a43

* commit 'e04e0e9a4332ebf5966425ab22a9fdd7efc84c3b':
  Do not break after Myanmar viramas

Change-Id: I2e240fab84a49c73165056ee5ff18dbfca0faeec
2016-05-26 02:21:28 +00:00
Roozbeh Pournader
e04e0e9a43 Do not break after Myanmar viramas
am: acaf5cc08d

* commit 'acaf5cc08defe3dfaa1e0caa945be494532cbaa0':
  Do not break after Myanmar viramas

Change-Id: I13297120c3c3789c03b860c9e72b3a04922ab9fa
2016-05-26 01:44:33 +00:00
Roozbeh Pournader
04b29bcbbb Do not break after Myanmar viramas
am: acaf5cc08d

* commit 'acaf5cc08defe3dfaa1e0caa945be494532cbaa0':
  Do not break after Myanmar viramas

Change-Id: Idb9303889ac87853a730cdb25fba7faaaf352b93
2016-05-26 01:44:33 +00:00
Roozbeh Pournader
acaf5cc08d Do not break after Myanmar viramas
This is to work around a bug in ICU's line breaker, which thinks
there is a valid line break between a Myanmar kinzi and a consonant.
See http://bugs.icu-project.org/trac/ticket/12561 for the ICU bug.

Bug: 28964845
Change-Id: I076ac15077e5627cbccf6732900bcc60d8596dda
2016-05-25 16:46:56 -07:00
Adam Buchbinder
1cec37d918 Fix a leaked file in HyphTool.cpp.
This addresses the following cppcheck reports:
[frameworks/minikin/app/HyphTool.cpp:30]: (error) Resource leak: f
[frameworks/minikin/app/HyphTool.cpp:32]: (error) Resource leak: f

Change-Id: I5113e0a7268bd3a45bf1498fd023042d9dfe2b87
2016-05-23 13:16:13 -07:00
Seigo Nonaka
c159447e60 Do not break before and after ZWJ. am: 47932fa am: 3a0a3c1
am: 4c1c042

* commit '4c1c0420466031b8a235c811f69c33c521273c92':

Change-Id: I022dd9f9f800851fc7941dcdc4ebd0a9aca0f0bf
2016-04-19 18:55:22 +00:00
Seigo Nonaka
6467d4f031 Do not break before and after ZWJ. am: 47932fa am: 65429ac
am: d4a4d28

* commit 'd4a4d289a69d88cdcca1b4c7e3599fea25eb8241':
  Do not break before and after ZWJ.

Change-Id: I5cdc475d6b525aac29b8433e675d2ad2feb68722
2016-04-19 18:55:22 +00:00
Seigo Nonaka
4c1c042046 Do not break before and after ZWJ. am: 47932fa
am: 3a0a3c1

* commit '3a0a3c123832f99de7cbb28ec968eca0b1bf437f':

Change-Id: I5a637871133d3e45c47c5b6dc8407bda946dbd62
2016-04-19 18:46:15 +00:00
Seigo Nonaka
d4a4d289a6 Do not break before and after ZWJ. am: 47932fa
am: 65429ac

* commit '65429ac4cef1f8f5daecbbc712313b59185a9789':
  Do not break before and after ZWJ.

Change-Id: If1fe6c6192aae09bab68a00bc94aba3e768dd445
2016-04-19 18:42:30 +00:00
Seigo Nonaka
3a0a3c1238 Do not break before and after ZWJ.
am: 47932fa

* commit '47932fa53b75744a30034467cfae6333468f54bb':
  Do not break before and after ZWJ.

Change-Id: Ic476d9048b44b84c69fd185b76108c961d8e8545
2016-04-19 18:39:03 +00:00
Seigo Nonaka
65429ac4ce Do not break before and after ZWJ.
am: 47932fa

* commit '47932fa53b75744a30034467cfae6333468f54bb':
  Do not break before and after ZWJ.

Change-Id: I00a0e31c19dd5b2fbe2ffb389bec4001dec5d6c1
2016-04-19 18:38:59 +00:00
Seigo Nonaka
47932fa53b Do not break before and after ZWJ.
The emoji list is generated from external/unicode/emoji-data.txt

Bug: 28248662
Change-Id: Ie49b3782505665d62c24371ca23d317ae5e9c5f7
2016-04-19 14:09:38 +00:00