|
Packit |
352660 |
#include <fontconfig/fontconfig.h>
|
|
Packit |
352660 |
#include <stdio.h>
|
|
Packit |
352660 |
|
|
Packit |
352660 |
static int
|
|
Packit |
352660 |
test (const FcChar8 *query, const FcPattern *expect)
|
|
Packit |
352660 |
{
|
|
Packit |
352660 |
FcPattern *pat;
|
|
Packit |
352660 |
int c = 0;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
c++;
|
|
Packit |
352660 |
pat = FcNameParse (query);
|
|
Packit |
352660 |
if (!pat)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
c++;
|
|
Packit |
352660 |
if (!FcPatternEqual (pat, expect))
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
c = 0;
|
|
Packit |
352660 |
bail:
|
|
Packit |
352660 |
FcPatternDestroy (pat);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
return c;
|
|
Packit |
352660 |
}
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define BEGIN(x) (x) = FcPatternCreate (); c++;
|
|
Packit |
352660 |
#define END(x) FcPatternDestroy (x); (x) = NULL
|
|
Packit |
352660 |
int
|
|
Packit |
352660 |
main (void)
|
|
Packit |
352660 |
{
|
|
Packit |
352660 |
FcPattern *expect;
|
|
Packit |
352660 |
int c = 0, ret;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
BEGIN (expect) {
|
|
Packit |
352660 |
FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"sans-serif");
|
|
Packit |
352660 |
if ((ret = test ((const FcChar8 *)"sans\\-serif", expect)) != 0)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
} END (expect);
|
|
Packit |
352660 |
BEGIN (expect) {
|
|
Packit |
352660 |
FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Foo");
|
|
Packit |
352660 |
FcPatternAddInteger (expect, FC_SIZE, 10);
|
|
Packit |
352660 |
if ((ret = test ((const FcChar8 *)"Foo-10", expect)) != 0)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
} END (expect);
|
|
Packit |
352660 |
BEGIN (expect) {
|
|
Packit |
352660 |
FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Foo");
|
|
Packit |
352660 |
FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Bar");
|
|
Packit |
352660 |
FcPatternAddInteger (expect, FC_SIZE, 10);
|
|
Packit |
352660 |
if ((ret = test ((const FcChar8 *)"Foo,Bar-10", expect)) != 0)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
} END (expect);
|
|
Packit |
352660 |
BEGIN (expect) {
|
|
Packit |
352660 |
FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Foo");
|
|
Packit |
352660 |
FcPatternAddInteger (expect, FC_WEIGHT, FC_WEIGHT_MEDIUM);
|
|
Packit |
352660 |
if ((ret = test ((const FcChar8 *)"Foo:weight=medium", expect)) != 0)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
} END (expect);
|
|
Packit |
352660 |
BEGIN (expect) {
|
|
Packit |
352660 |
FcPatternAddString (expect, FC_FAMILY, (const FcChar8 *)"Foo");
|
|
Packit |
352660 |
FcPatternAddInteger (expect, FC_WEIGHT, FC_WEIGHT_MEDIUM);
|
|
Packit |
352660 |
if ((ret = test ((const FcChar8 *)"Foo:weight_medium", expect)) != 0)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
} END (expect);
|
|
Packit |
352660 |
BEGIN (expect) {
|
|
Packit |
352660 |
FcPatternAddInteger (expect, FC_WEIGHT, FC_WEIGHT_MEDIUM);
|
|
Packit |
352660 |
if ((ret = test ((const FcChar8 *)":medium", expect)) != 0)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
} END (expect);
|
|
Packit |
352660 |
BEGIN (expect) {
|
|
Packit |
352660 |
FcPatternAddInteger (expect, FC_WIDTH, FC_WIDTH_NORMAL);
|
|
Packit |
352660 |
if ((ret = test ((const FcChar8 *)":normal", expect)) != 0)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
} END (expect);
|
|
Packit |
352660 |
BEGIN (expect) {
|
|
Packit |
352660 |
FcPatternAddInteger (expect, FC_WIDTH, FC_WIDTH_NORMAL);
|
|
Packit |
352660 |
if ((ret = test ((const FcChar8 *)":normal", expect)) != 0)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
} END (expect);
|
|
Packit |
352660 |
BEGIN (expect) {
|
|
Packit |
352660 |
FcRange *r = FcRangeCreateDouble (FC_WEIGHT_MEDIUM, FC_WEIGHT_BOLD);
|
|
Packit |
352660 |
FcPatternAddRange (expect, FC_WEIGHT, r);
|
|
Packit |
352660 |
FcRangeDestroy (r);
|
|
Packit |
352660 |
if ((ret = test ((const FcChar8 *)":weight=[medium bold]", expect)) != 0)
|
|
Packit |
352660 |
goto bail;
|
|
Packit |
352660 |
} END (expect);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
bail:
|
|
Packit |
352660 |
if (expect)
|
|
Packit |
352660 |
FcPatternDestroy (expect);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
return ret == 0 ? 0 : (c - 1) * 2 + ret;
|
|
Packit |
352660 |
}
|