Giter Site home page Giter Site logo

Wishlish issue about fontdue HOT 7 CLOSED

mooman219 avatar mooman219 commented on August 15, 2024
Wishlish issue

from fontdue.

Comments (7)

AldaronLau avatar AldaronLau commented on August 15, 2024

I'm interested in using this project when it gets to a usable state. But, I think it would make sense to separate the font parser and the rasterizer, since they're really two separate projects. Either have the rasterizer as a feature or a separate crate that depends on the font parser. That way people who want to use a different vector graphics rasterizer can. For my projects I use footile to render 2D graphics, and I don't want to try and integrate another 2D vector graphics renderer. That's why I made fonterator, because I didn't want to integrate my footile rendering code with RustType rendering code (also because their renderer was slow).

from fontdue.

weswigham avatar weswigham commented on August 15, 2024

I wanna make sure the API for the rasterizer is forward compatible with color information embedded in fonts, as for emoji (which is OpenType, I know).

from fontdue.

mooman219 avatar mooman219 commented on August 15, 2024
  • Setting to control the output bitmap format
  • Setting to control mesh quality
  • Maybe something to make WASM easier

from fontdue.

mooman219 avatar mooman219 commented on August 15, 2024
  • Webassembly simd is a real thing apparently, so look into that.

from fontdue.

john01dav avatar john01dav commented on August 15, 2024

I just tried out the new layout engine, and it works great, but there is a small issue with the API. It makes it hard to relate position in an input string as an array-of-characters-type index to position on the screen in pixels. Some sort of matching could be done based on the order of the output vector, but it looks like the order just happens to match and that this isn't an API guarantee, and, more importantly, this ignores whitespace characters. If, for example, you want to put a cursor in the text (as if writing a text view control), then it is important to know where each character is, including whitespace,

from fontdue.

mooman219 avatar mooman219 commented on August 15, 2024

I think it would make sense to separate the font parser and the rasterizer, since they're really two separate projects.

The parser is special for the rasterizer. It does significantly more sanitation than other rust parser right now and would be a work for no benefit. I'll make it a new bug.

Webassembly simd is a real thing apparently, so look into that.

Will add nightly support other SIMD apis that aren't stable.

I just tried out the new layout engine, and it works great, but there is a small issue with the API. It makes it hard to relate position in an input string as an array-of-characters-type....

Order is guaranteed to be in the order the string was given. I'll add an option for including whitespace.

from fontdue.

mooman219 avatar mooman219 commented on August 15, 2024

@john01dav Last commit adds whitespace output optionally via layout settings. Order in the output buffer is guaranteed to be in the order the string was given. Characters from the input string can only be omitted from the output, never reordered.

from fontdue.

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.