Lines Matching defs:glyphs
55 cairo_glyph_t **glyphs,
62 return instance->scaled_font_text_to_glyphs(scaled_font, utf8, utf8_len, glyphs, num_glyphs, clusters, num_clusters, flags);
152 cairo_glyph_t **glyphs,
158 //This function receives a text string to be rendered. It then defines what is the sequence of glyphs that
161 //It also determines the usage of the missing-glyph in portions of the string that does not match any of the declared glyphs.
169 //First we findout whats the number of glyphs needed.
172 for (i=0; i < (unsigned long) this->glyphs.size(); i++){
173 if ( (len = size_of_substring(this->glyphs[i]->unicode.c_str(), _utf8)) ){
189 //We use that info to allocate memory for the glyphs
190 *glyphs = (cairo_glyph_t*) malloc(count*sizeof(cairo_glyph_t));
202 for (i=0; i < (unsigned long) this->glyphs.size(); i++){
205 if ( (len = size_of_substring(this->glyphs[i]->unicode.c_str(), _utf8)) ){
209 if (hkern && is_horizontal_text && MatchHKerningRule(hkern, this->glyphs[i], previous_unicode, previous_glyph_name) ){
213 if (vkern && !is_horizontal_text && MatchVKerningRule(vkern, this->glyphs[i], previous_unicode, previous_glyph_name) ){
217 previous_unicode = const_cast<char*>(this->glyphs[i]->unicode.c_str());//used for kerning checking
218 previous_glyph_name = const_cast<char*>(this->glyphs[i]->glyph_name.c_str());//used for kerning checking
219 (*glyphs)[count].index = i;
220 (*glyphs)[count].x = x;
221 (*glyphs)[count++].y = y;
233 (*glyphs)[count].index = i;
234 (*glyphs)[count].x = x;
235 (*glyphs)[count++].y = y;
294 // This method does the actual rendering of glyphs.
296 // We have glyphs.size() glyphs and possibly one missing-glyph declared on this SVG document
297 // The id of the missing-glyph is always equal to glyphs.size()
298 // All the other glyphs have ids ranging from 0 to glyphs.size()-1
300 if (glyph > this->glyphs.size()) return CAIRO_STATUS_SUCCESS;//TODO: this is an error!
303 if (glyph == glyphs.size()){
309 node = glyphs[glyph];
321 //glyphs can be described by arbitrary SVG declared in the childnodes of a glyph node
380 glyphs.push_back(glyph);
393 this->glyphs.clear();