Behdad Esfahbod
f33a23133e
Bug 22037 - No Fonts installed on a default install on Windows Server 2003
...
Make it easy to install on older Windows
2009-08-21 13:41:41 -04:00
Tor Lillqvist
8b1ceef0b7
Use multi-byte codepage aware string function on Windows
...
The East Asian double-byte codepages have characters with backslash as
the second byte, so we must use _mbsrchr() instead of strrchr() when
looking at pathnames in the system codepage.
2009-08-13 18:19:56 -04:00
Tor Lillqvist
d15678127a
Fix heap corruption on Windows in FcEndElement()
...
Must not call FcStrFree() on a value returned by
FcStrBufDoneStatic(). In the Windows code don't bother with dynamic
allocation, just use a local buffer.
2009-08-13 18:17:33 -04:00
Tor Lillqvist
a1b6e34a9a
Fix MinGW compilation
...
Need to define _WIN32_WINNT as 0x0500 to get declaration for
GetSystemWindowsDirectory().
2009-08-13 18:13:04 -04:00
Behdad Esfahbod
7c12181f7a
Improve charset printing
2009-07-28 14:23:10 -04:00
Behdad Esfahbod
7575c66661
TT_MS_ID_UCS_4 is really UTF-16BE, not UTF-32
...
Reported by Yuriy Kaminskiy.
2009-07-25 16:38:52 -04:00
Behdad Esfahbod
5c6d1ff23b
Fix FcNameUnparseLangSet()
...
Was broken since ffd6668b46
2009-07-22 19:25:24 -04:00
Behdad Esfahbod
d9741a7f1a
Remove unused macros
2009-07-22 19:01:06 -04:00
Karl Tomlinson
792ce655cb
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.
2009-07-22 08:39:23 -04:00
Behdad Esfahbod
327fc9d183
Use GetSystemWindowsDirectory() instead of GetWindowsDirectory() ( #22037 )
2009-07-21 15:41:47 -04:00
Behdad Esfahbod
16e55c7c85
Fix leak with string VStack objects
2009-07-20 16:30:12 -04:00
Behdad Esfahbod
55e202a62d
Remove unused ftglue code
2009-06-28 14:14:46 -04:00
Behdad Esfahbod
57cf838ccc
Fix win32 build
2009-06-28 13:46:41 -04:00
Behdad Esfahbod
3164ac7622
[xml] Intern more strings
2009-06-24 13:52:13 -04:00
Behdad Esfahbod
390c05e64a
[xml] Allocate FcExpr's in a pool in FcConfig
...
Reduces number of malloc's for FcExprs from hundreds into single digits.
2009-06-24 13:52:13 -04:00
Behdad Esfahbod
398d436441
[xml] Mark more symbols static
2009-06-24 13:52:13 -04:00
Behdad Esfahbod
a96ecbfa20
[xml] Centralize FcExpr allocation
...
To be improved, using a central pool.
2009-06-24 13:52:13 -04:00
Behdad Esfahbod
5aebb3e299
Remove unused prototypes and function
2009-06-24 13:52:12 -04:00
Behdad Esfahbod
900723f3d2
[charset] Grow internal FcCharset arrays exponentially
2009-06-24 13:52:12 -04:00
Behdad Esfahbod
cce69b07ef
Always set *changed in FcCharsetMerge
2009-06-24 13:52:12 -04:00
Behdad Esfahbod
86bdf4598f
Add XXX note about Unicode Plane 16
2009-06-24 13:52:12 -04:00
Behdad Esfahbod
efe5eae26b
Simplify FcValueSave() semantics
2009-06-24 13:52:11 -04:00
Behdad Esfahbod
8ea654b2aa
Use/prefer WWS family/style (name table id 21/22)
2009-06-24 13:52:11 -04:00
Behdad Esfahbod
76845a40c5
Mark matchers array const ( #21935 )
2009-06-24 13:52:11 -04:00
Behdad Esfahbod
58aa0c8ee8
Detect TrueType Collections by checking the font data header
...
Instead of checking for "face->num_faces >1". (GNOME bug #577952 )
2009-06-24 13:52:10 -04:00
Serge van den Boom
1dd95fcb8b
Correctly handle mmap() failure ( #21062 )
2009-06-24 13:52:10 -04:00
Behdad Esfahbod
ffd6668b46
[fc-lang] Make LangSet representation in the cache files stable
...
Fontconfig assigns an index number to each language it knows about.
The index is used to index a bit in FcLangSet language map. The bit
map is stored in the cache.
Previously fc-lang simply sorted the list of languages and assigned
them an index starting from zero. Net effect is that whenever new
orth files were added, all the FcLangSet info in the cache files would
become invalid. This was causing weird bugs like this one:
https://bugzilla.redhat.com/show_bug.cgi?id=490888
With this commit we fix the index assigned to each language. The index
will be based on the order the orth files are passed to fc-lang. As a
result all orth files are explicitly listed in Makefile.am now, and
new additions should be made to the end of the list. The list is made
to reflect the sorted list of orthographies from 2.6.0 released followed
by new additions since.
This fixes the stability problem. Needless to say, recreating caches
is necessary before any new orthography is recognized in existing fonts,
but at least the existing caches are still valid and don't cause bugs
like the above.
2009-06-24 13:52:10 -04:00
Behdad Esfahbod
4d13536db4
[fcstr] Remove unused variable
2009-06-24 13:52:09 -04:00
Behdad Esfahbod
caeea376da
Document FcPatternFormat() format
2009-03-13 19:06:43 -04:00
Behdad Esfahbod
f6d8343989
[fcformat] Fix default-value handling
2009-03-13 17:59:29 -04:00
Behdad Esfahbod
3074a73b41
Replace 'KEITH PACKARD' with 'THE AUTHOR(S)' in license text in all files
2009-03-13 17:59:28 -04:00
Behdad Esfahbod
de69ee14d3
[fcxml.c] Embed a static 64-byte attr buffer in FcPStack
...
Reduces number of mallocs called from FcConfigSaveAttr in my small test
from 160 down to 6.
2009-03-12 13:14:38 -04:00
Behdad Esfahbod
39861b7d9c
[fcxml] Embed 64 static FcVStack objects in FcConfigParse
...
This reduces the number of mallocs called from FcVStackPush from
over 800 down to zero.
2009-03-12 13:14:38 -04:00
Behdad Esfahbod
1d7b47da9d
[fcxml] Embed 8 static FcPStack objects in FcConfigParse
...
This reduces the number of mallocs called from FcPStackPush from
over 900 down to zero.
2009-03-12 13:14:38 -04:00
Behdad Esfahbod
532d8a1dbc
[fcxml] Don't allocate attr array if there are no attributes
...
Reduces number of mallocs from FcConfigSaveAttr() in my small test
from over 900 down to 157.
2009-03-12 13:14:37 -04:00
Behdad Esfahbod
3ed70071cd
[fcstr,fcxml] Don't copy FcStrBuf contents when we would free it soon
...
We can simply NUL-terminate the buffer and use it. Reduces number of
mallocs called from FcStrBufDone in my small test from 631 down to 66.
2009-03-12 13:14:37 -04:00
Behdad Esfahbod
7d35c11b33
[fcstr.c] Embed a static 64-byte buffer in FcStrBuf
...
Reduces number of mallocs called from FcStrBufChar in my small test
from 900 down to 6.
2009-03-12 13:14:37 -04:00
Behdad Esfahbod
04ac14fc14
[fcformat] Add list of undocumented language features
2009-02-16 02:14:41 -08:00
Behdad Esfahbod
384542fa91
[fcformat] Add a 'pkgkit' builtin that prints tags for font packages
...
For DejaVu Sans Condensed it generates:
font(dejavusans)
font(dejavusanscondensed)
font(:lang=aa)
font(:lang=ab)
...
font(:lang=yo)
font(:lang=zu)
2009-02-16 02:14:30 -08:00
Behdad Esfahbod
9d58d01c5c
[fcformat] Enumerate langsets like we do arrays of values
...
If one asks for a format like '%{[]elt{expr}}' and the first value
for elt is a langset, we enumerate the langset languages in expr.
2009-02-15 14:13:38 -08:00
Behdad Esfahbod
d62b85af21
[fclang] Implement FcLangSetGetLangs() ( #18846 )
2009-02-15 14:13:34 -08:00
Behdad Esfahbod
cdfb76585e
[fcformat] Implement array enumeration
...
The format '%{[]family,familylang{expr}}' expands expr once for the first
value of family and familylang, then for the second, etc, until both lists
are exhausted.
2009-02-15 13:40:31 -08:00
Behdad Esfahbod
0673ef3881
[fcformat] Support 'default value' for simple tags
...
The format '%{family:-XXX} prints XٓٓٓٓXX if the element family is not defined.
Also works for things like '%{family[1]:-XXX}'.
2009-02-15 13:40:30 -08:00
Behdad Esfahbod
9c83a8376f
[fcformat] Support indexing simple tags
...
The format '%{family[0]}' will only output the first value for element family.
2009-02-15 13:40:30 -08:00
Behdad Esfahbod
d04a750764
[fcformat] Add support for builtin formats
...
The '%{=unparse}' format expands to the FcNameUnparse() result on the
pattern. Need to add '%{=verbose}' for FcPatternPrint() output but
need to change that function to output to a string first.
Also added the '%{=fclist}' and '%{=fcmatch}' which format like the
default format of fc-list and fc-match respectively.
2009-02-15 13:40:30 -08:00
Behdad Esfahbod
85c7fb67ce
[fcformat] Refactor code to avoid malloc
2009-02-15 13:40:30 -08:00
Behdad Esfahbod
d4f7a4c6af
[fcformat] Start adding builtins
2009-02-15 13:40:29 -08:00
Behdad Esfahbod
c8f5933d13
[fcformat] Implement 'delete', 'escape', and 'translate' filter functions
...
The format '%{family|delete( )}' expands to family values with space removed.
The format '%{family|translate( ,-)}' expands to family values with space
replaced by dash. Multiple chars are supported, like tr(1).
The format '%{family|escape(\\ )}' expands to family values with space
escaped using backslash.
2009-02-15 13:40:29 -08:00
Behdad Esfahbod
b6a23028be
[fcformat] Add value-count syntax
...
The format '%{#family}' expands to the number of values for the element
'family', or '0' if no such element exists in the pattern.
2009-02-15 13:40:29 -08:00
Behdad Esfahbod
dccbbe83ef
[FcStrBuf] better handle malloc failure
...
If buffer has failed allocation, return NULL when done.
2009-02-15 13:40:28 -08:00