/*
- * $XFree86: xc/lib/Fc/xftname.c,v 1.10 2001/03/30 18:50:18 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/src/fcname.c,v 1.7 2002/06/03 08:31:15 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
{ FC_SLANT, FcTypeInteger, },
{ FC_WEIGHT, FcTypeInteger, },
{ FC_SIZE, FcTypeDouble, },
+ { FC_ASPECT, FcTypeDouble, },
{ FC_PIXEL_SIZE, FcTypeDouble, },
{ FC_SPACING, FcTypeInteger, },
{ FC_FOUNDRY, FcTypeString, },
for (i = 0; i < l->ntypes; i++)
{
t = &l->types[i];
- if (!FcStrCmpIgnoreCase ((FcChar8 *) object, (FcChar8 *) t->object))
+ if (!strcmp (object, t->object))
return t;
}
}
{ (FcChar8 *) "mono", "spacing", FC_MONO, },
{ (FcChar8 *) "charcell", "spacing", FC_CHARCELL, },
+ { (FcChar8 *) "none", "rgba", FC_RGBA_NONE },
{ (FcChar8 *) "rgb", "rgba", FC_RGBA_RGB, },
{ (FcChar8 *) "bgr", "rgba", FC_RGBA_BGR, },
{ (FcChar8 *) "vrgb", "rgba", FC_RGBA_VRGB },
bail0:
return 0;
}
-
-static void
-FcNameBufInit (FcNameBuf *buf, FcChar8 *init, int size)
-{
- buf->buf = init;
- buf->allocated = FcFalse;
- buf->failed = FcFalse;
- buf->len = 0;
- buf->size = size;
-}
-
-static void
-FcNameBufDestroy (FcNameBuf *buf)
-{
- if (buf->allocated)
- free (buf->buf);
-}
-
-static FcChar8 *
-FcNameBufDone (FcNameBuf *buf)
-{
- FcChar8 *ret;
-
- ret = malloc (buf->len + 1);
- if (ret)
- {
- memcpy (ret, buf->buf, buf->len);
- ret[buf->len] = '\0';
- }
- FcNameBufDestroy (buf);
- return ret;
-}
-
-FcBool
-FcNameBufChar (FcNameBuf *buf, FcChar8 c)
-{
- if (buf->len == buf->size)
- {
- FcChar8 *new;
- int size;
-
- if (buf->allocated)
- {
- size = buf->size * 2;
- new = realloc (buf->buf, size);
- }
- else
- {
- size = buf->size + 1024;
- new = malloc (size);
- if (new)
- {
- buf->allocated = FcTrue;
- memcpy (new, buf->buf, buf->len);
- }
- }
- if (!new)
- {
- buf->failed = FcTrue;
- return FcFalse;
- }
- buf->size = size;
- buf->buf = new;
- }
- buf->buf[buf->len++] = c;
- return FcTrue;
-}
-
-FcBool
-FcNameBufString (FcNameBuf *buf, const FcChar8 *s)
-{
- FcChar8 c;
- while ((c = *s++))
- if (!FcNameBufChar (buf, c))
- return FcFalse;
- return FcTrue;
-}
-
static FcBool
-FcNameUnparseString (FcNameBuf *buf,
+FcNameUnparseString (FcStrBuf *buf,
const FcChar8 *string,
const FcChar8 *escape)
{
{
if (escape && strchr ((char *) escape, (char) c))
{
- if (!FcNameBufChar (buf, escape[0]))
+ if (!FcStrBufChar (buf, escape[0]))
return FcFalse;
}
- if (!FcNameBufChar (buf, c))
+ if (!FcStrBufChar (buf, c))
return FcFalse;
}
return FcTrue;
}
static FcBool
-FcNameUnparseValue (FcNameBuf *buf,
+FcNameUnparseValue (FcStrBuf *buf,
FcValue v,
FcChar8 *escape)
{
return FcNameUnparseString (buf, temp, 0);
case FcTypeCharSet:
return FcNameUnparseCharSet (buf, v.u.c);
+ case FcTypeFTFace:
+ return FcTrue;
}
return FcFalse;
}
static FcBool
-FcNameUnparseValueList (FcNameBuf *buf,
+FcNameUnparseValueList (FcStrBuf *buf,
FcValueList *v,
FcChar8 *escape)
{
FcChar8 *
FcNameUnparse (FcPattern *pat)
{
- FcNameBuf buf;
+ FcStrBuf buf;
FcChar8 buf_static[8192];
int i;
FcPatternElt *e;
const FcObjectTypeList *l;
const FcObjectType *o;
- FcNameBufInit (&buf, buf_static, sizeof (buf_static));
- e = FcPatternFind (pat, FC_FAMILY, FcFalse);
+ FcStrBufInit (&buf, buf_static, sizeof (buf_static));
+ e = FcPatternFindElt (pat, FC_FAMILY);
if (e)
{
if (!FcNameUnparseValueList (&buf, e->values, (FcChar8 *) FC_ESCAPE_FIXED))
goto bail0;
}
- e = FcPatternFind (pat, FC_SIZE, FcFalse);
+ e = FcPatternFindElt (pat, FC_SIZE);
if (e)
{
if (!FcNameUnparseString (&buf, (FcChar8 *) "-", 0))
!strcmp (o->object, FC_FILE))
continue;
- e = FcPatternFind (pat, o->object, FcFalse);
+ e = FcPatternFindElt (pat, o->object);
if (e)
{
if (!FcNameUnparseString (&buf, (FcChar8 *) ":", 0))
}
}
}
- return FcNameBufDone (&buf);
+ return FcStrBufDone (&buf);
bail0:
- FcNameBufDestroy (&buf);
+ FcStrBufDestroy (&buf);
return 0;
}