MCPcopy Create free account
hub / github.com/MapServer/MapServer / getFontFace

Function getFontFace

mapcairo.c:145–169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

143
144
145faceCacheObj *getFontFace(cairoCacheData *cache, char *font) {
146 faceCacheObj *newface = NULL;
147 faceCacheObj *cur=cache->facecache;
148 while(cur) {
149 if(!strcmp(cur->path,font))
150 return cur;
151 cur = cur->next;
152 }
153 newface = malloc(sizeof(faceCacheObj));
154
155 if(FT_New_Face(cache->library, font, 0, &(newface->ftface))) {
156 msSetError(MS_RENDERERERR,"Freetype failed to open font %s","getFontFace()",font);
157 free(newface);
158 return NULL;
159 }
160 newface->next = cache->facecache;
161 cache->facecache = newface;
162 newface->face = cairo_ft_font_face_create_for_ft_face(newface->ftface, 0);
163
164 cairo_font_face_set_user_data (newface->face, &newface->facekey,
165 &(newface->ftface), (cairo_destroy_func_t) FT_Done_Face);
166
167 newface->path = msStrdup(font);
168 return newface;
169}
170
171#define msCairoSetSourceColor(cr, c) cairo_set_source_rgba((cr),(c)->red/255.0,(c)->green/255.0,(c)->blue/255.0,(c)->alpha/255.0);
172

Callers 3

getTruetypeTextBBoxCairoFunction · 0.85
renderGlyphsCairoFunction · 0.85

Calls 2

msSetErrorFunction · 0.85
msStrdupFunction · 0.85

Tested by

no test coverage detected