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

Servo can't render OpenType ligatures in 'mort' or 'morx' format, only in 'GSUB' #4320

Closed
pcwalton opened this issue Dec 11, 2014 · 6 comments
Closed

Comments

@pcwalton
Copy link
Contributor

@pcwalton pcwalton commented Dec 11, 2014

So there are at least three ways to specify ligatures in TrueType/OpenType fonts: mort, morx, and GSUB. GSUB is the newest. However, all of my fonts only have mort or morx. So ligatures don't render in most fonts.

I guess we have to convert from mort or morx to GSUB.

@khaledhosny
Copy link

@khaledhosny khaledhosny commented Dec 13, 2014

mort and morx are part of AAT not OpenType, the only way to do glyph substitution in OpenType is with GSUB. So not an old/new distniction, but to different technologies.

@behdad
Copy link

@behdad behdad commented Dec 16, 2014

We will eventually implement mort / morx in HarfBuzz natively. In the mean time, if you are building on OS X and build HarfBuzz --with-coretext, then you should get mort / morx working. HarfBuzz will internally call into CoreText for those fonts.

@mbrubeck mbrubeck added E-easy A-build and removed E-hard labels May 20, 2016
@mbrubeck
Copy link
Contributor

@mbrubeck mbrubeck commented May 20, 2016

If someone wants to enable this on Mac OS, they can clone the servo/rust-harfbuzz repo and edit the makefile.cargo to add --with-coretext to the configure arguments if $TARGET contains "apple-darwin". You can use a path override to test Servo with your local copy of harfbuzz-sys.

(Cross-platform support is outside of the Servo scope; we'll just wait for it to be implemented in Harfbuzz.)

@behdad
Copy link

@behdad behdad commented May 20, 2016

sgtm

bors-servo added a commit to servo/rust-harfbuzz that referenced this issue May 26, 2016
Compile --with-coretext on apple-darwin (see servo/servo#4320)

This enable support for mort and morx ligatures.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/rust-harfbuzz/61)
<!-- Reviewable:end -->
bors-servo added a commit to servo/rust-harfbuzz that referenced this issue May 26, 2016
Compile --with-coretext on apple-darwin (see servo/servo#4320)

This enable support for mort and morx ligatures.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/rust-harfbuzz/61)
<!-- Reviewable:end -->
bors-servo added a commit to servo/rust-harfbuzz that referenced this issue May 26, 2016
Compile --with-coretext on apple-darwin (see servo/servo#4320)

This enable support for mort and morx ligatures.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/rust-harfbuzz/61)
<!-- Reviewable:end -->
@jdm
Copy link
Member

@jdm jdm commented Jun 3, 2016

All that's left here is upgrading the version of harfbuzz that Servo uses: ./mach cargo-update -p harfbuzz-sys

@mbrubeck
Copy link
Contributor

@mbrubeck mbrubeck commented Jun 3, 2016

#11591 includes the harfbuzz-sys update.

@jdm jdm added the C-assigned label Jun 3, 2016
@bors-servo bors-servo closed this in 19a7945 Jun 3, 2016
avadacatavra added a commit to avadacatavra/servo that referenced this issue Jun 10, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.