void ini_read(buffer_reader& reader, TableT& table) { typename TableT::mapped_type* object = nullptr; remove_bom(reader); each_line(reader, [&](boost::string_ref& line) { size_t pos = line.find("//"); if (pos != boost::string_ref::npos) { line.remove_prefix(pos); } trim_left(line, ctype::is_space()); if ((line.size() >= 2) && (line[0] == '[')) { auto ItBeg = find_begin(line, char_equal(']')); if (ItBeg != line.end()) { object = &table[trim_copy<boost::string_ref>(line.begin()+1, ItBeg).to_string()]; } } else { if (object) { auto ItBeg = find_begin(line, char_equal('=')); if (ItBeg != line.end()) { boost::string_ref key = trim_copy<boost::string_ref>(line.begin(), ItBeg); boost::string_ref val = trim_copy<boost::string_ref>(ItBeg+1, line.end()); if (!val.empty() && !key.empty()) { (*object)[key.to_string()] = val.to_string(); } } } } }); }
inline ResultT& SplitObjectId(ResultT& Result, SequenceT& Input) { typedef typename SequenceT::value_type CharT; split(Result, Input, char_equal(static_cast<CharT>(','))); typedef typename ResultT::iterator ForwardIteratorT; ForwardIteratorT InBegin = Result.begin(); ForwardIteratorT InEnd = Result.end(); for (ForwardIteratorT It = InBegin; It != InEnd; ++It) { trim(*It, ctype::is_space()); } std::remove_if(Result.begin(), Result.end(), [](typename ResultT::reference& It){ return It.size() != 4;}); return Result; }
void AttributeMeta<Option>::Set(SlkSingle& obj) const { if (valid_) { if (meta_->index == uint32_t(-1)) { if (name_ == "auto" && meta_->slk == "UnitAbilities" && value_ == "") { obj[name_] = SlkValue("_", meta_->type == VariableData::OBJTYPE_STRING); } else { obj[name_] = SlkValue(value_, meta_->type == VariableData::OBJTYPE_STRING); } return ; } auto it = obj.find(name_); if (it == obj.end()) { obj[name_] = SlkValue(value_, meta_->type == VariableData::OBJTYPE_STRING); return ; } SlkValue& val = it->second; std::vector<std::string> result; split(result, val.to_string(), char_equal(',')); if (meta_->index >= result.size()) { return ; } result[meta_->index] = value_; val.set(concat(result, ',')); } }
struct Character char_A() { // bitmap: char_A // using: default_font_palette static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_a() { static int32_t pixels[6*6] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 6, .pixels = pixels }; return r; } struct Character char_B() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_b() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_C() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_c() { static int32_t pixels[5*6] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 6, .pixels = pixels }; return r; } struct Character char_D() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_d() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_E() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_e() { static int32_t pixels[5*6] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, }; struct Character r = { .w = 5, .h = 6, .pixels = pixels }; return r; } struct Character char_F() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_f() { static int32_t pixels[4*7] = { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 4, .h = 7, .pixels = pixels }; return r; } struct Character char_G() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_g() { static int32_t pixels[5*6] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0 }; struct Character r = { .w = 5, .h = 6, .pixels = pixels }; return r; } struct Character char_H() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_h() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_I() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_i() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_J() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_j() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_K() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_k() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_L() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_l() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_M() { static int32_t pixels[7*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 7, .h = 7, .pixels = pixels }; return r; } struct Character char_m() { static int32_t pixels[7*6] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 7, .h = 6, .pixels = pixels }; return r; } struct Character char_N() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_n() { static int32_t pixels[5*6] = { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 6, .pixels = pixels }; return r; } struct Character char_O() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_o() { static int32_t pixels[6*6] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 6, .pixels = pixels }; return r; } struct Character char_P() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_p() { static int32_t pixels[5*6] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0 }; struct Character r = { .w = 5, .h = 6, .pixels = pixels }; return r; } struct Character char_Q() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_q() { static int32_t pixels[5*6] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0 }; struct Character r = { .w = 5, .h = 6, .pixels = pixels }; return r; } struct Character char_R() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_r() { static int32_t pixels[5*6] = { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 6, .pixels = pixels }; return r; } struct Character char_S() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_s() { static int32_t pixels[5*6] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 6, .pixels = pixels }; return r; } struct Character char_T() { static int32_t pixels[7*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; struct Character r = { .w = 7, .h = 7, .pixels = pixels }; return r; } struct Character char_t() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_U() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_u() { static int32_t pixels[6*6] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 6, .pixels = pixels }; return r; } struct Character char_V() { static int32_t pixels[7*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 7, .h = 7, .pixels = pixels }; return r; } struct Character char_v() { static int32_t pixels[7*6] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 7, .h = 6, .pixels = pixels }; return r; } struct Character char_W() { static int32_t pixels[7*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 7, .h = 7, .pixels = pixels }; return r; } struct Character char_w() { static int32_t pixels[7*6] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 7, .h = 6, .pixels = pixels }; return r; } struct Character char_X() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_x() { static int32_t pixels[7*6] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 7, .h = 6, .pixels = pixels }; return r; } struct Character char_Y() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_y() { static int32_t pixels[6*6] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 }; struct Character r = { .w = 6, .h = 6, .pixels = pixels }; return r; } struct Character char_Z() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_z() { static int32_t pixels[5*6] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 6, .pixels = pixels }; return r; } struct Character char_0() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_1() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_2() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_3() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_4() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_5() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_6() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_7() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_8() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_9() { static int32_t pixels[6*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 6, .h = 7, .pixels = pixels }; return r; } struct Character char_period() { static int32_t pixels[4*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 4, .h = 7, .pixels = pixels }; return r; } struct Character char_comma() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_colon() { static int32_t pixels[4*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 4, .h = 7, .pixels = pixels }; return r; } struct Character char_semicolon() { static int32_t pixels[4*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 }; struct Character r = { .w = 4, .h = 7, .pixels = pixels }; return r; } struct Character char_plus() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_minus() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_equal() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_asterisk() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_slash() { static int32_t pixels[5*7] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_open_paren() { static int32_t pixels[5*7] = { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_close_paren() { static int32_t pixels[5*7] = { 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_open_bracket() { static int32_t pixels[5*7] = { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_close_bracket() { static int32_t pixels[5*7] = { 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_open_brace() { static int32_t pixels[5*7] = { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } struct Character char_close_brace() { static int32_t pixels[5*7] = { 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 }; struct Character r = { .w = 5, .h = 7, .pixels = pixels }; return r; } void default_font_create(struct Character symbols[256]) { symbols['A'] = char_A(); symbols['B'] = char_B(); symbols['C'] = char_C(); symbols['D'] = char_D(); symbols['E'] = char_E(); symbols['F'] = char_F(); symbols['G'] = char_G(); symbols['H'] = char_H(); symbols['I'] = char_I(); symbols['J'] = char_J(); symbols['K'] = char_K(); symbols['L'] = char_L(); symbols['M'] = char_M(); symbols['N'] = char_N(); symbols['O'] = char_O(); symbols['P'] = char_P(); symbols['Q'] = char_Q(); symbols['R'] = char_R(); symbols['S'] = char_S(); symbols['T'] = char_T(); symbols['U'] = char_U(); symbols['V'] = char_V(); symbols['W'] = char_W(); symbols['X'] = char_X(); symbols['Y'] = char_Y(); symbols['Z'] = char_Z(); symbols['a'] = char_a(); symbols['b'] = char_b(); symbols['c'] = char_c(); symbols['d'] = char_d(); symbols['e'] = char_e(); symbols['f'] = char_f(); symbols['g'] = char_g(); symbols['h'] = char_h(); symbols['i'] = char_i(); symbols['j'] = char_j(); symbols['k'] = char_k(); symbols['l'] = char_l(); symbols['m'] = char_m(); symbols['n'] = char_n(); symbols['o'] = char_o(); symbols['p'] = char_p(); symbols['q'] = char_q(); symbols['r'] = char_r(); symbols['s'] = char_s(); symbols['t'] = char_t(); symbols['u'] = char_u(); symbols['v'] = char_v(); symbols['w'] = char_w(); symbols['x'] = char_x(); symbols['y'] = char_y(); symbols['z'] = char_z(); symbols['0'] = char_0(); symbols['1'] = char_1(); symbols['2'] = char_2(); symbols['3'] = char_3(); symbols['4'] = char_4(); symbols['5'] = char_5(); symbols['6'] = char_6(); symbols['7'] = char_7(); symbols['8'] = char_8(); symbols['9'] = char_9(); symbols['.'] = char_period(); symbols[','] = char_comma(); symbols[':'] = char_colon(); symbols[';'] = char_semicolon(); symbols['+'] = char_plus(); symbols['-'] = char_minus(); symbols['*'] = char_asterisk(); symbols['/'] = char_slash(); symbols['='] = char_equal(); symbols['('] = char_open_paren(); symbols[')'] = char_close_paren(); symbols['['] = char_open_bracket(); symbols[']'] = char_close_bracket(); symbols['{'] = char_open_brace(); symbols['}'] = char_close_brace(); }