27 lines
651 B
D
27 lines
651 B
D
import stb_truetype;
|
|
|
|
import core.stdc.stdio;
|
|
import core.stdc.stdlib;
|
|
|
|
ubyte[] FONT_DATA = cast(ubyte[])import("pc-9800.ttf");
|
|
stbtt_bakedchar[96] cdata;
|
|
|
|
void
|
|
main(string[] args)
|
|
{
|
|
char arg1 = args.length > 1 ? args[1][0] : 'a';
|
|
|
|
stbtt_fontinfo font;
|
|
ubyte* bitmap;
|
|
int w,h,i,j,c = (arg1), s = (args.length > 2 ? atoi(args[2].ptr) : 20);
|
|
|
|
stbtt_InitFont(&font, FONT_DATA.ptr, stbtt_GetFontOffsetForIndex(FONT_DATA.ptr, 0));
|
|
bitmap = stbtt_GetCodepointBitmap(&font, 0, stbtt_ScaleForPixelHeight(&font, s), c, &w, &h, null, null);
|
|
|
|
for (j=0; j < h; ++j) {
|
|
for (i=0; i < w; ++i)
|
|
putchar(" .:ioVM@"[bitmap[j*w+i]>>5]);
|
|
putchar('\n');
|
|
}
|
|
}
|