Commit Graph

2098 Commits

Author SHA1 Message Date
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
Behdad Esfahbod ced38254b4 [fcformat] Implement 'cescape', 'shescape', and 'xmlescape' converters 2009-02-15 13:40:28 -08:00
Behdad Esfahbod 2017a5eb79 [fcformat] Add simple converters
The format '%{family|downcase}' for example prints the lowercase of
the family element.  Three converters are defined right now:
'downcase', 'basename', and 'dirname'.
2009-02-15 13:40:27 -08:00
Behdad Esfahbod 7717b25ffd [fcformat] Add conditionals
The conditional '%{?elt1,elt2,!elt3{expr1}{expr2}}' will evaluate
expr1 if elt1 and elt2 exist in pattern and elt3 doesn't exist, and
expr2 otherwise.  The '{expr2}' part is optional.
2009-02-15 13:40:27 -08:00
Behdad Esfahbod 8c31a2434d [fcformat] Add element filtering and deletion
The filtering, '%{+elt1,elt2,elt3{subexpr}}' will evaluate subexpr
with a pattern only having the listed elements from the surrounding
pattern.

The deletion, '%{-elt1,elt2,elt3{subexpr}}' will evaluate subexpr
with a the surrounding pattern sans the listed elements.
2009-02-15 13:40:26 -08:00
Behdad Esfahbod d6506ff6ee [fcformat] Add support for subexpressions
The syntax is '{{expr}}'.  Can be used for aligning/justifying an entire
subexpr for example.
2009-02-15 13:40:26 -08:00
Behdad Esfahbod 27b3e2dddf [fcformat] Refactor and restructure code for upcoming changes
Also makes it thread-safe.
2009-02-15 13:40:26 -08:00
Behdad Esfahbod c493c3b770 [fcformat] Add support for width modifiers
One can do '%30{family}' for example.  Or '%-30{family}' for the
left-aligned version.
2009-02-15 13:40:25 -08:00
Behdad Esfahbod 967267556c Further update Sinhala orthography (#19288) 2009-02-15 13:40:25 -08:00
Behdad Esfahbod b697fa2523 [cache] After writing cache to file, update the internal copy to reflect this
Only do it for small caches though.  For large cache we'd better off loading
the cache file again, mmap()ing it.

Based on patch from Diego Santa Cruz.
2009-02-15 13:40:25 -08:00
Behdad Esfahbod ecce22d40c Update Sinhala orthography (#19288)
Patch from Harshula Jayasuriya.
2009-02-15 13:40:25 -08:00
Behdad Esfahbod 6bb5d72fe7 [fccache] Make sure the cache is current when reusing from open caches
Reported by Diego Santa Cruz.
2009-02-15 13:40:25 -08:00
Behdad Esfahbod f9feb587fa [win32] Do not remove leading '\\' such that network paths work
Raised by Diego Santa Cruz.
2009-02-15 13:40:24 -08:00
Behdad Esfahbod 1cdf7efb22 [win32] Expand "APPSHAREFONTDIR" to ../share/fonts relative to binary location
Proposed by Diego Santa Cruz.
2009-02-15 13:40:24 -08:00
Behdad Esfahbod e62058abb9 [win32] Fix usage of GetFullPathName()
Diego Santa Cruz pointed out that we are using that API wrongly.
The forth argument is a pointer to a pointer.  Turns out we don't
need that arugment and it accepts NULL, so just pass that.
2009-02-15 13:40:24 -08:00
Behdad Esfahbod c4d557ab90 Add ICONV_LIBS to fontconfig.pc.in (#19606) 2009-02-15 13:40:23 -08:00
Mike FABIAN 10609af4aa [conf] Disable hinting when emboldening (#19904)
Hinting will be done before Embolden in freetype2,
but in such case, Embolden will get wrong result
on some glyph contours after applying hinting.
Actually, hinting should be done after embolden, but we can't
fix it in current freetype2. So as a workaround, just turn off
hinting if we want to do embolden.
2009-02-15 13:40:23 -08:00
Roozbeh Pournader fe00689cdd Remove punctuation symbols from Asturian orthography (bug #19893)
Also fix the URL for orthography.
2009-02-15 13:40:23 -08:00
Roozbeh Pournader a4f651241e Rename Igbo from "ibo" to "ig" (bug #19892) 2009-02-15 13:40:23 -08:00
Roozbeh Pournader ff71a83c20 Renamed az to az_az (bug #19889) 2009-02-15 13:40:22 -08:00
Roozbeh Pournader e53956ee5e Add Berber orthographies in Latin and Tifinagh scripts (bug #19881) 2009-02-15 13:40:22 -08:00
Roozbeh Pournader 3765a7483e Add Upper Sorbian (hsb) orthography (bug #19870) 2009-02-15 13:40:21 -08:00
Roozbeh Pournader 9f54d9db29 Add Kinyarwanda (rw) orthography (bug #19868) 2009-02-15 13:40:21 -08:00
Roozbeh Pournader 3889de9e3c Add Malay (ms) orthography (bug #19867) 2009-02-15 13:40:21 -08:00
Roozbeh Pournader 0896d14ab7 Add Kashubian (csb) orth file (bug #19866) 2009-02-15 13:40:21 -08:00
Roozbeh Pournader a32870457e Rename "ku" to "ku_am", add "ku_iq" (bug #19853).
For Iraq, we are assuming its the same Arabic orthography used in Iran.

According to Ethnologue, Kurdish is written in Cyrillic in Armenia:
http://www.ethnologue.com/show_language.asp?code=kmr

Turkey and Syria need more research.
2009-02-15 13:40:21 -08:00
Roozbeh Pournader 2199c6e321 Rename Venda from "ven" to "ve" (bug #19852)
Since ISO 639-1 code exists, we should use it.
2009-02-15 13:40:20 -08:00
Roozbeh Pournader d7dd87649c Change Turkmen orth from Cyrillic to Latin (bug #19849) 2009-02-15 13:40:19 -08:00
Roozbeh Pournader b25a42963d Fix doubly encoded UTF-8 in comments (bug #19848) 2009-02-15 13:40:19 -08:00
Roozbeh Pournader f3c214a1cd Split Mongolian orth to Mongolia and China (bug #19847)
The orth file for Mongolia uses Cyrillic, while that of
China uses the classical Mongolian script.
2009-02-15 13:40:19 -08:00
Roozbeh Pournader 0d5f9a2592 Add Filipino orth, alias Tagalog to Filipino (bug #19846)
The previous Tagalog orthography used the Tagalog script, which is not in
modern use.
2009-02-15 13:40:19 -08:00
Roozbeh Pournader 2bf7d799bf Remove Sinhala characters not in modern use (bug #19288) 2009-02-15 13:40:19 -08:00
Roozbeh Pournader 2f3b07fe80 Correct Sindhi orthography to use Arabic script (bug #17140)
The previous version used the Devanagari script. But in both Pakistan and
India, Sindhi is generally written in Arabic. The Devanagari data could
prove to be useful, if we decide on how we should name such files (see
bug #17208 and bug #19869).
2009-02-15 13:40:18 -08:00
Behdad Esfahbod 574805478c [fcfreetype] Fix typo in GB2312 encoding name string (#19845)
This was causing failure when opening iconv converter, hence rendering
GB2312-encoded fonts with no other usable encoding unusable.
2009-02-15 13:40:18 -08:00
Karl Tomlinson 575ee6cddd Change FcCharSetMerge API
To only work on writable charsets.  Also, return a bool indicating whether
the merge changed the charset.

Also changes the implementation of FcCharSetMerge and FcCharSetIsSubset
2009-02-15 13:40:18 -08:00
Behdad Esfahbod b8860e2faf [fcmatch] Fix crash when no fonts are available. 2009-02-15 13:40:17 -08:00
Dan Nicholson c08216c6f4 Let make expand fc_cachedir/FC_CACHEDIR (bug #18675)
configure replaces a NONE prefix with the default prefix too late.
So we move fonts.conf creation to Makefile, such that prefix is correctly
expanded. Ugly, but works.
2009-02-15 13:40:16 -08:00
Behdad Esfahbod 98d765a53b Cleanup all manpage.* files
Recent doc2man generates files called manpage.log.  This was breaking build.
2009-02-13 16:55:08 -08:00
Behdad Esfahbod 41af588f54 [fc-match] Accept list of elements like fc-list (bug #13017)
Also make --verbose not ignore list of elements and only print those.
Update docs.
2009-02-13 16:54:07 -08:00