summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2011-06-20 11:22:17 -0400
committerBehdad Esfahbod <behdad@behdad.org>2011-06-20 11:22:17 -0400
commite0be405a1dd5765e36152c754a47c8ad7ff0ab85 (patch)
tree5a02965a7ec142e5b27dced988f1ee893404eac7
parent0fcf866d44c46bd63d91f656e36544b6ce9af47d (diff)
Bug 26718 - "fc-match sans file" doesn't work
- Do not throw away FC_FILE in FcNameUnparse - Update the builtin "fclist" format to remove FC_FILE properly instead - Switch fc-list to use FcPatternFormat() Note that I had previously broken fc-list and it was not showing the file name anymore. No one noticed that it seems! Now fixed.
-rw-r--r--fc-list/fc-list.c17
-rw-r--r--src/fcformat.c2
-rw-r--r--src/fcname.c3
3 files changed, 6 insertions, 16 deletions
diff --git a/fc-list/fc-list.c b/fc-list/fc-list.c
index 12c2ca55..ad383328 100644
--- a/fc-list/fc-list.c
+++ b/fc-list/fc-list.c
@@ -156,7 +156,9 @@ main (int argc, char **argv)
if (quiet && !os)
os = FcObjectSetCreate ();
if (!verbose && !format && !os)
- os = FcObjectSetBuild (FC_FAMILY, FC_STYLE, (char *) 0);
+ os = FcObjectSetBuild (FC_FAMILY, FC_STYLE, FC_FILE, (char *) 0);
+ if (!format)
+ format = "%{=fclist}\n";
fs = FcFontList (0, pat, os);
if (os)
FcObjectSetDestroy (os);
@@ -173,7 +175,7 @@ main (int argc, char **argv)
{
FcPatternPrint (fs->fonts[j]);
}
- else if (format)
+ else
{
FcChar8 *s;
@@ -184,17 +186,6 @@ main (int argc, char **argv)
free (s);
}
}
- else
- {
- FcChar8 *str;
- FcChar8 *file;
-
- str = FcNameUnparse (fs->fonts[j]);
- if (FcPatternGetString (fs->fonts[j], FC_FILE, 0, &file) == FcResultMatch)
- printf ("%s: ", file);
- printf ("%s\n", str);
- free (str);
- }
}
}
diff --git a/src/fcformat.c b/src/fcformat.c
index 1368b718..796957db 100644
--- a/src/fcformat.c
+++ b/src/fcformat.c
@@ -75,7 +75,7 @@
#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}}"
diff --git a/src/fcname.c b/src/fcname.c
index 86c10b65..d77eff6f 100644
--- a/src/fcname.c
+++ b/src/fcname.c
@@ -874,8 +874,7 @@ FcNameUnparseEscaped (FcPattern *pat, FcBool escape)
{
o = &l->types[i];
if (!strcmp (o->object, FC_FAMILY) ||
- !strcmp (o->object, FC_SIZE) ||
- !strcmp (o->object, FC_FILE))
+ !strcmp (o->object, FC_SIZE))
continue;
e = FcPatternObjectFindElt (pat, FcObjectFromName (o->object));