1 #ifdef ALTERNATE_CAPTCHA
\r
3 #include "../../../include/freenet/captcha/alternatecaptchafonts.h"
\r
5 #include <Poco/Path.h>
\r
6 #include <Poco/DirectoryIterator.h>
\r
7 #include <Poco/Exception.h>
\r
9 bool AlternateCaptchaFonts::m_fontsloaded(false);
\r
10 std::vector<FreeImage::Font> AlternateCaptchaFonts::m_fonts;
\r
12 AlternateCaptchaFonts::AlternateCaptchaFonts()
\r
14 if(m_fontsloaded==false)
\r
16 FreeImage_Initialise(true);
\r
22 void AlternateCaptchaFonts::LoadFonts()
\r
27 FreeImage::Bitmap bmp;
\r
28 Poco::Path path("fonts");
\r
29 Poco::DirectoryIterator di(path);
\r
30 Poco::DirectoryIterator end;
\r
34 if(di.name().find("bmp")!=std::string::npos)
\r
36 bmp.Load("bmp",di.path().toString());
\r
37 m_fonts.push_back(FreeImage::Font(bmp));
\r
41 if(m_fonts.size()==0)
\r
43 m_log->fatal("AlternateCaptchaFonts::LoadFonts You have no loadable fonts in the font directory!");
\r
46 catch(Poco::Exception &e)
\r
48 m_log->error("AlternateCaptchaFonts::LoadFonts caught "+e.displayText());
\r
52 m_log->error("AlternateCaptchaFonts::LoadFonts caught unknown exception");
\r
57 #endif // ALTERNATE_CAPTCHA
\r