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
This commit is contained in:
@@ -41,7 +41,7 @@ float getRunAdvance(Layout& layout, const uint16_t* buf, size_t start, size_t co
|
||||
clusterWidth = charAdvance;
|
||||
}
|
||||
}
|
||||
if (offset < start + count && layout.getCharAdvance(offset) == 0.0f) {
|
||||
if (offset < start + count && layout.getCharAdvance(offset - start) == 0.0f) {
|
||||
// In the middle of a cluster, distribute width of cluster so that each grapheme cluster
|
||||
// gets an equal share.
|
||||
// TODO: get caret information out of font when that's available
|
||||
|
||||
Reference in New Issue
Block a user