Skip to content

Conversation

@taj-p
Copy link
Collaborator

@taj-p taj-p commented Dec 4, 2025

See linebender#462 (comment)

To do:

  • inline hole detection during cluster assignment (instead of paying redundant iteration)
  • consider not using temporary allocations for shaped segments and holes (before pushing them to ultimate data structure)
  • lots of review / addressing inline to dos

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This removes most of the normalisation work from Parley

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The changes in this file allow for shaped segments and holes to be stored in separate structures before deciding how they should be pushed to the Layout. I think a mature implementation will remove these temporary data structures and mutate Layout directly (to avoid redundant copies).

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This file can be ignored. By shaping with more fonts, the need to cache generating font metrics increases. So I added this LRU cache on font metrics to get a feel for what the ultimate performance of this approach could be.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This file contains a lot of refactoring and handling of shaped segments / holes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant