d42c68e855
- 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..
129 lines
3.6 KiB
C
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 */
|