1. 27 Sep, 2017 1 commit
  2. 22 Aug, 2017 2 commits
  3. 04 Aug, 2017 1 commit
  4. 03 Aug, 2017 1 commit
  5. 02 Aug, 2017 1 commit
  6. 27 Jun, 2017 1 commit
  7. 12 Jun, 2017 1 commit
    • Florent Rougon's avatar
      FcLangSetCompare(): fix bug when two charsets come from different "buckets" · b0a5b4b4
      Florent Rougon authored
      In fcLangCountrySets, it may happen that two charsets for the same
      language but different territories are found in different FcChar32
      "buckets" (different "columns" on the same line). This is currently the
      case for the following pairs:
      
        mn-cn  and mn-mn
        pap-an and pap-aw
      
      The FcLangSetCompare() code so far used to return FcLangDifferentLang
      instead of FcLangDifferentTerritory when comparing:
      
        an FcLangSet containing only mn-cn with one containing only mn-mn
      
      or
      
        an FcLangSet containing only pap-an with one containing only pap-aw
      
      This commit fixes this problem.
      b0a5b4b4
  8. 09 Jun, 2017 2 commits
    • Florent Rougon's avatar
      Fix erroneous test on language id in FcLangSetPromote() · 209619b1
      Florent Rougon authored
      FcLangSetIndex() indicates "not found" with a non-negative return value.
      Return value 0 doesn't imply "not found", it rather means "language
      found at index 0 in fcLangCharSets".
      209619b1
    • Florent Rougon's avatar
      Fix an off-by-one error in FcLangSetIndex() · 4970c7e8
      Florent Rougon authored
      This commit fixes a bug that can be reproduced like this:
        - remove all languages starting with 'a' in fc-lang/Makefile.am (in
          ORTH's definition);
        - rebuild fontconfig with this change (-> new fc-lang/fclang.h);
        - create an FcLangSet 'ls1' that contains at least the first language
          from fcLangCharSets (i.e., the first *remaining* in lexicographic
          order); let's assume it is "ba" for the sake of this description;
        - create an FcLangSet 'ls2' that only contains the language "aa" (any
          language starting with 'a' should work as well);
        - check the return value of FcLangSetContains(ls1, ls2);
      
      The expected return value is FcFalse, however it is FcTrue if you use
      the code before this commit.
      
      What happens is that FcLangSetIndex() returns 0, because this is the
      index of the first slot after the not-found language "aa" in
      fcLangCharSets (since we removed all languages starting with 'a').
      However, this index happens to be non-negative, therefore
      FcLangSetContainsLang() mistakenly infers that the language "aa" was
      found in fcLangCharSets, and thus calls FcLangSetBitGet(ls1, 0), which
      returns FcTrue since we've put the first remaining language "ba" in the
      'ls1' language set.
      
      The "return -low;" statement previously in FcLangSetIndex() was
      inconsistent with the final return statement. "return -(low+1);" fixes
      this inconsistency as well as the incorrect behavior described above.
      4970c7e8
  9. 13 May, 2014 1 commit
  10. 05 Mar, 2013 1 commit
  11. 02 Jan, 2013 1 commit
  12. 30 Dec, 2012 2 commits
  13. 07 Dec, 2012 1 commit
  14. 08 Jun, 2012 1 commit
  15. 09 Dec, 2010 1 commit
    • Akira TAGOH's avatar
      Add editing langset feature. · 3c862aad
      Akira TAGOH authored
      The syntax to add any langset to the langset table looks like:
      
      <match target="scan">
          <test name="family">
              <string>Buggy Sans</string>
          </test>
          <edit name="lang" mode="assign">
              <plus>
                  <name>lang</name>
                  <langset>
                      <string>zh-cn</string>
                      <string>zh-tw</string>
                  </langset>
              </plus>
          </edit>
      </match>
      
      To remove any langset from the langset table:
      
      <match target="scan">
          <test name="family">
              <string>Buggy Sans</string>
          </test>
          <edit name="lang" mode="assign">
              <minus>
                  <name>lang</name>
                  <langset>
                      <string>ja</string>
                  </langset>
              </minus>
          </edit>
      </match>
      3c862aad
  16. 07 Dec, 2010 1 commit
  17. 10 Nov, 2010 1 commit
  18. 12 Apr, 2010 1 commit
  19. 16 Nov, 2009 3 commits
  20. 26 Aug, 2009 2 commits
  21. 28 Jul, 2009 1 commit
  22. 22 Jul, 2009 1 commit
  23. 24 Jun, 2009 1 commit
    • Behdad Esfahbod's avatar
      [fc-lang] Make LangSet representation in the cache files stable · ffd6668b
      Behdad Esfahbod authored
      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.
      ffd6668b
  24. 13 Mar, 2009 1 commit
  25. 15 Feb, 2009 1 commit
  26. 14 Feb, 2009 1 commit
  27. 08 Jan, 2008 1 commit
  28. 02 Jan, 2008 1 commit
  29. 05 Nov, 2007 1 commit
  30. 04 Nov, 2007 1 commit
  31. 18 Oct, 2007 1 commit
  32. 05 Sep, 2006 1 commit
    • Keith Packard's avatar
      Eliminate .so PLT entries for local symbols. (thanks to Arjan van de Ven) · 23816bf9
      Keith Packard authored
      Using a simple shell script that processes the public headers, two header
      files are constructed that map public symbols to hidden internal aliases
      avoiding the assocated PLT entry for referring to a public symbol.
      
      A few mistakes in the FcPrivate/FcPublic annotations were also discovered
      through this process
      23816bf9
  33. 30 Aug, 2006 1 commit
    • Keith Packard's avatar
      Rework cache files to use offsets for all data structures. · 7ce19673
      Keith Packard authored
      Replace all of the bank/id pairs with simple offsets, recode several
      data structures to always use offsets inside the library to avoid
      conditional paths. Exposed data structures use pointers to hold offsets,
      setting the low bit to distinguish between offset and pointer.
      
      Use offset-based data structures for lang charset encodings; eliminates
      separate data structure format for that file.
      
      Much testing will be needed; offsets are likely not detected everywhere in
      the library yet.
      7ce19673
  34. 11 Apr, 2006 1 commit
    • Patrick Lam's avatar
      Missing bits from previous patches. · 2de24638
      Patrick Lam authored
      Remove extra semi-colon.
      Fix memory leak in error case (Coverity defects #776, #985).
      Fix memory leaks (Coverity defects #779, #781) and memory use after free
          (Coverity defect #780).
      reviewed by: plam
      2de24638