skia2/modules
Florin Malita dcafc5d2bc [skottie] Visual-only text valign
Historically, Skottie started with vertical alignment based on the
typographic bounding box.  This was meant to account for empty
leading/trailing lines.

At some point [1], the strategy was changed to also take the visual
bounding box into account (union of typographic and visual bounds).

It turns out this is still suboptimal: aligning based on font metrics
yields poor results in practice, and pretty much everyone expects
visual-only alignment.

This CL is an attempt to fix things:

1) update kVisualTop/kVisualCenter/kVisualBottom to use visual bounds
   only (as their name implies)
2) introduce kDeprecatedVisualCenter to preserves the old behavior
   for compatibility, and use it for the legacy sk_vj flags

The latter is done to minimize disruption for clients which have
adjusted for the current misalignment: luckily they're mostly using the
old sk_vj flag instead of explicit resize/valign policies, and they can
continue to do so without change, while new clients can opt into the
new/improved valign modes.

The change is guarded by a build flag for g3 staging.

[1] https://skia-review.googlesource.com/c/skia/+/224188

Change-Id: I334c1713ce32635e3649711f072a3dcdf6b12244
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/501016
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-02-07 17:04:17 +00:00
..
androidkit Remove SkM44.h include from SkImage.h. 2021-12-23 13:45:20 +00:00
audioplayer implement SkAudioPLayer for Android 2020-12-15 00:12:48 +00:00
canvaskit [canvaskit] Add more features to Bazel build 2022-02-04 21:33:20 +00:00
particles [canvaskit] Add more features to Bazel build 2022-02-04 21:33:20 +00:00
pathkit [pathkit] Publish 1.0.0 2022-02-04 13:11:08 +00:00
skottie [skottie] Visual-only text valign 2022-02-07 17:04:17 +00:00
skparagraph Prepare to reenable unreachable-code warnings. 2022-02-04 21:45:39 +00:00
skplaintexteditor Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
skresources [canvaskit] Add skottie to Bazel build 2022-02-04 19:18:27 +00:00
sksg Prepare to reenable unreachable-code warnings. 2022-02-04 21:45:39 +00:00
skshaper Remove unnecessary ctors now that we have C++17 copy-elision. 2022-01-27 20:26:54 +00:00
skunicode Avoid scanning for bidi levels if the paragraph is unidirectional 2022-01-06 17:39:50 +00:00
svg Implement SkTLazy using std::optional 2022-02-01 19:51:21 +00:00
BUILD.bazel [infra] Experiment generating BUILD.bazel files 2021-11-23 18:53:16 +00:00