blob: 40100d2a3f1ff4393cfe2d296af86f6a22249a11 [file] [log] [blame]
Werner Lemberg7fa51b52000-07-08 19:51:42 +00001/***************************************************************************/
2/* */
Werner Lembergb5084e12000-10-28 17:10:06 +00003/* t1load.h */
Werner Lemberg7fa51b52000-07-08 19:51:42 +00004/* */
Werner Lembergb5084e12000-10-28 17:10:06 +00005/* Type 1 font loader (specification). */
Werner Lemberg7fa51b52000-07-08 19:51:42 +00006/* */
7/* Copyright 1996-2000 by */
8/* David Turner, Robert Wilhelm, and Werner Lemberg. */
9/* */
10/* This file is part of the FreeType project, and may only be used, */
11/* modified, and distributed under the terms of the FreeType project */
12/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13/* this file you indicate that you have read the license and */
14/* understand and accept it fully. */
15/* */
16/***************************************************************************/
17
David Turner2dfb5ac2000-01-27 14:02:04 +000018
Werner Lemberg90d99642000-12-09 00:45:38 +000019#ifndef __T1LOAD_H__
20#define __T1LOAD_H__
David Turner2dfb5ac2000-01-27 14:02:04 +000021
Werner Lembergcc069be2000-12-08 16:17:16 +000022
David Turner19ed8af2000-12-08 02:42:29 +000023#include <ft2build.h>
24#include FT_INTERNAL_STREAM_H
25#include FT_INTERNAL_POSTSCRIPT_AUX_H
26#include FT_MULTIPLE_MASTERS_H
David Turnera90663f2000-07-08 00:41:13 +000027
David Turner19ed8af2000-12-08 02:42:29 +000028#include FT_SOURCE_FILE(type1,t1parse.h)
David Turnera90663f2000-07-08 00:41:13 +000029
Werner Lembergcc069be2000-12-08 16:17:16 +000030
David Turner19ed8af2000-12-08 02:42:29 +000031FT_BEGIN_HEADER
David Turner2dfb5ac2000-01-27 14:02:04 +000032
Werner Lembergcc069be2000-12-08 16:17:16 +000033
Werner Lembergb5084e12000-10-28 17:10:06 +000034 typedef struct T1_Loader_
David Turner2dfb5ac2000-01-27 14:02:04 +000035 {
Werner Lembergb5084e12000-10-28 17:10:06 +000036 T1_ParserRec parser; /* parser used to read the stream */
David Turner2dfb5ac2000-01-27 14:02:04 +000037
Werner Lembergb5084e12000-10-28 17:10:06 +000038 FT_Int num_chars; /* number of characters in encoding */
39 PS_Table encoding_table; /* PS_Table used to store the */
40 /* encoding character names */
David Turnere49ab252000-05-16 23:44:38 +000041
Werner Lembergb5084e12000-10-28 17:10:06 +000042 FT_Int num_glyphs;
43 PS_Table glyph_names;
44 PS_Table charstrings;
David Turnere49ab252000-05-16 23:44:38 +000045
Werner Lembergb5084e12000-10-28 17:10:06 +000046 FT_Int num_subrs;
47 PS_Table subrs;
48 FT_Bool fontdata;
David Turnere49ab252000-05-16 23:44:38 +000049
Werner Lembergb5084e12000-10-28 17:10:06 +000050 } T1_Loader;
David Turner2dfb5ac2000-01-27 14:02:04 +000051
Werner Lemberg7fa51b52000-07-08 19:51:42 +000052
David Turner76a5f622000-11-04 01:55:49 +000053 FT_LOCAL
Werner Lembergb5084e12000-10-28 17:10:06 +000054 FT_Error T1_Open_Face( T1_Face face );
David Turner2dfb5ac2000-01-27 14:02:04 +000055
Werner Lembergb5084e12000-10-28 17:10:06 +000056#ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
Werner Lemberg7fa51b52000-07-08 19:51:42 +000057
David Turner76a5f622000-11-04 01:55:49 +000058 FT_LOCAL
Werner Lembergb5084e12000-10-28 17:10:06 +000059 FT_Error T1_Get_Multi_Master( T1_Face face,
Werner Lemberge35cac62000-06-11 03:46:57 +000060 FT_Multi_Master* master );
David Turner11187202000-05-26 17:13:23 +000061
David Turner76a5f622000-11-04 01:55:49 +000062 FT_LOCAL
Werner Lembergb5084e12000-10-28 17:10:06 +000063 FT_Error T1_Set_MM_Blend( T1_Face face,
David Turnerf9b8dec2000-06-16 19:34:52 +000064 FT_UInt num_coords,
65 FT_Fixed* coords );
Werner Lemberge35cac62000-06-11 03:46:57 +000066
David Turner76a5f622000-11-04 01:55:49 +000067 FT_LOCAL
Werner Lembergb5084e12000-10-28 17:10:06 +000068 FT_Error T1_Set_MM_Design( T1_Face face,
David Turnerf9b8dec2000-06-16 19:34:52 +000069 FT_UInt num_coords,
70 FT_Long* coords );
Werner Lemberge35cac62000-06-11 03:46:57 +000071
David Turner76a5f622000-11-04 01:55:49 +000072 FT_LOCAL
Werner Lembergb5084e12000-10-28 17:10:06 +000073 void T1_Done_Blend( T1_Face face );
Werner Lemberg7fa51b52000-07-08 19:51:42 +000074
Werner Lembergb5084e12000-10-28 17:10:06 +000075#endif /* !T1_CONFIG_OPTION_NO_MM_SUPPORT */
Werner Lemberg7fa51b52000-07-08 19:51:42 +000076
David Turner2dfb5ac2000-01-27 14:02:04 +000077
David Turner19ed8af2000-12-08 02:42:29 +000078FT_END_HEADER
David Turner2dfb5ac2000-01-27 14:02:04 +000079
Werner Lemberg90d99642000-12-09 00:45:38 +000080#endif /* __T1LOAD_H__ */
David Turner2dfb5ac2000-01-27 14:02:04 +000081
82
83/* END */