History log of /frameworks/minikin/include/minikin/SparseBitSet.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6c8722e217ff5238f0b849152d7936959a728103 30-Nov-2017 Seigo Nonaka <nona@google.com> Apply clang-format

Bug: 65125938
Test: m
Change-Id: I4a4319cc34c186aa0a3ce1d0301af1cd4e0feb81
/frameworks/minikin/include/minikin/SparseBitSet.h
1d461589869ee5b7102f96271b0ef0a776ab513c 20-Oct-2017 Seigo Nonaka <nona@google.com> Style cleanup.

This CL contains following cleanups:
- Rename the following classes and corresponding file names:
FontLanguage -> Locale
FontLanguages -> LocaleList
FontLanguageListCache -> LocaleListCache
- Remove unnecessary #include lines.
- Define the Minikin's header include ordering and follow that style.
See doc/minikin_style.md for details.
- Always use std::string and std::vector instead of string and vector
with using-declaration.
- Replace LOG_ALWAYS_FATAL_IF with MINIKIN_ASSERT so that the assertion
is removed on build configuration for user.

This CL does not change any behavior.

Bug: 65024629
Test: make checkbuild
Change-Id: If41bb3c3389303053bbe95e349eb2dd4b619257c
/frameworks/minikin/include/minikin/SparseBitSet.h
818fbee83a72ca86f64527eb90b2f15ec9b28504 14-Apr-2017 Seigo Nonaka <nona@google.com> Reduce heap memory in minikin.

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
/frameworks/minikin/include/minikin/SparseBitSet.h
db1b6cb7765091453d9b4dc7f6c2fb4d7123ab11 25-Mar-2017 Seigo Nonaka <nona@google.com> Support cmap tables with platform ID == 0

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
/frameworks/minikin/include/minikin/SparseBitSet.h
dff5e5d5a1d0f17a1b5d2fd197b5a6389bc41e28 22-Mar-2017 Seigo Nonaka <nona@google.com> Remove unused functions.

This CL is essentially reverting following changes:
- "Serialize and deserialize supported axes."
I4086fb887e13f872390b533584bce6f1d5598ea0
- "Make SparseBitSet serializable."
I0463138adcf234739bb3ce1cdadf382021921f3e

Bug: 36232655
Test: N/A
Change-Id: I25c701e1805e92b01034142147a9925f86533819
/frameworks/minikin/include/minikin/SparseBitSet.h
fbbc5a6b361c623e47a433f83e7200b4e2ba3501 05-Jan-2017 Seigo Nonaka <nona@google.com> Make SparseBitSet serializable.

To share the calculated coverage information across the processes, make
SparseBitSet serializable.

Bug: 34042446
Test: minikin_tests passes
Change-Id: I0463138adcf234739bb3ce1cdadf382021921f3e
/frameworks/minikin/include/minikin/SparseBitSet.h
57e469e6f8616c4de758441547a97c9ed4dbfcdf 13-Sep-2016 Elliott Hughes <enh@google.com> Switch minikin to std::unique_ptr. am: 6261d82459 am: e716bdbd48 am: 2583c5c86b
am: bb3df55710

Change-Id: I56cce90607bce82d337d4da3b4ac5f167c7cc1b4
6261d824595d3590b5355d8dea80949769d8e38e 11-Sep-2016 Elliott Hughes <enh@google.com> Switch minikin to std::unique_ptr.

Bug: http://b/22403888
Change-Id: I9e18496fcc38ad2e6b922455daa9f2a46778ec55
/frameworks/minikin/include/minikin/SparseBitSet.h
14e2d136aaef271ba131f917cf5f27baa31ae5ad 09-Jun-2016 Seigo Nonaka <nona@google.com> 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
/frameworks/minikin/include/minikin/SparseBitSet.h
5adafc0d84d238948b5d257ec5311030ca04271c 12-Sep-2013 Kenny Root <kroot@google.com> Use canonical UniquePtr.h file

Change-Id: I00953971034a7d00ca165accdab528d2b8ff27a7
/frameworks/minikin/include/minikin/SparseBitSet.h
9cc9bbe1461f359f0b27c5e7645c17dda001ab1d 24-Apr-2013 Raph Levien <raph@google.com> Initial commit of Minikin library

This is the initial draft of Minikin, a library intended to perform text
layout functions. This version does basic weight selection and font runs
for scripts, and also has a simple renderer for drawing into bitmaps,
but is lacking measurement, line breaking, and a number of other
important features. It also lacks caching and other performance
refinements.

Change-Id: I789a2e47d11d71202dc84b4751b51a5e2cd9c451
/frameworks/minikin/include/minikin/SparseBitSet.h