Пример #1
0
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);
}
Пример #2
0
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;
}