From 0178c698712832d4d19e9303edacbe7e8a034891 Mon Sep 17 00:00:00 2001 From: mrwastl Date: Wed, 29 Jun 2011 01:17:41 +0200 Subject: fix saving of PBMs, fix crtfont and genfont; remove cBitmap::LoadPBM()/::SavePBM (use cPMFile::Load()/Save()) instead; fixed cBitmap::SubBitmap(); add static methods for converting from and to 1BPP --- tools/genfont/genfont.c | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) (limited to 'tools/genfont/genfont.c') diff --git a/tools/genfont/genfont.c b/tools/genfont/genfont.c index ce9698d..980c55b 100644 --- a/tools/genfont/genfont.c +++ b/tools/genfont/genfont.c @@ -19,6 +19,8 @@ #include #include +#include +#include static const char *prgname = "genfont"; static const char *version = "0.0.2"; @@ -138,9 +140,10 @@ int main(int argc, char *argv[]) fprintf(descFile, "spacebetween:%d\n", 0); fprintf(descFile, "spacewidth:%d\n", 0); - for (unsigned int i = 0; i < 256; i++) + for (uint32_t i = 0; i < 256; i++) { - const GLCD::cBitmap * charBitmap = font.GetCharacter((char) i); + const GLCD::cBitmap * charBitmap = font.GetCharacter(i); + if (charBitmap == NULL) continue; @@ -155,12 +158,33 @@ int main(int argc, char *argv[]) } } + // invert image + for(int y=0; y < bitmap->Height(); y++) { + for(int x=0; x < bitmap->Width(); x++) { + bitmap->DrawPixel(x, y, GLCD::cColor(bitmap->GetPixel(x, y)).Invert()); + } + } + if (posX > 0) // write last end marker fprintf(descFile, "%d\n", posX); fileName = outputName + ".pbm"; - bitmap->SavePBM(fileName); - delete bitmap; + + GLCD::cPBMFile pbm; + GLCD::cImage* image = new GLCD::cImage(); + + if (!image) + return 3; + + image->AddBitmap(bitmap); + + if (pbm.Save(*image, fileName) == false) { + fprintf(stderr, "Cannot save file: %s\n",fileName.c_str()); + delete image; + return 2; + } + fclose(descFile); + delete image; } fprintf(stdout, "Font successfully generated.\n"); -- cgit v1.2.3