gd-libgd / src / fontconfigtest.c

#include <gd.h>

#include "config.h"

int main (int argc, char *argv[])
{
	gdImagePtr im;
	int green, blue;
	gdFTStringExtra se;	
	FILE *out;
	im = gdImageCreateTrueColor(300, 100);
	green = gdImageColorAllocate(im, 128, 255, 128);
	gdImageFilledRectangle(im, 0, 0, 300, 100, green);
	blue = gdImageColorAllocate(im, 128, 128, 255);
	/* Default: fontlist argument is a pathname to a truetype font */
	gdImageStringFT(im, 0, blue, "arial", 
		12, 0, 20, 20, "plain pathname default");
	/* Specifically opt for fontconfig */
	se.flags = gdFTEX_FONTCONFIG;
	gdImageStringFTEx(im, 0, blue, "arial:bold", 
		12, 0, 20, 40, "fontconfig arial:bold", &se);
	/* Change the default to fontconfig */
	if (!gdFTUseFontConfig(1)) {
		fprintf(stderr, "fontconfig not compiled into gd\n");
	}
	/* Use fontconfig by (newly set) default */
	gdImageStringFT(im, 0, blue, "arial:bold",
		12, 0, 20, 60, "fontconfig arial:bold default");
	/* Explicitly use a pathname despite fontconfig default */
	se.flags = gdFTEX_FONTPATHNAME;
	gdImageStringFTEx(im, 0, blue, "arial", 
		12, 0, 20, 80, "plain pathname", &se);
#ifdef HAVE_LIBPNG
	out = fopen("fontconfigtest.png", "wb");
	gdImagePng(im, out);
	fclose(out);
#else
	fprintf(stderr, "PNG not compiled into gd\n");
#endif /* HAVE_LIBPNG */
	return 0;
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.