Lines Matching refs:ent
443 struct font *ent;
445 TAILQ_FOREACH(ent, &list, chain) {
446 f = ent->font;
580 struct font *ent;
589 ent = builtin_fonts;
591 for (i = 0; builtin_fonts[i].font != NULL; i++, ent++) {
593 ent->cookie = wsfont_make_cookie(ident,
594 ent->font->bitorder, ent->font->byteorder);
595 TAILQ_INSERT_TAIL(&list, ent, chain);
602 struct font *ent;
604 TAILQ_FOREACH(ent, &list, chain) {
605 if ((ent->cookie & mask) == (cookie & mask))
606 return (ent);
663 struct font *ent, *bestent = NULL;
666 TAILQ_FOREACH(ent, &list, chain) {
667 score = wsfont_matches(ent->font, name,
671 bestent = ent;
684 struct font *ent;
686 TAILQ_FOREACH(ent, &list, chain) {
687 matchfunc(ent->font, cookie, ent->cookie);
694 struct font *ent;
697 ent = malloc(sizeof(struct font), M_DEVBUF, M_WAITOK | M_ZERO);
701 ent->font = font;
702 ent->flags = WSFONT_STATIC;
707 ent->font = malloc(sizeof(struct wsdisplay_font), M_DEVBUF,
709 memcpy(ent->font, font, sizeof(*ent->font));
714 ent->font->data = data;
718 ent->font->name = name;
721 TAILQ_INSERT_TAIL(&list, ent, chain);
722 return (ent);
728 struct font *ent;
735 ent = wsfont_add0(font, copy);
738 ent->cookie = wsfont_make_cookie(ident, font->bitorder,
747 struct font *ent;
749 if ((ent = wsfont_find0(cookie, 0xffffffff)) == NULL)
752 if ((ent->flags & WSFONT_BUILTIN) != 0 || ent->lockcount != 0)
755 if ((ent->flags & WSFONT_STATIC) == 0) {
756 free(ent->font->data, M_DEVBUF);
757 free(__UNCONST(ent->font->name), M_DEVBUF); /*XXXUNCONST*/
758 free(ent->font, M_DEVBUF);
761 TAILQ_REMOVE(&list, ent, chain);
762 free(ent, M_DEVBUF);
770 struct font *ent, *neu;
773 if ((ent = wsfont_find0(cookie, 0xffffffff)) == NULL) {
774 if ((ent = wsfont_find0(cookie, WSFONT_IDENT_MASK)) == NULL)
780 if (ent->lockcount != 0) {
781 neu = wsfont_add0(ent->font, 1);
786 ent->font->name,
787 ent->font->bitorder, ent->font->byteorder,
790 ent = neu;
793 if (bito && bito != ent->font->bitorder) {
794 wsfont_revbit(ent->font);
795 ent->font->bitorder = bito;
798 if (byteo && byteo != ent->font->byteorder) {
799 wsfont_revbyte(ent->font);
800 ent->font->byteorder = byteo;
803 ent->cookie = cookie;
806 ent->lockcount++;
807 *ptr = ent->font;
814 struct font *ent;
816 if ((ent = wsfont_find0(cookie, 0xffffffff)) == NULL)
819 if (ent->lockcount == 0)
822 if (--ent->lockcount == 0 && (ent->flags & WSFONT_COPY) != 0)