fontconfig: Branch 'main'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 src/fcdefault.c |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

New commits:
commit 6e3fe92b20edb1d91683efa9aea68d35a887a83c
Author: Jean Abou Samra <jean@xxxxxxxxxxxxx>
Date:   Thu Dec 8 13:02:19 2022 +0100

    Ignore LC_CTYPE if set to "UTF-8"
    
    LC_CTYPE is set to "UTF-8" on some macOS systems, which is
    POSIX-compliant in a strict sense, but breaks the usual assumption
    that a locale name has the form "ll_LL.encoding".
    
    https://unix.stackexchange.com/questions/503110/valid-values-for-lc-ctype
    
    Previously, this would cause the warning
    
      Fontconfig warning: ignoring UTF-8: not a valid region tag
    
    Now, we just skip this variable if set to "UTF-8", since that value
    doesn't give any language information, and move on to try LANG.

diff --git a/src/fcdefault.c b/src/fcdefault.c
index 6995216..d00c494 100644
--- a/src/fcdefault.c
+++ b/src/fcdefault.c
@@ -62,7 +62,17 @@ retry:
 	if (!langs || !langs[0])
 	    langs = getenv ("LC_ALL");
 	if (!langs || !langs[0])
-	    langs = getenv ("LC_CTYPE");
+        {
+            langs = getenv ("LC_CTYPE");
+            // On some macOS systems, LC_CTYPE is set to "UTF-8", which doesn't
+            // give any languge information. In this case, ignore LC_CTYPE and
+            // continue the search with LANG.
+            if (langs && (FcStrCmpIgnoreCase((const FcChar8 *) langs,
+                                             (const FcChar8 *)"UTF-8") == 0))
+            {
+                langs = NULL;
+            }
+        }
 	if (!langs || !langs[0])
 	    langs = getenv ("LANG");
 	if (langs && langs[0])



[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux