This will handle installation for local builds as well as for the test
bundles.
Test: m -j minikin_tests; ls $OUT/data/nativetest*/minikin_tests
Test: m -j continous_native_tests dist; zipinfo -1 out/dist/*continuous_native_tests*.zip
Test: /data/nativetest{,64}/minikin_tests/minikin_tests
Change-Id: Iafd31fa119e7c4d92937ca8ae8346e268a6c1f38
Merged-In: Iafd31fa119e7c4d92937ca8ae8346e268a6c1f38
minikin_tests was copying its test data to
$OUT/data/DATA/nativetest/minikin_test, and then packaging that with
LOCAL_PICKUP_FILES=$OUT/data/DATA, which would also pick up anything
any other module copyied to $OUT/data/DATA. $OUT/data/DATA isn't
where the tests expect to find their data, they look in
/data/nativetest/minikin_test. Copy the files to the intermediates
directory instead.
A future change will install LOCAL_PICKUP_FILES for local builds
to the correct place, so adb sync and
adb shell /data/nativetest/minikin_tests/minikin_tests will run the
tests.
Test: mma -j
Change-Id: I808ce743f51e5ccac711e22821e7e0d7cd94ffdf
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
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
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
am: e04e0e9a43
* commit 'e04e0e9a4332ebf5966425ab22a9fdd7efc84c3b':
Do not break after Myanmar viramas
Change-Id: I2e240fab84a49c73165056ee5ff18dbfca0faeec
am: acaf5cc08d
* commit 'acaf5cc08defe3dfaa1e0caa945be494532cbaa0':
Do not break after Myanmar viramas
Change-Id: I13297120c3c3789c03b860c9e72b3a04922ab9fa
am: acaf5cc08d
* commit 'acaf5cc08defe3dfaa1e0caa945be494532cbaa0':
Do not break after Myanmar viramas
Change-Id: Idb9303889ac87853a730cdb25fba7faaaf352b93
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
am: 65429ac
* commit '65429ac4cef1f8f5daecbbc712313b59185a9789':
Do not break before and after ZWJ.
Change-Id: If1fe6c6192aae09bab68a00bc94aba3e768dd445
am: 47932fa
* commit '47932fa53b75744a30034467cfae6333468f54bb':
Do not break before and after ZWJ.
Change-Id: Ic476d9048b44b84c69fd185b76108c961d8e8545
am: 47932fa
* commit '47932fa53b75744a30034467cfae6333468f54bb':
Do not break before and after ZWJ.
Change-Id: I00a0e31c19dd5b2fbe2ffb389bec4001dec5d6c1
Minikin has a special font fallback for VS15/VS16, so
hasVariationSelector for emojis with VS15/VS16 should always return
true.
Bug: 27531970
Change-Id: Ieebd58f48b135b6ec50d999df68dcc09b1284606
There was the possibility of stale indents from previous invocations
persisting in the mLineWidths across multiple invocations. This patch
clears them.
Bug: 28090810
Change-Id: I3621dfbe983512046289373711709aeade52eab4
This CL fixes following test cases in minikin_tests
- FontFamilyTest.hasVariationSelectorTest
- HbFontCacheTest.getHbFontLockedTest
- HbFontCacheTest.purgeCacheTest
For the fix of FontFamilyTest.hasVariationSelectorTest, removing virtual
from GetUniqueId() in MinikinFont. After [1], MinikinFont's destructor
started calling purgeHbCache() which calls virtual method,
MinikinFont::GetUniqueId(). Fortunately, the SkTypeface::uniqueID()
returns just internal value, so we can store it at the construction time
and use it instead of calling SkTypeface::uniqueID() every time.
This patch also changes purgeHbFont to purgeHbFontLocked, as all uses of
it were already under global mutex. This change avoids deadlock on
explicit unref, as when invoked by a Java finalizer from the Java object
that holds a reference to the font.
Some of the tests needed to change to using the ref counting protocol
rather than explicitly destructing font objects, as well.
[1] 1ea4165cef7651770fe28a0eada3da593bb149ad
Bug: 28105730
Bug: 28105688
Change-Id: Ie5983c4869147dacabdca81af1605066cd680b3f
am: d2161cf
* commit 'd2161cf80f6f23bb977d92f79e49fba999846c79':
Update minikin/sample code to use new GetTable
Change-Id: I5fcae79c42322dcc0533dbd3eb1a51007e089170
We changed the signature of the MinikinFont::GetTable method. This
patch updates the sample code, and fixes the build.
Change-Id: I1977be868bf7636986fc802915f3dd54c418a73a
The hb_font_t object holds on to tables of font data, acquired through
the MinikinFont::GetTable interface, which is based on copying data
into caller-owned buffers. Now that we're caching lots of hb_font_t's,
the cost of these buffers is significant.
This patch moves to a different interface, inspired by HarfBuzz's
hb_reference_table API, where the font can provide a pointer to the
actual font data (which will often be mmap'ed, so it doesn't even
consume physical RAM).
Bug: 27860101
Change-Id: Id766ab16a8d342bf7322a90e076e801271d527d4