123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- /****************************************************************************
- *
- * ftmac.h
- *
- * Additional Mac-specific API.
- *
- * Copyright (C) 1996-2023 by
- * Just van Rossum, 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.
- *
- */
- /****************************************************************************
- *
- * NOTE: Include this file after `FT_FREETYPE_H` and after any
- * Mac-specific headers (because this header uses Mac types such as
- * 'Handle', 'FSSpec', 'FSRef', etc.)
- *
- */
- #ifndef FTMAC_H_
- #define FTMAC_H_
- FT_BEGIN_HEADER
- /* gcc-3.1 and later can warn about functions tagged as deprecated */
- #ifndef FT_DEPRECATED_ATTRIBUTE
- #if defined( __GNUC__ ) && \
- ( ( __GNUC__ >= 4 ) || \
- ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) )
- #define FT_DEPRECATED_ATTRIBUTE __attribute__(( deprecated ))
- #else
- #define FT_DEPRECATED_ATTRIBUTE
- #endif
- #endif
- /**************************************************************************
- *
- * @section:
- * mac_specific
- *
- * @title:
- * Mac Specific Interface
- *
- * @abstract:
- * Only available on the Macintosh.
- *
- * @description:
- * The following definitions are only available if FreeType is compiled
- * on a Macintosh.
- *
- */
- /**************************************************************************
- *
- * @function:
- * FT_New_Face_From_FOND
- *
- * @description:
- * Create a new face object from a FOND resource.
- *
- * @inout:
- * library ::
- * A handle to the library resource.
- *
- * @input:
- * fond ::
- * A FOND resource.
- *
- * face_index ::
- * Only supported for the -1 'sanity check' special case.
- *
- * @output:
- * aface ::
- * A handle to a new face object.
- *
- * @return:
- * FreeType error code. 0~means success.
- *
- * @example:
- * This function can be used to create @FT_Face objects from fonts that
- * are installed in the system as follows.
- *
- * ```
- * fond = GetResource( 'FOND', fontName );
- * error = FT_New_Face_From_FOND( library, fond, 0, &face );
- * ```
- */
- FT_EXPORT( FT_Error )
- FT_New_Face_From_FOND( FT_Library library,
- Handle fond,
- FT_Long face_index,
- FT_Face *aface )
- FT_DEPRECATED_ATTRIBUTE;
- /**************************************************************************
- *
- * @function:
- * FT_GetFile_From_Mac_Name
- *
- * @description:
- * Return an FSSpec for the disk file containing the named font.
- *
- * @input:
- * fontName ::
- * Mac OS name of the font (e.g., Times New Roman Bold).
- *
- * @output:
- * pathSpec ::
- * FSSpec to the file. For passing to @FT_New_Face_From_FSSpec.
- *
- * face_index ::
- * Index of the face. For passing to @FT_New_Face_From_FSSpec.
- *
- * @return:
- * FreeType error code. 0~means success.
- */
- FT_EXPORT( FT_Error )
- FT_GetFile_From_Mac_Name( const char* fontName,
- FSSpec* pathSpec,
- FT_Long* face_index )
- FT_DEPRECATED_ATTRIBUTE;
- /**************************************************************************
- *
- * @function:
- * FT_GetFile_From_Mac_ATS_Name
- *
- * @description:
- * Return an FSSpec for the disk file containing the named font.
- *
- * @input:
- * fontName ::
- * Mac OS name of the font in ATS framework.
- *
- * @output:
- * pathSpec ::
- * FSSpec to the file. For passing to @FT_New_Face_From_FSSpec.
- *
- * face_index ::
- * Index of the face. For passing to @FT_New_Face_From_FSSpec.
- *
- * @return:
- * FreeType error code. 0~means success.
- */
- FT_EXPORT( FT_Error )
- FT_GetFile_From_Mac_ATS_Name( const char* fontName,
- FSSpec* pathSpec,
- FT_Long* face_index )
- FT_DEPRECATED_ATTRIBUTE;
- /**************************************************************************
- *
- * @function:
- * FT_GetFilePath_From_Mac_ATS_Name
- *
- * @description:
- * Return a pathname of the disk file and face index for given font name
- * that is handled by ATS framework.
- *
- * @input:
- * fontName ::
- * Mac OS name of the font in ATS framework.
- *
- * @output:
- * path ::
- * Buffer to store pathname of the file. For passing to @FT_New_Face.
- * The client must allocate this buffer before calling this function.
- *
- * maxPathSize ::
- * Lengths of the buffer `path` that client allocated.
- *
- * face_index ::
- * Index of the face. For passing to @FT_New_Face.
- *
- * @return:
- * FreeType error code. 0~means success.
- */
- FT_EXPORT( FT_Error )
- FT_GetFilePath_From_Mac_ATS_Name( const char* fontName,
- UInt8* path,
- UInt32 maxPathSize,
- FT_Long* face_index )
- FT_DEPRECATED_ATTRIBUTE;
- /**************************************************************************
- *
- * @function:
- * FT_New_Face_From_FSSpec
- *
- * @description:
- * Create a new face object from a given resource and typeface index
- * using an FSSpec to the font file.
- *
- * @inout:
- * library ::
- * A handle to the library resource.
- *
- * @input:
- * spec ::
- * FSSpec to the font file.
- *
- * face_index ::
- * The index of the face within the resource. The first face has
- * index~0.
- * @output:
- * aface ::
- * A handle to a new face object.
- *
- * @return:
- * FreeType error code. 0~means success.
- *
- * @note:
- * @FT_New_Face_From_FSSpec is identical to @FT_New_Face except it
- * accepts an FSSpec instead of a path.
- */
- FT_EXPORT( FT_Error )
- FT_New_Face_From_FSSpec( FT_Library library,
- const FSSpec *spec,
- FT_Long face_index,
- FT_Face *aface )
- FT_DEPRECATED_ATTRIBUTE;
- /**************************************************************************
- *
- * @function:
- * FT_New_Face_From_FSRef
- *
- * @description:
- * Create a new face object from a given resource and typeface index
- * using an FSRef to the font file.
- *
- * @inout:
- * library ::
- * A handle to the library resource.
- *
- * @input:
- * spec ::
- * FSRef to the font file.
- *
- * face_index ::
- * The index of the face within the resource. The first face has
- * index~0.
- * @output:
- * aface ::
- * A handle to a new face object.
- *
- * @return:
- * FreeType error code. 0~means success.
- *
- * @note:
- * @FT_New_Face_From_FSRef is identical to @FT_New_Face except it accepts
- * an FSRef instead of a path.
- */
- FT_EXPORT( FT_Error )
- FT_New_Face_From_FSRef( FT_Library library,
- const FSRef *ref,
- FT_Long face_index,
- FT_Face *aface )
- FT_DEPRECATED_ATTRIBUTE;
- /* */
- FT_END_HEADER
- #endif /* FTMAC_H_ */
- /* END */
|