irefactor and fix prevous refactoring - ploot - simple plotting tools Err bitreich.org 70 hgit clone git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot URL:git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot bitreich.org 70 1Log /scm/ploot/log.gph bitreich.org 70 1Files /scm/ploot/files.gph bitreich.org 70 1Refs /scm/ploot/refs.gph bitreich.org 70 1Tags /scm/ploot/tag bitreich.org 70 1README /scm/ploot/file/README.md.gph bitreich.org 70 1LICENSE /scm/ploot/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit ca79681acc3c649b67abc21bc0aabe980d5c989c /scm/ploot/commit/ca79681acc3c649b67abc21bc0aabe980d5c989c.gph bitreich.org 70 1parent 5e3a15dfb77b6b94cba1df9918ce30c6e07d3904 /scm/ploot/commit/5e3a15dfb77b6b94cba1df9918ce30c6e07d3904.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:me@josuah.net bitreich.org 70 iDate: Sat, 22 Feb 2020 23:24:11 +0100 Err bitreich.org 70 i Err bitreich.org 70 irefactor and fix prevous refactoring Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M Makefile | 4 ++-- Err bitreich.org 70 i M config.mk | 1 + Err bitreich.org 70 i M ploot-braille.c | 59 +++++++++++++++++++++---------- Err bitreich.org 70 i M ploot-feed.c | 31 +++++++++++++++++++------------ Err bitreich.org 70 i A ploot-text.c | 59 +++++++++++++++++++++++++++++++ Err bitreich.org 70 i M src/csv.c | 28 +++++++++++++++++++--------- Err bitreich.org 70 i M src/drawille.c | 9 ++++++--- Err bitreich.org 70 i M src/drawille.h | 2 +- Err bitreich.org 70 i M src/ffplot.c | 2 +- Err bitreich.org 70 i M src/font.c | 2 +- Err bitreich.org 70 i M src/font.h | 3 +-- Err bitreich.org 70 i M src/font13.c | 2 +- Err bitreich.org 70 i D src/font7.c | 743 ------------------------------- Err bitreich.org 70 i M src/font8.c | 304 ++++++++++++++++++++++++++----- Err bitreich.org 70 i M src/tool.c | 31 ++++--------------------------- Err bitreich.org 70 i M src/tool.h | 4 +--- Err bitreich.org 70 i M test.csv | 2 +- Err bitreich.org 70 i Err bitreich.org 70 i17 files changed, 420 insertions(+), 866 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/ploot/file/Makefile.gph bitreich.org 70 i@@ -1,10 +1,10 @@ Err bitreich.org 70 i include config.mk Err bitreich.org 70 i Err bitreich.org 70 i src = src/csv.c src/drawille.c src/ffplot.c src/font.c src/font13.c \ Err bitreich.org 70 i- src/font7.c src/font8.c src/log.c src/scale.c src/tool.c Err bitreich.org 70 i+ src/font8.c src/log.c src/scale.c src/tool.c Err bitreich.org 70 i inc = src/csv.h src/drawille.h src/ffplot.h src/font.h src/log.h \ Err bitreich.org 70 i src/scale.h src/tool.h Err bitreich.org 70 i-bin = ploot-farbfeld ploot-feed ploot-braille Err bitreich.org 70 i+bin = ploot-farbfeld ploot-feed ploot-braille ploot-text Err bitreich.org 70 i obj = ${src:.c=.o} Err bitreich.org 70 i lib = -lm Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/config.mk b/config.mk /scm/ploot/file/config.mk.gph bitreich.org 70 i@@ -1,3 +1,4 @@ Err bitreich.org 70 i CFLAGS = -Wall -Wextra -std=c99 -pedantic -fPIC -I"src" -D_POSIX_C_SOURCE=200811L Err bitreich.org 70 i LFLAGS = -static Err bitreich.org 70 i+PREFIX = /usr/local Err bitreich.org 70 i MANDIR = $(PREFIX)/share/man Err bitreich.org 70 1diff --git a/ploot-braille.c b/ploot-braille.c /scm/ploot/file/ploot-braille.c.gph bitreich.org 70 i@@ -19,7 +19,7 @@ char const *arg0 = NULL; Err bitreich.org 70 i * Plot the body as an histogram interpolating the gaps and include Err bitreich.org 70 i * a vertical and horizontal axis. Err bitreich.org 70 i */ Err bitreich.org 70 i-int Err bitreich.org 70 i+static int Err bitreich.org 70 i braille_histogram(struct csv *vl, struct drawille *drw, Err bitreich.org 70 i time_t tmin, time_t tmax, double vmin, double vmax) Err bitreich.org 70 i { Err bitreich.org 70 i@@ -37,7 +37,7 @@ braille_histogram(struct csv *vl, struct drawille *drw, Err bitreich.org 70 i continue; Err bitreich.org 70 i y = scale_ypos(*v, vmin, vmax, drw->row * 4); Err bitreich.org 70 i x = scale_xpos(*t, tmin, tmax, drw->col * 2); Err bitreich.org 70 i- if (n < vl->n) Err bitreich.org 70 i+ if (n < vl->n) /* only plot when xprev, yprev are set */ Err bitreich.org 70 i drawille_histogram_line(drw, xprev, yprev, x, y, zero); Err bitreich.org 70 i xprev = x; Err bitreich.org 70 i yprev = y; Err bitreich.org 70 i@@ -93,8 +93,10 @@ braille_axis_y(FILE *fp, double vmin, double vmax, int r, int rows) Err bitreich.org 70 i static int Err bitreich.org 70 i braille_render(struct drawille *drw, FILE *fp, double vmin, double vmax) Err bitreich.org 70 i { Err bitreich.org 70 i- for (int row = 0; row < drw->row; row++) { Err bitreich.org 70 i- drawille_put_row(drw, fp, row); Err bitreich.org 70 i+ int row; Err bitreich.org 70 i+ Err bitreich.org 70 i+ for (row = 0; row < drw->row; row++) { Err bitreich.org 70 i+ drawille_put_row(fp, drw, row); Err bitreich.org 70 i braille_axis_y(fp, vmin, vmax, row, drw->row); Err bitreich.org 70 i fprintf(fp, "\n"); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -113,17 +115,24 @@ plot(struct csv *vl, FILE *fp, size_t ncol, int row, int col) Err bitreich.org 70 i col -= 8; Err bitreich.org 70 i Err bitreich.org 70 i scale(vl, ncol, &tmin, &tmax, &tstep, &vmin, &vmax, &vstep); Err bitreich.org 70 i- warn("vstep=%lf vstep=%ld", vstep, tstep); Err bitreich.org 70 i- Err bitreich.org 70 i- if ((drw = drawille_new(row, col)) == NULL) Err bitreich.org 70 i- fatal(1, "allocating drawille canvas"); Err bitreich.org 70 i- if (braille_histogram(vl, drw, tmin, tmax, vmin, vmax) == -1) Err bitreich.org 70 i- fatal(1, "allocating drawille canvas"); Err bitreich.org 70 i- if (braille_render(drw, fp, vmin, vmax) == -1) Err bitreich.org 70 i- fatal(1, "rendering braille canvas"); Err bitreich.org 70 i+ row -= ncol - 1; /* room for the labels and the scale */ Err bitreich.org 70 i+ row /= ncol; /* plot times */ Err bitreich.org 70 i+ row = MAX(row, 3); /* readable */ Err bitreich.org 70 i+ Err bitreich.org 70 i+ debug("vstep=%lf vstep=%ld ncol=%zu row=%zu", vstep, tstep, ncol, row); Err bitreich.org 70 i+ Err bitreich.org 70 i+ for (; ncol > 0; vl++, ncol--) { Err bitreich.org 70 i+ assert(drw = drawille_new(row, col)); Err bitreich.org 70 i+ fprintf(fp, " %s\n", vl->label); Err bitreich.org 70 i+ if (braille_histogram(vl, drw, tmin, tmax, vmin, vmax) == -1) Err bitreich.org 70 i+ fatal(1, "allocating drawille canvas"); Err bitreich.org 70 i+ if (braille_render(drw, fp, vmin, vmax) == -1) Err bitreich.org 70 i+ fatal(1, "rendering braille canvas"); Err bitreich.org 70 i+ free(drw); Err bitreich.org 70 i+ } Err bitreich.org 70 i if (braille_axis_x(fp, tmin, tmax, tstep, col) == -1) Err bitreich.org 70 i fatal(1, "printing x axis");; Err bitreich.org 70 i- free(drw); Err bitreich.org 70 i+ Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i static void Err bitreich.org 70 i@@ -138,11 +147,27 @@ main(int argc, char **argv) Err bitreich.org 70 i { Err bitreich.org 70 i struct csv *vl; Err bitreich.org 70 i size_t ncol; Err bitreich.org 70 i- int c; Err bitreich.org 70 i+ int c, rows, cols; Err bitreich.org 70 i Err bitreich.org 70 i+ rows = 20, cols = 80; Err bitreich.org 70 i optind = 0; Err bitreich.org 70 i- while ((c = getopt(argc, argv, "")) > -1) { Err bitreich.org 70 i+ while ((c = getopt(argc, argv, "r:c:")) > -1) { Err bitreich.org 70 i switch (c) { Err bitreich.org 70 i+ case 'r': Err bitreich.org 70 i+ rows = atoi(optarg); Err bitreich.org 70 i+ if (rows < 1) { Err bitreich.org 70 i+ error("invalid number of rows"); Err bitreich.org 70 i+ usage(); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ case 'c': Err bitreich.org 70 i+ cols = atoi(optarg); Err bitreich.org 70 i+ if (rows < 1) { Err bitreich.org 70 i+ error("invalid number of columns"); Err bitreich.org 70 i+ usage(); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ Err bitreich.org 70 i default: Err bitreich.org 70 i usage(); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -153,12 +178,10 @@ main(int argc, char **argv) Err bitreich.org 70 i if (argc > 0) Err bitreich.org 70 i usage(); Err bitreich.org 70 i Err bitreich.org 70 i- debug("label"); Err bitreich.org 70 i csv_labels(stdin, &vl, &ncol); Err bitreich.org 70 i- debug("values"); Err bitreich.org 70 i csv_values(stdin, vl, ncol); Err bitreich.org 70 i Err bitreich.org 70 i- plot(vl, stdout, ncol, 20, 80); Err bitreich.org 70 i+ plot(vl, stdout, ncol, rows, cols); Err bitreich.org 70 i Err bitreich.org 70 i free(vl); Err bitreich.org 70 i return 1; Err bitreich.org 70 1diff --git a/ploot-feed.c b/ploot-feed.c /scm/ploot/file/ploot-feed.c.gph bitreich.org 70 i@@ -1,11 +1,12 @@ Err bitreich.org 70 i-#include Err bitreich.org 70 i-#include Err bitreich.org 70 i-#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i-#include Err bitreich.org 70 i-#include Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i #include "tool.h" Err bitreich.org 70 i@@ -57,9 +58,12 @@ plot_row(long *out, char *line, double *max, int nrow, int ncol) Err bitreich.org 70 i int n; Err bitreich.org 70 i char *tok; Err bitreich.org 70 i Err bitreich.org 70 i- if ((tok = strsep(&line, ",")) == NULL) Err bitreich.org 70 i+ tok = strsep(&line, ","); Err bitreich.org 70 i+ if (!tok) Err bitreich.org 70 i fatal(100, "*** missing epoch value"); Err bitreich.org 70 i- epoch = eatol(tok); Err bitreich.org 70 i+ epoch = strtol(tok, NULL, 10); Err bitreich.org 70 i+ if (errno) Err bitreich.org 70 i+ error("*** parsing epoch '%s'", tok); Err bitreich.org 70 i Err bitreich.org 70 i for (n = 0; (tok = strsep(&line, ",")) != NULL; n++) { Err bitreich.org 70 i if (n >= ncol) Err bitreich.org 70 i@@ -92,7 +96,7 @@ plot_line(long *out, double *max, int ncol) Err bitreich.org 70 i memcpy(o, &rune, sizeof(rune)); Err bitreich.org 70 i out++; Err bitreich.org 70 i Err bitreich.org 70 i- sz = 0; Err bitreich.org 70 i+ line = NULL, sz = 0; Err bitreich.org 70 i for (nrow = 0; nrow < 4; nrow++) { Err bitreich.org 70 i if (getline(&line, &sz, stdin) == -1) { Err bitreich.org 70 i if (ferror(stdin)) Err bitreich.org 70 i@@ -172,12 +176,13 @@ read_labels(char **labv) Err bitreich.org 70 i char *cp, *line, *tok; Err bitreich.org 70 i size_t sz; Err bitreich.org 70 i Err bitreich.org 70 i- sz = 0; Err bitreich.org 70 i+ line = NULL, sz = 0; Err bitreich.org 70 i if (getline(&line, &sz, stdin) == -1) { Err bitreich.org 70 i if (ferror(stdin)) Err bitreich.org 70 i fatal(111, "reading labels from stdin"); Err bitreich.org 70 i fatal(100, "missing label line", stderr); Err bitreich.org 70 i } Err bitreich.org 70 i+ strchomp(line); Err bitreich.org 70 i cp = line; Err bitreich.org 70 i Err bitreich.org 70 i if (strcmp(strsep(&cp, ","), "epoch") != 0) Err bitreich.org 70 i@@ -189,7 +194,6 @@ read_labels(char **labv) Err bitreich.org 70 i Err bitreich.org 70 i if (ncol < 1) Err bitreich.org 70 i fatal(100, "no label found"); Err bitreich.org 70 i- free(line); Err bitreich.org 70 i return ncol; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -236,8 +240,11 @@ main(int argc, char **argv) Err bitreich.org 70 i usage(); Err bitreich.org 70 i Err bitreich.org 70 i nmax = argc; Err bitreich.org 70 i- for (m = max; argc > 0; argc--, argv++, m++) Err bitreich.org 70 i- *m = eatof(*argv); Err bitreich.org 70 i+ for (m = max; argc > 0; argc--, argv++, m++) { Err bitreich.org 70 i+ *m = strtod(*argv, NULL); Err bitreich.org 70 i+ if (errno) Err bitreich.org 70 i+ error("*** parsing float '%s'", *argv); Err bitreich.org 70 i+ } Err bitreich.org 70 i Err bitreich.org 70 i ncol = read_labels(labv); Err bitreich.org 70 i width = (wflag - sizeof("XXxXXxXX _")) / ncol - sizeof("|"); Err bitreich.org 70 1diff --git a/ploot-text.c b/ploot-text.c /scm/ploot/file/ploot-text.c.gph bitreich.org 70 i@@ -0,0 +1,59 @@ Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i+#include "drawille.h" Err bitreich.org 70 i+#include "font.h" Err bitreich.org 70 i+#include "tool.h" Err bitreich.org 70 i+ Err bitreich.org 70 i+char *arg0 = NULL; Err bitreich.org 70 i+ Err bitreich.org 70 i+void Err bitreich.org 70 i+usage(void) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ fprintf(stderr, "usage: %s [-123] text\n", arg0); Err bitreich.org 70 i+ exit(100); Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+int Err bitreich.org 70 i+main(int argc, char **argv) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ struct font *ft; Err bitreich.org 70 i+ struct drawille *drw; Err bitreich.org 70 i+ char *text; Err bitreich.org 70 i+ int c, row; Err bitreich.org 70 i+ Err bitreich.org 70 i+ ft = &font8; Err bitreich.org 70 i+ optind = 0; Err bitreich.org 70 i+ while ((c = getopt(argc, argv, "12")) > -1) { Err bitreich.org 70 i+ switch (c) { Err bitreich.org 70 i+ case '1': Err bitreich.org 70 i+ ft = &font8; Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ case '2': Err bitreich.org 70 i+ ft = &font13; Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ default: Err bitreich.org 70 i+ usage(); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ } Err bitreich.org 70 i+ arg0 = *argv; Err bitreich.org 70 i+ argc -= optind; Err bitreich.org 70 i+ argv += optind; Err bitreich.org 70 i+ Err bitreich.org 70 i+ if (argc != 1) Err bitreich.org 70 i+ usage(); Err bitreich.org 70 i+ Err bitreich.org 70 i+ text = *argv; Err bitreich.org 70 i+ Err bitreich.org 70 i+ assert(drw = drawille_new((ft->height + 3) / 4, font_strlen(ft, text) / 2)); Err bitreich.org 70 i+ drawille_text(drw, 0, 0, ft, text); Err bitreich.org 70 i+ Err bitreich.org 70 i+ for (row = 0; row < drw->row; row++) { Err bitreich.org 70 i+ drawille_put_row(stdout, drw, row); Err bitreich.org 70 i+ fprintf(stdout, "\n"); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ Err bitreich.org 70 i+ free(drw); Err bitreich.org 70 i+} Err bitreich.org 70 1diff --git a/src/csv.c b/src/csv.c /scm/ploot/file/src/csv.c.gph bitreich.org 70 i@@ -1,9 +1,11 @@ Err bitreich.org 70 i #include "csv.h" Err bitreich.org 70 i Err bitreich.org 70 i+#include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i Err bitreich.org 70 i #include "log.h" Err bitreich.org 70 i #include "tool.h" Err bitreich.org 70 i@@ -35,22 +37,29 @@ csv_addrow(struct csv *vl, size_t ncol, char *line) Err bitreich.org 70 i { Err bitreich.org 70 i char *field; Err bitreich.org 70 i time_t *tbuf; Err bitreich.org 70 i+ long l; Err bitreich.org 70 i+ double d; Err bitreich.org 70 i Err bitreich.org 70 i- if ((field = strsep(&line, ",")) == NULL) Err bitreich.org 70 i+ field = strsep(&line, ","); Err bitreich.org 70 i+ if (!field) Err bitreich.org 70 i fatal(1, "missing epoch at row %zu", vl->n); Err bitreich.org 70 i Err bitreich.org 70 i- csv_addtime(vl, eatol(field)); Err bitreich.org 70 i- for (; (field = strsep(&line, ",")) != NULL; ncol--, vl->n++, vl++) { Err bitreich.org 70 i+ l = strtol(field, NULL, 10); Err bitreich.org 70 i+ if (errno) Err bitreich.org 70 i+ fatal(100, "parsing number '%s'", field); Err bitreich.org 70 i+ csv_addtime(vl, l); Err bitreich.org 70 i+ tbuf = vl[0].t; Err bitreich.org 70 i+ for (; (field = strsep(&line, ",")); ncol--, vl->n++, vl++) { Err bitreich.org 70 i if (ncol == 0) Err bitreich.org 70 i fatal(1, "too many fields at line %zu", vl->n); Err bitreich.org 70 i- csv_addval(vl, eatof(field)); Err bitreich.org 70 i+ d = strtod(field, NULL); Err bitreich.org 70 i+ if (errno) Err bitreich.org 70 i+ fatal(100, "parsing double '%s'", field); Err bitreich.org 70 i+ csv_addval(vl, d); Err bitreich.org 70 i+ vl->t = tbuf; Err bitreich.org 70 i } Err bitreich.org 70 i if (ncol > 0) Err bitreich.org 70 i fatal(1, "too few fields at line %zu", vl->n); Err bitreich.org 70 i- Err bitreich.org 70 i- /* the same time buffer can be used for all columns */ Err bitreich.org 70 i- for (tbuf = vl->t; ncol > 0; ncol--, vl++) Err bitreich.org 70 i- vl->t = tbuf; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i /* Err bitreich.org 70 i@@ -64,6 +73,7 @@ csv_labels(FILE *fp, struct csv **vl, size_t *ncol) Err bitreich.org 70 i size_t sz; Err bitreich.org 70 i ssize_t r; Err bitreich.org 70 i Err bitreich.org 70 i+ sz = 0, line = NULL; Err bitreich.org 70 i r = getline(&line, &sz, fp); Err bitreich.org 70 i if (ferror(fp)) Err bitreich.org 70 i fatal(111, "error while reading from file"); Err bitreich.org 70 i@@ -97,7 +107,7 @@ csv_values(FILE *fp, struct csv *vl, size_t ncol) Err bitreich.org 70 i char *line; Err bitreich.org 70 i size_t sz; Err bitreich.org 70 i Err bitreich.org 70 i- sz = 0; Err bitreich.org 70 i+ sz = 0, line = NULL; Err bitreich.org 70 i while (getline(&line, &sz, fp) > -1) Err bitreich.org 70 i csv_addrow(vl, ncol, line); Err bitreich.org 70 i if (vl->n == 0) Err bitreich.org 70 1diff --git a/src/drawille.c b/src/drawille.c /scm/ploot/file/src/drawille.c.gph bitreich.org 70 i@@ -8,6 +8,8 @@ Err bitreich.org 70 i Err bitreich.org 70 i #include "font.h" Err bitreich.org 70 i Err bitreich.org 70 i+#include "log.h" /* XXX */ Err bitreich.org 70 i+ Err bitreich.org 70 i /* Err bitreich.org 70 i * Terminal-based plotting using drawille character, aka drawille. Err bitreich.org 70 i */ Err bitreich.org 70 i@@ -55,7 +57,7 @@ drawille_get(struct drawille *drw, int row, int col) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i size_t Err bitreich.org 70 i-drawille_put_row(struct drawille *drw, FILE *fp, int row) Err bitreich.org 70 i+drawille_put_row(FILE *fp, struct drawille *drw, int row) Err bitreich.org 70 i { Err bitreich.org 70 i char txt[] = "xxx"; Err bitreich.org 70 i size_t n; Err bitreich.org 70 i@@ -145,8 +147,9 @@ drawille_histogram_dot(struct drawille *drw, int x, int y, int zero) Err bitreich.org 70 i int sign; Err bitreich.org 70 i Err bitreich.org 70 i sign = (y > zero) ? (+1) : (-1); Err bitreich.org 70 i- for (; y != zero + sign; y -= sign) Err bitreich.org 70 i+ for (; y != zero; y -= sign) Err bitreich.org 70 i drawille_dot(drw, x, y); Err bitreich.org 70 i+ drawille_dot(drw, x, y); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i void Err bitreich.org 70 i@@ -187,7 +190,7 @@ drawille_text(struct drawille *drw, int x, int y, struct font *font, char *s) Err bitreich.org 70 i { Err bitreich.org 70 i if (drw->row*4 < font->height) Err bitreich.org 70 i return NULL; Err bitreich.org 70 i- for (; *s != '\0' && x < drw->col/2; s++, x++) Err bitreich.org 70 i+ for (; *s != '\0' && x < drw->col * 2; s++, x++) Err bitreich.org 70 i x += drawille_text_glyph(drw, x, y, font, *s); Err bitreich.org 70 i return s; Err bitreich.org 70 i } Err bitreich.org 70 1diff --git a/src/drawille.h b/src/drawille.h /scm/ploot/file/src/drawille.h.gph bitreich.org 70 i@@ -17,7 +17,7 @@ struct drawille { Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i /**/ Err bitreich.org 70 i-size_t drawille_put_row (struct drawille *, FILE *, int); Err bitreich.org 70 i+size_t drawille_put_row (FILE *, struct drawille *, int); Err bitreich.org 70 i void drawille_dot (struct drawille *, int, int); Err bitreich.org 70 i struct drawille *drawille_new (int, int); Err bitreich.org 70 i void drawille_line (struct drawille *, int, int, int, int); Err bitreich.org 70 1diff --git a/src/ffplot.c b/src/ffplot.c /scm/ploot/file/src/ffplot.c.gph bitreich.org 70 i@@ -140,7 +140,7 @@ ffplot_print(FILE *fp, struct ffplot *plot) Err bitreich.org 70 i w = htonl(plot->w); Err bitreich.org 70 i h = htonl(plot->h); Err bitreich.org 70 i Err bitreich.org 70 i- fputs("ffplot", stdout); Err bitreich.org 70 i+ fprintf(stdout, "farbfeld"); Err bitreich.org 70 i fwrite(&w, sizeof(w), 1, fp); Err bitreich.org 70 i fwrite(&h, sizeof(h), 1, fp); Err bitreich.org 70 i fwrite(plot->buf, plot->w * plot->h, sizeof(*plot->buf), fp); Err bitreich.org 70 1diff --git a/src/font.c b/src/font.c /scm/ploot/file/src/font.c.gph bitreich.org 70 i@@ -15,6 +15,6 @@ font_strlen(struct font *ft, char *s) Err bitreich.org 70 i Err bitreich.org 70 i len = 0; Err bitreich.org 70 i for (; *s != '\0'; s++) Err bitreich.org 70 i- len += font_width(ft, *s); Err bitreich.org 70 i+ len += font_width(ft, *s) + 1; Err bitreich.org 70 i return len; Err bitreich.org 70 i } Err bitreich.org 70 1diff --git a/src/font.h b/src/font.h /scm/ploot/file/src/font.h.gph bitreich.org 70 i@@ -11,9 +11,8 @@ struct font { Err bitreich.org 70 i char *glyph[128]; /* 0: end, 1: off, 2: on. */ Err bitreich.org 70 i }; Err bitreich.org 70 i Err bitreich.org 70 i-struct font font13; Err bitreich.org 70 i-struct font font7; Err bitreich.org 70 i struct font font8; Err bitreich.org 70 i+struct font font13; Err bitreich.org 70 i Err bitreich.org 70 i /**/ Err bitreich.org 70 i size_t font_width (struct font *, int); Err bitreich.org 70 1diff --git a/src/font13.c b/src/font13.c /scm/ploot/file/src/font13.c.gph bitreich.org 70 i@@ -1039,7 +1039,7 @@ C(underscore) = { Err bitreich.org 70 i _,_,_,_,_, Err bitreich.org 70 i _,_,_,_,_, Err bitreich.org 70 i _,_,_,_,_, Err bitreich.org 70 i-X ,X,X,X,X,X, Err bitreich.org 70 i+ X,X,X,X,X, Err bitreich.org 70 i _,_,_,_,_, Err bitreich.org 70 i _,_,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 1diff --git a/src/font7.c b/src/font7.c /scm/ploot/file/src/font7.c.gph bitreich.org 70 i@@ -1,743 +0,0 @@ Err bitreich.org 70 i-#include "font.h" Err bitreich.org 70 i- Err bitreich.org 70 i-#define C(x) static char glyph_##x[] Err bitreich.org 70 i-#define _ 2 Err bitreich.org 70 i-#define X 3 Err bitreich.org 70 i- Err bitreich.org 70 i-C(err) = { Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(A) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(B) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(C) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(D) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(E) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(F) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(G) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,X,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(H) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(I) = { Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- X,X,X, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- X,X,X, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(J) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,X,_, Err bitreich.org 70 i- _,_,X,_, Err bitreich.org 70 i- _,_,X,_, Err bitreich.org 70 i- X,X,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(K) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,X,_, Err bitreich.org 70 i- X,X,_,_, Err bitreich.org 70 i- X,_,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(L) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(M) = { Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- X,_,_,_,X, Err bitreich.org 70 i- X,X,_,X,X, Err bitreich.org 70 i- X,_,X,_,X, Err bitreich.org 70 i- X,_,_,_,X, Err bitreich.org 70 i- X,_,_,_,X, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(N) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,_,X, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- X,_,X,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(O) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(P) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(Q) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,X,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(R) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(S) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(T) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(U) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(V) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,X,_, Err bitreich.org 70 i- X,_,X,_, Err bitreich.org 70 i- X,X,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(W) = { Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- X,_,_,_,X, Err bitreich.org 70 i- X,_,_,_,X, Err bitreich.org 70 i- X,_,X,_,X, Err bitreich.org 70 i- X,_,X,_,X, Err bitreich.org 70 i- _,X,_,X,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(X) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(Y) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,X,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(Z) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(a) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(b) = { Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(c) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(d) = { Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(e) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(f) = { Err bitreich.org 70 i- _,X,X, Err bitreich.org 70 i- X,_,_, Err bitreich.org 70 i- X,_,_, Err bitreich.org 70 i- X,X,_, Err bitreich.org 70 i- X,_,_, Err bitreich.org 70 i- X,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(g) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(h) = { Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(i) = { Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- X,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,X, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(j) = { Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- X,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- X,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(k) = { Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,X,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(l) = { Err bitreich.org 70 i- X,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- X,X,X, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(m) = { Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- X,X,X,X,_, Err bitreich.org 70 i- X,_,X,_,X, Err bitreich.org 70 i- X,_,X,_,X, Err bitreich.org 70 i- X,_,X,_,X, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(n) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(o) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(p) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(q) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(r) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,X,X, Err bitreich.org 70 i- X,X,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(s) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- X,X,_,_, Err bitreich.org 70 i- _,_,X,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(t) = { Err bitreich.org 70 i- X,_,_, Err bitreich.org 70 i- X,_,_, Err bitreich.org 70 i- X,X,X, Err bitreich.org 70 i- X,_,_, Err bitreich.org 70 i- X,_,_, Err bitreich.org 70 i- _,X,X, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(u) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(v) = { Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- X,_,_,_,X, Err bitreich.org 70 i- X,_,_,_,X, Err bitreich.org 70 i- _,X,_,X,_, Err bitreich.org 70 i- _,_,X,_,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(w) = { Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- X,_,_,_,X, Err bitreich.org 70 i- X,_,X,_,X, Err bitreich.org 70 i- X,_,X,_,X, Err bitreich.org 70 i- _,X,_,X,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(x) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(y) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(z) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,_,X,_, Err bitreich.org 70 i- _,X,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(0) = { Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,X,X, Err bitreich.org 70 i- X,X,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(1) = { Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- X,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- _,X,_, Err bitreich.org 70 i- X,X,X, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(2) = { Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,_,X,_, Err bitreich.org 70 i- _,X,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(3) = { Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(4) = { Err bitreich.org 70 i- _,_,X,X, Err bitreich.org 70 i- _,X,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(5) = { Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(6) = { Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,_, Err bitreich.org 70 i- X,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(7) = { Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,_,X,_, Err bitreich.org 70 i- _,_,X,_, Err bitreich.org 70 i- _,X,_,_, Err bitreich.org 70 i- _,X,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(8) = { Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(9) = { Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- X,_,_,X, Err bitreich.org 70 i- _,X,X,X, Err bitreich.org 70 i- _,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-C(space) = { Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i-0}; Err bitreich.org 70 i- Err bitreich.org 70 i-struct font font7 = { 8, { Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_space, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_0, glyph_1, glyph_2, glyph_3, Err bitreich.org 70 i- glyph_4, glyph_5, glyph_6, glyph_7, Err bitreich.org 70 i- glyph_8, glyph_9, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_A, glyph_B, glyph_C, Err bitreich.org 70 i- glyph_D, glyph_E, glyph_F, glyph_G, Err bitreich.org 70 i- glyph_H, glyph_I, glyph_J, glyph_K, Err bitreich.org 70 i- glyph_L, glyph_M, glyph_N, glyph_O, Err bitreich.org 70 i- glyph_P, glyph_Q, glyph_R, glyph_S, Err bitreich.org 70 i- glyph_T, glyph_U, glyph_V, glyph_W, Err bitreich.org 70 i- glyph_X, glyph_Y, glyph_Z, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_a, glyph_b, glyph_c, Err bitreich.org 70 i- glyph_d, glyph_e, glyph_f, glyph_g, Err bitreich.org 70 i- glyph_h, glyph_i, glyph_j, glyph_k, Err bitreich.org 70 i- glyph_l, glyph_m, glyph_n, glyph_o, Err bitreich.org 70 i- glyph_p, glyph_q, glyph_r, glyph_s, Err bitreich.org 70 i- glyph_t, glyph_u, glyph_v, glyph_w, Err bitreich.org 70 i- glyph_x, glyph_y, glyph_z, glyph_err, Err bitreich.org 70 i- glyph_err, glyph_err, glyph_err, glyph_err Err bitreich.org 70 i-} }; Err bitreich.org 70 1diff --git a/src/font8.c b/src/font8.c /scm/ploot/file/src/font8.c.gph bitreich.org 70 i@@ -16,64 +16,64 @@ C(error) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(A) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i _,X,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,X,X,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(B) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(C) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i _,X,X,X, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i+ X,_,_,_, Err bitreich.org 70 i _,X,X,X, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(D) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(E) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,X,X,X, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i+ X,_,_,_, Err bitreich.org 70 i X,X,X,X, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(F) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,X,X,X, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i+ X,_,_,_, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i@@ -82,9 +82,9 @@ C(F) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(G) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i _,X,X,X, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i+ X,_,_,_, Err bitreich.org 70 i X,_,X,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i _,X,X,X, Err bitreich.org 70 i@@ -93,7 +93,7 @@ C(G) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(H) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,X,X,X, Err bitreich.org 70 i@@ -104,32 +104,32 @@ C(H) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(I) = { Err bitreich.org 70 i- _,_,_, Err bitreich.org 70 i X,X,X, Err bitreich.org 70 i _,X,_, Err bitreich.org 70 i _,X,_, Err bitreich.org 70 i _,X,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i X,X,X, Err bitreich.org 70 i _,_,_, Err bitreich.org 70 i _,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(J) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i _,X,X,X, Err bitreich.org 70 i _,_,X,_, Err bitreich.org 70 i _,_,X,_, Err bitreich.org 70 i _,_,X,_, Err bitreich.org 70 i+ _,_,X,_, Err bitreich.org 70 i X,X,_,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(K) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,X,_, Err bitreich.org 70 i X,X,_,_, Err bitreich.org 70 i+ X,X,_,_, Err bitreich.org 70 i X,_,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i@@ -137,7 +137,7 @@ C(K) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(L) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i+ X,_,_,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i@@ -148,21 +148,21 @@ C(L) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(M) = { Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i X,_,_,_,X, Err bitreich.org 70 i X,X,_,X,X, Err bitreich.org 70 i X,_,X,_,X, Err bitreich.org 70 i X,_,_,_,X, Err bitreich.org 70 i X,_,_,_,X, Err bitreich.org 70 i+ X,_,_,_,X, Err bitreich.org 70 i _,_,_,_,_, Err bitreich.org 70 i _,_,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(N) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,X,_,X, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i+ X,X,_,X, Err bitreich.org 70 i+ X,_,X,X, Err bitreich.org 70 i X,_,X,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i@@ -170,20 +170,20 @@ C(N) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(O) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i _,X,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i _,X,X,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(P) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i@@ -192,10 +192,10 @@ C(P) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(Q) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i _,X,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i X,_,X,X, Err bitreich.org 70 i _,X,X,X, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i@@ -203,9 +203,9 @@ C(Q) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(R) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i X,_,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i@@ -214,10 +214,10 @@ C(R) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(S) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i _,X,X,X, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i+ _,X,_,_, Err bitreich.org 70 i+ _,_,X,_, Err bitreich.org 70 i _,_,_,X, Err bitreich.org 70 i X,X,X,_, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i@@ -225,18 +225,18 @@ C(S) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(T) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- X,X,X,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i+ X,X,X,X,X, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(U) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i@@ -247,7 +247,7 @@ C(U) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(V) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,X,_, Err bitreich.org 70 i@@ -258,7 +258,7 @@ C(V) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(W) = { Err bitreich.org 70 i- _,_,_,_,_, Err bitreich.org 70 i+ X,_,_,_,X, Err bitreich.org 70 i X,_,_,_,X, Err bitreich.org 70 i X,_,_,_,X, Err bitreich.org 70 i X,_,X,_,X, Err bitreich.org 70 i@@ -269,10 +269,10 @@ C(W) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(X) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i _,X,X,_, Err bitreich.org 70 i+ _,X,X,_, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i@@ -280,7 +280,7 @@ C(X) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(Y) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i X,_,_,X, Err bitreich.org 70 i _,X,X,_, Err bitreich.org 70 i@@ -291,10 +291,10 @@ C(Y) = { Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i C(Z) = { Err bitreich.org 70 i- _,_,_,_, Err bitreich.org 70 i X,X,X,X, Err bitreich.org 70 i _,_,_,X, Err bitreich.org 70 i- _,X,X,_, Err bitreich.org 70 i+ _,_,X,_, Err bitreich.org 70 i+ _,X,_,_, Err bitreich.org 70 i X,_,_,_, Err bitreich.org 70 i X,X,X,X, Err bitreich.org 70 i _,_,_,_, Err bitreich.org 70 i@@ -707,6 +707,226 @@ C(space) = { Err bitreich.org 70 i _,_,_, Err bitreich.org 70 i 0}; Err bitreich.org 70 i Err bitreich.org 70 i+C(exclam) = { Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(dquote) = { Err bitreich.org 70 i+ X,_,X, Err bitreich.org 70 i+ X,_,X, Err bitreich.org 70 i+ X,_,X, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(hash) = { Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+ _,X,_,X,_, Err bitreich.org 70 i+ X,X,X,X,X, Err bitreich.org 70 i+ _,X,_,X,_, Err bitreich.org 70 i+ X,X,X,X,X, Err bitreich.org 70 i+ _,X,_,X,_, Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(dollar) = { Err bitreich.org 70 i+ _,X,_,_, Err bitreich.org 70 i+ X,X,X,X, Err bitreich.org 70 i+ X,X,_,_, Err bitreich.org 70 i+ _,X,X,_, Err bitreich.org 70 i+ _,X,_,X, Err bitreich.org 70 i+ X,X,X,X, Err bitreich.org 70 i+ _,X,_,_, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(percent) = { Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i+ _,_,X,_, Err bitreich.org 70 i+ _,X,_,_, Err bitreich.org 70 i+ X,_,_,X, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(amp) = { Err bitreich.org 70 i+ _,X,_,_, Err bitreich.org 70 i+ X,_,X,_, Err bitreich.org 70 i+ _,X,_,_, Err bitreich.org 70 i+ X,_,X,X, Err bitreich.org 70 i+ X,_,X,_, Err bitreich.org 70 i+ _,X,X,X, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(squote) = { Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(lparen) = { Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ _,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(rparen) = { Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ _,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(star) = { Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ X,_,X,_,X, Err bitreich.org 70 i+ _,X,X,X,_, Err bitreich.org 70 i+ X,_,X,_,X, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(plus) = { Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ X,X,X,X,X, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ _,_,X,_,_, Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+ _,_,_,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(coma) = { Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ X,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(minus) = { Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ X,X,X,X, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+ _,_,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(dot) = { Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(slash) = { Err bitreich.org 70 i+ _,_,X, Err bitreich.org 70 i+ _,_,X, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ X,_,_, Err bitreich.org 70 i+ X,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(lbracket) = { Err bitreich.org 70 i+ X,X, Err bitreich.org 70 i+ _,_, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ X,_, Err bitreich.org 70 i+ X,X, Err bitreich.org 70 i+ _,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(rbracket) = { Err bitreich.org 70 i+ X,X, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ _,X, Err bitreich.org 70 i+ X,X, Err bitreich.org 70 i+ _,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(bkslash) = { Err bitreich.org 70 i+ X,_,_, Err bitreich.org 70 i+ X,_,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ _,_,X, Err bitreich.org 70 i+ _,_,X, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(hat) = { Err bitreich.org 70 i+ _,X,_, Err bitreich.org 70 i+ X,_,X, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i+C(underscore) = { Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ X,X,X, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+ _,_,_, Err bitreich.org 70 i+0}; Err bitreich.org 70 i+ Err bitreich.org 70 i struct font font8 = { 8, { Err bitreich.org 70 i glyph_error, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i glyph_error, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i@@ -716,10 +936,10 @@ struct font font8 = { 8, { Err bitreich.org 70 i glyph_error, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i glyph_error, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i glyph_error, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i- glyph_space, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i- glyph_error, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i- glyph_error, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i- glyph_error, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i+ glyph_space, glyph_exclam, glyph_dquote, glyph_hash, Err bitreich.org 70 i+ glyph_dollar, glyph_percent, glyph_amp, glyph_squote, Err bitreich.org 70 i+ glyph_lparen, glyph_rparen, glyph_star, glyph_plus, Err bitreich.org 70 i+ glyph_coma, glyph_minus, glyph_dot, glyph_slash, Err bitreich.org 70 i glyph_0, glyph_1, glyph_2, glyph_3, Err bitreich.org 70 i glyph_4, glyph_5, glyph_6, glyph_7, Err bitreich.org 70 i glyph_8, glyph_9, glyph_error, glyph_error, Err bitreich.org 70 i@@ -730,8 +950,8 @@ struct font font8 = { 8, { Err bitreich.org 70 i glyph_L, glyph_M, glyph_N, glyph_O, Err bitreich.org 70 i glyph_P, glyph_Q, glyph_R, glyph_S, Err bitreich.org 70 i glyph_T, glyph_U, glyph_V, glyph_W, Err bitreich.org 70 i- glyph_X, glyph_Y, glyph_Z, glyph_error, Err bitreich.org 70 i- glyph_error, glyph_error, glyph_error, glyph_error, Err bitreich.org 70 i+ glyph_X, glyph_Y, glyph_Z, glyph_lbracket, Err bitreich.org 70 i+ glyph_bkslash, glyph_rbracket, glyph_hat, glyph_underscore, Err bitreich.org 70 i glyph_error, glyph_a, glyph_b, glyph_c, Err bitreich.org 70 i glyph_d, glyph_e, glyph_f, glyph_g, Err bitreich.org 70 i glyph_h, glyph_i, glyph_j, glyph_k, Err bitreich.org 70 1diff --git a/src/tool.c b/src/tool.c /scm/ploot/file/src/tool.c.gph bitreich.org 70 i@@ -46,35 +46,12 @@ strsep(char **strp, const char *sep) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i void Err bitreich.org 70 i-estriplf(char *line) Err bitreich.org 70 i+strchomp(char *s) Err bitreich.org 70 i { Err bitreich.org 70 i- char *lf; Err bitreich.org 70 i+ char *x = s + strlen(s); Err bitreich.org 70 i Err bitreich.org 70 i- if ((lf = strchr(line, '\n')) == NULL || lf[1] != '\0') Err bitreich.org 70 i- fputs("invalid input\n", stderr), exit(1); Err bitreich.org 70 i- *lf = '\0'; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-double Err bitreich.org 70 i-eatof(char *str) Err bitreich.org 70 i-{ Err bitreich.org 70 i- char *s; Err bitreich.org 70 i- Err bitreich.org 70 i- for (s = str; *s != '\0'; s++) Err bitreich.org 70 i- if (!isdigit(*s) && *s != '-' && *s != '.') Err bitreich.org 70 i- fputs("invalid float format\n", stderr), exit(1); Err bitreich.org 70 i- return atof(str); Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-long Err bitreich.org 70 i-eatol(char *str) Err bitreich.org 70 i-{ Err bitreich.org 70 i- char *s; Err bitreich.org 70 i- Err bitreich.org 70 i- for (s = str; *s != '\0'; s++) Err bitreich.org 70 i- if (!isdigit(*s) && *s != '-') Err bitreich.org 70 i- fputs("invalid number format\n", stderr), exit(1); Err bitreich.org 70 i- return atol(str); Err bitreich.org 70 i+ while (--x >= s && (*x == '\r' || *x == '\n')) Err bitreich.org 70 i+ *x = '\0'; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i /* Err bitreich.org 70 1diff --git a/src/tool.h b/src/tool.h /scm/ploot/file/src/tool.h.gph bitreich.org 70 i@@ -12,9 +12,7 @@ Err bitreich.org 70 i size_t strlcpy (char *, const char *, size_t); Err bitreich.org 70 i void put3utf (long); Err bitreich.org 70 i char * strsep (char **, const char *); Err bitreich.org 70 i-void estriplf (char *); Err bitreich.org 70 i-double eatof (char *); Err bitreich.org 70 i-long eatol (char *); Err bitreich.org 70 i+void strchomp (char *); Err bitreich.org 70 i int humanize (char *, double); Err bitreich.org 70 i Err bitreich.org 70 i #endif Err bitreich.org 70 1diff --git a/test.csv b/test.csv /scm/ploot/file/test.csv.gph bitreich.org 70 i@@ -109,6 +109,6 @@ epoch,shortterm,midterm,longterm Err bitreich.org 70 i 1525294298,0.278198,0.260864,0.242920 Err bitreich.org 70 i 1525295198,0.192505,0.183716,0.200806 Err bitreich.org 70 i 1525296098,0.109375,0.185669,0.207153 Err bitreich.org 70 i-1525296098,-0.109375,0.185669,0.207153 Err bitreich.org 70 i+1525296098,0.109375,0.185669,0.207153 Err bitreich.org 70 i 1525296998,0.137085,0.126221,0.138184 Err bitreich.org 70 i 1525297898,0.077881,0.092529,0.109619 Err bitreich.org 70 .