91 lines
2.3 KiB
C
91 lines
2.3 KiB
C
/****************************************************************************
|
|
*
|
|
* svttcmap.h
|
|
*
|
|
* The FreeType TrueType/sfnt cmap extra information service.
|
|
*
|
|
* Copyright (C) 2003-2021 by
|
|
* Masatake YAMATO, Redhat K.K.,
|
|
* 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.
|
|
*
|
|
*/
|
|
|
|
/* Development of this service is support of
|
|
Information-technology Promotion Agency, Japan. */
|
|
|
|
#ifndef SVTTCMAP_H_
|
|
#define SVTTCMAP_H_
|
|
|
|
#include <freetype/internal/ftserv.h>
|
|
#include <freetype/tttables.h>
|
|
|
|
|
|
FT_BEGIN_HEADER
|
|
|
|
|
|
#define FT_SERVICE_ID_TT_CMAP "tt-cmaps"
|
|
|
|
|
|
/**************************************************************************
|
|
*
|
|
* @struct:
|
|
* TT_CMapInfo
|
|
*
|
|
* @description:
|
|
* A structure used to store TrueType/sfnt specific cmap information
|
|
* which is not covered by the generic @FT_CharMap structure. This
|
|
* structure can be accessed with the @FT_Get_TT_CMap_Info function.
|
|
*
|
|
* @fields:
|
|
* language ::
|
|
* The language ID used in Mac fonts. Definitions of values are in
|
|
* `ttnameid.h`.
|
|
*
|
|
* format ::
|
|
* The cmap format. OpenType 1.6 defines the formats 0 (byte encoding
|
|
* table), 2~(high-byte mapping through table), 4~(segment mapping to
|
|
* delta values), 6~(trimmed table mapping), 8~(mixed 16-bit and 32-bit
|
|
* coverage), 10~(trimmed array), 12~(segmented coverage), 13~(last
|
|
* resort font), and 14 (Unicode Variation Sequences).
|
|
*/
|
|
typedef struct TT_CMapInfo_
|
|
{
|
|
FT_ULong language;
|
|
FT_Long format;
|
|
|
|
} TT_CMapInfo;
|
|
|
|
|
|
typedef FT_Error
|
|
(*TT_CMap_Info_GetFunc)( FT_CharMap charmap,
|
|
TT_CMapInfo *cmap_info );
|
|
|
|
|
|
FT_DEFINE_SERVICE( TTCMaps )
|
|
{
|
|
TT_CMap_Info_GetFunc get_cmap_info;
|
|
};
|
|
|
|
|
|
#define FT_DEFINE_SERVICE_TTCMAPSREC( class_, get_cmap_info_ ) \
|
|
static const FT_Service_TTCMapsRec class_ = \
|
|
{ \
|
|
get_cmap_info_ \
|
|
};
|
|
|
|
/* */
|
|
|
|
|
|
FT_END_HEADER
|
|
|
|
#endif /* SVTTCMAP_H_ */
|
|
|
|
|
|
/* END */
|