I've released 2.12.1 containing some fixes:
- IMPORTANT: properly validate offsets in cache files. see changelog and
CVE-2016-5384 for more details. thanks to Tobias Stoeckmann for catching
this up!
- build issues regarding to Python.
- add --with-default-hinting to configure.
- fix segfault in FcWeightFromOpenType()
Here is the announcement for the stable release after 2 years, which
many features and bug fixes contains.
Summary of the changes since last stable release is:
- - Support the size specific design selection in OS/2 table version 5
- - Allow the modification on 'lang' and 'charset' objects
- - Increase the refcount in FcConfigSetCurrent()
- - some updates in orth files
- - Add --error-on-no-fonts option to fc-cache
- - Use lang=und instead of lang=xx for "undetermined"
- - Add FC_WEIGHT_DEMILIGHT and change from 65 to 55
- - Add FC_COLOR
- - Treat color fonts as scalable
- - no FC_LANG added with FcConfigSubstitute() when it has "und"
- - Hardcode blanks in library
- - Support symbol fonts
- - Unicode 8.0 support
- - Add hintstyle templates and default hintslight
- - GX font support
- - Improve the footprint issue on updating caches
- - Bump the cache version to 6
- - more bug fixes
- - and more...
not found, but:
Here is the summary of changes since 2.10.2:
- Make fontconfig thread-safe
- Use O_CLOEXEC to open a file
- Fix/improve portability issues
- new tool, fc-validate to check the glyph coverage against the language
- Deprecation:
- FcName(Un)RegisterObjectTypes()
- FcName(Un)RegisterConstants()
- FC_RASTERIZER
- User-defined numerical expressions support in the matrix element
- See conf.d/10-scale-bitmap-fonts.conf for example
- Add new rule to scale the bitmap font and enabled by default
- New objects support in FcPattern
- FC_FONT_FEATURES
- FC_PRGNAME
- FC_HASH
- FC_POSTSCRIPT_NAME
- The cache version bumped to 4
- Support intermixed edit and test elements
- Support delete and delete_all mode in edit element
- Add --sysroot option to fc-cache
- Fix the parser to ignore the leading whitespaces in the parameter
- Auto migration for XDG Base Directory Specification
- Match on FC_SCALABLE and FC_FONTFORMAT
- Add quz.orth
- Improve 30-metric-aliases.conf
- Workaround the race condition issue on updating cache
2.10.95
Changes since 2.10.94:
Akira TAGOH (3):
Fix a typo
Fix a crash
Bump version to 2.10.95
2.10.94
Changes since 2.10.93:
Akira TAGOH (26):
Bug 64906 - FcNameParse() should ignore leading whitespace in parameters
Fix a comparison of constant warning with clang
Fix a shift count overflow on 32bit box
Fix a incompatible pointer warning on NetBSD
Add FcTypeUnknown to FcType to avoid comparison of constant -1
Fix the behavior of intermixed tests end edits in match
Ignore scandir() check on mingw
Use INT_MAX instead of unreliable hardcoding value
Add FC_UNUSED to FC_ASSERT_STATIC macro to avoid compiler warning
Rework to apply the intermixed test and edit elements in one-pass
trivial code optimization
Correct fontconfig.pc to add certain dependencies for build
Correct fontconfig.pc to add certain dependencies for static build
Fix wrong edit position
Bug 67809 - Invalid read/write with valgrind when assigning something twice
warn deprecated only when migration failed
Bug 67845 - Match on FC_SCALABLE
Bug 16818 - fontformat in match pattern is not respected?
Bug 68340 - More metric compat fonts
Bug 63399 - Add default aliases for Georgia, Garamond, Palatino Linotype, Trebuchet MS
Fix a typo
Fix a crash when non-builtin objects are edited
Fix a wrong edit position when 'kind' is different
Bug 68587 - copy qu.orth to quz.orth
Add quz.orth to Makefile.am
Bump version to 2.10.94
Behdad Esfahbod (2):
Minor
Fix assertion
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
Bug 62980 - matching native fonts with even :lang=en
Ensure closing fp on error
Obtain fonts data via FT_Face instead of opening a file directly
Revert the previous change and rework to not export freetype API outside fcfreetype.c
documented FC_HASH and FC_POSTSCRIPT_NAME
Bug 63329 - make check fails: .. contents:: :depth: 2
Use the glob matching for filename
Bug 63452 - conf.d/README outdated
Fix missing OSAtomicCompareAndSwapPtrBarrier() on Mac OS X 10.4
Bug 63922 - FcFreeTypeQueryFace fails on postscripts fonts loaded from memory
build-chain, replace INCLUDES directive by AM_CPPFLAGS
Bump version to 2.10.92
Minor fix
Bump libtool revision
Minor cleanup
Bug 38737 - Wishlist: support FC_POSTSCRIPT_NAME
Add the PostScript name into the cache and the matcher.
Scoring the better font against the PostScript name by
the forward-matching.
Fix a SIGSEGV on FcPatternGet* with NULL pattern
Fix crash with FcConfigSetCurrent(NULL)
Do not copy FC_*LANG_OBJECT even if it's not available on the pattern
those objects are linked to the corresponding string objects.
this may causes inconsistency that those objects has more values
than them.
Bug 59456 - Adding a --sysroot like option to fc-cache
Add an ability to set the system root to generate the caches.
In order to do this, new APIs, FcConfigGetSysRoot() and
FcConfigSetSysRoot() is available.
Fix a memory leak
Fix broken sort order with FcFontSort()
which was introduced by 4eab908c8679a797ac7016b77a93ee41bb11b0fc
Fix a crash when the object is non-builtin object
Fix a typo
Bug 60783 - Add Liberation Sans Narrow to 30-metric-aliases.conf
Add Liberation Sans Narrow as an alias for Arial Narrow
Bug 60748 - broken conf.d/10-autohint.conf and conf.d/10-unhinted.conf
Move the target of recipes to the "pattern" from the "font".
This is to ensure the targeted objects is updated by them
prior to FcDefaultSubstitute() so that it can adds the default
values properly.
Accept digits as part of OpenType script tags
They've been used since 2005.
Add Culmus foundry to the vendor list
Maps fonts produced by the Culmus project
<http://culmus.sourceforge.net>
to the XLFD foundry name culmus.
For TrueType fonts, maps the vendor code CLM from the TrueType vendor
id field.
For Type1 fonts, which use heuristics to guess mappings to XLFD
foundries from
words in the copyright notice, add the names of the main contributors
to
the Culmus product to recognize the fonts under their copyright.
Patch from Maxim Iorsh
Use LOG_COMPILER and AM_TESTS_ENVIRONMENT
TESTS_ENVIRONMENT is deprecated and should be reserved to the user to
override the test environment
<ext>_LOG_COMPILER is meant to contain the program that runs the test
with <ext> extension
LOG_COMPILER is for extensionless tests
AM_TESTS_ENVIRONMENT is meant to set the environment for the tests
https://bugs.freedesktop.org/show_bug.cgi?id=60192
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Bump the cache version to 4
Update _FcMatchers definition logic
to make it easier to maintain. also added FC_HASH_OBJECT to be matched
in the pattern, prior to FC_FILE_OBJECT.
Bug 60312 - DIST_SUBDIRS should never appear in a conditional
As it is documented like this:
If SUBDIRS is defined conditionally using Automake conditionals,
Automake will define DIST_SUBDIRS automatically from the possible
values of SUBDIRS in all conditions.
So we don't need to re-define DIST_SUBDIRS in Makefile.am unless
we use AC_SUBST to define SUBDIRS.
Patch from Quentin Glidic
Bug 50733 - Add font-file hash?
Add "hash" object which contains SHA256 hash value (so far) computed
from the font file.
Use AM_MISSING_PROG instead of hardcoding missing
Revert "test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT"
This reverts commit 2146b0307a3476892723104481f27f8484451c52.
That change introduces incompatibility and seems not working with
older releases of automake, including automake 1.12.2.
test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT
TESTS_ENVIRONMENT is deprecated and should be reserved to the user to
override the test environment
<ext>_LOG_COMPILER is meant to contain the program that runs the test
with <ext> extension
AM_TESTS_ENVIRONMENT is meant to set the environment for the tests
https://bugs.freedesktop.org/show_bug.cgi?id=60192
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Use AM_MISSING_PROG instead of hardcoding missing
Modernize configure.ac
Bug 23757 - Add mode="delete" to <edit>
Add two edit mode, "delete" and "delete_all".
what values are being deleted depends on <test> as documented.
if the target object is same to what is tested, matching value there
will be deleted. otherwise all of values in the object will be
deleted.
so this would means both edit mode will not take any expressions.
e.g.
Given that the testing is always true here, the following rules:
<match>
<test name="foo" compare="eq">
<string>bar</string>
</test>
<edit name="foo" mode="delete"/>
</match>
will removes "bar" string from "foo" object. and:
<match>
<test name="foo" compare="eq">
<string>foo</string>
</test>
<edit name="bar" mode="delete"/>
</match>
will removes all of values in "bar" object.
build: Only use PKG_INSTALLDIR if available
It's only in pkg-config 0.27 or newer, but 0.25 at least is still
fairly widespread.
Use the PKG_INSTALLDIR macro.
Bug 59385 - Do the right thing for intermixed edit and test elements
This changes allows to have multiple mathcing rules in one <match>
block
in the same order.
remove the unnecessary code
Add another approach to FC_PRGNAME for Solaris 10 or before
Patch from Raimund Steger
Fix installation on MinGW32
Patch from LRN
Fix mkstemp absence for some platform
Patch from LRN and modified to make more generic.
Add missing file descriptor to F_DUPFD_CLOEXEC
Patch from Matthieu Herrb
Fix readlink failure
As reported by Raimund Steger.
Better fix for 2fe5ddfd
Drop realpath() and fix breakage on Win32
Fix FC_PRGNAME default
As reported by Raimund Steger.
Fix fc-cache crash caused by looking up NULL object incorrectly
We were returning a skiplist node when looking up NULL!
Minor
Remove unused checks for common functions
The check results of these were never actually used.
Improve FcGetPrgname() to work on BSD
Bug 59379 - FC_PRGNAME
Can be used for per-application configuration.
Bug 50497 - RFE: Add OpenType feature tags support
Add FC_FONT_FEATURES to store the feature tags to be enabled.
Fix the build fail on MinGW
Reported at
http://lists.freedesktop.org/archives/fontconfig/2013-January/004601.html
just warn at the runtime instead of the compile time. it somewhat
works
on even MinGW since FcMakeTempfile() isn't used on Win32 so far.
Minor
Copy all values from pattern to font if the font doesn't have
the element
Bug 59376 - FcFontRenderPrepare enhancement
Ensure we find the uninstalled fontconfig header
Patch from Colin Walters.
Respect $NOCONFIGURE
Patch from Colin Walters.
Bump version to 2.10.2
Bug 57286 - Remove UnBatang and Baekmuk Batang from monospace in
65-nonlatin.conf
Those two fonts are serif fonts. shouldn't be added to monospace.
Update CaseFolding.txt to Unicode 6.2
No real updates between 6.1 and 6.2, but anyway.
Bug 57114 - regression on FcFontMatch with namelang
After 7587d1c99d9476b6dd4dbe523c0204da700fed8d applied, family,
style, and fullname is localized against current locale or lang
if any though, the string in other languages were dropped from
the pattern. this caused unexpected mismatch on the target="font"
rules.
This fix adds other strings at the end of the list.
Bug 56531 - autogen.sh fails due to missing 'm4' directory
Keep m4 directory in git.
Use automake variable instead of cleaning files in clean-local
just for git.mk coming up from Behdad's threadsafe branch
autogen.sh: Add -I option to tell aclocal a place for external
m4 files
Fix syntax errors in fonts.dtd.
Patch from Steve Simpson
Fix wrongly squashing for the network path on Win32.
Patch from Diego Santa Cruz
deal with warnings as errors for the previous change
missed this change to commit. doh!
Bug 52573 - patch required to build 2.10.x with oldish GNU C library
headers
On older libc, _POSIX_C_SOURCE didn't satisfy to use posix_fadvise()
and AC_CHECK_FUNCS doesn't check a header file if the function is
declared there properly. so use AC_LINK_IFELSE instead.
Bug 54138 - X_OK permission is invalid for win32 access(..) calls
X_OK checking was added back in
8ae1e3d5dc323542e7def06a42deea62c7ba7027
which was removed due to the same reason in
238489030a64fa883f8f9fc3d73247b7f7257899.
apparently the test case in Bug#18934 still works without it.
so I'm removing it again to get this working on Windows.
Remove _CONFIG_FIXUPS_H_ guards, so multiple includes of "config.h"
result in the correct values
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Fix for libtoolize's warnings
Fix N'ko orthography
Bug 53585 - Two highly-visible typos in src/fcxml.c
changes:
* FC_GLOBAL_ADVANCE now deprecated
* Disable non-Unicode SFNT names by default (Use --enable-iconv to
enable it)
* Available config files has been moved to
/usr/share/fontconfig/conf.avail
* Warns multiple values of <test>s and <family>s in <match> and <alias>
* Add XDG Base Directory Specification support
* Add FC_LANG environment variable for default substitute language.
* Add more options to configure the installation paths
* Add "namelang" object to obtain the localized name of the family,
style and fullname.
* Unicode 6.1 support
* CACHEDIR.TAG support
* Fix several build issues with older gcc, MinGW, Win32.
* Fix a fail of creating caches on some filesystems
* Fix memory leaks
* Add/Update orthography files
* Improve documents
* and more bug fixes and enhancements.
pkgsrc changes: some cleanup - install only useful stuff to /etc
Bump version to 2.9.0
Get rid of $< from Makefile.am
Fix a build fail on some environment.
Fix a build fail on some environment
Fix a build issue
Update to detect the uncommited changes properly
Update the version info
Fix distcheck error
Bug 19128 - Handling whitespace in aliases
Add a workaround alias for Dingbats.
Check null value for given object to avoid possibly segfaulting
Bug 23336 - unable to display bitmap-only (SFNT) TrueType or OpenType
Force to find out a size for bitmap-only ttf to avoid the blank glyphs
in the font.
Patch from Bug Fly
Bug 41694 - FcCache functions have random-number-generator side
effects
Use the own random number generator state if possible.
Bug 25652 - Add ortho file for locale mni_IN
Add mni.orth for Maniputi
Bug 25653 - Add ortho file for locale doi_IN
Add doi.orth for Dogri
Add brx.orth and sat.orth
Bug 25650 - Add ortho file for locale sat_IN
Add sat.orth for Santali
Bug 25651 - Add ortho file for locale brx_IN
Add brx.orth for Bodo.
Bug 27385 - lcdfilter settings for freetype-2.3.12 not available
in fontconfig-2.8.0
Add config files for FT_LcdFilter options.
Patch from Robin Johnson.
Do not update stream->pos when seeking is failed.
Bug 46169 - Pointer error in FcConfigGlobMatch
Fix possibly accessing the invalid memory and a crash in the
worst case
when the glob string is longer than the string.
makealias: handle missing funcs better
When adding new functions, if the actual definition doesn't match the
header (say due to a typo), the regeneration of the internal headers
get confused and output bad cpp logic. This causes gcc to barf due
to mismatched #ifdef/#endif. Which is a pain to figure out due to
the sheer voulme of generated code.
So tweak the makealias script to detect this case and error out.
While we're here, improve the cpp output a bit to indent, include
comments, and merge similar ifdef blocks.
FcObjectValidType: tweak -1 checking
Newer gcc doesn't like when you switch on an enum and use a value
that isn't declared:
fcname.c: In function 'FcObjectValidType':
fcname.c:299:2: warning: case value '4294967295'
not in enumerated type 'FcType' [-Wswitch]
So tweak the logic to avoid this warning.
fix build warnings when using --with-arch
Latest configure code will setup FC_ARCHITECTURE directly rather than
going through ARCHITECTURE, so update fcarch.h accordingly.
fc-{list,match}: constify format string
We don't free this string anywhere, so mark it const to avoid gcc
warnings
and possible bugs in the future (if people did try freeing it).
fc-list.c: In function 'main':
fc-list.c:161:16: warning: pointer targets in assignment
differ in signedness [-Wpointer-sign]
fc-match.c: In function 'main':
fc-match.c:201:13: warning: pointer targets in assignment
differ in signedness [-Wpointer-sign]
fc-match.c:203:13: warning: pointer targets in assignment
differ in signedness [-Wpointer-sign]
FcName{,Get}Constant: constify string input
These funcs don't modify the incoming string, so add const markings.
This is the "right thing", shouldn't change the ABI, and fixes some
gcc warnings:
fccfg.c: In function 'FcConfigEvaluate':
fccfg.c:916:2: warning: passing argument 1 of 'IA__FcNameConstant'
discards 'const' qualifier from pointer target type [enabled
by default]
fcalias.h:253:34: note: expected 'FcChar8 *' but
argument is of type 'const FcChar8 *'
fcxml.c: In function 'FcTypecheckExpr':
fcxml.c:604:2: warning: passing argument 1 of 'IA__FcNameGetConstant'
discards 'const' qualifier from pointer target type [enabled
by default]
fcalias.h:251:37: note: expected 'FcChar8 *' but
argument is of type 'const FcChar8 *'
fc-cat: fix pointer warning
Add a cast to avoid a gcc warning:
fc-cat.c: In function 'cache_print_set':
fc-cat.c:230:2: warning: pointer targets in passing argument 2
of 'FcPatternFormat' differ in signedness [-Wpointer-sign]
../fontconfig/fontconfig.h:860:1: note:
expected 'const FcChar8 *' but argument is of type 'char *'
FcStat: change to FcChar8 for first arg
This shouldn't affect the ABI, makes FcStat more like the rest of the
fontconfig API, and fixes warnings where we pass FcChar8* pointers in
to this func from other places.
delete unused variables
Newer gcc is better at detecting set-but-unused variables.
FcStrPlus: optimize a little
We've already calculated the lengths of these strings, so re-use those
values to avoid having to rescan the strings multiple times.
Bug 44826 - <alias> must contain only a single <family>
Fix invalid syntax around alias elements in 30-metric-aliases.conf
40-nonlatin.conf and 45-latin.conf.
Patch from lolilolicon
Get rid of the unexpected family name
UmePlus P Gothic isn't a serif font.
Bug 43406 - typo of Japanese font name in conf.d/65-nonlatin.conf
Fix a typo.
Bug 43321 - Required corrections in urdu.orth file
Drop U+0629 and U+0647, and add U+06c3 to ur.orth
Bug 42423 - make default Korean font from Un to Nanum
Update 40-nonlatin.conf and 65-nonlatin.conf for Nanum korean fonts.
Bug 40452 - Running 'fc-match --all' core dumps when no fonts are
installed
This would changes the behavior of FcFontSort().
it won't returns NULL afterward.
Bug 35517 - Remove Apple Roman cmap support
Get rid of the apple roman encoding related code
Add a missing file
Bug 32965 - Asturian (ast-ES) language matching missing ḷḷḥ
Add U+1E24, U+1E25, U+1E36 and U+1e37 for Asturian
Remove the unnecessary comment in ks.orth
Bug 27195 - need updates to ks.orth file
Add U+0620, U+0657, U+065f, U+0672, U+0673 and U+06c4 for Kashmiri
See http://www.unicode.org/charts/PDF/U0600.pdf
Bug 24744 - No n'ko orthography
Add nqo.orth for N'Ko
Add FcPublic to FcLangSetUnion and FcLangSetSubtract
Patch from ssp
Fix parallel build
Bug 41171 - Invalid use of memset
Fix stupid bug in FcFontSort()
I broke FcFontSort() language handling at the end of 2008 with this
commit: c7641f28
G-d knows how many of the lang-matching bugs in bugzilla will be
fixed by this changed...
I'm really sorry, everyone!
Switch fc-cat to use FcPatternFormat()
Added the a builtin "fccat" to FcPatternFormat().
Switch fc-match to use FcPatternFormat()
Fix small bug in FcPatternFormat that was letting element-default to
consume the convertor sequence.
Bug 26718 - "fc-match sans file" doesn't work
- Do not throw away FC_FILE in FcNameUnparse
- Update the builtin "fclist" format to remove FC_FILE properly
instead
- Switch fc-list to use FcPatternFormat()
Note that I had previously broken fc-list and it was not showing the
file name anymore. No one noticed that it seems! Now fixed.
Bug 36577 - Updating cache with no-bitmaps disables bitmap fonts...
Do not remove blacklisted fonts during cache generation. We already
apply the blacklist when reading the caches. The idea always has been
that the config should not affect caches built, although that design
was tarnished with the introduction of target="scan" configurations.
[.gitignore] Update
Bug 35587 - Add padding to make valgrind and glibc not hate each other
Fix warning
Always define FcStat as a function
Such that first arg is const char *. We also need to make more
changes
in that function as part of some other bug.
More doc typo fixes
Mark constant strings as constant
Fixes a few compiler warnings in fcxml.c and makes it clear that they
should not be freed.
Bug 30566 - fcformat.c:interpret_enumerate() passes uninitialized
idx to FcPatternGetLangSet()
Bug 20113 - Uighur (ug) orthography incomplete
Documentation fixes
Remove --enable-maintainer-mode from autogen.sh
Update CaseFolding.txt to Unicode 6.0
Remove AM_MAINTAINER_MODE
That macro is simply broken.
This was also brought up in:
Bug 32679 - fontconfig-2.8.0 does not cross compile
Fix assertion failure on le32d4
Reported by Jon TURNEY.
Doc nit
Skip <range> elements with begin > end
Add <range> support for <blank> into the DTD
Merge: 30fd4fa fa269cf
Allow editing charset and lang in target="scan"
Merge commit 'fa269cf812ee304534b0e4c44662202496008db0'
Fixes:
Bug 31969 - Can't modify charset in target="scan"
Bug 23758 - Can't modify lang in target="scan"
Bump version
Make fc-arch stuff cross-compiling-safe
Fixes:
Bug 32679 - fontconfig-2.8.0 does not cross compile
Bug 25462 - Cross-compilation doesn't work
Make most generated-files cross-compiling-safe
By simply including a copy in the tarball.
Remains fc-arch which is trickier.
add some documents
Add editing langset feature.
The syntax to add any langset to the langset table looks like:
<match target="scan">
<test name="family">
<string>Buggy Sans</string>
</test>
<edit name="lang" mode="assign">
<plus>
<name>lang</name>
<langset>
<string>zh-cn</string>
<string>zh-tw</string>
</langset>
</plus>
</edit>
</match>
To remove any langset from the langset table:
<match target="scan">
<test name="family">
<string>Buggy Sans</string>
</test>
<edit name="lang" mode="assign">
<minus>
<name>lang</name>
<langset>
<string>ja</string>
</langset>
</minus>
</edit>
</match>
Add the range support in blank element
add some document for range and charset.
Add charset editing feature.
The syntax to add any characters to the charset table looks like:
<match target="scan">
<test name="family">
<string>Buggy Sans</string>
</test>
<edit name="charset" mode="assign">
<plus>
<name>charset</name>
<charset>
<int>0x3220</int> <!-- PARENTHESIZED IDEOGRAPH
ONE -->
</charset>
</plus>
</edit>
</match>
To remove any characters from the charset table:
<match target="scan">
<test name="family">
<string>Buggy Sans</string>
</test>
<edit name="charset" mode="assign">
<minus>
<name>charset</name>
<charset>
<int>0x06CC</int> <!-- ARABIC LETTER FARSI YEH -->
<int>0x06D2</int> <!-- ARABIC LETTER YEH BARREE -->
<int>0x06D3</int> <!-- ARABIC LETTER YEH BARREE
WITH HAMZA ABOVE -->
</charset>
</minus>
</edit>
</match>
You could also use the range element for convenience:
...
<charset>
<int>0x06CC</int> <!-- ARABIC LETTER FARSI YEH -->
<range>
<int>0x06D2</int> <!-- ARABIC LETTER YEH
BARREE -->
<int>0x06D3</int> <!-- ARABIC LETTER YEH
BARREE WITH HAMZA ABOVE -->
</range>
</charset>
...
Bug 28958 - lang=en matches other langs
Patch from Akira TAGOH.
Fix returned value
Cleanup copyright notices to replace "Keith Packard" with "the
author(s)"
Add more copyright owners
fontconfig.pc.in: Add sysconfdir, localstatedir, and PACKAGE
In the default case, cachedir and confdir will evaluate to something
referencing these other variables (which wouldn't otherwise be defined
in the pkg-config file.
Fixes a regression introduced by
81b542b50f82f8a0ad9f38f7d913fe5433631166
Tested-by: Jon TURNEY <jon.turney@dronecode.org.uk>
fontconfig.pc: Add variables for confdir and cachedir
Bug 24729 - [ne_NP] Fix ortho file
Exclude three characters (U+090C..090E) from Nepalese.
[fc-lang] Support excluding characters
By prefixing a line by a hyphen/minus sign. Useful when including
other orth files.
Add new public API: FcCharSetDelChar()
Bug 29995 - fc-cat does not invoke FcFini()
Add comments
Bug 29338 - fc-pattern.sgml, open para tag
Fix compiler warnings
Add fc-pattern cmdline tool
Fix comment
Remove all training whitespaces
More whitespace
Whitespace
Accept TT_PLATFORM_MICROSOFT, TT_MS_ID_SYMBOL_CS from name table
The OT spec says:
"When building a Unicode font for Windows, the platform ID should
be 3 and the encoding ID should be 1. When building a symbol
font for Windows, the platform ID should be 3 and the encoding
ID should be 0."
We were ignoring the SYMBOL_CS entry before. It's UTF-16/UCS-2
like the UNICODE_CS.
Also, always use UTF-16BE instead of UCS-2BE. The conversion
was doing UTF-16BE anyway.
Don't include unistd.h in fontconfig.h
Bug 26783 patch: unistd.h not exist on ms windows
Bug 25152 Don't sleep(2) if all caches were uptodate
Bug 26157 Solaris/Sun C 5.8: compilation of 2.8.0 and 2.7.3 fails
Bug 18886 installation crashes if fontconfig already installed
Run the uninstalled fc-cache, not the installed one.
More doc typo fixes
Fix doc typo
Add note about autogen.sh to INSTALL
Update INSTALL
Bug 25508 configure assumes bash > 2.0 is on system
Remove dolt. With libtool2, there's not much need for dolt.
[doc] Fix typo
[fc-cache] Document -r argument in man page
Always use xorg-cf-files and imake from pkgsrc, replacing xpkgwedge.
Always install man pages, not cat pages when using imake.
Unify the various imake PLIST variables in preparation for dropping.
Adjust xbattbar for the new expectations.
which used to be part of ghostscript-fonts -- not strictly necessary
for me because x11 provides them as well, but done for compatibility
bump PKGREVISION
Bump version to 2.8.0
Bump libtool revision in preparation for release
Improve zip "distribution"
Don't put entries for directories in the zip file. Fetch manpages from
correct place.
Use correct autoconf variable
Use LIBT_CURRENT_MINUS_AGE instead of the undefined
lt_current_minus_age for the name of the DLL when generating the MS
style import library.
[fc-arch] Rename architecture names to better reflect what they are
We only care about three properties in the arch:
- endianness
- pointer size
- for 32-bit archs, whether double is aligned on 4 or 8 bytes
This leads to the following 6 archs (old name -> new name):
x86 -> le32d4
mipsel -> le32d8
x86-64 -> le64
m68k -> be32d4
ppc -> be32d8
ppc64 -> be64
[fc-arch] Beautify the arch template
[fc-case] Update CaseFolding.txt to Unicode 5.2.0
[fc-glyphname] Remove Adobe glyphlist
It was unused.
Clean up Makefile's a bit
[fc-glyphname] Rename internal arrays to prefix with _fc_
Although they were static, I was still surprised that gdb was seeing
our variable "glyphs". Not helpful.
[src] Create fcglyphname.h automatically
[fc-glyphname] Cleanup Makefile.am
Remove bogus comment
Last night in between my dreams I also noticed that we support Unicode
values up to 0x01000000 and not 0x00100000 which I thought before.
This covers the entire Unicode range.
Make sure fclang.h and fcarch.h are built
[lang] Fix serializing LangSet from older versions
[arch] Try to ensure proper FcLangSet alignment in arch
[xml] Remove unused code
[int] Remove more unused macros
Enable automake silent rules
[int] Remove fc_value_* macros that did nothing other than renaming
[int] Remove fc_storage_type() in favor of direct access to v->type
Remove unused macros
Bump cache version up from 2 to 3 and fix FcLangSet caching/crash
Protect cache against future expansions of FcLangSet (adding new
orth files). Previously, doing so could change the size of
that struct. Indeed, that happened between 2.6.0 and 2.7.3, causing
crashes. Unfortunately, sizeof(FcLangSet) was not checked in
fcarch.c.
This changes FcLangSet code to be able to cope with struct size
changes.
And change cache format, hence bumping from 2 to 3.
[int] Define MIN/MAX/ABS macros
[fc-arch] Add FcAlign to arch signature
Move FcAlign to fcint.h
Clarify default confdir and cachedir better.
Also remove --with-docdir. It can be set by setting docdir variable.
Bump version to 2.7.1
Update .gitignore
Bump libtool versions that 2.7.0 (I forgot to do back then)
Hardcode /etc/fonts instead of @CONFDIR@ in docs (#22911)
We distribute the docs, so it makes little sense to distribute with
@CONFDIR@ replaced. Until we find a better solution, I've hardcoded
/etc/fonts now.
[doc] Add ~/fonts.conf.d to user docs
TT_MS_ID_UCS_4 is really UTF-16BE, not UTF-32
Reported by Yuriy Kaminskiy.
Fix doc syntax (#22902)
Fix FcNameUnparseLangSet()
Remove unused macros
Don't change the order of names unnecessarily (#20128)
so that TT_NAME_ID_PREFERRED_FAMILY is consistently preferred over
TT_NAME_ID_FONT_FAMILY when both are specified for the default
language.
Use GetSystemWindowsDirectory() instead of GetWindowsDirectory()
(#22037)
Improve libtool version parsing (#22122)
Fix leak with string VStack objects
Add Inconsolata to monospace config (#22710)
Remove unused ftglue code
Replace spaces with tabs in conf files
Fix win32 build
git-tag -s again
Alexey Khoroshilov (1):
Use human-readable file names in the docs (bug #16278)
Behdad Esfahbod (121):
Avoid C99ism in Win32 code (#16651)
[doc] Fix inaccuracy in FcFontRenderPrepare docs (#16985)
When canonizing filenames, squash // and remove final / (#bug 16286)
Add orth file for Maithili mai.orth (#15821)
Replace RCS Id tags with the file name
[doc] Fix signatures of FcPatternGetFTFace and FcPatternGetLangSet (#16272)
Update Thai default families (#16223)
Add ~/.fonts.conf.d to default config (#17100)
[fc-match] Fix list of getopt options in --help
Update man pages
Add fc-query (#13019)
Implement fc-list --verbose (#13015)
[doc] Add const decorator for FcPatternDuplicate()
Add FcPatternFilter() (#13016)
[doc] Document that a zero rescanInterval disables automatic checks
(#17103)
Get rid of $Id$ tags
[doc] Fix signature of FcConfigHome()
Fix docs re 'orig' argument of FcPatternBuild and family
Update sr.orth to actul subset of Cyrillic used by Serbian (#17208)
Add Sindhi .orth file. (#17140)
Add WenQuanYi fonts to default conf (#17262, from Mandriva)
Handle -h and --help according to GNU Coding Standards (#17104)
Document when config can be NULL (#17105)
Add FcConfigReference() (#17124)
Document how to free return value of FcNameUnparse()
Don't leak FcValues string loaded through fcxml.c (#17661)
Don't call FcPatternGetCharSet in FcSortWalk unless we need to (#17361)
Fix two more doc typos
[.gitignore] Update
Cleanup symlinks in "make uninstall" (bug #18885)
[fccache] Consistently use FcStat() over stat() (bug #18195)
Consistently use FcStat() over stat() in all places
Use __builtin_popcount() when available (bug #17592)
Fix compile with old FreeType that doesn't have FT_Select_Size() (bug
#17498)
Implement fc-list --quiet ala grep (bug #17141)
[65-fonts-persian.conf] Set foundry in target=scan instead of target=font
Don't use identifier named complex
Explicitly chmod() directories (bug #18934)
Remove special-casing of FC_FILE in FcPatternPrint()
[.gitignore] Update
Implement FcPatternFormat and use it in cmdline tools (bug #17107)
Fix comparison of family names to ignore leading space properly
[fcmatch.c] Fix debug formatting
[fcmatch] Use larger multipliers to enforce order
[fcmatch] When matching, reserve score 0 for when elements don't exist
[fcmatch] Move FcFontSetMatch() functionality into FcFontSetMatchInternal()
[doc] Note that fontset returned by FcConfigGetFonts should not be modified
Make FcCharSetMerge() public
Don't use FcCharSetCopy in FcCharSetMerge
Oops. Fix usage output.
Revive FcConfigScan() (bug #17121)
Add fc-scan too that runs FcFileScan/FcDirScan
Oops, fix FcPatternFilter
[fc-match] Accept list of elements like fc-list (bug #13017)
Cleanup all manpage.* files
[fcmatch] Fix crash when no fonts are available.
[fcfreetype] Fix typo in GB2312 encoding name string (#19845)
Add ICONV_LIBS to fontconfig.pc.in (#19606)
[win32] Fix usage of GetFullPathName()
[win32] Expand "APPSHAREFONTDIR" to ../share/fonts relative to binary
location
[win32] Do not remove leading '\\' such that network paths work
[fccache] Make sure the cache is current when reusing from open caches
Update Sinhala orthography (#19288)
[cache] After writing cache to file, update the internal copy to
reflect this
Further update Sinhala orthography (#19288)
[fcformat] Add support for width modifiers
[fcformat] Refactor and restructure code for upcoming changes
[fcformat] Add support for subexpressions
[fcformat] Add element filtering and deletion
[fcformat] Add conditionals
[fcformat] Add simple converters
[fcformat] Implement 'cescape', 'shescape', and 'xmlescape' converters
[FcStrBuf] better handle malloc failure
[fcformat] Add value-count syntax
[fcformat] Implement 'delete', 'escape', and 'translate' filter functions
[fcformat] Start adding builtins
[fcformat] Refactor code to avoid malloc
[fcformat] Add support for builtin formats
[fcformat] Support indexing simple tags
[fcformat] Support 'default value' for simple tags
[fcformat] Implement array enumeration
[fclang] Implement FcLangSetGetLangs() (#18846)
[fcformat] Enumerate langsets like we do arrays of values
[fcformat] Add a 'pkgkit' builtin that prints tags for font packages
[fcformat] Add list of undocumented language features
[fc-lang] Continue parsing after an "include" (#20179)
Fix Fanti (fat) orth file (#20390)
Fix Makefile's to not create target file in case of failure
[fcstr.c] Embed a static 64-byte buffer in FcStrBuf
[fcstr,fcxml] Don't copy FcStrBuf contents when we would free it soon
[fcxml] Don't allocate attr array if there are no attributes
[fcxml] Embed 8 static FcPStack objects in FcConfigParse
[fcxml] Embed 64 static FcVStack objects in FcConfigParse
[fcxml.c] Embed a static 64-byte attr buffer in FcPStack
Call git tools using "git cmd" instead of "git-cmd" syntax
Replace 'KEITH PACKARD' with 'THE AUTHOR(S)' in license text in all files
[fcformat] Fix default-value handling
Document FcPatternFormat() format
[Makefile.am] Don't clean ChangeLog in distclean
Revert "[conf] Disable hinting when emboldening (#19904)" (#20599)
[fc-lang] Fix bug in country map generation
[fcstr] Remove unused variable
[fc-lang] Make LangSet representation in the cache files stable
[fc-cache] Remove obsolete sentence from man page
Detect TrueType Collections by checking the font data header
Mark matchers array const (#21935)
Use/prefer WWS family/style (name table id 21/22)
Simplify FcValueSave() semantics
Add XXX note about Unicode Plane 16
Always set *changed in FcCharsetMerge
[charset] Grow internal FcCharset arrays exponentially
Remove unused prototypes and function
[xml] Centralize FcExpr allocation
[xml] Mark more symbols static
[xml] Allocate FcExpr's in a pool in FcConfig
[xml] Intern more strings
Bug 22154 -- fontconfig.pc doesn't include libxml2 link flags
Fix distcheck
Remove keithp's GPG key id
Bump version to 2.7.0
git-tag -s again
Benjamin Close (1):
Remove build manpage logfile if it exists
Chris Wilson (1):
Reduce number of allocations during FcSortWalk().
Dan Nicholson (1):
Let make expand fc_cachedir/FC_CACHEDIR (bug #18675)
Harald Fernengel (1):
Don't use variables named 'bool' (bug #18851)
Harshula Jayasuriya (1):
Fix Sinhala coverage (bug #19288)
Karl Tomlinson (1):
Change FcCharSetMerge API
Mike FABIAN (1):
[conf] Disable hinting when emboldening (#19904)
Peter (1):
Make sure alias files are built first (bug 16464)
Rahul Bhalerao (1):
Add config for new Indic fonts (bug #17856)
Roozbeh Pournader (60):
Correct Sindhi orthography to use Arabic script (bug #17140)
Remove Sinhala characters not in modern use (bug #19288)
Add Filipino orth, alias Tagalog to Filipino (bug #19846)
Split Mongolian orth to Mongolia and China (bug #19847)
Fix doubly encoded UTF-8 in comments (bug #19848)
Change Turkmen orth from Cyrillic to Latin (bug #19849)
Rename Venda from "ven" to "ve" (bug #19852)
Rename "ku" to "ku_am", add "ku_iq" (bug #19853).
Add Kashubian (csb) orth file (bug #19866)
Add Malay (ms) orthography (bug #19867)
Add Kinyarwanda (rw) orthography (bug #19868)
Add Upper Sorbian (hsb) orthography (bug #19870)
Add Berber orthographies in Latin and Tifinagh scripts (bug #19881)
Renamed az to az_az (bug #19889)
Rename Igbo from "ibo" to "ig" (bug #19892)
Remove punctuation symbols from Asturian orthography (bug #19893)
Add Chhattisgarhi (hne) orthography (bug #19891)
Use newly added Cyrillic letters for Kurdish (bug #20049)
Add Kurdish in Turkey (ku_tr) orthography (bug #19891)
Add Aragonese (an) orthography (bug #19891)
Add Haitian Creole (ht) orthography (bug #19891)
Ad Ganda (lg) orthography (bug #19891)
Add Limburgan (li) orthography (bug #19891)
Add Sardinian (sc) orthography (bug #19891)
Add Sidamo (sid) and Wolaitta (wal) orthographies (bug #19891)
Fix Bengali (bn) and Assamese (as) orthographies (bug #22924)
Remove Euro Sign from all orthographies (bug #19865)
Add Ottoman Turkish (ota) orthography (bug #20114)
Divide Panjabi (pa) to that of Pakistan and India (bug #19890)
Add Blin (byn) orthography (bug #19891)
Add Papiamento (pap_aw, pap_an) orthographies (bug #19891)
Add Crimean Tatar (crh) orthography (bug #19891)
Switch Uzbek (uz) orthography to Latin (bug #19851)
Update Azerbaijani in Latin (az_az) to present usage (bug #20173)
Rename Avaric orthography from 'ava' to 'av' (bug #20174)
Rename Bambara orthography from 'bam' to 'bm' (bug #20175)
Rename Fulah orthography from 'ful' to 'ff' (bug #20177)
Change Kashmiri (ks) orthography to Arabic script (bug #20200)
Tighten Central Khmer (km) orthography (bug #20202)
Remove digits and symbols from some Indic orthographies (bug #20204)
Add Divehi (dv) orthography (bug #20207)
Extend Crimean Tatar (crh) orthography (bug #19891)
Update Serbo-Croatian (sh) orthography (bug #20368)
Add Ewe (ee) orthography (bug #20386)
Add Herero (hz) orthograhy (bug #20387)
Add Akan (ak) and Fanti (fat) orthographies (bug #20390)
Added Quechua (qu) orthography (bug #20392)
Add Sango (sg) orthography (bug #20393)
Add Tahitian (ty) orthography (bug #20391)
Add Navajo (nv) orthography (bug #20395)
Add Rundi (rn) orthography (bug #20398)
Add Zhuang (za) orthography (bug #20399)
Add orthographies for Oshiwambo languages (bug #20401)
Add Shona (sn) orthography (bug #20394)
Add Sichuan Yi (ii) orthography (bug #20402)
Add Javanese (jv) orthography (bug #20403)
Add Nauru (na) orthography (bug #20418)
Add Kanuri (kr) orthography (bug #20438)
Add Sundanese (su) orthography (bug #20440)
Reorganize Panjabi/Punjabi and Lahnda orthographies (bug #19890)
Serge van den Boom (1):
Correctly handle mmap() failure (#21062)
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
X.Org found in NetBSD-current.
Thanks a lot to all who helped, especially Matthias Scheler who did
repeated tests on Mac OS X and older versions of NetBSD to make sure the
support for those platforms wouldn't be broken (or at least, not fatally,
as I would still expect a few hiccups here and there, because there is
only so much one can test in such limited time).
On the infrastructure side, this branch brings pkgconfig-builtin.mk, in
order to write very easily new builtin.mk files. It can actually handle
more than just pkgconfig files, but it will provide a version if it finds
such a file. x11.builtin.mk has also been made more useful and now all
existing (and future!) native-X11-related builtin.mk files should include
it.
Major changes since 2.5.0:
* Handle bitmap-only TTF files that do not have a GLYF table
* Ignore point size and DPI for bitmap (PCF) fonts.
* Add fantasy and cursive generic families
* Merge Fedora and Mandriva configuration options
* Build fixes for cross compile and Win32 platforms