Lines Matching refs:font

110 #define TTF_HANDLE_STYLE_BOLD(font) (((font)->style & TTF_STYLE_BOLD) && \  argument
111 !((font)->face_style & TTF_STYLE_BOLD))
112 #define TTF_HANDLE_STYLE_ITALIC(font) (((font)->style & TTF_STYLE_ITALIC) && \ argument
113 !((font)->face_style & TTF_STYLE_ITALIC))
114 #define TTF_HANDLE_STYLE_UNDERLINE(font) ((font)->style & TTF_STYLE_UNDERLINE) argument
115 #define TTF_HANDLE_STYLE_STRIKETHROUGH(font) ((font)->style & TTF_STYLE_STRIKETHROUGH) argument
138 static int TTF_underline_top_row(TTF_Font *font) in TTF_underline_top_row() argument
142 return font->ascent - font->underline_offset - 1; in TTF_underline_top_row()
150 static int TTF_Glyph_underline_top_row(TTF_Font *font, c_glyph *glyph) in TTF_Glyph_underline_top_row() argument
152 return glyph->maxy - font->underline_offset - 1; in TTF_Glyph_underline_top_row()
158 static int TTF_underline_bottom_row(TTF_Font *font) in TTF_underline_bottom_row() argument
160 int row = TTF_underline_top_row(font) + font->underline_height; in TTF_underline_bottom_row()
161 if (font->outline > 0) { in TTF_underline_bottom_row()
164 row += font->outline * 2; in TTF_underline_bottom_row()
174 static int TTF_Glyph_underline_bottom_row(TTF_Font *font, c_glyph *glyph) in TTF_Glyph_underline_bottom_row() argument
176 return TTF_underline_bottom_row(font) - font->ascent + glyph->maxy; in TTF_Glyph_underline_bottom_row()
182 static int TTF_strikethrough_top_row(TTF_Font *font) in TTF_strikethrough_top_row() argument
186 return font->height / 2; in TTF_strikethrough_top_row()
194 static int TTF_Glyph_strikethrough_top_row(TTF_Font *font, c_glyph *glyph) in TTF_Glyph_strikethrough_top_row() argument
196 return TTF_strikethrough_top_row(font) - font->ascent + glyph->maxy; in TTF_Glyph_strikethrough_top_row()
199 static void TTF_initLineMectrics(const TTF_Font *font, const SDL_Surface *textbuf, const int row, U… in TTF_initLineMectrics() argument
209 height = font->underline_height; in TTF_initLineMectrics()
211 if (font->outline > 0) { in TTF_initLineMectrics()
212 height += font->outline * 2; in TTF_initLineMectrics()
222 static void TTF_drawLine_Solid(const TTF_Font *font, const SDL_Surface *textbuf, const int row) in TTF_drawLine_Solid() argument
229 TTF_initLineMectrics(font, textbuf, row, &dst, &height); in TTF_drawLine_Solid()
243 static void TTF_drawLine_Shaded(const TTF_Font *font, const SDL_Surface *textbuf, const int row) in TTF_drawLine_Shaded() argument
250 TTF_initLineMectrics(font, textbuf, row, &dst, &height); in TTF_drawLine_Shaded()
263 static void TTF_drawLine_Blended(const TTF_Font *font, const SDL_Surface *textbuf, const int row, c… in TTF_drawLine_Blended() argument
273 TTF_initLineMectrics(font, textbuf, row, &dst8, &height); in TTF_drawLine_Blended()
370 TTF_Font* font; in TTF_OpenFontIndexRW() local
404 font = (TTF_Font*)SDL_malloc(sizeof *font); in TTF_OpenFontIndexRW()
405 if (font == NULL) { in TTF_OpenFontIndexRW()
413 SDL_memset(font, 0, sizeof(*font)); in TTF_OpenFontIndexRW()
415 font->src = src; in TTF_OpenFontIndexRW()
416 font->freesrc = freesrc; in TTF_OpenFontIndexRW()
422 TTF_CloseFont(font); in TTF_OpenFontIndexRW()
432 font->args.flags = FT_OPEN_STREAM; in TTF_OpenFontIndexRW()
433 font->args.stream = stream; in TTF_OpenFontIndexRW()
435 error = FT_Open_Face(library, &font->args, index, &font->face); in TTF_OpenFontIndexRW()
439 TTF_CloseFont(font); in TTF_OpenFontIndexRW()
442 face = font->face; in TTF_OpenFontIndexRW()
481 error = FT_Set_Char_Size(font->face, 0, ptsize * 64, 0, 0); in TTF_OpenFontIndexRW()
484 TTF_CloseFont(font); in TTF_OpenFontIndexRW()
490 font->ascent = FT_CEIL(FT_MulFix(face->ascender, scale)); in TTF_OpenFontIndexRW()
491 font->descent = FT_CEIL(FT_MulFix(face->descender, scale)); in TTF_OpenFontIndexRW()
492 font->height = font->ascent - font->descent + /* baseline */ 1; in TTF_OpenFontIndexRW()
493 font->lineskip = FT_CEIL(FT_MulFix(face->height, scale)); in TTF_OpenFontIndexRW()
494 font->underline_offset = FT_FLOOR(FT_MulFix(face->underline_position, scale)); in TTF_OpenFontIndexRW()
495 font->underline_height = FT_FLOOR(FT_MulFix(face->underline_thickness, scale)); in TTF_OpenFontIndexRW()
502 if (ptsize >= font->face->num_fixed_sizes) in TTF_OpenFontIndexRW()
503 ptsize = font->face->num_fixed_sizes - 1; in TTF_OpenFontIndexRW()
504 font->font_size_family = ptsize; in TTF_OpenFontIndexRW()
514 font->ascent = face->available_sizes[ptsize].height; in TTF_OpenFontIndexRW()
515 font->descent = 0; in TTF_OpenFontIndexRW()
516 font->height = face->available_sizes[ptsize].height; in TTF_OpenFontIndexRW()
517 font->lineskip = FT_CEIL(font->ascent); in TTF_OpenFontIndexRW()
518 font->underline_offset = FT_FLOOR(face->underline_position); in TTF_OpenFontIndexRW()
519 font->underline_height = FT_FLOOR(face->underline_thickness); in TTF_OpenFontIndexRW()
522 if (font->underline_height < 1) { in TTF_OpenFontIndexRW()
523 font->underline_height = 1; in TTF_OpenFontIndexRW()
529 font->ascent, font->descent); in TTF_OpenFontIndexRW()
531 font->height, font->lineskip); in TTF_OpenFontIndexRW()
533 font->underline_offset, font->underline_height); in TTF_OpenFontIndexRW()
535 TTF_underline_top_row(font), TTF_strikethrough_top_row(font)); in TTF_OpenFontIndexRW()
539 font->face_style = TTF_STYLE_NORMAL; in TTF_OpenFontIndexRW()
540 if (font->face->style_flags & FT_STYLE_FLAG_BOLD) { in TTF_OpenFontIndexRW()
541 font->face_style |= TTF_STYLE_BOLD; in TTF_OpenFontIndexRW()
543 if (font->face->style_flags & FT_STYLE_FLAG_ITALIC) { in TTF_OpenFontIndexRW()
544 font->face_style |= TTF_STYLE_ITALIC; in TTF_OpenFontIndexRW()
548 font->style = font->face_style; in TTF_OpenFontIndexRW()
549 font->outline = 0; in TTF_OpenFontIndexRW()
550 font->kerning = 1; in TTF_OpenFontIndexRW()
551 font->glyph_overhang = face->size->metrics.y_ppem / 10; in TTF_OpenFontIndexRW()
553 font->glyph_italics = 0.207f; in TTF_OpenFontIndexRW()
554 font->glyph_italics *= font->height; in TTF_OpenFontIndexRW()
556 return font; in TTF_OpenFontIndexRW()
593 static void Flush_Cache(TTF_Font* font) in Flush_Cache() argument
596 int size = sizeof(font->cache) / sizeof(font->cache[0]); in Flush_Cache()
599 if (font->cache[i].cached) { in Flush_Cache()
600 Flush_Glyph(&font->cache[i]); in Flush_Cache()
606 static FT_Error Load_Glyph(TTF_Font* font, Uint32 ch, c_glyph* cached, int want) in Load_Glyph() argument
614 if (!font || !font->face) { in Load_Glyph()
618 face = font->face; in Load_Glyph()
624 error = FT_Load_Glyph(face, cached->index, FT_LOAD_DEFAULT | font->hinting); in Load_Glyph()
642 cached->yoffset = font->ascent - cached->maxy; in Load_Glyph()
654 … cached->miny = cached->maxy - FT_CEIL(face->available_sizes[font->font_size_family].height); in Load_Glyph()
660 if (TTF_HANDLE_STYLE_BOLD(font)) { in Load_Glyph()
661 cached->maxx += font->glyph_overhang; in Load_Glyph()
663 if (TTF_HANDLE_STYLE_ITALIC(font)) { in Load_Glyph()
664 cached->maxx += (int)SDL_ceil(font->glyph_italics); in Load_Glyph()
678 if (TTF_HANDLE_STYLE_ITALIC(font)) { in Load_Glyph()
682 shear.xy = (int) (font->glyph_italics * (1 << 16)) / font->height; in Load_Glyph()
690 if ((font->outline > 0) && glyph->format != FT_GLYPH_FORMAT_BITMAP) { in Load_Glyph()
697 …FT_Stroker_Set(stroker, font->outline * 64, FT_STROKER_LINECAP_ROUND, FT_STROKER_LINEJOIN_ROUND, 0… in Load_Glyph()
742 if (TTF_HANDLE_STYLE_BOLD(font)) { in Load_Glyph()
743 int bump = font->glyph_overhang; in Load_Glyph()
747 if (TTF_HANDLE_STYLE_ITALIC(font)) { in Load_Glyph()
748 int bump = (int)SDL_ceil(font->glyph_italics); in Load_Glyph()
875 if (TTF_HANDLE_STYLE_BOLD(font)) { in Load_Glyph()
885 for (offset=1; offset <= font->glyph_overhang; ++offset) { in Load_Glyph()
920 static FT_Error Find_Glyph(TTF_Font* font, Uint32 ch, int want) in Find_Glyph() argument
923 int hsize = sizeof(font->cache) / sizeof(font->cache[0]); in Find_Glyph()
926 font->current = &font->cache[h]; in Find_Glyph()
928 if (font->current->cached != ch) in Find_Glyph()
929 Flush_Glyph(font->current); in Find_Glyph()
931 if ((font->current->stored & want) != want) { in Find_Glyph()
932 retval = Load_Glyph(font, ch, font->current, want); in Find_Glyph()
937 void TTF_CloseFont(TTF_Font* font) in TTF_CloseFont() argument
939 if (font) { in TTF_CloseFont()
940 Flush_Cache(font); in TTF_CloseFont()
941 if (font->face) { in TTF_CloseFont()
942 FT_Done_Face(font->face); in TTF_CloseFont()
944 if (font->args.stream) { in TTF_CloseFont()
945 SDL_free(font->args.stream); in TTF_CloseFont()
947 if (font->freesrc) { in TTF_CloseFont()
948 SDL_RWclose(font->src); in TTF_CloseFont()
950 SDL_free(font); in TTF_CloseFont()
1123 int TTF_FontHeight(const TTF_Font *font) in TTF_FontHeight() argument
1125 return(font->height); in TTF_FontHeight()
1128 int TTF_FontAscent(const TTF_Font *font) in TTF_FontAscent() argument
1130 return(font->ascent); in TTF_FontAscent()
1133 int TTF_FontDescent(const TTF_Font *font) in TTF_FontDescent() argument
1135 return(font->descent); in TTF_FontDescent()
1138 int TTF_FontLineSkip(const TTF_Font *font) in TTF_FontLineSkip() argument
1140 return(font->lineskip); in TTF_FontLineSkip()
1143 int TTF_GetFontKerning(const TTF_Font *font) in TTF_GetFontKerning() argument
1145 return(font->kerning); in TTF_GetFontKerning()
1148 void TTF_SetFontKerning(TTF_Font *font, int allowed) in TTF_SetFontKerning() argument
1150 font->kerning = allowed; in TTF_SetFontKerning()
1153 long TTF_FontFaces(const TTF_Font *font) in TTF_FontFaces() argument
1155 return(font->face->num_faces); in TTF_FontFaces()
1158 int TTF_FontFaceIsFixedWidth(const TTF_Font *font) in TTF_FontFaceIsFixedWidth() argument
1160 return(FT_IS_FIXED_WIDTH(font->face)); in TTF_FontFaceIsFixedWidth()
1163 char *TTF_FontFaceFamilyName(const TTF_Font *font) in TTF_FontFaceFamilyName() argument
1165 return(font->face->family_name); in TTF_FontFaceFamilyName()
1168 char *TTF_FontFaceStyleName(const TTF_Font *font) in TTF_FontFaceStyleName() argument
1170 return(font->face->style_name); in TTF_FontFaceStyleName()
1173 int TTF_GlyphIsProvided(const TTF_Font *font, Uint16 ch) in TTF_GlyphIsProvided() argument
1175 return(FT_Get_Char_Index(font->face, ch)); in TTF_GlyphIsProvided()
1178 int TTF_GlyphMetrics(TTF_Font *font, Uint16 ch, in TTF_GlyphMetrics() argument
1183 error = Find_Glyph(font, ch, CACHED_METRICS); in TTF_GlyphMetrics()
1190 *minx = font->current->minx; in TTF_GlyphMetrics()
1193 *maxx = font->current->maxx; in TTF_GlyphMetrics()
1194 if (TTF_HANDLE_STYLE_BOLD(font)) { in TTF_GlyphMetrics()
1195 *maxx += font->glyph_overhang; in TTF_GlyphMetrics()
1199 *miny = font->current->miny; in TTF_GlyphMetrics()
1202 *maxy = font->current->maxy; in TTF_GlyphMetrics()
1205 *advance = font->current->advance; in TTF_GlyphMetrics()
1206 if (TTF_HANDLE_STYLE_BOLD(font)) { in TTF_GlyphMetrics()
1207 *advance += font->glyph_overhang; in TTF_GlyphMetrics()
1213 int TTF_SizeText(TTF_Font *font, const char *text, int *w, int *h) in TTF_SizeText() argument
1223 status = TTF_SizeUTF8(font, (char *)utf8, w, h); in TTF_SizeText()
1231 int TTF_SizeUTF8(TTF_Font *font, const char *text, int *w, int *h) in TTF_SizeUTF8() argument
1252 use_kerning = FT_HAS_KERNING(font->face) && font->kerning; in TTF_SizeUTF8()
1255 if (font->outline > 0) { in TTF_SizeUTF8()
1256 outline_delta = font->outline * 2; in TTF_SizeUTF8()
1268 error = Find_Glyph(font, c, CACHED_METRICS); in TTF_SizeUTF8()
1273 glyph = font->current; in TTF_SizeUTF8()
1278 FT_Get_Kerning(font->face, prev_index, glyph->index, ft_kerning_default, &delta); in TTF_SizeUTF8()
1305 if (TTF_HANDLE_STYLE_BOLD(font)) { in TTF_SizeUTF8()
1306 x += font->glyph_overhang; in TTF_SizeUTF8()
1335 *h = (font->ascent - miny) + outline_delta; in TTF_SizeUTF8()
1336 if (*h < font->height) { in TTF_SizeUTF8()
1337 *h = font->height; in TTF_SizeUTF8()
1340 if (TTF_HANDLE_STYLE_UNDERLINE(font)) { in TTF_SizeUTF8()
1341 int bottom_row = TTF_underline_bottom_row(font); in TTF_SizeUTF8()
1350 int TTF_SizeUNICODE(TTF_Font *font, const Uint16 *text, int *w, int *h) in TTF_SizeUNICODE() argument
1360 status = TTF_SizeUTF8(font, (char *)utf8, w, h); in TTF_SizeUNICODE()
1368 SDL_Surface *TTF_RenderText_Solid(TTF_Font *font, in TTF_RenderText_Solid() argument
1379 surface = TTF_RenderUTF8_Solid(font, (char *)utf8, fg); in TTF_RenderText_Solid()
1387 SDL_Surface *TTF_RenderUTF8_Solid(TTF_Font *font, in TTF_RenderUTF8_Solid() argument
1410 if ((TTF_SizeUTF8(font, text, &width, &height) < 0) || !width) { in TTF_RenderUTF8_Solid()
1437 use_kerning = FT_HAS_KERNING(font->face) && font->kerning; in TTF_RenderUTF8_Solid()
1448 error = Find_Glyph(font, c, CACHED_METRICS|CACHED_BITMAP); in TTF_RenderUTF8_Solid()
1454 glyph = font->current; in TTF_RenderUTF8_Solid()
1459 if (font->outline <= 0 && width > glyph->maxx - glyph->minx) { in TTF_RenderUTF8_Solid()
1465 FT_Get_Kerning(font->face, prev_index, glyph->index, ft_kerning_default, &delta); in TTF_RenderUTF8_Solid()
1490 if (TTF_HANDLE_STYLE_BOLD(font)) { in TTF_RenderUTF8_Solid()
1491 xstart += font->glyph_overhang; in TTF_RenderUTF8_Solid()
1497 if (TTF_HANDLE_STYLE_UNDERLINE(font)) { in TTF_RenderUTF8_Solid()
1498 row = TTF_underline_top_row(font); in TTF_RenderUTF8_Solid()
1499 TTF_drawLine_Solid(font, textbuf, row); in TTF_RenderUTF8_Solid()
1503 if (TTF_HANDLE_STYLE_STRIKETHROUGH(font)) { in TTF_RenderUTF8_Solid()
1504 row = TTF_strikethrough_top_row(font); in TTF_RenderUTF8_Solid()
1505 TTF_drawLine_Solid(font, textbuf, row); in TTF_RenderUTF8_Solid()
1510 SDL_Surface *TTF_RenderUNICODE_Solid(TTF_Font *font, in TTF_RenderUNICODE_Solid() argument
1521 surface = TTF_RenderUTF8_Solid(font, (char *)utf8, fg); in TTF_RenderUNICODE_Solid()
1529 SDL_Surface *TTF_RenderGlyph_Solid(TTF_Font *font, Uint16 ch, SDL_Color fg) in TTF_RenderGlyph_Solid() argument
1537 return TTF_RenderUTF8_Solid(font, (char *)utf8, fg); in TTF_RenderGlyph_Solid()
1540 SDL_Surface *TTF_RenderText_Shaded(TTF_Font *font, in TTF_RenderText_Shaded() argument
1551 surface = TTF_RenderUTF8_Shaded(font, (char *)utf8, fg, bg); in TTF_RenderText_Shaded()
1561 SDL_Surface *TTF_RenderUTF8_Shaded(TTF_Font *font, in TTF_RenderUTF8_Shaded() argument
1588 if ((TTF_SizeUTF8(font, text, &width, &height) < 0) || !width) { in TTF_RenderUTF8_Shaded()
1629 use_kerning = FT_HAS_KERNING(font->face) && font->kerning; in TTF_RenderUTF8_Shaded()
1640 error = Find_Glyph(font, c, CACHED_METRICS|CACHED_PIXMAP); in TTF_RenderUTF8_Shaded()
1646 glyph = font->current; in TTF_RenderUTF8_Shaded()
1650 if (font->outline <= 0 && width > glyph->maxx - glyph->minx) { in TTF_RenderUTF8_Shaded()
1656 FT_Get_Kerning(font->face, prev_index, glyph->index, ft_kerning_default, &delta); in TTF_RenderUTF8_Shaded()
1682 if (TTF_HANDLE_STYLE_BOLD(font)) { in TTF_RenderUTF8_Shaded()
1683 xstart += font->glyph_overhang; in TTF_RenderUTF8_Shaded()
1689 if (TTF_HANDLE_STYLE_UNDERLINE(font)) { in TTF_RenderUTF8_Shaded()
1690 row = TTF_underline_top_row(font); in TTF_RenderUTF8_Shaded()
1691 TTF_drawLine_Shaded(font, textbuf, row); in TTF_RenderUTF8_Shaded()
1695 if (TTF_HANDLE_STYLE_STRIKETHROUGH(font)) { in TTF_RenderUTF8_Shaded()
1696 row = TTF_strikethrough_top_row(font); in TTF_RenderUTF8_Shaded()
1697 TTF_drawLine_Shaded(font, textbuf, row); in TTF_RenderUTF8_Shaded()
1702 SDL_Surface* TTF_RenderUNICODE_Shaded(TTF_Font* font, in TTF_RenderUNICODE_Shaded() argument
1715 surface = TTF_RenderUTF8_Shaded(font, (char *)utf8, fg, bg); in TTF_RenderUNICODE_Shaded()
1723 SDL_Surface* TTF_RenderGlyph_Shaded(TTF_Font* font, in TTF_RenderGlyph_Shaded() argument
1734 return TTF_RenderUTF8_Shaded(font, (char *)utf8, fg, bg); in TTF_RenderGlyph_Shaded()
1737 SDL_Surface *TTF_RenderText_Blended(TTF_Font *font, in TTF_RenderText_Blended() argument
1748 surface = TTF_RenderUTF8_Blended(font, (char *)utf8, fg); in TTF_RenderText_Blended()
1756 SDL_Surface *TTF_RenderUTF8_Blended(TTF_Font *font, in TTF_RenderUTF8_Blended() argument
1779 if ((TTF_SizeUTF8(font, text, &width, &height) < 0) || !width) { in TTF_RenderUTF8_Blended()
1796 use_kerning = FT_HAS_KERNING(font->face) && font->kerning; in TTF_RenderUTF8_Blended()
1824 error = Find_Glyph(font, c, CACHED_METRICS|CACHED_PIXMAP); in TTF_RenderUTF8_Blended()
1830 glyph = font->current; in TTF_RenderUTF8_Blended()
1834 if (font->outline <= 0 && width > glyph->maxx - glyph->minx) { in TTF_RenderUTF8_Blended()
1840 FT_Get_Kerning(font->face, prev_index, glyph->index, ft_kerning_default, &delta); in TTF_RenderUTF8_Blended()
1866 if (TTF_HANDLE_STYLE_BOLD(font)) { in TTF_RenderUTF8_Blended()
1867 xstart += font->glyph_overhang; in TTF_RenderUTF8_Blended()
1873 if (TTF_HANDLE_STYLE_UNDERLINE(font)) { in TTF_RenderUTF8_Blended()
1874 row = TTF_underline_top_row(font); in TTF_RenderUTF8_Blended()
1875 TTF_drawLine_Blended(font, textbuf, row, pixel | (Uint32)fg.a << 24); in TTF_RenderUTF8_Blended()
1879 if (TTF_HANDLE_STYLE_STRIKETHROUGH(font)) { in TTF_RenderUTF8_Blended()
1880 row = TTF_strikethrough_top_row(font); in TTF_RenderUTF8_Blended()
1881 TTF_drawLine_Blended(font, textbuf, row, pixel | (Uint32)fg.a << 24); in TTF_RenderUTF8_Blended()
1886 SDL_Surface *TTF_RenderUNICODE_Blended(TTF_Font *font, in TTF_RenderUNICODE_Blended() argument
1897 surface = TTF_RenderUTF8_Blended(font, (char *)utf8, fg); in TTF_RenderUNICODE_Blended()
1906 SDL_Surface *TTF_RenderText_Blended_Wrapped(TTF_Font *font, const char *text, SDL_Color fg, Uint32 … in TTF_RenderText_Blended_Wrapped() argument
1916 surface = TTF_RenderUTF8_Blended_Wrapped(font, (char *)utf8, fg, wrapLength); in TTF_RenderText_Blended_Wrapped()
1938 SDL_Surface *TTF_RenderUTF8_Blended_Wrapped(TTF_Font *font, in TTF_RenderUTF8_Blended_Wrapped() argument
1966 if ((TTF_SizeUTF8(font, text, &width, &height) < 0) || !width) { in TTF_RenderUTF8_Blended_Wrapped()
2033 TTF_SizeUTF8(font, tok, &w, &h); in TTF_RenderUTF8_Blended_Wrapped()
2057 numLines * TTF_FontLineSkip(font), in TTF_RenderUTF8_Blended_Wrapped()
2071 rowSize = textbuf->pitch/4 * TTF_FontLineSkip(font); in TTF_RenderUTF8_Blended_Wrapped()
2081 use_kerning = FT_HAS_KERNING(font->face) && font->kerning; in TTF_RenderUTF8_Blended_Wrapped()
2114 error = Find_Glyph(font, c, CACHED_METRICS|CACHED_PIXMAP); in TTF_RenderUTF8_Blended_Wrapped()
2124 glyph = font->current; in TTF_RenderUTF8_Blended_Wrapped()
2128 if (font->outline <= 0 && width > glyph->maxx - glyph->minx) { in TTF_RenderUTF8_Blended_Wrapped()
2134 FT_Get_Kerning(font->face, prev_index, glyph->index, ft_kerning_default, &delta); in TTF_RenderUTF8_Blended_Wrapped()
2160 if (TTF_HANDLE_STYLE_BOLD(font)) { in TTF_RenderUTF8_Blended_Wrapped()
2161 xstart += font->glyph_overhang; in TTF_RenderUTF8_Blended_Wrapped()
2188 SDL_Surface *TTF_RenderUNICODE_Blended_Wrapped(TTF_Font *font, const Uint16* text, in TTF_RenderUNICODE_Blended_Wrapped() argument
2199 surface = TTF_RenderUTF8_Blended_Wrapped(font, (char *)utf8, fg, wrapLength); in TTF_RenderUNICODE_Blended_Wrapped()
2207 SDL_Surface *TTF_RenderGlyph_Blended(TTF_Font *font, Uint16 ch, SDL_Color fg) in TTF_RenderGlyph_Blended() argument
2215 return TTF_RenderUTF8_Blended(font, (char *)utf8, fg); in TTF_RenderGlyph_Blended()
2218 void TTF_SetFontStyle(TTF_Font* font, int style) in TTF_SetFontStyle() argument
2220 int prev_style = font->style; in TTF_SetFontStyle()
2221 font->style = style | font->face_style; in TTF_SetFontStyle()
2226 if ((font->style | TTF_STYLE_NO_GLYPH_CHANGE) != (prev_style | TTF_STYLE_NO_GLYPH_CHANGE)) { in TTF_SetFontStyle()
2227 Flush_Cache(font); in TTF_SetFontStyle()
2231 int TTF_GetFontStyle(const TTF_Font* font) in TTF_GetFontStyle() argument
2233 return font->style; in TTF_GetFontStyle()
2236 void TTF_SetFontOutline(TTF_Font* font, int outline) in TTF_SetFontOutline() argument
2238 font->outline = outline; in TTF_SetFontOutline()
2239 Flush_Cache(font); in TTF_SetFontOutline()
2242 int TTF_GetFontOutline(const TTF_Font* font) in TTF_GetFontOutline() argument
2244 return font->outline; in TTF_GetFontOutline()
2247 void TTF_SetFontHinting(TTF_Font* font, int hinting) in TTF_SetFontHinting() argument
2250 font->hinting = FT_LOAD_TARGET_LIGHT; in TTF_SetFontHinting()
2252 font->hinting = FT_LOAD_TARGET_MONO; in TTF_SetFontHinting()
2254 font->hinting = FT_LOAD_NO_HINTING; in TTF_SetFontHinting()
2256 font->hinting = 0; in TTF_SetFontHinting()
2258 Flush_Cache(font); in TTF_SetFontHinting()
2261 int TTF_GetFontHinting(const TTF_Font* font) in TTF_GetFontHinting() argument
2263 if (font->hinting == FT_LOAD_TARGET_LIGHT) in TTF_GetFontHinting()
2265 else if (font->hinting == FT_LOAD_TARGET_MONO) in TTF_GetFontHinting()
2267 else if (font->hinting == FT_LOAD_NO_HINTING) in TTF_GetFontHinting()
2287 int TTF_GetFontKerningSize(TTF_Font* font, int prev_index, int index) in TTF_GetFontKerningSize() argument
2290 FT_Get_Kerning(font->face, prev_index, index, ft_kerning_default, &delta); in TTF_GetFontKerningSize()
2294 int TTF_GetFontKerningSizeGlyphs(TTF_Font *font, Uint16 previous_ch, Uint16 ch) in TTF_GetFontKerningSizeGlyphs() argument
2308 error = Find_Glyph(font, ch, CACHED_METRICS); in TTF_GetFontKerningSizeGlyphs()
2313 glyph_index = font->current->index; in TTF_GetFontKerningSizeGlyphs()
2315 error = Find_Glyph(font, previous_ch, CACHED_METRICS); in TTF_GetFontKerningSizeGlyphs()
2320 prev_index = font->current->index; in TTF_GetFontKerningSizeGlyphs()
2322 error = FT_Get_Kerning(font->face, prev_index, glyph_index, ft_kerning_default, &delta); in TTF_GetFontKerningSizeGlyphs()