Hola,
no se bajo que programas pero en VC++ tienes dos posibilidades. Una es crearte un objeto derivado de CFont y luego darle los parametros que quieres. La otra es dentro del CRichEditCtrl usar las funciones miembros de la clase para el apartado del formateo.
Dentro de CFont tienes:
CFont::CreateFont
BOOL CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename );
CFont myFont;
myFont.CreateFont (10, 8);
// esto haria una fuente sencilla de ese tamanio pero sin mas compicaciones aceptando todos los parametros por defecto.
Dentro del CRichEditCtrl tienes:
CRichEditCtrl::SetDefaultCharFormat
BOOL SetDefaultCharFormat( CHARFORMAT& cf );
//Para una letra
CRichEditCtrl::SetSelectionCharFormat
BOOL SetSelectionCharFormat( CHARFORMAT& cf );
//Para la letra(s) seleccionadas
CRichEditCtrl::SetWordCharFormat
BOOL SetWordCharFormat( CHARFORMAT& cf );
//Para una palabra entera
CRichEditCtrl::SetParaFormat
BOOL SetParaFormat( PARAFORMAT& pf );
//Para un parrafo
Las estructuras que se pasan por parametro son:
//Letra / Palabra
typedef struct _charformat {
UINT cbSize;
_WPAD _wPad1;
DWORD dwMask;
DWORD dwEffects;
LONG yHeight;
LONG yOffset;
COLORREF crTextColor;
BYTE bCharSet;
BYTE bPitchAndFamily;
TCHAR szFaceName[LF_FACESIZE];
_WPAD _wPad2;
} CHARFORMAT;
//Parrafo
typedef struct _paraformat {
UINT cbSize;
_WPAD _wPad1;
DWORD dwMask;
WORD wNumbering;
WORD wReserved;
LONG dxStartIndent;
LONG dxRightIndent;
LONG dxOffset;
WORD wAlignment;
SHORT cTabCount;
LONG rgxTabs[MAX_TAB_STOPS];
} PARAFORMAT;
Espero que te sirva.