build-time semantic versioning support
ci/woodpecker/push/woodpecker Pipeline was successful
Details
ci/woodpecker/push/woodpecker Pipeline was successful
Details
commit
ec5e15e8e9
|
@ -1,18 +1,27 @@
|
|||
clone:
|
||||
git:
|
||||
image: woodpeckerci/plugin-git
|
||||
# https://woodpecker-ci.org/plugins/Git%20Clone
|
||||
settings:
|
||||
# tags are required for aarch64 release builds for semver
|
||||
tags: true
|
||||
lfs: false
|
||||
recursive: false
|
||||
pipeline:
|
||||
lint:
|
||||
image: git.qcode.ch/nakamochi/ci-zig0.10.1:v2
|
||||
image: git.qcode.ch/nakamochi/ci-zig0.10.1:v3
|
||||
commands:
|
||||
- ./tools/fmt-check.sh
|
||||
test:
|
||||
image: git.qcode.ch/nakamochi/ci-zig0.10.1:v2
|
||||
image: git.qcode.ch/nakamochi/ci-zig0.10.1:v3
|
||||
commands:
|
||||
- zig build test
|
||||
sdl2:
|
||||
image: git.qcode.ch/nakamochi/ci-zig0.10.1:v2
|
||||
image: git.qcode.ch/nakamochi/ci-zig0.10.1:v3
|
||||
commands:
|
||||
- zig build -Ddriver=sdl2
|
||||
aarch64:
|
||||
image: git.qcode.ch/nakamochi/ci-zig0.10.1:v2
|
||||
image: git.qcode.ch/nakamochi/ci-zig0.10.1:v3
|
||||
commands:
|
||||
- zig build -Ddriver=fbev -Dtarget=aarch64-linux-musl -Drelease-safe -Dstrip
|
||||
- sha256sum zig-out/bin/nd zig-out/bin/ngui
|
||||
|
|
76
build.zig
76
build.zig
|
@ -10,9 +10,11 @@ pub fn build(b: *std.build.Builder) void {
|
|||
const disp_horiz = b.option(u32, "horiz", "display horizontal pixels count; default: 800") orelse 800;
|
||||
const disp_vert = b.option(u32, "vert", "display vertical pixels count; default: 480") orelse 480;
|
||||
const lvgl_loglevel = b.option(LVGLLogLevel, "lvgl_loglevel", "LVGL lib logging level") orelse LVGLLogLevel.default(mode);
|
||||
const inver = b.option([]const u8, "version", "semantic version of the build; must match git tag when available");
|
||||
|
||||
const buildopts = b.addOptions();
|
||||
buildopts.addOption(DriverTarget, "driver", drv);
|
||||
const semver_step = VersionStep.create(b, buildopts, inver);
|
||||
|
||||
const common_cflags = .{
|
||||
"-Wall",
|
||||
|
@ -28,6 +30,7 @@ pub fn build(b: *std.build.Builder) void {
|
|||
ngui.setBuildMode(mode);
|
||||
ngui.pie = true;
|
||||
ngui.strip = strip;
|
||||
ngui.step.dependOn(semver_step);
|
||||
|
||||
ngui.addPackage(buildopts.getPackage("build_options"));
|
||||
ngui.addIncludePath("lib");
|
||||
|
@ -88,6 +91,7 @@ pub fn build(b: *std.build.Builder) void {
|
|||
nd.setBuildMode(mode);
|
||||
nd.pie = true;
|
||||
nd.strip = strip;
|
||||
nd.step.dependOn(semver_step);
|
||||
|
||||
nd.addPackage(buildopts.getPackage("build_options"));
|
||||
nifbuild.addPkg(b, nd, "lib/nif");
|
||||
|
@ -316,3 +320,75 @@ const LVGLLogLevel = enum {
|
|||
};
|
||||
}
|
||||
};
|
||||
|
||||
/// VersionStep injects a release build semantic version into buildopts as "semver".
|
||||
/// the make step fails if the inver input version and the one found in a git tag mismatch.
|
||||
///
|
||||
/// while git-tagged versions are expected to be in v<semver>format, input version
|
||||
/// to match against is any format supported by std.SemanticVersion.parse.
|
||||
/// input version is optional; if unset, make fn succeeds given a correctly formatted
|
||||
/// git tag is found.
|
||||
const VersionStep = struct {
|
||||
inver: ?[]const u8, // input version in std.SemanticVersion.parse format
|
||||
buildopts: *std.build.OptionsStep, // where to store the build version
|
||||
|
||||
b: *std.build.Builder,
|
||||
step: std.build.Step,
|
||||
|
||||
fn create(b: *std.build.Builder, o: *std.build.OptionsStep, inver: ?[]const u8) *std.build.Step {
|
||||
const vstep = b.allocator.create(VersionStep) catch unreachable;
|
||||
vstep.* = VersionStep{
|
||||
.inver = inver,
|
||||
.buildopts = o,
|
||||
.b = b,
|
||||
.step = std.build.Step.init(.custom, "VersionStep: ndg semver", b.allocator, make),
|
||||
};
|
||||
return &vstep.step;
|
||||
}
|
||||
|
||||
fn make(step: *std.build.Step) anyerror!void {
|
||||
const self = @fieldParentPtr(VersionStep, "step", step);
|
||||
const semver = try self.eval();
|
||||
std.log.info("build version: {any}", .{semver});
|
||||
self.buildopts.addOption(std.SemanticVersion, "semver", semver);
|
||||
}
|
||||
|
||||
fn eval(self: *VersionStep) !std.SemanticVersion {
|
||||
const repover = try self.gitver();
|
||||
if (self.inver) |v| {
|
||||
const insem = std.SemanticVersion.parse(v) catch |err| {
|
||||
std.log.err("invalid input semver '{s}': {any}", .{ v, err });
|
||||
return err;
|
||||
};
|
||||
if (repover != null and insem.order(repover.?) != .eq) {
|
||||
std.log.err("input and repo semver mismatch: {any} vs {any}", .{ insem, repover });
|
||||
return error.VersionMismatch;
|
||||
}
|
||||
return insem;
|
||||
}
|
||||
|
||||
if (repover == null) {
|
||||
std.log.err("must supply build semver from command line.", .{});
|
||||
return error.MissingVersion;
|
||||
}
|
||||
return repover.?;
|
||||
}
|
||||
|
||||
fn gitver(self: *VersionStep) !?std.SemanticVersion {
|
||||
if (!std.process.can_spawn) {
|
||||
return null;
|
||||
}
|
||||
const git = self.b.findProgram(&[_][]const u8{"git"}, &[_][]const u8{}) catch return null;
|
||||
|
||||
const prefix = "v"; // git tag prefix
|
||||
const matchTag = self.b.fmt("{s}*.*.*", .{prefix});
|
||||
const cmd = [_][]const u8{ git, "-C", self.b.pathFromRoot("."), "describe", "--match", matchTag, "--tags", "--abbrev=8" };
|
||||
var code: u8 = undefined;
|
||||
const git_describe = self.b.execAllowFail(&cmd, &code, .Ignore) catch return null;
|
||||
const repotag = std.mem.trim(u8, git_describe, " \n\r")[prefix.len..];
|
||||
return std.SemanticVersion.parse(repotag) catch |err| ret: {
|
||||
std.log.err("unparsable git tag semver '{s}': {any}", .{ repotag, err });
|
||||
break :ret err;
|
||||
};
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
const buildopts = @import("build_options");
|
||||
const std = @import("std");
|
||||
const os = std.os;
|
||||
const sys = os.system;
|
||||
|
@ -86,6 +87,9 @@ fn parseArgs(gpa: std.mem.Allocator) !NdArgs {
|
|||
if (std.mem.eql(u8, a, "-h") or std.mem.eql(u8, a, "-help") or std.mem.eql(u8, a, "--help")) {
|
||||
usage(prog) catch {};
|
||||
std.process.exit(1);
|
||||
} else if (std.mem.eql(u8, a, "-v")) {
|
||||
try stderr.print("{any}\n", .{buildopts.semver});
|
||||
std.process.exit(0);
|
||||
} else if (std.mem.eql(u8, a, "-gui")) {
|
||||
lastarg = .gui;
|
||||
} else if (std.mem.eql(u8, a, "-gui-user")) {
|
||||
|
@ -126,6 +130,7 @@ pub fn main() !void {
|
|||
// parse program args first thing and fail fast if invalid
|
||||
const args = try parseArgs(gpa);
|
||||
defer args.deinit(gpa);
|
||||
logger.info("ndg version {any}", .{buildopts.semver});
|
||||
|
||||
// reset the screen backlight to normal power regardless
|
||||
// of its previous state.
|
||||
|
|
51
src/ngui.zig
51
src/ngui.zig
|
@ -1,3 +1,4 @@
|
|||
const buildopts = @import("build_options");
|
||||
const std = @import("std");
|
||||
const time = std.time;
|
||||
|
||||
|
@ -16,6 +17,7 @@ pub const keep_sigpipe = true;
|
|||
|
||||
const stdin = std.io.getStdIn().reader();
|
||||
const stdout = std.io.getStdOut().writer();
|
||||
const stderr = std.io.getStdErr().writer();
|
||||
const logger = std.log.scoped(.ngui);
|
||||
|
||||
extern "c" fn ui_update_network_status(text: [*:0]const u8, wifi_list: ?[*:0]const u8) void;
|
||||
|
@ -177,18 +179,59 @@ fn commThreadLoopCycle() !void {
|
|||
}
|
||||
}
|
||||
|
||||
/// prints messages in the same way std.fmt.format does and exits the process
|
||||
/// with a non-zero code.
|
||||
fn fatal(comptime fmt: []const u8, args: anytype) noreturn {
|
||||
stderr.print(fmt, args) catch {};
|
||||
if (fmt[fmt.len - 1] != '\n') {
|
||||
stderr.writeByte('\n') catch {};
|
||||
}
|
||||
std.process.exit(1);
|
||||
}
|
||||
|
||||
fn parseArgs(alloc: std.mem.Allocator) !void {
|
||||
var args = try std.process.ArgIterator.initWithAllocator(alloc);
|
||||
defer args.deinit();
|
||||
const prog = args.next() orelse return error.NoProgName;
|
||||
|
||||
while (args.next()) |a| {
|
||||
if (std.mem.eql(u8, a, "-h") or std.mem.eql(u8, a, "-help") or std.mem.eql(u8, a, "--help")) {
|
||||
usage(prog) catch {};
|
||||
std.process.exit(1);
|
||||
} else if (std.mem.eql(u8, a, "-v")) {
|
||||
try stderr.print("{any}\n", .{buildopts.semver});
|
||||
std.process.exit(0);
|
||||
} else {
|
||||
fatal("unknown arg name {s}", .{a});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// prints usage help text to stderr.
|
||||
fn usage(prog: []const u8) !void {
|
||||
try stderr.print(
|
||||
\\usage: {s} [-v]
|
||||
\\
|
||||
\\ngui is nakamochi GUI interface. it communicates with nd, nakamochi daemon,
|
||||
\\via stdio and is typically launched by the daemon as a child process.
|
||||
\\
|
||||
, .{prog});
|
||||
}
|
||||
|
||||
/// nakamochi UI program entry point.
|
||||
pub fn main() anyerror!void {
|
||||
// ensure timer is available on this platform before doing anything else;
|
||||
// the UI is unusable otherwise.
|
||||
tick_timer = try time.Timer.start();
|
||||
|
||||
// main heap allocator used through the lifetime of nd
|
||||
var gpa_state = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer if (gpa_state.deinit()) {
|
||||
logger.err("memory leaks detected", .{});
|
||||
};
|
||||
gpa = gpa_state.allocator();
|
||||
try parseArgs(gpa);
|
||||
logger.info("ndg version {any}", .{buildopts.semver});
|
||||
|
||||
// ensure timer is available on this platform before doing anything else;
|
||||
// the UI is unusable otherwise.
|
||||
tick_timer = try time.Timer.start();
|
||||
|
||||
// initalizes display, input driver and finally creates the user interface.
|
||||
ui.init() catch |err| {
|
||||
|
|
|
@ -357,6 +357,7 @@
|
|||
#define NM_SYMBOL_BITCOIN "\xEF\x8D\xB9" /* 0xF379 */
|
||||
#define NM_SYMBOL_BITCOIN_SIGN "\xEE\x82\xB4" /* 0xE0B4 */
|
||||
#define NM_SYMBOL_BOLT "\xEF\x83\xA7" /* 0xF0E7 */
|
||||
#define NM_SYMBOL_INFO "\xEF\x81\x9A" /* 0xF05A */
|
||||
|
||||
/*Enable handling large font and/or fonts with a lot of characters.
|
||||
*The limit depends on the font size, font face and bpp.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*******************************************************************************
|
||||
* Size: 14 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --no-prefilter --bpp 4 --size 14 --font courier-prime-code.ttf -r 0x20-0x7F,0xB0,0x2022 --font fa-brands-400.ttf -r 0xF287,0xF293,0xF379 --font fa-solid-900.ttf -r 0xF001,0xF008,0xF00B,0xF00C,0xF00D,0xF011,0xF013,0xF015,0xF019,0xF01C,0xF021,0xF026,0xF027,0xF028,0xF03E,0xF043,0xF048,0xF04B,0xF04C,0xF04D,0xF051,0xF052,0xF053,0xF054,0xF067,0xF068,0xF06E,0xF070,0xF071,0xF074,0xF077,0xF078,0xF079,0xF07B,0xF093,0xF095,0xF0C4,0xF0C5,0xF0C7,0xF0C9,0xF0E0,0xF0E7,0xF0EA,0xF0F3,0xF11C,0xF124,0xF158,0xF1EB,0xF240,0xF241,0xF242,0xF243,0xF244,0xF2ED,0xF304,0xF55A,0xF7C2,0xF177=>0xF8A2,0xE0B4,0xF0E7 --format lvgl -o lv_font_courierprimecode_14.c --force-fast-kern-format
|
||||
* Opts: --no-compress --no-prefilter --bpp 4 --size 14 --font courier-prime-code.ttf -r 0x20-0x7F,0xB0,0x2022 --font fa-brands-400.ttf -r 0xF287,0xF293,0xF379 --font fa-solid-900.ttf -r 0xF001,0xF008,0xF00B,0xF00C,0xF00D,0xF011,0xF013,0xF015,0xF019,0xF01C,0xF021,0xF026,0xF027,0xF028,0xF03E,0xF043,0xF048,0xF04B,0xF04C,0xF04D,0xF051,0xF052,0xF053,0xF054,0xF05A,0xF067,0xF068,0xF06E,0xF070,0xF071,0xF074,0xF077,0xF078,0xF079,0xF07B,0xF093,0xF095,0xF0C4,0xF0C5,0xF0C7,0xF0C9,0xF0E0,0xF0E7,0xF0EA,0xF0F3,0xF11C,0xF124,0xF158,0xF1EB,0xF240,0xF241,0xF242,0xF243,0xF244,0xF2ED,0xF304,0xF55A,0xF7C2,0xF177=>0xF8A2,0xE0B4,0xF0E7 --format lvgl -o lv_font_courierprimecode_14.c --force-fast-kern-format
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
|
@ -920,6 +920,22 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
|||
0x4, 0xff, 0x40, 0x0, 0x2f, 0xf4, 0x0, 0x0,
|
||||
0x2c, 0x40, 0x0, 0x0,
|
||||
|
||||
/* U+F05A "" */
|
||||
0x0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x0,
|
||||
0x4, 0xbf, 0xff, 0xfb, 0x40, 0x0, 0x0, 0x8f,
|
||||
0xff, 0xff, 0xff, 0xf8, 0x0, 0x7, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0x70, 0x2f, 0xff, 0xff, 0x88,
|
||||
0xff, 0xff, 0xf2, 0x8f, 0xff, 0xff, 0x55, 0xff,
|
||||
0xff, 0xf8, 0xdf, 0xff, 0xff, 0xdf, 0xff, 0xff,
|
||||
0xfd, 0xff, 0xff, 0xf5, 0x3, 0xff, 0xff, 0xff,
|
||||
0xef, 0xff, 0xfe, 0x71, 0xff, 0xff, 0xfe, 0xcf,
|
||||
0xff, 0xff, 0x81, 0xff, 0xff, 0xfc, 0x6f, 0xff,
|
||||
0xf6, 0x0, 0x6f, 0xff, 0xf6, 0xe, 0xff, 0xfc,
|
||||
0x88, 0xcf, 0xff, 0xe0, 0x3, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0x30, 0x0, 0x3e, 0xff, 0xff, 0xff,
|
||||
0xe3, 0x0, 0x0, 0x0, 0x6b, 0xee, 0xb6, 0x0,
|
||||
0x0,
|
||||
|
||||
/* U+F067 "" */
|
||||
0x0, 0x0, 0x8, 0xc0, 0x0, 0x0, 0x0, 0x0,
|
||||
0xb, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xb, 0xf0,
|
||||
|
@ -1551,43 +1567,44 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
|||
{.bitmap_index = 4626, .adv_w = 196, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 4717, .adv_w = 168, .box_w = 8, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 4769, .adv_w = 168, .box_w = 8, .box_h = 13, .ofs_x = 2, .ofs_y = -1},
|
||||
{.bitmap_index = 4821, .adv_w = 196, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4893, .adv_w = 196, .box_w = 12, .box_h = 2, .ofs_x = 0, .ofs_y = 5},
|
||||
{.bitmap_index = 4905, .adv_w = 252, .box_w = 17, .box_h = 13, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 5016, .adv_w = 280, .box_w = 19, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 5159, .adv_w = 224, .box_w = 16, .box_h = 13, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 5263, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 5361, .adv_w = 224, .box_w = 14, .box_h = 8, .ofs_x = 0, .ofs_y = 2},
|
||||
{.bitmap_index = 5417, .adv_w = 224, .box_w = 14, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 5473, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 5561, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 5652, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 5757, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 5870, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 4821, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 4926, .adv_w = 196, .box_w = 12, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 4998, .adv_w = 196, .box_w = 12, .box_h = 2, .ofs_x = 0, .ofs_y = 5},
|
||||
{.bitmap_index = 5010, .adv_w = 252, .box_w = 17, .box_h = 13, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 5121, .adv_w = 280, .box_w = 19, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 5264, .adv_w = 224, .box_w = 16, .box_h = 13, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 5368, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 5466, .adv_w = 224, .box_w = 14, .box_h = 8, .ofs_x = 0, .ofs_y = 2},
|
||||
{.bitmap_index = 5522, .adv_w = 224, .box_w = 14, .box_h = 8, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 5578, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 5666, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 5757, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 5862, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 5975, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6080, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 6165, .adv_w = 196, .box_w = 13, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6237, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6314, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6404, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6509, .adv_w = 196, .box_w = 14, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 6614, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6702, .adv_w = 196, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 6780, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 6852, .adv_w = 280, .box_w = 18, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 6969, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7049, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7129, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7209, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7289, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7369, .adv_w = 280, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 7477, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7567, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7665, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 7778, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7883, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7971, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 8054, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 0}
|
||||
{.bitmap_index = 6080, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6185, .adv_w = 196, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 6270, .adv_w = 196, .box_w = 13, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6342, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6419, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6509, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6614, .adv_w = 196, .box_w = 14, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 6719, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6807, .adv_w = 196, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 6885, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 6957, .adv_w = 280, .box_w = 18, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 7074, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7154, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7234, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7314, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7394, .adv_w = 252, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7474, .adv_w = 280, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 7582, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7672, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7770, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 7883, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7988, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 8076, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 8159, .adv_w = 224, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 0}
|
||||
};
|
||||
|
||||
/*---------------------
|
||||
|
@ -1598,11 +1615,12 @@ static const uint16_t unicode_list_1[] = {
|
|||
0x0, 0x1f72, 0xe004, 0xef51, 0xef58, 0xef5b, 0xef5c, 0xef5d,
|
||||
0xef61, 0xef63, 0xef65, 0xef69, 0xef6c, 0xef71, 0xef76, 0xef77,
|
||||
0xef78, 0xef8e, 0xef93, 0xef98, 0xef9b, 0xef9c, 0xef9d, 0xefa1,
|
||||
0xefa2, 0xefa3, 0xefa4, 0xefb7, 0xefb8, 0xefbe, 0xefc0, 0xefc1,
|
||||
0xefc4, 0xefc7, 0xefc8, 0xefc9, 0xefcb, 0xefe3, 0xefe5, 0xf014,
|
||||
0xf015, 0xf017, 0xf019, 0xf030, 0xf037, 0xf03a, 0xf043, 0xf06c,
|
||||
0xf074, 0xf0a8, 0xf13b, 0xf190, 0xf191, 0xf192, 0xf193, 0xf194,
|
||||
0xf1d7, 0xf1e3, 0xf23d, 0xf254, 0xf2c9, 0xf4aa, 0xf712, 0xf7f2
|
||||
0xefa2, 0xefa3, 0xefa4, 0xefaa, 0xefb7, 0xefb8, 0xefbe, 0xefc0,
|
||||
0xefc1, 0xefc4, 0xefc7, 0xefc8, 0xefc9, 0xefcb, 0xefe3, 0xefe5,
|
||||
0xf014, 0xf015, 0xf017, 0xf019, 0xf030, 0xf037, 0xf03a, 0xf043,
|
||||
0xf06c, 0xf074, 0xf0a8, 0xf13b, 0xf190, 0xf191, 0xf192, 0xf193,
|
||||
0xf194, 0xf1d7, 0xf1e3, 0xf23d, 0xf254, 0xf2c9, 0xf4aa, 0xf712,
|
||||
0xf7f2
|
||||
};
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
|
@ -1614,7 +1632,7 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
|||
},
|
||||
{
|
||||
.range_start = 176, .range_length = 63475, .glyph_id_start = 96,
|
||||
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 64, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 65, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*******************************************************************************
|
||||
* Size: 16 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --no-prefilter --bpp 4 --size 16 --font courier-prime-code.ttf -r 0x20-0x7F,0xB0,0x2022 --font fa-brands-400.ttf -r 0xF287,0xF293,0xF379 --font fa-solid-900.ttf -r 0xF001,0xF008,0xF00B,0xF00C,0xF00D,0xF011,0xF013,0xF015,0xF019,0xF01C,0xF021,0xF026,0xF027,0xF028,0xF03E,0xF043,0xF048,0xF04B,0xF04C,0xF04D,0xF051,0xF052,0xF053,0xF054,0xF067,0xF068,0xF06E,0xF070,0xF071,0xF074,0xF077,0xF078,0xF079,0xF07B,0xF093,0xF095,0xF0C4,0xF0C5,0xF0C7,0xF0C9,0xF0E0,0xF0E7,0xF0EA,0xF0F3,0xF11C,0xF124,0xF158,0xF1EB,0xF240,0xF241,0xF242,0xF243,0xF244,0xF2ED,0xF304,0xF55A,0xF7C2,0xF177=>0xF8A2,0xE0B4,0xF0E7 --format lvgl -o lv_font_courierprimecode_16.c --force-fast-kern-format
|
||||
* Opts: --no-compress --no-prefilter --bpp 4 --size 16 --font courier-prime-code.ttf -r 0x20-0x7F,0xB0,0x2022 --font fa-brands-400.ttf -r 0xF287,0xF293,0xF379 --font fa-solid-900.ttf -r 0xF001,0xF008,0xF00B,0xF00C,0xF00D,0xF011,0xF013,0xF015,0xF019,0xF01C,0xF021,0xF026,0xF027,0xF028,0xF03E,0xF043,0xF048,0xF04B,0xF04C,0xF04D,0xF051,0xF052,0xF053,0xF054,0xF05A,0xF067,0xF068,0xF06E,0xF070,0xF071,0xF074,0xF077,0xF078,0xF079,0xF07B,0xF093,0xF095,0xF0C4,0xF0C5,0xF0C7,0xF0C9,0xF0E0,0xF0E7,0xF0EA,0xF0F3,0xF11C,0xF124,0xF158,0xF1EB,0xF240,0xF241,0xF242,0xF243,0xF244,0xF2ED,0xF304,0xF55A,0xF7C2,0xF177=>0xF8A2,0xE0B4,0xF0E7 --format lvgl -o lv_font_courierprimecode_16.c --force-fast-kern-format
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
|
@ -1053,6 +1053,24 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
|||
0x1, 0xdf, 0xd1, 0x0, 0x1d, 0xfd, 0x10, 0x0,
|
||||
0xcf, 0xd1, 0x0, 0x0, 0xcc, 0x10, 0x0, 0x0,
|
||||
|
||||
/* U+F05A "" */
|
||||
0x0, 0x0, 0x29, 0xdf, 0xfd, 0x92, 0x0, 0x0,
|
||||
0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0,
|
||||
0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0,
|
||||
0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
|
||||
0x2f, 0xff, 0xff, 0xf3, 0x3f, 0xff, 0xff, 0xf2,
|
||||
0x9f, 0xff, 0xff, 0xf3, 0x3f, 0xff, 0xff, 0xf9,
|
||||
0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd,
|
||||
0xff, 0xff, 0xff, 0x30, 0x3f, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0x72, 0xf, 0xff, 0xff, 0xff,
|
||||
0xdf, 0xff, 0xff, 0xf7, 0xf, 0xff, 0xff, 0xfd,
|
||||
0x9f, 0xff, 0xff, 0xd5, 0xd, 0xff, 0xff, 0xf9,
|
||||
0x2f, 0xff, 0xff, 0x20, 0x2, 0xff, 0xff, 0xf2,
|
||||
0x8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80,
|
||||
0x0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x0,
|
||||
0x0, 0x8, 0xff, 0xff, 0xff, 0xff, 0x80, 0x0,
|
||||
0x0, 0x0, 0x29, 0xdf, 0xfd, 0x92, 0x0, 0x0,
|
||||
|
||||
/* U+F067 "" */
|
||||
0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
|
@ -1774,43 +1792,44 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
|||
{.bitmap_index = 5821, .adv_w = 224, .box_w = 16, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 5933, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 1, .ofs_y = -1},
|
||||
{.bitmap_index = 5989, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 3, .ofs_y = -1},
|
||||
{.bitmap_index = 6045, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6136, .adv_w = 224, .box_w = 14, .box_h = 2, .ofs_x = 0, .ofs_y = 5},
|
||||
{.bitmap_index = 6150, .adv_w = 288, .box_w = 20, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 6290, .adv_w = 320, .box_w = 22, .box_h = 18, .ofs_x = -1, .ofs_y = -3},
|
||||
{.bitmap_index = 6488, .adv_w = 256, .box_w = 18, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 6614, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6742, .adv_w = 256, .box_w = 14, .box_h = 8, .ofs_x = 1, .ofs_y = 3},
|
||||
{.bitmap_index = 6798, .adv_w = 256, .box_w = 14, .box_h = 8, .ofs_x = 1, .ofs_y = 1},
|
||||
{.bitmap_index = 6854, .adv_w = 288, .box_w = 20, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 6974, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 7086, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7214, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7359, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6045, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6173, .adv_w = 224, .box_w = 14, .box_h = 13, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 6264, .adv_w = 224, .box_w = 14, .box_h = 2, .ofs_x = 0, .ofs_y = 5},
|
||||
{.bitmap_index = 6278, .adv_w = 288, .box_w = 20, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 6418, .adv_w = 320, .box_w = 22, .box_h = 18, .ofs_x = -1, .ofs_y = -3},
|
||||
{.bitmap_index = 6616, .adv_w = 256, .box_w = 18, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 6742, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 6870, .adv_w = 256, .box_w = 14, .box_h = 8, .ofs_x = 1, .ofs_y = 3},
|
||||
{.bitmap_index = 6926, .adv_w = 256, .box_w = 14, .box_h = 8, .ofs_x = 1, .ofs_y = 1},
|
||||
{.bitmap_index = 6982, .adv_w = 288, .box_w = 20, .box_h = 12, .ofs_x = -1, .ofs_y = 0},
|
||||
{.bitmap_index = 7102, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 7214, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7342, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7487, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7615, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 7713, .adv_w = 224, .box_w = 14, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7797, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7893, .adv_w = 224, .box_w = 14, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 8019, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 8147, .adv_w = 224, .box_w = 16, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 8275, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 8383, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 8481, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 8565, .adv_w = 320, .box_w = 20, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 8705, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 8795, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 8885, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 8975, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 9065, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 9155, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 9302, .adv_w = 224, .box_w = 12, .box_h = 18, .ofs_x = 1, .ofs_y = -3},
|
||||
{.bitmap_index = 9410, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 9522, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -3},
|
||||
{.bitmap_index = 9667, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 9795, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 9903, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 9999, .adv_w = 256, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 1}
|
||||
{.bitmap_index = 7615, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 7743, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 7841, .adv_w = 224, .box_w = 14, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 7925, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 8021, .adv_w = 224, .box_w = 14, .box_h = 18, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 8147, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 8275, .adv_w = 224, .box_w = 16, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 8403, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 8511, .adv_w = 224, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 8609, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 8693, .adv_w = 320, .box_w = 20, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 8833, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 8923, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 9013, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 9103, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 9193, .adv_w = 288, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 9283, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 9430, .adv_w = 224, .box_w = 12, .box_h = 18, .ofs_x = 1, .ofs_y = -3},
|
||||
{.bitmap_index = 9538, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 9650, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -3},
|
||||
{.bitmap_index = 9795, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 9923, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 10031, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 10127, .adv_w = 256, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 1}
|
||||
};
|
||||
|
||||
/*---------------------
|
||||
|
@ -1821,11 +1840,12 @@ static const uint16_t unicode_list_1[] = {
|
|||
0x0, 0x1f72, 0xe004, 0xef51, 0xef58, 0xef5b, 0xef5c, 0xef5d,
|
||||
0xef61, 0xef63, 0xef65, 0xef69, 0xef6c, 0xef71, 0xef76, 0xef77,
|
||||
0xef78, 0xef8e, 0xef93, 0xef98, 0xef9b, 0xef9c, 0xef9d, 0xefa1,
|
||||
0xefa2, 0xefa3, 0xefa4, 0xefb7, 0xefb8, 0xefbe, 0xefc0, 0xefc1,
|
||||
0xefc4, 0xefc7, 0xefc8, 0xefc9, 0xefcb, 0xefe3, 0xefe5, 0xf014,
|
||||
0xf015, 0xf017, 0xf019, 0xf030, 0xf037, 0xf03a, 0xf043, 0xf06c,
|
||||
0xf074, 0xf0a8, 0xf13b, 0xf190, 0xf191, 0xf192, 0xf193, 0xf194,
|
||||
0xf1d7, 0xf1e3, 0xf23d, 0xf254, 0xf2c9, 0xf4aa, 0xf712, 0xf7f2
|
||||
0xefa2, 0xefa3, 0xefa4, 0xefaa, 0xefb7, 0xefb8, 0xefbe, 0xefc0,
|
||||
0xefc1, 0xefc4, 0xefc7, 0xefc8, 0xefc9, 0xefcb, 0xefe3, 0xefe5,
|
||||
0xf014, 0xf015, 0xf017, 0xf019, 0xf030, 0xf037, 0xf03a, 0xf043,
|
||||
0xf06c, 0xf074, 0xf0a8, 0xf13b, 0xf190, 0xf191, 0xf192, 0xf193,
|
||||
0xf194, 0xf1d7, 0xf1e3, 0xf23d, 0xf254, 0xf2c9, 0xf4aa, 0xf712,
|
||||
0xf7f2
|
||||
};
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
|
@ -1837,7 +1857,7 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
|||
},
|
||||
{
|
||||
.range_start = 176, .range_length = 63475, .glyph_id_start = 96,
|
||||
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 64, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 65, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*******************************************************************************
|
||||
* Size: 24 px
|
||||
* Bpp: 4
|
||||
* Opts: --no-compress --no-prefilter --bpp 4 --size 24 --font courier-prime-code.ttf -r 0x20-0x7F,0xB0,0x2022 --font fa-brands-400.ttf -r 0xF287,0xF293,0xF379 --font fa-solid-900.ttf -r 0xF001,0xF008,0xF00B,0xF00C,0xF00D,0xF011,0xF013,0xF015,0xF019,0xF01C,0xF021,0xF026,0xF027,0xF028,0xF03E,0xF043,0xF048,0xF04B,0xF04C,0xF04D,0xF051,0xF052,0xF053,0xF054,0xF067,0xF068,0xF06E,0xF070,0xF071,0xF074,0xF077,0xF078,0xF079,0xF07B,0xF093,0xF095,0xF0C4,0xF0C5,0xF0C7,0xF0C9,0xF0E0,0xF0E7,0xF0EA,0xF0F3,0xF11C,0xF124,0xF158,0xF1EB,0xF240,0xF241,0xF242,0xF243,0xF244,0xF2ED,0xF304,0xF55A,0xF7C2,0xF177=>0xF8A2,0xE0B4,0xF0E7 --format lvgl -o lv_font_courierprimecode_24.c --force-fast-kern-format
|
||||
* Opts: --no-compress --no-prefilter --bpp 4 --size 24 --font courier-prime-code.ttf -r 0x20-0x7F,0xB0,0x2022 --font fa-brands-400.ttf -r 0xF287,0xF293,0xF379 --font fa-solid-900.ttf -r 0xF001,0xF008,0xF00B,0xF00C,0xF00D,0xF011,0xF013,0xF015,0xF019,0xF01C,0xF021,0xF026,0xF027,0xF028,0xF03E,0xF043,0xF048,0xF04B,0xF04C,0xF04D,0xF051,0xF052,0xF053,0xF054,0xF05A,0xF067,0xF068,0xF06E,0xF070,0xF071,0xF074,0xF077,0xF078,0xF079,0xF07B,0xF093,0xF095,0xF0C4,0xF0C5,0xF0C7,0xF0C9,0xF0E0,0xF0E7,0xF0EA,0xF0F3,0xF11C,0xF124,0xF158,0xF1EB,0xF240,0xF241,0xF242,0xF243,0xF244,0xF2ED,0xF304,0xF55A,0xF7C2,0xF177=>0xF8A2,0xE0B4,0xF0E7 --format lvgl -o lv_font_courierprimecode_24.c --force-fast-kern-format
|
||||
******************************************************************************/
|
||||
|
||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||
|
@ -1870,6 +1870,44 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
|||
0x0, 0x0, 0x6f, 0xfc, 0x10, 0x0, 0x0, 0x0,
|
||||
0x0, 0x99, 0x10, 0x0, 0x0, 0x0, 0x0,
|
||||
|
||||
/* U+F05A "" */
|
||||
0x0, 0x0, 0x0, 0x1, 0x7b, 0xef, 0xfe, 0xb7,
|
||||
0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xaf,
|
||||
0xff, 0xff, 0xff, 0xff, 0xfa, 0x10, 0x0, 0x0,
|
||||
0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xf5, 0x0, 0x0, 0x0, 0x7, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x0,
|
||||
0x0, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xf5, 0x0, 0x1, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10,
|
||||
0xa, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x2d, 0xff,
|
||||
0xff, 0xff, 0xff, 0xa0, 0x1f, 0xff, 0xff, 0xff,
|
||||
0xff, 0x80, 0x8, 0xff, 0xff, 0xff, 0xff, 0xf1,
|
||||
0x7f, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x2d, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf7, 0xbf, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb,
|
||||
0xef, 0xff, 0xff, 0xff, 0xfc, 0x87, 0x8f, 0xff,
|
||||
0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff,
|
||||
0xf1, 0x0, 0x9, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x7, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff,
|
||||
0xff, 0xf3, 0x7, 0xff, 0xff, 0xff, 0xff, 0xfe,
|
||||
0xbf, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x7, 0xff,
|
||||
0xff, 0xff, 0xff, 0xfb, 0x7f, 0xff, 0xff, 0xff,
|
||||
0xff, 0xf3, 0x7, 0xff, 0xff, 0xff, 0xff, 0xf7,
|
||||
0x1f, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x4f,
|
||||
0xff, 0xff, 0xff, 0xf1, 0xa, 0xff, 0xff, 0xff,
|
||||
0xf5, 0x0, 0x0, 0x5f, 0xff, 0xff, 0xff, 0xa0,
|
||||
0x1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0x10, 0x0, 0x5f, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0,
|
||||
0x0, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0x70, 0x0, 0x0, 0x0, 0x5f, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x0, 0x0,
|
||||
0x0, 0x0, 0x1, 0xaf, 0xff, 0xff, 0xff, 0xff,
|
||||
0xfa, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1,
|
||||
0x7b, 0xef, 0xfe, 0xb7, 0x10, 0x0, 0x0, 0x0,
|
||||
|
||||
/* U+F067 "" */
|
||||
0x0, 0x0, 0x0, 0x0, 0x8, 0xf8, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,
|
||||
|
@ -3222,43 +3260,44 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
|||
{.bitmap_index = 11921, .adv_w = 336, .box_w = 23, .box_h = 22, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 12174, .adv_w = 288, .box_w = 13, .box_h = 22, .ofs_x = 1, .ofs_y = -2},
|
||||
{.bitmap_index = 12317, .adv_w = 288, .box_w = 13, .box_h = 22, .ofs_x = 4, .ofs_y = -2},
|
||||
{.bitmap_index = 12460, .adv_w = 336, .box_w = 21, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 12670, .adv_w = 336, .box_w = 21, .box_h = 4, .ofs_x = 0, .ofs_y = 8},
|
||||
{.bitmap_index = 12712, .adv_w = 432, .box_w = 29, .box_h = 22, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 13031, .adv_w = 480, .box_w = 32, .box_h = 26, .ofs_x = -1, .ofs_y = -4},
|
||||
{.bitmap_index = 13447, .adv_w = 384, .box_w = 26, .box_h = 22, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 13733, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 13997, .adv_w = 384, .box_w = 22, .box_h = 13, .ofs_x = 1, .ofs_y = 4},
|
||||
{.bitmap_index = 14140, .adv_w = 384, .box_w = 22, .box_h = 13, .ofs_x = 1, .ofs_y = 1},
|
||||
{.bitmap_index = 14283, .adv_w = 432, .box_w = 29, .box_h = 19, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 14559, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 14823, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 15111, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 15424, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 12460, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 12748, .adv_w = 336, .box_w = 21, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 12958, .adv_w = 336, .box_w = 21, .box_h = 4, .ofs_x = 0, .ofs_y = 8},
|
||||
{.bitmap_index = 13000, .adv_w = 432, .box_w = 29, .box_h = 22, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 13319, .adv_w = 480, .box_w = 32, .box_h = 26, .ofs_x = -1, .ofs_y = -4},
|
||||
{.bitmap_index = 13735, .adv_w = 384, .box_w = 26, .box_h = 22, .ofs_x = -1, .ofs_y = -2},
|
||||
{.bitmap_index = 14021, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 14285, .adv_w = 384, .box_w = 22, .box_h = 13, .ofs_x = 1, .ofs_y = 4},
|
||||
{.bitmap_index = 14428, .adv_w = 384, .box_w = 22, .box_h = 13, .ofs_x = 1, .ofs_y = 1},
|
||||
{.bitmap_index = 14571, .adv_w = 432, .box_w = 29, .box_h = 19, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 14847, .adv_w = 384, .box_w = 24, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 15111, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 15399, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 15712, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 16000, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 16231, .adv_w = 336, .box_w = 21, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 16420, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 16636, .adv_w = 336, .box_w = 19, .box_h = 26, .ofs_x = 1, .ofs_y = -4},
|
||||
{.bitmap_index = 16883, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 17171, .adv_w = 336, .box_w = 23, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
|
||||
{.bitmap_index = 17447, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 17690, .adv_w = 336, .box_w = 21, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 17900, .adv_w = 288, .box_w = 18, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 18098, .adv_w = 480, .box_w = 30, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 18428, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 18644, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 18860, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 19076, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 19292, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 19508, .adv_w = 480, .box_w = 31, .box_h = 20, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 19818, .adv_w = 336, .box_w = 19, .box_h = 26, .ofs_x = 1, .ofs_y = -4},
|
||||
{.bitmap_index = 20065, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 20317, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -4},
|
||||
{.bitmap_index = 20630, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 20918, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 21161, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 21377, .adv_w = 384, .box_w = 24, .box_h = 16, .ofs_x = 0, .ofs_y = 1}
|
||||
{.bitmap_index = 16000, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 16288, .adv_w = 336, .box_w = 21, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 16519, .adv_w = 336, .box_w = 21, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 16708, .adv_w = 384, .box_w = 24, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 16924, .adv_w = 336, .box_w = 19, .box_h = 26, .ofs_x = 1, .ofs_y = -4},
|
||||
{.bitmap_index = 17171, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 17459, .adv_w = 336, .box_w = 23, .box_h = 24, .ofs_x = -1, .ofs_y = -3},
|
||||
{.bitmap_index = 17735, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 17978, .adv_w = 336, .box_w = 21, .box_h = 20, .ofs_x = 0, .ofs_y = -1},
|
||||
{.bitmap_index = 18188, .adv_w = 288, .box_w = 18, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 18386, .adv_w = 480, .box_w = 30, .box_h = 22, .ofs_x = 0, .ofs_y = -2},
|
||||
{.bitmap_index = 18716, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 18932, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 19148, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 19364, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 19580, .adv_w = 432, .box_w = 27, .box_h = 16, .ofs_x = 0, .ofs_y = 1},
|
||||
{.bitmap_index = 19796, .adv_w = 480, .box_w = 31, .box_h = 20, .ofs_x = -1, .ofs_y = -1},
|
||||
{.bitmap_index = 20106, .adv_w = 336, .box_w = 19, .box_h = 26, .ofs_x = 1, .ofs_y = -4},
|
||||
{.bitmap_index = 20353, .adv_w = 336, .box_w = 21, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 20605, .adv_w = 384, .box_w = 25, .box_h = 25, .ofs_x = -1, .ofs_y = -4},
|
||||
{.bitmap_index = 20918, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 21206, .adv_w = 432, .box_w = 27, .box_h = 18, .ofs_x = 0, .ofs_y = 0},
|
||||
{.bitmap_index = 21449, .adv_w = 288, .box_w = 18, .box_h = 24, .ofs_x = 0, .ofs_y = -3},
|
||||
{.bitmap_index = 21665, .adv_w = 384, .box_w = 24, .box_h = 16, .ofs_x = 0, .ofs_y = 1}
|
||||
};
|
||||
|
||||
/*---------------------
|
||||
|
@ -3269,11 +3308,12 @@ static const uint16_t unicode_list_1[] = {
|
|||
0x0, 0x1f72, 0xe004, 0xef51, 0xef58, 0xef5b, 0xef5c, 0xef5d,
|
||||
0xef61, 0xef63, 0xef65, 0xef69, 0xef6c, 0xef71, 0xef76, 0xef77,
|
||||
0xef78, 0xef8e, 0xef93, 0xef98, 0xef9b, 0xef9c, 0xef9d, 0xefa1,
|
||||
0xefa2, 0xefa3, 0xefa4, 0xefb7, 0xefb8, 0xefbe, 0xefc0, 0xefc1,
|
||||
0xefc4, 0xefc7, 0xefc8, 0xefc9, 0xefcb, 0xefe3, 0xefe5, 0xf014,
|
||||
0xf015, 0xf017, 0xf019, 0xf030, 0xf037, 0xf03a, 0xf043, 0xf06c,
|
||||
0xf074, 0xf0a8, 0xf13b, 0xf190, 0xf191, 0xf192, 0xf193, 0xf194,
|
||||
0xf1d7, 0xf1e3, 0xf23d, 0xf254, 0xf2c9, 0xf4aa, 0xf712, 0xf7f2
|
||||
0xefa2, 0xefa3, 0xefa4, 0xefaa, 0xefb7, 0xefb8, 0xefbe, 0xefc0,
|
||||
0xefc1, 0xefc4, 0xefc7, 0xefc8, 0xefc9, 0xefcb, 0xefe3, 0xefe5,
|
||||
0xf014, 0xf015, 0xf017, 0xf019, 0xf030, 0xf037, 0xf03a, 0xf043,
|
||||
0xf06c, 0xf074, 0xf0a8, 0xf13b, 0xf190, 0xf191, 0xf192, 0xf193,
|
||||
0xf194, 0xf1d7, 0xf1e3, 0xf23d, 0xf254, 0xf2c9, 0xf4aa, 0xf712,
|
||||
0xf7f2
|
||||
};
|
||||
|
||||
/*Collect the unicode lists and glyph_id offsets*/
|
||||
|
@ -3285,7 +3325,7 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
|||
},
|
||||
{
|
||||
.range_start = 176, .range_length = 63475, .glyph_id_start = 96,
|
||||
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 64, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 65, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -15,6 +15,11 @@
|
|||
*/
|
||||
void nm_sys_shutdown();
|
||||
|
||||
/**
|
||||
* creates an info panel with build info, semver, about and other related items.
|
||||
*/
|
||||
int nm_create_info_panel(lv_obj_t *parent);
|
||||
|
||||
/**
|
||||
* invoken when the UI is switched to the network settings tab.
|
||||
*/
|
||||
|
@ -321,23 +326,42 @@ extern int nm_ui_init(lv_disp_t *disp)
|
|||
* 0: bitcoin
|
||||
* 1: lightning
|
||||
* 2: settings
|
||||
* 3: ndg build info and versioning
|
||||
*/
|
||||
|
||||
lv_obj_t *tab_btc = lv_tabview_add_tab(tabview, NM_SYMBOL_BITCOIN " BITCOIN");
|
||||
if (tab_btc == NULL) {
|
||||
return -1;
|
||||
}
|
||||
create_bitcoin_panel(tab_btc);
|
||||
|
||||
lv_obj_t *tab_lnd = lv_tabview_add_tab(tabview, NM_SYMBOL_BOLT " LIGHTNING");
|
||||
if (tab_lnd == NULL) {
|
||||
return -1;
|
||||
}
|
||||
create_lnd_panel(tab_lnd);
|
||||
|
||||
lv_obj_t *tab_settings = lv_tabview_add_tab(tabview, LV_SYMBOL_SETTINGS " SETTINGS");
|
||||
if (tab_settings == NULL) {
|
||||
return -1;
|
||||
}
|
||||
create_settings_panel(tab_settings);
|
||||
|
||||
lv_obj_t *tab_info = lv_tabview_add_tab(tabview, NM_SYMBOL_INFO);
|
||||
if (tab_info == NULL) {
|
||||
return -1;
|
||||
}
|
||||
if (nm_create_info_panel(tab_info) != 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* make the info tab button narrower, just for the icon to fit,
|
||||
* by widening the other tab buttons relative width. */
|
||||
lv_obj_t *tabbs = lv_tabview_get_tab_btns(tabview);
|
||||
lv_btnmatrix_set_btn_width(tabbs, 0, 3);
|
||||
lv_btnmatrix_set_btn_width(tabbs, 1, 3);
|
||||
lv_btnmatrix_set_btn_width(tabbs, 2, 3);
|
||||
|
||||
lv_obj_add_event_cb(tabview, tab_changed_event_cb, LV_EVENT_VALUE_CHANGED, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
const buildopts = @import("build_options");
|
||||
const std = @import("std");
|
||||
|
||||
const lvgl = @import("lvgl.zig");
|
||||
|
@ -50,3 +51,20 @@ fn poweroffModalCallback(btn_idx: usize) void {
|
|||
// proceed with shutdown
|
||||
nm_sys_shutdown();
|
||||
}
|
||||
|
||||
export fn nm_create_info_panel(parent: *lvgl.LvObj) c_int {
|
||||
createInfoPanel(parent) catch |err| {
|
||||
logger.err("createInfoPanel: {any}", .{err});
|
||||
return -1;
|
||||
};
|
||||
return 0;
|
||||
}
|
||||
|
||||
fn createInfoPanel(parent: *lvgl.LvObj) !void {
|
||||
parent.flexFlow(.column);
|
||||
parent.flexAlign(.start, .start, .start);
|
||||
|
||||
var buf: [100]u8 = undefined;
|
||||
const sver = try std.fmt.bufPrintZ(&buf, "GUI version: {any}", .{buildopts.semver});
|
||||
_ = try lvgl.createLabel(parent, sver, .{ .long_mode = .wrap, .pos = .none });
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
FROM alpine:3.17.1
|
||||
|
||||
ARG ZIGURL
|
||||
RUN apk add --no-cache curl xz sdl2-dev clang15-extra-tools && \
|
||||
RUN apk add --no-cache git curl xz sdl2-dev clang15-extra-tools && \
|
||||
mkdir -p /tools/zig && \
|
||||
cd /tools/zig && \
|
||||
curl -o zig.tar.xz $ZIGURL && \
|
||||
|
|
Reference in New Issue