Back to index

tetex-bin  3.0
t1outline.h
Go to the documentation of this file.
00001 /*--------------------------------------------------------------------------
00002   ----- File:        t1outline.h
00003   ----- Author:      Rainer Menzner (Rainer.Menzner@web.de)
00004   ----- Date:        2002-10-18
00005   ----- Description: This file is part of the t1-library. It contains
00006                      definitions and declarations for t1outline.c.
00007   ----- Copyright:   t1lib is copyrighted (c) Rainer Menzner, 1996-2002. 
00008                      As of version 0.5, t1lib is distributed under the
00009                    GNU General Public Library Lincense. The
00010                    conditions can be found in the files LICENSE and
00011                    LGPL, which should reside in the toplevel
00012                    directory of the distribution.  Please note that 
00013                    there are parts of t1lib that are subject to
00014                    other licenses:
00015                    The parseAFM-package is copyrighted by Adobe Systems
00016                    Inc.
00017                    The type1 rasterizer is copyrighted by IBM and the
00018                    X11-consortium.
00019   ----- Warranties:  Of course, there's NO WARRANTY OF ANY KIND :-)
00020   ----- Credits:     I want to thank IBM and the X11-consortium for making
00021                      their rasterizer freely available.
00022                    Also thanks to Piet Tutelaers for his ps2pk, from
00023                    which I took the rasterizer sources in a format
00024                    independent from X11.
00025                      Thanks to all people who make free software living!
00026 --------------------------------------------------------------------------*/
00027   
00028 #ifdef T1OUTLINE_C
00029 
00030 T1_OUTLINE *T1_GetCharOutline( int FontID, char charcode, float size,
00031                             T1_TMATRIX *transform);
00032 T1_OUTLINE *T1_GetStringOutline( int FontID, char *string, int len, 
00033                              long spaceoff, int modflag, float size,
00034                              T1_TMATRIX *transform);
00035 T1_OUTLINE *T1_ConcatOutlines( T1_OUTLINE *path1, T1_OUTLINE *path2);
00036 T1_OUTLINE *T1_ScaleOutline( T1_OUTLINE *path, float scale);
00037 T1_OUTLINE *T1_GetMoveOutline( int FontID, int deltax, int deltay, int modflag,
00038                             float size, T1_TMATRIX *transform);
00039 void T1_DumpPath( T1_OUTLINE *path);
00040 void T1_AbsolutePath( T1_OUTLINE *rpath);
00041 void T1_RelativePath( T1_OUTLINE *apath);
00042 void T1_ManipulatePath( T1_OUTLINE *path,
00043                      void (*manipulate)(fractpel *x,fractpel *y,int type));
00044 T1_OUTLINE *T1_CopyOutline( T1_OUTLINE *path);
00045 void T1_FreeOutline( T1_OUTLINE *path);
00046 
00047 
00048 #else
00049 
00050 extern T1_OUTLINE *T1_GetCharOutline( int FontID, char charcode, float size,
00051                                   T1_TMATRIX *transform);
00052 extern T1_OUTLINE *T1_GetStringOutline( int FontID, char *string, int len, 
00053                                    long spaceoff, int modflag, float size,
00054                                    T1_TMATRIX *transform);
00055 extern T1_OUTLINE *T1_ConcatOutlines( T1_OUTLINE *path1,
00056                                   T1_OUTLINE *path2);
00057 extern T1_OUTLINE *T1_ScaleOutline( T1_OUTLINE *path, float scale);
00058 extern T1_OUTLINE *T1_GetMoveOutline( int FontID, int deltax, int deltay, int modflag,
00059                                   float size, T1_TMATRIX *transform);
00060 extern void T1_DumpPath( T1_OUTLINE *path);
00061 extern void T1_AbsolutePath( T1_OUTLINE *rpath);
00062 extern void T1_RelativePath( T1_OUTLINE *apath);
00063 extern void T1_ManipulatePath( T1_OUTLINE *path,
00064                             void (*manipulate)(fractpel *x,fractpel *y,int type));
00065 extern T1_OUTLINE *T1_CopyOutline( T1_OUTLINE *path);
00066 extern void T1_FreeOutline( T1_OUTLINE *path);
00067 
00068 #endif
00069 
00070 
00071 extern struct region *fontfcnB(int FontID, int modflag,
00072                             struct XYspace *S, char **ev,
00073                             unsigned char index, int *mode,
00074                             psfont *Font_Ptr,
00075                             int do_raster,
00076                             float strokewidth);
00077 extern struct region *fontfcnB_string( int FontID, int modflag,
00078                                    struct XYspace *S, char **ev,
00079                                    unsigned char *string, int no_chars,
00080                                    int *mode, psfont *Font_Ptr,
00081                                    int *kern_pairs, long spacewidth,
00082                                    int do_raster,
00083                                    float strokewidth);
00084 extern struct region *fontfcnB_ByName( int FontID, int modflag,
00085                                    struct XYspace *S,
00086                                    char *charname,
00087                                    int *mode, psfont *Font_Ptr,
00088                                    int do_raster);
00089 
00090