On Friday, 21 March 2014 at 12:27:57 UTC, Rikki Cattermole wrote: > On Friday, 21 March 2014 at 11:04:58 UTC, Vladimir Panteleev wrote: >> http:// blog.thecyb ershadow.net/ 2014/03/ 21/functional- image- processing- in-d/ >> >> Some highlights from a recent overhaul of the graphics package from my D library. It makes use of a number of D-specific language features, so I've tried to make the article accessible to people new to D as well. Some highlights from a recent overhaul of the graphics package from my D library. It makes use of a number of D-specific language features, so I've tried to make the article accessible to people new to D as well. > > Are you planning on adding a font rasterizer On Friday, 21 March 2014 at 11:04:58 UTC, Vladimir Panteleev wrote:Are you planning on adding a font rasterizer > and can it work at CTFE? This program almost works: string drawSmiley() { import std.range; import std.math; import ae.utils.graphics.draw; import ae.utils.graphics.image; auto smiley = Image!char(20, 20); smiley.fill(' '); smiley.fillCircle(10, 10, 10, '#'); smiley.fillCircle( 6, 6, 2, ' '); smiley.fillCircle(14, 6, 2, ' '); smiley.fillSector(10, 10, 6, 8, 0, PI, ' '); return smiley.h.iota.map!(y => smiley. scanline(y)). join("

"). idup; } pragma(msg, drawSmiley); "almost" because fillSector calls atan2, which doesn't work in CTFE. :( (And yeah, I totally did just declare an image with a colorspace of "char".)