-
Notifications
You must be signed in to change notification settings - Fork 237
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
Can't enable ss09
ligature for =>
without enabling <=
ligature?
#219
Comments
ss09
ligature for =>
without enabling <=
ligaturess09
ligature for =>
without enabling <=
ligature?
Hi @ian-h-chamberlain! Can you clarify which appearance you want to see for each of those pairs? Which ligatures exactly do you want to have enabled? |
Hi, sorry, I guess maybe it got lost in my description. What I would like (and I think was possible in 1.000, but not in 1.100 due to #206): The issue seems to be that As a side note: https://monaspace.githubnext.com/#code-ligatures doesn't seem to work for |
Ok, that's what I thought, I just wanted to make sure I was understanding you correctly! I will include some more variants within In the meantime, if you don't want to wait, you can use an open source font editor like FontForge to remove the I'll also make sure @idan knows about the ligatures on the website. Thanks for bringing that to our attention! |
Thanks for the tip! I wasn't able to get FontForge working without breaking the variable fonts (it seems to have limited support), but I managed to do it more correctly with https://github.com/fonttools/fonttools. Posting my little script here in case anyone else finds it useful... I think this could probably be used to selectively disable any ligature as long as you know its name, so it might be a workaround for anyone else whose preferences aren't met by enabling/disabling import sys
from fontTools import ttLib
_UNWANTED_LIGATURE = "less_equal.alt"
def main():
for font_name in sys.argv[1:]:
print(f"Removing '{_UNWANTED_LIGATURE}' from {font_name}... ", end="")
with ttLib.TTFont(font_name) as font:
# Open the font file and remove the `<=` ligature (less_equal.alt)
# while keeping >>=, => etc. in place
for lookup in font["GSUB"].table.LookupList.Lookup:
for subst in lookup.SubTable:
if not hasattr(subst, "ligatures"):
continue
if "less" not in subst.ligatures:
continue
subst.ligatures["less"] = [
lig
for lig in subst.ligatures["less"]
if lig.LigGlyph != _UNWANTED_LIGATURE
]
font.save(font_name)
print("Done")
if __name__ == "__main__":
main() |
Hi, I was testing the changes in version 1.101 (thanks for such a quick release!), particularly as related to #206, and I noticed there doesn't seem to be any way to use
<=
and>=
without ligatures, while still enabling an arrow ligature for=>
. I thought maybe i could usecv60
(or'cv60' off
?) to set this, but it seems to only have an effect withss02
turned on (which isn't what I was looking for).Maybe relates to #217 as well?
Here are some screenshots of combinations I tried — none of them result in the
<=
,>=
⇒
combo I was hoping for:Is it expected that
cv60
would work withss09
as well, not justss02
? Or is there some other way to configure what I'm trying to accomplish here? Thank you!The text was updated successfully, but these errors were encountered: