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

Small caps and fi / ffi ligatures conflict #30

Open
ctrlcctrlv opened this issue Dec 23, 2022 · 3 comments · May be fixed by #31
Open

Small caps and fi / ffi ligatures conflict #30

ctrlcctrlv opened this issue Dec 23, 2022 · 3 comments · May be fixed by #31
Labels

Comments

@ctrlcctrlv
Copy link
Collaborator

hb-view ~/.fonts/b/Besley-BoldItalic.ttf --features=smcp $'fire\naffiliate\nconflagration'

image

@ctrlcctrlv ctrlcctrlv added the bug label Dec 23, 2022
@EwonRael
Copy link
Contributor

EwonRael commented Jan 9, 2023

hi

this is hard to reproduce as both fontforge and inkscape display these words properly. It also appears to work fine in firefox.

are we sure this is a bug with the font and not an issue with how hb-view interprets the request?

Not sure but I don't think the smcp substitution supports multiple glyphs? would I have to make a ligature small caps glyph to fix?

let me know your thoughts

@ctrlcctrlv
Copy link
Collaborator Author

You tested in italic right? Only italic is affected.

image

@ctrlcctrlv
Copy link
Collaborator Author

It's an ordering issue.

Having run ttx on the font, we see:

    <FeatureList>
      <!-- FeatureCount=7 -->
      <FeatureRecord index="0">
        <FeatureTag value="c2sc"/>
        <Feature>
          <!-- LookupCount=1 -->
          <LookupListIndex index="0" value="6"/>
        </Feature>
      </FeatureRecord>
      <FeatureRecord index="1">
        <FeatureTag value="calt"/>
        <Feature>
          <!-- LookupCount=2 -->
          <LookupListIndex index="0" value="4"/>
          <LookupListIndex index="1" value="7"/>
        </Feature>
      </FeatureRecord>
      <FeatureRecord index="2">
        <FeatureTag value="liga"/>
        <Feature>
          <!-- LookupCount=1 -->
          <LookupListIndex index="0" value="0"/>
        </Feature>
      </FeatureRecord>
      <FeatureRecord index="3">
        <FeatureTag value="onum"/>
        <Feature>
          <!-- LookupCount=1 -->
          <LookupListIndex index="0" value="1"/>
        </Feature>
      </FeatureRecord>
      <FeatureRecord index="4">
        <FeatureTag value="smcp"/>
        <Feature>
          <!-- LookupCount=1 -->
          <LookupListIndex index="0" value="5"/>
        </Feature>
      </FeatureRecord>
      <FeatureRecord index="5">
        <FeatureTag value="ss01"/>
        <Feature>
          <!-- LookupCount=1 -->
          <LookupListIndex index="0" value="3"/>
        </Feature>
      </FeatureRecord>
      <FeatureRecord index="6">
        <FeatureTag value="tnum"/>
        <Feature>
          <!-- LookupCount=1 -->
          <LookupListIndex index="0" value="2"/>
        </Feature>
      </FeatureRecord>
    </FeatureList>

Reordering the lookups fixes it.

image

ctrlcctrlv added a commit that referenced this issue Jan 10, 2023
@ctrlcctrlv ctrlcctrlv linked a pull request Jan 10, 2023 that will close this issue
ctrlcctrlv added a commit to ctrlcctrlv/Besley that referenced this issue Jan 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants