Fork of SharpLCD by Rohit Grover

Committer:
awatt196
Date:
Mon Sep 01 13:42:54 2014 +0000
Revision:
4:15a8a86fddf8
Parent:
0:62d7cfac67ca
Sharp LCD with smaller font (not finished)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 0:62d7cfac67ca 1 /* mbed Microcontroller Library
rgrover1 0:62d7cfac67ca 2 * Copyright (c) 2006-2013 ARM Limited
rgrover1 0:62d7cfac67ca 3 *
rgrover1 0:62d7cfac67ca 4 * Licensed under the Apache License, Version 2.0 (the "License");
rgrover1 0:62d7cfac67ca 5 * you may not use this file except in compliance with the License.
rgrover1 0:62d7cfac67ca 6 * You may obtain a copy of the License at
rgrover1 0:62d7cfac67ca 7 *
rgrover1 0:62d7cfac67ca 8 * http://www.apache.org/licenses/LICENSE-2.0
rgrover1 0:62d7cfac67ca 9 *
rgrover1 0:62d7cfac67ca 10 * Unless required by applicable law or agreed to in writing, software
rgrover1 0:62d7cfac67ca 11 * distributed under the License is distributed on an "AS IS" BASIS,
rgrover1 0:62d7cfac67ca 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rgrover1 0:62d7cfac67ca 13 * See the License for the specific language governing permissions and
rgrover1 0:62d7cfac67ca 14 * limitations under the License.
rgrover1 0:62d7cfac67ca 15 */
rgrover1 0:62d7cfac67ca 16
rgrover1 0:62d7cfac67ca 17 #include <string.h>
rgrover1 0:62d7cfac67ca 18 #include <stddef.h>
rgrover1 0:62d7cfac67ca 19
rgrover1 0:62d7cfac67ca 20 #include "font.h"
rgrover1 0:62d7cfac67ca 21
rgrover1 0:62d7cfac67ca 22 /* Externs private to the font subsystem. */
rgrover1 0:62d7cfac67ca 23 /* extern const glyph_t glyphs_DejaVu_Serif_10[]; */
rgrover1 0:62d7cfac67ca 24 /* extern const uint8_t bitmaps_DejaVu_Serif_10[]; */
awatt196 4:15a8a86fddf8 25 //extern const glyph_t glyphs_DejaVu_Serif_9[];
awatt196 4:15a8a86fddf8 26 //extern const uint8_t bitmaps_DejaVu_Serif_9[];
awatt196 4:15a8a86fddf8 27 //extern const glyph_t glyphs_DejaVu_Serif_8[];
awatt196 4:15a8a86fddf8 28 //extern const uint8_t bitmaps_DejaVu_Serif_8[];
awatt196 4:15a8a86fddf8 29 extern const uint8_t lucidaConsole_8ptBitmaps[];
awatt196 4:15a8a86fddf8 30 extern const glyph_t lucidaConsole_8ptDescriptors[];
rgrover1 0:62d7cfac67ca 31
rgrover1 0:62d7cfac67ca 32 /* Accumulation of all avaialble fonts */
rgrover1 0:62d7cfac67ca 33 const font_face_t fonts[] = {
rgrover1 0:62d7cfac67ca 34 /* { */
rgrover1 0:62d7cfac67ca 35 /* "DejaVu Serif", */
rgrover1 0:62d7cfac67ca 36 /* 10, /\* pointSize *\/ */
rgrover1 0:62d7cfac67ca 37 /* glyphs_DejaVu_Serif_10, */
rgrover1 0:62d7cfac67ca 38 /* bitmaps_DejaVu_Serif_10 */
rgrover1 0:62d7cfac67ca 39 /* }, */
rgrover1 0:62d7cfac67ca 40 {
awatt196 4:15a8a86fddf8 41 "Lucida 8pt",
awatt196 4:15a8a86fddf8 42 8, /* pointSize */
awatt196 4:15a8a86fddf8 43 lucidaConsole_8ptDescriptors,
awatt196 4:15a8a86fddf8 44 lucidaConsole_8ptBitmaps
rgrover1 0:62d7cfac67ca 45 },
awatt196 4:15a8a86fddf8 46 //{
awatt196 4:15a8a86fddf8 47 // "DejaVu Serif",
awatt196 4:15a8a86fddf8 48 // 9, /* pointSize */
awatt196 4:15a8a86fddf8 49 // glyphs_DejaVu_Serif_9,
awatt196 4:15a8a86fddf8 50 // bitmaps_DejaVu_Serif_9
awatt196 4:15a8a86fddf8 51 // },
awatt196 4:15a8a86fddf8 52 //{
awatt196 4:15a8a86fddf8 53 //"DejaVu Serif",
awatt196 4:15a8a86fddf8 54 //8, /* pointSize */
awatt196 4:15a8a86fddf8 55 //glyphs_DejaVu_Serif_8,
awatt196 4:15a8a86fddf8 56 //bitmaps_DejaVu_Serif_8
awatt196 4:15a8a86fddf8 57 //},
rgrover1 0:62d7cfac67ca 58
rgrover1 0:62d7cfac67ca 59 /* sentinel value */
rgrover1 0:62d7cfac67ca 60 {
rgrover1 0:62d7cfac67ca 61 NULL,
rgrover1 0:62d7cfac67ca 62 0,
rgrover1 0:62d7cfac67ca 63 NULL,
rgrover1 0:62d7cfac67ca 64 NULL
rgrover1 0:62d7cfac67ca 65 }
rgrover1 0:62d7cfac67ca 66 };
rgrover1 0:62d7cfac67ca 67
rgrover1 0:62d7cfac67ca 68
rgrover1 0:62d7cfac67ca 69 const font_face_t *
rgrover1 0:62d7cfac67ca 70 lookupFontFace(const char *familyName,
rgrover1 0:62d7cfac67ca 71 unsigned int pointSize)
rgrover1 0:62d7cfac67ca 72 {
rgrover1 0:62d7cfac67ca 73 unsigned fontIndex;
rgrover1 0:62d7cfac67ca 74
rgrover1 0:62d7cfac67ca 75 for (fontIndex = 0; fonts[fontIndex].familyName != NULL; fontIndex++) {
rgrover1 0:62d7cfac67ca 76 if ((strcmp(fonts[fontIndex].familyName, familyName) == 0) &&
rgrover1 0:62d7cfac67ca 77 (fonts[fontIndex].pointSize == pointSize)) {
rgrover1 0:62d7cfac67ca 78 /* found it! */
rgrover1 0:62d7cfac67ca 79 return (&fonts[fontIndex]);
rgrover1 0:62d7cfac67ca 80 }
rgrover1 0:62d7cfac67ca 81 }
rgrover1 0:62d7cfac67ca 82
rgrover1 0:62d7cfac67ca 83 return (NULL);
rgrover1 0:62d7cfac67ca 84 }