SOL9 2.0 Class: CourierFont

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * CourierFont.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
// 2008/08/13
#pragma once

#include <sol\Font.h>


namespace SOL {

/**
 * CourierFont class
 */
class CourierFont :public Font {

public:
    /**
     * Constructor
     */
    CourierFont()
    :Font() {
    }

public:
    ~CourierFont() {
    }

public:
    /**
     * Create a fixed-pitch (Name of "Courier New") font of pointSize
     *
     * @param pointSize    Font point size(For examaple: specifir 8,10,12,...)
     */
    Boolean   create(int pointSize) {
    
        HDC hdc = GetDC(NULL);
        int height = -MulDiv(pointSize,GetDeviceCaps(hdc,LOGPIXELSY),72);
        ReleaseDC(NULL, hdc);

        LOGFONT lf;
        memset(&lf, 0, sizeof(lf));
        lf.lfHeight = height;//13.8;//height;
        lf.lfWidth = 0;
        lf.lfEscapement = 0;
        lf.lfOrientation = 0;
        lf.lfWeight     = FW_REGULAR;
        lf.lfItalic = 0;
        lf.lfUnderline = 0;    //NO underline, if want underline, set 1(TRUE);
        lf.lfStrikeOut         = FALSE; 
        lf.lfCharSet         = DEFAULT_CHARSET;
        lf.lfOutPrecision     = OUT_DEFAULT_PRECIS;
        lf.lfClipPrecision     = CLIP_DEFAULT_PRECIS;
        lf.lfQuality         = DEFAULT_QUALITY;
        lf.lfPitchAndFamily = FIXED_PITCH | FF_MODERN;    

        strcpy_s(lf.lfFaceName, SizeOf(lf.lfFaceName), _T("Courier New"));

        return Font::create(&lf);

    }

};

}

Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.