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
Changing the start points makes no difference, but moving the horizontal contour so that its first point is not directly above the point in the other contour “fixes” the distortion.
is trying to match an input curve (from the original glyph) with an output curve (from the union-ed polygon) by their first points. It searches for t values in the input curve for the last point on the output curve, and if it doesn't find one, as it might not in the example here, it just drops an entire segment because it assumes at least one would be found:
I'm not sure if I'm right on the mark in diagnosing the actual issue, and I certainly don't know what the solution would be at this point. But maybe this is a start.
This is almost certainly a duplicate of #27, and of notofonts/nototools#268 (comment). Basically it's a pretty big issue with BooleanOperations. The code is pretty complex though; I'm hesitant to make any changes for fear of breaking something else.
Could we meet on Wednesday, 14/Sep evening over some food and beer (water or any non-alcoholic drink of your choice if you don't drink alcohol) and fix it?
@khaledhosny : would be be able to help with testing it (will you be around during AtypI)? I would test for any regressions over the next 24 hours after the fix is checked in (ending on Friday, 16/Sep) using our pipeline (as of today we produce 639 different OTF files including one that causes the problem). If there were any issues most likely they'd appear early, but if there were none I'd know on Friday. If there were any issues we could fix them on Thursday or Friday...
Code is owned by @typemytype . But indeed, all of us (including Khaled and Cosimo) will be at ATypI, so we should get together and tackle this one there. Looks like Wednesday after dinner might work after all. Let's aim for that.
it definitely has something to do with two points from different contours being on top of each other, and one being a tangent point between line/curve, the other being a sharp corner.
something like #27 -- which we thought was fixed, but apparently not.
Activity
anthrotype commentedon Jul 8, 2016
hm.. that's not good.
Does re-locating the contours' starting point make any difference?
khaledhosny commentedon Jul 8, 2016
Changing the start points makes no difference, but moving the horizontal contour so that its first point is not directly above the point in the other contour “fixes” the distortion.
jamesgk commentedon Aug 10, 2016
I dug into this a bit and have a theory on why this is happening. If I'm correct, the code here:
booleanOperations/Lib/booleanOperations/flatten.py
Line 877 in ebeaf6b
is trying to match an input curve (from the original glyph) with an output curve (from the union-ed polygon) by their first points. It searches for
tvalues in the input curve for the last point on the output curve, and if it doesn't find one, as it might not in the example here, it just drops an entire segment because it assumes at least one would be found:booleanOperations/Lib/booleanOperations/flatten.py
Line 924 in ebeaf6b
I'm not sure if I'm right on the mark in diagnosing the actual issue, and I certainly don't know what the solution would be at this point. But maybe this is a start.
jamesgk commentedon Aug 10, 2016
cc @typemytype
This is almost certainly a duplicate of #27, and of notofonts/nototools#268 (comment). Basically it's a pretty big issue with BooleanOperations. The code is pretty complex though; I'm hesitant to make any changes for fear of breaking something else.
marekjez86 commentedon Sep 2, 2016
@jamesgk @anthrotype @typemytype @behdad : I will be at AtypI, jamesgk will be at AtypI. @anthrotype I think you will be there also (and I think you own this code).
Could we meet on Wednesday, 14/Sep evening over some food and beer (water or any non-alcoholic drink of your choice if you don't drink alcohol) and fix it?
@khaledhosny : would be be able to help with testing it (will you be around during AtypI)? I would test for any regressions over the next 24 hours after the fix is checked in (ending on Friday, 16/Sep) using our pipeline (as of today we produce 639 different OTF files including one that causes the problem). If there were any issues most likely they'd appear early, but if there were none I'd know on Friday. If there were any issues we could fix them on Thursday or Friday...
What do you think? I want it fixed soon :-)
behdad commentedon Sep 2, 2016
Code is owned by @typemytype . But indeed, all of us (including Khaled and Cosimo) will be at ATypI, so we should get together and tackle this one there. Looks like Wednesday after dinner might work after all. Let's aim for that.
khaledhosny commentedon Sep 2, 2016
Wednesday sounds fine.
anthrotype commentedon Sep 6, 2016
sounds like a plan! 👍
typemytype commentedon Sep 7, 2016
date set!
gr Frederik
www.typemytype.com
anthrotype commentedon Sep 10, 2016
I managed somehow to fix the issue, by simply using the updated pyclipper extension!
Also see the other screenshots at #27 (comment)
pyclipper is also available on PyPI https://pypi.org/project/pyclipper/ with pre-compiled wheels for all Mac, Win and Linux!
I'll send a PR soon 💃
behdad commentedon Sep 10, 2016
Awesome! Now we need something else to do on Wednesday night!
typemytype commentedon Sep 10, 2016
Warsaw nightlife ????? with T-shirts showing those tricky unions :)
gr Frederik
www.typemytype.com
behdad commentedon Sep 10, 2016
I'm looking into arranging a dinner. Stay tuned.
anthrotype commentedon Jun 1, 2018
https://github.com/googlei18n/noto-fonts/issues/1206
typemytype commentedon Jun 1, 2018
Could you post the glif xml? Thanks
anthrotype commentedon Jun 1, 2018
here
anthrotype commentedon Jun 1, 2018
it does not happen to this glyph, which is very similar in shape:
anthrotype commentedon Jun 1, 2018
it definitely has something to do with two points from different contours being on top of each other, and one being a tangent point between line/curve, the other being a sharp corner.
something like #27 -- which we thought was fixed, but apparently not.
typemytype commentedon Jun 10, 2018
the problem is that the bottom part is not straight, its 2 units of, likely a design mistake...
however it should not happen: but it happens when flatting out that extremely shallow line and points got lost, even when the numbers are bigger.
NotoSansMyanmar: medial_ra_wa.w3: straighten up bottom arm, workaroun…