Logo ROOT  
Reference Guide
TTF Class Reference

Interface to the freetype 2 library.

Definition at line 53 of file TTF.h.

Classes

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

Public Member Functions

 TTF ()
 
virtual ~TTF ()
 Cleanup TTF environment. More...
 

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 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 void GetTextAdvance (UInt_t &a, char *text)
 Get advance (a) when text is horizontal. 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 Int_t GetWidth ()
 
static void Init ()
 Initialise the TrueType fonts interface. More...
 
static Bool_t IsInitialized ()
 
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 SetHinting (Bool_t state)
 Set hinting flag. More...
 
static void SetKerning (Bool_t state)
 Set kerning flag. More...
 
static void SetRotationMatrix (Float_t angle)
 Set the rotation matrix used to rotate the font outlines. More...
 
static void SetSmoothing (Bool_t state)
 Set smoothing (anti-aliasing) flag. More...
 
static Int_t SetTextFont (const char *fontname, Int_t italic=0)
 Set text font to specified name. More...
 
static void SetTextFont (Font_t fontnumber)
 Set specified font. More...
 
static void SetTextSize (Float_t textsize)
 Set current text size. More...
 
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
 string ascent, used to compute Y alignment More...
 
static FT_BBox fgCBox
 string control box More...
 
static FT_CharMap fgCharMap [kTTMaxFonts]
 font character map More...
 
static Int_t fgCurFontIdx = -1
 current font index More...
 
static FT_Face fgFace [kTTMaxFonts]
 font face More...
 
static Int_t fgFontCount = 0
 number of fonts loaded More...
 
static char * fgFontName [kTTMaxFonts]
 font name More...
 
static TTF::TTGlyph fgGlyphs [kMaxGlyphs]
 glyphs More...
 
static Bool_t fgHinting = kFALSE
 use hinting (true by default) More...
 
static Bool_t fgInit = kFALSE
 true if the Init has been called More...
 
static Bool_t fgKerning = kTRUE
 use kerning (true by default) More...
 
static FT_Library fgLibrary
 FreeType font library. More...
 
static Int_t fgNumGlyphs = 0
 number of glyphs in the string More...
 
static FT_Matrix * fgRotMatrix = nullptr
 rotation matrix More...
 
static Bool_t fgSmoothing = kTRUE
 use anti-aliasing (true when >8 planes, false otherwise) More...
 
static Int_t fgSymbItaFontIdx = -1
 Symbol italic font index. More...
 
static Int_t fgTBlankW = 0
 trailing blanks width More...
 
static Int_t fgWidth = 0
 string width, used to compute X alignment More...
 

Friends

class TGWin32
 
class TGX11TTF
 
class TMathTextRenderer
 

#include <TTF.h>

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
kTTMaxFonts 
kMaxGlyphs 

Definition at line 73 of file TTF.h.

Constructor & Destructor Documentation

◆ TTF()

TTF::TTF ( )
inline

Definition at line 102 of file TTF.h.

◆ ~TTF()

TTF::~TTF ( )
virtual

Cleanup TTF environment.

Definition at line 57 of file TTF.cxx.

Member Function Documentation

◆ CharToUnicode()

Short_t TTF::CharToUnicode ( UInt_t  code)
static

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

Definition at line 99 of file TTF.cxx.

◆ Cleanup()

void TTF::Cleanup ( )
static

Cleanup. Is called by the gCleanupTTF destructor.

Definition at line 82 of file TTF.cxx.

◆ GetAscent()

Int_t TTF::GetAscent ( )
static

Definition at line 622 of file TTF.cxx.

◆ GetBox()

const FT_BBox & TTF::GetBox ( )
static

Definition at line 643 of file TTF.cxx.

◆ GetGlyphs()

TTF::TTGlyph * TTF::GetGlyphs ( )
static

Definition at line 650 of file TTF.cxx.

◆ GetHinting()

Bool_t TTF::GetHinting ( )
static

Definition at line 587 of file TTF.cxx.

◆ GetKerning()

Bool_t TTF::GetKerning ( )
static

Definition at line 594 of file TTF.cxx.

◆ GetNumGlyphs()

Int_t TTF::GetNumGlyphs ( )
static

Definition at line 629 of file TTF.cxx.

◆ GetRotMatrix()

FT_Matrix * TTF::GetRotMatrix ( )
static

Definition at line 636 of file TTF.cxx.

◆ GetSmoothing()

Bool_t TTF::GetSmoothing ( )
static

Definition at line 601 of file TTF.cxx.

◆ GetTextAdvance()

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

Get advance (a) when text is horizontal.

Definition at line 148 of file TTF.cxx.

◆ GetTextExtent() [1/2]

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 132 of file TTF.cxx.

◆ GetTextExtent() [2/2]

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 161 of file TTF.cxx.

◆ GetWidth()

Int_t TTF::GetWidth ( )
static

Definition at line 615 of file TTF.cxx.

◆ Init()

void TTF::Init ( )
static

Initialise the TrueType fonts interface.

Definition at line 65 of file TTF.cxx.

◆ IsInitialized()

Bool_t TTF::IsInitialized ( )
static

Definition at line 608 of file TTF.cxx.

◆ LayoutGlyphs()

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 181 of file TTF.cxx.

◆ PrepareString() [1/2]

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

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

Definition at line 250 of file TTF.cxx.

◆ PrepareString() [2/2]

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

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

Definition at line 288 of file TTF.cxx.

◆ SetHinting()

void TTF::SetHinting ( Bool_t  state)
static

Set hinting flag.

Definition at line 326 of file TTF.cxx.

◆ SetKerning()

void TTF::SetKerning ( Bool_t  state)
static

Set kerning flag.

Definition at line 334 of file TTF.cxx.

◆ SetRotationMatrix()

void TTF::SetRotationMatrix ( Float_t  angle)
static

Set the rotation matrix used to rotate the font outlines.

Definition at line 342 of file TTF.cxx.

◆ SetSmoothing()

void TTF::SetSmoothing ( Bool_t  state)
static

Set smoothing (anti-aliasing) flag.

Definition at line 365 of file TTF.cxx.

◆ SetTextFont() [1/2]

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 378 of file TTF.cxx.

◆ SetTextFont() [2/2]

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 timesbi.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 491 of file TTF.cxx.

◆ SetTextSize()

void TTF::SetTextSize ( Float_t  textsize)
static

Set current text size.

Definition at line 562 of file TTF.cxx.

◆ Version()

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

Definition at line 580 of file TTF.cxx.

Friends And Related Function Documentation

◆ TGWin32

friend class TGWin32
friend

Definition at line 56 of file TTF.h.

◆ TGX11TTF

friend class TGX11TTF
friend

Definition at line 55 of file TTF.h.

◆ TMathTextRenderer

friend class TMathTextRenderer
friend

Definition at line 57 of file TTF.h.

Member Data Documentation

◆ fgAscent

Int_t TTF::fgAscent = 0
staticprotected

string ascent, used to compute Y alignment

Definition at line 75 of file TTF.h.

◆ fgCBox

FT_BBox TTF::fgCBox
staticprotected

string control box

Definition at line 76 of file TTF.h.

◆ fgCharMap

FT_CharMap TTF::fgCharMap
staticprotected

font character map

Definition at line 77 of file TTF.h.

◆ fgCurFontIdx

Int_t TTF::fgCurFontIdx = -1
staticprotected

current font index

Definition at line 78 of file TTF.h.

◆ fgFace

FT_Face TTF::fgFace
staticprotected

font face

Definition at line 82 of file TTF.h.

◆ fgFontCount

Int_t TTF::fgFontCount = 0
staticprotected

number of fonts loaded

Definition at line 80 of file TTF.h.

◆ fgFontName

char * TTF::fgFontName
staticprotected

font name

Definition at line 81 of file TTF.h.

◆ fgGlyphs

TTF::TTGlyph TTF::fgGlyphs
staticprotected

glyphs

Definition at line 83 of file TTF.h.

◆ fgHinting

Bool_t TTF::fgHinting = kFALSE
staticprotected

use hinting (true by default)

Definition at line 84 of file TTF.h.

◆ fgInit

Bool_t TTF::fgInit = kFALSE
staticprotected

true if the Init has been called

Definition at line 85 of file TTF.h.

◆ fgKerning

Bool_t TTF::fgKerning = kTRUE
staticprotected

use kerning (true by default)

Definition at line 86 of file TTF.h.

◆ fgLibrary

FT_Library TTF::fgLibrary
staticprotected

FreeType font library.

Definition at line 87 of file TTF.h.

◆ fgNumGlyphs

Int_t TTF::fgNumGlyphs = 0
staticprotected

number of glyphs in the string

Definition at line 88 of file TTF.h.

◆ fgRotMatrix

FT_Matrix * TTF::fgRotMatrix = nullptr
staticprotected

rotation matrix

Definition at line 89 of file TTF.h.

◆ fgSmoothing

Bool_t TTF::fgSmoothing = kTRUE
staticprotected

use anti-aliasing (true when >8 planes, false otherwise)

Definition at line 90 of file TTF.h.

◆ fgSymbItaFontIdx

Int_t TTF::fgSymbItaFontIdx = -1
staticprotected

Symbol italic font index.

Definition at line 79 of file TTF.h.

◆ fgTBlankW

Int_t TTF::fgTBlankW = 0
staticprotected

trailing blanks width

Definition at line 91 of file TTF.h.

◆ fgWidth

Int_t TTF::fgWidth = 0
staticprotected

string width, used to compute X alignment

Definition at line 92 of file TTF.h.

Libraries for TTF:
[legend]

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