Firmware2/buildroot/share/fonts/u8glib-bdf2u8g.patch

48 lines
1.4 KiB
Diff

--- tools/font/bdf2u8g/bdf2u8g.c 2017-04-08 01:04:48.000000000 -0400
+++ tools/font/bdf2u8g/bdf2u8g.c 2018-02-24 17:24:26.368926703 -0500
@@ -175,9 +175,9 @@
for( i = 0; i < data_pos; i++ )
{
#ifdef BDF2U8G_COMPACT_OUTPUT
- fprintf(out_fp, "%d", data_buf[i]);
+ fprintf(out_fp, "0x%02x", data_buf[i]);
#else
- fprintf(out_fp, "%3d", data_buf[i]);
+ fprintf(out_fp, "0x%02x", data_buf[i]);
#endif
if ( i+1 != data_pos )
fprintf(out_fp, ",");
@@ -484,7 +484,8 @@
int bdf_char_max_y;
int bdf_char_min_y;
-int bdf_delta_x; /* DWIDTH arg 1 */
+int bdf_delta_x_default = -1;
+int bdf_delta_x = -1; /* DWIDTH arg 1 */
int bdf_delta_max_x;
int bdf_delta_min_x;
int bdf_delta_y; /* DWIDTH arg 2 */
@@ -1095,6 +1096,22 @@
bdf_char_ascent = bdf_char_height + bdf_char_y;
//printf("h:%d w:%d ascent: %d\n", bdf_char_height, bdf_char_width, bdf_char_ascent);
}
+ else if ( strcmp(p_buf, "CHARS") == 0 )
+ {
+ if (bdf_delta_x < 0) {
+ bdf_delta_x = 0;
+ }
+ if (bdf_delta_x_default < 0) {
+ bdf_delta_x_default = bdf_delta_x;
+ }
+ }
+ else if ( strcmp(p_buf, "STARTCHAR") == 0 )
+ {
+ if (bdf_delta_x_default < 0) {
+ bdf_delta_x_default = 0;
+ }
+ bdf_delta_x = bdf_delta_x_default;
+ }
else if ( strcmp(p_buf, "BITMAP") == 0 )
{
bdf_line_state = BDF_LINE_STATE_BITMAP;