[Fontconfig] fontconfig: Branch 'master'

Akira TAGOH tagoh at kemper.freedesktop.org
Sun May 10 19:03:59 PDT 2015


 fc-query/fc-query.c    |   19 ++++++++++++++-----
 fc-query/fc-query.sgml |   12 ++++++++++++
 fc-scan/fc-scan.c      |   21 +++++++++++++++------
 fc-scan/fc-scan.sgml   |   14 +++++++++++++-
 4 files changed, 54 insertions(+), 12 deletions(-)

New commits:
commit 4c040d393dfb47b8a2f75fb639f6b5e92fced6f3
Author: Akira TAGOH <akira at tagoh.org>
Date:   Wed Apr 22 19:37:46 2015 +0900

    Observe blanks to compute correct languages in fc-query/fc-scan
    
    Added --ignore-blanks option to get back the behavior.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=79955

diff --git a/fc-query/fc-query.c b/fc-query/fc-query.c
index 2983e0f..d3bd9ff 100644
--- a/fc-query/fc-query.c
+++ b/fc-query/fc-query.c
@@ -52,6 +52,7 @@
 #define _GNU_SOURCE
 #include <getopt.h>
 static const struct option longopts[] = {
+    {"ignore-blanks", 0, 0, 'b'},
     {"index", 1, 0, 'i'},
     {"format", 1, 0, 'f'},
     {"version", 0, 0, 'V'},
@@ -70,15 +71,16 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-Vh] [-i index] [-f FORMAT] [--index index] [--format FORMAT] [--version] [--help] font-file...\n",
+    fprintf (file, "usage: %s [-Vbh] [-i index] [-f FORMAT] [--ignore-blanks] [--index index] [--format FORMAT] [--version] [--help] font-file...\n",
 	     program);
 #else
-    fprintf (file, "usage: %s [-Vh] [-i index] [-f FORMAT] font-file...\n",
+    fprintf (file, "usage: %s [-Vbh] [-i index] [-f FORMAT] font-file...\n",
 	     program);
 #endif
     fprintf (file, "Query font files and print resulting pattern(s)\n");
     fprintf (file, "\n");
 #if HAVE_GETOPT_LONG
+    fprintf (file, "  -b, --ignore-blanks  ignore blanks to compute langauges\n");
     fprintf (file, "  -i, --index INDEX    display the INDEX face of each font file only\n");
     fprintf (file, "  -f, --format=FORMAT  use the given output format\n");
     fprintf (file, "  -V, --version        display font config version and exit\n");
@@ -97,19 +99,24 @@ main (int argc, char **argv)
 {
     int		index_set = 0;
     int		set_index = 0;
+    int		ignore_blanks = 0;
     FcChar8     *format = NULL;
+    FcBlanks    *blanks = NULL;
     int		err = 0;
     int		i;
 #if HAVE_GETOPT_LONG || HAVE_GETOPT
     int		c;
 
 #if HAVE_GETOPT_LONG
-    while ((c = getopt_long (argc, argv, "i:f:Vh", longopts, NULL)) != -1)
+    while ((c = getopt_long (argc, argv, "bi:f:Vh", longopts, NULL)) != -1)
 #else
-    while ((c = getopt (argc, argv, "i:f:Vh")) != -1)
+    while ((c = getopt (argc, argv, "bi:f:Vh")) != -1)
 #endif
     {
 	switch (c) {
+	case 'b':
+	    ignore_blanks = 1;
+	    break;
 	case 'i':
 	    index_set = 1;
 	    set_index = atoi (optarg);
@@ -135,6 +142,8 @@ main (int argc, char **argv)
     if (i == argc)
 	usage (argv[0], 1);
 
+    if (!ignore_blanks)
+	blanks = FcConfigGetBlanks (NULL);
     for (; i < argc; i++)
     {
 	int index;
@@ -145,7 +154,7 @@ main (int argc, char **argv)
 	do {
 	    FcPattern *pat;
 
-	    pat = FcFreeTypeQuery ((FcChar8 *) argv[i], index, NULL, &count);
+	    pat = FcFreeTypeQuery ((FcChar8 *) argv[i], index, blanks, &count);
 	    if (pat)
 	    {
 		if (format)
diff --git a/fc-query/fc-query.sgml b/fc-query/fc-query.sgml
index 5351d1e..fd51d21 100644
--- a/fc-query/fc-query.sgml
+++ b/fc-query/fc-query.sgml
@@ -65,6 +65,10 @@ manpage.1: manpage.sgml
       <arg><option>-Vh</option></arg>
       <sbr>
       <group>
+	<arg><option>-b</option></arg>
+	<arg><option>--ignore-blanks</option></arg>
+      </group>
+      <group>
         <arg><option>-i</option> <option><replaceable>index</replaceable></option></arg>
         <arg><option>--index</option> <option><replaceable>index</replaceable></option></arg>
       </group>
@@ -97,6 +101,14 @@ manpage.1: manpage.sgml
 
     <variablelist>
       <varlistentry>
+	<term><option>-b</option>
+	  <option>--ignore-blanks</option>
+	</term>
+	<listitem>
+	  <para>Ignore blanks to compute languages</para>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
         <term><option>-i</option>
           <option>--index</option>
 	  <option><replaceable>index</replaceable></option>
diff --git a/fc-scan/fc-scan.c b/fc-scan/fc-scan.c
index 5638b51..089c255 100644
--- a/fc-scan/fc-scan.c
+++ b/fc-scan/fc-scan.c
@@ -52,6 +52,7 @@
 #define _GNU_SOURCE
 #include <getopt.h>
 static const struct option longopts[] = {
+    {"ignore-blanks", 0, 0, 'b'},
     {"format", 1, 0, 'f'},
     {"version", 0, 0, 'V'},
     {"help", 0, 0, 'h'},
@@ -69,15 +70,16 @@ usage (char *program, int error)
 {
     FILE *file = error ? stderr : stdout;
 #if HAVE_GETOPT_LONG
-    fprintf (file, "usage: %s [-Vh] [-f FORMAT] [--format FORMAT] [--version] [--help] font-file...\n",
+    fprintf (file, "usage: %s [-Vbh] [-f FORMAT] [--ignore-blanks] [--format FORMAT] [--version] [--help] font-file...\n",
 	     program);
 #else
-    fprintf (file, "usage: %s [-Vh] [-f FORMAT] font-file...\n",
+    fprintf (file, "usage: %s [-Vbh] [-f FORMAT] font-file...\n",
 	     program);
 #endif
     fprintf (file, "Scan font files and directories, and print resulting pattern(s)\n");
     fprintf (file, "\n");
 #if HAVE_GETOPT_LONG
+    fprintf (file, "  -b, --ignore-blanks  ignore blanks to compute languages\n");
     fprintf (file, "  -f, --format=FORMAT  use the given output format\n");
     fprintf (file, "  -V, --version        display font config version and exit\n");
     fprintf (file, "  -h, --help           display this help and exit\n");
@@ -94,17 +96,22 @@ main (int argc, char **argv)
 {
     FcChar8     *format = NULL;
     int		i;
+    int		ignore_blanks = 0;
     FcFontSet   *fs;
+    FcBlanks    *blanks = NULL;
 #if HAVE_GETOPT_LONG || HAVE_GETOPT
     int		c;
 
 #if HAVE_GETOPT_LONG
-    while ((c = getopt_long (argc, argv, "f:Vh", longopts, NULL)) != -1)
+    while ((c = getopt_long (argc, argv, "bf:Vh", longopts, NULL)) != -1)
 #else
-    while ((c = getopt (argc, argv, "f:Vh")) != -1)
+    while ((c = getopt (argc, argv, "bf:Vh")) != -1)
 #endif
     {
 	switch (c) {
+	case 'b':
+	    ignore_blanks = 1;
+	    break;
 	case 'f':
 	    format = (FcChar8 *) strdup (optarg);
 	    break;
@@ -127,20 +134,22 @@ main (int argc, char **argv)
 	usage (argv[0], 1);
 
     fs = FcFontSetCreate ();
+    if (!ignore_blanks)
+	blanks = FcConfigGetBlanks (NULL);
 
     for (; i < argc; i++)
     {
 	const FcChar8 *file = (FcChar8*) argv[i];
 
 	if (!FcFileIsDir (file))
-	    FcFileScan (fs, NULL, NULL, NULL, file, FcTrue);
+	    FcFileScan (fs, NULL, NULL, blanks, file, FcTrue);
 	else
 	{
 	    FcStrSet *dirs = FcStrSetCreate ();
 	    FcStrList *strlist = FcStrListCreate (dirs);
 	    do
 	    {
-		FcDirScan (fs, dirs, NULL, NULL, file, FcTrue);
+		FcDirScan (fs, dirs, NULL, blanks, file, FcTrue);
 	    }
 	    while ((file = FcStrListNext (strlist)));
 	    FcStrListDone (strlist);
diff --git a/fc-scan/fc-scan.sgml b/fc-scan/fc-scan.sgml
index 9af403c..65a66c4 100644
--- a/fc-scan/fc-scan.sgml
+++ b/fc-scan/fc-scan.sgml
@@ -62,9 +62,13 @@ manpage.1: manpage.sgml
     <cmdsynopsis>
       <command>&dhpackage;</command>
 
-      <arg><option>-Vh</option></arg>
+      <arg><option>-Vbh</option></arg>
       <sbr>
       <group>
+	<arg><option>-b</option></arg>
+	<arg><option>--ignore-blanks</option></arg>
+      </group>
+      <group>
         <arg><option>-f</option> <option><replaceable>format</replaceable></option></arg>
         <arg><option>--format</option> <option><replaceable>format</replaceable></option></arg>
       </group>
@@ -91,6 +95,14 @@ manpage.1: manpage.sgml
 
     <variablelist>
       <varlistentry>
+	<term><option>-b</option>
+	  <option>--ignore-blanks</option>
+	</term>
+	<listitem>
+	  <para>Ignore blanks to compute languages</para>
+	</listitem>
+      </varlistentry>
+      <varlistentry>
         <term><option>-f</option>
           <option>--format</option>
 	  <option><replaceable>format</replaceable></option>


More information about the Fontconfig mailing list