lexi-lambda / blackboard Goto Github PK
View Code? Open in Web Editor NEWA (very) unfinished OpenType Math layout and rendering engine in Racket
A (very) unfinished OpenType Math layout and rendering engine in Racket
IIRC Racket still ships with Pango 1.42. In July 2019 Pango 1.44 added support for fractional spacing. Roughly, fractional spacing allows glyphs to be positioned at something other than a pixel boundary, which makes the intercharacter spacing much more accurate, especially at small sizes. (This is why any text set with racket/draw
looks a little janky and 1990s-ish.)
In this screen grab, the first three lines are drawn with Racket, and the fourth with a Mac OS TextEdit window:
IMHO moving Racket onto Pango 1.44 would have a hugely positive effect on racket/draw
and racket/gui
etc. (Of course Iโm leaving aside whatever other complications might exist, since I am a one-issue voter.) Given the degree of refinement you're trying to achieve, maybe also blackboard
.
I think it would be nice if the project came with a runable usage example. I'm imagining a source file and/or command invocation for actually producing some rendered output, assuming the dependencies are set up correctly.
Did blackboard produce the example.svg linked in the README?
The rest of this issue is an explanation for why I'm asking this, especially since I don't know anything about racket or font rendering.
I saw you complain on twitter that you project has a number of difficult to deal with dependencies. I have used nix flakes a number of times for packaging software that is very picky about dependencies. Sadly that does not mean that I can actually solve those problems in practice, because that kind of thing quickly turns into a time-sink.
Still I was interested, so I spent about an hour on this to go through the first steps of trying to package this as a flake and at document the many loose ends, based on your README.md. I don't have specific plans to actually finish this but I thought I'd still share my initial attempt. You can find my code here if you are interested: https://github.com/mschwaig/blackboard/blob/add-flake-based-build/flake.nix
Feel free to close/ignore this issue as you see fit. Thanks and be well!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.