blob: 152f65bafcba4ac2e95f2df8ff58aa0a454d95b6 [file] [log] [blame]
David Turnerd2b1f351999-12-16 23:11:37 +00001/***************************************************************************/
2/* */
3/* ttload.h */
4/* */
5/* Load the basic TrueType tables, i.e., tables that can be either in */
Werner Lembergfbeb41d2000-07-02 00:27:53 +00006/* TTF or OTF fonts (specification). */
David Turnerd2b1f351999-12-16 23:11:37 +00007/* */
Werner Lemberg4e6dd852000-06-05 05:26:15 +00008/* Copyright 1996-2000 by */
David Turnerd2b1f351999-12-16 23:11:37 +00009/* David Turner, Robert Wilhelm, and Werner Lemberg. */
10/* */
Werner Lemberg4e6dd852000-06-05 05:26:15 +000011/* This file is part of the FreeType project, and may only be used, */
12/* modified, and distributed under the terms of the FreeType project */
David Turnerd2b1f351999-12-16 23:11:37 +000013/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
14/* this file you indicate that you have read the license and */
15/* understand and accept it fully. */
16/* */
17/***************************************************************************/
18
19
Werner Lemberg90d99642000-12-09 00:45:38 +000020#ifndef __TTLOAD_H__
21#define __TTLOAD_H__
David Turnerd2b1f351999-12-16 23:11:37 +000022
Werner Lembergcc069be2000-12-08 16:17:16 +000023
David Turner19ed8af2000-12-08 02:42:29 +000024#include <ft2build.h>
25#include FT_INTERNAL_STREAM_H
26#include FT_INTERNAL_TRUETYPE_TYPES_H
Werner Lemberg4e6dd852000-06-05 05:26:15 +000027
David Turnerd2b1f351999-12-16 23:11:37 +000028
David Turner19ed8af2000-12-08 02:42:29 +000029FT_BEGIN_HEADER
David Turnerd2b1f351999-12-16 23:11:37 +000030
Werner Lembergcc069be2000-12-08 16:17:16 +000031
David Turner76a5f622000-11-04 01:55:49 +000032 FT_LOCAL
David Turnerd2b1f351999-12-16 23:11:37 +000033 TT_Table* TT_LookUp_Table( TT_Face face,
David Turnerf9b8dec2000-06-16 19:34:52 +000034 FT_ULong tag );
David Turnerd2b1f351999-12-16 23:11:37 +000035
David Turner76a5f622000-11-04 01:55:49 +000036 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000037 FT_Error TT_Goto_Table( TT_Face face,
38 FT_ULong tag,
Werner Lemberg4e6dd852000-06-05 05:26:15 +000039 FT_Stream stream,
David Turnerf9b8dec2000-06-16 19:34:52 +000040 FT_ULong* length );
David Turnerd2b1f351999-12-16 23:11:37 +000041
42
David Turner76a5f622000-11-04 01:55:49 +000043 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000044 FT_Error TT_Load_SFNT_Header( TT_Face face,
Werner Lemberg4e6dd852000-06-05 05:26:15 +000045 FT_Stream stream,
David Turnerf9b8dec2000-06-16 19:34:52 +000046 FT_Long face_index,
Werner Lemberg4e6dd852000-06-05 05:26:15 +000047 SFNT_Header* sfnt );
David Turner76a5f622000-11-04 01:55:49 +000048 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000049 FT_Error TT_Load_Directory( TT_Face face,
David Turnerb1677a82000-05-29 20:37:41 +000050 FT_Stream stream,
51 SFNT_Header* sfnt );
David Turnerd2b1f351999-12-16 23:11:37 +000052
David Turner76a5f622000-11-04 01:55:49 +000053 FT_LOCAL
Werner Lembergbd5ae402000-07-05 04:32:02 +000054 FT_Error TT_Load_Any( TT_Face face,
55 FT_ULong tag,
56 FT_Long offset,
57 FT_Byte* buffer,
58 FT_ULong* length );
David Turnerd2b1f351999-12-16 23:11:37 +000059
60
David Turner76a5f622000-11-04 01:55:49 +000061 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000062 FT_Error TT_Load_Header( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +000063 FT_Stream stream );
64
65
David Turner76a5f622000-11-04 01:55:49 +000066 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000067 FT_Error TT_Load_Metrics_Header( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +000068 FT_Stream stream,
David Turnerf9b8dec2000-06-16 19:34:52 +000069 FT_Bool vertical );
David Turnerd2b1f351999-12-16 23:11:37 +000070
71
David Turner76a5f622000-11-04 01:55:49 +000072 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000073 FT_Error TT_Load_CMap( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +000074 FT_Stream stream );
75
76
David Turner76a5f622000-11-04 01:55:49 +000077 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000078 FT_Error TT_Load_MaxProfile( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +000079 FT_Stream stream );
80
81
David Turner76a5f622000-11-04 01:55:49 +000082 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000083 FT_Error TT_Load_Names( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +000084 FT_Stream stream );
85
86
David Turner76a5f622000-11-04 01:55:49 +000087 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000088 FT_Error TT_Load_OS2( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +000089 FT_Stream stream );
90
91
David Turner76a5f622000-11-04 01:55:49 +000092 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000093 FT_Error TT_Load_PostScript( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +000094 FT_Stream stream );
95
96
David Turner76a5f622000-11-04 01:55:49 +000097 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +000098 FT_Error TT_Load_Hdmx( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +000099 FT_Stream stream );
100
David Turner76a5f622000-11-04 01:55:49 +0000101 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +0000102 FT_Error TT_Load_PCLT( TT_Face face,
David Turner51179f02000-05-18 16:18:05 +0000103 FT_Stream stream );
David Turnerd2b1f351999-12-16 23:11:37 +0000104
David Turner76a5f622000-11-04 01:55:49 +0000105 FT_LOCAL
David Turnerd2b1f351999-12-16 23:11:37 +0000106 void TT_Free_Names( TT_Face face );
107
108
David Turner76a5f622000-11-04 01:55:49 +0000109 FT_LOCAL
David Turnerd2b1f351999-12-16 23:11:37 +0000110 void TT_Free_Hdmx ( TT_Face face );
111
112
David Turner76a5f622000-11-04 01:55:49 +0000113 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +0000114 FT_Error TT_Load_Kern( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +0000115 FT_Stream stream );
116
117
David Turner76a5f622000-11-04 01:55:49 +0000118 FT_LOCAL
David Turnerf9b8dec2000-06-16 19:34:52 +0000119 FT_Error TT_Load_Gasp( TT_Face face,
David Turnerd2b1f351999-12-16 23:11:37 +0000120 FT_Stream stream );
121
David Turnerf96594f2000-11-06 23:07:51 +0000122#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
Werner Lemberg4b680072000-11-07 06:30:29 +0000123
David Turnerf96594f2000-11-06 23:07:51 +0000124 FT_LOCAL
125 FT_Error TT_Load_Bitmap_Header( TT_Face face,
Werner Lemberg4b680072000-11-07 06:30:29 +0000126 FT_Stream stream );
127
128#endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
129
David Turnerd2b1f351999-12-16 23:11:37 +0000130
David Turner19ed8af2000-12-08 02:42:29 +0000131FT_END_HEADER
Werner Lembergbd5ae402000-07-05 04:32:02 +0000132
Werner Lemberg90d99642000-12-09 00:45:38 +0000133#endif /* __TTLOAD_H__ */
David Turnerd2b1f351999-12-16 23:11:37 +0000134
135
136/* END */