freetype/src/sfnt/ttload.h
David Turner d42c68e855 many new small, but important, changes there:
- modified the interface of the "sfnt" module. There is now a function
    called "load_format_tag", and another called "load_directory".

    The first one is in charge of returning the 4-byte tag located at
    the beginning of a given font file. It understand TrueType collections
    and parses them automatically

    The second loads the table directory that is located just after
    the format tag.

    This is useful, because the "SFNT" storage scheme can be used by
    several distinct formats, each with its own format tag.

    The TrueType driver now checks the format tag in "src/truetype/ttobjs.c"

  - made some changes to "src/shared/t1types.h" to clearly separate the
    Type 1 font content from the rest of the T1_Face structure. This
    will be useful when adding the CFF/Type2 driver that will be able
    to reuse the "T1_Font" structure within a "TT_Font" one (which
    really describes a SFNT-based font file).

    Some changes in "src/type1" were thus performed to reflect this.
    Note that the current type1 driver will be discontinued in a
    distant future. More on this later..
2000-01-27 13:56:02 +00:00

129 lines
3.6 KiB
C

/***************************************************************************/
/* */
/* ttload.h */
/* */
/* Load the basic TrueType tables, i.e., tables that can be either in */
/* TTF or OTF font (specification). */
/* */
/* Copyright 1996-1999 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used */
/* modified and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
/***************************************************************************/
#ifndef TTLOAD_H
#define TTLOAD_H
#include <ftstream.h>
#include <tttypes.h>
/*
#include <ttobjs.h>
*/
#ifdef __cplusplus
extern "C" {
#endif
EXPORT_DEF
TT_Table* TT_LookUp_Table( TT_Face face,
TT_ULong tag );
LOCAL_DEF
TT_Error TT_Goto_Table( TT_Face face,
TT_ULong tag,
FT_Stream stream,
TT_ULong *length );
LOCAL_DEF
TT_Error TT_Load_Format_Tag( TT_Face face,
FT_Stream stream,
TT_Long faceIndex,
TT_ULong *format_tag );
LOCAL_DEF
TT_Error TT_Load_Directory( TT_Face face,
FT_Stream stream,
TT_Long faceIndex );
LOCAL_DEF
TT_Error TT_Load_Any( TT_Face face,
TT_ULong tag,
TT_Long offset,
void* buffer,
TT_Long* length );
LOCAL_DEF
TT_Error TT_Load_Header( TT_Face face,
FT_Stream stream );
LOCAL_DEF
TT_Error TT_Load_Metrics_Header( TT_Face face,
FT_Stream stream,
TT_Bool vertical );
LOCAL_DEF
TT_Error TT_Load_CMap( TT_Face face,
FT_Stream stream );
LOCAL_DEF
TT_Error TT_Load_MaxProfile( TT_Face face,
FT_Stream stream );
LOCAL_DEF
TT_Error TT_Load_Names( TT_Face face,
FT_Stream stream );
LOCAL_DEF
TT_Error TT_Load_OS2( TT_Face face,
FT_Stream stream );
LOCAL_DEF
TT_Error TT_Load_PostScript( TT_Face face,
FT_Stream stream );
LOCAL_DEF
TT_Error TT_Load_Hdmx( TT_Face face,
FT_Stream stream );
LOCAL_DEF
void TT_Free_Names( TT_Face face );
LOCAL_DEF
void TT_Free_Hdmx ( TT_Face face );
LOCAL_DEF
TT_Error TT_Load_Kern( TT_Face face,
FT_Stream stream );
LOCAL_DEF
TT_Error TT_Load_Gasp( TT_Face face,
FT_Stream stream );
#endif /* TTLOAD_H */
/* END */