From: Behdad Esfahbod Date: Mon, 5 Nov 2007 20:29:44 +0000 (-0500) Subject: Add FcGetLangs() and FcLangGetCharSet(). X-Git-Tag: 2.4.92~12 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=cf223cc7bcae94e839d7ac1e980f289cca5199b0;p=fontconfig.git Add FcGetLangs() and FcLangGetCharSet(). --- diff --git a/doc/fclangset.fncs b/doc/fclangset.fncs index 8ae5f5c..3f69f0d 100644 --- a/doc/fclangset.fncs +++ b/doc/fclangset.fncs @@ -122,3 +122,19 @@ a matching language but differs in which territory that language is for, this function returns FcLangDiffentTerritory. If ls has no matching language, this function returns FcLangDifferentLang. @@ + +@RET@ FcStrSet * +@FUNC@ FcGetLangs +@TYPE1@ void +@PURPOSE@ Get list of languages +@DESC@ +Returns a string set of all known languages. +@@ + +@RET@ const FcCharSet * +@FUNC@ FcLangGetCharSet +@TYPE1@ const FcChar8 * @ARG1@ lang +@PURPOSE@ Get character map for a language +@DESC@ +Returns the FcCharMap for a language. +@@ diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h index 2340640..77276e6 100644 --- a/fontconfig/fontconfig.h +++ b/fontconfig/fontconfig.h @@ -551,6 +551,12 @@ FcPublic FcBool FcInitBringUptoDate (void); /* fclang.c */ +FcStrSet * +FcGetLangs (void); + +FcPublic const FcCharSet * +FcLangGetCharSet (const FcChar8 *lang); + FcPublic FcLangSet* FcLangSetCreate (void); diff --git a/src/fcint.h b/src/fcint.h index 329092d..62a04b8 100644 --- a/src/fcint.h +++ b/src/fcint.h @@ -890,9 +890,6 @@ FcFreeTypeLangSet (const FcCharSet *charset, FcPrivate FcLangResult FcLangCompare (const FcChar8 *s1, const FcChar8 *s2); -FcPrivate const FcCharSet * -FcCharSetForLang (const FcChar8 *lang); - FcPrivate FcLangSet * FcLangSetPromote (const FcChar8 *lang); diff --git a/src/fclang.c b/src/fclang.c index 361803a..7aa5f3c 100644 --- a/src/fclang.c +++ b/src/fclang.c @@ -54,7 +54,7 @@ FcFreeTypeLangSet (const FcCharSet *charset, FcLangSet *ls; if (exclusiveLang) - exclusiveCharset = FcCharSetForLang (exclusiveLang); + exclusiveCharset = FcLangGetCharSet (exclusiveLang); ls = FcLangSetCreate (); if (!ls) return 0; @@ -196,7 +196,7 @@ FcLangContains (const FcChar8 *super, const FcChar8 *sub) } const FcCharSet * -FcCharSetForLang (const FcChar8 *lang) +FcLangGetCharSet (const FcChar8 *lang) { int i; int country = -1; @@ -218,6 +218,22 @@ FcCharSetForLang (const FcChar8 *lang) return &fcLangCharSets[country].charset; } +FcStrSet * +FcGetLangs (void) +{ + FcStrSet *langs; + int i; + + langs = FcStrSetCreate(); + if (!langs) + return 0; + + for (i = 0; i < NUM_LANG_CHAR_SET; i++) + FcStrSetAdd (langs, fcLangCharSets[i].lang); + + return langs; +} + FcLangSet * FcLangSetCreate (void) {