[go: nahoru, domu]

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

[Impeller] Make text glyph offsets respect the current transform #39119

Merged
merged 1 commit into from
Jan 25, 2023

Conversation

bdero
Copy link
Member
@bdero bdero commented Jan 25, 2023

Resolves flutter/flutter#117428.

Whoops, forgot to account for the Z basis.

Before:
Screen Shot 2023-01-24 at 7 50 16 PM
Screenshot 2023-01-24 at 9 14 09 PM

After:
Screen Shot 2023-01-24 at 7 48 22 PM
Screenshot 2023-01-24 at 9 13 03 PM

Copy link
Member
@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@delfme
Copy link
delfme commented Jan 25, 2023

You guys are amazing 🚀👏
@bdero @jonahwilliams is there any chance that Impeller’s text rendering could fix the infamous emojis issue? flutter/flutter#28894 (comment)

Checked ios milestone, and if emojis got fixed, we could ship our app with Impeller 🎉
https://github.com/flutter/flutter/milestone/77

Copy link
Member
@zanderso zanderso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thoughts on whether this is worth a CP?

@bdero
Copy link
Member Author
bdero commented Jan 25, 2023

is there any chance that Impeller’s text rendering could fix the infamous emojis issue?

@delfme This appears to be a glyph metrics issue as opposed to a renderer bug; there's not much Impeller itself could do in the short term to help high level SkParagraph layout decisions. However, I think we should keep issues like this in mind as we explore options for integrating a separate path renderer flutter/flutter#112213.

Thoughts on whether this is worth a CP?

@zanderso I recall @jonahwilliams mentioning a Cupertino widget that might be broken from this, although I haven't come across it myself yet. I'm leaning towards yes, since I think these kinds of effects aren't uncommon.

@bdero bdero merged commit 30c02e4 into flutter:main Jan 25, 2023
@chinmaygarde
Copy link
Member

Thoughts on whether this is worth a CP?

I think this is worth a CP but we should figure out a rubric for the CPs to small fixes to issues filed by previewers. Added a point of discussion to the weekly.

@delfme
Copy link
delfme commented Jan 25, 2023

is there any chance that Impeller’s text rendering could fix the infamous emojis issue?

@delfme This appears to be a glyph metrics issue as opposed to a renderer bug; there's not much Impeller itself could do in the short term to help high level SkParagraph layout decisions. However, I think we should keep issues like this in mind as we explore options for integrating a separate path renderer flutter/flutter#112213.

@bdero That’s much appreciated. As workaround we: 1) fixed emojis on dart side for Text + 2) built a native Textfield. The two points combined wipe out those weird emojis, but it’s expensive. Hope you guys can detach from SkParagraph for this somehow or help them land a fix.

@zanderso
Copy link
Member

Thoughts on whether this is worth a CP?

I think this is worth a CP but we should figure out a rubric for the CPs to small fixes to issues filed by previewers. Added a point of discussion to the weekly.

👍🏻 In general the bar for a CP gets higher and higher the deeper we get into the cycle.

auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jan 25, 2023
sourcegraph-bot pushed a commit to sgtest/megarepo that referenced this pull request Jan 25, 2023
…rent transform (flutter/engine#39119) (#119179)

Commit: 3be330aaf9e567f0179cc46a734fa6bc4e6de1ef
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 26, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jan 27, 2023
* a0f7c8cf7 6f806491e [web] use a render target instead of a new surface for Picture.toImage (flutter/engine#38573) (flutter/flutter#119143)

* e85547b3c Roll Plugins from 11361d0 to 8bab180 (28 revisions) (flutter/flutter#119115)

* 81052a7d3 Add usage event to track when a iOS network device is used (flutter/flutter#118915)

* cd34fa6d4 24aa324b8 Roll Skia from da5034f9d117 to c4b171fe5668 (1 revision) (flutter/engine#39127) (flutter/flutter#119159)

* 6cd4fa45e Add --serve-observatory flag to run, attach, and test (flutter/flutter#118402)

* 48cd95dd1 1e5efd1 [various] Enable use_build_context_synchronously (flutter/plugins#6585) (flutter/flutter#119162)

* b907acdde Add the cupertino system colors mint, cyan, and brown (flutter/flutter#118971)

* c6fa5d957 c54580138 Only build analyze_snapshot on Linux host (flutter/engine#39129) (flutter/flutter#119164)

* f34ce86cf 7b72038ef Roll Fuchsia Linux SDK from E9m-Gk382PkB7_Nbp... to pGX7tanT1okL8XCg-... (flutter/engine#39130) (flutter/flutter#119169)

* 0dd63d331 Export View (flutter/flutter#117475)

* 1fd71de0c Remove superfluous words from comments (flutter/flutter#119055)

* cef9cc717 2e7d6fa7b Remove unnecessary null checks (flutter/engine#39113) (flutter/flutter#119174)

* 3be330aaf 30c02e4c8 [Impeller] Make text glyph offsets respect the current transform (flutter/engine#39119) (flutter/flutter#119179)

* a45727d81 Add MediaQuery to View (flutter/flutter#118004)

* 02a9c151f Fix lexer issue where select/plural/other/underscores cannot be in identifier names. (flutter/flutter#119190)

* 766e4d28a Remove single-view assumption from material library (flutter/flutter#117486)

* dcd367951 Roll Flutter Engine from 30c02e4c8b01 to 44362c90fcec (2 revisions) (flutter/flutter#119185)

* 9037e3fe2 roll packages (flutter/flutter#119192)

* e0e88da15 Roll Flutter Engine from 44362c90fcec to 308ce918f67f (2 revisions) (flutter/flutter#119201)

* 202e90274 Roll Flutter Engine from 308ce918f67f to 8f1e5dc1b124 (4 revisions) (flutter/flutter#119208)

* b319938ec Add more flexible image API (flutter/flutter#118966)

* fc0270181 Marks Mac run_debug_test_macos to be unflaky (flutter/flutter#117470)

* c9affdba9 Move windows-x64-flutter.zip to windows-x64-debug location. (flutter/flutter#119177)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 28, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Jan 28, 2023
auto-submit bot pushed a commit to flutter/plugins that referenced this pull request Jan 28, 2023
* a0f7c8c 6f806491e [web] use a render target instead of a new surface for Picture.toImage (flutter/engine#38573) (flutter/flutter#119143)

* e85547b Roll Plugins from 11361d0 to 8bab180 (28 revisions) (flutter/flutter#119115)

* 81052a7 Add usage event to track when a iOS network device is used (flutter/flutter#118915)

* cd34fa6 24aa324b8 Roll Skia from da5034f9d117 to c4b171fe5668 (1 revision) (flutter/engine#39127) (flutter/flutter#119159)

* 6cd4fa4 Add --serve-observatory flag to run, attach, and test (flutter/flutter#118402)

* 48cd95d 1e5efd1 [various] Enable use_build_context_synchronously (#6585) (flutter/flutter#119162)

* b907acd Add the cupertino system colors mint, cyan, and brown (flutter/flutter#118971)

* c6fa5d9 c54580138 Only build analyze_snapshot on Linux host (flutter/engine#39129) (flutter/flutter#119164)

* f34ce86 7b72038ef Roll Fuchsia Linux SDK from E9m-Gk382PkB7_Nbp... to pGX7tanT1okL8XCg-... (flutter/engine#39130) (flutter/flutter#119169)

* 0dd63d3 Export View (flutter/flutter#117475)

* 1fd71de Remove superfluous words from comments (flutter/flutter#119055)

* cef9cc7 2e7d6fa7b Remove unnecessary null checks (flutter/engine#39113) (flutter/flutter#119174)

* 3be330a 30c02e4c8 [Impeller] Make text glyph offsets respect the current transform (flutter/engine#39119) (flutter/flutter#119179)

* a45727d Add MediaQuery to View (flutter/flutter#118004)

* 02a9c15 Fix lexer issue where select/plural/other/underscores cannot be in identifier names. (flutter/flutter#119190)

* 766e4d2 Remove single-view assumption from material library (flutter/flutter#117486)

* dcd3679 Roll Flutter Engine from 30c02e4c8b01 to 44362c90fcec (2 revisions) (flutter/flutter#119185)

* 9037e3f roll packages (flutter/flutter#119192)

* e0e88da Roll Flutter Engine from 44362c90fcec to 308ce918f67f (2 revisions) (flutter/flutter#119201)

* 202e902 Roll Flutter Engine from 308ce918f67f to 8f1e5dc1b124 (4 revisions) (flutter/flutter#119208)

* b319938 Add more flexible image API (flutter/flutter#118966)

* fc02701 Marks Mac run_debug_test_macos to be unflaky (flutter/flutter#117470)

* c9affdb Move windows-x64-flutter.zip to windows-x64-debug location. (flutter/flutter#119177)

* 7d3b762 Fix: Added `margin` parameter for `MaterialBanner` class (flutter/flutter#119005)

* 40bd82e Roll Plugins from 1e5efd1 to e9406bc (4 revisions) (flutter/flutter#119249)

* 07522b7 Roll Flutter Engine from 8f1e5dc1b124 to 04f22beebb42 (5 revisions) (flutter/flutter#119218)

* 459c1b7 Marks Mac complex_layout_scroll_perf_macos__timeline_summary to be unflaky (flutter/flutter#119157)

* 2b8f2d0 Add API for discovering assets (flutter/flutter#118410)

* a04ab71 Revert "Add API for discovering assets (#118410)" (flutter/flutter#119273)

* 1da487d Roll Flutter Engine from 04f22beebb42 to 93901260098e (12 revisions) (flutter/flutter#119279)

* 1b779b6 Roll Flutter Engine from 93901260098e to be0125bd5716 (2 revisions) (flutter/flutter#119283)

* 42bd5f2 Download platform-agnostic Flutter Web SDK in the flutter_tool (flutter/flutter#118654)

* d52b6b9 Roll Flutter Engine from be0125bd5716 to d17004dd96d7 (2 revisions) (flutter/flutter#119287)

* 4aed487 Roll Flutter Engine from d17004dd96d7 to a63d98feb608 (3 revisions) (flutter/flutter#119299)

* 05fc29f Rename DeviceGestureSettings.fromWindow to DeviceGestureSettings.fromView (flutter/flutter#119291)

* 86ab01d Revert "Add --serve-observatory flag to run, attach, and test (#118402)" (flutter/flutter#119302)

* 8d03af3 Roll Flutter Engine from a63d98feb608 to 79c958fc7e9b (3 revisions) (flutter/flutter#119306)

* 27f8ebd ade610ec8 [fuchsia] Migrate to new RealmBuilder API (flutter/engine#39175) (flutter/flutter#119310)

* c31856b Roll Plugins from e9406bc to ff84c44 (2 revisions) (flutter/flutter#119335)

* d939863 Roll Flutter Engine from ade610ec88b5 to 621e13cc9be3 (3 revisions) (flutter/flutter#119344)

* 0b57596 Run "flutter update-packages --force-upgrade" (flutter/flutter#119340)

* 0417f66 Fix nullability of TableRow.children (flutter/flutter#119285)

* fc3e824 Roll Flutter Engine from 621e13cc9be3 to 189a69d9918d (3 revisions) (flutter/flutter#119347)

* ad1a44d Add `requestFocusOnTap` to `DropdownMenu` (flutter/flutter#117504)

* 4dbb573 [flutter_tools] remove usage of remap samplers arg (flutter/flutter#119346)

* b2f2bf3 Marks Linux run_release_test_linux to be unflaky (flutter/flutter#119156)

* 3f95bef Roll Flutter Engine from 189a69d9918d to b32fc7fef208 (3 revisions) (flutter/flutter#119358)

* 2e8bebd Remove single window assumption from macrobenchmark (flutter/flutter#119368)

* ab2232a Roll Flutter Engine from b32fc7fef208 to 8567d96993ed (5 revisions) (flutter/flutter#119369)

* e9ca9cc Remove references to dart:ui's window singelton (flutter/flutter#119296)

* da3d4bd Roll Flutter Engine from 8567d96993ed to 225ae87334a5 (2 revisions) (flutter/flutter#119376)

* 018c1f8 e2e089ebb Use arm64 engine variant on simulators in iOS unit tests (flutter/engine#39213) (flutter/flutter#119387)

* e349bdc 19651cb1d Roll Dart SDK from 2cd9b7ac95e8 to 135f4c51c9ff (3 revisions) (flutter/engine#39214) (flutter/flutter#119389)

* 95345b5 77bee011d Roll Dart SDK from 2cd9b7ac95e8 to 135f4c51c9ff (3 revisions) (flutter/engine#39217) (flutter/flutter#119394)

* de43ec9 Roll Flutter Engine from 77bee011dabf to 3394b84cc5d7 (3 revisions) (flutter/flutter#119405)

* f8d4de4 3dd0fc13f Roll Fuchsia Linux SDK from 6c2H32X3EXOGlWIgb... to TiK_fVODtUaKOgxRf... (flutter/engine#39224) (flutter/flutter#119408)

* 7856411 7c5c6c9c9 Roll Skia from 0b75650caf2a to 7df7a83f733d (13 revisions) (flutter/engine#39225) (flutter/flutter#119413)

* 75680ae 649362168 Roll Dart SDK from f9583e13e214 to 52dc94238144 (1 revision) (flutter/engine#39227) (flutter/flutter#119416)
XilaiZhang pushed a commit that referenced this pull request Jan 31, 2023
) (#39140)

Co-authored-by: Brandon DeRosier <bdero@google.com>
Maatteogekko pushed a commit to Maatteogekko/packages that referenced this pull request Feb 4, 2023
…r#3093)

* a0f7c8cf7 6f806491e [web] use a render target instead of a new surface for Picture.toImage (flutter/engine#38573) (flutter/flutter#119143)

* e85547b3c Roll Plugins from 11361d0 to 8bab180 (28 revisions) (flutter/flutter#119115)

* 81052a7d3 Add usage event to track when a iOS network device is used (flutter/flutter#118915)

* cd34fa6d4 24aa324b8 Roll Skia from da5034f9d117 to c4b171fe5668 (1 revision) (flutter/engine#39127) (flutter/flutter#119159)

* 6cd4fa45e Add --serve-observatory flag to run, attach, and test (flutter/flutter#118402)

* 48cd95dd1 1e5efd1 [various] Enable use_build_context_synchronously (flutter/plugins#6585) (flutter/flutter#119162)

* b907acdde Add the cupertino system colors mint, cyan, and brown (flutter/flutter#118971)

* c6fa5d957 c54580138 Only build analyze_snapshot on Linux host (flutter/engine#39129) (flutter/flutter#119164)

* f34ce86cf 7b72038ef Roll Fuchsia Linux SDK from E9m-Gk382PkB7_Nbp... to pGX7tanT1okL8XCg-... (flutter/engine#39130) (flutter/flutter#119169)

* 0dd63d331 Export View (flutter/flutter#117475)

* 1fd71de0c Remove superfluous words from comments (flutter/flutter#119055)

* cef9cc717 2e7d6fa7b Remove unnecessary null checks (flutter/engine#39113) (flutter/flutter#119174)

* 3be330aaf 30c02e4c8 [Impeller] Make text glyph offsets respect the current transform (flutter/engine#39119) (flutter/flutter#119179)

* a45727d81 Add MediaQuery to View (flutter/flutter#118004)

* 02a9c151f Fix lexer issue where select/plural/other/underscores cannot be in identifier names. (flutter/flutter#119190)

* 766e4d28a Remove single-view assumption from material library (flutter/flutter#117486)

* dcd367951 Roll Flutter Engine from 30c02e4c8b01 to 44362c90fcec (2 revisions) (flutter/flutter#119185)

* 9037e3fe2 roll packages (flutter/flutter#119192)

* e0e88da15 Roll Flutter Engine from 44362c90fcec to 308ce918f67f (2 revisions) (flutter/flutter#119201)

* 202e90274 Roll Flutter Engine from 308ce918f67f to 8f1e5dc1b124 (4 revisions) (flutter/flutter#119208)

* b319938ec Add more flexible image API (flutter/flutter#118966)

* fc0270181 Marks Mac run_debug_test_macos to be unflaky (flutter/flutter#117470)

* c9affdba9 Move windows-x64-flutter.zip to windows-x64-debug location. (flutter/flutter#119177)
@delfme
Copy link
delfme commented Mar 5, 2023

@bdero I think we still have a transform issue. Please see text “Reply to Leo “, that element is a flutter placeholder.

IMG_7805.MOV

@jonahwilliams
Copy link
Member

@delfme are you using an ImageFilter? If so, could you comment on flutter/flutter#121893 ? If not please file a new bug with details on how this happens.

@delfme
Copy link
delfme commented Mar 6, 2023

@jonahwilliams my bad, I eventually discovered this is just an eye trick 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Archived in project
5 participants