History log of /frameworks/minikin/libs/minikin/Measurement.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b01028d1d7bc3906ef71c72ad985919f79304b5e 14-Mar-2017 Roozbeh Pournader <roozbeh@google.com> Break grapheme clusters after viramas if they end a cluster

Previously, we stayed on the conservative side and disallowed any
grapheme breaks (and thus cursoring) where a virama was followed by a
letter, since we did not know if the virama would be forming a
cluster with the letter or not. This created problems with Indic
languages with infrequent conjuncts, such as Tamil.

Now we use the information in calculated advances to find if a
cluster is formed. If there is no cluster, we break the grapheme and
allow cursoring after the virama.

Test: Unit tests added to GraphemeBreakTests and MeasurementTests.
Test: Also manually tested Tamil sequences.
Bug: 35721792
Change-Id: Ib159edb94b3ad6f693f0d3dad016b332b2cef447
/frameworks/minikin/libs/minikin/Measurement.cpp
32c12c0ac825453f4c3bba07718cfe684ec90bec 28-Dec-2016 Mark Salyzyn <salyzyn@google.com> resolve merge conflicts of 2377a00 to master

Test: build
Bug: 26552300
Bug: 31289077
Change-Id: I6181ae7e84f9bdcbed50841c70d07f6906a10eb7
555d84c6f98eafcbe677cdcb8e9605760acd8ce5 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> minikin: Replace cutils/log.h with android/log.h or log/log.h

- replace cutils/log.h with android/log.h (main buffer logging)
- replace cutils/log.h with log.log.h (+SafetyNet logging)
- define LOG_TAG before use.

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I7a4803dd66f31b7103e09e5ff5b8fa523fa0fd60
/frameworks/minikin/libs/minikin/Measurement.cpp
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/libs/minikin/Measurement.cpp
ea408fc18e8e78d984ebdf63703da668a15720de 18-Feb-2016 Keisuke Kuroyanagi <ksk@google.com> Optimize: Use measureText instead of doLayout.

With this CL, measureText is used for getRunAdvance,
getOffsetForAdvance and line breaking.

Bug: 24505153
Change-Id: Ib699f6b1391b46537736fc274cdb41686586b550
/frameworks/minikin/libs/minikin/Measurement.cpp
542572394dfb35b6b78b73837ec13c8e3170385a 21-Jul-2015 Raph Levien <raph@google.com> Revert "Allow clusters to start with zero-width characters"

This reverts commit 3e0fc64da064b8c4156daf53242b8eeb47830f64.

Bug: 22589743
Bug: 22121742
Change-Id: I7b482ffb8a0ee174ddc804aa890de45bdbd758e3
/frameworks/minikin/libs/minikin/Measurement.cpp
3e0fc64da064b8c4156daf53242b8eeb47830f64 30-Jun-2015 Raph Levien <raph@google.com> Allow clusters to start with zero-width characters

The logic in getRunAdvance() assumed that any zero-width character was
part of the preceding cluster, which is valid most of the time. However,
characters such as ZWNBSP (U+FEFF) renders as a zero width glyph
and is also a grapheme cluster boundary. This patch adds a clause to
handle that case.

Bug: 22121742
Change-Id: Iad79a7d988bded1ef05f0fd7905d20669ea22051
/frameworks/minikin/libs/minikin/Measurement.cpp
4ea1cc82b0e8170d6ab6a7e9ee274c81315cd59e 10-Jun-2015 Keisuke Kuroyanagi <ksk@google.com> Fix: getOffsetForAdvance can return worng offset.

searchStart was passed to getRunAdvance, but it can be
different from the start that has been used to initialize
Layout object. As a result, wrong index could be used in
getRunAdvance.

Bug: 21744454
Change-Id: Ibe83cc50ed6f0da2a1532318bc224502be350699
/frameworks/minikin/libs/minikin/Measurement.cpp
95af01c57b60130ba4c098340ba6ea4b4ebfee3f 01-Jun-2015 Raph Levien <raph@google.com> Use context start correctly in getRunAdvance

We were not taking context start into account when deciding whether
to split a ligature, which was causing inconsistent behavior. This
patch consistently references the widths array relative to the start
of the context.

Bug: 21549197
Change-Id: I7c71e10c1af84354fefe782fc0b87120016e6555
/frameworks/minikin/libs/minikin/Measurement.cpp
40beb7744a61248de82a6077996c83c14e0122c2 07-Apr-2015 Raph Levien <raph@google.com> Add functions for measuring cursor positioning

New functions for computing the correspondence between cursor
position and advance, respecting grapheme boundaries.

Change-Id: I620378d5f64cd74300cd43db522adeb555825dff
/frameworks/minikin/libs/minikin/Measurement.cpp