Git Product home page Git Product logo

Comments (7)

Chlumsky avatar Chlumsky commented on July 20, 2024 2

Keep in mind that this is an approximate rendering method, and it is designed to be most precise at glyph edges. The further away from an edge, the higher the probability that the distance is not evaluated precisely, resulting in an artifact such as this one. This may be mitigated by increasing the distance field density.

from msdfgen.

neurolabusc avatar neurolabusc commented on July 20, 2024

I am experiencing similar issues with msdf-atlas-gen version 1.9. I believe this is a regression, as I can render fonts created with prior versions without these artefacts. The screenshot below shows the issue with a screenPxRange of 1.8000001907348633. Note the n and u. These artefacts appear and dissappear depending as the image grows and shrinks (e.g. not all screenPxRange values).

You can replicate my images with:

msdf-atlas-gen.exe -font Roboto-Regular.ttf -charset chars.txt -pxrange 2 -dimensions 256 256 -format png -json fnt.json -imageout fnt.png

Where chars.txt is a text file with the following characters

"\"\\ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!`?'.,;:()[]{}<>|/@^$-%+=#_&~*"

artefact

from msdfgen.

neurolabusc avatar neurolabusc commented on July 20, 2024

The issue can also be observed by looking at the bitmaps created by the new (defective) and prior (good) versions (generated with same commands as above, but with -dimensions 512 256. Note that two colors touch at full brightness (255) in the new version. Therefore, the interpolated median value precisely between these pixels can be high.

Prior versions:

good

Latest version:
bad

from msdfgen.

Chlumsky avatar Chlumsky commented on July 20, 2024

@neurolabusc You are right that this is a new regression and it would seem that I've made an embarassing mistake in the new error correction algorithm, which should now be fixed by 35caf38. Please try it out and let me know if there are still problems, if not I will release a hotfix version.

from msdfgen.

neurolabusc avatar neurolabusc commented on July 20, 2024

@Chlumsky thanks for the quick response. I will not have access to a development system for the next week. Is it possible that you could share a compiled copy - macOS, Linux or Windows would be fine. You could even use the "pre-release" function for Github releases to let users test your fix.

from msdfgen.

Chlumsky avatar Chlumsky commented on July 20, 2024

@neurolabusc Alright, I have published the pre-release, so you can test it.

from msdfgen.

neurolabusc avatar neurolabusc commented on July 20, 2024
  1. The pre-release resolves my regression issue.
  2. I suggest you close this issue, as the original issue can be resolved by generating the recent RGBA MTSDF textures.
  3. I only tested the 32-bit application, as Windows 10 rejected the 64-bit pre-release claiming it exhibits the Wacatac.B!ml script virus. I suspect this is a false alarm, but it might be nice to see if the 64-bit version can be packaged in such a way to avoid this issue.

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.