Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 02 14:01
    schriftgestalt commented #778
  • Dec 02 13:59
    anthrotype commented #778
  • Dec 02 13:54
    simoncozens commented #778
  • Dec 02 11:59
    yanone commented #778
  • Dec 02 11:52
    yanone commented #778
  • Dec 02 11:47
    anthrotype commented #778
  • Dec 02 11:47
    anthrotype commented #778
  • Dec 02 11:39
    simoncozens commented #778
  • Dec 02 11:39
    yanone commented #778
  • Dec 02 11:38
    simoncozens commented #778
  • Dec 02 11:36
    yanone commented #778
  • Dec 02 11:32
    anthrotype commented #778
  • Dec 02 11:28
    anthrotype commented #778
  • Dec 02 11:23
    simoncozens commented #778
  • Dec 02 11:20
    simoncozens commented #778
  • Dec 02 11:18
    anthrotype commented #778
  • Dec 02 11:18
    simoncozens commented #778
  • Dec 02 11:13
    simoncozens commented #778
  • Dec 02 09:37
    yanone commented #778
  • Dec 02 09:34
    yanone commented #778
Nikolaus Waxweiler
@madig
I'll update the PR, one sec
Cosimo Lupo
@anthrotype
oh I see..
where I asked you to raise TypeError if no value is passed to Point constructor
Nikolaus Waxweiler
@madig
yep
Cosimo Lupo
@anthrotype
what the hell does it mean to make a Point without coordinates
just don't
Nikolaus Waxweiler
@madig
it's used as default something in classes.py i think
Cosimo Lupo
@anthrotype
then default to Point(0,0) if anything
or Point(MAX_INT, ...) or shit like that
Nikolaus Waxweiler
@madig
.tox\py36\lib\site-packages\glyphsLib\classes.py:2374: in <module>
class GSAnnotation(GSBase):
.tox\py36\lib\site-packages\glyphsLib\classes.py:2384: in GSAnnotation
"position": Point(),
hm :)
Cosimo Lupo
@anthrotype
i don't understand
anyway, that's good
Cosimo Lupo
@anthrotype
go on with merge
Nikolaus Waxweiler
@madig
even though we don't actually gain performance?
Cosimo Lupo
@anthrotype
that should just be None
not an invalid Point
but a None value in place of a valid Point
i don't care honestly
Nikolaus Waxweiler
@madig
:D
Cosimo Lupo
@anthrotype
if you think makes the code more readable, do it
Nikolaus Waxweiler
@madig
ok
Cosimo Lupo
@anthrotype
i have other things on my plate right now
sorry
anyway, I think that that Point.value being None by default is just wrong
e.g. if one where to attempt to do point.x it would be TypeError anyway
better to completely avoid it
never allow to make a Point without explicit x and y
but i'll leave that to you
there are so many little things like that in glyphsLib codebase ..
Nikolaus Waxweiler
@madig
wait, this is weird, inst times are down again :confounded:
yah
i'll have a look at what it would take to only allow non-None stuff
Nikolaus Waxweiler
@madig
ok, so it really was just GSAnnotation with Point(). Glyphs generates [0,0] by default
ooooh, slots shave off another 40 ns
nice
Nikolaus Waxweiler
@madig
nice. i found out today that my layer-compiling ufo2ft branch plus fontTools.varLib provide what's needed to handle brace layers in custom compilation scripts. with a bit more hacking and black filtering magic somewhere in fontmake, maybe we can transparently support bracket and brace layers in UFOs without dealing with the impedance mismatch between ufo+designspace and glyphs files.
i.e. some preprocessor could read in a designspace, scan the source ufos for brace layers and append them as sparse sources and scan for bracket layers, append them as rules and earmark them somehow so that a ufo2ft filter can turn the bracket layers into their own glyphs to make designspace semantics work.
all locked away behind a off-by-default switch to honour glyphs semantics
Nikolaus Waxweiler
@madig
proof of concept script to build a VF with brace and bracket layers: https://github.com/googlei18n/fontmake/issues/477#issuecomment-445269087
Cosimo Lupo
@anthrotype
looking at googlei18n/glyphsLib#479, I wonder if we should have a "non-interpolatable" mode for glyphs2ufo script to output separate, self-contained UFOs "instances" and no designspace file. For simple projects that are not meant to produce interpolated instances, but have as many "instances" as there are masters (in the simplest case 1 master, 1 dummy instance only contiaining style linking stuff)
also, think of NotoNastaliqUrdu which has regular and Bold in the same file, but outlines are not meant to be interpolated, and the "instances" just sit on the respective master
Marc Foley
@m4rc1e

It would be nice to have fontmake's -i (interpolate) arg work on VFs or a similar mechanism which only includes a specified list of VF instances.

We're encountering VFs with hundreds of instances. Imo they shouldn't have this many instances since it will wreck application font menus. Instead font devs should be defining these styles using a STAT table.

Of course I can delete these instances in the source file but I will need them when I want to generate static fonts.

Cosimo Lupo
@anthrotype
i guess it can be useful. mind open a feature request no fontmake repo? if you want to work on a pr even better
thanks
Nikolaus Waxweiler
@madig
uh oh. someone who would want the glyphs api to stay :(
Georg Seifert
@schriftgestalt
Are you planning to get rid of it?
Cosimo Lupo
@anthrotype
no, not at all. I mentioned that tweet to highlight how there is user demand for that.