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.
This commit is contained in:
parent
c9e24f9ef4
commit
fee834a9c9
|
@ -743,6 +743,7 @@ FcSortWalk (FcSortNode **n, int nnode, FcFontSet *fs, FcCharSet **csp, FcBool tr
|
||||||
{
|
{
|
||||||
FcBool ret = FcFalse;
|
FcBool ret = FcFalse;
|
||||||
FcCharSet *cs;
|
FcCharSet *cs;
|
||||||
|
int i;
|
||||||
|
|
||||||
cs = 0;
|
cs = 0;
|
||||||
if (trim || csp)
|
if (trim || csp)
|
||||||
|
@ -752,7 +753,7 @@ FcSortWalk (FcSortNode **n, int nnode, FcFontSet *fs, FcCharSet **csp, FcBool tr
|
||||||
goto bail;
|
goto bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (nnode--)
|
for (i = 0; i < nnode; i++)
|
||||||
{
|
{
|
||||||
FcSortNode *node = *n++;
|
FcSortNode *node = *n++;
|
||||||
FcBool adds_chars = FcFalse;
|
FcBool adds_chars = FcFalse;
|
||||||
|
@ -776,7 +777,7 @@ FcSortWalk (FcSortNode **n, int nnode, FcFontSet *fs, FcCharSet **csp, FcBool tr
|
||||||
* If this font isn't a subset of the previous fonts,
|
* If this font isn't a subset of the previous fonts,
|
||||||
* add it to the list
|
* add it to the list
|
||||||
*/
|
*/
|
||||||
if (!trim || adds_chars)
|
if (!i || !trim || adds_chars)
|
||||||
{
|
{
|
||||||
FcPatternReference (node->pattern);
|
FcPatternReference (node->pattern);
|
||||||
if (FcDebug () & FC_DBG_MATCHV)
|
if (FcDebug () & FC_DBG_MATCHV)
|
||||||
|
|
Loading…
Reference in New Issue