Replace Rustybuzz with Parley for text layout handling
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
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
!build
| 📦 Build Complete for 5b5373a269b72d119d3c4fd9fe9f42541d2deff7 |
|---|
| https://bd7cabdd.graphite.pages.dev |
!build
| 📦 Build Complete for d198695ca9b177c1dfc2f00c80516cd5ad833c23 |
|---|
| https://0eb1e49e.graphite.pages.dev |
!build
| 📦 Build Complete for 2edd00e9247e664753d88349d499d72c88b4aee5 |
|---|
| https://29c79aa7.graphite.pages.dev |
!build
| 📦 Build Complete for 1a49f607b6a0abe21dec8f10a091fe246795d5d6 |
|---|
| https://e386f757.graphite.pages.dev |
!build
| 📦 Build Complete for 50b2e6b15d9ddabebf5402faca3e6bc04f49c131 |
|---|
| https://ac12439d.graphite.pages.dev |
!build
| 📦 Build Complete for 87f5ce4bd8da283b764f74371475e6eaabee1dea |
|---|
| https://6d957092.graphite.pages.dev |