Tc Unicode Helper
Loading...
Searching...
No Matches
UnicodeFontDefs.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2018 https://www.thecoderscorner.com (Dave Cherry).
3 * This product is licensed under an Apache license, see the LICENSE file in the top-level directory.
4 */
5
6#ifndef TCMENU_UNICODE_FONT_DEFN
7#define TCMENU_UNICODE_FONT_DEFN
8
9#include <inttypes.h>
10
11#ifdef HUGE_FONT_BITMAPS
12typedef uint32_t bitmap_size_t;
13#else
14typedef uint16_t bitmap_size_t;
15#endif //HUGE_FONT_BITMAPS
16
17#ifndef PROGMEM
18#define PROGMEM
19#endif
20
21#ifndef _GFXFONT_H_
22#define _GFXFONT_H_
23
28
29/*
30 * The next section is copied from Adafruit_GFX, it provides support for using Adafruit GFX fonts with this library.
31 *
32 * Font structures for newer Adafruit_GFX (1.1 and later).
33 * Example fonts are included in 'Fonts' directory.
34 * To use a font in your Arduino sketch, #include the corresponding .h
35 * file and pass address of GFXfont struct to setFont().
36 */
37
44typedef struct {
45 uint16_t bitmapOffset;
46 uint8_t width;
47 uint8_t height;
48 uint8_t xAdvance;
49 int8_t xOffset;
50 int8_t yOffset;
51} GFXglyph;
52
58typedef struct {
59 uint8_t *bitmap;
61 uint16_t first;
62 uint16_t last;
63 uint8_t yAdvance;
64} GFXfont;
65
66#endif // GFXFont include
67
73enum BitmapFormat: uint8_t { TCFONT_ONE_BIT_PER_PIXEL };
74
86typedef struct {
88 uint16_t relativeChar;
90 bitmap_size_t relativeBmpOffset;
92 uint8_t width;
94 uint8_t height;
96 uint8_t xAdvance;
98 int8_t xOffset;
100 int8_t yOffset;
102
108typedef struct {
110 uint32_t startingNum;
112 const uint8_t *bitmap;
118
124typedef struct {
130 uint8_t yAdvance;
131 BitmapFormat bitmapFormat;
133
134#endif // TCMENU_UNICODE_FONT_DEFN
uint8_t width
Bitmap dimensions in pixels.
Definition UnicodeFontDefs.h:46
const UnicodeFontGlyph * glyphs
Definition UnicodeFontDefs.h:114
uint8_t height
Bitmap dimensions in pixels.
Definition UnicodeFontDefs.h:47
uint16_t bitmapOffset
Pointer into GFXfont->bitmap.
Definition UnicodeFontDefs.h:45
bitmap_size_t relativeBmpOffset
Definition UnicodeFontDefs.h:90
const UnicodeFontBlock * unicodeBlocks
Definition UnicodeFontDefs.h:126
uint8_t height
Definition UnicodeFontDefs.h:94
const uint8_t * bitmap
Definition UnicodeFontDefs.h:112
uint32_t startingNum
Definition UnicodeFontDefs.h:110
uint16_t first
ASCII extents (first char).
Definition UnicodeFontDefs.h:61
uint8_t * bitmap
Glyph bitmaps, concatenated.
Definition UnicodeFontDefs.h:59
uint8_t width
Definition UnicodeFontDefs.h:92
int8_t yOffset
Y dist from cursor pos to UL corner.
Definition UnicodeFontDefs.h:50
int8_t xOffset
Definition UnicodeFontDefs.h:98
uint8_t xAdvance
Distance to advance cursor (x axis).
Definition UnicodeFontDefs.h:48
uint16_t last
ASCII extents (last char).
Definition UnicodeFontDefs.h:62
uint16_t relativeChar
Definition UnicodeFontDefs.h:88
int8_t xOffset
X dist from cursor pos to UL corner.
Definition UnicodeFontDefs.h:49
BitmapFormat
Definition UnicodeFontDefs.h:73
uint8_t yAdvance
Newline distance (y axis).
Definition UnicodeFontDefs.h:63
uint16_t numberOfPoints
Definition UnicodeFontDefs.h:116
int8_t yOffset
Definition UnicodeFontDefs.h:100
uint16_t numberOfBlocks
Definition UnicodeFontDefs.h:128
uint8_t xAdvance
Definition UnicodeFontDefs.h:96
GFXglyph * glyph
Glyph array.
Definition UnicodeFontDefs.h:60
uint8_t yAdvance
Definition UnicodeFontDefs.h:130
Definition UnicodeFontDefs.h:58
Definition UnicodeFontDefs.h:44
Definition UnicodeFontDefs.h:124
Definition UnicodeFontDefs.h:108
Definition UnicodeFontDefs.h:86