Git Product home page Git Product logo

Comments (11)

behdad avatar behdad commented on July 20, 2024 1

TrueType-flavored OpenType fonts (aka TTF) conventionally have clockwise outer contours, while CFF-flavored ones (aka OTF) have the reverse. That said, these are conventions, and both work perfectly fine in most apps if they do not follow the convention. I have some code in GLyphy for fixing up contour directions if you care to check.

from msdfgen.

daredevildave avatar daredevildave commented on July 20, 2024

I've found some other fonts that appear to be inversed, either completely or partially.

This one seems to be completely inverse: http://www.dafont.com/sports-world.font

from msdfgen.

Chlumsky avatar Chlumsky commented on July 20, 2024

So does the font file specify which direction it uses or am I supposed to guess it from the geometry somehow? Unless it does, I'm thinking of just adding a switch that will invert it. Anyway, for now, you should be able to fix the distance field if you just invert the colors.

from msdfgen.

boulabiar avatar boulabiar commented on July 20, 2024

I had the same problem with svg downloaded from thenounproject.com
I've made some tests in the shader and I have
float sigDist = 0.5- median(sample.r, sample.g, sample.b);
or
float sigDist = median(sample.r, sample.g, sample.b) - 0.5;
depending on the case. (it's just a temporary solution..)

from msdfgen.

Chlumsky avatar Chlumsky commented on July 20, 2024

I have added an option (-reverseorder) that will fix the output for shapes defined in reverse order.

from msdfgen.

chaoticbob avatar chaoticbob commented on July 20, 2024

@Chlumsky - I borrowed the logic from invertColor for OTF fonts and the result looks in correct. I changed the 0.5 to 1.0 and it seems to produce correct results. Wondering if I'm missing something on this? Font is Chalet Comprime Cologne 1980. It also lives in various places on the internet.

Also wondering if anyone has seen this on TTF font as well?

from msdfgen.

daredevildave avatar daredevildave commented on July 20, 2024

The -reverseorder flag doesn't seem to be working correctly as noted above.

Compare the two results below. First is generated using no -reverseorder flag and then the image is inverted in graphics magic. Second is generated using -reverseorder flag.

I believe the error is as noted above. If you change the value in invertColor from 0.5 to 1.0. The results come out the same.

sports world-correct
sports world-wrong

from msdfgen.

Chlumsky avatar Chlumsky commented on July 20, 2024

You are absolutely right, sorry, I have no idea how I overlooked this.

EDIT: Fixed.

from msdfgen.

Chlumsky avatar Chlumsky commented on July 20, 2024

I'm not getting the same behavior. Actually, what you're claiming is the output with reverse order looks a lot like what would happen before the fix.

from msdfgen.

vkalpias avatar vkalpias commented on July 20, 2024

Looks like you're right. I had a weird local merge on my fork of your repo which seemed to use the old version! Thanks and sorry I'll delete my posts.

from msdfgen.

Chlumsky avatar Chlumsky commented on July 20, 2024

Since 0e68504, the standalone version will automatically guess the orientation of the input by sampling a distance outside the shape's bounds. This can be disabled by -keeporder or -reverseorder.

from msdfgen.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.