bdf2sfd

BDF to SFD converter, allowing to vectorize bitmap fonts
Log | Files | Refs | README | LICENSE

commit 1c1163dc7ce5faddefe4d87e132776cbe16eb0dd
parent c3664d914e82b5456f7b9d4b33aa1ea0126c9c39
Author: Frederic Cambus <fred@statdns.com>
Date:   Mon, 20 Jan 2020 19:54:31 +0100

Create a fontinfo structure and use it to pass data to header().

Diffstat:
Msrc/bdftosfd.c | 14+++++++++-----
Msrc/header.c | 12+++++++-----
Msrc/header.h | 8+++++++-
3 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/src/bdftosfd.c b/src/bdftosfd.c @@ -108,7 +108,11 @@ main(int argc, char *argv[]) bool readglyph = false; char *token = NULL; - char *chars, *charname, *copyright, *encoding; + char *charname = NULL, *encoding = NULL; + + struct fontinfo font; + + font.name = "Spleen"; int32_t x, y; @@ -118,7 +122,7 @@ main(int argc, char *argv[]) token = strtok(lineBuffer, " \t"); if (token) - copyright = strtok(NULL, "\n"); + font.copyright = strtok(NULL, "\n"); continue; } @@ -127,10 +131,10 @@ main(int argc, char *argv[]) token = strtok(lineBuffer, " \t"); if (token) - chars = strtok(NULL, " \n"); + font.chars = strtok(NULL, " \n"); - if (chars) - header(stdout, "Spleen", chars); + if (font.chars) + header(stdout, &font); continue; } diff --git a/src/header.c b/src/header.c @@ -13,16 +13,18 @@ #include <sys/time.h> #include <stdio.h> +#include "header.h" + void -header(FILE *stream, char *name, char *chars) +header(FILE *stream, struct fontinfo *font) { struct timeval tv; gettimeofday(&tv, NULL); fprintf(stream, "SplineFontDB: 3.0\n"); - fprintf(stream, "FontName: %s\n", name); - fprintf(stream, "FullName: %s\n", name); - fprintf(stream, "FamilyName: %s\n", name); + fprintf(stream, "FontName: %s\n", font->name); + fprintf(stream, "FullName: %s\n", font->name); + fprintf(stream, "FamilyName: %s\n", font->name); fprintf(stream, "Weight: Medium\n"); fprintf(stream, "Version: 1.5.0\n"); fprintf(stream, "ItalicAngle: 0\n"); @@ -65,5 +67,5 @@ header(FILE *stream, char *name, char *chars) fprintf(stream, "FitToEm: 1\n"); fprintf(stream, "WinInfo: 64 16 4\n"); fprintf(stream, "TeXData: 1 0 0 346030 173015 115343 0 1048576 115343 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144\n"); - fprintf(stream, "BeginChars: 65536 %s\n\n", chars); + fprintf(stream, "BeginChars: 65536 %s\n\n", font->chars); } diff --git a/src/header.h b/src/header.h @@ -13,6 +13,12 @@ #ifndef HEADER_H #define HEADER_H -void header(FILE *, char *, char *); +struct fontinfo { + char *name; + char *chars; + char *copyright; +}; + +void header(FILE *, struct fontinfo *); #endif /* HEADER_H */