Comments (7)
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.
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.
- Setting to control the output bitmap format
- Setting to control mesh quality
- Maybe something to make WASM easier
from fontdue.
- Webassembly simd is a real thing apparently, so look into that.
from fontdue.
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.
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.
@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)
- C interface HOT 6
- Fonts with variable weight? HOT 2
- Adding an example for calculating the bounding box HOT 8
- can fontdue rasterize with fractional pixel offsets? HOT 5
- SDF texture generation HOT 1
- Ligature support- pairing with other libraries
- Rasterize a whole string HOT 3
- Glyph metrics are incorrect HOT 1
- Font line metrics don't match character metrics
- Png Support HOT 1
- How to rasterize colored emojis HOT 1
- Can you add an example of how to create a simple letter and save as a font? HOT 1
- Option to drop the rest of a line instead of wrapping HOT 2
- Bounding box of laid out text for easy shiftnig of the origin?
- Misaligned pointer dereference in `get_bitmap` HOT 4
- Custom font colors HOT 1
- Live demo error when a glagolitic character ( Ⱆ ) is used HOT 3
- 0.7.4 is a semver break HOT 3
- Slight layout performance regression
- No ability to query font for its name HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fontdue.