Graphite icon indicating copy to clipboard operation
Graphite copied to clipboard

Replace Rustybuzz with Parley for text layout handling

Open BKSalman opened this issue 8 months ago • 12 comments

related to #1105

this adds Parley which handles a lot of text related stuff for us

I made this PR to get feedback on the changes

and after this is accepted, some of the listed TODOs from this issue can be resolved easily, which I could either add to this PR, or make another PR for them

I've created this simple file that I tested with, you can also use it (you need to use a font that supports Arabic, something like Tajawal)

it should look like this image

TODOs:

  • [x] Add parley
  • [x] Remove rustybuzz
  • [ ] Migrate text node from old implementation
    • [ ] Change default character spacing to 0
    • [ ] detect the number of parameters that exist on the text node and do the migration only when it doesn't match the new number of parameters
  • [x] Add shear

BKSalman avatar Jun 20 '25 10:06 BKSalman

!build

Keavon avatar Jun 22 '25 22:06 Keavon

📦 Build Complete for 5b5373a269b72d119d3c4fd9fe9f42541d2deff7
https://bd7cabdd.graphite.pages.dev

github-actions[bot] avatar Jun 22 '25 22:06 github-actions[bot]

!build

Keavon avatar Jun 22 '25 22:06 Keavon

📦 Build Complete for d198695ca9b177c1dfc2f00c80516cd5ad833c23
https://0eb1e49e.graphite.pages.dev

github-actions[bot] avatar Jun 22 '25 22:06 github-actions[bot]

!build

Keavon avatar Jun 25 '25 21:06 Keavon

📦 Build Complete for 2edd00e9247e664753d88349d499d72c88b4aee5
https://29c79aa7.graphite.pages.dev

github-actions[bot] avatar Jun 25 '25 22:06 github-actions[bot]

!build

Keavon avatar Jun 25 '25 22:06 Keavon

📦 Build Complete for 1a49f607b6a0abe21dec8f10a091fe246795d5d6
https://e386f757.graphite.pages.dev

github-actions[bot] avatar Jun 25 '25 22:06 github-actions[bot]

!build

Keavon avatar Jun 28 '25 10:06 Keavon

📦 Build Complete for 50b2e6b15d9ddabebf5402faca3e6bc04f49c131
https://ac12439d.graphite.pages.dev

github-actions[bot] avatar Jun 28 '25 10:06 github-actions[bot]

!build

Keavon avatar Jun 28 '25 12:06 Keavon

📦 Build Complete for 87f5ce4bd8da283b764f74371475e6eaabee1dea
https://6d957092.graphite.pages.dev

github-actions[bot] avatar Jun 28 '25 13:06 github-actions[bot]