Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/bFTGL/src/FTFont.cpp')
-rw-r--r--extern/bFTGL/src/FTFont.cpp271
1 files changed, 0 insertions, 271 deletions
diff --git a/extern/bFTGL/src/FTFont.cpp b/extern/bFTGL/src/FTFont.cpp
deleted file mode 100644
index c06d883104b..00000000000
--- a/extern/bFTGL/src/FTFont.cpp
+++ /dev/null
@@ -1,271 +0,0 @@
-#include "FTFace.h"
-#include "FTFont.h"
-#include "FTGlyphContainer.h"
-#include "FTBBox.h"
-
-
-FTFont::FTFont( const char* fontname)
-: face( fontname),
- glyphList(0)
-{
- err = face.Error();
- if( err == 0)
- {
- glyphList = new FTGlyphContainer( &face);
- }
-}
-
-
-FTFont::FTFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
-: face( pBufferBytes, bufferSizeInBytes),
- glyphList(0)
-{
- err = face.Error();
- if( err == 0)
- {
- glyphList = new FTGlyphContainer( &face);
- }
-}
-
-
-FTFont::~FTFont()
-{
- delete glyphList;
-}
-
-
-bool FTFont::Attach( const char* filename)
-{
- if( face.Attach( filename))
- {
- err = 0;
- return true;
- }
- else
- {
- err = face.Error();
- return false;
- }
-}
-
-
-bool FTFont::Attach( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
-{
- if( face.Attach( pBufferBytes, bufferSizeInBytes))
- {
- err = 0;
- return true;
- }
- else
- {
- err = face.Error();
- return false;
- }
-}
-
-
-bool FTFont::FaceSize( const unsigned int size, const unsigned int res )
-{
- charSize = face.Size( size, res);
-
- if( face.Error())
- {
- return false;
- }
-
- if( glyphList != NULL)
- {
- delete glyphList;
- }
-
- glyphList = new FTGlyphContainer( &face);
- return true;
-}
-
-
-unsigned int FTFont::FaceSize() const
-{
- return charSize.CharSize();
-}
-
-
-bool FTFont::CharMap( FT_Encoding encoding)
-{
- bool result = glyphList->CharMap( encoding);
- err = glyphList->Error();
- return result;
-}
-
-
-unsigned int FTFont::CharMapCount()
-{
- return face.CharMapCount();
-}
-
-
-FT_Encoding* FTFont::CharMapList()
-{
- return face.CharMapList();
-}
-
-
-float FTFont::Ascender() const
-{
- return charSize.Ascender();
-}
-
-
-float FTFont::Descender() const
-{
- return charSize.Descender();
-}
-
-
-void FTFont::BBox( const char* string,
- float& llx, float& lly, float& llz, float& urx, float& ury, float& urz)
-{
- FTBBox totalBBox;
-
- if((NULL != string) && ('\0' != *string))
- {
- const unsigned char* c = (unsigned char*)string;
-
- CheckGlyph( *c);
-
- totalBBox = glyphList->BBox( *c);
- float advance = glyphList->Advance( *c, *(c + 1));
- ++c;
-
- while( *c)
- {
- CheckGlyph( *c);
- FTBBox tempBBox = glyphList->BBox( *c);
- tempBBox.Move( FTPoint( advance, 0.0f, 0.0f));
- totalBBox += tempBBox;
- advance += glyphList->Advance( *c, *(c + 1));
- ++c;
- }
- }
-
- llx = totalBBox.lowerX;
- lly = totalBBox.lowerY;
- llz = totalBBox.lowerZ;
- urx = totalBBox.upperX;
- ury = totalBBox.upperY;
- urz = totalBBox.upperZ;
-}
-
-
-void FTFont::BBox( const wchar_t* string,
- float& llx, float& lly, float& llz, float& urx, float& ury, float& urz)
-{
- FTBBox totalBBox;
-
- if((NULL != string) && ('\0' != *string))
- {
- const wchar_t* c = string;
-
- CheckGlyph( *c);
-
- totalBBox = glyphList->BBox( *c);
- float advance = glyphList->Advance( *c, *(c + 1));
- ++c;
-
- while( *c)
- {
- CheckGlyph( *c);
- FTBBox tempBBox = glyphList->BBox( *c);
- tempBBox.Move( FTPoint( advance, 0.0f, 0.0f));
- totalBBox += tempBBox;
- advance += glyphList->Advance( *c, *(c + 1));
- ++c;
- }
- }
-
- llx = totalBBox.lowerX;
- lly = totalBBox.lowerY;
- llz = totalBBox.lowerZ;
- urx = totalBBox.upperX;
- ury = totalBBox.upperY;
- urz = totalBBox.upperZ;
-}
-
-
-float FTFont::Advance( const wchar_t* string)
-{
- const wchar_t* c = string;
- float width = 0.0f;
-
- while( *c)
- {
- CheckGlyph( *c);
- width += glyphList->Advance( *c, *(c + 1));
- ++c;
- }
-
- return width;
-}
-
-
-float FTFont::Advance( const char* string)
-{
- const unsigned char* c = (unsigned char*)string;
- float width = 0.0f;
-
- while( *c)
- {
- CheckGlyph( *c);
- width += glyphList->Advance( *c, *(c + 1));
- ++c;
- }
-
- return width;
-}
-
-
-void FTFont::Render( const char* string )
-{
- const unsigned char* c = (unsigned char*)string;
- pen.x = 0; pen.y = 0;
-
- while( *c)
- {
- DoRender( *c, *(c + 1));
- ++c;
- }
-}
-
-
-void FTFont::Render( const wchar_t* string )
-{
- const wchar_t* c = string;
- pen.x = 0; pen.y = 0;
-
- while( *c)
- {
- DoRender( *c, *(c + 1));
- ++c;
- }
-}
-
-
-void FTFont::DoRender( const unsigned int chr, const unsigned int nextChr)
-{
- CheckGlyph( chr);
-
- FTPoint kernAdvance = glyphList->Render( chr, nextChr, pen);
-
- pen.x += kernAdvance.x;
- pen.y += kernAdvance.y;
-}
-
-
-void FTFont::CheckGlyph( const unsigned int characterCode)
-{
- if( NULL == glyphList->Glyph( characterCode))
- {
- unsigned int glyphIndex = glyphList->FontIndex( characterCode);
- glyphList->Add( MakeGlyph( glyphIndex), characterCode);
- }
-}
-