That Terminal
A terminal emulator designed for video making purposes.
read_font.hh
Go to the documentation of this file.
1 #ifndef bqtReadFontHH
2 #define bqtReadFontHH
3 
4 #include <filesystem>
5 #include <vector>
6 #include <map>
7 #include <unordered_map>
15 struct GlyphList
16 {
17  unsigned height;
18  std::vector<unsigned> widths;
19 
21  std::unordered_map<char32_t, std::size_t/*start offset*/> glyphs;
22 
23  std::vector<unsigned char> bitmap;
24 
25  bool unicode;
26 
28  GlyphList();
29 };
30 
32 std::multimap<std::size_t, char32_t> Read_PSFgzEncoding(std::string_view filename);
33 
52 std::vector<char32_t> BDFtranslateToUnicode(int index, std::string_view reg, std::string_view enc);
53 
55 GlyphList Read_PSFgz(std::string_view filename, unsigned width, unsigned height, std::string_view guess_encoding);
56 
58 GlyphList Read_BDF(std::string_view filename, unsigned width, unsigned height, std::string_view guess_encoding);
59 
61 GlyphList Read_Inc(std::string_view filename, unsigned width, unsigned height, std::string_view guess_encoding);
62 
64 GlyphList Read_ASM(std::string_view filename, unsigned width, unsigned height, std::string_view guess_encoding);
65 
76  std::filesystem::path filename,
77  unsigned width, unsigned height,
78  bool find = false,
79  std::string_view guess_encoding = "");
80 
85 std::string ReadGZ(std::string_view filename);
86 
87 #endif
GlyphList Read_Font(std::filesystem::path filename, unsigned width, unsigned height, bool find=false, std::string_view guess_encoding="")
Definition: read_font.cc:643
GlyphList Read_ASM(std::string_view filename, unsigned width, unsigned height, std::string_view guess_encoding)
Definition: read_font.cc:603
std::multimap< std::size_t, char32_t > Read_PSFgzEncoding(std::string_view filename)
Definition: read_font.cc:356
GlyphList Read_PSFgz(std::string_view filename, unsigned width, unsigned height, std::string_view guess_encoding)
Definition: read_font.cc:363
GlyphList Read_BDF(std::string_view filename, unsigned width, unsigned height, std::string_view guess_encoding)
Definition: read_font.cc:421
std::vector< char32_t > BDFtranslateToUnicode(int index, std::string_view reg, std::string_view enc)
Definition: read_font.cc:72
GlyphList Read_Inc(std::string_view filename, unsigned width, unsigned height, std::string_view guess_encoding)
Definition: read_font.cc:571
std::string ReadGZ(std::string_view filename)
Definition: read_font.cc:154
Definition: read_font.hh:16
GlyphList()
Definition: read_font.cc:639
std::vector< unsigned > widths
Widths of each glyph.
Definition: read_font.hh:18
std::unordered_map< char32_t, std::size_t > glyphs
Definition: read_font.hh:21
std::vector< unsigned char > bitmap
Bitmap data.
Definition: read_font.hh:23
bool unicode
False if the font encoding is not known; otherwise codepoints are unicode.
Definition: read_font.hh:25
unsigned height
Height of all glyphs.
Definition: read_font.hh:17