1 /*--------------------------------------------------------------------------
2   ----- File:        t1set.h
3   ----- Author:      Rainer Menzner (Rainer.Menzner@web.de)
4   ----- Date:        2003-01-02
5   ----- Description: This file is part of the t1-library. It contains
6                      definitions and declarations for t1set.c.
7   ----- Copyright:   t1lib is copyrighted (c) Rainer Menzner, 1996-2003.
8                      As of version 0.5, t1lib is distributed under the
9 		     GNU General Public Library Lincense. The
10 		     conditions can be found in the files LICENSE and
11 		     LGPL, which should reside in the toplevel
12 		     directory of the distribution.  Please note that
13 		     there are parts of t1lib that are subject to
14 		     other licenses:
15 		     The parseAFM-package is copyrighted by Adobe Systems
16 		     Inc.
17 		     The type1 rasterizer is copyrighted by IBM and the
18 		     X11-consortium.
19   ----- Warranties:  Of course, there's NO WARRANTY OF ANY KIND :-)
20   ----- Credits:     I want to thank IBM and the X11-consortium for making
21                      their rasterizer freely available.
22 		     Also thanks to Piet Tutelaers for his ps2pk, from
23 		     which I took the rasterizer sources in a format
24 		     independent from X11.
25                      Thanks to all people who make free software living!
26 --------------------------------------------------------------------------*/
27 
28 #ifdef T1SET_C
29 
30 GLYPH *T1_SetChar( int FontID, char charcode,
31 		   float size, T1_TMATRIX *transform);
32 GLYPH *T1_SetString( int FontID, char *string, volatile int len,
33 		     long spaceoff, int modflag,
34 		     float size, T1_TMATRIX *transform);
35 GLYPH* T1_SetRect( int FontID, float size,
36 		   float width, float height,
37 		   T1_TMATRIX *transform);
38 void fill(char *dest, int h, int w,
39 	  struct region *area, int byte, int bit,
40 	  int wordsize);
41 void fillrun(char *p, pel x0, pel x1, int bit);
42 GLYPH *T1_CopyGlyph(GLYPH *glyph);
43 void T1_DumpGlyph( GLYPH *glyph);
44 GLYPH *T1_ConcatGlyphs( GLYPH *glyph1, GLYPH *glyph2,
45 			int x_off, int y_off, int modflag);
46 void T1_DumpGlyph( GLYPH *glyph);
47 GLYPH *T1_FillOutline( T1_OUTLINE *path, int modflag);
48 
49 
50 #else
51 
52 extern GLYPH *T1_SetChar( int FontID, char charcode,
53 			  float size, T1_TMATRIX *transform);
54 extern GLYPH *T1_SetString( int FontID, char *string, volatile int len,
55 			    long spaceoff, int modflag,
56 			    float size, T1_TMATRIX *transform);
57 extern GLYPH* T1_SetRect( int FontID, float size,
58 			  float width, float height,
59 			  T1_TMATRIX *transform);
60 extern void fill(char *dest, int h, int w,
61 		 struct region *area, int byte, int bit,
62 		 int wordsize);
63 extern void fillrun(char *p, pel x0, pel x1, int bit);
64 extern GLYPH *T1_CopyGlyph(GLYPH *glyph);
65 extern void T1_DumpGlyph( GLYPH *glyph);
66 extern GLYPH *T1_ConcatGlyphs( GLYPH *glyph1, GLYPH *glyph2,
67 			       int x_off, int y_off, int modflag);
68 extern void T1_DumpGlyph( GLYPH *glyph);
69 extern GLYPH *T1_FillOutline( T1_OUTLINE *path, int modflag);
70 
71 #endif
72 
73 
74 extern struct region *fontfcnB(int FontID, int modflag,
75 			       struct XYspace *S, char **ev,
76 			       unsigned char index, int *mode,
77 			       psfont *Font_Ptr,
78 			       int do_raster,
79 			       float strokewidth);
80 extern struct region *fontfcnB_string( int FontID, int modflag,
81 				       struct XYspace *S, char **ev,
82 				       unsigned char *string, int no_chars,
83 				       int *mode, psfont *Font_Ptr,
84 				       int *kern_pairs, long spacewidth,
85 				       int do_raster,
86 				       float strokewidth);
87 extern struct region *fontfcnB_ByName( int FontID, int modflag,
88 				       struct XYspace *S,
89 				       char *charname,
90 				       int *mode, psfont *Font_Ptr,
91 				       int do_raster);
92 extern struct region* fontfcnRect( float width,
93 				   float height,
94 				   struct XYspace* S,
95 				   int* mode,
96 				   int do_raster,
97 				   float strokewidth);
98 
99