ROOT  6.06/09
Reference Guide
Classes | Public Member Functions | Static Public Member Functions | Protected Types | Static Protected Attributes | Friends | List of all members
TTF Class Reference

Interface to the freetype 2 library.

Definition at line 63 of file TTF.h.

Classes

class  TTGlyph
 TTF helper class containing glyphs description. More...
 

Public Member Functions

 TTF ()
 
virtual ~TTF ()
 

Static Public Member Functions

static Short_t CharToUnicode (UInt_t code)
 Map char to unicode. Returns 0 in case no mapping exists. More...
 
static void LayoutGlyphs ()
 Compute the glyphs positions, fgAscent and fgWidth (needed for alignment). More...
 
static void PrepareString (const char *string)
 Put the characters in "string" in the "glyphs" array. More...
 
static void PrepareString (const wchar_t *string)
 Put the characters in "string" in the "glyphs" array. More...
 
static void SetRotationMatrix (Float_t angle)
 Set the rotation matrix used to rotate the font outlines. More...
 
static void Init ()
 Initialise the TrueType fonts interface. More...
 
static void Cleanup ()
 Cleanup. Is called by the gCleanupTTF destructor. More...
 
static Int_t GetAscent ()
 
static const FT_BBox & GetBox ()
 
static TTGlyphGetGlyphs ()
 
static Bool_t GetHinting ()
 
static Bool_t GetKerning ()
 
static Int_t GetNumGlyphs ()
 
static FT_Matrix * GetRotMatrix ()
 
static Bool_t GetSmoothing ()
 
static Int_t GetWidth ()
 
static void SetHinting (Bool_t state)
 Set hinting flag. More...
 
static void SetKerning (Bool_t state)
 Set kerning flag. More...
 
static void SetSmoothing (Bool_t state)
 Set smoothing (anti-aliasing) flag. More...
 
static void GetTextExtent (UInt_t &w, UInt_t &h, char *text)
 Get width (w) and height (h) when text is horizontal. More...
 
static void GetTextExtent (UInt_t &w, UInt_t &h, wchar_t *text)
 Get width (w) and height (h) when text is horizontal. More...
 
static void GetTextAdvance (UInt_t &a, char *text)
 Get advance (a) when text is horizontal. More...
 
static void SetTextFont (Font_t fontnumber)
 Set specified font. More...
 
static Int_t SetTextFont (const char *fontname, Int_t italic=0)
 Set text font to specified name. More...
 
static void SetTextSize (Float_t textsize)
 Set current text size. More...
 
static Bool_t IsInitialized ()
 
static void Version (Int_t &major, Int_t &minor, Int_t &patch)
 

Protected Types

enum  { kTTMaxFonts = 32, kMaxGlyphs = 1024 }
 

Static Protected Attributes

static Int_t fgAscent = 0
 
static FT_BBox fgCBox
 
static FT_CharMap fgCharMap [kTTMaxFonts]
 
static Int_t fgCurFontIdx = -1
 
static Int_t fgSymbItaFontIdx = -1
 
static Int_t fgFontCount = 0
 
static char * fgFontName [kTTMaxFonts]
 
static FT_Face fgFace [kTTMaxFonts]
 
static TTF::TTGlyph fgGlyphs [kMaxGlyphs]
 
static Bool_t fgHinting = kFALSE
 
static Bool_t fgInit = kFALSE
 
static Bool_t fgKerning = kTRUE
 
static FT_Library fgLibrary
 
static Int_t fgNumGlyphs = 0
 
static FT_Matrix * fgRotMatrix
 
static Bool_t fgSmoothing = kTRUE
 
static Int_t fgTBlankW = 0
 
static Int_t fgWidth = 0
 

Friends

class TGX11TTF
 
class TGWin32
 
class TMathTextRenderer
 

#include <TTF.h>

+ Collaboration diagram for TTF:

Member Enumeration Documentation

anonymous enum
protected
Enumerator
kTTMaxFonts 
kMaxGlyphs 

Definition at line 83 of file TTF.h.

Constructor & Destructor Documentation

TTF::TTF ( )
inline

Definition at line 112 of file TTF.h.

virtual TTF::~TTF ( )
virtual

Member Function Documentation

Short_t TTF::CharToUnicode ( UInt_t  code)
static

Map char to unicode. Returns 0 in case no mapping exists.

Definition at line 101 of file TTF.cxx.

Referenced by PrepareString().

void TTF::Cleanup ( )
static

Cleanup. Is called by the gCleanupTTF destructor.

Definition at line 84 of file TTF.cxx.

Int_t TTF::GetAscent ( )
static

Definition at line 632 of file TTF.cxx.

Referenced by TGWin32::Align(), TGQuartz::AlignTTFString(), and TASImage::DrawText().

const FT_BBox & TTF::GetBox ( )
static
TTF::TTGlyph * TTF::GetGlyphs ( )
static
Bool_t TTF::GetHinting ( )
static

Definition at line 597 of file TTF.cxx.

Bool_t TTF::GetKerning ( )
static

Definition at line 604 of file TTF.cxx.

Referenced by TText::GetTextAdvance().

Int_t TTF::GetNumGlyphs ( )
static
FT_Matrix * TTF::GetRotMatrix ( )
static

Definition at line 646 of file TTF.cxx.

Referenced by TGWin32::Align(), TGQuartz::AlignTTFString(), and TASImage::DrawText().

Bool_t TTF::GetSmoothing ( )
static
void TTF::GetTextAdvance ( UInt_t a,
char *  text 
)
static

Get advance (a) when text is horizontal.

Definition at line 150 of file TTF.cxx.

Referenced by TText::GetTextAdvance().

void TTF::GetTextExtent ( UInt_t w,
UInt_t h,
char *  text 
)
static

Get width (w) and height (h) when text is horizontal.

Definition at line 134 of file TTF.cxx.

Referenced by TText::GetBoundingBox(), TText::GetTextExtent(), TGWin32::GetTextExtent(), and TGWin32::RequestString().

void TTF::GetTextExtent ( UInt_t w,
UInt_t h,
wchar_t *  text 
)
static

Get width (w) and height (h) when text is horizontal.

Definition at line 163 of file TTF.cxx.

Int_t TTF::GetWidth ( )
static
void TTF::Init ( )
static
Bool_t TTF::IsInitialized ( )
static
void TTF::LayoutGlyphs ( )
static

Compute the glyphs positions, fgAscent and fgWidth (needed for alignment).

Perform the Glyphs transformation. Compute the string control box. If required take the "kerning" into account. SetRotation and PrepareString should have been called before.

Definition at line 183 of file TTF.cxx.

Referenced by TGQuartz::DrawText(), TGX11TTF::DrawText(), TASImage::DrawText(), TGWin32::DrawText(), TASImage::DrawTextTTF(), GetTextAdvance(), and GetTextExtent().

void TTF::PrepareString ( const char *  string)
static

Put the characters in "string" in the "glyphs" array.

Definition at line 249 of file TTF.cxx.

Referenced by TGQuartz::DrawText(), TGX11TTF::DrawText(), TASImage::DrawText(), TGWin32::DrawText(), TASImage::DrawTextTTF(), GetTextAdvance(), and GetTextExtent().

void TTF::PrepareString ( const wchar_t *  string)
static

Put the characters in "string" in the "glyphs" array.

Definition at line 287 of file TTF.cxx.

void TTF::SetHinting ( Bool_t  state)
static

Set hinting flag.

Definition at line 325 of file TTF.cxx.

void TTF::SetKerning ( Bool_t  state)
static

Set kerning flag.

Definition at line 333 of file TTF.cxx.

Referenced by TText::GetTextAdvance().

void TTF::SetRotationMatrix ( Float_t  angle)
static

Set the rotation matrix used to rotate the font outlines.

Definition at line 341 of file TTF.cxx.

Referenced by TGQuartz::DrawText(), TGX11TTF::DrawText(), TASImage::DrawText(), TGWin32::DrawText(), TASImage::DrawTextTTF(), GetTextAdvance(), and GetTextExtent().

void TTF::SetSmoothing ( Bool_t  state)
static

Set smoothing (anti-aliasing) flag.

Definition at line 364 of file TTF.cxx.

Referenced by TGQuartz::DrawText(), TGX11TTF::Init(), and TGWin32::OpenDisplay().

void TTF::SetTextFont ( Font_t  fontnumber)
static

Set specified font.

List of the currently supported fonts (screen and PostScript)

Font ID X11 TTF
1 times-medium-i-normal timesi.ttf
2 times-bold-r-normal timesbd.ttf
3 times-bold-i-normal timesi.ttf
4 helvetica-medium-r-normal arial.ttf
5 helvetica-medium-o-normal ariali.ttf
6 helvetica-bold-r-normal arialbd.ttf
7 helvetica-bold-o-normal arialbi.ttf
8 courier-medium-r-normal cour.ttf
9 courier-medium-o-normal couri.ttf
10 courier-bold-r-normal courbd.ttf
11 courier-bold-o-normal courbi.ttf
12 symbol-medium-r-normal symbol.ttf
13 times-medium-r-normal times.ttf
14 wingding.ttf
15 symbol oblique is emulated from symbol.ttf

Definition at line 496 of file TTF.cxx.

Referenced by TASImage::DrawText(), TASImage::DrawTextTTF(), TText::GetTextAdvance(), TText::GetTextAscentDescent(), TText::GetTextExtent(), TGWin32::GetTextExtent(), Init(), TGWin32::RequestString(), TGX11TTF::SetTextFont(), TGQuartz::SetTextFont(), and TGWin32::SetTextFont().

Int_t TTF::SetTextFont ( const char *  fontname,
Int_t  italic = 0 
)
static

Set text font to specified name.

  • font : font name
  • italic : the fonts should be slanted. Used for symbol font.

Set text font to specified name. This function returns 0 if the specified font is found, 1 if not.

Definition at line 377 of file TTF.cxx.

void TTF::SetTextSize ( Float_t  textsize)
static
void TTF::Version ( Int_t major,
Int_t minor,
Int_t patch 
)
static

Definition at line 590 of file TTF.cxx.

Friends And Related Function Documentation

friend class TGWin32
friend

Definition at line 66 of file TTF.h.

friend class TGX11TTF
friend

Definition at line 65 of file TTF.h.

friend class TMathTextRenderer
friend

Definition at line 67 of file TTF.h.

Member Data Documentation

Int_t TTF::fgAscent = 0
staticprotected

Definition at line 85 of file TTF.h.

Referenced by TGX11TTF::Align(), GetAscent(), and LayoutGlyphs().

FT_BBox TTF::fgCBox
staticprotected

Definition at line 86 of file TTF.h.

Referenced by GetBox(), GetTextExtent(), and LayoutGlyphs().

FT_CharMap TTF::fgCharMap
staticprotected

Definition at line 87 of file TTF.h.

Referenced by CharToUnicode(), and SetTextFont().

Int_t TTF::fgCurFontIdx = -1
staticprotected

Definition at line 88 of file TTF.h.

Referenced by CharToUnicode(), LayoutGlyphs(), PrepareString(), SetTextFont(), and SetTextSize().

FT_Face TTF::fgFace
staticprotected

Definition at line 92 of file TTF.h.

Referenced by CharToUnicode(), Cleanup(), LayoutGlyphs(), PrepareString(), SetTextFont(), and SetTextSize().

Int_t TTF::fgFontCount = 0
staticprotected

Definition at line 90 of file TTF.h.

Referenced by Cleanup(), SetTextFont(), and SetTextSize().

char * TTF::fgFontName
staticprotected

Definition at line 91 of file TTF.h.

Referenced by CharToUnicode(), Cleanup(), and SetTextFont().

TTF::TTGlyph TTF::fgGlyphs
staticprotected

Definition at line 93 of file TTF.h.

Referenced by GetGlyphs(), LayoutGlyphs(), PrepareString(), and TGX11TTF::RenderString().

Bool_t TTF::fgHinting = kFALSE
staticprotected

Definition at line 94 of file TTF.h.

Referenced by GetHinting(), LayoutGlyphs(), PrepareString(), and SetHinting().

Bool_t TTF::fgInit = kFALSE
staticprotected
Bool_t TTF::fgKerning = kTRUE
staticprotected

Definition at line 96 of file TTF.h.

Referenced by GetKerning(), LayoutGlyphs(), and SetKerning().

FT_Library TTF::fgLibrary
staticprotected

Definition at line 97 of file TTF.h.

Referenced by Cleanup(), Init(), SetTextFont(), and Version().

Int_t TTF::fgNumGlyphs = 0
staticprotected

Definition at line 98 of file TTF.h.

Referenced by GetNumGlyphs(), LayoutGlyphs(), PrepareString(), and TGX11TTF::RenderString().

FT_Matrix * TTF::fgRotMatrix
staticprotected

Definition at line 99 of file TTF.h.

Referenced by TGX11TTF::Align(), Cleanup(), GetRotMatrix(), LayoutGlyphs(), and SetRotationMatrix().

Bool_t TTF::fgSmoothing = kTRUE
staticprotected

Definition at line 100 of file TTF.h.

Referenced by TGX11TTF::DrawImage(), GetSmoothing(), TGX11TTF::RenderString(), and SetSmoothing().

Int_t TTF::fgSymbItaFontIdx = -1
staticprotected

Definition at line 89 of file TTF.h.

Referenced by SetTextFont().

Int_t TTF::fgTBlankW = 0
staticprotected

Definition at line 101 of file TTF.h.

Referenced by GetTextExtent(), and PrepareString().

Int_t TTF::fgWidth = 0
staticprotected

Definition at line 102 of file TTF.h.

Referenced by TGX11TTF::Align(), GetWidth(), and LayoutGlyphs().


The documentation for this class was generated from the following files: