Lines Matching refs:ls
52 FcLangSetBitSet (FcLangSet *ls,
59 if (bucket >= ls->map_size)
62 ls->map[bucket] |= ((FcChar32) 1U << (id & 0x1f));
66 FcLangSetBitGet (const FcLangSet *ls,
73 if (bucket >= ls->map_size)
76 return ((ls->map[bucket] >> (id & 0x1f)) & 1) ? FcTrue : FcFalse;
80 FcLangSetBitReset (FcLangSet *ls,
87 if (bucket >= ls->map_size)
90 ls->map[bucket] &= ~((FcChar32) 1U << (id & 0x1f));
100 FcLangSet *ls;
104 ls = FcLangSetCreate ();
105 if (!ls)
171 FcLangSetBitSet (ls, i);
178 return ls;
474 FcLangSet *ls;
476 ls = malloc (sizeof (FcLangSet));
477 if (!ls)
479 memset (ls->map, '\0', sizeof (ls->map));
480 ls->map_size = NUM_LANG_SET_MAP;
481 ls->extra = 0;
482 return ls;
486 FcLangSetDestroy (FcLangSet *ls)
488 if (!ls)
491 if (ls->extra)
492 FcStrSetDestroy (ls->extra);
493 free (ls);
497 FcLangSetCopy (const FcLangSet *ls)
501 if (!ls)
508 memcpy (new->map, ls->map, FC_MIN (sizeof (new->map), ls->map_size * sizeof (ls->map[0])));
509 if (ls->extra)
518 list = FcStrListCreate (ls->extra);
603 FcLangSetAdd (FcLangSet *ls, const FcChar8 *lang)
610 FcLangSetBitSet (ls, id);
613 if (!ls->extra)
615 ls->extra = FcStrSetCreate ();
616 if (!ls->extra)
619 return FcStrSetAdd (ls->extra, lang);
623 FcLangSetDel (FcLangSet *ls, const FcChar8 *lang)
630 FcLangSetBitReset (ls, id);
632 else if (ls->extra)
634 FcStrSetDel (ls->extra, lang);
640 FcLangSetHasLang (const FcLangSet *ls, const FcChar8 *lang)
649 else if (FcLangSetBitGet (ls, id))
657 if (FcLangSetBitGet (ls, i) && r < best)
665 if (FcLangSetBitGet (ls, i) && r < best)
668 if (ls->extra)
670 FcStrList *list = FcStrListCreate (ls->extra);
688 FcLangSetCompareStrSet (const FcLangSet *ls, FcStrSet *set)
698 r = FcLangSetHasLang (ls, extra);
760 FcLangSet ls;
768 memset (buf->ls.map, '\0', sizeof (buf->ls.map));
769 buf->ls.map_size = NUM_LANG_SET_MAP;
770 buf->ls.extra = 0;
776 FcLangSetBitSet (&buf->ls, id);
780 buf->ls.extra = &buf->strs;
788 return &buf->ls;
792 FcLangSetHash (const FcLangSet *ls)
797 count = FC_MIN (ls->map_size, NUM_LANG_SET_MAP);
799 h ^= ls->map[i];
800 if (ls->extra)
801 h ^= ls->extra->num;
810 FcLangSet *ls;
812 ls = FcLangSetCreate ();
813 if (!ls)
826 if (!FcLangSetAdd (ls, lang))
831 return ls;
833 FcLangSetDestroy (ls);
839 FcNameUnparseLangSet (FcStrBuf *buf, const FcLangSet *ls)
845 count = FC_MIN (ls->map_size, NUM_LANG_SET_MAP);
848 if ((bits = ls->map[i]))
863 if (ls->extra)
865 FcStrList *list = FcStrListCreate (ls->extra);
910 FcLangSetContainsLang (const FcLangSet *ls, const FcChar8 *lang)
918 else if (FcLangSetBitGet (ls, id))
927 if (FcLangSetBitGet (ls, i) &&
935 if (FcLangSetBitGet (ls, i) &&
939 if (ls->extra)
941 FcStrList *list = FcStrListCreate (ls->extra);
1039 l_serialize->extra = NULL; /* We don't serialize ls->extra */
1044 FcLangSetGetLangs (const FcLangSet *ls)
1054 if (FcLangSetBitGet (ls, i))
1057 if (ls->extra)
1059 FcStrList *list = FcStrListCreate (ls->extra);
1077 FcBool (*func) (FcLangSet *ls,