void testFallback() { sceFontSetAltCharacterCode(fontLib, 0); uint error; FontHandle font = sceFontOpenUserFile(fontLib, "ltn0.pgf", 1, &error); if (error != 0) { printf("TESTERROR: Unable to open font ltn0.pgf\n"); return; } checkpointNext("Fallbacks:"); FontCharInfo charInfo; int result; sceFontSetAltCharacterCode(fontLib, 0x0000); result = sceFontGetCharInfo(font, 0xFFFF, &charInfo); checkpoint(" sceFontGetCharInfo 0xFFFF (0x0000): %08x, %d", result, charInfo.bitmapHeight); sceFontSetAltCharacterCode(fontLib, 0x005F); result = sceFontGetCharInfo(font, 0xFFFF, &charInfo); checkpoint(" sceFontGetCharInfo 0xFFFF (0x005F): %08x, %d", result, charInfo.bitmapHeight); sceFontSetAltCharacterCode(fontLib, 0xFFFF); result = sceFontGetCharInfo(font, 0xFFFF, &charInfo); checkpoint(" sceFontGetCharInfo 0xFFFF (0xFFFF): %08x, %d", result, charInfo.bitmapHeight); sceFontClose(font); }
vita2d_pgf *vita2d_load_custom_pgf(const char *path) { unsigned int error; vita2d_pgf *font = vita2d_load_pgf_pre(1); if (!font) return NULL; vita2d_pgf_font_handle *handle = malloc(sizeof(vita2d_pgf_font_handle)); if (!handle) { free(font); return NULL; } SceFontHandle font_handle = sceFontOpenUserFile(font->lib_handle, (char *)path, 1, &error); if (error != 0) { sceFontDoneLib(font->lib_handle); free(handle); free(font); return NULL; } memset(handle, 0, sizeof(vita2d_pgf_font_handle)); handle->font_handle = font_handle; font->font_handle_list = handle; vita2d_load_pgf_post(font); return font; }
bool loadFontHandles() { FontNewLibParams libParams; memset(&libParams, 0, sizeof(libParams)); libParams.allocFuncAddr = allocQuiet; libParams.freeFuncAddr = freeQuiet; libParams.numFonts = 4; uint error = -1; fontLib = sceFontNewLib(&libParams, &error); font = sceFontOpenUserFile(fontLib, "ltn0.pgf", 1, &error); if (font <= 0) { printf("TEST ERROR: Unable to load ltn0.pgf\n"); return false; } fontClosed = sceFontOpenUserFile(fontLib, "ltn0.pgf", 1, &error); sceFontClose(fontClosed); return true; }