forked from minhngoc25a/freetype2
implemented FT_Select_Charmap and FT_Set_Charmap
(at last :-)
This commit is contained in:
parent
c91cfe1100
commit
0a29c6979d
|
@ -1990,15 +1990,52 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* XXX : Not implemented yet, but should come soon */
|
/*************************************************************************/
|
||||||
#if 0
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* FT_Select_Charmap */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* Selects a given charmap by its encoding tag. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* face :: A handle to the source face object. */
|
||||||
|
/* encoding :: handle to the selected charmap */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* Error code. 0 means success. */
|
||||||
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* This function will return an error if no charmap in the face */
|
||||||
|
/* corresponds to the encoding queried here */
|
||||||
|
/* */
|
||||||
EXPORT_DEF(FT_Error) FT_Select_Charmap( FT_Face face,
|
EXPORT_DEF(FT_Error) FT_Select_Charmap( FT_Face face,
|
||||||
FT_Encoding encoding );
|
FT_Encoding encoding );
|
||||||
|
|
||||||
|
|
||||||
EXPORT_DEF(FT_Error) FT_Error FT_Set_Charmap( FT_Face face,
|
/*************************************************************************/
|
||||||
FT_CharMap charmap );
|
/* */
|
||||||
#endif
|
/* <Function> */
|
||||||
|
/* FT_Set_Charmap */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* Selects a given charmap for character code to glyph index */
|
||||||
|
/* decoding. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* face :: A handle to the source face object. */
|
||||||
|
/* charmap :: handle to the selected charmap */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* Error code. 0 means success. */
|
||||||
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* this function will return an error when the charmap is not part */
|
||||||
|
/* of the face (i.e. if it is not listed in the face->charmaps[] */
|
||||||
|
/* table). */
|
||||||
|
/* */
|
||||||
|
EXPORT_DEF(FT_Error) FT_Set_Charmap( FT_Face face,
|
||||||
|
FT_CharMap charmap );
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
|
|
|
@ -1916,6 +1916,80 @@
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* FT_Select_Charmap */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* Selects a given charmap by its encoding tag. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* face :: A handle to the source face object. */
|
||||||
|
/* encoding :: handle to the selected charmap */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* Error code. 0 means success. */
|
||||||
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* This function will return an error if no charmap in the face */
|
||||||
|
/* corresponds to the encoding queried here */
|
||||||
|
/* */
|
||||||
|
EXPORT_FUNC(FT_Error) FT_Select_Charmap( FT_Face face,
|
||||||
|
FT_Encoding encoding )
|
||||||
|
{
|
||||||
|
FT_CharMap* cur = face->charmaps;
|
||||||
|
FT_CharMap* limit = cur + face->num_charmaps;
|
||||||
|
|
||||||
|
for ( ; cur < limit; cur++ )
|
||||||
|
{
|
||||||
|
if ( cur[0]->encoding == encoding )
|
||||||
|
{
|
||||||
|
face->charmap = cur[0];
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return FT_Err_Invalid_Argument;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* FT_Set_Charmap */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* Selects a given charmap for character code to glyph index */
|
||||||
|
/* decoding. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* face :: A handle to the source face object. */
|
||||||
|
/* charmap :: handle to the selected charmap */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* Error code. 0 means success. */
|
||||||
|
/* */
|
||||||
|
/* <Note> */
|
||||||
|
/* this function will return an error when the charmap is not part */
|
||||||
|
/* of the face (i.e. if it is not listed in the face->charmaps[] */
|
||||||
|
/* table). */
|
||||||
|
/* */
|
||||||
|
EXPORT_FUNC(FT_Error) FT_Set_Charmap( FT_Face face,
|
||||||
|
FT_CharMap charmap )
|
||||||
|
{
|
||||||
|
FT_CharMap* cur = face->charmaps;
|
||||||
|
FT_CharMap* limit = cur + face->num_charmaps;
|
||||||
|
|
||||||
|
for ( ; cur < limit; cur++ )
|
||||||
|
{
|
||||||
|
if ( cur[0] == charmap )
|
||||||
|
{
|
||||||
|
face->charmap = cur[0];
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return FT_Err_Invalid_Argument;
|
||||||
|
}
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
|
|
Loading…
Reference in New Issue