Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
F
fontconfig
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
152
Issues
152
List
Boards
Labels
Service Desk
Milestones
Merge Requests
22
Merge Requests
22
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fontconfig
fontconfig
Commits
77c0d8bc
Commit
77c0d8bc
authored
Aug 13, 2008
by
Behdad Esfahbod
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add fc-query (#13019)
parent
d5b6085c
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
408 additions
and
2 deletions
+408
-2
.gitignore
.gitignore
+2
-0
Makefile.am
Makefile.am
+1
-1
configure.in
configure.in
+1
-0
doc/fontconfig-user.sgml
doc/fontconfig-user.sgml
+1
-1
fc-cache/fc-cache.sgml
fc-cache/fc-cache.sgml
+1
-0
fc-cat/fc-cat.sgml
fc-cat/fc-cat.sgml
+1
-0
fc-list/fc-list.sgml
fc-list/fc-list.sgml
+1
-0
fc-match/fc-match.sgml
fc-match/fc-match.sgml
+1
-0
fc-query/Makefile.am
fc-query/Makefile.am
+59
-0
fc-query/fc-query.c
fc-query/fc-query.c
+166
-0
fc-query/fc-query.sgml
fc-query/fc-query.sgml
+174
-0
No files found.
.gitignore
View file @
77c0d8bc
...
...
@@ -78,6 +78,8 @@ fc-list/fc-list
fc-list/fc-list.1
fc-match/fc-match
fc-match/fc-match.1
fc-query/fc-query
fc-query/fc-query.1
src/fontconfig.def
fcalias.h
fcaliastail.h
...
...
Makefile.am
View file @
77c0d8bc
...
...
@@ -23,7 +23,7 @@
DOCSRC
=
@DOCSRC@
SUBDIRS
=
fontconfig fc-case fc-lang fc-glyphname fc-arch src
\
fc-cache fc-cat fc-list fc-match conf.d
$(DOCSRC)
test
fc-cache fc-cat fc-list fc-match
fc-query
conf.d
$(DOCSRC)
test
EXTRA_DIST
=
\
fontconfig.pc.in
\
...
...
configure.in
View file @
77c0d8bc
...
...
@@ -572,6 +572,7 @@ fc-cache/Makefile
fc-cat/Makefile
fc-list/Makefile
fc-match/Makefile
fc-query/Makefile
doc/Makefile
doc/version.sgml
test/Makefile
...
...
doc/fontconfig-user.sgml
View file @
77c0d8bc
...
...
@@ -674,7 +674,7 @@ per-directory caches. This file is automatically maintained by fontconfig.
</refsect1>
<refsect1><title>
See Also
</title>
<para>
fc-ca
che(1), fc-match(1), fc-list
(1)
fc-ca
t(1), fc-cache(1), fc-list(1), fc-match(1), fc-query
(1)
</para>
</refsect1>
<refsect1><title>
Version
</title>
...
...
fc-cache/fc-cache.sgml
View file @
77c0d8bc
...
...
@@ -178,6 +178,7 @@ manpage.1: manpage.sgml
<command>fc-cat</command>(1)
<command>fc-list</command>(1)
<command>fc-match</command>(1)
<command>fc-query</command>(1)
</para>
<para>The fontconfig user's guide, in HTML format:
...
...
fc-cat/fc-cat.sgml
View file @
77c0d8bc
...
...
@@ -134,6 +134,7 @@ manpage.1: manpage.sgml
<command>fc-cache</command>(1)
<command>fc-list</command>(1)
<command>fc-match</command>(1)
<command>fc-query</command>(1)
</para>
<para>The fontconfig user's guide, in HTML format:
...
...
fc-list/fc-list.sgml
View file @
77c0d8bc
...
...
@@ -159,6 +159,7 @@ manpage.1: manpage.sgml
<command>fc-cat</command>(1)
<command>fc-cache</command>(1)
<command>fc-match</command>(1)
<command>fc-query</command>(1)
</para>
<para>The fontconfig user's guide, in HTML format:
...
...
fc-match/fc-match.sgml
View file @
77c0d8bc
...
...
@@ -153,6 +153,7 @@ are printed. The <option>--all</option> option works like
<command>fc-cat</command>(1)
<command>fc-cache</command>(1)
<command>fc-list</command>(1)
<command>fc-query</command>(1)
</para>
<para>The fontconfig user's guide, in HTML format:
...
...
fc-query/Makefile.am
0 → 100644
View file @
77c0d8bc
#
# $Id$
#
# Copyright © 2003 Keith Packard
#
# Permission to use, copy, modify, distribute, and sell this software and its
# 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
# advertising or publicity pertaining to distribution of the software without
# specific, written prior permission. Keith Packard makes no
# representations about the suitability of this software for any purpose. It
# is provided "as is" without express or implied warranty.
#
# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
# EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
bin_PROGRAMS
=
fc-query
DOC2MAN
=
docbook2man
FC_QUERY_SRC
=
${top_srcdir}
/fc-query
SGML
=
${FC_QUERY_SRC}
/fc-query.sgml
INCLUDES
=
-I
${top_srcdir}
$(FREETYPE_CFLAGS)
$(WARN_CFLAGS)
BUILT_MANS
=
fc-query.1
if
ENABLE_DOCS
man_MANS
=
${BUILT_MANS}
endif
EXTRA_DIST
=
fc-query.sgml
$(BUILT_MANS)
fc_query_LDADD
=
${top_builddir}
/src/libfontconfig.la
if
USEDOCBOOK
${man_MANS}
:
${SGML}
$(RM)
$@
$(DOC2MAN)
${SGML}
$(RM)
manpage.refs manpage.links
all-local
:
$(man_MANS)
clean-local
:
$(RM)
$(man_MANS)
else
all-local
:
clean-local
:
endif
fc-query/fc-query.c
0 → 100644
View file @
77c0d8bc
/*
* fontconfig/fc-query/fc-query.c
*
* Copyright © 2003 Keith Packard
* Copyright © 2008 Red Hat, Inc.
* Red Hat Author(s): Behdad Esfahbod
*
* Permission to use, copy, modify, distribute, and sell this software and its
* 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
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#else
#ifdef linux
#define HAVE_GETOPT_LONG 1
#endif
#define HAVE_GETOPT 1
#endif
#include <fontconfig/fontconfig.h>
#include <fontconfig/fcfreetype.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#ifndef HAVE_GETOPT
#define HAVE_GETOPT 0
#endif
#ifndef HAVE_GETOPT_LONG
#define HAVE_GETOPT_LONG 0
#endif
#if HAVE_GETOPT_LONG
#undef _GNU_SOURCE
#define _GNU_SOURCE
#include <getopt.h>
static
const
struct
option
longopts
[]
=
{
{
"index"
,
1
,
0
,
'i'
},
{
"version"
,
0
,
0
,
'V'
},
{
"help"
,
0
,
0
,
'?'
},
{
NULL
,
0
,
0
,
0
},
};
#else
#if HAVE_GETOPT
extern
char
*
optarg
;
extern
int
optind
,
opterr
,
optopt
;
#endif
#endif
static
void
usage
(
char
*
program
)
{
#if HAVE_GETOPT_LONG
fprintf
(
stderr
,
"usage: %s [-V?] [-i index] [--index index] [--version] [--help] font-file...
\n
"
,
program
);
#else
fprintf
(
stderr
,
"usage: %s [-V?] [-i index] font-file...
\n
"
,
program
);
#endif
fprintf
(
stderr
,
"Query font files and print resulting pattern(s)
\n
"
);
fprintf
(
stderr
,
"
\n
"
);
#if HAVE_GETOPT_LONG
fprintf
(
stderr
,
" -i, --index INDEX display the INDEX face of each font file only
\n
"
);
fprintf
(
stderr
,
" -V, --version display font config version and exit
\n
"
);
fprintf
(
stderr
,
" -?, --help display this help and exit
\n
"
);
#else
fprintf
(
stderr
,
" -i INDEX (index) display the INDEX face of each font file only
\n
"
);
fprintf
(
stderr
,
" -a (all) display unpruned sorted list of matches
\n
"
);
fprintf
(
stderr
,
" -V (version) display font config version and exit
\n
"
);
fprintf
(
stderr
,
" -? (help) display this help and exit
\n
"
);
#endif
exit
(
1
);
}
int
main
(
int
argc
,
char
**
argv
)
{
int
index_set
=
0
;
int
set_index
=
0
;
int
err
=
0
;
int
i
;
FcBlanks
*
blanks
;
#if HAVE_GETOPT_LONG || HAVE_GETOPT
int
c
;
#if HAVE_GETOPT_LONG
while
((
c
=
getopt_long
(
argc
,
argv
,
"i:sVv?"
,
longopts
,
NULL
))
!=
-
1
)
#else
while
((
c
=
getopt
(
argc
,
argv
,
"i:asVv?"
))
!=
-
1
)
#endif
{
switch
(
c
)
{
case
'i'
:
index_set
=
1
;
set_index
=
atoi
(
optarg
);
break
;
case
'V'
:
fprintf
(
stderr
,
"fontconfig version %d.%d.%d
\n
"
,
FC_MAJOR
,
FC_MINOR
,
FC_REVISION
);
exit
(
0
);
default:
usage
(
argv
[
0
]);
}
}
i
=
optind
;
#else
i
=
1
;
#endif
if
(
i
==
argc
)
usage
(
argv
[
0
]);
if
(
!
FcInit
())
{
fprintf
(
stderr
,
"Can't init font config library
\n
"
);
return
1
;
}
blanks
=
FcConfigGetBlanks
(
NULL
);
for
(;
i
<
argc
;
i
++
)
{
int
index
;
int
count
=
0
;
index
=
set_index
;
do
{
FcPattern
*
pat
;
pat
=
FcFreeTypeQuery
((
FcChar8
*
)
argv
[
i
],
index
,
blanks
,
&
count
);
if
(
pat
)
{
FcPatternPrint
(
pat
);
FcPatternDestroy
(
pat
);
}
else
{
fprintf
(
stderr
,
"Can't query face %d of font file %s
\n
"
,
index
,
argv
[
i
]);
err
=
1
;
}
index
++
;
}
while
(
!
index_set
&&
index
<
count
);
}
FcFini
();
return
err
;
}
fc-query/fc-query.sgml
0 → 100644
View file @
77c0d8bc
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!-- Process this file with docbook-to-man to generate an nroff manual
page: `docbook-to-man manpage.sgml > manpage.1'. You may view
the manual page with: `docbook-to-man manpage.sgml | nroff -man |
less'. A typical entry in a Makefile or Makefile.am is:
manpage.1: manpage.sgml
docbook-to-man $< > $@
The docbook-to-man binary is found in the docbook-to-man package.
Please remember that if you create the nroff version in one of the
debian/rules file targets (such as build), you will need to include
docbook-to-man in your Build-Depends control field.
-->
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "<firstname>Behdad</firstname>">
<!ENTITY dhsurname "<surname>Esfahbod</surname>">
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>Aug 13, 2008</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>1</manvolnum>">
<!ENTITY dhemail "<email>behdad@behdad.org</email>">
<!ENTITY dhusername "Behdad Esfahbod">
<!ENTITY dhucpackage "<refentrytitle>fc-query</refentrytitle>">
<!ENTITY dhpackage "fc-query">
<!ENTITY gnu "<acronym>GNU</acronym>">
<!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
]>
<refentry>
<refentryinfo>
<address>
&dhemail;
</address>
<author>
&dhfirstname;
&dhsurname;
</author>
<copyright>
<year>2008</year>
<holder>&dhusername;</holder>
</copyright>
&dhdate;
</refentryinfo>
<refmeta>
&dhucpackage;
&dhsection;
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>query font files</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>&dhpackage;</command>
<arg><option>-V?</option></arg>
<arg><option>--version</option></arg>
<arg><option>--help</option></arg>
<sbr>
<group>
<arg><option>-i</option> <option><replaceable>index</replaceable></option></arg>
<arg><option>--index</option> <option><replaceable>index</replaceable></option></arg>
</group>
<arg choice="req" rep="repeat"><option><replaceable>font-file</replaceable></option></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para><command>&dhpackage;</command> queries
<replaceable>font-file</replaceable>(s) using the normal fontconfig
rules and prints out font pattern for each face found.
If <option>--index</option> is given, only one face of each file is
queried, otherwise all faces are queried.</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<para>This program follows the usual &gnu; command line syntax,
with long options starting with two dashes (`-'). A summary of
options is included below.</para>
<variablelist>
<varlistentry>
<term><option>-?</option>
<option>--help</option>
</term>
<listitem>
<para>Show summary of options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-V</option>
<option>--version</option>
</term>
<listitem>
<para>Show version of the program and exit.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-i</option>
<option>--index</option>
<option><replaceable>index</replaceable></option>
</term>
<listitem>
<para>Only query face indexed <replaceable>index</replaceable> of
each file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option><replaceable>font-file</replaceable></option>
</term>
<listitem>
<para>Query <replaceable>font-file</replaceable> for font faces.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>RETURN CODES</title>
<para><command>fc-query</command> returns error code 0 for successful parsing,
or 1 if any errors occured or if at least one font face could not be opened.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
<command>fc-cat</command>(1)
<command>fc-cache</command>(1)
<command>fc-list</command>(1)
<command>fc-match</command>(1)
</para>
<para>The fontconfig user's guide, in HTML format:
<filename>/usr/share/doc/fontconfig/fontconfig-user.html</filename>.</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>This manual page was updated by &dhusername; &dhemail;.</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment