/* * Font lookup and rendering functions * * Copyright (C) 2019 Patrick McDermott * * This file is part of fbcon2png. * * fbcon2png is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * fbcon2png is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with fbcon2png. If not, see . */ #include "font.h" #include #include #include struct font { const struct font_desc desc; }; static const struct font_desc *fonts[] = { &font_mplus_1mn_medium_10x14, &font_mplus_1mn_regular_12x17, &font_mplus_1mn_regular_14x19, &font_mplus_1mn_regular_16x22, }; struct font * font_find(const char *name) { size_t i; if (!name) { return (struct font *) fonts[0]; } for (i = 0; i < *(&fonts + 1) - fonts; ++i) { if (strcmp(fonts[i]->name, name) == 0) { return (struct font *) fonts[i]; } } return (struct font *) fonts[0]; } int font_get_width(struct font *font) { return font->desc.width; } int font_get_height(struct font *font) { return font->desc.height; }