1 #define PERL_NO_GET_CONTEXT
12 DEFINE_IMAGER_CALLBACKS;
14 typedef i_t1_font_t Imager__Font__T1xs;
16 #define i_t1_DESTROY(font) i_t1_destroy(font)
18 MODULE = Imager::Font::T1 PACKAGE = Imager::Font::T1
24 MODULE = Imager::Font::T1 PACKAGE = Imager::Font::T1xs PREFIX = i_t1_
27 i_t1_new(class,pfb,afm)
35 Imager::Font::T1xs font
39 i_t1_cp(font,im,xb,yb,channel,points,str_sv,align,utf8=0,flags="",aa=1)
40 Imager::Font::T1xs font
55 str = SvPV(str_sv, len);
60 RETVAL = i_t1_cp(font, im, xb,yb,channel,points,str,len,align,
67 i_t1_bbox(fontnum,point,str_sv,utf8=0,flags="")
68 Imager::Font::T1xs fontnum
76 i_img_dim cords[BOUNDING_BOX_COUNT];
80 str = SvPV(str_sv, len);
85 rc = i_t1_bbox(fontnum,point,str,len,cords,utf8,flags);
88 for (i = 0; i < rc; ++i)
89 PUSHs(sv_2mortal(newSViv(cords[i])));
95 i_t1_text(font,im,xb,yb,cl,points,str_sv,align,utf8=0,flags="",aa=1)
96 Imager::Font::T1xs font
111 str = SvPV(str_sv, len);
116 RETVAL = i_t1_text(font,im, xb,yb,cl,points,str,len,align,
122 i_t1_has_chars(font, text_sv, utf8 = 0)
123 Imager::Font::T1xs font
133 text = SvPV(text_sv, len);
138 work = mymalloc(len);
139 count = i_t1_has_chars(font, text, len, utf8, work);
140 if (GIMME_V == G_ARRAY) {
143 for (i = 0; i < count; ++i) {
144 PUSHs(boolSV(work[i]));
149 PUSHs(sv_2mortal(newSVpv(work, count)));
155 Imager::Font::T1xs font
160 len = i_t1_face_name(font, name, sizeof(name));
163 PUSHs(sv_2mortal(newSVpv(name, strlen(name))));
167 i_t1_glyph_names(font, text_sv, utf8 = 0)
168 Imager::Font::T1xs font
178 text = SvPV(text_sv, work_len);
188 ch = i_utf8_advance(&text, &len);
190 i_push_error(0, "invalid UTF8 character");
199 if (i_t1_glyph_name(font, ch, name, sizeof(name))) {
200 ST(count) = sv_2mortal(newSVpv(name, 0));
203 ST(count) = &PL_sv_undef;
212 (void)items; /* avoid unused warning */
218 PERL_INITIALIZE_IMAGER_CALLBACKS;