1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-24 23:38:09 +00:00
trezor-firmware/legacy/gen/strwidth.c

36 lines
657 B
C
Raw Normal View History

#include <readline/history.h>
#include <readline/readline.h>
2017-07-16 17:43:58 +00:00
#include <stdio.h>
#include <stdlib.h>
#include "fonts.h"
static inline char convert(char c) {
if (c < 0x80) {
return c;
} else if (c >= 0xC0) {
return '_';
} else {
return '\0';
}
2017-07-16 17:43:58 +00:00
}
int main(int argc, char **argv) {
char *line = NULL;
int font = FONT_STANDARD;
while ((line = readline(NULL)) != NULL) {
size_t length = strlen(line);
if (length) {
add_history(line);
}
2017-07-16 17:43:58 +00:00
size_t width = 0;
for (size_t i = 0; i < length; i++) {
width += fontCharWidth(font, convert(line[i])) + 1;
}
2017-07-16 17:43:58 +00:00
printf("%zu\n", width);
free(line);
}
2017-07-16 17:43:58 +00:00
}