Fork of SharpLCD by
font.c@4:15a8a86fddf8, 2014-09-01 (annotated)
- 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?
User | Revision | Line number | New 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 | } |