mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2025-08-17 03:50:56 +00:00
initial commit. This is icculus version 5542b94cae02a6333845854bbbd1abe0a259f1a4
This commit is contained in:
commit
3096eaf5e2
2519 changed files with 816064 additions and 0 deletions
63
ExternalLibs/FTGL/src/FTCharmap.cpp
Normal file
63
ExternalLibs/FTGL/src/FTCharmap.cpp
Normal file
|
@ -0,0 +1,63 @@
|
|||
#include "FTFace.h"
|
||||
#include "FTCharmap.h"
|
||||
|
||||
|
||||
FTCharmap::FTCharmap( FTFace* face)
|
||||
: ftFace( *(face->Face())),
|
||||
err(0)
|
||||
{
|
||||
if( !ftFace->charmap)
|
||||
{
|
||||
err = FT_Set_Charmap( ftFace, ftFace->charmaps[0]);
|
||||
}
|
||||
|
||||
ftEncoding = ftFace->charmap->encoding;
|
||||
}
|
||||
|
||||
|
||||
FTCharmap::~FTCharmap()
|
||||
{
|
||||
charMap.clear();
|
||||
}
|
||||
|
||||
|
||||
bool FTCharmap::CharMap( FT_Encoding encoding)
|
||||
{
|
||||
if( ftEncoding == encoding)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
err = FT_Select_Charmap( ftFace, encoding );
|
||||
|
||||
if( !err)
|
||||
{
|
||||
ftEncoding = encoding;
|
||||
}
|
||||
else
|
||||
{
|
||||
ftEncoding = ft_encoding_none;
|
||||
}
|
||||
|
||||
charMap.clear();
|
||||
return !err;
|
||||
}
|
||||
|
||||
|
||||
unsigned int FTCharmap::GlyphListIndex( unsigned int characterCode )
|
||||
{
|
||||
return charMap.find( characterCode);
|
||||
}
|
||||
|
||||
|
||||
unsigned int FTCharmap::FontIndex( unsigned int characterCode )
|
||||
{
|
||||
return FT_Get_Char_Index( ftFace, characterCode);
|
||||
}
|
||||
|
||||
|
||||
void FTCharmap::InsertIndex( const unsigned int characterCode, const unsigned int containerIndex)
|
||||
{
|
||||
charMap.insert( characterCode, containerIndex);
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue