Fork of SharpLCD by Rohit Grover

dotfont.c

Committer:
pwright01
Date:
2015-04-28
Revision:
6:ed1a32ac4a1c
Child:
7:4737b3b2ed50

File content as of revision 6:ed1a32ac4a1c:

#include <string.h>
#include <stddef.h>

#include "dotfont.h"

extern const uint8_t lucidaConsole_8ptmaps[];
extern const FONT_CHAR_INFO lucidaConsole_8ptDescs[];
extern const uint8_t comicSansMS_10ptBitmaps[];
extern const FONT_CHAR_INFO comicSansMS_10ptDescriptors[];
extern const uint8_t sFSquareHead_10ptBitmaps[];
extern const FONT_CHAR_INFO sFSquareHead_10ptDescriptors[];
extern const uint8_t sFSquareHead_16ptBitmaps[];
extern const uint8_t sFSquareHead_16ptBlackBitmaps[];
extern const FONT_CHAR_INFO sFSquareHead_16ptDescriptors[];

/* Accumulation of all avaialble fonts */
const FONT_INFO dotfonts[] = {

    {
        "Lucida 8pt",
        8,   /* pointSize */
        lucidaConsole_8ptDescs,
        lucidaConsole_8ptmaps
    },
    {
        "Comic Sans 10pt",
        10,   /* pointSize */
        comicSansMS_10ptDescriptors,
        comicSansMS_10ptBitmaps
    },
    {
        "Square Head 10pt",
        10,   /* pointSize */
        sFSquareHead_10ptDescriptors,
        sFSquareHead_10ptBitmaps
    },
    {
        "Square Head 16pt",
        16,   /* pointSize */
        sFSquareHead_16ptDescriptors,
        sFSquareHead_16ptBitmaps
    },
    {
        "Square Head 16pt Black",
        16,   /* pointSize */
        sFSquareHead_16ptDescriptors,
        sFSquareHead_16ptBlackBitmaps
    },
    

        
    /* sentinel value */
    {
        NULL,
        0,
        NULL,
        NULL
    }
};


const FONT_INFO *
searchFontFace(const char  *familyName,
               unsigned int pointSize)
{
    unsigned fontIndex;

    for (fontIndex = 0; dotfonts[fontIndex].familyName != NULL; fontIndex++) {
        if ((strcmp(dotfonts[fontIndex].familyName, familyName) == 0) &&
            (dotfonts[fontIndex].pointSize == pointSize)) {
            /* found it! */
            return (&dotfonts[fontIndex]);
        }
    }

    return (NULL);
}