mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-18 12:05:14 -04:00
Remove unused freetype CID code
This commit is contained in:
parent
d956f21708
commit
3509ae6a9a
@ -25,7 +25,6 @@ add_library(classicube SHARED
|
||||
../../src/Program.c
|
||||
../../src/_fttype1.c
|
||||
../../src/IsometricDrawer.c
|
||||
../../src/_ftcid.c
|
||||
../../src/Builder.c
|
||||
../../src/ExtMath.c
|
||||
../../src/_ftbitmap.c
|
||||
|
@ -313,7 +313,6 @@
|
||||
<ClCompile Include="_cff.c" />
|
||||
<ClCompile Include="_ftbase.c" />
|
||||
<ClCompile Include="_ftbitmap.c" />
|
||||
<ClCompile Include="_ftcid.c" />
|
||||
<ClCompile Include="_ftglyph.c" />
|
||||
<ClCompile Include="_ftinit.c" />
|
||||
<ClCompile Include="_ftsynth.c" />
|
||||
|
@ -458,9 +458,6 @@
|
||||
<ClCompile Include="_ftbitmap.c">
|
||||
<Filter>Source Files\Freetype</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="_ftcid.c">
|
||||
<Filter>Source Files\Freetype</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="_ftglyph.c">
|
||||
<Filter>Source Files\Freetype</Filter>
|
||||
</ClCompile>
|
||||
|
118
src/_ftcid.c
118
src/_ftcid.c
@ -1,118 +0,0 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcid.c */
|
||||
/* */
|
||||
/* FreeType API for accessing CID font information. */
|
||||
/* */
|
||||
/* Copyright 2007-2018 by */
|
||||
/* Derek Clegg and Michael Toftdal. */
|
||||
/* */
|
||||
/* 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. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#include "freetype/ft2build.h"
|
||||
#include FT_CID_H_FT
|
||||
#include FT_INTERNAL_OBJECTS_H_FT
|
||||
#include FT_SERVICE_CID_H_FT
|
||||
|
||||
|
||||
/* documentation is in ftcid.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Get_CID_Registry_Ordering_Supplement( FT_Face face,
|
||||
const char* *registry,
|
||||
const char* *ordering,
|
||||
FT_Int *supplement)
|
||||
{
|
||||
FT_Error error;
|
||||
const char* r = NULL;
|
||||
const char* o = NULL;
|
||||
FT_Int s = 0;
|
||||
|
||||
|
||||
error = FT_ERR( Invalid_Argument );
|
||||
|
||||
if ( face )
|
||||
{
|
||||
FT_Service_CID service;
|
||||
|
||||
|
||||
FT_FACE_FIND_SERVICE( face, service, CID );
|
||||
|
||||
if ( service && service->get_ros )
|
||||
error = service->get_ros( face, &r, &o, &s );
|
||||
}
|
||||
|
||||
if ( registry )
|
||||
*registry = r;
|
||||
|
||||
if ( ordering )
|
||||
*ordering = o;
|
||||
|
||||
if ( supplement )
|
||||
*supplement = s;
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face,
|
||||
FT_Bool *is_cid )
|
||||
{
|
||||
FT_Error error = FT_ERR( Invalid_Argument );
|
||||
FT_Bool ic = 0;
|
||||
|
||||
|
||||
if ( face )
|
||||
{
|
||||
FT_Service_CID service;
|
||||
|
||||
|
||||
FT_FACE_FIND_SERVICE( face, service, CID );
|
||||
|
||||
if ( service && service->get_is_cid )
|
||||
error = service->get_is_cid( face, &ic);
|
||||
}
|
||||
|
||||
if ( is_cid )
|
||||
*is_cid = ic;
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Get_CID_From_Glyph_Index( FT_Face face,
|
||||
FT_UInt glyph_index,
|
||||
FT_UInt *cid )
|
||||
{
|
||||
FT_Error error = FT_ERR( Invalid_Argument );
|
||||
FT_UInt c = 0;
|
||||
|
||||
|
||||
if ( face )
|
||||
{
|
||||
FT_Service_CID service;
|
||||
|
||||
|
||||
FT_FACE_FIND_SERVICE( face, service, CID );
|
||||
|
||||
if ( service && service->get_cid_from_glyph_index )
|
||||
error = service->get_cid_from_glyph_index( face, glyph_index, &c);
|
||||
}
|
||||
|
||||
if ( cid )
|
||||
*cid = c;
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
/* END */
|
@ -23,7 +23,6 @@
|
||||
#include FT_INTERNAL_SFNT_H
|
||||
#include FT_INTERNAL_POSTSCRIPT_AUX_H
|
||||
#include FT_INTERNAL_POSTSCRIPT_PROPS_H
|
||||
#include FT_SERVICE_CID_H
|
||||
#include FT_SERVICE_POSTSCRIPT_INFO_H
|
||||
#include FT_SERVICE_TT_CMAP_H
|
||||
#include FT_SERVICE_CFF_TABLE_LOAD_H
|
||||
@ -503,142 +502,6 @@
|
||||
)
|
||||
|
||||
|
||||
/*
|
||||
* CID INFO SERVICE
|
||||
*
|
||||
*/
|
||||
static FT_Error
|
||||
cff_get_ros( CFF_Face face,
|
||||
const char* *registry,
|
||||
const char* *ordering,
|
||||
FT_Int *supplement )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
CFF_Font cff = (CFF_Font)face->extra.data;
|
||||
|
||||
|
||||
if ( cff )
|
||||
{
|
||||
CFF_FontRecDict dict = &cff->top_font.font_dict;
|
||||
|
||||
|
||||
if ( dict->cid_registry == 0xFFFFU )
|
||||
{
|
||||
error = FT_THROW( Invalid_Argument );
|
||||
goto Fail;
|
||||
}
|
||||
|
||||
if ( registry )
|
||||
{
|
||||
if ( !cff->registry )
|
||||
cff->registry = cff_index_get_sid_string( cff,
|
||||
dict->cid_registry );
|
||||
*registry = cff->registry;
|
||||
}
|
||||
|
||||
if ( ordering )
|
||||
{
|
||||
if ( !cff->ordering )
|
||||
cff->ordering = cff_index_get_sid_string( cff,
|
||||
dict->cid_ordering );
|
||||
*ordering = cff->ordering;
|
||||
}
|
||||
|
||||
/*
|
||||
* XXX: According to Adobe TechNote #5176, the supplement in CFF
|
||||
* can be a real number. We truncate it to fit public API
|
||||
* since freetype-2.3.6.
|
||||
*/
|
||||
if ( supplement )
|
||||
{
|
||||
if ( dict->cid_supplement < FT_INT_MIN ||
|
||||
dict->cid_supplement > FT_INT_MAX )
|
||||
FT_TRACE1(( "cff_get_ros: too large supplement %d is truncated\n",
|
||||
dict->cid_supplement ));
|
||||
*supplement = (FT_Int)dict->cid_supplement;
|
||||
}
|
||||
}
|
||||
|
||||
Fail:
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
cff_get_is_cid( CFF_Face face,
|
||||
FT_Bool *is_cid )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
CFF_Font cff = (CFF_Font)face->extra.data;
|
||||
|
||||
|
||||
*is_cid = 0;
|
||||
|
||||
if ( cff )
|
||||
{
|
||||
CFF_FontRecDict dict = &cff->top_font.font_dict;
|
||||
|
||||
|
||||
if ( dict->cid_registry != 0xFFFFU )
|
||||
*is_cid = 1;
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
cff_get_cid_from_glyph_index( CFF_Face face,
|
||||
FT_UInt glyph_index,
|
||||
FT_UInt *cid )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
CFF_Font cff;
|
||||
|
||||
|
||||
cff = (CFF_Font)face->extra.data;
|
||||
|
||||
if ( cff )
|
||||
{
|
||||
FT_UInt c;
|
||||
CFF_FontRecDict dict = &cff->top_font.font_dict;
|
||||
|
||||
|
||||
if ( dict->cid_registry == 0xFFFFU )
|
||||
{
|
||||
error = FT_THROW( Invalid_Argument );
|
||||
goto Fail;
|
||||
}
|
||||
|
||||
if ( glyph_index > cff->num_glyphs )
|
||||
{
|
||||
error = FT_THROW( Invalid_Argument );
|
||||
goto Fail;
|
||||
}
|
||||
|
||||
c = cff->charset.sids[glyph_index];
|
||||
|
||||
if ( cid )
|
||||
*cid = c;
|
||||
}
|
||||
|
||||
Fail:
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
FT_DEFINE_SERVICE_CIDREC(
|
||||
cff_service_cid_info,
|
||||
|
||||
(FT_CID_GetRegistryOrderingSupplementFunc)
|
||||
cff_get_ros, /* get_ros */
|
||||
(FT_CID_GetIsInternallyCIDKeyedFunc)
|
||||
cff_get_is_cid, /* get_is_cid */
|
||||
(FT_CID_GetCIDFromGlyphIndexFunc)
|
||||
cff_get_cid_from_glyph_index /* get_cid_from_glyph_index */
|
||||
)
|
||||
|
||||
|
||||
/*
|
||||
* PROPERTY SERVICE
|
||||
*
|
||||
@ -651,144 +514,6 @@
|
||||
(FT_Properties_GetFunc)ps_property_get ) /* get_property */
|
||||
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
|
||||
/*
|
||||
* MULTIPLE MASTER SERVICE
|
||||
*
|
||||
*/
|
||||
|
||||
static FT_Error
|
||||
cff_set_mm_blend( CFF_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords )
|
||||
{
|
||||
FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm;
|
||||
|
||||
|
||||
return mm->set_mm_blend( FT_FACE( face ), num_coords, coords );
|
||||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
cff_get_mm_blend( CFF_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords )
|
||||
{
|
||||
FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm;
|
||||
|
||||
|
||||
return mm->get_mm_blend( FT_FACE( face ), num_coords, coords );
|
||||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
cff_get_mm_var( CFF_Face face,
|
||||
FT_MM_Var* *master )
|
||||
{
|
||||
FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm;
|
||||
|
||||
|
||||
return mm->get_mm_var( FT_FACE( face ), master );
|
||||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
cff_set_var_design( CFF_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords )
|
||||
{
|
||||
FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm;
|
||||
|
||||
|
||||
return mm->set_var_design( FT_FACE( face ), num_coords, coords );
|
||||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
cff_get_var_design( CFF_Face face,
|
||||
FT_UInt num_coords,
|
||||
FT_Fixed* coords )
|
||||
{
|
||||
FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm;
|
||||
|
||||
|
||||
return mm->get_var_design( FT_FACE( face ), num_coords, coords );
|
||||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
cff_set_instance( CFF_Face face,
|
||||
FT_UInt instance_index )
|
||||
{
|
||||
FT_Service_MultiMasters mm = (FT_Service_MultiMasters)face->mm;
|
||||
|
||||
|
||||
return mm->set_instance( FT_FACE( face ), instance_index );
|
||||
}
|
||||
|
||||
|
||||
FT_DEFINE_SERVICE_MULTIMASTERSREC(
|
||||
cff_service_multi_masters,
|
||||
|
||||
(FT_Get_MM_Func) NULL, /* get_mm */
|
||||
(FT_Set_MM_Design_Func) NULL, /* set_mm_design */
|
||||
(FT_Set_MM_Blend_Func) cff_set_mm_blend, /* set_mm_blend */
|
||||
(FT_Get_MM_Blend_Func) cff_get_mm_blend, /* get_mm_blend */
|
||||
(FT_Get_MM_Var_Func) cff_get_mm_var, /* get_mm_var */
|
||||
(FT_Set_Var_Design_Func)cff_set_var_design, /* set_var_design */
|
||||
(FT_Get_Var_Design_Func)cff_get_var_design, /* get_var_design */
|
||||
(FT_Set_Instance_Func) cff_set_instance, /* set_instance */
|
||||
|
||||
(FT_Get_Var_Blend_Func) cff_get_var_blend, /* get_var_blend */
|
||||
(FT_Done_Blend_Func) cff_done_blend /* done_blend */
|
||||
)
|
||||
|
||||
|
||||
/*
|
||||
* METRICS VARIATIONS SERVICE
|
||||
*
|
||||
*/
|
||||
|
||||
static FT_Error
|
||||
cff_hadvance_adjust( CFF_Face face,
|
||||
FT_UInt gindex,
|
||||
FT_Int *avalue )
|
||||
{
|
||||
FT_Service_MetricsVariations var = (FT_Service_MetricsVariations)face->var;
|
||||
|
||||
|
||||
return var->hadvance_adjust( FT_FACE( face ), gindex, avalue );
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
cff_metrics_adjust( CFF_Face face )
|
||||
{
|
||||
FT_Service_MetricsVariations var = (FT_Service_MetricsVariations)face->var;
|
||||
|
||||
|
||||
var->metrics_adjust( FT_FACE( face ) );
|
||||
}
|
||||
|
||||
|
||||
FT_DEFINE_SERVICE_METRICSVARIATIONSREC(
|
||||
cff_service_metrics_variations,
|
||||
|
||||
(FT_HAdvance_Adjust_Func)cff_hadvance_adjust, /* hadvance_adjust */
|
||||
(FT_LSB_Adjust_Func) NULL, /* lsb_adjust */
|
||||
(FT_RSB_Adjust_Func) NULL, /* rsb_adjust */
|
||||
|
||||
(FT_VAdvance_Adjust_Func)NULL, /* vadvance_adjust */
|
||||
(FT_TSB_Adjust_Func) NULL, /* tsb_adjust */
|
||||
(FT_BSB_Adjust_Func) NULL, /* bsb_adjust */
|
||||
(FT_VOrg_Adjust_Func) NULL, /* vorg_adjust */
|
||||
|
||||
(FT_Metrics_Adjust_Func) cff_metrics_adjust /* metrics_adjust */
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* CFFLOAD SERVICE
|
||||
*
|
||||
@ -817,41 +542,24 @@
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
#if !defined FT_CONFIG_OPTION_NO_GLYPH_NAMES && \
|
||||
defined TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
FT_DEFINE_SERVICEDESCREC9(
|
||||
cff_services,
|
||||
|
||||
FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_CFF,
|
||||
FT_SERVICE_ID_MULTI_MASTERS, &cff_service_multi_masters,
|
||||
FT_SERVICE_ID_METRICS_VARIATIONS, &cff_service_metrics_variations,
|
||||
FT_SERVICE_ID_POSTSCRIPT_INFO, &cff_service_ps_info,
|
||||
FT_SERVICE_ID_GLYPH_DICT, &cff_service_glyph_dict,
|
||||
FT_SERVICE_ID_TT_CMAP, &cff_service_get_cmap_info,
|
||||
FT_SERVICE_ID_CID, &cff_service_cid_info,
|
||||
FT_SERVICE_ID_PROPERTIES, &cff_service_properties,
|
||||
FT_SERVICE_ID_CFF_LOAD, &cff_service_cff_load
|
||||
)
|
||||
#elif !defined FT_CONFIG_OPTION_NO_GLYPH_NAMES
|
||||
FT_DEFINE_SERVICEDESCREC7(
|
||||
cff_services,
|
||||
|
||||
FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_CFF,
|
||||
FT_SERVICE_ID_POSTSCRIPT_INFO, &cff_service_ps_info,
|
||||
FT_SERVICE_ID_GLYPH_DICT, &cff_service_glyph_dict,
|
||||
FT_SERVICE_ID_TT_CMAP, &cff_service_get_cmap_info,
|
||||
FT_SERVICE_ID_CID, &cff_service_cid_info,
|
||||
FT_SERVICE_ID_PROPERTIES, &cff_service_properties,
|
||||
FT_SERVICE_ID_CFF_LOAD, &cff_service_cff_load
|
||||
)
|
||||
#else
|
||||
#if !defined FT_CONFIG_OPTION_NO_GLYPH_NAMES
|
||||
FT_DEFINE_SERVICEDESCREC6(
|
||||
cff_services,
|
||||
|
||||
FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_CFF,
|
||||
FT_SERVICE_ID_POSTSCRIPT_INFO, &cff_service_ps_info,
|
||||
FT_SERVICE_ID_GLYPH_DICT, &cff_service_glyph_dict,
|
||||
FT_SERVICE_ID_TT_CMAP, &cff_service_get_cmap_info,
|
||||
FT_SERVICE_ID_PROPERTIES, &cff_service_properties,
|
||||
FT_SERVICE_ID_CFF_LOAD, &cff_service_cff_load
|
||||
)
|
||||
#else
|
||||
FT_DEFINE_SERVICEDESCREC5(
|
||||
cff_services,
|
||||
|
||||
FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_CFF,
|
||||
FT_SERVICE_ID_POSTSCRIPT_INFO, &cff_service_ps_info,
|
||||
FT_SERVICE_ID_TT_CMAP, &cff_service_get_cmap_info,
|
||||
FT_SERVICE_ID_CID, &cff_service_cid_info,
|
||||
FT_SERVICE_ID_PROPERTIES, &cff_service_properties,
|
||||
FT_SERVICE_ID_CFF_LOAD, &cff_service_cff_load
|
||||
)
|
||||
|
@ -26,7 +26,6 @@
|
||||
|
||||
#include FT_SERVICE_FONT_FORMAT_H
|
||||
#include FT_SERVICE_POSTSCRIPT_INFO_H
|
||||
#include FT_SERVICE_CID_H
|
||||
#include FT_SERVICE_PROPERTIES_H
|
||||
#include FT_DRIVER_H
|
||||
|
||||
@ -70,74 +69,6 @@
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* CID INFO SERVICE
|
||||
*
|
||||
*/
|
||||
static FT_Error
|
||||
cid_get_ros( CID_Face face,
|
||||
const char* *registry,
|
||||
const char* *ordering,
|
||||
FT_Int *supplement )
|
||||
{
|
||||
CID_FaceInfo cid = &face->cid;
|
||||
|
||||
|
||||
if ( registry )
|
||||
*registry = cid->registry;
|
||||
|
||||
if ( ordering )
|
||||
*ordering = cid->ordering;
|
||||
|
||||
if ( supplement )
|
||||
*supplement = cid->supplement;
|
||||
|
||||
return FT_Err_Ok;
|
||||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
cid_get_is_cid( CID_Face face,
|
||||
FT_Bool *is_cid )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
FT_UNUSED( face );
|
||||
|
||||
|
||||
if ( is_cid )
|
||||
*is_cid = 1; /* cid driver is only used for CID keyed fonts */
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
cid_get_cid_from_glyph_index( CID_Face face,
|
||||
FT_UInt glyph_index,
|
||||
FT_UInt *cid )
|
||||
{
|
||||
FT_Error error = FT_Err_Ok;
|
||||
FT_UNUSED( face );
|
||||
|
||||
|
||||
if ( cid )
|
||||
*cid = glyph_index; /* identity mapping */
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
static const FT_Service_CIDRec cid_service_cid_info =
|
||||
{
|
||||
(FT_CID_GetRegistryOrderingSupplementFunc)
|
||||
cid_get_ros, /* get_ros */
|
||||
(FT_CID_GetIsInternallyCIDKeyedFunc)
|
||||
cid_get_is_cid, /* get_is_cid */
|
||||
(FT_CID_GetCIDFromGlyphIndexFunc)
|
||||
cid_get_cid_from_glyph_index /* get_cid_from_glyph_index */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* PROPERTY SERVICE
|
||||
*
|
||||
@ -159,7 +90,6 @@
|
||||
{
|
||||
{ FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_CID },
|
||||
{ FT_SERVICE_ID_POSTSCRIPT_INFO, &cid_service_ps_info },
|
||||
{ FT_SERVICE_ID_CID, &cid_service_cid_info },
|
||||
{ FT_SERVICE_ID_PROPERTIES, &cid_service_properties },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
@ -1,162 +0,0 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftcid.h */
|
||||
/* */
|
||||
/* FreeType API for accessing CID font information (specification). */
|
||||
/* */
|
||||
/* Copyright 2007-2018 by */
|
||||
/* Dereg Clegg and Michael Toftdal. */
|
||||
/* */
|
||||
/* 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 FTCID_H_
|
||||
#define FTCID_H_
|
||||
|
||||
#include "ft2build.h"
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Section> */
|
||||
/* cid_fonts */
|
||||
/* */
|
||||
/* <Title> */
|
||||
/* CID Fonts */
|
||||
/* */
|
||||
/* <Abstract> */
|
||||
/* CID-keyed font specific API. */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* This section contains the declaration of CID-keyed font specific */
|
||||
/* functions. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* @function:
|
||||
* FT_Get_CID_Registry_Ordering_Supplement
|
||||
*
|
||||
* @description:
|
||||
* Retrieve the Registry/Ordering/Supplement triple (also known as the
|
||||
* "R/O/S") from a CID-keyed font.
|
||||
*
|
||||
* @input:
|
||||
* face ::
|
||||
* A handle to the input face.
|
||||
*
|
||||
* @output:
|
||||
* registry ::
|
||||
* The registry, as a C~string, owned by the face.
|
||||
*
|
||||
* ordering ::
|
||||
* The ordering, as a C~string, owned by the face.
|
||||
*
|
||||
* supplement ::
|
||||
* The supplement.
|
||||
*
|
||||
* @return:
|
||||
* FreeType error code. 0~means success.
|
||||
*
|
||||
* @note:
|
||||
* This function only works with CID faces, returning an error
|
||||
* otherwise.
|
||||
*
|
||||
* @since:
|
||||
* 2.3.6
|
||||
*/
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_CID_Registry_Ordering_Supplement( FT_Face face,
|
||||
const char* *registry,
|
||||
const char* *ordering,
|
||||
FT_Int *supplement );
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* @function:
|
||||
* FT_Get_CID_Is_Internally_CID_Keyed
|
||||
*
|
||||
* @description:
|
||||
* Retrieve the type of the input face, CID keyed or not. In
|
||||
* contrast to the @FT_IS_CID_KEYED macro this function returns
|
||||
* successfully also for CID-keyed fonts in an SFNT wrapper.
|
||||
*
|
||||
* @input:
|
||||
* face ::
|
||||
* A handle to the input face.
|
||||
*
|
||||
* @output:
|
||||
* is_cid ::
|
||||
* The type of the face as an @FT_Bool.
|
||||
*
|
||||
* @return:
|
||||
* FreeType error code. 0~means success.
|
||||
*
|
||||
* @note:
|
||||
* This function only works with CID faces and OpenType fonts,
|
||||
* returning an error otherwise.
|
||||
*
|
||||
* @since:
|
||||
* 2.3.9
|
||||
*/
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face,
|
||||
FT_Bool *is_cid );
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* @function:
|
||||
* FT_Get_CID_From_Glyph_Index
|
||||
*
|
||||
* @description:
|
||||
* Retrieve the CID of the input glyph index.
|
||||
*
|
||||
* @input:
|
||||
* face ::
|
||||
* A handle to the input face.
|
||||
*
|
||||
* glyph_index ::
|
||||
* The input glyph index.
|
||||
*
|
||||
* @output:
|
||||
* cid ::
|
||||
* The CID as an @FT_UInt.
|
||||
*
|
||||
* @return:
|
||||
* FreeType error code. 0~means success.
|
||||
*
|
||||
* @note:
|
||||
* This function only works with CID faces and OpenType fonts,
|
||||
* returning an error otherwise.
|
||||
*
|
||||
* @since:
|
||||
* 2.3.9
|
||||
*/
|
||||
FT_EXPORT( FT_Error )
|
||||
FT_Get_CID_From_Glyph_Index( FT_Face face,
|
||||
FT_UInt glyph_index,
|
||||
FT_UInt *cid );
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
#endif /* FTCID_H_ */
|
||||
|
||||
|
||||
/* END */
|
@ -1,69 +0,0 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* svcid.h */
|
||||
/* */
|
||||
/* The FreeType CID font services (specification). */
|
||||
/* */
|
||||
/* Copyright 2007-2018 by */
|
||||
/* Derek Clegg and Michael Toftdal. */
|
||||
/* */
|
||||
/* 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 SVCID_H_
|
||||
#define SVCID_H_
|
||||
|
||||
#include FT_INTERNAL_SERVICE_H
|
||||
|
||||
|
||||
FT_BEGIN_HEADER
|
||||
|
||||
|
||||
#define FT_SERVICE_ID_CID "CID"
|
||||
|
||||
typedef FT_Error
|
||||
(*FT_CID_GetRegistryOrderingSupplementFunc)( FT_Face face,
|
||||
const char* *registry,
|
||||
const char* *ordering,
|
||||
FT_Int *supplement );
|
||||
typedef FT_Error
|
||||
(*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face face,
|
||||
FT_Bool *is_cid );
|
||||
typedef FT_Error
|
||||
(*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face face,
|
||||
FT_UInt glyph_index,
|
||||
FT_UInt *cid );
|
||||
|
||||
FT_DEFINE_SERVICE( CID )
|
||||
{
|
||||
FT_CID_GetRegistryOrderingSupplementFunc get_ros;
|
||||
FT_CID_GetIsInternallyCIDKeyedFunc get_is_cid;
|
||||
FT_CID_GetCIDFromGlyphIndexFunc get_cid_from_glyph_index;
|
||||
};
|
||||
|
||||
|
||||
#define FT_DEFINE_SERVICE_CIDREC( class_, \
|
||||
get_ros_, \
|
||||
get_is_cid_, \
|
||||
get_cid_from_glyph_index_ ) \
|
||||
static const FT_Service_CIDRec class_ = \
|
||||
{ \
|
||||
get_ros_, get_is_cid_, get_cid_from_glyph_index_ \
|
||||
};
|
||||
|
||||
/* */
|
||||
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
|
||||
#endif /* SVCID_H_ */
|
||||
|
||||
|
||||
/* END */
|
Loading…
x
Reference in New Issue
Block a user