Commit Graph

1929 Commits

Author SHA1 Message Date
Akira TAGOH ad9f588050 Fix the broken cache more.
Take a look at the nano second in the mtime to figure out
if the cache needs to be updated if available.
and do the mutex lock between scanning and writing a cache
to avoid the conflict.

Also we don't need to scan directories again after writing
caches. so getting rid of the related code as well.

https://bugs.freedesktop.org/show_bug.cgi?id=69845

and for reference:

https://bugzilla.redhat.com/show_bug.cgi?id=1236034
2015-08-14 17:19:29 +09:00
Behdad Esfahbod 46ec6a52d4 Revert changes made to FcConfigAppFontAddDir() recently
In 32ac7c75e8 the behavior of
FcConfigAppFontAddFile/Dir() were changed to return false
if not fonts were found.  While this is welldefined and useful
for AddFile(), it's quite problematic for AddDir().  For example,
if the directory is empty, is that a failure or success?  Worse,
the false value from AddDir() was being propagated all the way
to FcInit() returning false now.  This only happened upon memory
allocation failure before, and some clients assert that FcInit()
is successful.

With this change, AddDir() is reverted back to what it was.
AddFont() change (which was actually in fcdir.c) from the original
commit is left in.
2015-06-26 17:02:13 -07:00
Akira TAGOH a8096dfa59 Bug 90867 - Memory Leak during error case in fccharset
https://bugs.freedesktop.org/show_bug.cgi?id=90867
2015-06-24 15:46:45 +09:00
Akira TAGOH 0551e1b344 Update CaseFolding.txt to Unicode 8.0 2015-06-18 17:25:02 +09:00
Akira TAGOH 6f929ff37c Fix a memory leak in FcFreeTypeQueryFace 2015-06-17 16:34:29 +09:00
Akira TAGOH 46b2c62faa Add a warning for blank in fonts.conf
and remove the unnecessary code for parsing blanks
2015-06-17 16:29:08 +09:00
Akira TAGOH 33fd436a3e Don't return FcFalse even when no fonts dirs is configured 2015-06-17 16:15:35 +09:00
Akira TAGOH f6d61c9bee mark as private at this moment 2015-06-12 11:30:01 +09:00
Akira TAGOH dbda117142 No need to be public 2015-06-09 11:15:25 +09:00
Akira TAGOH 359ada2b4c Fix a crash when no objects are available after filtering 2015-06-09 11:15:06 +09:00
Akira TAGOH 10a57edd07 Add one more debugging option to see transformation on font-matching
just setting FC_MATCH=3 shows a lot of information and hard to keep on track for informamtion
which is really necessary to see. to use this more effectively, added FC_DBG_MATCH_FILTER to
see for what one really want to see. it takes a comma-separated-list of object names.
If you want to see family name only, try like this:

FC_DBG_MATCH_FILTER=family FC_DEBUG=4096 fc-match

debugging output will be filtered out and see family only in the result.
2015-06-08 17:39:25 +09:00
Akira TAGOH 1827ef7b1e Bump version to 2.11.94 2015-06-02 17:33:03 +09:00
Behdad Esfahbod 481a9f03a0 Bump cache version number to 6, because of recent FcRange changes 2015-05-27 14:40:15 -07:00
Behdad Esfahbod ee2d1da2d2 Reduce number of places that cache version is specified to 1 2015-05-27 14:36:35 -07:00
Behdad Esfahbod 5bad26ccb6 Simplify FcRange 2015-05-27 14:18:28 -07:00
Behdad Esfahbod 13a5ae9fb9 Fix compiler warnings 2015-05-27 14:12:49 -07:00
Behdad Esfahbod 346073d9dc Don't set FC_SIZE for bitmap fonts
They get FC_PIXELSIZE set, which is later converted to FC_SIZE using
FC_DPI.
2015-05-27 14:12:49 -07:00
Behdad Esfahbod eba6f109de Accept Integer for FC_SIZE
There are more places to fix I'm sure...

https://bugs.freedesktop.org/show_bug.cgi?id=80873
2015-05-27 14:12:49 -07:00
Behdad Esfahbod cb2f096e15 Add bitmap-only font size as Double, not Range
The whole size setting part still smells to me.
2015-05-27 14:12:49 -07:00
Behdad Esfahbod 51756aab18 Only set FC_SIZE for scalable fonts if OS/2 version 5 is present
Part of https://bugs.freedesktop.org/show_bug.cgi?id=80873
2015-05-27 14:12:49 -07:00
Behdad Esfahbod d09ba38589 Write ranges using a [start finish) format
To show closed and open ends.
2015-05-27 14:12:49 -07:00
Akira TAGOH 4c9101f704 Revert the previous change
and just abort if the object id is overflowed.
2015-05-25 21:41:05 +09:00
Akira TAGOH 09edd84cf8 Detect the overflow for the object ID
Continue to increase the object id even after FcFini()
and detect the overflow. that would be rather easier than
reset the object id with the complicated mutex and atomic
functions.

This situation would be quite unlikely to happen though
2015-05-22 20:51:21 +09:00
Akira TAGOH f053231186 Fix a crash
segfault happens when the config needs to be migrated to XDG's
and no definition for include with prefix="xdg"
2015-05-22 20:46:54 +09:00
Akira TAGOH 249306fbd7 Fix a typo 2015-05-22 20:45:05 +09:00
Akira TAGOH fa6c6b53c5 Fix memory leaks after FcFini()
Reported by Jia Wang

https://bugs.freedesktop.org/show_bug.cgi?id=83770
2015-05-22 16:53:34 +09:00
Behdad Esfahbod bcfe167e3d Add su[pport for symbol fonts
Adds FC_SYMBOL.

This affects fonts having a cmap with platform 3 encoding 0.
We now map their glyphs from the PUA area to the Latin1 area.

See thread "Webdings and other MS symbol fonts don't display"
on the mailing list.

Test before/after with:
$ pango-view --markup --text='<span fallback="false">&#xd7;&#xf0d7;</span>' --font=Wingdings
2015-05-18 15:26:03 -07:00
Akira TAGOH ead7275e05 Bug 90148 - Don't warn if cachedir isn't specified
only warn when FONTCONFIG_FILE or FONTCONFIG_PATH is set.

Bug 90148 - Don't warn if cachedir isn't specified
2015-05-18 14:03:50 +09:00
Akira TAGOH 55ff841927 Make FC_SCALE deprecated
Use FC_MATRIX instead.

https://bugs.freedesktop.org/show_bug.cgi?id=90257
2015-05-12 14:49:12 +09:00
Akira TAGOH a10cb2e4d7 Add missing description for usage 2015-05-12 14:28:45 +09:00
Akira TAGOH 4c040d393d Observe blanks to compute correct languages in fc-query/fc-scan
Added --ignore-blanks option to get back the behavior.

https://bugs.freedesktop.org/show_bug.cgi?id=79955
2015-05-11 11:02:59 +09:00
Behdad Esfahbod 4a6f5efd5f Fix bitmap scaling
Was broken by 66db69a6d9.  Ouch!
2015-04-30 11:26:41 -04:00
Akira TAGOH 3a4136778c Drop unmaintained code
Use four-byte code for foundry as is instead.

https://bugs.freedesktop.org/show_bug.cgi?id=88679
2015-04-22 16:29:25 +09:00
Akira TAGOH b3fc08bc95 Fix a typo in fontconfig-user.sgml
https://bugs.freedesktop.org/show_bug.cgi?id=90105
2015-04-22 11:17:04 +09:00
Akira TAGOH 07be485a0a Fix a typo for the latest cache version 2015-04-20 10:49:21 +09:00
Руслан Ижбулатов f6e6a8a22b W32: Support cache paths relative to the root directory
Paths starting with '/' don't make sense on W32 as-is,
prepend the installation root directory to them.

This allows the cache to be contained within a particular
fontconfig installation (as long as the default
--with-cache-dir= is overriden at configure time).
2015-04-09 15:19:17 +09:00
Akira TAGOH 7bc07cf6c2 Fix SIGFPE 2015-03-30 15:18:44 +09:00
Akira TAGOH e92c92ff22 Fix unknown attribute in Win32 2015-03-25 12:10:48 +09:00
Akira TAGOH c965c9f677 Bug 89617 - FcConfigAppFontAddFile() returns false on any font file
Prior to the change of 32ac7c75e8
FcConfigAppFontAddFile() always returned FcTrue no matter what
fonts was added. after that, it always returned FcFalse because
adding a font doesn't add any subdirs with FcFileScanConfig().
so changing that to simply ignore it.

Also fixing it to return FcFalse if non-fonts was added, i.e.
FcFreeTypeQuery() fails.

https://bugs.freedesktop.org/show_bug.cgi?id=89617
2015-03-23 13:31:57 +09:00
Akira TAGOH 7301f2f028 Remove the dead code 2015-03-23 13:18:49 +09:00
Akira TAGOH 69ff6b6e26 Bump version to 2.11.93 2015-03-09 12:38:30 +09:00
Akira TAGOH b75d809d12 Fix a trivial bug for dist 2015-03-09 12:22:30 +09:00
Akira TAGOH f5b1e0ab97 Fix an infinite loop in FcBlanksIsMember() 2015-03-09 12:20:22 +09:00
Akira TAGOH 484834c186 Fix a bug in the previous change forFcBlanksIsMember() 2015-03-06 11:15:26 +09:00
Akira TAGOH ed74a58ccc Fix a segfault when OOM happened.
Reported by Matt Breedlove
2015-03-06 11:10:05 +09:00
Akira TAGOH 96a3f6879c Improve the performance on searching blanks
After the change of d6a5cc665a
we have a lot of code points in FcBlanks. doing the linear search
on the array isn't comfortable anymore.
So re-implementing FcBlanksIsMember() to use the binary search.

Figuring out how much improved after this change depends on
how many fonts proceed with fc-cache say though, it's about 20 times
faster here on testing. which sounds good enough for
improvement.
2015-03-05 17:52:04 +09:00
Behdad Esfahbod d997d7c770 Simplify some more 2015-03-03 16:00:39 -08:00
Behdad Esfahbod 9c99baba66 Remove dead code after previous commit 2015-03-03 16:00:39 -08:00
Akira TAGOH 2f311c562d Fix the array allocation 2015-03-03 11:30:12 +09:00
Akira TAGOH f18f2f88f2 Don't add FC_LANG when it has "und"
to avoid the situation to find the better fallback font.

https://code.google.com/p/chromium/issues/detail?id=392724 has
more words to explain the details.

https://bugs.freedesktop.org/show_bug.cgi?id=81185
2015-03-02 11:35:42 +09:00