410 Commits

Author SHA1 Message Date
Seigo Nonaka
dc8de001df Revert "Clean Up: Removing unused interface GetTable from MinikinFont."
This reverts commit 7b02f5e95c4386c250f6f83db1ff61b69177140e.

This causes a crash on Android Auto.

Bug: 32374752
Change-Id: Ia2ff77bf9a12351c6949f79ef6fa2d8016e3022d
2016-10-25 00:49:52 +00:00
Seigo Nonaka
7b02f5e95c Clean Up: Removing unused interface GetTable from MinikinFont.
After Id766ab16a8d342bf7322a90e076e801271d527d4, GetTable is no longer
used in production due to poor performance and it is now only used in
tests. This CL removes GetTable interface from MinikinFont and update
tests code to use new interfaces, GetFontData, GetFontSize and
GetFontIndex.

Bug: 27860101
Test: Manually done

Change-Id: Ifcd7a348d7fb5af081192899dbcdfc7fb4eebbf9
2016-10-18 08:16:18 +00:00
Dan Willemsen
4d688b0172 Merge "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n" am: f8ca78ffa4 am: 90f9f8d7a2 am: e2217d5b85
am: b4c239f555

Change-Id: I85ee278323a578fcf941651161b46ef0559098cc
2016-09-13 04:32:28 +00:00
Dan Willemsen
b4c239f555 Merge "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n" am: f8ca78ffa4 am: 90f9f8d7a2
am: e2217d5b85

Change-Id: I346fddaa5822eee2371d877a8bdeb055b6244c0d
2016-09-13 03:58:51 +00:00
Dan Willemsen
e2217d5b85 Merge "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n" am: f8ca78ffa4
am: 90f9f8d7a2

Change-Id: Ia8b56a95d11d74af5a2cac1fe8e604532c44a9cf
2016-09-13 03:56:10 +00:00
Dan Willemsen
90f9f8d7a2 Merge "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n"
am: f8ca78ffa4

Change-Id: Ia005ecb8dedc90aa8a908edda839da563152e861
2016-09-13 03:51:13 +00:00
Dan Willemsen
f8ca78ffa4 Merge "Rename libicuuc-host/libicui18n-host to libicuuc/libicui18n" 2016-09-13 03:47:02 +00:00
Elliott Hughes
88ca7498cc Switch minikin to std::unique_ptr. am: fba88d3b3c am: c5e0585ac7 am: 83bdd0ae73
am: b150a633ba

Change-Id: I56cce90607bce82d337d4da3b4ac5f167c7cc1b4
2016-09-13 01:50:14 +00:00
Elliott Hughes
b150a633ba Switch minikin to std::unique_ptr. am: fba88d3b3c am: c5e0585ac7
am: 83bdd0ae73

Change-Id: I9c0b81d55e01b08b053a7031a214626351244607
2016-09-13 01:29:45 +00:00
Elliott Hughes
83bdd0ae73 Switch minikin to std::unique_ptr. am: fba88d3b3c
am: c5e0585ac7

Change-Id: Ie9f9aac239cb29568819de699e4999989a7a11bf
2016-09-13 01:27:07 +00:00
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