You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using python fontforge to extract Fira Code Ligatures to patch them into Hack fonts. In Fira Code v3, I can correctly select the ligatured glyph from FiraCode-Regular.otf.
The following code to extract the ligatures.
def copy_ligature_from_source(font_path, ligature_name):
try:
liga_font = fontforge.open(font_path)
liga_font.selection.none()
liga_font.selection.select(ligature_name)
liga_font.copy()
print("Found %s in source font." % ligature_name)
return True
except ValueError:
print("%s not found in source font." % ligature_name)
return False
But in Fira Code v4 and v5, the same codes doesn't work on some ligatures. Is there any breaking changes on the glyph name (ligature name)?
Full list of the ligatures that cannot be selected
underscore_underscore.liga not found in source font.
less_hyphen.liga not found in source font.
hyphen_greater.liga not found in source font.
equal_greater.liga not found in source font.
greater_hyphen.liga not found in source font.
hyphen_less.liga not found in source font.
braceleft_period.liga not found in source font.
less_colon.liga not found in source font.
colon_greater.liga not found in source font.
period_braceright.liga not found in source font.
backslash_backslash.liga not found in source font.
equal_asciitilde.liga not found in source font.
exclam_asciitilde.liga not found in source font.
slash_equal.liga not found in source font.
hyphen_bar.liga not found in source font.
bar_hyphen.liga not found in source font.
bar_equal.liga not found in source font.
numbersign_numbersign.liga not found in source font.
equal_colon_equal.liga not found in source font.
equal_slash_equal.liga not found in source font.
equal_exclam_equal.liga not found in source font.
less_hyphen_less.liga not found in source font.
less_less_hyphen.liga not found in source font.
less_hyphen_hyphen.liga not found in source font.
less_hyphen_greater.liga not found in source font.
hyphen_hyphen_greater.liga not found in source font.
hyphen_greater_greater.liga not found in source font.
less_equal_less.liga not found in source font.
less_less_equal.liga not found in source font.
less_equal_equal.liga not found in source font.
less_equal_greater.liga not found in source font.
equal_equal_greater.liga not found in source font.
equal_greater_greater.liga not found in source font.
greater_equal_greater.liga not found in source font.
greater_greater_equal.liga not found in source font.
greater_greater_hyphen.liga not found in source font.
hyphen_less_less.liga not found in source font.
equal_less_less.liga not found in source font.
less_hyphen_bar.liga not found in source font.
less_equal_bar.liga not found in source font.
bar_hyphen_greater.liga not found in source font.
bar_equal_greater.liga not found in source font.
hyphen_hyphen_greater.liga not found in source font.
slash_equal_equal.liga not found in source font.
underscore_bar_underscore.liga not found in source font.
bar_bar_hyphen.liga not found in source font.
bar_bar_equal.liga not found in source font.
numbersign_numbersign_numbersign.liga not found in source font.
numbersign_numbersign_numbersign_numbersign.liga not found in source font.
less_less_hyphen_greater_greater.liga not found in source font.
Full list of the ligatures that can be selected
Found period_equal.liga in source font.
Found period_hyphen.liga in source font.
Found colon_equal.liga in source font.
Found equal_equal.liga in source font.
Found exclam_equal.liga in source font.
Found slash_backslash.liga in source font.
Found backslash_slash.liga in source font.
Found less_asciitilde.liga in source font.
Found asciitilde_asciitilde.liga in source font.
Found asciitilde_greater.liga in source font.
Found less_less.liga in source font.
Found less_equal.liga in source font.
Found less_greater.liga in source font.
Found greater_equal.liga in source font.
Found greater_greater.liga in source font.
Found braceleft_bar.liga in source font.
Found bracketleft_bar.liga in source font.
Found bar_bracketright.liga in source font.
Found bar_braceright.liga in source font.
Found less_bar.liga in source font.
Found bar_greater.liga in source font.
Found less_dollar.liga in source font.
Found dollar_greater.liga in source font.
Found less_plus.liga in source font.
Found plus_greater.liga in source font.
Found less_asterisk.liga in source font.
Found asterisk_greater.liga in source font.
Found slash_asterisk.liga in source font.
Found asterisk_slash.liga in source font.
Found slash_slash.liga in source font.
Found less_slash.liga in source font.
Found slash_greater.liga in source font.
Found semicolon_semicolon.liga in source font.
Found colon_colon.liga in source font.
Found exclam_exclam.liga in source font.
Found question_question.liga in source font.
Found percent_percent.liga in source font.
Found ampersand_ampersand.liga in source font.
Found bar_bar.liga in source font.
Found period_period.liga in source font.
Found period_question.liga in source font.
Found question_period.liga in source font.
Found hyphen_hyphen.liga in source font.
Found plus_plus.liga in source font.
Found asterisk_asterisk.liga in source font.
Found asciitilde_hyphen.liga in source font.
Found hyphen_asciitilde.liga in source font.
Found asciitilde_at.liga in source font.
Found asciicircum_equal.liga in source font.
Found question_equal.liga in source font.
Found numbersign_exclam.liga in source font.
Found numbersign_equal.liga in source font.
Found numbersign_braceleft.liga in source font.
Found numbersign_bracketleft.liga in source font.
Found bracketright_numbersign.liga in source font.
Found numbersign_parenleft.liga in source font.
Found numbersign_question.liga in source font.
Found numbersign_underscore.liga in source font.
Found ampersand_ampersand.liga in source font.
Found dollar_greater.liga in source font.
Found less_equal.liga in source font.
Found greater_equal.liga in source font.
Found period_period_equal.liga in source font.
Found colon_colon_equal.liga in source font.
Found equal_equal_equal.liga in source font.
Found exclam_equal_equal.liga in source font.
Found less_asciitilde_greater.liga in source font.
Found less_asciitilde_asciitilde.liga in source font.
Found asciitilde_asciitilde_greater.liga in source font.
Found less_less_less.liga in source font.
Found greater_greater_greater.liga in source font.
Found less_bar_bar.liga in source font.
Found less_bar_greater.liga in source font.
Found bar_bar_greater.liga in source font.
Found less_dollar_greater.liga in source font.
Found less_plus_greater.liga in source font.
Found less_asterisk_greater.liga in source font.
Found slash_slash_slash.liga in source font.
Found less_slash_greater.liga in source font.
Found w_w_w.liga in source font.
Found colon_colon_colon.liga in source font.
Found period_period_period.liga in source font.
Found period_period_less.liga in source font.
Found hyphen_hyphen_hyphen.liga in source font.
Found plus_plus_plus.liga in source font.
Found asterisk_asterisk_asterisk.liga in source font.
Found numbersign_underscore_parenleft.liga in source font.
Found less_dollar_greater.liga in source font.
Found less_bar_bar_bar.liga in source font.
Found bar_bar_bar_greater.liga in source font.
Found less_exclam_hyphen_hyphen.liga in source font.
The text was updated successfully, but these errors were encountered:
All hyphen and equals-based arrows, underscores and numbersigns were removed as individual characters in 4. They are now built from segments to allow for infinite-length arrows
I think it is difficult for me to compose all variants of hyphen, equals-based arrows, underscores and numbersigns to get the ligatures and get the patch work.
I am using python fontforge to extract Fira Code Ligatures to patch them into Hack fonts. In Fira Code v3, I can correctly select the ligatured glyph from
FiraCode-Regular.otf
.The following code to extract the ligatures.
But in Fira Code v4 and v5, the same codes doesn't work on some ligatures. Is there any breaking changes on the glyph name (ligature name)?
P.S. The above codes can correctly select ligatures from Jetbrains Mono fonts.
Resource
Ref: gaplo917/Ligatured-Hack#3
Full list of the ligatures that cannot be selected
Full list of the ligatures that can be selected
The text was updated successfully, but these errors were encountered: