Get _pango_get_lc_ctype from system prefs on Mac OS X
authorKristian Rietveld <kris@lanedo.com>
Fri, 23 Sep 2011 11:50:25 +0000 (13:50 +0200)
committerKristian Rietveld <kris@lanedo.com>
Mon, 14 Nov 2011 09:54:05 +0000 (10:54 +0100)
pango/pango-language.c

index 5b8583e..1cdc4f0 100644 (file)
 #include "pango-language.h"
 #include "pango-impl-utils.h"
 
+#ifdef HAVE_CORE_TEXT
+#include <CoreFoundation/CoreFoundation.h>
+#endif /* HAVE_CORE_TEXT */
+
 
 /* We embed a private struct right *before* a where a PangoLanguage *
  * points to.
@@ -188,6 +192,23 @@ _pango_get_lc_ctype (void)
     return g_strdup (p);
 
   return g_win32_getlocale ();
+#elif HAVE_CORE_TEXT
+  CFArrayRef languages;
+  CFStringRef language;
+  gchar ret[16];
+
+  languages = CFLocaleCopyPreferredLanguages ();
+  language = CFArrayGetValueAtIndex (languages, 0);
+
+  if (!CFStringGetCString (language, ret, 16, kCFStringEncodingUTF8))
+    {
+      CFRelease (languages);
+      return g_strdup (setlocale (LC_CTYPE, NULL));
+    }
+
+  CFRelease (languages);
+
+  return g_strdup (ret);
 #else
   return g_strdup (setlocale (LC_CTYPE, NULL));
 #endif