{"action":"closed","issue":{"url":"https://api.github.com/repos/byte-foundry/prototypo/issues/115","repository_url":"https://api.github.com/repos/byte-foundry/prototypo","labels_url":"https://api.github.com/repos/byte-foundry/prototypo/issues/115/labels{/name}","comments_url":"https://api.github.com/repos/byte-foundry/prototypo/issues/115/comments","events_url":"https://api.github.com/repos/byte-foundry/prototypo/issues/115/events","html_url":"https://github.com/byte-foundry/prototypo/issues/115","id":31373397,"number":115,"title":"Collaborate with other libre font editor web app projects on common libraries","user":{"login":"davelab6","id":261579,"avatar_url":"https://avatars3.githubusercontent.com/u/261579?v=3","gravatar_id":"","url":"https://api.github.com/users/davelab6","html_url":"https://github.com/davelab6","followers_url":"https://api.github.com/users/davelab6/followers","following_url":"https://api.github.com/users/davelab6/following{/other_user}","gists_url":"https://api.github.com/users/davelab6/gists{/gist_id}","starred_url":"https://api.github.com/users/davelab6/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davelab6/subscriptions","organizations_url":"https://api.github.com/users/davelab6/orgs","repos_url":"https://api.github.com/users/davelab6/repos","events_url":"https://api.github.com/users/davelab6/events{/privacy}","received_events_url":"https://api.github.com/users/davelab6/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/byte-foundry/prototypo/milestones/2","html_url":"https://github.com/byte-foundry/prototypo/milestone/2","labels_url":"https://api.github.com/repos/byte-foundry/prototypo/milestones/2/labels","id":539040,"number":2,"title":"v1.0","description":"First release with all features pitched in the KickStarter campaign","creator":{"login":"louisremi","id":39374,"avatar_url":"https://avatars2.githubusercontent.com/u/39374?v=3","gravatar_id":"","url":"https://api.github.com/users/louisremi","html_url":"https://github.com/louisremi","followers_url":"https://api.github.com/users/louisremi/followers","following_url":"https://api.github.com/users/louisremi/following{/other_user}","gists_url":"https://api.github.com/users/louisremi/gists{/gist_id}","starred_url":"https://api.github.com/users/louisremi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/louisremi/subscriptions","organizations_url":"https://api.github.com/users/louisremi/orgs","repos_url":"https://api.github.com/users/louisremi/repos","events_url":"https://api.github.com/users/louisremi/events{/privacy}","received_events_url":"https://api.github.com/users/louisremi/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":28,"state":"closed","created_at":"2014-01-17T11:20:16Z","updated_at":"2017-06-28T23:44:17Z","due_on":"2015-07-13T07:00:00Z","closed_at":"2015-09-10T16:00:08Z"},"comments":46,"created_at":"2014-04-12T01:12:16Z","updated_at":"2017-06-28T23:44:17Z","closed_at":"2017-06-28T23:44:17Z","body":"Wow! Massive congratulations on the [kickstarter](https://www.kickstarter.com/projects/599698621/prototypo-streamlining-font-creation) - I'm sure you'll go way beyond your modest target! :)\n\nThere are a few other font tool web apps that I'd like to suggest collaborating with:\n\n[Typism](http://typism.appspot.com) (by @xxyxyz) is a traditional outline font editor for SVG fonts. It exports SVG fonts to be compiled offline, the same as Prototypo.\n\n[Glyphr Studio](http://glyphrstudio.com) (by @mattlag) is a traditional outline font editor for OpenType-CFF. It exports TTX xml to be compiled offline.\n\n[Metapolator](http://metapolator.com) (by @simonegli and many others) is a parametric font editor that applies 'convention over configuration' to hijack metafont; it can do interpolation of masters made with outline editors (so-called 'superpolation') and it can derive new masters from 1+ existing ones, using 'off the peg' metafont programs ('metapolation'.) It is a reboot of the [Metaflop](http://metaflop.com) project, which has a client-side UI of slides that set parameters of true (hand-coded) metafonts, and a server-side system to run metapost on the metafont with the given parameters and return an OTF as a web font. The first prototype of metapolator reused this design. The new prototype is 100% client-side, using NodeBox's opentype.js for superpolation and a metapost.js (made with Emscripten) for metapolation.\n\n[Font Bakery](https://github.com/googlefonts/fontbakery/) (maintained by @hash3g) and now is a continuous integration server and web interface for UFO and TTX format fonts stored in git. It clones a repo, locates font files to build, runs tests on UFO and TTX source fonts, compiles them with FontForge and fontTools (and [ttfautohint](http://freetype.org/ttfautohint)) and runs more tests on the font binaries. It provides a utilitarian UI to proven server-side font tools, and Bootstrap is more than enough. However, a fonts dashboard to [droni.io](http://drone.io) might be better, as that CI server has good momentum and would allow Font Bakery to focus on the things that make it unique.\n\n[Impallari Testing Tool](http://www.impallari.com/testing/) by @impallari is a document-driven typeface test app, to test the _design_ of a type. By improving this and making the tests encapsulated, I hope it can be embedded in other tools - all those I just listed, and prototypo.\n\nI think there is a lot of value in the fundamentally different approaches each project takes, and I do not propose merging them. Yet I see 3 clear common areas that all projects will benefit from, by pooling our limited resources on our common goals to maximize our impact :)\n#### Git and Github repo reading and writing\n\nIts great for studios of designers to store known-good versions of their projects in git, even if they aren't using for every little revision of every file. \n\nThe Github REST API is powerful enough that it can serve as a 'file system' to web apps, and http://prose.io is a great example. \n\nFont Bakery already uses git to structure its input of UFO/TTX font files, and it would be great if all font editor web apps also had this option. \n\nOnce a web app has access to a binary font file, of course, then its time for....\n#### Client Side SFNT Reading\n\n**[opentype.js](https://github.com/nodebox/opentype.js)** by Frederik @fdb De Bleser, is seeing active community contributions and core development thanks to Prototypo :) So this currently seems to be the leading candidate, and both prototypo and metapolator use this.\n\n**[ttf.js](https://github.com/ynakajima/ttf.js)** At the Libre Graphics Meeting, I met in person with Denis @moyogo Jacquerye (of DejaVu fonts fame, now a software engineer at Dalton Maag) who is working on the development branch of ttf.js, which is very similar to opentype.js, written in coffeescript. It would be great to not duplicate this effort.\n\n**[ufoJS](https://github.com/graphicore/ufoJS)** Also at LGM was Lasse @graphicore Fister, who worked on ufoJS a while ago, and will be much more active on this in the coming months as part of metapolator. Perhaps this code can partner with another.\n\n**[binary-parser](https://github.com/Pomax/A-binary-parser-generator/)** Mike @Pomax Kamermans worked on this a while back, and many other fonts-in-browsers experimental utilities, and of course was involved in pdf.js. The spec file approach is neat, and follows Brandon @Benvie Benvie (also at Mozilla)'s approach from 2 years ago in [reified ttf example](https://github.com/Benvie/reified/tree/master/examples/ttf)\n\n**[opentype](https://github.com/bramstein/opentype)** Bram @bramstein Stein works in Adobe Typekit and made this, which already (I think) has more OTL table support than ttf.js or opentype.js. Again, it would be great not to duplicate this effort. \n\n**[fontTools](https://github.com/behdad/fonttools/)** In theory, @behdad's fontTools could be transpiled to C and then transpiled to JS. This brings us to the next item...\n#### Client Side SFNT Writing\n\nLouis-Rémi emailed me a while back about funding opentype.js to add font binary generation, and I've since emailed a bit with Frederik about it. But neither thread reached a clear conclusion... \n\nI know Glyphr Studio, Prototypo and Metapolator would love to have this. The immediate option is to do it server-side, using fontTools or FontForge.\n\nGlyphr offers TTX files as a download format, and requires users to run fontTool's ttx offline to build binary files. \n\nIf we make a fontTools.js, then Glyphr could immediately provide binaries 100% client-side. \n\nAll other font editor web apps would then merely need to export TTX files in the same way. \n\nIt would also be possible to put FontForge through Emscripten, although a fontforge.js would be heavier than a fonttools.js. (The next stable release of fontforge is coming soon - June?)\n\nEventually @adobe will make the FDK libre, then we could also make a fdk.js\n\nThe nice thing about FontForge is that is has so many features. The pity is that its UI is from the 90s (or earlier :) Which leads me to...\n#### Font Editor UI Toolkit\n\nBoth metapolator and prototypo use AngularJS as an MVC framework. Glyphr Studio uses its own. \n\nThis month Alex @Troush has been shedding Metapolator's python parts and taking it full client, starting with a directive for an [opentype.js interpolator](metapolator.com/index_old.html) using paperjs and-or two.js for `<canvas>` rendering. He has also set up bower and gulp (instead of grunt) to structure the setup process.\n\nAngular promises the possibility of making a 'font editor web app toolkit'.\n\nI would like to suggest we share as much as possible.\n"}}
{"actor":{"display_login":"davelab6"}}