1 #define PERL_NO_GET_CONTEXT
12 DEFINE_IMAGER_CALLBACKS;
14 MODULE = Imager::Font::T1 PACKAGE = Imager::Font::T1
35 i_t1_cp(im,xb,yb,channel,fontnum,points,str_sv,len_ignored,align,utf8=0,flags="")
54 str = SvPV(str_sv, len);
55 RETVAL = i_t1_cp(im, xb,yb,channel,fontnum,points,str,len,align,
62 i_t1_bbox(fontnum,point,str_sv,len_ignored,utf8=0,flags="")
71 int cords[BOUNDING_BOX_COUNT];
79 str = SvPV(str_sv, len);
80 rc = i_t1_bbox(fontnum,point,str,len,cords,utf8,flags);
83 for (i = 0; i < rc; ++i)
84 PUSHs(sv_2mortal(newSViv(cords[i])));
90 i_t1_text(im,xb,yb,cl,fontnum,points,str_sv,len_ignored,align,utf8=0,flags="")
109 str = SvPV(str_sv, len);
110 RETVAL = i_t1_text(im, xb,yb,cl,fontnum,points,str,len,align,
116 i_t1_has_chars(handle, text_sv, utf8 = 0)
131 text = SvPV(text_sv, len);
132 work = mymalloc(len);
133 count = i_t1_has_chars(handle, text, len, utf8, work);
134 if (GIMME_V == G_ARRAY) {
136 for (i = 0; i < count; ++i) {
137 PUSHs(sv_2mortal(newSViv(work[i])));
142 PUSHs(sv_2mortal(newSVpv(work, count)));
147 i_t1_face_name(handle)
153 len = i_t1_face_name(handle, name, sizeof(name));
156 PUSHs(sv_2mortal(newSVpv(name, strlen(name))));
160 i_t1_glyph_name(handle, text_sv, utf8 = 0)
174 text = SvPV(text_sv, work_len);
179 ch = i_utf8_advance(&text, &len);
181 i_push_error(0, "invalid UTF8 character");
190 if (i_t1_glyph_name(handle, ch, name, sizeof(name))) {
191 PUSHs(sv_2mortal(newSVpv(name, 0)));
199 PERL_INITIALIZE_IMAGER_CALLBACKS;