Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add check for outline glitches #3064

Closed
davelab6 opened this issue Oct 18, 2020 · 3 comments
Closed

Add check for outline glitches #3064

davelab6 opened this issue Oct 18, 2020 · 3 comments
Assignees
Labels
New check proposal We expect new check proposals to include a detailed rationale description and a suggested check-id
Milestone

Comments

@davelab6
Copy link
Contributor

Observed behaviour

notofonts/noto-source#245 has an outline glitch

Expected behaviour

I wonder if there is some way to detect it.

@davelab6 davelab6 added the New check proposal We expect new check proposals to include a detailed rationale description and a suggested check-id label Oct 18, 2020
@davelab6 davelab6 added this to the 1.0.0 and beyond - Advanced/fancy stuff milestone Oct 18, 2020
@simoncozens
Copy link
Collaborator

It’s going to be very difficult to distinguish a cut like that from an ink trap.

@simoncozens
Copy link
Collaborator

Here’s an idea: take every pair of successive segments and treat them as a sub path. Close the sub path with a line segment and calculate the area. If the area is less than epsilon, there is a glitch.

@felipesanches felipesanches modified the milestones: 1.0.0 and beyond - Advanced/fancy stuff, 0.7.32 Nov 12, 2020
@kalapi
Copy link

kalapi commented Aug 1, 2024

FontBakery v0.12.9

I'm getting a lot of false positives on the com.google.fonts/check/outline_jaggy_segments check. In very large families double checking all the warnings to ensure if any are actually affecting output can become very cumbersome and time consuming. Is there a way we can make this algorithm more efficient?

The algorithm in its current state might flag mild to extreme condensed designs.

Some examples:

⚠️ WARN The following glyphs have jaggy segments:

  • M (U+004D): L<<276.0,86.0>--<163.0,592.0>>/L<<163.0,592.0>--<163.0,143.0>> = 12.588740511051117
  • M (U+004D): L<<584.0,143.0>--<584.0,592.0>>/L<<584.0,592.0>--<443.0,0.0>> = 13.396859158897033
  • trademark (U+2122): L<<586.0,400.0>--<519.0,664.0>>/L<<519.0,664.0>--<519.0,434.0>> = 14.2403237429406

Warning 1 'M': is related to the selected segments in the image below:

Warning 2 'M': is related to the selected segments in the image below:

Warning 3 'trademark': is related to the selected segments in the image below:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
New check proposal We expect new check proposals to include a detailed rationale description and a suggested check-id
Projects
None yet
Development

No branches or pull requests

4 participants