Commit Graph

1909 Commits

Author SHA1 Message Date
Behdad Esfahbod 75abdaf5c8 Deprecate FC_HASH and don't compute it
It was added without proper measurement and a fuzzy possible
use-case (font servers) in mind, but reality check shows that
this significantly slows down caching.  As such, deprecate it
and do NOT compute hash during caching.

Makes caching two to three times faster (ignoring the 2 second
delay in fc-cache).
2014-06-12 17:02:10 -04:00
Behdad Esfahbod cd9631d83e [ko.orth] Remove U+3164 HANGUL FILLER
Better not to reject a font just over that.  Note that we do NOT
list U+115F and U+1160 either.
2014-06-12 17:02:10 -04:00
Akira TAGOH f44bfad235 Workaround another race condition issue
See https://bugzilla.redhat.com/show_bug.cgi?id=921706
2014-06-05 19:06:02 +09:00
Behdad Esfahbod 58acd993cb Allow passing NULL for file to FcFreeTypeQueryFace() 2014-05-16 15:08:52 -06:00
Behdad Esfahbod 3f992254f2 Rewrite hashing to use FT_Stream directly
This is more robust but introduces a small change in behavior:
For .pcf.gz fonts, the new code calculates the hash of the uncompressed
font data whereas the original code was calculating the hash of the
compressed data.

No big deal IMO.
2014-05-16 15:02:58 -06:00
Behdad Esfahbod 8284df49ef Further simplify hash code 2014-05-16 14:23:56 -06:00
Behdad Esfahbod 748e77e89f Simplify hash code 2014-05-16 14:10:06 -06:00
Behdad Esfahbod e4d8847eee Remove unused code 2014-05-16 13:45:44 -06:00
Akira TAGOH 48c8b7938a Allow the modification on FcTypeVoid with FcTypeLangSet and FcTypeCharSet
FcTypeVoid is likely to happen when 'lang' and 'charset'
is deleted by 'delete' or 'delete_all' mode in edit.
Without this change, any modification on them are simply
ignored.

This is useful to make a lot of changes, particularly
when one wants to add a few and delete a lot say.
2014-05-13 21:22:17 +09:00
Akira TAGOH 81664fe54f Rebase ja.orth against Joyo kanji characters
Patch from Akihiro TSUKADA
2014-04-22 12:39:12 +09:00
Akira TAGOH f44157c809 Fix fc-cache fail with -r
Do not unlink the cache even if --really-force is given.
because re-scanning process expects the cache exists.

https://bugs.freedesktop.org/show_bug.cgi?id=77252
2014-04-10 19:27:55 +09:00
Akira TAGOH 91784eb7d0 Fix a typo
https://bugs.freedesktop.org/show_bug.cgi?id=77033
2014-04-04 12:18:28 +09:00
Akira TAGOH fcba9ef01c Fix missing docs 2014-03-26 16:02:12 +09:00
Akira TAGOH fff91eee7d Fix a build issue with freetype <2.5.1 2014-03-26 12:22:02 +09:00
Akira TAGOH 3cd573fc1f Bug 71287 - size specific design selection support in OS/2 table version 5
This feature requires the FreeType 2.5.1 or later at the build time.

Besides <range> element allows <double> elements with this changes.

This may breaks the cache but not bumping in this change sets at this moment.
please be aware if you want to try it and run fc-cache before/after to
avoid the weird thing against it.
2014-03-26 12:19:04 +09:00
Akira TAGOH 9260b7ec39 Bump version to 2.11.1 2014-03-24 15:03:12 +09:00
Akira TAGOH 812143c34d Fix autoconf warning, warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
Call AC_USE_SYSTEM_EXTENSIONS before LT_INIT
2014-03-24 15:02:26 +09:00
Akira TAGOH 5478192f37 Add README describes the criteria to add/modify the orthography files
https://bugs.freedesktop.org/show_bug.cgi?id=73461
2014-03-18 12:14:03 +09:00
Akira TAGOH c6aa4d4bfc Bug 73291 - poppler does not show fl ligature
commented out substitutions for TeX Gyre Termes font
until the broken font are fixed.

https://bugs.freedesktop.org/show_bug.cgi?id=73291
2014-03-18 11:52:18 +09:00
Akira TAGOH f8ccf379eb Update doc to include the version info of `since when'
Version section was getting confused to the API's availability,
 even though it was the version the doc was genereated.
So moving it into the footer and added @SINCE@ field in the data.
2014-03-07 19:42:21 +09:00
Akira TAGOH 39a2f1e8f9 Fallback to lstat() in case the filesystem doesn't support d_type in struct dirent 2014-03-05 18:29:29 +09:00
Akira TAGOH e310d2fac2 Fix incompatible API on AIX with random_r and initstate_r
https://bugs.freedesktop.org/show_bug.cgi?id=74603
2014-02-06 19:40:01 +09:00
Akira TAGOH 7d75653285 Add missing #include <sys/statvfs.h> in fcstat.c
https://bugs.freedesktop.org/show_bug.cgi?id=74602
2014-02-06 17:29:19 +09:00
Akira TAGOH 787619b2c7 Add a doc for FcDirCacheRescan 2014-02-06 17:15:26 +09:00
Akira TAGOH 80081555fd Fix a crash issue when empty strings are set to the BDF properties 2014-01-31 11:10:02 +09:00
Akira TAGOH e2b406053c Update the use of autotools' macro 2014-01-22 19:35:07 +09:00
Akira TAGOH 5918d5bea5 Add missing license headers
https://bugs.freedesktop.org/show_bug.cgi?id=73401
2014-01-17 13:05:25 +09:00
Akira TAGOH bfdd40efd1 clean up the unused files 2014-01-17 12:57:56 +09:00
Akira TAGOH f35b44c35b Update zh_hk.orth
Patch from Abel Cheung

https://bugs.freedesktop.org/show_bug.cgi?id=73461
2014-01-17 12:24:02 +09:00
Akira TAGOH 320283cd70 Bug 73686 - confdir is not set correctly in fontconfig.pc 2014-01-16 19:30:35 +09:00
Akira TAGOH 7a6622f25c Improve the performance issue on rescanning directories 2013-12-20 11:57:16 +09:00
Akira TAGOH 5c725f2f58 Fix a build issue on platforms where doesn't support readlink() 2013-12-16 17:44:37 +09:00
Akira TAGOH 1132c98b7b Fix a typo 2013-12-16 16:00:12 +09:00
Behdad Esfahbod fee834a9c9 Bug 72380 - Never drop first font when trimming
Let me show it with an example.

Currently:

$ fc-match symbol
symbol.ttf: "Symbol" "Regular"

$ fc-match symbol --sort | head -n 1
Symbol.pfb: "Symbol" "Regular"

$ fc-match symbol --sort --all | head -n 1
symbol.ttf: "Symbol" "Regular"

I want to make sure the above three commands all return the same font.
Ie.  I want to make sure FcFontMatch() always returns the first font
from FcFontSort().  As such, never trim first font.
2013-12-09 21:22:49 -05:00
Jehan c9e24f9ef4 Defaulting <cachedir> to LOCAL_APPDATA_FONTCONFIG_CACHE for Win32 build
https://bugs.freedesktop.org/show_bug.cgi?id=71691
2013-12-09 17:51:03 +09:00
Frederic Crozat 2e933bd8bc Add metric aliases for additional Google ChromeOS fonts
MS fonts Cambria, Symbol and Calibri have compat metrics fonts
from ChromeOS.

https://bugs.freedesktop.org/show_bug.cgi?id=72395
2013-12-09 15:17:25 +09:00
Frederic Crozat 6a06e29491 Fix inversion between Tinos and Cousine in the comment 2013-12-09 15:17:17 +09:00
Akira TAGOH d97fbbe9f5 Simplify to validate the availability of scandir 2013-12-02 19:18:25 +09:00
Akira TAGOH 5152115349 Simplify to validate the availability of posix_fadvise 2013-12-02 18:43:10 +09:00
Akira TAGOH 59fd9960bb Bug 72086 - Check for gperf in autogen.sh 2013-12-02 15:53:57 +09:00
Ross Burton a5fd7912ff fc-cache: --sysroot option takes an argument
The getopt_long option definitions say that sysroot doesn't take an argument,
when it in fact does.

Signed-off-by: Ross Burton <ross.burton@intel.com>
2013-11-28 15:27:04 +09:00
Akira TAGOH 38acb08d97 Fix typo
Use FcTypeUnknown instead of -1 with type casting.
This seems missed when it was changed.

Patch from brian porter
2013-11-11 11:53:09 +09:00
Akira TAGOH a4443e64c8 Re-scan font directories only when it contains subdirs
Somewhat improves the performance but still need to think about for the situation
where both directories and fonts are in.
2013-11-05 20:30:35 +09:00
Alan Coopersmith 0b7f42f777 Avoid null pointer dereference in FcNameParse if malloc fails
Reported by parfait 1.3:
Error: Null pointer dereference (CWE 476)
   Read from null pointer t
        at line 423 of src/fcname.c in function 'FcNameParse'.
          Function _FcObjectLookupOtherTypeByName may return constant 'NULL'
           at line 63, called at line 122 of src/fcobjs.c in function
           'FcObjectLookupOtherTypeByName'.
          Function FcObjectLookupOtherTypeByName may return constant 'NULL'
           at line 122, called at line 67 of src/fcname.c in function
           'FcNameGetObjectType'.
          Function FcNameGetObjectType may return constant 'NULL' at line 67,
           called at line 422 in function 'FcNameParse'.
          Null pointer introduced at line 63 of src/fcobjs.c in function
           '_FcObjectLookupOtherTypeByName'.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-11-05 11:44:23 +09:00
Alan Coopersmith 5b8380d52e Avoid memory leak when NULL path passed to FcStrBuildFilename
Reported by parfait 1.3:
   Memory leak of pointer sset allocated with FcStrSetCreate()
        at line 933 of src/fcstr.c in function 'FcStrBuildFilename'.
          sset allocated at line 927 with FcStrSetCreate().
          sset leaks when sset != NULL at line 932.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-11-05 11:43:41 +09:00
Alan Coopersmith cb72901d0b Leave room for null terminators in arrays
Code currently returns a fatal error if it tries to add more entries
than the array has room for, but it wasn't checking to make sure
the final null terminator entry would fit.

Reported by parfait 1.3:
Error: Buffer overrun
   Buffer overflow (CWE 120): In array dereference of files[i] with index i
      Array size is 256 elements (of 4 bytes each), index >= 0 and index <= 256
        at line 250 of fc-glyphname/fc-glyphname.c in function 'main'.
Error: Buffer overrun
   Buffer overflow (CWE 120): In array dereference of entries[i] with index i
      Array size is 1024 elements (of 8 bytes each), index >= 0 and index <= 1024
        at line 298 of fc-lang/fc-lang.c in function 'main'.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-11-05 11:42:59 +09:00
Akira TAGOH 767108aa13 Correct DTD 2013-10-31 22:12:26 +09:00
Akira TAGOH aa22e6e639 Warn if no <test> nor <edit> elements in <match>
This corrects an error message being reported at
  https://bugs.freedesktop.org/show_bug.cgi?id=71085
  Bug 71085 - "out of memory" errors on empty match element in fonts.conf

and somewhat works as a workaround for
  https://bugs.freedesktop.org/show_bug.cgi?id=59438
  Bug 59438 - Fix <alias> inside <match>
2013-10-31 21:48:27 +09:00
Akira TAGOH 525a135ccf Change the default weight on match to FC_WEIGHT_NORMAL 2013-10-28 11:54:04 +09:00
Akira TAGOH 65872e9e46 Fix a build issue on Solaris 10
Use own mkdtemp implementation if not available.

Reported by Thomas Klausner and Jörn Clausen
2013-10-24 19:35:26 +09:00