ToxicFrog / Ligaturizer

Programming Fonts with Ligatures added (& a script to add them to other fonts)
GNU General Public License v3.0
2.19k stars 112 forks source link

Ligaturizer not working #67

Closed xeroneon closed 4 years ago

xeroneon commented 5 years ago

I tried using the command given with changes for my font

 fontforge -lang py -script ligaturize.py fonts/Metropolis-Regular.ttf
     --output-dir='fonts/output/' \
     --output-name='Ligaturized Metropolis'

but i get an error

$ fontforge -lang py -script ligaturize.py fonts/Metropolis-Regular.ttf
    --output-name='Ligaturized Metropolis'
Copyright (c) 2000-2018 by George Williams. See AUTHORS for Contributors.
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE.
 Based on sources from 09:58 UTC 13-Apr-2019-ML-TtfDb-D.
 Based on source from git with hash: fa92842d5992818d12a04337cb685ee7d59cb2a9
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no looLigaturizing font Metropolis-Regular.ttf (Metropolis) as 'Liga Metropolis'
    ...using ligatures from fonts/fira/distr/otf/FiraCode-Regular.otf
kups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
This contextual rule applies no lookups.
Traceback (most recent call last):
  File "ligaturize.py", line 345, in <module>
    main()
  File "ligaturize.py", line 342, in main
    ligaturize_font(**vars(parse_args()))
  File "ligaturize.py", line 299, in ligaturize_font
    output_font_file = path.join(output_dir, font.fontname + output_font_type)
  File "C:/Program Files (x86)/FontForgeBuilds/lib/python2.7/ntpath.py", line 78, in join
    result_drive, result_path = splitdrive(path)
  File "C:/Program Files (x86)/FontForgeBuilds/lib/python2.7/ntpath.py", line 128, in splitdrive
    if len(p) > 1:
TypeError: object of type 'NoneType' has no len()

I don't program with python so I'm not sure what the issue is

ishveda commented 4 years ago

had the same issue, using make from python-3 branch worked for me.

ToxicFrog commented 4 years ago

python-3 is now in master (daa4dc8baffeefcb27c4ffd30ea52797ead8d123).