| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*
- * PolyFont.cpp
- * Poly
- *
- * Created by Ivan Safrin on 3/16/08.
- * Copyright 2008 __MyCompanyName__. All rights reserved.
- *
- */
- #include "PolyFont.h"
- using namespace Polycode;
- Font::Font(String fileName) {
- FT_Library FTLibrary;
- FT_Init_FreeType(&FTLibrary);
-
- OSFILE *file = OSBasics::open(fileName, "rb");
- OSBasics::seek(file, 0, SEEK_END);
- long progsize = OSBasics::tell(file);
- OSBasics::seek(file, 0, SEEK_SET);
- buffer = (unsigned char*)malloc(progsize);
- memset(buffer, 0, progsize);
- OSBasics::read(buffer, progsize, 1, file);
-
- valid = true;
- if(FT_New_Memory_Face(FTLibrary, buffer, progsize, 0, &ftFace) != 0) {
- Logger::log("Error loading font %s\n", fileName.c_str());
- valid = false;
- }
-
- FT_Select_Charmap(ftFace, FT_ENCODING_UNICODE);
- //FT_New_Face(FTLibrary, fileName.c_str(), 0, &ftFace);
- // free(buffer);
- }
- bool Font::isValid() {
- return valid;
- }
- Font::~Font() {
- free(buffer);
- }
- FT_Face Font::getFace() {
- return ftFace;
- }
|