Hey, love the typeface. I've been shopping around for an interface text and to my eye it's has some great options over the existing options.
Would you consider adding the font to npm, if just a distribution repository? I'd like to include it in a project but would prefer not to have to commit it to source. I'd be happy to setup the package for you if you'd like!
@philipbelesky assuming you’re using git, you could add the repository as a git submodule.
That's possible although not preferred; they're a bit tricky to setup and can create problems during deployment. From what I can tell it's very common to have a distribution version of a font on npm/bower to get around these issues.
I'd love to submit a PR for npm support! I guess interface-font is a suitable name.
Yeah, you definitely don't want to include the source repository. Not only is it huge, but it also does not contain the actual font files (well, docs/ contains some web fonts, but not promises are made there that they will stay around.)
You'll likely want to create a package based on the archive distributions (https://github.com/rsms/interface/releases)
I would ideally run make in the pre-publish step and only include the dist output in the package. However, I can't get a build. :slightly_frowning_face:
10:18 $ ./init.sh
‘build/venv/bin/woff2_compress’ -> ‘../../deps/woff2/woff2_compress’
You now need to activate virtualenv by:
source './init.sh'
Or directly by sourcing the activate script:
source 'build/venv/bin/activate'
✔ ~/github/interface [master|✔]
10:18 $ source ./init.sh
(venv) ✔ ~/github/interface [master|✔]
10:18 $ make
misc/ufocompile --otf Regular
Traceback (most recent call last):
File "misc/ufocompile", line 93, in <module>
os.path.join(args.out, 'InterfaceUFO', 'features.fea'))
File "/usr/lib64/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 2] No such file or directory: '/home/jan/github/interface/build/tmp/InterfaceUFO/features.fea'
make: *** [build/tmp/InterfaceTTF/Interface-Regular.ttf] Error 1
(venv) ✘-2 ~/github/interface [master|✔]
build/tmp is empty.
You need to build it on a macOS system, currently. If you want to build it elsewhere, you'll need to modify init.sh to—in some way—create a filesystem directory for temporary build products where the file system is case-sensitive (case-preserving is _not enough_). The current init.sh script creates and mounts a virtual file system that's specific to macOS.
Also, it could be unrelated. Perhaps the Python code that copies the features.fea file has a bug.
Relevant init.sh part: https://github.com/rsms/interface/blob/ca5fe60c999fa94bc0b8c051eeb0f351ed878fed/init.sh#L146-L152
Relevant copyfile part: https://github.com/rsms/interface/blob/d4678c2ed43c7abb736804e1c79a769fed6a6c19/misc/ufocompile#L91-L93
Hi @rsms, love the typeface. I am looking at making a PR to add it to the typefaces Github repo, which would make it available through NPM and in a more centralised way, would that be alright?
Open to suggestions…
@ocean Sounds good to me. The way I'd do this is with a simple script that talks with the GitHub API for getting the latest release and distribute the contents of the release's archive.
Building from source not only requires macOS (or modifications to the build system to support other file systems), but also is a very resource-intesive task (many minutes on eight i7 cores.) So I'd strongly recommend distributing the official releases. 🙂
Hey, based on the above discussion I've created a distribution repository that just packages the released files. This has been published to npm/yarn. I've tried to make it absolutely clear that @rsms is the author and that my repo is just a mirror, but please let me know if you'd like the wording/attribution modified. Not sure if you wanted to mention the npm/yarn versions in the documentation, but it might be worth considering.
@ocean's issue on the typefaces repo is still open but I didn't want to spend the time to figure out how the typeface project's build automation process works. If that Issue closes though I'd be happy to deprecate my repo. Until then I'm happy to just manually update the files as new versions of Interface are released.
Note also that the npm/versions are currently just providing the woff/woff2 files to keep overall size down, but I would happy to include the other ones if there is a compelling reason to do so (I'm assuming the use case here is mostly for web typography).
Closing this as the npm package is what I had originally intended and seems to be ticking along fine. Would be great to see it in other distribution platforms though!
Most helpful comment
Hi @rsms, love the typeface. I am looking at making a PR to add it to the
typefacesGithub repo, which would make it available through NPM and in a more centralised way, would that be alright?Open to suggestions…