Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for text range selectors #2518

Merged
merged 2 commits into from
Jul 24, 2024

Commits on Jul 19, 2024

  1. Add support for text range selectors

    This adds support for the [text range selector](https://lottiefiles.github.io/lottie-docs/text/#text-range-selector) type, which allows a [text style](https://lottiefiles.github.io/lottie-docs/text/#text-style) to be applied to a certain range of the text, defined by a start, end, and offset.
    
    The text range selector implementation currently has the following limitations:
    - Only text layers drawn using a Font are supported. Adding support for the glyph draw path may be possible, but I don't have a sample Lottie file.
    - Only one text range is currently supported per text layer, as the parser [drops all other entries in the array](https://github.com/airbnb/lottie-android/blob/c4cb2254eca3c70199f1de5e39e3872c8c42e473/lottie/src/main/java/com/airbnb/lottie/parser/LayerParser.java#L194-L196).
    - Only index-based ranges are supported - percentage-based ranges are also allowed in the spec.
    - Only ranges based on characters are supported. The [spec](https://lottiefiles.github.io/lottie-docs/constants/#text-based) allows characters, characters excluding spaces, words, and lines.
    - Other options like easing (allows styling characters that are partially inside the range), randomize, and [shape](https://lottiefiles.github.io/lottie-docs/constants/#text-shape) of the range are not currently supported.
    
    This also adds support for the opacity as an animatable text property which is applied multiplicatively with the transform opacity and the parent's alpha.
    Allen Chen committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    6412316 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. Support range selector in glyph rendering path

    Also adds support for ranges specified as a percentage. Note that the provided sample has easing values included, which we don't support yet.
    allenchen1154 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    dff21b8 View commit details
    Browse the repository at this point in the history