Fix text baseline being moved up on iOS#44932
Closed
j-piasecki wants to merge 1 commit into
Closed
Conversation
6 tasks
Base commit: 3cb03cb |
Contributor
|
@sammy-SC has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
Contributor
|
This pull request was successfully merged by @j-piasecki in 01f7ab8. When will my fix make it into a release? | How to file a pick request? |
50 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Fixes #44929
Moves calling
RCTApplyBaselineOffsetso it's called in similar way as on the old architecture: https://github.com/facebook/react-native/blob/726a4a1e5ef3bc8034a068145da2bb94ae3acfaa/packages/react-native/Libraries/Text/Text/RCTTextShadowView.mm#L229https://github.com/facebook/react-native/blob/726a4a1e5ef3bc8034a068145da2bb94ae3acfaa/packages/react-native/Libraries/Text/Text/RCTTextShadowView.mm#L165-L167
I'm not exactly sure why (and Apple's docs aren't helping) but it looks like calling
NSTextStorage initWithAttributedStringresults in an attributed string where emojis are separate fragments with Apple's emoji font set, which results in the correct baseline calculations. This is the way it happens on the old arch.The way it's currently implemented on the new architecture,
RCTApplyBaselineOffsetis called on ` newly created attributed string where emojis are in the same fragment as other parts of the text which alters the result of baseline calculations compared to what's later drawn on the screen.Changelog:
[IOS] [FIXED] - Fixed text baseline being moved upwards in certain cases
Test Plan:
Check the following snipped