###############
Creating a Font
###############

A font is a shared resource in HOOPS Luminate. It must be created directly from the cluster's resource manager:

.. code:: cpp

    // Create the font using the resource manager and retrieve its font interface:
    RED::Object* font;
    RC_TEST( iresmgr->CreateFont( font, iresmgr->GetState() ) );
    RED::IFont* ifont = font->As< RED::IFont >();
    
Then, the font MUST be configured before it can be used for the rendering. If a font is not configured, then HOOPS Luminate rendering methods will return an error:

.. code:: cpp

    // Setup minimal font parameters for the display:
    RC_TEST( ifont->SetType( RED::FNT_SYSTEM, iresmgr->GetState() ) );
    RC_TEST( ifont->SetRenderMode( RED::FNT_TRIANGLE, iresmgr->GetState() ) );
    RC_TEST( ifont->SetTypeFaceName( "Arial", iresmgr->GetState() ) );
    RC_TEST( ifont->SetCharSet( RED::FNT_ANSI_CHARSET, iresmgr->GetState() ) );
    RC_TEST( ifont->SetSize( 0.0f, 80.0f, iresmgr->GetState() ) ); 