fontconfig: Branch 'master'

[email protected] (Akira TAGOH)
Newsgroups gmane.comp.fonts.fontconfig
Message-ID <[email protected]>
 fc-lang/fc-lang.c |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 02161ef2d6eda4e9c0ad068058d51a67a09af92f
Author: Florent Rougon <[email protected]>
Date:   Tue Jun 6 11:10:18 2017 +0200

    fc-lang: gracefully handle the case where the last language initial is < 'z'
    
    FcLangSetIndex() contains code like this:
    
      low = fcLangCharSetRanges[firstChar - 'a'].begin;
      high = fcLangCharSetRanges[firstChar - 'a'].end;
      /* no matches */
      if (low > high)
    
    The assumption behind this test didn't hold before this commit, unless
    there is at least one language name that starts with 'z' (which is
    thankfully the case in our world :-). If the last language name in
    lexicographic order starts for instance with 'x', this change ensures
    that fcLangCharSetRanges['y' - 'a'].begin and
         fcLangCharSetRanges['z' - 'a'].begin
    are equal to NUM_LANG_CHAR_SET, in order to make the above assumption
    correct in all cases.

diff --git a/fc-lang/fc-lang.c b/fc-lang/fc-lang.c
index 38fc697..3443f51 100644
--- a/fc-lang/fc-lang.c
+++ b/fc-lang/fc-lang.c
@@ -561,6 +561,9 @@ main (int argc FC_UNUSED, char **argv)
 	while (setRangeChar <= c && c <= 'z')
 	    setRangeStart[setRangeChar++ - 'a'] = i;
     }
+    while (setRangeChar <= 'z') /* no language code starts with these letters */
+	setRangeStart[setRangeChar++ - 'a'] = i;
+
     for (setRangeChar = 'a'; setRangeChar < 'z'; setRangeChar++)
 	setRangeEnd[setRangeChar - 'a'] = setRangeStart[setRangeChar+1-'a'] - 1;
     setRangeEnd[setRangeChar - 'a'] = i - 1;
_______________________________________________
Fontconfig mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/fontconfig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.