1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
8 SDESC[standard]= Adobe Type 1 font rasterizing library
9 HOMEPAGE= https://www.t1lib.org
10 CONTACT= Michael_Reim[kraileth@elderlinux.org]
13 SITES[main]= http://www.ibiblio.org/pub/Linux/libs/graphics/
14 DISTFILE[1]= t1lib-5.1.2.tar.gz:main
16 SPKGS[standard]= complete
22 OPTIONS_AVAILABLE= none
23 OPTIONS_STANDARD= none
27 USES= cpe libtool fbsd10fix
30 LICENSE= LGPL20:primary MIT:primary
31 LICENSE_TERMS= primary:{{WRKDIR}}/TERMS
32 LICENSE_FILE= LGPL20:{{WRKSRC}}/LGPL
34 LICENSE_AWK= TERMS:"^$$"
36 LICENSE_SOURCE= TERMS:{{WRKSRC}}/lib/t1lib/t1lib.h
37 MIT:{{WRKSRC}}/lib/type1/type1.c
40 FPC_EQUIVALENT= devel/t1lib
43 CONFIGURE_ARGS= --with-x
45 BUILD_TARGET= without_doc
47 INSTALL_REQ_TOOLCHAIN= yes
51 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so
53 [FILE:707:descriptions/desc.primary]
54 T1lib is an open source library developed by Rainer Menzner and is
55 distributed under the GNU General Public Library License. t1lib is written
56 in the C programming language allowing a programmer to generate/rasterize
57 bitmaps from Adobe (TM) Type 1 fonts quite easily. t1lib is based on the
58 code of the X11 rasterizer which was donated by IBM to the X11 project.
60 The bitmaps created by t1lib are returned in a data structure with type
61 GLYPH. This special GLYPH-type is also used in the X11 window system to
62 describe character bitmaps. It contains the bitmap data as well as some
63 metric information. But t1lib is in itself entirely independent of the
64 X11-system or any other graphical user interface.
67 [FILE:50:descriptions/desc.tools]
68 This package contains tools that come with t1lib.
72 821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59 1872534 t1lib-5.1.2.tar.gz
75 [FILE:99:manifests/plist.primary]
78 libt1.so.%%SOVERSION%%
80 libt1x.so.%%SOVERSION%%
83 [FILE:73:manifests/plist.dev]
94 [FILE:48:manifests/plist.tools]
98 share/t1lib/t1lib.config
101 [FILE:30:manifests/plist.docs]
102 share/t1lib/doc/t1lib_doc.pdf
105 [FILE:2992:patches/patch-configure]
106 --- configure.orig 2007-12-23 15:49:43 UTC
108 @@ -5330,7 +5330,7 @@ darwin* | rhapsody*)
109 lt_cv_deplibs_check_method=pass_all
112 -freebsd* | kfreebsd*-gnu)
113 +freebsd* | dragonfly* | midnight*)
114 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
117 @@ -8705,7 +8705,7 @@ if test -z "$aix_libpath"; then aix_libp
120 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
121 - freebsd* | kfreebsd*-gnu)
122 + freebsd* | dragonfly* | midnight*)
123 archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
124 hardcode_libdir_flag_spec='-R$libdir'
126 @@ -9284,7 +9284,7 @@ kfreebsd*-gnu)
127 dynamic_linker='GNU ld.so'
131 +freebsd* | dragonfly* | midnight*)
132 objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
133 version_type=freebsd-$objformat
134 case $version_type in
135 @@ -11641,7 +11641,7 @@ if test -z "$aix_libpath"; then aix_libp
137 archive_cmds_need_lc_CXX=no
139 - freebsd* | kfreebsd*-gnu)
140 + freebsd* | dragonfly* | midnight*)
141 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
144 @@ -12389,7 +12389,7 @@ echo $ECHO_N "checking for $compiler opt
148 - freebsd* | kfreebsd*-gnu)
149 + freebsd* | dragonfly* | midnight*)
150 # FreeBSD uses GNU C++
152 hpux9* | hpux10* | hpux11*)
153 @@ -13000,7 +13000,7 @@ kfreebsd*-gnu)
154 dynamic_linker='GNU ld.so'
158 +freebsd* | dragonfly* | midnight*)
159 objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
160 version_type=freebsd-$objformat
161 case $version_type in
162 @@ -15581,7 +15581,7 @@ if test -z "$aix_libpath"; then aix_libp
165 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
166 - freebsd* | kfreebsd*-gnu)
167 + freebsd* | dragonfly* | midnight*)
168 archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
169 hardcode_libdir_flag_spec_F77='-R$libdir'
170 hardcode_direct_F77=yes
171 @@ -16160,7 +16160,7 @@ kfreebsd*-gnu)
172 dynamic_linker='GNU ld.so'
176 +freebsd* | dragonfly* | midnight*)
177 objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
178 version_type=freebsd-$objformat
179 case $version_type in
180 @@ -17943,7 +17943,7 @@ if test -z "$aix_libpath"; then aix_libp
183 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
184 - freebsd* | kfreebsd*-gnu)
185 + freebsd* | dragonfly* | midnight*)
186 archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
187 hardcode_libdir_flag_spec_GCJ='-R$libdir'
188 hardcode_direct_GCJ=yes
189 @@ -18522,7 +18522,7 @@ kfreebsd*-gnu)
190 dynamic_linker='GNU ld.so'
194 +freebsd*|dragonfly*|midnight*)
195 objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
196 version_type=freebsd-$objformat
197 case $version_type in
200 [FILE:762:patches/patch-lib_t1lib_parseAFM.c]
201 --- lib/t1lib/parseAFM.c.orig 2007-12-23 16:49:42.000000000 +0100
202 +++ lib/t1lib/parseAFM.c 2019-06-06 15:53:38.250925000 +0200
206 while (ch != EOF && ch != ' ' && ch != CR && ch != LF &&
207 - ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';'){
208 + ch != CTRL_Z && ch != '\t' && ch != ':' && ch != ';' && idx < (MAX_NAME - 1)){
213 while ((ch = fgetc(stream)) == ' ' || ch == '\t' );
216 - while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z)
217 + while (ch != EOF && ch != CR && ch != LF && ch != CTRL_Z && idx < (MAX_NAME - 1))
223 [FILE:709:patches/patch-lib_type1_lines.c]
224 --- lib/type1/lines.c.orig 2007-12-23 16:49:42.000000000 +0100
225 +++ lib/type1/lines.c 2019-06-06 15:25:33.521481000 +0200
230 +#define BITS (sizeof(LONG)*8)
231 +#define HIGHTEST(p) (((p)>>(BITS-2)) != 0) /* includes sign bit */
232 +#define TOOBIG(xy) ((xy < 0) ? HIGHTEST(-xy) : HIGHTEST(xy))
235 :h2.StepLine() - Produces Run Ends for a Line After Checks
238 IfTrace4((LineDebug > 0), ".....StepLine: (%d,%d) to (%d,%d)\n",
241 + if (TOOBIG(x1) || TOOBIG(x2) || TOOBIG(y1) || TOOBIG(y2))
242 + abort("Lines this big not supported", 49);
249 [FILE:624:patches/patch-lib_type1_objects.c]
250 --- lib/type1/objects.c.orig 2007-12-23 16:49:42.000000000 +0100
251 +++ lib/type1/objects.c 2019-06-06 15:23:45.191036000 +0200
252 @@ -1137,12 +1137,13 @@
253 "Context: out of them", /* 46 */
254 "MatrixInvert: can't", /* 47 */
255 "xiStub called", /* 48 */
256 - "Illegal access type1 abort() message" /* 49 */
257 + "Lines this big not supported", /* 49 */
258 + "Illegal access type1 abort() message" /* 50 */
261 - /* no is valid from 1 to 48 */
262 - if ( (number<1)||(number>48))
264 + /* no is valid from 1 to 49 */
265 + if ( (number<1)||(number>49))
267 return( err_msgs[number-1]);
272 [FILE:3110:patches/patch-lib_type1_type1.c]
273 --- lib/type1/type1.c.orig 2007-12-23 16:49:42.000000000 +0100
274 +++ lib/type1/type1.c 2019-06-06 15:20:11.590036000 +0200
275 @@ -1012,6 +1012,7 @@
276 double nextdtana = 0.0; /* tangent of post-delta against horizontal line */
277 double nextdtanb = 0.0; /* tangent of post-delta against vertical line */
279 + if (ppoints == NULL || numppoints < 1) Error0v("FindStems: No previous point!\n");
281 /* setup default hinted position */
282 ppoints[numppoints-1].ax = ppoints[numppoints-1].x;
283 @@ -1289,7 +1290,7 @@
284 static int DoRead(CodeP)
287 - if (strindex >= CharStringP->len) return(FALSE); /* end of string */
288 + if (!CharStringP || strindex >= CharStringP->len) return(FALSE); /* end of string */
289 /* We handle the non-documented Adobe convention to use lenIV=-1 to
290 suppress charstring encryption. */
291 if (blues->lenIV==-1) {
292 @@ -1700,6 +1701,7 @@
295 /* compute hinting for previous segment! */
296 + if (ppoints == NULL || numppoints < 2 ) Error0i("RLineTo: No previous point!\n");
297 FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx, dy);
299 /* Allocate a new path point and pre-setup data */
300 @@ -1728,6 +1730,7 @@
303 /* compute hinting for previous point! */
304 + if (ppoints == NULL || numppoints < 2) Error0i("RRCurveTo: No previous point!\n");
305 FindStems( currx, curry, currx-ppoints[numppoints-2].x, curry-ppoints[numppoints-2].y, dx1, dy1);
307 /* Allocate three new path points and pre-setup data */
308 @@ -1786,7 +1789,9 @@
314 + if (ppoints == NULL || numppoints < 1) Error0i("DoClosePath: No previous point!");
316 /* If this ClosePath command together with the starting point of this
317 path completes to a segment aligned to a stem, we would miss
318 hinting for this point. --> Check and explicitly care for this! */
319 @@ -1801,6 +1806,7 @@
320 deltax = ppoints[i].x - ppoints[numppoints-1].x;
321 deltay = ppoints[i].y - ppoints[numppoints-1].y;
323 + if (ppoints == NULL || numppoints <= i + 1) Error0i("DoClosePath: No previous point!");
324 /* save nummppoints and reset to move point */
327 @@ -1903,6 +1909,7 @@
328 FindStems( currx, curry, 0, 0, dx, dy);
331 + if (ppoints == NULL || numppoints < 2) Error0i("RMoveTo: No previous point!\n");
332 FindStems( currx, curry, ppoints[numppoints-2].x, ppoints[numppoints-2].y, dx, dy);
335 @@ -2152,6 +2159,7 @@
339 + if (ppoints == NULL || numppoints < 8) Error0v("FlxProc: No previous point!");
341 /* Our PPOINT list now contains 7 moveto commands which
342 are about to be consumed by the Flex mechanism. --> Remove these
343 @@ -2321,6 +2329,7 @@
344 /* Returns currentpoint on stack */
345 static void FlxProc2()
347 + if (ppoints == NULL || numppoints < 1) Error0v("FlxProc2: No previous point!");
348 /* Push CurrentPoint on fake PostScript stack */
349 PSFakePush( ppoints[numppoints-1].x);
350 PSFakePush( ppoints[numppoints-1].y);