--- /dev/null
+1 Notes on the Free Translation Project
+***************************************
+
+Free software is going international! The Free Translation Project is a
+way to get maintainers of free software, translators, and users all
+together, so that free software will gradually become able to speak many
+languages. A few packages already provide translations for their
+messages.
+
+ If you found this 'ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU 'gettext' internally,
+itself available at your nearest GNU archive site. But you do _not_
+need to install GNU 'gettext' prior to configuring, installing or using
+this package with messages translated.
+
+ Installers will find here some useful hints. These notes also
+explain how users should proceed for getting the programs to use the
+available translations. They tell how people wanting to contribute and
+work on translations can contact the appropriate team.
+
+1.1 INSTALL Matters
+===================
+
+Some packages are "localizable" when properly installed; the programs
+they contain can be made to speak your own native language. Most such
+packages use GNU 'gettext'. Other packages have their own ways to
+internationalization, predating GNU 'gettext'.
+
+ By default, this package will be installed to allow translation of
+messages. It will automatically detect whether the system already
+provides the GNU 'gettext' functions. Installers may use special
+options at configuration time for changing the default behaviour. The
+command:
+
+ ./configure --disable-nls
+
+will _totally_ disable translation of messages.
+
+ When you already have GNU 'gettext' installed on your system and run
+configure without an option for your new package, 'configure' will
+probably detect the previously built and installed 'libintl' library and
+will decide to use it. If not, you may have to to use the
+'--with-libintl-prefix' option to tell 'configure' where to look for it.
+
+ Internationalized packages usually have many 'po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language. Unless
+translations have been forbidden at 'configure' time by using the
+'--disable-nls' switch, all available translations are installed
+together with the package. However, the environment variable 'LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+'LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+1.2 Using This Package
+======================
+
+As a user, if your language has been installed for this package, you
+only have to set the 'LANG' environment variable to the appropriate
+'LL_CC' combination. If you happen to have the 'LC_ALL' or some other
+'LC_xxx' environment variables set, you should unset them before setting
+'LANG', otherwise the setting of 'LANG' will not have the desired
+effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is
+an ISO 3166 two-letter country code. For example, let's suppose that
+you speak German and live in Germany. At the shell prompt, merely
+execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in
+'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your
+'.login' or '.profile' file, once and for all.
+
+ You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries. For
+example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The
+country code serves to distinguish the dialects.
+
+ The locale naming convention of 'LL_CC', with 'LL' denoting the
+language and 'CC' denoting the country, is the one use on systems based
+on GNU libc. On other systems, some variations of this scheme are used,
+such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales
+supported by your system for your language by running the command
+'locale -a | grep '^LL''.
+
+ Not all programs have translations for all languages. By default, an
+English message is shown in place of a nonexistent translation. If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG'
+for the purpose of message handling, but you still need to have 'LANG'
+set to the primary language; this is required by other parts of the
+system libraries. For example, some Swedish users who would rather read
+translations in German than English for when Swedish is not available,
+set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'.
+
+ Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from 'no' to 'nb' recently (in 2003). During the
+transition period, while some message catalogs for this language are
+installed under 'nb' and some older ones under 'no', it's recommended
+for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and
+older translations are used.
+
+ In the 'LANGUAGE' environment variable, but not in the 'LANG'
+environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to
+denote the language's main dialect. For example, 'de' is equivalent to
+'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese
+as spoken in Portugal) in this context.
+
+1.3 Translating Teams
+=====================
+
+For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list. The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+'http://translationproject.org/', in the "Teams" area.
+
+ If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+'-request' appended. For example, speakers of Swedish can send a
+message to 'sv-request@li.org', having this message body:
+
+ subscribe
+
+ Keep in mind that team members are expected to participate _actively_
+in translations, or at solving translational difficulties, rather than
+merely lurking around. If your team does not exist yet and you want to
+start one, or if you are unsure about what to do or how to get started,
+please write to 'coordinator@translationproject.org' to reach the
+coordinator for all translator teams.
+
+ The English team is special. It works at improving and uniformizing
+the terminology in use. Proven linguistic skills are praised more than
+programming skills, here.
+
+1.4 Available Packages
+======================
+
+Languages are not equally supported in all packages. The following
+matrix shows the current state of internationalization, as of Jun 2014.
+The matrix shows, in regard of each package, for which languages PO
+files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+ Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ +---------------------------------------------------+
+ a2ps | [] [] [] |
+ aegis | |
+ anubis | |
+ aspell | [] [] [] |
+ bash | [] [] [] |
+ bfd | |
+ binutils | [] |
+ bison | |
+ bison-runtime | [] |
+ buzztrax | [] |
+ ccd2cue | |
+ ccide | |
+ cflow | |
+ clisp | |
+ coreutils | [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] [] |
+ dfarc | [] |
+ dialog | [] [] [] |
+ dico | |
+ diffutils | [] |
+ dink | [] |
+ direvent | |
+ doodle | [] |
+ dos2unix | |
+ dos2unix-man | |
+ e2fsprogs | [] [] |
+ enscript | [] |
+ exif | [] |
+ fetchmail | [] [] |
+ findutils | [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | [] |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] [] |
+ gjay | |
+ glunarclock | [] [] [] |
+ gnubiff | [] |
+ gnubik | [] |
+ gnucash | () () [] |
+ gnuchess | |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] |
+ gprof | [] |
+ gramadoir | |
+ grep | [] [] [] |
+ grub | [] |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] |
+ gst-plugins-ugly | [] [] [] |
+ gstreamer | [] [] [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] |
+ help2man | |
+ help2man-texi | |
+ hylafax | |
+ idutils | |
+ iso_15924 | [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | |
+ kbd | [] |
+ klavaro | [] [] [] [] [] |
+ ld | [] |
+ leafpad | [] [] [] [] |
+ libc | [] [] [] |
+ libexif | () |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] [] |
+ lilypond | [] [] |
+ lordsawar | [] |
+ lprng | |
+ lynx | [] [] |
+ m4 | [] |
+ mailfromd | |
+ mailutils | |
+ make | [] |
+ man-db | [] [] |
+ man-db-manpages | |
+ midi-instruments | [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
+ myserver | [] |
+ nano | [] [] [] |
+ opcodes | |
+ parted | [] |
+ pies | |
+ pnmixer | |
+ popt | [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] |
+ pushover | [] |
+ pwdutils | |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] |
+ recutils | |
+ rpm | |
+ rush | |
+ sarg | |
+ sed | [] [] [] [] |
+ sharutils | [] |
+ shishi | |
+ skribilo | |
+ solfege | [] [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] |
+ sudoers | [] [] |
+ sysstat | [] |
+ tar | [] [] [] |
+ texinfo | [] [] |
+ texinfo_document | [] [] |
+ tigervnc | [] |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | |
+ trader | |
+ util-linux | [] |
+ ve | |
+ vice | |
+ vmm | |
+ vorbis-tools | [] |
+ wastesedge | |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] |
+ wget | [] |
+ wyslij-po | |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +---------------------------------------------------+
+ af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74
+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ +--------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] [] [] |
+ aegis | [] [] [] [] |
+ anubis | [] [] [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] |
+ bfd | [] [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | [] [] [] [] |
+ ccd2cue | [] [] [] [] |
+ ccide | [] [] [] [] [] [] |
+ cflow | [] [] [] [] [] |
+ clisp | [] [] [] [] [] |
+ coreutils | [] [] [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] [] [] [] [] |
+ cryptsetup | [] [] [] [] [] |
+ datamash | [] [] [] [] |
+ denemo | [] |
+ dfarc | [] [] [] [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] |
+ dico | [] [] [] [] |
+ diffutils | [] [] [] [] [] [] |
+ dink | [] [] [] [] [] [] |
+ direvent | [] [] [] [] |
+ doodle | [] [] [] [] |
+ dos2unix | [] [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] () [] [] [] [] [] |
+ findutils | [] [] [] [] [] [] [] [] |
+ flex | [] [] [] [] [] [] |
+ freedink | [] [] [] [] [] [] [] [] |
+ fusionforge | [] [] [] |
+ gas | [] [] [] |
+ gawk | [] [] [] [] [] |
+ gcal | [] [] [] [] |
+ gcc | [] |
+ gdbm | [] [] [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] [] [] |
+ glunarclock | [] [] [] [] [] |
+ gnubiff | () [] [] () |
+ gnubik | [] [] [] [] [] |
+ gnucash | [] () () () () () () |
+ gnuchess | [] [] [] [] |
+ gnulib | [] [] [] [] [] [] [] |
+ gnunet | [] |
+ gnunet-gtk | [] |
+ gold | [] [] [] |
+ gphoto2 | [] () [] [] |
+ gprof | [] [] [] [] [] [] |
+ gramadoir | [] [] [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] () [] [] [] |
+ gtkam | [] () [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] |
+ guix | [] [] |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] [] [] |
+ help2man | [] [] [] [] [] [] [] |
+ help2man-texi | [] [] [] |
+ hylafax | [] [] |
+ idutils | [] [] [] [] [] |
+ iso_15924 | [] () [] [] () [] () |
+ iso_3166 | [] () [] [] [] [] () [] () |
+ iso_3166_2 | [] () () () |
+ iso_4217 | [] () [] [] [] () [] () |
+ iso_639 | [] () [] [] () [] () |
+ iso_639_3 | () () () |
+ iso_639_5 | () () () |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] [] [] [] [] |
+ klavaro | [] [] [] [] [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] [] () [] [] |
+ libextractor | [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] () [] |
+ libgphoto2_port | [] () [] [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] [] |
+ liferea | [] () [] [] [] [] [] |
+ lilypond | [] [] [] [] [] [] |
+ lordsawar | [] [] |
+ lprng | |
+ lynx | [] [] [] [] [] [] |
+ m4 | [] [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] [] [] [] |
+ make | [] [] [] [] [] |
+ man-db | [] [] [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] [] [] |
+ nano | [] [] [] [] [] [] [] |
+ opcodes | [] [] [] [] [] |
+ parted | [] [] [] |
+ pies | [] |
+ pnmixer | [] [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] [] |
+ psmisc | [] [] [] [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | () [] [] [] |
+ pwdutils | [] [] [] |
+ pyspread | [] [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | [] [] [] [] |
+ rpm | [] [] [] [] [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] [] [] |
+ skribilo | [] [] [] |
+ solfege | [] [] [] [] [] [] [] [] |
+ solfege-manual | [] [] [] [] [] |
+ spotmachine | [] [] [] [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] [] [] |
+ sysstat | [] [] [] [] [] [] |
+ tar | [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] [] |
+ texinfo_document | [] [] [] [] |
+ tigervnc | [] [] [] [] [] [] |
+ tin | [] [] [] [] |
+ tin-man | [] |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] [] [] [] [] [] |
+ util-linux | [] [] [] [] |
+ ve | [] [] [] [] [] |
+ vice | () () () |
+ vmm | [] [] |
+ vorbis-tools | [] [] [] [] |
+ wastesedge | [] |
+ wcd | [] [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] [] [] [] |
+ wget | [] [] [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] [] |
+ +--------------------------------------------------+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ 119 131 32 1 6 0 94 95 22 13 4 102 139
+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ +-------------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] [] |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | [] |
+ ccide | [] [] |
+ cflow | [] [] [] |
+ clisp | |
+ coreutils | [] [] |
+ cpio | [] [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] [] |
+ dos2unix | [] [] |
+ dos2unix-man | |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] [] [] |
+ flex | [] |
+ freedink | [] [] [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] () [] |
+ gcal | |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] [] () |
+ gnubik | [] [] [] |
+ gnucash | () () () () () |
+ gnuchess | |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] [] |
+ hello | [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] [] |
+ iso_15924 | [] [] [] [] [] [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] [] |
+ iso_4217 | [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ klavaro | [] [] [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] () |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] [] [] |
+ man-db | [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] |
+ mkisofs | [] [] |
+ myserver | [] |
+ nano | [] [] [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] [] |
+ pies | |
+ pnmixer | [] [] |
+ popt | [] [] [] [] [] [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | [] |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | |
+ rpm | [] |
+ rush | [] |
+ sarg | |
+ sed | [] [] [] [] [] [] [] |
+ sharutils | |
+ shishi | |
+ skribilo | [] |
+ solfege | [] [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] [] [] |
+ tar | [] [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] [] |
+ tigervnc | |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] [] |
+ util-linux | [] |
+ ve | [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] |
+ wget | [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] |
+ +-------------------------------------------------+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3
+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+ +--------------------------------------------------+
+ a2ps | [] [] |
+ aegis | [] |
+ anubis | [] [] [] |
+ aspell | [] [] |
+ bash | [] [] |
+ bfd | |
+ binutils | |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | |
+ ccide | [] [] |
+ cflow | [] |
+ clisp | [] |
+ coreutils | [] [] |
+ cpio | [] |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] |
+ dialog | [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] |
+ dos2unix | [] [] |
+ dos2unix-man | [] |
+ e2fsprogs | [] |
+ enscript | [] |
+ exif | [] [] [] |
+ fetchmail | [] |
+ findutils | [] [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] |
+ gjay | |
+ glunarclock | [] [] |
+ gnubiff | [] |
+ gnubik | [] [] |
+ gnucash | () () () () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] |
+ gprof | [] [] |
+ gramadoir | [] |
+ grep | [] [] |
+ grub | [] [] [] |
+ gsasl | [] |
+ gss | |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] [] [] |
+ help2man | [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] |
+ iso_15924 | () [] [] |
+ iso_3166 | [] [] [] () [] [] [] [] [] [] |
+ iso_3166_2 | () [] |
+ iso_4217 | () [] [] [] |
+ iso_639 | [] [] () [] [] [] [] |
+ iso_639_3 | [] () [] |
+ iso_639_5 | () |
+ jwhois | [] [] |
+ kbd | [] |
+ klavaro | [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] |
+ libc | [] [] |
+ libexif | [] |
+ libextractor | [] |
+ libgnutls | [] [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | [] |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | |
+ lynx | [] |
+ m4 | [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] |
+ man-db | [] |
+ man-db-manpages | [] |
+ midi-instruments | [] [] [] [] [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
+ myserver | |
+ nano | [] [] [] |
+ opcodes | [] |
+ parted | [] [] |
+ pies | |
+ pnmixer | [] |
+ popt | [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] |
+ recutils | [] |
+ rpm | [] |
+ rush | [] |
+ sarg | |
+ sed | [] [] |
+ sharutils | [] |
+ shishi | |
+ skribilo | |
+ solfege | [] [] |
+ solfege-manual | [] |
+ spotmachine | [] |
+ sudo | [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] |
+ tar | [] [] [] |
+ texinfo | [] |
+ texinfo_document | [] |
+ tigervnc | [] |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] |
+ trader | [] |
+ util-linux | [] |
+ ve | [] |
+ vice | [] |
+ vmm | [] |
+ vorbis-tools | [] |
+ wastesedge | [] |
+ wcd | [] |
+ wcd-man | [] |
+ wdiff | [] |
+ wget | [] [] |
+ wyslij-po | [] |
+ xboard | [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +--------------------------------------------------+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+ 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125
+
+ nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ +------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] |
+ aegis | [] [] |
+ anubis | [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | [] |
+ ccd2cue | [] [] |
+ ccide | [] [] [] |
+ cflow | [] [] [] |
+ clisp | [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] |
+ cppi | [] [] [] |
+ cpplib | [] [] [] |
+ cryptsetup | [] [] [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] |
+ dink | |
+ direvent | [] [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] |
+ e2fsprogs | [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ freedink | [] [] [] [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gdbm | [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] |
+ gss | [] [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] [] |
+ help2man-texi | [] |
+ hylafax | |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] [] [] |
+ iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] () [] |
+ iso_4217 | [] [] () [] [] [] [] [] |
+ iso_639 | [] [] [] () [] [] [] [] [] [] |
+ iso_639_3 | [] () |
+ iso_639_5 | () [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] |
+ klavaro | [] [] [] [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] [] [] [] |
+ libc | [] [] [] |
+ libexif | [] () [] |
+ libextractor | [] |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] [] |
+ liferea | [] [] [] [] () [] [] |
+ lilypond | |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] |
+ make | [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] |
+ nano | [] [] [] [] [] [] |
+ opcodes | |
+ parted | [] [] [] [] [] [] |
+ pies | [] |
+ pnmixer | [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ recutils | [] [] |
+ rpm | [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] |
+ shishi | [] [] |
+ skribilo | [] |
+ solfege | [] [] [] |
+ solfege-manual | [] [] |
+ spotmachine | [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] |
+ tigervnc | [] [] [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] [] |
+ util-linux | [] [] |
+ ve | [] [] [] |
+ vice | |
+ vmm | |
+ vorbis-tools | [] [] [] |
+ wastesedge | |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] [] [] |
+ wget | [] [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ +------------------------------------------------+
+ nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ 7 3 6 114 1 12 88 32 82 3 40 45 7 101
+
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN
+ +----------------------------------------------+
+ a2ps | [] [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | [] [] [] |
+ ccd2cue | [] [] [] |
+ ccide | [] [] [] [] |
+ cflow | [] [] [] [] |
+ clisp | |
+ coreutils | [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] |
+ cpplib | [] [] [] [] [] |
+ cryptsetup | [] [] [] |
+ datamash | [] [] [] |
+ denemo | [] |
+ dfarc | [] [] |
+ dialog | [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] [] [] |
+ dink | [] |
+ direvent | [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] |
+ enscript | [] [] [] [] |
+ exif | [] [] [] [] [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] |
+ freedink | [] [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] [] [] |
+ gcal | [] [] [] |
+ gcc | [] |
+ gdbm | [] [] |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] [] |
+ glunarclock | [] [] [] [] |
+ gnubiff | [] [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () [] |
+ gnuchess | [] [] [] |
+ gnulib | [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] |
+ grub | [] [] [] [] |
+ gsasl | [] [] [] [] |
+ gss | [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | [] |
+ hylafax | [] |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] () [] |
+ iso_3166 | [] [] () [] [] () [] [] |
+ iso_3166_2 | () [] [] () [] |
+ iso_4217 | [] () [] [] () [] |
+ iso_639 | [] [] [] () [] [] () [] [] |
+ iso_639_3 | [] () [] [] () |
+ iso_639_5 | () [] () |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] [] |
+ klavaro | [] [] [] [] [] [] |
+ ld | [] [] [] [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] [] () |
+ libextractor | [] [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] [] [] |
+ libgphoto2_port | [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | () [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] |
+ mailfromd | [] [] |
+ mailutils | [] |
+ make | [] [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] |
+ minicom | [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] |
+ nano | [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] [] |
+ pies | [] [] |
+ pnmixer | [] [] [] |
+ popt | [] [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | [] |
+ pwdutils | [] [] |
+ pyspread | [] |
+ radius | [] [] |
+ recode | [] [] [] [] |
+ recutils | [] [] [] |
+ rpm | [] [] [] [] |
+ rush | [] [] |
+ sarg | |
+ sed | [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] [] |
+ skribilo | [] [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] |
+ spotmachine | [] [] [] |
+ sudo | [] [] [] [] [] |
+ sudoers | [] [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] |
+ tigervnc | [] [] [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] |
+ util-linux | [] [] [] [] |
+ ve | [] [] [] [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | |
+ wcd | [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] |
+ wget | [] [] [] |
+ wyslij-po | [] [] |
+ xboard | [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ +----------------------------------------------+
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN
+ 106 1 4 3 0 13 51 115 1 125 7 1 100
+
+ zh_HK zh_TW
+ +-------------+
+ a2ps | | 30
+ aegis | | 9
+ anubis | | 19
+ aspell | | 29
+ bash | [] | 23
+ bfd | | 11
+ binutils | | 12
+ bison | [] | 18
+ bison-runtime | [] | 38
+ buzztrax | | 9
+ ccd2cue | | 10
+ ccide | | 17
+ cflow | | 16
+ clisp | | 10
+ coreutils | | 18
+ cpio | | 20
+ cppi | | 17
+ cpplib | [] | 19
+ cryptsetup | | 14
+ datamash | | 11
+ denemo | | 5
+ dfarc | | 17
+ dialog | [] | 42
+ dico | | 6
+ diffutils | | 22
+ dink | | 10
+ direvent | | 11
+ doodle | | 12
+ dos2unix | [] | 18
+ dos2unix-man | | 9
+ e2fsprogs | | 15
+ enscript | | 21
+ exif | | 27
+ fetchmail | | 19
+ findutils | | 29
+ flex | [] | 19
+ freedink | | 24
+ fusionforge | | 3
+ gas | | 5
+ gawk | | 13
+ gcal | | 8
+ gcc | | 2
+ gdbm | | 10
+ gettext-examples | [] [] | 40
+ gettext-runtime | [] [] | 35
+ gettext-tools | [] | 24
+ gjay | | 9
+ glunarclock | [] | 27
+ gnubiff | | 9
+ gnubik | | 19
+ gnucash | () | 6
+ gnuchess | | 11
+ gnulib | | 23
+ gnunet | | 1
+ gnunet-gtk | | 1
+ gold | | 7
+ gphoto2 | [] | 19
+ gprof | | 21
+ gramadoir | | 14
+ grep | [] | 31
+ grub | | 21
+ gsasl | [] | 19
+ gss | | 17
+ gst-plugins-bad | | 21
+ gst-plugins-base | | 27
+ gst-plugins-good | | 32
+ gst-plugins-ugly | | 34
+ gstreamer | [] | 32
+ gtick | | 19
+ gtkam | | 24
+ gtkspell | [] [] | 48
+ guix | | 2
+ guix-packages | | 0
+ gutenprint | | 15
+ hello | [] | 30
+ help2man | | 18
+ help2man-texi | | 5
+ hylafax | | 5
+ idutils | | 14
+ iso_15924 | [] | 23
+ iso_3166 | [] [] | 58
+ iso_3166_2 | | 9
+ iso_4217 | [] [] | 28
+ iso_639 | [] [] | 46
+ iso_639_3 | | 10
+ iso_639_5 | | 2
+ jwhois | [] | 20
+ kbd | | 17
+ klavaro | | 30
+ ld | [] | 15
+ leafpad | [] | 39
+ libc | [] | 24
+ libexif | | 10
+ libextractor | | 5
+ libgnutls | | 13
+ libgphoto2 | | 10
+ libgphoto2_port | [] | 19
+ libgsasl | | 18
+ libiconv | [] | 29
+ libidn | | 17
+ liferea | | 29
+ lilypond | | 11
+ lordsawar | | 3
+ lprng | | 3
+ lynx | | 19
+ m4 | [] | 22
+ mailfromd | | 4
+ mailutils | | 6
+ make | | 19
+ man-db | | 15
+ man-db-manpages | | 10
+ midi-instruments | [] | 43
+ minicom | [] | 17
+ mkisofs | | 13
+ myserver | | 9
+ nano | [] | 30
+ opcodes | | 12
+ parted | [] | 23
+ pies | | 4
+ pnmixer | | 9
+ popt | [] | 36
+ procps-ng | | 5
+ procps-ng-man | | 4
+ psmisc | [] | 22
+ pspp | | 13
+ pushover | | 6
+ pwdutils | | 8
+ pyspread | | 6
+ radius | | 9
+ recode | | 31
+ recutils | | 10
+ rpm | [] | 13
+ rush | | 10
+ sarg | | 4
+ sed | [] | 35
+ sharutils | | 13
+ shishi | | 7
+ skribilo | | 7
+ solfege | | 21
+ solfege-manual | | 9
+ spotmachine | | 11
+ sudo | | 26
+ sudoers | | 22
+ sysstat | | 23
+ tar | [] | 30
+ texinfo | | 17
+ texinfo_document | | 13
+ tigervnc | | 14
+ tin | [] | 7
+ tin-man | | 1
+ tracgoogleappsa... | [] | 22
+ trader | | 12
+ util-linux | | 13
+ ve | | 14
+ vice | | 1
+ vmm | | 3
+ vorbis-tools | | 13
+ wastesedge | | 3
+ wcd | | 8
+ wcd-man | | 3
+ wdiff | [] | 23
+ wget | | 21
+ wyslij-po | | 14
+ xboard | | 10
+ xdg-user-dirs | [] [] | 68
+ xkeyboard-config | [] | 28
+ +-------------+
+ 89 teams zh_HK zh_TW
+ 166 domains 7 42 2809
+
+ Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect. This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+ For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and distributed
+as such by its maintainer. There might be an observable lag between the
+mere existence a PO file and its wide availability in a distribution.
+
+ If Jun 2014 seems to be old, you may fetch a more recent copy of this
+'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix
+with full percentage details can be found at
+'http://translationproject.org/extra/matrix.html'.
+
+1.5 Using 'gettext' in new packages
+===================================
+
+If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU 'gettext' in your
+package. Of course you have to respect the GNU Lesser General Public
+License which covers the use of the GNU 'gettext' library. This means
+in particular that even non-free programs can use 'libintl' as a shared
+library, whereas only free software can use 'libintl' as a static
+library or use modified versions of 'libintl'.
+
+ Once the sources are changed appropriately and the setup can handle
+the use of 'gettext' the only thing missing are the translations. The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project. Therefore the information given above
+applies also for every other Free Software Project. Contact
+'coordinator@translationproject.org' to make the '.pot' files available
+to the translation teams.
+2017-11-07 gettextize <bug-gnu-gettext@gnu.org>
+
+ * m4/gettext.m4: New file, from gettext-0.19.8.1.
+ * m4/iconv.m4: New file, from gettext-0.19.8.1.
+ * m4/lib-ld.m4: New file, from gettext-0.19.8.1.
+ * m4/lib-link.m4: New file, from gettext-0.19.8.1.
+ * m4/lib-prefix.m4: New file, from gettext-0.19.8.1.
+ * m4/nls.m4: New file, from gettext-0.19.8.1.
+ * m4/po.m4: New file, from gettext-0.19.8.1.
+ * m4/progtest.m4: New file, from gettext-0.19.8.1.
+ * Makefile.am (EXTRA_DIST): Add config.rpath.
+ * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in.
+
+2017-11-07 gettextize <bug-gnu-gettext@gnu.org>
+
+ * m4/gettext.m4: New file, from gettext-0.19.8.1.
+ * m4/iconv.m4: New file, from gettext-0.19.8.1.
+ * m4/lib-ld.m4: New file, from gettext-0.19.8.1.
+ * m4/lib-link.m4: New file, from gettext-0.19.8.1.
+ * m4/lib-prefix.m4: New file, from gettext-0.19.8.1.
+ * m4/nls.m4: New file, from gettext-0.19.8.1.
+ * m4/po.m4: New file, from gettext-0.19.8.1.
+ * m4/progtest.m4: New file, from gettext-0.19.8.1.
+ * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in.
+
commit 13087e38ace4f092667ab08617ced1d559f3d2e2
Author: Akira TAGOH <akira@tagoh.org>
Date: Wed Apr 6 21:05:36 2016 +0900
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-SUBDIRS=fontconfig fc-blanks fc-case fc-lang fc-glyphname src \
- fc-cache fc-cat fc-list fc-match fc-pattern fc-query fc-scan \
- fc-validate conf.d test
+SUBDIRS=fontconfig fc-case fc-lang src \
+ fc-cache fc-cat fc-conflist fc-list fc-match \
+ fc-pattern fc-query fc-scan fc-validate conf.d \
+ its po po-conf test
if ENABLE_DOCS
SUBDIRS += doc
endif
ACLOCAL_AMFLAGS = -I m4
-EXTRA_DIST = \
- fontconfig.pc.in \
- fonts.conf.in \
+EXTRA_DIST = config.rpath \
+ fontconfig.pc.in \
+ fonts.conf.in \
fonts.dtd \
- fontconfig.spec.in \
- fontconfig.spec \
+ fontconfig.spec.in \
+ fontconfig.spec \
fontconfig-zip.in \
config-fixups.h
CLEANFILES = fonts.conf
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
-DIST_SUBDIRS = fontconfig fc-blanks fc-case fc-lang fc-glyphname src \
- fc-cache fc-cat fc-list fc-match fc-pattern fc-query fc-scan \
- fc-validate conf.d test doc
+DIST_SUBDIRS = fontconfig fc-case fc-lang src fc-cache fc-cat \
+ fc-conflist fc-list fc-match fc-pattern fc-query fc-scan \
+ fc-validate conf.d its po po-conf test doc
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/fontconfig-zip.in $(srcdir)/fontconfig.pc.in \
- $(srcdir)/fontconfig.spec.in AUTHORS COPYING ChangeLog INSTALL \
- NEWS README compile config.guess config.sub depcomp install-sh \
- ltmain.sh missing
+ $(srcdir)/fontconfig.spec.in ABOUT-NLS AUTHORS COPYING \
+ ChangeLog INSTALL NEWS README compile config.guess \
+ config.rpath config.sub depcomp install-sh ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = fontconfig fc-blanks fc-case fc-lang fc-glyphname src \
- fc-cache fc-cat fc-list fc-match fc-pattern fc-query fc-scan \
- fc-validate conf.d test $(am__append_1)
+SUBDIRS = fontconfig fc-case fc-lang src fc-cache fc-cat fc-conflist \
+ fc-list fc-match fc-pattern fc-query fc-scan fc-validate \
+ conf.d its po po-conf test $(am__append_1)
ACLOCAL_AMFLAGS = -I m4
-EXTRA_DIST = fontconfig.pc.in fonts.conf.in fonts.dtd \
+EXTRA_DIST = config.rpath fontconfig.pc.in fonts.conf.in fonts.dtd \
fontconfig.spec.in fontconfig.spec fontconfig-zip.in \
config-fixups.h ChangeLog
CLEANFILES = fonts.conf
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
Fontconfig
Font configuration and customization library
- Version 2.12.1
- 2016-08-05
+ Version 2.13
+ 2018-03-06
Check INSTALL for compilation and installation instructions.
Report bugs to https://bugs.freedesktop.org in the fontconfig module.
+2.13
+
+Akira TAGOH (4):
+ Add Simplified Chinese translations
+ Fix a build issue on MinGW with enabling nls
+ Initialize an array explicitly
+ Bump the libtool revision
+
+2.12.93 (2.13 RC3)
+
+Akira TAGOH (12):
+ trivial fix
+ Add files to enable ITS support in gettext
+ Use the native ITS support in gettext
+ Remove POTFILES.in until new release of gettext is coming...
+ export GETTEXTDATADIR to refer the local .its/.loc file instead of using --its option
+ clean up
+ Do not add cflags and libs coming from pkg-config file.
+ Revert some removal from 7ac6af6
+ Take effects on dir, cachedir, acceptfont, and rejectfont only when loading
+ Do not mix up font dirs into the list of config dirs
+ Ensure the user config dir is available in the list of config dirs on the fallback config
+ Add missing files to ship
+
+Alexander Larsson (1):
+ FcHashTableAddInternal: Compare against the right key
+
+Behdad Esfahbod (5):
+ Remove hack for OS/2 weights 1..9
+ Support FC_WIDTH as double as well
+ Fix leak
+ Use FT_Done_MM_Var if available
+ Fix undefined-behavior signed shifts
+
+Olivier Crête (1):
+ Fix cross-compilation by passing CPPFLAGS to CPP
+
+Tom Anderson (1):
+ Allow overriding symbol visibility.
+
+2.12.92 (2.13 RC2)
+
+Akira TAGOH (13):
+ cleanup files
+ Update .uuid only when -r is given but not -f.
+ Returns false if key is already available in the table
+ Add missing doc of FcDirCacheCreateUUID
+ Replace uuid in the table properly when -r
+ Add a test case for uuid creation
+ Do not update mtime with creating .uuid
+ Disable uuid related code on Win32
+ Try to get current instance of FcConfig as far as possible
+ do not check the existence of itstool on win32
+ Fix the mis-ordering of ruleset evaluation in a file with include element
+ Fix compiler warnings
+ Add FcReadLink to wrap up readlink impl.
+
+Alexander Larsson (1):
+ fchash: Fix replace
+
+Behdad Esfahbod (7):
+ Don't crash
+ Remove a debug abort()
+ Minor
+ Set font-variations settings for standard axes in variable fonts
+ Let pattern FC_FONT_VARIATIONS override standard axis variations
+ Put back accidentally removed code
+ Add FcWeightTo/FromOpenTypeDouble()
+
+2.12.91 (2.13 RC1)
+
+Akira TAGOH (37):
+ und_zsye.orth: polish to get for NotoEmoji-Regular.ttf
+ Revert "Keep the same behavior to the return value of FcConfigParseAndLoad"
+ Fix again to keep the same behavior to the return value of FcConfigParseAndLoad
+ cleanup
+ Fix a compiler warning
+ Update libtool revision
+ Bump version to 2.12.6
+ doc: trivial update
+ Add the ruleset description support
+ workaround to avoid modifying by gettextize
+ missing an open parenthesis
+ another workaround to avoid modifying by gettextize...
+ Validate cache more carefully
+ Allow autoreconf through autopoint for gettext things
+ Correct debugging messages to load/scan config
+ Add the check of PCF_CONFIG_OPTION_LONG_FAMILY_NAMES back
+ Use uuid-based cache filename if uuid is assigned to dirs
+ Add new API to find out a font from current search path
+ Replace the font path in FcPattern to what it is actually located.
+ Replace the original path to the new one
+ Replace the path of subdirs in caches as well
+ Don't call FcStat when the alias has already been added
+ Destroy the alias and UUID tables when all of caches is unloaded
+ cleanup
+ abstract hash table functions
+ update
+ Fix memory leak
+ Fix a typo
+ Don't call FcStat when the alias has already been added
+ Add a testcase for bind-mounted cachedir
+ cleanup
+ Use smaller prime for hash size
+ Fix the testcase for env not enabled PCF_CONFIG_OPTION_LONG_FAMILY_NAMES in freetype
+ thread-safe functions in fchash.c
+ Fix distcheck error
+ Fix "make check" fail again
+ Bump the libtool revision
+
+Alban Browaeys (1):
+ Fixes cleanup
+
+Alexander Kanavin (1):
+ src/fcxml.c: avoid double free() of filename
+
+Bastien Nocera (1):
+ conf: Prefer system emoji fonts to third-party ones
+
+Behdad Esfahbod (76):
+ Minor
+ Remove stray printf()
+ [fc-query] Fix linking order
+ Instead of loading glyphs (with FreeType), just check loca table
+ Don't even check loca for glyph outline detection
+ Check for non-empty outline for U+0000..U+001F
+ Add back code for choosing strike, and cleanup
+ Minor: adjust debug output
+ Remove unnecessary check
+ Remove a few unused blanks parameters
+ Remove check that cannot fail
+ Remove use of psnames for charset construction
+ Remove unused variable
+ Remove fc-glyphname
+ Remove blanks facility from the library
+ Remove blanks support from fc-scan
+ Mark more parameters FC_UNUSED
+ Move variables to narrower scope and indent
+ Remove unneeded check
+ Use multiplication instead of division
+ Use inline functions instead of macros for a couple of things
+ Simplify advance-width calculations
+ Inline FcFreeTypeCheckGlyph()
+ Call FT_Get_Advance() only as long as we need to determine font width type
+ Minor
+ Update documentation for removal of blanks
+ Merge branch 'faster'
+ Add FcFreeTypeQueryAll()
+ Document FcFreeTypeQueryAll()
+ Accept NULL in for spacing in FcFreeTypeCharSetAndSpacing()
+ Remove FcCompareSize()
+ Rename FcCompareSizeRange() to FcCompareRange()
+ Rewrite FcCompareRange()
+ In FcSubstituteDefault(), handle size range
+ Check instance-index before accessing array
+ Indent
+ [varfonts] Add FC_FONT_VARIATIONS
+ [varfonts] Add FC_VARIABLE
+ [varfonts] Change id argument in FcFreeTypeQuery* to unsigned int
+ Print ranges as closed as opposed to half-open
+ [varfonts] Change FC_WEIGHT and FC_WIDTH into ranges
+ [varfonts] Query varfonts if id >> 16 == 0x8000
+ Fix instance-num handling in collections
+ [varfonts] Query variable font in FcFreeTypeQueryAll()
+ [varfonts] Fetch optical-size for named instances
+ In RenderPrepare(), handle ranges smartly
+ [fc-query] Remove --ignore-blanks / -b
+ [fc-match/fc-list/fc-query/fc-scan] Add --brief that is like --verbose without charset
+ Add separate match compare function for size
+ Fix range comparision operators implementation
+ Adjust emboldening logic
+ [varfonts] Map from OpenType to Fontconfig weight values
+ Add FcDontCare value to FcBool
+ Implement more config bool operations for boolean types
+ Fix possible div-by-zero
+ [varfonts] Use fvar data even if there's no variation in it
+ Minor
+ Revert "[varfonts] Use fvar data even if there's no variation in it"
+ [varfonts] Minor
+ [varfonts] Comment
+ [varfonts] Don't set style for variable-font pattern
+ [varfonts] Skip named-instance that is equivalent to base font
+ [varfonts] Do not set postscriptname for varfont pattern
+ [varfonts] Don't reopen face for each named instance
+ Separate charset and spacing code
+ [varfonts] Reuse charset for named instances
+ Move whitespace-trimming code to apply to all name-table strings
+ Fix whitespace-trimming loop and empty strings...
+ Whitespace
+ Don't convert nameds to UTF-8 unless we are going to use them
+ Simplify name-table platform mathcing logic
+ Use binary-search for finding name table entries
+ [varfonts] Share lang across named-instances
+ Merge branch 'varfonts2'
+ Require freetype >= 2.8.1
+ Remove assert
+
+David Kaspar [Dee'Kej] (1):
+ conf.d: Drop aliases for (URW)++ fonts
+
+Florian Müllner (1):
+ build: Remove references to deleted file
+
+2.12.6
+
+Akira TAGOH (4):
+ und_zsye.orth: polish to get for NotoEmoji-Regular.ttf
+ Revert "Keep the same behavior to the return value of FcConfigParseAndLoad"
+ Fix again to keep the same behavior to the return value of FcConfigParseAndLoad
+ Update libtool revision
+
+Behdad Esfahbod (2):
+ Minor
+ [fc-query] Fix linking order
+
+David Kaspar [Dee'Kej] (1):
+ conf.d: Drop aliases for (URW)++ fonts
+
+Florian Müllner (1):
+ build: Remove references to deleted file
+
+2.12.5
+
+Akira TAGOH (17):
+ Add FcPatternGetWithBinding() to obtain the binding type of the value in FcPattern.
+ Add FcConfigParseAndLoadFromMemory() to load a configuration from memory.
+ Bug 101726 - Sans config pulls in Microsoft Serifed font
+ Fix gcc warnings with enabling libxml2
+ Add und-zsye.orth to support emoji in lang
+ Add more code points to und-zsye.orth
+ Keep the same behavior to the return value of FcConfigParseAndLoad
+ Do not ship fcobjshash.gperf in archive
+ Accept 4 digit script tag in FcLangNormalize().
+ Fix to work the debugging option on fc-validate
+ Add und_zmth.orth to support Math in lang
+ Polish und_zmth.orth for Libertinus Math
+ Polish und_zmth.orth more for Cambria Math and Minion Math
+ Update similar to emoji's
+ fc-blanks: fall back to the static data available in repo if downloaded data is corrupted
+ Update docs
+ Update libtool versioning
+
+Behdad Esfahbod (14):
+ Pass --pic to gperf
+ Add generic family matching for "emoji" and "math"
+ [fc-query] Support listing named instances
+ Add Twitter Color Emoji
+ Add EmojiOne Mozilla font
+ [fc-lang] Allow using ".." instead of "-" in ranges
+ Minor
+ Remove unneeded codepoints
+ Adjust color emoji config some more
+ Ignore 'und-' prefix for in FcLangCompare
+ Minor
+ Fix sign-difference compare warning
+ Fix warning
+ Fix weight mapping
+
+2.12.4
+
+Akira TAGOH (5):
+ Force regenerate fcobjshash.h when updating Makefile
+ Fix the build failure when srcdir != builddir and have gperf 3.1 or later installed
+ Add a testcase for Bug#131804
+ Update libtool revision
+ Fix distcheck error
+
+Florent Rougon (6):
+ FcCharSetHash(): use the 'numbers' values to compute the hash
+ fc-lang: gracefully handle the case where the last language initial is < 'z'
+ Fix an off-by-one error in FcLangSetIndex()
+ Fix erroneous test on language id in FcLangSetPromote()
+ FcLangSetCompare(): fix bug when two charsets come from different "buckets"
+ FcCharSetFreezeOrig(), FcCharSetFindFrozen(): use all buckets of freezer->orig_hash_table
+
+Helmut Grohne (1):
+ fix cross compilation
+
+Jan Alexander Steffens (heftig) (1):
+ Fix testing PCF_CONFIG_OPTION_LONG_FAMILY_NAMES (CFLAGS need to be right)
+
+Josselin Mouette (1):
+ Treat C.UTF-8 and C.utf8 locales as built in the C library.
+
+Masamichi Hosoda (1):
+ Bug 99360 - Fix cache file update on MinGW
+
+2.12.3
+
+Akira TAGOH (1):
+ Fix make check fail with freetype-2.7.1 and 2.8 with PCF_CONFIG_OPTION_LONG_FAMILY_NAMES enabled.
+
+2.12.2
+
+Akira TAGOH (8):
+ Don't call perror() if no changes happens in errno
+ Fix FcCacheOffsetsValid()
+ Fix the build issue with gperf 3.1
+ Fix the build issue on GNU/Hurd
+ Update a bit for the changes in FreeType 2.7.1
+ Add the description of FC_LANG envvar to the doc
+ Bug 101202 - fontconfig FTBFS if docbook-utils is installed
+ Update libtool revision
+
+Alan Coopersmith (1):
+ Correct cache version info in doc/fontconfig-user.sgml
+
+Khem Raj (1):
+ Avoid conflicts with integer width macros from TS 18661-1:2014
+
+Masamichi Hosoda (2):
+ Fix PostScript font alias name
+ Update aliases for URW June 2016
+
2.12.1
Akira TAGOH (6):
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.15], [],
+m4_if([$1], [1.15.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-
-# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# ---------------------------------------------------------------------------
-# Adds support for distributing Python modules and packages. To
-# install modules, copy them to $(pythondir), using the python_PYTHON
-# automake variable. To install a package with the same name as the
-# automake package, install to $(pkgpythondir), or use the
-# pkgpython_PYTHON automake variable.
-#
-# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
-# locations to install python extension modules (shared libraries).
-# Another macro is required to find the appropriate flags to compile
-# extension modules.
-#
-# If your package is configured with a different prefix to python,
-# users will have to add the install directory to the PYTHONPATH
-# environment variable, or create a .pth file (see the python
-# documentation for details).
-#
-# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
-# cause an error if the version of python installed on the system
-# doesn't meet the requirement. MINIMUM-VERSION should consist of
-# numbers and dots only.
-AC_DEFUN([AM_PATH_PYTHON],
- [
- dnl Find a Python interpreter. Python versions prior to 2.0 are not
- dnl supported. (2.0 was released on October 16, 2000).
- m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
-[python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 dnl
- python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0])
-
- AC_ARG_VAR([PYTHON], [the Python interpreter])
-
- m4_if([$1],[],[
- dnl No version check is needed.
- # Find any Python interpreter.
- if test -z "$PYTHON"; then
- AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
- fi
- am_display_PYTHON=python
- ], [
- dnl A version check is needed.
- if test -n "$PYTHON"; then
- # If the user set $PYTHON, use it and don't search something else.
- AC_MSG_CHECKING([whether $PYTHON version is >= $1])
- AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
- [AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])
- AC_MSG_ERROR([Python interpreter is too old])])
- am_display_PYTHON=$PYTHON
- else
- # Otherwise, try each interpreter until we find one that satisfies
- # VERSION.
- AC_CACHE_CHECK([for a Python interpreter with version >= $1],
- [am_cv_pathless_PYTHON],[
- for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
- test "$am_cv_pathless_PYTHON" = none && break
- AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
- done])
- # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
- if test "$am_cv_pathless_PYTHON" = none; then
- PYTHON=:
- else
- AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
- fi
- am_display_PYTHON=$am_cv_pathless_PYTHON
- fi
- ])
-
- if test "$PYTHON" = :; then
- dnl Run any user-specified action, or abort.
- m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
- else
-
- dnl Query Python for its version number. Getting [:3] seems to be
- dnl the best way to do this; it's what "site.py" does in the standard
- dnl library.
-
- AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
- [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
- AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
-
- dnl Use the values of $prefix and $exec_prefix for the corresponding
- dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
- dnl distinct variables so they can be overridden if need be. However,
- dnl general consensus is that you shouldn't need this ability.
-
- AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
- AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
-
- dnl At times (like when building shared libraries) you may want
- dnl to know which OS platform Python thinks this is.
-
- AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
- [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
- AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
-
- # Just factor out some code duplication.
- am_python_setup_sysconfig="\
-import sys
-# Prefer sysconfig over distutils.sysconfig, for better compatibility
-# with python 3.x. See automake bug#10227.
-try:
- import sysconfig
-except ImportError:
- can_use_sysconfig = 0
-else:
- can_use_sysconfig = 1
-# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
-# <https://github.com/pypa/virtualenv/issues/118>
-try:
- from platform import python_implementation
- if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7':
- can_use_sysconfig = 0
-except ImportError:
- pass"
-
- dnl Set up 4 directories:
-
- dnl pythondir -- where to install python scripts. This is the
- dnl site-packages directory, not the python standard library
- dnl directory like in previous automake betas. This behavior
- dnl is more consistent with lispdir.m4 for example.
- dnl Query distutils for this directory.
- AC_CACHE_CHECK([for $am_display_PYTHON script directory],
- [am_cv_python_pythondir],
- [if test "x$prefix" = xNONE
- then
- am_py_prefix=$ac_default_prefix
- else
- am_py_prefix=$prefix
- fi
- am_cv_python_pythondir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
- sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
-else:
- from distutils import sysconfig
- sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
-sys.stdout.write(sitedir)"`
- case $am_cv_python_pythondir in
- $am_py_prefix*)
- am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
- am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
- ;;
- *)
- case $am_py_prefix in
- /usr|/System*) ;;
- *)
- am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
- ;;
- esac
- ;;
- esac
- ])
- AC_SUBST([pythondir], [$am_cv_python_pythondir])
-
- dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
- dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
- dnl more consistent with the rest of automake.
-
- AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
-
- dnl pyexecdir -- directory for installing python extension modules
- dnl (shared libraries)
- dnl Query distutils for this directory.
- AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
- [am_cv_python_pyexecdir],
- [if test "x$exec_prefix" = xNONE
- then
- am_py_exec_prefix=$am_py_prefix
- else
- am_py_exec_prefix=$exec_prefix
- fi
- am_cv_python_pyexecdir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
- sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
-else:
- from distutils import sysconfig
- sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
-sys.stdout.write(sitedir)"`
- case $am_cv_python_pyexecdir in
- $am_py_exec_prefix*)
- am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
- am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
- ;;
- *)
- case $am_py_exec_prefix in
- /usr|/System*) ;;
- *)
- am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
- ;;
- esac
- ;;
- esac
- ])
- AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
-
- dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
-
- AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
-
- dnl Run any user-specified action.
- $2
- fi
-
-])
-
-
-# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
-# ---------------------------------------------------------------------------
-# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
-# Run ACTION-IF-FALSE otherwise.
-# This test uses sys.hexversion instead of the string equivalent (first
-# word of sys.version), in order to cope with versions such as 2.2c1.
-# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
-AC_DEFUN([AM_PYTHON_CHECK_VERSION],
- [prog="import sys
-# split strings by '.' and convert to numeric. Append some zeros
-# because we need at least 4 digits for the hex conversion.
-# map returns an iterator in Python 3.0 and a list in 2.x
-minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
-minverhex = 0
-# xrange is not present in Python 3.0 and range returns an iterator
-for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
-sys.exit(sys.hexversion < minverhex)"
- AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
rm -f conftest.file
])
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
m4_include([m4/ax_cc_for_build.m4])
m4_include([m4/ax_create_stdint_h.m4])
m4_include([m4/ax_pthread.m4])
+m4_include([m4/gettext.m4])
+m4_include([m4/iconv.m4])
+m4_include([m4/intlmacosx.m4])
+m4_include([m4/lib-ld.m4])
+m4_include([m4/lib-link.m4])
+m4_include([m4/lib-prefix.m4])
m4_include([m4/libtool.m4])
m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4])
m4_include([m4/ltversion.m4])
m4_include([m4/lt~obsolete.m4])
+m4_include([m4/nls.m4])
m4_include([m4/pkg.m4])
+m4_include([m4/po.m4])
+m4_include([m4/progtest.m4])
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
echo "compile $scriptversion"
exit $?
;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Enable autohinter</description>
<!-- Use the Autohinter -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set hintfull to hintstyle</description>
+
<match target="pattern">
<!--
This configuration is available on the major desktop environments.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set hintmedium to hintstyle</description>
+
<match target="pattern">
<!--
This configuration is available on the major desktop environments.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set hintnone to hintstyle</description>
+
<match target="pattern">
<!--
This configuration is available on the major desktop environments.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set hintslight to hintstyle</description>
+
<match target="pattern">
<!--
This configuration is available on the major desktop environments.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Disable sub-pixel rendering</description>
<!-- Disable sub-pixel rendering -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+ <description>Bitmap scaling</description>
<!--
If font is bitmap, calculate scale factor.
Note that color bitmap fonts have scalable=true, while
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Enable sub-pixel rendering with the BGR stripes layout</description>
<!-- Enable sub-pixel rendering -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Enable sub-pixel rendering with the RGB stripes layout</description>
<!-- Enable sub-pixel rendering -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Enable sub-pixel rendering with the vertical BGR stripes layout</description>
<!-- Enable sub-pixel rendering -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Enable sub-pixel rendering with the vertical RGB stripes layout</description>
<!-- Enable sub-pixel rendering -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Disable hinting</description>
<!-- Disable hinting -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Use lcddefault as default for LCD filter</description>
<!-- Use lcddefault as default for LCD filter -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Use lcdlegacy as default for LCD filter</description>
<!-- Use lcdlegacy as default for LCD filter -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Use lcdlight as default for LCD filter</description>
<!-- Use lcdlight as default for LCD filter -->
<match target="pattern">
<!--
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Disable hinting for Bitstream Vera fonts when the size is less than 8ppem</description>
<!--
The Bitstream Vera fonts have GASP entries suggesting that hinting be
disabled below 8 ppem, but FreeType ignores those, preferring to use
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+ <description>Disable hinting for CJK fonts</description>
<!-- We can't hint CJK fonts well, so turn off hinting for CJK fonts. -->
<match target="font">
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set substitutions for similar/metric-compatible families</description>
<!--
Alias similar/metric-compatible families from various sources:
-PostScript fonts: URW fonts: GUST fonts: Windows fonts:
-====================== ====================== ================= ==================
-Helvetica Nimbus Sans TeX Gyre Heros
-Helvetica Condensed Nimbus Sans Narrow TeX Gyre Heros Cn
-Times Nimbus Roman TeX Gyre Termes
-Courier Nimbus Mono TeX Gyre Cursor
-ITC Avant Garde Gothic URW Gothic TeX Gyre Adventor
-ITC Bookman Bookman URW TeX Gyre Bonum Bookman Old Style
-ITC Zapf Chancery Chancery URW TeX Gyre Chorus
-Palatino Palladio URW TeX Gyre Pagella Palatino Linotype
-New Century Schoolbook Century SchoolBook URW TeX Gyre Schola Century Schoolbook
+PostScript fonts: URW fonts: GUST fonts: Windows fonts:
+====================== ================== ================= ==================
+Helvetica Nimbus Sans TeX Gyre Heros
+Helvetica Narrow Nimbus Sans Narrow TeX Gyre Heros Cn
+Times Nimbus Roman TeX Gyre Termes
+Courier Nimbus Mono PS TeX Gyre Cursor
+ITC Avant Garde Gothic URW Gothic TeX Gyre Adventor
+ITC Bookman URW Bookman TeX Gyre Bonum Bookman Old Style
+ITC Zapf Chancery Z003 TeX Gyre Chorus
+Palatino P052 TeX Gyre Pagella Palatino Linotype
+New Century Schoolbook C059 TeX Gyre Schola Century Schoolbook
Microsoft fonts: Liberation fonts: Google CrOS core fonts: StarOffice fonts: AMT fonts:
================ ====================== ======================= ================= ==============
3) Alias each generic to its specifics.
e.g. Arial to Liberation Sans, Arimo, Albany, and Albany AMT
+NOTE: The (URW)++ fonts mappings of generics to specifics were removed, because
+ upstream now includes them in their release of (URW)++ Core Font Set here:
+ https://github.com/ArtifexSoftware/urw-base35-fonts/tree/master/fontconfig
-->
<!-- Map specifics to generics -->
<alias binding="same">
<family>Nimbus Sans Narrow</family>
<default>
- <family>Helvetica Condensed</family>
+ <family>Helvetica Narrow</family>
</default>
</alias>
<alias binding="same">
<family>TeX Gyre Heros Cn</family>
<default>
- <family>Helvetica Condensed</family>
+ <family>Helvetica Narrow</family>
</default>
</alias>
</alias>
<alias binding="same">
+ <family>Nimbus Mono PS</family>
+ <default>
+ <family>Courier</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Cursor</family>
<default>
<family>Courier</family>
</alias>
<alias binding="same">
+ <family>URW Bookman</family>
+ <default>
+ <family>ITC Bookman</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Bonum</family>
<default>
<family>ITC Bookman</family>
</alias>
<alias binding="same">
+ <family>Z003</family>
+ <default>
+ <family>ITC Zapf Chancery</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Chorus</family>
<default>
<family>ITC Zapf Chancery</family>
</alias>
<alias binding="same">
+ <family>P052</family>
+ <default>
+ <family>Palatino</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Pagella</family>
<default>
<family>Palatino</family>
</alias>
<alias binding="same">
+ <family>C059</family>
+ <default>
+ <family>New Century Schoolbook</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>TeX Gyre Schola</family>
<default>
<family>New Century Schoolbook</family>
</default>
</alias>
-
<!-- Microsoft -->
<alias binding="same">
<family>Arimo</family>
</alias>
<alias>
- <family>Helvetica Condensed</family>
+ <family>Helvetica Narrow</family>
<default>
<family>Arial Narrow</family>
</default>
</default>
</alias>
-
<!-- Microsoft -->
<alias>
<family>Arial</family>
<alias>
<family>Arial Narrow</family>
<default>
- <family>Helvetica Condensed</family>
+ <family>Helvetica Narrow</family>
</default>
</alias>
</default>
</alias>
-
-
<!-- Map generics to specifics -->
<!-- PostScript -->
<family>Helvetica</family>
<accept>
<family>TeX Gyre Heros</family>
- <family>Nimbus Sans</family>
- <family>Nimbus Sans L</family>
</accept>
</alias>
<alias binding="same">
- <family>Helvetica Condensed</family>
+ <family>Helvetica Narrow</family>
<accept>
<family>TeX Gyre Heros Cn</family>
- <family>Nimbus Sans Narrow</family>
</accept>
</alias>
<family>Times</family>
<accept>
<family>TeX Gyre Termes</family>
- <family>Nimbus Roman</family>
- <family>Nimbus Roman No9 L</family>
</accept>
</alias>
<family>Courier</family>
<accept>
<family>TeX Gyre Cursor</family>
- <family>Nimbus Mono</family>
- <family>Nimbus Mono L</family>
</accept>
</alias>
<family>ITC Avant Garde Gothic</family>
<accept>
<family>TeX Gyre Adventor</family>
- <family>URW Gothic</family>
- <family>URW Gothic L</family>
</accept>
</alias>
<accept>
<family>Bookman Old Style</family>
<family>TeX Gyre Bonum</family>
- <family>Bookman URW</family>
- <family>URW Bookman L</family>
</accept>
</alias>
<family>ITC Zapf Chancery</family>
<accept>
<family>TeX Gyre Chorus</family>
- <family>Chancery URW</family>
- <family>URW Chancery L</family>
</accept>
</alias>
<accept>
<family>Palatino Linotype</family>
<family>TeX Gyre Pagella</family>
- <family>Palladio URW</family>
- <family>URW Palladio L</family>
</accept>
</alias>
<accept>
<family>Century Schoolbook</family>
<family>TeX Gyre Schola</family>
- <family>Century SchoolBook URW</family>
- <family>Century Schoolbook L</family>
</accept>
</alias>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-<fontconfig>
-<!--
- URW provides metric and shape compatible fonts for some Adobe families.
- Most of these are handled in 30-metric-aliases.conf.
- -->
- <alias binding="same">
- <family>Zapf Dingbats</family>
- <accept><family>Dingbats</family></accept>
- </alias>
- <alias binding="same">
- <family>ITC Zapf Dingbats</family>
- <accept><family>Dingbats</family></accept>
- </alias>
- <match target="pattern">
- <test name="family" compare="eq" ignore-blanks="true">
- <string>Symbol</string>
- </test>
- <edit name="family" mode="append" binding="same">
- <string>Standard Symbols L</string>
- </edit>
- </match>
-</fontconfig>
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set substitutions for non-Latin fonts</description>
<!--
Mark common families with their generics so we'll get
something reasonable
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set substitutions for emoji/math fonts</description>
+
+<!-- Keep in sync with 60-generic.conf -->
+
+<!-- Emoji -->
+
+ <!-- System emoji -->
+ <alias binding="same">
+ <family>Noto Color Emoji</family> <!-- Google -->
+ <default><family>emoji</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Apple Color Emoji</family> <!-- Apple -->
+ <default><family>emoji</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Segoe UI Emoji</family> <!-- Microsoft -->
+ <default><family>emoji</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Twitter Color Emoji</family> <!-- Twitter -->
+ <default><family>emoji</family></default>
+ </alias>
+ <alias binding="same">
+ <family>EmojiOne Mozilla</family> <!-- Mozilla -->
+ <default><family>emoji</family></default>
+ </alias>
+ <!-- Third-party emoji -->
+ <alias binding="same">
+ <family>Emoji Two</family>
+ <default><family>emoji</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Emoji One</family>
+ <default><family>emoji</family></default>
+ </alias>
+ <!-- B&W -->
+ <alias binding="same">
+ <family>Noto Emoji</family> <!-- Google -->
+ <default><family>emoji</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Android Emoji</family> <!-- Google -->
+ <default><family>emoji</family></default>
+ </alias>
+
+ <!-- Add language for emoji, to match other emoji fonts. -->
+ <match>
+ <test name="family">
+ <string>emoji</string>
+ </test>
+ <edit name="lang" mode="prepend">
+ <string>und-zsye</string>
+ </edit>
+ </match>
+
+ <match>
+ <test name="lang">
+ <string>und-zsye</string>
+ </test>
+ <test qual="all" name="family" compare="not_eq">
+ <string>emoji</string>
+ </test>
+
+ <!-- Add generic family. -->
+ <edit name="family" mode="append" binding="strong">
+ <string>emoji</string>
+ </edit>
+ </match>
+
+
+<!-- Math -->
+
+ <!-- https://en.wikipedia.org/wiki/Category:Mathematical_OpenType_typefaces -->
+ <alias binding="same">
+ <family>XITS Math</family> <!-- Khaled Hosny -->
+ <default><family>math</family></default>
+ </alias>
+ <alias binding="same">
+ <family>STIX Two Math</family> <!-- AMS -->
+ <default><family>math</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Cambria Math</family> <!-- Microsoft -->
+ <default><family>math</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Latin Modern Math</family> <!-- TeX -->
+ <default><family>math</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Minion Math</family> <!-- Adobe -->
+ <default><family>math</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Lucida Math</family> <!-- Adobe -->
+ <default><family>math</family></default>
+ </alias>
+ <alias binding="same">
+ <family>Asana Math</family>
+ <default><family>math</family></default>
+ </alias>
+
+ <!-- Add language for math, to match other math fonts. -->
+ <match>
+ <test name="family">
+ <string>math</string>
+ </test>
+ <edit name="lang" mode="prepend">
+ <string>und-zmth</string>
+ </edit>
+ </match>
+
+ <match>
+ <test name="lang">
+ <string>und-zmth</string>
+ </test>
+ <test qual="all" name="family" compare="not_eq">
+ <string>math</string>
+ </test>
+
+ <!-- Add generic family -->
+ <edit name="family" mode="append" binding="strong">
+ <string>math</string>
+ </edit>
+ </match>
+
+
+</fontconfig>
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set substitutions for Latin fonts</description>
<!--
Mark common families with their generics so we'll get
something reasonable
<default><family>monospace</family></default>
</alias>
<alias>
+ <family>Nimbus Mono PS</family>
+ <default><family>monospace</family></default>
+ </alias>
+ <alias>
<family>Terminal</family>
<default><family>monospace</family></default>
</alias>
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Add sans-serif to the family when no generic name</description>
<!--
If the font still has no generic name, add sans-serif
-->
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Load per-user customization files</description>
<!--
Load per-user customization files where stored on XDG Base Directory
specification compliant places. it should be usually:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Load local customization file</description>
<!-- Load local system customization file -->
<include ignore_missing="yes">local.conf</include>
</fontconfig>
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set preferable fonts for emoji/math fonts</description>
+<!-- Keep in sync with 45-generic.conf -->
+
+<!-- Emoji -->
+
+ <!-- Prefer to match color emoji font. -->
+ <match>
+ <test name="lang">
+ <string>und-zsye</string>
+ </test>
+ <test qual="all" name="color" compare="not_eq">
+ <bool>true</bool>
+ </test>
+ <test qual="all" name="color" compare="not_eq">
+ <bool>false</bool>
+ </test>
+ <edit name="color" mode="append">
+ <bool>true</bool>
+ </edit>
+ </match>
+
+ <!-- TODO
+ ! Match on "color" and alias B&W ones first if no color is requested.
+ ! That's "hard" because <alias> doesn't work in match and needs to be
+ ! expanded to its non-sugar form.
+ !-->
+ <alias binding="same">
+ <family>emoji</family>
+ <prefer>
+ <!-- System fonts -->
+ <family>Noto Color Emoji</family> <!-- Google -->
+ <family>Apple Color Emoji</family> <!-- Apple -->
+ <family>Segoe UI Emoji</family> <!-- Microsoft -->
+ <family>Twitter Color Emoji</family> <!-- Twitter -->
+ <family>EmojiOne Mozilla</family> <!-- Mozilla -->
+ <!-- Third-Party fonts -->
+ <family>Emoji Two</family>
+ <family>Emoji One</family>
+ <!-- Non-color -->
+ <family>Noto Emoji</family> <!-- Google -->
+ <family>Android Emoji</family> <!-- Google -->
+ </prefer>
+ </alias>
+
+<!-- Math -->
+ <alias binding="same">
+ <!-- https://en.wikipedia.org/wiki/Category:Mathematical_OpenType_typefaces -->
+ <family>math</family>
+ <prefer>
+ <family>XITS Math</family> <!-- Khaled Hosny -->
+ <family>STIX Two Math</family> <!-- AMS -->
+ <family>Cambria Math</family> <!-- Microsoft -->
+ <family>Latin Modern Math</family> <!-- TeX -->
+ <family>Minion Math</family> <!-- Adobe -->
+ <family>Lucida Math</family> <!-- Adobe -->
+ <family>Asana Math</family>
+ </prefer>
+ </alias>
+
+</fontconfig>
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set preferable fonts for Latin</description>
<alias>
<family>serif</family>
<prefer>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>Nimbus Mono</family>
+ <family>Nimbus Mono PS</family>
<family>Courier</family>
</prefer>
</alias>
2008 Behdad Esfahbod: Cleanup. Add fantasy and cursive.
-->
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
<!-- Deprecated fonts are discouraged -->
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
<alias>
<family>serif</family>
<prefer>
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Set preferable fonts for non-Latin</description>
<alias>
<family>serif</family>
<prefer>
<family>Hapax Berbère</family> <!-- tifinagh -->
<family>MS Gothic</family> <!-- han (ja) -->
<family>UmePlus P Gothic</family> <!-- han (ja) -->
- <!-- chinese fonts are actually serifed -->
- <family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
- <family>PMingLiu</family> <!-- han (zh-tw) -->
+ <family>Microsoft YaHei</family> <!-- han (zh-cn,zh-tw) -->
+ <family>Microsoft JhengHei</family> <!-- han (zh-tw) -->
<family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
<family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
<family>AR PL ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
<alias>
<family>serif</family>
<prefer>
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Reject bitmap fonts</description>
<!-- Reject bitmap fonts -->
<selectfont>
<rejectfont>
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Accept bitmap fonts</description>
<!-- Accept bitmap fonts -->
<selectfont>
<acceptfont>
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
<!-- Fix-ups for Delicious family -->
<!-- Delicious 'heavy' variant says its Medium weight -->
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
<!--
Artificial oblique for fonts without an italic or oblique version
-->
<match target="font">
<!-- check to see if the font is just regular -->
<test name="weight" compare="less_eq">
- <const>medium</const>
+ <const>regular</const>
</test>
<!-- check to see if the pattern requests bold -->
- <test target="pattern" name="weight" compare="more">
- <const>medium</const>
+ <test target="pattern" name="weight" compare="more_eq">
+ <const>bold</const>
</test>
<!--
set the embolden flag
10-hinting-$(PREFERRED_HINTING).conf \
10-scale-bitmap-fonts.conf \
20-unhint-small-vera.conf \
- 30-urw-aliases.conf \
30-metric-aliases.conf \
40-nonlatin.conf \
+ 45-generic.conf \
45-latin.conf \
49-sansserif.conf \
50-user.conf \
51-local.conf \
+ 60-generic.conf \
60-latin.conf \
65-fonts-persian.conf \
65-nonlatin.conf \
11-lcdfilter-light.conf \
20-unhint-small-vera.conf \
25-unhint-nonlatin.conf \
- 30-urw-aliases.conf \
30-metric-aliases.conf \
40-nonlatin.conf \
+ 45-generic.conf \
45-latin.conf \
49-sansserif.conf \
50-user.conf \
51-local.conf \
+ 60-generic.conf \
60-latin.conf \
65-fonts-persian.conf \
65-khmer.conf \
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
10-hinting-$(PREFERRED_HINTING).conf \
10-scale-bitmap-fonts.conf \
20-unhint-small-vera.conf \
- 30-urw-aliases.conf \
30-metric-aliases.conf \
40-nonlatin.conf \
+ 45-generic.conf \
45-latin.conf \
49-sansserif.conf \
50-user.conf \
51-local.conf \
+ 60-generic.conf \
60-latin.conf \
65-fonts-persian.conf \
65-nonlatin.conf \
11-lcdfilter-light.conf \
20-unhint-small-vera.conf \
25-unhint-nonlatin.conf \
- 30-urw-aliases.conf \
30-metric-aliases.conf \
40-nonlatin.conf \
+ 45-generic.conf \
45-latin.conf \
49-sansserif.conf \
50-user.conf \
51-local.conf \
+ 60-generic.conf \
60-latin.conf \
65-fonts-persian.conf \
65-khmer.conf \
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2015-01-01'
+timestamp='2017-08-08'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
#
# Please send patches to <config-patches@gnu.org>.
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || \
+ echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
+ # to ELF recently (or will in the future) and ABI.
case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ os=netbsdelf
+ ;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
os=netbsd
;;
esac
+ # Determine ABI tags.
+ case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ ;;
+ esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
+ echo "${machine}-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
+ *:LibertyBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+ exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
+ *:Redox:*:*)
+ echo ${UNAME_MACHINE}-unknown-redox
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
+ UNAME_MACHINE=alphaev5 ;;
"EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
+ UNAME_MACHINE=alphaev56 ;;
"EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
+ UNAME_MACHINE=alphapca56 ;;
"EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
+ UNAME_MACHINE=alphapca57 ;;
"EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
+ UNAME_MACHINE=alphaev6 ;;
"EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
+ UNAME_MACHINE=alphaev67 ;;
"EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
+ UNAME_MACHINE=alphaev69 ;;
"EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
+ UNAME_MACHINE=alphaev7 ;;
"EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
+ UNAME_MACHINE=alphaev79 ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
- SUN_ARCH="i386"
+ SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
- SUN_ARCH="x86_64"
+ SUN_ARCH=x86_64
fi
fi
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ 32) HP_ARCH=hppa2.0n ;;
+ 64) HP_ARCH=hppa2.0w ;;
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
exit (0);
}
EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
+ if [ ${HP_ARCH} = hppa2.0w ]
then
eval $set_cc_for_build
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
- HP_ARCH="hppa2.0w"
+ HP_ARCH=hppa2.0w
else
- HP_ARCH="hppa64"
+ HP_ARCH=hppa64
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
case ${UNAME_PROCESSOR} in
amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ UNAME_PROCESSOR=x86_64 ;;
+ i386)
+ UNAME_PROCESSOR=i586 ;;
esac
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
+ e2k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
+ k1om:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
+ mips64el:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
openrisc*:Linux:*:*)
echo or1k-unknown-linux-${LIBC}
exit ;;
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
exit ;;
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
+ # prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
+ SX-ACE:SUPER-UX:*:*)
+ echo sxace-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
UNAME_PROCESSOR=powerpc
fi
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
then
case $UNAME_PROCESSOR in
i386) UNAME_PROCESSOR=x86_64 ;;
powerpc) UNAME_PROCESSOR=powerpc64 ;;
esac
fi
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_PPC >/dev/null
+ then
+ UNAME_PROCESSOR=powerpc
+ fi
fi
elif test "$UNAME_PROCESSOR" = i386 ; then
# Avoid executing cc on OS X 10.9, as it ships with a stub
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
+ if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
- NEO-?:NONSTOP_KERNEL:*:*)
+ NEO-*:NONSTOP_KERNEL:*:*)
echo neo-tandem-nsk${UNAME_RELEASE}
exit ;;
NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
+ NSR-*:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit ;;
+ NSX-*:NONSTOP_KERNEL:*:*)
+ echo nsx-tandem-nsk${UNAME_RELEASE}
+ exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit ;;
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
- if test "$cputype" = "386"; then
+ if test "$cputype" = 386; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
+ exit ;;
esac
cat >&2 <<EOF
$0: unable to guess system type
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
config.guess timestamp = $timestamp
/* Use libxml2 instead of Expat */
#undef ENABLE_LIBXML2
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+#undef ENABLE_NLS
+
/* Additional font directories */
#undef FC_ADD_FONTS
/* System font directory */
#undef FC_DEFAULT_FONTS
+/* The type of len parameter of the gperf hash/lookup function */
+#undef FC_GPERF_SIZE_T
+
/* Define to nothing if C supports flexible array members, and to 1 if it does
not. That way, with a declaration like `struct s { int n; double
d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
MSVC and with C++ compilers. */
#undef FLEXIBLE_ARRAY_MEMBER
+/* Gettext package */
+#undef GETTEXT_PACKAGE
+
+/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYCURRENT
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+#undef HAVE_DCGETTEXT
+
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
/* Define to 1 if you have the `fstatvfs' function. */
#undef HAVE_FSTATVFS
-/* FT_Bitmap_Size structure includes y_ppem field */
-#undef HAVE_FT_BITMAP_SIZE_Y_PPEM
+/* Define to 1 if you have the `FT_Done_MM_Var' function. */
+#undef HAVE_FT_DONE_MM_VAR
/* Define to 1 if you have the `FT_Get_BDF_Property' function. */
#undef HAVE_FT_GET_BDF_PROPERTY
-/* Define to 1 if you have the `FT_Get_Next_Char' function. */
-#undef HAVE_FT_GET_NEXT_CHAR
-
/* Define to 1 if you have the `FT_Get_PS_Font_Info' function. */
#undef HAVE_FT_GET_PS_FONT_INFO
/* Define to 1 if you have the `FT_Has_PS_Glyph_Names' function. */
#undef HAVE_FT_HAS_PS_GLYPH_NAMES
-/* Define to 1 if you have the `FT_Select_Size' function. */
-#undef HAVE_FT_SELECT_SIZE
-
/* Define to 1 if you have the `getexecname' function. */
#undef HAVE_GETEXECNAME
/* Define to 1 if you have the `getprogname' function. */
#undef HAVE_GETPROGNAME
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define if you have the iconv() function and it works. */
+#undef HAVE_ICONV
+
/* Have Intel __sync_* atomic primitives */
#undef HAVE_INTEL_ATOMIC_PRIMITIVES
/* Define to 1 if you have the <sys/vfs.h> header file. */
#undef HAVE_SYS_VFS_H
-/* Define to 1 if `usLowerOpticalPointSize' is a member of `TT_OS2'. */
-#undef HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE
-
-/* Define to 1 if `usUpperOpticalPointSize' is a member of `TT_OS2'. */
-#undef HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE
-
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
--- /dev/null
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+# Copyright 1996-2016 Free Software Foundation, Inc.
+# Taken from GNU libtool, 2001
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# The first argument passed to this file is the canonical host specification,
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+# than 256 bytes, otherwise the compiler driver will dump core. The only
+# known workaround is to choose shorter directory names for the build
+# directory and/or the installation directory.
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+ wl='-Wl,'
+else
+ case "$host_os" in
+ aix*)
+ wl='-Wl,'
+ ;;
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ wl='-Wl,'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ wl='-Wl,'
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ ecc*)
+ wl='-Wl,'
+ ;;
+ icc* | ifort*)
+ wl='-Wl,'
+ ;;
+ lf95*)
+ wl='-Wl,'
+ ;;
+ nagfor*)
+ wl='-Wl,-Wl,,'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ wl='-Wl,'
+ ;;
+ ccc*)
+ wl='-Wl,'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ wl='-Wl,'
+ ;;
+ como)
+ wl='-lopt='
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ F* | *Sun*Fortran*)
+ wl=
+ ;;
+ *Sun\ C*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ newsos6)
+ ;;
+ *nto* | *qnx*)
+ ;;
+ osf3* | osf4* | osf5*)
+ wl='-Wl,'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ wl='-Qoption ld '
+ ;;
+ *)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ sunos4*)
+ wl='-Qoption ld '
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ wl='-Wl,'
+ ;;
+ sysv4*MP*)
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ wl='-Wl,'
+ ;;
+ unicos*)
+ wl='-Wl,'
+ ;;
+ uts4*)
+ ;;
+ esac
+fi
+
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ case "$host_os" in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ fi
+ ;;
+ amigaos*)
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ haiku*)
+ ;;
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ netbsd*)
+ ;;
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+ sunos4*)
+ hardcode_direct=yes
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ if test "$ld_shlibs" = no; then
+ hardcode_libdir_flag_spec=
+ fi
+else
+ case "$host_os" in
+ aix3*)
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ else
+ aix_use_runtimelinking=no
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+ fi
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ fi
+ # Begin _LT_AC_SYS_LIBPATH_AIX.
+ echo 'int main () { return 0; }' > conftest.c
+ ${CC} ${LDFLAGS} conftest.c -o conftest
+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ fi
+ if test -z "$aix_libpath"; then
+ aix_libpath="/usr/lib:/lib"
+ fi
+ rm -f conftest.c conftest
+ # End _LT_AC_SYS_LIBPATH_AIX.
+ if test "$aix_use_runtimelinking" = yes; then
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ fi
+ fi
+ ;;
+ amigaos*)
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+ bsdi[45]*)
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ libext=lib
+ ;;
+ darwin* | rhapsody*)
+ hardcode_direct=no
+ if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ dgux*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ freebsd2.[01]*)
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ freebsd* | dragonfly*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ hpux10*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+ hpux11*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ ;;
+ *)
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+ irix5* | irix6* | nonstopux*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ netbsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ newsos6)
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ *nto* | *qnx*)
+ ;;
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ osf3*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ osf4* | osf5*)
+ if test "$GCC" = yes; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ # Both cc and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+ solaris*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ sunos4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ sysv4)
+ case $host_vendor in
+ sni)
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ hardcode_direct=no
+ ;;
+ motorola)
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ ;;
+ sysv4.3*)
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ ld_shlibs=yes
+ fi
+ ;;
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
+ ;;
+ uts4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec= # the last element of library_names_spec in libtool.m4
+libname_spec='lib$name'
+case "$host_os" in
+ aix3*)
+ library_names_spec='$libname.a'
+ ;;
+ aix[4-9]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ amigaos*)
+ case "$host_cpu" in
+ powerpc*)
+ library_names_spec='$libname$shrext' ;;
+ m68k)
+ library_names_spec='$libname.a' ;;
+ esac
+ ;;
+ beos*)
+ library_names_spec='$libname$shrext'
+ ;;
+ bsdi[45]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ shrext=.dll
+ library_names_spec='$libname.dll.a $libname.lib'
+ ;;
+ darwin* | rhapsody*)
+ shrext=.dylib
+ library_names_spec='$libname$shrext'
+ ;;
+ dgux*)
+ library_names_spec='$libname$shrext'
+ ;;
+ freebsd[23].*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ freebsd* | dragonfly*)
+ library_names_spec='$libname$shrext'
+ ;;
+ gnu*)
+ library_names_spec='$libname$shrext'
+ ;;
+ haiku*)
+ library_names_spec='$libname$shrext'
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $host_cpu in
+ ia64*)
+ shrext=.so
+ ;;
+ hppa*64*)
+ shrext=.sl
+ ;;
+ *)
+ shrext=.sl
+ ;;
+ esac
+ library_names_spec='$libname$shrext'
+ ;;
+ interix[3-9]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ library_names_spec='$libname$shrext'
+ case "$host_os" in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+ *) libsuff= shlibsuff= ;;
+ esac
+ ;;
+ esac
+ ;;
+ linux*oldld* | linux*aout* | linux*coff*)
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ knetbsd*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ netbsd*)
+ library_names_spec='$libname$shrext'
+ ;;
+ newsos6)
+ library_names_spec='$libname$shrext'
+ ;;
+ *nto* | *qnx*)
+ library_names_spec='$libname$shrext'
+ ;;
+ openbsd*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ os2*)
+ libname_spec='$name'
+ shrext=.dll
+ library_names_spec='$libname.a'
+ ;;
+ osf3* | osf4* | osf5*)
+ library_names_spec='$libname$shrext'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sunos4*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ sysv4 | sysv4.3*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv4*MP*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ library_names_spec='$libname$shrext'
+ ;;
+ tpf*)
+ library_names_spec='$libname$shrext'
+ ;;
+ uts4*)
+ library_names_spec='$libname$shrext'
+ ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+
+# How to pass a linker flag through the compiler.
+wl="$escaped_wl"
+
+# Static library suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally "so").
+shlibext="$shlibext"
+
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct="$hardcode_direct"
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L="$hardcode_minus_L"
+
+EOF
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2015-01-01'
+timestamp='2017-04-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+ kopensolaris*-gnu* | cloudabi*-eabi* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
+ | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
- | epiphany \
+ | e2k | epiphany \
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
- | i370 | i860 | i960 | ia64 \
+ | i370 | i860 | i960 | ia16 | ia64 \
| ip2k | iq2000 \
| k1om \
| le32 | le64 \
| open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pru \
| pyramid \
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
+ | wasm32 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
- | elxsi-* \
+ | e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
- | i*86-* | i860-* | i960-* | ia64-* \
+ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
| ip2k-* | iq2000-* \
| k1om-* \
| le32-* | le64-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pru-* \
| pyramid-* \
+ | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| visium-* \
+ | wasm32-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
basic_machine=i386-pc
os=-aros
;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
basic_machine=m68k-bull
os=-sysv3
;;
+ e500v[12])
+ basic_machine=powerpc-unknown
+ os=$os"spe"
+ ;;
+ e500v[12]-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=$os"spe"
+ ;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
nsr-tandem)
basic_machine=nsr-tandem
;;
+ nsx-tandem)
+ basic_machine=nsx-tandem
+ ;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
ppc-* | ppcbe-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
+ ppcle | powerpclittle)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
;;
ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
basic_machine=a29k-wrs
os=-vxworks
;;
+ wasm32)
+ basic_machine=wasm32-unknown
+ ;;
w65*)
basic_machine=w65-wdc
os=-none
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -bitrig* | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* \
+ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
;;
-nacl*)
;;
+ -ios)
+ ;;
-none)
;;
*)
sparc-* | *-sun)
os=-sunos4.1.1
;;
+ pru-*)
+ os=-elf
+ ;;
*-be)
os=-beos
;;
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for fontconfig 2.12.1.
+# Generated by GNU Autoconf 2.69 for fontconfig 2.13.0.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig>.
#
# Identity of this package.
PACKAGE_NAME='fontconfig'
PACKAGE_TARNAME='fontconfig'
-PACKAGE_VERSION='2.12.1'
-PACKAGE_STRING='fontconfig 2.12.1'
+PACKAGE_VERSION='2.13.0'
+PACKAGE_STRING='fontconfig 2.13.0'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig'
PACKAGE_URL=''
# include <unistd.h>
#endif"
+gt_needs=
ac_header_list=
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
PREFERRED_HINTING
LIBXML2_LIBS
LIBXML2_CFLAGS
+PKG_EXPAT_LIBS
+PKG_EXPAT_CFLAGS
HAVE_XMLPARSE_H
EXPAT_LIBS
EXPAT_CFLAGS
+UUID_LIBS
+UUID_CFLAGS
+FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE
+FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE
FREETYPE_LIBS
FREETYPE_CFLAGS
ICONV_LIBS
MS_LIB_AVAILABLE_FALSE
MS_LIB_AVAILABLE_TRUE
ms_librarian
+POSUB
+LTLIBINTL
+LIBINTL
+INTLLIBS
+LTLIBICONV
+LIBICONV
+INTL_MACOSX_LIBS
+XGETTEXT_EXTRA_OPTIONS
+MSGMERGE
+XGETTEXT_015
+XGETTEXT
+GMSGFMT_015
+MSGFMT_015
+GMSGFMT
+MSGFMT
+GETTEXT_MACRO_VERSION
+USE_NLS
+GETTEXT_PACKAGE
OS_WIN32_FALSE
OS_WIN32_TRUE
LIBT_CURRENT_MINUS_AGE
DLLTOOL
AS
RM
-HAVE_PYTHON_FALSE
-HAVE_PYTHON_TRUE
-pkgpyexecdir
-pyexecdir
-pkgpythondir
-pythondir
-PYTHON_PLATFORM
-PYTHON_EXEC_PREFIX
-PYTHON_PREFIX
-PYTHON_VERSION
-PYTHON
GPERF
GIT
pkgconfigdir
with_gnu_ld
with_sysroot
enable_libtool_lock
+enable_nls
+enable_rpath
+with_libiconv_prefix
+with_libintl_prefix
with_arch
enable_iconv
with_libiconv
PKG_CONFIG
PKG_CONFIG_PATH
PKG_CONFIG_LIBDIR
-PYTHON
LT_SYS_LIBRARY_PATH
CC_FOR_BUILD
FREETYPE_CFLAGS
FREETYPE_LIBS
+UUID_CFLAGS
+UUID_LIBS
EXPAT_CFLAGS
EXPAT_LIBS
LIBXML2_CFLAGS
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures fontconfig 2.12.1 to adapt to many kinds of systems.
+\`configure' configures fontconfig 2.13.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of fontconfig 2.12.1:";;
+ short | recursive ) echo "Configuration of fontconfig 2.13.0:";;
esac
cat <<\_ACEOF
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
+ --disable-nls do not use Native Language Support
+ --disable-rpath do not hardcode runtime library paths
--enable-iconv Use iconv to support non-Unicode SFNT name
--enable-libxml2 Use libxml2 instead of Expat
--disable-docs Don't build and install documentation
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot[=DIR] Search for dependent libraries within DIR (or the
compiler's sysroot if not specified).
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
+ --without-libiconv-prefix don't search for libiconv in includedir and libdir
+ --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
+ --without-libintl-prefix don't search for libintl in includedir and libdir
--with-arch=ARCH Force architecture to ARCH
--with-libiconv=DIR Use libiconv in DIR
--with-libiconv-includes=DIR
directories to add to pkg-config's search path
PKG_CONFIG_LIBDIR
path overriding pkg-config's built-in search path
- PYTHON the Python interpreter
LT_SYS_LIBRARY_PATH
User-defined run-time library search path.
CC_FOR_BUILD
C compiler flags for FREETYPE, overriding pkg-config
FREETYPE_LIBS
linker flags for FREETYPE, overriding pkg-config
+ UUID_CFLAGS C compiler flags for UUID, overriding pkg-config
+ UUID_LIBS linker flags for UUID, overriding pkg-config
EXPAT_CFLAGS
C compiler flags for EXPAT, overriding pkg-config
EXPAT_LIBS linker flags for EXPAT, overriding pkg-config
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-fontconfig configure 2.12.1
+fontconfig configure 2.13.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by fontconfig $as_me 2.12.1, which was
+It was created by fontconfig $as_me 2.13.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
>$cache_file
fi
+gt_needs="$gt_needs "
as_fn_append ac_header_list " stdlib.h"
as_fn_append ac_header_list " unistd.h"
as_fn_append ac_header_list " sys/param.h"
# Define the identity of the package.
PACKAGE='fontconfig'
- VERSION='2.12.1'
+ VERSION='2.13.0'
cat >>confdefs.h <<_ACEOF
GPERF=${GPERF-"${am_missing_run}gperf"}
-
-
-
-
-
- # Find any Python interpreter.
- if test -z "$PYTHON"; then
- for ac_prog in python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PYTHON+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $PYTHON in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PYTHON=$ac_cv_path_PYTHON
-if test -n "$PYTHON"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
-$as_echo "$PYTHON" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$PYTHON" && break
-done
-test -n "$PYTHON" || PYTHON=":"
-
- fi
- am_display_PYTHON=python
-
-
- if test "$PYTHON" = :; then
- :
- else
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
-$as_echo_n "checking for $am_display_PYTHON version... " >&6; }
-if ${am_cv_python_version+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
-$as_echo "$am_cv_python_version" >&6; }
- PYTHON_VERSION=$am_cv_python_version
-
-
-
- PYTHON_PREFIX='${prefix}'
-
- PYTHON_EXEC_PREFIX='${exec_prefix}'
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
-$as_echo_n "checking for $am_display_PYTHON platform... " >&6; }
-if ${am_cv_python_platform+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
-$as_echo "$am_cv_python_platform" >&6; }
- PYTHON_PLATFORM=$am_cv_python_platform
-
-
- # Just factor out some code duplication.
- am_python_setup_sysconfig="\
-import sys
-# Prefer sysconfig over distutils.sysconfig, for better compatibility
-# with python 3.x. See automake bug#10227.
-try:
- import sysconfig
-except ImportError:
- can_use_sysconfig = 0
-else:
- can_use_sysconfig = 1
-# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
-# <https://github.com/pypa/virtualenv/issues/118>
-try:
- from platform import python_implementation
- if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
- can_use_sysconfig = 0
-except ImportError:
- pass"
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
-$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
-if ${am_cv_python_pythondir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$prefix" = xNONE
- then
- am_py_prefix=$ac_default_prefix
- else
- am_py_prefix=$prefix
- fi
- am_cv_python_pythondir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
- sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
-else:
- from distutils import sysconfig
- sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
-sys.stdout.write(sitedir)"`
- case $am_cv_python_pythondir in
- $am_py_prefix*)
- am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
- am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
- ;;
- *)
- case $am_py_prefix in
- /usr|/System*) ;;
- *)
- am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
- ;;
- esac
- ;;
- esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
-$as_echo "$am_cv_python_pythondir" >&6; }
- pythondir=$am_cv_python_pythondir
-
-
-
- pkgpythondir=\${pythondir}/$PACKAGE
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
-$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
-if ${am_cv_python_pyexecdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$exec_prefix" = xNONE
- then
- am_py_exec_prefix=$am_py_prefix
- else
- am_py_exec_prefix=$exec_prefix
- fi
- am_cv_python_pyexecdir=`$PYTHON -c "
-$am_python_setup_sysconfig
-if can_use_sysconfig:
- sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
-else:
- from distutils import sysconfig
- sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
-sys.stdout.write(sitedir)"`
- case $am_cv_python_pyexecdir in
- $am_py_exec_prefix*)
- am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
- am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
- ;;
- *)
- case $am_py_exec_prefix in
- /usr|/System*) ;;
- *)
- am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
- ;;
- esac
- ;;
- esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
-$as_echo "$am_cv_python_pyexecdir" >&6; }
- pyexecdir=$am_cv_python_pyexecdir
-
-
-
- pkgpyexecdir=\${pyexecdir}/$PACKAGE
-
-
-
- fi
-
-
- if test "$PYTHON" != :; then
- HAVE_PYTHON_TRUE=
- HAVE_PYTHON_FALSE='#'
-else
- HAVE_PYTHON_TRUE='#'
- HAVE_PYTHON_FALSE=
-fi
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for RM macro" >&5
$as_echo_n "checking for RM macro... " >&6; }
_predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'`
-LIBT_CURRENT=10
-LIBT_REVISION=2
+LIBT_CURRENT=12
+LIBT_REVISION=1
-LIBT_AGE=9
+LIBT_AGE=11
LIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
PKGCONFIG_REQUIRES=
PKGCONFIG_REQUIRES_PRIVATELY=
-
case "$host" in
*-*-mingw*)
os_win32=yes
fi
-if test "$os_win32" = "yes"; then
- # Extract the first word of "lib.exe", so it can be a program name with args.
-set dummy lib.exe; ac_word=$2
+GETTEXT_PACKAGE=$PACKAGE
+
+
+cat >>confdefs.h <<_ACEOF
+#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE"
+_ACEOF
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+ # Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+ enableval=$enable_nls; USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+ GETTEXT_MACRO_VERSION=0.19
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ms_librarian+:} false; then :
+if ${ac_cv_path_MSGFMT+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ms_librarian"; then
- ac_cv_prog_ms_librarian="$ms_librarian" # Let the user override the test.
+ case "$MSGFMT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+ ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GMSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GMSGFMT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ms_librarian="yes"
+ ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
IFS=$as_save_IFS
- test -z "$ac_cv_prog_ms_librarian" && ac_cv_prog_ms_librarian="no"
-fi
+ test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+ ;;
+esac
fi
-ms_librarian=$ac_cv_prog_ms_librarian
-if test -n "$ms_librarian"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ms_librarian" >&5
-$as_echo "$ms_librarian" >&6; }
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
+
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
- if test x$ms_librarian = xyes; then
- MS_LIB_AVAILABLE_TRUE=
- MS_LIB_AVAILABLE_FALSE='#'
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
else
- MS_LIB_AVAILABLE_TRUE='#'
- MS_LIB_AVAILABLE_FALSE=
+ ac_executable_p="test -f"
fi
+rm -f conf$$.file
-
-ac_fn_c_check_decl "$LINENO" "__SUNPRO_C" "ac_cv_have_decl___SUNPRO_C" "$ac_includes_default"
-if test "x$ac_cv_have_decl___SUNPRO_C" = xyes; then :
- SUNCC="yes"
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_XGETTEXT+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- SUNCC="no"
+ case "$XGETTEXT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+ ;;
+esac
fi
-
-WARN_CFLAGS=""
-WARNING_CPP_DIRECTIVE="no"
-if test "x$GCC" = "xyes"; then
- WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
- -Wmissing-prototypes -Wmissing-declarations \
- -Wnested-externs -fno-strict-aliasing"
- WARNING_CPP_DIRECTIVE="yes"
-elif test "x$SUNCC" = "xyes"; then
- WARN_CFLAGS="-v -fd"
- WARNING_CPP_DIRECTIVE="yes"
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-if test "x$WARNING_CPP_DIRECTIVE" = "xyes"; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_WARNING_CPP_DIRECTIVE 1
-_ACEOF
-fi
+ rm -f messages.po
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
-# Put a plausible default for CC_FOR_BUILD in Makefile.
-if test -z "$CC_FOR_BUILD"; then
- if test "x$cross_compiling" = "xno"; then
- CC_FOR_BUILD='$(CC)'
- else
- CC_FOR_BUILD=gcc
- fi
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
fi
-# Also set EXEEXT_FOR_BUILD.
-if test "x$cross_compiling" = "xno"; then
- EXEEXT_FOR_BUILD='$(EXEEXT)'
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build system executable suffix" >&5
-$as_echo_n "checking for build system executable suffix... " >&6; }
-if ${bfd_cv_build_exeext+:} false; then :
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGMERGE+:} false; then :
$as_echo_n "(cached) " >&6
else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.c
- bfd_cv_build_exeext=
- ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
- *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- rm -f conftest*
- test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_build_exeext" >&5
+ case "$MSGMERGE" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
+ ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+ ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$localedir" || localedir='${datadir}/locale'
+
+
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+
+
+ ac_config_commands="$ac_config_commands po-directories"
+
+
+
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+ while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${acl_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$acl_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${acl_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes
+ ;;
+*)
+ acl_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if ${acl_cv_rpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+ wl="$acl_cv_wl"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ # Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+ enableval=$enable_rpath; :
+else
+ enable_rpath=yes
+fi
+
+
+
+
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if ${gl_cv_solaris_64bit+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+ gl_cv_solaris_64bit=yes
+else
+ gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
+
+
+
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-libiconv-prefix was given.
+if test "${with_libiconv_prefix+set}" = set; then :
+ withval=$with_libiconv_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+
+fi
+
+ LIBICONV=
+ LTLIBICONV=
+ INCICONV=
+ LIBICONV_PREFIX=
+ HAVE_LIBICONV=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='iconv '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$acl_hardcode_direct" = yes; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+ done
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
+if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <CoreFoundation/CFPreferences.h>
+int
+main ()
+{
+CFPreferencesCopyAppValue(NULL, NULL)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_CFPreferencesCopyAppValue=yes
+else
+ gt_cv_func_CFPreferencesCopyAppValue=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+
+$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
+$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
+if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <CoreFoundation/CFLocale.h>
+int
+main ()
+{
+CFLocaleCopyCurrent();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_CFLocaleCopyCurrent=yes
+else
+ gt_cv_func_CFLocaleCopyCurrent=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
+$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+
+$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+
+
+
+
+
+
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ case " $gt_needs " in
+ *" need-formatstring-macros "*) gt_api_version=3 ;;
+ *" need-ngettext "*) gt_api_version=2 ;;
+ *) gt_api_version=1 ;;
+ esac
+ gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+ gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+
+
+ if test $gt_api_version -ge 3; then
+ gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+'
+ else
+ gt_revision_test_code=
+ fi
+ if test $gt_api_version -ge 2; then
+ gt_expression_test_code=' + * ngettext ("", "", 0)'
+ else
+ gt_expression_test_code=
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
+$as_echo_n "checking for GNU gettext in libc... " >&6; }
+if eval \${$gt_func_gnugettext_libc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main ()
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$gt_func_gnugettext_libc=yes"
+else
+ eval "$gt_func_gnugettext_libc=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$gt_func_gnugettext_libc
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+
+
+
+
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+
+ for element in $INCICONV; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if ${am_cv_func_iconv+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$am_save_LIBS"
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+ if test "$am_cv_func_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+$as_echo_n "checking for working iconv... " >&6; }
+if ${am_cv_func_iconv_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ am_cv_func_iconv_works=no
+ for ac_iconv_const in '' 'const'; do
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+
+int
+main ()
+{
+int result = 0;
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 1;
+ iconv_close (cd_utf8_to_88591);
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\263";
+ char buf[10];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 2;
+ iconv_close (cd_ascii_to_88591);
+ }
+ }
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ result |= 4;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ result |= 8;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ result |= 16;
+ return result;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ am_cv_func_iconv_works=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ test "$am_cv_func_iconv_works" = no || break
+ done
+ LIBS="$am_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+$as_echo "$am_cv_func_iconv_works" >&6; }
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+
+$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
+ else
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+
+
+
+
+
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then :
+ withval=$with_libintl_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+
+fi
+
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ LIBINTL_PREFIX=
+ HAVE_LIBINTL=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='intl '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$acl_hardcode_direct" = yes; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+ done
+ fi
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
+$as_echo_n "checking for GNU gettext in libintl... " >&6; }
+if eval \${$gt_func_gnugettext_libintl+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main ()
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$gt_func_gnugettext_libintl=yes"
+else
+ eval "$gt_func_gnugettext_libintl=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main ()
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"
+fi
+eval ac_res=\$$gt_func_gnugettext_libintl
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ fi
+
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+
+
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
+$as_echo_n "checking whether to use NLS... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+ if test "$USE_NLS" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
+$as_echo_n "checking where the gettext function comes from... " >&6; }
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
+$as_echo "$gt_source" >&6; }
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
+$as_echo_n "checking how to link with libintl... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
+$as_echo "$LIBINTL" >&6; }
+
+ for element in $INCINTL; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+ fi
+
+
+$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
+
+ fi
+
+ POSUB=po
+ fi
+
+
+
+ INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+
+
+if test "$os_win32" = "yes"; then
+ # Extract the first word of "lib.exe", so it can be a program name with args.
+set dummy lib.exe; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ms_librarian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ms_librarian"; then
+ ac_cv_prog_ms_librarian="$ms_librarian" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ms_librarian="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_ms_librarian" && ac_cv_prog_ms_librarian="no"
+fi
+fi
+ms_librarian=$ac_cv_prog_ms_librarian
+if test -n "$ms_librarian"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ms_librarian" >&5
+$as_echo "$ms_librarian" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+ if test x$ms_librarian = xyes; then
+ MS_LIB_AVAILABLE_TRUE=
+ MS_LIB_AVAILABLE_FALSE='#'
+else
+ MS_LIB_AVAILABLE_TRUE='#'
+ MS_LIB_AVAILABLE_FALSE=
+fi
+
+
+ac_fn_c_check_decl "$LINENO" "__SUNPRO_C" "ac_cv_have_decl___SUNPRO_C" "$ac_includes_default"
+if test "x$ac_cv_have_decl___SUNPRO_C" = xyes; then :
+ SUNCC="yes"
+else
+ SUNCC="no"
+fi
+
+WARN_CFLAGS=""
+WARNING_CPP_DIRECTIVE="no"
+if test "x$GCC" = "xyes"; then
+ WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wnested-externs -fno-strict-aliasing"
+ WARNING_CPP_DIRECTIVE="yes"
+elif test "x$SUNCC" = "xyes"; then
+ WARN_CFLAGS="-v -fd"
+ WARNING_CPP_DIRECTIVE="yes"
+fi
+if test "x$WARNING_CPP_DIRECTIVE" = "xyes"; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_WARNING_CPP_DIRECTIVE 1
+_ACEOF
+
+fi
+
+
+
+
+# Put a plausible default for CC_FOR_BUILD in Makefile.
+if test -z "$CC_FOR_BUILD"; then
+ if test "x$cross_compiling" = "xno"; then
+ CC_FOR_BUILD='$(CC)'
+ else
+ CC_FOR_BUILD=gcc
+ fi
+fi
+
+# Also set EXEEXT_FOR_BUILD.
+if test "x$cross_compiling" = "xno"; then
+ EXEEXT_FOR_BUILD='$(EXEEXT)'
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for build system executable suffix" >&5
+$as_echo_n "checking for build system executable suffix... " >&6; }
+if ${bfd_cv_build_exeext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.c
+ bfd_cv_build_exeext=
+ ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ rm -f conftest*
+ test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bfd_cv_build_exeext" >&5
$as_echo "$bfd_cv_build_exeext" >&6; }
EXEEXT_FOR_BUILD=""
test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext}
fi
+# Check the argument type of the gperf hash/lookup function
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking The type of len parameter of gperf hash/lookup function" >&5
+$as_echo_n "checking The type of len parameter of gperf hash/lookup function... " >&6; }
+fc_gperf_test="$(echo 'foo' | gperf -L ANSI-C)"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <string.h>
+
+ const char *in_word_set(register const char *, register size_t);
+ $fc_gperf_test
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ FC_GPERF_SIZE_T=size_t
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <string.h>
+
+ const char *in_word_set(register const char *, register unsigned int);
+ $fc_gperf_test
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ FC_GPERF_SIZE_T="unsigned int"
+else
+ as_fn_error $? "Unable to determine the type of the len parameter of the gperf hash/lookup function" "$LINENO" 5
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+cat >>confdefs.h <<_ACEOF
+#define FC_GPERF_SIZE_T $FC_GPERF_SIZE_T
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC_GPERF_SIZE_T" >&5
+$as_echo "$FC_GPERF_SIZE_T" >&6; }
+
#
# Checks for iconv
#
pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5
- ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 21.0.15\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "freetype2 >= 21.0.15") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>/dev/null`
+ pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= 21.0.15" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5
- ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 21.0.15\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "freetype2 >= 21.0.15") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2" 2>/dev/null`
+ pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2 >= 21.0.15" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "freetype2" 2>&1`
+ FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "freetype2 >= 21.0.15" 2>&1`
else
- FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "freetype2" 2>&1`
+ FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "freetype2 >= 21.0.15" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$FREETYPE_PKG_ERRORS" >&5
- as_fn_error $? "Package requirements (freetype2) were not met:
+ as_fn_error $? "Package requirements (freetype2 >= 21.0.15) were not met:
$FREETYPE_PKG_ERRORS
$as_echo "yes" >&6; }
fi
-PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2"
+PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2 >= 21.0.15"
fontconfig_save_cflags="$CFLAGS"
LIBS="$LIBS $FREETYPE_LIBS"
CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
-for ac_func in FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Select_Size
+for ac_func in FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Done_MM_Var
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
fi
done
-ac_fn_c_check_member "$LINENO" "FT_Bitmap_Size" "y_ppem" "ac_cv_member_FT_Bitmap_Size_y_ppem" "#include <ft2build.h>
-#include FT_FREETYPE_H
-"
-if test "x$ac_cv_member_FT_Bitmap_Size_y_ppem" = xyes; then :
- HAVE_FT_BITMAP_SIZE_Y_PPEM=1
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <ft2build.h>
+ #include FT_CONFIG_OPTIONS_H
+ #ifndef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
+ # error "No pcf long family names support"
+ #endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ have_pcf_long_family_names=yes
+else
+ have_pcf_long_family_names=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test "x$have_pcf_long_family_names" = xyes; then
+ FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE=
+ FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE='#'
else
- HAVE_FT_BITMAP_SIZE_Y_PPEM=0
+ FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE='#'
+ FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE=
fi
-cat >>confdefs.h <<_ACEOF
-#define HAVE_FT_BITMAP_SIZE_Y_PPEM $HAVE_FT_BITMAP_SIZE_Y_PPEM
-_ACEOF
+LIBS="$fontconfig_save_libs"
+CFLAGS="$fontconfig_save_cflags"
-ac_fn_c_check_member "$LINENO" "TT_OS2" "usLowerOpticalPointSize" "ac_cv_member_TT_OS2_usLowerOpticalPointSize" "
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_TRUETYPE_TABLES_H
-"
-if test "x$ac_cv_member_TT_OS2_usLowerOpticalPointSize" = xyes; then :
+#
+# Check for uuid
+#
+if test "$os_win32" != "yes"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UUID" >&5
+$as_echo_n "checking for UUID... " >&6; }
+
+if test -n "$UUID_CFLAGS"; then
+ pkg_cv_UUID_CFLAGS="$UUID_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"uuid\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "uuid") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_UUID_CFLAGS=`$PKG_CONFIG --cflags "uuid" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$UUID_LIBS"; then
+ pkg_cv_UUID_LIBS="$UUID_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"uuid\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "uuid") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_UUID_LIBS=`$PKG_CONFIG --libs "uuid" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
-cat >>confdefs.h <<_ACEOF
-#define HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE 1
-_ACEOF
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
fi
-ac_fn_c_check_member "$LINENO" "TT_OS2" "usUpperOpticalPointSize" "ac_cv_member_TT_OS2_usUpperOpticalPointSize" "
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_TRUETYPE_TABLES_H
-"
-if test "x$ac_cv_member_TT_OS2_usUpperOpticalPointSize" = xyes; then :
+ if test $_pkg_short_errors_supported = yes; then
+ UUID_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "uuid" 2>&1`
+ else
+ UUID_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "uuid" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$UUID_PKG_ERRORS" >&5
-cat >>confdefs.h <<_ACEOF
-#define HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE 1
-_ACEOF
+ as_fn_error $? "Package requirements (uuid) were not met:
+
+$UUID_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables UUID_CFLAGS
+and UUID_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables UUID_CFLAGS
+and UUID_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ UUID_CFLAGS=$pkg_cv_UUID_CFLAGS
+ UUID_LIBS=$pkg_cv_UUID_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
fi
+ PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY uuid"
+else
+ UUID_CFLAGS=""
+ UUID_LIBS=""
+fi
+
-CFLAGS="$fontconfig_save_cflags"
-LIBS="$fontconfig_save_libs"
#
# Check expat configuration
else
EXPAT_LIBS="-lexpat"
fi
+ PKG_EXPAT_CFLAGS=$EXPAT_CFLAGS
+ PKG_EXPAT_LIBS=$EXPAT_LIBS
else
PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY expat"
+ PKG_EXPAT_CFLAGS=
+ PKG_EXPAT_LIBS=
fi
expatsaved_CPPFLAGS="$CPPFLAGS"
+
+
fi
#
$as_echo "yes" >&6; }
fi
- PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0"
+ PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0 >= 2.6"
cat >>confdefs.h <<_ACEOF
#define ENABLE_LIBXML2 1
-ac_config_files="$ac_config_files Makefile fontconfig/Makefile fc-lang/Makefile fc-glyphname/Makefile fc-blanks/Makefile fc-case/Makefile src/Makefile conf.d/Makefile fc-cache/Makefile fc-cat/Makefile fc-list/Makefile fc-match/Makefile fc-pattern/Makefile fc-query/Makefile fc-scan/Makefile fc-validate/Makefile doc/Makefile doc/version.sgml test/Makefile fontconfig.spec fontconfig.pc fontconfig-zip"
+ac_config_files="$ac_config_files Makefile fontconfig/Makefile fc-lang/Makefile fc-case/Makefile src/Makefile conf.d/Makefile fc-cache/Makefile fc-cat/Makefile fc-conflist/Makefile fc-list/Makefile fc-match/Makefile fc-pattern/Makefile fc-query/Makefile fc-scan/Makefile fc-validate/Makefile doc/Makefile doc/version.sgml its/Makefile po/Makefile.in po-conf/Makefile.in test/Makefile fontconfig.spec fontconfig.pc fontconfig-zip"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${HAVE_PYTHON_TRUE}" && test -z "${HAVE_PYTHON_FALSE}"; then
- as_fn_error $? "conditional \"HAVE_PYTHON\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${OS_WIN32_TRUE}" && test -z "${OS_WIN32_FALSE}"; then
as_fn_error $? "conditional \"OS_WIN32\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
as_fn_error $? "conditional \"ENABLE_SHARED\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE}" && test -z "${FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE}"; then
+ as_fn_error $? "conditional \"FREETYPE_PCF_LONG_FAMILY_NAMES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${HAVE_PTHREAD_TRUE}" && test -z "${HAVE_PTHREAD_FALSE}"; then
as_fn_error $? "conditional \"HAVE_PTHREAD\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by fontconfig $as_me 2.12.1, which was
+This file was extended by fontconfig $as_me 2.13.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-fontconfig config.status 2.12.1
+fontconfig config.status 2.13.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
+# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake < 1.5.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+
# variables for create stdint.h replacement
PACKAGE="$PACKAGE"
VERSION="$VERSION"
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
"$ac_stdint_h") CONFIG_COMMANDS="$CONFIG_COMMANDS $ac_stdint_h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"fontconfig/Makefile") CONFIG_FILES="$CONFIG_FILES fontconfig/Makefile" ;;
"fc-lang/Makefile") CONFIG_FILES="$CONFIG_FILES fc-lang/Makefile" ;;
- "fc-glyphname/Makefile") CONFIG_FILES="$CONFIG_FILES fc-glyphname/Makefile" ;;
- "fc-blanks/Makefile") CONFIG_FILES="$CONFIG_FILES fc-blanks/Makefile" ;;
"fc-case/Makefile") CONFIG_FILES="$CONFIG_FILES fc-case/Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"conf.d/Makefile") CONFIG_FILES="$CONFIG_FILES conf.d/Makefile" ;;
"fc-cache/Makefile") CONFIG_FILES="$CONFIG_FILES fc-cache/Makefile" ;;
"fc-cat/Makefile") CONFIG_FILES="$CONFIG_FILES fc-cat/Makefile" ;;
+ "fc-conflist/Makefile") CONFIG_FILES="$CONFIG_FILES fc-conflist/Makefile" ;;
"fc-list/Makefile") CONFIG_FILES="$CONFIG_FILES fc-list/Makefile" ;;
"fc-match/Makefile") CONFIG_FILES="$CONFIG_FILES fc-match/Makefile" ;;
"fc-pattern/Makefile") CONFIG_FILES="$CONFIG_FILES fc-pattern/Makefile" ;;
"fc-validate/Makefile") CONFIG_FILES="$CONFIG_FILES fc-validate/Makefile" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"doc/version.sgml") CONFIG_FILES="$CONFIG_FILES doc/version.sgml" ;;
+ "its/Makefile") CONFIG_FILES="$CONFIG_FILES its/Makefile" ;;
+ "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
+ "po-conf/Makefile.in") CONFIG_FILES="$CONFIG_FILES po-conf/Makefile.in" ;;
"test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
"fontconfig.spec") CONFIG_FILES="$CONFIG_FILES fontconfig.spec" ;;
"fontconfig.pc") CONFIG_FILES="$CONFIG_FILES fontconfig.pc" ;;
chmod +x "$ofile"
;;
+ "po-directories":C)
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ gt_tab=`printf '\t'`
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done ;;
"$ac_stdint_h":C)
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_stdint_h : $_ac_stdint_h" >&5
$as_echo "$as_me: creating $ac_stdint_h : $_ac_stdint_h" >&6;}
dnl version. This same version number must appear in fontconfig/fontconfig.h
dnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's
dnl not possible to extract the version number here from fontconfig.h
-AC_INIT([fontconfig], [2.12.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig])
+AC_INIT([fontconfig], [2.13.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig])
AM_INIT_AUTOMAKE([1.11 parallel-tests dist-bzip2])
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
AM_MISSING_PROG([GIT], [git])
AM_MISSING_PROG([GPERF], [gperf])
-AM_PATH_PYTHON(,, [:])
-AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
AC_MSG_CHECKING([for RM macro])
_predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'`
dnl bump revision when fixing bugs
dnl bump current and age, reset revision to zero when adding APIs
dnl bump current, leave age, reset revision to zero when changing/removing APIS
-LIBT_CURRENT=10
-LIBT_REVISION=2
+LIBT_CURRENT=12
+LIBT_REVISION=1
AC_SUBST(LIBT_CURRENT)
AC_SUBST(LIBT_REVISION)
-LIBT_AGE=9
+LIBT_AGE=11
LIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
AC_SUBST(LIBT_VERSION_INFO)
PKGCONFIG_REQUIRES_PRIVATELY=
dnl ==========================================================================
-
case "$host" in
*-*-mingw*)
os_win32=yes
esac
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+dnl ==========================================================================
+dnl gettext stuff
+dnl ==========================================================================
+GETTEXT_PACKAGE=$PACKAGE
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package])
+
+AM_GNU_GETTEXT_VERSION([0.19.8])
+AM_GNU_GETTEXT([external])
+
+dnl ==========================================================================
+
if test "$os_win32" = "yes"; then
AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
fi
AC_CHECK_MEMBERS([struct dirent.d_type],,,
[#include <dirent.h>])
+# Check the argument type of the gperf hash/lookup function
+AC_MSG_CHECKING([The type of len parameter of gperf hash/lookup function])
+fc_gperf_test="$(echo 'foo' | gperf -L ANSI-C)"
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <string.h>
+
+ const char *in_word_set(register const char *, register size_t);
+ $fc_gperf_test
+ ]])], [FC_GPERF_SIZE_T=size_t],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <string.h>
+
+ const char *in_word_set(register const char *, register unsigned int);
+ $fc_gperf_test
+ ]])], [FC_GPERF_SIZE_T="unsigned int"],
+ [AC_MSG_ERROR([Unable to determine the type of the len parameter of the gperf hash/lookup function])]
+)])
+AC_DEFINE_UNQUOTED(FC_GPERF_SIZE_T, $FC_GPERF_SIZE_T, [The type of len parameter of the gperf hash/lookup function])
+AC_MSG_RESULT($FC_GPERF_SIZE_T)
+
#
# Checks for iconv
#
#
# Checks for FreeType
#
-PKG_CHECK_MODULES(FREETYPE, freetype2)
-PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2"
+dnl See http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT for versioning in freetype
+PKG_CHECK_MODULES(FREETYPE, freetype2 >= 21.0.15)
+PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2 >= 21.0.15"
AC_SUBST(FREETYPE_LIBS)
AC_SUBST(FREETYPE_CFLAGS)
fontconfig_save_cflags="$CFLAGS"
LIBS="$LIBS $FREETYPE_LIBS"
CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
-AC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Select_Size)
-AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
- HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
- HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
-[#include <ft2build.h>
-#include FT_FREETYPE_H])
-AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
- [FT_Bitmap_Size structure includes y_ppem field])
-AC_CHECK_MEMBERS([TT_OS2.usLowerOpticalPointSize, TT_OS2.usUpperOpticalPointSize], [], [], [[
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_TRUETYPE_TABLES_H]])
-CFLAGS="$fontconfig_save_cflags"
+AC_CHECK_FUNCS(FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Done_MM_Var)
+
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ #include <ft2build.h>
+ #include FT_CONFIG_OPTIONS_H
+ #ifndef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
+ # error "No pcf long family names support"
+ #endif
+ ]])], [have_pcf_long_family_names=yes], [have_pcf_long_family_names=no])
+AM_CONDITIONAL(FREETYPE_PCF_LONG_FAMILY_NAMES, test "x$have_pcf_long_family_names" = xyes)
+
LIBS="$fontconfig_save_libs"
+CFLAGS="$fontconfig_save_cflags"
+
+#
+# Check for uuid
+#
+if test "$os_win32" != "yes"; then
+ PKG_CHECK_MODULES([UUID], [uuid])
+ PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY uuid"
+else
+ UUID_CFLAGS=""
+ UUID_LIBS=""
+fi
+AC_SUBST(UUID_CFLAGS)
+AC_SUBST(UUID_LIBS)
#
# Check expat configuration
else
EXPAT_LIBS="-lexpat"
fi
+ PKG_EXPAT_CFLAGS=$EXPAT_CFLAGS
+ PKG_EXPAT_LIBS=$EXPAT_LIBS
else
PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY expat"
+ PKG_EXPAT_CFLAGS=
+ PKG_EXPAT_LIBS=
fi
expatsaved_CPPFLAGS="$CPPFLAGS"
AC_SUBST(EXPAT_CFLAGS)
AC_SUBST(EXPAT_LIBS)
+ AC_SUBST(PKG_EXPAT_CFLAGS)
+ AC_SUBST(PKG_EXPAT_LIBS)
fi
#
if test "$enable_libxml2" = "yes"; then
PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6])
- PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0"
+ PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0 >= 2.6"
AC_DEFINE_UNQUOTED(ENABLE_LIBXML2,1,[Use libxml2 instead of Expat])
AC_SUBST(LIBXML2_CFLAGS)
Makefile
fontconfig/Makefile
fc-lang/Makefile
-fc-glyphname/Makefile
-fc-blanks/Makefile
fc-case/Makefile
src/Makefile
conf.d/Makefile
fc-cache/Makefile
fc-cat/Makefile
+fc-conflist/Makefile
fc-list/Makefile
fc-match/Makefile
fc-pattern/Makefile
fc-validate/Makefile
doc/Makefile
doc/version.sgml
+its/Makefile
+po/Makefile.in
+po-conf/Makefile.in
test/Makefile
fontconfig.spec
fontconfig.pc
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2013-05-30.07; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcAtomicCreate \- create an FcAtomic object
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicDeleteNew" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicDeleteNew" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcAtomicDeleteNew \- delete new file
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcAtomicDestroy \- destroy an FcAtomic object
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicLock" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicLock" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcAtomicLock \- lock a file
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicNewFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicNewFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcAtomicNewFile \- return new temporary file name
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicOrigFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicOrigFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcAtomicOrigFile \- return original file name
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicReplaceOrig" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicReplaceOrig" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcAtomicReplaceOrig \- replace original with new
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcAtomicUnlock" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcAtomicUnlock" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcAtomicUnlock \- unlock a file
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcBlanksAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcBlanksAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcBlanksAdd \- Add a character to an FcBlanks
.SH SYNOPSIS
.fi\fR
.SH "DESCRIPTION"
.PP
-Adds a single character to an FcBlanks object, returning FcFalse
-if this process ran out of memory.
+FcBlanks is deprecated.
+This function always returns FALSE.
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcBlanksCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcBlanksCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcBlanksCreate \- Create an FcBlanks
.SH SYNOPSIS
.fi\fR
.SH "DESCRIPTION"
.PP
-Creates an empty FcBlanks object.
+FcBlanks is deprecated.
+This function always returns NULL.
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcBlanksDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcBlanksDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcBlanksDestroy \- Destroy and FcBlanks
.SH SYNOPSIS
.fi\fR
.SH "DESCRIPTION"
.PP
-Destroys an FcBlanks object, freeing any associated memory.
+FcBlanks is deprecated.
+This function does nothing.
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcBlanksIsMember" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcBlanksIsMember" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcBlanksIsMember \- Query membership in an FcBlanks
.SH SYNOPSIS
.fi\fR
.SH "DESCRIPTION"
.PP
-Returns whether the specified FcBlanks object contains the indicated Unicode
-value.
+FcBlanks is deprecated.
+This function always returns FALSE.
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheCopySet" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheCopySet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCacheCopySet \- Returns a copy of the fontset from cache
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheCreateTagFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheCreateTagFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCacheCreateTagFile \- Create CACHEDIR.TAG at cache directory.
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheDir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheDir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCacheDir \- Return directory of cache
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheNumFont" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheNumFont" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCacheNumFont \- Returns the number of fonts in cache.
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheNumSubdir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheNumSubdir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCacheNumSubdir \- Return the number of subdirectories in cache.
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCacheSubdir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCacheSubdir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCacheSubdir \- Return the i'th subdirectory.
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetAddChar" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetAddChar" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetAddChar \- Add a character to a charset
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetCopy \- Copy a charset
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetCount" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetCount" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetCount \- Count entries in a charset
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetCoverage" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetCoverage" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetCoverage \- DEPRECATED return coverage for a Unicode page
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetCreate \- Create an empty character set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetDelChar" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetDelChar" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetDelChar \- Add a character to a charset
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetDestroy \- Destroy a character set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetEqual \- Compare two charsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetFirstPage" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetFirstPage" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetFirstPage \- Start enumerating charset contents
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetHasChar" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetHasChar" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetHasChar \- Check a charset for a char
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetIntersect" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetIntersect" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetIntersect \- Intersect charsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetIntersectCount" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetIntersectCount" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetIntersectCount \- Intersect and count charsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetIsSubset" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetIsSubset" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetIsSubset \- Test for charset inclusion
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetMerge" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetMerge" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetMerge \- Merge charsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetNew" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetNew" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetNew \- DEPRECATED alias for FcCharSetCreate
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetNextPage" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetNextPage" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetNextPage \- Continue enumerating charset contents
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetSubtract" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetSubtract" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetSubtract \- Subtract charsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetSubtractCount" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetSubtractCount" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetSubtractCount \- Subtract and count charsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcCharSetUnion" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcCharSetUnion" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcCharSetUnion \- Add charsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigAppFontAddDir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigAppFontAddDir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigAppFontAddDir \- Add fonts from directory to font database
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigAppFontAddFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigAppFontAddFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigAppFontAddFile \- Add font file to font database
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigAppFontClear" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigAppFontClear" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigAppFontClear \- Remove all app fonts from font database
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigBuildFonts" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigBuildFonts" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigBuildFonts \- Build font database
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigCreate \- Create a configuration
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigDestroy \- Destroy a configuration
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigEnableHome" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigEnableHome" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigEnableHome \- controls use of the home directory.
.SH SYNOPSIS
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigFileInfoIterGet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcConfigFileInfoIterGet \- Obtain the configuration file information
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigFileInfoIterGet (FcConfig *\fIconfig\fB, FcConfigFileInfoIter *\fIiter\fB, FcChar8 **\fIname\fB, FcChar8 **\fIdescription\fB, FcBool *\fIenabled\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Obtain the filename, the description and the flag whether it is enabled or not
+for 'iter' where points to current configuration file information.
+If the iterator is invalid, FcFalse is returned.
+.SH "SINCE"
+.PP
+version 2.12.91
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigFileInfoIterInit" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcConfigFileInfoIterInit \- Initialize the iterator
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+void FcConfigFileInfoIterInit (FcConfig *\fIconfig\fB, FcConfigFileInfoIter *\fIiter\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Initialize 'iter' with the first iterator in the config file information list.
+.SH "SINCE"
+.PP
+version 2.12.91
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigFileInfoIterNext" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcConfigFileInfoIterNext \- Set the iterator to point to the next list
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigFileInfoIterNext (FcConfig *\fIconfig\fB, FcConfigFileInfoIter *\fIiter\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Set 'iter' to point to the next node in the config file information list.
+If there is no next node, FcFalse is returned.
+.SH "SINCE"
+.PP
+version 2.12.91
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigFilename" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigFilename" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigFilename \- Find a config file
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetBlanks" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetBlanks" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetBlanks \- Get config blanks
.SH SYNOPSIS
.fi\fR
.SH "DESCRIPTION"
.PP
-Returns the FcBlanks object associated with the given configuration, if no
-blanks were present in the configuration, this function will return 0.
-The returned FcBlanks object if not NULL, is valid as long as the owning
-FcConfig is alive.
-If \fIconfig\fR is NULL, the current configuration is used.
+FcBlanks is deprecated.
+This function always returns NULL.
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetCache" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetCache" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetCache \- DEPRECATED used to return per-user cache filename
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetCacheDirs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetCacheDirs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetCacheDirs \- return the list of directories searched for cache files
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetConfigDirs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetConfigDirs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetConfigDirs \- Get config directories
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetConfigFiles" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetConfigFiles" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetConfigFiles \- Get config files
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetCurrent" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetCurrent" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetCurrent \- Return current configuration
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetFontDirs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetFontDirs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetFontDirs \- Get font directories
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetFonts" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetFonts" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetFonts \- Get config font set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetRescanInterval" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetRescanInterval" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetRescanInterval \- Get config rescan interval
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigGetSysRoot" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigGetSysRoot" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigGetSysRoot \- Obtain the system root directory
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigHome" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigHome" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigHome \- return the current home directory.
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigParseAndLoad" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigParseAndLoad" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigParseAndLoad \- load a configuration file
.SH SYNOPSIS
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcConfigParseAndLoadFromMemory" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcConfigParseAndLoadFromMemory \- load a configuration from memory
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcConfigParseAndLoadFromMemory (FcConfig *\fIconfig\fB, const FcChar8 *\fIbuffer\fB, FcBool \fIcomplain\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Walks the configuration in 'memory' and constructs the internal representation
+in 'config'. Any includes files referenced from within 'memory' will be loaded
+and dparsed. If 'complain' is FcFalse, no warning will be displayed if
+\&'file' does not exist. Error and warning messages will be output to stderr.
+Returns FcFalse if fsome error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+.SH "SINCE"
+.PP
+version 2.12.5
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigReference" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigReference" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigReference \- Increment config reference count
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSetCurrent" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSetCurrent" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigSetCurrent \- Set configuration as default
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSetRescanInterval" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSetRescanInterval" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigSetRescanInterval \- Set config rescan interval
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSetSysRoot" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSetSysRoot" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigSetSysRoot \- Set the system root directory
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSubstitute" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSubstitute" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigSubstitute \- Execute substitutions
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigSubstituteWithPat" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigSubstituteWithPat" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigSubstituteWithPat \- Execute substitutions
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcConfigUptoDate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcConfigUptoDate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcConfigUptoDate \- Check timestamps on config files
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDefaultSubstitute" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDefaultSubstitute" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDefaultSubstitute \- Perform default substitutions in a pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheClean" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheClean" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
-FcDirCacheClean \- This tries to clean up the cache directory of cache_dir.This returns FcTrue if the operation is successfully complete. otherwise FcFalse.
+FcDirCacheClean \- Clean up a cache directory
.SH SYNOPSIS
.nf
\fB#include <fontconfig/fontconfig.h>
.fi\fR
.SH "DESCRIPTION"
.PP
+This tries to clean up the cache directory of \fIcache_dir\fR\&.
+This returns FcTrue if the operation is successfully complete. otherwise FcFalse.
.SH "SINCE"
.PP
version 2.9.91
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcDirCacheCreateUUID" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcDirCacheCreateUUID \- Create .uuid file at a directory
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcBool FcDirCacheCreateUUID (FcChar8 *\fIdir\fB, FcBool\fIforce\fB, FcConfig\fIconfig\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+This is to create .uuid file containing an UUID at a font directory of
+\fIdir\fR\&.
+The UUID will be used to identify the font directory and is used to determine
+the cache filename if available.
+.SH "SINCE"
+.PP
+version 2.12.92
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheLoad" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheLoad" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDirCacheLoad \- load a directory cache
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheLoadFile" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheLoadFile" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDirCacheLoadFile \- load a cache file
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheRead" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheRead" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDirCacheRead \- read or construct a directory cache
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheRescan" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheRescan" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDirCacheRescan \- Re-scan a directory cache
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheUnlink" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheUnlink" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDirCacheUnlink \- Remove all caches related to dir
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheUnload" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheUnload" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDirCacheUnload \- unload a cache file
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirCacheValid" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirCacheValid" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDirCacheValid \- check directory cache
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirSave" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirSave" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDirSave \- DEPRECATED: formerly used to save a directory cache
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcDirScan" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcDirScan" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcDirScan \- scan a font directory without caching it
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFileIsDir" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFileIsDir" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFileIsDir \- check whether a file is a directory
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFileScan" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFileScan" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFileScan \- scan a font file
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFini" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFini" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFini \- finalize fontconfig library
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontList" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontList" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontList \- List fonts
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontMatch" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontMatch" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontMatch \- Return best font
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontRenderPrepare" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontRenderPrepare" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontRenderPrepare \- Prepare pattern for loading font file
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontSetAdd \- Add to a font set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontSetCreate \- Create a font set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontSetDestroy \- Destroy a font set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetList" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetList" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontSetList \- List fonts from a set of font sets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetMatch" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetMatch" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontSetMatch \- Return the best font from a set of font sets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetPrint" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetPrint" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontSetPrint \- Print a set of patterns to stdout
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetSort" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetSort" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontSetSort \- Add to a font set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSetSortDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSetSortDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontSetSortDestroy \- DEPRECATED destroy a font set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFontSort" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFontSort" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFontSort \- Return list of matching fonts
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeCharIndex" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeCharIndex" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFreeTypeCharIndex \- map Unicode to glyph id
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeCharSet" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeCharSet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFreeTypeCharSet \- compute Unicode coverage
.SH SYNOPSIS
.fi\fR
.SH "DESCRIPTION"
.PP
-Scans a FreeType face and returns the set of encoded Unicode chars. This scans
-several encoding tables to build as complete a list as possible.
-If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
-not in 'blanks' are not placed in the returned FcCharSet.
+Scans a FreeType face and returns the set of encoded Unicode chars.
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeCharSetAndSpacing" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeCharSetAndSpacing" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFreeTypeCharSetAndSpacing \- compute Unicode coverage and spacing type
.SH SYNOPSIS
.SH "DESCRIPTION"
.PP
Scans a FreeType face and returns the set of encoded Unicode chars.
-This scans
-several encoding tables to build as complete a list as possible.
-If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
-not in 'blanks' are not placed in the returned FcCharSet.
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
\fIspacing\fR receives the computed spacing type of the
font, one of FC_MONO for a font where all glyphs have the same width,
FC_DUAL, where the font has glyphs in precisely two widths, one twice as
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeQuery" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeQuery" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFreeTypeQuery \- compute pattern from font file (and index)
.SH SYNOPSIS
.fi\fR
.SH "DESCRIPTION"
.PP
-Constructs a pattern representing the 'id'th font in 'file'. The number
-of fonts in 'file' is returned in 'count'.
+Constructs a pattern representing the 'id'th face in 'file'. The number
+of faces in 'file' is returned in 'count'.
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcFreeTypeQueryAll" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcFreeTypeQueryAll \- compute all patterns from font file (and index)
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig.h>
+#include <fcfreetype.h>
+.sp
+unsigned int FcFreeTypeQueryAll (const FcChar8 *\fIfile\fB, int \fIid\fB, FcBlanks *\fIblanks\fB, int *\fIcount\fB, FcFontSet *\fIset\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Constructs patterns found in 'file'.
+If id is -1, then all patterns found in 'file' are added to 'set'.
+Otherwise, this function works exactly like FcFreeTypeQuery().
+The number of faces in 'file' is returned in 'count'.
+The number of patterns added to 'set' is returned.
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
+.SH "SINCE"
+.PP
+version 2.12.91
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcFreeTypeQueryFace" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcFreeTypeQueryFace" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcFreeTypeQueryFace \- compute pattern from FT_Face
.SH SYNOPSIS
.PP
Constructs a pattern representing 'face'. 'file' and 'id' are used solely as
data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
+FcBlanks is deprecated, \fIblanks\fR is ignored and
+accepted only for compatibility with older code.
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcGetDefaultLangs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcGetDefaultLangs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcGetDefaultLangs \- Get the default languages list
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcGetLangs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcGetLangs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcGetLangs \- Get list of languages
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcGetVersion" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcGetVersion" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcGetVersion \- library version number
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInit" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInit" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcInit \- initialize fontconfig library
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInitBringUptoDate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInitBringUptoDate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcInitBringUptoDate \- reload configuration files if needed
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInitLoadConfig" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInitLoadConfig" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcInitLoadConfig \- load configuration
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInitLoadConfigAndFonts" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInitLoadConfigAndFonts" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcInitLoadConfigAndFonts \- load configuration and font data
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcInitReinitialize" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcInitReinitialize" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcInitReinitialize \- re-initialize library
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcIsLower" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcIsLower" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcIsLower \- check for lower case ASCII character
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcIsUpper" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcIsUpper" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcIsUpper \- check for upper case ASCII character
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangGetCharSet" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangGetCharSet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangGetCharSet \- Get character map for a language
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangNormalize" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangNormalize" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangNormalize \- Normalize the language string
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetAdd \- add a language to a langset
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetCompare" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetCompare" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetCompare \- compare language sets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetContains" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetContains" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetContains \- check langset subset relation
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetCopy \- copy a langset object
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetCreate \- create a langset object
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetDel" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetDel" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetDel \- delete a language from a langset
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetDestroy \- destroy a langset object
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetEqual \- test for matching langsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetGetLangs" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetGetLangs" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetGetLangs \- get the list of languages in the langset
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetHasLang" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetHasLang" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetHasLang \- test langset for language support
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetHash" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetHash" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetHash \- return a hash value for a langset
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetSubtract" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetSubtract" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetSubtract \- Subtract langsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetUnion" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcLangSetUnion" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcLangSetUnion \- Add langsets
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcMatrixCopy \- Copy a matrix
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcMatrixEqual \- Compare two matrices
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixInit" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixInit" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcMatrixInit \- initialize an FcMatrix structure
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixMultiply" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixMultiply" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcMatrixMultiply \- Multiply matrices
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixRotate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixRotate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcMatrixRotate \- Rotate a matrix
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixScale" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixScale" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcMatrixScale \- Scale a matrix
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcMatrixShear" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcMatrixShear" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcMatrixShear \- Shear a matrix
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameConstant" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameConstant" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcNameConstant \- Get the value for a symbolic constant
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameGetConstant" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameGetConstant" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcNameGetConstant \- Lookup symbolic constant
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameGetObjectType" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameGetObjectType" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcNameGetObjectType \- Lookup an object type
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameParse" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameParse" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcNameParse \- Parse a pattern string
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameRegisterConstants" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameRegisterConstants" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcNameRegisterConstants \- Register symbolic constants
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameRegisterObjectTypes" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameRegisterObjectTypes" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcNameRegisterObjectTypes \- Register object types
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameUnparse" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameUnparse" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcNameUnparse \- Convert a pattern back into a string that can be parsed
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameUnregisterConstants" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameUnregisterConstants" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcNameUnregisterConstants \- Unregister symbolic constants
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcNameUnregisterObjectTypes" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcNameUnregisterObjectTypes" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcNameUnregisterObjectTypes \- Unregister object types
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcObjectSetAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcObjectSetAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcObjectSetAdd \- Add to an object set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcObjectSetBuild" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcObjectSetBuild" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcObjectSetBuild, FcObjectSetVaBuild, FcObjectSetVapBuild \- Build object set from args
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcObjectSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcObjectSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcObjectSetCreate \- Create an object set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcObjectSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcObjectSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcObjectSetDestroy \- Destroy an object set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternAdd-Type" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternAdd-Type" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternAddInteger, FcPatternAddDouble, FcPatternAddString, FcPatternAddMatrix, FcPatternAddCharSet, FcPatternAddBool, FcPatternAddFTFace, FcPatternAddLangSet, FcPatternAddRange \- Add a typed value to a pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternAdd \- Add a value to a pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternAddWeak" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternAddWeak" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternAddWeak \- Add a value to a pattern with weak binding
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternBuild" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternBuild" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternBuild, FcPatternVaBuild, FcPatternVapBuild \- Create patterns from arguments
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternCreate \- Create a pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternDel" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternDel" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternDel \- Delete a property from a pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternDestroy \- Destroy a pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternDuplicate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternDuplicate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternDuplicate \- Copy a pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternEqual \- Compare patterns
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternEqualSubset" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternEqualSubset" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternEqualSubset \- Compare portions of patterns
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternFilter" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternFilter" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternFilter \- Filter the objects of pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternFormat" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternFormat" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternFormat \- Format a pattern into a string according to a format specifier
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternGet-Type" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternGet-Type" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternGetInteger, FcPatternGetDouble, FcPatternGetString, FcPatternGetMatrix, FcPatternGetCharSet, FcPatternGetBool, FcPatternGetFTFace, FcPatternGetLangSet, FcPatternGetRange \- Return a typed value from a pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternGet" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternGet" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternGet \- Return a value from a pattern
.SH SYNOPSIS
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcPatternGetWithBinding" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcPatternGetWithBinding \- Return a value with binding from a pattern
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+FcResult FcPatternGetWithBinding (FcPattern *\fIp\fB, const char *\fIobject\fB, int \fIid\fB, FcValue *\fIv\fB, FcValueBinding *\fIb\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+Returns in \fIv\fR the \fIid\fR\&'th value
+and \fIb\fR binding for that associated with the property
+\fIobject\fR\&.
+The Value returned is not a copy, but rather refers to the data stored
+within the pattern directly. Applications must not free this value.
+.SH "SINCE"
+.PP
+version 2.12.5
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternHash" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternHash" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternHash \- Compute a pattern hash value
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternPrint" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternPrint" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternPrint \- Print a pattern for debugging
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternReference" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternReference" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternReference \- Increment pattern reference count
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcPatternRemove" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcPatternRemove" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcPatternRemove \- Remove one object of the specified type from the pattern
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcRangeCopy \- Copy a range object
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeCreateDouble" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeCreateDouble" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcRangeCreateDouble \- create a range object for double
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeCreateInteger" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeCreateInteger" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcRangeCreateInteger \- create a range object for integer
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcRangeDestroy \- destroy a range object
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcRangeGetDouble" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcRangeGetDouble" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcRangeGetDouble \- Get the range in double
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrBasename" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrBasename" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrBasename \- last component of filename
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrCmp" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrCmp" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrCmp \- compare UTF-8 strings
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrCmpIgnoreCase" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrCmpIgnoreCase" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrCmpIgnoreCase \- compare UTF-8 strings ignoring case
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrCopy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrCopy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrCopy \- duplicate a string
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrCopyFilename" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrCopyFilename" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrCopyFilename \- create a complete path from a filename
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrDirname" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrDirname" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrDirname \- directory part of filename
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrDowncase" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrDowncase" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrDowncase \- create a lower case translation of a string
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrFree" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrFree" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrFree \- free a string
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrListCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrListCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrListCreate \- create a string iterator
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrListDone" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrListDone" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrListDone \- destroy a string iterator
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrListFirst" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrListFirst" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrListFirst \- get first string in iteration
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrListNext" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrListNext" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrListNext \- get next string in iteration
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrPlus" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrPlus" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrPlus \- concatenate two strings
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetAdd" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetAdd" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrSetAdd \- add to a string set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetAddFilename" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetAddFilename" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrSetAddFilename \- add a filename to a string set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetCreate" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetCreate" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrSetCreate \- create a string set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetDel" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetDel" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrSetDel \- delete from a string set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrSetDestroy \- destroy a string set
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrSetEqual \- check sets for equality
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrSetMember" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrSetMember" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrSetMember \- check set for membership
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrStr" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrStr" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrStr \- locate UTF-8 substring
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcStrStrIgnoreCase" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcStrStrIgnoreCase" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcStrStrIgnoreCase \- locate UTF-8 substring ignoring ASCII case
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcToLower" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcToLower" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcToLower \- convert upper case ASCII to lower case
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUcs4ToUtf8" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUcs4ToUtf8" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcUcs4ToUtf8 \- convert UCS4 to UTF-8
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUtf16Len" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUtf16Len" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcUtf16Len \- count UTF-16 encoded chars
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUtf16ToUcs4" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUtf16ToUcs4" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcUtf16ToUcs4 \- convert UTF-16 to UCS4
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUtf8Len" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUtf8Len" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcUtf8Len \- count UTF-8 encoded chars
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcUtf8ToUcs4" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcUtf8ToUcs4" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcUtf8ToUcs4 \- convert UTF-8 to UCS4
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcValueDestroy" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcValueDestroy" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcValueDestroy \- Free a value
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcValueEqual" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcValueEqual" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcValueEqual \- Test two values for equality
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcValuePrint" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcValuePrint" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcValuePrint \- Print a value to stdout
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcValueSave" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcValueSave" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcValueSave \- Copy a value
.SH SYNOPSIS
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcWeightFromOpenType" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcWeightFromOpenType" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcWeightFromOpenType \- Convert from OpenType weight values to fontconfig ones
.SH SYNOPSIS
.fi\fR
.SH "DESCRIPTION"
.PP
-\fBFcWeightFromOpenType\fR returns an integer value
-to use with FC_WEIGHT, from an integer in the 1..1000 range, resembling
-the numbers from OpenType specification's OS/2 usWeight numbers, which
-are also similar to CSS font-weight numbers. If input is negative,
-zero, or greater than 1000, returns -1. This function linearly interpolates
-between various FC_WEIGHT_* constants. As such, the returned value does not
-necessarily match any of the predefined constants.
+\fBFcWeightFromOpenType\fR is like
+\fBFcWeightFromOpenTypeDouble\fR but with integer arguments.
+Use the other function instead.
.SH "SINCE"
.PP
version 2.11.91
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcWeightFromOpenTypeDouble" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcWeightFromOpenTypeDouble \- Convert from OpenType weight values to fontconfig ones
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+double FcWeightFromOpenTypeDouble (double\fIot_weight\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcWeightFromOpenTypeDouble\fR returns an double value
+to use with FC_WEIGHT, from an double in the 1..1000 range, resembling
+the numbers from OpenType specification's OS/2 usWeight numbers, which
+are also similar to CSS font-weight numbers. If input is negative,
+zero, or greater than 1000, returns -1. This function linearly doubleerpolates
+between various FC_WEIGHT_* constants. As such, the returned value does not
+necessarily match any of the predefined constants.
+.SH "SINCE"
+.PP
+version 2.12.92
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcWeightToOpenType" "3" "05 8月 2016" "Fontconfig 2.12.1" ""
+.TH "FcWeightToOpenType" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
.SH NAME
FcWeightToOpenType \- Convert from fontconfig weight values to OpenType ones
.SH SYNOPSIS
.fi\fR
.SH "DESCRIPTION"
.PP
-\fBFcWeightToOpenType\fR is the inverse of
-\fBFcWeightFromOpenType\fR\&. If the input is less than
-FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
-returns a number in the range 1 to 1000.
+\fBFcWeightToOpenType\fR is like
+\fBFcWeightToOpenTypeDouble\fR but with integer arguments.
+Use the other function instead.
.SH "SINCE"
.PP
version 2.11.91
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FcWeightToOpenTypeDouble" "3" "06 3月 2018" "Fontconfig 2.13.0" ""
+.SH NAME
+FcWeightToOpenTypeDouble \- Convert from fontconfig weight values to OpenType ones
+.SH SYNOPSIS
+.nf
+\fB#include <fontconfig/fontconfig.h>
+.sp
+double FcWeightToOpenTypeDouble (double\fIot_weight\fB);
+.fi\fR
+.SH "DESCRIPTION"
+.PP
+\fBFcWeightToOpenTypeDouble\fR is the inverse of
+\fBFcWeightFromOpenType\fR\&. If the input is less than
+FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
+returns a number in the range 1 to 1000.
+.SH "SINCE"
+.PP
+version 2.12.92
edit_sgml_SOURCES = \
edit-sgml.c \
$(NULL)
-edit_sgml_CC = $(CC_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CC:=$(CC_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CFLAGS:=$(CFLAGS_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CPPFLAGS:=$(CPPFLAGS_FOR_BUILD)
+edit_sgml_LINK = $(CC_FOR_BUILD) -o $@
#
check_SCRIPTS = \
check-missing-doc \
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
am_edit_sgml_OBJECTS = edit-sgml.$(OBJEXT) $(am__objects_1)
edit_sgml_OBJECTS = $(am_edit_sgml_OBJECTS)
edit_sgml_LDADD = $(LDADD)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
edit-sgml.c \
$(NULL)
-edit_sgml_CC = $(CC_FOR_BUILD)
+edit_sgml_LINK = $(CC_FOR_BUILD) -o $@
#
check_SCRIPTS = \
check-missing-doc \
edit-sgml$(EXEEXT): $(edit_sgml_OBJECTS) $(edit_sgml_DEPENDENCIES) $(EXTRA_edit_sgml_DEPENDENCIES)
@rm -f edit-sgml$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(edit_sgml_OBJECTS) $(edit_sgml_LDADD) $(LIBS)
+ $(AM_V_GEN)$(edit_sgml_LINK) $(edit_sgml_OBJECTS) $(edit_sgml_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
.PRECIOUS: Makefile
+$(edit_sgml_OBJECTS) : CC:=$(CC_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CFLAGS:=$(CFLAGS_FOR_BUILD)
+$(edit_sgml_OBJECTS) : CPPFLAGS:=$(CPPFLAGS_FOR_BUILD)
@USEDOCBOOK_TRUE@.fncs.sgml:
@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
@TYPE1@ void
@PURPOSE@ Create an FcBlanks
@DESC@
-Creates an empty FcBlanks object.
+FcBlanks is deprecated.
+This function always returns NULL.
@@
@RET@ void
@TYPE1@ FcBlanks * @ARG1@ b
@PURPOSE@ Destroy and FcBlanks
@DESC@
-Destroys an FcBlanks object, freeing any associated memory.
+FcBlanks is deprecated.
+This function does nothing.
@@
@RET@ FcBool
@TYPE2@ FcChar32% @ARG2@ ucs4
@PURPOSE@ Add a character to an FcBlanks
@DESC@
-Adds a single character to an FcBlanks object, returning FcFalse
-if this process ran out of memory.
+FcBlanks is deprecated.
+This function always returns FALSE.
@@
@RET@ FcBool
@TYPE2@ FcChar32% @ARG2@ ucs4
@PURPOSE@ Query membership in an FcBlanks
@DESC@
-Returns whether the specified FcBlanks object contains the indicated Unicode
-value.
+FcBlanks is deprecated.
+This function always returns FALSE.
@@
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-Creates an empty FcBlanks object.
+FcBlanks is deprecated.
+This function always returns NULL.
</para>
</refsect1>
</refentry>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-Destroys an FcBlanks object, freeing any associated memory.
+FcBlanks is deprecated.
+This function does nothing.
</para>
</refsect1>
</refentry>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-Adds a single character to an FcBlanks object, returning FcFalse
-if this process ran out of memory.
+FcBlanks is deprecated.
+This function always returns FALSE.
</para>
</refsect1>
</refentry>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-Returns whether the specified FcBlanks object contains the indicated Unicode
-value.
+FcBlanks is deprecated.
+This function always returns FALSE.
</para>
</refsect1>
</refentry>
@FUNC@ FcDirCacheClean
@TYPE1@ const FcChar8 * @ARG1@ cache_dir
@TYPE2@ FcBool @ARG2@ verbose
-@PURPOSE@
+@PURPOSE@ Clean up a cache directory
+@DESC@
This tries to clean up the cache directory of <parameter>cache_dir</parameter>.
This returns FcTrue if the operation is successfully complete. otherwise FcFalse.
@SINCE@ 2.9.91
to <parameter>config</parameter>.
@SINCE@ 2.9.91
@@
+
+@RET@ FcBool
+@FUNC@ FcDirCacheCreateUUID
+@TYPE1@ FcChar8 * @ARG1@ dir
+@TYPE2@ FcBool @ARG2@ force
+@TYPE3@ FcConfig @ARG3@ config
+@PURPOSE@ Create .uuid file at a directory
+@DESC@
+This is to create .uuid file containing an UUID at a font directory of
+<parameter>dir</parameter>.
+The UUID will be used to identify the font directory and is used to determine
+the cache filename if available.
+@SINCE@ 2.12.92
+@@
+
</refmeta>
<refnamediv>
<refname>FcDirCacheClean</refname>
- <refpurpose>This tries to clean up the cache directory of <parameter>cache_dir</parameter>.
-This returns FcTrue if the operation is successfully complete. otherwise FcFalse.</refpurpose>
+ <refpurpose>Clean up a cache directory</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-
+This tries to clean up the cache directory of <parameter>cache_dir</parameter>.
+This returns FcTrue if the operation is successfully complete. otherwise FcFalse.
</para>
</refsect1>
<refsect1><title>Since</title>
<para>version 2.9.91</para>
</refsect1>
</refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ 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 the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ 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.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) 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.
+ -->
+ <refentry id="FcDirCacheCreateUUID">
+ <refmeta>
+ <refentrytitle>FcDirCacheCreateUUID</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcDirCacheCreateUUID</refname>
+ <refpurpose>Create .uuid file at a directory</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include <fontconfig/fontconfig.h>
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcDirCacheCreateUUID</function></funcdef>
+ <paramdef>FcChar8 *<parameter>dir</parameter></paramdef>
+ <paramdef>FcBool<parameter>force</parameter></paramdef>
+ <paramdef>FcConfig<parameter>config</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+This is to create .uuid file containing an UUID at a font directory of
+<parameter>dir</parameter>.
+The UUID will be used to identify the font directory and is used to determine
+the cache filename if available.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.12.92</para>
+ </refsect1>
+ </refentry>
@TYPE1@ FcConfig * @ARG1@ config
@PURPOSE@ Get config blanks
@DESC@
-Returns the FcBlanks object associated with the given configuration, if no
-blanks were present in the configuration, this function will return 0.
-The returned FcBlanks object if not NULL, is valid as long as the owning
-FcConfig is alive.
-If <parameter>config</parameter> is NULL, the current configuration is used.
+FcBlanks is deprecated.
+This function always returns NULL.
@@
@RET@ int
parse error, semantic error or allocation failure. Otherwise returns FcTrue.
@@
+@RET@ FcBool
+@FUNC@ FcConfigParseAndLoadFromMemory
+@TYPE1@ FcConfig * @ARG1@ config
+@TYPE2@ const FcChar8 * @ARG2@ buffer
+@TYPE3@ FcBool% @ARG3@ complain
+@PURPOSE@ load a configuration from memory
+@DESC@
+Walks the configuration in 'memory' and constructs the internal representation
+in 'config'. Any includes files referenced from within 'memory' will be loaded
+and dparsed. If 'complain' is FcFalse, no warning will be displayed if
+'file' does not exist. Error and warning messages will be output to stderr.
+Returns FcFalse if fsome error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+@SINCE@ 2.12.5
+@@
+
@RET@ const FcChar8 *
@FUNC@ FcConfigGetSysRoot
@TYPE1@ const FcConfig * @ARG1@ config
@SINCE@ 2.10.92
@@
+@RET@ void
+@FUNC@ FcConfigFileInfoIterInit
+@TYPE1@ FcConfig * @ARG1@ config
+@TYPE2@ FcConfigFileInfoIter * @ARG2@ iter
+@PURPOSE@ Initialize the iterator
+@DESC@
+Initialize 'iter' with the first iterator in the config file information list.
+@SINCE@ 2.12.91
+@@
+
+@RET@ FcBool
+@FUNC@ FcConfigFileInfoIterNext
+@TYPE1@ FcConfig * @ARG1@ config
+@TYPE2@ FcConfigFileInfoIter * @ARG2@ iter
+@PURPOSE@ Set the iterator to point to the next list
+@DESC@
+Set 'iter' to point to the next node in the config file information list.
+If there is no next node, FcFalse is returned.
+@SINCE@ 2.12.91
+@@
+
+@RET@ FcBool
+@FUNC@ FcConfigFileInfoIterGet
+@TYPE1@ FcConfig * @ARG1@ config
+@TYPE2@ FcConfigFileInfoIter * @ARG2@ iter
+@TYPE3@ FcChar8 ** @ARG3@ name
+@TYPE4@ FcChar8 ** @ARG4@ description
+@TYPE5@ FcBool * @ARG5@ enabled
+@PURPOSE@ Obtain the configuration file information
+@DESC@
+Obtain the filename, the description and the flag whether it is enabled or not
+for 'iter' where points to current configuration file information.
+If the iterator is invalid, FcFalse is returned.
+@SINCE@ 2.12.91
+@@
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-Returns the FcBlanks object associated with the given configuration, if no
-blanks were present in the configuration, this function will return 0.
-The returned FcBlanks object if not NULL, is valid as long as the owning
-FcConfig is alive.
-If <parameter>config</parameter> is NULL, the current configuration is used.
+FcBlanks is deprecated.
+This function always returns NULL.
</para>
</refsect1>
</refentry>
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
+ <refentry id="FcConfigParseAndLoadFromMemory">
+ <refmeta>
+ <refentrytitle>FcConfigParseAndLoadFromMemory</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigParseAndLoadFromMemory</refname>
+ <refpurpose>load a configuration from memory</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include <fontconfig/fontconfig.h>
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigParseAndLoadFromMemory</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>const FcChar8 *<parameter>buffer</parameter></paramdef>
+ <paramdef>FcBool <parameter>complain</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Walks the configuration in 'memory' and constructs the internal representation
+in 'config'. Any includes files referenced from within 'memory' will be loaded
+and dparsed. If 'complain' is FcFalse, no warning will be displayed if
+'file' does not exist. Error and warning messages will be output to stderr.
+Returns FcFalse if fsome error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.12.5</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ 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 the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ 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.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) 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.
+ -->
<refentry id="FcConfigGetSysRoot">
<refmeta>
<refentrytitle>FcConfigGetSysRoot</refentrytitle>
<para>version 2.10.92</para>
</refsect1>
</refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ 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 the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ 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.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) 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.
+ -->
+ <refentry id="FcConfigFileInfoIterInit">
+ <refmeta>
+ <refentrytitle>FcConfigFileInfoIterInit</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigFileInfoIterInit</refname>
+ <refpurpose>Initialize the iterator</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include <fontconfig/fontconfig.h>
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>void <function>FcConfigFileInfoIterInit</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcConfigFileInfoIter *<parameter>iter</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Initialize 'iter' with the first iterator in the config file information list.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.12.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ 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 the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ 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.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) 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.
+ -->
+ <refentry id="FcConfigFileInfoIterNext">
+ <refmeta>
+ <refentrytitle>FcConfigFileInfoIterNext</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigFileInfoIterNext</refname>
+ <refpurpose>Set the iterator to point to the next list</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include <fontconfig/fontconfig.h>
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigFileInfoIterNext</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcConfigFileInfoIter *<parameter>iter</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Set 'iter' to point to the next node in the config file information list.
+If there is no next node, FcFalse is returned.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.12.91</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ 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 the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ 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.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) 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.
+ -->
+ <refentry id="FcConfigFileInfoIterGet">
+ <refmeta>
+ <refentrytitle>FcConfigFileInfoIterGet</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcConfigFileInfoIterGet</refname>
+ <refpurpose>Obtain the configuration file information</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include <fontconfig/fontconfig.h>
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcBool <function>FcConfigFileInfoIterGet</function></funcdef>
+ <paramdef>FcConfig *<parameter>config</parameter></paramdef>
+ <paramdef>FcConfigFileInfoIter *<parameter>iter</parameter></paramdef>
+ <paramdef>FcChar8 **<parameter>name</parameter></paramdef>
+ <paramdef>FcChar8 **<parameter>description</parameter></paramdef>
+ <paramdef>FcBool *<parameter>enabled</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Obtain the filename, the description and the flag whether it is enabled or not
+for 'iter' where points to current configuration file information.
+If the iterator is invalid, FcFalse is returned.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.12.91</para>
+ </refsect1>
+ </refentry>
@TYPE2@ FcBlanks * @ARG2@ blanks
@PURPOSE@ compute Unicode coverage
@DESC@
-Scans a FreeType face and returns the set of encoded Unicode chars. This scans
-several encoding tables to build as complete a list as possible.
-If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
-not in 'blanks' are not placed in the returned FcCharSet.
+Scans a FreeType face and returns the set of encoded Unicode chars.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
@@
@SYNOPSIS@
@PURPOSE@ compute Unicode coverage and spacing type
@DESC@
Scans a FreeType face and returns the set of encoded Unicode chars.
-This scans
-several encoding tables to build as complete a list as possible.
-If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
-not in 'blanks' are not placed in the returned FcCharSet.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
<parameter>spacing</parameter> receives the computed spacing type of the
font, one of FC_MONO for a font where all glyphs have the same width,
FC_DUAL, where the font has glyphs in precisely two widths, one twice as
@TYPE4@ int * @ARG4@ count
@PURPOSE@ compute pattern from font file (and index)
@DESC@
-Constructs a pattern representing the 'id'th font in 'file'. The number
-of fonts in 'file' is returned in 'count'.
+Constructs a pattern representing the 'id'th face in 'file'. The number
+of faces in 'file' is returned in 'count'.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
+@@
+
+unsigned int
+FcFreeTypeQueryAll(const FcChar8 *file,
+ int id,
+ FcBlanks *blanks,
+ int *count,
+ FcFontSet *set)
+@SYNOPSIS@
+#include <fontconfig.h>
+#include <fcfreetype.h>
+@RET@ unsigned int
+@FUNC@ FcFreeTypeQueryAll
+@TYPE1@ const FcChar8 * @ARG1@ file
+@TYPE2@ int% @ARG2@ id
+@TYPE3@ FcBlanks * @ARG3@ blanks
+@TYPE4@ int * @ARG4@ count
+@TYPE5@ FcFontSet * @ARG5@ set
+@PURPOSE@ compute all patterns from font file (and index)
+@DESC@
+Constructs patterns found in 'file'.
+If id is -1, then all patterns found in 'file' are added to 'set'.
+Otherwise, this function works exactly like FcFreeTypeQuery().
+The number of faces in 'file' is returned in 'count'.
+The number of patterns added to 'set' is returned.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
+@SINCE@ 2.12.91
@@
@SYNOPSIS@
@DESC@
Constructs a pattern representing 'face'. 'file' and 'id' are used solely as
data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
@@
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-Scans a FreeType face and returns the set of encoded Unicode chars. This scans
-several encoding tables to build as complete a list as possible.
-If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
-not in 'blanks' are not placed in the returned FcCharSet.
+Scans a FreeType face and returns the set of encoded Unicode chars.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
</para>
</refsect1>
</refentry>
<refsect1><title>Description</title>
<para>
Scans a FreeType face and returns the set of encoded Unicode chars.
-This scans
-several encoding tables to build as complete a list as possible.
-If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
-not in 'blanks' are not placed in the returned FcCharSet.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
<parameter>spacing</parameter> receives the computed spacing type of the
font, one of FC_MONO for a font where all glyphs have the same width,
FC_DUAL, where the font has glyphs in precisely two widths, one twice as
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-Constructs a pattern representing the 'id'th font in 'file'. The number
-of fonts in 'file' is returned in 'count'.
+Constructs a pattern representing the 'id'th face in 'file'. The number
+of faces in 'file' is returned in 'count'.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
+ </para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ 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 the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ 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.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) 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.
+ -->
+ <refentry id="FcFreeTypeQueryAll">
+ <refmeta>
+ <refentrytitle>FcFreeTypeQueryAll</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcFreeTypeQueryAll</refname>
+ <refpurpose>compute all patterns from font file (and index)</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include <fontconfig.h>
+#include <fcfreetype.h>
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>unsigned int <function>FcFreeTypeQueryAll</function></funcdef>
+ <paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
+ <paramdef>int <parameter>id</parameter></paramdef>
+ <paramdef>FcBlanks *<parameter>blanks</parameter></paramdef>
+ <paramdef>int *<parameter>count</parameter></paramdef>
+ <paramdef>FcFontSet *<parameter>set</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Constructs patterns found in 'file'.
+If id is -1, then all patterns found in 'file' are added to 'set'.
+Otherwise, this function works exactly like FcFreeTypeQuery().
+The number of faces in 'file' is returned in 'count'.
+The number of patterns added to 'set' is returned.
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
</para>
</refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.12.91</para>
+ </refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
<para>
Constructs a pattern representing 'face'. 'file' and 'id' are used solely as
data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
+FcBlanks is deprecated, <parameter>blanks</parameter> is ignored and
+accepted only for compatibility with older code.
</para>
</refsect1>
</refentry>
@@
@RET@ FcResult
+@FUNC@ FcPatternGetWithBinding
+@TYPE1@ FcPattern * @ARG1@ p
+@TYPE2@ const char * @ARG2@ object
+@TYPE3@ int% @ARG3@ id
+@TYPE4@ FcValue * @ARG4@ v
+@TYPE5@ FcValueBinding * @ARG5@ b
+@PURPOSE@ Return a value with binding from a pattern
+@DESC@
+Returns in <parameter>v</parameter> the <parameter>id</parameter>'th value
+and <parameter>b</parameter> binding for that associated with the property
+<parameter>object</parameter>.
+The Value returned is not a copy, but rather refers to the data stored
+within the pattern directly. Applications must not free this value.
+@SINCE@ 2.12.5
+@@
+
+@RET@ FcResult
@FUNC@ FcPatternGet
@TYPE1@ FcPattern * @ARG1@ p
@TYPE2@ const char * @ARG2@ object
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
+ <refentry id="FcPatternGetWithBinding">
+ <refmeta>
+ <refentrytitle>FcPatternGetWithBinding</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcPatternGetWithBinding</refname>
+ <refpurpose>Return a value with binding from a pattern</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include <fontconfig/fontconfig.h>
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>FcResult <function>FcPatternGetWithBinding</function></funcdef>
+ <paramdef>FcPattern *<parameter>p</parameter></paramdef>
+ <paramdef>const char *<parameter>object</parameter></paramdef>
+ <paramdef>int <parameter>id</parameter></paramdef>
+ <paramdef>FcValue *<parameter>v</parameter></paramdef>
+ <paramdef>FcValueBinding *<parameter>b</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+Returns in <parameter>v</parameter> the <parameter>id</parameter>'th value
+and <parameter>b</parameter> binding for that associated with the property
+<parameter>object</parameter>.
+The Value returned is not a copy, but rather refers to the data stored
+within the pattern directly. Applications must not free this value.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.12.5</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ 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 the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ 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.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) 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.
+ -->
<refentry id="FcPatternGet">
<refmeta>
<refentrytitle>FcPatternGet</refentrytitle>
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-@RET@ int
-@FUNC@ FcWeightFromOpenType
-@TYPE1@ int @ARG1@ ot_weight
+@RET@ double
+@FUNC@ FcWeightFromOpenTypeDouble
+@TYPE1@ double @ARG1@ ot_weight
@PURPOSE@ Convert from OpenType weight values to fontconfig ones
@DESC@
-<function>FcWeightFromOpenType</function> returns an integer value
-to use with FC_WEIGHT, from an integer in the 1..1000 range, resembling
+<function>FcWeightFromOpenTypeDouble</function> returns an double value
+to use with FC_WEIGHT, from an double in the 1..1000 range, resembling
the numbers from OpenType specification's OS/2 usWeight numbers, which
are also similar to CSS font-weight numbers. If input is negative,
-zero, or greater than 1000, returns -1. This function linearly interpolates
+zero, or greater than 1000, returns -1. This function linearly doubleerpolates
between various FC_WEIGHT_* constants. As such, the returned value does not
necessarily match any of the predefined constants.
+@SINCE@ 2.12.92
+@@
+
+@RET@ double
+@FUNC@ FcWeightToOpenTypeDouble
+@TYPE1@ double @ARG1@ ot_weight
+@PURPOSE@ Convert from fontconfig weight values to OpenType ones
+@DESC@
+<function>FcWeightToOpenTypeDouble</function> is the inverse of
+<function>FcWeightFromOpenType</function>. If the input is less than
+FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
+returns a number in the range 1 to 1000.
+@SINCE@ 2.12.92
+@@
+
+@RET@ int
+@FUNC@ FcWeightFromOpenType
+@TYPE1@ int @ARG1@ ot_weight
+@PURPOSE@ Convert from OpenType weight values to fontconfig ones
+@DESC@
+<function>FcWeightFromOpenType</function> is like
+<function>FcWeightFromOpenTypeDouble</function> but with integer arguments.
+Use the other function instead.
@SINCE@ 2.11.91
@@
@TYPE1@ int @ARG1@ ot_weight
@PURPOSE@ Convert from fontconfig weight values to OpenType ones
@DESC@
-<function>FcWeightToOpenType</function> is the inverse of
-<function>FcWeightFromOpenType</function>. If the input is less than
-FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
-returns a number in the range 1 to 1000.
+<function>FcWeightToOpenType</function> is like
+<function>FcWeightToOpenTypeDouble</function> but with integer arguments.
+Use the other function instead.
@SINCE@ 2.11.91
@@
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
+ <refentry id="FcWeightFromOpenTypeDouble">
+ <refmeta>
+ <refentrytitle>FcWeightFromOpenTypeDouble</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcWeightFromOpenTypeDouble</refname>
+ <refpurpose>Convert from OpenType weight values to fontconfig ones</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include <fontconfig/fontconfig.h>
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>double <function>FcWeightFromOpenTypeDouble</function></funcdef>
+ <paramdef>double<parameter>ot_weight</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcWeightFromOpenTypeDouble</function> returns an double value
+to use with FC_WEIGHT, from an double in the 1..1000 range, resembling
+the numbers from OpenType specification's OS/2 usWeight numbers, which
+are also similar to CSS font-weight numbers. If input is negative,
+zero, or greater than 1000, returns -1. This function linearly doubleerpolates
+between various FC_WEIGHT_* constants. As such, the returned value does not
+necessarily match any of the predefined constants.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.12.92</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ 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 the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ 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.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) 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.
+ -->
+ <refentry id="FcWeightToOpenTypeDouble">
+ <refmeta>
+ <refentrytitle>FcWeightToOpenTypeDouble</refentrytitle>
+ <manvolnum>3</manvolnum>
+ <refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>FcWeightToOpenTypeDouble</refname>
+ <refpurpose>Convert from fontconfig weight values to OpenType ones</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>
+#include <fontconfig/fontconfig.h>
+ </funcsynopsisinfo>
+ <funcprototype>
+ <funcdef>double <function>FcWeightToOpenTypeDouble</function></funcdef>
+ <paramdef>double<parameter>ot_weight</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+ <refsect1><title>Description</title>
+ <para>
+<function>FcWeightToOpenTypeDouble</function> is the inverse of
+<function>FcWeightFromOpenType</function>. If the input is less than
+FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
+returns a number in the range 1 to 1000.
+ </para>
+ </refsect1>
+ <refsect1><title>Since</title>
+ <para>version 2.12.92</para>
+ </refsect1>
+ </refentry>
+<!--
+ fontconfig/doc/func.sgml
+
+ 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 the author(s) not be used in
+ advertising or publicity pertaining to distribution of the software without
+ 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.
+
+ THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL THE AUTHOR(S) 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.
+ -->
<refentry id="FcWeightFromOpenType">
<refmeta>
<refentrytitle>FcWeightFromOpenType</refentrytitle>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-<function>FcWeightFromOpenType</function> returns an integer value
-to use with FC_WEIGHT, from an integer in the 1..1000 range, resembling
-the numbers from OpenType specification's OS/2 usWeight numbers, which
-are also similar to CSS font-weight numbers. If input is negative,
-zero, or greater than 1000, returns -1. This function linearly interpolates
-between various FC_WEIGHT_* constants. As such, the returned value does not
-necessarily match any of the predefined constants.
+<function>FcWeightFromOpenType</function> is like
+<function>FcWeightFromOpenTypeDouble</function> but with integer arguments.
+Use the other function instead.
</para>
</refsect1>
<refsect1><title>Since</title>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
-<function>FcWeightToOpenType</function> is the inverse of
-<function>FcWeightFromOpenType</function>. If the input is less than
-FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
-returns a number in the range 1 to 1000.
+<function>FcWeightToOpenType</function> is like
+<function>FcWeightToOpenTypeDouble</function> but with integer arguments.
+Use the other function instead.
</para>
</refsect1>
<refsect1><title>Since</title>
blank chars are assumed to be invalid and are elided from the charset
associated with the font.
</para>
+ <para>
+ FcBlanks is deprecated and should not be used in newly written code.
+ It is still accepted by some functions for compatibility with
+ older code but will be removed in the future.
+ </para>
</sect2>
<sect2><title>FcFileCache</title>
<para>
the FcCharSet associated with the font. This provides a significantly more
accurate CharSet for applications.
</para>
+ <para>
+ FcBlanks is deprecated and should not be used in newly written code.
+ It is still accepted by some functions for compatibility with
+ older code but will be removed in the future.
+ </para>
&fcblanks;
</sect2>
<sect2><title>FcAtomic</title>
-Fontconfig Developers Reference, Version 2.12.1
+Fontconfig Developers Reference, Version 2.13.0
Copyright © 2002 Keith Packard
holds a list of Unicode chars which are expected to be blank;
unexpectedly blank chars are assumed to be invalid and are
elided from the charset associated with the font.
+
+ FcBlanks is deprecated and should not be used in newly written
+ code. It is still accepted by some functions for compatibility
+ with older code but will be removed in the future.
__________________________________________________________
FcFileCache
FcPatternAdd -- Add a value to a pattern
FcPatternAddWeak -- Add a value to a pattern with weak binding
FcPatternAdd-Type -- Add a typed value to a pattern
+ FcPatternGetWithBinding -- Return a value with binding from a
+ pattern
+
FcPatternGet -- Return a value from a pattern
FcPatternGet-Type -- Return a typed value from a pattern
FcPatternBuild -- Create patterns from arguments
These all append values to any existing list of values.
FcPatternAddRange are available since 2.11.91.
+FcPatternGetWithBinding
+
+Name
+
+ FcPatternGetWithBinding -- Return a value with binding from a
+ pattern
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcResult FcPatternGetWithBinding(FcPattern *p, const char
+ *object, int id, FcValue *v, FcValueBinding *b);
+
+Description
+
+ Returns in v the id'th value and b binding for that associated
+ with the property object. The Value returned is not a copy, but
+ rather refers to the data stored within the pattern directly.
+ Applications must not free this value.
+
+Since
+
+ version 2.12.5
+
FcPatternGet
Name
spacing type
FcFreeTypeQuery -- compute pattern from font file (and index)
+ FcFreeTypeQueryAll -- compute all patterns from font file (and
+ index)
+
FcFreeTypeQueryFace -- compute pattern from FT_Face
While the fontconfig library doesn't insist that FreeType be
Description
Scans a FreeType face and returns the set of encoded Unicode
- chars. This scans several encoding tables to build as complete
- a list as possible. If 'blanks' is not 0, the glyphs in the
- font are examined and any blank glyphs not in 'blanks' are not
- placed in the returned FcCharSet.
+ chars. FcBlanks is deprecated, blanks is ignored and accepted
+ only for compatibility with older code.
FcFreeTypeCharSetAndSpacing
Description
Scans a FreeType face and returns the set of encoded Unicode
- chars. This scans several encoding tables to build as complete
- a list as possible. If 'blanks' is not 0, the glyphs in the
- font are examined and any blank glyphs not in 'blanks' are not
- placed in the returned FcCharSet. spacing receives the computed
- spacing type of the font, one of FC_MONO for a font where all
- glyphs have the same width, FC_DUAL, where the font has glyphs
- in precisely two widths, one twice as wide as the other, or
- FC_PROPORTIONAL where the font has glyphs of many widths.
+ chars. FcBlanks is deprecated, blanks is ignored and accepted
+ only for compatibility with older code. spacing receives the
+ computed spacing type of the font, one of FC_MONO for a font
+ where all glyphs have the same width, FC_DUAL, where the font
+ has glyphs in precisely two widths, one twice as wide as the
+ other, or FC_PROPORTIONAL where the font has glyphs of many
+ widths.
FcFreeTypeQuery
Description
- Constructs a pattern representing the 'id'th font in 'file'.
- The number of fonts in 'file' is returned in 'count'.
+ Constructs a pattern representing the 'id'th face in 'file'.
+ The number of faces in 'file' is returned in 'count'. FcBlanks
+ is deprecated, blanks is ignored and accepted only for
+ compatibility with older code.
+
+FcFreeTypeQueryAll
+
+Name
+
+ FcFreeTypeQueryAll -- compute all patterns from font file (and
+ index)
+
+Synopsis
+
+#include <fontconfig.h>
+#include <fcfreetype.h>
+
+ unsigned int FcFreeTypeQueryAll(const FcChar8 *file, int id,
+ FcBlanks *blanks, int *count, FcFontSet *set);
+
+Description
+
+ Constructs patterns found in 'file'. If id is -1, then all
+ patterns found in 'file' are added to 'set'. Otherwise, this
+ function works exactly like FcFreeTypeQuery(). The number of
+ faces in 'file' is returned in 'count'. The number of patterns
+ added to 'set' is returned. FcBlanks is deprecated, blanks is
+ ignored and accepted only for compatibility with older code.
+
+Since
+
+ version 2.12.91
FcFreeTypeQueryFace
Constructs a pattern representing 'face'. 'file' and 'id' are
used solely as data for pattern elements (FC_FILE, FC_INDEX and
- sometimes FC_FAMILY).
+ sometimes FC_FAMILY). FcBlanks is deprecated, blanks is ignored
+ and accepted only for compatibility with older code.
__________________________________________________________
FcValue
FcFontList -- List fonts
FcConfigFilename -- Find a config file
FcConfigParseAndLoad -- load a configuration file
+ FcConfigParseAndLoadFromMemory -- load a configuration from
+ memory
+
FcConfigGetSysRoot -- Obtain the system root directory
FcConfigSetSysRoot -- Set the system root directory
+ FcConfigFileInfoIterInit -- Initialize the iterator
+ FcConfigFileInfoIterNext -- Set the iterator to point to the
+ next list
+
+ FcConfigFileInfoIterGet -- Obtain the configuration file
+ information
An FcConfig object holds the internal representation of a
configuration. There is a default configuration which
Description
- Returns the FcBlanks object associated with the given
- configuration, if no blanks were present in the configuration,
- this function will return 0. The returned FcBlanks object if
- not NULL, is valid as long as the owning FcConfig is alive. If
- config is NULL, the current configuration is used.
+ FcBlanks is deprecated. This function always returns NULL.
FcConfigGetRescanInterval
parse error, semantic error or allocation failure. Otherwise
returns FcTrue.
+FcConfigParseAndLoadFromMemory
+
+Name
+
+ FcConfigParseAndLoadFromMemory -- load a configuration from
+ memory
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigParseAndLoadFromMemory(FcConfig *config, const
+ FcChar8 *buffer, FcBool complain);
+
+Description
+
+ Walks the configuration in 'memory' and constructs the internal
+ representation in 'config'. Any includes files referenced from
+ within 'memory' will be loaded and dparsed. If 'complain' is
+ FcFalse, no warning will be displayed if 'file' does not exist.
+ Error and warning messages will be output to stderr. Returns
+ FcFalse if fsome error occurred while loading the file, either
+ a parse error, semantic error or allocation failure. Otherwise
+ returns FcTrue.
+
+Since
+
+ version 2.12.5
+
FcConfigGetSysRoot
Name
Since
version 2.10.92
+
+FcConfigFileInfoIterInit
+
+Name
+
+ FcConfigFileInfoIterInit -- Initialize the iterator
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ void FcConfigFileInfoIterInit(FcConfig *config,
+ FcConfigFileInfoIter *iter);
+
+Description
+
+ Initialize 'iter' with the first iterator in the config file
+ information list.
+
+Since
+
+ version 2.12.91
+
+FcConfigFileInfoIterNext
+
+Name
+
+ FcConfigFileInfoIterNext -- Set the iterator to point to the
+ next list
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigFileInfoIterNext(FcConfig *config,
+ FcConfigFileInfoIter *iter);
+
+Description
+
+ Set 'iter' to point to the next node in the config file
+ information list. If there is no next node, FcFalse is
+ returned.
+
+Since
+
+ version 2.12.91
+
+FcConfigFileInfoIterGet
+
+Name
+
+ FcConfigFileInfoIterGet -- Obtain the configuration file
+ information
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcConfigFileInfoIterGet(FcConfig *config,
+ FcConfigFileInfoIter *iter, FcChar8 **name, FcChar8
+ **description, FcBool *enabled);
+
+Description
+
+ Obtain the filename, the description and the flag whether it is
+ enabled or not for 'iter' where points to current configuration
+ file information. If the iterator is invalid, FcFalse is
+ returned.
+
+Since
+
+ version 2.12.91
__________________________________________________________
FcObjectType
FcWeight
Table of Contents
+ FcWeightFromOpenTypeDouble -- Convert from OpenType weight
+ values to fontconfig ones
+
+ FcWeightToOpenTypeDouble -- Convert from fontconfig weight
+ values to OpenType ones
+
FcWeightFromOpenType -- Convert from OpenType weight values to
fontconfig ones
Maps weights to and from OpenType weights.
+FcWeightFromOpenTypeDouble
+
+Name
+
+ FcWeightFromOpenTypeDouble -- Convert from OpenType weight
+ values to fontconfig ones
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ double FcWeightFromOpenTypeDouble(doubleot_weight);
+
+Description
+
+ FcWeightFromOpenTypeDouble returns an double value to use with
+ FC_WEIGHT, from an double in the 1..1000 range, resembling the
+ numbers from OpenType specification's OS/2 usWeight numbers,
+ which are also similar to CSS font-weight numbers. If input is
+ negative, zero, or greater than 1000, returns -1. This function
+ linearly doubleerpolates between various FC_WEIGHT_* constants.
+ As such, the returned value does not necessarily match any of
+ the predefined constants.
+
+Since
+
+ version 2.12.92
+
+FcWeightToOpenTypeDouble
+
+Name
+
+ FcWeightToOpenTypeDouble -- Convert from fontconfig weight
+ values to OpenType ones
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ double FcWeightToOpenTypeDouble(doubleot_weight);
+
+Description
+
+ FcWeightToOpenTypeDouble is the inverse of
+ FcWeightFromOpenType. If the input is less than FC_WEIGHT_THIN
+ or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
+ returns a number in the range 1 to 1000.
+
+Since
+
+ version 2.12.92
+
FcWeightFromOpenType
Name
Description
- FcWeightFromOpenType returns an integer value to use with
- FC_WEIGHT, from an integer in the 1..1000 range, resembling the
- numbers from OpenType specification's OS/2 usWeight numbers,
- which are also similar to CSS font-weight numbers. If input is
- negative, zero, or greater than 1000, returns -1. This function
- linearly interpolates between various FC_WEIGHT_* constants. As
- such, the returned value does not necessarily match any of the
- predefined constants.
+ FcWeightFromOpenType is like FcWeightFromOpenTypeDouble but
+ with integer arguments. Use the other function instead.
Since
Description
- FcWeightToOpenType is the inverse of FcWeightFromOpenType. If
- the input is less than FC_WEIGHT_THIN or greater than
- FC_WEIGHT_EXTRABLACK, returns -1. Otherwise returns a number in
- the range 1 to 1000.
+ FcWeightToOpenType is like FcWeightToOpenTypeDouble but with
+ integer arguments. Use the other function instead.
Since
font. This provides a significantly more accurate CharSet for
applications.
+ FcBlanks is deprecated and should not be used in newly written
+ code. It is still accepted by some functions for compatibility
+ with older code but will be removed in the future.
+
FcBlanksCreate
Name
Description
- Creates an empty FcBlanks object.
+ FcBlanks is deprecated. This function always returns NULL.
FcBlanksDestroy
Description
- Destroys an FcBlanks object, freeing any associated memory.
+ FcBlanks is deprecated. This function does nothing.
FcBlanksAdd
Description
- Adds a single character to an FcBlanks object, returning
- FcFalse if this process ran out of memory.
+ FcBlanks is deprecated. This function always returns FALSE.
FcBlanksIsMember
Description
- Returns whether the specified FcBlanks object contains the
- indicated Unicode value.
+ FcBlanks is deprecated. This function always returns FALSE.
__________________________________________________________
FcAtomic
cache.
FcCacheNumFont -- Returns the number of fonts in cache.
- FcDirCacheClean -- This tries to clean up the cache directory
- of cache_dir. This returns FcTrue if the operation is
- successfully complete. otherwise FcFalse.
-
+ FcDirCacheClean -- Clean up a cache directory
FcCacheCreateTagFile -- Create CACHEDIR.TAG at cache directory.
+ FcDirCacheCreateUUID -- Create .uuid file at a directory
These routines work with font directory caches, accessing their
contents in limited ways. It is not expected that normal
Name
- FcDirCacheClean -- This tries to clean up the cache directory
- of cache_dir. This returns FcTrue if the operation is
- successfully complete. otherwise FcFalse.
+ FcDirCacheClean -- Clean up a cache directory
Synopsis
Description
+ This tries to clean up the cache directory of cache_dir. This
+ returns FcTrue if the operation is successfully complete.
+ otherwise FcFalse.
+
Since
version 2.9.91
Since
version 2.9.91
+
+FcDirCacheCreateUUID
+
+Name
+
+ FcDirCacheCreateUUID -- Create .uuid file at a directory
+
+Synopsis
+
+#include <fontconfig/fontconfig.h>
+
+ FcBool FcDirCacheCreateUUID(FcChar8 *dir, FcBoolforce,
+ FcConfigconfig);
+
+Description
+
+ This is to create .uuid file containing an UUID at a font
+ directory of dir. The UUID will be used to identify the font
+ directory and is used to determine the cache filename if
+ available.
+
+Since
+
+ version 2.12.92
__________________________________________________________
FcStrSet and FcStrList
HREF="t1.html"><LINK
REL="UP"
TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcAtomicLock"
HREF="fcatomiclock.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3714"
+NAME="AEN3936"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3717"
+NAME="AEN3939"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3718"
+NAME="AEN3940"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3725"
+NAME="AEN3947"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
REL="PREVIOUS"
TITLE="FcAtomicReplaceOrig"
HREF="fcatomicreplaceorig.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3814"
+NAME="AEN4036"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3817"
+NAME="AEN4039"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3818"
+NAME="AEN4040"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3825"
+NAME="AEN4047"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
REL="PREVIOUS"
TITLE="FcAtomicUnlock"
HREF="fcatomicunlock.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3852"
+NAME="AEN4074"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3855"
+NAME="AEN4077"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3856"
+NAME="AEN4078"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3863"
+NAME="AEN4085"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
REL="PREVIOUS"
TITLE="FcAtomicCreate"
HREF="fcatomiccreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3734"
+NAME="AEN3956"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3737"
+NAME="AEN3959"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3738"
+NAME="AEN3960"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3745"
+NAME="AEN3967"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
REL="PREVIOUS"
TITLE="FcAtomicLock"
HREF="fcatomiclock.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3754"
+NAME="AEN3976"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3757"
+NAME="AEN3979"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3758"
+NAME="AEN3980"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3765"
+NAME="AEN3987"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
REL="PREVIOUS"
TITLE="FcAtomicNewFile"
HREF="fcatomicnewfile.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3774"
+NAME="AEN3996"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3777"
+NAME="AEN3999"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3778"
+NAME="AEN4000"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3785"
+NAME="AEN4007"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
REL="PREVIOUS"
TITLE="FcAtomicOrigFile"
HREF="fcatomicorigfile.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3794"
+NAME="AEN4016"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3797"
+NAME="AEN4019"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3798"
+NAME="AEN4020"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3805"
+NAME="AEN4027"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcAtomic"
-HREF="x102.html#AEN3706"><LINK
+HREF="x103.html#AEN3928"><LINK
REL="PREVIOUS"
TITLE="FcAtomicDeleteNew"
HREF="fcatomicdeletenew.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3833"
+NAME="AEN4055"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3836"
+NAME="AEN4058"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3837"
+NAME="AEN4059"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3844"
+NAME="AEN4066"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3706"
+HREF="x103.html#AEN3928"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcBlanks"
-HREF="x102.html#AEN3623"><LINK
+HREF="x103.html#AEN3844"><LINK
REL="PREVIOUS"
TITLE="FcBlanksDestroy"
HREF="fcblanksdestroy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3669"
+NAME="AEN3891"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3672"
+NAME="AEN3894"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3673"
+NAME="AEN3895"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3682"
+NAME="AEN3904"
></A
><H2
>Description</H2
><P
->Adds a single character to an FcBlanks object, returning FcFalse
-if this process ran out of memory.
+>FcBlanks is deprecated.
+This function always returns FALSE.
</P
></DIV
><DIV
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3623"
+HREF="x103.html#AEN3844"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcBlanks"
-HREF="x102.html#AEN3623"><LINK
+HREF="x103.html#AEN3844"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcBlanksDestroy"
HREF="fcblanksdestroy.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3631"
+NAME="AEN3853"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3634"
+NAME="AEN3856"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3635"
+NAME="AEN3857"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3642"
+NAME="AEN3864"
></A
><H2
>Description</H2
><P
->Creates an empty FcBlanks object.
+>FcBlanks is deprecated.
+This function always returns NULL.
</P
></DIV
><DIV
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3623"
+HREF="x103.html#AEN3844"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcBlanks"
-HREF="x102.html#AEN3623"><LINK
+HREF="x103.html#AEN3844"><LINK
REL="PREVIOUS"
TITLE="FcBlanksCreate"
HREF="fcblankscreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3650"
+NAME="AEN3872"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3653"
+NAME="AEN3875"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3654"
+NAME="AEN3876"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3661"
+NAME="AEN3883"
></A
><H2
>Description</H2
><P
->Destroys an FcBlanks object, freeing any associated memory.
+>FcBlanks is deprecated.
+This function does nothing.
</P
></DIV
><DIV
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3623"
+HREF="x103.html#AEN3844"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcBlanks"
-HREF="x102.html#AEN3623"><LINK
+HREF="x103.html#AEN3844"><LINK
REL="PREVIOUS"
TITLE="FcBlanksAdd"
HREF="fcblanksadd.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3690"
+NAME="AEN3912"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3693"
+NAME="AEN3915"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3694"
+NAME="AEN3916"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3703"
+NAME="AEN3925"
></A
><H2
>Description</H2
><P
->Returns whether the specified FcBlanks object contains the indicated Unicode
-value.
+>FcBlanks is deprecated.
+This function always returns FALSE.
</P
></DIV
><DIV
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3623"
+HREF="x103.html#AEN3844"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
REL="PREVIOUS"
TITLE="FcCacheDir"
HREF="fccachedir.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4173"
+NAME="AEN4395"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4177"
+NAME="AEN4399"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4178"
+NAME="AEN4400"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4185"
+NAME="AEN4407"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
REL="PREVIOUS"
TITLE="FcDirCacheClean"
-HREF="fcdircacheclean.html"></HEAD
+HREF="fcdircacheclean.html"><LINK
+REL="NEXT"
+TITLE="FcDirCacheCreateUUID"
+HREF="fcdircachecreateuuid.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
-> </TD
+><A
+HREF="fcdircachecreateuuid.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
></TR
></TABLE
><HR
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4284"
+NAME="AEN4506"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4287"
+NAME="AEN4509"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4288"
+NAME="AEN4510"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4295"
+NAME="AEN4517"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4299"
+NAME="AEN4521"
></A
><H2
>Since</H2
WIDTH="33%"
ALIGN="right"
VALIGN="top"
-> </TD
+><A
+HREF="fcdircachecreateuuid.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
></TR
><TR
><TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
ACCESSKEY="U"
>Up</A
></TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
-> </TD
+>FcDirCacheCreateUUID</TD
></TR
></TABLE
></DIV
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcCacheCopySet"
HREF="fccachecopyset.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4153"
+NAME="AEN4375"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4157"
+NAME="AEN4379"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4158"
+NAME="AEN4380"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4165"
+NAME="AEN4387"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
REL="PREVIOUS"
TITLE="FcCacheNumSubdir"
HREF="fccachenumsubdir.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4239"
+NAME="AEN4461"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4243"
+NAME="AEN4465"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4244"
+NAME="AEN4466"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4251"
+NAME="AEN4473"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
REL="PREVIOUS"
TITLE="FcCacheSubdir"
HREF="fccachesubdir.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4219"
+NAME="AEN4441"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4223"
+NAME="AEN4445"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4224"
+NAME="AEN4446"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4231"
+NAME="AEN4453"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
REL="PREVIOUS"
TITLE="FcCacheCopySet"
HREF="fccachecopyset.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4194"
+NAME="AEN4416"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4198"
+NAME="AEN4420"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4199"
+NAME="AEN4421"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4208"
+NAME="AEN4430"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetDestroy"
HREF="fccharsetdestroy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1598"
+NAME="AEN1668"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1601"
+NAME="AEN1671"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1602"
+NAME="AEN1672"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1611"
+NAME="AEN1681"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetDelChar"
HREF="fccharsetdelchar.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1645"
+NAME="AEN1715"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1648"
+NAME="AEN1718"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1649"
+NAME="AEN1719"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1656"
+NAME="AEN1726"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetHasChar"
HREF="fccharsethaschar.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1810"
+NAME="AEN1880"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1813"
+NAME="AEN1883"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1814"
+NAME="AEN1884"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1821"
+NAME="AEN1891"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetNextPage"
HREF="fccharsetnextpage.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1974"
+NAME="AEN2044"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1977"
+NAME="AEN2047"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1978"
+NAME="AEN2048"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1989"
+NAME="AEN2059"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcCharSetDestroy"
HREF="fccharsetdestroy.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1557"
+NAME="AEN1627"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1560"
+NAME="AEN1630"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1561"
+NAME="AEN1631"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1568"
+NAME="AEN1638"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetAddChar"
HREF="fccharsetaddchar.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1620"
+NAME="AEN1690"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1623"
+NAME="AEN1693"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1624"
+NAME="AEN1694"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1633"
+NAME="AEN1703"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1637"
+NAME="AEN1707"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetCreate"
HREF="fccharsetcreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1577"
+NAME="AEN1647"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1580"
+NAME="AEN1650"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1581"
+NAME="AEN1651"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1588"
+NAME="AEN1658"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetCopy"
HREF="fccharsetcopy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1666"
+NAME="AEN1736"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1669"
+NAME="AEN1739"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1670"
+NAME="AEN1740"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1679"
+NAME="AEN1749"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetIsSubset"
HREF="fccharsetissubset.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1899"
+NAME="AEN1969"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1902"
+NAME="AEN1972"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1903"
+NAME="AEN1973"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1914"
+NAME="AEN1984"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetMerge"
HREF="fccharsetmerge.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1787"
+NAME="AEN1857"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1790"
+NAME="AEN1860"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1791"
+NAME="AEN1861"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1800"
+NAME="AEN1870"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetEqual"
HREF="fccharsetequal.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1689"
+NAME="AEN1759"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1692"
+NAME="AEN1762"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1693"
+NAME="AEN1763"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1702"
+NAME="AEN1772"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetCount"
HREF="fccharsetcount.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1830"
+NAME="AEN1900"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1833"
+NAME="AEN1903"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1834"
+NAME="AEN1904"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1843"
+NAME="AEN1913"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetSubtractCount"
HREF="fccharsetsubtractcount.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1876"
+NAME="AEN1946"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1879"
+NAME="AEN1949"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1880"
+NAME="AEN1950"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1889"
+NAME="AEN1959"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetSubtract"
HREF="fccharsetsubtract.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1758"
+NAME="AEN1828"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1761"
+NAME="AEN1831"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1762"
+NAME="AEN1832"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1773"
+NAME="AEN1843"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetCoverage"
HREF="fccharsetcoverage.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2001"
+NAME="AEN2071"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2004"
+NAME="AEN2074"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2005"
+NAME="AEN2075"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2012"
+NAME="AEN2082"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetFirstPage"
HREF="fccharsetfirstpage.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1942"
+NAME="AEN2012"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1945"
+NAME="AEN2015"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1946"
+NAME="AEN2016"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1957"
+NAME="AEN2027"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetUnion"
HREF="fccharsetunion.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1735"
+NAME="AEN1805"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1738"
+NAME="AEN1808"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1739"
+NAME="AEN1809"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1748"
+NAME="AEN1818"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetIntersectCount"
HREF="fccharsetintersectcount.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1853"
+NAME="AEN1923"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1856"
+NAME="AEN1926"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1857"
+NAME="AEN1927"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1866"
+NAME="AEN1936"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCharSet"
-HREF="x102.html#AEN1549"><LINK
+HREF="x103.html#AEN1619"><LINK
REL="PREVIOUS"
TITLE="FcCharSetIntersect"
HREF="fccharsetintersect.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1712"
+NAME="AEN1782"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1715"
+NAME="AEN1785"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1716"
+NAME="AEN1786"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1725"
+NAME="AEN1795"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1549"
+HREF="x103.html#AEN1619"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigAppFontAddFile"
HREF="fcconfigappfontaddfile.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3118"
+NAME="AEN3187"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3121"
+NAME="AEN3190"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3122"
+NAME="AEN3191"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3131"
+NAME="AEN3200"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigSetRescanInterval"
HREF="fcconfigsetrescaninterval.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3096"
+NAME="AEN3165"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3099"
+NAME="AEN3168"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3100"
+NAME="AEN3169"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3109"
+NAME="AEN3178"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigAppFontAddDir"
HREF="fcconfigappfontadddir.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3140"
+NAME="AEN3209"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3143"
+NAME="AEN3212"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3144"
+NAME="AEN3213"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3151"
+NAME="AEN3220"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigEnableHome"
HREF="fcconfigenablehome.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2887"
+NAME="AEN2957"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2890"
+NAME="AEN2960"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2891"
+NAME="AEN2961"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2898"
+NAME="AEN2968"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcConfigReference"
HREF="fcconfigreference.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2726"
+NAME="AEN2796"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2729"
+NAME="AEN2799"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2730"
+NAME="AEN2800"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2737"
+NAME="AEN2807"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigReference"
HREF="fcconfigreference.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2766"
+NAME="AEN2836"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2769"
+NAME="AEN2839"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2770"
+NAME="AEN2840"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2777"
+NAME="AEN2847"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigHome"
HREF="fcconfighome.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2866"
+NAME="AEN2936"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2869"
+NAME="AEN2939"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2870"
+NAME="AEN2940"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2877"
+NAME="AEN2947"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigFileInfoIterGet</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x103.html#AEN2788"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigFileInfoIterNext"
+HREF="fcconfigfileinfoiternext.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigfileinfoiternext.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+> </TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGFILEINFOITERGET"
+></A
+>FcConfigFileInfoIterGet</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3568"
+></A
+><H2
+>Name</H2
+>FcConfigFileInfoIterGet -- Obtain the configuration file information</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3571"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3572"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include <fontconfig/fontconfig.h>
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigFileInfoIterGet</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcConfigFileInfoIter *<TT
+CLASS="PARAMETER"
+><I
+>iter</I
+></TT
+>, FcChar8 **<TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>, FcChar8 **<TT
+CLASS="PARAMETER"
+><I
+>description</I
+></TT
+>, FcBool *<TT
+CLASS="PARAMETER"
+><I
+>enabled</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3587"
+></A
+><H2
+>Description</H2
+><P
+>Obtain the filename, the description and the flag whether it is enabled or not
+for 'iter' where points to current configuration file information.
+If the iterator is invalid, FcFalse is returned.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3590"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigfileinfoiternext.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigFileInfoIterNext</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN2788"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+> </TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigFileInfoIterInit</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x103.html#AEN2788"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigSetSysRoot"
+HREF="fcconfigsetsysroot.html"><LINK
+REL="NEXT"
+TITLE="FcConfigFileInfoIterNext"
+HREF="fcconfigfileinfoiternext.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigsetsysroot.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigfileinfoiternext.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGFILEINFOITERINIT"
+></A
+>FcConfigFileInfoIterInit</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3520"
+></A
+><H2
+>Name</H2
+>FcConfigFileInfoIterInit -- Initialize the iterator</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3523"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3524"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include <fontconfig/fontconfig.h>
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>void <TT
+CLASS="FUNCTION"
+>FcConfigFileInfoIterInit</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcConfigFileInfoIter *<TT
+CLASS="PARAMETER"
+><I
+>iter</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3533"
+></A
+><H2
+>Description</H2
+><P
+>Initialize 'iter' with the first iterator in the config file information list.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3536"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigsetsysroot.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigfileinfoiternext.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigSetSysRoot</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN2788"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigFileInfoIterNext</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigFileInfoIterNext</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x103.html#AEN2788"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigFileInfoIterInit"
+HREF="fcconfigfileinfoiterinit.html"><LINK
+REL="NEXT"
+TITLE="FcConfigFileInfoIterGet"
+HREF="fcconfigfileinfoiterget.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigfileinfoiterinit.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfigfileinfoiterget.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGFILEINFOITERNEXT"
+></A
+>FcConfigFileInfoIterNext</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3544"
+></A
+><H2
+>Name</H2
+>FcConfigFileInfoIterNext -- Set the iterator to point to the next list</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3547"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3548"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include <fontconfig/fontconfig.h>
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigFileInfoIterNext</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, FcConfigFileInfoIter *<TT
+CLASS="PARAMETER"
+><I
+>iter</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3557"
+></A
+><H2
+>Description</H2
+><P
+>Set 'iter' to point to the next node in the config file information list.
+If there is no next node, FcFalse is returned.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3560"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigfileinfoiterinit.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfigfileinfoiterget.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigFileInfoIterInit</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN2788"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigFileInfoIterGet</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcFontList"
HREF="fcfontlist.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3334"
+NAME="AEN3403"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3337"
+NAME="AEN3406"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3338"
+NAME="AEN3407"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3345"
+NAME="AEN3414"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetFonts"
HREF="fcconfiggetfonts.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3033"
+NAME="AEN3103"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3036"
+NAME="AEN3106"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3037"
+NAME="AEN3107"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3044"
+NAME="AEN3114"
></A
><H2
>Description</H2
><P
->Returns the FcBlanks object associated with the given configuration, if no
-blanks were present in the configuration, this function will return 0.
-The returned FcBlanks object if not NULL, is valid as long as the owning
-FcConfig is alive.
-If <TT
-CLASS="PARAMETER"
-><I
->config</I
-></TT
-> is NULL, the current configuration is used.
+>FcBlanks is deprecated.
+This function always returns NULL.
</P
></DIV
><DIV
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetConfigFiles"
HREF="fcconfiggetconfigfiles.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2970"
+NAME="AEN3040"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2973"
+NAME="AEN3043"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2974"
+NAME="AEN3044"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2981"
+NAME="AEN3051"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetCache"
HREF="fcconfiggetcache.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2989"
+NAME="AEN3059"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2992"
+NAME="AEN3062"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2993"
+NAME="AEN3063"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3000"
+NAME="AEN3070"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigBuildFonts"
HREF="fcconfigbuildfonts.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2907"
+NAME="AEN2977"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2910"
+NAME="AEN2980"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2911"
+NAME="AEN2981"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2918"
+NAME="AEN2988"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetFontDirs"
HREF="fcconfiggetfontdirs.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2949"
+NAME="AEN3019"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2952"
+NAME="AEN3022"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2953"
+NAME="AEN3023"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2960"
+NAME="AEN3030"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigSetCurrent"
HREF="fcconfigsetcurrent.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2806"
+NAME="AEN2876"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2809"
+NAME="AEN2879"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2810"
+NAME="AEN2880"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2817"
+NAME="AEN2887"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetConfigDirs"
HREF="fcconfiggetconfigdirs.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2928"
+NAME="AEN2998"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2931"
+NAME="AEN3001"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2932"
+NAME="AEN3002"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2939"
+NAME="AEN3009"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetCacheDirs"
HREF="fcconfiggetcachedirs.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3010"
+NAME="AEN3080"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3013"
+NAME="AEN3083"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3014"
+NAME="AEN3084"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3023"
+NAME="AEN3093"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetBlanks"
HREF="fcconfiggetblanks.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3053"
+NAME="AEN3122"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3056"
+NAME="AEN3125"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3057"
+NAME="AEN3126"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3064"
+NAME="AEN3133"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
-TITLE="FcConfigParseAndLoad"
-HREF="fcconfigparseandload.html"><LINK
+TITLE="FcConfigParseAndLoadFromMemory"
+HREF="fcconfigparseandloadfrommemory.html"><LINK
REL="NEXT"
TITLE="FcConfigSetSysRoot"
HREF="fcconfigsetsysroot.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="fcconfigparseandload.html"
+HREF="fcconfigparseandloadfrommemory.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3379"
+NAME="AEN3474"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3382"
+NAME="AEN3477"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3383"
+NAME="AEN3478"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3390"
+NAME="AEN3485"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3393"
+NAME="AEN3488"
></A
><H2
>Since</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="fcconfigparseandload.html"
+HREF="fcconfigparseandloadfrommemory.html"
ACCESSKEY="P"
><<< Previous</A
></TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
->FcConfigParseAndLoad</TD
+>FcConfigParseAndLoadFromMemory</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigUptoDate"
HREF="fcconfiguptodate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2846"
+NAME="AEN2916"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2849"
+NAME="AEN2919"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2850"
+NAME="AEN2920"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2857"
+NAME="AEN2927"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigFilename"
HREF="fcconfigfilename.html"><LINK
REL="NEXT"
-TITLE="FcConfigGetSysRoot"
-HREF="fcconfiggetsysroot.html"></HEAD
+TITLE="FcConfigParseAndLoadFromMemory"
+HREF="fcconfigparseandloadfrommemory.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
ALIGN="right"
VALIGN="bottom"
><A
-HREF="fcconfiggetsysroot.html"
+HREF="fcconfigparseandloadfrommemory.html"
ACCESSKEY="N"
>Next >>></A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3356"
+NAME="AEN3425"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3359"
+NAME="AEN3428"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3360"
+NAME="AEN3429"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3371"
+NAME="AEN3440"
></A
><H2
>Description</H2
ALIGN="right"
VALIGN="top"
><A
-HREF="fcconfiggetsysroot.html"
+HREF="fcconfigparseandloadfrommemory.html"
ACCESSKEY="N"
>Next >>></A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
->FcConfigGetSysRoot</TD
+>FcConfigParseAndLoadFromMemory</TD
></TR
></TABLE
></DIV
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcConfigParseAndLoadFromMemory</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcConfig"
+HREF="x103.html#AEN2788"><LINK
+REL="PREVIOUS"
+TITLE="FcConfigParseAndLoad"
+HREF="fcconfigparseandload.html"><LINK
+REL="NEXT"
+TITLE="FcConfigGetSysRoot"
+HREF="fcconfiggetsysroot.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcconfigparseandload.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcconfiggetsysroot.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCCONFIGPARSEANDLOADFROMMEMORY"
+></A
+>FcConfigParseAndLoadFromMemory</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3448"
+></A
+><H2
+>Name</H2
+>FcConfigParseAndLoadFromMemory -- load a configuration from memory</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3451"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3452"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include <fontconfig/fontconfig.h>
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcConfigParseAndLoadFromMemory</TT
+></CODE
+>(FcConfig *<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>, const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>buffer</I
+></TT
+>, FcBool <TT
+CLASS="PARAMETER"
+><I
+>complain</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3463"
+></A
+><H2
+>Description</H2
+><P
+>Walks the configuration in 'memory' and constructs the internal representation
+in 'config'. Any includes files referenced from within 'memory' will be loaded
+and dparsed. If 'complain' is FcFalse, no warning will be displayed if
+'file' does not exist. Error and warning messages will be output to stderr.
+Returns FcFalse if fsome error occurred while loading the file, either a
+parse error, semantic error or allocation failure. Otherwise returns FcTrue.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3466"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.5</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcconfigparseandload.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcconfiggetsysroot.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcConfigParseAndLoad</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN2788"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcConfigGetSysRoot</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigCreate"
HREF="fcconfigcreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2745"
+NAME="AEN2815"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2748"
+NAME="AEN2818"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2749"
+NAME="AEN2819"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2756"
+NAME="AEN2826"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigDestroy"
HREF="fcconfigdestroy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2785"
+NAME="AEN2855"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2788"
+NAME="AEN2858"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2789"
+NAME="AEN2859"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2796"
+NAME="AEN2866"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetRescanInterval"
HREF="fcconfiggetrescaninterval.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3074"
+NAME="AEN3143"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3077"
+NAME="AEN3146"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3078"
+NAME="AEN3147"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3087"
+NAME="AEN3156"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetSysRoot"
-HREF="fcconfiggetsysroot.html"></HEAD
+HREF="fcconfiggetsysroot.html"><LINK
+REL="NEXT"
+TITLE="FcConfigFileInfoIterInit"
+HREF="fcconfigfileinfoiterinit.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
-> </TD
+><A
+HREF="fcconfigfileinfoiterinit.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
></TR
></TABLE
><HR
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3401"
+NAME="AEN3496"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3404"
+NAME="AEN3499"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3405"
+NAME="AEN3500"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3414"
+NAME="AEN3509"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3417"
+NAME="AEN3512"
></A
><H2
>Since</H2
WIDTH="33%"
ALIGN="right"
VALIGN="top"
-> </TD
+><A
+HREF="fcconfigfileinfoiterinit.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
></TR
><TR
><TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
-> </TD
+>FcConfigFileInfoIterInit</TD
></TR
></TABLE
></DIV
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigSubstituteWithPat"
HREF="fcconfigsubstitutewithpat.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3188"
+NAME="AEN3257"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3191"
+NAME="AEN3260"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3192"
+NAME="AEN3261"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3203"
+NAME="AEN3272"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigAppFontClear"
HREF="fcconfigappfontclear.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3160"
+NAME="AEN3229"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3163"
+NAME="AEN3232"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3164"
+NAME="AEN3233"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3177"
+NAME="AEN3246"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigGetCurrent"
HREF="fcconfiggetcurrent.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2825"
+NAME="AEN2895"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2828"
+NAME="AEN2898"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2829"
+NAME="AEN2899"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2836"
+NAME="AEN2906"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternPrint"
HREF="fcpatternprint.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN840"
+NAME="AEN875"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN843"
+NAME="AEN878"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN844"
+NAME="AEN879"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN851"
+NAME="AEN886"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcCache routines"
-HREF="x102.html#AEN4145"><LINK
+HREF="x103.html#AEN4367"><LINK
REL="PREVIOUS"
TITLE="FcCacheNumFont"
HREF="fccachenumfont.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4259"
+NAME="AEN4481"
></A
><H2
>Name</H2
->FcDirCacheClean -- This tries to clean up the cache directory of <TT
-CLASS="PARAMETER"
-><I
->cache_dir</I
-></TT
->.
-This returns FcTrue if the operation is successfully complete. otherwise FcFalse.</DIV
+>FcDirCacheClean -- Clean up a cache directory</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4263"
+NAME="AEN4484"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4264"
+NAME="AEN4485"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4273"
+NAME="AEN4494"
></A
><H2
>Description</H2
><P
-> </P
+>This tries to clean up the cache directory of <TT
+CLASS="PARAMETER"
+><I
+>cache_dir</I
+></TT
+>.
+This returns FcTrue if the operation is successfully complete. otherwise FcFalse.
+ </P
></DIV
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4276"
+NAME="AEN4498"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4145"
+HREF="x103.html#AEN4367"
ACCESSKEY="U"
>Up</A
></TD
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcDirCacheCreateUUID</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcCache routines"
+HREF="x103.html#AEN4367"><LINK
+REL="PREVIOUS"
+TITLE="FcCacheCreateTagFile"
+HREF="fccachecreatetagfile.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fccachecreatetagfile.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+> </TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCDIRCACHECREATEUUID"
+></A
+>FcDirCacheCreateUUID</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN4529"
+></A
+><H2
+>Name</H2
+>FcDirCacheCreateUUID -- Create .uuid file at a directory</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN4532"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN4533"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include <fontconfig/fontconfig.h>
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcBool <TT
+CLASS="FUNCTION"
+>FcDirCacheCreateUUID</TT
+></CODE
+>(FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>, FcBool<TT
+CLASS="PARAMETER"
+><I
+>force</I
+></TT
+>, FcConfig<TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4544"
+></A
+><H2
+>Description</H2
+><P
+>This is to create .uuid file containing an UUID at a font directory of
+<TT
+CLASS="PARAMETER"
+><I
+>dir</I
+></TT
+>.
+The UUID will be used to identify the font directory and is used to determine
+the cache filename if available.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN4548"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.92</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fccachecreatetagfile.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcCacheCreateTagFile</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN4367"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+> </TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcDirCacheValid"
HREF="fcdircachevalid.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4032"
+NAME="AEN4254"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4035"
+NAME="AEN4257"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4036"
+NAME="AEN4258"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4047"
+NAME="AEN4269"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcDirCacheRead"
HREF="fcdircacheread.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4107"
+NAME="AEN4329"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4110"
+NAME="AEN4332"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4111"
+NAME="AEN4333"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4120"
+NAME="AEN4342"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcDirCacheRescan"
HREF="fcdircacherescan.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4082"
+NAME="AEN4304"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4085"
+NAME="AEN4307"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4086"
+NAME="AEN4308"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4097"
+NAME="AEN4319"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcDirCacheLoad"
HREF="fcdircacheload.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4057"
+NAME="AEN4279"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4060"
+NAME="AEN4282"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4061"
+NAME="AEN4283"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4070"
+NAME="AEN4292"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4074"
+NAME="AEN4296"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcDirSave"
HREF="fcdirsave.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3988"
+NAME="AEN4210"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3992"
+NAME="AEN4214"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3993"
+NAME="AEN4215"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4002"
+NAME="AEN4224"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcDirCacheLoadFile"
HREF="fcdircacheloadfile.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4130"
+NAME="AEN4352"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4133"
+NAME="AEN4355"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4134"
+NAME="AEN4356"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4141"
+NAME="AEN4363"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcDirCacheUnlink"
HREF="fcdircacheunlink.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4012"
+NAME="AEN4234"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4015"
+NAME="AEN4237"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4016"
+NAME="AEN4238"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4023"
+NAME="AEN4245"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcDirScan"
HREF="fcdirscan.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3962"
+NAME="AEN4184"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3965"
+NAME="AEN4187"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3966"
+NAME="AEN4188"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3977"
+NAME="AEN4199"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcFileIsDir"
HREF="fcfileisdir.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3929"
+NAME="AEN4151"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3932"
+NAME="AEN4154"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3933"
+NAME="AEN4155"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3950"
+NAME="AEN4172"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FcFileScan"
HREF="fcfilescan.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3909"
+NAME="AEN4131"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3912"
+NAME="AEN4134"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3913"
+NAME="AEN4135"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3920"
+NAME="AEN4142"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="File and Directory routines"
-HREF="x102.html#AEN3867"><LINK
+HREF="x103.html#AEN4089"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcFileIsDir"
HREF="fcfileisdir.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3875"
+NAME="AEN4097"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3878"
+NAME="AEN4100"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3879"
+NAME="AEN4101"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3896"
+NAME="AEN4118"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3867"
+HREF="x103.html#AEN4089"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
REL="PREVIOUS"
TITLE="FcInit"
HREF="fcinit.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN170"
+NAME="AEN171"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN173"
+NAME="AEN174"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN174"
+NAME="AEN175"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN181"
+NAME="AEN182"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcFontRenderPrepare"
HREF="fcfontrenderprepare.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3308"
+NAME="AEN3377"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3311"
+NAME="AEN3380"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3312"
+NAME="AEN3381"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3323"
+NAME="AEN3392"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcConfigSubstitute"
HREF="fcconfigsubstitute.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3212"
+NAME="AEN3281"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3215"
+NAME="AEN3284"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3216"
+NAME="AEN3285"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3227"
+NAME="AEN3296"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcFontSort"
HREF="fcfontsort.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3279"
+NAME="AEN3348"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3282"
+NAME="AEN3351"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3283"
+NAME="AEN3352"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3294"
+NAME="AEN3363"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
REL="PREVIOUS"
TITLE="FcFontSetDestroy"
HREF="fcfontsetdestroy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1077"
+NAME="AEN1112"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1080"
+NAME="AEN1115"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1081"
+NAME="AEN1116"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1090"
+NAME="AEN1125"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcFontSetDestroy"
HREF="fcfontsetdestroy.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1039"
+NAME="AEN1074"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1042"
+NAME="AEN1077"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1043"
+NAME="AEN1078"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1050"
+NAME="AEN1085"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
REL="PREVIOUS"
TITLE="FcFontSetCreate"
HREF="fcfontsetcreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1058"
+NAME="AEN1093"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1061"
+NAME="AEN1096"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1062"
+NAME="AEN1097"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1069"
+NAME="AEN1104"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
REL="PREVIOUS"
TITLE="FcFontSetAdd"
HREF="fcfontsetadd.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1098"
+NAME="AEN1133"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1101"
+NAME="AEN1136"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1102"
+NAME="AEN1137"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1117"
+NAME="AEN1152"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
REL="PREVIOUS"
TITLE="FcFontSetList"
HREF="fcfontsetlist.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1129"
+NAME="AEN1164"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1132"
+NAME="AEN1167"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1133"
+NAME="AEN1168"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1148"
+NAME="AEN1183"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
REL="PREVIOUS"
TITLE="FcFontSetMatch"
HREF="fcfontsetmatch.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1163"
+NAME="AEN1198"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1166"
+NAME="AEN1201"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1167"
+NAME="AEN1202"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1174"
+NAME="AEN1209"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
REL="PREVIOUS"
TITLE="FcFontSetPrint"
HREF="fcfontsetprint.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1183"
+NAME="AEN1218"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1186"
+NAME="AEN1221"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1187"
+NAME="AEN1222"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1206"
+NAME="AEN1241"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcFontSet"
-HREF="x102.html#AEN1031"><LINK
+HREF="x103.html#AEN1066"><LINK
REL="PREVIOUS"
TITLE="FcFontSetSort"
HREF="fcfontsetsort.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1224"
+NAME="AEN1259"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1227"
+NAME="AEN1262"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1228"
+NAME="AEN1263"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1235"
+NAME="AEN1270"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1031"
+HREF="x103.html#AEN1066"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConfig"
-HREF="x102.html#AEN2718"><LINK
+HREF="x103.html#AEN2788"><LINK
REL="PREVIOUS"
TITLE="FcFontMatch"
HREF="fcfontmatch.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3242"
+NAME="AEN3311"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3245"
+NAME="AEN3314"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3246"
+NAME="AEN3315"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3261"
+NAME="AEN3330"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2718"
+HREF="x103.html#AEN2788"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcFreeTypeCharSet"
HREF="fcfreetypecharset.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1352"
+NAME="AEN1387"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1355"
+NAME="AEN1390"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1356"
+NAME="AEN1391"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1365"
+NAME="AEN1400"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
REL="PREVIOUS"
TITLE="FcFreeTypeCharIndex"
HREF="fcfreetypecharindex.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1373"
+NAME="AEN1408"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1376"
+NAME="AEN1411"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1377"
+NAME="AEN1412"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1386"
+NAME="AEN1421"
></A
><H2
>Description</H2
><P
->Scans a FreeType face and returns the set of encoded Unicode chars. This scans
-several encoding tables to build as complete a list as possible.
-If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
-not in 'blanks' are not placed in the returned FcCharSet.
+>Scans a FreeType face and returns the set of encoded Unicode chars.
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
</P
></DIV
><DIV
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
REL="PREVIOUS"
TITLE="FcFreeTypeCharSet"
HREF="fcfreetypecharset.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1394"
+NAME="AEN1430"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1397"
+NAME="AEN1433"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1398"
+NAME="AEN1434"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1409"
+NAME="AEN1445"
></A
><H2
>Description</H2
><P
>Scans a FreeType face and returns the set of encoded Unicode chars.
-This scans
-several encoding tables to build as complete a list as possible.
-If 'blanks' is not 0, the glyphs in the font are examined and any blank glyphs
-not in 'blanks' are not placed in the returned FcCharSet.
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
<TT
CLASS="PARAMETER"
><I
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
REL="PREVIOUS"
TITLE="FcFreeTypeCharSetAndSpacing"
HREF="fcfreetypecharsetandspacing.html"><LINK
REL="NEXT"
-TITLE="FcFreeTypeQueryFace"
-HREF="fcfreetypequeryface.html"></HEAD
+TITLE="FcFreeTypeQueryAll"
+HREF="fcfreetypequeryall.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
ALIGN="right"
VALIGN="bottom"
><A
-HREF="fcfreetypequeryface.html"
+HREF="fcfreetypequeryall.html"
ACCESSKEY="N"
>Next >>></A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1418"
+NAME="AEN1455"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1421"
+NAME="AEN1458"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1422"
+NAME="AEN1459"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1435"
+NAME="AEN1472"
></A
><H2
>Description</H2
><P
->Constructs a pattern representing the 'id'th font in 'file'. The number
-of fonts in 'file' is returned in 'count'.
+>Constructs a pattern representing the 'id'th face in 'file'. The number
+of faces in 'file' is returned in 'count'.
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
</P
></DIV
><DIV
ALIGN="right"
VALIGN="top"
><A
-HREF="fcfreetypequeryface.html"
+HREF="fcfreetypequeryall.html"
ACCESSKEY="N"
>Next >>></A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
ACCESSKEY="U"
>Up</A
></TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
->FcFreeTypeQueryFace</TD
+>FcFreeTypeQueryAll</TD
></TR
></TABLE
></DIV
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcFreeTypeQueryAll</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FreeType specific functions"
+HREF="x103.html#AEN1379"><LINK
+REL="PREVIOUS"
+TITLE="FcFreeTypeQuery"
+HREF="fcfreetypequery.html"><LINK
+REL="NEXT"
+TITLE="FcFreeTypeQueryFace"
+HREF="fcfreetypequeryface.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcfreetypequery.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcfreetypequeryface.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCFREETYPEQUERYALL"
+></A
+>FcFreeTypeQueryAll</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1481"
+></A
+><H2
+>Name</H2
+>FcFreeTypeQueryAll -- compute all patterns from font file (and index)</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1484"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN1485"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include <fontconfig.h>
+#include <fcfreetype.h>
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>unsigned int <TT
+CLASS="FUNCTION"
+>FcFreeTypeQueryAll</TT
+></CODE
+>(const FcChar8 *<TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>id</I
+></TT
+>, FcBlanks *<TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+>, int *<TT
+CLASS="PARAMETER"
+><I
+>count</I
+></TT
+>, FcFontSet *<TT
+CLASS="PARAMETER"
+><I
+>set</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1500"
+></A
+><H2
+>Description</H2
+><P
+>Constructs patterns found in 'file'.
+If id is -1, then all patterns found in 'file' are added to 'set'.
+Otherwise, this function works exactly like FcFreeTypeQuery().
+The number of faces in 'file' is returned in 'count'.
+The number of patterns added to 'set' is returned.
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1504"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.91</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcfreetypequery.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcfreetypequeryface.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcFreeTypeQuery</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN1379"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcFreeTypeQueryFace</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
HREF="t1.html"><LINK
REL="UP"
TITLE="FreeType specific functions"
-HREF="x102.html#AEN1344"><LINK
+HREF="x103.html#AEN1379"><LINK
REL="PREVIOUS"
-TITLE="FcFreeTypeQuery"
-HREF="fcfreetypequery.html"></HEAD
+TITLE="FcFreeTypeQueryAll"
+HREF="fcfreetypequeryall.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
ALIGN="left"
VALIGN="bottom"
><A
-HREF="fcfreetypequery.html"
+HREF="fcfreetypequeryall.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1443"
+NAME="AEN1512"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1446"
+NAME="AEN1515"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1447"
+NAME="AEN1516"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1460"
+NAME="AEN1529"
></A
><H2
>Description</H2
><P
>Constructs a pattern representing 'face'. 'file' and 'id' are used solely as
data for pattern elements (FC_FILE, FC_INDEX and sometimes FC_FAMILY).
+FcBlanks is deprecated, <TT
+CLASS="PARAMETER"
+><I
+>blanks</I
+></TT
+> is ignored and
+accepted only for compatibility with older code.
</P
></DIV
><DIV
ALIGN="left"
VALIGN="top"
><A
-HREF="fcfreetypequery.html"
+HREF="fcfreetypequeryall.html"
ACCESSKEY="P"
><<< Previous</A
></TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
->FcFreeTypeQuery</TD
+>FcFreeTypeQueryAll</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1344"
+HREF="x103.html#AEN1379"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetHasLang"
HREF="fclangsethaslang.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2312"
+NAME="AEN2382"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2315"
+NAME="AEN2385"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2316"
+NAME="AEN2386"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2323"
+NAME="AEN2393"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2326"
+NAME="AEN2396"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetGetLangs"
HREF="fclangsetgetlangs.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2354"
+NAME="AEN2424"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2357"
+NAME="AEN2427"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2358"
+NAME="AEN2428"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2365"
+NAME="AEN2435"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
REL="PREVIOUS"
TITLE="FcFini"
HREF="fcfini.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN189"
+NAME="AEN190"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN192"
+NAME="AEN193"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN193"
+NAME="AEN194"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN200"
+NAME="AEN201"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
REL="PREVIOUS"
TITLE="FcInitLoadConfigAndFonts"
HREF="fcinitloadconfigandfonts.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN151"
+NAME="AEN152"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN154"
+NAME="AEN155"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN155"
+NAME="AEN156"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN162"
+NAME="AEN163"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
REL="PREVIOUS"
TITLE="FcInitReinitialize"
HREF="fcinitreinitialize.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN227"
+NAME="AEN228"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN230"
+NAME="AEN231"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN231"
+NAME="AEN232"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN238"
+NAME="AEN239"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcInitLoadConfigAndFonts"
HREF="fcinitloadconfigandfonts.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN113"
+NAME="AEN114"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN116"
+NAME="AEN117"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN117"
+NAME="AEN118"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN124"
+NAME="AEN125"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
REL="PREVIOUS"
TITLE="FcInitLoadConfig"
HREF="fcinitloadconfig.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN132"
+NAME="AEN133"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN135"
+NAME="AEN136"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN136"
+NAME="AEN137"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN143"
+NAME="AEN144"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="Initialization"
-HREF="x102.html#AEN105"><LINK
+HREF="x103.html#AEN106"><LINK
REL="PREVIOUS"
TITLE="FcGetVersion"
HREF="fcgetversion.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN208"
+NAME="AEN209"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN211"
+NAME="AEN212"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN212"
+NAME="AEN213"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN219"
+NAME="AEN220"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN105"
+HREF="x103.html#AEN106"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcUtf16Len"
HREF="fcutf16len.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4696"
+NAME="AEN4945"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4699"
+NAME="AEN4948"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4700"
+NAME="AEN4949"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4707"
+NAME="AEN4956"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcIsLower"
HREF="fcislower.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4716"
+NAME="AEN4965"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4719"
+NAME="AEN4968"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4720"
+NAME="AEN4969"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4727"
+NAME="AEN4976"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangNormalize"
HREF="fclangnormalize.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2396"
+NAME="AEN2466"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2399"
+NAME="AEN2469"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2400"
+NAME="AEN2470"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2407"
+NAME="AEN2477"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcGetLangs"
HREF="fcgetlangs.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2373"
+NAME="AEN2443"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2376"
+NAME="AEN2446"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2377"
+NAME="AEN2447"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2384"
+NAME="AEN2454"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2388"
+NAME="AEN2458"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetCopy"
HREF="fclangsetcopy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2085"
+NAME="AEN2155"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2088"
+NAME="AEN2158"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2089"
+NAME="AEN2159"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2098"
+NAME="AEN2168"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetSubtract"
HREF="fclangsetsubtract.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2188"
+NAME="AEN2258"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2191"
+NAME="AEN2261"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2192"
+NAME="AEN2262"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2201"
+NAME="AEN2271"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetCompare"
HREF="fclangsetcompare.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2212"
+NAME="AEN2282"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2215"
+NAME="AEN2285"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2216"
+NAME="AEN2286"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2225"
+NAME="AEN2295"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetDestroy"
HREF="fclangsetdestroy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2064"
+NAME="AEN2134"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2067"
+NAME="AEN2137"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2068"
+NAME="AEN2138"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2075"
+NAME="AEN2145"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcLangSetDestroy"
HREF="fclangsetdestroy.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2024"
+NAME="AEN2094"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2027"
+NAME="AEN2097"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2028"
+NAME="AEN2098"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2035"
+NAME="AEN2105"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetAdd"
HREF="fclangsetadd.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2109"
+NAME="AEN2179"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2112"
+NAME="AEN2182"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2113"
+NAME="AEN2183"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2122"
+NAME="AEN2192"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2128"
+NAME="AEN2198"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetCreate"
HREF="fclangsetcreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2044"
+NAME="AEN2114"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2047"
+NAME="AEN2117"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2048"
+NAME="AEN2118"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2055"
+NAME="AEN2125"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetContains"
HREF="fclangsetcontains.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2240"
+NAME="AEN2310"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2243"
+NAME="AEN2313"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2244"
+NAME="AEN2314"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2253"
+NAME="AEN2323"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcGetDefaultLangs"
HREF="fcgetdefaultlangs.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2334"
+NAME="AEN2404"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2337"
+NAME="AEN2407"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2338"
+NAME="AEN2408"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2345"
+NAME="AEN2415"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetEqual"
HREF="fclangsetequal.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2263"
+NAME="AEN2333"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2266"
+NAME="AEN2336"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2267"
+NAME="AEN2337"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2274"
+NAME="AEN2344"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetHash"
HREF="fclangsethash.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2285"
+NAME="AEN2355"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2288"
+NAME="AEN2358"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2289"
+NAME="AEN2359"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2298"
+NAME="AEN2368"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetUnion"
HREF="fclangsetunion.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2162"
+NAME="AEN2232"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2165"
+NAME="AEN2235"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2166"
+NAME="AEN2236"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2175"
+NAME="AEN2245"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2180"
+NAME="AEN2250"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcLangSet"
-HREF="x102.html#AEN2016"><LINK
+HREF="x103.html#AEN2086"><LINK
REL="PREVIOUS"
TITLE="FcLangSetDel"
HREF="fclangsetdel.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2136"
+NAME="AEN2206"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2139"
+NAME="AEN2209"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2140"
+NAME="AEN2210"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2149"
+NAME="AEN2219"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2154"
+NAME="AEN2224"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2016"
+HREF="x103.html#AEN2086"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
REL="PREVIOUS"
TITLE="FcMatrixInit"
HREF="fcmatrixinit.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2439"
+NAME="AEN2509"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2442"
+NAME="AEN2512"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2443"
+NAME="AEN2513"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2450"
+NAME="AEN2520"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
REL="PREVIOUS"
TITLE="FcMatrixCopy"
HREF="fcmatrixcopy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2460"
+NAME="AEN2530"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2463"
+NAME="AEN2533"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2464"
+NAME="AEN2534"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2473"
+NAME="AEN2543"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcMatrixCopy"
HREF="fcmatrixcopy.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2418"
+NAME="AEN2488"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2421"
+NAME="AEN2491"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2422"
+NAME="AEN2492"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2429"
+NAME="AEN2499"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
REL="PREVIOUS"
TITLE="FcMatrixEqual"
HREF="fcmatrixequal.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2484"
+NAME="AEN2554"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2487"
+NAME="AEN2557"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2488"
+NAME="AEN2558"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2499"
+NAME="AEN2569"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
REL="PREVIOUS"
TITLE="FcMatrixMultiply"
HREF="fcmatrixmultiply.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2511"
+NAME="AEN2581"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2514"
+NAME="AEN2584"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2515"
+NAME="AEN2585"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2526"
+NAME="AEN2596"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
REL="PREVIOUS"
TITLE="FcMatrixRotate"
HREF="fcmatrixrotate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2539"
+NAME="AEN2609"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2542"
+NAME="AEN2612"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2543"
+NAME="AEN2613"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2554"
+NAME="AEN2624"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcMatrix"
-HREF="x102.html#AEN2410"><LINK
+HREF="x103.html#AEN2480"><LINK
REL="PREVIOUS"
TITLE="FcMatrixScale"
HREF="fcmatrixscale.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2567"
+NAME="AEN2637"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2570"
+NAME="AEN2640"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2571"
+NAME="AEN2641"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2582"
+NAME="AEN2652"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2410"
+HREF="x103.html#AEN2480"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConstant"
-HREF="x102.html#AEN3485"><LINK
+HREF="x103.html#AEN3658"><LINK
REL="PREVIOUS"
TITLE="FcNameGetConstant"
HREF="fcnamegetconstant.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3555"
+NAME="AEN3728"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3558"
+NAME="AEN3731"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3559"
+NAME="AEN3732"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3568"
+NAME="AEN3741"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3485"
+HREF="x103.html#AEN3658"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConstant"
-HREF="x102.html#AEN3485"><LINK
+HREF="x103.html#AEN3658"><LINK
REL="PREVIOUS"
TITLE="FcNameUnregisterConstants"
HREF="fcnameunregisterconstants.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3535"
+NAME="AEN3708"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3538"
+NAME="AEN3711"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3539"
+NAME="AEN3712"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3546"
+NAME="AEN3719"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3485"
+HREF="x103.html#AEN3658"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcObjectType"
-HREF="x102.html#AEN3420"><LINK
+HREF="x103.html#AEN3593"><LINK
REL="PREVIOUS"
TITLE="FcNameUnregisterObjectTypes"
HREF="fcnameunregisterobjecttypes.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3470"
+NAME="AEN3643"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3473"
+NAME="AEN3646"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3474"
+NAME="AEN3647"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3481"
+NAME="AEN3654"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3420"
+HREF="x103.html#AEN3593"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcDefaultSubstitute"
HREF="fcdefaultsubstitute.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN866"
+NAME="AEN901"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN869"
+NAME="AEN904"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN870"
+NAME="AEN905"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN877"
+NAME="AEN912"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConstant"
-HREF="x102.html#AEN3485"><LINK
+HREF="x103.html#AEN3658"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcNameUnregisterConstants"
HREF="fcnameunregisterconstants.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3493"
+NAME="AEN3666"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3496"
+NAME="AEN3669"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3497"
+NAME="AEN3670"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3506"
+NAME="AEN3679"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3485"
+HREF="x103.html#AEN3658"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcObjectType"
-HREF="x102.html#AEN3420"><LINK
+HREF="x103.html#AEN3593"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcNameUnregisterObjectTypes"
HREF="fcnameunregisterobjecttypes.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3428"
+NAME="AEN3601"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3431"
+NAME="AEN3604"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3432"
+NAME="AEN3605"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3441"
+NAME="AEN3614"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3420"
+HREF="x103.html#AEN3593"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcNameParse"
HREF="fcnameparse.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN886"
+NAME="AEN921"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN889"
+NAME="AEN924"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN890"
+NAME="AEN925"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN897"
+NAME="AEN932"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcConstant"
-HREF="x102.html#AEN3485"><LINK
+HREF="x103.html#AEN3658"><LINK
REL="PREVIOUS"
TITLE="FcNameRegisterConstants"
HREF="fcnameregisterconstants.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3514"
+NAME="AEN3687"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3517"
+NAME="AEN3690"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3518"
+NAME="AEN3691"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3527"
+NAME="AEN3700"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3485"
+HREF="x103.html#AEN3658"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcObjectType"
-HREF="x102.html#AEN3420"><LINK
+HREF="x103.html#AEN3593"><LINK
REL="PREVIOUS"
TITLE="FcNameRegisterObjectTypes"
HREF="fcnameregisterobjecttypes.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3449"
+NAME="AEN3622"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3452"
+NAME="AEN3625"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3453"
+NAME="AEN3626"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3462"
+NAME="AEN3635"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3420"
+HREF="x103.html#AEN3593"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcObjectSet"
-HREF="x102.html#AEN1242"><LINK
+HREF="x103.html#AEN1277"><LINK
REL="PREVIOUS"
TITLE="FcObjectSetCreate"
HREF="fcobjectsetcreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1269"
+NAME="AEN1304"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1272"
+NAME="AEN1307"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1273"
+NAME="AEN1308"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1282"
+NAME="AEN1317"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1242"
+HREF="x103.html#AEN1277"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcObjectSet"
-HREF="x102.html#AEN1242"><LINK
+HREF="x103.html#AEN1277"><LINK
REL="PREVIOUS"
TITLE="FcObjectSetDestroy"
HREF="fcobjectsetdestroy.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1309"
+NAME="AEN1344"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1314"
+NAME="AEN1349"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1315"
+NAME="AEN1350"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1340"
+NAME="AEN1375"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1242"
+HREF="x103.html#AEN1277"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcObjectSet"
-HREF="x102.html#AEN1242"><LINK
+HREF="x103.html#AEN1277"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcObjectSetAdd"
HREF="fcobjectsetadd.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1250"
+NAME="AEN1285"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1253"
+NAME="AEN1288"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1254"
+NAME="AEN1289"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1261"
+NAME="AEN1296"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1242"
+HREF="x103.html#AEN1277"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcObjectSet"
-HREF="x102.html#AEN1242"><LINK
+HREF="x103.html#AEN1277"><LINK
REL="PREVIOUS"
TITLE="FcObjectSetAdd"
HREF="fcobjectsetadd.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1290"
+NAME="AEN1325"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1293"
+NAME="AEN1328"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1294"
+NAME="AEN1329"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1301"
+NAME="AEN1336"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1242"
+HREF="x103.html#AEN1277"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternAddWeak"
HREF="fcpatternaddweak.html"><LINK
REL="NEXT"
-TITLE="FcPatternGet"
-HREF="fcpatternget.html"></HEAD
+TITLE="FcPatternGetWithBinding"
+HREF="fcpatterngetwithbinding.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
ALIGN="right"
VALIGN="bottom"
><A
-HREF="fcpatternget.html"
+HREF="fcpatterngetwithbinding.html"
ACCESSKEY="N"
>Next >>></A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN473"
+NAME="AEN474"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN484"
+NAME="AEN485"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN485"
+NAME="AEN486"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN568"
+NAME="AEN569"
></A
><H2
>Description</H2
ALIGN="right"
VALIGN="top"
><A
-HREF="fcpatternget.html"
+HREF="fcpatterngetwithbinding.html"
ACCESSKEY="N"
>Next >>></A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
->FcPatternGet</TD
+>FcPatternGetWithBinding</TD
></TR
></TABLE
></DIV
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternHash"
HREF="fcpatternhash.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN420"
+NAME="AEN421"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN423"
+NAME="AEN424"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN424"
+NAME="AEN425"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN437"
+NAME="AEN438"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternAdd"
HREF="fcpatternadd.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN446"
+NAME="AEN447"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN449"
+NAME="AEN450"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN450"
+NAME="AEN451"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN463"
+NAME="AEN464"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternGet-Type"
HREF="fcpatternget-type.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN727"
+NAME="AEN762"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN732"
+NAME="AEN767"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN733"
+NAME="AEN768"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN758"
+NAME="AEN793"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcPatternDuplicate"
HREF="fcpatternduplicate.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN249"
+NAME="AEN250"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN252"
+NAME="AEN253"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN253"
+NAME="AEN254"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN260"
+NAME="AEN261"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternBuild"
HREF="fcpatternbuild.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN777"
+NAME="AEN812"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN780"
+NAME="AEN815"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN781"
+NAME="AEN816"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN790"
+NAME="AEN825"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternReference"
HREF="fcpatternreference.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN308"
+NAME="AEN309"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN311"
+NAME="AEN312"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN312"
+NAME="AEN313"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN319"
+NAME="AEN320"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternCreate"
HREF="fcpatterncreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN268"
+NAME="AEN269"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN271"
+NAME="AEN272"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN272"
+NAME="AEN273"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN279"
+NAME="AEN280"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternDestroy"
HREF="fcpatterndestroy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN327"
+NAME="AEN328"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN330"
+NAME="AEN331"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN331"
+NAME="AEN332"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN340"
+NAME="AEN341"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternEqual"
HREF="fcpatternequal.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN350"
+NAME="AEN351"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN353"
+NAME="AEN354"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN354"
+NAME="AEN355"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN365"
+NAME="AEN366"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternEqualSubset"
HREF="fcpatternequalsubset.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN376"
+NAME="AEN377"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN379"
+NAME="AEN380"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN380"
+NAME="AEN381"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN389"
+NAME="AEN390"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcNameUnparse"
HREF="fcnameunparse.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN905"
+NAME="AEN940"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN908"
+NAME="AEN943"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN909"
+NAME="AEN944"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN918"
+NAME="AEN953"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1028"
+NAME="AEN1063"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternGet"
HREF="fcpatternget.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN605"
+NAME="AEN640"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN616"
+NAME="AEN651"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN617"
+NAME="AEN652"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN718"
+NAME="AEN753"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
-TITLE="FcPatternAdd-Type"
-HREF="fcpatternadd-type.html"><LINK
+TITLE="FcPatternGetWithBinding"
+HREF="fcpatterngetwithbinding.html"><LINK
REL="NEXT"
TITLE="FcPatternGet-Type"
HREF="fcpatternget-type.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="fcpatternadd-type.html"
+HREF="fcpatterngetwithbinding.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN577"
+NAME="AEN612"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN580"
+NAME="AEN615"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN581"
+NAME="AEN616"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN594"
+NAME="AEN629"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="fcpatternadd-type.html"
+HREF="fcpatterngetwithbinding.html"
ACCESSKEY="P"
><<< Previous</A
></TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
->FcPatternAdd-Type</TD
+>FcPatternGetWithBinding</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcPatternGetWithBinding</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcPattern"
+HREF="x103.html#AEN242"><LINK
+REL="PREVIOUS"
+TITLE="FcPatternAdd-Type"
+HREF="fcpatternadd-type.html"><LINK
+REL="NEXT"
+TITLE="FcPatternGet"
+HREF="fcpatternget.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcpatternadd-type.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcpatternget.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCPATTERNGETWITHBINDING"
+></A
+>FcPatternGetWithBinding</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN578"
+></A
+><H2
+>Name</H2
+>FcPatternGetWithBinding -- Return a value with binding from a pattern</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN581"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN582"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include <fontconfig/fontconfig.h>
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>FcResult <TT
+CLASS="FUNCTION"
+>FcPatternGetWithBinding</TT
+></CODE
+>(FcPattern *<TT
+CLASS="PARAMETER"
+><I
+>p</I
+></TT
+>, const char *<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>, int <TT
+CLASS="PARAMETER"
+><I
+>id</I
+></TT
+>, FcValue *<TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+>, FcValueBinding *<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN597"
+></A
+><H2
+>Description</H2
+><P
+>Returns in <TT
+CLASS="PARAMETER"
+><I
+>v</I
+></TT
+> the <TT
+CLASS="PARAMETER"
+><I
+>id</I
+></TT
+>'th value
+and <TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+> binding for that associated with the property
+<TT
+CLASS="PARAMETER"
+><I
+>object</I
+></TT
+>.
+The Value returned is not a copy, but rather refers to the data stored
+within the pattern directly. Applications must not free this value.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN604"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.5</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcpatternadd-type.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcpatternget.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcPatternAdd-Type</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN242"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcPatternGet</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternFilter"
HREF="fcpatternfilter.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN401"
+NAME="AEN402"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN404"
+NAME="AEN405"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN405"
+NAME="AEN406"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN412"
+NAME="AEN413"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternRemove"
HREF="fcpatternremove.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN821"
+NAME="AEN856"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN824"
+NAME="AEN859"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN825"
+NAME="AEN860"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN832"
+NAME="AEN867"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternDuplicate"
HREF="fcpatternduplicate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN288"
+NAME="AEN289"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN291"
+NAME="AEN292"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN292"
+NAME="AEN293"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN299"
+NAME="AEN300"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcPattern"
-HREF="x102.html#AEN241"><LINK
+HREF="x103.html#AEN242"><LINK
REL="PREVIOUS"
TITLE="FcPatternDel"
HREF="fcpatterndel.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN798"
+NAME="AEN833"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN801"
+NAME="AEN836"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN802"
+NAME="AEN837"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN813"
+NAME="AEN848"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN241"
+HREF="x103.html#AEN242"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcRangeCreateDouble"
HREF="fcrangecreatedouble.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2598"
+NAME="AEN2668"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2601"
+NAME="AEN2671"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2602"
+NAME="AEN2672"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2609"
+NAME="AEN2679"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2614"
+NAME="AEN2684"
></A
><H2
>Since</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
REL="PREVIOUS"
TITLE="FcRangeCopy"
HREF="fcrangecopy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2622"
+NAME="AEN2692"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2625"
+NAME="AEN2695"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2626"
+NAME="AEN2696"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2635"
+NAME="AEN2705"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2639"
+NAME="AEN2709"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
REL="PREVIOUS"
TITLE="FcRangeCreateDouble"
HREF="fcrangecreatedouble.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2647"
+NAME="AEN2717"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2650"
+NAME="AEN2720"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2651"
+NAME="AEN2721"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2660"
+NAME="AEN2730"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2664"
+NAME="AEN2734"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
REL="PREVIOUS"
TITLE="FcRangeCreateInteger"
HREF="fcrangecreateinteger.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2672"
+NAME="AEN2742"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2675"
+NAME="AEN2745"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2676"
+NAME="AEN2746"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2683"
+NAME="AEN2753"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2687"
+NAME="AEN2757"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcRange"
-HREF="x102.html#AEN2590"><LINK
+HREF="x103.html#AEN2660"><LINK
REL="PREVIOUS"
TITLE="FcRangeDestroy"
HREF="fcrangedestroy.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN2695"
+NAME="AEN2765"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN2698"
+NAME="AEN2768"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN2699"
+NAME="AEN2769"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2710"
+NAME="AEN2780"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN2715"
+NAME="AEN2785"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN2590"
+HREF="x103.html#AEN2660"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrDirname"
HREF="fcstrdirname.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4977"
+NAME="AEN5226"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4980"
+NAME="AEN5229"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4981"
+NAME="AEN5230"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4988"
+NAME="AEN5237"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrCopyFilename"
HREF="fcstrcopyfilename.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4819"
+NAME="AEN5068"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4822"
+NAME="AEN5071"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4823"
+NAME="AEN5072"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4832"
+NAME="AEN5081"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrCmp"
HREF="fcstrcmp.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4842"
+NAME="AEN5091"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4845"
+NAME="AEN5094"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4846"
+NAME="AEN5095"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4855"
+NAME="AEN5104"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcToLower"
HREF="fctolower.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4756"
+NAME="AEN5005"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4759"
+NAME="AEN5008"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4760"
+NAME="AEN5009"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4767"
+NAME="AEN5016"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrDowncase"
HREF="fcstrdowncase.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4797"
+NAME="AEN5046"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4800"
+NAME="AEN5049"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4801"
+NAME="AEN5050"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4808"
+NAME="AEN5057"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrFree"
HREF="fcstrfree.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4957"
+NAME="AEN5206"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4960"
+NAME="AEN5209"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4961"
+NAME="AEN5210"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4968"
+NAME="AEN5217"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrCopy"
HREF="fcstrcopy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4777"
+NAME="AEN5026"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4780"
+NAME="AEN5029"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4781"
+NAME="AEN5030"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4788"
+NAME="AEN5037"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrPlus"
HREF="fcstrplus.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4938"
+NAME="AEN5187"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4941"
+NAME="AEN5190"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4942"
+NAME="AEN5191"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4949"
+NAME="AEN5198"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrSetDestroy"
HREF="fcstrsetdestroy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4465"
+NAME="AEN4714"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4468"
+NAME="AEN4717"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4469"
+NAME="AEN4718"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4476"
+NAME="AEN4725"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrListNext"
HREF="fcstrlistnext.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4528"
+NAME="AEN4777"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4531"
+NAME="AEN4780"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4532"
+NAME="AEN4781"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4539"
+NAME="AEN4788"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrListCreate"
HREF="fcstrlistcreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4485"
+NAME="AEN4734"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4488"
+NAME="AEN4737"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4489"
+NAME="AEN4738"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4496"
+NAME="AEN4745"
></A
><H2
>Description</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4500"
+NAME="AEN4749"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrListFirst"
HREF="fcstrlistfirst.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4508"
+NAME="AEN4757"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4511"
+NAME="AEN4760"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4512"
+NAME="AEN4761"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4519"
+NAME="AEN4768"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrStrIgnoreCase"
HREF="fcstrstrignorecase.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4915"
+NAME="AEN5164"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4918"
+NAME="AEN5167"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4919"
+NAME="AEN5168"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4928"
+NAME="AEN5177"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrSetEqual"
HREF="fcstrsetequal.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4375"
+NAME="AEN4624"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4378"
+NAME="AEN4627"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4379"
+NAME="AEN4628"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4388"
+NAME="AEN4637"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrSetAdd"
HREF="fcstrsetadd.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4398"
+NAME="AEN4647"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4401"
+NAME="AEN4650"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4402"
+NAME="AEN4651"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4411"
+NAME="AEN4660"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcStrSetMember"
HREF="fcstrsetmember.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4310"
+NAME="AEN4559"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4313"
+NAME="AEN4562"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4314"
+NAME="AEN4563"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4321"
+NAME="AEN4570"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrSetAddFilename"
HREF="fcstrsetaddfilename.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4421"
+NAME="AEN4670"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4424"
+NAME="AEN4673"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4425"
+NAME="AEN4674"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4434"
+NAME="AEN4683"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrSetDel"
HREF="fcstrsetdel.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4445"
+NAME="AEN4694"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4448"
+NAME="AEN4697"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4449"
+NAME="AEN4698"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4456"
+NAME="AEN4705"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrSetMember"
HREF="fcstrsetmember.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4352"
+NAME="AEN4601"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4355"
+NAME="AEN4604"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4356"
+NAME="AEN4605"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4365"
+NAME="AEN4614"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcStrSet and FcStrList"
-HREF="x102.html#AEN4302"><LINK
+HREF="x103.html#AEN4551"><LINK
REL="PREVIOUS"
TITLE="FcStrSetCreate"
HREF="fcstrsetcreate.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4329"
+NAME="AEN4578"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4332"
+NAME="AEN4581"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4333"
+NAME="AEN4582"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4342"
+NAME="AEN4591"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4302"
+HREF="x103.html#AEN4551"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrCmpIgnoreCase"
HREF="fcstrcmpignorecase.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4865"
+NAME="AEN5114"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4868"
+NAME="AEN5117"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4869"
+NAME="AEN5118"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4878"
+NAME="AEN5127"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcStrStr"
HREF="fcstrstr.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4890"
+NAME="AEN5139"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4893"
+NAME="AEN5142"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4894"
+NAME="AEN5143"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4903"
+NAME="AEN5152"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcIsUpper"
HREF="fcisupper.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4736"
+NAME="AEN4985"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4739"
+NAME="AEN4988"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4740"
+NAME="AEN4989"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4747"
+NAME="AEN4996"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcUtf8ToUcs4"
HREF="fcutf8toucs4.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4578"
+NAME="AEN4827"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4581"
+NAME="AEN4830"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4582"
+NAME="AEN4831"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4591"
+NAME="AEN4840"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcUtf16ToUcs4"
HREF="fcutf16toucs4.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4662"
+NAME="AEN4911"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4665"
+NAME="AEN4914"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4666"
+NAME="AEN4915"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4681"
+NAME="AEN4930"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcUtf8Len"
HREF="fcutf8len.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4631"
+NAME="AEN4880"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4634"
+NAME="AEN4883"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4635"
+NAME="AEN4884"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4648"
+NAME="AEN4897"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FcUcs4ToUtf8"
HREF="fcucs4toutf8.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4601"
+NAME="AEN4850"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4604"
+NAME="AEN4853"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4605"
+NAME="AEN4854"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4618"
+NAME="AEN4867"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="String utilities"
-HREF="x102.html#AEN4543"><LINK
+HREF="x103.html#AEN4792"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcUcs4ToUtf8"
HREF="fcucs4toutf8.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN4551"
+NAME="AEN4800"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN4554"
+NAME="AEN4803"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN4555"
+NAME="AEN4804"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN4566"
+NAME="AEN4815"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN4543"
+HREF="x103.html#AEN4792"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcValue"
-HREF="x102.html#AEN1463"><LINK
+HREF="x103.html#AEN1533"><LINK
REL="PREVIOUS"
TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+HREF="x103.html"><LINK
REL="NEXT"
TITLE="FcValueSave"
HREF="fcvaluesave.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1472"
+NAME="AEN1542"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1475"
+NAME="AEN1545"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1476"
+NAME="AEN1546"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1483"
+NAME="AEN1553"
></A
><H2
>Description</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="P"
><<< Previous</A
></TD
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1463"
+HREF="x103.html#AEN1533"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcValue"
-HREF="x102.html#AEN1463"><LINK
+HREF="x103.html#AEN1533"><LINK
REL="PREVIOUS"
TITLE="FcValuePrint"
HREF="fcvalueprint.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1533"
+NAME="AEN1603"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1536"
+NAME="AEN1606"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1537"
+NAME="AEN1607"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1546"
+NAME="AEN1616"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1463"
+HREF="x103.html#AEN1533"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcValue"
-HREF="x102.html#AEN1463"><LINK
+HREF="x103.html#AEN1533"><LINK
REL="PREVIOUS"
TITLE="FcValueSave"
HREF="fcvaluesave.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1513"
+NAME="AEN1583"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1516"
+NAME="AEN1586"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1517"
+NAME="AEN1587"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1524"
+NAME="AEN1594"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1463"
+HREF="x103.html#AEN1533"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcValue"
-HREF="x102.html#AEN1463"><LINK
+HREF="x103.html#AEN1533"><LINK
REL="PREVIOUS"
TITLE="FcValueDestroy"
HREF="fcvaluedestroy.html"><LINK
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN1492"
+NAME="AEN1562"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN1495"
+NAME="AEN1565"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN1496"
+NAME="AEN1566"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN1503"
+NAME="AEN1573"
></A
><H2
>Description</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN1463"
+HREF="x103.html#AEN1533"
ACCESSKEY="U"
>Up</A
></TD
HREF="t1.html"><LINK
REL="UP"
TITLE="FcWeight"
-HREF="x102.html#AEN3573"><LINK
+HREF="x103.html#AEN3746"><LINK
REL="PREVIOUS"
-TITLE="FUNCTIONS"
-HREF="x102.html"><LINK
+TITLE="FcWeightToOpenTypeDouble"
+HREF="fcweighttoopentypedouble.html"><LINK
REL="NEXT"
TITLE="FcWeightToOpenType"
HREF="fcweighttoopentype.html"></HEAD
ALIGN="left"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="fcweighttoopentypedouble.html"
ACCESSKEY="P"
><<< Previous</A
></TD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3581"
+NAME="AEN3801"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3584"
+NAME="AEN3804"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3585"
+NAME="AEN3805"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3592"
+NAME="AEN3812"
></A
><H2
>Description</H2
><TT
CLASS="FUNCTION"
>FcWeightFromOpenType</TT
-> returns an integer value
-to use with FC_WEIGHT, from an integer in the 1..1000 range, resembling
-the numbers from OpenType specification's OS/2 usWeight numbers, which
-are also similar to CSS font-weight numbers. If input is negative,
-zero, or greater than 1000, returns -1. This function linearly interpolates
-between various FC_WEIGHT_* constants. As such, the returned value does not
-necessarily match any of the predefined constants.
+> is like
+<TT
+CLASS="FUNCTION"
+>FcWeightFromOpenTypeDouble</TT
+> but with integer arguments.
+Use the other function instead.
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3596"
+NAME="AEN3817"
></A
><H2
>Since</H2
ALIGN="left"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="fcweighttoopentypedouble.html"
ACCESSKEY="P"
><<< Previous</A
></TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
->FUNCTIONS</TD
+>FcWeightToOpenTypeDouble</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3573"
+HREF="x103.html#AEN3746"
ACCESSKEY="U"
>Up</A
></TD
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcWeightFromOpenTypeDouble</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcWeight"
+HREF="x103.html#AEN3746"><LINK
+REL="PREVIOUS"
+TITLE="FUNCTIONS"
+HREF="x103.html"><LINK
+REL="NEXT"
+TITLE="FcWeightToOpenTypeDouble"
+HREF="fcweighttoopentypedouble.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x103.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcweighttoopentypedouble.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCWEIGHTFROMOPENTYPEDOUBLE"
+></A
+>FcWeightFromOpenTypeDouble</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3754"
+></A
+><H2
+>Name</H2
+>FcWeightFromOpenTypeDouble -- Convert from OpenType weight values to fontconfig ones</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3757"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3758"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include <fontconfig/fontconfig.h>
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>double <TT
+CLASS="FUNCTION"
+>FcWeightFromOpenTypeDouble</TT
+></CODE
+>(double<TT
+CLASS="PARAMETER"
+><I
+>ot_weight</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3765"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcWeightFromOpenTypeDouble</TT
+> returns an double value
+to use with FC_WEIGHT, from an double in the 1..1000 range, resembling
+the numbers from OpenType specification's OS/2 usWeight numbers, which
+are also similar to CSS font-weight numbers. If input is negative,
+zero, or greater than 1000, returns -1. This function linearly doubleerpolates
+between various FC_WEIGHT_* constants. As such, the returned value does not
+necessarily match any of the predefined constants.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3769"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.92</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x103.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcweighttoopentypedouble.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FUNCTIONS</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN3746"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcWeightToOpenTypeDouble</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
HREF="t1.html"><LINK
REL="UP"
TITLE="FcWeight"
-HREF="x102.html#AEN3573"><LINK
+HREF="x103.html#AEN3746"><LINK
REL="PREVIOUS"
TITLE="FcWeightFromOpenType"
HREF="fcweightfromopentype.html"></HEAD
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3604"
+NAME="AEN3825"
></A
><H2
>Name</H2
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3607"
+NAME="AEN3828"
></A
><H2
>Synopsis</H2
><P
></P
><A
-NAME="AEN3608"
+NAME="AEN3829"
></A
><TABLE
BORDER="0"
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3615"
+NAME="AEN3836"
></A
><H2
>Description</H2
><TT
CLASS="FUNCTION"
>FcWeightToOpenType</TT
-> is the inverse of
+> is like
<TT
CLASS="FUNCTION"
->FcWeightFromOpenType</TT
->. If the input is less than
-FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
-returns a number in the range 1 to 1000.
+>FcWeightToOpenTypeDouble</TT
+> but with integer arguments.
+Use the other function instead.
</P
></DIV
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3620"
+NAME="AEN3841"
></A
><H2
>Since</H2
ALIGN="center"
VALIGN="top"
><A
-HREF="x102.html#AEN3573"
+HREF="x103.html#AEN3746"
ACCESSKEY="U"
>Up</A
></TD
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML
+><HEAD
+><TITLE
+>FcWeightToOpenTypeDouble</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
+REL="HOME"
+HREF="t1.html"><LINK
+REL="UP"
+TITLE="FcWeight"
+HREF="x103.html#AEN3746"><LINK
+REL="PREVIOUS"
+TITLE="FcWeightFromOpenTypeDouble"
+HREF="fcweightfromopentypedouble.html"><LINK
+REL="NEXT"
+TITLE="FcWeightFromOpenType"
+HREF="fcweightfromopentype.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="fcweightfromopentypedouble.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="fcweightfromopentype.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="FCWEIGHTTOOPENTYPEDOUBLE"
+></A
+>FcWeightToOpenTypeDouble</H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN3777"
+></A
+><H2
+>Name</H2
+>FcWeightToOpenTypeDouble -- Convert from fontconfig weight values to OpenType ones</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN3780"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><A
+NAME="AEN3781"
+></A
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include <fontconfig/fontconfig.h>
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>double <TT
+CLASS="FUNCTION"
+>FcWeightToOpenTypeDouble</TT
+></CODE
+>(double<TT
+CLASS="PARAMETER"
+><I
+>ot_weight</I
+></TT
+>);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3788"
+></A
+><H2
+>Description</H2
+><P
+><TT
+CLASS="FUNCTION"
+>FcWeightToOpenTypeDouble</TT
+> is the inverse of
+<TT
+CLASS="FUNCTION"
+>FcWeightFromOpenType</TT
+>. If the input is less than
+FC_WEIGHT_THIN or greater than FC_WEIGHT_EXTRABLACK, returns -1. Otherwise
+returns a number in the range 1 to 1000.
+ </P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN3793"
+></A
+><H2
+>Since</H2
+><P
+>version 2.12.92</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="fcweightfromopentypedouble.html"
+ACCESSKEY="P"
+><<< Previous</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="t1.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="fcweightfromopentype.html"
+ACCESSKEY="N"
+>Next >>></A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>FcWeightFromOpenTypeDouble</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="x103.html#AEN3746"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>FcWeightFromOpenType</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
<HTML
><HEAD
><TITLE
->Fontconfig Developers Reference, Version 2.12.1
+>Fontconfig Developers Reference, Version 2.13.0
</TITLE
><META
NAME="GENERATOR"
CLASS="TITLE"
><A
NAME="AEN1"
->Fontconfig Developers Reference, Version 2.12.1</A
+>Fontconfig Developers Reference, Version 2.13.0</A
></H1
><A
HREF="ln12.html"
></DT
><DT
><A
-HREF="x102.html"
+HREF="x103.html"
>FUNCTIONS</A
></DT
></DL
><H1
CLASS="SECT1"
><A
-NAME="AEN102"
+NAME="AEN103"
>FUNCTIONS</A
></H1
><P
><H2
CLASS="SECT2"
><A
-NAME="AEN105"
+NAME="AEN106"
>Initialization</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN241"
+NAME="AEN242"
>FcPattern</A
></H2
><DIV
> -- Add a typed value to a pattern</DT
><DT
><A
+HREF="fcpatterngetwithbinding.html"
+>FcPatternGetWithBinding</A
+> -- Return a value with binding from a pattern</DT
+><DT
+><A
HREF="fcpatternget.html"
>FcPatternGet</A
> -- Return a value from a pattern</DT
><H2
CLASS="SECT2"
><A
-NAME="AEN1031"
+NAME="AEN1066"
>FcFontSet</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN1242"
+NAME="AEN1277"
>FcObjectSet</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN1344"
+NAME="AEN1379"
>FreeType specific functions</A
></H2
><DIV
> -- compute pattern from font file (and index)</DT
><DT
><A
+HREF="fcfreetypequeryall.html"
+>FcFreeTypeQueryAll</A
+> -- compute all patterns from font file (and index)</DT
+><DT
+><A
HREF="fcfreetypequeryface.html"
>FcFreeTypeQueryFace</A
> -- compute pattern from FT_Face</DT
><H2
CLASS="SECT2"
><A
-NAME="AEN1463"
+NAME="AEN1533"
>FcValue</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN1549"
+NAME="AEN1619"
>FcCharSet</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN2016"
+NAME="AEN2086"
>FcLangSet</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN2410"
+NAME="AEN2480"
>FcMatrix</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN2590"
+NAME="AEN2660"
>FcRange</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN2718"
+NAME="AEN2788"
>FcConfig</A
></H2
><DIV
> -- load a configuration file</DT
><DT
><A
+HREF="fcconfigparseandloadfrommemory.html"
+>FcConfigParseAndLoadFromMemory</A
+> -- load a configuration from memory</DT
+><DT
+><A
HREF="fcconfiggetsysroot.html"
>FcConfigGetSysRoot</A
> -- Obtain the system root directory</DT
HREF="fcconfigsetsysroot.html"
>FcConfigSetSysRoot</A
> -- Set the system root directory</DT
+><DT
+><A
+HREF="fcconfigfileinfoiterinit.html"
+>FcConfigFileInfoIterInit</A
+> -- Initialize the iterator</DT
+><DT
+><A
+HREF="fcconfigfileinfoiternext.html"
+>FcConfigFileInfoIterNext</A
+> -- Set the iterator to point to the next list</DT
+><DT
+><A
+HREF="fcconfigfileinfoiterget.html"
+>FcConfigFileInfoIterGet</A
+> -- Obtain the configuration file information</DT
></DL
></DIV
><P
><H2
CLASS="SECT2"
><A
-NAME="AEN3420"
+NAME="AEN3593"
>FcObjectType</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN3485"
+NAME="AEN3658"
>FcConstant</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN3573"
+NAME="AEN3746"
>FcWeight</A
></H2
><DIV
></DT
><DT
><A
+HREF="fcweightfromopentypedouble.html"
+>FcWeightFromOpenTypeDouble</A
+> -- Convert from OpenType weight values to fontconfig ones</DT
+><DT
+><A
+HREF="fcweighttoopentypedouble.html"
+>FcWeightToOpenTypeDouble</A
+> -- Convert from fontconfig weight values to OpenType ones</DT
+><DT
+><A
HREF="fcweightfromopentype.html"
>FcWeightFromOpenType</A
> -- Convert from OpenType weight values to fontconfig ones</DT
><H2
CLASS="SECT2"
><A
-NAME="AEN3623"
+NAME="AEN3844"
>FcBlanks</A
></H2
><DIV
the FcCharSet associated with the font. This provides a significantly more
accurate CharSet for applications.
</P
+><P
+> FcBlanks is deprecated and should not be used in newly written code.
+ It is still accepted by some functions for compatibility with
+ older code but will be removed in the future.
+ </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
-NAME="AEN3706"
+NAME="AEN3928"
>FcAtomic</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN3867"
+NAME="AEN4089"
>File and Directory routines</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN4145"
+NAME="AEN4367"
>FcCache routines</A
></H2
><DIV
><A
HREF="fcdircacheclean.html"
>FcDirCacheClean</A
-> -- This tries to clean up the cache directory of <TT
-CLASS="PARAMETER"
-><I
->cache_dir</I
-></TT
->.
-This returns FcTrue if the operation is successfully complete. otherwise FcFalse.</DT
+> -- Clean up a cache directory</DT
><DT
><A
HREF="fccachecreatetagfile.html"
>FcCacheCreateTagFile</A
> -- Create CACHEDIR.TAG at cache directory.</DT
+><DT
+><A
+HREF="fcdircachecreateuuid.html"
+>FcDirCacheCreateUUID</A
+> -- Create .uuid file at a directory</DT
></DL
></DIV
><P
><H2
CLASS="SECT2"
><A
-NAME="AEN4302"
+NAME="AEN4551"
>FcStrSet and FcStrList</A
></H2
><DIV
><H2
CLASS="SECT2"
><A
-NAME="AEN4543"
+NAME="AEN4792"
>String utilities</A
></H2
><DIV
HREF="x19.html"><LINK
REL="NEXT"
TITLE="FUNCTIONS"
-HREF="x102.html"></HEAD
+HREF="x103.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
ALIGN="right"
VALIGN="bottom"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="N"
>Next >>></A
></TD
blank chars are assumed to be invalid and are elided from the charset
associated with the font.
</P
+><P
+> FcBlanks is deprecated and should not be used in newly written code.
+ It is still accepted by some functions for compatibility with
+ older code but will be removed in the future.
+ </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
-NAME="AEN83"
+NAME="AEN84"
>FcFileCache</A
></H2
><P
><H2
CLASS="SECT2"
><A
-NAME="AEN86"
+NAME="AEN87"
>FcConfig</A
></H2
><P
><H2
CLASS="SECT2"
><A
-NAME="AEN89"
+NAME="AEN90"
>FcSetName</A
></H2
><P
><H2
CLASS="SECT2"
><A
-NAME="AEN92"
+NAME="AEN93"
>FcResult</A
></H2
><P
><H2
CLASS="SECT2"
><A
-NAME="AEN96"
+NAME="AEN97"
>FcAtomic</A
></H2
><P
><H2
CLASS="SECT2"
><A
-NAME="AEN99"
+NAME="AEN100"
>FcCache</A
></H2
><P
ALIGN="right"
VALIGN="top"
><A
-HREF="x102.html"
+HREF="x103.html"
ACCESSKEY="N"
>Next >>></A
></TD
where <TT
CLASS="LITERAL"
><version></TT
-> is the font configuration file
-version number (currently 5).
+> is the fontconfig cache file
+version number (currently 7).
</P
></DIV
><DIV
><P
><I
CLASS="EMPHASIS"
+>FC_LANG</I
+>
+is used to specify the default language as the weak binding in the query. if this isn't set, the default language will be determined from current locale.
+ </P
+><P
+><I
+CLASS="EMPHASIS"
>FONTCONFIG_USE_MMAP</I
>
is used to control the use of mmap(2) for the cache files if available. this take a boolean value. fontconfig will checks if the cache files are stored on the filesystem that is safe to use mmap(2). explicitly setting this environment variable will causes skipping this check and enforce to use or not use mmap(2) anyway.
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN276"
+NAME="AEN278"
></A
><H2
>See Also</H2
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN279"
+NAME="AEN281"
></A
><H2
>Version</H2
><P
->Fontconfig version 2.12.1
+>Fontconfig version 2.13.0
</P
></DIV
a directory in the users home directory. If 'prefix' is set to "xdg", the value in the XDG_CACHE_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.
The default directory is ``$XDG_CACHE_HOME/fontconfig'' and it contains the cache files
named ``<literal><hash value></literal>-<literal><architecture></literal>.cache-<literal><version></literal>'',
-where <literal><version></literal> is the font configuration file
-version number (currently 5).
+where <literal><version></literal> is the fontconfig cache file
+version number (currently 7).
</para></refsect2>
<refsect2><title><literal><include ignore_missing="no" prefix="default"></literal></title><para>
This element contains the name of an additional configuration file or
is used to filter out the patterns. this takes a comma-separated list of object names and effects only when FC_DEBUG has MATCH2. see <link linkend="debug">Debugging Applications</link> section for more details.
</para>
<para>
+<emphasis>FC_LANG</emphasis>
+is used to specify the default language as the weak binding in the query. if this isn't set, the default language will be determined from current locale.
+ </para>
+ <para>
<emphasis>FONTCONFIG_USE_MMAP</emphasis>
is used to control the use of mmap(2) for the cache files if available. this take a boolean value. fontconfig will checks if the cache files are stored on the filesystem that is safe to use mmap(2). explicitly setting this environment variable will causes skipping this check and enforce to use or not use mmap(2) anyway.
</para>
Specification for more details. The default directory is
``$XDG_CACHE_HOME/fontconfig'' and it contains the cache files
named ``<hash value>-<architecture>.cache-<version>'', where
- <version> is the font configuration file version number
- (currently 5).
+ <version> is the fontconfig cache file version number
+ (currently 7).
<include ignore_missing="no" prefix="default">
when FC_DEBUG has MATCH2. see Debugging Applications section
for more details.
+ FC_LANG is used to specify the default language as the weak
+ binding in the query. if this isn't set, the default language
+ will be determined from current locale.
+
FONTCONFIG_USE_MMAP is used to control the use of mmap(2) for
the cache files if available. this take a boolean value.
fontconfig will checks if the cache files are stored on the
Version
- Fontconfig version 2.12.1
+ Fontconfig version 2.13.0
.\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FONTS-CONF" "5" "05 8月 2016" "" ""
+.TH "FONTS-CONF" "5" "06 3月 2018" "" ""
.SH NAME
fonts.conf \- Font configuration files
.SH SYNOPSIS
a directory in the users home directory. If 'prefix' is set to "xdg", the value in the XDG_CACHE_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.
The default directory is ``$XDG_CACHE_HOME/fontconfig'' and it contains the cache files
named ``<hash value>-<architecture>\&.cache-<version>\&'',
-where <version> is the font configuration file
-version number (currently 5).
+where <version> is the fontconfig cache file
+version number (currently 7).
.SS "<INCLUDE IGNORE_MISSING=""NO"" PREFIX=""DEFAULT"">"
.PP
This element contains the name of an additional configuration file or
\fBFC_DBG_MATCH_FILTER\fR
is used to filter out the patterns. this takes a comma-separated list of object names and effects only when FC_DEBUG has MATCH2. see Debugging Applications section for more details.
.PP
+\fBFC_LANG\fR
+is used to specify the default language as the weak binding in the query. if this isn't set, the default language will be determined from current locale.
+.PP
\fBFONTCONFIG_USE_MMAP\fR
is used to control the use of mmap(2) for the cache files if available. this take a boolean value. fontconfig will checks if the cache files are stored on the filesystem that is safe to use mmap(2). explicitly setting this environment variable will causes skipping this check and enforce to use or not use mmap(2) anyway.
.SH "SEE ALSO"
fc-cat(1), fc-cache(1), fc-list(1), fc-match(1), fc-query(1)
.SH "VERSION"
.PP
-Fontconfig version 2.12.1
+Fontconfig version 2.13.0
+++ /dev/null
-# -*- encoding: utf-8 -*-
-#
-# 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 the author(s) not be used in
-# advertising or publicity pertaining to distribution of the software without
-# 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.
-#
-# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-# EVENT SHALL THE AUTHOR(S) 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.
-
-NULL =
-BLANKSPY = fc-blanks.py
-BLANKS_H = fcblanks.h
-TMPL = fcblanks.tmpl.h
-noinst_SCRIPTS = $(BLANKSPY)
-noinst_HEADERS = $(BLANKS_H)
-
-$(BLANKS_H): $(TMPL) $(BLANKSPY)
-if HAVE_PYTHON
- $(AM_V_GEN) $(PYTHON) $(srcdir)/$(BLANKSPY) < $< > $(BLANKS_H).tmp && \
- mv $(BLANKS_H).tmp $(BLANKS_H) || ($(RM) $(BLANKS_H).tmp && false)
-else
- @echo "No python installed. please install python to build $(BLANKS_H)."
- @false
-endif
-
-EXTRA_DIST = \
- $(BLANKSPY) \
- $(BLANKS_H) \
- $(TMPL) \
- $(NULL)
-DISTCLEANFILES = $(BLANKS_H)
-
--include $(top_srcdir)/git.mk
+++ /dev/null
-#! /usr/bin/python
-
-from __future__ import absolute_import
-from __future__ import print_function
-try:
- from urllib2 import urlopen
- from urllib2 import URLError
-except ImportError:
- from urllib.request import urlopen
- from urllib.error import URLError
-
-import sys
-import os
-from lxml import html
-from six.moves import range
-
-datafile = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'list-unicodeset.html')
-try:
- fp = urlopen('http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[%3AGC%3DZs%3A][%3ADI%3A]&abb=on&ucd=on&esc=on&g')
- data = fp.read()
- fp.close()
- fp = open(datafile, 'wb');
- fp.write(data);
- fp.close();
-except URLError:
- # fall back reading the static data in repo
- try:
- fp = open(datafile)
- data = fp.read()
- fp.close()
- except IOError:
- sys.stderr.write("Error: No static data to generate the blank data. please make sure the network connection is reachable to Unicode.org\n")
- sys.exit(1)
-
-dom = html.fromstring(data)
-x = dom.xpath('/html/body/form/p/text()')
-p = x[1]
-if p[0] == '[' and p[-1] == ']':
- p = p.replace('[', '').replace(']', '')
-else:
- sys.exit(1)
-fescape = False
-funicode = False
-frange = False
-fprocess = False
-v = 0
-vbegin = 0
-vend = 0
-n = 0
-l = []
-
-def insert(db, begin, end):
- db.append([begin, end])
-
-for i in p:
- if i == '\\':
- if n > 0:
- if frange == True and funicode == True:
- vend = v
- insert(l, vbegin, vend)
- fprocess = True
- elif funicode == True:
- vbegin = v
- vend = v
- insert(l, vbegin, vend)
- fprocess = True
- funicode = False
- fescape = True
- elif i.lower() == 'u' and fescape == True:
- funicode = True
- fescape = False
- elif i >= '0' and i <= '9' or i.lower() >= 'a' and i.lower() <= 'f':
- if fescape == True:
- raise RuntimeError("Unexpected escape code")
- if funicode == True:
- v <<= 4
- v += int(i, 16)
- else:
- raise RuntimeError("Unable to parse Unicode")
- elif i == ' ':
- if fescape == True:
- funicode = True
- fescape = False
- v = 0x20
- if frange == True and funicode == True:
- vend = v
- insert(l, vbegin, vend)
- fprocess = True
- elif funicode == True:
- vbegin = v
- vend = v
- insert(l, vbegin, vend)
- fprocess = True
- funicode = False
- frange = False
- elif i == '-':
- if fescape == True:
- raise RuntimeError("Unexpected escape code")
- vbegin = v
- v = 0
- funicode = False
- frange = True
- else:
- raise RuntimeError("Unable to parse Unicode: %s" % i)
-
- if fprocess == True:
- vbegin = 0
- vend = 0
- v = 0
- fprocess = False
- funicode = False
- frange = False
- n += 1
-
-if frange == True and funicode == True:
- vend = v
- insert(l, vbegin, vend)
-elif funicode == True:
- vbegin = vend = v
- insert(l, vbegin, vend)
-
-ncode = 0
-for i in l:
- ncode += (i[1] - i[0] + 1)
-
-a = int(x[0].split(' ')[0].replace(',', ''))
-if a != ncode:
- sys.stderr.write("Unexpected the amount of code points: %d (expected %d)\n" % (ncode, a))
- sys.exit(1)
-
-# exception; BRAILLE PATTERN BLANK
-insert(l, 0x2800, 0x2800)
-
-while True:
- s = sys.stdin.readline().rstrip()
- if s == "@@@":
- break
- print(s)
-
-print("static FcChar32 _fcBlanks[%s] = {" % (ncode + 1))
-k = 0
-for i in sorted(l, key=lambda a: a[0]):
- for j in range(i[0], i[1] + 1):
- if k != 0:
- print(",")
- print(" 0x%04x" % j, end=' ')
- k += 1
-
-print("};")
-print('''
-static FcBlanks fcBlanks = {
- %s,
- -1,
- _fcBlanks
-};
-''' % (ncode + 1))
+++ /dev/null
-/*
- * fontconfig/fc-blanks/fcblanks.tmpl.h
- *
- * 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 the author(s) not be used in
- * advertising or publicity pertaining to distribution of the software without
- * 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.
- *
- * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE AUTHOR(S) 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.
- */
-
-static FcChar32 _fcBlanks[4191] = {
- 0x0020 ,
- 0x00a0 ,
- 0x00ad ,
- 0x034f ,
- 0x061c ,
- 0x115f ,
- 0x1160 ,
- 0x1680 ,
- 0x17b4 ,
- 0x17b5 ,
- 0x180b ,
- 0x180c ,
- 0x180d ,
- 0x180e ,
- 0x2000 ,
- 0x2001 ,
- 0x2002 ,
- 0x2003 ,
- 0x2004 ,
- 0x2005 ,
- 0x2006 ,
- 0x2007 ,
- 0x2008 ,
- 0x2009 ,
- 0x200a ,
- 0x200b ,
- 0x200c ,
- 0x200d ,
- 0x200e ,
- 0x200f ,
- 0x202a ,
- 0x202b ,
- 0x202c ,
- 0x202d ,
- 0x202e ,
- 0x202f ,
- 0x205f ,
- 0x2060 ,
- 0x2061 ,
- 0x2062 ,
- 0x2063 ,
- 0x2064 ,
- 0x2065 ,
- 0x2066 ,
- 0x2067 ,
- 0x2068 ,
- 0x2069 ,
- 0x206a ,
- 0x206b ,
- 0x206c ,
- 0x206d ,
- 0x206e ,
- 0x206f ,
- 0x2800 ,
- 0x3000 ,
- 0x3164 ,
- 0xfe00 ,
- 0xfe01 ,
- 0xfe02 ,
- 0xfe03 ,
- 0xfe04 ,
- 0xfe05 ,
- 0xfe06 ,
- 0xfe07 ,
- 0xfe08 ,
- 0xfe09 ,
- 0xfe0a ,
- 0xfe0b ,
- 0xfe0c ,
- 0xfe0d ,
- 0xfe0e ,
- 0xfe0f ,
- 0xfeff ,
- 0xffa0 ,
- 0xfff0 ,
- 0xfff1 ,
- 0xfff2 ,
- 0xfff3 ,
- 0xfff4 ,
- 0xfff5 ,
- 0xfff6 ,
- 0xfff7 ,
- 0xfff8 ,
- 0x1bca0 ,
- 0x1bca1 ,
- 0x1bca2 ,
- 0x1bca3 ,
- 0x1d173 ,
- 0x1d174 ,
- 0x1d175 ,
- 0x1d176 ,
- 0x1d177 ,
- 0x1d178 ,
- 0x1d179 ,
- 0x1d17a ,
- 0xe0000 ,
- 0xe0001 ,
- 0xe0002 ,
- 0xe0003 ,
- 0xe0004 ,
- 0xe0005 ,
- 0xe0006 ,
- 0xe0007 ,
- 0xe0008 ,
- 0xe0009 ,
- 0xe000a ,
- 0xe000b ,
- 0xe000c ,
- 0xe000d ,
- 0xe000e ,
- 0xe000f ,
- 0xe0010 ,
- 0xe0011 ,
- 0xe0012 ,
- 0xe0013 ,
- 0xe0014 ,
- 0xe0015 ,
- 0xe0016 ,
- 0xe0017 ,
- 0xe0018 ,
- 0xe0019 ,
- 0xe001a ,
- 0xe001b ,
- 0xe001c ,
- 0xe001d ,
- 0xe001e ,
- 0xe001f ,
- 0xe0020 ,
- 0xe0021 ,
- 0xe0022 ,
- 0xe0023 ,
- 0xe0024 ,
- 0xe0025 ,
- 0xe0026 ,
- 0xe0027 ,
- 0xe0028 ,
- 0xe0029 ,
- 0xe002a ,
- 0xe002b ,
- 0xe002c ,
- 0xe002d ,
- 0xe002e ,
- 0xe002f ,
- 0xe0030 ,
- 0xe0031 ,
- 0xe0032 ,
- 0xe0033 ,
- 0xe0034 ,
- 0xe0035 ,
- 0xe0036 ,
- 0xe0037 ,
- 0xe0038 ,
- 0xe0039 ,
- 0xe003a ,
- 0xe003b ,
- 0xe003c ,
- 0xe003d ,
- 0xe003e ,
- 0xe003f ,
- 0xe0040 ,
- 0xe0041 ,
- 0xe0042 ,
- 0xe0043 ,
- 0xe0044 ,
- 0xe0045 ,
- 0xe0046 ,
- 0xe0047 ,
- 0xe0048 ,
- 0xe0049 ,
- 0xe004a ,
- 0xe004b ,
- 0xe004c ,
- 0xe004d ,
- 0xe004e ,
- 0xe004f ,
- 0xe0050 ,
- 0xe0051 ,
- 0xe0052 ,
- 0xe0053 ,
- 0xe0054 ,
- 0xe0055 ,
- 0xe0056 ,
- 0xe0057 ,
- 0xe0058 ,
- 0xe0059 ,
- 0xe005a ,
- 0xe005b ,
- 0xe005c ,
- 0xe005d ,
- 0xe005e ,
- 0xe005f ,
- 0xe0060 ,
- 0xe0061 ,
- 0xe0062 ,
- 0xe0063 ,
- 0xe0064 ,
- 0xe0065 ,
- 0xe0066 ,
- 0xe0067 ,
- 0xe0068 ,
- 0xe0069 ,
- 0xe006a ,
- 0xe006b ,
- 0xe006c ,
- 0xe006d ,
- 0xe006e ,
- 0xe006f ,
- 0xe0070 ,
- 0xe0071 ,
- 0xe0072 ,
- 0xe0073 ,
- 0xe0074 ,
- 0xe0075 ,
- 0xe0076 ,
- 0xe0077 ,
- 0xe0078 ,
- 0xe0079 ,
- 0xe007a ,
- 0xe007b ,
- 0xe007c ,
- 0xe007d ,
- 0xe007e ,
- 0xe007f ,
- 0xe0080 ,
- 0xe0081 ,
- 0xe0082 ,
- 0xe0083 ,
- 0xe0084 ,
- 0xe0085 ,
- 0xe0086 ,
- 0xe0087 ,
- 0xe0088 ,
- 0xe0089 ,
- 0xe008a ,
- 0xe008b ,
- 0xe008c ,
- 0xe008d ,
- 0xe008e ,
- 0xe008f ,
- 0xe0090 ,
- 0xe0091 ,
- 0xe0092 ,
- 0xe0093 ,
- 0xe0094 ,
- 0xe0095 ,
- 0xe0096 ,
- 0xe0097 ,
- 0xe0098 ,
- 0xe0099 ,
- 0xe009a ,
- 0xe009b ,
- 0xe009c ,
- 0xe009d ,
- 0xe009e ,
- 0xe009f ,
- 0xe00a0 ,
- 0xe00a1 ,
- 0xe00a2 ,
- 0xe00a3 ,
- 0xe00a4 ,
- 0xe00a5 ,
- 0xe00a6 ,
- 0xe00a7 ,
- 0xe00a8 ,
- 0xe00a9 ,
- 0xe00aa ,
- 0xe00ab ,
- 0xe00ac ,
- 0xe00ad ,
- 0xe00ae ,
- 0xe00af ,
- 0xe00b0 ,
- 0xe00b1 ,
- 0xe00b2 ,
- 0xe00b3 ,
- 0xe00b4 ,
- 0xe00b5 ,
- 0xe00b6 ,
- 0xe00b7 ,
- 0xe00b8 ,
- 0xe00b9 ,
- 0xe00ba ,
- 0xe00bb ,
- 0xe00bc ,
- 0xe00bd ,
- 0xe00be ,
- 0xe00bf ,
- 0xe00c0 ,
- 0xe00c1 ,
- 0xe00c2 ,
- 0xe00c3 ,
- 0xe00c4 ,
- 0xe00c5 ,
- 0xe00c6 ,
- 0xe00c7 ,
- 0xe00c8 ,
- 0xe00c9 ,
- 0xe00ca ,
- 0xe00cb ,
- 0xe00cc ,
- 0xe00cd ,
- 0xe00ce ,
- 0xe00cf ,
- 0xe00d0 ,
- 0xe00d1 ,
- 0xe00d2 ,
- 0xe00d3 ,
- 0xe00d4 ,
- 0xe00d5 ,
- 0xe00d6 ,
- 0xe00d7 ,
- 0xe00d8 ,
- 0xe00d9 ,
- 0xe00da ,
- 0xe00db ,
- 0xe00dc ,
- 0xe00dd ,
- 0xe00de ,
- 0xe00df ,
- 0xe00e0 ,
- 0xe00e1 ,
- 0xe00e2 ,
- 0xe00e3 ,
- 0xe00e4 ,
- 0xe00e5 ,
- 0xe00e6 ,
- 0xe00e7 ,
- 0xe00e8 ,
- 0xe00e9 ,
- 0xe00ea ,
- 0xe00eb ,
- 0xe00ec ,
- 0xe00ed ,
- 0xe00ee ,
- 0xe00ef ,
- 0xe00f0 ,
- 0xe00f1 ,
- 0xe00f2 ,
- 0xe00f3 ,
- 0xe00f4 ,
- 0xe00f5 ,
- 0xe00f6 ,
- 0xe00f7 ,
- 0xe00f8 ,
- 0xe00f9 ,
- 0xe00fa ,
- 0xe00fb ,
- 0xe00fc ,
- 0xe00fd ,
- 0xe00fe ,
- 0xe00ff ,
- 0xe0100 ,
- 0xe0101 ,
- 0xe0102 ,
- 0xe0103 ,
- 0xe0104 ,
- 0xe0105 ,
- 0xe0106 ,
- 0xe0107 ,
- 0xe0108 ,
- 0xe0109 ,
- 0xe010a ,
- 0xe010b ,
- 0xe010c ,
- 0xe010d ,
- 0xe010e ,
- 0xe010f ,
- 0xe0110 ,
- 0xe0111 ,
- 0xe0112 ,
- 0xe0113 ,
- 0xe0114 ,
- 0xe0115 ,
- 0xe0116 ,
- 0xe0117 ,
- 0xe0118 ,
- 0xe0119 ,
- 0xe011a ,
- 0xe011b ,
- 0xe011c ,
- 0xe011d ,
- 0xe011e ,
- 0xe011f ,
- 0xe0120 ,
- 0xe0121 ,
- 0xe0122 ,
- 0xe0123 ,
- 0xe0124 ,
- 0xe0125 ,
- 0xe0126 ,
- 0xe0127 ,
- 0xe0128 ,
- 0xe0129 ,
- 0xe012a ,
- 0xe012b ,
- 0xe012c ,
- 0xe012d ,
- 0xe012e ,
- 0xe012f ,
- 0xe0130 ,
- 0xe0131 ,
- 0xe0132 ,
- 0xe0133 ,
- 0xe0134 ,
- 0xe0135 ,
- 0xe0136 ,
- 0xe0137 ,
- 0xe0138 ,
- 0xe0139 ,
- 0xe013a ,
- 0xe013b ,
- 0xe013c ,
- 0xe013d ,
- 0xe013e ,
- 0xe013f ,
- 0xe0140 ,
- 0xe0141 ,
- 0xe0142 ,
- 0xe0143 ,
- 0xe0144 ,
- 0xe0145 ,
- 0xe0146 ,
- 0xe0147 ,
- 0xe0148 ,
- 0xe0149 ,
- 0xe014a ,
- 0xe014b ,
- 0xe014c ,
- 0xe014d ,
- 0xe014e ,
- 0xe014f ,
- 0xe0150 ,
- 0xe0151 ,
- 0xe0152 ,
- 0xe0153 ,
- 0xe0154 ,
- 0xe0155 ,
- 0xe0156 ,
- 0xe0157 ,
- 0xe0158 ,
- 0xe0159 ,
- 0xe015a ,
- 0xe015b ,
- 0xe015c ,
- 0xe015d ,
- 0xe015e ,
- 0xe015f ,
- 0xe0160 ,
- 0xe0161 ,
- 0xe0162 ,
- 0xe0163 ,
- 0xe0164 ,
- 0xe0165 ,
- 0xe0166 ,
- 0xe0167 ,
- 0xe0168 ,
- 0xe0169 ,
- 0xe016a ,
- 0xe016b ,
- 0xe016c ,
- 0xe016d ,
- 0xe016e ,
- 0xe016f ,
- 0xe0170 ,
- 0xe0171 ,
- 0xe0172 ,
- 0xe0173 ,
- 0xe0174 ,
- 0xe0175 ,
- 0xe0176 ,
- 0xe0177 ,
- 0xe0178 ,
- 0xe0179 ,
- 0xe017a ,
- 0xe017b ,
- 0xe017c ,
- 0xe017d ,
- 0xe017e ,
- 0xe017f ,
- 0xe0180 ,
- 0xe0181 ,
- 0xe0182 ,
- 0xe0183 ,
- 0xe0184 ,
- 0xe0185 ,
- 0xe0186 ,
- 0xe0187 ,
- 0xe0188 ,
- 0xe0189 ,
- 0xe018a ,
- 0xe018b ,
- 0xe018c ,
- 0xe018d ,
- 0xe018e ,
- 0xe018f ,
- 0xe0190 ,
- 0xe0191 ,
- 0xe0192 ,
- 0xe0193 ,
- 0xe0194 ,
- 0xe0195 ,
- 0xe0196 ,
- 0xe0197 ,
- 0xe0198 ,
- 0xe0199 ,
- 0xe019a ,
- 0xe019b ,
- 0xe019c ,
- 0xe019d ,
- 0xe019e ,
- 0xe019f ,
- 0xe01a0 ,
- 0xe01a1 ,
- 0xe01a2 ,
- 0xe01a3 ,
- 0xe01a4 ,
- 0xe01a5 ,
- 0xe01a6 ,
- 0xe01a7 ,
- 0xe01a8 ,
- 0xe01a9 ,
- 0xe01aa ,
- 0xe01ab ,
- 0xe01ac ,
- 0xe01ad ,
- 0xe01ae ,
- 0xe01af ,
- 0xe01b0 ,
- 0xe01b1 ,
- 0xe01b2 ,
- 0xe01b3 ,
- 0xe01b4 ,
- 0xe01b5 ,
- 0xe01b6 ,
- 0xe01b7 ,
- 0xe01b8 ,
- 0xe01b9 ,
- 0xe01ba ,
- 0xe01bb ,
- 0xe01bc ,
- 0xe01bd ,
- 0xe01be ,
- 0xe01bf ,
- 0xe01c0 ,
- 0xe01c1 ,
- 0xe01c2 ,
- 0xe01c3 ,
- 0xe01c4 ,
- 0xe01c5 ,
- 0xe01c6 ,
- 0xe01c7 ,
- 0xe01c8 ,
- 0xe01c9 ,
- 0xe01ca ,
- 0xe01cb ,
- 0xe01cc ,
- 0xe01cd ,
- 0xe01ce ,
- 0xe01cf ,
- 0xe01d0 ,
- 0xe01d1 ,
- 0xe01d2 ,
- 0xe01d3 ,
- 0xe01d4 ,
- 0xe01d5 ,
- 0xe01d6 ,
- 0xe01d7 ,
- 0xe01d8 ,
- 0xe01d9 ,
- 0xe01da ,
- 0xe01db ,
- 0xe01dc ,
- 0xe01dd ,
- 0xe01de ,
- 0xe01df ,
- 0xe01e0 ,
- 0xe01e1 ,
- 0xe01e2 ,
- 0xe01e3 ,
- 0xe01e4 ,
- 0xe01e5 ,
- 0xe01e6 ,
- 0xe01e7 ,
- 0xe01e8 ,
- 0xe01e9 ,
- 0xe01ea ,
- 0xe01eb ,
- 0xe01ec ,
- 0xe01ed ,
- 0xe01ee ,
- 0xe01ef ,
- 0xe01f0 ,
- 0xe01f1 ,
- 0xe01f2 ,
- 0xe01f3 ,
- 0xe01f4 ,
- 0xe01f5 ,
- 0xe01f6 ,
- 0xe01f7 ,
- 0xe01f8 ,
- 0xe01f9 ,
- 0xe01fa ,
- 0xe01fb ,
- 0xe01fc ,
- 0xe01fd ,
- 0xe01fe ,
- 0xe01ff ,
- 0xe0200 ,
- 0xe0201 ,
- 0xe0202 ,
- 0xe0203 ,
- 0xe0204 ,
- 0xe0205 ,
- 0xe0206 ,
- 0xe0207 ,
- 0xe0208 ,
- 0xe0209 ,
- 0xe020a ,
- 0xe020b ,
- 0xe020c ,
- 0xe020d ,
- 0xe020e ,
- 0xe020f ,
- 0xe0210 ,
- 0xe0211 ,
- 0xe0212 ,
- 0xe0213 ,
- 0xe0214 ,
- 0xe0215 ,
- 0xe0216 ,
- 0xe0217 ,
- 0xe0218 ,
- 0xe0219 ,
- 0xe021a ,
- 0xe021b ,
- 0xe021c ,
- 0xe021d ,
- 0xe021e ,
- 0xe021f ,
- 0xe0220 ,
- 0xe0221 ,
- 0xe0222 ,
- 0xe0223 ,
- 0xe0224 ,
- 0xe0225 ,
- 0xe0226 ,
- 0xe0227 ,
- 0xe0228 ,
- 0xe0229 ,
- 0xe022a ,
- 0xe022b ,
- 0xe022c ,
- 0xe022d ,
- 0xe022e ,
- 0xe022f ,
- 0xe0230 ,
- 0xe0231 ,
- 0xe0232 ,
- 0xe0233 ,
- 0xe0234 ,
- 0xe0235 ,
- 0xe0236 ,
- 0xe0237 ,
- 0xe0238 ,
- 0xe0239 ,
- 0xe023a ,
- 0xe023b ,
- 0xe023c ,
- 0xe023d ,
- 0xe023e ,
- 0xe023f ,
- 0xe0240 ,
- 0xe0241 ,
- 0xe0242 ,
- 0xe0243 ,
- 0xe0244 ,
- 0xe0245 ,
- 0xe0246 ,
- 0xe0247 ,
- 0xe0248 ,
- 0xe0249 ,
- 0xe024a ,
- 0xe024b ,
- 0xe024c ,
- 0xe024d ,
- 0xe024e ,
- 0xe024f ,
- 0xe0250 ,
- 0xe0251 ,
- 0xe0252 ,
- 0xe0253 ,
- 0xe0254 ,
- 0xe0255 ,
- 0xe0256 ,
- 0xe0257 ,
- 0xe0258 ,
- 0xe0259 ,
- 0xe025a ,
- 0xe025b ,
- 0xe025c ,
- 0xe025d ,
- 0xe025e ,
- 0xe025f ,
- 0xe0260 ,
- 0xe0261 ,
- 0xe0262 ,
- 0xe0263 ,
- 0xe0264 ,
- 0xe0265 ,
- 0xe0266 ,
- 0xe0267 ,
- 0xe0268 ,
- 0xe0269 ,
- 0xe026a ,
- 0xe026b ,
- 0xe026c ,
- 0xe026d ,
- 0xe026e ,
- 0xe026f ,
- 0xe0270 ,
- 0xe0271 ,
- 0xe0272 ,
- 0xe0273 ,
- 0xe0274 ,
- 0xe0275 ,
- 0xe0276 ,
- 0xe0277 ,
- 0xe0278 ,
- 0xe0279 ,
- 0xe027a ,
- 0xe027b ,
- 0xe027c ,
- 0xe027d ,
- 0xe027e ,
- 0xe027f ,
- 0xe0280 ,
- 0xe0281 ,
- 0xe0282 ,
- 0xe0283 ,
- 0xe0284 ,
- 0xe0285 ,
- 0xe0286 ,
- 0xe0287 ,
- 0xe0288 ,
- 0xe0289 ,
- 0xe028a ,
- 0xe028b ,
- 0xe028c ,
- 0xe028d ,
- 0xe028e ,
- 0xe028f ,
- 0xe0290 ,
- 0xe0291 ,
- 0xe0292 ,
- 0xe0293 ,
- 0xe0294 ,
- 0xe0295 ,
- 0xe0296 ,
- 0xe0297 ,
- 0xe0298 ,
- 0xe0299 ,
- 0xe029a ,
- 0xe029b ,
- 0xe029c ,
- 0xe029d ,
- 0xe029e ,
- 0xe029f ,
- 0xe02a0 ,
- 0xe02a1 ,
- 0xe02a2 ,
- 0xe02a3 ,
- 0xe02a4 ,
- 0xe02a5 ,
- 0xe02a6 ,
- 0xe02a7 ,
- 0xe02a8 ,
- 0xe02a9 ,
- 0xe02aa ,
- 0xe02ab ,
- 0xe02ac ,
- 0xe02ad ,
- 0xe02ae ,
- 0xe02af ,
- 0xe02b0 ,
- 0xe02b1 ,
- 0xe02b2 ,
- 0xe02b3 ,
- 0xe02b4 ,
- 0xe02b5 ,
- 0xe02b6 ,
- 0xe02b7 ,
- 0xe02b8 ,
- 0xe02b9 ,
- 0xe02ba ,
- 0xe02bb ,
- 0xe02bc ,
- 0xe02bd ,
- 0xe02be ,
- 0xe02bf ,
- 0xe02c0 ,
- 0xe02c1 ,
- 0xe02c2 ,
- 0xe02c3 ,
- 0xe02c4 ,
- 0xe02c5 ,
- 0xe02c6 ,
- 0xe02c7 ,
- 0xe02c8 ,
- 0xe02c9 ,
- 0xe02ca ,
- 0xe02cb ,
- 0xe02cc ,
- 0xe02cd ,
- 0xe02ce ,
- 0xe02cf ,
- 0xe02d0 ,
- 0xe02d1 ,
- 0xe02d2 ,
- 0xe02d3 ,
- 0xe02d4 ,
- 0xe02d5 ,
- 0xe02d6 ,
- 0xe02d7 ,
- 0xe02d8 ,
- 0xe02d9 ,
- 0xe02da ,
- 0xe02db ,
- 0xe02dc ,
- 0xe02dd ,
- 0xe02de ,
- 0xe02df ,
- 0xe02e0 ,
- 0xe02e1 ,
- 0xe02e2 ,
- 0xe02e3 ,
- 0xe02e4 ,
- 0xe02e5 ,
- 0xe02e6 ,
- 0xe02e7 ,
- 0xe02e8 ,
- 0xe02e9 ,
- 0xe02ea ,
- 0xe02eb ,
- 0xe02ec ,
- 0xe02ed ,
- 0xe02ee ,
- 0xe02ef ,
- 0xe02f0 ,
- 0xe02f1 ,
- 0xe02f2 ,
- 0xe02f3 ,
- 0xe02f4 ,
- 0xe02f5 ,
- 0xe02f6 ,
- 0xe02f7 ,
- 0xe02f8 ,
- 0xe02f9 ,
- 0xe02fa ,
- 0xe02fb ,
- 0xe02fc ,
- 0xe02fd ,
- 0xe02fe ,
- 0xe02ff ,
- 0xe0300 ,
- 0xe0301 ,
- 0xe0302 ,
- 0xe0303 ,
- 0xe0304 ,
- 0xe0305 ,
- 0xe0306 ,
- 0xe0307 ,
- 0xe0308 ,
- 0xe0309 ,
- 0xe030a ,
- 0xe030b ,
- 0xe030c ,
- 0xe030d ,
- 0xe030e ,
- 0xe030f ,
- 0xe0310 ,
- 0xe0311 ,
- 0xe0312 ,
- 0xe0313 ,
- 0xe0314 ,
- 0xe0315 ,
- 0xe0316 ,
- 0xe0317 ,
- 0xe0318 ,
- 0xe0319 ,
- 0xe031a ,
- 0xe031b ,
- 0xe031c ,
- 0xe031d ,
- 0xe031e ,
- 0xe031f ,
- 0xe0320 ,
- 0xe0321 ,
- 0xe0322 ,
- 0xe0323 ,
- 0xe0324 ,
- 0xe0325 ,
- 0xe0326 ,
- 0xe0327 ,
- 0xe0328 ,
- 0xe0329 ,
- 0xe032a ,
- 0xe032b ,
- 0xe032c ,
- 0xe032d ,
- 0xe032e ,
- 0xe032f ,
- 0xe0330 ,
- 0xe0331 ,
- 0xe0332 ,
- 0xe0333 ,
- 0xe0334 ,
- 0xe0335 ,
- 0xe0336 ,
- 0xe0337 ,
- 0xe0338 ,
- 0xe0339 ,
- 0xe033a ,
- 0xe033b ,
- 0xe033c ,
- 0xe033d ,
- 0xe033e ,
- 0xe033f ,
- 0xe0340 ,
- 0xe0341 ,
- 0xe0342 ,
- 0xe0343 ,
- 0xe0344 ,
- 0xe0345 ,
- 0xe0346 ,
- 0xe0347 ,
- 0xe0348 ,
- 0xe0349 ,
- 0xe034a ,
- 0xe034b ,
- 0xe034c ,
- 0xe034d ,
- 0xe034e ,
- 0xe034f ,
- 0xe0350 ,
- 0xe0351 ,
- 0xe0352 ,
- 0xe0353 ,
- 0xe0354 ,
- 0xe0355 ,
- 0xe0356 ,
- 0xe0357 ,
- 0xe0358 ,
- 0xe0359 ,
- 0xe035a ,
- 0xe035b ,
- 0xe035c ,
- 0xe035d ,
- 0xe035e ,
- 0xe035f ,
- 0xe0360 ,
- 0xe0361 ,
- 0xe0362 ,
- 0xe0363 ,
- 0xe0364 ,
- 0xe0365 ,
- 0xe0366 ,
- 0xe0367 ,
- 0xe0368 ,
- 0xe0369 ,
- 0xe036a ,
- 0xe036b ,
- 0xe036c ,
- 0xe036d ,
- 0xe036e ,
- 0xe036f ,
- 0xe0370 ,
- 0xe0371 ,
- 0xe0372 ,
- 0xe0373 ,
- 0xe0374 ,
- 0xe0375 ,
- 0xe0376 ,
- 0xe0377 ,
- 0xe0378 ,
- 0xe0379 ,
- 0xe037a ,
- 0xe037b ,
- 0xe037c ,
- 0xe037d ,
- 0xe037e ,
- 0xe037f ,
- 0xe0380 ,
- 0xe0381 ,
- 0xe0382 ,
- 0xe0383 ,
- 0xe0384 ,
- 0xe0385 ,
- 0xe0386 ,
- 0xe0387 ,
- 0xe0388 ,
- 0xe0389 ,
- 0xe038a ,
- 0xe038b ,
- 0xe038c ,
- 0xe038d ,
- 0xe038e ,
- 0xe038f ,
- 0xe0390 ,
- 0xe0391 ,
- 0xe0392 ,
- 0xe0393 ,
- 0xe0394 ,
- 0xe0395 ,
- 0xe0396 ,
- 0xe0397 ,
- 0xe0398 ,
- 0xe0399 ,
- 0xe039a ,
- 0xe039b ,
- 0xe039c ,
- 0xe039d ,
- 0xe039e ,
- 0xe039f ,
- 0xe03a0 ,
- 0xe03a1 ,
- 0xe03a2 ,
- 0xe03a3 ,
- 0xe03a4 ,
- 0xe03a5 ,
- 0xe03a6 ,
- 0xe03a7 ,
- 0xe03a8 ,
- 0xe03a9 ,
- 0xe03aa ,
- 0xe03ab ,
- 0xe03ac ,
- 0xe03ad ,
- 0xe03ae ,
- 0xe03af ,
- 0xe03b0 ,
- 0xe03b1 ,
- 0xe03b2 ,
- 0xe03b3 ,
- 0xe03b4 ,
- 0xe03b5 ,
- 0xe03b6 ,
- 0xe03b7 ,
- 0xe03b8 ,
- 0xe03b9 ,
- 0xe03ba ,
- 0xe03bb ,
- 0xe03bc ,
- 0xe03bd ,
- 0xe03be ,
- 0xe03bf ,
- 0xe03c0 ,
- 0xe03c1 ,
- 0xe03c2 ,
- 0xe03c3 ,
- 0xe03c4 ,
- 0xe03c5 ,
- 0xe03c6 ,
- 0xe03c7 ,
- 0xe03c8 ,
- 0xe03c9 ,
- 0xe03ca ,
- 0xe03cb ,
- 0xe03cc ,
- 0xe03cd ,
- 0xe03ce ,
- 0xe03cf ,
- 0xe03d0 ,
- 0xe03d1 ,
- 0xe03d2 ,
- 0xe03d3 ,
- 0xe03d4 ,
- 0xe03d5 ,
- 0xe03d6 ,
- 0xe03d7 ,
- 0xe03d8 ,
- 0xe03d9 ,
- 0xe03da ,
- 0xe03db ,
- 0xe03dc ,
- 0xe03dd ,
- 0xe03de ,
- 0xe03df ,
- 0xe03e0 ,
- 0xe03e1 ,
- 0xe03e2 ,
- 0xe03e3 ,
- 0xe03e4 ,
- 0xe03e5 ,
- 0xe03e6 ,
- 0xe03e7 ,
- 0xe03e8 ,
- 0xe03e9 ,
- 0xe03ea ,
- 0xe03eb ,
- 0xe03ec ,
- 0xe03ed ,
- 0xe03ee ,
- 0xe03ef ,
- 0xe03f0 ,
- 0xe03f1 ,
- 0xe03f2 ,
- 0xe03f3 ,
- 0xe03f4 ,
- 0xe03f5 ,
- 0xe03f6 ,
- 0xe03f7 ,
- 0xe03f8 ,
- 0xe03f9 ,
- 0xe03fa ,
- 0xe03fb ,
- 0xe03fc ,
- 0xe03fd ,
- 0xe03fe ,
- 0xe03ff ,
- 0xe0400 ,
- 0xe0401 ,
- 0xe0402 ,
- 0xe0403 ,
- 0xe0404 ,
- 0xe0405 ,
- 0xe0406 ,
- 0xe0407 ,
- 0xe0408 ,
- 0xe0409 ,
- 0xe040a ,
- 0xe040b ,
- 0xe040c ,
- 0xe040d ,
- 0xe040e ,
- 0xe040f ,
- 0xe0410 ,
- 0xe0411 ,
- 0xe0412 ,
- 0xe0413 ,
- 0xe0414 ,
- 0xe0415 ,
- 0xe0416 ,
- 0xe0417 ,
- 0xe0418 ,
- 0xe0419 ,
- 0xe041a ,
- 0xe041b ,
- 0xe041c ,
- 0xe041d ,
- 0xe041e ,
- 0xe041f ,
- 0xe0420 ,
- 0xe0421 ,
- 0xe0422 ,
- 0xe0423 ,
- 0xe0424 ,
- 0xe0425 ,
- 0xe0426 ,
- 0xe0427 ,
- 0xe0428 ,
- 0xe0429 ,
- 0xe042a ,
- 0xe042b ,
- 0xe042c ,
- 0xe042d ,
- 0xe042e ,
- 0xe042f ,
- 0xe0430 ,
- 0xe0431 ,
- 0xe0432 ,
- 0xe0433 ,
- 0xe0434 ,
- 0xe0435 ,
- 0xe0436 ,
- 0xe0437 ,
- 0xe0438 ,
- 0xe0439 ,
- 0xe043a ,
- 0xe043b ,
- 0xe043c ,
- 0xe043d ,
- 0xe043e ,
- 0xe043f ,
- 0xe0440 ,
- 0xe0441 ,
- 0xe0442 ,
- 0xe0443 ,
- 0xe0444 ,
- 0xe0445 ,
- 0xe0446 ,
- 0xe0447 ,
- 0xe0448 ,
- 0xe0449 ,
- 0xe044a ,
- 0xe044b ,
- 0xe044c ,
- 0xe044d ,
- 0xe044e ,
- 0xe044f ,
- 0xe0450 ,
- 0xe0451 ,
- 0xe0452 ,
- 0xe0453 ,
- 0xe0454 ,
- 0xe0455 ,
- 0xe0456 ,
- 0xe0457 ,
- 0xe0458 ,
- 0xe0459 ,
- 0xe045a ,
- 0xe045b ,
- 0xe045c ,
- 0xe045d ,
- 0xe045e ,
- 0xe045f ,
- 0xe0460 ,
- 0xe0461 ,
- 0xe0462 ,
- 0xe0463 ,
- 0xe0464 ,
- 0xe0465 ,
- 0xe0466 ,
- 0xe0467 ,
- 0xe0468 ,
- 0xe0469 ,
- 0xe046a ,
- 0xe046b ,
- 0xe046c ,
- 0xe046d ,
- 0xe046e ,
- 0xe046f ,
- 0xe0470 ,
- 0xe0471 ,
- 0xe0472 ,
- 0xe0473 ,
- 0xe0474 ,
- 0xe0475 ,
- 0xe0476 ,
- 0xe0477 ,
- 0xe0478 ,
- 0xe0479 ,
- 0xe047a ,
- 0xe047b ,
- 0xe047c ,
- 0xe047d ,
- 0xe047e ,
- 0xe047f ,
- 0xe0480 ,
- 0xe0481 ,
- 0xe0482 ,
- 0xe0483 ,
- 0xe0484 ,
- 0xe0485 ,
- 0xe0486 ,
- 0xe0487 ,
- 0xe0488 ,
- 0xe0489 ,
- 0xe048a ,
- 0xe048b ,
- 0xe048c ,
- 0xe048d ,
- 0xe048e ,
- 0xe048f ,
- 0xe0490 ,
- 0xe0491 ,
- 0xe0492 ,
- 0xe0493 ,
- 0xe0494 ,
- 0xe0495 ,
- 0xe0496 ,
- 0xe0497 ,
- 0xe0498 ,
- 0xe0499 ,
- 0xe049a ,
- 0xe049b ,
- 0xe049c ,
- 0xe049d ,
- 0xe049e ,
- 0xe049f ,
- 0xe04a0 ,
- 0xe04a1 ,
- 0xe04a2 ,
- 0xe04a3 ,
- 0xe04a4 ,
- 0xe04a5 ,
- 0xe04a6 ,
- 0xe04a7 ,
- 0xe04a8 ,
- 0xe04a9 ,
- 0xe04aa ,
- 0xe04ab ,
- 0xe04ac ,
- 0xe04ad ,
- 0xe04ae ,
- 0xe04af ,
- 0xe04b0 ,
- 0xe04b1 ,
- 0xe04b2 ,
- 0xe04b3 ,
- 0xe04b4 ,
- 0xe04b5 ,
- 0xe04b6 ,
- 0xe04b7 ,
- 0xe04b8 ,
- 0xe04b9 ,
- 0xe04ba ,
- 0xe04bb ,
- 0xe04bc ,
- 0xe04bd ,
- 0xe04be ,
- 0xe04bf ,
- 0xe04c0 ,
- 0xe04c1 ,
- 0xe04c2 ,
- 0xe04c3 ,
- 0xe04c4 ,
- 0xe04c5 ,
- 0xe04c6 ,
- 0xe04c7 ,
- 0xe04c8 ,
- 0xe04c9 ,
- 0xe04ca ,
- 0xe04cb ,
- 0xe04cc ,
- 0xe04cd ,
- 0xe04ce ,
- 0xe04cf ,
- 0xe04d0 ,
- 0xe04d1 ,
- 0xe04d2 ,
- 0xe04d3 ,
- 0xe04d4 ,
- 0xe04d5 ,
- 0xe04d6 ,
- 0xe04d7 ,
- 0xe04d8 ,
- 0xe04d9 ,
- 0xe04da ,
- 0xe04db ,
- 0xe04dc ,
- 0xe04dd ,
- 0xe04de ,
- 0xe04df ,
- 0xe04e0 ,
- 0xe04e1 ,
- 0xe04e2 ,
- 0xe04e3 ,
- 0xe04e4 ,
- 0xe04e5 ,
- 0xe04e6 ,
- 0xe04e7 ,
- 0xe04e8 ,
- 0xe04e9 ,
- 0xe04ea ,
- 0xe04eb ,
- 0xe04ec ,
- 0xe04ed ,
- 0xe04ee ,
- 0xe04ef ,
- 0xe04f0 ,
- 0xe04f1 ,
- 0xe04f2 ,
- 0xe04f3 ,
- 0xe04f4 ,
- 0xe04f5 ,
- 0xe04f6 ,
- 0xe04f7 ,
- 0xe04f8 ,
- 0xe04f9 ,
- 0xe04fa ,
- 0xe04fb ,
- 0xe04fc ,
- 0xe04fd ,
- 0xe04fe ,
- 0xe04ff ,
- 0xe0500 ,
- 0xe0501 ,
- 0xe0502 ,
- 0xe0503 ,
- 0xe0504 ,
- 0xe0505 ,
- 0xe0506 ,
- 0xe0507 ,
- 0xe0508 ,
- 0xe0509 ,
- 0xe050a ,
- 0xe050b ,
- 0xe050c ,
- 0xe050d ,
- 0xe050e ,
- 0xe050f ,
- 0xe0510 ,
- 0xe0511 ,
- 0xe0512 ,
- 0xe0513 ,
- 0xe0514 ,
- 0xe0515 ,
- 0xe0516 ,
- 0xe0517 ,
- 0xe0518 ,
- 0xe0519 ,
- 0xe051a ,
- 0xe051b ,
- 0xe051c ,
- 0xe051d ,
- 0xe051e ,
- 0xe051f ,
- 0xe0520 ,
- 0xe0521 ,
- 0xe0522 ,
- 0xe0523 ,
- 0xe0524 ,
- 0xe0525 ,
- 0xe0526 ,
- 0xe0527 ,
- 0xe0528 ,
- 0xe0529 ,
- 0xe052a ,
- 0xe052b ,
- 0xe052c ,
- 0xe052d ,
- 0xe052e ,
- 0xe052f ,
- 0xe0530 ,
- 0xe0531 ,
- 0xe0532 ,
- 0xe0533 ,
- 0xe0534 ,
- 0xe0535 ,
- 0xe0536 ,
- 0xe0537 ,
- 0xe0538 ,
- 0xe0539 ,
- 0xe053a ,
- 0xe053b ,
- 0xe053c ,
- 0xe053d ,
- 0xe053e ,
- 0xe053f ,
- 0xe0540 ,
- 0xe0541 ,
- 0xe0542 ,
- 0xe0543 ,
- 0xe0544 ,
- 0xe0545 ,
- 0xe0546 ,
- 0xe0547 ,
- 0xe0548 ,
- 0xe0549 ,
- 0xe054a ,
- 0xe054b ,
- 0xe054c ,
- 0xe054d ,
- 0xe054e ,
- 0xe054f ,
- 0xe0550 ,
- 0xe0551 ,
- 0xe0552 ,
- 0xe0553 ,
- 0xe0554 ,
- 0xe0555 ,
- 0xe0556 ,
- 0xe0557 ,
- 0xe0558 ,
- 0xe0559 ,
- 0xe055a ,
- 0xe055b ,
- 0xe055c ,
- 0xe055d ,
- 0xe055e ,
- 0xe055f ,
- 0xe0560 ,
- 0xe0561 ,
- 0xe0562 ,
- 0xe0563 ,
- 0xe0564 ,
- 0xe0565 ,
- 0xe0566 ,
- 0xe0567 ,
- 0xe0568 ,
- 0xe0569 ,
- 0xe056a ,
- 0xe056b ,
- 0xe056c ,
- 0xe056d ,
- 0xe056e ,
- 0xe056f ,
- 0xe0570 ,
- 0xe0571 ,
- 0xe0572 ,
- 0xe0573 ,
- 0xe0574 ,
- 0xe0575 ,
- 0xe0576 ,
- 0xe0577 ,
- 0xe0578 ,
- 0xe0579 ,
- 0xe057a ,
- 0xe057b ,
- 0xe057c ,
- 0xe057d ,
- 0xe057e ,
- 0xe057f ,
- 0xe0580 ,
- 0xe0581 ,
- 0xe0582 ,
- 0xe0583 ,
- 0xe0584 ,
- 0xe0585 ,
- 0xe0586 ,
- 0xe0587 ,
- 0xe0588 ,
- 0xe0589 ,
- 0xe058a ,
- 0xe058b ,
- 0xe058c ,
- 0xe058d ,
- 0xe058e ,
- 0xe058f ,
- 0xe0590 ,
- 0xe0591 ,
- 0xe0592 ,
- 0xe0593 ,
- 0xe0594 ,
- 0xe0595 ,
- 0xe0596 ,
- 0xe0597 ,
- 0xe0598 ,
- 0xe0599 ,
- 0xe059a ,
- 0xe059b ,
- 0xe059c ,
- 0xe059d ,
- 0xe059e ,
- 0xe059f ,
- 0xe05a0 ,
- 0xe05a1 ,
- 0xe05a2 ,
- 0xe05a3 ,
- 0xe05a4 ,
- 0xe05a5 ,
- 0xe05a6 ,
- 0xe05a7 ,
- 0xe05a8 ,
- 0xe05a9 ,
- 0xe05aa ,
- 0xe05ab ,
- 0xe05ac ,
- 0xe05ad ,
- 0xe05ae ,
- 0xe05af ,
- 0xe05b0 ,
- 0xe05b1 ,
- 0xe05b2 ,
- 0xe05b3 ,
- 0xe05b4 ,
- 0xe05b5 ,
- 0xe05b6 ,
- 0xe05b7 ,
- 0xe05b8 ,
- 0xe05b9 ,
- 0xe05ba ,
- 0xe05bb ,
- 0xe05bc ,
- 0xe05bd ,
- 0xe05be ,
- 0xe05bf ,
- 0xe05c0 ,
- 0xe05c1 ,
- 0xe05c2 ,
- 0xe05c3 ,
- 0xe05c4 ,
- 0xe05c5 ,
- 0xe05c6 ,
- 0xe05c7 ,
- 0xe05c8 ,
- 0xe05c9 ,
- 0xe05ca ,
- 0xe05cb ,
- 0xe05cc ,
- 0xe05cd ,
- 0xe05ce ,
- 0xe05cf ,
- 0xe05d0 ,
- 0xe05d1 ,
- 0xe05d2 ,
- 0xe05d3 ,
- 0xe05d4 ,
- 0xe05d5 ,
- 0xe05d6 ,
- 0xe05d7 ,
- 0xe05d8 ,
- 0xe05d9 ,
- 0xe05da ,
- 0xe05db ,
- 0xe05dc ,
- 0xe05dd ,
- 0xe05de ,
- 0xe05df ,
- 0xe05e0 ,
- 0xe05e1 ,
- 0xe05e2 ,
- 0xe05e3 ,
- 0xe05e4 ,
- 0xe05e5 ,
- 0xe05e6 ,
- 0xe05e7 ,
- 0xe05e8 ,
- 0xe05e9 ,
- 0xe05ea ,
- 0xe05eb ,
- 0xe05ec ,
- 0xe05ed ,
- 0xe05ee ,
- 0xe05ef ,
- 0xe05f0 ,
- 0xe05f1 ,
- 0xe05f2 ,
- 0xe05f3 ,
- 0xe05f4 ,
- 0xe05f5 ,
- 0xe05f6 ,
- 0xe05f7 ,
- 0xe05f8 ,
- 0xe05f9 ,
- 0xe05fa ,
- 0xe05fb ,
- 0xe05fc ,
- 0xe05fd ,
- 0xe05fe ,
- 0xe05ff ,
- 0xe0600 ,
- 0xe0601 ,
- 0xe0602 ,
- 0xe0603 ,
- 0xe0604 ,
- 0xe0605 ,
- 0xe0606 ,
- 0xe0607 ,
- 0xe0608 ,
- 0xe0609 ,
- 0xe060a ,
- 0xe060b ,
- 0xe060c ,
- 0xe060d ,
- 0xe060e ,
- 0xe060f ,
- 0xe0610 ,
- 0xe0611 ,
- 0xe0612 ,
- 0xe0613 ,
- 0xe0614 ,
- 0xe0615 ,
- 0xe0616 ,
- 0xe0617 ,
- 0xe0618 ,
- 0xe0619 ,
- 0xe061a ,
- 0xe061b ,
- 0xe061c ,
- 0xe061d ,
- 0xe061e ,
- 0xe061f ,
- 0xe0620 ,
- 0xe0621 ,
- 0xe0622 ,
- 0xe0623 ,
- 0xe0624 ,
- 0xe0625 ,
- 0xe0626 ,
- 0xe0627 ,
- 0xe0628 ,
- 0xe0629 ,
- 0xe062a ,
- 0xe062b ,
- 0xe062c ,
- 0xe062d ,
- 0xe062e ,
- 0xe062f ,
- 0xe0630 ,
- 0xe0631 ,
- 0xe0632 ,
- 0xe0633 ,
- 0xe0634 ,
- 0xe0635 ,
- 0xe0636 ,
- 0xe0637 ,
- 0xe0638 ,
- 0xe0639 ,
- 0xe063a ,
- 0xe063b ,
- 0xe063c ,
- 0xe063d ,
- 0xe063e ,
- 0xe063f ,
- 0xe0640 ,
- 0xe0641 ,
- 0xe0642 ,
- 0xe0643 ,
- 0xe0644 ,
- 0xe0645 ,
- 0xe0646 ,
- 0xe0647 ,
- 0xe0648 ,
- 0xe0649 ,
- 0xe064a ,
- 0xe064b ,
- 0xe064c ,
- 0xe064d ,
- 0xe064e ,
- 0xe064f ,
- 0xe0650 ,
- 0xe0651 ,
- 0xe0652 ,
- 0xe0653 ,
- 0xe0654 ,
- 0xe0655 ,
- 0xe0656 ,
- 0xe0657 ,
- 0xe0658 ,
- 0xe0659 ,
- 0xe065a ,
- 0xe065b ,
- 0xe065c ,
- 0xe065d ,
- 0xe065e ,
- 0xe065f ,
- 0xe0660 ,
- 0xe0661 ,
- 0xe0662 ,
- 0xe0663 ,
- 0xe0664 ,
- 0xe0665 ,
- 0xe0666 ,
- 0xe0667 ,
- 0xe0668 ,
- 0xe0669 ,
- 0xe066a ,
- 0xe066b ,
- 0xe066c ,
- 0xe066d ,
- 0xe066e ,
- 0xe066f ,
- 0xe0670 ,
- 0xe0671 ,
- 0xe0672 ,
- 0xe0673 ,
- 0xe0674 ,
- 0xe0675 ,
- 0xe0676 ,
- 0xe0677 ,
- 0xe0678 ,
- 0xe0679 ,
- 0xe067a ,
- 0xe067b ,
- 0xe067c ,
- 0xe067d ,
- 0xe067e ,
- 0xe067f ,
- 0xe0680 ,
- 0xe0681 ,
- 0xe0682 ,
- 0xe0683 ,
- 0xe0684 ,
- 0xe0685 ,
- 0xe0686 ,
- 0xe0687 ,
- 0xe0688 ,
- 0xe0689 ,
- 0xe068a ,
- 0xe068b ,
- 0xe068c ,
- 0xe068d ,
- 0xe068e ,
- 0xe068f ,
- 0xe0690 ,
- 0xe0691 ,
- 0xe0692 ,
- 0xe0693 ,
- 0xe0694 ,
- 0xe0695 ,
- 0xe0696 ,
- 0xe0697 ,
- 0xe0698 ,
- 0xe0699 ,
- 0xe069a ,
- 0xe069b ,
- 0xe069c ,
- 0xe069d ,
- 0xe069e ,
- 0xe069f ,
- 0xe06a0 ,
- 0xe06a1 ,
- 0xe06a2 ,
- 0xe06a3 ,
- 0xe06a4 ,
- 0xe06a5 ,
- 0xe06a6 ,
- 0xe06a7 ,
- 0xe06a8 ,
- 0xe06a9 ,
- 0xe06aa ,
- 0xe06ab ,
- 0xe06ac ,
- 0xe06ad ,
- 0xe06ae ,
- 0xe06af ,
- 0xe06b0 ,
- 0xe06b1 ,
- 0xe06b2 ,
- 0xe06b3 ,
- 0xe06b4 ,
- 0xe06b5 ,
- 0xe06b6 ,
- 0xe06b7 ,
- 0xe06b8 ,
- 0xe06b9 ,
- 0xe06ba ,
- 0xe06bb ,
- 0xe06bc ,
- 0xe06bd ,
- 0xe06be ,
- 0xe06bf ,
- 0xe06c0 ,
- 0xe06c1 ,
- 0xe06c2 ,
- 0xe06c3 ,
- 0xe06c4 ,
- 0xe06c5 ,
- 0xe06c6 ,
- 0xe06c7 ,
- 0xe06c8 ,
- 0xe06c9 ,
- 0xe06ca ,
- 0xe06cb ,
- 0xe06cc ,
- 0xe06cd ,
- 0xe06ce ,
- 0xe06cf ,
- 0xe06d0 ,
- 0xe06d1 ,
- 0xe06d2 ,
- 0xe06d3 ,
- 0xe06d4 ,
- 0xe06d5 ,
- 0xe06d6 ,
- 0xe06d7 ,
- 0xe06d8 ,
- 0xe06d9 ,
- 0xe06da ,
- 0xe06db ,
- 0xe06dc ,
- 0xe06dd ,
- 0xe06de ,
- 0xe06df ,
- 0xe06e0 ,
- 0xe06e1 ,
- 0xe06e2 ,
- 0xe06e3 ,
- 0xe06e4 ,
- 0xe06e5 ,
- 0xe06e6 ,
- 0xe06e7 ,
- 0xe06e8 ,
- 0xe06e9 ,
- 0xe06ea ,
- 0xe06eb ,
- 0xe06ec ,
- 0xe06ed ,
- 0xe06ee ,
- 0xe06ef ,
- 0xe06f0 ,
- 0xe06f1 ,
- 0xe06f2 ,
- 0xe06f3 ,
- 0xe06f4 ,
- 0xe06f5 ,
- 0xe06f6 ,
- 0xe06f7 ,
- 0xe06f8 ,
- 0xe06f9 ,
- 0xe06fa ,
- 0xe06fb ,
- 0xe06fc ,
- 0xe06fd ,
- 0xe06fe ,
- 0xe06ff ,
- 0xe0700 ,
- 0xe0701 ,
- 0xe0702 ,
- 0xe0703 ,
- 0xe0704 ,
- 0xe0705 ,
- 0xe0706 ,
- 0xe0707 ,
- 0xe0708 ,
- 0xe0709 ,
- 0xe070a ,
- 0xe070b ,
- 0xe070c ,
- 0xe070d ,
- 0xe070e ,
- 0xe070f ,
- 0xe0710 ,
- 0xe0711 ,
- 0xe0712 ,
- 0xe0713 ,
- 0xe0714 ,
- 0xe0715 ,
- 0xe0716 ,
- 0xe0717 ,
- 0xe0718 ,
- 0xe0719 ,
- 0xe071a ,
- 0xe071b ,
- 0xe071c ,
- 0xe071d ,
- 0xe071e ,
- 0xe071f ,
- 0xe0720 ,
- 0xe0721 ,
- 0xe0722 ,
- 0xe0723 ,
- 0xe0724 ,
- 0xe0725 ,
- 0xe0726 ,
- 0xe0727 ,
- 0xe0728 ,
- 0xe0729 ,
- 0xe072a ,
- 0xe072b ,
- 0xe072c ,
- 0xe072d ,
- 0xe072e ,
- 0xe072f ,
- 0xe0730 ,
- 0xe0731 ,
- 0xe0732 ,
- 0xe0733 ,
- 0xe0734 ,
- 0xe0735 ,
- 0xe0736 ,
- 0xe0737 ,
- 0xe0738 ,
- 0xe0739 ,
- 0xe073a ,
- 0xe073b ,
- 0xe073c ,
- 0xe073d ,
- 0xe073e ,
- 0xe073f ,
- 0xe0740 ,
- 0xe0741 ,
- 0xe0742 ,
- 0xe0743 ,
- 0xe0744 ,
- 0xe0745 ,
- 0xe0746 ,
- 0xe0747 ,
- 0xe0748 ,
- 0xe0749 ,
- 0xe074a ,
- 0xe074b ,
- 0xe074c ,
- 0xe074d ,
- 0xe074e ,
- 0xe074f ,
- 0xe0750 ,
- 0xe0751 ,
- 0xe0752 ,
- 0xe0753 ,
- 0xe0754 ,
- 0xe0755 ,
- 0xe0756 ,
- 0xe0757 ,
- 0xe0758 ,
- 0xe0759 ,
- 0xe075a ,
- 0xe075b ,
- 0xe075c ,
- 0xe075d ,
- 0xe075e ,
- 0xe075f ,
- 0xe0760 ,
- 0xe0761 ,
- 0xe0762 ,
- 0xe0763 ,
- 0xe0764 ,
- 0xe0765 ,
- 0xe0766 ,
- 0xe0767 ,
- 0xe0768 ,
- 0xe0769 ,
- 0xe076a ,
- 0xe076b ,
- 0xe076c ,
- 0xe076d ,
- 0xe076e ,
- 0xe076f ,
- 0xe0770 ,
- 0xe0771 ,
- 0xe0772 ,
- 0xe0773 ,
- 0xe0774 ,
- 0xe0775 ,
- 0xe0776 ,
- 0xe0777 ,
- 0xe0778 ,
- 0xe0779 ,
- 0xe077a ,
- 0xe077b ,
- 0xe077c ,
- 0xe077d ,
- 0xe077e ,
- 0xe077f ,
- 0xe0780 ,
- 0xe0781 ,
- 0xe0782 ,
- 0xe0783 ,
- 0xe0784 ,
- 0xe0785 ,
- 0xe0786 ,
- 0xe0787 ,
- 0xe0788 ,
- 0xe0789 ,
- 0xe078a ,
- 0xe078b ,
- 0xe078c ,
- 0xe078d ,
- 0xe078e ,
- 0xe078f ,
- 0xe0790 ,
- 0xe0791 ,
- 0xe0792 ,
- 0xe0793 ,
- 0xe0794 ,
- 0xe0795 ,
- 0xe0796 ,
- 0xe0797 ,
- 0xe0798 ,
- 0xe0799 ,
- 0xe079a ,
- 0xe079b ,
- 0xe079c ,
- 0xe079d ,
- 0xe079e ,
- 0xe079f ,
- 0xe07a0 ,
- 0xe07a1 ,
- 0xe07a2 ,
- 0xe07a3 ,
- 0xe07a4 ,
- 0xe07a5 ,
- 0xe07a6 ,
- 0xe07a7 ,
- 0xe07a8 ,
- 0xe07a9 ,
- 0xe07aa ,
- 0xe07ab ,
- 0xe07ac ,
- 0xe07ad ,
- 0xe07ae ,
- 0xe07af ,
- 0xe07b0 ,
- 0xe07b1 ,
- 0xe07b2 ,
- 0xe07b3 ,
- 0xe07b4 ,
- 0xe07b5 ,
- 0xe07b6 ,
- 0xe07b7 ,
- 0xe07b8 ,
- 0xe07b9 ,
- 0xe07ba ,
- 0xe07bb ,
- 0xe07bc ,
- 0xe07bd ,
- 0xe07be ,
- 0xe07bf ,
- 0xe07c0 ,
- 0xe07c1 ,
- 0xe07c2 ,
- 0xe07c3 ,
- 0xe07c4 ,
- 0xe07c5 ,
- 0xe07c6 ,
- 0xe07c7 ,
- 0xe07c8 ,
- 0xe07c9 ,
- 0xe07ca ,
- 0xe07cb ,
- 0xe07cc ,
- 0xe07cd ,
- 0xe07ce ,
- 0xe07cf ,
- 0xe07d0 ,
- 0xe07d1 ,
- 0xe07d2 ,
- 0xe07d3 ,
- 0xe07d4 ,
- 0xe07d5 ,
- 0xe07d6 ,
- 0xe07d7 ,
- 0xe07d8 ,
- 0xe07d9 ,
- 0xe07da ,
- 0xe07db ,
- 0xe07dc ,
- 0xe07dd ,
- 0xe07de ,
- 0xe07df ,
- 0xe07e0 ,
- 0xe07e1 ,
- 0xe07e2 ,
- 0xe07e3 ,
- 0xe07e4 ,
- 0xe07e5 ,
- 0xe07e6 ,
- 0xe07e7 ,
- 0xe07e8 ,
- 0xe07e9 ,
- 0xe07ea ,
- 0xe07eb ,
- 0xe07ec ,
- 0xe07ed ,
- 0xe07ee ,
- 0xe07ef ,
- 0xe07f0 ,
- 0xe07f1 ,
- 0xe07f2 ,
- 0xe07f3 ,
- 0xe07f4 ,
- 0xe07f5 ,
- 0xe07f6 ,
- 0xe07f7 ,
- 0xe07f8 ,
- 0xe07f9 ,
- 0xe07fa ,
- 0xe07fb ,
- 0xe07fc ,
- 0xe07fd ,
- 0xe07fe ,
- 0xe07ff ,
- 0xe0800 ,
- 0xe0801 ,
- 0xe0802 ,
- 0xe0803 ,
- 0xe0804 ,
- 0xe0805 ,
- 0xe0806 ,
- 0xe0807 ,
- 0xe0808 ,
- 0xe0809 ,
- 0xe080a ,
- 0xe080b ,
- 0xe080c ,
- 0xe080d ,
- 0xe080e ,
- 0xe080f ,
- 0xe0810 ,
- 0xe0811 ,
- 0xe0812 ,
- 0xe0813 ,
- 0xe0814 ,
- 0xe0815 ,
- 0xe0816 ,
- 0xe0817 ,
- 0xe0818 ,
- 0xe0819 ,
- 0xe081a ,
- 0xe081b ,
- 0xe081c ,
- 0xe081d ,
- 0xe081e ,
- 0xe081f ,
- 0xe0820 ,
- 0xe0821 ,
- 0xe0822 ,
- 0xe0823 ,
- 0xe0824 ,
- 0xe0825 ,
- 0xe0826 ,
- 0xe0827 ,
- 0xe0828 ,
- 0xe0829 ,
- 0xe082a ,
- 0xe082b ,
- 0xe082c ,
- 0xe082d ,
- 0xe082e ,
- 0xe082f ,
- 0xe0830 ,
- 0xe0831 ,
- 0xe0832 ,
- 0xe0833 ,
- 0xe0834 ,
- 0xe0835 ,
- 0xe0836 ,
- 0xe0837 ,
- 0xe0838 ,
- 0xe0839 ,
- 0xe083a ,
- 0xe083b ,
- 0xe083c ,
- 0xe083d ,
- 0xe083e ,
- 0xe083f ,
- 0xe0840 ,
- 0xe0841 ,
- 0xe0842 ,
- 0xe0843 ,
- 0xe0844 ,
- 0xe0845 ,
- 0xe0846 ,
- 0xe0847 ,
- 0xe0848 ,
- 0xe0849 ,
- 0xe084a ,
- 0xe084b ,
- 0xe084c ,
- 0xe084d ,
- 0xe084e ,
- 0xe084f ,
- 0xe0850 ,
- 0xe0851 ,
- 0xe0852 ,
- 0xe0853 ,
- 0xe0854 ,
- 0xe0855 ,
- 0xe0856 ,
- 0xe0857 ,
- 0xe0858 ,
- 0xe0859 ,
- 0xe085a ,
- 0xe085b ,
- 0xe085c ,
- 0xe085d ,
- 0xe085e ,
- 0xe085f ,
- 0xe0860 ,
- 0xe0861 ,
- 0xe0862 ,
- 0xe0863 ,
- 0xe0864 ,
- 0xe0865 ,
- 0xe0866 ,
- 0xe0867 ,
- 0xe0868 ,
- 0xe0869 ,
- 0xe086a ,
- 0xe086b ,
- 0xe086c ,
- 0xe086d ,
- 0xe086e ,
- 0xe086f ,
- 0xe0870 ,
- 0xe0871 ,
- 0xe0872 ,
- 0xe0873 ,
- 0xe0874 ,
- 0xe0875 ,
- 0xe0876 ,
- 0xe0877 ,
- 0xe0878 ,
- 0xe0879 ,
- 0xe087a ,
- 0xe087b ,
- 0xe087c ,
- 0xe087d ,
- 0xe087e ,
- 0xe087f ,
- 0xe0880 ,
- 0xe0881 ,
- 0xe0882 ,
- 0xe0883 ,
- 0xe0884 ,
- 0xe0885 ,
- 0xe0886 ,
- 0xe0887 ,
- 0xe0888 ,
- 0xe0889 ,
- 0xe088a ,
- 0xe088b ,
- 0xe088c ,
- 0xe088d ,
- 0xe088e ,
- 0xe088f ,
- 0xe0890 ,
- 0xe0891 ,
- 0xe0892 ,
- 0xe0893 ,
- 0xe0894 ,
- 0xe0895 ,
- 0xe0896 ,
- 0xe0897 ,
- 0xe0898 ,
- 0xe0899 ,
- 0xe089a ,
- 0xe089b ,
- 0xe089c ,
- 0xe089d ,
- 0xe089e ,
- 0xe089f ,
- 0xe08a0 ,
- 0xe08a1 ,
- 0xe08a2 ,
- 0xe08a3 ,
- 0xe08a4 ,
- 0xe08a5 ,
- 0xe08a6 ,
- 0xe08a7 ,
- 0xe08a8 ,
- 0xe08a9 ,
- 0xe08aa ,
- 0xe08ab ,
- 0xe08ac ,
- 0xe08ad ,
- 0xe08ae ,
- 0xe08af ,
- 0xe08b0 ,
- 0xe08b1 ,
- 0xe08b2 ,
- 0xe08b3 ,
- 0xe08b4 ,
- 0xe08b5 ,
- 0xe08b6 ,
- 0xe08b7 ,
- 0xe08b8 ,
- 0xe08b9 ,
- 0xe08ba ,
- 0xe08bb ,
- 0xe08bc ,
- 0xe08bd ,
- 0xe08be ,
- 0xe08bf ,
- 0xe08c0 ,
- 0xe08c1 ,
- 0xe08c2 ,
- 0xe08c3 ,
- 0xe08c4 ,
- 0xe08c5 ,
- 0xe08c6 ,
- 0xe08c7 ,
- 0xe08c8 ,
- 0xe08c9 ,
- 0xe08ca ,
- 0xe08cb ,
- 0xe08cc ,
- 0xe08cd ,
- 0xe08ce ,
- 0xe08cf ,
- 0xe08d0 ,
- 0xe08d1 ,
- 0xe08d2 ,
- 0xe08d3 ,
- 0xe08d4 ,
- 0xe08d5 ,
- 0xe08d6 ,
- 0xe08d7 ,
- 0xe08d8 ,
- 0xe08d9 ,
- 0xe08da ,
- 0xe08db ,
- 0xe08dc ,
- 0xe08dd ,
- 0xe08de ,
- 0xe08df ,
- 0xe08e0 ,
- 0xe08e1 ,
- 0xe08e2 ,
- 0xe08e3 ,
- 0xe08e4 ,
- 0xe08e5 ,
- 0xe08e6 ,
- 0xe08e7 ,
- 0xe08e8 ,
- 0xe08e9 ,
- 0xe08ea ,
- 0xe08eb ,
- 0xe08ec ,
- 0xe08ed ,
- 0xe08ee ,
- 0xe08ef ,
- 0xe08f0 ,
- 0xe08f1 ,
- 0xe08f2 ,
- 0xe08f3 ,
- 0xe08f4 ,
- 0xe08f5 ,
- 0xe08f6 ,
- 0xe08f7 ,
- 0xe08f8 ,
- 0xe08f9 ,
- 0xe08fa ,
- 0xe08fb ,
- 0xe08fc ,
- 0xe08fd ,
- 0xe08fe ,
- 0xe08ff ,
- 0xe0900 ,
- 0xe0901 ,
- 0xe0902 ,
- 0xe0903 ,
- 0xe0904 ,
- 0xe0905 ,
- 0xe0906 ,
- 0xe0907 ,
- 0xe0908 ,
- 0xe0909 ,
- 0xe090a ,
- 0xe090b ,
- 0xe090c ,
- 0xe090d ,
- 0xe090e ,
- 0xe090f ,
- 0xe0910 ,
- 0xe0911 ,
- 0xe0912 ,
- 0xe0913 ,
- 0xe0914 ,
- 0xe0915 ,
- 0xe0916 ,
- 0xe0917 ,
- 0xe0918 ,
- 0xe0919 ,
- 0xe091a ,
- 0xe091b ,
- 0xe091c ,
- 0xe091d ,
- 0xe091e ,
- 0xe091f ,
- 0xe0920 ,
- 0xe0921 ,
- 0xe0922 ,
- 0xe0923 ,
- 0xe0924 ,
- 0xe0925 ,
- 0xe0926 ,
- 0xe0927 ,
- 0xe0928 ,
- 0xe0929 ,
- 0xe092a ,
- 0xe092b ,
- 0xe092c ,
- 0xe092d ,
- 0xe092e ,
- 0xe092f ,
- 0xe0930 ,
- 0xe0931 ,
- 0xe0932 ,
- 0xe0933 ,
- 0xe0934 ,
- 0xe0935 ,
- 0xe0936 ,
- 0xe0937 ,
- 0xe0938 ,
- 0xe0939 ,
- 0xe093a ,
- 0xe093b ,
- 0xe093c ,
- 0xe093d ,
- 0xe093e ,
- 0xe093f ,
- 0xe0940 ,
- 0xe0941 ,
- 0xe0942 ,
- 0xe0943 ,
- 0xe0944 ,
- 0xe0945 ,
- 0xe0946 ,
- 0xe0947 ,
- 0xe0948 ,
- 0xe0949 ,
- 0xe094a ,
- 0xe094b ,
- 0xe094c ,
- 0xe094d ,
- 0xe094e ,
- 0xe094f ,
- 0xe0950 ,
- 0xe0951 ,
- 0xe0952 ,
- 0xe0953 ,
- 0xe0954 ,
- 0xe0955 ,
- 0xe0956 ,
- 0xe0957 ,
- 0xe0958 ,
- 0xe0959 ,
- 0xe095a ,
- 0xe095b ,
- 0xe095c ,
- 0xe095d ,
- 0xe095e ,
- 0xe095f ,
- 0xe0960 ,
- 0xe0961 ,
- 0xe0962 ,
- 0xe0963 ,
- 0xe0964 ,
- 0xe0965 ,
- 0xe0966 ,
- 0xe0967 ,
- 0xe0968 ,
- 0xe0969 ,
- 0xe096a ,
- 0xe096b ,
- 0xe096c ,
- 0xe096d ,
- 0xe096e ,
- 0xe096f ,
- 0xe0970 ,
- 0xe0971 ,
- 0xe0972 ,
- 0xe0973 ,
- 0xe0974 ,
- 0xe0975 ,
- 0xe0976 ,
- 0xe0977 ,
- 0xe0978 ,
- 0xe0979 ,
- 0xe097a ,
- 0xe097b ,
- 0xe097c ,
- 0xe097d ,
- 0xe097e ,
- 0xe097f ,
- 0xe0980 ,
- 0xe0981 ,
- 0xe0982 ,
- 0xe0983 ,
- 0xe0984 ,
- 0xe0985 ,
- 0xe0986 ,
- 0xe0987 ,
- 0xe0988 ,
- 0xe0989 ,
- 0xe098a ,
- 0xe098b ,
- 0xe098c ,
- 0xe098d ,
- 0xe098e ,
- 0xe098f ,
- 0xe0990 ,
- 0xe0991 ,
- 0xe0992 ,
- 0xe0993 ,
- 0xe0994 ,
- 0xe0995 ,
- 0xe0996 ,
- 0xe0997 ,
- 0xe0998 ,
- 0xe0999 ,
- 0xe099a ,
- 0xe099b ,
- 0xe099c ,
- 0xe099d ,
- 0xe099e ,
- 0xe099f ,
- 0xe09a0 ,
- 0xe09a1 ,
- 0xe09a2 ,
- 0xe09a3 ,
- 0xe09a4 ,
- 0xe09a5 ,
- 0xe09a6 ,
- 0xe09a7 ,
- 0xe09a8 ,
- 0xe09a9 ,
- 0xe09aa ,
- 0xe09ab ,
- 0xe09ac ,
- 0xe09ad ,
- 0xe09ae ,
- 0xe09af ,
- 0xe09b0 ,
- 0xe09b1 ,
- 0xe09b2 ,
- 0xe09b3 ,
- 0xe09b4 ,
- 0xe09b5 ,
- 0xe09b6 ,
- 0xe09b7 ,
- 0xe09b8 ,
- 0xe09b9 ,
- 0xe09ba ,
- 0xe09bb ,
- 0xe09bc ,
- 0xe09bd ,
- 0xe09be ,
- 0xe09bf ,
- 0xe09c0 ,
- 0xe09c1 ,
- 0xe09c2 ,
- 0xe09c3 ,
- 0xe09c4 ,
- 0xe09c5 ,
- 0xe09c6 ,
- 0xe09c7 ,
- 0xe09c8 ,
- 0xe09c9 ,
- 0xe09ca ,
- 0xe09cb ,
- 0xe09cc ,
- 0xe09cd ,
- 0xe09ce ,
- 0xe09cf ,
- 0xe09d0 ,
- 0xe09d1 ,
- 0xe09d2 ,
- 0xe09d3 ,
- 0xe09d4 ,
- 0xe09d5 ,
- 0xe09d6 ,
- 0xe09d7 ,
- 0xe09d8 ,
- 0xe09d9 ,
- 0xe09da ,
- 0xe09db ,
- 0xe09dc ,
- 0xe09dd ,
- 0xe09de ,
- 0xe09df ,
- 0xe09e0 ,
- 0xe09e1 ,
- 0xe09e2 ,
- 0xe09e3 ,
- 0xe09e4 ,
- 0xe09e5 ,
- 0xe09e6 ,
- 0xe09e7 ,
- 0xe09e8 ,
- 0xe09e9 ,
- 0xe09ea ,
- 0xe09eb ,
- 0xe09ec ,
- 0xe09ed ,
- 0xe09ee ,
- 0xe09ef ,
- 0xe09f0 ,
- 0xe09f1 ,
- 0xe09f2 ,
- 0xe09f3 ,
- 0xe09f4 ,
- 0xe09f5 ,
- 0xe09f6 ,
- 0xe09f7 ,
- 0xe09f8 ,
- 0xe09f9 ,
- 0xe09fa ,
- 0xe09fb ,
- 0xe09fc ,
- 0xe09fd ,
- 0xe09fe ,
- 0xe09ff ,
- 0xe0a00 ,
- 0xe0a01 ,
- 0xe0a02 ,
- 0xe0a03 ,
- 0xe0a04 ,
- 0xe0a05 ,
- 0xe0a06 ,
- 0xe0a07 ,
- 0xe0a08 ,
- 0xe0a09 ,
- 0xe0a0a ,
- 0xe0a0b ,
- 0xe0a0c ,
- 0xe0a0d ,
- 0xe0a0e ,
- 0xe0a0f ,
- 0xe0a10 ,
- 0xe0a11 ,
- 0xe0a12 ,
- 0xe0a13 ,
- 0xe0a14 ,
- 0xe0a15 ,
- 0xe0a16 ,
- 0xe0a17 ,
- 0xe0a18 ,
- 0xe0a19 ,
- 0xe0a1a ,
- 0xe0a1b ,
- 0xe0a1c ,
- 0xe0a1d ,
- 0xe0a1e ,
- 0xe0a1f ,
- 0xe0a20 ,
- 0xe0a21 ,
- 0xe0a22 ,
- 0xe0a23 ,
- 0xe0a24 ,
- 0xe0a25 ,
- 0xe0a26 ,
- 0xe0a27 ,
- 0xe0a28 ,
- 0xe0a29 ,
- 0xe0a2a ,
- 0xe0a2b ,
- 0xe0a2c ,
- 0xe0a2d ,
- 0xe0a2e ,
- 0xe0a2f ,
- 0xe0a30 ,
- 0xe0a31 ,
- 0xe0a32 ,
- 0xe0a33 ,
- 0xe0a34 ,
- 0xe0a35 ,
- 0xe0a36 ,
- 0xe0a37 ,
- 0xe0a38 ,
- 0xe0a39 ,
- 0xe0a3a ,
- 0xe0a3b ,
- 0xe0a3c ,
- 0xe0a3d ,
- 0xe0a3e ,
- 0xe0a3f ,
- 0xe0a40 ,
- 0xe0a41 ,
- 0xe0a42 ,
- 0xe0a43 ,
- 0xe0a44 ,
- 0xe0a45 ,
- 0xe0a46 ,
- 0xe0a47 ,
- 0xe0a48 ,
- 0xe0a49 ,
- 0xe0a4a ,
- 0xe0a4b ,
- 0xe0a4c ,
- 0xe0a4d ,
- 0xe0a4e ,
- 0xe0a4f ,
- 0xe0a50 ,
- 0xe0a51 ,
- 0xe0a52 ,
- 0xe0a53 ,
- 0xe0a54 ,
- 0xe0a55 ,
- 0xe0a56 ,
- 0xe0a57 ,
- 0xe0a58 ,
- 0xe0a59 ,
- 0xe0a5a ,
- 0xe0a5b ,
- 0xe0a5c ,
- 0xe0a5d ,
- 0xe0a5e ,
- 0xe0a5f ,
- 0xe0a60 ,
- 0xe0a61 ,
- 0xe0a62 ,
- 0xe0a63 ,
- 0xe0a64 ,
- 0xe0a65 ,
- 0xe0a66 ,
- 0xe0a67 ,
- 0xe0a68 ,
- 0xe0a69 ,
- 0xe0a6a ,
- 0xe0a6b ,
- 0xe0a6c ,
- 0xe0a6d ,
- 0xe0a6e ,
- 0xe0a6f ,
- 0xe0a70 ,
- 0xe0a71 ,
- 0xe0a72 ,
- 0xe0a73 ,
- 0xe0a74 ,
- 0xe0a75 ,
- 0xe0a76 ,
- 0xe0a77 ,
- 0xe0a78 ,
- 0xe0a79 ,
- 0xe0a7a ,
- 0xe0a7b ,
- 0xe0a7c ,
- 0xe0a7d ,
- 0xe0a7e ,
- 0xe0a7f ,
- 0xe0a80 ,
- 0xe0a81 ,
- 0xe0a82 ,
- 0xe0a83 ,
- 0xe0a84 ,
- 0xe0a85 ,
- 0xe0a86 ,
- 0xe0a87 ,
- 0xe0a88 ,
- 0xe0a89 ,
- 0xe0a8a ,
- 0xe0a8b ,
- 0xe0a8c ,
- 0xe0a8d ,
- 0xe0a8e ,
- 0xe0a8f ,
- 0xe0a90 ,
- 0xe0a91 ,
- 0xe0a92 ,
- 0xe0a93 ,
- 0xe0a94 ,
- 0xe0a95 ,
- 0xe0a96 ,
- 0xe0a97 ,
- 0xe0a98 ,
- 0xe0a99 ,
- 0xe0a9a ,
- 0xe0a9b ,
- 0xe0a9c ,
- 0xe0a9d ,
- 0xe0a9e ,
- 0xe0a9f ,
- 0xe0aa0 ,
- 0xe0aa1 ,
- 0xe0aa2 ,
- 0xe0aa3 ,
- 0xe0aa4 ,
- 0xe0aa5 ,
- 0xe0aa6 ,
- 0xe0aa7 ,
- 0xe0aa8 ,
- 0xe0aa9 ,
- 0xe0aaa ,
- 0xe0aab ,
- 0xe0aac ,
- 0xe0aad ,
- 0xe0aae ,
- 0xe0aaf ,
- 0xe0ab0 ,
- 0xe0ab1 ,
- 0xe0ab2 ,
- 0xe0ab3 ,
- 0xe0ab4 ,
- 0xe0ab5 ,
- 0xe0ab6 ,
- 0xe0ab7 ,
- 0xe0ab8 ,
- 0xe0ab9 ,
- 0xe0aba ,
- 0xe0abb ,
- 0xe0abc ,
- 0xe0abd ,
- 0xe0abe ,
- 0xe0abf ,
- 0xe0ac0 ,
- 0xe0ac1 ,
- 0xe0ac2 ,
- 0xe0ac3 ,
- 0xe0ac4 ,
- 0xe0ac5 ,
- 0xe0ac6 ,
- 0xe0ac7 ,
- 0xe0ac8 ,
- 0xe0ac9 ,
- 0xe0aca ,
- 0xe0acb ,
- 0xe0acc ,
- 0xe0acd ,
- 0xe0ace ,
- 0xe0acf ,
- 0xe0ad0 ,
- 0xe0ad1 ,
- 0xe0ad2 ,
- 0xe0ad3 ,
- 0xe0ad4 ,
- 0xe0ad5 ,
- 0xe0ad6 ,
- 0xe0ad7 ,
- 0xe0ad8 ,
- 0xe0ad9 ,
- 0xe0ada ,
- 0xe0adb ,
- 0xe0adc ,
- 0xe0add ,
- 0xe0ade ,
- 0xe0adf ,
- 0xe0ae0 ,
- 0xe0ae1 ,
- 0xe0ae2 ,
- 0xe0ae3 ,
- 0xe0ae4 ,
- 0xe0ae5 ,
- 0xe0ae6 ,
- 0xe0ae7 ,
- 0xe0ae8 ,
- 0xe0ae9 ,
- 0xe0aea ,
- 0xe0aeb ,
- 0xe0aec ,
- 0xe0aed ,
- 0xe0aee ,
- 0xe0aef ,
- 0xe0af0 ,
- 0xe0af1 ,
- 0xe0af2 ,
- 0xe0af3 ,
- 0xe0af4 ,
- 0xe0af5 ,
- 0xe0af6 ,
- 0xe0af7 ,
- 0xe0af8 ,
- 0xe0af9 ,
- 0xe0afa ,
- 0xe0afb ,
- 0xe0afc ,
- 0xe0afd ,
- 0xe0afe ,
- 0xe0aff ,
- 0xe0b00 ,
- 0xe0b01 ,
- 0xe0b02 ,
- 0xe0b03 ,
- 0xe0b04 ,
- 0xe0b05 ,
- 0xe0b06 ,
- 0xe0b07 ,
- 0xe0b08 ,
- 0xe0b09 ,
- 0xe0b0a ,
- 0xe0b0b ,
- 0xe0b0c ,
- 0xe0b0d ,
- 0xe0b0e ,
- 0xe0b0f ,
- 0xe0b10 ,
- 0xe0b11 ,
- 0xe0b12 ,
- 0xe0b13 ,
- 0xe0b14 ,
- 0xe0b15 ,
- 0xe0b16 ,
- 0xe0b17 ,
- 0xe0b18 ,
- 0xe0b19 ,
- 0xe0b1a ,
- 0xe0b1b ,
- 0xe0b1c ,
- 0xe0b1d ,
- 0xe0b1e ,
- 0xe0b1f ,
- 0xe0b20 ,
- 0xe0b21 ,
- 0xe0b22 ,
- 0xe0b23 ,
- 0xe0b24 ,
- 0xe0b25 ,
- 0xe0b26 ,
- 0xe0b27 ,
- 0xe0b28 ,
- 0xe0b29 ,
- 0xe0b2a ,
- 0xe0b2b ,
- 0xe0b2c ,
- 0xe0b2d ,
- 0xe0b2e ,
- 0xe0b2f ,
- 0xe0b30 ,
- 0xe0b31 ,
- 0xe0b32 ,
- 0xe0b33 ,
- 0xe0b34 ,
- 0xe0b35 ,
- 0xe0b36 ,
- 0xe0b37 ,
- 0xe0b38 ,
- 0xe0b39 ,
- 0xe0b3a ,
- 0xe0b3b ,
- 0xe0b3c ,
- 0xe0b3d ,
- 0xe0b3e ,
- 0xe0b3f ,
- 0xe0b40 ,
- 0xe0b41 ,
- 0xe0b42 ,
- 0xe0b43 ,
- 0xe0b44 ,
- 0xe0b45 ,
- 0xe0b46 ,
- 0xe0b47 ,
- 0xe0b48 ,
- 0xe0b49 ,
- 0xe0b4a ,
- 0xe0b4b ,
- 0xe0b4c ,
- 0xe0b4d ,
- 0xe0b4e ,
- 0xe0b4f ,
- 0xe0b50 ,
- 0xe0b51 ,
- 0xe0b52 ,
- 0xe0b53 ,
- 0xe0b54 ,
- 0xe0b55 ,
- 0xe0b56 ,
- 0xe0b57 ,
- 0xe0b58 ,
- 0xe0b59 ,
- 0xe0b5a ,
- 0xe0b5b ,
- 0xe0b5c ,
- 0xe0b5d ,
- 0xe0b5e ,
- 0xe0b5f ,
- 0xe0b60 ,
- 0xe0b61 ,
- 0xe0b62 ,
- 0xe0b63 ,
- 0xe0b64 ,
- 0xe0b65 ,
- 0xe0b66 ,
- 0xe0b67 ,
- 0xe0b68 ,
- 0xe0b69 ,
- 0xe0b6a ,
- 0xe0b6b ,
- 0xe0b6c ,
- 0xe0b6d ,
- 0xe0b6e ,
- 0xe0b6f ,
- 0xe0b70 ,
- 0xe0b71 ,
- 0xe0b72 ,
- 0xe0b73 ,
- 0xe0b74 ,
- 0xe0b75 ,
- 0xe0b76 ,
- 0xe0b77 ,
- 0xe0b78 ,
- 0xe0b79 ,
- 0xe0b7a ,
- 0xe0b7b ,
- 0xe0b7c ,
- 0xe0b7d ,
- 0xe0b7e ,
- 0xe0b7f ,
- 0xe0b80 ,
- 0xe0b81 ,
- 0xe0b82 ,
- 0xe0b83 ,
- 0xe0b84 ,
- 0xe0b85 ,
- 0xe0b86 ,
- 0xe0b87 ,
- 0xe0b88 ,
- 0xe0b89 ,
- 0xe0b8a ,
- 0xe0b8b ,
- 0xe0b8c ,
- 0xe0b8d ,
- 0xe0b8e ,
- 0xe0b8f ,
- 0xe0b90 ,
- 0xe0b91 ,
- 0xe0b92 ,
- 0xe0b93 ,
- 0xe0b94 ,
- 0xe0b95 ,
- 0xe0b96 ,
- 0xe0b97 ,
- 0xe0b98 ,
- 0xe0b99 ,
- 0xe0b9a ,
- 0xe0b9b ,
- 0xe0b9c ,
- 0xe0b9d ,
- 0xe0b9e ,
- 0xe0b9f ,
- 0xe0ba0 ,
- 0xe0ba1 ,
- 0xe0ba2 ,
- 0xe0ba3 ,
- 0xe0ba4 ,
- 0xe0ba5 ,
- 0xe0ba6 ,
- 0xe0ba7 ,
- 0xe0ba8 ,
- 0xe0ba9 ,
- 0xe0baa ,
- 0xe0bab ,
- 0xe0bac ,
- 0xe0bad ,
- 0xe0bae ,
- 0xe0baf ,
- 0xe0bb0 ,
- 0xe0bb1 ,
- 0xe0bb2 ,
- 0xe0bb3 ,
- 0xe0bb4 ,
- 0xe0bb5 ,
- 0xe0bb6 ,
- 0xe0bb7 ,
- 0xe0bb8 ,
- 0xe0bb9 ,
- 0xe0bba ,
- 0xe0bbb ,
- 0xe0bbc ,
- 0xe0bbd ,
- 0xe0bbe ,
- 0xe0bbf ,
- 0xe0bc0 ,
- 0xe0bc1 ,
- 0xe0bc2 ,
- 0xe0bc3 ,
- 0xe0bc4 ,
- 0xe0bc5 ,
- 0xe0bc6 ,
- 0xe0bc7 ,
- 0xe0bc8 ,
- 0xe0bc9 ,
- 0xe0bca ,
- 0xe0bcb ,
- 0xe0bcc ,
- 0xe0bcd ,
- 0xe0bce ,
- 0xe0bcf ,
- 0xe0bd0 ,
- 0xe0bd1 ,
- 0xe0bd2 ,
- 0xe0bd3 ,
- 0xe0bd4 ,
- 0xe0bd5 ,
- 0xe0bd6 ,
- 0xe0bd7 ,
- 0xe0bd8 ,
- 0xe0bd9 ,
- 0xe0bda ,
- 0xe0bdb ,
- 0xe0bdc ,
- 0xe0bdd ,
- 0xe0bde ,
- 0xe0bdf ,
- 0xe0be0 ,
- 0xe0be1 ,
- 0xe0be2 ,
- 0xe0be3 ,
- 0xe0be4 ,
- 0xe0be5 ,
- 0xe0be6 ,
- 0xe0be7 ,
- 0xe0be8 ,
- 0xe0be9 ,
- 0xe0bea ,
- 0xe0beb ,
- 0xe0bec ,
- 0xe0bed ,
- 0xe0bee ,
- 0xe0bef ,
- 0xe0bf0 ,
- 0xe0bf1 ,
- 0xe0bf2 ,
- 0xe0bf3 ,
- 0xe0bf4 ,
- 0xe0bf5 ,
- 0xe0bf6 ,
- 0xe0bf7 ,
- 0xe0bf8 ,
- 0xe0bf9 ,
- 0xe0bfa ,
- 0xe0bfb ,
- 0xe0bfc ,
- 0xe0bfd ,
- 0xe0bfe ,
- 0xe0bff ,
- 0xe0c00 ,
- 0xe0c01 ,
- 0xe0c02 ,
- 0xe0c03 ,
- 0xe0c04 ,
- 0xe0c05 ,
- 0xe0c06 ,
- 0xe0c07 ,
- 0xe0c08 ,
- 0xe0c09 ,
- 0xe0c0a ,
- 0xe0c0b ,
- 0xe0c0c ,
- 0xe0c0d ,
- 0xe0c0e ,
- 0xe0c0f ,
- 0xe0c10 ,
- 0xe0c11 ,
- 0xe0c12 ,
- 0xe0c13 ,
- 0xe0c14 ,
- 0xe0c15 ,
- 0xe0c16 ,
- 0xe0c17 ,
- 0xe0c18 ,
- 0xe0c19 ,
- 0xe0c1a ,
- 0xe0c1b ,
- 0xe0c1c ,
- 0xe0c1d ,
- 0xe0c1e ,
- 0xe0c1f ,
- 0xe0c20 ,
- 0xe0c21 ,
- 0xe0c22 ,
- 0xe0c23 ,
- 0xe0c24 ,
- 0xe0c25 ,
- 0xe0c26 ,
- 0xe0c27 ,
- 0xe0c28 ,
- 0xe0c29 ,
- 0xe0c2a ,
- 0xe0c2b ,
- 0xe0c2c ,
- 0xe0c2d ,
- 0xe0c2e ,
- 0xe0c2f ,
- 0xe0c30 ,
- 0xe0c31 ,
- 0xe0c32 ,
- 0xe0c33 ,
- 0xe0c34 ,
- 0xe0c35 ,
- 0xe0c36 ,
- 0xe0c37 ,
- 0xe0c38 ,
- 0xe0c39 ,
- 0xe0c3a ,
- 0xe0c3b ,
- 0xe0c3c ,
- 0xe0c3d ,
- 0xe0c3e ,
- 0xe0c3f ,
- 0xe0c40 ,
- 0xe0c41 ,
- 0xe0c42 ,
- 0xe0c43 ,
- 0xe0c44 ,
- 0xe0c45 ,
- 0xe0c46 ,
- 0xe0c47 ,
- 0xe0c48 ,
- 0xe0c49 ,
- 0xe0c4a ,
- 0xe0c4b ,
- 0xe0c4c ,
- 0xe0c4d ,
- 0xe0c4e ,
- 0xe0c4f ,
- 0xe0c50 ,
- 0xe0c51 ,
- 0xe0c52 ,
- 0xe0c53 ,
- 0xe0c54 ,
- 0xe0c55 ,
- 0xe0c56 ,
- 0xe0c57 ,
- 0xe0c58 ,
- 0xe0c59 ,
- 0xe0c5a ,
- 0xe0c5b ,
- 0xe0c5c ,
- 0xe0c5d ,
- 0xe0c5e ,
- 0xe0c5f ,
- 0xe0c60 ,
- 0xe0c61 ,
- 0xe0c62 ,
- 0xe0c63 ,
- 0xe0c64 ,
- 0xe0c65 ,
- 0xe0c66 ,
- 0xe0c67 ,
- 0xe0c68 ,
- 0xe0c69 ,
- 0xe0c6a ,
- 0xe0c6b ,
- 0xe0c6c ,
- 0xe0c6d ,
- 0xe0c6e ,
- 0xe0c6f ,
- 0xe0c70 ,
- 0xe0c71 ,
- 0xe0c72 ,
- 0xe0c73 ,
- 0xe0c74 ,
- 0xe0c75 ,
- 0xe0c76 ,
- 0xe0c77 ,
- 0xe0c78 ,
- 0xe0c79 ,
- 0xe0c7a ,
- 0xe0c7b ,
- 0xe0c7c ,
- 0xe0c7d ,
- 0xe0c7e ,
- 0xe0c7f ,
- 0xe0c80 ,
- 0xe0c81 ,
- 0xe0c82 ,
- 0xe0c83 ,
- 0xe0c84 ,
- 0xe0c85 ,
- 0xe0c86 ,
- 0xe0c87 ,
- 0xe0c88 ,
- 0xe0c89 ,
- 0xe0c8a ,
- 0xe0c8b ,
- 0xe0c8c ,
- 0xe0c8d ,
- 0xe0c8e ,
- 0xe0c8f ,
- 0xe0c90 ,
- 0xe0c91 ,
- 0xe0c92 ,
- 0xe0c93 ,
- 0xe0c94 ,
- 0xe0c95 ,
- 0xe0c96 ,
- 0xe0c97 ,
- 0xe0c98 ,
- 0xe0c99 ,
- 0xe0c9a ,
- 0xe0c9b ,
- 0xe0c9c ,
- 0xe0c9d ,
- 0xe0c9e ,
- 0xe0c9f ,
- 0xe0ca0 ,
- 0xe0ca1 ,
- 0xe0ca2 ,
- 0xe0ca3 ,
- 0xe0ca4 ,
- 0xe0ca5 ,
- 0xe0ca6 ,
- 0xe0ca7 ,
- 0xe0ca8 ,
- 0xe0ca9 ,
- 0xe0caa ,
- 0xe0cab ,
- 0xe0cac ,
- 0xe0cad ,
- 0xe0cae ,
- 0xe0caf ,
- 0xe0cb0 ,
- 0xe0cb1 ,
- 0xe0cb2 ,
- 0xe0cb3 ,
- 0xe0cb4 ,
- 0xe0cb5 ,
- 0xe0cb6 ,
- 0xe0cb7 ,
- 0xe0cb8 ,
- 0xe0cb9 ,
- 0xe0cba ,
- 0xe0cbb ,
- 0xe0cbc ,
- 0xe0cbd ,
- 0xe0cbe ,
- 0xe0cbf ,
- 0xe0cc0 ,
- 0xe0cc1 ,
- 0xe0cc2 ,
- 0xe0cc3 ,
- 0xe0cc4 ,
- 0xe0cc5 ,
- 0xe0cc6 ,
- 0xe0cc7 ,
- 0xe0cc8 ,
- 0xe0cc9 ,
- 0xe0cca ,
- 0xe0ccb ,
- 0xe0ccc ,
- 0xe0ccd ,
- 0xe0cce ,
- 0xe0ccf ,
- 0xe0cd0 ,
- 0xe0cd1 ,
- 0xe0cd2 ,
- 0xe0cd3 ,
- 0xe0cd4 ,
- 0xe0cd5 ,
- 0xe0cd6 ,
- 0xe0cd7 ,
- 0xe0cd8 ,
- 0xe0cd9 ,
- 0xe0cda ,
- 0xe0cdb ,
- 0xe0cdc ,
- 0xe0cdd ,
- 0xe0cde ,
- 0xe0cdf ,
- 0xe0ce0 ,
- 0xe0ce1 ,
- 0xe0ce2 ,
- 0xe0ce3 ,
- 0xe0ce4 ,
- 0xe0ce5 ,
- 0xe0ce6 ,
- 0xe0ce7 ,
- 0xe0ce8 ,
- 0xe0ce9 ,
- 0xe0cea ,
- 0xe0ceb ,
- 0xe0cec ,
- 0xe0ced ,
- 0xe0cee ,
- 0xe0cef ,
- 0xe0cf0 ,
- 0xe0cf1 ,
- 0xe0cf2 ,
- 0xe0cf3 ,
- 0xe0cf4 ,
- 0xe0cf5 ,
- 0xe0cf6 ,
- 0xe0cf7 ,
- 0xe0cf8 ,
- 0xe0cf9 ,
- 0xe0cfa ,
- 0xe0cfb ,
- 0xe0cfc ,
- 0xe0cfd ,
- 0xe0cfe ,
- 0xe0cff ,
- 0xe0d00 ,
- 0xe0d01 ,
- 0xe0d02 ,
- 0xe0d03 ,
- 0xe0d04 ,
- 0xe0d05 ,
- 0xe0d06 ,
- 0xe0d07 ,
- 0xe0d08 ,
- 0xe0d09 ,
- 0xe0d0a ,
- 0xe0d0b ,
- 0xe0d0c ,
- 0xe0d0d ,
- 0xe0d0e ,
- 0xe0d0f ,
- 0xe0d10 ,
- 0xe0d11 ,
- 0xe0d12 ,
- 0xe0d13 ,
- 0xe0d14 ,
- 0xe0d15 ,
- 0xe0d16 ,
- 0xe0d17 ,
- 0xe0d18 ,
- 0xe0d19 ,
- 0xe0d1a ,
- 0xe0d1b ,
- 0xe0d1c ,
- 0xe0d1d ,
- 0xe0d1e ,
- 0xe0d1f ,
- 0xe0d20 ,
- 0xe0d21 ,
- 0xe0d22 ,
- 0xe0d23 ,
- 0xe0d24 ,
- 0xe0d25 ,
- 0xe0d26 ,
- 0xe0d27 ,
- 0xe0d28 ,
- 0xe0d29 ,
- 0xe0d2a ,
- 0xe0d2b ,
- 0xe0d2c ,
- 0xe0d2d ,
- 0xe0d2e ,
- 0xe0d2f ,
- 0xe0d30 ,
- 0xe0d31 ,
- 0xe0d32 ,
- 0xe0d33 ,
- 0xe0d34 ,
- 0xe0d35 ,
- 0xe0d36 ,
- 0xe0d37 ,
- 0xe0d38 ,
- 0xe0d39 ,
- 0xe0d3a ,
- 0xe0d3b ,
- 0xe0d3c ,
- 0xe0d3d ,
- 0xe0d3e ,
- 0xe0d3f ,
- 0xe0d40 ,
- 0xe0d41 ,
- 0xe0d42 ,
- 0xe0d43 ,
- 0xe0d44 ,
- 0xe0d45 ,
- 0xe0d46 ,
- 0xe0d47 ,
- 0xe0d48 ,
- 0xe0d49 ,
- 0xe0d4a ,
- 0xe0d4b ,
- 0xe0d4c ,
- 0xe0d4d ,
- 0xe0d4e ,
- 0xe0d4f ,
- 0xe0d50 ,
- 0xe0d51 ,
- 0xe0d52 ,
- 0xe0d53 ,
- 0xe0d54 ,
- 0xe0d55 ,
- 0xe0d56 ,
- 0xe0d57 ,
- 0xe0d58 ,
- 0xe0d59 ,
- 0xe0d5a ,
- 0xe0d5b ,
- 0xe0d5c ,
- 0xe0d5d ,
- 0xe0d5e ,
- 0xe0d5f ,
- 0xe0d60 ,
- 0xe0d61 ,
- 0xe0d62 ,
- 0xe0d63 ,
- 0xe0d64 ,
- 0xe0d65 ,
- 0xe0d66 ,
- 0xe0d67 ,
- 0xe0d68 ,
- 0xe0d69 ,
- 0xe0d6a ,
- 0xe0d6b ,
- 0xe0d6c ,
- 0xe0d6d ,
- 0xe0d6e ,
- 0xe0d6f ,
- 0xe0d70 ,
- 0xe0d71 ,
- 0xe0d72 ,
- 0xe0d73 ,
- 0xe0d74 ,
- 0xe0d75 ,
- 0xe0d76 ,
- 0xe0d77 ,
- 0xe0d78 ,
- 0xe0d79 ,
- 0xe0d7a ,
- 0xe0d7b ,
- 0xe0d7c ,
- 0xe0d7d ,
- 0xe0d7e ,
- 0xe0d7f ,
- 0xe0d80 ,
- 0xe0d81 ,
- 0xe0d82 ,
- 0xe0d83 ,
- 0xe0d84 ,
- 0xe0d85 ,
- 0xe0d86 ,
- 0xe0d87 ,
- 0xe0d88 ,
- 0xe0d89 ,
- 0xe0d8a ,
- 0xe0d8b ,
- 0xe0d8c ,
- 0xe0d8d ,
- 0xe0d8e ,
- 0xe0d8f ,
- 0xe0d90 ,
- 0xe0d91 ,
- 0xe0d92 ,
- 0xe0d93 ,
- 0xe0d94 ,
- 0xe0d95 ,
- 0xe0d96 ,
- 0xe0d97 ,
- 0xe0d98 ,
- 0xe0d99 ,
- 0xe0d9a ,
- 0xe0d9b ,
- 0xe0d9c ,
- 0xe0d9d ,
- 0xe0d9e ,
- 0xe0d9f ,
- 0xe0da0 ,
- 0xe0da1 ,
- 0xe0da2 ,
- 0xe0da3 ,
- 0xe0da4 ,
- 0xe0da5 ,
- 0xe0da6 ,
- 0xe0da7 ,
- 0xe0da8 ,
- 0xe0da9 ,
- 0xe0daa ,
- 0xe0dab ,
- 0xe0dac ,
- 0xe0dad ,
- 0xe0dae ,
- 0xe0daf ,
- 0xe0db0 ,
- 0xe0db1 ,
- 0xe0db2 ,
- 0xe0db3 ,
- 0xe0db4 ,
- 0xe0db5 ,
- 0xe0db6 ,
- 0xe0db7 ,
- 0xe0db8 ,
- 0xe0db9 ,
- 0xe0dba ,
- 0xe0dbb ,
- 0xe0dbc ,
- 0xe0dbd ,
- 0xe0dbe ,
- 0xe0dbf ,
- 0xe0dc0 ,
- 0xe0dc1 ,
- 0xe0dc2 ,
- 0xe0dc3 ,
- 0xe0dc4 ,
- 0xe0dc5 ,
- 0xe0dc6 ,
- 0xe0dc7 ,
- 0xe0dc8 ,
- 0xe0dc9 ,
- 0xe0dca ,
- 0xe0dcb ,
- 0xe0dcc ,
- 0xe0dcd ,
- 0xe0dce ,
- 0xe0dcf ,
- 0xe0dd0 ,
- 0xe0dd1 ,
- 0xe0dd2 ,
- 0xe0dd3 ,
- 0xe0dd4 ,
- 0xe0dd5 ,
- 0xe0dd6 ,
- 0xe0dd7 ,
- 0xe0dd8 ,
- 0xe0dd9 ,
- 0xe0dda ,
- 0xe0ddb ,
- 0xe0ddc ,
- 0xe0ddd ,
- 0xe0dde ,
- 0xe0ddf ,
- 0xe0de0 ,
- 0xe0de1 ,
- 0xe0de2 ,
- 0xe0de3 ,
- 0xe0de4 ,
- 0xe0de5 ,
- 0xe0de6 ,
- 0xe0de7 ,
- 0xe0de8 ,
- 0xe0de9 ,
- 0xe0dea ,
- 0xe0deb ,
- 0xe0dec ,
- 0xe0ded ,
- 0xe0dee ,
- 0xe0def ,
- 0xe0df0 ,
- 0xe0df1 ,
- 0xe0df2 ,
- 0xe0df3 ,
- 0xe0df4 ,
- 0xe0df5 ,
- 0xe0df6 ,
- 0xe0df7 ,
- 0xe0df8 ,
- 0xe0df9 ,
- 0xe0dfa ,
- 0xe0dfb ,
- 0xe0dfc ,
- 0xe0dfd ,
- 0xe0dfe ,
- 0xe0dff ,
- 0xe0e00 ,
- 0xe0e01 ,
- 0xe0e02 ,
- 0xe0e03 ,
- 0xe0e04 ,
- 0xe0e05 ,
- 0xe0e06 ,
- 0xe0e07 ,
- 0xe0e08 ,
- 0xe0e09 ,
- 0xe0e0a ,
- 0xe0e0b ,
- 0xe0e0c ,
- 0xe0e0d ,
- 0xe0e0e ,
- 0xe0e0f ,
- 0xe0e10 ,
- 0xe0e11 ,
- 0xe0e12 ,
- 0xe0e13 ,
- 0xe0e14 ,
- 0xe0e15 ,
- 0xe0e16 ,
- 0xe0e17 ,
- 0xe0e18 ,
- 0xe0e19 ,
- 0xe0e1a ,
- 0xe0e1b ,
- 0xe0e1c ,
- 0xe0e1d ,
- 0xe0e1e ,
- 0xe0e1f ,
- 0xe0e20 ,
- 0xe0e21 ,
- 0xe0e22 ,
- 0xe0e23 ,
- 0xe0e24 ,
- 0xe0e25 ,
- 0xe0e26 ,
- 0xe0e27 ,
- 0xe0e28 ,
- 0xe0e29 ,
- 0xe0e2a ,
- 0xe0e2b ,
- 0xe0e2c ,
- 0xe0e2d ,
- 0xe0e2e ,
- 0xe0e2f ,
- 0xe0e30 ,
- 0xe0e31 ,
- 0xe0e32 ,
- 0xe0e33 ,
- 0xe0e34 ,
- 0xe0e35 ,
- 0xe0e36 ,
- 0xe0e37 ,
- 0xe0e38 ,
- 0xe0e39 ,
- 0xe0e3a ,
- 0xe0e3b ,
- 0xe0e3c ,
- 0xe0e3d ,
- 0xe0e3e ,
- 0xe0e3f ,
- 0xe0e40 ,
- 0xe0e41 ,
- 0xe0e42 ,
- 0xe0e43 ,
- 0xe0e44 ,
- 0xe0e45 ,
- 0xe0e46 ,
- 0xe0e47 ,
- 0xe0e48 ,
- 0xe0e49 ,
- 0xe0e4a ,
- 0xe0e4b ,
- 0xe0e4c ,
- 0xe0e4d ,
- 0xe0e4e ,
- 0xe0e4f ,
- 0xe0e50 ,
- 0xe0e51 ,
- 0xe0e52 ,
- 0xe0e53 ,
- 0xe0e54 ,
- 0xe0e55 ,
- 0xe0e56 ,
- 0xe0e57 ,
- 0xe0e58 ,
- 0xe0e59 ,
- 0xe0e5a ,
- 0xe0e5b ,
- 0xe0e5c ,
- 0xe0e5d ,
- 0xe0e5e ,
- 0xe0e5f ,
- 0xe0e60 ,
- 0xe0e61 ,
- 0xe0e62 ,
- 0xe0e63 ,
- 0xe0e64 ,
- 0xe0e65 ,
- 0xe0e66 ,
- 0xe0e67 ,
- 0xe0e68 ,
- 0xe0e69 ,
- 0xe0e6a ,
- 0xe0e6b ,
- 0xe0e6c ,
- 0xe0e6d ,
- 0xe0e6e ,
- 0xe0e6f ,
- 0xe0e70 ,
- 0xe0e71 ,
- 0xe0e72 ,
- 0xe0e73 ,
- 0xe0e74 ,
- 0xe0e75 ,
- 0xe0e76 ,
- 0xe0e77 ,
- 0xe0e78 ,
- 0xe0e79 ,
- 0xe0e7a ,
- 0xe0e7b ,
- 0xe0e7c ,
- 0xe0e7d ,
- 0xe0e7e ,
- 0xe0e7f ,
- 0xe0e80 ,
- 0xe0e81 ,
- 0xe0e82 ,
- 0xe0e83 ,
- 0xe0e84 ,
- 0xe0e85 ,
- 0xe0e86 ,
- 0xe0e87 ,
- 0xe0e88 ,
- 0xe0e89 ,
- 0xe0e8a ,
- 0xe0e8b ,
- 0xe0e8c ,
- 0xe0e8d ,
- 0xe0e8e ,
- 0xe0e8f ,
- 0xe0e90 ,
- 0xe0e91 ,
- 0xe0e92 ,
- 0xe0e93 ,
- 0xe0e94 ,
- 0xe0e95 ,
- 0xe0e96 ,
- 0xe0e97 ,
- 0xe0e98 ,
- 0xe0e99 ,
- 0xe0e9a ,
- 0xe0e9b ,
- 0xe0e9c ,
- 0xe0e9d ,
- 0xe0e9e ,
- 0xe0e9f ,
- 0xe0ea0 ,
- 0xe0ea1 ,
- 0xe0ea2 ,
- 0xe0ea3 ,
- 0xe0ea4 ,
- 0xe0ea5 ,
- 0xe0ea6 ,
- 0xe0ea7 ,
- 0xe0ea8 ,
- 0xe0ea9 ,
- 0xe0eaa ,
- 0xe0eab ,
- 0xe0eac ,
- 0xe0ead ,
- 0xe0eae ,
- 0xe0eaf ,
- 0xe0eb0 ,
- 0xe0eb1 ,
- 0xe0eb2 ,
- 0xe0eb3 ,
- 0xe0eb4 ,
- 0xe0eb5 ,
- 0xe0eb6 ,
- 0xe0eb7 ,
- 0xe0eb8 ,
- 0xe0eb9 ,
- 0xe0eba ,
- 0xe0ebb ,
- 0xe0ebc ,
- 0xe0ebd ,
- 0xe0ebe ,
- 0xe0ebf ,
- 0xe0ec0 ,
- 0xe0ec1 ,
- 0xe0ec2 ,
- 0xe0ec3 ,
- 0xe0ec4 ,
- 0xe0ec5 ,
- 0xe0ec6 ,
- 0xe0ec7 ,
- 0xe0ec8 ,
- 0xe0ec9 ,
- 0xe0eca ,
- 0xe0ecb ,
- 0xe0ecc ,
- 0xe0ecd ,
- 0xe0ece ,
- 0xe0ecf ,
- 0xe0ed0 ,
- 0xe0ed1 ,
- 0xe0ed2 ,
- 0xe0ed3 ,
- 0xe0ed4 ,
- 0xe0ed5 ,
- 0xe0ed6 ,
- 0xe0ed7 ,
- 0xe0ed8 ,
- 0xe0ed9 ,
- 0xe0eda ,
- 0xe0edb ,
- 0xe0edc ,
- 0xe0edd ,
- 0xe0ede ,
- 0xe0edf ,
- 0xe0ee0 ,
- 0xe0ee1 ,
- 0xe0ee2 ,
- 0xe0ee3 ,
- 0xe0ee4 ,
- 0xe0ee5 ,
- 0xe0ee6 ,
- 0xe0ee7 ,
- 0xe0ee8 ,
- 0xe0ee9 ,
- 0xe0eea ,
- 0xe0eeb ,
- 0xe0eec ,
- 0xe0eed ,
- 0xe0eee ,
- 0xe0eef ,
- 0xe0ef0 ,
- 0xe0ef1 ,
- 0xe0ef2 ,
- 0xe0ef3 ,
- 0xe0ef4 ,
- 0xe0ef5 ,
- 0xe0ef6 ,
- 0xe0ef7 ,
- 0xe0ef8 ,
- 0xe0ef9 ,
- 0xe0efa ,
- 0xe0efb ,
- 0xe0efc ,
- 0xe0efd ,
- 0xe0efe ,
- 0xe0eff ,
- 0xe0f00 ,
- 0xe0f01 ,
- 0xe0f02 ,
- 0xe0f03 ,
- 0xe0f04 ,
- 0xe0f05 ,
- 0xe0f06 ,
- 0xe0f07 ,
- 0xe0f08 ,
- 0xe0f09 ,
- 0xe0f0a ,
- 0xe0f0b ,
- 0xe0f0c ,
- 0xe0f0d ,
- 0xe0f0e ,
- 0xe0f0f ,
- 0xe0f10 ,
- 0xe0f11 ,
- 0xe0f12 ,
- 0xe0f13 ,
- 0xe0f14 ,
- 0xe0f15 ,
- 0xe0f16 ,
- 0xe0f17 ,
- 0xe0f18 ,
- 0xe0f19 ,
- 0xe0f1a ,
- 0xe0f1b ,
- 0xe0f1c ,
- 0xe0f1d ,
- 0xe0f1e ,
- 0xe0f1f ,
- 0xe0f20 ,
- 0xe0f21 ,
- 0xe0f22 ,
- 0xe0f23 ,
- 0xe0f24 ,
- 0xe0f25 ,
- 0xe0f26 ,
- 0xe0f27 ,
- 0xe0f28 ,
- 0xe0f29 ,
- 0xe0f2a ,
- 0xe0f2b ,
- 0xe0f2c ,
- 0xe0f2d ,
- 0xe0f2e ,
- 0xe0f2f ,
- 0xe0f30 ,
- 0xe0f31 ,
- 0xe0f32 ,
- 0xe0f33 ,
- 0xe0f34 ,
- 0xe0f35 ,
- 0xe0f36 ,
- 0xe0f37 ,
- 0xe0f38 ,
- 0xe0f39 ,
- 0xe0f3a ,
- 0xe0f3b ,
- 0xe0f3c ,
- 0xe0f3d ,
- 0xe0f3e ,
- 0xe0f3f ,
- 0xe0f40 ,
- 0xe0f41 ,
- 0xe0f42 ,
- 0xe0f43 ,
- 0xe0f44 ,
- 0xe0f45 ,
- 0xe0f46 ,
- 0xe0f47 ,
- 0xe0f48 ,
- 0xe0f49 ,
- 0xe0f4a ,
- 0xe0f4b ,
- 0xe0f4c ,
- 0xe0f4d ,
- 0xe0f4e ,
- 0xe0f4f ,
- 0xe0f50 ,
- 0xe0f51 ,
- 0xe0f52 ,
- 0xe0f53 ,
- 0xe0f54 ,
- 0xe0f55 ,
- 0xe0f56 ,
- 0xe0f57 ,
- 0xe0f58 ,
- 0xe0f59 ,
- 0xe0f5a ,
- 0xe0f5b ,
- 0xe0f5c ,
- 0xe0f5d ,
- 0xe0f5e ,
- 0xe0f5f ,
- 0xe0f60 ,
- 0xe0f61 ,
- 0xe0f62 ,
- 0xe0f63 ,
- 0xe0f64 ,
- 0xe0f65 ,
- 0xe0f66 ,
- 0xe0f67 ,
- 0xe0f68 ,
- 0xe0f69 ,
- 0xe0f6a ,
- 0xe0f6b ,
- 0xe0f6c ,
- 0xe0f6d ,
- 0xe0f6e ,
- 0xe0f6f ,
- 0xe0f70 ,
- 0xe0f71 ,
- 0xe0f72 ,
- 0xe0f73 ,
- 0xe0f74 ,
- 0xe0f75 ,
- 0xe0f76 ,
- 0xe0f77 ,
- 0xe0f78 ,
- 0xe0f79 ,
- 0xe0f7a ,
- 0xe0f7b ,
- 0xe0f7c ,
- 0xe0f7d ,
- 0xe0f7e ,
- 0xe0f7f ,
- 0xe0f80 ,
- 0xe0f81 ,
- 0xe0f82 ,
- 0xe0f83 ,
- 0xe0f84 ,
- 0xe0f85 ,
- 0xe0f86 ,
- 0xe0f87 ,
- 0xe0f88 ,
- 0xe0f89 ,
- 0xe0f8a ,
- 0xe0f8b ,
- 0xe0f8c ,
- 0xe0f8d ,
- 0xe0f8e ,
- 0xe0f8f ,
- 0xe0f90 ,
- 0xe0f91 ,
- 0xe0f92 ,
- 0xe0f93 ,
- 0xe0f94 ,
- 0xe0f95 ,
- 0xe0f96 ,
- 0xe0f97 ,
- 0xe0f98 ,
- 0xe0f99 ,
- 0xe0f9a ,
- 0xe0f9b ,
- 0xe0f9c ,
- 0xe0f9d ,
- 0xe0f9e ,
- 0xe0f9f ,
- 0xe0fa0 ,
- 0xe0fa1 ,
- 0xe0fa2 ,
- 0xe0fa3 ,
- 0xe0fa4 ,
- 0xe0fa5 ,
- 0xe0fa6 ,
- 0xe0fa7 ,
- 0xe0fa8 ,
- 0xe0fa9 ,
- 0xe0faa ,
- 0xe0fab ,
- 0xe0fac ,
- 0xe0fad ,
- 0xe0fae ,
- 0xe0faf ,
- 0xe0fb0 ,
- 0xe0fb1 ,
- 0xe0fb2 ,
- 0xe0fb3 ,
- 0xe0fb4 ,
- 0xe0fb5 ,
- 0xe0fb6 ,
- 0xe0fb7 ,
- 0xe0fb8 ,
- 0xe0fb9 ,
- 0xe0fba ,
- 0xe0fbb ,
- 0xe0fbc ,
- 0xe0fbd ,
- 0xe0fbe ,
- 0xe0fbf ,
- 0xe0fc0 ,
- 0xe0fc1 ,
- 0xe0fc2 ,
- 0xe0fc3 ,
- 0xe0fc4 ,
- 0xe0fc5 ,
- 0xe0fc6 ,
- 0xe0fc7 ,
- 0xe0fc8 ,
- 0xe0fc9 ,
- 0xe0fca ,
- 0xe0fcb ,
- 0xe0fcc ,
- 0xe0fcd ,
- 0xe0fce ,
- 0xe0fcf ,
- 0xe0fd0 ,
- 0xe0fd1 ,
- 0xe0fd2 ,
- 0xe0fd3 ,
- 0xe0fd4 ,
- 0xe0fd5 ,
- 0xe0fd6 ,
- 0xe0fd7 ,
- 0xe0fd8 ,
- 0xe0fd9 ,
- 0xe0fda ,
- 0xe0fdb ,
- 0xe0fdc ,
- 0xe0fdd ,
- 0xe0fde ,
- 0xe0fdf ,
- 0xe0fe0 ,
- 0xe0fe1 ,
- 0xe0fe2 ,
- 0xe0fe3 ,
- 0xe0fe4 ,
- 0xe0fe5 ,
- 0xe0fe6 ,
- 0xe0fe7 ,
- 0xe0fe8 ,
- 0xe0fe9 ,
- 0xe0fea ,
- 0xe0feb ,
- 0xe0fec ,
- 0xe0fed ,
- 0xe0fee ,
- 0xe0fef ,
- 0xe0ff0 ,
- 0xe0ff1 ,
- 0xe0ff2 ,
- 0xe0ff3 ,
- 0xe0ff4 ,
- 0xe0ff5 ,
- 0xe0ff6 ,
- 0xe0ff7 ,
- 0xe0ff8 ,
- 0xe0ff9 ,
- 0xe0ffa ,
- 0xe0ffb ,
- 0xe0ffc ,
- 0xe0ffd ,
- 0xe0ffe ,
- 0xe0fff };
-
-static FcBlanks fcBlanks = {
- 4191,
- -1,
- _fcBlanks
-};
-
+++ /dev/null
-/*
- * fontconfig/fc-blanks/fcblanks.tmpl.h
- *
- * 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 the author(s) not be used in
- * advertising or publicity pertaining to distribution of the software without
- * 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.
- *
- * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE AUTHOR(S) 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.
- */
-
-@@@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
#undef STRICT
#endif
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
#ifndef O_BINARY
#define O_BINARY 0
#endif
{
FILE *file = error ? stderr : stdout;
#if HAVE_GETOPT_LONG
- fprintf (file, "usage: %s [-EfrsvVh] [-y SYSROOT] [--error-on-no-fonts] [--force|--really-force] [--sysroot=SYSROOT] [--system-only] [--verbose] [--version] [--help] [dirs]\n",
+ fprintf (file, _("usage: %s [-EfrsvVh] [-y SYSROOT] [--error-on-no-fonts] [--force|--really-force] [--sysroot=SYSROOT] [--system-only] [--verbose] [--version] [--help] [dirs]\n"),
program);
#else
- fprintf (file, "usage: %s [-EfrsvVh] [-y SYSROOT] [dirs]\n",
+ fprintf (file, _("usage: %s [-EfrsvVh] [-y SYSROOT] [dirs]\n"),
program);
#endif
- fprintf (file, "Build font information caches in [dirs]\n"
- "(all directories in font configuration by default).\n");
+ fprintf (file, _("Build font information caches in [dirs]\n"
+ "(all directories in font configuration by default).\n"));
fprintf (file, "\n");
#if HAVE_GETOPT_LONG
- fprintf (file, " -E, --error-on-no-fonts raise an error if no fonts in a directory\n");
- fprintf (file, " -f, --force scan directories with apparently valid caches\n");
- fprintf (file, " -r, --really-force erase all existing caches, then rescan\n");
- fprintf (file, " -s, --system-only scan system-wide directories only\n");
- fprintf (file, " -y, --sysroot=SYSROOT prepend SYSROOT to all paths for scanning\n");
- fprintf (file, " -v, --verbose display status information while busy\n");
- fprintf (file, " -V, --version display font config version and exit\n");
- fprintf (file, " -h, --help display this help and exit\n");
+ fprintf (file, _(" -E, --error-on-no-fonts raise an error if no fonts in a directory\n"));
+ fprintf (file, _(" -f, --force scan directories with apparently valid caches\n"));
+ fprintf (file, _(" -r, --really-force erase all existing caches, then rescan\n"));
+ fprintf (file, _(" -s, --system-only scan system-wide directories only\n"));
+ fprintf (file, _(" -y, --sysroot=SYSROOT prepend SYSROOT to all paths for scanning\n"));
+ fprintf (file, _(" -v, --verbose display status information while busy\n"));
+ fprintf (file, _(" -V, --version display font config version and exit\n"));
+ fprintf (file, _(" -h, --help display this help and exit\n"));
#else
- fprintf (file, " -E (error-on-no-fonts)\n");
- fprintf (file, " raise an error if no fonts in a directory\n");
- fprintf (file, " -f (force) scan directories with apparently valid caches\n");
- fprintf (file, " -r, (really force) erase all existing caches, then rescan\n");
- fprintf (file, " -s (system) scan system-wide directories only\n");
- fprintf (file, " -y SYSROOT (sysroot) prepend SYSROOT to all paths for scanning\n");
- fprintf (file, " -v (verbose) display status information while busy\n");
- fprintf (file, " -V (version) display font config version and exit\n");
- fprintf (file, " -h (help) display this help and exit\n");
+ fprintf (file, _(" -E (error-on-no-fonts)\n"));
+ fprintf (file, _(" raise an error if no fonts in a directory\n"));
+ fprintf (file, _(" -f (force) scan directories with apparently valid caches\n"));
+ fprintf (file, _(" -r, (really force) erase all existing caches, then rescan\n"));
+ fprintf (file, _(" -s (system) scan system-wide directories only\n"));
+ fprintf (file, _(" -y SYSROOT (sysroot) prepend SYSROOT to all paths for scanning\n"));
+ fprintf (file, _(" -v (verbose) display status information while busy\n"));
+ fprintf (file, _(" -V (version) display font config version and exit\n"));
+ fprintf (file, _(" -h (help) display this help and exit\n"));
#endif
exit (error);
}
if (FcStrSetMember (processed_dirs, dir))
{
if (verbose)
- printf ("skipping, looped directory detected\n");
+ printf (_("skipping, looped directory detected\n"));
continue;
}
case ENOENT:
case ENOTDIR:
if (verbose)
- printf ("skipping, no such directory\n");
+ printf (_("skipping, no such directory\n"));
break;
default:
fprintf (stderr, "\"%s\": ", dir);
if (!S_ISDIR (statb.st_mode))
{
- fprintf (stderr, "\"%s\": not a directory, skipping\n", dir);
+ fprintf (stderr, _("\"%s\": not a directory, skipping\n"), dir);
continue;
}
was_processed = FcTrue;
if (really_force)
+ {
FcDirCacheUnlink (dir, config);
+ FcDirCacheCreateUUID ((FcChar8 *) dir, FcTrue, config);
+ }
cache = NULL;
was_valid = FcFalse;
cache = FcDirCacheRead (dir, FcTrue, config);
if (!cache)
{
- fprintf (stderr, "%s: error scanning\n", dir);
+ fprintf (stderr, _("\"%s\": scanning error\n"), dir);
ret++;
continue;
}
if (was_valid)
{
if (verbose)
- printf ("skipping, existing cache is valid: %d fonts, %d dirs\n",
+ printf (_("skipping, existing cache is valid: %d fonts, %d dirs\n"),
FcCacheNumFont (cache), FcCacheNumSubdir (cache));
}
else
{
if (verbose)
- printf ("caching, new cache contents: %d fonts, %d dirs\n",
+ printf (_("caching, new cache contents: %d fonts, %d dirs\n"),
FcCacheNumFont (cache), FcCacheNumSubdir (cache));
if (!FcDirCacheValid (dir))
{
- fprintf (stderr, "%s: failed to write cache\n", dir);
+ fprintf (stderr, _("%s: failed to write cache\n"), dir);
(void) FcDirCacheUnlink (dir, config);
ret++;
}
subdirs = FcStrSetCreate ();
if (!subdirs)
{
- fprintf (stderr, "%s: Can't create subdir set\n", dir);
+ fprintf (stderr, _("%s: Can't create subdir set\n"), dir);
ret++;
FcDirCacheUnload (cache);
continue;
FcStrSetDestroy (subdirs);
if (!sublist)
{
- fprintf (stderr, "%s: Can't create subdir list\n", dir);
+ fprintf (stderr, _("%s: Can't create subdir list\n"), dir);
ret++;
continue;
}
sysroot = FcStrCopy ((const FcChar8 *)optarg);
break;
case 'V':
- fprintf (stderr, "fontconfig version %d.%d.%d\n",
+ fprintf (stderr, "fontconfig version %d.%d.%d\n",
FC_MAJOR, FC_MINOR, FC_REVISION);
exit (0);
case 'v':
}
if (!config)
{
- fprintf (stderr, "%s: Can't init font config library\n", argv[0]);
+ fprintf (stderr, _("%s: Can't initialize font config library\n"), argv[0]);
return 1;
}
FcConfigSetCurrent (config);
dirs = FcStrSetCreate ();
if (!dirs)
{
- fprintf (stderr, "%s: Can't create list of directories\n",
+ fprintf (stderr, _("%s: Can't create list of directories\n"),
argv[0]);
return 1;
}
{
if (!FcStrSetAddFilename (dirs, (FcChar8 *) argv[i]))
{
- fprintf (stderr, "%s: Can't add directory\n", argv[0]);
+ fprintf (stderr, _("%s: Can't add directory\n"), argv[0]);
return 1;
}
i++;
FcStrSetDestroy (dirs);
}
else
- list = FcConfigGetConfigDirs (config);
+ list = FcConfigGetFontDirs (config);
if ((processed_dirs = FcStrSetCreate()) == NULL) {
- fprintf(stderr, "Cannot malloc\n");
+ fprintf(stderr, _("Out of Memory\n"));
return 1;
}
if (changed)
sleep (2);
if (verbose)
- printf ("%s: %s\n", argv[0], ret ? "failed" : "succeeded");
+ printf ("%s: %s\n", argv[0], ret ? _("failed") : _("succeeded"));
return ret;
}
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
#include <sys/stat.h>
#include <errno.h>
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
#ifndef HAVE_GETOPT
#define HAVE_GETOPT 0
#endif
{
FILE *file = error ? stderr : stdout;
#if HAVE_GETOPT_LONG
- fprintf (file, "usage: %s [-rv] [--recurse] [--verbose] [*-%s" FC_CACHE_SUFFIX "|directory]...\n",
+ fprintf (file, _("usage: %s [-rv] [--recurse] [--verbose] [*-%s" FC_CACHE_SUFFIX "|directory]...\n"),
program, FC_ARCHITECTURE);
fprintf (file, " %s [-Vh] [--version] [--help]\n", program);
#else
- fprintf (file, "usage: %s [-rvVh] [*-%s" FC_CACHE_SUFFIX "|directory]...\n",
+ fprintf (file, _("usage: %s [-rvVh] [*-%s" FC_CACHE_SUFFIX "|directory]...\n"),
program, FC_ARCHITECTURE);
#endif
- fprintf (file, "Reads font information cache from:\n");
- fprintf (file, " 1) specified fontconfig cache file\n");
- fprintf (file, " 2) related to a particular font directory\n");
+ fprintf (file, _("Reads font information cache from:\n"));
+ fprintf (file, _(" 1) specified fontconfig cache file\n"));
+ fprintf (file, _(" 2) related to a particular font directory\n"));
fprintf (file, "\n");
#if HAVE_GETOPT_LONG
- fprintf (file, " -r, --recurse recurse into subdirectories\n");
- fprintf (file, " -v, --verbose be verbose\n");
- fprintf (file, " -V, --version display font config version and exit\n");
- fprintf (file, " -h, --help display this help and exit\n");
+ fprintf (file, _(" -r, --recurse recurse into subdirectories\n"));
+ fprintf (file, _(" -v, --verbose be verbose\n"));
+ fprintf (file, _(" -V, --version display font config version and exit\n"));
+ fprintf (file, _(" -h, --help display this help and exit\n"));
#else
- fprintf (file, " -r (recurse) recurse into subdirectories\n");
- fprintf (file, " -v (verbose) be verbose\n");
- fprintf (file, " -V (version) display font config version and exit\n");
- fprintf (file, " -h (help) display this help and exit\n");
+ fprintf (file, _(" -r (recurse) recurse into subdirectories\n"));
+ fprintf (file, _(" -v (verbose) be verbose\n"));
+ fprintf (file, _(" -V (version) display font config version and exit\n"));
+ fprintf (file, _(" -h (help) display this help and exit\n"));
#endif
exit (error);
}
config = FcInitLoadConfig ();
if (!config)
{
- fprintf (stderr, "%s: Can't init font config library\n", argv[0]);
+ fprintf (stderr, _("%s: Can't initialize font config library\n"), argv[0]);
return 1;
}
FcConfigSetCurrent (config);
args = FcStrSetCreate ();
if (!args)
{
- fprintf (stderr, "%s: malloc failure\n", argv[0]);
+ fprintf (stderr, _("%s: malloc failure\n"), argv[0]);
return 1;
}
if (i < argc)
{
if (!FcStrSetAddFilename (args, (const FcChar8 *) argv[i]))
{
- fprintf (stderr, "%s: malloc failure\n", argv[0]);
+ fprintf (stderr, _("%s: malloc failure\n"), argv[0]);
return 1;
}
}
while ((arg = FcStrListNext (arglist)))
if (!FcStrSetAdd (args, arg))
{
- fprintf (stderr, "%s: malloc failure\n", argv[0]);
+ fprintf (stderr, _("%s: malloc failure\n"), argv[0]);
return 1;
}
FcStrListDone (arglist);
arglist = FcStrListCreate (args);
if (!arglist)
{
- fprintf (stderr, "%s: malloc failure\n", argv[0]);
+ fprintf (stderr, _("%s: malloc failure\n"), argv[0]);
return 1;
}
FcStrSetDestroy (args);
int j;
FcChar8 *cache_file = NULL;
struct stat file_stat;
-
+
+ /* reset errno */
+ errno = 0;
if (FcFileIsDir (arg))
cache = FcDirCacheLoad (arg, config, &cache_file);
else
cache = FcDirCacheLoadFile (arg, &file_stat);
if (!cache)
{
- perror ((char *) arg);
+ if (errno != 0)
+ perror ((char *) arg);
+ else
+ fprintf (stderr, "%s: Unable to load the cache: %s\n", argv[0], arg);
ret++;
continue;
}
{
if (!first)
printf ("\n");
- printf ("Directory: %s\nCache: %s\n--------\n",
+ printf (_("Directory: %s\nCache: %s\n--------\n"),
FcCacheDir(cache), cache_file ? cache_file : arg);
first = FcFalse;
}
--- /dev/null
+#
+# fontconfig/fc-conflist/Makefile.am
+#
+# 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 the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# 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.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) 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-conflist
+
+DOC2MAN = docbook2man
+
+FC_VALIDATE_SRC=${top_srcdir}/fc-conflist
+
+SGML = ${FC_VALIDATE_SRC}/fc-conflist.sgml
+
+AM_CPPFLAGS=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+
+BUILT_MANS=fc-conflist.1
+
+if ENABLE_DOCS
+man_MANS=${BUILT_MANS}
+endif
+
+EXTRA_DIST=fc-conflist.sgml $(BUILT_MANS)
+
+CLEANFILES =
+
+fc_conflist_LDADD = ${top_builddir}/src/libfontconfig.la $(FREETYPE_LIBS)
+
+if USEDOCBOOK
+
+${man_MANS}: ${SGML}
+ $(AM_V_GEN) $(RM) $@; \
+ $(DOC2MAN) ${SGML}; \
+ $(RM) manpage.*
+
+all-local: $(man_MANS)
+
+CLEANFILES += $(man_MANS)
+else
+all-local:
+endif
+
+-include $(top_srcdir)/git.mk
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@SET_MAKE@
-# -*- encoding: utf-8 -*-
#
-# Copyright © 2003 Keith Packard
-# Copyright © 2013 Google, Inc.
+# fontconfig/fc-conflist/Makefile.am
#
-# 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 the author(s) not be used in
-# advertising or publicity pertaining to distribution of the software without
-# 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.
+# Copyright © 2003 Keith Packard
#
-# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-# EVENT SHALL THE AUTHOR(S) 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.
+# 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 the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# 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.
#
-# Google Author(s): Behdad Esfahbod
-
-# -*- encoding: utf-8 -*-
-#
-# Copyright © 2003 Keith Packard
-# Copyright © 2013 Google, Inc.
-#
-# 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 the author(s) not be used in
-# advertising or publicity pertaining to distribution of the software without
-# 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.
-#
-# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-# EVENT SHALL THE AUTHOR(S) 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.
-#
-# Google Author(s): Behdad Esfahbod
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) 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.
VPATH = @srcdir@
am__is_gnu_make = { \
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = fc-glyphname
+bin_PROGRAMS = fc-conflist$(EXEEXT)
+@USEDOCBOOK_TRUE@am__append_1 = $(man_MANS)
+subdir = fc-conflist
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
- $(am__DIST_COMMON)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+fc_conflist_SOURCES = fc-conflist.c
+fc_conflist_OBJECTS = fc-conflist.$(OBJEXT)
+am__DEPENDENCIES_1 =
+fc_conflist_DEPENDENCIES = ${top_builddir}/src/libfontconfig.la \
+ $(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-SOURCES =
-DIST_SOURCES =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = fc-conflist.c
+DIST_SOURCES = fc-conflist.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
-HEADERS = $(noinst_HEADERS)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Tools.mk
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-TAG = glyphname
-DEPS = $(srcdir)/zapfdingbats.txt
-ARGS = $(srcdir)/zapfdingbats.txt
-DIST = $(srcdir)/zapfdingbats.txt
-DIR = fc-$(TAG)
-OUT = fc$(TAG)
-TMPL = $(OUT).tmpl.h
-TARG = $(OUT).h
-TSRC = $(DIR).c
-TOOL = ./$(DIR)$(EXEEXT_FOR_BUILD)
-EXTRA_DIST = $(TARG) $(TMPL) $(TSRC) $(DIST)
-AM_CPPFLAGS = \
- -I$(builddir) \
- -I$(srcdir) \
- -I$(top_builddir)/src \
- -I$(top_srcdir)/src \
- -I$(top_builddir) \
- -I$(top_srcdir) \
- -DHAVE_CONFIG_H \
- $(WARN_CFLAGS)
-
-noinst_HEADERS = $(TARG)
-ALIAS_FILES = fcalias.h fcaliastail.h
-BUILT_SOURCES = $(ALIAS_FILES)
-CLEANFILES = $(ALIAS_FILES) $(TOOL)
-MAINTAINERCLEANFILES = $(TARG)
-all: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) all-am
+DOC2MAN = docbook2man
+FC_VALIDATE_SRC = ${top_srcdir}/fc-conflist
+SGML = ${FC_VALIDATE_SRC}/fc-conflist.sgml
+AM_CPPFLAGS = -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
+BUILT_MANS = fc-conflist.1
+@ENABLE_DOCS_TRUE@man_MANS = ${BUILT_MANS}
+EXTRA_DIST = fc-conflist.sgml $(BUILT_MANS)
+CLEANFILES = $(am__append_1)
+fc_conflist_LDADD = ${top_builddir}/src/libfontconfig.la $(FREETYPE_LIBS)
+all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Tools.mk $(am__configure_deps)
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-glyphname/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-conflist/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu fc-glyphname/Makefile
+ $(AUTOMAKE) --gnu fc-conflist/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/Tools.mk $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+fc-conflist$(EXEEXT): $(fc_conflist_OBJECTS) $(fc_conflist_DEPENDENCIES) $(EXTRA_fc_conflist_DEPENDENCIES)
+ @rm -f fc-conflist$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(fc_conflist_OBJECTS) $(fc_conflist_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fc-conflist.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
fi; \
done
check-am: all-am
-check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(HEADERS)
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) all-local
installdirs:
-install: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) install-am
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
- -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
-clean-am: clean-generic clean-libtool mostlyclean-am
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
dvi: dvi-am
info-am:
-install-data-am:
+install-data-am: install-man
install-dvi: install-dvi-am
install-dvi-am:
-install-exec-am:
+install-exec-am: install-binPROGRAMS
install-html: install-html-am
install-info-am:
-install-man:
+install-man: install-man1
install-pdf: install-pdf-am
installcheck-am:
maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
pdf: pdf-am
ps-am:
-uninstall-am:
+uninstall-am: uninstall-binPROGRAMS uninstall-man
-.MAKE: all check install install-am install-strip
+uninstall-man: uninstall-man1
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool cscopelist-am ctags ctags-am distclean \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
+ install-info install-info-am install-man install-man1 \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-man uninstall-man1
.PRECIOUS: Makefile
-$(TOOL): $(TSRC) $(ALIAS_FILES)
- $(AM_V_GEN) $(CC_FOR_BUILD) -o $(TOOL) $< $(AM_CPPFLAGS)
-
-$(TARG): $(TMPL) $(TSRC) $(DEPS)
- $(AM_V_GEN) $(MAKE) $(TOOL) && \
- $(RM) $(TARG) && \
- $(TOOL) $(ARGS) < $< > $(TARG).tmp && \
- mv $(TARG).tmp $(TARG) || ( $(RM) $(TARG).tmp && false )
+@USEDOCBOOK_TRUE@${man_MANS}: ${SGML}
+@USEDOCBOOK_TRUE@ $(AM_V_GEN) $(RM) $@; \
+@USEDOCBOOK_TRUE@ $(DOC2MAN) ${SGML}; \
+@USEDOCBOOK_TRUE@ $(RM) manpage.*
-$(ALIAS_FILES):
- $(AM_V_GEN) touch $@
+@USEDOCBOOK_TRUE@all-local: $(man_MANS)
+@USEDOCBOOK_FALSE@all-local:
-include $(top_srcdir)/git.mk
--- /dev/null
+.\" auto-generated by docbook2man-spec from docbook-utils package
+.TH "FC-CONFLIST" "1" "Apr 1, 2014" "" ""
+.SH NAME
+fc-conflist \- Show the ruleset files information on the system
+.SH SYNOPSIS
+.sp
+\fBfc-conflist\fR [ \fB-Vh\fR ]
+
+ [ \fB--version\fR ] [ \fB--help\fR ]
+.SH "DESCRIPTION"
+.PP
+\fBfc-conflist\fR shows the ruleset files' information
+being installed on the system.
+.SH "OPTIONS"
+.PP
+This program follows the usual GNU command line syntax,
+with long options starting with two dashes (`-'). A summary of
+options is included below.
+.TP
+\fB-V\fR
+Show version of the program and exit.
+.TP
+\fB-h\fR
+Show summary of options.
+.SH "RETURN CODES"
+.PP
+\fBfc-conflist\fR returns error code 0 for successful parsing,
+or 1 if any errors occured or if at least one font face could not be opened.
+.SH "AUTHOR"
+.PP
+This manual page was updated by Akira TAGOH <akira@tagoh.org>\&.
--- /dev/null
+/*
+ * fontconfig/fc-conflist/fc-conflist.c
+ *
+ * Copyright © 2003 Keith Packard
+ * Copyright © 2014 Red Hat, Inc.
+ * Red Hat Author(s): Akira TAGOH
+ *
+ * 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 the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * 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.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) 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 <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
+#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[] = {
+ {"version", 0, 0, 'V'},
+ {"help", 0, 0, 'h'},
+ {NULL,0,0,0},
+};
+#else
+#if HAVE_GETOPT
+extern char *optarg;
+extern int optind, opterr, optopt;
+#endif
+#endif
+
+static void
+usage (char *program, int error)
+{
+ FILE *file = error ? stderr : stdout;
+#if HAVE_GETOPT_LONG
+ fprintf (file, _("usage: %s [-Vh] [--version] [--help]\n"),
+ program);
+#else
+ fprintf (file, _("usage: %s [-Vh]\n"),
+ program);
+#endif
+ fprintf (file, _("Show the ruleset files information on the system\n"));
+ fprintf (file, "\n");
+#if HAVE_GETOPT_LONG
+ fprintf (file, _(" -V, --version display font config version and exit\n"));
+ fprintf (file, _(" -h, --help display this help and exit\n"));
+#else
+ fprintf (file, _(" -V (version) display font config version and exit\n"));
+ fprintf (file, _(" -h (help) display this help and exit\n"));
+#endif
+ exit (error);
+}
+
+int
+main (int argc, char **argv)
+{
+ FcConfig *config;
+ FcConfigFileInfoIter iter;
+
+#if HAVE_GETOPT_LONG || HAVE_GETOPT
+ int c;
+
+#if HAVE_GETOPT_LONG
+ while ((c = getopt_long (argc, argv, "Vh", longopts, NULL)) != -1)
+#else
+ while ((c = getopt (argc, argv, "Vh")) != -1)
+#endif
+ {
+ switch (c) {
+ case 'V':
+ fprintf (stderr, "fontconfig version %d.%d.%d\n",
+ FC_MAJOR, FC_MINOR, FC_REVISION);
+ exit (0);
+ case 'h':
+ usage (argv[0], 0);
+ default:
+ usage (argv[0], 1);
+ }
+ }
+#endif
+
+ config = FcConfigGetCurrent ();
+ FcConfigFileInfoIterInit (config, &iter);
+ do
+ {
+ FcChar8 *name, *desc;
+ FcBool enabled;
+
+ if (FcConfigFileInfoIterGet (config, &iter, &name, &desc, &enabled))
+ {
+ printf ("%c %s: %s\n", enabled ? '+' : '-', name, desc);
+ FcStrFree (name);
+ FcStrFree (desc);
+ }
+ } while (FcConfigFileInfoIterNext (config, &iter));
+
+ FcFini ();
+
+ return 0;
+}
--- /dev/null
+<!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>Akira</firstname>">
+ <!ENTITY dhsurname "<surname>TAGOH</surname>">
+ <!-- Please adjust the date whenever revising the manpage. -->
+ <!ENTITY dhdate "<date>Apr 1, 2014</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>akira@tagoh.org</email>">
+ <!ENTITY dhusername "Akira TAGOH">
+ <!ENTITY dhucpackage "<refentrytitle>fc-conflist</refentrytitle>">
+ <!ENTITY dhpackage "fc-conflist">
+
+ <!ENTITY gnu "<acronym>GNU</acronym>">
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+ <refentryinfo>
+ <address>
+ &dhemail;
+ </address>
+ <author>
+ &dhfirstname;
+ &dhsurname;
+ </author>
+ <copyright>
+ <year>2014</year>
+ <holder>&dhusername;</holder>
+ </copyright>
+ &dhdate;
+ </refentryinfo>
+ <refmeta>
+ &dhucpackage;
+
+ &dhsection;
+ </refmeta>
+ <refnamediv>
+ <refname>&dhpackage;</refname>
+
+ <refpurpose>Show the ruleset files information on the system</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>&dhpackage;</command>
+
+ <arg><option>-Vh</option></arg>
+ <sbr>
+ <arg><option>--version</option></arg>
+ <arg><option>--help</option></arg>
+
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para><command>&dhpackage;</command> shows the ruleset files' information
+ being installed on the system.</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>-V</option>
+ <option>--version</option>
+ </term>
+ <listitem>
+ <para>Show version of the program and exit.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-h</option>
+ <option>--help</option>
+ </term>
+ <listitem>
+ <para>Show summary of options.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>RETURN CODES</title>
+ <para><command>fc-conflist</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>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:
+-->
+++ /dev/null
-# -*- encoding: utf-8 -*-
-#
-# Copyright © 2003 Keith Packard
-# Copyright © 2013 Google, Inc.
-#
-# 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 the author(s) not be used in
-# advertising or publicity pertaining to distribution of the software without
-# 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.
-#
-# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-# EVENT SHALL THE AUTHOR(S) 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.
-#
-# Google Author(s): Behdad Esfahbod
-
-TAG = glyphname
-DEPS = $(srcdir)/zapfdingbats.txt
-ARGS = $(srcdir)/zapfdingbats.txt
-DIST = $(srcdir)/zapfdingbats.txt
-
-include $(top_srcdir)/Tools.mk
-
--include $(top_srcdir)/git.mk
+++ /dev/null
-/*
- * fontconfig/fc-glyphname/fc-glyphname.c
- *
- * 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 the author(s) not be used in
- * advertising or publicity pertaining to distribution of the software without
- * 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.
- *
- * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE AUTHOR(S) 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.
- */
-
-#include "fcint.h"
-
-static int
-rawindex (const FcGlyphName *gn);
-
-static void
-scan (FILE *f, char *filename);
-
-static int
-isprime (int i);
-
-static void
-find_hash (void);
-
-static FcChar32
-FcHashGlyphName (const FcChar8 *name);
-
-static void
-insert (FcGlyphName *gn, FcGlyphName **table, FcChar32 h);
-
-static void
-dump (FcGlyphName * const *table, const char *name);
-
-static FcGlyphName *
-FcAllocGlyphName (FcChar32 ucs, FcChar8 *name)
-{
- FcGlyphName *gn;
-
- gn = malloc (sizeof (FcGlyphName) + strlen ((char *) name));
- if (!gn)
- return 0;
- gn->ucs = ucs;
- strcpy ((char *) gn->name, (char *) name);
- return gn;
-}
-
-static void
-fatal (const char *file, int lineno, const char *msg)
-{
- if (lineno)
- fprintf (stderr, "%s:%d: %s\n", file, lineno, msg);
- else
- fprintf (stderr, "%s: %s\n", file, msg);
-
- exit (1);
-}
-
-#define MAX_GLYPHFILE 256
-#define MAX_GLYPHNAME 10240
-#define MAX_NAMELEN 1024
-
-static FcGlyphName *raw[MAX_GLYPHNAME];
-static int nraw;
-static int max_name_len;
-static FcGlyphName *name_to_ucs[MAX_GLYPHNAME*2];
-static FcGlyphName *ucs_to_name[MAX_GLYPHNAME*2];
-static unsigned int hash, rehash;
-
-static int
-rawindex (const FcGlyphName *gn)
-{
- int i;
-
- for (i = 0; i < nraw; i++)
- if (raw[i] == gn)
- return i;
- return -1;
-}
-
-static void
-scan (FILE *f, char *filename)
-{
- char buf[MAX_NAMELEN];
- char name[MAX_NAMELEN];
- unsigned long ucs;
- FcGlyphName *gn;
- int lineno = 0;
- int len;
-
- while (fgets (buf, sizeof (buf), f))
- {
- lineno++;
- if (sscanf (buf, "%[^;];%lx\n", name, &ucs) != 2)
- continue;
- gn = FcAllocGlyphName ((FcChar32) ucs, (FcChar8 *) name);
- if (!gn)
- fatal (filename, lineno, "out of memory");
- len = strlen (name);
- if (len > max_name_len)
- max_name_len = len;
- raw[nraw++] = gn;
- }
-}
-
-static int compare_string (const void *a, const void *b)
-{
- const char *const *as = a, *const *bs = b;
- return strcmp (*as, *bs);
-}
-
-static int compare_glyphname (const void *a, const void *b)
-{
- const FcGlyphName *const *ag = a, *const *bg = b;
-
- return strcmp ((char *) (*ag)->name, (char *) (*bg)->name);
-}
-
-static int
-isqrt (int a)
-{
- int l, h, m;
-
- l = 2;
- h = a/2;
- while ((h-l) > 1)
- {
- m = (h+l) >> 1;
- if (m * m < a)
- l = m;
- else
- h = m;
- }
- return h;
-}
-
-static int
-isprime (int i)
-{
- int l, t;
-
- if (i < 2)
- return FcFalse;
- if ((i & 1) == 0)
- {
- if (i == 2)
- return FcTrue;
- return FcFalse;
- }
- l = isqrt (i) + 1;
- for (t = 3; t <= l; t += 2)
- if (i % t == 0)
- return 0;
- return 1;
-}
-
-/*
- * Find a prime pair that leaves at least 25% of the hash table empty
- */
-
-static void
-find_hash (void)
-{
- int h;
-
- h = nraw + nraw / 4;
- if ((h & 1) == 0)
- h++;
- while (!isprime(h-2) || !isprime(h))
- h += 2;
- hash = h;
- rehash = h-2;
-}
-
-static FcChar32
-FcHashGlyphName (const FcChar8 *name)
-{
- FcChar32 h = 0;
- FcChar8 c;
-
- while ((c = *name++))
- {
- h = ((h << 1) | (h >> 31)) ^ c;
- }
- return h;
-}
-
-static void
-insert (FcGlyphName *gn, FcGlyphName **table, FcChar32 h)
-{
- unsigned int i, r = 0;
-
- i = (int) (h % hash);
- while (table[i])
- {
- if (!r) r = (h % rehash + 1);
- i += r;
- if (i >= hash)
- i -= hash;
- }
- table[i] = gn;
-}
-
-static void
-dump (FcGlyphName * const *table, const char *name)
-{
- unsigned int i;
-
- printf ("static const FcGlyphId %s[%d] = {\n", name, hash);
-
- for (i = 0; i < hash; i++)
- if (table[i])
- printf (" %d,\n", rawindex(table[i]));
- else
- printf (" -1,\n");
-
- printf ("};\n");
-}
-
-int
-main (int argc FC_UNUSED, char **argv)
-{
- char *files[MAX_GLYPHFILE + 1];
- char line[1024];
- FILE *f;
- int i;
- const char *type;
-
- i = 0;
- while (argv[i+1])
- {
- if (i == MAX_GLYPHFILE)
- fatal (*argv, 0, "Too many glyphname files");
- files[i] = argv[i+1];
- i++;
- }
- files[i] = 0;
- qsort (files, i, sizeof (char *), compare_string);
- for (i = 0; files[i]; i++)
- {
- f = fopen (files[i], "r");
- if (!f)
- fatal (files[i], 0, strerror (errno));
- scan (f, files[i]);
- fclose (f);
- }
- qsort (raw, nraw, sizeof (FcGlyphName *), compare_glyphname);
-
- find_hash ();
-
- for (i = 0; i < nraw; i++)
- {
- insert (raw[i], name_to_ucs, FcHashGlyphName (raw[i]->name));
- insert (raw[i], ucs_to_name, raw[i]->ucs);
- }
-
- /*
- * Scan the input until the marker is found
- */
-
- while (fgets (line, sizeof (line), stdin))
- {
- if (!strncmp (line, "@@@", 3))
- break;
- fputs (line, stdout);
- }
-
- printf ("/* %d glyphnames in %d entries, %d%% occupancy */\n\n",
- nraw, hash, nraw * 100 / hash);
-
- printf ("#define FC_GLYPHNAME_HASH %u\n", hash);
- printf ("#define FC_GLYPHNAME_REHASH %u\n", rehash);
- printf ("#define FC_GLYPHNAME_MAXLEN %d\n\n", max_name_len);
- if (nraw < 128)
- type = "int8_t";
- else if (nraw < 32768)
- type = "int16_t";
- else
- type = "int32_t";
-
- printf ("typedef %s FcGlyphId;\n\n", type);
-
- /*
- * Dump out entries
- */
-
- printf ("static const struct { const FcChar32 ucs; const FcChar8 name[%d]; } _fc_glyph_names[%d] = {\n",
- max_name_len + 1, nraw);
-
- for (i = 0; i < nraw; i++)
- printf (" { 0x%lx, \"%s\" },\n",
- (unsigned long) raw[i]->ucs, raw[i]->name);
-
- printf ("};\n");
-
- /*
- * Dump out name_to_ucs table
- */
-
- dump (name_to_ucs, "_fc_name_to_ucs");
-
- /*
- * Dump out ucs_to_name table
- */
- dump (ucs_to_name, "_fc_ucs_to_name");
-
- while (fgets (line, sizeof (line), stdin))
- fputs (line, stdout);
-
- fflush (stdout);
- exit (ferror (stdout));
-}
+++ /dev/null
-/*
- * fontconfig/fc-glyphname/fcglyphname.tmpl.h
- *
- * 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 the author(s) not be used in
- * advertising or publicity pertaining to distribution of the software without
- * 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.
- *
- * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE AUTHOR(S) 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.
- */
-
-/* 201 glyphnames in 271 entries, 74% occupancy */
-
-#define FC_GLYPHNAME_HASH 271
-#define FC_GLYPHNAME_REHASH 269
-#define FC_GLYPHNAME_MAXLEN 4
-
-typedef int16_t FcGlyphId;
-
-static const struct { const FcChar32 ucs; const FcChar8 name[5]; } _fc_glyph_names[201] = {
- { 0x2701, "a1" },
- { 0x2721, "a10" },
- { 0x275e, "a100" },
- { 0x2761, "a101" },
- { 0x2762, "a102" },
- { 0x2763, "a103" },
- { 0x2764, "a104" },
- { 0x2710, "a105" },
- { 0x2765, "a106" },
- { 0x2766, "a107" },
- { 0x2767, "a108" },
- { 0x2660, "a109" },
- { 0x261b, "a11" },
- { 0x2665, "a110" },
- { 0x2666, "a111" },
- { 0x2663, "a112" },
- { 0x2709, "a117" },
- { 0x2708, "a118" },
- { 0x2707, "a119" },
- { 0x261e, "a12" },
- { 0x2460, "a120" },
- { 0x2461, "a121" },
- { 0x2462, "a122" },
- { 0x2463, "a123" },
- { 0x2464, "a124" },
- { 0x2465, "a125" },
- { 0x2466, "a126" },
- { 0x2467, "a127" },
- { 0x2468, "a128" },
- { 0x2469, "a129" },
- { 0x270c, "a13" },
- { 0x2776, "a130" },
- { 0x2777, "a131" },
- { 0x2778, "a132" },
- { 0x2779, "a133" },
- { 0x277a, "a134" },
- { 0x277b, "a135" },
- { 0x277c, "a136" },
- { 0x277d, "a137" },
- { 0x277e, "a138" },
- { 0x277f, "a139" },
- { 0x270d, "a14" },
- { 0x2780, "a140" },
- { 0x2781, "a141" },
- { 0x2782, "a142" },
- { 0x2783, "a143" },
- { 0x2784, "a144" },
- { 0x2785, "a145" },
- { 0x2786, "a146" },
- { 0x2787, "a147" },
- { 0x2788, "a148" },
- { 0x2789, "a149" },
- { 0x270e, "a15" },
- { 0x278a, "a150" },
- { 0x278b, "a151" },
- { 0x278c, "a152" },
- { 0x278d, "a153" },
- { 0x278e, "a154" },
- { 0x278f, "a155" },
- { 0x2790, "a156" },
- { 0x2791, "a157" },
- { 0x2792, "a158" },
- { 0x2793, "a159" },
- { 0x270f, "a16" },
- { 0x2794, "a160" },
- { 0x2192, "a161" },
- { 0x27a3, "a162" },
- { 0x2194, "a163" },
- { 0x2195, "a164" },
- { 0x2799, "a165" },
- { 0x279b, "a166" },
- { 0x279c, "a167" },
- { 0x279d, "a168" },
- { 0x279e, "a169" },
- { 0x2711, "a17" },
- { 0x279f, "a170" },
- { 0x27a0, "a171" },
- { 0x27a1, "a172" },
- { 0x27a2, "a173" },
- { 0x27a4, "a174" },
- { 0x27a5, "a175" },
- { 0x27a6, "a176" },
- { 0x27a7, "a177" },
- { 0x27a8, "a178" },
- { 0x27a9, "a179" },
- { 0x2712, "a18" },
- { 0x27ab, "a180" },
- { 0x27ad, "a181" },
- { 0x27af, "a182" },
- { 0x27b2, "a183" },
- { 0x27b3, "a184" },
- { 0x27b5, "a185" },
- { 0x27b8, "a186" },
- { 0x27ba, "a187" },
- { 0x27bb, "a188" },
- { 0x27bc, "a189" },
- { 0x2713, "a19" },
- { 0x27bd, "a190" },
- { 0x27be, "a191" },
- { 0x279a, "a192" },
- { 0x27aa, "a193" },
- { 0x27b6, "a194" },
- { 0x27b9, "a195" },
- { 0x2798, "a196" },
- { 0x27b4, "a197" },
- { 0x27b7, "a198" },
- { 0x27ac, "a199" },
- { 0x2702, "a2" },
- { 0x2714, "a20" },
- { 0x27ae, "a200" },
- { 0x27b1, "a201" },
- { 0x2703, "a202" },
- { 0x2750, "a203" },
- { 0x2752, "a204" },
- { 0x276e, "a205" },
- { 0x2770, "a206" },
- { 0x2715, "a21" },
- { 0x2716, "a22" },
- { 0x2717, "a23" },
- { 0x2718, "a24" },
- { 0x2719, "a25" },
- { 0x271a, "a26" },
- { 0x271b, "a27" },
- { 0x271c, "a28" },
- { 0x2722, "a29" },
- { 0x2704, "a3" },
- { 0x2723, "a30" },
- { 0x2724, "a31" },
- { 0x2725, "a32" },
- { 0x2726, "a33" },
- { 0x2727, "a34" },
- { 0x2605, "a35" },
- { 0x2729, "a36" },
- { 0x272a, "a37" },
- { 0x272b, "a38" },
- { 0x272c, "a39" },
- { 0x260e, "a4" },
- { 0x272d, "a40" },
- { 0x272e, "a41" },
- { 0x272f, "a42" },
- { 0x2730, "a43" },
- { 0x2731, "a44" },
- { 0x2732, "a45" },
- { 0x2733, "a46" },
- { 0x2734, "a47" },
- { 0x2735, "a48" },
- { 0x2736, "a49" },
- { 0x2706, "a5" },
- { 0x2737, "a50" },
- { 0x2738, "a51" },
- { 0x2739, "a52" },
- { 0x273a, "a53" },
- { 0x273b, "a54" },
- { 0x273c, "a55" },
- { 0x273d, "a56" },
- { 0x273e, "a57" },
- { 0x273f, "a58" },
- { 0x2740, "a59" },
- { 0x271d, "a6" },
- { 0x2741, "a60" },
- { 0x2742, "a61" },
- { 0x2743, "a62" },
- { 0x2744, "a63" },
- { 0x2745, "a64" },
- { 0x2746, "a65" },
- { 0x2747, "a66" },
- { 0x2748, "a67" },
- { 0x2749, "a68" },
- { 0x274a, "a69" },
- { 0x271e, "a7" },
- { 0x274b, "a70" },
- { 0x25cf, "a71" },
- { 0x274d, "a72" },
- { 0x25a0, "a73" },
- { 0x274f, "a74" },
- { 0x2751, "a75" },
- { 0x25b2, "a76" },
- { 0x25bc, "a77" },
- { 0x25c6, "a78" },
- { 0x2756, "a79" },
- { 0x271f, "a8" },
- { 0x25d7, "a81" },
- { 0x2758, "a82" },
- { 0x2759, "a83" },
- { 0x275a, "a84" },
- { 0x276f, "a85" },
- { 0x2771, "a86" },
- { 0x2772, "a87" },
- { 0x2773, "a88" },
- { 0x2768, "a89" },
- { 0x2720, "a9" },
- { 0x2769, "a90" },
- { 0x276c, "a91" },
- { 0x276d, "a92" },
- { 0x276a, "a93" },
- { 0x276b, "a94" },
- { 0x2774, "a95" },
- { 0x2775, "a96" },
- { 0x275b, "a97" },
- { 0x275c, "a98" },
- { 0x275d, "a99" },
-};
-static const FcGlyphId _fc_name_to_ucs[271] = {
- 123,
- 81,
- 198,
- 154,
- 142,
- 186,
- 82,
- -1,
- 143,
- 172,
- 181,
- 79,
- 153,
- 191,
- -1,
- -1,
- 80,
- 195,
- 179,
- 170,
- 151,
- 129,
- 101,
- 194,
- 85,
- 102,
- 73,
- 171,
- 99,
- -1,
- -1,
- 100,
- 196,
- -1,
- 189,
- 163,
- 110,
- 199,
- -1,
- -1,
- 59,
- 50,
- -1,
- 60,
- 75,
- -1,
- 51,
- -1,
- -1,
- 58,
- -1,
- 61,
- 55,
- -1,
- 192,
- 56,
- 62,
- -1,
- 53,
- 166,
- 113,
- 54,
- -1,
- 157,
- 33,
- 188,
- 177,
- 21,
- -1,
- -1,
- 31,
- -1,
- -1,
- 32,
- -1,
- -1,
- 24,
- 160,
- -1,
- 38,
- -1,
- -1,
- 26,
- -1,
- 161,
- 27,
- 197,
- 94,
- 95,
- 105,
- 106,
- 90,
- 91,
- 92,
- 93,
- 86,
- 87,
- 88,
- 89,
- 28,
- 29,
- 39,
- 40,
- 10,
- 11,
- 17,
- 18,
- 6,
- 7,
- 8,
- 9,
- 2,
- 3,
- 4,
- 5,
- -1,
- -1,
- 114,
- 108,
- 146,
- 74,
- -1,
- 117,
- 115,
- 118,
- 156,
- 119,
- -1,
- 120,
- -1,
- 121,
- 131,
- 122,
- -1,
- 109,
- -1,
- 124,
- 141,
- 134,
- 174,
- 144,
- -1,
- 137,
- 155,
- 138,
- -1,
- 64,
- -1,
- 140,
- 152,
- 65,
- -1,
- 111,
- -1,
- 57,
- 162,
- -1,
- -1,
- 67,
- -1,
- -1,
- 150,
- 68,
- -1,
- 167,
- -1,
- 69,
- 164,
- -1,
- 116,
- 70,
- -1,
- -1,
- 148,
- 71,
- -1,
- -1,
- 184,
- 72,
- 149,
- 176,
- 193,
- 34,
- 182,
- 145,
- -1,
- 83,
- 187,
- -1,
- 103,
- 84,
- 104,
- 200,
- 63,
- 37,
- 41,
- 52,
- 19,
- 30,
- 1,
- 12,
- 97,
- 35,
- 98,
- 135,
- 46,
- 36,
- 47,
- 96,
- 48,
- 159,
- 49,
- -1,
- 42,
- 112,
- 43,
- 173,
- 44,
- 168,
- 45,
- -1,
- 20,
- 183,
- 16,
- 147,
- 22,
- 178,
- 23,
- -1,
- 15,
- -1,
- 25,
- 190,
- 13,
- 139,
- 14,
- -1,
- -1,
- -1,
- 128,
- 107,
- 125,
- -1,
- 0,
- 158,
- 169,
- 136,
- 126,
- -1,
- -1,
- 180,
- 127,
- 77,
- -1,
- -1,
- 132,
- -1,
- 78,
- -1,
- 133,
- -1,
- 165,
- 66,
- 130,
- -1,
- -1,
- -1,
- 76,
- -1,
- 185,
- 175,
-};
-static const FcGlyphId _fc_ucs_to_name[271] = {
- 56,
- 135,
- 19,
- 138,
- 58,
- 140,
- 59,
- 142,
- 60,
- 144,
- 61,
- 146,
- 62,
- 149,
- 64,
- 151,
- 152,
- 153,
- 154,
- 155,
- 156,
- 157,
- 159,
- 160,
- 161,
- 162,
- 163,
- 131,
- 165,
- 166,
- 167,
- 168,
- 170,
- -1,
- 172,
- -1,
- 174,
- 112,
- 175,
- 113,
- -1,
- 173,
- -1,
- 179,
- -1,
- 182,
- 183,
- 158,
- 198,
- 199,
- 200,
- 2,
- -1,
- -1,
- 3,
- 4,
- 5,
- 6,
- 8,
- 9,
- 10,
- 189,
- 164,
- 194,
- 195,
- 192,
- 193,
- 114,
- 11,
- 115,
- 186,
- 15,
- 188,
- 13,
- 14,
- 31,
- 32,
- 33,
- 34,
- 35,
- 36,
- 37,
- 38,
- 39,
- 40,
- 42,
- 43,
- 44,
- 45,
- 46,
- 47,
- 48,
- 49,
- 50,
- 51,
- 53,
- 54,
- 55,
- 20,
- 21,
- 22,
- 23,
- 24,
- 25,
- 26,
- 27,
- 28,
- 29,
- -1,
- 103,
- 69,
- 99,
- 70,
- 71,
- 72,
- 73,
- 75,
- 76,
- 77,
- 78,
- 66,
- 79,
- 80,
- 81,
- 82,
- 83,
- 84,
- 100,
- 86,
- 106,
- 87,
- 109,
- 88,
- -1,
- 110,
- 89,
- 90,
- 104,
- 91,
- 101,
- 105,
- 92,
- 102,
- 93,
- 94,
- 95,
- 97,
- 98,
- 196,
- -1,
- 134,
- -1,
- -1,
- -1,
- -1,
- -1,
- 137,
- -1,
- -1,
- -1,
- -1,
- -1,
- 139,
- -1,
- -1,
- 176,
- -1,
- -1,
- 141,
- 184,
- -1,
- -1,
- -1,
- -1,
- 143,
- 177,
- 57,
- -1,
- -1,
- -1,
- 145,
- -1,
- -1,
- -1,
- -1,
- 178,
- 148,
- -1,
- -1,
- -1,
- -1,
- -1,
- 150,
- 65,
- 171,
- 67,
- 68,
- -1,
- -1,
- 191,
- -1,
- -1,
- 181,
- -1,
- -1,
- -1,
- -1,
- -1,
- -1,
- -1,
- -1,
- 185,
- -1,
- -1,
- -1,
- -1,
- -1,
- 187,
- -1,
- -1,
- -1,
- 133,
- -1,
- 197,
- -1,
- -1,
- -1,
- -1,
- -1,
- 0,
- 107,
- 111,
- 125,
- -1,
- 147,
- 18,
- 17,
- 16,
- -1,
- -1,
- 30,
- 41,
- 52,
- 63,
- 7,
- 74,
- 85,
- 96,
- 108,
- 116,
- 117,
- 118,
- 119,
- 120,
- 121,
- 122,
- 123,
- 136,
- 169,
- 180,
- 190,
- 1,
- 124,
- 126,
- 127,
- 128,
- 129,
- 130,
- -1,
- 132,
- 12,
-};
+++ /dev/null
-/*
- * fontconfig/fc-glyphname/fcglyphname.tmpl.h
- *
- * 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 the author(s) not be used in
- * advertising or publicity pertaining to distribution of the software without
- * 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.
- *
- * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE AUTHOR(S) 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.
- */
-
-@@@
+++ /dev/null
-# Name: ITC Zapf Dingbats Glyph List
-# Table version: 2.0
-# Date: September 20, 2002
-#
-# See http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
-#
-# Format: Semicolon-delimited fields:
-# (1) glyph name
-# (2) Unicode scalar value
-#
-a100;275E
-a101;2761
-a102;2762
-a103;2763
-a104;2764
-a105;2710
-a106;2765
-a107;2766
-a108;2767
-a109;2660
-a10;2721
-a110;2665
-a111;2666
-a112;2663
-a117;2709
-a118;2708
-a119;2707
-a11;261B
-a120;2460
-a121;2461
-a122;2462
-a123;2463
-a124;2464
-a125;2465
-a126;2466
-a127;2467
-a128;2468
-a129;2469
-a12;261E
-a130;2776
-a131;2777
-a132;2778
-a133;2779
-a134;277A
-a135;277B
-a136;277C
-a137;277D
-a138;277E
-a139;277F
-a13;270C
-a140;2780
-a141;2781
-a142;2782
-a143;2783
-a144;2784
-a145;2785
-a146;2786
-a147;2787
-a148;2788
-a149;2789
-a14;270D
-a150;278A
-a151;278B
-a152;278C
-a153;278D
-a154;278E
-a155;278F
-a156;2790
-a157;2791
-a158;2792
-a159;2793
-a15;270E
-a160;2794
-a161;2192
-a162;27A3
-a163;2194
-a164;2195
-a165;2799
-a166;279B
-a167;279C
-a168;279D
-a169;279E
-a16;270F
-a170;279F
-a171;27A0
-a172;27A1
-a173;27A2
-a174;27A4
-a175;27A5
-a176;27A6
-a177;27A7
-a178;27A8
-a179;27A9
-a17;2711
-a180;27AB
-a181;27AD
-a182;27AF
-a183;27B2
-a184;27B3
-a185;27B5
-a186;27B8
-a187;27BA
-a188;27BB
-a189;27BC
-a18;2712
-a190;27BD
-a191;27BE
-a192;279A
-a193;27AA
-a194;27B6
-a195;27B9
-a196;2798
-a197;27B4
-a198;27B7
-a199;27AC
-a19;2713
-a1;2701
-a200;27AE
-a201;27B1
-a202;2703
-a203;2750
-a204;2752
-a205;276E
-a206;2770
-a20;2714
-a21;2715
-a22;2716
-a23;2717
-a24;2718
-a25;2719
-a26;271A
-a27;271B
-a28;271C
-a29;2722
-a2;2702
-a30;2723
-a31;2724
-a32;2725
-a33;2726
-a34;2727
-a35;2605
-a36;2729
-a37;272A
-a38;272B
-a39;272C
-a3;2704
-a40;272D
-a41;272E
-a42;272F
-a43;2730
-a44;2731
-a45;2732
-a46;2733
-a47;2734
-a48;2735
-a49;2736
-a4;260E
-a50;2737
-a51;2738
-a52;2739
-a53;273A
-a54;273B
-a55;273C
-a56;273D
-a57;273E
-a58;273F
-a59;2740
-a5;2706
-a60;2741
-a61;2742
-a62;2743
-a63;2744
-a64;2745
-a65;2746
-a66;2747
-a67;2748
-a68;2749
-a69;274A
-a6;271D
-a70;274B
-a71;25CF
-a72;274D
-a73;25A0
-a74;274F
-a75;2751
-a76;25B2
-a77;25BC
-a78;25C6
-a79;2756
-a7;271E
-a81;25D7
-a82;2758
-a83;2759
-a84;275A
-a85;276F
-a86;2771
-a87;2772
-a88;2773
-a89;2768
-a8;271F
-a90;2769
-a91;276C
-a92;276D
-a93;276A
-a94;276B
-a95;2774
-a96;2775
-a97;275B
-a98;275C
-a99;275D
-a9;2720
-#-- end
brx.orth \
sat.orth \
doi.orth \
- mni.orth
+ mni.orth \
+ und_zsye.orth \
+ und_zmth.orth
# ^-------------- Add new orth files here
-include $(top_srcdir)/git.mk
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
brx.orth \
sat.orth \
doi.orth \
- mni.orth
+ mni.orth \
+ und_zsye.orth \
+ und_zmth.orth
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
if (sscanf (line, "%x-%x", &start, &end) != 2)
fatal (file, lineno, "parse error");
}
+ else if (strstr (line, ".."))
+ {
+ if (sscanf (line, "%x..%x", &start, &end) != 2)
+ fatal (file, lineno, "parse error");
+ }
else
{
if (sscanf (line, "%x", &start) != 1)
while (setRangeChar <= c && c <= 'z')
setRangeStart[setRangeChar++ - 'a'] = i;
}
+ while (setRangeChar <= 'z') /* no language code starts with these letters */
+ setRangeStart[setRangeChar++ - 'a'] = i;
+
for (setRangeChar = 'a'; setRangeChar < 'z'; setRangeChar++)
setRangeEnd[setRangeChar - 'a'] = setRangeStart[setRangeChar+1-'a'] - 1;
setRangeEnd[setRangeChar - 'a'] = i - 1;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* total size: 1087 unique leaves: 702 */
+/* total size: 1111 unique leaves: 725 */
-#define LEAF0 (244 * sizeof (FcLangCharSet))
-#define OFF0 (LEAF0 + 702 * sizeof (FcCharLeaf))
-#define NUM0 (OFF0 + 755 * sizeof (uintptr_t))
+#define LEAF0 (246 * sizeof (FcLangCharSet))
+#define OFF0 (LEAF0 + 725 * sizeof (FcCharLeaf))
+#define NUM0 (OFF0 + 779 * sizeof (uintptr_t))
#define SET(n) (n * sizeof (FcLangCharSet) + offsetof (FcLangCharSet, charset))
#define OFF(s,o) (OFF0 + o * sizeof (uintptr_t) - SET(s))
#define NUM(s,n) (NUM0 + n * sizeof (FcChar16) - SET(s))
#define fcLangCharSetIndicesInv (fcLangData.langIndicesInv)
static const struct {
- FcLangCharSet langCharSets[244];
- FcCharLeaf leaves[702];
- uintptr_t leaf_offsets[755];
- FcChar16 numbers[755];
- FcChar8 langIndices[244];
- FcChar8 langIndicesInv[244];
+ FcLangCharSet langCharSets[246];
+ FcCharLeaf leaves[725];
+ uintptr_t leaf_offsets[779];
+ FcChar16 numbers[779];
+ FcChar8 langIndices[246];
+ FcChar8 langIndicesInv[246];
} fcLangData = {
{
{ "aa", { FC_REF_CONSTANT, 1, OFF(0,0), NUM(0,0) } }, /* 0 */
{ "tyv", { FC_REF_CONSTANT, 1, OFF(220,284), NUM(220,284) } }, /* 220 */
{ "ug", { FC_REF_CONSTANT, 1, OFF(221,398), NUM(221,398) } }, /* 221 */
{ "uk", { FC_REF_CONSTANT, 1, OFF(222,399), NUM(222,399) } }, /* 222 */
- { "ur", { FC_REF_CONSTANT, 1, OFF(223,287), NUM(223,287) } }, /* 223 */
- { "uz", { FC_REF_CONSTANT, 1, OFF(224,87), NUM(224,87) } }, /* 224 */
- { "ve", { FC_REF_CONSTANT, 2, OFF(225,400), NUM(225,400) } }, /* 225 */
- { "vi", { FC_REF_CONSTANT, 4, OFF(226,402), NUM(226,402) } }, /* 226 */
- { "vo", { FC_REF_CONSTANT, 1, OFF(227,406), NUM(227,406) } }, /* 227 */
- { "vot", { FC_REF_CONSTANT, 2, OFF(228,407), NUM(228,407) } }, /* 228 */
- { "wa", { FC_REF_CONSTANT, 1, OFF(229,409), NUM(229,409) } }, /* 229 */
- { "wal", { FC_REF_CONSTANT, 2, OFF(230,367), NUM(230,367) } }, /* 230 */
- { "wen", { FC_REF_CONSTANT, 2, OFF(231,410), NUM(231,410) } }, /* 231 */
- { "wo", { FC_REF_CONSTANT, 2, OFF(232,412), NUM(232,412) } }, /* 232 */
- { "xh", { FC_REF_CONSTANT, 1, OFF(233,87), NUM(233,87) } }, /* 233 */
- { "yap", { FC_REF_CONSTANT, 1, OFF(234,414), NUM(234,414) } }, /* 234 */
- { "yi", { FC_REF_CONSTANT, 1, OFF(235,108), NUM(235,108) } }, /* 235 */
- { "yo", { FC_REF_CONSTANT, 4, OFF(236,415), NUM(236,415) } }, /* 236 */
- { "za", { FC_REF_CONSTANT, 1, OFF(237,87), NUM(237,87) } }, /* 237 */
- { "zh-cn", { FC_REF_CONSTANT, 82, OFF(238,419), NUM(238,419) } }, /* 238 */
- { "zh-hk", { FC_REF_CONSTANT, 171, OFF(239,501), NUM(239,501) } }, /* 239 */
- { "zh-mo", { FC_REF_CONSTANT, 171, OFF(240,501), NUM(240,501) } }, /* 240 */
- { "zh-sg", { FC_REF_CONSTANT, 82, OFF(241,419), NUM(241,419) } }, /* 241 */
- { "zh-tw", { FC_REF_CONSTANT, 83, OFF(242,672), NUM(242,672) } }, /* 242 */
- { "zu", { FC_REF_CONSTANT, 1, OFF(243,87), NUM(243,87) } }, /* 243 */
+ { "und-zmth", { FC_REF_CONSTANT, 12, OFF(223,400), NUM(223,400) } }, /* 223 */
+ { "und-zsye", { FC_REF_CONSTANT, 12, OFF(224,412), NUM(224,412) } }, /* 224 */
+ { "ur", { FC_REF_CONSTANT, 1, OFF(225,287), NUM(225,287) } }, /* 225 */
+ { "uz", { FC_REF_CONSTANT, 1, OFF(226,87), NUM(226,87) } }, /* 226 */
+ { "ve", { FC_REF_CONSTANT, 2, OFF(227,424), NUM(227,424) } }, /* 227 */
+ { "vi", { FC_REF_CONSTANT, 4, OFF(228,426), NUM(228,426) } }, /* 228 */
+ { "vo", { FC_REF_CONSTANT, 1, OFF(229,430), NUM(229,430) } }, /* 229 */
+ { "vot", { FC_REF_CONSTANT, 2, OFF(230,431), NUM(230,431) } }, /* 230 */
+ { "wa", { FC_REF_CONSTANT, 1, OFF(231,433), NUM(231,433) } }, /* 231 */
+ { "wal", { FC_REF_CONSTANT, 2, OFF(232,367), NUM(232,367) } }, /* 232 */
+ { "wen", { FC_REF_CONSTANT, 2, OFF(233,434), NUM(233,434) } }, /* 233 */
+ { "wo", { FC_REF_CONSTANT, 2, OFF(234,436), NUM(234,436) } }, /* 234 */
+ { "xh", { FC_REF_CONSTANT, 1, OFF(235,87), NUM(235,87) } }, /* 235 */
+ { "yap", { FC_REF_CONSTANT, 1, OFF(236,438), NUM(236,438) } }, /* 236 */
+ { "yi", { FC_REF_CONSTANT, 1, OFF(237,108), NUM(237,108) } }, /* 237 */
+ { "yo", { FC_REF_CONSTANT, 4, OFF(238,439), NUM(238,439) } }, /* 238 */
+ { "za", { FC_REF_CONSTANT, 1, OFF(239,87), NUM(239,87) } }, /* 239 */
+ { "zh-cn", { FC_REF_CONSTANT, 82, OFF(240,443), NUM(240,443) } }, /* 240 */
+ { "zh-hk", { FC_REF_CONSTANT, 171, OFF(241,525), NUM(241,525) } }, /* 241 */
+ { "zh-mo", { FC_REF_CONSTANT, 171, OFF(242,525), NUM(242,525) } }, /* 242 */
+ { "zh-sg", { FC_REF_CONSTANT, 82, OFF(243,443), NUM(243,443) } }, /* 243 */
+ { "zh-tw", { FC_REF_CONSTANT, 83, OFF(244,696), NUM(244,696) } }, /* 244 */
+ { "zu", { FC_REF_CONSTANT, 1, OFF(245,87), NUM(245,87) } }, /* 245 */
},
{
{ { /* 0 */
0x00030000, 0x00000000, 0x00000000, 0x00000000,
} },
{ { /* 354 */
+ 0x00000000, 0xffffff7b, 0x7fffffff, 0x7ffffffe,
+ 0x00000000, 0x80e310fe, 0x00800000, 0x00800000,
+ } },
+ { { /* 355 */
+ 0x00000000, 0x00020000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 356 */
+ 0x00001500, 0x01000000, 0x00000000, 0x00000000,
+ 0xfffe0000, 0xfffe03db, 0x006003fb, 0x00030000,
+ } },
+ { { /* 357 */
+ 0x00400000, 0x00000047, 0x00800010, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000002,
+ } },
+ { { /* 358 */
+ 0x3f2fc004, 0x00000010, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 359 */
+ 0xe3ffbfff, 0xfff007ff, 0x00000001, 0x00000000,
+ 0xfffff000, 0x0000003f, 0x0000e10f, 0x00000000,
+ } },
+ { { /* 360 */
+ 0x00000f00, 0x0000000c, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 361 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000003, 0x00000000, 0x00000000,
+ } },
+ { { /* 362 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x000003c0,
+ } },
+ { { /* 363 */
+ 0xffffffff, 0xffffffff, 0xffdfffff, 0xffffffff,
+ 0xdfffffff, 0x00001e64, 0x00000000, 0x00000000,
+ } },
+ { { /* 364 */
+ 0x00000000, 0x78000000, 0x0001fc5f, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 365 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000030, 0x00000000, 0x00000000,
+ } },
+ { { /* 366 */
+ 0x0c000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00091e00,
+ } },
+ { { /* 367 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x60000000,
+ } },
+ { { /* 368 */
+ 0x00300000, 0x00000000, 0x000fff00, 0x80000000,
+ 0x00080000, 0x60000c02, 0x00104030, 0x242c0400,
+ } },
+ { { /* 369 */
+ 0x00000c20, 0x00000100, 0x00b85000, 0x00000000,
+ 0x00e00000, 0x80010000, 0x00000000, 0x00000000,
+ } },
+ { { /* 370 */
+ 0x18000000, 0x00000000, 0x00210000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 371 */
+ 0x00000010, 0x00000000, 0x00000000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00008000, 0x00000000,
+ } },
+ { { /* 372 */
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ 0x07fe4000, 0x00000000, 0x00000000, 0xffffffc0,
+ } },
+ { { /* 373 */
+ 0x04000002, 0x077c8000, 0x00030000, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 374 */
+ 0xffffffff, 0xffbf0001, 0xffffffff, 0x1fffffff,
+ 0x000fffff, 0xffffffff, 0x000007df, 0x0001ffff,
+ } },
+ { { /* 375 */
+ 0x00000000, 0x00000000, 0xfffffffd, 0xffffffff,
+ 0xffffffff, 0xffffffff, 0xffffffff, 0x1effffff,
+ } },
+ { { /* 376 */
+ 0xffffffff, 0x3fffffff, 0xffff0000, 0x000000ff,
+ 0x00000000, 0x00000000, 0x00000000, 0xf8000000,
+ } },
+ { { /* 377 */
+ 0x755dfffe, 0xffef2f3f, 0x0000ffe1, 0x00000000,
+ 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+ } },
+ { { /* 378 */
0x000c0000, 0x30000000, 0x00000c30, 0x00030000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 355 */
+ { { /* 379 */
0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
0x00000000, 0x00000000, 0x263c370f, 0x263c370f,
} },
- { { /* 356 */
+ { { /* 380 */
0x0003000c, 0x00000300, 0x00000000, 0x00000300,
0x00000000, 0x00018003, 0x00000000, 0x00000000,
} },
- { { /* 357 */
+ { { /* 381 */
0x0800024f, 0x00000008, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 358 */
+ { { /* 382 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0xffffffff, 0xffffffff, 0x03ffffff,
} },
- { { /* 359 */
+ { { /* 383 */
0x00000000, 0x00000000, 0x077dfffe, 0x077dfffe,
0x00000000, 0x00000000, 0x10400010, 0x10400010,
} },
- { { /* 360 */
+ { { /* 384 */
0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
0x00000000, 0x00000000, 0x10400010, 0x10400010,
} },
- { { /* 361 */
+ { { /* 385 */
0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
0x00000000, 0x00000000, 0x081047a4, 0x081047a4,
} },
- { { /* 362 */
+ { { /* 386 */
0x0c0030c0, 0x00000000, 0x0f30001e, 0x66000003,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 363 */
+ { { /* 387 */
0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
0x00000000, 0x00000000, 0x000a0a09, 0x000a0a09,
} },
- { { /* 364 */
+ { { /* 388 */
0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
0x00000000, 0x00000000, 0x00400810, 0x00400810,
} },
- { { /* 365 */
+ { { /* 389 */
0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
0x00000000, 0x00000000, 0x0e3c770f, 0x0e3c770f,
} },
- { { /* 366 */
+ { { /* 390 */
0x0c000000, 0x00000300, 0x00000018, 0x00000300,
0x00000000, 0x00000000, 0x001fe000, 0x03000000,
} },
- { { /* 367 */
+ { { /* 391 */
0x0000100f, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 368 */
+ { { /* 392 */
0x00000000, 0xc0000000, 0x00000000, 0x0000000c,
0x00000000, 0x33000000, 0x00003000, 0x00000000,
} },
- { { /* 369 */
+ { { /* 393 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000280, 0x00000000,
} },
- { { /* 370 */
+ { { /* 394 */
0x7f7b7f8b, 0xef553db4, 0xf35dfba8, 0x400b0243,
0x8d3efb40, 0x8c2c7bf7, 0xe3fa6eff, 0xa8ed1d3a,
} },
- { { /* 371 */
+ { { /* 395 */
0xcf83e602, 0x35558cf5, 0xffabe048, 0xd85992b9,
0x2892ab18, 0x8020d7e9, 0xf583c438, 0x450ae74a,
} },
- { { /* 372 */
+ { { /* 396 */
0x9714b000, 0x54007762, 0x1420d188, 0xc8c01020,
0x00002121, 0x0c0413a8, 0x04408000, 0x082870c0,
} },
- { { /* 373 */
+ { { /* 397 */
0x000408c0, 0x80000002, 0x14722b7b, 0x3bfb7924,
0x1ae43327, 0x38ef9835, 0x28029ad1, 0xbf69a813,
} },
- { { /* 374 */
+ { { /* 398 */
0x2fc665cf, 0xafc96b11, 0x5053340f, 0xa00486a2,
0xe8090106, 0xc00e3f0f, 0x81450a88, 0xc6010010,
} },
- { { /* 375 */
+ { { /* 399 */
0x26e1a161, 0xce00444b, 0xd4eec7aa, 0x85bbcadf,
0xa5203a74, 0x8840436c, 0x8bd23f06, 0x3befff79,
} },
- { { /* 376 */
+ { { /* 400 */
0xe8eff75a, 0x5b36fbcb, 0x1bfd0d49, 0x39ee0154,
0x2e75d855, 0xa91abfd8, 0xf6bff3d7, 0xb40c67e0,
} },
- { { /* 377 */
+ { { /* 401 */
0x081382c2, 0xd08bd49d, 0x1061065a, 0x59e074f2,
0xb3128f9f, 0x6aaa0080, 0xb05e3230, 0x60ac9d7a,
} },
- { { /* 378 */
+ { { /* 402 */
0xc900d303, 0x8a563098, 0x13907000, 0x18421f14,
0x0008c060, 0x10808008, 0xec900400, 0xe6332817,
} },
- { { /* 379 */
+ { { /* 403 */
0x90000758, 0x4e09f708, 0xfc83f485, 0x18c8af53,
0x080c187c, 0x01146adf, 0xa734c80c, 0x2710a011,
} },
- { { /* 380 */
+ { { /* 404 */
0x422228c5, 0x00210413, 0x41123010, 0x40001820,
0xc60c022b, 0x10000300, 0x00220022, 0x02495810,
} },
- { { /* 381 */
+ { { /* 405 */
0x9670a094, 0x1792eeb0, 0x05f2cb96, 0x23580025,
0x42cc25de, 0x4a04cf38, 0x359f0c40, 0x8a001128,
} },
- { { /* 382 */
+ { { /* 406 */
0x910a13fa, 0x10560229, 0x04200641, 0x84f00484,
0x0c040000, 0x412c0400, 0x11541206, 0x00020a4b,
} },
- { { /* 383 */
+ { { /* 407 */
0x00c00200, 0x00940000, 0xbfbb0001, 0x242b167c,
0x7fa89bbb, 0xe3790c7f, 0xe00d10f4, 0x9f014132,
} },
- { { /* 384 */
+ { { /* 408 */
0x35728652, 0xff1210b4, 0x4223cf27, 0x8602c06b,
0x1fd33106, 0xa1aa3a0c, 0x02040812, 0x08012572,
} },
- { { /* 385 */
+ { { /* 409 */
0x485040cc, 0x601062d0, 0x29001c80, 0x00109a00,
0x22000004, 0x00800000, 0x68002020, 0x609ecbe6,
} },
- { { /* 386 */
+ { { /* 410 */
0x3f73916e, 0x398260c0, 0x48301034, 0xbd5c0006,
0xd6fb8cd1, 0x43e820e1, 0x084e0600, 0xc4d00500,
} },
- { { /* 387 */
+ { { /* 411 */
0x89aa8d1f, 0x1602a6e1, 0x21ed0001, 0x1a8b3656,
0x13a51fb7, 0x30a06502, 0x23c7b278, 0xe9226c93,
} },
- { { /* 388 */
+ { { /* 412 */
0x3a74e47f, 0x98208fe3, 0x2625280e, 0xbf49bf9c,
0xac543218, 0x1916b949, 0xb5220c60, 0x0659fbc1,
} },
- { { /* 389 */
+ { { /* 413 */
0x8420e343, 0x800008d9, 0x20225500, 0x00a10184,
0x20104800, 0x40801380, 0x00160d04, 0x80200040,
} },
- { { /* 390 */
+ { { /* 414 */
0x8de7fd40, 0xe0985436, 0x091e7b8b, 0xd249fec8,
0x8dee0611, 0xba221937, 0x9fdd77f4, 0xf0daf3ec,
} },
- { { /* 391 */
+ { { /* 415 */
0xec424386, 0x26048d3f, 0xc021fa6c, 0x0cc2628e,
0x0145d785, 0x559977ad, 0x4045e250, 0xa154260b,
} },
- { { /* 392 */
+ { { /* 416 */
0x58199827, 0xa4103443, 0x411405f2, 0x07002280,
0x426600b4, 0x15a17210, 0x41856025, 0x00000054,
} },
- { { /* 393 */
+ { { /* 417 */
0x01040201, 0xcb70c820, 0x6a629320, 0x0095184c,
0x9a8b1880, 0x3201aab2, 0x00c4d87a, 0x04c3f3e5,
} },
- { { /* 394 */
+ { { /* 418 */
0xa238d44d, 0x5072a1a1, 0x84fc980a, 0x44d1c152,
0x20c21094, 0x42104180, 0x3a000000, 0xd29d0240,
} },
- { { /* 395 */
+ { { /* 419 */
0xa8b12f01, 0x2432bd40, 0xd04bd34d, 0xd0ada723,
0x75a10a92, 0x01e9adac, 0x771f801a, 0xa01b9225,
} },
- { { /* 396 */
+ { { /* 420 */
0x20cadfa1, 0x738c0602, 0x003b577f, 0x00d00bff,
0x0088806a, 0x0029a1c4, 0x05242a05, 0x16234009,
} },
- { { /* 397 */
+ { { /* 421 */
0x80056822, 0xa2112011, 0x64900004, 0x13824849,
0x193023d5, 0x08922980, 0x88115402, 0xa0042001,
} },
- { { /* 398 */
+ { { /* 422 */
0x81800400, 0x60228502, 0x0b010090, 0x12020022,
0x00834011, 0x00001a01, 0x00000000, 0x00000000,
} },
- { { /* 399 */
+ { { /* 423 */
0x00000000, 0x4684009f, 0x020012c8, 0x1a0004fc,
0x0c4c2ede, 0x80b80402, 0x0afca826, 0x22288c02,
} },
- { { /* 400 */
+ { { /* 424 */
0x8f7ba0e0, 0x2135c7d6, 0xf8b106c7, 0x62550713,
0x8a19936e, 0xfb0e6efa, 0x48f91630, 0x7debcd2f,
} },
- { { /* 401 */
+ { { /* 425 */
0x4e845892, 0x7a2e4ca0, 0x561eedea, 0x1190c649,
0xe83a5324, 0x8124cfdb, 0x634218f1, 0x1a8a5853,
} },
- { { /* 402 */
+ { { /* 426 */
0x24d37420, 0x0514aa3b, 0x89586018, 0xc0004800,
0x91018268, 0x2cd684a4, 0xc4ba8886, 0x02100377,
} },
- { { /* 403 */
+ { { /* 427 */
0x00388244, 0x404aae11, 0x510028c0, 0x15146044,
0x10007310, 0x02480082, 0x40060205, 0x0000c003,
} },
- { { /* 404 */
+ { { /* 428 */
0x0c020000, 0x02200008, 0x40009000, 0xd161b800,
0x32744621, 0x3b8af800, 0x8b00050f, 0x2280bbd0,
} },
- { { /* 405 */
+ { { /* 429 */
0x07690600, 0x00438040, 0x50005420, 0x250c41d0,
0x83108410, 0x02281101, 0x00304008, 0x020040a1,
} },
- { { /* 406 */
+ { { /* 430 */
0x20000040, 0xabe31500, 0xaa443180, 0xc624c2c6,
0x8004ac13, 0x03d1b000, 0x4285611e, 0x1d9ff303,
} },
- { { /* 407 */
+ { { /* 431 */
0x78e8440a, 0xc3925e26, 0x00852000, 0x4000b001,
0x88424a90, 0x0c8dca04, 0x4203a705, 0x000422a1,
} },
- { { /* 408 */
+ { { /* 432 */
0x0c018668, 0x10795564, 0xdea00002, 0x40c12000,
0x5001488b, 0x04000380, 0x50040000, 0x80d0c05d,
} },
- { { /* 409 */
+ { { /* 433 */
0x970aa010, 0x4dafbb20, 0x1e10d921, 0x83140460,
0xa6d68848, 0x733fd83b, 0x497427bc, 0x92130ddc,
} },
- { { /* 410 */
+ { { /* 434 */
0x8ba1142b, 0xd1392e75, 0x50503009, 0x69008808,
0x024a49d4, 0x80164010, 0x89d7e564, 0x5316c020,
} },
- { { /* 411 */
+ { { /* 435 */
0x86002b92, 0x15e0a345, 0x0c03008b, 0xe200196e,
0x80067031, 0xa82916a5, 0x18802000, 0xe1487aac,
} },
- { { /* 412 */
+ { { /* 436 */
0xb5d63207, 0x5f9132e8, 0x20e550a1, 0x10807c00,
0x9d8a7280, 0x421f00aa, 0x02310e22, 0x04941100,
} },
- { { /* 413 */
+ { { /* 437 */
0x40080022, 0x5c100010, 0xfcc80343, 0x0580a1a5,
0x04008433, 0x6e080080, 0x81262a4b, 0x2901aad8,
} },
- { { /* 414 */
+ { { /* 438 */
0x4490684d, 0xba880009, 0x00820040, 0x87d10000,
0xb1e6215b, 0x80083161, 0xc2400800, 0xa600a069,
} },
- { { /* 415 */
+ { { /* 439 */
0x4a328d58, 0x550a5d71, 0x2d579aa0, 0x4aa64005,
0x30b12021, 0x01123fc6, 0x260a10c2, 0x50824462,
} },
- { { /* 416 */
+ { { /* 440 */
0x80409880, 0x810004c0, 0x00002003, 0x38180000,
0xf1a60200, 0x720e4434, 0x92e035a2, 0x09008101,
} },
- { { /* 417 */
+ { { /* 441 */
0x00000400, 0x00008885, 0x00000000, 0x00804000,
0x00000000, 0x00004040, 0x00000000, 0x00000000,
} },
- { { /* 418 */
+ { { /* 442 */
0x00000000, 0x08000000, 0x00000082, 0x00000000,
0x88000004, 0xe7efbfff, 0xffbfffff, 0xfdffefef,
} },
- { { /* 419 */
+ { { /* 443 */
0xbffefbff, 0x057fffff, 0x85b30034, 0x42164706,
0xe4105402, 0xb3058092, 0x81305422, 0x180b4263,
} },
- { { /* 420 */
+ { { /* 444 */
0x13f5387b, 0xa9ea07e5, 0x05143c4c, 0x80020600,
0xbd481ad9, 0xf496ee37, 0x7ec0705f, 0x355fbfb2,
} },
- { { /* 421 */
+ { { /* 445 */
0x455fe644, 0x41469000, 0x063b1d40, 0xfe1362a1,
0x39028505, 0x0c080548, 0x0000144f, 0x58183488,
} },
- { { /* 422 */
+ { { /* 446 */
0xd8153077, 0x4bfbbd0e, 0x85008a90, 0xe61dc100,
0xb386ed14, 0x639bff72, 0xd9befd92, 0x0a92887b,
} },
- { { /* 423 */
+ { { /* 447 */
0x1cb2d3fe, 0x177ab980, 0xdc1782c9, 0x3980fffb,
0x590c4260, 0x37df0f01, 0xb15094a3, 0x23070623,
} },
- { { /* 424 */
+ { { /* 448 */
0x3102f85a, 0x310201f0, 0x1e820040, 0x056a3a0a,
0x12805b84, 0xa7148002, 0xa04b2612, 0x90011069,
} },
- { { /* 425 */
+ { { /* 449 */
0x848a1000, 0x3f801802, 0x42400708, 0x4e140110,
0x180080b0, 0x0281c510, 0x10298202, 0x88000210,
} },
- { { /* 426 */
+ { { /* 450 */
0x00420020, 0x11000280, 0x4413e000, 0xfe025804,
0x30283c07, 0x04739798, 0xcb13ced1, 0x431f6210,
} },
- { { /* 427 */
+ { { /* 451 */
0x55ac278d, 0xc892422e, 0x02885380, 0x78514039,
0x8088292c, 0x2428b900, 0x080e0c41, 0x42004421,
} },
- { { /* 428 */
+ { { /* 452 */
0x08680408, 0x12040006, 0x02903031, 0xe0855b3e,
0x10442936, 0x10822814, 0x83344266, 0x531b013c,
} },
- { { /* 429 */
+ { { /* 453 */
0x0e0d0404, 0x00510c22, 0xc0000012, 0x88000040,
0x0000004a, 0x00000000, 0x5447dff6, 0x00088868,
} },
- { { /* 430 */
+ { { /* 454 */
0x00000081, 0x40000000, 0x00000100, 0x02000000,
0x00080600, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 431 */
+ { { /* 455 */
0x00000080, 0x00000040, 0x00000000, 0x00001040,
0x00000000, 0xf7fdefff, 0xfffeff7f, 0xfffffbff,
} },
- { { /* 432 */
+ { { /* 456 */
0xbffffdff, 0x00ffffff, 0x042012c2, 0x07080c06,
0x01101624, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 433 */
+ { { /* 457 */
0xe0000000, 0xfffffffe, 0x7f79ffff, 0x00f928df,
0x80120c32, 0xd53a0008, 0xecc2d858, 0x2fa89d18,
} },
- { { /* 434 */
+ { { /* 458 */
0xe0109620, 0x2622d60c, 0x02060f97, 0x9055b240,
0x501180a2, 0x04049800, 0x00004000, 0x00000000,
} },
- { { /* 435 */
+ { { /* 459 */
0x00000000, 0x00000000, 0x00000000, 0xfffffbc0,
0xdffbeffe, 0x62430b08, 0xfb3b41b6, 0x23896f74,
} },
- { { /* 436 */
+ { { /* 460 */
0xecd7ae7f, 0x5960e047, 0x098fa096, 0xa030612c,
0x2aaa090d, 0x4f7bd44e, 0x388bc4b2, 0x6110a9c6,
} },
- { { /* 437 */
+ { { /* 461 */
0x42000014, 0x0202800c, 0x6485fe48, 0xe3f7d63e,
0x0c073aa0, 0x0430e40c, 0x1002f680, 0x00000000,
} },
- { { /* 438 */
+ { { /* 462 */
0x00000000, 0x00000000, 0x00000000, 0x00100000,
0x00004000, 0x00004000, 0x00000100, 0x00000000,
} },
- { { /* 439 */
+ { { /* 463 */
0x00000000, 0x40000000, 0x00000000, 0x00000400,
0x00008000, 0x00000000, 0x00400400, 0x00000000,
} },
- { { /* 440 */
+ { { /* 464 */
0x00000000, 0x40000000, 0x00000000, 0x00000800,
0xfebdffe0, 0xffffffff, 0xfbe77f7f, 0xf7ffffbf,
} },
- { { /* 441 */
+ { { /* 465 */
0xefffffff, 0xdff7ff7e, 0xfbdff6f7, 0x804fbffe,
0x00000000, 0x00000000, 0x00000000, 0x7fffef00,
} },
- { { /* 442 */
+ { { /* 466 */
0xb6f7ff7f, 0xb87e4406, 0x88313bf5, 0x00f41796,
0x1391a960, 0x72490080, 0x0024f2f3, 0x42c88701,
} },
- { { /* 443 */
+ { { /* 467 */
0x5048e3d3, 0x43052400, 0x4a4c0000, 0x10580227,
0x01162820, 0x0014a809, 0x00000000, 0x00683ec0,
} },
- { { /* 444 */
+ { { /* 468 */
0x00000000, 0x00000000, 0x00000000, 0xffe00000,
0xfddbb7ff, 0x000000f7, 0xc72e4000, 0x00000180,
} },
- { { /* 445 */
+ { { /* 469 */
0x00012000, 0x00004000, 0x00300000, 0xb4f7ffa8,
0x03ffadf3, 0x00000120, 0x00000000, 0x00000000,
} },
- { { /* 446 */
+ { { /* 470 */
0x00000000, 0x00000000, 0x00000000, 0xfffbf000,
0xfdcf9df7, 0x15c301bf, 0x810a1827, 0x0a00a842,
} },
- { { /* 447 */
+ { { /* 471 */
0x80088108, 0x18048008, 0x0012a3be, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 448 */
+ { { /* 472 */
0x00000000, 0x00000000, 0x00000000, 0x90000000,
0xdc3769e6, 0x3dff6bff, 0xf3f9fcf8, 0x00000004,
} },
- { { /* 449 */
+ { { /* 473 */
0x80000000, 0xe7eebf6f, 0x5da2dffe, 0xc00b3fd8,
0xa00c0984, 0x69100040, 0xb912e210, 0x5a0086a5,
} },
- { { /* 450 */
+ { { /* 474 */
0x02896800, 0x6a809005, 0x00030010, 0x80000000,
0x8e001ff9, 0x00000001, 0x00000000, 0x00000000,
} },
- { { /* 451 */
+ { { /* 475 */
0x00000080, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 452 */
+ { { /* 476 */
0x00000000, 0x00000000, 0x00001000, 0x64080010,
0x00480000, 0x10000020, 0x80000102, 0x08000010,
} },
- { { /* 453 */
+ { { /* 477 */
0x00000040, 0x40000000, 0x00020000, 0x01852002,
0x00800010, 0x80002022, 0x084444a2, 0x480e0000,
} },
- { { /* 454 */
+ { { /* 478 */
0x04000200, 0x02202008, 0x80004380, 0x04000000,
0x00000002, 0x12231420, 0x2058003a, 0x00200060,
} },
- { { /* 455 */
+ { { /* 479 */
0x10002508, 0x040d0028, 0x00000009, 0x00008004,
0x00800000, 0x42000001, 0x00000000, 0x09040000,
} },
- { { /* 456 */
+ { { /* 480 */
0x02008000, 0x01402001, 0x00000000, 0x00000008,
0x00000000, 0x00000001, 0x00021008, 0x04000000,
} },
- { { /* 457 */
+ { { /* 481 */
0x00100100, 0x80040080, 0x00002000, 0x00000008,
0x08040601, 0x01000012, 0x10000000, 0x49001024,
} },
- { { /* 458 */
+ { { /* 482 */
0x0180004a, 0x00100600, 0x50840800, 0x000000c0,
0x00800000, 0x20000800, 0x40000000, 0x08050000,
} },
- { { /* 459 */
+ { { /* 483 */
0x02004000, 0x02000804, 0x01000004, 0x18060001,
0x02400001, 0x40000002, 0x20800014, 0x000c1000,
} },
- { { /* 460 */
+ { { /* 484 */
0x00222000, 0x00000000, 0x00100000, 0x00000000,
0x00000000, 0x00000000, 0x10422800, 0x00000800,
} },
- { { /* 461 */
+ { { /* 485 */
0x20080000, 0x00040000, 0x80025040, 0x20208604,
0x00028020, 0x80102020, 0x080820c0, 0x10880800,
} },
- { { /* 462 */
+ { { /* 486 */
0x00000000, 0x00000000, 0x00200109, 0x00100000,
0x00000000, 0x81022700, 0x40c21404, 0x84010882,
} },
- { { /* 463 */
+ { { /* 487 */
0x00004010, 0x00000000, 0x03000000, 0x00000008,
0x00080000, 0x00000000, 0x10800001, 0x06002020,
} },
- { { /* 464 */
+ { { /* 488 */
0x00000010, 0x02000000, 0x00880020, 0x00008424,
0x00000000, 0x88000000, 0x81000100, 0x04000000,
} },
- { { /* 465 */
+ { { /* 489 */
0x00004218, 0x00040000, 0x00000000, 0x80005080,
0x00010000, 0x00040000, 0x08008000, 0x02008000,
} },
- { { /* 466 */
+ { { /* 490 */
0x00020000, 0x00000000, 0x00000001, 0x04000401,
0x00100000, 0x12200004, 0x00000000, 0x18100000,
} },
- { { /* 467 */
+ { { /* 491 */
0x00000000, 0x00000800, 0x00000000, 0x00004000,
0x00800000, 0x04000000, 0x82000002, 0x00042000,
} },
- { { /* 468 */
+ { { /* 492 */
0x00080006, 0x00000000, 0x00000000, 0x04000000,
0x80008000, 0x00810001, 0xa0000000, 0x00100410,
} },
- { { /* 469 */
+ { { /* 493 */
0x00400218, 0x88084080, 0x00260008, 0x00800404,
0x00000020, 0x00000000, 0x00000000, 0x00000200,
} },
- { { /* 470 */
+ { { /* 494 */
0x00a08048, 0x00000000, 0x08000000, 0x04000000,
0x00000000, 0x00000000, 0x00018000, 0x00200000,
} },
- { { /* 471 */
+ { { /* 495 */
0x01000000, 0x00000000, 0x00000000, 0x10000000,
0x00000000, 0x00000000, 0x00200000, 0x00102000,
} },
- { { /* 472 */
+ { { /* 496 */
0x00000801, 0x00000000, 0x00000000, 0x00020000,
0x08000000, 0x00002000, 0x20010000, 0x04002000,
} },
- { { /* 473 */
+ { { /* 497 */
0x40000040, 0x50202400, 0x000a0020, 0x00040420,
0x00000200, 0x00000080, 0x80000000, 0x00000020,
} },
- { { /* 474 */
+ { { /* 498 */
0x20008000, 0x00200010, 0x00000000, 0x00000000,
0x00400000, 0x01100000, 0x00020000, 0x80000010,
} },
- { { /* 475 */
+ { { /* 499 */
0x02000000, 0x00801000, 0x00000000, 0x48058000,
0x20c94000, 0x60000000, 0x00000001, 0x00000000,
} },
- { { /* 476 */
+ { { /* 500 */
0x00004090, 0x48000000, 0x08000000, 0x28802000,
0x00000002, 0x00014000, 0x00002000, 0x00002002,
} },
- { { /* 477 */
+ { { /* 501 */
0x00010200, 0x00100000, 0x00000000, 0x00800000,
0x10020000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 478 */
+ { { /* 502 */
0x00000010, 0x00000402, 0x0c000000, 0x01000400,
0x01000021, 0x00000000, 0x00004000, 0x00004000,
} },
- { { /* 479 */
+ { { /* 503 */
0x00000000, 0x00800000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x02000020,
} },
- { { /* 480 */
+ { { /* 504 */
0x00000100, 0x08000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00002000, 0x00000000,
} },
- { { /* 481 */
+ { { /* 505 */
0x00006000, 0x00000000, 0x00000000, 0x00000400,
0x04000040, 0x003c0180, 0x00000200, 0x00102000,
} },
- { { /* 482 */
+ { { /* 506 */
0x00000800, 0x101000c0, 0x00800000, 0x00000000,
0x00008000, 0x02200000, 0x00020020, 0x00000000,
} },
- { { /* 483 */
+ { { /* 507 */
0x00000000, 0x01000000, 0x00000000, 0x20100000,
0x00080000, 0x00000141, 0x02001002, 0x40400001,
} },
- { { /* 484 */
+ { { /* 508 */
0x00580000, 0x00000002, 0x00003000, 0x00002400,
0x00988000, 0x00040010, 0x00002800, 0x00000008,
} },
- { { /* 485 */
+ { { /* 509 */
0x40080004, 0x00000020, 0x20080000, 0x02060a00,
0x00010040, 0x14010200, 0x40800000, 0x08031000,
} },
- { { /* 486 */
+ { { /* 510 */
0x40020020, 0x0000202c, 0x2014a008, 0x00000000,
0x80040200, 0x82020012, 0x00400000, 0x20000000,
} },
- { { /* 487 */
+ { { /* 511 */
0x00000000, 0x00000000, 0x00000004, 0x04000000,
0x00000000, 0x00000000, 0x40800100, 0x00000000,
} },
- { { /* 488 */
+ { { /* 512 */
0x00000008, 0x04000040, 0x00000001, 0x000c0200,
0x00000000, 0x08000400, 0x00000000, 0x080c0001,
} },
- { { /* 489 */
+ { { /* 513 */
0x00000400, 0x00000000, 0x00000000, 0x00200000,
0x80000000, 0x00001000, 0x00000200, 0x01000800,
} },
- { { /* 490 */
+ { { /* 514 */
0x00000000, 0x00000800, 0x00000000, 0x40000000,
0x00000000, 0x00000000, 0x00000000, 0x04040000,
} },
- { { /* 491 */
+ { { /* 515 */
0x00000000, 0x00000000, 0x00000040, 0x00002000,
0xa0000000, 0x00000000, 0x08000008, 0x00080000,
} },
- { { /* 492 */
+ { { /* 516 */
0x00000020, 0x00000000, 0x40000400, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00008000,
} },
- { { /* 493 */
+ { { /* 517 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000800, 0x00000000, 0x00000000, 0x00200000,
} },
- { { /* 494 */
+ { { /* 518 */
0x00000000, 0x00000000, 0x00000000, 0x04000000,
0x00000008, 0x00000000, 0x00010000, 0x1b000000,
} },
- { { /* 495 */
+ { { /* 519 */
0x00007000, 0x00000000, 0x10000000, 0x00000000,
0x00000000, 0x00000080, 0x80000000, 0x00000000,
} },
- { { /* 496 */
+ { { /* 520 */
0x00000000, 0x00020000, 0x00000000, 0x00200000,
0x40000000, 0x00000010, 0x00800000, 0x00000008,
} },
- { { /* 497 */
+ { { /* 521 */
0x00000000, 0x00000000, 0x02000000, 0x20000010,
0x00000080, 0x00000000, 0x00010000, 0x00000000,
} },
- { { /* 498 */
+ { { /* 522 */
0x00000000, 0x02000000, 0x00000000, 0x00000000,
0x20000000, 0x00000040, 0x00200028, 0x00000000,
} },
- { { /* 499 */
+ { { /* 523 */
0x00000000, 0x00020000, 0x00000000, 0x02000000,
0x00000000, 0x02000000, 0x40020000, 0x51000040,
} },
- { { /* 500 */
+ { { /* 524 */
0x00000080, 0x04040000, 0x00000000, 0x10000000,
0x00022000, 0x00100000, 0x20000000, 0x00000082,
} },
- { { /* 501 */
+ { { /* 525 */
0x40000000, 0x00010000, 0x00002000, 0x00000000,
0x00000240, 0x00000000, 0x00000000, 0x00000008,
} },
- { { /* 502 */
+ { { /* 526 */
0x00000000, 0x00010000, 0x00000810, 0x00080880,
0x00004000, 0x00000000, 0x00000000, 0x00020000,
} },
- { { /* 503 */
+ { { /* 527 */
0x00000000, 0x00400020, 0x00000000, 0x00000082,
0x00000000, 0x00020001, 0x00000000, 0x00000000,
} },
- { { /* 504 */
+ { { /* 528 */
0x40000018, 0x00000004, 0x00000000, 0x00000000,
0x01000000, 0x00400000, 0x00000000, 0x00000000,
} },
- { { /* 505 */
+ { { /* 529 */
0x00000001, 0x00400000, 0x00000000, 0x00080002,
0x00000400, 0x00040000, 0x00000000, 0x00000000,
} },
- { { /* 506 */
+ { { /* 530 */
0x00000800, 0x00000800, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000100, 0x00000000,
} },
- { { /* 507 */
+ { { /* 531 */
0x00000000, 0x00200000, 0x00000000, 0x04108000,
0x00000000, 0x00000000, 0x00000000, 0x00000002,
} },
- { { /* 508 */
+ { { /* 532 */
0x00000000, 0x02800000, 0x04000000, 0x00000000,
0x00000000, 0x00000004, 0x00000000, 0x00000400,
} },
- { { /* 509 */
+ { { /* 533 */
0x00000000, 0x00000000, 0x10000000, 0x00040000,
0x00400000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 510 */
+ { { /* 534 */
0x00200000, 0x00000200, 0x00000000, 0x10000000,
0x00000000, 0x00000000, 0x2a000000, 0x00000000,
} },
- { { /* 511 */
+ { { /* 535 */
0x00400000, 0x00000000, 0x00400000, 0x00000000,
0x00000002, 0x40000000, 0x00000000, 0x00400000,
} },
- { { /* 512 */
+ { { /* 536 */
0x40000000, 0x00001000, 0x00000000, 0x00000000,
0x00000202, 0x02000000, 0x80000000, 0x00020000,
} },
- { { /* 513 */
+ { { /* 537 */
0x00000020, 0x00000800, 0x00020421, 0x00020000,
0x00000000, 0x00000000, 0x00000000, 0x00400000,
} },
- { { /* 514 */
+ { { /* 538 */
0x00200000, 0x00000000, 0x00000001, 0x00000000,
0x00000084, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 515 */
+ { { /* 539 */
0x00000000, 0x00004400, 0x00000002, 0x00100000,
0x00000000, 0x00000000, 0x00008200, 0x00000000,
} },
- { { /* 516 */
+ { { /* 540 */
0x00000000, 0x12000000, 0x00000100, 0x00000001,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 517 */
+ { { /* 541 */
0x00000020, 0x08100000, 0x000a0400, 0x00000081,
0x00006000, 0x00120000, 0x00000000, 0x00000000,
} },
- { { /* 518 */
+ { { /* 542 */
0x00000004, 0x08000000, 0x00004000, 0x044000c0,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 519 */
+ { { /* 543 */
0x40001000, 0x00000000, 0x01000001, 0x05000000,
0x00080000, 0x02000000, 0x00000800, 0x00000000,
} },
- { { /* 520 */
+ { { /* 544 */
0x00000100, 0x00000000, 0x00000000, 0x00000000,
0x00002002, 0x01020000, 0x00800000, 0x00000000,
} },
- { { /* 521 */
+ { { /* 545 */
0x00000040, 0x00004000, 0x01000000, 0x00000004,
0x00020000, 0x00000000, 0x00000010, 0x00000000,
} },
- { { /* 522 */
+ { { /* 546 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00080000, 0x00010000, 0x30000300, 0x00000400,
} },
- { { /* 523 */
+ { { /* 547 */
0x00000800, 0x02000000, 0x00000000, 0x00008000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 524 */
+ { { /* 548 */
0x00200000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x000040c0, 0x00002200, 0x12002000,
} },
- { { /* 525 */
+ { { /* 549 */
0x00000000, 0x00000020, 0x20000000, 0x00000000,
0x00000200, 0x00080800, 0x1000a000, 0x00000000,
} },
- { { /* 526 */
+ { { /* 550 */
0x00000000, 0x00000000, 0x00000000, 0x00004000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 527 */
+ { { /* 551 */
0x00000000, 0x00000000, 0x00004280, 0x01000000,
0x00800000, 0x00000008, 0x00000000, 0x00000000,
} },
- { { /* 528 */
+ { { /* 552 */
0x00000000, 0x00000000, 0x00000000, 0x00000002,
0x00000000, 0x20400000, 0x00000040, 0x00000000,
} },
- { { /* 529 */
+ { { /* 553 */
0x00800080, 0x00800000, 0x00000000, 0x00000000,
0x00000000, 0x00400020, 0x00000000, 0x00008000,
} },
- { { /* 530 */
+ { { /* 554 */
0x01000000, 0x00000040, 0x00000000, 0x00400000,
0x00000000, 0x00000440, 0x00000000, 0x00800000,
} },
- { { /* 531 */
+ { { /* 555 */
0x01000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00080000, 0x00000000,
} },
- { { /* 532 */
+ { { /* 556 */
0x01000000, 0x00000001, 0x00000000, 0x00020000,
0x00000000, 0x20002000, 0x00000000, 0x00000004,
} },
- { { /* 533 */
+ { { /* 557 */
0x00000008, 0x00100000, 0x00000000, 0x00010000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 534 */
+ { { /* 558 */
0x00000004, 0x00008000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00008000,
} },
- { { /* 535 */
+ { { /* 559 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000040, 0x00000000, 0x00004000, 0x00000000,
} },
- { { /* 536 */
+ { { /* 560 */
0x00000010, 0x00002000, 0x40000040, 0x00000000,
0x10000000, 0x00000000, 0x00008080, 0x00000000,
} },
- { { /* 537 */
+ { { /* 561 */
0x00000000, 0x00000000, 0x00000080, 0x00000000,
0x00100080, 0x000000a0, 0x00000000, 0x00000000,
} },
- { { /* 538 */
+ { { /* 562 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00100000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 539 */
+ { { /* 563 */
0x00000000, 0x00000000, 0x00001000, 0x00000000,
0x0001000a, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 540 */
+ { { /* 564 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x08002000, 0x00000000,
} },
- { { /* 541 */
+ { { /* 565 */
0x00000808, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 542 */
+ { { /* 566 */
0x00004000, 0x00002400, 0x00008000, 0x40000000,
0x00000001, 0x00002000, 0x04000000, 0x00040004,
} },
- { { /* 543 */
+ { { /* 567 */
0x00000000, 0x00002000, 0x00000000, 0x00000000,
0x00000000, 0x1c200000, 0x00000000, 0x02000000,
} },
- { { /* 544 */
+ { { /* 568 */
0x00000000, 0x00080000, 0x00400000, 0x00000002,
0x00000000, 0x00000100, 0x00000000, 0x00000000,
} },
- { { /* 545 */
+ { { /* 569 */
0x00000000, 0x00000000, 0x00000000, 0x00400000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 546 */
+ { { /* 570 */
0x00004100, 0x00000400, 0x20200010, 0x00004004,
0x00000000, 0x42000000, 0x00000000, 0x00000000,
} },
- { { /* 547 */
+ { { /* 571 */
0x00000080, 0x00000000, 0x00000121, 0x00000200,
0x000000b0, 0x80002000, 0x00000000, 0x00010000,
} },
- { { /* 548 */
+ { { /* 572 */
0x00000010, 0x000000c0, 0x08100000, 0x00000020,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 549 */
+ { { /* 573 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x02000000, 0x00000404, 0x00000000, 0x00000000,
} },
- { { /* 550 */
+ { { /* 574 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00400000, 0x00000008, 0x00000000, 0x00000000,
} },
- { { /* 551 */
+ { { /* 575 */
0x00000000, 0x00000002, 0x00020000, 0x00002000,
0x00000000, 0x00000000, 0x00000000, 0x00204000,
} },
- { { /* 552 */
+ { { /* 576 */
0x00000000, 0x00100000, 0x00000000, 0x00000000,
0x00000000, 0x00800000, 0x00000100, 0x00000001,
} },
- { { /* 553 */
+ { { /* 577 */
0x10000000, 0x01000000, 0x00002400, 0x00000004,
0x00000000, 0x00000000, 0x00000020, 0x00000002,
} },
- { { /* 554 */
+ { { /* 578 */
0x00010000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 555 */
+ { { /* 579 */
0x00000000, 0x00002400, 0x00000000, 0x00000000,
0x00004802, 0x00000000, 0x00000000, 0x80022000,
} },
- { { /* 556 */
+ { { /* 580 */
0x00001004, 0x04208000, 0x20000020, 0x00040000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 557 */
+ { { /* 581 */
0x00000000, 0x00100000, 0x40010000, 0x00000000,
0x00080000, 0x00000000, 0x00100211, 0x00000000,
} },
- { { /* 558 */
+ { { /* 582 */
0x00001400, 0x00000000, 0x00000000, 0x00000000,
0x00610000, 0x80008c00, 0x00000000, 0x00000000,
} },
- { { /* 559 */
+ { { /* 583 */
0x00000100, 0x00000040, 0x00000000, 0x00000004,
0x00004000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 560 */
+ { { /* 584 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000400, 0x00000000,
} },
- { { /* 561 */
+ { { /* 585 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000210, 0x00000000, 0x00000000,
} },
- { { /* 562 */
+ { { /* 586 */
0x00000000, 0x00000020, 0x00000002, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 563 */
+ { { /* 587 */
0x00004000, 0x00000000, 0x00000000, 0x02000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 564 */
+ { { /* 588 */
0x00000000, 0x00000000, 0x00080002, 0x01000020,
0x00400000, 0x00200000, 0x00008000, 0x00000000,
} },
- { { /* 565 */
+ { { /* 589 */
0x00000000, 0x00020000, 0x00000000, 0xc0020000,
0x10000000, 0x00000080, 0x00000000, 0x00000000,
} },
- { { /* 566 */
+ { { /* 590 */
0x00000210, 0x00000000, 0x00001000, 0x04480000,
0x20000000, 0x00000004, 0x00800000, 0x02000000,
} },
- { { /* 567 */
+ { { /* 591 */
0x00000000, 0x08006000, 0x00001000, 0x00000000,
0x00000000, 0x00100000, 0x00000000, 0x00000400,
} },
- { { /* 568 */
+ { { /* 592 */
0x00100000, 0x00000000, 0x10000000, 0x08608000,
0x00000000, 0x00000000, 0x00080002, 0x00000000,
} },
- { { /* 569 */
+ { { /* 593 */
0x00000000, 0x20000000, 0x00008020, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 570 */
+ { { /* 594 */
0x00000000, 0x00000000, 0x00000000, 0x10000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 571 */
+ { { /* 595 */
0x00000000, 0x00100000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 572 */
+ { { /* 596 */
0x00000000, 0x00000400, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 573 */
+ { { /* 597 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x02000000,
} },
- { { /* 574 */
+ { { /* 598 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000080, 0x00000000,
} },
- { { /* 575 */
+ { { /* 599 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000002, 0x00000000, 0x00000000,
} },
- { { /* 576 */
+ { { /* 600 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00008000, 0x00000000,
} },
- { { /* 577 */
+ { { /* 601 */
0x00000000, 0x00000000, 0x00000008, 0x00000000,
0x00000000, 0x00000000, 0x00000400, 0x00000000,
} },
- { { /* 578 */
+ { { /* 602 */
0x00000000, 0x00000000, 0x00220000, 0x00000004,
0x00000000, 0x00040000, 0x00000004, 0x00000000,
} },
- { { /* 579 */
+ { { /* 603 */
0x00000000, 0x00000000, 0x00001000, 0x00000080,
0x00002000, 0x00000000, 0x00000000, 0x00004000,
} },
- { { /* 580 */
+ { { /* 604 */
0x00000000, 0x00000000, 0x00000000, 0x00100000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 581 */
- 0x00000000, 0x00020000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- } },
- { { /* 582 */
+ { { /* 605 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00200000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 583 */
+ { { /* 606 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x04000000, 0x00000000, 0x00000000,
} },
- { { /* 584 */
+ { { /* 607 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000200, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 585 */
+ { { /* 608 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000001, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 586 */
+ { { /* 609 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00080000, 0x00000000,
} },
- { { /* 587 */
+ { { /* 610 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x01000000, 0x00000000, 0x00000400,
} },
- { { /* 588 */
+ { { /* 611 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000080, 0x00000000, 0x00000000,
} },
- { { /* 589 */
+ { { /* 612 */
0x00000000, 0x00000800, 0x00000100, 0x40000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 590 */
+ { { /* 613 */
0x00000000, 0x00200000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 591 */
+ { { /* 614 */
0x00000000, 0x00000000, 0x01000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 592 */
+ { { /* 615 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x04000000, 0x00000000,
} },
- { { /* 593 */
+ { { /* 616 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00001000, 0x00000000,
} },
- { { /* 594 */
+ { { /* 617 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000400, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 595 */
+ { { /* 618 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x04040000,
} },
- { { /* 596 */
+ { { /* 619 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000020, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 597 */
+ { { /* 620 */
0x00000000, 0x00000000, 0x00800000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 598 */
+ { { /* 621 */
0x00000000, 0x00200000, 0x40000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 599 */
+ { { /* 622 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x20000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 600 */
+ { { /* 623 */
0x00000000, 0x00000000, 0x00000000, 0x04000000,
0x00000000, 0x00000001, 0x00000000, 0x00000000,
} },
- { { /* 601 */
+ { { /* 624 */
0x00000000, 0x40000000, 0x02000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 602 */
+ { { /* 625 */
0x00000000, 0x00000000, 0x00000000, 0x00080000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 603 */
+ { { /* 626 */
0x00000000, 0x00000010, 0x00000000, 0x00000000,
0x00000000, 0x20000000, 0x00000000, 0x00000000,
} },
- { { /* 604 */
+ { { /* 627 */
0x00000000, 0x00000000, 0x20000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 605 */
+ { { /* 628 */
0x00000080, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000004,
} },
- { { /* 606 */
+ { { /* 629 */
0x00000000, 0x00000000, 0x00000000, 0x00002000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 607 */
+ { { /* 630 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x10000001, 0x00000000,
} },
- { { /* 608 */
+ { { /* 631 */
0x00008000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 609 */
+ { { /* 632 */
0x00000000, 0x00000000, 0x00004040, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 610 */
+ { { /* 633 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00042400, 0x00000000,
} },
- { { /* 611 */
+ { { /* 634 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x02000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 612 */
+ { { /* 635 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000080,
} },
- { { /* 613 */
+ { { /* 636 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000020,
} },
- { { /* 614 */
+ { { /* 637 */
0x00000000, 0x00000001, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 615 */
+ { { /* 638 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00020000, 0x00000000,
} },
- { { /* 616 */
+ { { /* 639 */
0x00000000, 0x00000000, 0x00002000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 617 */
+ { { /* 640 */
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x01000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 618 */
+ { { /* 641 */
0x00000000, 0x00040000, 0x08000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 619 */
+ { { /* 642 */
0xc373ff8b, 0x1b0f6840, 0xf34ce9ac, 0xc0080200,
0xca3e795c, 0x06487976, 0xf7f02fdf, 0xa8ff033a,
} },
- { { /* 620 */
+ { { /* 643 */
0x233fef37, 0xfd59b004, 0xfffff3ca, 0xfff9de9f,
0x7df7abff, 0x8eecc000, 0xffdbeebf, 0x45fad003,
} },
- { { /* 621 */
+ { { /* 644 */
0xdffefae1, 0x10abbfef, 0xfcaaffeb, 0x24fdef3f,
0x7f7678ad, 0xedfff00c, 0x2cfacff6, 0xeb6bf7f9,
} },
- { { /* 622 */
+ { { /* 645 */
0x95bf1ffd, 0xbfbf6677, 0xfeb43bfb, 0x11e27bae,
0x41bea681, 0x72c31435, 0x71917d70, 0x276b0003,
} },
- { { /* 623 */
+ { { /* 646 */
0x70cf57cb, 0x0def4732, 0xfc747eda, 0xbdb4fe06,
0x8bca3f9f, 0x58007e49, 0xebec228f, 0xddbb8a5c,
} },
- { { /* 624 */
+ { { /* 647 */
0xb6e7ef60, 0xf293a40f, 0x549e37bb, 0x9bafd04b,
0xf7d4c414, 0x0a1430b0, 0x88d02f08, 0x192fff7e,
} },
- { { /* 625 */
+ { { /* 648 */
0xfb07ffda, 0x7beb7ff1, 0x0010c5ef, 0xfdff99ff,
0x056779d7, 0xfdcbffe7, 0x4040c3ff, 0xbd8e6ff7,
} },
- { { /* 626 */
+ { { /* 649 */
0x0497dffa, 0x5bfff4c0, 0xd0e7ed7b, 0xf8e0047e,
0xb73eff9f, 0x882e7dfe, 0xbe7ffffd, 0xf6c483fe,
} },
- { { /* 627 */
+ { { /* 650 */
0xb8fdf357, 0xef7dd680, 0x47885767, 0xc3dfff7d,
0x37a9f0ff, 0x70fc7de0, 0xec9a3f6f, 0x86814cb3,
} },
- { { /* 628 */
+ { { /* 651 */
0xdd5c3f9e, 0x4819f70d, 0x0007fea3, 0x38ffaf56,
0xefb8980d, 0xb760403d, 0x9035d8ce, 0x3fff72bf,
} },
- { { /* 629 */
+ { { /* 652 */
0x7a117ff7, 0xabfff7bb, 0x6fbeff00, 0xfe72a93c,
0xf11bcfef, 0xf40adb6b, 0xef7ec3e6, 0xf6109b9c,
} },
- { { /* 630 */
+ { { /* 653 */
0x16f4f048, 0x5182feb5, 0x15bbc7b1, 0xfbdf6e87,
0x63cde43f, 0x7e7ec1ff, 0x7d5ffdeb, 0xfcfe777b,
} },
- { { /* 631 */
+ { { /* 654 */
0xdbea960b, 0x53e86229, 0xfdef37df, 0xbd8136f5,
0xfcbddc18, 0xffffd2e4, 0xffe03fd7, 0xabf87f6f,
} },
- { { /* 632 */
+ { { /* 655 */
0x6ed99bae, 0xf115f5fb, 0xbdfb79a9, 0xadaf5a3c,
0x1facdbba, 0x837971fc, 0xc35f7cf7, 0x0567dfff,
} },
- { { /* 633 */
+ { { /* 656 */
0x8467ff9a, 0xdf8b1534, 0x3373f9f3, 0x5e1af7bd,
0xa03fbf40, 0x01ebffff, 0xcfdddfc0, 0xabd37500,
} },
- { { /* 634 */
+ { { /* 657 */
0xeed6f8c3, 0xb7ff43fd, 0x42275eaf, 0xf6869bac,
0xf6bc27d7, 0x35b7f787, 0xe176aacd, 0xe29f49e7,
} },
- { { /* 635 */
+ { { /* 658 */
0xaff2545c, 0x61d82b3f, 0xbbb8fc3b, 0x7b7dffcf,
0x1ce0bf95, 0x43ff7dfd, 0xfffe5ff6, 0xc4ced3ef,
} },
- { { /* 636 */
+ { { /* 659 */
0xadbc8db6, 0x11eb63dc, 0x23d0df59, 0xf3dbbeb4,
0xdbc71fe7, 0xfae4ff63, 0x63f7b22b, 0xadbaed3b,
} },
- { { /* 637 */
+ { { /* 660 */
0x7efffe01, 0x02bcfff7, 0xef3932ff, 0x8005fffc,
0xbcf577fb, 0xfff7010d, 0xbf3afffb, 0xdfff0057,
} },
- { { /* 638 */
+ { { /* 661 */
0xbd7def7b, 0xc8d4db88, 0xed7cfff3, 0x56ff5dee,
0xac5f7e0d, 0xd57fff96, 0xc1403fee, 0xffe76ff9,
} },
- { { /* 639 */
+ { { /* 662 */
0x8e77779b, 0xe45d6ebf, 0x5f1f6fcf, 0xfedfe07f,
0x01fed7db, 0xfb7bff00, 0x1fdfffd4, 0xfffff800,
} },
- { { /* 640 */
+ { { /* 663 */
0x007bfb8f, 0x7f5cbf00, 0x07f3ffff, 0x3de7eba0,
0xfbd7f7bf, 0x6003ffbf, 0xbfedfffd, 0x027fefbb,
} },
- { { /* 641 */
+ { { /* 664 */
0xddfdfe40, 0xe2f9fdff, 0xfb1f680b, 0xaffdfbe3,
0xf7ed9fa4, 0xf80f7a7d, 0x0fd5eebe, 0xfd9fbb5d,
} },
- { { /* 642 */
+ { { /* 665 */
0x3bf9f2db, 0xebccfe7f, 0x73fa876a, 0x9ffc95fc,
0xfaf7109f, 0xbbcdddb7, 0xeccdf87e, 0x3c3ff366,
} },
- { { /* 643 */
+ { { /* 666 */
0xb03ffffd, 0x067ee9f7, 0xfe0696ae, 0x5fd7d576,
0xa3f33fd1, 0x6fb7cf07, 0x7f449fd1, 0xd3dd7b59,
} },
- { { /* 644 */
+ { { /* 667 */
0xa9bdaf3b, 0xff3a7dcf, 0xf6ebfbe0, 0xffffb401,
0xb7bf7afa, 0x0ffdc000, 0xff1fff7f, 0x95fffefc,
} },
- { { /* 645 */
+ { { /* 668 */
0xb5dc0000, 0x3f3eef63, 0x001bfb7f, 0xfbf6e800,
0xb8df9eef, 0x003fff9f, 0xf5ff7bd0, 0x3fffdfdb,
} },
- { { /* 646 */
+ { { /* 669 */
0x00bffdf0, 0xbbbd8420, 0xffdedf37, 0x0ff3ff6d,
0x5efb604c, 0xfafbfffb, 0x0219fe5e, 0xf9de79f4,
} },
- { { /* 647 */
+ { { /* 670 */
0xebfaa7f7, 0xff3401eb, 0xef73ebd3, 0xc040afd7,
0xdcff72bb, 0x2fd8f17f, 0xfe0bb8ec, 0x1f0bdda3,
} },
- { { /* 648 */
+ { { /* 671 */
0x47cf8f1d, 0xffdeb12b, 0xda737fee, 0xcbc424ff,
0xcbf2f75d, 0xb4edecfd, 0x4dddbff9, 0xfb8d99dd,
} },
- { { /* 649 */
+ { { /* 672 */
0xaf7bbb7f, 0xc959ddfb, 0xfab5fc4f, 0x6d5fafe3,
0x3f7dffff, 0xffdb7800, 0x7effb6ff, 0x022ffbaf,
} },
- { { /* 650 */
+ { { /* 673 */
0xefc7ff9b, 0xffffffa5, 0xc7000007, 0xfff1f7ff,
0x01bf7ffd, 0xfdbcdc00, 0xffffbff5, 0x3effff7f,
} },
- { { /* 651 */
+ { { /* 674 */
0xbe000029, 0xff7ff9ff, 0xfd7e6efb, 0x039ecbff,
0xfbdde300, 0xf6dfccff, 0x117fffff, 0xfbf6f800,
} },
- { { /* 652 */
+ { { /* 675 */
0xd73ce7ef, 0xdfeffeef, 0xedbfc00b, 0xfdcdfedf,
0x40fd7bf5, 0xb75fffff, 0xf930ffdf, 0xdc97fbdf,
} },
- { { /* 653 */
+ { { /* 676 */
0xbff2fef3, 0xdfbf8fdf, 0xede6177f, 0x35530f7f,
0x877e447c, 0x45bbfa12, 0x779eede0, 0xbfd98017,
} },
- { { /* 654 */
+ { { /* 677 */
0xde897e55, 0x0447c16f, 0xf75d7ade, 0x290557ff,
0xfe9586f7, 0xf32f97b3, 0x9f75cfff, 0xfb1771f7,
} },
- { { /* 655 */
+ { { /* 678 */
0xee1934ee, 0xef6137cc, 0xef4c9fd6, 0xfbddd68f,
0x6def7b73, 0xa431d7fe, 0x97d75e7f, 0xffd80f5b,
} },
- { { /* 656 */
+ { { /* 679 */
0x7bce9d83, 0xdcff22ec, 0xef87763d, 0xfdeddfe7,
0xa0fc4fff, 0xdbfc3b77, 0x7fdc3ded, 0xf5706fa9,
} },
- { { /* 657 */
+ { { /* 680 */
0x2c403ffb, 0x847fff7f, 0xdeb7ec57, 0xf22fe69c,
0xd5b50feb, 0xede7afeb, 0xfff08c2f, 0xe8f0537f,
} },
- { { /* 658 */
+ { { /* 681 */
0xb5ffb99d, 0xe78fff66, 0xbe10d981, 0xe3c19c7c,
0x27339cd1, 0xff6d0cbc, 0xefb7fcb7, 0xffffa0df,
} },
- { { /* 659 */
+ { { /* 682 */
0xfe7bbf0b, 0x353fa3ff, 0x97cd13cc, 0xfb277637,
0x7e6ccfd6, 0xed31ec50, 0xfc1c677c, 0x5fbff6fa,
} },
- { { /* 660 */
+ { { /* 683 */
0xae2f0fba, 0x7ffea3ad, 0xde74fcf0, 0xf200ffef,
0xfea2fbbf, 0xbcff3daf, 0x5fb9f694, 0x3f8ff3ad,
} },
- { { /* 661 */
+ { { /* 684 */
0xa01ff26c, 0x01bfffef, 0x70057728, 0xda03ff35,
0xc7fad2f9, 0x5c1d3fbf, 0xec33ff3a, 0xfe9cb7af,
} },
- { { /* 662 */
+ { { /* 685 */
0x7a9f5236, 0xe722bffa, 0xfcff9ff7, 0xb61d2fbb,
0x1dfded06, 0xefdf7dd7, 0xf166eb23, 0x0dc07ed9,
} },
- { { /* 663 */
+ { { /* 686 */
0xdfbf3d3d, 0xba83c945, 0x9dd07dd1, 0xcf737b87,
0xc3f59ff3, 0xc5fedf0d, 0x83020cb3, 0xaec0e879,
} },
- { { /* 664 */
+ { { /* 687 */
0x6f0fc773, 0x093ffd7d, 0x0157fff1, 0x01ff62fb,
0x3bf3fdb4, 0x43b2b013, 0xff305ed3, 0xeb9f0fff,
} },
- { { /* 665 */
+ { { /* 688 */
0xf203feef, 0xfb893fef, 0x9e9937a9, 0xa72cdef9,
0xc1f63733, 0xfe3e812e, 0xf2f75d20, 0x69d7d585,
} },
- { { /* 666 */
+ { { /* 689 */
0xffffffff, 0xff6fdb07, 0xd97fc4ff, 0xbe0fefce,
0xf05ef17b, 0xffb7f6cf, 0xef845ef7, 0x0edfd7cb,
} },
- { { /* 667 */
+ { { /* 690 */
0xfcffff08, 0xffffee3f, 0xd7ff13ff, 0x7ffdaf0f,
0x1ffabdc7, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 668 */
+ { { /* 691 */
0x00000000, 0xe7400000, 0xf933bd38, 0xfeed7feb,
0x7c767fe8, 0xffefb3f7, 0xd8b7feaf, 0xfbbfff6f,
} },
- { { /* 669 */
+ { { /* 692 */
0xdbf7f8fb, 0xe2f91752, 0x754785c8, 0xe3ef9090,
0x3f6d9ef4, 0x0536ee2e, 0x7ff3f7bc, 0x7f3fa07b,
} },
- { { /* 670 */
+ { { /* 693 */
0xeb600567, 0x6601babe, 0x583ffcd8, 0x87dfcaf7,
0xffa0bfcd, 0xfebf5bcd, 0xefa7b6fd, 0xdf9c77ef,
} },
- { { /* 671 */
+ { { /* 694 */
0xf8773fb7, 0xb7fc9d27, 0xdfefcab5, 0xf1b6fb5a,
0xef1fec39, 0x7ffbfbbf, 0xdafe000d, 0x4e7fbdfb,
} },
- { { /* 672 */
+ { { /* 695 */
0x5ac033ff, 0x9ffebff5, 0x005fffbf, 0xfdf80000,
0x6ffdffca, 0xa001cffd, 0xfbf2dfff, 0xff7fdfbf,
} },
- { { /* 673 */
+ { { /* 696 */
0x080ffeda, 0xbfffba08, 0xeed77afd, 0x67f9fbeb,
0xff93e044, 0x9f57df97, 0x08dffef7, 0xfedfdf80,
} },
- { { /* 674 */
+ { { /* 697 */
0xf7feffc5, 0x6803fffb, 0x6bfa67fb, 0x5fe27fff,
0xff73ffff, 0xe7fb87df, 0xf7a7ebfd, 0xefc7bf7e,
} },
- { { /* 675 */
+ { { /* 698 */
0xdf821ef3, 0xdf7e76ff, 0xda7d79c9, 0x1e9befbe,
0x77fb7ce0, 0xfffb87be, 0xffdb1bff, 0x4fe03f5c,
} },
- { { /* 676 */
+ { { /* 699 */
0x5f0e7fff, 0xddbf77ff, 0xfffff04f, 0x0ff8ffff,
0xfddfa3be, 0xfffdfc1c, 0xfb9e1f7d, 0xdedcbdff,
} },
- { { /* 677 */
+ { { /* 700 */
0xbafb3f6f, 0xfbefdf7f, 0x2eec7d1b, 0xf2f7af8e,
0xcfee7b0f, 0x77c61d96, 0xfff57e07, 0x7fdfd982,
} },
- { { /* 678 */
+ { { /* 701 */
0xc7ff5ee6, 0x79effeee, 0xffcf9a56, 0xde5efe5f,
0xf9e8896e, 0xe6c4f45e, 0xbe7c0001, 0xdddf3b7f,
} },
- { { /* 679 */
+ { { /* 702 */
0xe9efd59d, 0xde5334ac, 0x4bf7f573, 0x9eff7b4f,
0x476eb8fe, 0xff450dfb, 0xfbfeabfd, 0xddffe9d7,
} },
- { { /* 680 */
+ { { /* 703 */
0x7fffedf7, 0x7eebddfd, 0xb7ffcfe7, 0xef91bde9,
0xd77c5d75, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 681 */
+ { { /* 704 */
0x00000000, 0xfa800000, 0xb4f1ffee, 0x2fefbf76,
0x77bfb677, 0xfffd9fbf, 0xf6ae95bf, 0x7f3b75ff,
} },
- { { /* 682 */
+ { { /* 705 */
0x0af9a7f5, 0x00000000, 0x00000000, 0x2bddfbd0,
0x9a7ff633, 0xd6fcfdab, 0xbfebf9e6, 0xf41fdfdf,
} },
- { { /* 683 */
+ { { /* 706 */
0xffffa6fd, 0xf37b4aff, 0xfef97fb7, 0x1d5cb6ff,
0xe5ff7ff6, 0x24041f7b, 0xf99ebe05, 0xdff2dbe3,
} },
- { { /* 684 */
+ { { /* 707 */
0xfdff6fef, 0xcbfcd679, 0xefffebfd, 0x0000001f,
0x98000000, 0x8017e148, 0x00fe6a74, 0xfdf16d7f,
} },
- { { /* 685 */
+ { { /* 708 */
0xfef3b87f, 0xf176e01f, 0x7b3fee96, 0xfffdeb8d,
0xcbb3adff, 0xe17f84ef, 0xbff04daa, 0xfe3fbf3f,
} },
- { { /* 686 */
+ { { /* 709 */
0xffd7ebff, 0xcf7fffdf, 0x85edfffb, 0x07bcd73f,
0xfe0faeff, 0x76bffdaf, 0x37bbfaef, 0xa3ba7fdc,
} },
- { { /* 687 */
+ { { /* 710 */
0x56f7b6ff, 0xe7df60f8, 0x4cdfff61, 0xff45b0fb,
0x3ffa7ded, 0x18fc1fff, 0xe3afffff, 0xdf83c7d3,
} },
- { { /* 688 */
+ { { /* 711 */
0xef7dfb57, 0x1378efff, 0x5ff7fec0, 0x5ee334bb,
0xeff6f70d, 0x00bfd7fe, 0xf7f7f59d, 0xffe051de,
} },
- { { /* 689 */
+ { { /* 712 */
0x037ffec9, 0xbfef5f01, 0x60a79ff1, 0xf1ffef1d,
0x0000000f, 0x00000000, 0x00000000, 0x00000000,
} },
- { { /* 690 */
+ { { /* 713 */
0x00000000, 0x00000000, 0x00000000, 0x3c800000,
0xd91ffb4d, 0xfee37b3a, 0xdc7f3fe9, 0x0000003f,
} },
- { { /* 691 */
+ { { /* 714 */
0x50000000, 0xbe07f51f, 0xf91bfc1d, 0x71ffbc1e,
0x5bbe6ff9, 0x9b1b5796, 0xfffc7fff, 0xafe7872e,
} },
- { { /* 692 */
+ { { /* 715 */
0xf34febf5, 0xe725dffd, 0x5d440bdc, 0xfddd5747,
0x7790ed3f, 0x8ac87d7f, 0xf3f9fafa, 0xef4b202a,
} },
- { { /* 693 */
+ { { /* 716 */
0x79cff5ff, 0x0ba5abd3, 0xfb8ff77a, 0x001f8ebd,
0x00000000, 0xfd4ef300, 0x88001a57, 0x7654aeac,
} },
- { { /* 694 */
+ { { /* 717 */
0xcdff17ad, 0xf42fffb2, 0xdbff5baa, 0x00000002,
0x73c00000, 0x2e3ff9ea, 0xbbfffa8e, 0xffd376bc,
} },
- { { /* 695 */
+ { { /* 718 */
0x7e72eefe, 0xe7f77ebd, 0xcefdf77f, 0x00000ff5,
0x00000000, 0xdb9ba900, 0x917fa4c7, 0x7ecef8ca,
} },
- { { /* 696 */
+ { { /* 719 */
0xc7e77d7a, 0xdcaecbbd, 0x8f76fd7e, 0x7cf391d3,
0x4c2f01e5, 0xa360ed77, 0x5ef807db, 0x21811df7,
} },
- { { /* 697 */
+ { { /* 720 */
0x309c6be0, 0xfade3b3a, 0xc3f57f53, 0x07ba61cd,
0x00000000, 0x00000000, 0x00000000, 0xbefe26e0,
} },
- { { /* 698 */
+ { { /* 721 */
0xebb503f9, 0xe9cbe36d, 0xbfde9c2f, 0xabbf9f83,
0xffd51ff7, 0xdffeb7df, 0xffeffdae, 0xeffdfb7e,
} },
- { { /* 699 */
+ { { /* 722 */
0x6ebfaaff, 0x00000000, 0x00000000, 0xb6200000,
0xbe9e7fcd, 0x58f162b3, 0xfd7bf10d, 0xbefde9f1,
} },
- { { /* 700 */
+ { { /* 723 */
0x5f6dc6c3, 0x69ffff3d, 0xfbf4ffcf, 0x4ff7dcfb,
0x11372000, 0x00000015, 0x00000000, 0x00000000,
} },
- { { /* 701 */
+ { { /* 724 */
0x00003000, 0x00000000, 0x00000000, 0x00000000,
0x00000000, 0x00000000, 0x00000000, 0x00000000,
} },
LEAF(398,352),
/* uk */
LEAF(399,353),
+ /* und_zmth */
+ LEAF(400,354), LEAF(400,355), LEAF(400,356), LEAF(400,357),
+ LEAF(400,358), LEAF(400,359), LEAF(400,360), LEAF(400,361),
+ LEAF(400,362), LEAF(400,363), LEAF(400,364), LEAF(400,365),
+ /* und_zsye */
+ LEAF(412,366), LEAF(412,367), LEAF(412,368), LEAF(412,369),
+ LEAF(412,370), LEAF(412,371), LEAF(412,372), LEAF(412,373),
+ LEAF(412,374), LEAF(412,375), LEAF(412,376), LEAF(412,377),
/* ve */
- LEAF(400, 23), LEAF(400,354),
+ LEAF(424, 23), LEAF(424,378),
/* vi */
- LEAF(402,355), LEAF(402,356), LEAF(402,357), LEAF(402,358),
+ LEAF(426,379), LEAF(426,380), LEAF(426,381), LEAF(426,382),
/* vo */
- LEAF(406,359),
+ LEAF(430,383),
/* vot */
- LEAF(407,360), LEAF(407, 74),
+ LEAF(431,384), LEAF(431, 74),
/* wa */
- LEAF(409,361),
+ LEAF(433,385),
/* wen */
- LEAF(410, 99), LEAF(410,362),
+ LEAF(434, 99), LEAF(434,386),
/* wo */
- LEAF(412,363), LEAF(412,269),
+ LEAF(436,387), LEAF(436,269),
/* yap */
- LEAF(414,364),
+ LEAF(438,388),
/* yo */
- LEAF(415,365), LEAF(415,366), LEAF(415,367), LEAF(415,368),
+ LEAF(439,389), LEAF(439,390), LEAF(439,391), LEAF(439,392),
/* zh_cn */
- LEAF(419,369), LEAF(419,370), LEAF(419,371), LEAF(419,372),
- LEAF(419,373), LEAF(419,374), LEAF(419,375), LEAF(419,376),
- LEAF(419,377), LEAF(419,378), LEAF(419,379), LEAF(419,380),
- LEAF(419,381), LEAF(419,382), LEAF(419,383), LEAF(419,384),
- LEAF(419,385), LEAF(419,386), LEAF(419,387), LEAF(419,388),
- LEAF(419,389), LEAF(419,390), LEAF(419,391), LEAF(419,392),
- LEAF(419,393), LEAF(419,394), LEAF(419,395), LEAF(419,396),
- LEAF(419,397), LEAF(419,398), LEAF(419,399), LEAF(419,400),
- LEAF(419,401), LEAF(419,402), LEAF(419,403), LEAF(419,404),
- LEAF(419,405), LEAF(419,406), LEAF(419,407), LEAF(419,408),
- LEAF(419,409), LEAF(419,410), LEAF(419,411), LEAF(419,412),
- LEAF(419,413), LEAF(419,414), LEAF(419,415), LEAF(419,416),
- LEAF(419,417), LEAF(419,418), LEAF(419,419), LEAF(419,420),
- LEAF(419,421), LEAF(419,422), LEAF(419,423), LEAF(419,424),
- LEAF(419,425), LEAF(419,426), LEAF(419,427), LEAF(419,428),
- LEAF(419,429), LEAF(419,430), LEAF(419,431), LEAF(419,432),
- LEAF(419,433), LEAF(419,434), LEAF(419,435), LEAF(419,436),
- LEAF(419,437), LEAF(419,438), LEAF(419,439), LEAF(419,440),
- LEAF(419,441), LEAF(419,442), LEAF(419,443), LEAF(419,444),
- LEAF(419,445), LEAF(419,446), LEAF(419,447), LEAF(419,448),
- LEAF(419,449), LEAF(419,450),
+ LEAF(443,393), LEAF(443,394), LEAF(443,395), LEAF(443,396),
+ LEAF(443,397), LEAF(443,398), LEAF(443,399), LEAF(443,400),
+ LEAF(443,401), LEAF(443,402), LEAF(443,403), LEAF(443,404),
+ LEAF(443,405), LEAF(443,406), LEAF(443,407), LEAF(443,408),
+ LEAF(443,409), LEAF(443,410), LEAF(443,411), LEAF(443,412),
+ LEAF(443,413), LEAF(443,414), LEAF(443,415), LEAF(443,416),
+ LEAF(443,417), LEAF(443,418), LEAF(443,419), LEAF(443,420),
+ LEAF(443,421), LEAF(443,422), LEAF(443,423), LEAF(443,424),
+ LEAF(443,425), LEAF(443,426), LEAF(443,427), LEAF(443,428),
+ LEAF(443,429), LEAF(443,430), LEAF(443,431), LEAF(443,432),
+ LEAF(443,433), LEAF(443,434), LEAF(443,435), LEAF(443,436),
+ LEAF(443,437), LEAF(443,438), LEAF(443,439), LEAF(443,440),
+ LEAF(443,441), LEAF(443,442), LEAF(443,443), LEAF(443,444),
+ LEAF(443,445), LEAF(443,446), LEAF(443,447), LEAF(443,448),
+ LEAF(443,449), LEAF(443,450), LEAF(443,451), LEAF(443,452),
+ LEAF(443,453), LEAF(443,454), LEAF(443,455), LEAF(443,456),
+ LEAF(443,457), LEAF(443,458), LEAF(443,459), LEAF(443,460),
+ LEAF(443,461), LEAF(443,462), LEAF(443,463), LEAF(443,464),
+ LEAF(443,465), LEAF(443,466), LEAF(443,467), LEAF(443,468),
+ LEAF(443,469), LEAF(443,470), LEAF(443,471), LEAF(443,472),
+ LEAF(443,473), LEAF(443,474),
/* zh_hk */
- LEAF(501,451), LEAF(501,452), LEAF(501,453), LEAF(501,454),
- LEAF(501,455), LEAF(501,456), LEAF(501,457), LEAF(501,458),
- LEAF(501,459), LEAF(501,460), LEAF(501,461), LEAF(501,462),
- LEAF(501,463), LEAF(501,464), LEAF(501,465), LEAF(501,466),
- LEAF(501,467), LEAF(501,468), LEAF(501,469), LEAF(501,470),
- LEAF(501,471), LEAF(501,472), LEAF(501,473), LEAF(501,474),
- LEAF(501,475), LEAF(501,476), LEAF(501,477), LEAF(501,478),
- LEAF(501,479), LEAF(501,480), LEAF(501,481), LEAF(501,482),
- LEAF(501,483), LEAF(501,484), LEAF(501,485), LEAF(501,486),
- LEAF(501,487), LEAF(501,488), LEAF(501,489), LEAF(501,490),
- LEAF(501,491), LEAF(501,492), LEAF(501,493), LEAF(501,494),
- LEAF(501,495), LEAF(501,496), LEAF(501,497), LEAF(501,498),
- LEAF(501,499), LEAF(501,500), LEAF(501,501), LEAF(501,502),
- LEAF(501,503), LEAF(501,504), LEAF(501,505), LEAF(501,506),
- LEAF(501,507), LEAF(501,508), LEAF(501,509), LEAF(501,510),
- LEAF(501,511), LEAF(501,512), LEAF(501,513), LEAF(501,514),
- LEAF(501,515), LEAF(501,516), LEAF(501,517), LEAF(501,518),
- LEAF(501,519), LEAF(501,520), LEAF(501,521), LEAF(501,522),
- LEAF(501,523), LEAF(501,524), LEAF(501,525), LEAF(501,526),
- LEAF(501,527), LEAF(501,528), LEAF(501,529), LEAF(501,530),
- LEAF(501,531), LEAF(501,532), LEAF(501,533), LEAF(501,534),
- LEAF(501,535), LEAF(501,536), LEAF(501,537), LEAF(501,538),
- LEAF(501,539), LEAF(501,540), LEAF(501,541), LEAF(501,542),
- LEAF(501,543), LEAF(501,544), LEAF(501,545), LEAF(501,546),
- LEAF(501,547), LEAF(501,548), LEAF(501,549), LEAF(501,550),
- LEAF(501,551), LEAF(501,552), LEAF(501,553), LEAF(501,554),
- LEAF(501,555), LEAF(501,556), LEAF(501,557), LEAF(501,558),
- LEAF(501,559), LEAF(501,560), LEAF(501,561), LEAF(501,562),
- LEAF(501,563), LEAF(501,564), LEAF(501,565), LEAF(501,566),
- LEAF(501,567), LEAF(501,568), LEAF(501,569), LEAF(501,570),
- LEAF(501,571), LEAF(501,572), LEAF(501,573), LEAF(501,574),
- LEAF(501,575), LEAF(501,576), LEAF(501,577), LEAF(501,578),
- LEAF(501,579), LEAF(501,580), LEAF(501,581), LEAF(501,582),
- LEAF(501,583), LEAF(501,318), LEAF(501,584), LEAF(501,585),
- LEAF(501,586), LEAF(501,587), LEAF(501,588), LEAF(501,589),
- LEAF(501,590), LEAF(501, 3), LEAF(501,591), LEAF(501,592),
- LEAF(501,593), LEAF(501,594), LEAF(501,595), LEAF(501,596),
- LEAF(501,580), LEAF(501,597), LEAF(501,598), LEAF(501,599),
- LEAF(501,600), LEAF(501,601), LEAF(501,602), LEAF(501,603),
- LEAF(501,604), LEAF(501,605), LEAF(501,606), LEAF(501,607),
- LEAF(501,608), LEAF(501,609), LEAF(501,610), LEAF(501,611),
- LEAF(501,612), LEAF(501,613), LEAF(501,614), LEAF(501,615),
- LEAF(501,616), LEAF(501,617), LEAF(501,618),
+ LEAF(525,475), LEAF(525,476), LEAF(525,477), LEAF(525,478),
+ LEAF(525,479), LEAF(525,480), LEAF(525,481), LEAF(525,482),
+ LEAF(525,483), LEAF(525,484), LEAF(525,485), LEAF(525,486),
+ LEAF(525,487), LEAF(525,488), LEAF(525,489), LEAF(525,490),
+ LEAF(525,491), LEAF(525,492), LEAF(525,493), LEAF(525,494),
+ LEAF(525,495), LEAF(525,496), LEAF(525,497), LEAF(525,498),
+ LEAF(525,499), LEAF(525,500), LEAF(525,501), LEAF(525,502),
+ LEAF(525,503), LEAF(525,504), LEAF(525,505), LEAF(525,506),
+ LEAF(525,507), LEAF(525,508), LEAF(525,509), LEAF(525,510),
+ LEAF(525,511), LEAF(525,512), LEAF(525,513), LEAF(525,514),
+ LEAF(525,515), LEAF(525,516), LEAF(525,517), LEAF(525,518),
+ LEAF(525,519), LEAF(525,520), LEAF(525,521), LEAF(525,522),
+ LEAF(525,523), LEAF(525,524), LEAF(525,525), LEAF(525,526),
+ LEAF(525,527), LEAF(525,528), LEAF(525,529), LEAF(525,530),
+ LEAF(525,531), LEAF(525,532), LEAF(525,533), LEAF(525,534),
+ LEAF(525,535), LEAF(525,536), LEAF(525,537), LEAF(525,538),
+ LEAF(525,539), LEAF(525,540), LEAF(525,541), LEAF(525,542),
+ LEAF(525,543), LEAF(525,544), LEAF(525,545), LEAF(525,546),
+ LEAF(525,547), LEAF(525,548), LEAF(525,549), LEAF(525,550),
+ LEAF(525,551), LEAF(525,552), LEAF(525,553), LEAF(525,554),
+ LEAF(525,555), LEAF(525,556), LEAF(525,557), LEAF(525,558),
+ LEAF(525,559), LEAF(525,560), LEAF(525,561), LEAF(525,562),
+ LEAF(525,563), LEAF(525,564), LEAF(525,565), LEAF(525,566),
+ LEAF(525,567), LEAF(525,568), LEAF(525,569), LEAF(525,570),
+ LEAF(525,571), LEAF(525,572), LEAF(525,573), LEAF(525,574),
+ LEAF(525,575), LEAF(525,576), LEAF(525,577), LEAF(525,578),
+ LEAF(525,579), LEAF(525,580), LEAF(525,581), LEAF(525,582),
+ LEAF(525,583), LEAF(525,584), LEAF(525,585), LEAF(525,586),
+ LEAF(525,587), LEAF(525,588), LEAF(525,589), LEAF(525,590),
+ LEAF(525,591), LEAF(525,592), LEAF(525,593), LEAF(525,594),
+ LEAF(525,595), LEAF(525,596), LEAF(525,597), LEAF(525,598),
+ LEAF(525,599), LEAF(525,600), LEAF(525,601), LEAF(525,602),
+ LEAF(525,603), LEAF(525,604), LEAF(525,355), LEAF(525,605),
+ LEAF(525,606), LEAF(525,318), LEAF(525,607), LEAF(525,608),
+ LEAF(525,609), LEAF(525,610), LEAF(525,611), LEAF(525,612),
+ LEAF(525,613), LEAF(525, 3), LEAF(525,614), LEAF(525,615),
+ LEAF(525,616), LEAF(525,617), LEAF(525,618), LEAF(525,619),
+ LEAF(525,604), LEAF(525,620), LEAF(525,621), LEAF(525,622),
+ LEAF(525,623), LEAF(525,624), LEAF(525,625), LEAF(525,626),
+ LEAF(525,627), LEAF(525,628), LEAF(525,629), LEAF(525,630),
+ LEAF(525,631), LEAF(525,632), LEAF(525,633), LEAF(525,634),
+ LEAF(525,635), LEAF(525,636), LEAF(525,637), LEAF(525,638),
+ LEAF(525,639), LEAF(525,640), LEAF(525,641),
/* zh_tw */
- LEAF(672,619), LEAF(672,620), LEAF(672,621), LEAF(672,622),
- LEAF(672,623), LEAF(672,624), LEAF(672,625), LEAF(672,626),
- LEAF(672,627), LEAF(672,628), LEAF(672,629), LEAF(672,630),
- LEAF(672,631), LEAF(672,632), LEAF(672,633), LEAF(672,634),
- LEAF(672,635), LEAF(672,636), LEAF(672,637), LEAF(672,638),
- LEAF(672,639), LEAF(672,640), LEAF(672,641), LEAF(672,642),
- LEAF(672,643), LEAF(672,644), LEAF(672,645), LEAF(672,646),
- LEAF(672,647), LEAF(672,648), LEAF(672,649), LEAF(672,650),
- LEAF(672,651), LEAF(672,652), LEAF(672,653), LEAF(672,654),
- LEAF(672,655), LEAF(672,656), LEAF(672,657), LEAF(672,658),
- LEAF(672,659), LEAF(672,660), LEAF(672,661), LEAF(672,662),
- LEAF(672,663), LEAF(672,664), LEAF(672,665), LEAF(672,666),
- LEAF(672,667), LEAF(672,668), LEAF(672,669), LEAF(672,670),
- LEAF(672,671), LEAF(672,672), LEAF(672,673), LEAF(672,674),
- LEAF(672,675), LEAF(672,676), LEAF(672,677), LEAF(672,678),
- LEAF(672,679), LEAF(672,680), LEAF(672,681), LEAF(672,682),
- LEAF(672,683), LEAF(672,684), LEAF(672,685), LEAF(672,686),
- LEAF(672,687), LEAF(672,688), LEAF(672,689), LEAF(672,690),
- LEAF(672,691), LEAF(672,692), LEAF(672,693), LEAF(672,694),
- LEAF(672,695), LEAF(672,696), LEAF(672,697), LEAF(672,698),
- LEAF(672,699), LEAF(672,700), LEAF(672,701),
+ LEAF(696,642), LEAF(696,643), LEAF(696,644), LEAF(696,645),
+ LEAF(696,646), LEAF(696,647), LEAF(696,648), LEAF(696,649),
+ LEAF(696,650), LEAF(696,651), LEAF(696,652), LEAF(696,653),
+ LEAF(696,654), LEAF(696,655), LEAF(696,656), LEAF(696,657),
+ LEAF(696,658), LEAF(696,659), LEAF(696,660), LEAF(696,661),
+ LEAF(696,662), LEAF(696,663), LEAF(696,664), LEAF(696,665),
+ LEAF(696,666), LEAF(696,667), LEAF(696,668), LEAF(696,669),
+ LEAF(696,670), LEAF(696,671), LEAF(696,672), LEAF(696,673),
+ LEAF(696,674), LEAF(696,675), LEAF(696,676), LEAF(696,677),
+ LEAF(696,678), LEAF(696,679), LEAF(696,680), LEAF(696,681),
+ LEAF(696,682), LEAF(696,683), LEAF(696,684), LEAF(696,685),
+ LEAF(696,686), LEAF(696,687), LEAF(696,688), LEAF(696,689),
+ LEAF(696,690), LEAF(696,691), LEAF(696,692), LEAF(696,693),
+ LEAF(696,694), LEAF(696,695), LEAF(696,696), LEAF(696,697),
+ LEAF(696,698), LEAF(696,699), LEAF(696,700), LEAF(696,701),
+ LEAF(696,702), LEAF(696,703), LEAF(696,704), LEAF(696,705),
+ LEAF(696,706), LEAF(696,707), LEAF(696,708), LEAF(696,709),
+ LEAF(696,710), LEAF(696,711), LEAF(696,712), LEAF(696,713),
+ LEAF(696,714), LEAF(696,715), LEAF(696,716), LEAF(696,717),
+ LEAF(696,718), LEAF(696,719), LEAF(696,720), LEAF(696,721),
+ LEAF(696,722), LEAF(696,723), LEAF(696,724),
},
{
/* aa */
0x0006,
/* uk */
0x0004,
+ /* und_zmth */
+ 0x0000, 0x0001, 0x0003, 0x0020, 0x0021, 0x0022, 0x0023, 0x0025,
+ 0x0027, 0x01d4, 0x01d5, 0x01d6,
+ /* und_zsye */
+ 0x0023, 0x0025, 0x0026, 0x0027, 0x002b, 0x01f0, 0x01f1, 0x01f2,
+ 0x01f3, 0x01f4, 0x01f5, 0x01f6,
/* ve */
0x0000, 0x001e,
/* vi */
168, /* tyv */
169, /* ug */
170, /* uk */
+ 245, /* und_zmth */
+ 244, /* und_zsye */
171, /* ur */
172, /* uz */
173, /* ve */
220, /* tyv */
221, /* ug */
222, /* uk */
- 223, /* ur */
- 224, /* uz */
- 225, /* ve */
- 226, /* vi */
- 227, /* vo */
- 228, /* vot */
- 229, /* wa */
- 231, /* wen */
- 232, /* wo */
- 233, /* xh */
- 234, /* yap */
- 235, /* yi */
- 236, /* yo */
- 238, /* zh_cn */
- 239, /* zh_hk */
- 240, /* zh_mo */
- 241, /* zh_sg */
- 242, /* zh_tw */
- 243, /* zu */
+ 225, /* ur */
+ 226, /* uz */
+ 227, /* ve */
+ 228, /* vi */
+ 229, /* vo */
+ 230, /* vot */
+ 231, /* wa */
+ 233, /* wen */
+ 234, /* wo */
+ 235, /* xh */
+ 236, /* yap */
+ 237, /* yi */
+ 238, /* yo */
+ 240, /* zh_cn */
+ 241, /* zh_hk */
+ 242, /* zh_mo */
+ 243, /* zh_sg */
+ 244, /* zh_tw */
+ 245, /* zu */
3, /* ak */
5, /* an */
15, /* ber_dz */
194, /* sn */
200, /* su */
219, /* ty */
- 230, /* wal */
- 237, /* za */
+ 232, /* wal */
+ 239, /* za */
118, /* lah */
149, /* nqo */
26, /* brx */
176, /* sat */
44, /* doi */
135, /* mni */
+ 224, /* und_zsye */
+ 223, /* und_zmth */
}
};
-#define NUM_LANG_CHAR_SET 244
+#define NUM_LANG_CHAR_SET 246
#define NUM_LANG_SET_MAP 8
static const FcChar32 fcLangCountrySets[][NUM_LANG_SET_MAP] = {
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000001, }, /* pap */
{ 0x00000000, 0x00000000, 0x00000000, 0x30000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, /* ps */
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x60000000, 0x00000000, 0x00000000, 0x00000000, }, /* ti */
+ { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00300000, }, /* und */
{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1f000000, 0x00000000, 0x00000000, }, /* zh */
};
-#define NUM_COUNTRY_SET 9
+#define NUM_COUNTRY_SET 10
static const FcLangCharSetRange fcLangCharSetRanges[] = {
{ 169, 173 }, /* r */
{ 174, 203 }, /* s */
{ 204, 220 }, /* t */
- { 221, 224 }, /* u */
- { 225, 228 }, /* v */
- { 229, 232 }, /* w */
- { 233, 233 }, /* x */
- { 234, 236 }, /* y */
- { 237, 243 }, /* z */
+ { 221, 226 }, /* u */
+ { 227, 230 }, /* v */
+ { 231, 234 }, /* w */
+ { 235, 235 }, /* x */
+ { 236, 238 }, /* y */
+ { 239, 245 }, /* z */
};
--- /dev/null
+#
+# fontconfig/fc-lang/emoji.orth
+#
+# Copyright © 2002 Keith Packard
+# Copyright © 2017 Red Hat, Inc.
+#
+# 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 the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# 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.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) 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.
+#
+# Math
+#
+# based on
+# http://www.unicode.org/Public/math/revision-9/MathClass-9.txt
+#
+0020 # S # SPACE
+0021 # P # ! EXCLAMATION MARK
+0021 # N # ! EXCLAMATION MARK
+0023..0026 # N # #..& NUMBER SIGN..AMPERSAND
+0028 # O # ( LEFT PARENTHESIS
+0029 # C # ) RIGHT PARENTHESIS
+002A # N # * ASTERISK
+002B # V # + PLUS SIGN
+002C # P # , COMMA
+002D # R # - HYPHEN-MINUS
+002E # P # . FULL STOP
+002F # R # / SOLIDUS
+0030..0039 # N # 0..9 DIGIT ZERO..NINE
+003A..003B # P # :.. # COLON..SEMICOLON
+003C..003E # R # <..> LESS-THAN SIGN..GREATER-THAN SIGN
+003F # P # ? QUESTION MARK
+0040 # N # @ COMMERCIAL AT
+0041..005A # A # A..Z LATIN CAPITAL LETTER A..Z
+005B # O # [ LEFT SQUARE BRACKET
+005C # N # \ REVERSE SOLIDUS
+005D # C # ] RIGHT SQUARE BRACKET
+005E # X # ^ CIRCUMFLEX ACCENT
+0061..007A # A # a..z LATIN SMALL LETTER A..Z
+007B # O # { LEFT CURLY BRACKET
+007C # F # | VERTICAL LINE
+007D # C # } RIGHT CURLY BRACKET
+007E # X # ~ TILDE
+00A1 # P # ¡ INVERTED EXCLAMATION MARK
+00A2..00A7 # N # ¢..§ CENT SIGN..SECTION SIGN
+00AC # N # ¬ NOT SIGN
+00B0 # N # ° DEGREE SIGN
+00B1 # V # ± PLUS-MINUS SIGN
+00B5..00B6 # N # µ..¶ MICRO SIGN..PILCROW SIGN
+00B7 # B # · MIDDLE DOT
+00BF # P # ¿ INVERTED QUESTION MARK
+00D7 # B # × MULTIPLICATION SIGN
+00F7 # B # ÷ DIVISION SIGN
+0131 # A # ı LATIN SMALL LETTER DOTLESS I
+0308 # D # ̈ COMBINING DIAERESIS
+030A # D # ̊ COMBINING RING ABOVE
+030C # D # ̌ COMBINING CARON
+0338 # D # ̸ COMBINING LONG SOLIDUS OVERLAY
+0391..03A1 # A # Α..Ρ GREEK CAPITAL LETTER ALPHA..RHO
+03A3..03A4 # A # Σ..Τ GREEK CAPITAL LETTER SIGMA..TAU
+03A6..03A9 # A # Φ..Ω GREEK CAPITAL LETTER PHI..OMEGA
+03B1..03C1 # A # α..ρ GREEK SMALL LETTER ALPHA..RHO
+03C3..03C9 # A # σ..ω GREEK SMALL LETTER SIGMA..OMEGA
+03D5..03D6 # A # ϕ..ϖ GREEK PHI SYMBOL..PI SYMBOL
+03F0..03F1 # A # ϰ..ϱ GREEK KAPPA SYMBOL..RHO SYMBOL
+2016 # F # ‖ DOUBLE VERTICAL LINE
+2020 # R # † DAGGER
+2020 # N # † DAGGER
+2021 # R # ‡ DOUBLE DAGGER
+2021 # N # ‡ DOUBLE DAGGER
+2022 # B # • BULLET
+2026 # N # … HORIZONTAL ELLIPSIS
+2044 # X # ⁄ FRACTION SLASH
+2057 # N # ⁗ QUADRUPLE PRIME
+20E1 # D # ⃡ COMBINING LEFT RIGHT ARROW ABOVE
+2102 # A # ℂ DOUBLE-STRUCK CAPITAL C
+210E..210F # N # ℎ..ℏ PLANCK CONSTANT.. OVER TWO PI
+2110..2113 # A # ℐ..ℓ SCRIPT CAPITAL I..SMALL L
+2115 # A # ℕ DOUBLE-STRUCK CAPITAL N
+2118..211D # A # ℘..ℝ SCRIPT CAPITAL P..DOUBLE-STRUCK CAPITAL R
+2124 # A # ℤ DOUBLE-STRUCK CAPITAL Z
+2200..2201 # U # ∀..∁ FOR ALL..COMPLEMENT
+2202 # N # ∂ PARTIAL DIFFERENTIAL
+2203..2204 # U # ∃..∄ THERE EXISTS..DOES NOT EXIST
+2205 # N # ∅ EMPTY SET
+2206..2207 # U # ∆..∇ INCREMENT..NABLA
+2208..220D # R # ∈..∍ ELEMENT OF..SMALL CONTAINS AS MEMBER
+220F..2211 # L # ∏..∑ N-ARY PRODUCT..SUMMATION
+2212..2213 # V # −..∓ MINUS SIGN..MINUS-OR-PLUS SIGN
+2214..2219 # B # ∔..∙ DOT PLUS..BULLET OPERATOR
+221D # R # ∝ PROPORTIONAL TO
+221E..2222 # N # ∞..∢ INFINITY..SPHERICAL ANGLE
+2223..2226 # R # ∣..∦ DIVIDES..NOT PARALLEL TO
+2227..222A # B # ∧..∪ LOGICAL AND..UNION
+2234..2235 # N # ∴..∵ THEREFORE..BECAUSE
+2236..2237 # R # ∶..∷ RATIO..PROPORTION
+2238 # B # ∸ DOT MINUS
+2239..223D # R # ∹..∽ EXCESS..REVERSED TILDE
+223E # B # ∾ INVERTED LAZY S
+223F # N # ∿ SINE WAVE
+2240 # B # ≀ WREATH PRODUCT
+228C..228E # B # ⊌..⊎ MULTISET.. UNION
+228F..2292 # R # ⊏..⊒ SQUARE IMAGE OF..ORIGINAL OF OR EQUAL TO
+2293..22A1 # B # ⊓..⊡ SQUARE CAP..SQUARED DOT OPERATOR
+22A2..22A3 # R # ⊢..⊣ RIGHT TACK..LEFT TACK
+22A4..22A5 # N # ⊤..⊥ DOWN TACK..UP TACK
+22C0..22C3 # L # ⋀..⋃ N-ARY LOGICAL AND..UNION
+22C8 # R # ⋈ BOWTIE
+22CD # R # ⋍ REVERSED TILDE EQUALS
+22CE..22CF # B # ⋎..⋏ CURLY LOGICAL OR..AND
+2308 # O # ⌈ LEFT CEILING
+2309 # C # ⌉ RIGHT CEILING
+230A # O # ⌊ LEFT FLOOR
+230B # C # ⌋ RIGHT FLOOR
+2322..2323 # R # ⌢..⌣ FROWN..SMILE
+25A0..25A1 # N # ■..□ BLACK SQUARE..WHITE SQUARE
+27E6 # O # ⟦ MATHEMATICAL LEFT WHITE SQUARE BRACKET
+27E7 # C # ⟧ MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+27E8 # O # ⟨ MATHEMATICAL LEFT ANGLE BRACKET
+27E9 # C # ⟩ MATHEMATICAL RIGHT ANGLE BRACKET
+1D400..1D454 # A # 𝐀..𝑔 MATHEMATICAL BOLD CAPITAL A..ITALIC SMALL G
+1D456..1D49C # A # 𝑖..𝒜 MATHEMATICAL ITALIC SMALL I..SCRIPT CAPITAL A
+1D49E..1D49F # A # 𝒞..𝒟 MATHEMATICAL SCRIPT CAPITAL C..D
+1D4A2 # A # 𝒢 MATHEMATICAL SCRIPT CAPITAL G
+1D4A5..1D4A6 # A # 𝒥..𝒦 MATHEMATICAL SCRIPT CAPITAL J..K
+1D4A9..1D4AC # A # 𝒩..𝒬 MATHEMATICAL SCRIPT CAPITAL N..Q
+1D53B..1D53E # A # 𝔻..𝔾 MATHEMATICAL DOUBLE-STRUCK CAPITAL D..G
+1D540..1D544 # A # 𝕀..𝕄 MATHEMATICAL DOUBLE-STRUCK CAPITAL I..M
+1D546 # A # 𝕆 MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D54A..1D550 # A # 𝕊..𝕐 MATHEMATICAL DOUBLE-STRUCK CAPITAL S..Y
+1D6A4..1D6A5 # A # 𝚤..𝚥 MATHEMATICAL ITALIC SMALL DOTLESS I..J
--- /dev/null
+#
+# fontconfig/fc-lang/emoji.orth
+#
+# Copyright © 2002 Keith Packard
+# Copyright © 2017 Red Hat, Inc.
+#
+# 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 the author(s) not be used in
+# advertising or publicity pertaining to distribution of the software without
+# 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.
+#
+# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL THE AUTHOR(S) 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.
+#
+# Emoji
+#
+# http://unicode.org/Public/emoji/5.0/emoji-data.txt
+# with anything after Unicode 6.0 commented out.
+#
+## Emoji Presentation
+231A..231B # 1.1 [2] (⌚..⌛) watch..hourglass
+23E9..23EC # 6.0 [4] (⏩..⏬) fast-forward button..fast down button
+23F0 # 6.0 [1] (⏰) alarm clock
+23F3 # 6.0 [1] (⏳) hourglass with flowing sand
+25FD..25FE # 3.2 [2] (◽..◾) white medium-small square..black medium-small square
+2614..2615 # 4.0 [2] (☔..☕) umbrella with rain drops..hot beverage
+2648..2653 # 1.1 [12] (♈..♓) Aries..Pisces
+267F # 4.1 [1] (♿) wheelchair symbol
+2693 # 4.1 [1] (⚓) anchor
+26A1 # 4.0 [1] (⚡) high voltage
+26AA..26AB # 4.1 [2] (⚪..⚫) white circle..black circle
+26BD..26BE # 5.2 [2] (⚽..⚾) soccer ball..baseball
+26C4..26C5 # 5.2 [2] (⛄..⛅) snowman without snow..sun behind cloud
+26CE # 6.0 [1] (⛎) Ophiuchus
+26D4 # 5.2 [1] (⛔) no entry
+26EA # 5.2 [1] (⛪) church
+26F2..26F3 # 5.2 [2] (⛲..⛳) fountain..flag in hole
+26F5 # 5.2 [1] (⛵) sailboat
+26FA # 5.2 [1] (⛺) tent
+26FD # 5.2 [1] (⛽) fuel pump
+2705 # 6.0 [1] (✅) white heavy check mark
+270A..270B # 6.0 [2] (✊..✋) raised fist..raised hand
+2728 # 6.0 [1] (✨) sparkles
+274C # 6.0 [1] (❌) cross mark
+274E # 6.0 [1] (❎) cross mark button
+2753..2755 # 6.0 [3] (❓..❕) question mark..white exclamation mark
+2757 # 5.2 [1] (❗) exclamation mark
+2795..2797 # 6.0 [3] (➕..➗) heavy plus sign..heavy division sign
+27B0 # 6.0 [1] (➰) curly loop
+27BF # 6.0 [1] (➿) double curly loop
+2B1B..2B1C # 5.1 [2] (⬛..⬜) black large square..white large square
+2B50 # 5.1 [1] (⭐) white medium star
+2B55 # 5.2 [1] (⭕) heavy large circle
+1F004 # 5.1 [1] (🀄) mahjong red dragon
+1F0CF # 6.0 [1] (🃏) joker
+1F18E # 6.0 [1] (🆎) AB button (blood type)
+1F191..1F19A # 6.0 [10] (🆑..🆚) CL button..VS button
+1F1E6..1F1FF # 6.0 [26] (🇦..🇿) regional indicator symbol letter a..regional indicator symbol letter z
+1F201 # 6.0 [1] (🈁) Japanese “here” button
+1F21A # 5.2 [1] (🈚) Japanese “free of charge” button
+1F22F # 5.2 [1] (🈯) Japanese “reserved” button
+1F232..1F236 # 6.0 [5] (🈲..🈶) Japanese “prohibited” button..Japanese “not free of charge” button
+1F238..1F23A # 6.0 [3] (🈸..🈺) Japanese “application” button..Japanese “open for business” button
+1F250..1F251 # 6.0 [2] (🉐..🉑) Japanese “bargain” button..Japanese “acceptable” button
+1F300..1F320 # 6.0 [33] (🌀..🌠) cyclone..shooting star
+# 1F32D..1F32F # 8.0 [3] (🌭..🌯) hot dog..burrito
+1F330..1F335 # 6.0 [6] (🌰..🌵) chestnut..cactus
+1F337..1F37C # 6.0 [70] (🌷..🍼) tulip..baby bottle
+# 1F37E..1F37F # 8.0 [2] (🍾..🍿) bottle with popping cork..popcorn
+1F380..1F393 # 6.0 [20] (🎀..🎓) ribbon..graduation cap
+1F3A0..1F3C4 # 6.0 [37] (🎠..🏄) carousel horse..person surfing
+# 1F3C5 # 7.0 [1] (🏅) sports medal
+1F3C6..1F3CA # 6.0 [5] (🏆..🏊) trophy..person swimming
+# 1F3CF..1F3D3 # 8.0 [5] (🏏..🏓) cricket..ping pong
+1F3E0..1F3F0 # 6.0 [17] (🏠..🏰) house..castle
+# 1F3F4 # 7.0 [1] (🏴) black flag
+# 1F3F8..1F3FF # 8.0 [8] (🏸..🏿) badminton..dark skin tone
+# 1F400..1F43E # 6.0 [63] (🐀..🐾) rat..paw prints
+1F440 # 6.0 [1] (👀) eyes
+1F442..1F4F7 # 6.0[182] (👂..📷) ear..camera
+# 1F4F8 # 7.0 [1] (📸) camera with flash
+1F4F9..1F4FC # 6.0 [4] (📹..📼) video camera..videocassette
+# 1F4FF # 8.0 [1] (📿) prayer beads
+1F500..1F53D # 6.0 [62] (🔀..🔽) shuffle tracks button..down button
+# 1F54B..1F54E # 8.0 [4] (🕋..🕎) kaaba..menorah
+1F550..1F567 # 6.0 [24] (🕐..🕧) one o’clock..twelve-thirty
+# 1F57A # 9.0 [1] (🕺) man dancing
+# 1F595..1F596 # 7.0 [2] (🖕..🖖) middle finger..vulcan salute
+# 1F5A4 # 9.0 [1] (🖤) black heart
+1F5FB..1F5FF # 6.0 [5] (🗻..🗿) mount fuji..moai
+# 1F600 # 6.1 [1] (😀) grinning face
+1F601..1F610 # 6.0 [16] (😁..😐) grinning face with smiling eyes..neutral face
+# 1F611 # 6.1 [1] (😑) expressionless face
+1F612..1F614 # 6.0 [3] (😒..😔) unamused face..pensive face
+# 1F615 # 6.1 [1] (😕) confused face
+1F616 # 6.0 [1] (😖) confounded face
+# 1F617 # 6.1 [1] (😗) kissing face
+1F618 # 6.0 [1] (😘) face blowing a kiss
+# 1F619 # 6.1 [1] (😙) kissing face with smiling eyes
+1F61A # 6.0 [1] (😚) kissing face with closed eyes
+# 1F61B # 6.1 [1] (😛) face with stuck-out tongue
+1F61C..1F61E # 6.0 [3] (😜..😞) face with stuck-out tongue & winking eye..disappointed face
+# 1F61F # 6.1 [1] (😟) worried face
+1F620..1F625 # 6.0 [6] (😠..😥) angry face..disappointed but relieved face
+# 1F626..1F627 # 6.1 [2] (😦..😧) frowning face with open mouth..anguished face
+1F628..1F62B # 6.0 [4] (😨..😫) fearful face..tired face
+# 1F62C # 6.1 [1] (😬) grimacing face
+1F62D # 6.0 [1] (😭) loudly crying face
+# 1F62E..1F62F # 6.1 [2] (😮..😯) face with open mouth..hushed face
+1F630..1F633 # 6.0 [4] (😰..😳) face with open mouth & cold sweat..flushed face
+# 1F634 # 6.1 [1] (😴) sleeping face
+1F635..1F640 # 6.0 [12] (😵..🙀) dizzy face..weary cat face
+# 1F641..1F642 # 7.0 [2] (🙁..🙂) slightly frowning face..slightly smiling face
+# 1F643..1F644 # 8.0 [2] (🙃..🙄) upside-down face..face with rolling eyes
+1F645..1F64F # 6.0 [11] (🙅..🙏) person gesturing NO..folded hands
+# 1F680..1F6C5 # 6.0 [70] (🚀..🛅) rocket..left luggage
+# 1F6CC # 7.0 [1] (🛌) person in bed
+# 1F6D0 # 8.0 [1] (🛐) place of worship
+# 1F6D1..1F6D2 # 9.0 [2] (🛑..🛒) stop sign..shopping cart
+# 1F6EB..1F6EC # 7.0 [2] (🛫..🛬) airplane departure..airplane arrival
+# 1F6F4..1F6F6 # 9.0 [3] (🛴..🛶) kick scooter..canoe
+# 1F6F7..1F6F8 # 10.0 [2] (🛷..🛸) sled..flying saucer
+# 1F910..1F918 # 8.0 [9] (🤐..🤘) zipper-mouth face..sign of the horns
+# 1F919..1F91E # 9.0 [6] (🤙..🤞) call me hand..crossed fingers
+# 1F91F # 10.0 [1] (🤟) love-you gesture
+# 1F920..1F927 # 9.0 [8] (🤠..🤧) cowboy hat face..sneezing face
+# 1F928..1F92F # 10.0 [8] (🤨..🤯) face with raised eyebrow..exploding head
+# 1F930 # 9.0 [1] (🤰) pregnant woman
+# 1F931..1F932 # 10.0 [2] (🤱..🤲) breast-feeding..palms up together
+# 1F933..1F93A # 9.0 [8] (🤳..🤺) selfie..person fencing
+# 1F93C..1F93E # 9.0 [3] (🤼..🤾) people wrestling..person playing handball
+# 1F940..1F945 # 9.0 [6] (🥀..🥅) wilted flower..goal net
+# 1F947..1F94B # 9.0 [5] (🥇..🥋) 1st place medal..martial arts uniform
+# 1F94C # 10.0 [1] (🥌) curling stone
+# 1F950..1F95E # 9.0 [15] (🥐..🥞) croissant..pancakes
+# 1F95F..1F96B # 10.0 [13] (🥟..🥫) dumpling..canned food
+# 1F980..1F984 # 8.0 [5] (🦀..🦄) crab..unicorn face
+# 1F985..1F991 # 9.0 [13] (🦅..🦑) eagle..squid
+# 1F992..1F997 # 10.0 [6] (🦒..🦗) giraffe..cricket
+# 1F9C0 # 8.0 [1] (🧀) cheese wedge
+# 1F9D0..1F9E6 # 10.0 [23] (🧐..🧦) face with monocle..socks
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
#define HAVE_GETOPT 1
#endif
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
#ifndef HAVE_GETOPT
#define HAVE_GETOPT 0
#endif
#include <getopt.h>
const struct option longopts[] = {
{"verbose", 0, 0, 'v'},
+ {"brief", 0, 0, 'b'},
{"format", 1, 0, 'f'},
{"quiet", 0, 0, 'q'},
{"version", 0, 0, 'V'},
{
FILE *file = error ? stderr : stdout;
#if HAVE_GETOPT_LONG
- fprintf (file, "usage: %s [-vqVh] [-f FORMAT] [--verbose] [--format=FORMAT] [--quiet] [--version] [--help] [pattern] {element ...} \n",
+ fprintf (file, _("usage: %s [-vbqVh] [-f FORMAT] [--verbose] [--brief] [--format=FORMAT] [--quiet] [--version] [--help] [pattern] {element ...} \n"),
program);
#else
- fprintf (file, "usage: %s [-vqVh] [-f FORMAT] [pattern] {element ...} \n",
+ fprintf (file, _("usage: %s [-vbqVh] [-f FORMAT] [pattern] {element ...} \n"),
program);
#endif
- fprintf (file, "List fonts matching [pattern]\n");
+ fprintf (file, _("List fonts matching [pattern]\n"));
fprintf (file, "\n");
#if HAVE_GETOPT_LONG
- fprintf (file, " -v, --verbose display entire font pattern verbosely\n");
- fprintf (file, " -f, --format=FORMAT use the given output format\n");
- fprintf (file, " -q, --quiet suppress all normal output, exit 1 if no fonts matched\n");
- fprintf (file, " -V, --version display font config version and exit\n");
- fprintf (file, " -h, --help display this help and exit\n");
+ fprintf (file, _(" -v, --verbose display entire font pattern verbosely\n"));
+ fprintf (file, _(" -b, --brief display entire font pattern briefly\n"));
+ fprintf (file, _(" -f, --format=FORMAT use the given output format\n"));
+ fprintf (file, _(" -q, --quiet suppress all normal output, exit 1 if no fonts matched\n"));
+ fprintf (file, _(" -V, --version display font config version and exit\n"));
+ fprintf (file, _(" -h, --help display this help and exit\n"));
#else
- fprintf (file, " -v (verbose) display entire font pattern verbosely\n");
- fprintf (file, " -f FORMAT (format) use the given output format\n");
- fprintf (file, " -q, (quiet) suppress all normal output, exit 1 if no fonts matched\n");
- fprintf (file, " -V (version) display font config version and exit\n");
- fprintf (file, " -h (help) display this help and exit\n");
+ fprintf (file, _(" -v (verbose) display entire font pattern verbosely\n"));
+ fprintf (file, _(" -b (brief) display entire font pattern briefly\n"));
+ fprintf (file, _(" -f FORMAT (format) use the given output format\n"));
+ fprintf (file, _(" -q, (quiet) suppress all normal output, exit 1 if no fonts matched\n"));
+ fprintf (file, _(" -V (version) display font config version and exit\n"));
+ fprintf (file, _(" -h (help) display this help and exit\n"));
#endif
exit (error);
}
main (int argc, char **argv)
{
int verbose = 0;
+ int brief = 0;
int quiet = 0;
const FcChar8 *format = NULL;
int nfont = 0;
int c;
#if HAVE_GETOPT_LONG
- while ((c = getopt_long (argc, argv, "vf:qVh", longopts, NULL)) != -1)
+ while ((c = getopt_long (argc, argv, "vbf:qVh", longopts, NULL)) != -1)
#else
- while ((c = getopt (argc, argv, "vf:qVh")) != -1)
+ while ((c = getopt (argc, argv, "vbf:qVh")) != -1)
#endif
{
switch (c) {
case 'v':
verbose = 1;
break;
+ case 'b':
+ brief = 1;
+ break;
case 'f':
format = (FcChar8 *) strdup (optarg);
break;
pat = FcNameParse ((FcChar8 *) argv[i]);
if (!pat)
{
- fputs ("Unable to parse the pattern\n", stderr);
+ fprintf (stderr, _("Unable to parse the pattern\n"));
return 1;
}
while (argv[++i])
pat = FcPatternCreate ();
if (quiet && !os)
os = FcObjectSetCreate ();
- if (!verbose && !format && !os)
+ if (!verbose && !brief && !format && !os)
os = FcObjectSetBuild (FC_FAMILY, FC_STYLE, FC_FILE, (char *) 0);
if (!format)
format = (const FcChar8 *) "%{=fclist}\n";
for (j = 0; j < fs->nfont; j++)
{
- if (verbose)
+ if (verbose || brief)
{
+ if (brief)
+ {
+ FcPatternDel (fs->fonts[j], FC_CHARSET);
+ FcPatternDel (fs->fonts[j], FC_LANG);
+ }
FcPatternPrint (fs->fonts[j]);
}
else
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
#include <stdlib.h>
#include <string.h>
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
#ifndef HAVE_GETOPT
#define HAVE_GETOPT 0
#endif
{"sort", 0, 0, 's'},
{"all", 0, 0, 'a'},
{"verbose", 0, 0, 'v'},
+ {"brief", 0, 0, 'b'},
{"format", 1, 0, 'f'},
{"version", 0, 0, 'V'},
{"help", 0, 0, 'h'},
{
FILE *file = error ? stderr : stdout;
#if HAVE_GETOPT_LONG
- fprintf (file, "usage: %s [-savVh] [-f FORMAT] [--sort] [--all] [--verbose] [--format=FORMAT] [--version] [--help] [pattern] {element...}\n",
+ fprintf (file, _("usage: %s [-savbVh] [-f FORMAT] [--sort] [--all] [--verbose] [--brief] [--format=FORMAT] [--version] [--help] [pattern] {element...}\n"),
program);
#else
- fprintf (file, "usage: %s [-savVh] [-f FORMAT] [pattern] {element...}\n",
+ fprintf (file, _("usage: %s [-savVh] [-f FORMAT] [pattern] {element...}\n"),
program);
#endif
- fprintf (file, "List best font matching [pattern]\n");
+ fprintf (file, _("List best font matching [pattern]\n"));
fprintf (file, "\n");
#if HAVE_GETOPT_LONG
- fprintf (file, " -s, --sort display sorted list of matches\n");
- fprintf (file, " -a, --all display unpruned sorted list of matches\n");
- fprintf (file, " -v, --verbose display entire font pattern verbosely\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");
+ fprintf (file, _(" -s, --sort display sorted list of matches\n"));
+ fprintf (file, _(" -a, --all display unpruned sorted list of matches\n"));
+ fprintf (file, _(" -v, --verbose display entire font pattern verbosely\n"));
+ fprintf (file, _(" -b, --brief display entire font pattern briefly\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"));
#else
- fprintf (file, " -s, (sort) display sorted list of matches\n");
- fprintf (file, " -a (all) display unpruned sorted list of matches\n");
- fprintf (file, " -v (verbose) display entire font pattern verbosely\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");
+ fprintf (file, _(" -s, (sort) display sorted list of matches\n"));
+ fprintf (file, _(" -a (all) display unpruned sorted list of matches\n"));
+ fprintf (file, _(" -v (verbose) display entire font pattern verbosely\n"));
+ fprintf (file, _(" -b (brief) display entire font pattern briefly\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"));
#endif
exit (error);
}
main (int argc, char **argv)
{
int verbose = 0;
+ int brief = 0;
int sort = 0, all = 0;
const FcChar8 *format = NULL;
int i;
int c;
#if HAVE_GETOPT_LONG
- while ((c = getopt_long (argc, argv, "asvf:Vh", longopts, NULL)) != -1)
+ while ((c = getopt_long (argc, argv, "asvbf:Vh", longopts, NULL)) != -1)
#else
- while ((c = getopt (argc, argv, "asvf:Vh")) != -1)
+ while ((c = getopt (argc, argv, "asvbf:Vh")) != -1)
#endif
{
switch (c) {
case 'v':
verbose = 1;
break;
+ case 'b':
+ brief = 1;
+ break;
case 'f':
format = (FcChar8 *) strdup (optarg);
break;
pat = FcNameParse ((FcChar8 *) argv[i]);
if (!pat)
{
- fputs ("Unable to parse the pattern\n", stderr);
+ fprintf (stderr, _("Unable to parse the pattern\n"));
return 1;
}
while (argv[++i])
if (!font_patterns || font_patterns->nfont == 0)
{
- fputs("No fonts installed on the system\n", stderr);
+ fprintf (stderr, _("No fonts installed on the system\n"));
return 1;
}
for (j = 0; j < font_patterns->nfont; j++)
font = FcPatternFilter (fs->fonts[j], os);
- if (verbose)
+ if (verbose || brief)
{
+ if (brief)
+ {
+ FcPatternDel (font, FC_CHARSET);
+ FcPatternDel (font, FC_LANG);
+ }
FcPatternPrint (font);
}
else
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
#include <stdlib.h>
#include <string.h>
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
#ifndef HAVE_GETOPT
#define HAVE_GETOPT 0
#endif
{
FILE *file = error ? stderr : stdout;
#if HAVE_GETOPT_LONG
- fprintf (file, "usage: %s [-cdVh] [-f FORMAT] [--config] [--default] [--verbose] [--format=FORMAT] [--version] [--help] [pattern] {element...}\n",
+ fprintf (file, _("usage: %s [-cdVh] [-f FORMAT] [--config] [--default] [--verbose] [--format=FORMAT] [--version] [--help] [pattern] {element...}\n"),
program);
#else
- fprintf (file, "usage: %s [-cdVh] [-f FORMAT] [pattern] {element...}\n",
+ fprintf (file, _("usage: %s [-cdVh] [-f FORMAT] [pattern] {element...}\n"),
program);
#endif
- fprintf (file, "List best font matching [pattern]\n");
+ fprintf (file, _("List best font matching [pattern]\n"));
fprintf (file, "\n");
#if HAVE_GETOPT_LONG
- fprintf (file, " -c, --config perform config substitution on pattern\n");
- fprintf (file, " -d, -default perform default substitution on pattern\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");
+ fprintf (file, _(" -c, --config perform config substitution on pattern\n"));
+ fprintf (file, _(" -d, --default perform default substitution on pattern\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"));
#else
- fprintf (file, " -c, (config) perform config substitution on pattern\n");
- fprintf (file, " -d, (default) perform default substitution on pattern\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");
+ fprintf (file, _(" -c, (config) perform config substitution on pattern\n"));
+ fprintf (file, _(" -d, (default) perform default substitution on pattern\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"));
#endif
exit (error);
}
pat = FcNameParse ((FcChar8 *) argv[i]);
if (!pat)
{
- fputs ("Unable to parse the pattern\n", stderr);
+ fprintf (stderr, _("Unable to parse the pattern\n"));
return 1;
}
while (argv[++i])
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
#include <stdlib.h>
#include <string.h>
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
#ifndef HAVE_GETOPT
#define HAVE_GETOPT 0
#endif
#define _GNU_SOURCE
#include <getopt.h>
static const struct option longopts[] = {
- {"ignore-blanks", 0, 0, 'b'},
{"index", 1, 0, 'i'},
+ {"brief", 0, 0, 'b'},
{"format", 1, 0, 'f'},
{"version", 0, 0, 'V'},
{"help", 0, 0, 'h'},
{
FILE *file = error ? stderr : stdout;
#if HAVE_GETOPT_LONG
- fprintf (file, "usage: %s [-Vbh] [-i index] [-f FORMAT] [--ignore-blanks] [--index index] [--format FORMAT] [--version] [--help] font-file...\n",
+ fprintf (file, _("usage: %s [-bVh] [-i index] [-f FORMAT] [--index index] [--brief] [--format FORMAT] [--version] [--help] font-file...\n"),
program);
#else
- fprintf (file, "usage: %s [-Vbh] [-i index] [-f FORMAT] font-file...\n",
+ fprintf (file, _("usage: %s [-bVh] [-i index] [-f FORMAT] font-file...\n"),
program);
#endif
- fprintf (file, "Query font files and print resulting pattern(s)\n");
+ 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");
- fprintf (file, " -h, --help display this help and exit\n");
+ fprintf (file, _(" -i, --index INDEX display the INDEX face of each font file only\n"));
+ fprintf (file, _(" -b, --brief display font pattern briefly\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"));
#else
- fprintf (file, " -b (ignore-blanks) ignore blanks to compute languages\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");
- fprintf (file, " -h (help) display this help and exit\n");
+ fprintf (file, _(" -i INDEX (index) display the INDEX face of each font file only\n"));
+ fprintf (file, _(" -b (brief) display font pattern briefly\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"));
#endif
exit (error);
}
int
main (int argc, char **argv)
{
- int index_set = 0;
- int set_index = 0;
- int ignore_blanks = 0;
+ unsigned int id = (unsigned int) -1;
+ int brief = 0;
+ FcFontSet *fs;
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, "bi:f:Vh", longopts, NULL)) != -1)
+ while ((c = getopt_long (argc, argv, "i:bf:Vh", longopts, NULL)) != -1)
#else
- while ((c = getopt (argc, argv, "bi:f:Vh")) != -1)
+ while ((c = getopt (argc, argv, "i:bf:Vh")) != -1)
#endif
{
switch (c) {
- case 'b':
- ignore_blanks = 1;
- break;
case 'i':
- index_set = 1;
- set_index = atoi (optarg);
+ id = (unsigned int) strtol (optarg, NULL, 0); /* strtol() To handle -1. */
+ break;
+ case 'b':
+ brief = 1;
break;
case 'f':
format = (FcChar8 *) strdup (optarg);
if (i == argc)
usage (argv[0], 1);
- if (!ignore_blanks)
- blanks = FcConfigGetBlanks (NULL);
+ fs = FcFontSetCreate ();
+
for (; i < argc; i++)
{
- int index;
- int count = 0;
+ if (!FcFreeTypeQueryAll ((FcChar8*) argv[i], id, NULL, NULL, fs))
+ {
+ fprintf (stderr, _("Can't query face %u of font file %s\n"), id, argv[i]);
+ err = 1;
+ }
+ }
- index = set_index;
+ for (i = 0; i < fs->nfont; i++)
+ {
+ FcPattern *pat = fs->fonts[i];
- do {
- FcPattern *pat;
+ if (brief)
+ {
+ FcPatternDel (pat, FC_CHARSET);
+ FcPatternDel (pat, FC_LANG);
+ }
- pat = FcFreeTypeQuery ((FcChar8 *) argv[i], index, blanks, &count);
- if (pat)
- {
- if (format)
- {
- FcChar8 *s;
-
- s = FcPatternFormat (pat, format);
- if (s)
- {
- printf ("%s", s);
- FcStrFree (s);
- }
- }
- else
- {
- FcPatternPrint (pat);
- }
-
- FcPatternDestroy (pat);
- }
- else
+ if (format)
+ {
+ FcChar8 *s;
+
+ s = FcPatternFormat (pat, format);
+ if (s)
{
- fprintf (stderr, "Can't query face %d of font file %s\n",
- index, argv[i]);
- err = 1;
+ printf ("%s", s);
+ FcStrFree (s);
}
-
- index++;
- } while (!index_set && index < count);
+ }
+ else
+ {
+ FcPatternPrint (pat);
+ }
}
+ FcFontSetDestroy (fs);
+
FcFini ();
return err;
}
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
fc-scan \- scan font files or directories
.SH SYNOPSIS
.sp
-\fBfc-scan\fR [ \fB-Vbh\fR ]
+\fBfc-scan\fR [ \fB-Vh\fR ]
- [ \fB [ -b ] [ --ignore-blanks ] \fR ] [ \fB [ -f \fIformat\fB ] [ --format \fIformat\fB ] \fR ] [ \fB--version\fR ] [ \fB--help\fR ] \fB\fIfile\fB\fR\fI...\fR
+ [ \fB [ -f \fIformat\fB ] [ --format \fIformat\fB ] \fR ] [ \fB--version\fR ] [ \fB--help\fR ] \fB\fIfile\fB\fR\fI...\fR
.SH "DESCRIPTION"
.PP
\fBfc-scan\fR scans
with long options starting with two dashes (`-'). A summary of
options is included below.
.TP
-\fB-b\fR
-Ignore blanks to compute languages
-.TP
\fB-f\fR
Format output according to the format specifier
\fIformat\fR\&.
#include <stdlib.h>
#include <string.h>
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
#ifndef HAVE_GETOPT
#define HAVE_GETOPT 0
#endif
#define _GNU_SOURCE
#include <getopt.h>
static const struct option longopts[] = {
- {"ignore-blanks", 0, 0, 'b'},
+ {"brief", 0, 0, 'b'},
{"format", 1, 0, 'f'},
{"version", 0, 0, 'V'},
{"help", 0, 0, 'h'},
{
FILE *file = error ? stderr : stdout;
#if HAVE_GETOPT_LONG
- fprintf (file, "usage: %s [-Vbh] [-f FORMAT] [--ignore-blanks] [--format FORMAT] [--version] [--help] font-file...\n",
+ fprintf (file, _("usage: %s [-bVh] [-f FORMAT] [--brief] [--format FORMAT] [--version] [--help] font-file...\n"),
program);
#else
- fprintf (file, "usage: %s [-Vbh] [-f FORMAT] font-file...\n",
+ fprintf (file, _("usage: %s [-bVh] [-f FORMAT] font-file...\n"),
program);
#endif
- fprintf (file, "Scan font files and directories, and print resulting pattern(s)\n");
+ 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");
+ fprintf (file, _(" -b, --brief display font pattern briefly\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"));
#else
- 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");
+ fprintf (file, _(" -b (brief) display font pattern briefly\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"));
#endif
exit (error);
}
int
main (int argc, char **argv)
{
+ int brief = 0;
FcChar8 *format = NULL;
int i;
- int ignore_blanks = 0;
FcFontSet *fs;
- FcBlanks *blanks = NULL;
#if HAVE_GETOPT_LONG || HAVE_GETOPT
int c;
{
switch (c) {
case 'b':
- ignore_blanks = 1;
+ brief = 1;
break;
case 'f':
format = (FcChar8 *) strdup (optarg);
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, blanks, file, FcTrue);
+ FcFileScan (fs, NULL, NULL, NULL, file, FcTrue);
else
{
FcStrSet *dirs = FcStrSetCreate ();
FcStrList *strlist = FcStrListCreate (dirs);
do
{
- FcDirScan (fs, dirs, NULL, blanks, file, FcTrue);
+ FcDirScan (fs, dirs, NULL, NULL, file, FcTrue);
}
while ((file = FcStrListNext (strlist)));
FcStrListDone (strlist);
for (i = 0; i < fs->nfont; i++)
{
- FcPattern *pat;
+ FcPattern *pat = fs->fonts[i];
- pat = fs->fonts[i];
+ if (brief)
+ {
+ FcPatternDel (pat, FC_CHARSET);
+ FcPatternDel (pat, FC_LANG);
+ }
if (format)
{
<cmdsynopsis>
<command>&dhpackage;</command>
- <arg><option>-Vbh</option></arg>
+ <arg><option>-Vh</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>
<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>
#
-# fontconfig/fc-query/Makefile.am
+# fontconfig/fc-validate/Makefile.am
#
# Copyright © 2003 Keith Packard
#
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@SET_MAKE@
#
-# fontconfig/fc-query/Makefile.am
+# fontconfig/fc-validate/Makefile.am
#
# Copyright © 2003 Keith Packard
#
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
#include <string.h>
#include <locale.h>
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
#ifndef HAVE_GETOPT
#define HAVE_GETOPT 0
#endif
{
FILE *file = error ? stderr : stdout;
#if HAVE_GETOPT_LONG
- fprintf (file, "usage: %s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--verbose] [--version] [--help] font-file...\n",
+ fprintf (file, _("usage: %s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--verbose] [--version] [--help] font-file...\n"),
program);
#else
- fprintf (file, "usage: %s [-Vhv] [-i index] [-l LANG] font-file...\n",
+ fprintf (file, _("usage: %s [-Vhv] [-i index] [-l LANG] font-file...\n"),
program);
#endif
- fprintf (file, "Validate font files and print result\n");
+ fprintf (file, _("Validate font files and print result\n"));
fprintf (file, "\n");
#if HAVE_GETOPT_LONG
- fprintf (file, " -i, --index INDEX display the INDEX face of each font file only\n");
- fprintf (file, " -l, --lang=LANG set LANG instead of current locale\n");
- fprintf (file, " -v, --verbose show more detailed information\n");
- fprintf (file, " -V, --version display font config version and exit\n");
- fprintf (file, " -h, --help display this help and exit\n");
+ fprintf (file, _(" -i, --index INDEX display the INDEX face of each font file only\n"));
+ fprintf (file, _(" -l, --lang=LANG set LANG instead of current locale\n"));
+ fprintf (file, _(" -v, --verbose show more detailed information\n"));
+ fprintf (file, _(" -V, --version display font config version and exit\n"));
+ fprintf (file, _(" -h, --help display this help and exit\n"));
#else
- fprintf (file, " -i INDEX (index) display the INDEX face of each font file only\n");
- fprintf (file, " -l LANG (lang) set LANG instead of current locale\n");
- fprintf (file, " -v (verbose) show more detailed information\n");
- fprintf (file, " -V (version) display font config version and exit\n");
- fprintf (file, " -h (help) display this help and exit\n");
+ fprintf (file, _(" -i INDEX (index) display the INDEX face of each font file only\n"));
+ fprintf (file, _(" -l LANG (lang) set LANG instead of current locale\n"));
+ fprintf (file, _(" -v (verbose) show more detailed information\n"));
+ fprintf (file, _(" -V (version) display font config version and exit\n"));
+ fprintf (file, _(" -h (help) display this help and exit\n"));
#endif
exit (error);
}
if (FT_Init_FreeType (&ftlib))
{
- fprintf (stderr, "Can't initalize FreeType library\n");
+ fprintf (stderr, _("Can't initalize FreeType library\n"));
return 1;
}
{
if (!index_set && index > 0)
break;
- fprintf (stderr, "Unable to open %s\n", argv[i]);
+ fprintf (stderr, _("Unable to open %s\n"), argv[i]);
err = 1;
}
else
{
FcChar32 ucs4, pos, map[FC_CHARSET_MAP_SIZE];
- printf ("%s:%d Missing %d glyph(s) to satisfy the coverage for %s language\n",
+ printf (_("%s:%d Missing %d glyph(s) to satisfy the coverage for %s language\n"),
argv[i], index, count, lang);
if (verbose)
}
else
{
- printf ("%s:%d Satisfy the coverage for %s language\n", argv[i], index, lang);
+ printf (_("%s:%d Satisfy the coverage for %s language\n"), argv[i], index, lang);
}
FcCharSetDestroy (fcs);
Requires: @PKGCONFIG_REQUIRES@
Requires.private: @PKGCONFIG_REQUIRES_PRIVATELY@
Libs: -L${libdir} -lfontconfig
-Libs.private: @EXPAT_LIBS@ @FREETYPE_LIBS@ @ICONV_LIBS@ @LIBXML2_LIBS@
-Cflags: -I${includedir} @EXPAT_CFLAGS@ @FREETYPE_CFLAGS@ @ICONV_CFLAGS@ @LIBXML2_CFLAGS@
+Libs.private: @ICONV_LIBS@ @PKG_EXPAT_LIBS@
+Cflags: -I${includedir} @ICONV_CFLAGS@ @PKG_EXPAT_CFLAGS@
Summary: Font configuration and customization library
Name: fontconfig
-Version: 2.12.1
+Version: 2.13.0
Release: 1
License: MIT
Group: System Environment/Libraries
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(fontconfiginclude_HEADERS) \
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
FcPublic FcPattern *
FcFreeTypeQueryFace (const FT_Face face,
const FcChar8 *file,
- int id,
+ unsigned int id,
FcBlanks *blanks);
_FCFUNCPROTOEND
; \
}
-#endif /* _FCPRIVATE_H_ */
+#ifndef FC_ATTRIBUTE_VISIBILITY_HIDDEN
+#define FC_ATTRIBUTE_VISIBILITY_HIDDEN __attribute((visibility("hidden")))
+#endif
+
+#ifndef FC_ATTRIBUTE_VISIBILITY_EXPORT
+#define FC_ATTRIBUTE_VISIBILITY_EXPORT __attribute((visibility("default")))
+#endif
+#endif /* _FCPRIVATE_H_ */
#include <sys/types.h>
#include <sys/stat.h>
#include <stdarg.h>
+#include <limits.h>
#if defined(__GNUC__) && (__GNUC__ >= 4)
#define FC_ATTRIBUTE_SENTINEL(x) __attribute__((__sentinel__(0)))
*/
#define FC_MAJOR 2
-#define FC_MINOR 12
-#define FC_REVISION 1
+#define FC_MINOR 13
+#define FC_REVISION 0
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
#define _FC_STRINGIFY(s) _FC_STRINGIFY_(s)
#define FC_CACHE_VERSION _FC_STRINGIFY(FC_CACHE_VERSION_NUMBER)
-#define FcTrue 1
#define FcFalse 0
+#define FcTrue 1
+#define FcDontCare 2
#define FC_FAMILY "family" /* String */
#define FC_STYLE "style" /* String */
#define FC_OUTLINE "outline" /* Bool */
#define FC_SCALABLE "scalable" /* Bool */
#define FC_COLOR "color" /* Bool */
+#define FC_VARIABLE "variable" /* Bool */
#define FC_SCALE "scale" /* double (deprecated) */
#define FC_SYMBOL "symbol" /* Bool */
#define FC_DPI "dpi" /* double */
#define FC_DECORATIVE "decorative" /* Bool - true if style is a decorative variant */
#define FC_LCD_FILTER "lcdfilter" /* Int */
#define FC_FONT_FEATURES "fontfeatures" /* String */
+#define FC_FONT_VARIATIONS "fontvariations" /* String */
#define FC_NAMELANG "namelang" /* String RFC 3866 langs */
#define FC_PRGNAME "prgname" /* String */
#define FC_HASH "hash" /* String (deprecated) */
#define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
/* Adjust outline rasterizer */
-#define FC_CHAR_WIDTH "charwidth" /* Int */
+#define FC_CHARWIDTH "charwidth" /* Int */
+#define FC_CHAR_WIDTH FC_CHARWIDTH
#define FC_CHAR_HEIGHT "charheight"/* Int */
#define FC_MATRIX "matrix" /* FcMatrix */
FcResultOutOfMemory
} FcResult;
+typedef enum _FcValueBinding {
+ FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame,
+ /* to make sure sizeof (FcValueBinding) == 4 even with -fshort-enums */
+ FcValueBindingEnd = INT_MAX
+} FcValueBinding;
+
typedef struct _FcPattern FcPattern;
typedef struct _FcLangSet FcLangSet;
} FcObjectSet;
typedef enum _FcMatchKind {
- FcMatchPattern, FcMatchFont, FcMatchScan
+ FcMatchPattern, FcMatchFont, FcMatchScan,
+ FcMatchKindEnd,
+ FcMatchKindBegin = FcMatchPattern
} FcMatchKind;
typedef enum _FcLangResult {
FcSetApplication = 1
} FcSetName;
+typedef struct _FcConfigFileInfoIter {
+ void *dummy1;
+ void *dummy2;
+ void *dummy3;
+} FcConfigFileInfoIter;
+
typedef struct _FcAtomic FcAtomic;
#if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
FcPublic void
FcCacheCreateTagFile (const FcConfig *config);
+FcPublic FcBool
+FcDirCacheCreateUUID (FcChar8 *dir,
+ FcBool force,
+ FcConfig *config);
+
/* fccfg.c */
FcPublic FcChar8 *
FcConfigHome (void);
FcConfigSetSysRoot (FcConfig *config,
const FcChar8 *sysroot);
+FcPublic void
+FcConfigFileInfoIterInit (FcConfig *config,
+ FcConfigFileInfoIter *iter);
+
+FcPublic FcBool
+FcConfigFileInfoIterNext (FcConfig *config,
+ FcConfigFileInfoIter *iter);
+
+FcPublic FcBool
+FcConfigFileInfoIterGet (FcConfig *config,
+ FcConfigFileInfoIter *iter,
+ FcChar8 **name,
+ FcChar8 **description,
+ FcBool *enabled);
+
/* fccharset.c */
FcPublic FcCharSet*
FcCharSetCreate (void);
/* fcfreetype.c */
FcPublic FcPattern *
-FcFreeTypeQuery (const FcChar8 *file, int id, FcBlanks *blanks, int *count);
+FcFreeTypeQuery (const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count);
+
+FcPublic unsigned int
+FcFreeTypeQueryAll(const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count, FcFontSet *set);
/* fcfs.c */
FcPublic FcResult
FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v);
-
+
+FcPublic FcResult
+FcPatternGetWithBinding (const FcPattern *p, const char *object, int id, FcValue *v, FcValueBinding *b);
+
FcPublic FcBool
FcPatternDel (FcPattern *p, const char *object);
FcPublic int
FcWeightFromOpenType (int ot_weight);
+FcPublic double
+FcWeightFromOpenTypeDouble (double ot_weight);
+
FcPublic int
FcWeightToOpenType (int fc_weight);
+FcPublic double
+FcWeightToOpenTypeDouble (double fc_weight);
+
/* fcstr.c */
FcPublic FcChar8 *
FcPublic FcBool
FcConfigParseAndLoad (FcConfig *config, const FcChar8 *file, FcBool complain);
+FcPublic FcBool
+FcConfigParseAndLoadFromMemory (FcConfig *config,
+ const FcChar8 *buffer,
+ FcBool complain);
+
_FCFUNCPROTOEND
#undef FC_ATTRIBUTE_SENTINEL
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+ </its:rules>
+
+ <description>Default configuration file</description>
<!--
DO NOT EDIT THIS FILE.
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2016-01-11.22; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
--- /dev/null
+NULL =
+EXTRA_DIST = \
+ $(gettextits_DATA) \
+ $(NULL)
+
+gettextitsdir = $(datadir)/gettext/its
+gettextits_DATA = \
+ fontconfig.its \
+ fontconfig.loc
+
+-include $(top_srcdir)/git.mk
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@SET_MAKE@
-# -*- encoding: utf-8 -*-
-#
-# 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 the author(s) not be used in
-# advertising or publicity pertaining to distribution of the software without
-# 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.
-#
-# THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-# EVENT SHALL THE AUTHOR(S) 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.
-
-
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-subdir = fc-blanks
+subdir = its
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
- $(am__DIST_COMMON)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-SCRIPTS = $(noinst_SCRIPTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
-HEADERS = $(noinst_HEADERS)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(gettextitsdir)"
+DATA = $(gettextits_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
NULL =
-BLANKSPY = fc-blanks.py
-BLANKS_H = fcblanks.h
-TMPL = fcblanks.tmpl.h
-noinst_SCRIPTS = $(BLANKSPY)
-noinst_HEADERS = $(BLANKS_H)
EXTRA_DIST = \
- $(BLANKSPY) \
- $(BLANKS_H) \
- $(TMPL) \
+ $(gettextits_DATA) \
$(NULL)
-DISTCLEANFILES = $(BLANKS_H)
+gettextitsdir = $(datadir)/gettext/its
+gettextits_DATA = \
+ fontconfig.its \
+ fontconfig.loc
+
all: all-am
.SUFFIXES:
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fc-blanks/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu its/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu fc-blanks/Makefile
+ $(AUTOMAKE) --gnu its/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
clean-libtool:
-rm -rf .libs _libs
+install-gettextitsDATA: $(gettextits_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(gettextits_DATA)'; test -n "$(gettextitsdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(gettextitsdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(gettextitsdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gettextitsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(gettextitsdir)" || exit $$?; \
+ done
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
+uninstall-gettextitsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(gettextits_DATA)'; test -n "$(gettextitsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(gettextitsdir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
done
check-am: all-am
check: check-am
-all-am: Makefile $(SCRIPTS) $(HEADERS)
+all-am: Makefile $(DATA)
installdirs:
+ for dir in "$(DESTDIR)$(gettextitsdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
+distclean-am: clean-am distclean-generic
dvi: dvi-am
info-am:
-install-data-am:
+install-data-am: install-gettextitsDATA
install-dvi: install-dvi-am
ps-am:
-uninstall-am:
+uninstall-am: uninstall-gettextitsDATA
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool cscopelist-am ctags ctags-am distclean \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am \
+ install-gettextitsDATA install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
- uninstall-am
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-gettextitsDATA
.PRECIOUS: Makefile
-$(BLANKS_H): $(TMPL) $(BLANKSPY)
-@HAVE_PYTHON_TRUE@ $(AM_V_GEN) $(PYTHON) $(srcdir)/$(BLANKSPY) < $< > $(BLANKS_H).tmp && \
-@HAVE_PYTHON_TRUE@ mv $(BLANKS_H).tmp $(BLANKS_H) || ($(RM) $(BLANKS_H).tmp && false)
-@HAVE_PYTHON_FALSE@ @echo "No python installed. please install python to build $(BLANKS_H)."
-@HAVE_PYTHON_FALSE@ @false
-
-include $(top_srcdir)/git.mk
# Tell versions [3.59,3.63) of GNU make to not export all variables.
--- /dev/null
+<?xml version="1.0"?>
+<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule translate="no" selector="/fontconfig/*[not(self::description)]"/>
+</its:rules>
--- /dev/null
+<?xml version="1.0"?>
+<locatingRules>
+ <locatingRule name="Fontconfig" pattern="*.conf">
+ <documentRule localName="fontconfig" target="fontconfig.its"/>
+ </locatingRule>
+</locatingRules>
--- /dev/null
+# gettext.m4 serial 68 (gettext-0.19.8)
+dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl default (if it is not specified or empty) is 'no-libtool'.
+dnl INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl depending on --{enable,disable}-{shared,static} and on the presence of
+dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl implementations (in libc or libintl) without the ngettext() function
+dnl will be ignored. If NEEDSYMBOL is specified and is
+dnl 'need-formatstring-macros', then GNU gettext implementations that don't
+dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries. If empty,
+dnl the value '$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl and used.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl Catalog format: none
+dnl Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+ dnl Argument checking.
+ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+ ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+ [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
+ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+ define([gt_included_intl],
+ ifelse([$1], [external],
+ ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
+ [yes]))
+ define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+ gt_NEEDS_INIT
+ AM_GNU_GETTEXT_NEED([$2])
+
+ AC_REQUIRE([AM_PO_SUBDIRS])dnl
+ ifelse(gt_included_intl, yes, [
+ AC_REQUIRE([AM_INTL_SUBDIR])dnl
+ ])
+
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
+ dnl Ideally we would do this search only after the
+ dnl if test "$USE_NLS" = "yes"; then
+ dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+ dnl the configure script would need to contain the same shell code
+ dnl again, outside any 'if'. There are two solutions:
+ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+ dnl documented, we avoid it.
+ ifelse(gt_included_intl, yes, , [
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+ ])
+
+ dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
+ gt_INTL_MACOSX
+
+ dnl Set USE_NLS.
+ AC_REQUIRE([AM_NLS])
+
+ ifelse(gt_included_intl, yes, [
+ BUILD_INCLUDED_LIBINTL=no
+ USE_INCLUDED_LIBINTL=no
+ ])
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ dnl Add a version number to the cache macros.
+ case " $gt_needs " in
+ *" need-formatstring-macros "*) gt_api_version=3 ;;
+ *" need-ngettext "*) gt_api_version=2 ;;
+ *) gt_api_version=1 ;;
+ esac
+ gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+ gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+ dnl If we use NLS figure out what method
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+ ifelse(gt_included_intl, yes, [
+ AC_MSG_CHECKING([whether included gettext is requested])
+ AC_ARG_WITH([included-gettext],
+ [ --with-included-gettext use the GNU gettext library included here],
+ nls_cv_force_use_gnu_gettext=$withval,
+ nls_cv_force_use_gnu_gettext=no)
+ AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
+
+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+ ])
+ dnl User does not insist on using GNU NLS library. Figure out what
+ dnl to use. If GNU gettext is available we use this. Else we have
+ dnl to fall back to GNU NLS library.
+
+ if test $gt_api_version -ge 3; then
+ gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+'
+ else
+ gt_revision_test_code=
+ fi
+ if test $gt_api_version -ge 2; then
+ gt_expression_test_code=' + * ngettext ("", "", 0)'
+ else
+ gt_expression_test_code=
+ fi
+
+ AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+ ]])],
+ [eval "$gt_func_gnugettext_libc=yes"],
+ [eval "$gt_func_gnugettext_libc=no"])])
+
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
+ ifelse(gt_included_intl, yes, , [
+ AM_ICONV_LINK
+ ])
+ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+ dnl even if libiconv doesn't exist.
+ AC_LIB_LINKFLAGS_BODY([intl])
+ AC_CACHE_CHECK([for GNU gettext in libintl],
+ [$gt_func_gnugettext_libintl],
+ [gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ dnl Now see whether libintl exists and does not depend on libiconv.
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+ ]])],
+ [eval "$gt_func_gnugettext_libintl=yes"],
+ [eval "$gt_func_gnugettext_libintl=no"])
+ dnl Now see whether libintl exists and depends on libiconv.
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+ ]])],
+ [LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
+ ])
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"])
+ fi
+
+ dnl If an already present or preinstalled GNU gettext() is found,
+ dnl use it. But if this macro is used in GNU gettext, and GNU
+ dnl gettext is already preinstalled in libintl, we update this
+ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ dnl Reset the values set by searching for libintl.
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+ ifelse(gt_included_intl, yes, [
+ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+ dnl GNU gettext is not found in the C library.
+ dnl Fall back on included GNU gettext library.
+ nls_cv_use_gnu_gettext=yes
+ fi
+ fi
+
+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions used to generate GNU NLS library.
+ BUILD_INCLUDED_LIBINTL=yes
+ USE_INCLUDED_LIBINTL=yes
+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+ fi
+
+ CATOBJEXT=
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions to use GNU gettext tools.
+ CATOBJEXT=.gmo
+ fi
+ ])
+
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Some extra flags are needed during linking.
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ AC_DEFINE([ENABLE_NLS], [1],
+ [Define to 1 if translation of program messages to the user's native language
+ is requested.])
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ AC_MSG_CHECKING([whether to use NLS])
+ AC_MSG_RESULT([$USE_NLS])
+ if test "$USE_NLS" = "yes"; then
+ AC_MSG_CHECKING([where the gettext function comes from])
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ AC_MSG_RESULT([$gt_source])
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ AC_MSG_CHECKING([how to link with libintl])
+ AC_MSG_RESULT([$LIBINTL])
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+ fi
+
+ dnl For backward compatibility. Some packages may be using this.
+ AC_DEFINE([HAVE_GETTEXT], [1],
+ [Define if the GNU gettext() function is already present or preinstalled.])
+ AC_DEFINE([HAVE_DCGETTEXT], [1],
+ [Define if the GNU dcgettext() function is already present or preinstalled.])
+ fi
+
+ dnl We need to process the po/ directory.
+ POSUB=po
+ fi
+
+ ifelse(gt_included_intl, yes, [
+ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+ dnl to 'yes' because some of the testsuite requires it.
+ if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+ BUILD_INCLUDED_LIBINTL=yes
+ fi
+
+ dnl Make all variables we use known to autoconf.
+ AC_SUBST([BUILD_INCLUDED_LIBINTL])
+ AC_SUBST([USE_INCLUDED_LIBINTL])
+ AC_SUBST([CATOBJEXT])
+
+ dnl For backward compatibility. Some configure.ins may be using this.
+ nls_cv_header_intl=
+ nls_cv_header_libgt=
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ DATADIRNAME=share
+ AC_SUBST([DATADIRNAME])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INSTOBJEXT=.mo
+ AC_SUBST([INSTOBJEXT])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ GENCAT=gencat
+ AC_SUBST([GENCAT])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INTLOBJS=
+ if test "$USE_INCLUDED_LIBINTL" = yes; then
+ INTLOBJS="\$(GETTOBJS)"
+ fi
+ AC_SUBST([INTLOBJS])
+
+ dnl Enable libtool support if the surrounding package wishes it.
+ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+ AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
+ ])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INTLLIBS="$LIBINTL"
+ AC_SUBST([INTLLIBS])
+
+ dnl Make all documented variables known to autoconf.
+ AC_SUBST([LIBINTL])
+ AC_SUBST([LTLIBINTL])
+ AC_SUBST([POSUB])
+])
+
+
+dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
+m4_define([gt_NEEDS_INIT],
+[
+ m4_divert_text([DEFAULTS], [gt_needs=])
+ m4_define([gt_NEEDS_INIT], [])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
+AC_DEFUN([AM_GNU_GETTEXT_NEED],
+[
+ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+
+
+dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], [])
--- /dev/null
+# iconv.m4 serial 19 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+ dnl those with the standalone portable GNU libiconv installed).
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed libiconv and not disabled its use
+ dnl via --without-libiconv-prefix, he wants to use it. The first
+ dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
+ am_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+ AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_func_iconv=yes])
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_lib_iconv=yes]
+ [am_cv_func_iconv=yes])
+ LIBS="$am_save_LIBS"
+ fi
+ ])
+ if test "$am_cv_func_iconv" = yes; then
+ AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+ dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+ dnl Solaris 10.
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ am_cv_func_iconv_works=no
+ for ac_iconv_const in '' 'const'; do
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+ ]],
+ [[int result = 0;
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 1;
+ iconv_close (cd_utf8_to_88591);
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\263";
+ char buf[10];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 2;
+ iconv_close (cd_ascii_to_88591);
+ }
+ }
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ result |= 4;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ result |= 8;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ result |= 16;
+ return result;
+]])],
+ [am_cv_func_iconv_works=yes], ,
+ [case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac])
+ test "$am_cv_func_iconv_works" = no || break
+ done
+ LIBS="$am_save_LIBS"
+ ])
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+ AC_DEFINE([HAVE_ICONV], [1],
+ [Define if you have the iconv() function and it works.])
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ AC_MSG_CHECKING([how to link with libiconv])
+ AC_MSG_RESULT([$LIBICONV])
+ else
+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+ dnl either.
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+ AC_SUBST([LIBICONV])
+ AC_SUBST([LTLIBICONV])
+])
+
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl warnings.
+m4_define([gl_iconv_AC_DEFUN],
+ m4_version_prereq([2.64],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [m4_ifdef([gl_00GNULIB],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [[AC_DEFUN(
+ [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
+[
+ AM_ICONV_LINK
+ if test "$am_cv_func_iconv" = yes; then
+ AC_MSG_CHECKING([for iconv declaration])
+ AC_CACHE_VAL([am_cv_proto_iconv], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+ ]],
+ [[]])],
+ [am_cv_proto_iconv_arg1=""],
+ [am_cv_proto_iconv_arg1="const"])
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ AC_MSG_RESULT([
+ $am_cv_proto_iconv])
+ AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+ [Define as const if the declaration of iconv() needs const.])
+ dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+ m4_ifdef([gl_ICONV_H_DEFAULTS],
+ [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+ if test -n "$am_cv_proto_iconv_arg1"; then
+ ICONV_CONST="const"
+ fi
+ ])
+ fi
+])
--- /dev/null
+# intlmacosx.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Checks for special options needed on Mac OS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+ dnl Check for API introduced in Mac OS X 10.2.
+ AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+ [gt_cv_func_CFPreferencesCopyAppValue],
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <CoreFoundation/CFPreferences.h>]],
+ [[CFPreferencesCopyAppValue(NULL, NULL)]])],
+ [gt_cv_func_CFPreferencesCopyAppValue=yes],
+ [gt_cv_func_CFPreferencesCopyAppValue=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+ AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
+ [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+ fi
+ dnl Check for API introduced in Mac OS X 10.3.
+ AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <CoreFoundation/CFLocale.h>]],
+ [[CFLocaleCopyCurrent();]])],
+ [gt_cv_func_CFLocaleCopyCurrent=yes],
+ [gt_cv_func_CFLocaleCopyCurrent=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
+ [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+ AC_SUBST([INTL_MACOSX_LIBS])
+])
--- /dev/null
+# lib-ld.m4 serial 6
+dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
+
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes
+ ;;
+*)
+ acl_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-2.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld [default=no]])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+ while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL([acl_cv_path_LD],
+[if test -z "$LD"; then
+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$acl_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT([$LD])
+else
+ AC_MSG_RESULT([no])
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
--- /dev/null
+# lib-link.m4 serial 26 (gettext-0.18.2)
+dnl Copyright (C) 2001-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ([2.54])
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
+ ])
+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+ dnl results of this search when this library appears as a dependency.
+ HAVE_LIB[]NAME=yes
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+
+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed lib[]Name and not disabled its use
+ dnl via --without-lib[]Name-prefix, he wants to use it.
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+ ac_save_LIBS="$LIBS"
+ dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+ dnl because these -l options might require -L options that are present in
+ dnl LIBS. -l options benefit only from the -L options listed before it.
+ dnl Otherwise, add it to the front of LIBS, because it may be a static
+ dnl library that depends on another static library that is present in LIBS.
+ dnl Static libraries benefit only from the static libraries listed after
+ dnl it.
+ case " $LIB[]NAME" in
+ *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+ *) LIBS="$LIB[]NAME $LIBS" ;;
+ esac
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[$3]], [[$4]])],
+ [ac_cv_lib[]Name=yes],
+ [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
+ LIBS="$ac_save_LIBS"
+ ])
+ if test "$ac_cv_lib[]Name" = yes; then
+ HAVE_LIB[]NAME=yes
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
+ AC_MSG_CHECKING([how to link with lib[]$1])
+ AC_MSG_RESULT([$LIB[]NAME])
+ else
+ HAVE_LIB[]NAME=no
+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+ dnl $INC[]NAME either.
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIB[]NAME=
+ LTLIB[]NAME=
+ LIB[]NAME[]_PREFIX=
+ fi
+ AC_SUBST([HAVE_LIB]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl acl_libext,
+dnl acl_shlibext,
+dnl acl_libname_spec,
+dnl acl_library_names_spec,
+dnl acl_hardcode_libdir_flag_spec,
+dnl acl_hardcode_libdir_separator,
+dnl acl_hardcode_direct,
+dnl acl_hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+ dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+ AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+ ])
+ wl="$acl_cv_wl"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ dnl Determine whether the user wants rpath handling at all.
+ AC_ARG_ENABLE([rpath],
+ [ --disable-rpath do not hardcode runtime library paths],
+ :, enable_rpath=yes)
+])
+
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ define([acl_frompackage_]NAME, [$2])
+ popdef([NAME])
+ pushdef([PACK],[$2])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ define([acl_libsinpackage_]PACKUP,
+ m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
+ popdef([PACKUP])
+ popdef([PACK])
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+ dnl Autoconf >= 2.61 supports dots in --with options.
+ pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_ARG_WITH(P_A_C_K[-prefix],
+[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
+ --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+])
+ dnl Search the library and its dependencies in $additional_libdir and
+ dnl $LDFLAGS. Using breadth-first-seach.
+ LIB[]NAME=
+ LTLIB[]NAME=
+ INC[]NAME=
+ LIB[]NAME[]_PREFIX=
+ dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+ dnl computed. So it has to be reset here.
+ HAVE_LIB[]NAME=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='$1 $2'
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+ dnl or AC_LIB_HAVE_LINKFLAGS call.
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+ else
+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+ dnl that this library doesn't exist. So just drop it.
+ :
+ fi
+ else
+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+ dnl and the already constructed $LIBNAME/$LTLIBNAME.
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ dnl The same code as in the loop below:
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ dnl Found the library.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ dnl Linking with a shared library. We attempt to hardcode its
+ dnl directory into the executable's runpath, unless it's the
+ dnl standard /usr/lib.
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ dnl No hardcoding is needed.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ dnl The hardcoding into $LIBNAME is system dependent.
+ if test "$acl_hardcode_direct" = yes; then
+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+ dnl resulting binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ dnl Rely on "-L$found_dir".
+ dnl But don't add it if it's already contained in the LDFLAGS
+ dnl or the already constructed $LIBNAME
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
+ dnl here, because this doesn't fit in flags passed to the
+ dnl compiler. So give up. No hardcoding. This affects only
+ dnl very old systems.
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ dnl Linking with a static library.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+ else
+ dnl We shouldn't come here, but anyway it's good to have a
+ dnl fallback.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+ fi
+ fi
+ dnl Assume the include files are nearby.
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ dnl Potentially add $additional_includedir to $INCNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 3. if it's already present in $CPPFLAGS or the already
+ dnl constructed $INCNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INC[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $INCNAME.
+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ dnl Look for dependencies.
+ if test -n "$found_la"; then
+ dnl Read the .la file. It defines the variables
+ dnl dlname, library_names, old_library, dependency_libs, current,
+ dnl age, revision, installed, dlopen, dlpreopen, libdir.
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ dnl We use only dependency_libs.
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 3. if it's already present in $LDFLAGS or the already
+ dnl constructed $LIBNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LIBNAME.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LTLIBNAME.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ dnl Handle this in the next round.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ dnl Handle this in the next round. Throw away the .la's
+ dnl directory; it is already contained in a preceding -L
+ dnl option.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ dnl Most likely an immediate library name.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ dnl Didn't find the library; assume it is in the system directories
+ dnl known to the linker and runtime loader. (All the system
+ dnl directories known to the linker should also be known to the
+ dnl runtime loader, otherwise the system is severely misconfigured.)
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user must
+ dnl pass all path elements in one option. We can arrange that for a
+ dnl single library, but not when more than one $LIBNAMEs are used.
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ dnl When using libtool, the option that works for both libraries and
+ dnl executables is -R. The -R options are cumulative.
+ for found_dir in $ltrpathdirs; do
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+ done
+ fi
+ popdef([P_A_C_K])
+ popdef([PACKLIBS])
+ popdef([PACKUP])
+ popdef([PACK])
+ popdef([NAME])
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+ for element in [$2]; do
+ haveit=
+ for x in $[$1]; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ [$1]="${[$1]}${[$1]:+ }$element"
+ fi
+ done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+ AC_REQUIRE([AC_LIB_RPATH])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ $1=
+ if test "$enable_rpath" != no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode directories into the resulting
+ dnl binary.
+ rpathdirs=
+ next=
+ for opt in $2; do
+ if test -n "$next"; then
+ dir="$next"
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next=
+ else
+ case $opt in
+ -L) next=yes ;;
+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next= ;;
+ *) next= ;;
+ esac
+ fi
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n ""$3""; then
+ dnl libtool is used for linking. Use -R options.
+ for dir in $rpathdirs; do
+ $1="${$1}${$1:+ }-R$dir"
+ done
+ else
+ dnl The linker is used for linking directly.
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user
+ dnl must pass all path elements in one option.
+ alldirs=
+ for dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="${$1}${$1:+ }$flag"
+ done
+ fi
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST([$1])
+])
--- /dev/null
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_LIB_ARG_WITH([lib-prefix],
+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+ --without-lib-prefix don't search for libraries in includedir and libdir],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ fi
+ fi
+])
+ if test $use_additional = yes; then
+ dnl Potentially add $additional_includedir to $CPPFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's already present in $CPPFLAGS,
+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ for x in $CPPFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $CPPFLAGS.
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ dnl Potentially add $additional_libdir to $LDFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's already present in $LDFLAGS,
+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ haveit=
+ for x in $LDFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LDFLAGS.
+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ $1
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl "lib/amd64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+ dnl There is no formal standard regarding lib and lib64.
+ dnl On glibc systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+ dnl the compiler's default mode by looking at the compiler's library search
+ dnl path. If at least one of its elements ends in /lib64 or points to a
+ dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+ dnl Otherwise we use the default, namely "lib".
+ dnl On Solaris systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+ dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+ dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+ dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+ dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+ dnl symlink is missing, so we set acl_libdirstem2 too.
+ AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+ [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+ ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+ ])
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+])
--- /dev/null
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software
+dnl Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.50])
+
+AC_DEFUN([AM_NLS],
+[
+ AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE([nls],
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT([$USE_NLS])
+ AC_SUBST([USE_NLS])
+])
--- /dev/null
+# po.m4 serial 24 (gettext-0.19)
+dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.60])
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+ AC_REQUIRE([AC_PROG_SED])dnl
+ AC_REQUIRE([AM_NLS])dnl
+
+ dnl Release version of the gettext macros. This is used to ensure that
+ dnl the gettext macros and po/Makefile.in.in are in sync.
+ AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
+
+ dnl Perform the following tests also if --disable-nls has been given,
+ dnl because they are needed for "make dist" to work.
+
+ dnl Search for GNU msgfmt in the PATH.
+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+ dnl The second test excludes FreeBSD msgfmt.
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
+
+ dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([GMSGFMT_015])
+
+ dnl Search for GNU xgettext 0.12 or newer in the PATH.
+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+ dnl The second test excludes FreeBSD xgettext.
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ dnl Remove leftover from FreeBSD xgettext call.
+ rm -f messages.po
+
+ dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([XGETTEXT_015])
+
+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+ dnl Installation directories.
+ dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+ dnl have to define it here, so that it can be used in po/Makefile.
+ test -n "$localedir" || localedir='${datadir}/locale'
+ AC_SUBST([localedir])
+
+ dnl Support for AM_XGETTEXT_OPTION.
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+ AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
+
+ AC_CONFIG_COMMANDS([po-directories], [[
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ gt_tab=`printf '\t'`
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done]],
+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake < 1.5.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+ ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+ # When this code is run, in config.status, two variables have already been
+ # set:
+ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+ # - LINGUAS is the value of the environment variable LINGUAS at configure
+ # time.
+
+changequote(,)dnl
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ # Find a way to echo strings without interpreting backslash.
+ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='echo'
+ else
+ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='printf %s\n'
+ else
+ echo_func () {
+ cat <<EOT
+$*
+EOT
+ }
+ gt_echo='echo_func'
+ fi
+ fi
+
+ # A sed script that extracts the value of VARIABLE from a Makefile.
+ tab=`printf '\t'`
+ sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
+ # Seen the first line of the variable definition.
+ s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
+ ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+ # Set POTFILES to the value of the Makefile variable POTFILES.
+ sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+ # Compute POTFILES_DEPS as
+ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+ POTFILES_DEPS=
+ for file in $POTFILES; do
+ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+ done
+ POMAKEFILEDEPS=""
+
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+ sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+ fi
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ # Compute PROPERTIESFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+ # Compute CLASSFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+ # Compute QMFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+ # Compute MSGFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+ # Compute RESOURCESDLLFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ PROPERTIESFILES=
+ CLASSFILES=
+ QMFILES=
+ MSGFILES=
+ RESOURCESDLLFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+ QMFILES="$QMFILES $srcdirpre$lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ JAVACATALOGS=
+ QTCATALOGS=
+ TCLCATALOGS=
+ CSHARPCATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+ QTCATALOGS="$QTCATALOGS $lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ fi
+
+ sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+ tab=`printf '\t'`
+ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if test -n "$POMAKEFILEDEPS"; then
+ cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+ fi
+ mv "$ac_file.tmp" "$ac_file"
+])
+
+dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
+AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
+[
+ XGETTEXT_EXTRA_OPTIONS=
+])
+
+dnl Registers an option to be passed to xgettext in the po subdirectory.
+AC_DEFUN([AM_XGETTEXT_OPTION],
+[
+ AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
+ XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
+])
--- /dev/null
+# progtest.m4 serial 7 (gettext-0.18.2)
+dnl Copyright (C) 1996-2003, 2005, 2008-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ([2.50])
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL([ac_cv_path_$1],
+[case "[$]$1" in
+ [[\\/]]* | ?:[[\\/]]*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+ AC_MSG_RESULT([$][$1])
+else
+ AC_MSG_RESULT([no])
+fi
+AC_SUBST([$1])dnl
+])
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
--- /dev/null
+2015-01-28 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: New file, from gettext-0.19.4.
+ * Rules-quot: New file, from gettext-0.19.4.
+ * boldquot.sed: New file, from gettext-0.19.4.
+ * en@boldquot.header: New file, from gettext-0.19.4.
+ * en@quot.header: New file, from gettext-0.19.4.
+ * insert-header.sin: New file, from gettext-0.19.4.
+ * quot.sed: New file, from gettext-0.19.4.
+ * remove-potcdate.sin: New file, from gettext-0.19.4.
+ * POTFILES.in: New file.
+
--- /dev/null
+# Please keep this list sorted alphabetically.
+zh_CN
--- /dev/null
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved. This file is offered as-is,
+# without any warranty.
+#
+# Origin: gettext-0.19.8
+GETTEXT_MACRO_VERSION = 0.19
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SED = @SED@
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+# When building gettext-tools, we prefer to use the built programs
+# rather than installed programs. However, we can't do that when we
+# are cross compiling.
+CROSS_COMPILING = @CROSS_COMPILING@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+ @echo "$(MSGFMT) -c -o $@ $<"; \
+ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+ @lang=`echo $* | sed -e 's,.*/,,'`; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+ sed -e '/^#/d' $< > t-$@
+ mv t-$@ $@
+
+
+all: all-@USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+ test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+ exit 1; \
+ }
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+ @$(CHECK_MACRO_VERSION)
+ test ! -f $(srcdir)/$(DOMAIN).pot || \
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+ echo "touch stamp-po" && \
+ echo timestamp > stamp-poT && \
+ mv stamp-poT stamp-po; \
+ }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ package_gnu="$(PACKAGE_GNU)"; \
+ test -n "$$package_gnu" || { \
+ if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+ LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
+ -size -10000000c -exec grep 'GNU @PACKAGE@' \
+ /dev/null '{}' ';' 2>/dev/null; \
+ else \
+ LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+ fi; \
+ } | grep -v 'libtool:' >/dev/null; then \
+ package_gnu=yes; \
+ else \
+ package_gnu=no; \
+ fi; \
+ }; \
+ if test "$$package_gnu" = "yes"; then \
+ package_prefix='GNU '; \
+ else \
+ package_prefix=''; \
+ fi; \
+ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+ else \
+ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+ fi; \
+ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ *) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --package-name="$${package_prefix}@PACKAGE@" \
+ --package-version='@VERSION@' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ esac
+ test ! -f $(DOMAIN).po || { \
+ if test -f $(srcdir)/$(DOMAIN).pot-header; then \
+ sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
+ cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
+ rm -f $(DOMAIN).1po; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+ else \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ else \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+ $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(POFILESDEPS)
+ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+ if test -f "$(srcdir)/$${lang}.po"; then \
+ test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) \
+ && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+ esac; \
+ }; \
+ else \
+ $(MAKE) $${lang}.po-create; \
+ fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+install-data-no: all
+install-data-yes: all
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+ fi; \
+ done; \
+ done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+installdirs-data-no:
+installdirs-data-yes:
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ fi; \
+ done; \
+ done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+uninstall-data-no:
+uninstall-data-yes:
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ done; \
+ done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+ rm -f remove-potcdate.sed
+ rm -f stamp-poT
+ rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+ rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+ rm -f Makefile Makefile.in POTFILES *.mo
+
+maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ rm -f stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+ test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
+ @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
+ dists="$(DISTFILES)"; \
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ dists="$$dists Makevars.template"; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ dists="$$dists $(DOMAIN).pot stamp-po"; \
+ fi; \
+ if test -f $(srcdir)/ChangeLog; then \
+ dists="$$dists ChangeLog"; \
+ fi; \
+ for i in 0 1 2 3 4 5 6 7 8 9; do \
+ if test -f $(srcdir)/ChangeLog.$$i; then \
+ dists="$$dists ChangeLog.$$i"; \
+ fi; \
+ done; \
+ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+ for file in $$dists; do \
+ if test -f $$file; then \
+ cp -p $$file $(distdir) || exit 1; \
+ else \
+ cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+ fi; \
+ done
+
+update-po: Makefile
+ $(MAKE) $(DOMAIN).pot-update
+ test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+ $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+ @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+ exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ esac; \
+ }; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "msgmerge for $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+ @:
+
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+ cd $(top_builddir) \
+ && @SHELL@ ./config.status $(subdir)/$@.in po-directories
+
+force:
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
--- /dev/null
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)-conf
+
+# These two variables depend on the location of this directory.
+subdir = po-conf
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Fontconfig Author(s)
+
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty. If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU = no
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+# in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+# understood.
+# - Strings which make invalid assumptions about notation of date, time or
+# money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context. Possible values are "yes" and "no". Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+# --previous to keep previous msgids of translated messages,
+# --quiet to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed. Possible values are "yes" and "no". Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = yes
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist". Possible values are "yes" and
+# "no". Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = yes
+
+$(DOMAIN).pot-update: export GETTEXTDATADIR = $(top_srcdir)
--- /dev/null
+conf.d/10-autohint.conf
+conf.d/10-hinting-full.conf
+conf.d/10-hinting-medium.conf
+conf.d/10-hinting-none.conf
+conf.d/10-hinting-slight.conf
+conf.d/10-no-sub-pixel.conf
+conf.d/10-scale-bitmap-fonts.conf
+conf.d/10-sub-pixel-bgr.conf
+conf.d/10-sub-pixel-rgb.conf
+conf.d/10-sub-pixel-vbgr.conf
+conf.d/10-sub-pixel-vrgb.conf
+conf.d/10-unhinted.conf
+conf.d/11-lcdfilter-default.conf
+conf.d/11-lcdfilter-legacy.conf
+conf.d/11-lcdfilter-light.conf
+conf.d/20-unhint-small-vera.conf
+conf.d/25-unhint-nonlatin.conf
+conf.d/30-metric-aliases.conf
+conf.d/40-nonlatin.conf
+conf.d/45-generic.conf
+conf.d/45-latin.conf
+conf.d/49-sansserif.conf
+conf.d/50-user.conf
+conf.d/51-local.conf
+conf.d/60-generic.conf
+conf.d/60-latin.conf
+conf.d/65-fonts-persian.conf
+conf.d/65-khmer.conf
+conf.d/65-nonlatin.conf
+conf.d/69-unifont.conf
+conf.d/70-no-bitmaps.conf
+conf.d/70-yes-bitmaps.conf
+conf.d/80-delicious.conf
+conf.d/90-synthetic.conf
--- /dev/null
+# This file, Rules-quot, can be copied and used freely without restrictions.
+# Special Makefile rules for English message catalogs with quotation marks.
+
+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+
+.SUFFIXES: .insert-header .po-update-en
+
+en@quot.po-create:
+ $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+ $(MAKE) en@boldquot.po-update
+
+en@quot.po-update: en@quot.po-update-en
+en@boldquot.po-update: en@boldquot.po-update-en
+
+.insert-header.po-update-en:
+ @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ ll=`echo $$lang | sed -e 's/@.*//'`; \
+ LC_ALL=C; export LC_ALL; \
+ cd $(srcdir); \
+ if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
+ | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
+ { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
+ $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
+ ;; \
+ *) \
+ $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
+ ;; \
+ esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
+ ; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "creation of $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+en@quot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+
+en@boldquot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+
+mostlyclean: mostlyclean-quot
+mostlyclean-quot:
+ rm -f *.insert-header
--- /dev/null
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+s/“/“\e[1m/g
+s/”/\e[0m”/g
+s/‘/‘\e[1m/g
+s/’/\e[0m’/g
--- /dev/null
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
--- /dev/null
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Fontconfig Author(s)
+# This file is distributed under the same license as the fontconfig package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: fontconfig 2.13.0\n"
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
+"product=fontconfig\n"
+"POT-Creation-Date: 2018-03-06 12:50+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: conf.d/10-autohint.conf:8
+msgid "Enable autohinter"
+msgstr ""
+
+#: conf.d/10-hinting-full.conf:8
+msgid "Set hintfull to hintstyle"
+msgstr ""
+
+#: conf.d/10-hinting-medium.conf:8
+msgid "Set hintmedium to hintstyle"
+msgstr ""
+
+#: conf.d/10-hinting-none.conf:8
+msgid "Set hintnone to hintstyle"
+msgstr ""
+
+#: conf.d/10-hinting-slight.conf:8
+msgid "Set hintslight to hintstyle"
+msgstr ""
+
+#: conf.d/10-no-sub-pixel.conf:8
+msgid "Disable sub-pixel rendering"
+msgstr ""
+
+#: conf.d/10-scale-bitmap-fonts.conf:8
+msgid "Bitmap scaling"
+msgstr ""
+
+#: conf.d/10-sub-pixel-bgr.conf:8
+msgid "Enable sub-pixel rendering with the BGR stripes layout"
+msgstr ""
+
+#: conf.d/10-sub-pixel-rgb.conf:8
+msgid "Enable sub-pixel rendering with the RGB stripes layout"
+msgstr ""
+
+#: conf.d/10-sub-pixel-vbgr.conf:8
+msgid "Enable sub-pixel rendering with the vertical BGR stripes layout"
+msgstr ""
+
+#: conf.d/10-sub-pixel-vrgb.conf:8
+msgid "Enable sub-pixel rendering with the vertical RGB stripes layout"
+msgstr ""
+
+#: conf.d/10-unhinted.conf:8
+msgid "Disable hinting"
+msgstr ""
+
+#: conf.d/11-lcdfilter-default.conf:8
+msgid "Use lcddefault as default for LCD filter"
+msgstr ""
+
+#: conf.d/11-lcdfilter-legacy.conf:8
+msgid "Use lcdlegacy as default for LCD filter"
+msgstr ""
+
+#: conf.d/11-lcdfilter-light.conf:8
+msgid "Use lcdlight as default for LCD filter"
+msgstr ""
+
+#: conf.d/20-unhint-small-vera.conf:8
+msgid ""
+"Disable hinting for Bitstream Vera fonts when the size is less than 8ppem"
+msgstr ""
+
+#: conf.d/25-unhint-nonlatin.conf:8
+msgid "Disable hinting for CJK fonts"
+msgstr ""
+
+#: conf.d/30-metric-aliases.conf:8
+msgid "Set substitutions for similar/metric-compatible families"
+msgstr ""
+
+#: conf.d/40-nonlatin.conf:8
+msgid "Set substitutions for non-Latin fonts"
+msgstr ""
+
+#: conf.d/45-generic.conf:8
+msgid "Set substitutions for emoji/math fonts"
+msgstr ""
+
+#: conf.d/45-latin.conf:8
+msgid "Set substitutions for Latin fonts"
+msgstr ""
+
+#: conf.d/49-sansserif.conf:8
+msgid "Add sans-serif to the family when no generic name"
+msgstr ""
+
+#: conf.d/50-user.conf:8
+msgid "Load per-user customization files"
+msgstr ""
+
+#: conf.d/51-local.conf:8
+msgid "Load local customization file"
+msgstr ""
+
+#: conf.d/60-generic.conf:8
+msgid "Set preferable fonts for emoji/math fonts"
+msgstr ""
+
+#: conf.d/60-latin.conf:8
+msgid "Set preferable fonts for Latin"
+msgstr ""
+
+#: conf.d/65-nonlatin.conf:8
+msgid "Set preferable fonts for non-Latin"
+msgstr ""
+
+#: conf.d/70-no-bitmaps.conf:8
+msgid "Reject bitmap fonts"
+msgstr ""
+
+#: conf.d/70-yes-bitmaps.conf:8
+msgid "Accept bitmap fonts"
+msgstr ""
--- /dev/null
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
--- /dev/null
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
--- /dev/null
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Fontconfig Author(s)
+# This file is distributed under the same license as the fontconfig package.
+#
+# Dingyuan Wang <gumblex@aosc.io>, 2018.
+# Mingcong Bai <jeffbai@aosc.io>, 2018.
+# Mingye Wang <artoria2e5@aosc.io>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: fontconfig 2.12.92\n"
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
+"product=fontconfig\n"
+"POT-Creation-Date: 2018-03-06 12:50+0900\n"
+"PO-Revision-Date: 2018-02-16 01:19-0600\n"
+"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
+"Language-Team: AOSC\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: conf.d/10-autohint.conf:8
+msgid "Enable autohinter"
+msgstr "启用自动微调"
+
+#: conf.d/10-hinting-full.conf:8
+msgid "Set hintfull to hintstyle"
+msgstr "设置微调风格为“完全 (hintfull)”"
+
+#: conf.d/10-hinting-medium.conf:8
+msgid "Set hintmedium to hintstyle"
+msgstr "设置微调风格为“中等 (hintmedium)”"
+
+#: conf.d/10-hinting-none.conf:8
+msgid "Set hintnone to hintstyle"
+msgstr "设置微调风格为“无 (hintnone)”"
+
+#: conf.d/10-hinting-slight.conf:8
+msgid "Set hintslight to hintstyle"
+msgstr "设置微调风格为“轻微 (hintslight)”"
+
+#: conf.d/10-no-sub-pixel.conf:8
+msgid "Disable sub-pixel rendering"
+msgstr "禁用次像素渲染"
+
+#: conf.d/10-scale-bitmap-fonts.conf:8
+msgid "Bitmap scaling"
+msgstr "位图缩放"
+
+#: conf.d/10-sub-pixel-bgr.conf:8
+msgid "Enable sub-pixel rendering with the BGR stripes layout"
+msgstr "启用蓝绿红 (BGR) 像素布局的次像素渲染"
+
+#: conf.d/10-sub-pixel-rgb.conf:8
+msgid "Enable sub-pixel rendering with the RGB stripes layout"
+msgstr "启用红绿蓝 (RGB) 像素布局的次像素渲染"
+
+#: conf.d/10-sub-pixel-vbgr.conf:8
+msgid "Enable sub-pixel rendering with the vertical BGR stripes layout"
+msgstr "启用垂直蓝绿红 (BGR) 像素布局的次像素渲染"
+
+#: conf.d/10-sub-pixel-vrgb.conf:8
+msgid "Enable sub-pixel rendering with the vertical RGB stripes layout"
+msgstr "启用垂直红绿蓝 (RGB) 像素布局的次像素渲染"
+
+#: conf.d/10-unhinted.conf:8
+msgid "Disable hinting"
+msgstr "禁用微调"
+
+#: conf.d/11-lcdfilter-default.conf:8
+msgid "Use lcddefault as default for LCD filter"
+msgstr "将 lcddefault 设为默认 LCD 滤镜"
+
+#: conf.d/11-lcdfilter-legacy.conf:8
+msgid "Use lcdlegacy as default for LCD filter"
+msgstr "将 lcdlegacy 设为默认 LCD 滤镜"
+
+#: conf.d/11-lcdfilter-light.conf:8
+msgid "Use lcdlight as default for LCD filter"
+msgstr "将 lcdlight 设为默认 LCD 滤镜"
+
+#: conf.d/20-unhint-small-vera.conf:8
+msgid ""
+"Disable hinting for Bitstream Vera fonts when the size is less than 8ppem"
+msgstr "为大小小于 8ppem 的 Bitstream Vera 字体禁用微调"
+
+#: conf.d/25-unhint-nonlatin.conf:8
+msgid "Disable hinting for CJK fonts"
+msgstr "为中日韩 (CJK) 字体禁用微调"
+
+#: conf.d/30-metric-aliases.conf:8
+msgid "Set substitutions for similar/metric-compatible families"
+msgstr "为相似或规格兼容的字体家族设置替换"
+
+#: conf.d/40-nonlatin.conf:8
+msgid "Set substitutions for non-Latin fonts"
+msgstr "为非拉丁语言字体设置替换"
+
+#: conf.d/45-generic.conf:8
+msgid "Set substitutions for emoji/math fonts"
+msgstr "为绘文字 (Emoji) 或数学字体设置替换"
+
+#: conf.d/45-latin.conf:8
+msgid "Set substitutions for Latin fonts"
+msgstr "为拉丁语言字体设置替换"
+
+#: conf.d/49-sansserif.conf:8
+msgid "Add sans-serif to the family when no generic name"
+msgstr "在没有通用名称时添加 sans-serif 到字体家族"
+
+#: conf.d/50-user.conf:8
+msgid "Load per-user customization files"
+msgstr "载入用户自定义文件"
+
+#: conf.d/51-local.conf:8
+msgid "Load local customization file"
+msgstr "载入本地自定义文件"
+
+#: conf.d/60-generic.conf:8
+msgid "Set preferable fonts for emoji/math fonts"
+msgstr "设置首选绘文字 (Emoji) 或数学字体"
+
+#: conf.d/60-latin.conf:8
+msgid "Set preferable fonts for Latin"
+msgstr "设置首选拉丁语言字体"
+
+#: conf.d/65-nonlatin.conf:8
+msgid "Set preferable fonts for non-Latin"
+msgstr "设置首选非拉丁语言字体"
+
+#: conf.d/70-no-bitmaps.conf:8
+msgid "Reject bitmap fonts"
+msgstr "排除点阵字体"
+
+#: conf.d/70-yes-bitmaps.conf:8
+msgid "Accept bitmap fonts"
+msgstr "接受点阵字体"
--- /dev/null
+2015-01-28 gettextize <bug-gnu-gettext@gnu.org>
+
+ * Makefile.in.in: New file, from gettext-0.19.4.
+ * Rules-quot: New file, from gettext-0.19.4.
+ * boldquot.sed: New file, from gettext-0.19.4.
+ * en@boldquot.header: New file, from gettext-0.19.4.
+ * en@quot.header: New file, from gettext-0.19.4.
+ * insert-header.sin: New file, from gettext-0.19.4.
+ * quot.sed: New file, from gettext-0.19.4.
+ * remove-potcdate.sin: New file, from gettext-0.19.4.
+ * POTFILES.in: New file.
+
--- /dev/null
+# Please keep this list sorted alphabetically.
+zh_CN
--- /dev/null
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved. This file is offered as-is,
+# without any warranty.
+#
+# Origin: gettext-0.19.8
+GETTEXT_MACRO_VERSION = 0.19
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SED = @SED@
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+# When building gettext-tools, we prefer to use the built programs
+# rather than installed programs. However, we can't do that when we
+# are cross compiling.
+CROSS_COMPILING = @CROSS_COMPILING@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+ @echo "$(MSGFMT) -c -o $@ $<"; \
+ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+ @lang=`echo $* | sed -e 's,.*/,,'`; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+ sed -e '/^#/d' $< > t-$@
+ mv t-$@ $@
+
+
+all: all-@USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+ test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+ exit 1; \
+ }
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+ @$(CHECK_MACRO_VERSION)
+ test ! -f $(srcdir)/$(DOMAIN).pot || \
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+ echo "touch stamp-po" && \
+ echo timestamp > stamp-poT && \
+ mv stamp-poT stamp-po; \
+ }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ package_gnu="$(PACKAGE_GNU)"; \
+ test -n "$$package_gnu" || { \
+ if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+ LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
+ -size -10000000c -exec grep 'GNU @PACKAGE@' \
+ /dev/null '{}' ';' 2>/dev/null; \
+ else \
+ LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+ fi; \
+ } | grep -v 'libtool:' >/dev/null; then \
+ package_gnu=yes; \
+ else \
+ package_gnu=no; \
+ fi; \
+ }; \
+ if test "$$package_gnu" = "yes"; then \
+ package_prefix='GNU '; \
+ else \
+ package_prefix=''; \
+ fi; \
+ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+ else \
+ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+ fi; \
+ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ *) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --package-name="$${package_prefix}@PACKAGE@" \
+ --package-version='@VERSION@' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ esac
+ test ! -f $(DOMAIN).po || { \
+ if test -f $(srcdir)/$(DOMAIN).pot-header; then \
+ sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
+ cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
+ rm -f $(DOMAIN).1po; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+ else \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ else \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+ $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(POFILESDEPS)
+ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+ if test -f "$(srcdir)/$${lang}.po"; then \
+ test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) \
+ && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+ esac; \
+ }; \
+ else \
+ $(MAKE) $${lang}.po-create; \
+ fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+install-data-no: all
+install-data-yes: all
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+ fi; \
+ done; \
+ done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+installdirs-data-no:
+installdirs-data-yes:
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ fi; \
+ done; \
+ done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+uninstall-data-no:
+uninstall-data-yes:
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ done; \
+ done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+ rm -f remove-potcdate.sed
+ rm -f stamp-poT
+ rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+ rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+ rm -f Makefile Makefile.in POTFILES *.mo
+
+maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ rm -f stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+ test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
+ @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
+ dists="$(DISTFILES)"; \
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ dists="$$dists Makevars.template"; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ dists="$$dists $(DOMAIN).pot stamp-po"; \
+ fi; \
+ if test -f $(srcdir)/ChangeLog; then \
+ dists="$$dists ChangeLog"; \
+ fi; \
+ for i in 0 1 2 3 4 5 6 7 8 9; do \
+ if test -f $(srcdir)/ChangeLog.$$i; then \
+ dists="$$dists ChangeLog.$$i"; \
+ fi; \
+ done; \
+ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+ for file in $$dists; do \
+ if test -f $$file; then \
+ cp -p $$file $(distdir) || exit 1; \
+ else \
+ cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+ fi; \
+ done
+
+update-po: Makefile
+ $(MAKE) $(DOMAIN).pot-update
+ test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+ $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+ @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+ exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ esac; \
+ }; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "msgmerge for $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+ @:
+
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+ cd $(top_builddir) \
+ && @SHELL@ ./config.status $(subdir)/$@.in po-directories
+
+force:
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
--- /dev/null
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Fontconfig Author(s)
+
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty. If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU = no
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+# in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+# understood.
+# - Strings which make invalid assumptions about notation of date, time or
+# money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = https://bugs.freedesktop.org/enter_bug.cgi?product=fontconfig
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context. Possible values are "yes" and "no". Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+# --previous to keep previous msgids of translated messages,
+# --quiet to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed. Possible values are "yes" and "no". Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = yes
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist". Possible values are "yes" and
+# "no". Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = yes
--- /dev/null
+# List of source files which contain translatable strings.
+fc-cache/fc-cache.c
+fc-cat/fc-cat.c
+fc-conflist/fc-conflist.c
+fc-list/fc-list.c
+fc-match/fc-match.c
+fc-pattern/fc-pattern.c
+fc-query/fc-query.c
+fc-scan/fc-scan.c
+fc-validate/fc-validate.c
+src/fccfg.c
--- /dev/null
+# This file, Rules-quot, can be copied and used freely without restrictions.
+# Special Makefile rules for English message catalogs with quotation marks.
+
+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+
+.SUFFIXES: .insert-header .po-update-en
+
+en@quot.po-create:
+ $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+ $(MAKE) en@boldquot.po-update
+
+en@quot.po-update: en@quot.po-update-en
+en@boldquot.po-update: en@boldquot.po-update-en
+
+.insert-header.po-update-en:
+ @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ ll=`echo $$lang | sed -e 's/@.*//'`; \
+ LC_ALL=C; export LC_ALL; \
+ cd $(srcdir); \
+ if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
+ | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
+ { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
+ $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
+ ;; \
+ *) \
+ $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
+ ;; \
+ esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
+ ; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "creation of $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+en@quot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+
+en@boldquot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+
+mostlyclean: mostlyclean-quot
+mostlyclean-quot:
+ rm -f *.insert-header
--- /dev/null
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+s/“/“\e[1m/g
+s/”/\e[0m”/g
+s/‘/‘\e[1m/g
+s/’/\e[0m’/g
--- /dev/null
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
--- /dev/null
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Fontconfig Author(s)
+# This file is distributed under the same license as the fontconfig package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: fontconfig 2.13.0\n"
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
+"product=fontconfig\n"
+"POT-Creation-Date: 2018-03-06 12:50+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: fc-cache/fc-cache.c:98
+#, c-format
+msgid ""
+"usage: %s [-EfrsvVh] [-y SYSROOT] [--error-on-no-fonts] [--force|--really-"
+"force] [--sysroot=SYSROOT] [--system-only] [--verbose] [--version] [--help] "
+"[dirs]\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:101
+#, c-format
+msgid "usage: %s [-EfrsvVh] [-y SYSROOT] [dirs]\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:104
+#, c-format
+msgid ""
+"Build font information caches in [dirs]\n"
+"(all directories in font configuration by default).\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:108
+#, c-format
+msgid " -E, --error-on-no-fonts raise an error if no fonts in a directory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:109
+#, c-format
+msgid ""
+" -f, --force scan directories with apparently valid caches\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:110
+#, c-format
+msgid " -r, --really-force erase all existing caches, then rescan\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:111
+#, c-format
+msgid " -s, --system-only scan system-wide directories only\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:112
+#, c-format
+msgid " -y, --sysroot=SYSROOT prepend SYSROOT to all paths for scanning\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:113
+#, c-format
+msgid " -v, --verbose display status information while busy\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:114
+#, c-format
+msgid " -V, --version display font config version and exit\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:115
+#, c-format
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:117
+#, c-format
+msgid " -E (error-on-no-fonts)\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:118
+#, c-format
+msgid " raise an error if no fonts in a directory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:119
+#, c-format
+msgid " -f (force) scan directories with apparently valid caches\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:120
+#, c-format
+msgid " -r, (really force) erase all existing caches, then rescan\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:121
+#, c-format
+msgid " -s (system) scan system-wide directories only\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:122
+#, c-format
+msgid " -y SYSROOT (sysroot) prepend SYSROOT to all paths for scanning\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:123
+#, c-format
+msgid " -v (verbose) display status information while busy\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:124 fc-cat/fc-cat.c:178 fc-list/fc-list.c:99
+#: fc-match/fc-match.c:103 fc-pattern/fc-pattern.c:97
+#, c-format
+msgid " -V (version) display font config version and exit\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:125 fc-cat/fc-cat.c:179 fc-list/fc-list.c:100
+#: fc-match/fc-match.c:104 fc-pattern/fc-pattern.c:98
+#, c-format
+msgid " -h (help) display this help and exit\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:162
+#, c-format
+msgid "skipping, looped directory detected\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:172
+#, c-format
+msgid "skipping, no such directory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:185
+#, c-format
+msgid "\"%s\": not a directory, skipping\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:210
+#, c-format
+msgid "\"%s\": scanning error\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:219
+#, c-format
+msgid "skipping, existing cache is valid: %d fonts, %d dirs\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:225
+#, c-format
+msgid "caching, new cache contents: %d fonts, %d dirs\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:230
+#, c-format
+msgid "%s: failed to write cache\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:239
+#, c-format
+msgid "%s: Can't create subdir set\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:253
+#, c-format
+msgid "%s: Can't create subdir list\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:359 fc-cat/fc-cat.c:305
+#, c-format
+msgid "%s: Can't initialize font config library\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:369
+#, c-format
+msgid "%s: Can't create list of directories\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:377
+#, c-format
+msgid "%s: Can't add directory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:389
+#, c-format
+msgid "Out of Memory\n"
+msgstr ""
+
+#: fc-cache/fc-cache.c:421
+msgid "failed"
+msgstr ""
+
+#: fc-cache/fc-cache.c:421
+msgid "succeeded"
+msgstr ""
+
+#: fc-cat/fc-cat.c:159
+#, c-format
+msgid "usage: %s [-rv] [--recurse] [--verbose] [*-%s"
+msgstr ""
+
+#: fc-cat/fc-cat.c:163
+#, c-format
+msgid "usage: %s [-rvVh] [*-%s"
+msgstr ""
+
+#: fc-cat/fc-cat.c:166
+#, c-format
+msgid "Reads font information cache from:\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:167
+#, c-format
+msgid " 1) specified fontconfig cache file\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:168
+#, c-format
+msgid " 2) related to a particular font directory\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:171
+#, c-format
+msgid " -r, --recurse recurse into subdirectories\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:172
+#, c-format
+msgid " -v, --verbose be verbose\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:173 fc-conflist/fc-conflist.c:87 fc-list/fc-list.c:92
+#: fc-match/fc-match.c:95 fc-pattern/fc-pattern.c:91 fc-query/fc-query.c:94
+#: fc-scan/fc-scan.c:92 fc-validate/fc-validate.c:95
+#, c-format
+msgid " -V, --version display font config version and exit\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:174 fc-conflist/fc-conflist.c:88 fc-list/fc-list.c:93
+#: fc-match/fc-match.c:96 fc-pattern/fc-pattern.c:92 fc-query/fc-query.c:95
+#: fc-scan/fc-scan.c:93 fc-validate/fc-validate.c:96
+#, c-format
+msgid " -h, --help display this help and exit\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:176
+#, c-format
+msgid " -r (recurse) recurse into subdirectories\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:177
+#, c-format
+msgid " -v (verbose) be verbose\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:314 fc-cat/fc-cat.c:323 fc-cat/fc-cat.c:335
+#: fc-cat/fc-cat.c:343
+#, c-format
+msgid "%s: malloc failure\n"
+msgstr ""
+
+#: fc-cat/fc-cat.c:383
+#, c-format
+msgid ""
+"Directory: %s\n"
+"Cache: %s\n"
+"--------\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:78
+#, c-format
+msgid "usage: %s [-Vh] [--version] [--help]\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:81
+#, c-format
+msgid "usage: %s [-Vh]\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:84
+#, c-format
+msgid "Show the ruleset files information on the system\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:90 fc-validate/fc-validate.c:101
+#, c-format
+msgid " -V (version) display font config version and exit\n"
+msgstr ""
+
+#: fc-conflist/fc-conflist.c:91 fc-validate/fc-validate.c:102
+#, c-format
+msgid " -h (help) display this help and exit\n"
+msgstr ""
+
+#: fc-list/fc-list.c:79
+#, c-format
+msgid ""
+"usage: %s [-vbqVh] [-f FORMAT] [--verbose] [--brief] [--format=FORMAT] [--"
+"quiet] [--version] [--help] [pattern] {element ...} \n"
+msgstr ""
+
+#: fc-list/fc-list.c:82
+#, c-format
+msgid "usage: %s [-vbqVh] [-f FORMAT] [pattern] {element ...} \n"
+msgstr ""
+
+#: fc-list/fc-list.c:85
+#, c-format
+msgid "List fonts matching [pattern]\n"
+msgstr ""
+
+#: fc-list/fc-list.c:88 fc-match/fc-match.c:92
+#, c-format
+msgid " -v, --verbose display entire font pattern verbosely\n"
+msgstr ""
+
+#: fc-list/fc-list.c:89 fc-match/fc-match.c:93
+#, c-format
+msgid " -b, --brief display entire font pattern briefly\n"
+msgstr ""
+
+#: fc-list/fc-list.c:90 fc-match/fc-match.c:94 fc-pattern/fc-pattern.c:90
+#: fc-query/fc-query.c:93 fc-scan/fc-scan.c:91
+#, c-format
+msgid " -f, --format=FORMAT use the given output format\n"
+msgstr ""
+
+#: fc-list/fc-list.c:91
+#, c-format
+msgid ""
+" -q, --quiet suppress all normal output, exit 1 if no fonts "
+"matched\n"
+msgstr ""
+
+#: fc-list/fc-list.c:95 fc-match/fc-match.c:100
+#, c-format
+msgid " -v (verbose) display entire font pattern verbosely\n"
+msgstr ""
+
+#: fc-list/fc-list.c:96 fc-match/fc-match.c:101
+#, c-format
+msgid " -b (brief) display entire font pattern briefly\n"
+msgstr ""
+
+#: fc-list/fc-list.c:97 fc-match/fc-match.c:102 fc-pattern/fc-pattern.c:96
+#, c-format
+msgid " -f FORMAT (format) use the given output format\n"
+msgstr ""
+
+#: fc-list/fc-list.c:98
+#, c-format
+msgid ""
+" -q, (quiet) suppress all normal output, exit 1 if no fonts "
+"matched\n"
+msgstr ""
+
+#: fc-list/fc-list.c:159 fc-match/fc-match.c:166 fc-pattern/fc-pattern.c:150
+#, c-format
+msgid "Unable to parse the pattern\n"
+msgstr ""
+
+#: fc-match/fc-match.c:81
+#, c-format
+msgid ""
+"usage: %s [-savbVh] [-f FORMAT] [--sort] [--all] [--verbose] [--brief] [--"
+"format=FORMAT] [--version] [--help] [pattern] {element...}\n"
+msgstr ""
+
+#: fc-match/fc-match.c:84
+#, c-format
+msgid "usage: %s [-savVh] [-f FORMAT] [pattern] {element...}\n"
+msgstr ""
+
+#: fc-match/fc-match.c:87 fc-pattern/fc-pattern.c:85
+#, c-format
+msgid "List best font matching [pattern]\n"
+msgstr ""
+
+#: fc-match/fc-match.c:90
+#, c-format
+msgid " -s, --sort display sorted list of matches\n"
+msgstr ""
+
+#: fc-match/fc-match.c:91
+#, c-format
+msgid " -a, --all display unpruned sorted list of matches\n"
+msgstr ""
+
+#: fc-match/fc-match.c:98
+#, c-format
+msgid " -s, (sort) display sorted list of matches\n"
+msgstr ""
+
+#: fc-match/fc-match.c:99
+#, c-format
+msgid " -a (all) display unpruned sorted list of matches\n"
+msgstr ""
+
+#: fc-match/fc-match.c:195
+#, c-format
+msgid "No fonts installed on the system\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:79
+#, c-format
+msgid ""
+"usage: %s [-cdVh] [-f FORMAT] [--config] [--default] [--verbose] [--"
+"format=FORMAT] [--version] [--help] [pattern] {element...}\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:82
+#, c-format
+msgid "usage: %s [-cdVh] [-f FORMAT] [pattern] {element...}\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:88
+#, c-format
+msgid " -c, --config perform config substitution on pattern\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:89
+#, c-format
+msgid " -d, --default perform default substitution on pattern\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:94
+#, c-format
+msgid " -c, (config) perform config substitution on pattern\n"
+msgstr ""
+
+#: fc-pattern/fc-pattern.c:95
+#, c-format
+msgid " -d, (default) perform default substitution on pattern\n"
+msgstr ""
+
+#: fc-query/fc-query.c:82
+#, c-format
+msgid ""
+"usage: %s [-bVh] [-i index] [-f FORMAT] [--index index] [--brief] [--format "
+"FORMAT] [--version] [--help] font-file...\n"
+msgstr ""
+
+#: fc-query/fc-query.c:85
+#, c-format
+msgid "usage: %s [-bVh] [-i index] [-f FORMAT] font-file...\n"
+msgstr ""
+
+#: fc-query/fc-query.c:88
+#, c-format
+msgid "Query font files and print resulting pattern(s)\n"
+msgstr ""
+
+#: fc-query/fc-query.c:91 fc-validate/fc-validate.c:92
+#, c-format
+msgid " -i, --index INDEX display the INDEX face of each font file only\n"
+msgstr ""
+
+#: fc-query/fc-query.c:92 fc-scan/fc-scan.c:90
+#, c-format
+msgid " -b, --brief display font pattern briefly\n"
+msgstr ""
+
+#: fc-query/fc-query.c:97
+#, c-format
+msgid ""
+" -i INDEX (index) display the INDEX face of each font file only\n"
+msgstr ""
+
+#: fc-query/fc-query.c:98 fc-scan/fc-scan.c:95
+#, c-format
+msgid " -b (brief) display font pattern briefly\n"
+msgstr ""
+
+#: fc-query/fc-query.c:99 fc-scan/fc-scan.c:96
+#, c-format
+msgid " -f FORMAT (format) use the given output format\n"
+msgstr ""
+
+#: fc-query/fc-query.c:100 fc-scan/fc-scan.c:97
+#, c-format
+msgid " -V (version) display font config version and exit\n"
+msgstr ""
+
+#: fc-query/fc-query.c:101 fc-scan/fc-scan.c:98
+#, c-format
+msgid " -h (help) display this help and exit\n"
+msgstr ""
+
+#: fc-query/fc-query.c:158
+#, c-format
+msgid "Can't query face %u of font file %s\n"
+msgstr ""
+
+#: fc-scan/fc-scan.c:81
+#, c-format
+msgid ""
+"usage: %s [-bVh] [-f FORMAT] [--brief] [--format FORMAT] [--version] [--"
+"help] font-file...\n"
+msgstr ""
+
+#: fc-scan/fc-scan.c:84
+#, c-format
+msgid "usage: %s [-bVh] [-f FORMAT] font-file...\n"
+msgstr ""
+
+#: fc-scan/fc-scan.c:87
+#, c-format
+msgid "Scan font files and directories, and print resulting pattern(s)\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:83
+#, c-format
+msgid ""
+"usage: %s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--"
+"verbose] [--version] [--help] font-file...\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:86
+#, c-format
+msgid "usage: %s [-Vhv] [-i index] [-l LANG] font-file...\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:89
+#, c-format
+msgid "Validate font files and print result\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:93
+#, c-format
+msgid " -l, --lang=LANG set LANG instead of current locale\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:94
+#, c-format
+msgid " -v, --verbose show more detailed information\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:98
+#, c-format
+msgid ""
+" -i INDEX (index) display the INDEX face of each font file only\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:99
+#, c-format
+msgid " -l LANG (lang) set LANG instead of current locale\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:100
+#, c-format
+msgid " -v (verbose) show more detailed information\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:167
+#, c-format
+msgid "Can't initalize FreeType library\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:185
+#, c-format
+msgid "Unable to open %s\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:200
+#, c-format
+msgid "%s:%d Missing %d glyph(s) to satisfy the coverage for %s language\n"
+msgstr ""
+
+#: fc-validate/fc-validate.c:230
+#, c-format
+msgid "%s:%d Satisfy the coverage for %s language\n"
+msgstr ""
+
+#: src/fccfg.c:2657
+msgid "No description"
+msgstr ""
--- /dev/null
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
--- /dev/null
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
--- /dev/null
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Fontconfig Author(s)
+# This file is distributed under the same license as the fontconfig package.
+#
+# Dingyuan Wang <gumblex@aosc.io>, 2018.
+# Mingcong Bai <jeffbai@aosc.io>, 2018.
+# Mingye Wang <artoria2e5@aosc.io>, 2018.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: fontconfig 2.12.92\n"
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?"
+"product=fontconfig\n"
+"POT-Creation-Date: 2018-03-06 12:50+0900\n"
+"PO-Revision-Date: 2018-02-16 01:41-0600\n"
+"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
+"Language-Team: AOSC\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: fc-cache/fc-cache.c:98
+#, c-format
+msgid ""
+"usage: %s [-EfrsvVh] [-y SYSROOT] [--error-on-no-fonts] [--force|--really-"
+"force] [--sysroot=SYSROOT] [--system-only] [--verbose] [--version] [--help] "
+"[dirs]\n"
+msgstr ""
+"用法:%s [-EfrsvVh] [-y <系统根>] [--error-on-no-fonts] [--force|--really-"
+"force] [--sysroot=<系统根>] [--system-only] [--verbose] [--version] [--help] "
+"[目录]\n"
+
+#: fc-cache/fc-cache.c:101
+#, c-format
+msgid "usage: %s [-EfrsvVh] [-y SYSROOT] [dirs]\n"
+msgstr "用法:%s [-EfrsvVh] [-y <系统根>] [目录]\n"
+
+#: fc-cache/fc-cache.c:104
+#, c-format
+msgid ""
+"Build font information caches in [dirs]\n"
+"(all directories in font configuration by default).\n"
+msgstr ""
+"在 [目录] 构建字体信息缓存\n"
+"(默认为所有字体配置中定义的目录)。\n"
+
+#: fc-cache/fc-cache.c:108
+#, c-format
+msgid " -E, --error-on-no-fonts raise an error if no fonts in a directory\n"
+msgstr " -E, --error-on-no-fonts 在目录中无字体时报错\n"
+
+#: fc-cache/fc-cache.c:109
+#, c-format
+msgid ""
+" -f, --force scan directories with apparently valid caches\n"
+msgstr " -f, --force 强制扫描已有有效缓存的目录\n"
+
+#: fc-cache/fc-cache.c:110
+#, c-format
+msgid " -r, --really-force erase all existing caches, then rescan\n"
+msgstr " -r, --really-force 清空所有缓存并重新扫描\n"
+
+#: fc-cache/fc-cache.c:111
+#, c-format
+msgid " -s, --system-only scan system-wide directories only\n"
+msgstr " -s, --system-only 仅扫描系统全局目录\n"
+
+#: fc-cache/fc-cache.c:112
+#, c-format
+msgid " -y, --sysroot=SYSROOT prepend SYSROOT to all paths for scanning\n"
+msgstr " -y, --sysroot=<系统根> 扫描时将 <系统根> 值附加到路径开头\n"
+
+#: fc-cache/fc-cache.c:113
+#, c-format
+msgid " -v, --verbose display status information while busy\n"
+msgstr " -v, --verbose 在程序工作时显示状态信息\n"
+
+#: fc-cache/fc-cache.c:114
+#, c-format
+msgid " -V, --version display font config version and exit\n"
+msgstr " -V, --version 显示 Fontconfig 版本并退出\n"
+
+#: fc-cache/fc-cache.c:115
+#, c-format
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help 显示该帮助信息并退出\n"
+
+#: fc-cache/fc-cache.c:117
+#, c-format
+msgid " -E (error-on-no-fonts)\n"
+msgstr " -E (error-on-no-fonts)\n"
+
+#: fc-cache/fc-cache.c:118
+#, c-format
+msgid " raise an error if no fonts in a directory\n"
+msgstr " 在目录中无字体时报错\n"
+
+#: fc-cache/fc-cache.c:119
+#, c-format
+msgid " -f (force) scan directories with apparently valid caches\n"
+msgstr " -f (force) 强制扫描带有有效缓存的目录\n"
+
+#: fc-cache/fc-cache.c:120
+#, c-format
+msgid " -r, (really force) erase all existing caches, then rescan\n"
+msgstr " -r, (really-force) 清空所有缓存并重新扫描\n"
+
+#: fc-cache/fc-cache.c:121
+#, c-format
+msgid " -s (system) scan system-wide directories only\n"
+msgstr " -s (system) 仅扫描系统全局目录\n"
+
+#: fc-cache/fc-cache.c:122
+#, c-format
+msgid " -y SYSROOT (sysroot) prepend SYSROOT to all paths for scanning\n"
+msgstr " -y <系统根> (sysroot) 扫描时将 <系统根> 值附加到路径开头\n"
+
+#: fc-cache/fc-cache.c:123
+#, c-format
+msgid " -v (verbose) display status information while busy\n"
+msgstr " -v (verbose) 在程序工作时显示状态信息\n"
+
+#: fc-cache/fc-cache.c:124 fc-cat/fc-cat.c:178 fc-list/fc-list.c:99
+#: fc-match/fc-match.c:103 fc-pattern/fc-pattern.c:97
+#, c-format
+msgid " -V (version) display font config version and exit\n"
+msgstr " -V (version) 显示 Fontconfig 版本并退出\n"
+
+#: fc-cache/fc-cache.c:125 fc-cat/fc-cat.c:179 fc-list/fc-list.c:100
+#: fc-match/fc-match.c:104 fc-pattern/fc-pattern.c:98
+#, c-format
+msgid " -h (help) display this help and exit\n"
+msgstr " -h (help) 显示该帮助信息并退出\n"
+
+#: fc-cache/fc-cache.c:162
+#, c-format
+msgid "skipping, looped directory detected\n"
+msgstr "跳过,探测到循环目录\n"
+
+#: fc-cache/fc-cache.c:172
+#, c-format
+msgid "skipping, no such directory\n"
+msgstr "跳过,无此目录\n"
+
+#: fc-cache/fc-cache.c:185
+#, c-format
+msgid "\"%s\": not a directory, skipping\n"
+msgstr "“%s”:不是一个目录,跳过\n"
+
+#: fc-cache/fc-cache.c:210
+#, c-format
+msgid "\"%s\": scanning error\n"
+msgstr "“%s”:扫描错误\n"
+
+#: fc-cache/fc-cache.c:219
+#, c-format
+msgid "skipping, existing cache is valid: %d fonts, %d dirs\n"
+msgstr "跳过,当前缓存有效:%d 个字体,%d 个目录\n"
+
+#: fc-cache/fc-cache.c:225
+#, c-format
+msgid "caching, new cache contents: %d fonts, %d dirs\n"
+msgstr "正在生成缓存,新增缓存内容:%d 个字体,%d 个目录\n"
+
+#: fc-cache/fc-cache.c:230
+#, c-format
+msgid "%s: failed to write cache\n"
+msgstr "%s:无法写入缓存\n"
+
+#: fc-cache/fc-cache.c:239
+#, c-format
+msgid "%s: Can't create subdir set\n"
+msgstr "%s:无法创建子目录集\n"
+
+#: fc-cache/fc-cache.c:253
+#, c-format
+msgid "%s: Can't create subdir list\n"
+msgstr "%s:无法创建子目录列表\n"
+
+#: fc-cache/fc-cache.c:359 fc-cat/fc-cat.c:305
+#, c-format
+msgid "%s: Can't initialize font config library\n"
+msgstr "%s:无法初始化 Fontconfig 库\n"
+
+#: fc-cache/fc-cache.c:369
+#, c-format
+msgid "%s: Can't create list of directories\n"
+msgstr "%s:无法创建目录列表\n"
+
+#: fc-cache/fc-cache.c:377
+#, c-format
+msgid "%s: Can't add directory\n"
+msgstr "%s:无法添加目录\n"
+
+#: fc-cache/fc-cache.c:389
+#, c-format
+msgid "Out of Memory\n"
+msgstr "内存耗尽\n"
+
+#: fc-cache/fc-cache.c:421
+msgid "failed"
+msgstr "缓存生成失败"
+
+#: fc-cache/fc-cache.c:421
+msgid "succeeded"
+msgstr "缓存生成成功"
+
+#: fc-cat/fc-cat.c:159
+#, c-format
+msgid "usage: %s [-rv] [--recurse] [--verbose] [*-%s"
+msgstr "用法:%s [-rv] [--recurse] [--verbose] [*-%s"
+
+#: fc-cat/fc-cat.c:163
+#, c-format
+msgid "usage: %s [-rvVh] [*-%s"
+msgstr "用法:%s [-rvVh] [*-%s"
+
+#: fc-cat/fc-cat.c:166
+#, c-format
+msgid "Reads font information cache from:\n"
+msgstr "从此处读取字体信息缓存:\n"
+
+#: fc-cat/fc-cat.c:167
+#, c-format
+msgid " 1) specified fontconfig cache file\n"
+msgstr "1. 指定的 Fontconfig 缓存文件\n"
+
+#: fc-cat/fc-cat.c:168
+#, c-format
+msgid " 2) related to a particular font directory\n"
+msgstr "2. 相对于某个字体目录\n"
+
+#: fc-cat/fc-cat.c:171
+#, c-format
+msgid " -r, --recurse recurse into subdirectories\n"
+msgstr " -r, --recurse 递归进入子目录\n"
+
+#: fc-cat/fc-cat.c:172
+#, c-format
+msgid " -v, --verbose be verbose\n"
+msgstr " -v, --verbose 输出详尽信息\n"
+
+#: fc-cat/fc-cat.c:173 fc-conflist/fc-conflist.c:87 fc-list/fc-list.c:92
+#: fc-match/fc-match.c:95 fc-pattern/fc-pattern.c:91 fc-query/fc-query.c:94
+#: fc-scan/fc-scan.c:92 fc-validate/fc-validate.c:95
+#, c-format
+msgid " -V, --version display font config version and exit\n"
+msgstr " -V, --version 显示 Fontconfig 版本并退出\n"
+
+#: fc-cat/fc-cat.c:174 fc-conflist/fc-conflist.c:88 fc-list/fc-list.c:93
+#: fc-match/fc-match.c:96 fc-pattern/fc-pattern.c:92 fc-query/fc-query.c:95
+#: fc-scan/fc-scan.c:93 fc-validate/fc-validate.c:96
+#, c-format
+msgid " -h, --help display this help and exit\n"
+msgstr " -h, --help 显示该帮助信息并退出\n"
+
+#: fc-cat/fc-cat.c:176
+#, c-format
+msgid " -r (recurse) recurse into subdirectories\n"
+msgstr " -r (recurse) 递归进入子目录\n"
+
+#: fc-cat/fc-cat.c:177
+#, c-format
+msgid " -v (verbose) be verbose\n"
+msgstr " -v (verbose) 输出详尽信息\n"
+
+#: fc-cat/fc-cat.c:314 fc-cat/fc-cat.c:323 fc-cat/fc-cat.c:335
+#: fc-cat/fc-cat.c:343
+#, c-format
+msgid "%s: malloc failure\n"
+msgstr "%s:无法分配内存 (malloc)\n"
+
+#: fc-cat/fc-cat.c:383
+#, c-format
+msgid ""
+"Directory: %s\n"
+"Cache: %s\n"
+"--------\n"
+msgstr ""
+"目录:%s\n"
+"缓存:%s\n"
+"--------\n"
+
+#: fc-conflist/fc-conflist.c:78
+#, c-format
+msgid "usage: %s [-Vh] [--version] [--help]\n"
+msgstr "用法:%s [-Vh] [--version] [--help]\n"
+
+#: fc-conflist/fc-conflist.c:81
+#, c-format
+msgid "usage: %s [-Vh]\n"
+msgstr "用法:%s [-Vh]\n"
+
+#: fc-conflist/fc-conflist.c:84
+#, c-format
+msgid "Show the ruleset files information on the system\n"
+msgstr "显示当前系统中的规则集文件\n"
+
+#: fc-conflist/fc-conflist.c:90 fc-validate/fc-validate.c:101
+#, c-format
+msgid " -V (version) display font config version and exit\n"
+msgstr " -V (版本) 显示 Fontconfig 版本并退出\n"
+
+#: fc-conflist/fc-conflist.c:91 fc-validate/fc-validate.c:102
+#, c-format
+msgid " -h (help) display this help and exit\n"
+msgstr " -h (帮助) 显示该帮助信息并退出\n"
+
+#: fc-list/fc-list.c:79
+#, c-format
+msgid ""
+"usage: %s [-vbqVh] [-f FORMAT] [--verbose] [--brief] [--format=FORMAT] [--"
+"quiet] [--version] [--help] [pattern] {element ...} \n"
+msgstr ""
+"用法:%s [-vbqVh] [-f <输出格式>] [--verbose] [--brief] [--format=<输出格式"
+">] [--quiet] [--version] [--help] [匹配模式] {元素 …} \n"
+
+#: fc-list/fc-list.c:82
+#, c-format
+msgid "usage: %s [-vbqVh] [-f FORMAT] [pattern] {element ...} \n"
+msgstr "用法:%s [-vbqVh] [-f <输出格式>] [匹配模式] {元素 …} \n"
+
+#: fc-list/fc-list.c:85
+#, c-format
+msgid "List fonts matching [pattern]\n"
+msgstr "列出符合 [匹配模式] 的字体\n"
+
+#: fc-list/fc-list.c:88 fc-match/fc-match.c:92
+#, c-format
+msgid " -v, --verbose display entire font pattern verbosely\n"
+msgstr " -v, --verbose 详尽显示整个字体匹配模式\n"
+
+#: fc-list/fc-list.c:89 fc-match/fc-match.c:93
+#, c-format
+msgid " -b, --brief display entire font pattern briefly\n"
+msgstr " -b, --brief 简略显示整个字体匹配模式\n"
+
+#: fc-list/fc-list.c:90 fc-match/fc-match.c:94 fc-pattern/fc-pattern.c:90
+#: fc-query/fc-query.c:93 fc-scan/fc-scan.c:91
+#, c-format
+msgid " -f, --format=FORMAT use the given output format\n"
+msgstr " -f, --format=<输出格式> 使用指定的输出格式\n"
+
+#: fc-list/fc-list.c:91
+#, c-format
+msgid ""
+" -q, --quiet suppress all normal output, exit 1 if no fonts "
+"matched\n"
+msgstr " -q, --quiet 静默所有正常输出,无匹配字体时返回退出代码 1\n"
+
+#: fc-list/fc-list.c:95 fc-match/fc-match.c:100
+#, c-format
+msgid " -v (verbose) display entire font pattern verbosely\n"
+msgstr " -v (verbose) 详尽显示整个字体匹配模式\n"
+
+#: fc-list/fc-list.c:96 fc-match/fc-match.c:101
+#, c-format
+msgid " -b (brief) display entire font pattern briefly\n"
+msgstr " -b (brief) 简略显示整个字体匹配模式\n"
+
+#: fc-list/fc-list.c:97 fc-match/fc-match.c:102 fc-pattern/fc-pattern.c:96
+#, c-format
+msgid " -f FORMAT (format) use the given output format\n"
+msgstr " -f <输出格式> (format) 使用指定的输出格式\n"
+
+#: fc-list/fc-list.c:98
+#, c-format
+msgid ""
+" -q, (quiet) suppress all normal output, exit 1 if no fonts "
+"matched\n"
+msgstr " -q, (quiet) 静默所有正常输出,无匹配字体时返回退出代码 1\n"
+
+#: fc-list/fc-list.c:159 fc-match/fc-match.c:166 fc-pattern/fc-pattern.c:150
+#, c-format
+msgid "Unable to parse the pattern\n"
+msgstr "无法解析匹配模式\n"
+
+#: fc-match/fc-match.c:81
+#, c-format
+msgid ""
+"usage: %s [-savbVh] [-f FORMAT] [--sort] [--all] [--verbose] [--brief] [--"
+"format=FORMAT] [--version] [--help] [pattern] {element...}\n"
+msgstr ""
+"用法:%s [-savbVh] [-f <输出格式>] [--sort] [--all] [--verbose] [--brief] [--"
+"format=<输出格式>] [--version] [--help] [匹配模式] {元素…}\n"
+
+#: fc-match/fc-match.c:84
+#, c-format
+msgid "usage: %s [-savVh] [-f FORMAT] [pattern] {element...}\n"
+msgstr "用法:%s [-savVh] [-f <输出格式>] [匹配模式] {元素…}\n"
+
+#: fc-match/fc-match.c:87 fc-pattern/fc-pattern.c:85
+#, c-format
+msgid "List best font matching [pattern]\n"
+msgstr "列出符合 [匹配模式] 的最佳字体\n"
+
+#: fc-match/fc-match.c:90
+#, c-format
+msgid " -s, --sort display sorted list of matches\n"
+msgstr " -s, --sort 显示已排序的匹配列表\n"
+
+#: fc-match/fc-match.c:91
+#, c-format
+msgid " -a, --all display unpruned sorted list of matches\n"
+msgstr " -a, --all 显示未修剪而已排序的匹配列表\n"
+
+#: fc-match/fc-match.c:98
+#, c-format
+msgid " -s, (sort) display sorted list of matches\n"
+msgstr " -s, (sort) 显示已排序的匹配列表\n"
+
+#: fc-match/fc-match.c:99
+#, c-format
+msgid " -a (all) display unpruned sorted list of matches\n"
+msgstr " -a (all) 显示未修剪而已排序的匹配列表\n"
+
+#: fc-match/fc-match.c:195
+#, c-format
+msgid "No fonts installed on the system\n"
+msgstr "系统中未安装任何字体\n"
+
+#: fc-pattern/fc-pattern.c:79
+#, c-format
+msgid ""
+"usage: %s [-cdVh] [-f FORMAT] [--config] [--default] [--verbose] [--"
+"format=FORMAT] [--version] [--help] [pattern] {element...}\n"
+msgstr ""
+"用法:%s [-cdVh] [-f <输出格式>] [--config] [--default] [--verbose] [--"
+"format=<输出格式>] [--version] [--help] [匹配模式] {元素…}\n"
+
+#: fc-pattern/fc-pattern.c:82
+#, c-format
+msgid "usage: %s [-cdVh] [-f FORMAT] [pattern] {element...}\n"
+msgstr "用法:%s [-cdVh] [-f <输出格式>] [匹配模式] {元素…}\n"
+
+#: fc-pattern/fc-pattern.c:88
+#, c-format
+msgid " -c, --config perform config substitution on pattern\n"
+msgstr " -c, --config 根据匹配模式进行配置替换\n"
+
+#: fc-pattern/fc-pattern.c:89
+#, c-format
+msgid " -d, --default perform default substitution on pattern\n"
+msgstr " -d, --default 根据匹配模式进行默认值替换\n"
+
+#: fc-pattern/fc-pattern.c:94
+#, c-format
+msgid " -c, (config) perform config substitution on pattern\n"
+msgstr " -c, (config) 根据匹配模式进行配置替换\n"
+
+#: fc-pattern/fc-pattern.c:95
+#, c-format
+msgid " -d, (default) perform default substitution on pattern\n"
+msgstr " -d, (default) 根据匹配模式进行默认值替换\n"
+
+#: fc-query/fc-query.c:82
+#, c-format
+msgid ""
+"usage: %s [-bVh] [-i index] [-f FORMAT] [--index index] [--brief] [--format "
+"FORMAT] [--version] [--help] font-file...\n"
+msgstr ""
+"用法:%s [-bVh] [-i index] [-f <输出格式>] [--index index] [--brief] [--"
+"format <输出格式>] [--version] [--help] 字体文件…\n"
+
+#: fc-query/fc-query.c:85
+#, c-format
+msgid "usage: %s [-bVh] [-i index] [-f FORMAT] font-file...\n"
+msgstr "用法:%s [-bVh] [-i index] [-f <输出格式>] 字体文件…\n"
+
+#: fc-query/fc-query.c:88
+#, c-format
+msgid "Query font files and print resulting pattern(s)\n"
+msgstr ""
+"查询字体文件并输出匹配模式\n"
+"\n"
+
+#: fc-query/fc-query.c:91 fc-validate/fc-validate.c:92
+#, c-format
+msgid " -i, --index INDEX display the INDEX face of each font file only\n"
+msgstr " -i, --index <编号> 仅显示每个字体文件的 <编号> 样式\n"
+
+#: fc-query/fc-query.c:92 fc-scan/fc-scan.c:90
+#, c-format
+msgid " -b, --brief display font pattern briefly\n"
+msgstr " -b, --brief 简略显示字体匹配模式\n"
+
+#: fc-query/fc-query.c:97
+#, c-format
+msgid ""
+" -i INDEX (index) display the INDEX face of each font file only\n"
+msgstr " -i <编号> (index) 仅显示每个字体文件的 <编号> 样式\n"
+
+#: fc-query/fc-query.c:98 fc-scan/fc-scan.c:95
+#, c-format
+msgid " -b (brief) display font pattern briefly\n"
+msgstr " -b (brief) 简略显示字体匹配模式\n"
+
+#: fc-query/fc-query.c:99 fc-scan/fc-scan.c:96
+#, c-format
+msgid " -f FORMAT (format) use the given output format\n"
+msgstr " -f <输出格式> (format) 使用指定的输出格式\n"
+
+#: fc-query/fc-query.c:100 fc-scan/fc-scan.c:97
+#, c-format
+msgid " -V (version) display font config version and exit\n"
+msgstr " -V (version) 显示 Fontconfig 版本并退出\n"
+
+#: fc-query/fc-query.c:101 fc-scan/fc-scan.c:98
+#, c-format
+msgid " -h (help) display this help and exit\n"
+msgstr " -h (help) 显示此帮助信息并退出\n"
+
+#: fc-query/fc-query.c:158
+#, c-format
+msgid "Can't query face %u of font file %s\n"
+msgstr "无法查询字体文件 %2$s 的样式 %1$u\n"
+
+#: fc-scan/fc-scan.c:81
+#, c-format
+msgid ""
+"usage: %s [-bVh] [-f FORMAT] [--brief] [--format FORMAT] [--version] [--"
+"help] font-file...\n"
+msgstr ""
+"用法:%s [-bVh] [-f <输出格式>] [--brief] [--format <输出格式>] [--version] "
+"[--help] 字体文件…\n"
+
+#: fc-scan/fc-scan.c:84
+#, c-format
+msgid "usage: %s [-bVh] [-f FORMAT] font-file...\n"
+msgstr "用法:%s [-bVh] [-f <输出格式>] 字体文件…\n"
+
+#: fc-scan/fc-scan.c:87
+#, c-format
+msgid "Scan font files and directories, and print resulting pattern(s)\n"
+msgstr "扫描字体文件和目录并输出匹配模式\n"
+
+#: fc-validate/fc-validate.c:83
+#, c-format
+msgid ""
+"usage: %s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--"
+"verbose] [--version] [--help] font-file...\n"
+msgstr ""
+"用法:%s [-Vhv] [-i index] [-l LANG] [--index index] [--lang LANG] [--"
+"verbose] [--version] [--help] 字体文件…\n"
+
+#: fc-validate/fc-validate.c:86
+#, c-format
+msgid "usage: %s [-Vhv] [-i index] [-l LANG] font-file...\n"
+msgstr "用法:%s [-Vhv] [-i index] [-l LANG] 字体文件…\n"
+
+#: fc-validate/fc-validate.c:89
+#, c-format
+msgid "Validate font files and print result\n"
+msgstr "验证字体文件并输出结果\n"
+
+#: fc-validate/fc-validate.c:93
+#, c-format
+msgid " -l, --lang=LANG set LANG instead of current locale\n"
+msgstr " -l, --lang=LANG 使用 LANG 值替换当前区域设置\n"
+
+#: fc-validate/fc-validate.c:94
+#, c-format
+msgid " -v, --verbose show more detailed information\n"
+msgstr " -v, --verbose 显示详尽信息\n"
+
+#: fc-validate/fc-validate.c:98
+#, c-format
+msgid ""
+" -i INDEX (index) display the INDEX face of each font file only\n"
+msgstr " -i <编号> (index) 仅显示每个字体的 <编号> 字形\n"
+
+#: fc-validate/fc-validate.c:99
+#, c-format
+msgid " -l LANG (lang) set LANG instead of current locale\n"
+msgstr " -l LANG (lang) 使用 LANG 值替换当前区域设置\n"
+
+#: fc-validate/fc-validate.c:100
+#, c-format
+msgid " -v (verbose) show more detailed information\n"
+msgstr " -v (详尽) 显示详尽信息\n"
+
+#: fc-validate/fc-validate.c:167
+#, c-format
+msgid "Can't initalize FreeType library\n"
+msgstr "无法初始化 FreeType 库\n"
+
+#: fc-validate/fc-validate.c:185
+#, c-format
+msgid "Unable to open %s\n"
+msgstr "无法打开 %s\n"
+
+#: fc-validate/fc-validate.c:200
+#, c-format
+msgid "%s:%d Missing %d glyph(s) to satisfy the coverage for %s language\n"
+msgstr "%s:%d 尚需 %d 个字形以满足 %s 语言的覆盖需求\n"
+
+#: fc-validate/fc-validate.c:230
+#, c-format
+msgid "%s:%d Satisfy the coverage for %s language\n"
+msgstr "%s:%d 完全满足 %s 语言的覆盖需求\n"
+
+#: src/fccfg.c:2657
+msgid "No description"
+msgstr "无描述"
$(ICONV_CFLAGS) \
$(LIBXML2_CFLAGS) \
$(EXPAT_CFLAGS) \
+ $(UUID_CFLAGS) \
$(WARN_CFLAGS) \
-DFC_CACHEDIR='"$(FC_CACHEDIR)"' \
- -DFONTCONFIG_PATH='"$(BASECONFIGDIR)"'
+ -DFONTCONFIG_PATH='"$(BASECONFIGDIR)"' \
+ -DFC_TEMPLATEDIR='"$(TEMPLATEDIR)"'
+LDADD = $(INTLLIBS)
EXTRA_DIST += makealias
BUILT_SOURCES = $(ALIAS_FILES) \
../fc-case/fccase.h \
- ../fc-glyphname/fcglyphname.h \
../fc-lang/fclang.h \
stamp-fcstdint \
fcobjshash.h \
../fc-case/fccase.h:
cd ../fc-case && $(MAKE) $(AM_MAKEFLAGS) fccase.h
-../fc-glyphname/fcglyphname.h:
- cd ../fc-glyphname && $(MAKE) $(AM_MAKEFLAGS) fcglyphname.h
../fc-lang/fclang.h:
cd ../fc-lang && $(MAKE) $(AM_MAKEFLAGS) fclang.h
-fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
- $(AM_V_GEN) $(CPP) -I$(top_srcdir) $< | \
+fcobjshash.gperf: Makefile stamp-fcobjshash.gperf
+ -@$(RM) stamp-fcobjshash.gperf
+ @$(MAKE) stamp-fcobjshash.gperf
+ @touch -r stamp-fcobjshash.gperf $@
+stamp-fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
+ $(AM_V_GEN) $(CPP) -I$(top_srcdir) $(CPPFLAGS) $< | \
$(SED) 's/^ *//;s/ *, */,/' | \
$(GREP) '^[^#]' | \
awk ' \
/CUT_OUT_END/ { no_write=0; next; }; \
{ if (!no_write) print; next; }; \
' - > $@.tmp && \
- mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
+ mv -f $@.tmp fcobjshash.gperf && touch $@ || ( $(RM) $@.tmp && false )
-fcobjshash.h: fcobjshash.gperf
- $(AM_V_GEN) $(GPERF) -m 100 $< > $@.tmp && \
+fcobjshash.h: Makefile fcobjshash.gperf
+ $(AM_V_GEN) $(GPERF) --pic -m 100 fcobjshash.gperf > $@.tmp && \
mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
EXTRA_DIST += \
- fcobjshash.gperf.h \
- fcobjshash.gperf \
- fcobjshash.h
+ fcobjshash.gperf.h
libfontconfig_la_SOURCES = \
fcarch.h \
fcatomic.c \
fcatomic.h \
- fcblanks.c \
fccache.c \
fccfg.c \
fccharset.c \
fcformat.c \
fcfreetype.c \
fcfs.c \
+ fcptrlist.c \
+ fchash.c \
fcinit.c \
fclang.c \
fclist.c \
libfontconfig_la_LDFLAGS = \
-version-info @LIBT_VERSION_INFO@ -no-undefined $(export_symbols)
-libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS)
+libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS) $(UUID_LIBS) $(INTLLIBS)
libfontconfig_la_DEPENDENCIES = $(fontconfig_def_dependency)
@touch $@
CLEANFILES = $(ALIAS_FILES) fontconfig.def
-DISTCLEANFILES = stamp-fcstdint fcstdint.h
+DISTCLEANFILES = \
+ stamp-fcstdint \
+ fcstdint.h \
+ stamp-fcobjshash.gperf \
+ fcobjshash.h \
+ fcobjshash.gperf
fontconfig.def: $(PUBLIC_FILES) $(PUBLIC_FT_FILES)
echo Generating $@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
-am_libfontconfig_la_OBJECTS = fcatomic.lo fcblanks.lo fccache.lo \
- fccfg.lo fccharset.lo fccompat.lo fcdbg.lo fcdefault.lo \
- fcdir.lo fcformat.lo fcfreetype.lo fcfs.lo fcinit.lo fclang.lo \
- fclist.lo fcmatch.lo fcmatrix.lo fcname.lo fcobjs.lo fcpat.lo \
- fcrange.lo fcserialize.lo fcstat.lo fcstr.lo fcweight.lo \
- fcxml.lo ftglue.lo
+am_libfontconfig_la_OBJECTS = fcatomic.lo fccache.lo fccfg.lo \
+ fccharset.lo fccompat.lo fcdbg.lo fcdefault.lo fcdir.lo \
+ fcformat.lo fcfreetype.lo fcfs.lo fcptrlist.lo fchash.lo \
+ fcinit.lo fclang.lo fclist.lo fcmatch.lo fcmatrix.lo fcname.lo \
+ fcobjs.lo fcpat.lo fcrange.lo fcserialize.lo fcstat.lo \
+ fcstr.lo fcweight.lo fcxml.lo ftglue.lo
libfontconfig_la_OBJECTS = $(am_libfontconfig_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
fcarch_SOURCES = fcarch.c
fcarch_OBJECTS = fcarch.$(OBJEXT)
fcarch_LDADD = $(LDADD)
+fcarch_DEPENDENCIES = $(am__DEPENDENCIES_1)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-EXTRA_DIST = makealias fcobjshash.gperf.h fcobjshash.gperf \
- fcobjshash.h
+EXTRA_DIST = makealias fcobjshash.gperf.h
@OS_WIN32_TRUE@export_symbols = -export-symbols fontconfig.def
@OS_WIN32_FALSE@fontconfig_def_dependency =
@OS_WIN32_TRUE@fontconfig_def_dependency = fontconfig.def
$(ICONV_CFLAGS) \
$(LIBXML2_CFLAGS) \
$(EXPAT_CFLAGS) \
+ $(UUID_CFLAGS) \
$(WARN_CFLAGS) \
-DFC_CACHEDIR='"$(FC_CACHEDIR)"' \
- -DFONTCONFIG_PATH='"$(BASECONFIGDIR)"'
+ -DFONTCONFIG_PATH='"$(BASECONFIGDIR)"' \
+ -DFC_TEMPLATEDIR='"$(TEMPLATEDIR)"'
+LDADD = $(INTLLIBS)
noinst_HEADERS = fcint.h fcftint.h fcdeprecate.h fcstdint.h
ALIAS_FILES = fcalias.h fcaliastail.h fcftalias.h fcftaliastail.h
BUILT_SOURCES = $(ALIAS_FILES) \
../fc-case/fccase.h \
- ../fc-glyphname/fcglyphname.h \
../fc-lang/fclang.h \
stamp-fcstdint \
fcobjshash.h \
fcarch.h \
fcatomic.c \
fcatomic.h \
- fcblanks.c \
fccache.c \
fccfg.c \
fccharset.c \
fcformat.c \
fcfreetype.c \
fcfs.c \
+ fcptrlist.c \
+ fchash.c \
fcinit.c \
fclang.c \
fclist.c \
libfontconfig_la_LDFLAGS = \
-version-info @LIBT_VERSION_INFO@ -no-undefined $(export_symbols)
-libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS)
+libfontconfig_la_LIBADD = $(ICONV_LIBS) $(FREETYPE_LIBS) $(LIBXML2_LIBS) $(EXPAT_LIBS) $(UUID_LIBS) $(INTLLIBS)
libfontconfig_la_DEPENDENCIES = $(fontconfig_def_dependency)
PUBLIC_FILES = \
$(top_srcdir)/fontconfig/fontconfig.h \
$(top_srcdir)/fontconfig/fcfreetype.h
CLEANFILES = $(ALIAS_FILES) fontconfig.def
-DISTCLEANFILES = stamp-fcstdint fcstdint.h
+DISTCLEANFILES = \
+ stamp-fcstdint \
+ fcstdint.h \
+ stamp-fcobjshash.gperf \
+ fcobjshash.h \
+ fcobjshash.gperf
+
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcarch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcatomic.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcblanks.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fccache.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fccfg.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fccharset.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcformat.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcfreetype.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcfs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchash.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcinit.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fclang.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fclist.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcname.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcobjs.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcpat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcptrlist.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcrange.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcserialize.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcstat.Plo@am__quote@
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-@ENABLE_SHARED_FALSE@install-data-local:
@ENABLE_SHARED_FALSE@uninstall-local:
+@ENABLE_SHARED_FALSE@install-data-local:
clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
../fc-case/fccase.h:
cd ../fc-case && $(MAKE) $(AM_MAKEFLAGS) fccase.h
-../fc-glyphname/fcglyphname.h:
- cd ../fc-glyphname && $(MAKE) $(AM_MAKEFLAGS) fcglyphname.h
../fc-lang/fclang.h:
cd ../fc-lang && $(MAKE) $(AM_MAKEFLAGS) fclang.h
-fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
- $(AM_V_GEN) $(CPP) -I$(top_srcdir) $< | \
+fcobjshash.gperf: Makefile stamp-fcobjshash.gperf
+ -@$(RM) stamp-fcobjshash.gperf
+ @$(MAKE) stamp-fcobjshash.gperf
+ @touch -r stamp-fcobjshash.gperf $@
+stamp-fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
+ $(AM_V_GEN) $(CPP) -I$(top_srcdir) $(CPPFLAGS) $< | \
$(SED) 's/^ *//;s/ *, */,/' | \
$(GREP) '^[^#]' | \
awk ' \
/CUT_OUT_END/ { no_write=0; next; }; \
{ if (!no_write) print; next; }; \
' - > $@.tmp && \
- mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
+ mv -f $@.tmp fcobjshash.gperf && touch $@ || ( $(RM) $@.tmp && false )
-fcobjshash.h: fcobjshash.gperf
- $(AM_V_GEN) $(GPERF) -m 100 $< > $@.tmp && \
+fcobjshash.h: Makefile fcobjshash.gperf
+ $(AM_V_GEN) $(GPERF) --pic -m 100 fcobjshash.gperf > $@.tmp && \
mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
@ENABLE_SHARED_TRUE@install-data-local: install-ms-import-lib install-libtool-import-lib
+++ /dev/null
-/*
- * fontconfig/src/fcblanks.c
- *
- * Copyright © 2002 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 the author(s) not be used in
- * advertising or publicity pertaining to distribution of the software without
- * 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.
- *
- * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE AUTHOR(S) 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.
- */
-
-#include "fcint.h"
-
-FcBlanks *
-FcBlanksCreate (void)
-{
- FcBlanks *b;
-
- b = malloc (sizeof (FcBlanks));
- if (!b)
- return 0;
- b->nblank = 0;
- b->sblank = 0;
- b->blanks = 0;
- return b;
-}
-
-void
-FcBlanksDestroy (FcBlanks *b)
-{
- if (b->sblank == -1)
- return;
- if (b->blanks)
- free (b->blanks);
- free (b);
-}
-
-FcBool
-FcBlanksAdd (FcBlanks *b, FcChar32 ucs4)
-{
- FcChar32 *c;
- int sblank;
-
- for (sblank = 0; sblank < b->nblank; sblank++)
- if (b->blanks[sblank] == ucs4)
- return FcTrue;
-
- if (b->sblank == -1)
- {
- fprintf (stderr, "Unable to update the static FcBlanks: 0x%04x\n", ucs4);
- return FcTrue;
- }
- if (b->nblank == b->sblank)
- {
- sblank = b->sblank + 32;
- if (b->blanks)
- c = (FcChar32 *) realloc (b->blanks, sblank * sizeof (FcChar32));
- else
- c = (FcChar32 *) malloc (sblank * sizeof (FcChar32));
- if (!c)
- return FcFalse;
- b->sblank = sblank;
- b->blanks = c;
- }
- b->blanks[b->nblank++] = ucs4;
- return FcTrue;
-}
-
-FcBool
-FcBlanksIsMember (FcBlanks *b, FcChar32 ucs4)
-{
- int lower = 0, higher = b->nblank, middle;
-
- if (b->nblank == 0 ||
- b->blanks[0] > ucs4 ||
- b->blanks[b->nblank - 1] < ucs4)
- return FcFalse;
- while (1)
- {
- middle = (lower + higher) / 2;
- if (b->blanks[middle] == ucs4)
- return FcTrue;
- if (lower >= higher)
- break;
- if (b->blanks[middle] < ucs4)
- lower = middle + 1;
- else
- higher = middle - 1;
- }
-
- return FcFalse;
-}
-#define __fcblanks__
-#include "fcaliastail.h"
-#undef __fcblanks__
#include <limits.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/time.h>
#include <assert.h>
#if defined(HAVE_MMAP) || defined(__CYGWIN__)
# include <unistd.h>
#endif
#if defined(_WIN32)
#include <sys/locking.h>
+#else
+#include <uuid/uuid.h>
#endif
#ifndef O_BINARY
#define O_BINARY 0
#endif
+FcBool
+FcDirCacheCreateUUID (FcChar8 *dir,
+ FcBool force,
+ FcConfig *config)
+{
+ FcBool ret = FcTrue;
+#ifndef _WIN32
+ FcChar8 *uuidname;
+
+ uuidname = FcStrBuildFilename (dir, ".uuid", NULL);
+ if (!uuidname)
+ return FcFalse;
+
+ if (force || access ((const char *) uuidname, F_OK) < 0)
+ {
+ FcAtomic *atomic;
+ int fd;
+ uuid_t uuid;
+ char out[37];
+ FcBool (* hash_add) (FcHashTable *, void*, void*);
+ struct stat statb;
+ struct timeval times[2];
+
+ if (FcStat (dir, &statb) != 0)
+ {
+ ret = FcFalse;
+ goto bail1;
+ }
+ atomic = FcAtomicCreate (uuidname);
+ if (!atomic)
+ {
+ ret = FcFalse;
+ goto bail1;
+ }
+ if (!FcAtomicLock (atomic))
+ {
+ ret = FcFalse;
+ goto bail2;
+ }
+ fd = FcOpen ((char *)FcAtomicNewFile (atomic), O_RDWR | O_CREAT, 0644);
+ if (fd == -1)
+ {
+ ret = FcFalse;
+ goto bail3;
+ }
+ uuid_generate_random (uuid);
+ if (force)
+ hash_add = FcHashTableReplace;
+ else
+ hash_add = FcHashTableAdd;
+ if (!hash_add (config->uuid_table, dir, uuid))
+ {
+ ret = FcFalse;
+ goto bail3;
+ }
+ uuid_unparse (uuid, out);
+ if (FcDebug () & FC_DBG_CACHE)
+ printf ("FcDirCacheCreateUUID %s: %s\n", uuidname, out);
+ write (fd, out, strlen (out));
+ close (fd);
+ FcAtomicReplaceOrig (atomic);
+ bail3:
+ FcAtomicUnlock (atomic);
+ bail2:
+ FcAtomicDestroy (atomic);
+
+ if (ret)
+ {
+ /* revert mtime of the directory */
+ times[0].tv_sec = statb.st_atime;
+ times[1].tv_sec = statb.st_mtime;
+#ifdef HAVE_STRUCT_STAT_ST_MTIM
+ times[0].tv_usec = statb.st_atim.tv_nsec / 1000;
+ times[1].tv_usec = statb.st_mtim.tv_nsec / 1000;
+#else
+ times[0].tv_usec = 0;
+ times[1].tv_usec = 0;
+#endif
+ if (utimes ((const char *) dir, times) != 0)
+ {
+ fprintf (stderr, "Unable to revert mtime: %s\n", dir);
+ }
+ }
+ }
+ bail1:
+ FcStrFree (uuidname);
+#endif
+
+ return ret;
+}
+
+#ifndef _WIN32
+static void
+FcDirCacheReadUUID (FcChar8 *dir,
+ FcConfig *config)
+{
+ void *u;
+ uuid_t uuid;
+
+ if (!FcHashTableFind (config->uuid_table, dir, &u))
+ {
+ FcChar8 *uuidname = FcStrBuildFilename (dir, ".uuid", NULL);
+ int fd;
+
+ if ((fd = FcOpen ((char *) uuidname, O_RDONLY)) >= 0)
+ {
+ char suuid[37];
+
+ memset (suuid, 0, sizeof (suuid));
+ if (read (fd, suuid, 36) > 0)
+ {
+ memset (uuid, 0, sizeof (uuid));
+ if (uuid_parse (suuid, uuid) == 0)
+ {
+ if (FcDebug () & FC_DBG_CACHE)
+ printf ("FcDirCacheReadUUID %s -> %s\n", uuidname, suuid);
+ FcHashTableAdd (config->uuid_table, dir, uuid);
+ }
+ }
+ close (fd);
+ }
+ else
+ {
+ if (FcDebug () & FC_DBG_CACHE)
+ printf ("FcDirCacheReadUUID Unable to read %s\n", uuidname);
+ }
+ FcStrFree (uuidname);
+ }
+ else
+ FcHashUuidFree (u);
+}
+#endif
struct MD5Context {
FcChar32 buf[4];
static void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
static void MD5Transform(FcChar32 buf[4], FcChar32 in[16]);
-#define CACHEBASE_LEN (1 + 32 + 1 + sizeof (FC_ARCHITECTURE) + sizeof (FC_CACHE_SUFFIX))
+#define CACHEBASE_LEN (1 + 36 + 1 + sizeof (FC_ARCHITECTURE) + sizeof (FC_CACHE_SUFFIX))
static FcBool
FcCacheIsMmapSafe (int fd)
'c', 'd', 'e', 'f' };
static FcChar8 *
-FcDirCacheBasename (const FcChar8 * dir, FcChar8 cache_base[CACHEBASE_LEN])
+FcDirCacheBasenameMD5 (const FcChar8 *dir, FcChar8 cache_base[CACHEBASE_LEN])
{
unsigned char hash[16];
FcChar8 *hex_hash;
return cache_base;
}
+#ifndef _WIN32
+static FcChar8 *
+FcDirCacheBasenameUUID (const FcChar8 *dir, FcChar8 cache_base[CACHEBASE_LEN], FcConfig *config)
+{
+ void *u;
+ FcChar8 *alias;
+
+ if (!FcHashTableFind (config->alias_table, dir, (void **)&alias))
+ alias = FcStrdup (dir);
+ if (FcHashTableFind (config->uuid_table, alias, &u))
+ {
+ uuid_unparse (u, (char *) cache_base);
+ strcat ((char *) cache_base, "-" FC_ARCHITECTURE FC_CACHE_SUFFIX);
+ FcHashUuidFree (u);
+ FcStrFree (alias);
+ return cache_base;
+ }
+ FcStrFree (alias);
+ return NULL;
+}
+#endif
+
FcBool
FcDirCacheUnlink (const FcChar8 *dir, FcConfig *config)
{
FcChar8 *cache_dir;
const FcChar8 *sysroot = FcConfigGetSysRoot (config);
- FcDirCacheBasename (dir, cache_base);
+#ifndef _WIN32
+ if (!FcDirCacheBasenameUUID (dir, cache_base, config))
+#endif
+ FcDirCacheBasenameMD5 (dir, cache_base);
list = FcStrListCreate (config->cacheDirs);
if (!list)
}
FcStrFree (d);
- FcDirCacheBasename (dir, cache_base);
+#ifndef _WIN32
+ if (!FcDirCacheBasenameUUID (dir, cache_base, config))
+#endif
+ FcDirCacheBasenameMD5 (dir, cache_base);
list = FcStrListCreate (config->cacheDirs);
if (!list)
FcPattern *font = FcFontSetFont (fs, i);
FcPatternElt *e;
FcValueListPtr l;
+ char *last_offset;
if ((char *) font < base ||
(char *) font > end - sizeof (FcFontSet) ||
font->elts_offset < 0 ||
font->elts_offset > end - (char *) font ||
- font->num > (end - (char *) font - font->elts_offset) / sizeof (FcPatternElt))
+ font->num > (end - (char *) font - font->elts_offset) / sizeof (FcPatternElt) ||
+ !FcRefIsConst (&font->ref))
return FcFalse;
if (e->values != 0 && !FcIsEncodedOffset(e->values))
return FcFalse;
- for (j = font->num, l = FcPatternEltValues(e); j >= 0 && l; j--, l = FcValueListNext(l))
- if (l->next != NULL && !FcIsEncodedOffset(l->next))
- break;
- if (j < 0)
- return FcFalse;
+ for (j = 0; j < font->num; j++)
+ {
+ last_offset = (char *) font + font->elts_offset;
+ for (l = FcPatternEltValues(&e[j]); l; l = FcValueListNext(l))
+ {
+ if ((char *) l < last_offset || (char *) l > end - sizeof (*l) ||
+ (l->next != NULL && !FcIsEncodedOffset(l->next)))
+ return FcFalse;
+ last_offset = (char *) l + 1;
+ }
+ }
}
}
FcDirCacheLoad (const FcChar8 *dir, FcConfig *config, FcChar8 **cache_file)
{
FcCache *cache = NULL;
+ const FcChar8 *d;
+#ifndef _WIN32
+ FcDirCacheReadUUID ((FcChar8 *) dir, config);
+#endif
if (!FcDirCacheProcess (config, dir,
FcDirCacheMapHelper,
&cache, cache_file))
return NULL;
+ d = FcCacheDir (cache);
+ if (FcStrCmp (dir, d))
+ FcHashTableAdd (config->alias_table, (FcChar8 *) d, (FcChar8 *) dir);
+
return cache;
}
if (!cache_dir)
return FcFalse;
- FcDirCacheBasename (dir, cache_base);
+#ifndef _WIN32
+ if (!FcDirCacheBasenameUUID (dir, cache_base, config))
+#endif
+ FcDirCacheBasenameMD5 (dir, cache_base);
cache_hashed = FcStrBuildFilename (cache_dir, cache_base, NULL);
if (!cache_hashed)
return FcFalse;
const FcChar8 *sysroot = FcConfigGetSysRoot (config);
int fd = -1;
- FcDirCacheBasename (dir, cache_base);
+#ifndef _WIN32
+ if (!FcDirCacheBasenameUUID (dir, cache_base, config))
+#endif
+ FcDirCacheBasenameMD5 (dir, cache_base);
list = FcStrListCreate (config->cacheDirs);
if (!list)
return -1;
#include "fcint.h"
#include <dirent.h>
+#include <locale.h>
#include <sys/types.h>
-#include "../fc-blanks/fcblanks.h"
#if defined (_WIN32) && !defined (R_OK)
#define R_OK 4
FcConfigEnsure (void)
{
FcConfig *config;
-retry:
+ FcBool is_locale_initialized;
+ static void *static_is_locale_initialized;
+retry_locale:
+ is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized);
+ if (!is_locale_initialized)
+ {
+ is_locale_initialized = FcTrue;
+ if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL,
+ (void *)(intptr_t) is_locale_initialized))
+ goto retry_locale;
+ setlocale (LC_ALL, "");
+ }
+retry_config:
config = fc_atomic_ptr_get (&_fcConfig);
if (!config)
{
if (!fc_atomic_ptr_cmpexch (&_fcConfig, NULL, config)) {
FcConfigDestroy (config);
- goto retry;
+ goto retry_config;
}
}
return config;
{
FcSetName set;
FcConfig *config;
+ FcMatchKind k;
+ FcBool err = FcFalse;
config = malloc (sizeof (FcConfig));
if (!config)
if (!config->cacheDirs)
goto bail8;
- config->blanks = &fcBlanks;
+ for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+ {
+ config->subst[k] = FcPtrListCreate ((FcDestroyFunc) FcRuleSetDestroy);
+ if (!config->subst[k])
+ err = FcTrue;
+ }
+ if (err)
+ goto bail9;
- config->substPattern = 0;
- config->substFont = 0;
- config->substScan = 0;
config->maxObjects = 0;
for (set = FcSetSystem; set <= FcSetApplication; set++)
config->fonts[set] = 0;
config->sysRoot = NULL;
+ config->rulesetList = FcPtrListCreate ((FcDestroyFunc) FcRuleSetDestroy);
+ if (!config->rulesetList)
+ goto bail9;
+ config->availConfigFiles = FcStrSetCreate ();
+ if (!config->availConfigFiles)
+ goto bail10;
+
+ config->uuid_table = FcHashTableCreate ((FcHashFunc) FcStrHashIgnoreCase,
+ (FcCompareFunc) FcStrCmp,
+ FcHashStrCopy,
+ FcHashUuidCopy,
+ (FcDestroyFunc) FcStrFree,
+ FcHashUuidFree);
+ config->alias_table = FcHashTableCreate ((FcHashFunc) FcStrHashIgnoreCase,
+ (FcCompareFunc) FcStrCmp,
+ FcHashStrCopy,
+ FcHashStrCopy,
+ (FcDestroyFunc) FcStrFree,
+ (FcDestroyFunc) FcStrFree);
+
FcRefInit (&config->ref, 1);
return config;
+bail10:
+ FcPtrListDestroy (config->rulesetList);
+bail9:
+ for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+ if (config->subst[k])
+ FcPtrListDestroy (config->subst[k]);
+ FcStrSetDestroy (config->cacheDirs);
bail8:
FcFontSetDestroy (config->rejectPatterns);
bail7:
return FcTrue;
}
-static void
-FcSubstDestroy (FcSubst *s)
-{
- FcSubst *n;
-
- while (s)
- {
- n = s->next;
- if (s->rule)
- FcRuleDestroy (s->rule);
- free (s);
- s = n;
- }
-}
-
FcExpr *
FcConfigAllocExpr (FcConfig *config)
{
{
FcSetName set;
FcExprPage *page;
+ FcMatchKind k;
if (FcRefDec (&config->ref) != 1)
return;
FcFontSetDestroy (config->acceptPatterns);
FcFontSetDestroy (config->rejectPatterns);
- if (config->blanks)
- FcBlanksDestroy (config->blanks);
-
- FcSubstDestroy (config->substPattern);
- FcSubstDestroy (config->substFont);
- FcSubstDestroy (config->substScan);
+ for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+ FcPtrListDestroy (config->subst[k]);
+ FcPtrListDestroy (config->rulesetList);
+ FcStrSetDestroy (config->availConfigFiles);
for (set = FcSetSystem; set <= FcSetApplication; set++)
if (config->fonts[set])
FcFontSetDestroy (config->fonts[set]);
if (config->sysRoot)
FcStrFree (config->sysRoot);
+ FcHashTableDestroy (config->uuid_table);
+ FcHashTableDestroy (config->alias_table);
+
free (config);
}
{
for (i = 0; i < cache->dirs_count; i++)
{
- FcChar8 *dir = FcOffsetToPtr (dirs, dirs[i], FcChar8);
+ const FcChar8 *dir = FcCacheSubdir (cache, i);
+ FcChar8 *alias;
+ FcChar8 *d = FcStrDirname (dir);
+ FcChar8 *s = NULL;
+
+ if (FcHashTableFind (config->alias_table, d, (void **)&alias))
+ {
+ FcChar8 *base = FcStrBasename (dir);
+ dir = s = FcStrBuildFilename (alias, base, NULL);
+ FcStrFree (alias);
+ FcStrFree (base);
+ }
+ FcStrFree (d);
if (FcConfigAcceptFilename (config, dir))
FcStrSetAddFilename (dirSet, dir);
+ if (s)
+ FcStrFree (s);
}
}
return FcTrue;
return FcStrSetAddFilename (config->fontDirs, d);
}
-FcBool
-FcConfigAddDir (FcConfig *config,
- const FcChar8 *d)
-{
- return (FcConfigAddConfigDir (config, d) &&
- FcConfigAddFontDir (config, d));
-}
-
FcStrList *
FcConfigGetFontDirs (FcConfig *config)
{
config->fonts[set] = fonts;
}
+
FcBlanks *
-FcConfigGetBlanks (FcConfig *config)
+FcBlanksCreate (void)
{
- if (!config)
- {
- config = FcConfigGetCurrent ();
- if (!config)
- return 0;
- }
- return config->blanks;
+ /* Deprecated. */
+ return NULL;
+}
+
+void
+FcBlanksDestroy (FcBlanks *b FC_UNUSED)
+{
+ /* Deprecated. */
}
FcBool
-FcConfigAddBlank (FcConfig *config,
- FcChar32 blank)
+FcBlanksAdd (FcBlanks *b FC_UNUSED, FcChar32 ucs4 FC_UNUSED)
{
- FcBlanks *b, *freeme = 0;
+ /* Deprecated. */
+ return FcFalse;
+}
- b = config->blanks;
- if (!b)
- {
- freeme = b = FcBlanksCreate ();
- if (!b)
- return FcFalse;
- }
- if (!FcBlanksAdd (b, blank))
- {
- if (freeme)
- FcBlanksDestroy (freeme);
- return FcFalse;
- }
- config->blanks = b;
- return FcTrue;
+FcBool
+FcBlanksIsMember (FcBlanks *b FC_UNUSED, FcChar32 ucs4 FC_UNUSED)
+{
+ /* Deprecated. */
+ return FcFalse;
}
+FcBlanks *
+FcConfigGetBlanks (FcConfig *config FC_UNUSED)
+{
+ /* Deprecated. */
+ return NULL;
+}
+
+FcBool
+FcConfigAddBlank (FcConfig *config FC_UNUSED,
+ FcChar32 blank FC_UNUSED)
+{
+ /* Deprecated. */
+ return FcFalse;
+}
+
+
int
FcConfigGetRescanInterval (FcConfig *config)
{
FcRule *rule,
FcMatchKind kind)
{
- FcSubst *subst, **prev;
- FcRule *r;
- int n = 0;
-
- if (!rule)
- return FcFalse;
- switch (kind) {
- case FcMatchPattern:
- prev = &config->substPattern;
- break;
- case FcMatchFont:
- prev = &config->substFont;
- break;
- case FcMatchScan:
- prev = &config->substScan;
- break;
- default:
- return FcFalse;
- }
- subst = (FcSubst *) malloc (sizeof (FcSubst));
- if (!subst)
- return FcFalse;
- for (; *prev; prev = &(*prev)->next);
- *prev = subst;
- subst->next = NULL;
- subst->rule = rule;
- for (r = rule; r; r = r->next)
- {
- switch (r->type)
- {
- case FcRuleTest:
- if (r->u.test &&
- r->u.test->kind == FcMatchDefault)
- r->u.test->kind = kind;
-
- if (n < r->u.test->object)
- n = r->u.test->object;
- break;
- case FcRuleEdit:
- if (n < r->u.edit->object)
- n = r->u.edit->object;
- break;
- default:
- break;
- }
- }
- n = FC_OBJ_ID (n) - FC_MAX_BASE_OBJECT;
- if (config->maxObjects < n)
- config->maxObjects = n;
- if (FcDebug () & FC_DBG_EDIT)
- {
- printf ("Add Subst ");
- FcSubstPrint (subst);
- }
- return FcTrue;
+ /* deprecated */
+ return FcFalse;
}
static FcValue
case FcTypeBool:
switch ((int) op) {
case FcOpEqual:
+ ret = left.u.b == right.u.b;
+ break;
case FcOpContains:
case FcOpListing:
- ret = left.u.b == right.u.b;
+ ret = left.u.b == right.u.b || left.u.b == FcDontCare;
break;
case FcOpNotEqual:
- case FcOpNotContains:
ret = left.u.b != right.u.b;
break;
+ case FcOpNotContains:
+ ret = !(left.u.b == right.u.b || left.u.b == FcDontCare);
+ break;
+ case FcOpLess:
+ ret = left.u.b != right.u.b && right.u.b == FcDontCare;
+ break;
+ case FcOpLessEqual:
+ ret = left.u.b == right.u.b || right.u.b == FcDontCare;
+ break;
+ case FcOpMore:
+ ret = left.u.b != right.u.b && left.u.b == FcDontCare;
+ break;
+ case FcOpMoreEqual:
+ ret = left.u.b == right.u.b || left.u.b == FcDontCare;
+ break;
default:
break;
}
FcMatchKind kind)
{
FcValue v;
- FcSubst *s;
+ FcPtrList *s;
+ FcPtrListIter iter, iter2;
FcRule *r;
+ FcRuleSet *rs;
FcValueList *l, **value = NULL, *vl;
FcPattern *m;
FcStrSet *strs;
return FcFalse;
}
- switch (kind) {
- case FcMatchPattern:
- s = config->substPattern;
+ if (kind < FcMatchKindBegin || kind >= FcMatchKindEnd)
+ return FcFalse;
+ s = config->subst[kind];
+ if (kind == FcMatchPattern)
+ {
strs = FcGetDefaultLangs ();
if (strs)
{
if (prgname)
FcPatternObjectAddString (p, FC_PRGNAME_OBJECT, prgname);
}
- break;
- case FcMatchFont:
- s = config->substFont;
- break;
- case FcMatchScan:
- s = config->substScan;
- break;
- default:
- return FcFalse;
}
nobjs = FC_MAX_BASE_OBJECT + config->maxObjects + 2;
printf ("FcConfigSubstitute ");
FcPatternPrint (p);
}
- for (; s; s = s->next)
+ FcPtrListIterInit (s, &iter);
+ for (; FcPtrListIterIsValid (s, &iter); FcPtrListIterNext (s, &iter))
{
- r = s->rule;
- for (i = 0; i < nobjs; i++)
+ rs = (FcRuleSet *) FcPtrListIterGetValue (s, &iter);
+ if (FcDebug () & FC_DBG_EDIT)
{
- elt[i] = NULL;
- value[i] = NULL;
- tst[i] = NULL;
+ printf ("\nRule Set: %s\n", rs->name);
}
- for (; r; r = r->next)
+ FcPtrListIterInit (rs->subst[kind], &iter2);
+ for (; FcPtrListIterIsValid (rs->subst[kind], &iter2); FcPtrListIterNext (rs->subst[kind], &iter2))
{
- switch (r->type) {
- case FcRuleUnknown:
- /* shouldn't be reached */
- break;
- case FcRuleTest:
- object = FC_OBJ_ID (r->u.test->object);
- /*
- * Check the tests to see if
- * they all match the pattern
- */
- if (FcDebug () & FC_DBG_EDIT)
- {
- printf ("FcConfigSubstitute test ");
- FcTestPrint (r->u.test);
- }
- if (kind == FcMatchFont && r->u.test->kind == FcMatchPattern)
- m = p_pat;
- else
- m = p;
- if (m)
- e = FcPatternObjectFindElt (m, r->u.test->object);
- else
- e = NULL;
- /* different 'kind' won't be the target of edit */
- if (!elt[object] && kind == r->u.test->kind)
- {
- elt[object] = e;
- tst[object] = r->u.test;
- }
- /*
- * If there's no such field in the font,
- * then FcQualAll matches while FcQualAny does not
- */
- if (!e)
- {
- if (r->u.test->qual == FcQualAll)
+ r = (FcRule *) FcPtrListIterGetValue (rs->subst[kind], &iter2);
+ for (i = 0; i < nobjs; i++)
+ {
+ elt[i] = NULL;
+ value[i] = NULL;
+ tst[i] = NULL;
+ }
+ for (; r; r = r->next)
+ {
+ switch (r->type) {
+ case FcRuleUnknown:
+ /* shouldn't be reached */
+ break;
+ case FcRuleTest:
+ object = FC_OBJ_ID (r->u.test->object);
+ /*
+ * Check the tests to see if
+ * they all match the pattern
+ */
+ if (FcDebug () & FC_DBG_EDIT)
{
- value[object] = NULL;
- continue;
+ printf ("FcConfigSubstitute test ");
+ FcTestPrint (r->u.test);
}
+ if (kind == FcMatchFont && r->u.test->kind == FcMatchPattern)
+ m = p_pat;
+ else
+ m = p;
+ if (m)
+ e = FcPatternObjectFindElt (m, r->u.test->object);
else
+ e = NULL;
+ /* different 'kind' won't be the target of edit */
+ if (!elt[object] && kind == r->u.test->kind)
+ {
+ elt[object] = e;
+ tst[object] = r->u.test;
+ }
+ /*
+ * If there's no such field in the font,
+ * then FcQualAll matches while FcQualAny does not
+ */
+ if (!e)
+ {
+ if (r->u.test->qual == FcQualAll)
+ {
+ value[object] = NULL;
+ continue;
+ }
+ else
+ {
+ if (FcDebug () & FC_DBG_EDIT)
+ printf ("No match\n");
+ goto bail;
+ }
+ }
+ /*
+ * Check to see if there is a match, mark the location
+ * to apply match-relative edits
+ */
+ vl = FcConfigMatchValueList (m, p_pat, kind, r->u.test, e->values);
+ /* different 'kind' won't be the target of edit */
+ if (!value[object] && kind == r->u.test->kind)
+ value[object] = vl;
+ if (!vl ||
+ (r->u.test->qual == FcQualFirst && vl != e->values) ||
+ (r->u.test->qual == FcQualNotFirst && vl == e->values))
{
if (FcDebug () & FC_DBG_EDIT)
printf ("No match\n");
goto bail;
}
- }
- /*
- * Check to see if there is a match, mark the location
- * to apply match-relative edits
- */
- vl = FcConfigMatchValueList (m, p_pat, kind, r->u.test, e->values);
- /* different 'kind' won't be the target of edit */
- if (!value[object] && kind == r->u.test->kind)
- value[object] = vl;
- if (!vl ||
- (r->u.test->qual == FcQualFirst && vl != e->values) ||
- (r->u.test->qual == FcQualNotFirst && vl == e->values))
- {
+ break;
+ case FcRuleEdit:
+ object = FC_OBJ_ID (r->u.edit->object);
if (FcDebug () & FC_DBG_EDIT)
- printf ("No match\n");
- goto bail;
- }
- break;
- case FcRuleEdit:
- object = FC_OBJ_ID (r->u.edit->object);
- if (FcDebug () & FC_DBG_EDIT)
- {
- printf ("Substitute ");
- FcEditPrint (r->u.edit);
- printf ("\n\n");
- }
- /*
- * Evaluate the list of expressions
- */
- l = FcConfigValues (p, p_pat,kind, r->u.edit->expr, r->u.edit->binding);
- if (tst[object] && (tst[object]->kind == FcMatchFont || kind == FcMatchPattern))
- elt[object] = FcPatternObjectFindElt (p, tst[object]->object);
-
- switch (FC_OP_GET_OP (r->u.edit->op)) {
- case FcOpAssign:
+ {
+ printf ("Substitute ");
+ FcEditPrint (r->u.edit);
+ printf ("\n\n");
+ }
/*
- * If there was a test, then replace the matched
- * value with the new list of values
+ * Evaluate the list of expressions
*/
- if (value[object])
- {
- FcValueList *thisValue = value[object];
- FcValueList *nextValue = l;
+ l = FcConfigValues (p, p_pat,kind, r->u.edit->expr, r->u.edit->binding);
+ if (tst[object] && (tst[object]->kind == FcMatchFont || kind == FcMatchPattern))
+ elt[object] = FcPatternObjectFindElt (p, tst[object]->object);
+ switch (FC_OP_GET_OP (r->u.edit->op)) {
+ case FcOpAssign:
/*
- * Append the new list of values after the current value
+ * If there was a test, then replace the matched
+ * value with the new list of values
*/
- FcConfigAdd (&elt[object]->values, thisValue, FcTrue, l, r->u.edit->object);
+ if (value[object])
+ {
+ FcValueList *thisValue = value[object];
+ FcValueList *nextValue = l;
+
+ /*
+ * Append the new list of values after the current value
+ */
+ FcConfigAdd (&elt[object]->values, thisValue, FcTrue, l, r->u.edit->object);
+ /*
+ * Delete the marked value
+ */
+ if (thisValue)
+ FcConfigDel (&elt[object]->values, thisValue);
+ /*
+ * Adjust a pointer into the value list to ensure
+ * future edits occur at the same place
+ */
+ value[object] = nextValue;
+ break;
+ }
+ /* fall through ... */
+ case FcOpAssignReplace:
/*
- * Delete the marked value
+ * Delete all of the values and insert
+ * the new set
*/
- if (thisValue)
- FcConfigDel (&elt[object]->values, thisValue);
+ FcConfigPatternDel (p, r->u.edit->object);
+ FcConfigPatternAdd (p, r->u.edit->object, l, FcTrue);
/*
- * Adjust a pointer into the value list to ensure
- * future edits occur at the same place
+ * Adjust a pointer into the value list as they no
+ * longer point to anything valid
*/
- value[object] = nextValue;
+ value[object] = NULL;
break;
- }
- /* fall through ... */
- case FcOpAssignReplace:
- /*
- * Delete all of the values and insert
- * the new set
- */
- FcConfigPatternDel (p, r->u.edit->object);
- FcConfigPatternAdd (p, r->u.edit->object, l, FcTrue);
- /*
- * Adjust a pointer into the value list as they no
- * longer point to anything valid
- */
- value[object] = NULL;
- break;
- case FcOpPrepend:
- if (value[object])
- {
- FcConfigAdd (&elt[object]->values, value[object], FcFalse, l, r->u.edit->object);
+ case FcOpPrepend:
+ if (value[object])
+ {
+ FcConfigAdd (&elt[object]->values, value[object], FcFalse, l, r->u.edit->object);
+ break;
+ }
+ /* fall through ... */
+ case FcOpPrependFirst:
+ FcConfigPatternAdd (p, r->u.edit->object, l, FcFalse);
break;
- }
- /* fall through ... */
- case FcOpPrependFirst:
- FcConfigPatternAdd (p, r->u.edit->object, l, FcFalse);
- break;
- case FcOpAppend:
- if (value[object])
- {
- FcConfigAdd (&elt[object]->values, value[object], FcTrue, l, r->u.edit->object);
+ case FcOpAppend:
+ if (value[object])
+ {
+ FcConfigAdd (&elt[object]->values, value[object], FcTrue, l, r->u.edit->object);
+ break;
+ }
+ /* fall through ... */
+ case FcOpAppendLast:
+ FcConfigPatternAdd (p, r->u.edit->object, l, FcTrue);
+ break;
+ case FcOpDelete:
+ if (value[object])
+ {
+ FcConfigDel (&elt[object]->values, value[object]);
+ break;
+ }
+ /* fall through ... */
+ case FcOpDeleteAll:
+ FcConfigPatternDel (p, r->u.edit->object);
+ break;
+ default:
+ FcValueListDestroy (l);
break;
}
- /* fall through ... */
- case FcOpAppendLast:
- FcConfigPatternAdd (p, r->u.edit->object, l, FcTrue);
- break;
- case FcOpDelete:
- if (value[object])
+ /*
+ * Now go through the pattern and eliminate
+ * any properties without data
+ */
+ FcConfigPatternCanon (p, r->u.edit->object);
+
+ if (FcDebug () & FC_DBG_EDIT)
{
- FcConfigDel (&elt[object]->values, value[object]);
- break;
+ printf ("FcConfigSubstitute edit");
+ FcPatternPrint (p);
}
- /* fall through ... */
- case FcOpDeleteAll:
- FcConfigPatternDel (p, r->u.edit->object);
break;
- default:
- FcValueListDestroy (l);
- break;
- }
- /*
- * Now go through the pattern and eliminate
- * any properties without data
- */
- FcConfigPatternCanon (p, r->u.edit->object);
-
- if (FcDebug () & FC_DBG_EDIT)
- {
- printf ("FcConfigSubstitute edit");
- FcPatternPrint (p);
}
- break;
}
+ bail:;
}
- bail:;
}
if (FcDebug () & FC_DBG_EDIT)
{
return file;
}
+FcChar8 *
+FcConfigRealFilename (FcConfig *config,
+ const FcChar8 *url)
+{
+ const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ FcChar8 *n = FcConfigFilename (url);
+ FcChar8 *nn = NULL;
+
+ if (n)
+ {
+ FcChar8 buf[PATH_MAX];
+ ssize_t len;
+
+ if (sysroot)
+ nn = FcStrBuildFilename (sysroot, n, NULL);
+ else
+ nn = FcStrdup (n);
+ FcStrFree (n);
+
+ if ((len = FcReadLink (nn, buf, sizeof (buf) - 1)) != -1)
+ {
+ buf[len] = 0;
+ FcStrFree (nn);
+ nn = FcStrdup (buf);
+ }
+ }
+
+ return nn;
+}
+
/*
* Manage the application-specific fonts
*/
FcConfigSetFonts (config, set, FcSetApplication);
}
- if (!FcFileScanConfig (set, subdirs, config->blanks, file, config))
+ if (!FcFileScanConfig (set, subdirs, file, config))
{
FcStrSetDestroy (subdirs);
return FcFalse;
}
}
+FcRuleSet *
+FcRuleSetCreate (const FcChar8 *name)
+{
+ FcRuleSet *ret = (FcRuleSet *) malloc (sizeof (FcRuleSet));
+ FcMatchKind k;
+ const FcChar8 *p;
+
+ if (!name)
+ p = (const FcChar8 *)"";
+ else
+ p = name;
+
+ if (ret)
+ {
+ ret->name = FcStrdup (p);
+ ret->description = NULL;
+ ret->domain = NULL;
+ for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+ ret->subst[k] = FcPtrListCreate ((FcDestroyFunc) FcRuleDestroy);
+ FcRefInit (&ret->ref, 1);
+ }
+
+ return ret;
+}
+
+void
+FcRuleSetDestroy (FcRuleSet *rs)
+{
+ FcMatchKind k;
+
+ if (!rs)
+ return;
+ if (FcRefDec (&rs->ref) != 1)
+ return;
+
+ if (rs->name)
+ FcStrFree (rs->name);
+ if (rs->description)
+ FcStrFree (rs->description);
+ if (rs->domain)
+ FcStrFree (rs->domain);
+ for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+ FcPtrListDestroy (rs->subst[k]);
+
+ free (rs);
+}
+
+void
+FcRuleSetReference (FcRuleSet *rs)
+{
+ if (!FcRefIsConst (&rs->ref))
+ FcRefInc (&rs->ref);
+}
+
+void
+FcRuleSetEnable (FcRuleSet *rs,
+ FcBool flag)
+{
+ if (rs)
+ {
+ rs->enabled = flag;
+ /* XXX: we may want to provide a feature
+ * to enable/disable rulesets through API
+ * in the future?
+ */
+ }
+}
+
+void
+FcRuleSetAddDescription (FcRuleSet *rs,
+ const FcChar8 *domain,
+ const FcChar8 *description)
+{
+ if (rs->domain)
+ FcStrFree (rs->domain);
+ if (rs->description)
+ FcStrFree (rs->description);
+
+ rs->domain = domain ? FcStrdup (domain) : NULL;
+ rs->description = description ? FcStrdup (description) : NULL;
+}
+
+int
+FcRuleSetAdd (FcRuleSet *rs,
+ FcRule *rule,
+ FcMatchKind kind)
+{
+ FcPtrListIter iter;
+ FcRule *r;
+ int n = 0, ret;
+
+ if (!rs ||
+ kind < FcMatchKindBegin || kind >= FcMatchKindEnd)
+ return -1;
+ FcPtrListIterInitAtLast (rs->subst[kind], &iter);
+ if (!FcPtrListIterAdd (rs->subst[kind], &iter, rule))
+ return -1;
+
+ for (r = rule; r; r = r->next)
+ {
+ switch (r->type)
+ {
+ case FcRuleTest:
+ if (r->u.test &&
+ r->u.test->kind == FcMatchDefault)
+ r->u.test->kind = kind;
+
+ if (n < r->u.test->object)
+ n = r->u.test->object;
+ break;
+ case FcRuleEdit:
+ if (n < r->u.edit->object)
+ n = r->u.edit->object;
+ break;
+ default:
+ break;
+ }
+ }
+ if (FcDebug () & FC_DBG_EDIT)
+ {
+ printf ("Add Rule(kind:%d, name: %s) ", kind, rs->name);
+ FcRulePrint (rule);
+ }
+ ret = FC_OBJ_ID (n) - FC_MAX_BASE_OBJECT;
+
+ return ret < 0 ? 0 : ret;
+}
+
+void
+FcConfigFileInfoIterInit (FcConfig *config,
+ FcConfigFileInfoIter *iter)
+{
+ FcConfig *c;
+ FcPtrListIter *i = (FcPtrListIter *)iter;
+
+ if (!config)
+ c = FcConfigGetCurrent ();
+ else
+ c = config;
+ FcPtrListIterInit (c->rulesetList, i);
+}
+
+FcBool
+FcConfigFileInfoIterNext (FcConfig *config,
+ FcConfigFileInfoIter *iter)
+{
+ FcConfig *c;
+ FcPtrListIter *i = (FcPtrListIter *)iter;
+
+ if (!config)
+ c = FcConfigGetCurrent ();
+ else
+ c = config;
+ if (FcPtrListIterIsValid (c->rulesetList, i))
+ {
+ FcPtrListIterNext (c->rulesetList, i);
+ }
+ else
+ return FcFalse;
+
+ return FcTrue;
+}
+
+FcBool
+FcConfigFileInfoIterGet (FcConfig *config,
+ FcConfigFileInfoIter *iter,
+ FcChar8 **name,
+ FcChar8 **description,
+ FcBool *enabled)
+{
+ FcConfig *c;
+ FcRuleSet *r;
+ FcPtrListIter *i = (FcPtrListIter *)iter;
+
+ if (!config)
+ c = FcConfigGetCurrent ();
+ else
+ c = config;
+ if (!FcPtrListIterIsValid (c->rulesetList, i))
+ return FcFalse;
+ r = FcPtrListIterGetValue (c->rulesetList, i);
+ if (name)
+ *name = FcStrdup (r->name && r->name[0] ? r->name : (const FcChar8 *) "fonts.conf");
+ if (description)
+ *description = FcStrdup (!r->description ? _("No description") :
+ dgettext (r->domain ? (const char *) r->domain : GETTEXT_PACKAGE "-conf",
+ (const char *) r->description));
+ if (enabled)
+ *enabled = r->enabled;
+
+ return FcTrue;
+}
+
#define __fccfg__
#include "fcaliastail.h"
#undef __fccfg__
if (!leaf)
return FcFalse;
b = &leaf->map[(ucs4 & 0xff) >> 5];
- *b |= (1 << (ucs4 & 0x1f));
+ *b |= (1U << (ucs4 & 0x1f));
return FcTrue;
}
if (!leaf)
return FcTrue;
b = &leaf->map[(ucs4 & 0xff) >> 5];
- *b &= ~(1 << (ucs4 & 0x1f));
+ *b &= ~(1U << (ucs4 & 0x1f));
/* We don't bother removing the leaf if it's empty */
return FcTrue;
}
leaf = FcCharSetFindLeaf (fcs, ucs4);
if (!leaf)
return FcFalse;
- return (leaf->map[(ucs4 & 0xff) >> 5] & (1 << (ucs4 & 0x1f))) != 0;
+ return (leaf->map[(ucs4 & 0xff) >> 5] & (1U << (ucs4 & 0x1f))) != 0;
}
static FcChar32
hash = ((hash << 1) | (hash >> 31)) ^ FcCharLeafHash (FcCharSetLeaf(fcs,i));
/* hash in numbers */
for (i = 0; i < fcs->num; i++)
- hash = ((hash << 1) | (hash >> 31)) ^ *FcCharSetNumbers(fcs);
+ hash = ((hash << 1) | (hash >> 31)) ^ FcCharSetNumbers(fcs)[i];
return hash;
}
static FcBool
FcCharSetFreezeOrig (FcCharSetFreezer *freezer, const FcCharSet *orig, const FcCharSet *frozen)
{
- FcCharSetOrigEnt **bucket = &freezer->orig_hash_table[((uintptr_t) orig) & FC_CHAR_SET_HASH_SIZE];
+ FcCharSetOrigEnt **bucket = &freezer->orig_hash_table[((uintptr_t) orig) % FC_CHAR_SET_HASH_SIZE];
FcCharSetOrigEnt *ent;
ent = malloc (sizeof (FcCharSetOrigEnt));
static const FcCharSet *
FcCharSetFindFrozen (FcCharSetFreezer *freezer, const FcCharSet *orig)
{
- FcCharSetOrigEnt **bucket = &freezer->orig_hash_table[((uintptr_t) orig) & FC_CHAR_SET_HASH_SIZE];
+ FcCharSetOrigEnt **bucket = &freezer->orig_hash_table[((uintptr_t) orig) % FC_CHAR_SET_HASH_SIZE];
FcCharSetOrigEnt *ent;
for (ent = *bucket; ent; ent = ent->next)
#if HAVE_FCNTL_H
#include <fcntl.h>
#endif
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
return ret;
}
+ssize_t
+FcReadLink (const FcChar8 *pathname,
+ FcChar8 *buf,
+ size_t bufsiz)
+{
+#ifdef HAVE_READLINK
+ return readlink ((const char *) pathname, (char *)buf, bufsiz);
+#else
+ /* XXX: this function is only used for FcConfigRealFilename() so far
+ * and returning -1 as an error still just works.
+ */
+ errno = ENOSYS;
+ return -1;
+#endif
+}
+
#define __fccompat__
#include "fcaliastail.h"
#undef __fccompat__
fprintf (f, "\"%s\"", v.u.s);
break;
case FcTypeBool:
- fprintf (f, "%s", v.u.b ? "True" : "False");
+ fprintf (f,
+ v.u.b == FcTrue ? "True" :
+ v.u.b == FcFalse ? "False" :
+ "DontCare");
break;
case FcTypeMatrix:
fprintf (f, "[%g %g; %g %g]", v.u.m->xx, v.u.m->xy, v.u.m->yx, v.u.m->yy);
fprintf (f, "face");
break;
case FcTypeRange:
- fprintf (f, "[%g %g)", v.u.r->begin, v.u.r->end);
+ fprintf (f, "[%g %g]", v.u.r->begin, v.u.r->end);
break;
}
}
case FcMatchScan:
printf ("scan ");
break;
+ case FcMatchKindEnd:
+ /* shouldn't be reached */
+ return;
}
switch (test->qual) {
case FcQualAny:
}
void
-FcSubstPrint (const FcSubst *subst)
+FcRulePrint (const FcRule *rule)
{
- FcRule *r;
FcRuleType last_type = FcRuleUnknown;
+ const FcRule *r;
- printf ("match\n");
- for (r = subst->rule; r; r = r->next)
+ for (r = rule; r; r = r->next)
{
if (last_type != r->type)
{
{ FC_EMBEDDED_BITMAP_OBJECT, FcTrue }, /* !FC_LOAD_NO_BITMAP */
{ FC_DECORATIVE_OBJECT, FcFalse },
{ FC_SYMBOL_OBJECT, FcFalse },
+ { FC_VARIABLE_OBJECT, FcFalse },
};
#define NUM_FC_BOOL_DEFAULTS (int) (sizeof FcBoolDefaults / sizeof FcBoolDefaults[0])
prgname = FcStrdup ("");
#else
# if defined (HAVE_GETEXECNAME)
- const char *p = getexecname ();
+ char *p = FcStrdup(getexecname ());
# elif defined (HAVE_READLINK)
- char buf[PATH_MAX + 1];
- int len;
+ size_t size = FC_PATH_MAX;
char *p = NULL;
- len = readlink ("/proc/self/exe", buf, sizeof (buf) - 1);
- if (len != -1)
+ while (1)
{
- buf[len] = '\0';
- p = buf;
+ char *buf = malloc (size);
+ ssize_t len;
+
+ if (!buf)
+ break;
+
+ len = readlink ("/proc/self/exe", buf, size - 1);
+ if (len < 0)
+ {
+ free (buf);
+ break;
+ }
+ if (len < size - 1)
+ {
+ buf[len] = 0;
+ p = buf;
+ break;
+ }
+
+ free (buf);
+ size *= 2;
}
# else
char *p = NULL;
if (!prgname)
prgname = FcStrdup ("");
+
+ if (p)
+ free (p);
#endif
if (!fc_atomic_ptr_cmpexch (&default_prgname, NULL, prgname)) {
FcPatternObjectAddBool (pattern, FcBoolDefaults[i].field, FcBoolDefaults[i].value);
if (FcPatternObjectGetDouble (pattern, FC_SIZE_OBJECT, 0, &size) != FcResultMatch)
- size = 12.0L;
+ {
+ FcRange *r;
+ double b, e;
+ if (FcPatternObjectGetRange (pattern, FC_SIZE_OBJECT, 0, &r) == FcResultMatch && FcRangeGetDouble (r, &b, &e))
+ size = (b + e) * .5;
+ else
+ size = 12.0L;
+ }
if (FcPatternObjectGetDouble (pattern, FC_SCALE_OBJECT, 0, &scale) != FcResultMatch)
scale = 1.0;
if (FcPatternObjectGetDouble (pattern, FC_DPI_OBJECT, 0, &dpi) != FcResultMatch)
*/
#include "fcint.h"
-#include "fcftint.h"
-#include <ft2build.h>
-#include FT_FREETYPE_H
#include <dirent.h>
FcBool
static FcBool
FcFileScanFontConfig (FcFontSet *set,
- FcBlanks *blanks,
const FcChar8 *file,
FcConfig *config)
{
- FT_Library ftLibrary;
- FT_Face face;
- FcPattern *font;
+ int i;
FcBool ret = FcTrue;
- int num_faces = 0;
- int num_instances = 0;
- int face_num = 0;
- int instance_num = 0;
- int id;
+ int old_nfont = set->nfont;
const FcChar8 *sysroot = FcConfigGetSysRoot (config);
- if (FT_Init_FreeType (&ftLibrary))
+ if (FcDebug () & FC_DBG_SCAN)
+ {
+ printf ("\tScanning file %s...", file);
+ fflush (stdout);
+ }
+
+ if (!FcFreeTypeQueryAll (file, -1, NULL, NULL, set))
return FcFalse;
- do
- {
- font = 0;
- /*
- * Nothing in the cache, scan the file
- */
- if (FcDebug () & FC_DBG_SCAN)
- {
- printf ("\tScanning file %s...", file);
- fflush (stdout);
- }
+ if (FcDebug () & FC_DBG_SCAN)
+ printf ("done\n");
- id = ((instance_num << 16) + face_num);
- if (FT_New_Face (ftLibrary, (char *) file, id, &face))
- return FcFalse;
- num_faces = face->num_faces;
- num_instances = face->style_flags >> 16;
- font = FcFreeTypeQueryFace (face, file, id, blanks);
- FT_Done_Face (face);
+ for (i = old_nfont; i < set->nfont; i++)
+ {
+ FcPattern *font = set->fonts[i];
- if (FcDebug () & FC_DBG_SCAN)
- printf ("done\n");
/*
* Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
* and they should usually expect without sysroot.
*/
- if (font && sysroot)
+ if (sysroot)
{
size_t len = strlen ((const char *)sysroot);
FcChar8 *f = NULL;
/*
* Edit pattern with user-defined rules
*/
- if (font && config && !FcConfigSubstitute (config, font, FcMatchScan))
- {
- FcPatternDestroy (font);
- font = NULL;
- ret = FcFalse;
- }
-
- /*
- * Add the font
- */
- if (font)
- {
- if (FcDebug() & FC_DBG_SCANV)
- {
- printf ("Final font pattern:\n");
- FcPatternPrint (font);
- }
- if (!FcFontSetAdd (set, font))
- {
- FcPatternDestroy (font);
- font = NULL;
- ret = FcFalse;
- }
- }
- else
+ if (config && !FcConfigSubstitute (config, font, FcMatchScan))
ret = FcFalse;
- if (instance_num < num_instances)
- instance_num++;
- else
+ if (FcDebug() & FC_DBG_SCANV)
{
- face_num++;
- instance_num = 0;
+ printf ("Final font pattern:\n");
+ FcPatternPrint (font);
}
- } while (font && ret && face_num < num_faces);
-
- FT_Done_FreeType (ftLibrary);
+ }
return ret;
}
FcBool
FcFileScanConfig (FcFontSet *set,
FcStrSet *dirs,
- FcBlanks *blanks,
const FcChar8 *file,
FcConfig *config)
{
else
{
if (set)
- return FcFileScanFontConfig (set, blanks, file, config);
+ return FcFileScanFontConfig (set, file, config);
else
return FcTrue;
}
FcFileScan (FcFontSet *set,
FcStrSet *dirs,
FcFileCache *cache FC_UNUSED,
- FcBlanks *blanks,
+ FcBlanks *blanks FC_UNUSED,
const FcChar8 *file,
FcBool force FC_UNUSED)
{
- return FcFileScanConfig (set, dirs, blanks, file, FcConfigGetCurrent ());
+ return FcFileScanConfig (set, dirs, file, FcConfigGetCurrent ());
}
/*
FcBool
FcDirScanConfig (FcFontSet *set,
FcStrSet *dirs,
- FcBlanks *blanks,
const FcChar8 *dir,
FcBool force, /* XXX unused */
FcConfig *config)
if (!set && !dirs)
return FcTrue;
- if (!blanks)
- blanks = FcConfigGetBlanks (config);
-
/* freed below */
file = (FcChar8 *) malloc (strlen ((char *) dir) + 1 + FC_MAX_FILE_LEN + 1);
if (!file) {
* Scan file files to build font patterns
*/
for (i = 0; i < files->num; i++)
- FcFileScanConfig (set, dirs, blanks, files->strs[i], config);
+ FcFileScanConfig (set, dirs, files->strs[i], config);
bail2:
FcStrSetDestroy (files);
FcBool
FcDirScan (FcFontSet *set,
FcStrSet *dirs,
- FcFileCache *cache, /* XXX unused */
- FcBlanks *blanks,
+ FcFileCache *cache FC_UNUSED,
+ FcBlanks *blanks FC_UNUSED,
const FcChar8 *dir,
- FcBool force /* XXX unused */)
+ FcBool force FC_UNUSED)
{
if (cache || !force)
return FcFalse;
- return FcDirScanConfig (set, dirs, blanks, dir, force, FcConfigGetCurrent ());
+ return FcDirScanConfig (set, dirs, dir, force, FcConfigGetCurrent ());
}
/*
struct stat dir_stat;
const FcChar8 *sysroot = FcConfigGetSysRoot (config);
FcChar8 *d;
+#ifndef _WIN32
int fd = -1;
+#endif
if (sysroot)
d = FcStrBuildFilename (sysroot, dir, NULL);
if (!dirs)
goto bail1;
+#ifndef _WIN32
fd = FcDirCacheLock (dir, config);
+#endif
/*
* Scan the dir
*/
- if (!FcDirScanConfig (set, dirs, NULL, d, FcTrue, config))
+ if (!FcDirScanConfig (set, dirs, d, FcTrue, config))
goto bail2;
/*
FcDirCacheWrite (cache, config);
bail2:
+#ifndef _WIN32
FcDirCacheUnlock (fd);
+#endif
FcStrSetDestroy (dirs);
bail1:
FcFontSetDestroy (set);
FcStrSet *dirs;
const FcChar8 *sysroot = FcConfigGetSysRoot (config);
FcChar8 *d = NULL;
+#ifndef _WIN32
int fd = -1;
+#endif
cache = FcDirCacheLoad (dir, config, NULL);
if (!cache)
if (!dirs)
goto bail;
+#ifndef _WIN32
fd = FcDirCacheLock (dir, config);
+#endif
/*
* Scan the dir
*/
- if (!FcDirScanConfig (NULL, dirs, NULL, d, FcTrue, config))
+ if (!FcDirScanConfig (NULL, dirs, d, FcTrue, config))
goto bail1;
/*
* Rebuild the cache object
FcDirCacheWrite (new, config);
bail1:
+#ifndef _WIN32
FcDirCacheUnlock (fd);
+#endif
FcStrSetDestroy (dirs);
bail:
if (d)
{
FcCache *cache = NULL;
+ FcDirCacheCreateUUID ((FcChar8 *) dir, FcFalse, config);
/* Try to use existing cache file */
if (!force)
cache = FcDirCacheLoad (dir, config, NULL);
#include <string.h>
#include <ft2build.h>
#include FT_FREETYPE_H
+#include FT_ADVANCES_H
#include FT_TRUETYPE_TABLES_H
#include FT_SFNT_NAMES_H
#include FT_TRUETYPE_IDS_H
#include "ftglue.h"
-#if HAVE_WARNING_CPP_DIRECTIVE
-#if !HAVE_FT_GET_BDF_PROPERTY
-#warning "No FT_Get_BDF_Property: Please install freetype 2.1.4 or later"
-#endif
-
-#if !HAVE_FT_GET_PS_FONT_INFO
-#warning "No FT_Get_PS_Font_Info: Please install freetype 2.1.1 or later"
-#endif
-#endif
-
/*
* Keep Han languages separated by eliminating languages
* that the codePageRange bits says aren't supported
{ TT_PLATFORM_MICROSOFT, TT_MS_LANGID_LATVIAN_LATVIA, "lv" },
{ TT_PLATFORM_MICROSOFT, TT_MS_LANGID_LITHUANIAN_LITHUANIA, "lt" },
{ TT_PLATFORM_MICROSOFT, TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA,"lt" },
-
-#ifdef TT_MS_LANGID_MAORI_NEW_ZELAND
- /* this seems to be an error that have been dropped */
{ TT_PLATFORM_MICROSOFT, TT_MS_LANGID_MAORI_NEW_ZEALAND, "mi" },
-#endif
-
{ TT_PLATFORM_MICROSOFT, TT_MS_LANGID_FARSI_IRAN, "fa" },
{ TT_PLATFORM_MICROSOFT, TT_MS_LANGID_VIETNAMESE_VIET_NAM, "vi" },
{ TT_PLATFORM_MICROSOFT, TT_MS_LANGID_ARMENIAN_ARMENIA, "hy" },
static FcChar8 *
FcFontCapabilities(FT_Face face);
+static int
+FcFreeTypeSpacing (FT_Face face);
+
#define NUM_FC_MAC_ROMAN_FAKE (int) (sizeof (fcMacRomanFake) / sizeof (fcMacRomanFake[0]))
return (double) prop.u.integer;
}
#endif
-#if HAVE_FT_BITMAP_SIZE_Y_PPEM
return (double) face->available_sizes[i].y_ppem / 64.0;
-#else
- return (double) face->available_sizes[i].height;
-#endif
}
static FcBool
TT_PLATFORM_MICROSOFT,
TT_PLATFORM_APPLE_UNICODE,
TT_PLATFORM_MACINTOSH,
+ TT_PLATFORM_ISO,
};
#define NUM_PLATFORM_ORDER (sizeof (platform_order) / sizeof (platform_order[0]))
static const FT_UShort nameid_order[] = {
-#ifdef TT_NAME_ID_WWS_FAMILY
TT_NAME_ID_WWS_FAMILY,
-#endif
TT_NAME_ID_PREFERRED_FAMILY,
TT_NAME_ID_FONT_FAMILY,
TT_NAME_ID_MAC_FULL_NAME,
TT_NAME_ID_FULL_NAME,
-#ifdef TT_NAME_ID_WWS_SUBFAMILY
TT_NAME_ID_WWS_SUBFAMILY,
-#endif
TT_NAME_ID_PREFERRED_SUBFAMILY,
TT_NAME_ID_FONT_SUBFAMILY,
TT_NAME_ID_TRADEMARK,
};
#define NUM_NAMEID_ORDER (sizeof (nameid_order) / sizeof (nameid_order[0]))
-FcPattern *
-FcFreeTypeQueryFace (const FT_Face face,
- const FcChar8 *file,
- int id,
- FcBlanks *blanks)
+
+static FcBool
+FcFreeTypeGetName (const FT_Face face,
+ unsigned int platform,
+ unsigned int nameid,
+ FT_SfntName *sname)
+{
+ int min = 0, max = (int) FT_Get_Sfnt_Name_Count (face) - 1;
+
+ while (min <= max)
+ {
+ int mid = (min + max) / 2;
+
+ if (FT_Get_Sfnt_Name (face, mid, sname) != 0)
+ return FcFalse;
+
+ if (platform < sname->platform_id || (platform == sname->platform_id && nameid < sname->name_id))
+ max = mid - 1;
+ else if (platform > sname->platform_id || (platform == sname->platform_id && nameid > sname->name_id))
+ min = mid + 1;
+ else
+ return FcTrue;
+ }
+
+ return FcFalse;
+}
+
+static FcPattern *
+FcFreeTypeQueryFaceInternal (const FT_Face face,
+ const FcChar8 *file,
+ unsigned int id,
+ FcCharSet **cs_share,
+ FcLangSet **ls_share)
{
FcPattern *pat;
int slant = -1;
- int weight = -1;
- int width = -1;
+ double weight = -1;
+ double width = -1;
FcBool decorative = FcFalse;
- int i;
- FcCharSet *cs;
- FcLangSet *ls;
+ FcBool variable = FcFalse;
+ FcBool variable_weight = FcFalse;
+ FcBool variable_width = FcFalse;
+ FcBool variable_size = FcFalse;
+ FcCharSet *cs;
+ FcLangSet *ls;
#if 0
FcChar8 *family = 0;
#endif
#endif
TT_Header *head;
const FcChar8 *exclusiveLang = 0;
- FT_SfntName sname;
- FT_UInt snamei, snamec;
int nfamily = 0;
int nfamily_lang = 0;
int nfullname = 0;
int nfullname_lang = 0;
unsigned int p, n;
- int platform, nameid;
FcChar8 *style = 0;
int st;
- char psname[256];
- const char *tmp;
-
- FcRange *r = NULL;
FcBool symbol = FcFalse;
int has_outline = !!(face->face_flags & FT_FACE_FLAG_SCALABLE);
int has_color = 0;
-#ifdef FT_FACE_FLAG_COLOR
- has_color = !!(face->face_flags & FT_FACE_FLAG_COLOR);
-#endif
-
if (!FcPatternAddBool (pat, FC_OUTLINE, has_outline))
goto bail1;
-#ifdef FT_FACE_FLAG_COLOR
+ has_color = !!(face->face_flags & FT_FACE_FLAG_COLOR);
if (!FcPatternAddBool (pat, FC_COLOR, has_color))
goto bail1;
-#endif
/* All color fonts are designed to be scaled, even if they only have
* bitmap strikes. Client is responsible to scale the bitmaps. This
if (id >> 16)
{
- if (!FT_Get_MM_Var (face, &master))
- instance = &master->namedstyle[(id >> 16) - 1];
+ if (FT_Get_MM_Var (face, &master))
+ goto bail1;
- if (instance)
+ if (id >> 16 == 0x8000)
{
- /* Pull out weight and width from named-instance. */
+ /* Query variable font itself. */
unsigned int i;
for (i = 0; i < master->num_axis; i++)
{
- double value = instance->coords[i] / (double) (1 << 16);
- double default_value = master->axis[i].def / (double) (1 << 16);
- double mult = value / default_value;
- //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
- switch (master->axis[i].tag)
- {
- case FT_MAKE_TAG ('w','g','h','t'):
- weight_mult = mult;
- break;
+ double min_value = master->axis[i].minimum / (double) (1 << 16);
+ double def_value = master->axis[i].def / (double) (1 << 16);
+ double max_value = master->axis[i].maximum / (double) (1 << 16);
+ const char *elt = NULL;
+
+ if (min_value > def_value || def_value > max_value || min_value == max_value)
+ continue;
+
+ switch (master->axis[i].tag)
+ {
+ case FT_MAKE_TAG ('w','g','h','t'):
+ elt = FC_WEIGHT;
+ min_value = FcWeightFromOpenTypeDouble (min_value);
+ max_value = FcWeightFromOpenTypeDouble (max_value);
+ variable_weight = FcTrue;
+ weight = 0; /* To stop looking for weight. */
+ break;
+
+ case FT_MAKE_TAG ('w','d','t','h'):
+ elt = FC_WIDTH;
+ /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
+ variable_width = FcTrue;
+ width = 0; /* To stop looking for width. */
+ break;
+
+ case FT_MAKE_TAG ('o','p','s','z'):
+ elt = FC_SIZE;
+ /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
+ variable_size = FcTrue;
+ break;
+ }
+
+ if (elt)
+ {
+ FcRange *r = FcRangeCreateDouble (min_value, max_value);
+ if (!FcPatternAddRange (pat, elt, r))
+ {
+ FcRangeDestroy (r);
+ goto bail1;
+ }
+ FcRangeDestroy (r);
+ variable = FcTrue;
+ }
+ }
- case FT_MAKE_TAG ('w','d','t','h'):
- width_mult = mult;
- break;
+ if (!variable)
+ goto bail1;
- /* TODO optical size! */
+ id &= 0xFFFF;
+ }
+ else if ((id >> 16) - 1 < master->num_namedstyles)
+ {
+ /* Pull out weight and width from named-instance. */
+ unsigned int i;
+
+ instance = &master->namedstyle[(id >> 16) - 1];
+
+ for (i = 0; i < master->num_axis; i++)
+ {
+ double value = instance->coords[i] / (double) (1 << 16);
+ double default_value = master->axis[i].def / (double) (1 << 16);
+ double mult = default_value ? value / default_value : 1;
+ //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
+ switch (master->axis[i].tag)
+ {
+ case FT_MAKE_TAG ('w','g','h','t'):
+ weight_mult = mult;
+ break;
+
+ case FT_MAKE_TAG ('w','d','t','h'):
+ width_mult = mult;
+ break;
+
+ case FT_MAKE_TAG ('o','p','s','z'):
+ if (!FcPatternAddDouble (pat, FC_SIZE, value))
+ goto bail1;
+ break;
}
}
}
+ else
+ goto bail1;
}
+ if (!FcPatternAddBool (pat, FC_VARIABLE, variable))
+ goto bail1;
/*
* Get the OS/2 table
*/
- os2 = (TT_OS2 *) FT_Get_Sfnt_Table (face, ft_sfnt_os2);
+ os2 = (TT_OS2 *) FT_Get_Sfnt_Table (face, FT_SFNT_OS2);
/*
* Look first in the OS/2 table for the foundry, if
* and style names. FreeType makes quite a hash
* of them
*/
- snamec = FT_Get_Sfnt_Name_Count (face);
- for (p = 0; p <= NUM_PLATFORM_ORDER; p++)
+ for (p = 0; p < NUM_PLATFORM_ORDER; p++)
{
- if (p < NUM_PLATFORM_ORDER)
- platform = platform_order[p];
- else
- platform = 0xffff;
+ int platform = platform_order[p];
/*
* Order nameids so preferred names appear first
*/
for (n = 0; n < NUM_NAMEID_ORDER; n++)
{
- nameid = nameid_order[n];
+ FT_SfntName sname;
+ const FcChar8 *lang;
+ const char *elt = 0, *eltlang = 0;
+ int *np = 0, *nlangp = 0;
+ size_t len;
+ int nameid, lookupid;
- for (snamei = 0; snamei < snamec; snamei++)
- {
- FcChar8 *utf8, *pp;
- const FcChar8 *lang;
- const char *elt = 0, *eltlang = 0;
- int *np = 0, *nlangp = 0;
- size_t len;
+ nameid = lookupid = nameid_order[n];
- if (FT_Get_Sfnt_Name (face, snamei, &sname) != 0)
+ if (instance)
+ {
+ /* For named-instances, we skip regular style nameIDs,
+ * and treat the instance's nameid as FONT_SUBFAMILY.
+ * Postscript name is automatically handled by FreeType. */
+ if (nameid == TT_NAME_ID_WWS_SUBFAMILY ||
+ nameid == TT_NAME_ID_PREFERRED_SUBFAMILY)
continue;
- if (instance)
- {
- /* For named-instances, we regular style nameIDs,
- * and map the instance's strid to FONT_SUBFAMILY. */
- if (sname.name_id == TT_NAME_ID_WWS_SUBFAMILY ||
- sname.name_id == TT_NAME_ID_PREFERRED_SUBFAMILY ||
- sname.name_id == TT_NAME_ID_FONT_SUBFAMILY)
- continue;
- if (sname.name_id == instance->strid)
- sname.name_id = TT_NAME_ID_FONT_SUBFAMILY;
- }
+ if (nameid == TT_NAME_ID_FONT_SUBFAMILY)
+ lookupid = instance->strid;
+ }
- if (sname.name_id != nameid)
- continue;
+ if (!FcFreeTypeGetName (face, platform, lookupid, &sname))
+ continue;
- /*
- * Sort platforms in preference order, accepting
- * all other platforms last
- */
- if (p < NUM_PLATFORM_ORDER)
+ switch (nameid) {
+ case TT_NAME_ID_WWS_FAMILY:
+ case TT_NAME_ID_PREFERRED_FAMILY:
+ case TT_NAME_ID_FONT_FAMILY:
+#if 0
+ case TT_NAME_ID_UNIQUE_ID:
+#endif
+ if (FcDebug () & FC_DBG_SCANV)
+ printf ("found family (n %2d p %d e %d l 0x%04x)",
+ sname.name_id, sname.platform_id,
+ sname.encoding_id, sname.language_id);
+
+ elt = FC_FAMILY;
+ eltlang = FC_FAMILYLANG;
+ np = &nfamily;
+ nlangp = &nfamily_lang;
+ break;
+ case TT_NAME_ID_MAC_FULL_NAME:
+ case TT_NAME_ID_FULL_NAME:
+ if (FcDebug () & FC_DBG_SCANV)
+ printf ("found full (n %2d p %d e %d l 0x%04x)",
+ sname.name_id, sname.platform_id,
+ sname.encoding_id, sname.language_id);
+
+ elt = FC_FULLNAME;
+ eltlang = FC_FULLNAMELANG;
+ np = &nfullname;
+ nlangp = &nfullname_lang;
+ break;
+ case TT_NAME_ID_WWS_SUBFAMILY:
+ case TT_NAME_ID_PREFERRED_SUBFAMILY:
+ case TT_NAME_ID_FONT_SUBFAMILY:
+ if (variable)
+ break;
+ if (FcDebug () & FC_DBG_SCANV)
+ printf ("found style (n %2d p %d e %d l 0x%04x) ",
+ sname.name_id, sname.platform_id,
+ sname.encoding_id, sname.language_id);
+
+ elt = FC_STYLE;
+ eltlang = FC_STYLELANG;
+ np = &nstyle;
+ nlangp = &nstyle_lang;
+ break;
+ case TT_NAME_ID_TRADEMARK:
+ case TT_NAME_ID_MANUFACTURER:
+ /* If the foundry wasn't found in the OS/2 table, look here */
+ if(!foundry)
{
- if (sname.platform_id != platform)
- continue;
+ FcChar8 *utf8;
+ utf8 = FcSfntNameTranscode (&sname);
+ foundry = FcNoticeFoundry((FT_String *) utf8);
+ free (utf8);
}
- else
- {
- unsigned int sp;
+ break;
+ }
+ if (elt)
+ {
+ FcChar8 *utf8, *pp;
- for (sp = 0; sp < NUM_PLATFORM_ORDER; sp++)
- if (sname.platform_id == platform_order[sp])
- break;
- if (sp != NUM_PLATFORM_ORDER)
- continue;
- }
utf8 = FcSfntNameTranscode (&sname);
lang = FcSfntNameLanguage (&sname);
+ if (FcDebug () & FC_DBG_SCANV)
+ printf ("%s\n", utf8);
+
if (!utf8)
continue;
- switch (sname.name_id) {
-#ifdef TT_NAME_ID_WWS_FAMILY
- case TT_NAME_ID_WWS_FAMILY:
-#endif
- case TT_NAME_ID_PREFERRED_FAMILY:
- case TT_NAME_ID_FONT_FAMILY:
-#if 0
- case TT_NAME_ID_UNIQUE_ID:
-#endif
- if (FcDebug () & FC_DBG_SCANV)
- printf ("found family (n %2d p %d e %d l 0x%04x) %s\n",
- sname.name_id, sname.platform_id,
- sname.encoding_id, sname.language_id,
- utf8);
-
- elt = FC_FAMILY;
- eltlang = FC_FAMILYLANG;
- np = &nfamily;
- nlangp = &nfamily_lang;
- break;
- case TT_NAME_ID_MAC_FULL_NAME:
- case TT_NAME_ID_FULL_NAME:
- if (FcDebug () & FC_DBG_SCANV)
- printf ("found full (n %2d p %d e %d l 0x%04x) %s\n",
- sname.name_id, sname.platform_id,
- sname.encoding_id, sname.language_id,
- utf8);
-
- elt = FC_FULLNAME;
- eltlang = FC_FULLNAMELANG;
- np = &nfullname;
- nlangp = &nfullname_lang;
- break;
-#ifdef TT_NAME_ID_WWS_SUBFAMILY
- case TT_NAME_ID_WWS_SUBFAMILY:
-#endif
- case TT_NAME_ID_PREFERRED_SUBFAMILY:
- case TT_NAME_ID_FONT_SUBFAMILY:
- if (utf8)
- {
- pp = utf8;
- while (*pp == ' ')
- pp++;
- len = strlen ((const char *) pp);
- memmove (utf8, pp, len + 1);
- pp = utf8 + len - 1;
- while (*pp == ' ')
- pp--;
- *(pp + 1) = 0;
- }
- if (FcDebug () & FC_DBG_SCANV)
- printf ("found style (n %2d p %d e %d l 0x%04x) %s\n",
- sname.name_id, sname.platform_id,
- sname.encoding_id, sname.language_id,
- utf8);
-
- elt = FC_STYLE;
- eltlang = FC_STYLELANG;
- np = &nstyle;
- nlangp = &nstyle_lang;
- break;
- case TT_NAME_ID_TRADEMARK:
- case TT_NAME_ID_MANUFACTURER:
- /* If the foundry wasn't found in the OS/2 table, look here */
- if(!foundry)
- foundry = FcNoticeFoundry((FT_String *) utf8);
- break;
- }
- if (elt)
+ /* Trim surrounding whitespace. */
+ pp = utf8;
+ while (*pp == ' ')
+ pp++;
+ len = strlen ((const char *) pp);
+ memmove (utf8, pp, len + 1);
+ pp = utf8 + len;
+ while (pp > utf8 && *(pp - 1) == ' ')
+ pp--;
+ *pp = 0;
+
+ if (FcStringInPatternElement (pat, elt, utf8))
{
- if (FcStringInPatternElement (pat, elt, utf8))
- {
- free (utf8);
- continue;
- }
+ free (utf8);
+ continue;
+ }
- /* add new element */
- if (!FcPatternAddString (pat, elt, utf8))
- {
- free (utf8);
- goto bail1;
- }
+ /* add new element */
+ if (!FcPatternAddString (pat, elt, utf8))
+ {
free (utf8);
- if (lang)
+ goto bail1;
+ }
+ free (utf8);
+ if (lang)
+ {
+ /* pad lang list with 'und' to line up with elt */
+ while (*nlangp < *np)
{
- /* pad lang list with 'und' to line up with elt */
- while (*nlangp < *np)
- {
- if (!FcPatternAddString (pat, eltlang, (FcChar8 *) "und"))
- goto bail1;
- ++*nlangp;
- }
- if (!FcPatternAddString (pat, eltlang, lang))
+ if (!FcPatternAddString (pat, eltlang, (FcChar8 *) "und"))
goto bail1;
++*nlangp;
}
- ++*np;
+ if (!FcPatternAddString (pat, eltlang, lang))
+ goto bail1;
+ ++*nlangp;
}
- else
- free (utf8);
+ ++*np;
}
}
}
++nfamily;
}
- if (!nstyle && face->style_name &&
+ if (!variable && !nstyle && face->style_name &&
FcStrCmpIgnoreBlanksAndCase ((FcChar8 *) face->style_name, (FcChar8 *) "") != 0)
{
if (FcDebug () & FC_DBG_SCANV)
printf ("using FreeType style \"%s\"\n", face->style_name);
+
if (!FcPatternAddString (pat, FC_STYLE, (FcChar8 *) face->style_name))
goto bail1;
if (!FcPatternAddString (pat, FC_STYLELANG, (FcChar8 *) "en"))
}
/* Add the PostScript name into the cache */
- tmp = FT_Get_Postscript_Name (face);
- if (!tmp)
+ if (!variable)
{
- FcChar8 *family, *familylang = NULL;
- size_t len;
- int n = 0;
-
- /* Workaround when FT_Get_Postscript_Name didn't give any name.
- * try to find out the English family name and convert.
- */
- while (FcPatternObjectGetString (pat, FC_FAMILYLANG_OBJECT, n, &familylang) == FcResultMatch)
+ char psname[256];
+ const char *tmp;
+ tmp = FT_Get_Postscript_Name (face);
+ if (!tmp)
{
- if (FcStrCmp (familylang, (const FcChar8 *)"en") == 0)
- break;
- n++;
- familylang = NULL;
- }
- if (!familylang)
- n = 0;
+ unsigned int i;
+ FcChar8 *family, *familylang = NULL;
+ size_t len;
+ int n = 0;
- if (FcPatternObjectGetString (pat, FC_FAMILY_OBJECT, n, &family) != FcResultMatch)
- goto bail1;
- len = strlen ((const char *)family);
- /* the literal name in PostScript Language is limited to 127 characters though,
- * It is the architectural limit. so assuming 255 characters may works enough.
- */
- for (i = 0; i < len && i < 255; i++)
- {
- /* those characters are not allowed to be the literal name in PostScript */
- static const char exclusive_chars[] = "\x04()/<>[]{}\t\f\r\n ";
+ /* Workaround when FT_Get_Postscript_Name didn't give any name.
+ * try to find out the English family name and convert.
+ */
+ while (FcPatternObjectGetString (pat, FC_FAMILYLANG_OBJECT, n, &familylang) == FcResultMatch)
+ {
+ if (FcStrCmp (familylang, (const FcChar8 *)"en") == 0)
+ break;
+ n++;
+ familylang = NULL;
+ }
+ if (!familylang)
+ n = 0;
+
+ if (FcPatternObjectGetString (pat, FC_FAMILY_OBJECT, n, &family) != FcResultMatch)
+ goto bail1;
+ len = strlen ((const char *)family);
+ /* the literal name in PostScript Language is limited to 127 characters though,
+ * It is the architectural limit. so assuming 255 characters may works enough.
+ */
+ for (i = 0; i < len && i < 255; i++)
+ {
+ /* those characters are not allowed to be the literal name in PostScript */
+ static const char exclusive_chars[] = "\x04()/<>[]{}\t\f\r\n ";
- if (strchr(exclusive_chars, family[i]) != NULL)
- psname[i] = '-';
- else
- psname[i] = family[i];
+ if (strchr(exclusive_chars, family[i]) != NULL)
+ psname[i] = '-';
+ else
+ psname[i] = family[i];
+ }
+ psname[i] = 0;
}
- psname[i] = 0;
- }
- else
- {
- strncpy (psname, tmp, 255);
- psname[255] = 0;
+ else
+ {
+ strncpy (psname, tmp, 255);
+ psname[255] = 0;
+ }
+ if (!FcPatternAddString (pat, FC_POSTSCRIPT_NAME, (const FcChar8 *)psname))
+ goto bail1;
}
- if (!FcPatternAddString (pat, FC_POSTSCRIPT_NAME, (const FcChar8 *)psname))
- goto bail1;
if (file && *file && !FcPatternAddString (pat, FC_FILE, file))
goto bail1;
if (os2 && os2->version >= 0x0001 && os2->version != 0xffff)
{
+ unsigned int i;
for (i = 0; i < NUM_CODE_PAGE_RANGE; i++)
{
FT_ULong bits;
bits = os2->ulCodePageRange2;
bit = FcCodePageRange[i].bit - 32;
}
- if (bits & (1 << bit))
+ if (bits & (1U << bit))
{
/*
* If the font advertises support for multiple
if (os2 && os2->version != 0xffff)
{
weight = os2->usWeightClass;
- if (weight < 10 && weight_mult != 1.0)
- {
- /* Work around bad values by cleaning them up before
- * multiplying by weight_mult. */
- weight = FcWeightToOpenType (FcWeightFromOpenType (weight));
- }
- weight = FcWeightFromOpenType ((int) (weight * weight_mult + .5));
+ weight = FcWeightFromOpenTypeDouble (weight * weight_mult);
if ((FcDebug() & FC_DBG_SCANV) && weight != -1)
- printf ("\tos2 weight class %d multiplier %g maps to weight %d\n",
+ printf ("\tos2 weight class %d multiplier %g maps to weight %g\n",
os2->usWeightClass, weight_mult, weight);
- /* TODO:
- * Add FcWidthFromOpenType and FcWidthToOpenType,
- * and apply width_mult post-conversion? */
- switch ((int) (os2->usWidthClass * width_mult + .5)) {
+ switch (os2->usWidthClass) {
case 1: width = FC_WIDTH_ULTRACONDENSED; break;
case 2: width = FC_WIDTH_EXTRACONDENSED; break;
case 3: width = FC_WIDTH_CONDENSED; break;
case 8: width = FC_WIDTH_EXTRAEXPANDED; break;
case 9: width = FC_WIDTH_ULTRAEXPANDED; break;
}
+ width *= width_mult;
if ((FcDebug() & FC_DBG_SCANV) && width != -1)
- printf ("\tos2 width class %d multiplier %g maps to width %d\n",
+ printf ("\tos2 width class %d multiplier %g maps to width %g\n",
os2->usWidthClass, width_mult, width);
}
if (os2 && (complex_ = FcFontCapabilities(face)))
free (complex_);
}
-#if defined (HAVE_TT_OS2_USUPPEROPTICALPOINTSIZE) && defined (HAVE_TT_OS2_USLOWEROPTICALPOINTSIZE)
- if (os2 && os2->version >= 0x0005 && os2->version != 0xffff)
+ if (!variable_size && os2 && os2->version >= 0x0005 && os2->version != 0xffff)
{
double lower_size, upper_size;
+ FcRange *r;
/* usLowerPointSize and usUpperPointSize is actually twips */
lower_size = os2->usLowerOpticalPointSize / 20.0L;
upper_size = os2->usUpperOpticalPointSize / 20.0L;
- r = FcRangeCreateDouble (lower_size, upper_size);
- if (!FcPatternAddRange (pat, FC_SIZE, r))
+ if (lower_size == upper_size)
{
+ if (!FcPatternAddDouble (pat, FC_SIZE, lower_size))
+ goto bail1;
+ }
+ else
+ {
+ r = FcRangeCreateDouble (lower_size, upper_size);
+ if (!FcPatternAddRange (pat, FC_SIZE, r))
+ {
+ FcRangeDestroy (r);
+ goto bail1;
+ }
FcRangeDestroy (r);
- goto bail1;
}
- FcRangeDestroy (r);
}
-#endif
/*
* Type 1: Check for FontInfo dictionary information
{
weight = FcIsWeight ((FcChar8 *) psfontinfo.weight);
if (FcDebug() & FC_DBG_SCANV)
- printf ("\tType1 weight %s maps to %d\n",
+ printf ("\tType1 weight %s maps to %g\n",
psfontinfo.weight, weight);
}
{
width = FcIsWidth ((FcChar8 *) prop.u.atom);
if (FcDebug () & FC_DBG_SCANV)
- printf ("\tsetwidth %s maps to %d\n", prop.u.atom, width);
+ printf ("\tsetwidth %s maps to %g\n", prop.u.atom, width);
}
}
#endif
{
weight = FcContainsWeight (style);
if (FcDebug() & FC_DBG_SCANV)
- printf ("\tStyle %s maps to weight %d\n", style, weight);
+ printf ("\tStyle %s maps to weight %g\n", style, weight);
}
if (width == -1)
{
width = FcContainsWidth (style);
if (FcDebug() & FC_DBG_SCANV)
- printf ("\tStyle %s maps to width %d\n", style, width);
+ printf ("\tStyle %s maps to width %g\n", style, width);
}
if (slant == -1)
{
if (!FcPatternAddInteger (pat, FC_SLANT, slant))
goto bail1;
- if (!FcPatternAddInteger (pat, FC_WEIGHT, weight))
+ if (!variable_weight && !FcPatternAddDouble (pat, FC_WEIGHT, weight))
goto bail1;
- if (!FcPatternAddInteger (pat, FC_WIDTH, width))
+ if (!variable_width && !FcPatternAddDouble (pat, FC_WIDTH, width))
goto bail1;
if (!FcPatternAddString (pat, FC_FOUNDRY, foundry))
/*
* Compute the unicode coverage for the font
*/
- cs = FcFreeTypeCharSetAndSpacing (face, blanks, &spacing);
+ if (cs_share && *cs_share)
+ cs = FcCharSetCopy (*cs_share);
+ else
+ {
+ cs = FcFreeTypeCharSet (face, NULL);
+ if (cs_share)
+ *cs_share = FcCharSetCopy (cs);
+ }
if (!cs)
goto bail1;
- /* The FcFreeTypeCharSetAndSpacing() chose the encoding; test it for symbol. */
+ /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
symbol = face->charmap && face->charmap->encoding == FT_ENCODING_MS_SYMBOL;
if (!FcPatternAddBool (pat, FC_SYMBOL, symbol))
goto bail1;
+ spacing = FcFreeTypeSpacing (face);
#if HAVE_FT_GET_BDF_PROPERTY
/* For PCF fonts, override the computed spacing with the one from
the property */
if (!symbol)
{
- ls = FcFreeTypeLangSet (cs, exclusiveLang);
+ if (ls_share && *ls_share)
+ ls = FcLangSetCopy (*ls_share);
+ else
+ {
+ ls = FcFreeTypeLangSet (cs, exclusiveLang);
+ if (ls_share)
+ *ls_share = FcLangSetCopy (ls);
+ }
if (!ls)
goto bail2;
}
if (!(face->face_flags & FT_FACE_FLAG_SCALABLE))
{
+ int i;
for (i = 0; i < face->num_fixed_sizes; i++)
if (!FcPatternAddDouble (pat, FC_PIXEL_SIZE,
FcGetPixelSize (face, i)))
}
FcPattern *
+FcFreeTypeQueryFace (const FT_Face face,
+ const FcChar8 *file,
+ unsigned int id,
+ FcBlanks *blanks FC_UNUSED)
+{
+ return FcFreeTypeQueryFaceInternal (face, file, id, NULL, NULL);
+}
+
+FcPattern *
FcFreeTypeQuery(const FcChar8 *file,
- int id,
- FcBlanks *blanks,
+ unsigned int id,
+ FcBlanks *blanks FC_UNUSED,
int *count)
{
FT_Face face;
if (FT_Init_FreeType (&ftLibrary))
return NULL;
- if (FT_New_Face (ftLibrary, (char *) file, id, &face))
+ if (FT_New_Face (ftLibrary, (char *) file, id & 0x7FFFFFFFF, &face))
goto bail;
- *count = face->num_faces;
+ if (count)
+ *count = face->num_faces;
- pat = FcFreeTypeQueryFace (face, file, id, blanks);
+ pat = FcFreeTypeQueryFaceInternal (face, file, id, NULL, NULL);
FT_Done_Face (face);
bail:
return pat;
}
-/*
- * For our purposes, this approximation is sufficient
- */
-#if !HAVE_FT_GET_NEXT_CHAR
-#define FT_Get_Next_Char(face, ucs4, gi) ((ucs4) >= 0xffffff ? \
- (*(gi) = 0), 0 : \
- (*(gi) = 1), (ucs4) + 1)
-#warning "No FT_Get_Next_Char: Please install freetype version 2.1.0 or newer"
-#endif
-
-static const FT_Encoding fcFontEncodings[] = {
- FT_ENCODING_UNICODE,
- FT_ENCODING_MS_SYMBOL
-};
-
-#define NUM_DECODE (int) (sizeof (fcFontEncodings) / sizeof (fcFontEncodings[0]))
+unsigned int
+FcFreeTypeQueryAll(const FcChar8 *file,
+ unsigned int id,
+ FcBlanks *blanks,
+ int *count,
+ FcFontSet *set)
+{
+ FT_Face face = NULL;
+ FT_Library ftLibrary = NULL;
+ FcCharSet *cs = NULL;
+ FcLangSet *ls = NULL;
+ FT_MM_Var *mm_var = NULL;
+ FcBool index_set = id != (unsigned int) -1;
+ unsigned int set_face_num = index_set ? id & 0xFFFF : 0;
+ unsigned int set_instance_num = index_set ? id >> 16 : 0;
+ unsigned int face_num = set_face_num;
+ unsigned int instance_num = set_instance_num;
+ unsigned int num_faces = 0;
+ unsigned int num_instances = 0;
+ unsigned int ret = 0;
+ int err = 0;
+
+ if (count)
+ *count = 0;
-#include "../fc-glyphname/fcglyphname.h"
+ if (FT_Init_FreeType (&ftLibrary))
+ return 0;
-static FcChar32
-FcHashGlyphName (const FcChar8 *name)
-{
- FcChar32 h = 0;
- FcChar8 c;
+ if (FT_New_Face (ftLibrary, (const char *) file, face_num, &face))
+ goto bail;
- while ((c = *name++))
+ num_faces = face->num_faces;
+ num_instances = face->style_flags >> 16;
+ if (num_instances && (!index_set || instance_num))
{
- h = ((h << 1) | (h >> 31)) ^ c;
+ FT_Get_MM_Var (face, &mm_var);
+ if (!mm_var)
+ num_instances = 0;
}
- return h;
-}
-#if HAVE_FT_HAS_PS_GLYPH_NAMES
-/*
- * Use Type1 glyph names for fonts which have reliable names
- * and which export an Adobe Custom mapping
- */
-static FcBool
-FcFreeTypeUseNames (FT_Face face)
-{
- FT_Int map;
+ if (count)
+ *count = num_faces;
- if (!FT_Has_PS_Glyph_Names (face))
- return FcFalse;
- for (map = 0; map < face->num_charmaps; map++)
- if (face->charmaps[map]->encoding == ft_encoding_adobe_custom)
- return FcTrue;
- return FcFalse;
-}
+ do {
+ FcPattern *pat = NULL;
-static const FcChar8 *
-FcUcs4ToGlyphName (FcChar32 ucs4)
-{
- int i = (int) (ucs4 % FC_GLYPHNAME_HASH);
- int r = 0;
- FcGlyphId gn;
-
- while ((gn = _fc_ucs_to_name[i]) != -1)
- {
- if (_fc_glyph_names[gn].ucs == ucs4)
- return _fc_glyph_names[gn].name;
- if (!r)
+ if (instance_num == 0x8000 || instance_num > num_instances)
+ FT_Set_Var_Design_Coordinates (face, 0, NULL); /* Reset variations. */
+ else if (instance_num)
{
- r = (int) (ucs4 % FC_GLYPHNAME_REHASH);
- if (!r)
- r = 1;
+ FT_Var_Named_Style *instance = &mm_var->namedstyle[instance_num - 1];
+ FT_Fixed *coords = instance->coords;
+ FcBool nonzero;
+ unsigned int i;
+
+ /* Skip named-instance that coincides with base instance. */
+ nonzero = FcFalse;
+ for (i = 0; i < mm_var->num_axis; i++)
+ if (coords[i] != mm_var->axis[i].def)
+ {
+ nonzero = FcTrue;
+ break;
+ }
+ if (!nonzero)
+ goto skip;
+
+ FT_Set_Var_Design_Coordinates (face, mm_var->num_axis, coords);
}
- i += r;
- if (i >= FC_GLYPHNAME_HASH)
- i -= FC_GLYPHNAME_HASH;
- }
- return 0;
-}
-static FcChar32
-FcGlyphNameToUcs4 (FcChar8 *name)
-{
- FcChar32 h = FcHashGlyphName (name);
- int i = (int) (h % FC_GLYPHNAME_HASH);
- int r = 0;
- FcGlyphId gn;
+ id = ((instance_num << 16) + face_num);
+ pat = FcFreeTypeQueryFaceInternal (face, (const FcChar8 *) file, id, &cs, &ls);
- while ((gn = _fc_name_to_ucs[i]) != -1)
- {
- if (!strcmp ((char *) name, (char *) _fc_glyph_names[gn].name))
- return _fc_glyph_names[gn].ucs;
- if (!r)
+ if (pat)
{
- r = (int) (h % FC_GLYPHNAME_REHASH);
- if (!r)
- r = 1;
- }
- i += r;
- if (i >= FC_GLYPHNAME_HASH)
- i -= FC_GLYPHNAME_HASH;
- }
- return 0xffff;
-}
-/*
- * Work around a bug in some FreeType versions which fail
- * to correctly bounds check glyph name buffers and overwrite
- * the stack. As Postscript names have a limit of 127 characters,
- * this should be sufficient.
- */
+ ret++;
+ if (!set || ! FcFontSetAdd (set, pat))
+ FcPatternDestroy (pat);
+ }
+ else if (instance_num != 0x8000)
+ err = 1;
+
+skip:
+ if (!index_set && instance_num < num_instances)
+ instance_num++;
+ else if (!index_set && instance_num == num_instances)
+ instance_num = 0x8000; /* variable font */
+ else
+ {
+ FcLangSetDestroy (ls);
+ ls = NULL;
+ FcCharSetDestroy (cs);
+ cs = NULL;
+ FT_Done_Face (face);
+ face = NULL;
+
+ face_num++;
+ instance_num = set_instance_num;
+
+ if (FT_New_Face (ftLibrary, (const char *) file, face_num, &face))
+ break;
+ }
+ } while (!err && (!index_set || face_num == set_face_num) && face_num < num_faces);
-#if FC_GLYPHNAME_MAXLEN < 127
-# define FC_GLYPHNAME_BUFLEN 127
+bail:
+#ifdef HAVE_FT_DONE_MM_VAR
+ FT_Done_MM_Var (ftLibrary, mm_var);
#else
-# define FC_GLYPHNAME_BUFLEN FC_GLYPHNAME_MAXLEN
+ free (mm_var);
#endif
+ FcLangSetDestroy (ls);
+ FcCharSetDestroy (cs);
+ if (face)
+ FT_Done_Face (face);
+ FT_Done_FreeType (ftLibrary);
-/*
- * Search through a font for a glyph by name. This is
- * currently a linear search as there doesn't appear to be
- * any defined order within the font
- */
-static FT_UInt
-FcFreeTypeGlyphNameIndex (FT_Face face, const FcChar8 *name)
-{
- FT_UInt gindex;
- FcChar8 name_buf[FC_GLYPHNAME_BUFLEN + 2];
-
- for (gindex = 0; gindex < (FT_UInt) face->num_glyphs; gindex++)
- {
- if (FT_Get_Glyph_Name (face, gindex, name_buf, FC_GLYPHNAME_BUFLEN+1) == 0)
- if (!strcmp ((char *) name, (char *) name_buf))
- return gindex;
- }
- return 0;
+ return ret;
}
-#endif
+
+
+static const FT_Encoding fcFontEncodings[] = {
+ FT_ENCODING_UNICODE,
+ FT_ENCODING_MS_SYMBOL
+};
+
+#define NUM_DECODE (int) (sizeof (fcFontEncodings) / sizeof (fcFontEncodings[0]))
/*
* Map a UCS4 glyph to a glyph index. Use all available encoding
return glyphindex;
}
}
-#if HAVE_FT_HAS_PS_GLYPH_NAMES
- /*
- * Check postscript name table if present
- */
- if (FcFreeTypeUseNames (face))
- {
- const FcChar8 *name = FcUcs4ToGlyphName (ucs4);
- if (name)
- {
- glyphindex = FcFreeTypeGlyphNameIndex (face, name);
- if (glyphindex)
- return glyphindex;
- }
- }
-#endif
return 0;
}
-static FcBool
-FcFreeTypeCheckGlyph (FT_Face face, FcChar32 ucs4,
- FT_UInt glyph, FcBlanks *blanks,
- FT_Pos *advance,
- FcBool using_strike)
+static inline int fc_min (int a, int b) { return a <= b ? a : b; }
+static inline int fc_max (int a, int b) { return a >= b ? a : b; }
+static inline FcBool fc_approximately_equal (int x, int y)
+{ return abs (x - y) * 33 <= fc_max (abs (x), abs (y)); }
+
+static int
+FcFreeTypeSpacing (FT_Face face)
{
FT_Int load_flags = FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH | FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
- FT_GlyphSlot slot;
-
- if (using_strike)
- load_flags &= ~FT_LOAD_NO_SCALE;
+ FT_Pos advances[3] = {0};
+ unsigned int num_advances = 0;
+ int o;
- /*
- * When using scalable fonts, only report those glyphs
+ /* When using scalable fonts, only report those glyphs
* which can be scaled; otherwise those fonts will
* only be available at some sizes, and never when
* transformed. Avoid this by simply reporting bitmap-only
if (face->face_flags & FT_FACE_FLAG_SCALABLE)
load_flags |= FT_LOAD_NO_BITMAP;
- if (FT_Load_Glyph (face, glyph, load_flags))
- return FcFalse;
+ if (!(face->face_flags & FT_FACE_FLAG_SCALABLE) &&
+ face->num_fixed_sizes > 0 &&
+ FT_Get_Sfnt_Table (face, ft_sfnt_head))
+ {
+ FT_Int strike_index = 0, i;
+ /* Select the face closest to 16 pixels tall */
+ for (i = 1; i < face->num_fixed_sizes; i++)
+ {
+ if (abs (face->available_sizes[i].height - 16) <
+ abs (face->available_sizes[strike_index].height - 16))
+ strike_index = i;
+ }
- slot = face->glyph;
- if (!glyph)
- return FcFalse;
+ FT_Select_Size (face, strike_index);
+ }
- *advance = slot->metrics.horiAdvance;
+ for (o = 0; o < NUM_DECODE; o++)
+ {
+ FcChar32 ucs4;
+ FT_UInt glyph;
- switch ((int) slot->format) {
- case ft_glyph_format_bitmap:
- /*
- * Bitmaps are assumed to be reasonable; if
- * this proves to be a rash assumption, this
- * code can be easily modified
- */
- return FcTrue;
- case ft_glyph_format_outline:
- /*
- * Glyphs with contours are always OK
- */
- if (slot->outline.n_contours != 0)
- return FcTrue;
- /*
- * Glyphs with no contours are only OK if
- * they're members of the Blanks set specified
- * in the configuration. If blanks isn't set,
- * then allow any glyph to be blank
- */
- if (!blanks || FcBlanksIsMember (blanks, ucs4))
- return FcTrue;
- /* fall through ... */
- default:
+ if (FT_Select_Charmap (face, fcFontEncodings[o]) != 0)
+ continue;
+
+ ucs4 = FT_Get_First_Char (face, &glyph);
+ while (glyph != 0 && num_advances < 3)
+ {
+ FT_Pos advance = 0;
+ if (!FT_Get_Advance (face, glyph, load_flags, &advance) && advance)
+ {
+ unsigned int j;
+ for (j = 0; j < num_advances; j++)
+ if (fc_approximately_equal (advance, advances[j]))
+ break;
+ if (j == num_advances)
+ advances[num_advances++] = advance;
+ }
+
+ ucs4 = FT_Get_Next_Char (face, ucs4, &glyph);
+ }
break;
}
- return FcFalse;
-}
-#define APPROXIMATELY_EQUAL(x,y) (FC_ABS ((x) - (y)) <= FC_MAX (FC_ABS (x), FC_ABS (y)) / 33)
+ if (num_advances <= 1)
+ return FC_MONO;
+ else if (num_advances == 2 &&
+ fc_approximately_equal (fc_min (advances[0], advances[1]) * 2,
+ fc_max (advances[0], advances[1])))
+ return FC_DUAL;
+ else
+ return FC_PROPORTIONAL;
+}
-static FcCharSet *
-FcFreeTypeCharSetAndSpacingForSize (FT_Face face, FcBlanks *blanks, int *spacing, FT_Int strike_index)
+FcCharSet *
+FcFreeTypeCharSet (FT_Face face, FcBlanks *blanks FC_UNUSED)
{
- FcChar32 page, off, ucs4;
-#ifdef CHECK
- FcChar32 font_max = 0;
-#endif
+ const FT_Int load_flags = FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH | FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
FcCharSet *fcs;
- FcCharLeaf *leaf;
int o;
- FT_UInt glyph;
- FT_Pos advance, advance_one = 0, advance_two = 0;
- FcBool has_advance = FcFalse, fixed_advance = FcTrue, dual_advance = FcFalse;
- FcBool using_strike = FcFalse;
fcs = FcCharSetCreate ();
if (!fcs)
- goto bail0;
-
-#if HAVE_FT_SELECT_SIZE
- if (strike_index >= 0) {
- if (FT_Select_Size (face, strike_index) != FT_Err_Ok)
- goto bail1;
- using_strike = FcTrue;
- }
-#endif
+ goto bail;
#ifdef CHECK
printf ("Family %s style %s\n", face->family_name, face->style_name);
#endif
for (o = 0; o < NUM_DECODE; o++)
{
+ FcChar32 page, off, ucs4;
+ FcCharLeaf *leaf;
+ FT_UInt glyph;
+
if (FT_Select_Charmap (face, fcFontEncodings[o]) != 0)
continue;
+ page = ~0;
+ leaf = NULL;
+ ucs4 = FT_Get_First_Char (face, &glyph);
+ while (glyph != 0)
{
- page = ~0;
- leaf = NULL;
- ucs4 = FT_Get_First_Char (face, &glyph);
- while (glyph != 0)
- {
- if (FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance, using_strike))
- {
- if (advance)
- {
- if (!has_advance)
- {
- has_advance = FcTrue;
- advance_one = advance;
- }
- else if (!APPROXIMATELY_EQUAL (advance, advance_one))
- {
- if (fixed_advance)
- {
- dual_advance = FcTrue;
- fixed_advance = FcFalse;
- advance_two = advance;
- }
- else if (!APPROXIMATELY_EQUAL (advance, advance_two))
- dual_advance = FcFalse;
- }
- }
+ FcBool good = FcTrue;
- if ((ucs4 >> 8) != page)
- {
- page = (ucs4 >> 8);
- leaf = FcCharSetFindLeafCreate (fcs, ucs4);
- if (!leaf)
- goto bail1;
- }
- off = ucs4 & 0xff;
- leaf->map[off >> 5] |= (1 << (off & 0x1f));
-#ifdef CHECK
- if (ucs4 > font_max)
- font_max = ucs4;
-#endif
- }
- ucs4 = FT_Get_Next_Char (face, ucs4, &glyph);
- }
- if (fcFontEncodings[o] == FT_ENCODING_MS_SYMBOL)
+ /* CID fonts built by Adobe used to make ASCII control chars to cid1
+ * (space glyph). As such, always check contour for those characters. */
+ if (ucs4 <= 0x001F)
{
- /* For symbol-encoded OpenType fonts, we duplicate the
- * U+F000..F0FF range at U+0000..U+00FF. That's what
- * Windows seems to do, and that's hinted about at:
- * http://www.microsoft.com/typography/otspec/recom.htm
- * under "Non-Standard (Symbol) Fonts".
- *
- * See thread with subject "Webdings and other MS symbol
- * fonts don't display" on mailing list from May 2015.
- */
- for (ucs4 = 0xF000; ucs4 < 0xF100; ucs4++)
- {
- if (FcCharSetHasChar (fcs, ucs4))
- FcCharSetAddChar (fcs, ucs4 - 0xF000);
- }
+ if (FT_Load_Glyph (face, glyph, load_flags) ||
+ (face->glyph->format == FT_GLYPH_FORMAT_OUTLINE &&
+ face->glyph->outline.n_contours == 0))
+ good = FcFalse;
}
-#ifdef CHECK
- for (ucs4 = 0; ucs4 < 0x10000; ucs4++)
- {
- FcBool FT_Has, FC_Has;
- FT_Has = FT_Get_Char_Index (face, ucs4) != 0;
- FC_Has = FcCharSetHasChar (fcs, ucs4);
- if (FT_Has != FC_Has)
+ if (good)
+ {
+ FcCharSetAddChar (fcs, ucs4);
+ if ((ucs4 >> 8) != page)
{
- printf ("0x%08x FT says %d FC says %d\n", ucs4, FT_Has, FC_Has);
+ page = (ucs4 >> 8);
+ leaf = FcCharSetFindLeafCreate (fcs, ucs4);
+ if (!leaf)
+ goto bail;
}
+ off = ucs4 & 0xff;
+ leaf->map[off >> 5] |= (1U << (off & 0x1f));
}
-#endif
- }
-
- break;
- }
-#if HAVE_FT_HAS_PS_GLYPH_NAMES
- /*
- * Add mapping from PS glyph names if available
- */
- if (FcFreeTypeUseNames (face))
- {
- FcChar8 name_buf[FC_GLYPHNAME_BUFLEN + 2];
- for (glyph = 0; glyph < (FT_UInt) face->num_glyphs; glyph++)
+ ucs4 = FT_Get_Next_Char (face, ucs4, &glyph);
+ }
+ if (fcFontEncodings[o] == FT_ENCODING_MS_SYMBOL)
{
- if (FT_Get_Glyph_Name (face, glyph, name_buf, FC_GLYPHNAME_BUFLEN+1) == 0)
+ /* For symbol-encoded OpenType fonts, we duplicate the
+ * U+F000..F0FF range at U+0000..U+00FF. That's what
+ * Windows seems to do, and that's hinted about at:
+ * http://www.microsoft.com/typography/otspec/recom.htm
+ * under "Non-Standard (Symbol) Fonts".
+ *
+ * See thread with subject "Webdings and other MS symbol
+ * fonts don't display" on mailing list from May 2015.
+ */
+ for (ucs4 = 0xF000; ucs4 < 0xF100; ucs4++)
{
- ucs4 = FcGlyphNameToUcs4 (name_buf);
- if (ucs4 != 0xffff &&
- FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance, using_strike))
- {
- if (advance)
- {
- if (!has_advance)
- {
- has_advance = FcTrue;
- advance_one = advance;
- }
- else if (!APPROXIMATELY_EQUAL (advance, advance_one))
- {
- if (fixed_advance)
- {
- dual_advance = FcTrue;
- fixed_advance = FcFalse;
- advance_two = advance;
- }
- else if (!APPROXIMATELY_EQUAL (advance, advance_two))
- dual_advance = FcFalse;
- }
- }
- leaf = FcCharSetFindLeafCreate (fcs, ucs4);
- if (!leaf)
- goto bail1;
- leaf->map[(ucs4 & 0xff) >> 5] |= (1 << (ucs4 & 0x1f));
-#ifdef CHECK
- if (ucs4 > font_max)
- font_max = ucs4;
-#endif
- }
+ if (FcCharSetHasChar (fcs, ucs4))
+ FcCharSetAddChar (fcs, ucs4 - 0xF000);
}
}
- }
-#endif
#ifdef CHECK
- printf ("%d glyphs %d encoded\n", (int) face->num_glyphs, FcCharSetCount (fcs));
- for (ucs4 = 0; ucs4 <= font_max; ucs4++)
- {
- FcBool has_char = (glyph = FcFreeTypeCharIndex (face, ucs4)) != 0;
- FcBool has_bit = FcCharSetHasChar (fcs, ucs4);
-
- if (has_char && !has_bit)
+ for (ucs4 = 0x0020; ucs4 < 0x10000; ucs4++)
{
- if (!FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance, using_strike))
- printf ("Bitmap missing broken char 0x%x\n", ucs4);
- else
- printf ("Bitmap missing char 0x%x\n", ucs4);
+ FcBool FT_Has, FC_Has;
+
+ FT_Has = FT_Get_Char_Index (face, ucs4) != 0;
+ FC_Has = FcCharSetHasChar (fcs, ucs4);
+ if (FT_Has != FC_Has)
+ {
+ printf ("0x%08x FT says %d FC says %d\n", ucs4, FT_Has, FC_Has);
+ }
}
- else if (!has_char && has_bit)
- printf ("Bitmap extra char 0x%x\n", ucs4);
- }
#endif
- if (fixed_advance)
- *spacing = FC_MONO;
- else if (dual_advance && APPROXIMATELY_EQUAL (2 * FC_MIN (advance_one, advance_two), FC_MAX (advance_one, advance_two)))
- *spacing = FC_DUAL;
- else
- *spacing = FC_PROPORTIONAL;
+ break;
+ }
+
return fcs;
-bail1:
+bail:
FcCharSetDestroy (fcs);
-bail0:
return 0;
}
FcCharSet *
-FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing)
+FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks FC_UNUSED, int *spacing)
{
- FcCharSet *cs;
-
- /*
- * Check for bitmap-only ttf fonts that are missing the glyf table.
- * In that case, pick a size and look for glyphs in that size instead
- */
- if (!(face->face_flags & FT_FACE_FLAG_SCALABLE) &&
- face->num_fixed_sizes > 0 &&
- FT_Get_Sfnt_Table (face, ft_sfnt_head))
- {
- FT_Int strike_index = 0;
- int i;
- /* Select the face closest to 16 pixels tall */
- for (i = 1; i < face->num_fixed_sizes; i++) {
- if (abs (face->available_sizes[i].height - 16) <
- abs (face->available_sizes[strike_index].height - 16))
- strike_index = i;
- }
- cs = FcFreeTypeCharSetAndSpacingForSize (face, blanks, spacing, strike_index);
- }
- else
- cs = FcFreeTypeCharSetAndSpacingForSize (face, blanks, spacing, -1);
- return cs;
-}
-
-FcCharSet *
-FcFreeTypeCharSet (FT_Face face, FcBlanks *blanks)
-{
- int spacing;
+ if (spacing)
+ *spacing = FcFreeTypeSpacing (face);
- return FcFreeTypeCharSetAndSpacing (face, blanks, &spacing);
+ return FcFreeTypeCharSet (face, blanks);
}
--- /dev/null
+/*
+ * Copyright © 2000 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 the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * 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.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) 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.
+ */
+#include "fcint.h"
+#ifndef _WIN32
+#include <uuid/uuid.h>
+#endif
+
+#define FC_HASH_SIZE 227
+
+typedef struct _FcHashBucket {
+ struct _FcHashBucket *next;
+ void *key;
+ void *value;
+} FcHashBucket;
+
+struct _FcHashTable {
+ FcHashBucket *buckets[FC_HASH_SIZE];
+ FcHashFunc hash_func;
+ FcCompareFunc compare_func;
+ FcCopyFunc key_copy_func;
+ FcCopyFunc value_copy_func;
+ FcDestroyFunc key_destroy_func;
+ FcDestroyFunc value_destroy_func;
+};
+
+
+FcBool
+FcHashStrCopy (const void *src,
+ void **dest)
+{
+ *dest = FcStrdup (src);
+
+ return *dest != NULL;
+}
+
+FcBool
+FcHashUuidCopy (const void *src,
+ void **dest)
+{
+#ifndef _WIN32
+ *dest = malloc (sizeof (uuid_t));
+ uuid_copy (*dest, src);
+#endif
+ return FcTrue;
+}
+
+void
+FcHashUuidFree (void *data)
+{
+ free (data);
+}
+
+FcHashTable *
+FcHashTableCreate (FcHashFunc hash_func,
+ FcCompareFunc compare_func,
+ FcCopyFunc key_copy_func,
+ FcCopyFunc value_copy_func,
+ FcDestroyFunc key_destroy_func,
+ FcDestroyFunc value_destroy_func)
+{
+ FcHashTable *ret = malloc (sizeof (FcHashTable));
+
+ if (ret)
+ {
+ memset (ret->buckets, 0, sizeof (FcHashBucket *) * FC_HASH_SIZE);
+ ret->hash_func = hash_func;
+ ret->compare_func = compare_func;
+ ret->key_copy_func = key_copy_func;
+ ret->value_copy_func = value_copy_func;
+ ret->key_destroy_func = key_destroy_func;
+ ret->value_destroy_func = value_destroy_func;
+ }
+ return ret;
+}
+
+void
+FcHashTableDestroy (FcHashTable *table)
+{
+ int i;
+
+ for (i = 0; i < FC_HASH_SIZE; i++)
+ {
+ FcHashBucket *bucket = table->buckets[i], *prev;
+
+ while (bucket)
+ {
+ if (table->key_destroy_func)
+ table->key_destroy_func (bucket->key);
+ if (table->value_destroy_func)
+ table->value_destroy_func (bucket->value);
+ prev = bucket;
+ bucket = bucket->next;
+ free (prev);
+ }
+ table->buckets[i] = NULL;
+ }
+ free (table);
+}
+
+FcBool
+FcHashTableFind (FcHashTable *table,
+ const void *key,
+ void **value)
+{
+ FcHashBucket *bucket;
+ FcChar32 hash = table->hash_func (key);
+
+ for (bucket = table->buckets[hash % FC_HASH_SIZE]; bucket; bucket = bucket->next)
+ {
+ if (!table->compare_func(bucket->key, key))
+ {
+ if (table->value_copy_func)
+ {
+ if (!table->value_copy_func (bucket->value, value))
+ return FcFalse;
+ }
+ else
+ *value = bucket->value;
+ return FcTrue;
+ }
+ }
+ return FcFalse;
+}
+
+static FcBool
+FcHashTableAddInternal (FcHashTable *table,
+ void *key,
+ void *value,
+ FcBool replace)
+{
+ FcHashBucket **prev, *bucket, *b;
+ FcChar32 hash = table->hash_func (key);
+ FcBool ret = FcFalse;
+
+ bucket = (FcHashBucket *) malloc (sizeof (FcHashBucket));
+ if (!bucket)
+ return FcFalse;
+ memset (bucket, 0, sizeof (FcHashBucket));
+ if (table->key_copy_func)
+ ret |= !table->key_copy_func (key, &bucket->key);
+ else
+ bucket->key = key;
+ if (table->value_copy_func)
+ ret |= !table->value_copy_func (value, &bucket->value);
+ else
+ bucket->value = value;
+ if (ret)
+ {
+ destroy:
+ if (bucket->key && table->key_destroy_func)
+ table->key_destroy_func (bucket->key);
+ if (bucket->value && table->value_destroy_func)
+ table->value_destroy_func (bucket->value);
+ free (bucket);
+
+ return !ret;
+ }
+ retry:
+ for (prev = &table->buckets[hash % FC_HASH_SIZE];
+ (b = fc_atomic_ptr_get (prev)); prev = &(b->next))
+ {
+ if (!table->compare_func (b->key, key))
+ {
+ if (replace)
+ {
+ bucket->next = b->next;
+ if (!fc_atomic_ptr_cmpexch (prev, b, bucket))
+ goto retry;
+ bucket = b;
+ }
+ else
+ ret = FcTrue;
+ goto destroy;
+ }
+ }
+ bucket->next = NULL;
+ if (!fc_atomic_ptr_cmpexch (prev, b, bucket))
+ goto retry;
+
+ return FcTrue;
+}
+
+FcBool
+FcHashTableAdd (FcHashTable *table,
+ void *key,
+ void *value)
+{
+ return FcHashTableAddInternal (table, key, value, FcFalse);
+}
+
+FcBool
+FcHashTableReplace (FcHashTable *table,
+ void *key,
+ void *value)
+{
+ return FcHashTableAddInternal (table, key, value, FcTrue);
+}
FcInitFallbackConfig (const FcChar8 *sysroot)
{
FcConfig *config;
+ const FcChar8 *fallback = (const FcChar8 *) "" \
+ "<fontconfig>" \
+ " <dir>" FC_DEFAULT_FONTS "</dir>" \
+ " <dir prefix=\"xdg\">fonts</dir>" \
+ " <cachedir>" FC_CACHEDIR "</cachedir>" \
+ " <cachedir prefix=\"xdg\">fontconfig</cachedir>" \
+ " <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/conf.d</include>" \
+ " <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/fonts.conf</include>" \
+ "</fontconfig>";
config = FcConfigCreate ();
if (!config)
goto bail0;
FcConfigSetSysRoot (config, sysroot);
- if (!FcConfigAddDir (config, (FcChar8 *) FC_DEFAULT_FONTS))
- goto bail1;
- if (!FcConfigAddCacheDir (config, (FcChar8 *) FC_CACHEDIR))
+ if (!FcConfigParseAndLoadFromMemory (config, fallback, FcFalse))
goto bail1;
+
return config;
bail1:
return fallback;
}
+ (void) FcConfigParseOnly (config, (const FcChar8 *)FC_TEMPLATEDIR, FcFalse);
if (config->cacheDirs && config->cacheDirs->num == 0)
{
# define FC_DIR_SEPARATOR_S "/"
#endif
+#ifdef PATH_MAX
+#define FC_PATH_MAX PATH_MAX
+#else
+#define FC_PATH_MAX 128
+#endif
+
#if __GNUC__ >= 4
#define FC_UNUSED __attribute__((unused))
#else
#define FC_MIN(a,b) ((a) < (b) ? (a) : (b))
#define FC_MAX(a,b) ((a) > (b) ? (a) : (b))
-#define FC_ABS(a) ((a) < 0 ? -(a) : (a))
/* slim_internal.h */
#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun)
#define FcPrivate
#endif
-FC_ASSERT_STATIC (sizeof (FcRef) == sizeof (int));
+/* NLS */
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#define _(x) (dgettext(GETTEXT_PACKAGE, x))
+#else
+#define dgettext(d, s) (s)
+#define _(x) (x)
+#endif
+
+#define N_(x) x
-typedef enum _FcValueBinding {
- FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame,
- /* to make sure sizeof (FcValueBinding) == 4 even with -fshort-enums */
- FcValueBindingEnd = INT_MAX
-} FcValueBinding;
+FC_ASSERT_STATIC (sizeof (FcRef) == sizeof (int));
#define FcStrdup(s) ((FcChar8 *) strdup ((const char *) (s)))
#define FcFree(s) (free ((FcChar8 *) (s)))
FcValueBinding binding;
} FcEdit;
+typedef void (* FcDestroyFunc) (void *data);
+
+typedef struct _FcPtrList FcPtrList;
+/* need to sync with FcConfigFileInfoIter at fontconfig.h */
+typedef struct _FcPtrListIter {
+ void *dummy1;
+ void *dummy2;
+ void *dummy3;
+} FcPtrListIter;
+
typedef enum _FcRuleType {
FcRuleUnknown, FcRuleTest, FcRuleEdit
} FcRuleType;
} u;
} FcRule;
-typedef struct _FcSubst {
- struct _FcSubst *next;
- FcRule *rule;
-} FcSubst;
+typedef struct _FcRuleSet {
+ FcRef ref;
+ FcChar8 *name;
+ FcChar8 *description;
+ FcChar8 *domain;
+ FcBool enabled;
+ FcPtrList *subst[FcMatchKindEnd];
+} FcRuleSet;
typedef struct _FcCharLeaf {
FcChar32 map[256/32];
FcChar8 buf_static[16 * sizeof (void *)];
} FcStrBuf;
+typedef struct _FcHashTable FcHashTable;
+
+typedef FcChar32 (* FcHashFunc) (const void *data);
+typedef int (* FcCompareFunc) (const void *v1, const void *v2);
+typedef FcBool (* FcCopyFunc) (const void *src, void **dest);
+
+
struct _FcCache {
unsigned int magic; /* FC_CACHE_MAGIC_MMAP or FC_CACHE_ALLOC */
int version; /* FC_CACHE_VERSION_NUMBER */
FcChar8 *tmp; /* tmpfile name (used for locking) */
};
-struct _FcBlanks {
- int nblank;
- int sblank;
- FcChar32 *blanks;
-};
-
struct _FcConfig {
/*
* File names loaded from the configuration -- saved here as the
*/
FcStrSet *configDirs; /* directories to scan for fonts */
/*
- * Set of allowed blank chars -- used to
- * trim fonts of bogus glyphs
- */
- FcBlanks *blanks;
- /*
* List of directories containing fonts,
* built by recursively scanning the set
* of configured directories
* Substitution instructions for patterns and fonts;
* maxObjects is used to allocate appropriate intermediate storage
* while performing a whole set of substitutions
+ *
+ * 0.. substitutions for patterns
+ * 1.. substitutions for fonts
+ * 2.. substitutions for scanned fonts
*/
- FcSubst *substPattern; /* substitutions for patterns */
- FcSubst *substFont; /* substitutions for fonts */
- FcSubst *substScan; /* substitutions for scanned fonts */
+ FcPtrList *subst[FcMatchKindEnd];
int maxObjects; /* maximum number of tests in all substs */
/*
* List of patterns used to control font file selection
FcExprPage *expr_pool; /* pool of FcExpr's */
FcChar8 *sysRoot; /* override the system root directory */
+ FcStrSet *availConfigFiles; /* config files available */
+ FcPtrList *rulesetList; /* List of rulesets being installed */
+ FcHashTable *uuid_table; /* UUID table for cachedirs */
+ FcHashTable *alias_table; /* alias table for cachedirs */
};
typedef struct _FcFileTime {
} u;
};
-/* fcblanks.c */
-
/* fccache.c */
FcPrivate FcCache *
const FcChar8 *d);
FcPrivate FcBool
-FcConfigAddDir (FcConfig *config,
- const FcChar8 *d);
-
-FcPrivate FcBool
FcConfigAddCacheDir (FcConfig *config,
const FcChar8 *d);
FcConfigAddCache (FcConfig *config, FcCache *cache,
FcSetName set, FcStrSet *dirSet);
+FcPrivate FcRuleSet *
+FcRuleSetCreate (const FcChar8 *name);
+
+FcPrivate void
+FcRuleSetDestroy (FcRuleSet *rs);
+
+FcPrivate void
+FcRuleSetReference (FcRuleSet *rs);
+
+FcPrivate void
+FcRuleSetEnable (FcRuleSet *rs,
+ FcBool flag);
+
+FcPrivate void
+FcRuleSetAddDescription (FcRuleSet *rs,
+ const FcChar8 *domain,
+ const FcChar8 *description);
+
+FcPrivate int
+FcRuleSetAdd (FcRuleSet *rs,
+ FcRule *rule,
+ FcMatchKind kind);
+
/* fcserialize.c */
FcPrivate intptr_t
FcAlignSize (intptr_t size);
FcPrivate FcBool
FcMakeDirectory (const FcChar8 *dir);
+FcPrivate ssize_t
+FcReadLink (const FcChar8 *pathname,
+ FcChar8 *buf,
+ size_t bufsiz);
+
/* fcdbg.c */
FcPrivate void
FcEditPrint (const FcEdit *edit);
FcPrivate void
-FcSubstPrint (const FcSubst *subst);
+FcRulePrint (const FcRule *rule);
FcPrivate void
FcCharSetPrint (const FcCharSet *c);
FcPrivate FcBool
FcFileScanConfig (FcFontSet *set,
FcStrSet *dirs,
- FcBlanks *blanks,
const FcChar8 *file,
FcConfig *config);
FcPrivate FcBool
FcDirScanConfig (FcFontSet *set,
FcStrSet *dirs,
- FcBlanks *blanks,
const FcChar8 *dir,
FcBool force,
FcConfig *config);
FcPrivate FcFontSet *
FcFontSetDeserialize (const FcFontSet *set);
+/* fcplist.c */
+FcPrivate FcPtrList *
+FcPtrListCreate (FcDestroyFunc func);
+
+FcPrivate void
+FcPtrListDestroy (FcPtrList *list);
+
+FcPrivate void
+FcPtrListIterInit (const FcPtrList *list,
+ FcPtrListIter *iter);
+
+FcPrivate void
+FcPtrListIterInitAtLast (FcPtrList *list,
+ FcPtrListIter *iter);
+
+FcPrivate FcBool
+FcPtrListIterNext (const FcPtrList *list,
+ FcPtrListIter *iter);
+
+FcPrivate FcBool
+FcPtrListIterIsValid (const FcPtrList *list,
+ const FcPtrListIter *iter);
+
+FcPrivate void *
+FcPtrListIterGetValue (const FcPtrList *list,
+ const FcPtrListIter *iter);
+
+FcPrivate FcBool
+FcPtrListIterAdd (FcPtrList *list,
+ FcPtrListIter *iter,
+ void *data);
+
+FcPrivate FcBool
+FcPtrListIterRemove (FcPtrList *list,
+ FcPtrListIter *iter);
+
/* fcinit.c */
FcPrivate FcConfig *
FcInitLoadOwnConfig (FcConfig *config);
FcPrivate FcChar8 *
FcNameUnparseEscaped (FcPattern *pat, FcBool escape);
+FcPrivate FcBool
+FcConfigParseOnly (FcConfig *config,
+ const FcChar8 *name,
+ FcBool complain);
+
+FcPrivate FcChar8 *
+FcConfigRealFilename (FcConfig *config,
+ const FcChar8 *url);
+
/* fclist.c */
FcPrivate FcBool
FcPatternObjectAddWeak (FcPattern *p, FcObject object, FcValue value, FcBool append);
FcPrivate FcResult
+FcPatternObjectGetWithBinding (const FcPattern *p, FcObject object, int id, FcValue *v, FcValueBinding *b);
+
+FcPrivate FcResult
FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v);
FcPrivate FcBool
FcPrivate const FcObjectType *
FcObjectLookupOtherTypeByName (const char *str);
+/* fchash.c */
+FcPrivate FcBool
+FcHashStrCopy (const void *src,
+ void **dest);
+
+FcPrivate FcBool
+FcHashUuidCopy (const void *src,
+ void **dest);
+
+FcPrivate void
+FcHashUuidFree (void *data);
+
+FcPrivate FcHashTable *
+FcHashTableCreate (FcHashFunc hash_func,
+ FcCompareFunc compare_func,
+ FcCopyFunc key_copy_func,
+ FcCopyFunc value_copy_func,
+ FcDestroyFunc key_destroy_func,
+ FcDestroyFunc value_destroy_func);
+
+FcPrivate void
+FcHashTableDestroy (FcHashTable *table);
+
+FcPrivate FcBool
+FcHashTableFind (FcHashTable *table,
+ const void *key,
+ void **value);
+
+FcPrivate FcBool
+FcHashTableAdd (FcHashTable *table,
+ void *key,
+ void *value);
+
+FcPrivate FcBool
+FcHashTableReplace (FcHashTable *table,
+ void *key,
+ void *value);
+
#endif /* _FC_INT_H_ */
/* Objects MT-safe for readonly access. */
typedef struct {
- const FcChar8 lang[8];
+ const FcChar8 lang[16];
const FcCharSet charset;
} FcLangCharSet;
if (!lang || !*lang)
return NULL;
+ /* might be called without initialization */
+ FcInitDebug ();
+
if (FcStrCmpIgnoreCase (lang, (const FcChar8 *)"C") == 0 ||
+ FcStrCmpIgnoreCase (lang, (const FcChar8 *)"C.UTF-8") == 0 ||
+ FcStrCmpIgnoreCase (lang, (const FcChar8 *)"C.utf8") == 0 ||
FcStrCmpIgnoreCase (lang, (const FcChar8 *)"POSIX") == 0)
{
result = FcStrCopy ((const FcChar8 *)"en");
lang);
goto bail0;
}
- if (territory && (tlen < 2 || tlen > 3))
+ if (territory && (tlen < 2 || tlen > 3) &&
+ !(territory[0] == 'z' && tlen < 5))
{
fprintf (stderr, "Fontconfig warning: ignoring %s: not a valid region tag\n",
lang);
{
FcChar8 c1, c2;
FcLangResult result = FcLangDifferentLang;
+ const FcChar8 *s1_orig = s1;
+ FcBool is_und;
+
+ is_und = FcToLower (s1[0]) == 'u' &&
+ FcToLower (s1[1]) == 'n' &&
+ FcToLower (s1[2]) == 'd' &&
+ FcLangEnd (s1[3]);
for (;;)
{
c2 = FcToLower (c2);
if (c1 != c2)
{
- if (FcLangEnd (c1) && FcLangEnd (c2))
+ if (!is_und && FcLangEnd (c1) && FcLangEnd (c2))
result = FcLangDifferentTerritory;
return result;
}
else if (!c1)
- return FcLangEqual;
+ {
+ return is_und ? result : FcLangEqual;
+ }
else if (c1 == '-')
- result = FcLangDifferentTerritory;
+ {
+ if (!is_und)
+ result = FcLangDifferentTerritory;
+ }
+
+ /* If we parsed past "und-", then do not consider it undefined anymore,
+ * as there's *something* specified. */
+ if (is_und && s1 - s1_orig == 4)
+ is_und = FcFalse;
}
}
void
FcLangSetDestroy (FcLangSet *ls)
{
+ if (!ls)
+ return;
+
if (ls->extra)
FcStrSetDestroy (ls->extra);
free (ls);
{
FcLangSet *new;
+ if (!ls)
+ return NULL;
+
new = FcLangSetCreate ();
if (!new)
goto bail0;
return 0;
}
+/* When the language isn't found, the return value r is such that:
+ * 1) r < 0
+ * 2) -r -1 is the index of the first language in fcLangCharSets that comes
+ * after the 'lang' argument in lexicographic order.
+ *
+ * The -1 is necessary to avoid problems with language id 0 (otherwise, we
+ * wouldn't be able to distinguish between “language found, id is 0” and
+ * “language not found, sorts right before the language with id 0”).
+ */
static int
FcLangSetIndex (const FcChar8 *lang)
{
high = fcLangCharSetRanges[firstChar - 'a'].end;
/* no matches */
if (low > high)
- return -low; /* next entry after where it would be */
+ return -(low+1); /* one past next entry after where it would be */
}
while (low <= high)
{
int i, j, count;
FcLangResult best, r;
+ FcChar32 aInCountrySet, bInCountrySet;
count = FC_MIN (lsa->map_size, lsb->map_size);
count = FC_MIN (NUM_LANG_SET_MAP, count);
return FcLangEqual;
best = FcLangDifferentLang;
for (j = 0; j < NUM_COUNTRY_SET; j++)
+ {
+ aInCountrySet = 0;
+ bInCountrySet = 0;
+
for (i = 0; i < count; i++)
- if ((lsa->map[i] & fcLangCountrySets[j][i]) &&
- (lsb->map[i] & fcLangCountrySets[j][i]))
+ {
+ aInCountrySet |= lsa->map[i] & fcLangCountrySets[j][i];
+ bInCountrySet |= lsb->map[i] & fcLangCountrySets[j][i];
+
+ if (aInCountrySet && bInCountrySet)
{
best = FcLangDifferentTerritory;
break;
}
+ }
+ }
if (lsa->extra)
{
r = FcLangSetCompareStrSet (lsb, lsa->extra);
if (lang)
{
id = FcLangSetIndex (lang);
- if (id > 0)
+ if (id >= 0)
{
FcLangSetBitSet (&buf->ls, id);
}
e = FcPatternObjectFindElt (font, FcObjectFromName (os->objects[o]));
if (e)
{
+ if (FcRefIsConst (&font->ref) && !strcmp (os->objects[o], FC_FILE))
+ {
+ FcChar8 *dir, *alias;
+ FcConfig *config = FcConfigGetCurrent (); /* FIXME: this may need to be exported as API? */
+
+ for (v = FcPatternEltValues (e); v->value.type != FcTypeString; v = FcValueListNext (v));
+ if (!v)
+ goto bail2;
+ dir = FcStrDirname (FcValueString (&v->value));
+ if (FcHashTableFind (config->alias_table, dir, (void **) &alias))
+ {
+ FcChar8 *base = FcStrBasename (FcValueString (&v->value));
+ FcChar8 *s = FcStrBuildFilename (alias, base, NULL);
+ FcValue vv;
+
+ FcStrFree (alias);
+ FcStrFree (base);
+ vv.type = FcTypeString;
+ vv.u.s = s;
+ if (!FcPatternAdd (bucket->pattern,
+ os->objects[o],
+ FcValueCanonicalize (&vv),
+ FcTrue))
+ {
+ FcStrFree (s);
+ FcStrFree (dir);
+ goto bail2;
+ }
+ FcStrFree (s);
+ FcStrFree (dir);
+ goto bail3;
+ }
+ else
+ FcStrFree (dir);
+ }
for (v = FcPatternEltValues(e), idx = 0; v;
v = FcValueListNext(v), ++idx)
{
FcValueCanonicalize(&v->value), defidx != idx))
goto bail2;
}
+ bail3:;
}
}
*prev = bucket;
#include "fcint.h"
static double
-FcCompareNumber (FcValue *value1, FcValue *value2)
+FcCompareNumber (const FcValue *value1, const FcValue *value2, FcValue *bestValue)
{
double v1, v2, v;
v = v2 - v1;
if (v < 0)
v = -v;
+ *bestValue = FcValueCanonicalize (value2);
return v;
}
static double
-FcCompareString (FcValue *v1, FcValue *v2)
+FcCompareString (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
{
+ *bestValue = FcValueCanonicalize (v2);
return (double) FcStrCmpIgnoreCase (FcValueString(v1), FcValueString(v2)) != 0;
}
static double
-FcCompareFamily (FcValue *v1, FcValue *v2)
+FcCompareFamily (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
{
/* rely on the guarantee in FcPatternObjectAddWithBinding that
* families are always FcTypeString. */
const FcChar8* v1_string = FcValueString(v1);
const FcChar8* v2_string = FcValueString(v2);
+ *bestValue = FcValueCanonicalize (v2);
+
if (FcToLower(*v1_string) != FcToLower(*v2_string) &&
*v1_string != ' ' && *v2_string != ' ')
return 1.0;
}
static double
-FcComparePostScript (FcValue *v1, FcValue *v2)
+FcComparePostScript (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
{
const FcChar8 *v1_string = FcValueString (v1);
const FcChar8 *v2_string = FcValueString (v2);
int n;
size_t len;
+ *bestValue = FcValueCanonicalize (v2);
+
if (FcToLower (*v1_string) != FcToLower (*v2_string) &&
*v1_string != ' ' && *v2_string != ' ')
return 1.0;
}
static double
-FcCompareLang (FcValue *v1, FcValue *v2)
+FcCompareLang (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
{
FcLangResult result;
FcValue value1 = FcValueCanonicalize(v1), value2 = FcValueCanonicalize(v2);
default:
return -1.0;
}
+ *bestValue = FcValueCanonicalize (v2);
switch (result) {
case FcLangEqual:
return 0;
}
static double
-FcCompareBool (FcValue *v1, FcValue *v2)
+FcCompareBool (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
{
if (v2->type != FcTypeBool || v1->type != FcTypeBool)
return -1.0;
- return (double) v2->u.b != v1->u.b;
+
+ if (v2->u.b != FcDontCare)
+ *bestValue = FcValueCanonicalize (v2);
+ else
+ *bestValue = FcValueCanonicalize (v1);
+
+ return (double) ((v2->u.b ^ v1->u.b) == 1);
}
static double
-FcCompareCharSet (FcValue *v1, FcValue *v2)
+FcCompareCharSet (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
{
+ *bestValue = FcValueCanonicalize (v2); /* TODO Improve. */
return (double) FcCharSetSubtractCount (FcValueCharSet(v1), FcValueCharSet(v2));
}
static double
-FcCompareSize (FcValue *value1, FcValue *value2)
+FcCompareRange (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
{
- double v1, v2, v;
+ FcValue value1 = FcValueCanonicalize (v1);
+ FcValue value2 = FcValueCanonicalize (v2);
+ double b1, e1, b2, e2, d;
- switch ((int) value1->type) {
+ switch ((int) value1.type) {
case FcTypeInteger:
- v1 = value1->u.i;
+ b1 = e1 = value1.u.i;
break;
case FcTypeDouble:
- v1 = value1->u.d;
+ b1 = e1 = value1.u.d;
+ break;
+ case FcTypeRange:
+ b1 = value1.u.r->begin;
+ e1 = value1.u.r->end;
break;
default:
return -1;
}
- switch ((int) value2->type) {
+ switch ((int) value2.type) {
case FcTypeInteger:
- v2 = value2->u.i;
+ b2 = e2 = value2.u.i;
break;
case FcTypeDouble:
- v2 = value2->u.d;
+ b2 = e2 = value2.u.d;
+ break;
+ case FcTypeRange:
+ b2 = value2.u.r->begin;
+ e2 = value2.u.r->end;
break;
default:
return -1;
}
- if (v2 == 0)
- return 0;
- v = v2 - v1;
- if (v < 0)
- v = -v;
- return v;
+
+ if (e1 < b2)
+ d = b2;
+ else if (e2 < b1)
+ d = e2;
+ else
+ d = (FC_MAX (b1, b2) + FC_MIN (e1, e2)) * .5;
+
+ bestValue->type = FcTypeDouble;
+ bestValue->u.d = d;
+
+ /* If the ranges overlap, it's a match, otherwise return closest distance. */
+ if (e1 < b2 || e2 < b1)
+ return FC_MIN (fabs (b2 - e1), fabs (b1 - e2));
+ else
+ return 0.0;
}
static double
-FcCompareSizeRange (FcValue *v1, FcValue *v2)
+FcCompareSize (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
{
FcValue value1 = FcValueCanonicalize (v1);
FcValue value2 = FcValueCanonicalize (v2);
- FcRange *r1 = NULL, *r2 = NULL;
- double ret = -1.0;
+ double b1, e1, b2, e2;
switch ((int) value1.type) {
+ case FcTypeInteger:
+ b1 = e1 = value1.u.i;
+ break;
case FcTypeDouble:
- r1 = FcRangeCreateDouble (value1.u.d, value1.u.d);
+ b1 = e1 = value1.u.d;
break;
case FcTypeRange:
- r1 = FcRangeCopy (value1.u.r);
+ abort();
+ b1 = value1.u.r->begin;
+ e1 = value1.u.r->end;
break;
default:
- goto bail;
+ return -1;
}
switch ((int) value2.type) {
+ case FcTypeInteger:
+ b2 = e2 = value2.u.i;
+ break;
case FcTypeDouble:
- r2 = FcRangeCreateDouble (value2.u.d, value2.u.d);
+ b2 = e2 = value2.u.d;
break;
case FcTypeRange:
- r2 = FcRangeCopy (value2.u.r);
+ b2 = value2.u.r->begin;
+ e2 = value2.u.r->end;
break;
default:
- goto bail;
+ return -1;
}
- if (FcRangeIsInRange (r1, r2))
- ret = 0.0;
- else
- ret = FC_MIN (fabs (r1->end - r2->begin), fabs (r1->begin - r2->end));
-
-bail:
- if (r1)
- FcRangeDestroy (r1);
- if (r2)
- FcRangeDestroy (r2);
+ bestValue->type = FcTypeDouble;
+ bestValue->u.d = (b1 + e1) * .5;
- return ret;
+ /* If the ranges overlap, it's a match, otherwise return closest distance. */
+ if (e1 < b2 || e2 < b1)
+ return FC_MIN (fabs (b2 - e1), fabs (b1 - e2));
+ if (b2 != e2 && b1 == e2) /* Semi-closed interval. */
+ return 1e-15;
+ else
+ return 0.0;
}
static double
-FcCompareFilename (FcValue *v1, FcValue *v2)
+FcCompareFilename (const FcValue *v1, const FcValue *v2, FcValue *bestValue)
{
const FcChar8 *s1 = FcValueString (v1), *s2 = FcValueString (v2);
+ *bestValue = FcValueCanonicalize (v2);
if (FcStrCmp (s1, s2) == 0)
return 0.0;
else if (FcStrCmpIgnoreCase (s1, s2) == 0)
#define PRI_FcCompareFamily(n) PRI1(n)
#define PRI_FcCompareString(n) PRI1(n)
#define PRI_FcCompareNumber(n) PRI1(n)
-#define PRI_FcCompareSize(n) PRI1(n)
#define PRI_FcCompareBool(n) PRI1(n)
#define PRI_FcCompareFilename(n) PRI1(n)
#define PRI_FcCompareCharSet(n) PRI1(n)
#define PRI_FcCompareLang(n) PRI1(n)
#define PRI_FcComparePostScript(n) PRI1(n)
-#define PRI_FcCompareSizeRange(n) PRI1(n)
+#define PRI_FcCompareRange(n) PRI1(n)
+#define PRI_FcCompareSize(n) PRI1(n)
#define FC_OBJECT(NAME, Type, Cmp) PRI_##Cmp(NAME)
typedef enum _FcMatcherPriority {
PRI1(FILE),
PRI1(FONTFORMAT),
+ PRI1(VARIABLE),
PRI1(SCALABLE),
PRI1(COLOR),
PRI1(FOUNDRY),
typedef struct _FcMatcher {
FcObject object;
- double (*compare) (FcValue *value1, FcValue *value2);
+ double (*compare) (const FcValue *v1, const FcValue *v2, FcValue *bestValue);
int strong, weak;
} FcMatcher;
{
for (v2 = v2orig, k = 0; v2; v2 = FcValueListNext(v2), k++)
{
- v = (match->compare) (&v1->value, &v2->value);
+ FcValue matchValue;
+ v = (match->compare) (&v1->value, &v2->value, &matchValue);
if (v < 0)
{
*result = FcResultTypeMismatch;
if (v < best)
{
if (bestValue)
- *bestValue = FcValueCanonicalize(&v2->value);
+ *bestValue = matchValue;
best = v;
pos = k;
}
FcPatternElt *fe, *pe;
FcValue v;
FcResult result;
+ FcBool variable = FcFalse;
+ FcStrBuf variations;
assert (pat != NULL);
assert (font != NULL);
+ FcPatternObjectGetBool (font, FC_VARIABLE_OBJECT, 0, &variable);
+ assert (variable != FcDontCare);
+ if (variable)
+ FcStrBufInit (&variations, NULL, 0);
+
new = FcPatternCreate ();
if (!new)
return NULL;
return NULL;
}
FcPatternObjectAdd (new, fe->object, v, FcFalse);
+
+ /* Set font-variations settings for standard axes in variable fonts. */
+ if (variable &&
+ FcPatternEltValues(fe)->value.type == FcTypeRange &&
+ (fe->object == FC_WEIGHT_OBJECT ||
+ fe->object == FC_WIDTH_OBJECT ||
+ fe->object == FC_SIZE_OBJECT))
+ {
+ double num;
+ FcChar8 temp[128];
+ const char *tag = " ";
+ assert (v.type == FcTypeDouble);
+ num = v.u.d;
+ if (variations.len)
+ FcStrBufChar (&variations, ',');
+ switch (fe->object)
+ {
+ case FC_WEIGHT_OBJECT:
+ tag = "wght";
+ num = FcWeightToOpenType (num);
+ break;
+
+ case FC_WIDTH_OBJECT:
+ tag = "wdth";
+ break;
+
+ case FC_SIZE_OBJECT:
+ tag = "opsz";
+ break;
+ }
+ sprintf ((char *) temp, "%4s=%g", tag, num);
+ FcStrBufString (&variations, temp);
+ }
}
else
{
+ if (FcRefIsConst (&font->ref) && fe->object == FC_FILE_OBJECT)
+ {
+ FcValueListPtr l = FcPatternEltValues (fe);
+ FcChar8 *dir, *alias;
+
+ while (l->value.type != FcTypeString)
+ l = FcValueListNext (l);
+ if (!l)
+ goto bail0;
+ dir = FcStrDirname (FcValueString (&l->value));
+ if (!config)
+ config = FcConfigGetCurrent ();
+ if (config && FcHashTableFind (config->alias_table, dir, (void **) &alias))
+ {
+ FcChar8 *base = FcStrBasename (FcValueString (&l->value));
+ FcChar8 *s = FcStrBuildFilename (alias, base, NULL);
+ FcValue v;
+
+ FcStrFree (alias);
+ FcStrFree (base);
+ v.type = FcTypeString;
+ v.u.s = s;
+ FcPatternObjectAddWithBinding (new, fe->object,
+ FcValueCanonicalize (&v),
+ l->binding,
+ FcTrue);
+ FcStrFree (s);
+ FcStrFree (dir);
+ goto bail0;
+ }
+ else
+ FcStrFree (dir);
+ }
FcPatternObjectListAdd (new, fe->object,
FcValueListDuplicate (FcPatternEltValues (fe)),
FcTrue);
+ bail0:;
}
}
for (i = 0; i < pat->num; i++)
}
}
+ if (variable && variations.len)
+ {
+ FcChar8 *vars = NULL;
+ if (FcPatternObjectGetString (new, FC_FONT_VARIATIONS_OBJECT, 0, &vars) == FcResultMatch)
+ {
+ FcStrBufChar (&variations, ',');
+ FcStrBufString (&variations, vars);
+ FcPatternObjectDel (new, FC_FONT_VARIATIONS_OBJECT);
+ }
+
+ FcPatternObjectAddString (new, FC_FONT_VARIATIONS_OBJECT, FcStrBufDoneStatic (&variations));
+ FcStrBufDestroy (&variations);
+ }
+
FcConfigSubstituteWithPat (config, new, pat, FcMatchFont);
return new;
}
FcPatternGet (p, FC_LANG, i, &patternLang) == FcResultMatch &&
FcPatternGet (nodeps[f]->pattern, FC_LANG, 0, &nodeLang) == FcResultMatch)
{
- double compare = FcCompareLang (&patternLang, &nodeLang);
+ FcValue matchValue;
+ double compare = FcCompareLang (&patternLang, &nodeLang, &matchValue);
if (compare >= 0 && compare < 2)
{
if (FcDebug () & FC_DBG_MATCHV)
*result = FcFalse;
return FcTrue;
}
+ if (c0 == 'd' || c0 == 'x' || c0 == '2')
+ {
+ *result = FcDontCare;
+ return FcTrue;
+ }
if (c0 == 'o')
{
c1 = v[1];
*result = FcFalse;
return FcTrue;
}
+ if (c1 == 'r')
+ {
+ *result = FcDontCare;
+ return FcTrue;
+ }
}
return FcFalse;
}
v.type = FcTypeVoid;
break;
case FcTypeRange:
- if (sscanf ((char *) string, "[%lg %lg)", &b, &e) != 2)
+ if (sscanf ((char *) string, "[%lg %lg]", &b, &e) != 2)
{
v.u.d = strtod ((char *) string, &p);
if (p != NULL && p[0] != 0)
case FcTypeString:
return FcNameUnparseString (buf, v.u.s, escape);
case FcTypeBool:
- return FcNameUnparseString (buf, v.u.b ? (FcChar8 *) "True" : (FcChar8 *) "False", 0);
+ return FcNameUnparseString (buf,
+ v.u.b == FcTrue ? (FcChar8 *) "True" :
+ v.u.b == FcFalse ? (FcChar8 *) "False" :
+ (FcChar8 *) "DontCare", 0);
case FcTypeMatrix:
sprintf ((char *) temp, "%g %g %g %g",
v.u.m->xx, v.u.m->xy, v.u.m->yx, v.u.m->yy);
case FcTypeFTFace:
return FcTrue;
case FcTypeRange:
- sprintf ((char *) temp, "[%g %g)", v.u.r->begin, v.u.r->end);
+ sprintf ((char *) temp, "[%g %g]", v.u.r->begin, v.u.r->end);
return FcNameUnparseString (buf, temp, 0);
}
return FcFalse;
#include "fcint.h"
static unsigned int
-FcObjectTypeHash (register const char *str, register unsigned int len);
+FcObjectTypeHash (register const char *str, register FC_GPERF_SIZE_T len);
static const struct FcObjectTypeInfo *
-FcObjectTypeLookup (register const char *str, register unsigned int len);
+FcObjectTypeLookup (register const char *str, register FC_GPERF_SIZE_T len);
#include "fcobjshash.h"
FC_OBJECT (FULLNAME, FcTypeString, NULL)
FC_OBJECT (FULLNAMELANG, FcTypeString, NULL)
FC_OBJECT (SLANT, FcTypeInteger, FcCompareNumber)
-FC_OBJECT (WEIGHT, FcTypeInteger, FcCompareNumber)
-FC_OBJECT (WIDTH, FcTypeInteger, FcCompareNumber)
-FC_OBJECT (SIZE, FcTypeRange, FcCompareSizeRange)
+FC_OBJECT (WEIGHT, FcTypeRange, FcCompareRange)
+FC_OBJECT (WIDTH, FcTypeRange, FcCompareRange)
+FC_OBJECT (SIZE, FcTypeRange, FcCompareSize)
FC_OBJECT (ASPECT, FcTypeDouble, NULL)
-FC_OBJECT (PIXEL_SIZE, FcTypeDouble, FcCompareSize)
+FC_OBJECT (PIXEL_SIZE, FcTypeDouble, FcCompareNumber)
FC_OBJECT (SPACING, FcTypeInteger, FcCompareNumber)
FC_OBJECT (FOUNDRY, FcTypeString, FcCompareString)
FC_OBJECT (ANTIALIAS, FcTypeBool, FcCompareBool)
FC_OBJECT (RGBA, FcTypeInteger, NULL)
FC_OBJECT (SCALE, FcTypeDouble, NULL)
FC_OBJECT (MINSPACE, FcTypeBool, NULL)
-FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
+FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL)
FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL)
FC_OBJECT (MATRIX, FcTypeMatrix, NULL)
FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet)
FC_OBJECT (POSTSCRIPT_NAME, FcTypeString, FcComparePostScript)
FC_OBJECT (COLOR, FcTypeBool, FcCompareBool)
FC_OBJECT (SYMBOL, FcTypeBool, FcCompareBool)
+FC_OBJECT (FONT_VARIATIONS, FcTypeString, NULL)
+FC_OBJECT (VARIABLE, FcTypeBool, FcCompareBool)
/* ^-------------- Add new objects here. */
+++ /dev/null
-%{
-%}
-%struct-type
-%language=ANSI-C
-%includes
-%enum
-%readonly-tables
-%define slot-name name
-%define hash-function-name FcObjectTypeHash
-%define lookup-function-name FcObjectTypeLookup
-%pic
-%define string-pool-name FcObjectTypeNamePool
-struct FcObjectTypeInfo {
-int name;
-int id;
-};
-%%
-"family",FC_FAMILY_OBJECT
-"familylang",FC_FAMILYLANG_OBJECT
-"style",FC_STYLE_OBJECT
-"stylelang",FC_STYLELANG_OBJECT
-"fullname",FC_FULLNAME_OBJECT
-"fullnamelang",FC_FULLNAMELANG_OBJECT
-"slant",FC_SLANT_OBJECT
-"weight",FC_WEIGHT_OBJECT
-"width",FC_WIDTH_OBJECT
-"size",FC_SIZE_OBJECT
-"aspect",FC_ASPECT_OBJECT
-"pixelsize",FC_PIXEL_SIZE_OBJECT
-"spacing",FC_SPACING_OBJECT
-"foundry",FC_FOUNDRY_OBJECT
-"antialias",FC_ANTIALIAS_OBJECT
-"hintstyle",FC_HINT_STYLE_OBJECT
-"hinting",FC_HINTING_OBJECT
-"verticallayout",FC_VERTICAL_LAYOUT_OBJECT
-"autohint",FC_AUTOHINT_OBJECT
-"globaladvance",FC_GLOBAL_ADVANCE_OBJECT
-"file",FC_FILE_OBJECT
-"index",FC_INDEX_OBJECT
-"rasterizer",FC_RASTERIZER_OBJECT
-"outline",FC_OUTLINE_OBJECT
-"scalable",FC_SCALABLE_OBJECT
-"dpi",FC_DPI_OBJECT
-"rgba",FC_RGBA_OBJECT
-"scale",FC_SCALE_OBJECT
-"minspace",FC_MINSPACE_OBJECT
-"charwidth",FC_CHAR_WIDTH_OBJECT
-"charheight",FC_CHAR_HEIGHT_OBJECT
-"matrix",FC_MATRIX_OBJECT
-"charset",FC_CHARSET_OBJECT
-"lang",FC_LANG_OBJECT
-"fontversion",FC_FONTVERSION_OBJECT
-"capability",FC_CAPABILITY_OBJECT
-"fontformat",FC_FONTFORMAT_OBJECT
-"embolden",FC_EMBOLDEN_OBJECT
-"embeddedbitmap",FC_EMBEDDED_BITMAP_OBJECT
-"decorative",FC_DECORATIVE_OBJECT
-"lcdfilter",FC_LCD_FILTER_OBJECT
-"namelang",FC_NAMELANG_OBJECT
-"fontfeatures",FC_FONT_FEATURES_OBJECT
-"prgname",FC_PRGNAME_OBJECT
-"hash",FC_HASH_OBJECT
-"postscriptname",FC_POSTSCRIPT_NAME_OBJECT
-"color",FC_COLOR_OBJECT
-"symbol",FC_SYMBOL_OBJECT
-/* ANSI-C code produced by gperf version 3.0.4 */
-/* Command-line: gperf -m 100 fcobjshash.gperf */
+/* ANSI-C code produced by gperf version 3.1 */
+/* Command-line: gperf --pic -m 100 fcobjshash.gperf */
/* Computed positions: -k'2-3' */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
&& ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
/* The character set is not based on ISO-646. */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
#endif
#line 1 "fcobjshash.gperf"
int id;
};
#include <string.h>
-/* maximum key range = 56, duplicates = 0 */
+/* maximum key range = 65, duplicates = 0 */
#ifdef __GNUC__
__inline
#endif
#endif
static unsigned int
-FcObjectTypeHash (register const char *str, register unsigned int len)
+FcObjectTypeHash (register const char *str, register size_t len)
{
static const unsigned char asso_values[] =
{
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 21, 30, 3,
- 36, 45, 60, 3, 15, 0, 60, 60, 0, 9,
- 9, 0, 21, 60, 0, 0, 15, 0, 60, 60,
- 0, 15, 24, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 9, 21, 18,
+ 33, 21, 69, 6, 36, 0, 69, 69, 0, 24,
+ 9, 0, 21, 69, 33, 15, 18, 0, 69, 69,
+ 0, 21, 6, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 69
};
return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[1]];
}
char FcObjectTypeNamePool_str7[sizeof("foundry")];
char FcObjectTypeNamePool_str8[sizeof("fullname")];
char FcObjectTypeNamePool_str9[sizeof("pixelsize")];
- char FcObjectTypeNamePool_str10[sizeof("prgname")];
+ char FcObjectTypeNamePool_str10[sizeof("size")];
char FcObjectTypeNamePool_str12[sizeof("fullnamelang")];
char FcObjectTypeNamePool_str13[sizeof("globaladvance")];
- char FcObjectTypeNamePool_str14[sizeof("postscriptname")];
+ char FcObjectTypeNamePool_str14[sizeof("slant")];
char FcObjectTypeNamePool_str16[sizeof("hinting")];
char FcObjectTypeNamePool_str17[sizeof("minspace")];
char FcObjectTypeNamePool_str18[sizeof("hintstyle")];
char FcObjectTypeNamePool_str19[sizeof("fontformat")];
char FcObjectTypeNamePool_str20[sizeof("fontversion")];
char FcObjectTypeNamePool_str21[sizeof("fontfeatures")];
- char FcObjectTypeNamePool_str22[sizeof("outline")];
- char FcObjectTypeNamePool_str23[sizeof("autohint")];
+ char FcObjectTypeNamePool_str22[sizeof("lang")];
+ char FcObjectTypeNamePool_str23[sizeof("fontvariations")];
char FcObjectTypeNamePool_str24[sizeof("dpi")];
- char FcObjectTypeNamePool_str25[sizeof("hash")];
- char FcObjectTypeNamePool_str26[sizeof("slant")];
- char FcObjectTypeNamePool_str27[sizeof("aspect")];
- char FcObjectTypeNamePool_str28[sizeof("size")];
- char FcObjectTypeNamePool_str29[sizeof("scale")];
- char FcObjectTypeNamePool_str30[sizeof("symbol")];
- char FcObjectTypeNamePool_str31[sizeof("rasterizer")];
- char FcObjectTypeNamePool_str32[sizeof("scalable")];
- char FcObjectTypeNamePool_str33[sizeof("antialias")];
- char FcObjectTypeNamePool_str34[sizeof("lang")];
- char FcObjectTypeNamePool_str35[sizeof("style")];
- char FcObjectTypeNamePool_str36[sizeof("family")];
- char FcObjectTypeNamePool_str37[sizeof("rgba")];
- char FcObjectTypeNamePool_str38[sizeof("namelang")];
- char FcObjectTypeNamePool_str39[sizeof("stylelang")];
- char FcObjectTypeNamePool_str40[sizeof("familylang")];
- char FcObjectTypeNamePool_str41[sizeof("width")];
- char FcObjectTypeNamePool_str42[sizeof("matrix")];
- char FcObjectTypeNamePool_str43[sizeof("charset")];
- char FcObjectTypeNamePool_str45[sizeof("charwidth")];
- char FcObjectTypeNamePool_str46[sizeof("charheight")];
- char FcObjectTypeNamePool_str47[sizeof("embolden")];
- char FcObjectTypeNamePool_str48[sizeof("lcdfilter")];
- char FcObjectTypeNamePool_str49[sizeof("spacing")];
- char FcObjectTypeNamePool_str50[sizeof("index")];
- char FcObjectTypeNamePool_str51[sizeof("weight")];
- char FcObjectTypeNamePool_str52[sizeof("capability")];
- char FcObjectTypeNamePool_str53[sizeof("embeddedbitmap")];
- char FcObjectTypeNamePool_str58[sizeof("decorative")];
- char FcObjectTypeNamePool_str59[sizeof("verticallayout")];
+ char FcObjectTypeNamePool_str25[sizeof("outline")];
+ char FcObjectTypeNamePool_str26[sizeof("autohint")];
+ char FcObjectTypeNamePool_str27[sizeof("weight")];
+ char FcObjectTypeNamePool_str28[sizeof("hash")];
+ char FcObjectTypeNamePool_str29[sizeof("postscriptname")];
+ char FcObjectTypeNamePool_str31[sizeof("rgba")];
+ char FcObjectTypeNamePool_str32[sizeof("scale")];
+ char FcObjectTypeNamePool_str33[sizeof("matrix")];
+ char FcObjectTypeNamePool_str34[sizeof("rasterizer")];
+ char FcObjectTypeNamePool_str35[sizeof("scalable")];
+ char FcObjectTypeNamePool_str36[sizeof("antialias")];
+ char FcObjectTypeNamePool_str37[sizeof("spacing")];
+ char FcObjectTypeNamePool_str38[sizeof("width")];
+ char FcObjectTypeNamePool_str39[sizeof("family")];
+ char FcObjectTypeNamePool_str40[sizeof("capability")];
+ char FcObjectTypeNamePool_str41[sizeof("namelang")];
+ char FcObjectTypeNamePool_str42[sizeof("aspect")];
+ char FcObjectTypeNamePool_str43[sizeof("familylang")];
+ char FcObjectTypeNamePool_str44[sizeof("style")];
+ char FcObjectTypeNamePool_str46[sizeof("prgname")];
+ char FcObjectTypeNamePool_str47[sizeof("index")];
+ char FcObjectTypeNamePool_str48[sizeof("stylelang")];
+ char FcObjectTypeNamePool_str49[sizeof("decorative")];
+ char FcObjectTypeNamePool_str50[sizeof("variable")];
+ char FcObjectTypeNamePool_str51[sizeof("symbol")];
+ char FcObjectTypeNamePool_str52[sizeof("charset")];
+ char FcObjectTypeNamePool_str53[sizeof("embolden")];
+ char FcObjectTypeNamePool_str54[sizeof("charwidth")];
+ char FcObjectTypeNamePool_str55[sizeof("charheight")];
+ char FcObjectTypeNamePool_str59[sizeof("embeddedbitmap")];
+ char FcObjectTypeNamePool_str60[sizeof("lcdfilter")];
+ char FcObjectTypeNamePool_str68[sizeof("verticallayout")];
};
static const struct FcObjectTypeNamePool_t FcObjectTypeNamePool_contents =
{
"foundry",
"fullname",
"pixelsize",
- "prgname",
+ "size",
"fullnamelang",
"globaladvance",
- "postscriptname",
+ "slant",
"hinting",
"minspace",
"hintstyle",
"fontformat",
"fontversion",
"fontfeatures",
+ "lang",
+ "fontvariations",
+ "dpi",
"outline",
"autohint",
- "dpi",
+ "weight",
"hash",
- "slant",
- "aspect",
- "size",
+ "postscriptname",
+ "rgba",
"scale",
- "symbol",
+ "matrix",
"rasterizer",
"scalable",
"antialias",
- "lang",
- "style",
+ "spacing",
+ "width",
"family",
- "rgba",
+ "capability",
"namelang",
- "stylelang",
+ "aspect",
"familylang",
- "width",
- "matrix",
+ "style",
+ "prgname",
+ "index",
+ "stylelang",
+ "decorative",
+ "variable",
+ "symbol",
"charset",
+ "embolden",
"charwidth",
"charheight",
- "embolden",
- "lcdfilter",
- "spacing",
- "index",
- "weight",
- "capability",
"embeddedbitmap",
- "decorative",
+ "lcdfilter",
"verticallayout"
};
#define FcObjectTypeNamePool ((const char *) &FcObjectTypeNamePool_contents)
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
const struct FcObjectTypeInfo *
-FcObjectTypeLookup (register const char *str, register unsigned int len)
+FcObjectTypeLookup (register const char *str, register size_t len)
{
enum
{
- TOTAL_KEYWORDS = 48,
+ TOTAL_KEYWORDS = 50,
MIN_WORD_LENGTH = 3,
MAX_WORD_LENGTH = 14,
MIN_HASH_VALUE = 4,
- MAX_HASH_VALUE = 59
+ MAX_HASH_VALUE = 68
};
static const struct FcObjectTypeInfo wordlist[] =
{
{-1}, {-1}, {-1}, {-1},
#line 38 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str4,FC_FILE_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str4,FC_FILE_OBJECT},
#line 64 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str5,FC_COLOR_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str5,FC_COLOR_OBJECT},
{-1},
#line 31 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str7,FC_FOUNDRY_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str7,FC_FOUNDRY_OBJECT},
#line 22 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str8,FC_FULLNAME_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str8,FC_FULLNAME_OBJECT},
#line 29 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str9,FC_PIXEL_SIZE_OBJECT},
-#line 61 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str10,FC_PRGNAME_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str9,FC_PIXEL_SIZE_OBJECT},
+#line 27 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str10,FC_SIZE_OBJECT},
{-1},
#line 23 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str12,FC_FULLNAMELANG_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str12,FC_FULLNAMELANG_OBJECT},
#line 37 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str13,FC_GLOBAL_ADVANCE_OBJECT},
-#line 63 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str14,FC_POSTSCRIPT_NAME_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str13,FC_GLOBAL_ADVANCE_OBJECT},
+#line 24 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str14,FC_SLANT_OBJECT},
{-1},
#line 34 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str16,FC_HINTING_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str16,FC_HINTING_OBJECT},
#line 46 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str17,FC_MINSPACE_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str17,FC_MINSPACE_OBJECT},
#line 33 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str18,FC_HINT_STYLE_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str18,FC_HINT_STYLE_OBJECT},
#line 54 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str19,FC_FONTFORMAT_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str19,FC_FONTFORMAT_OBJECT},
#line 52 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str20,FC_FONTVERSION_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str20,FC_FONTVERSION_OBJECT},
#line 60 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str21,FC_FONT_FEATURES_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str21,FC_FONT_FEATURES_OBJECT},
+#line 51 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str22,FC_LANG_OBJECT},
+#line 66 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str23,FC_FONT_VARIATIONS_OBJECT},
+#line 43 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str24,FC_DPI_OBJECT},
#line 41 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str22,FC_OUTLINE_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str25,FC_OUTLINE_OBJECT},
#line 36 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str23,FC_AUTOHINT_OBJECT},
-#line 43 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str24,FC_DPI_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str26,FC_AUTOHINT_OBJECT},
+#line 25 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str27,FC_WEIGHT_OBJECT},
#line 62 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str25,FC_HASH_OBJECT},
-#line 24 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str26,FC_SLANT_OBJECT},
-#line 28 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str27,FC_ASPECT_OBJECT},
-#line 27 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_SIZE_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_HASH_OBJECT},
+#line 63 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_POSTSCRIPT_NAME_OBJECT},
+ {-1},
+#line 44 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_RGBA_OBJECT},
#line 45 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_SCALE_OBJECT},
-#line 65 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str30,FC_SYMBOL_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_SCALE_OBJECT},
+#line 49 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_MATRIX_OBJECT},
#line 40 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_RASTERIZER_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str34,FC_RASTERIZER_OBJECT},
#line 42 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_SCALABLE_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str35,FC_SCALABLE_OBJECT},
#line 32 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_ANTIALIAS_OBJECT},
-#line 51 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str34,FC_LANG_OBJECT},
-#line 20 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str35,FC_STYLE_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str36,FC_ANTIALIAS_OBJECT},
+#line 30 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_SPACING_OBJECT},
+#line 26 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_WIDTH_OBJECT},
#line 18 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str36,FC_FAMILY_OBJECT},
-#line 44 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_RGBA_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_FAMILY_OBJECT},
+#line 53 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str40,FC_CAPABILITY_OBJECT},
#line 59 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_NAMELANG_OBJECT},
-#line 21 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_STYLELANG_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_NAMELANG_OBJECT},
+#line 28 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_ASPECT_OBJECT},
#line 19 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str40,FC_FAMILYLANG_OBJECT},
-#line 26 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_WIDTH_OBJECT},
-#line 49 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_MATRIX_OBJECT},
-#line 50 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_FAMILYLANG_OBJECT},
+#line 20 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str44,FC_STYLE_OBJECT},
{-1},
+#line 61 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_PRGNAME_OBJECT},
+#line 39 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_INDEX_OBJECT},
+#line 21 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_STYLELANG_OBJECT},
+#line 57 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_DECORATIVE_OBJECT},
+#line 67 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str50,FC_VARIABLE_OBJECT},
+#line 65 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str51,FC_SYMBOL_OBJECT},
+#line 50 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str52,FC_CHARSET_OBJECT},
+#line 55 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str53,FC_EMBOLDEN_OBJECT},
#line 47 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str54,FC_CHARWIDTH_OBJECT},
#line 48 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
-#line 55 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_EMBOLDEN_OBJECT},
-#line 58 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_LCD_FILTER_OBJECT},
-#line 30 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_SPACING_OBJECT},
-#line 39 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str50,FC_INDEX_OBJECT},
-#line 25 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str51,FC_WEIGHT_OBJECT},
-#line 53 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str52,FC_CAPABILITY_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str55,FC_CHAR_HEIGHT_OBJECT},
+ {-1}, {-1}, {-1},
#line 56 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str53,FC_EMBEDDED_BITMAP_OBJECT},
- {-1}, {-1}, {-1}, {-1},
-#line 57 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str58,FC_DECORATIVE_OBJECT},
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str59,FC_EMBEDDED_BITMAP_OBJECT},
+#line 58 "fcobjshash.gperf"
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str60,FC_LCD_FILTER_OBJECT},
+ {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
#line 35 "fcobjshash.gperf"
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str59,FC_VERTICAL_LAYOUT_OBJECT}
+ {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str68,FC_VERTICAL_LAYOUT_OBJECT}
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
{
- register int key = FcObjectTypeHash (str, len);
+ register unsigned int key = FcObjectTypeHash (str, len);
- if (key <= MAX_HASH_VALUE && key >= 0)
+ if (key <= MAX_HASH_VALUE)
{
register int o = wordlist[key].name;
if (o >= 0)
}
FcResult
-FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v)
+FcPatternObjectGetWithBinding (const FcPattern *p, FcObject object, int id, FcValue *v, FcValueBinding *b)
{
FcPatternElt *e;
FcValueListPtr l;
if (!id)
{
*v = FcValueCanonicalize(&l->value);
+ if (b)
+ *b = l->binding;
return FcResultMatch;
}
id--;
}
FcResult
+FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v)
+{
+ return FcPatternObjectGetWithBinding (p, object, id, v, NULL);
+}
+
+FcResult
+FcPatternGetWithBinding (const FcPattern *p, const char *object, int id, FcValue *v, FcValueBinding *b)
+{
+ return FcPatternObjectGetWithBinding (p, FcObjectFromName (object), id, v, b);
+}
+
+FcResult
FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v)
{
- return FcPatternObjectGet (p, FcObjectFromName (object), id, v);
+ return FcPatternObjectGetWithBinding (p, FcObjectFromName (object), id, v, NULL);
}
FcResult
FcResult
-FcPatternGetBool(const FcPattern *p, const char *object, int id, FcBool *b)
+FcPatternObjectGetBool (const FcPattern *p, FcObject object, int id, FcBool *b)
{
FcValue v;
FcResult r;
- r = FcPatternGet (p, object, id, &v);
+ r = FcPatternObjectGet (p, object, id, &v);
if (r != FcResultMatch)
return r;
if (v.type != FcTypeBool)
}
FcResult
+FcPatternGetBool(const FcPattern *p, const char *object, int id, FcBool *b)
+{
+ return FcPatternObjectGetBool (p, FcObjectFromName (object), id, b);
+}
+
+FcResult
FcPatternGetCharSet(const FcPattern *p, const char *object, int id, FcCharSet **c)
{
FcValue v;
int i;
FcValueListPtr l;
+ if (!orig)
+ return NULL;
+
new = FcPatternCreate ();
if (!new)
goto bail0;
--- /dev/null
+/*
+ * fontconfig/src/fcptrlist.c
+ *
+ * Copyright © 2000 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 the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * 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.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) 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.
+ */
+
+#include "fcint.h"
+
+typedef struct _FcPtrListEntry {
+ struct _FcPtrListEntry *next;
+ void *data;
+} FcPtrListEntry;
+struct _FcPtrList {
+ FcDestroyFunc destroy_func;
+ FcPtrListEntry *list;
+};
+typedef struct _FcPtrListIterPrivate {
+ const FcPtrList *list;
+ FcPtrListEntry *entry;
+ FcPtrListEntry *prev;
+} FcPtrListIterPrivate;
+
+FcPtrList *
+FcPtrListCreate (FcDestroyFunc func)
+{
+ FcPtrList *ret = (FcPtrList *) malloc (sizeof (FcPtrList));
+
+ if (ret)
+ {
+ ret->destroy_func = func;
+ ret->list = NULL;
+ }
+
+ return ret;
+}
+
+void
+FcPtrListDestroy (FcPtrList *list)
+{
+ FcPtrListIter iter;
+
+ FcPtrListIterInit (list, &iter);
+ do
+ {
+ if (FcPtrListIterGetValue (list, &iter))
+ list->destroy_func (FcPtrListIterGetValue (list, &iter));
+ FcPtrListIterRemove (list, &iter);
+ } while (FcPtrListIterIsValid (list, &iter));
+
+ free (list);
+}
+
+void
+FcPtrListIterInit (const FcPtrList *list,
+ FcPtrListIter *iter)
+{
+ FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+ priv->list = list;
+ priv->entry = list->list;
+ priv->prev = NULL;
+}
+
+void
+FcPtrListIterInitAtLast (FcPtrList *list,
+ FcPtrListIter *iter)
+{
+ FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+ FcPtrListEntry **e, **p;
+
+ e = &list->list;
+ p = e;
+ for (; *e; p = e, e = &(*e)->next);
+
+ priv->list = list;
+ priv->entry = *e;
+ priv->prev = *p;
+}
+
+FcBool
+FcPtrListIterNext (const FcPtrList *list,
+ FcPtrListIter *iter)
+{
+ FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+ if (list != priv->list)
+ return FcFalse;
+ priv->prev = priv->entry;
+ priv->entry = priv->entry->next;
+
+ return priv->entry != NULL;
+}
+
+FcBool
+FcPtrListIterIsValid (const FcPtrList *list,
+ const FcPtrListIter *iter)
+{
+ FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+ return list == priv->list && priv->entry;
+}
+
+void *
+FcPtrListIterGetValue (const FcPtrList *list,
+ const FcPtrListIter *iter)
+{
+ FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+ if (list != priv->list ||
+ !priv->entry)
+ return NULL;
+
+ return priv->entry->data;
+}
+
+FcBool
+FcPtrListIterAdd (FcPtrList *list,
+ FcPtrListIter *iter,
+ void *data)
+{
+ FcPtrListEntry *e;
+ FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+
+ if (list != priv->list)
+ return FcFalse;
+
+ e = (FcPtrListEntry *) malloc (sizeof (FcPtrListEntry));
+ e->data = data;
+
+ if (priv->entry)
+ {
+ e->next = priv->entry->next;
+ priv->entry->next = e;
+ }
+ else
+ {
+ e->next = NULL;
+ if (priv->prev)
+ {
+ priv->prev->next = e;
+ priv->entry = priv->prev;
+ }
+ else
+ {
+ list->list = e;
+ priv->entry = e;
+
+ return FcTrue;
+ }
+ }
+
+ return FcPtrListIterNext (list, iter);
+}
+
+FcBool
+FcPtrListIterRemove (FcPtrList *list,
+ FcPtrListIter *iter)
+{
+ FcPtrListIterPrivate *priv = (FcPtrListIterPrivate *) iter;
+ FcPtrListEntry *e;
+
+ if (list != priv->list)
+ return FcFalse;
+ if (!priv->entry)
+ return FcTrue;
+
+ if (list->list == priv->entry)
+ list->list = list->list->next;
+ e = priv->entry;
+ if (priv->prev)
+ priv->prev->next = priv->entry->next;
+ priv->entry = priv->entry->next;
+ free (e);
+
+ return FcTrue;
+}
+
+#define __fcplist__
+#include "fcaliastail.h"
+#undef __fcplist__
FcBool
FcRangeIsInRange (const FcRange *a, const FcRange *b)
{
- if (!a || !b)
- return FcFalse;
-
return a->begin >= b->begin && a->end <= b->end;
}
{
switch ((int) op) {
case FcOpEqual:
+ return a->begin == b->begin && a->end == b->end;
case FcOpContains:
case FcOpListing:
return FcRangeIsInRange (a, b);
case FcOpNotEqual:
+ return a->begin != b->begin || a->end != b->end;
case FcOpNotContains:
return !FcRangeIsInRange (a, b);
case FcOpLess:
- return a->begin < b->begin;
+ return a->end < b->begin;
case FcOpLessEqual:
- return a->begin <= b->begin;
+ return a->end <= b->begin;
case FcOpMore:
- return a->end > b->end;
+ return a->begin > b->end;
case FcOpMoreEqual:
- return a->end >= b->end;
+ return a->begin >= b->end;
default:
break;
}
{
#endif
struct stat statb;
- char f[PATH_MAX + 1];
+ char *f = malloc (len + 1 + dlen + 1);
+ if (!f)
+ {
+ ret = -1;
+ goto bail;
+ }
memcpy (f, dir, len);
f[len] = FC_DIR_SEPARATOR;
memcpy (&f[len + 1], files[n]->d_name, dlen);
if (lstat (f, &statb) < 0)
{
ret = -1;
+ free (f);
goto bail;
}
if (S_ISDIR (statb.st_mode))
+ {
+ free (f);
goto bail;
+ }
+ free (f);
dtype = statb.st_mode;
#ifdef HAVE_STRUCT_DIRENT_D_TYPE
}
#ifndef _FONTCONFIG_SRC_FCSTDINT_H
#define _FONTCONFIG_SRC_FCSTDINT_H 1
#ifndef _GENERATED_STDINT_H
-#define _GENERATED_STDINT_H "fontconfig 2.12.1"
-/* generated using gnu compiler gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) */
+#define _GENERATED_STDINT_H "fontconfig 2.13.0"
+/* generated using gnu compiler gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2) */
#define _STDINT_HAVE_STDINT_H 1
#include <stdint.h>
#endif
{ 0, FC_WEIGHT_THIN },
{ 100, FC_WEIGHT_THIN },
{ 200, FC_WEIGHT_EXTRALIGHT },
- { 350, FC_WEIGHT_DEMILIGHT },
{ 300, FC_WEIGHT_LIGHT },
+ { 350, FC_WEIGHT_DEMILIGHT },
{ 380, FC_WEIGHT_BOOK },
{ 400, FC_WEIGHT_REGULAR },
{ 500, FC_WEIGHT_MEDIUM },
{1000, FC_WEIGHT_EXTRABLACK },
};
-static int lerp(int x, int x1, int x2, int y1, int y2)
+static double lerp(double x, int x1, int x2, int y1, int y2)
{
int dx = x2 - x1;
int dy = y2 - y1;
return y1 + (dy*(x-x1) + dx/2) / dx;
}
-int
-FcWeightFromOpenType (int ot_weight)
+double
+FcWeightFromOpenTypeDouble (double ot_weight)
{
int i;
- /* Loosely based on WPF Font Selection Model's advice. */
-
if (ot_weight < 0)
return -1;
- else if (1 <= ot_weight && ot_weight <= 9)
- {
- /* WPF Font Selection Model says do "ot_weight *= 100",
- * but Greg Hitchcock revealed that GDI had a mapping
- * reflected below: */
- switch (ot_weight) {
- case 1: ot_weight = 80; break;
- case 2: ot_weight = 160; break;
- case 3: ot_weight = 240; break;
- case 4: ot_weight = 320; break;
- case 5: ot_weight = 400; break;
- case 6: ot_weight = 550; break;
- case 7: ot_weight = 700; break;
- case 8: ot_weight = 800; break;
- case 9: ot_weight = 900; break;
- }
- }
+
ot_weight = FC_MIN (ot_weight, map[(sizeof (map) / sizeof (map[0])) - 1].ot);
for (i = 1; ot_weight > map[i].ot; i++)
return lerp (ot_weight, map[i-1].ot, map[i].ot, map[i-1].fc, map[i].fc);
}
-int
-FcWeightToOpenType (int fc_weight)
+double
+FcWeightToOpenTypeDouble (double fc_weight)
{
int i;
if (fc_weight < 0 || fc_weight > FC_WEIGHT_EXTRABLACK)
return lerp (fc_weight, map[i-1].fc, map[i].fc, map[i-1].ot, map[i].ot);
}
+int
+FcWeightFromOpenType (int ot_weight)
+{
+ return FcWeightFromOpenTypeDouble (ot_weight) + .5;
+}
+
+int
+FcWeightToOpenType (int fc_weight)
+{
+ return FcWeightToOpenTypeDouble (fc_weight) + .5;
+}
+
#define __fcweight__
#include "fcaliastail.h"
#undef __fcweight__
static void
FcExprDestroy (FcExpr *e);
+static FcBool
+_FcConfigParse (FcConfig *config,
+ const FcChar8 *name,
+ FcBool complain,
+ FcBool load);
void
FcTestDestroy (FcTest *test)
FcElementConfig,
FcElementMatch,
FcElementAlias,
+ FcElementDescription,
- FcElementBlank,
FcElementRescan,
FcElementPrefer,
{ "config", FcElementConfig },
{ "match", FcElementMatch },
{ "alias", FcElementAlias },
+ { "description", FcElementDescription },
- { "blank", FcElementBlank },
{ "rescan", FcElementRescan },
{ "prefer", FcElementPrefer },
};
#define NUM_ELEMENT_MAPS (int) (sizeof fcElementMap / sizeof fcElementMap[0])
+static const char *fcElementIgnoreName[16] = {
+ "its:",
+ NULL
+};
+
static FcElement
FcElementMap (const XML_Char *name)
{
for (i = 0; i < NUM_ELEMENT_MAPS; i++)
if (!strcmp ((char *) name, fcElementMap[i].name))
return fcElementMap[i].element;
+ for (i = 0; fcElementIgnoreName[i] != NULL; i++)
+ if (!strncmp ((char *) name, fcElementIgnoreName[i], strlen (fcElementIgnoreName[i])))
+ return FcElementNone;
return FcElementUnknown;
}
FcBool error;
const FcChar8 *name;
FcConfig *config;
+ FcRuleSet *ruleset;
XML_Parser parser;
unsigned int pstack_static_used;
FcPStack pstack_static[8];
unsigned int vstack_static_used;
FcVStack vstack_static[64];
+ FcBool scanOnly;
} FcConfigParse;
typedef enum _FcConfigSeverity {
return FcFalse;
}
- if (parse->pstack->attr)
+ /* Don't check the attributes for FcElementNone */
+ if (parse->pstack->element != FcElementNone &&
+ parse->pstack->attr)
{
/* Warn about unused attrs. */
FcChar8 **attrs = parse->pstack->attr;
}
static FcBool
-FcConfigParseInit (FcConfigParse *parse, const FcChar8 *name, FcConfig *config, XML_Parser parser)
+FcConfigParseInit (FcConfigParse *parse,
+ const FcChar8 *name,
+ FcConfig *config,
+ XML_Parser parser,
+ FcBool enabled)
{
parse->pstack = 0;
parse->pstack_static_used = 0;
parse->error = FcFalse;
parse->name = name;
parse->config = config;
+ parse->ruleset = FcRuleSetCreate (name);
parse->parser = parser;
+ parse->scanOnly = !enabled;
+ FcRuleSetEnable (parse->ruleset, enabled);
+
return FcTrue;
}
{
while (parse->pstack)
FcPStackPop (parse);
+ FcRuleSetDestroy (parse->ruleset);
+ parse->ruleset = NULL;
}
static const FcChar8 *
}
static void
-FcParseBlank (FcConfigParse *parse)
-{
- int n = FcVStackElements (parse);
-#if 0
- FcChar32 i, begin, end;
-#endif
-
- FcConfigMessage (parse, FcSevereWarning, "blank doesn't take any effect anymore. please remove it from your fonts.conf");
- while (n-- > 0)
- {
- FcVStack *v = FcVStackFetch (parse, n);
- if (!parse->config->blanks)
- {
- parse->config->blanks = FcBlanksCreate ();
- if (!parse->config->blanks)
- goto bail;
- }
- switch ((int) v->tag) {
- case FcVStackInteger:
-#if 0
- if (!FcBlanksAdd (parse->config->blanks, v->u.integer))
- goto bail;
- break;
-#endif
- case FcVStackRange:
-#if 0
- begin = (FcChar32) v->u.range->begin;
- end = (FcChar32) v->u.range->end;
- if (begin <= end)
- {
- for (i = begin; i <= end; i++)
- {
- if (!FcBlanksAdd (parse->config->blanks, i))
- goto bail;
- }
- }
-#endif
- break;
- default:
- FcConfigMessage (parse, FcSevereError, "invalid element in blank");
- break;
- }
- }
- return;
- bail:
- FcConfigMessage (parse, FcSevereError, "out of memory");
-}
-
-static void
FcParseRescan (FcConfigParse *parse)
{
int n = FcVStackElements (parse);
FcVStack *vstack;
FcRule *rule = NULL, *r;
FcValueBinding binding;
+ int n;
if (!FcConfigLexBinding (parse, FcConfigGetAttribute (parse, "binding"), &binding))
return;
r = r->next;
}
}
- if (!FcConfigAddRule (parse->config, rule, FcMatchPattern))
+ if ((n = FcRuleSetAdd (parse->ruleset, rule, FcMatchPattern)) == -1)
FcRuleDestroy (rule);
+ else
+ if (parse->config->maxObjects < n)
+ parse->config->maxObjects = n;
+}
+
+static void
+FcParseDescription (FcConfigParse *parse)
+{
+ const FcChar8 *domain;
+ FcChar8 *desc;
+
+ domain = FcConfigGetAttribute (parse, "domain");
+ desc = FcStrBufDone (&parse->pstack->str);
+ if (!desc)
+ {
+ FcConfigMessage (parse, FcSevereError, "out of memory");
+ return;
+ }
+ FcRuleSetAddDescription (parse->ruleset, domain, desc);
+
+ FcStrFree (desc);
}
static FcExpr *
#endif
if (strlen ((char *) data) == 0)
FcConfigMessage (parse, FcSevereWarning, "empty font directory name ignored");
- else if (!FcStrUsesHome (data) || FcConfigHome ())
+ else if (!parse->scanOnly && (!FcStrUsesHome (data) || FcConfigHome ()))
{
- if (!FcConfigAddDir (parse->config, data))
+ if (!FcConfigAddFontDir (parse->config, data))
FcConfigMessage (parse, FcSevereError, "out of memory; cannot add directory %s", data);
}
FcStrBufDestroy (&parse->pstack->str);
#endif
if (strlen ((char *) data) == 0)
FcConfigMessage (parse, FcSevereWarning, "empty cache directory name ignored");
- else if (!FcStrUsesHome (data) || FcConfigHome ())
+ else if (!parse->scanOnly && (!FcStrUsesHome (data) || FcConfigHome ()))
{
if (!FcConfigAddCacheDir (parse->config, data))
FcConfigMessage (parse, FcSevereError, "out of memory; cannot add cache directory %s", data);
#endif
FcChar8 *prefix = NULL, *p;
FcChar8 *userdir = NULL, *userconf = NULL;
+ FcRuleSet *ruleset;
+ FcMatchKind k;
s = FcStrBufDoneStatic (&parse->pstack->str);
if (!s)
goto userconf;
}
}
- if (!FcConfigParseAndLoad (parse->config, s, !ignore_missing))
+ /* flush the ruleset into the queue */
+ ruleset = parse->ruleset;
+ parse->ruleset = FcRuleSetCreate (ruleset->name);
+ FcRuleSetEnable (parse->ruleset, ruleset->enabled);
+ FcRuleSetAddDescription (parse->ruleset, ruleset->domain, ruleset->description);
+ for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+ {
+ FcPtrListIter iter;
+
+ FcPtrListIterInit (ruleset->subst[k], &iter);
+ if (FcPtrListIterIsValid (ruleset->subst[k], &iter))
+ {
+ FcPtrListIterInitAtLast (parse->config->subst[k], &iter);
+ FcRuleSetReference (ruleset);
+ FcPtrListIterAdd (parse->config->subst[k], &iter, ruleset);
+ }
+ }
+ FcRuleSetDestroy (ruleset);
+ if (!_FcConfigParse (parse->config, s, !ignore_missing, !parse->scanOnly))
parse->error = FcTrue;
#ifndef _WIN32
else
FcMatchKind kind;
FcVStack *vstack;
FcRule *rule = NULL, *r;
+ int n;
kind_name = FcConfigGetAttribute (parse, "target");
if (!kind_name)
FcConfigMessage (parse, FcSevereWarning, "No <test> nor <edit> elements in <match>");
return;
}
- if (!FcConfigAddRule (parse->config, rule, kind))
+ if ((n = FcRuleSetAdd (parse->ruleset, rule, kind)) == -1)
+ {
FcConfigMessage (parse, FcSevereError, "out of memory");
+ FcRuleDestroy (rule);
+ }
+ else
+ if (parse->config->maxObjects < n)
+ parse->config->maxObjects = n;
}
static void
{
switch ((int) vstack->tag) {
case FcVStackGlob:
- if (!FcConfigGlobAdd (parse->config,
- vstack->u.string,
- element == FcElementAcceptfont))
+ if (!parse->scanOnly && !FcConfigGlobAdd (parse->config,
+ vstack->u.string,
+ element == FcElementAcceptfont))
{
FcConfigMessage (parse, FcSevereError, "out of memory");
}
break;
case FcVStackPattern:
- if (!FcConfigPatternsAdd (parse->config,
- vstack->u.pattern,
- element == FcElementAcceptfont))
+ if (!parse->scanOnly && !FcConfigPatternsAdd (parse->config,
+ vstack->u.pattern,
+ element == FcElementAcceptfont))
{
FcConfigMessage (parse, FcSevereError, "out of memory");
}
case FcElementAlias:
FcParseAlias (parse);
break;
-
- case FcElementBlank:
- FcParseBlank (parse);
+ case FcElementDescription:
+ FcParseDescription (parse);
break;
+
case FcElementRescan:
FcParseRescan (parse);
break;
FcConfigParseAndLoadDir (FcConfig *config,
const FcChar8 *name,
const FcChar8 *dir,
- FcBool complain)
+ FcBool complain,
+ FcBool load)
{
DIR *d;
struct dirent *e;
if (FcDebug () & FC_DBG_CONFIG)
printf ("\tScanning config dir %s\n", dir);
-
+
+ if (load)
+ FcConfigAddConfigDir (config, dir);
+
while (ret && (e = readdir (d)))
{
int d_len;
qsort (files->strs, files->num, sizeof (FcChar8 *),
(int (*)(const void *, const void *)) FcSortCmpStr);
for (i = 0; ret && i < files->num; i++)
- ret = FcConfigParseAndLoad (config, files->strs[i], complain);
+ ret = _FcConfigParse (config, files->strs[i], complain, load);
}
bail3:
FcStrSetDestroy (files);
pfnSHGetFolderPathA pSHGetFolderPathA = NULL;
#endif
-FcBool
-FcConfigParseAndLoad (FcConfig *config,
- const FcChar8 *name,
- FcBool complain)
+static FcBool
+FcConfigParseAndLoadFromMemoryInternal (FcConfig *config,
+ const FcChar8 *filename,
+ const FcChar8 *buffer,
+ FcBool complain,
+ FcBool load)
{
XML_Parser p;
- FcChar8 *filename, *f;
- int fd;
- int len;
+ size_t len;
FcConfigParse parse;
FcBool error = FcTrue;
- const FcChar8 *sysroot = FcConfigGetSysRoot (config);
+ FcMatchKind k;
+ FcPtrListIter liter;
#ifdef ENABLE_LIBXML2
xmlSAXHandler sax;
- char buf[BUFSIZ];
#else
- void *buf;
+ void *buf;
+ const FcChar8 *s;
+ size_t buflen;
#endif
-#ifdef _WIN32
- if (!pGetSystemWindowsDirectory)
- {
- HMODULE hk32 = GetModuleHandleA("kernel32.dll");
- if (!(pGetSystemWindowsDirectory = (pfnGetSystemWindowsDirectory) GetProcAddress(hk32, "GetSystemWindowsDirectoryA")))
- pGetSystemWindowsDirectory = (pfnGetSystemWindowsDirectory) GetWindowsDirectory;
- }
- if (!pSHGetFolderPathA)
- {
- HMODULE hSh = LoadLibraryA("shfolder.dll");
- /* the check is done later, because there is no provided fallback */
- if (hSh)
- pSHGetFolderPathA = (pfnSHGetFolderPathA) GetProcAddress(hSh, "SHGetFolderPathA");
- }
-#endif
-
- f = FcConfigFilename (name);
- if (!f)
- goto bail0;
- if (sysroot)
- filename = FcStrBuildFilename (sysroot, f, NULL);
- else
- filename = FcStrdup (f);
- FcStrFree (f);
-
- if (FcStrSetMember (config->configFiles, filename))
- {
- FcStrFree (filename);
- return FcTrue;
- }
-
- if (!FcStrSetAdd (config->configFiles, filename))
- {
- FcStrFree (filename);
- goto bail0;
- }
-
- if (FcFileIsDir (filename))
- {
- FcBool ret = FcConfigParseAndLoadDir (config, name, filename, complain);
- FcStrFree (filename);
- return ret;
- }
-
+ if (!buffer)
+ return FcFalse;
+ len = strlen ((const char *) buffer);
if (FcDebug () & FC_DBG_CONFIG)
- printf ("\tLoading config file %s\n", filename);
-
- fd = FcOpen ((char *) filename, O_RDONLY);
- if (fd == -1) {
- FcStrFree (filename);
- goto bail0;
- }
+ printf ("\t%s config file from %s\n", load ? "Loading" : "Scanning", filename);
#ifdef ENABLE_LIBXML2
memset(&sax, 0, sizeof(sax));
#else
p = XML_ParserCreate ("UTF-8");
#endif
- FcStrFree (filename);
if (!p)
goto bail1;
- if (!FcConfigParseInit (&parse, name, config, p))
+ if (!FcConfigParseInit (&parse, filename, config, p, load))
goto bail2;
#ifndef ENABLE_LIBXML2
#endif /* ENABLE_LIBXML2 */
- do {
#ifndef ENABLE_LIBXML2
+ s = buffer;
+ do {
buf = XML_GetBuffer (p, BUFSIZ);
if (!buf)
{
FcConfigMessage (&parse, FcSevereError, "cannot get parse buffer");
goto bail3;
}
-#endif
- len = read (fd, buf, BUFSIZ);
- if (len < 0)
+ if (len > BUFSIZ)
{
- FcConfigMessage (&parse, FcSevereError, "failed reading config file");
- goto bail3;
+ buflen = BUFSIZ;
+ len -= BUFSIZ;
+ }
+ else
+ {
+ buflen = len;
+ len = 0;
}
+ memcpy (buf, s, buflen);
+ s = s + buflen;
+#endif
#ifdef ENABLE_LIBXML2
- if (xmlParseChunk (p, buf, len, len == 0))
+ if (xmlParseChunk (p, (const char *)buffer, len, len == 0))
#else
- if (!XML_ParseBuffer (p, len, len == 0))
+ if (!XML_ParseBuffer (p, buflen, buflen == 0))
#endif
{
FcConfigMessage (&parse, FcSevereError, "%s",
XML_ErrorString (XML_GetErrorCode (p)));
goto bail3;
}
- } while (len != 0);
+#ifndef ENABLE_LIBXML2
+ } while (buflen != 0);
+#endif
error = parse.error;
+ if (load)
+ {
+ for (k = FcMatchKindBegin; k < FcMatchKindEnd; k++)
+ {
+ FcPtrListIter iter;
+
+ FcPtrListIterInit (parse.ruleset->subst[k], &iter);
+ if (FcPtrListIterIsValid (parse.ruleset->subst[k], &iter))
+ {
+ FcPtrListIterInitAtLast (parse.config->subst[k], &iter);
+ FcRuleSetReference (parse.ruleset);
+ FcPtrListIterAdd (parse.config->subst[k], &iter, parse.ruleset);
+ }
+ }
+ }
+ FcPtrListIterInitAtLast (parse.config->rulesetList, &liter);
+ FcRuleSetReference (parse.ruleset);
+ FcPtrListIterAdd (parse.config->rulesetList, &liter, parse.ruleset);
bail3:
FcConfigCleanup (&parse);
bail2:
XML_ParserFree (p);
bail1:
+ if (error && complain)
+ {
+ FcConfigMessage (0, FcSevereError, "Cannot %s config file from %s", load ? "load" : "scan", filename);
+ return FcFalse;
+ }
+ if (FcDebug () & FC_DBG_CONFIG)
+ printf ("\t%s config file from %s done\n", load ? "Loading" : "Scanning", filename);
+ return FcTrue;
+}
+
+static FcBool
+_FcConfigParse (FcConfig *config,
+ const FcChar8 *name,
+ FcBool complain,
+ FcBool load)
+{
+ FcChar8 *filename = NULL, *realfilename = NULL;
+ int fd;
+ int len;
+ FcStrBuf sbuf;
+ char buf[BUFSIZ];
+ FcBool ret = FcFalse;
+
+#ifdef _WIN32
+ if (!pGetSystemWindowsDirectory)
+ {
+ HMODULE hk32 = GetModuleHandleA("kernel32.dll");
+ if (!(pGetSystemWindowsDirectory = (pfnGetSystemWindowsDirectory) GetProcAddress(hk32, "GetSystemWindowsDirectoryA")))
+ pGetSystemWindowsDirectory = (pfnGetSystemWindowsDirectory) GetWindowsDirectory;
+ }
+ if (!pSHGetFolderPathA)
+ {
+ HMODULE hSh = LoadLibraryA("shfolder.dll");
+ /* the check is done later, because there is no provided fallback */
+ if (hSh)
+ pSHGetFolderPathA = (pfnSHGetFolderPathA) GetProcAddress(hSh, "SHGetFolderPathA");
+ }
+#endif
+
+ filename = FcConfigFilename (name);
+ if (!filename)
+ goto bail0;
+ realfilename = FcConfigRealFilename (config, name);
+ if (!realfilename)
+ goto bail0;
+ if (FcStrSetMember (config->availConfigFiles, realfilename))
+ {
+ FcStrFree (filename);
+ FcStrFree (realfilename);
+ return FcTrue;
+ }
+
+ if (load)
+ {
+ if (!FcStrSetAdd (config->configFiles, filename))
+ goto bail0;
+ }
+ if (!FcStrSetAdd (config->availConfigFiles, realfilename))
+ goto bail0;
+
+ if (FcFileIsDir (realfilename))
+ {
+ ret = FcConfigParseAndLoadDir (config, name, realfilename, complain, load);
+ FcStrFree (filename);
+ FcStrFree (realfilename);
+ return ret;
+ }
+
+ FcStrBufInit (&sbuf, NULL, 0);
+
+ fd = FcOpen ((char *) filename, O_RDONLY);
+ if (fd == -1)
+ goto bail1;
+
+ do {
+ len = read (fd, buf, BUFSIZ);
+ if (len < 0)
+ {
+ FcConfigMessage (0, FcSevereError, "failed reading config file");
+ close (fd);
+ goto bail1;
+ }
+ FcStrBufData (&sbuf, (const FcChar8 *)buf, len);
+ } while (len != 0);
close (fd);
- fd = -1;
+
+ ret = FcConfigParseAndLoadFromMemoryInternal (config, filename, FcStrBufDoneStatic (&sbuf), complain, load);
+ complain = FcFalse; /* no need to reclaim here */
+bail1:
+ FcStrBufDestroy (&sbuf);
bail0:
- if (error && complain)
+ if (filename)
+ FcStrFree (filename);
+ if (realfilename)
+ FcStrFree (realfilename);
+ if (!ret && complain)
{
if (name)
- FcConfigMessage (0, FcSevereError, "Cannot load config file \"%s\"", name);
+ FcConfigMessage (0, FcSevereError, "Cannot %s config file \"%s\"", load ? "load" : "scan", name);
else
- FcConfigMessage (0, FcSevereError, "Cannot load default config file");
+ FcConfigMessage (0, FcSevereError, "Cannot %s default config file", load ? "load" : "scan");
return FcFalse;
}
return FcTrue;
}
+
+FcBool
+FcConfigParseOnly (FcConfig *config,
+ const FcChar8 *name,
+ FcBool complain)
+{
+ return _FcConfigParse (config, name, complain, FcFalse);
+}
+
+FcBool
+FcConfigParseAndLoad (FcConfig *config,
+ const FcChar8 *name,
+ FcBool complain)
+{
+ return _FcConfigParse (config, name, complain, FcTrue);
+}
+
+FcBool
+FcConfigParseAndLoadFromMemory (FcConfig *config,
+ const FcChar8 *buffer,
+ FcBool complain)
+{
+ return FcConfigParseAndLoadFromMemoryInternal (config, (const FcChar8 *)"memory", buffer, complain, FcTrue);
+}
+
#define __fcxml__
#include "fcaliastail.h"
#undef __fcxml__
#define GET_Byte() (*stream->cursor++)
#define GET_Short() (stream->cursor += 2, (FT_Short)( \
- (*(((FT_Byte*)stream->cursor)-2) << 8) | \
- *(((FT_Byte*)stream->cursor)-1) \
+ ((FT_ULong)*(((FT_Byte*)stream->cursor)-2) << 8) | \
+ (FT_ULong)*(((FT_Byte*)stream->cursor)-1) \
))
#define GET_Long() (stream->cursor += 4, (FT_Long)( \
- (*(((FT_Byte*)stream->cursor)-4) << 24) | \
- (*(((FT_Byte*)stream->cursor)-3) << 16) | \
- (*(((FT_Byte*)stream->cursor)-2) << 8) | \
- *(((FT_Byte*)stream->cursor)-1) \
+ ((FT_ULong)*(((FT_Byte*)stream->cursor)-4) << 24) | \
+ ((FT_ULong)*(((FT_Byte*)stream->cursor)-3) << 16) | \
+ ((FT_ULong)*(((FT_Byte*)stream->cursor)-2) << 8) | \
+ (FT_ULong)*(((FT_Byte*)stream->cursor)-1) \
))
#define GET_Char() ((FT_Char)GET_Byte())
;;
*)
alias="IA__$name"
- hattr='__attribute((visibility("hidden")))'
+ hattr='FC_ATTRIBUTE_VISIBILITY_HIDDEN'
echo "extern __typeof ($name) $alias $hattr;" >> $HEAD
echo "#define $name $alias" >> $HEAD
ifdef=`grep -l '^'$name'[ (]' "$SRCDIR"/*.c | sed -n 1p | sed -e 's/^.*\/\([^.]*\)\.c/__\1__/'`
last=$ifdef
fi
echo "# undef $name" >> $TAIL
- cattr='__attribute((alias("'$alias'"), visibility("default")))'
+ cattr='__attribute((alias("'$alias'"))) FC_ATTRIBUTE_VISIBILITY_EXPORT'
echo "extern __typeof ($name) $name $cattr;" >> $TAIL
;;
esac
#! /bin/sh
# test-driver - basic testsuite driver script.
-scriptversion=2013-07-13.22; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2017 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
EXEEXT=${EXEEXT}; export EXEEXT; \
$(NULL)
-SH_LOG_COMPILER = sh
+BUILT_SOURCES = out.expected
+SH_LOG_COMPILER = sh
TESTS=run-test.sh
TESTDATA=4x6.pcf 8x16.pcf out.expected fonts.conf.in
+if FREETYPE_PCF_LONG_FAMILY_NAMES
+$(srcdir)/out.expected: $(srcdir)/out.expected-long-family-names
+ cp $(srcdir)/out.expected-long-family-names $(srcdir)/out.expected
+else
+$(srcdir)/out.expected: $(srcdir)/out.expected-no-long-family-names
+ cp $(srcdir)/out.expected-no-long-family-names $(srcdir)/out.expected
+endif
+
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
check_PROGRAMS =
test_bz89617_LDADD = $(top_builddir)/src/libfontconfig.la
TESTS += test-bz89617
+check_PROGRAMS += test-bz131804
+test_bz131804_LDADD = $(top_builddir)/src/libfontconfig.la
+TESTS += test-bz131804
+
noinst_PROGRAMS = $(check_PROGRAMS)
if !OS_WIN32
test_bz96676_LDADD = $(top_builddir)/src/libfontconfig.la
TESTS += test-bz96676
-EXTRA_DIST=$(check_SCRIPTS) $(TESTDATA)
+EXTRA_DIST=run-test.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names
+
+CLEANFILES=out fonts.conf
-CLEANFILES=
+MAINTAINERCLEANFILES=out.expected
-include $(top_srcdir)/git.mk
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-TESTS = run-test.sh test-bz89617$(EXEEXT) test-bz96676$(EXEEXT)
-check_PROGRAMS = $(am__EXEEXT_1) test-bz89617$(EXEEXT) $(am__EXEEXT_2) \
+TESTS = run-test.sh test-bz89617$(EXEEXT) test-bz131804$(EXEEXT) \
test-bz96676$(EXEEXT)
+check_PROGRAMS = $(am__EXEEXT_1) test-bz89617$(EXEEXT) \
+ test-bz131804$(EXEEXT) $(am__EXEEXT_2) test-bz96676$(EXEEXT)
@HAVE_PTHREAD_TRUE@am__append_1 = test-pthread
@OS_WIN32_FALSE@am__append_2 = test-migration
subdir = test
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_symbol.m4 \
$(top_srcdir)/m4/ax_cc_for_build.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@HAVE_PTHREAD_TRUE@am__EXEEXT_1 = test-pthread$(EXEEXT)
@OS_WIN32_FALSE@am__EXEEXT_2 = test-migration$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
-test_bz89617_SOURCES = test-bz89617.c
-test_bz89617_OBJECTS = test_bz89617-test-bz89617.$(OBJEXT)
-test_bz89617_DEPENDENCIES = $(top_builddir)/src/libfontconfig.la
+test_bz131804_SOURCES = test-bz131804.c
+test_bz131804_OBJECTS = test-bz131804.$(OBJEXT)
+test_bz131804_DEPENDENCIES = $(top_builddir)/src/libfontconfig.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
+test_bz89617_SOURCES = test-bz89617.c
+test_bz89617_OBJECTS = test_bz89617-test-bz89617.$(OBJEXT)
+test_bz89617_DEPENDENCIES = $(top_builddir)/src/libfontconfig.la
test_bz89617_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_bz89617_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = test-bz89617.c test-bz96676.c test-migration.c \
- test-pthread.c
-DIST_SOURCES = test-bz89617.c test-bz96676.c test-migration.c \
- test-pthread.c
+SOURCES = test-bz131804.c test-bz89617.c test-bz96676.c \
+ test-migration.c test-pthread.c
+DIST_SOURCES = test-bz131804.c test-bz89617.c test-bz96676.c \
+ test-migration.c test-pthread.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
FGREP = @FGREP@
FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
FREETYPE_LIBS = @FREETYPE_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIT = @GIT@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GPERF = @GPERF@
GREP = @GREP@
HASDOCBOOK = @HASDOCBOOK@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML2_LIBS = @LIBXML2_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PKG_EXPAT_CFLAGS = @PKG_EXPAT_CFLAGS@
+PKG_EXPAT_LIBS = @PKG_EXPAT_LIBS@
+POSUB = @POSUB@
PREFERRED_HINTING = @PREFERRED_HINTING@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SHELL = @SHELL@
STRIP = @STRIP@
TEMPLATEDIR = @TEMPLATEDIR@
+USE_NLS = @USE_NLS@
+UUID_CFLAGS = @UUID_CFLAGS@
+UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMLDIR = @XMLDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
EXEEXT=${EXEEXT}; export EXEEXT; \
$(NULL)
+BUILT_SOURCES = out.expected
SH_LOG_COMPILER = sh
TESTDATA = 4x6.pcf 8x16.pcf out.expected fonts.conf.in
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
-DSRCDIR="\"$(abs_srcdir)\""
test_bz89617_LDADD = $(top_builddir)/src/libfontconfig.la
+test_bz131804_LDADD = $(top_builddir)/src/libfontconfig.la
noinst_PROGRAMS = $(check_PROGRAMS)
@OS_WIN32_FALSE@test_migration_LDADD = $(top_builddir)/src/libfontconfig.la
test_bz96676_LDADD = $(top_builddir)/src/libfontconfig.la
-EXTRA_DIST = $(check_SCRIPTS) $(TESTDATA)
-CLEANFILES =
-all: all-am
+EXTRA_DIST = run-test.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names
+CLEANFILES = out fonts.conf
+MAINTAINERCLEANFILES = out.expected
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
.SUFFIXES: .c .lo .log .o .obj .sh .sh$(EXEEXT) .trs
echo " rm -f" $$list; \
rm -f $$list
+test-bz131804$(EXEEXT): $(test_bz131804_OBJECTS) $(test_bz131804_DEPENDENCIES) $(EXTRA_test_bz131804_DEPENDENCIES)
+ @rm -f test-bz131804$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_bz131804_OBJECTS) $(test_bz131804_LDADD) $(LIBS)
+
test-bz89617$(EXEEXT): $(test_bz89617_OBJECTS) $(test_bz89617_DEPENDENCIES) $(EXTRA_test_bz89617_DEPENDENCIES)
@rm -f test-bz89617$(EXEEXT)
$(AM_V_CCLD)$(test_bz89617_LINK) $(test_bz89617_OBJECTS) $(test_bz89617_LDADD) $(LIBS)
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-bz131804.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-bz96676.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-migration.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pthread.Po@am__quote@
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+test-bz131804.log: test-bz131804$(EXEEXT)
+ @p='test-bz131804$(EXEEXT)'; \
+ b='test-bz131804'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
test-bz96676.log: test-bz96676$(EXEEXT)
@p='test-bz96676$(EXEEXT)'; \
b='test-bz96676'; \
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(PROGRAMS)
installdirs:
-install: install-am
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
uninstall-am:
-.MAKE: check-am install-am install-strip
+.MAKE: all check check-am install install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
clean-checkPROGRAMS clean-generic clean-libtool \
.PRECIOUS: Makefile
+@FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE@$(srcdir)/out.expected: $(srcdir)/out.expected-long-family-names
+@FREETYPE_PCF_LONG_FAMILY_NAMES_TRUE@ cp $(srcdir)/out.expected-long-family-names $(srcdir)/out.expected
+@FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE@$(srcdir)/out.expected: $(srcdir)/out.expected-no-long-family-names
+@FREETYPE_PCF_LONG_FAMILY_NAMES_FALSE@ cp $(srcdir)/out.expected-no-long-family-names $(srcdir)/out.expected
+
-include $(top_srcdir)/git.mk
# Tell versions [3.59,3.63) of GNU make to not export all variables.
--- /dev/null
+Misc Fixed:pixelsize=6
+Sony Fixed:pixelsize=16
+=
+Misc Fixed:pixelsize=6
+Sony Fixed:pixelsize=16
+=
+Misc Fixed:pixelsize=6
+Sony Fixed:pixelsize=16
--- /dev/null
+Fixed:pixelsize=16
+Fixed:pixelsize=6
+=
+Fixed:pixelsize=16
+Fixed:pixelsize=6
+=
+Fixed:pixelsize=16
+Fixed:pixelsize=6
FONTDIR="$MyPWD"/fonts
CACHEDIR="$MyPWD"/cache.dir
+EXPECTED=${EXPECTED-"out.expected"}
ECHO=true
FCLIST=../fc-list/fc-list$EXEEXT
FCCACHE=../fc-cache/fc-cache$EXEEXT
+which bwrap > /dev/null 2>&1
+if [ $? -eq 0 ]; then
+ BWRAP=`which bwrap`
+fi
+
FONT1=$TESTDIR/4x6.pcf
FONT2=$TESTDIR/8x16.pcf
echo "=" >> out
$FCLIST - family pixelsize | sort >> out
tr -d '\015' <out >out.tmp; mv out.tmp out
- if cmp out $TESTDIR/out.expected > /dev/null ; then : ; else
+ if cmp out $TESTDIR/$EXPECTED > /dev/null ; then : ; else
echo "*** Test failed: $TEST"
- echo "*** output is in 'out', expected output in 'out.expected'"
+ echo "*** output is in 'out', expected output in '$EXPECTED'"
exit 1
fi
rm out
cp $FONT2 $FONTDIR/a
check
+dotest "Re-creating .uuid"
+prep
+cp $FONT1 $FONTDIR
+$FCCACHE $FONTDIR
+cat $FONTDIR/.uuid > out1
+$FCCACHE -f $FONTDIR
+cat $FONTDIR/.uuid > out2
+if cmp out1 out2 > /dev/null ; then : ; else
+ echo "*** Test failed: $TEST"
+ echo "*** .uuid was modified unexpectedly"
+ exit 1
+fi
+$FCCACHE -r $FONTDIR
+cat $FONTDIR/.uuid > out2
+if cmp out1 out2 > /dev/null ; then
+ echo "*** Test failed: $TEST"
+ echo "*** .uuid wasn't modified"
+ exit 1
+fi
+rm out1 out2
+
+dotest "Consistency between .uuid and cache name"
+prep
+cp $FONT1 $FONTDIR
+$FCCACHE $FONTDIR
+cat $FONTDIR/.uuid
+$FCCACHE -r $FONTDIR
+uuid=`cat $FONTDIR/.uuid`
+ls $CACHEDIR/$uuid*
+if [ $? != 0 ]; then
+ echo "*** Test failed: $TEST"
+ echo "No cache for $uuid"
+ ls $CACHEDIR
+ exit 1
+fi
+n=`ls -1 $CACHEDIR/*cache-* | wc -l`
+if [ $n != 1 ]; then
+ echo "*** Test failed: $TEST"
+ echo "Unexpected cache was created"
+ ls $CACHEDIR
+ exit 1
+fi
+
+dotest "Keep mtime of the font directory"
+prep
+cp $FONT1 $FONTDIR
+touch -d @0 $FONTDIR
+stat $FONTDIR | grep Modify > out1
+$FCCACHE $FONTDIR
+stat $FONTDIR | grep Modify > out2
+if cmp out1 out2 > /dev/null ; then : ; else
+ echo "*** Test failed: $TEST"
+ echo "mtime was modified"
+ exit 1
+fi
+
+if [ x"$BWRAP" != "x" ]; then
+dotest "Basic functionality with the bind-mounted cache dir"
+prep
+cp $FONT1 $FONT2 $FONTDIR
+$FCCACHE $FONTDIR
+sleep 1
+ls -l $CACHEDIR > out1
+TESTTMPDIR=`mktemp -d /tmp/fontconfig.XXXXXXXX`
+sed "s!@FONTDIR@!$TESTTMPDIR/fonts!
+s!@CACHEDIR@!$TESTTMPDIR/cache.dir!" < $TESTDIR/fonts.conf.in > bind-fonts.conf
+$BWRAP --bind / / --bind $CACHEDIR $TESTTMPDIR/cache.dir --bind $FONTDIR $TESTTMPDIR/fonts --bind .. $TESTTMPDIR/build --dev-bind /dev /dev --setenv FONTCONFIG_FILE $TESTTMPDIR/build/test/bind-fonts.conf $TESTTMPDIR/build/fc-match/fc-match$EXEEXT -f "%{file}\n" ":foundry=Misc" > xxx
+ls -l $CACHEDIR > out2
+if cmp out1 out2 > /dev/null ; then : ; else
+ echo "*** Test failed: $TEST"
+ echo "cache was updated."
+ exit 1
+fi
+if [ x`cat xxx` != "x$TESTTMPDIR/fonts/4x6.pcf" ]; then
+ echo "*** Test failed: $TEST"
+ echo "file property doesn't points to the new place: $TESTTMPDIR/fonts/4x6.pcf"
+ exit 1
+fi
+rm -rf $TESTTMPDIR out1 out2 xxx bind-fonts.conf
+fi
+
rm -rf $FONTDIR $CACHEFILE $CACHEDIR $FONTCONFIG_FILE out
--- /dev/null
+/*
+ * fontconfig/test/test-bz89617.c
+ *
+ * Copyright © 2000 Keith Packard
+ * Copyright © 2015 Akira TAGOH
+ *
+ * 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 the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * 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.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) 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.
+ */
+#include <stdio.h>
+#include <fontconfig/fontconfig.h>
+
+FcLangResult
+comp(const FcChar8 *l1, const FcChar8 *l2)
+{
+ FcLangSet *ls1, *ls2;
+ FcLangResult result;
+
+ ls1 = FcLangSetCreate();
+ ls2 = FcLangSetCreate();
+ FcLangSetAdd(ls1, l1);
+ FcLangSetAdd(ls2, l2);
+
+ result = FcLangSetCompare(ls1, ls2);
+ FcLangSetDestroy(ls1);
+ FcLangSetDestroy(ls2);
+
+ return result;
+}
+
+int
+main(void)
+{
+ int i = 1;
+
+ /* 1 */
+ if (comp((const FcChar8 *)"ku-am", (const FcChar8 *)"ku-iq") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 2 */
+ if (comp((const FcChar8 *)"ku-am", (const FcChar8 *)"ku-ir") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 3 */
+ if (comp((const FcChar8 *)"ku-am", (const FcChar8 *)"ku-tr") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 4 */
+ if (comp((const FcChar8 *)"ku-iq", (const FcChar8 *)"ku-ir") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 5 */
+ if (comp((const FcChar8 *)"ku-iq", (const FcChar8 *)"ku-tr") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 6 */
+ if (comp((const FcChar8 *)"ku-ir", (const FcChar8 *)"ku-tr") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 7 */
+ if (comp((const FcChar8 *)"ps-af", (const FcChar8 *)"ps-pk") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 8 */
+ if (comp((const FcChar8 *)"ti-er", (const FcChar8 *)"ti-et") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 9 */
+ if (comp((const FcChar8 *)"zh-cn", (const FcChar8 *)"zh-hk") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 10 */
+ if (comp((const FcChar8 *)"zh-cn", (const FcChar8 *)"zh-mo") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 11 */
+ if (comp((const FcChar8 *)"zh-cn", (const FcChar8 *)"zh-sg") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 12 */
+ if (comp((const FcChar8 *)"zh-cn", (const FcChar8 *)"zh-tw") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 13 */
+ if (comp((const FcChar8 *)"zh-hk", (const FcChar8 *)"zh-mo") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 14 */
+ if (comp((const FcChar8 *)"zh-hk", (const FcChar8 *)"zh-sg") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 15 */
+ if (comp((const FcChar8 *)"zh-hk", (const FcChar8 *)"zh-tw") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 16 */
+ if (comp((const FcChar8 *)"zh-mo", (const FcChar8 *)"zh-sg") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 17 */
+ if (comp((const FcChar8 *)"zh-mo", (const FcChar8 *)"zh-tw") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 18 */
+ if (comp((const FcChar8 *)"zh-sg", (const FcChar8 *)"zh-tw") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 19 */
+ if (comp((const FcChar8 *)"mn-mn", (const FcChar8 *)"mn-cn") != FcLangDifferentTerritory)
+ return i;
+ i++;
+ /* 20 */
+ if (comp((const FcChar8 *)"pap-an", (const FcChar8 *)"pap-aw") != FcLangDifferentTerritory)
+ return i;
+ i++;
+
+ return 0;
+}
+
+
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>