]> git.wh0rd.org - fontconfig.git/blobdiff - src/fcformat.c
Switch fc-match to use FcPatternFormat()
[fontconfig.git] / src / fcformat.c
index bf9401740d4b946efa1d4f1293763875a9b60d2d..4a850ee0944df487d95a77417b1615baba70f744 100644 (file)
@@ -7,9 +7,9 @@
  * documentation for any purpose is hereby granted without fee, provided that
  * the above copyright notice appear in all copies and that both that
  * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Keith Packard not be used in
+ * documentation, and that the name of the author(s) not be used in
  * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission.  Keith Packard makes no
+ * specific, written prior permission.  The authors make no
  * representations about the suitability of this software for any purpose.  It
  * is provided "as is" without express or implied warranty.
  *
  *
  * - verbose builtin that is like FcPatternPrint
  * - allow indexing subexprs using '%{[idx]elt1,elt2{subexpr}}'
+ * - allow indexing in +, -, ? filtering?
  * - conditional/filtering/deletion on binding (using '(w)'/'(s)'/'(=)' notation)
  */
 
 
 #define FCMATCH_FORMAT "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
-#define FCLIST_FORMAT  "%{?file{%{file}: }}%{=unparse}"
+#define FCLIST_FORMAT  "%{?file{%{file}: }}%{-file{%{=unparse}}}"
 #define PKGKIT_FORMAT  "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
 
 
@@ -436,6 +437,7 @@ interpret_filter_in (FcFormatContext *c,
 
     do
     {
+       /* XXX binding */
        if (!read_word (c) ||
            !FcObjectSetAdd (os, (const char *) c->word))
        {
@@ -608,7 +610,7 @@ interpret_enumerate (FcFormatContext *c,
     {
        FcLangSet *langset;
        if (FcResultMatch ==
-           FcPatternGetLangSet (pat, os->objects[0], idx, &langset))
+           FcPatternGetLangSet (pat, os->objects[0], 0, &langset))
        {
            FcStrSet *ss;
            if (!(ss = FcLangSetGetLangs (langset)) ||
@@ -636,6 +638,7 @@ interpret_enumerate (FcFormatContext *c,
            FcPatternDel (subpat, os->objects[0]);
            if ((lang = FcStrListNext (lang_strs)))
            {
+               /* XXX binding? */
                FcPatternAddString (subpat, os->objects[0], lang);
                done = FcFalse;
            }
@@ -654,6 +657,7 @@ interpret_enumerate (FcFormatContext *c,
                if (FcResultMatch ==
                    FcPatternGet (pat, os->objects[i], idx, &v))
                {
+                   /* XXX binding */
                    FcPatternAdd (subpat, os->objects[i], v, FcFalse);
                    done = FcFalse;
                }
@@ -728,7 +732,7 @@ interpret_simple (FcFormatContext *c,
        c->word = c->word + strlen ((const char *) c->word) + 1;
        /* for now we just support 'default value' */
        if (!expect_char (c, '-') ||
-           !read_chars (c, '\0'))
+           !read_chars (c, '|'))
        {
            c->word = orig;
            return FcFalse;
@@ -788,6 +792,8 @@ cescape (FcFormatContext *c,
         const FcChar8   *str,
         FcStrBuf        *buf)
 {
+    /* XXX escape \n etc? */
+
     while(*str)
     {
        switch (*str)
@@ -825,6 +831,8 @@ xmlescape (FcFormatContext *c,
           const FcChar8   *str,
           FcStrBuf        *buf)
 {
+    /* XXX escape \n etc? */
+
     while(*str)
     {
        switch (*str)