mirror of
https://github.com/zyphlar/bdf2c.git
synced 2024-03-08 13:47:46 +00:00
Added -s option to tweak output to match format needed for SmartMatrix library
Now the .c file can be copied directly to the SmartMatrix library without modification
This commit is contained in:
parent
f68c2384bd
commit
b07deb7a48
20
bdf2c.c
20
bdf2c.c
|
@ -84,6 +84,7 @@
|
|||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
int Outline; ///< true generate outlined font
|
||||
int SmartMatrix; // modify output to be used in the SmartMatrix library
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -128,10 +129,16 @@ void CreateFontHeaderFile(FILE * out)
|
|||
///
|
||||
void Header(FILE * out, const char *name)
|
||||
{
|
||||
char * headername;
|
||||
if(!SmartMatrix)
|
||||
headername = "font";
|
||||
else
|
||||
headername = "MatrixFontCommon";
|
||||
|
||||
fprintf(out,
|
||||
"// Created from bdf2c Version %s, (c) 2009, 2010 by Lutz Sammer\n"
|
||||
"//\tLicense AGPLv3: GNU Affero General Public License version 3\n"
|
||||
"\n#include \"font.h\"\n\n", VERSION);
|
||||
"\n#include \"%s.h\"\n\n", VERSION, headername);
|
||||
|
||||
fprintf(out,
|
||||
"\t/// character bitmap for each encoding\n"
|
||||
|
@ -197,7 +204,12 @@ void Footer(FILE * out, const char *name, int width, int height, int chars)
|
|||
name);
|
||||
fprintf(out, "\t.Width = %d, .Height = %d,\n", width, height);
|
||||
fprintf(out, "\t.Chars = %d,\n", chars);
|
||||
|
||||
if(!SmartMatrix)
|
||||
fprintf(out, "\t.Widths = __%s_widths__,\n", name);
|
||||
else
|
||||
fprintf(out, "\t.Widths = 0,\n");
|
||||
|
||||
fprintf(out, "\t.Index = __%s_index__,\n", name);
|
||||
fprintf(out, "\t.Bitmap = __%s_bitmap__,\n", name);
|
||||
fprintf(out, "};\n\n");
|
||||
|
@ -589,6 +601,7 @@ void ReadBdf(FILE * bdf, FILE * out, const char *name)
|
|||
}
|
||||
|
||||
// Output width table for proportional font.
|
||||
if(!SmartMatrix)
|
||||
WidthTable(out, name, width_table, chars);
|
||||
// FIXME: Output offset table for proportional font.
|
||||
// OffsetTable(out, name, offset_table, chars);
|
||||
|
@ -641,7 +654,7 @@ int main(int argc, char *const argv[])
|
|||
// Parse arguments.
|
||||
//
|
||||
for (;;) {
|
||||
switch (getopt(argc, argv, "bcC:n:hO?-")) {
|
||||
switch (getopt(argc, argv, "bcC:n:hOs?-")) {
|
||||
case 'b': // bdf file name
|
||||
ReadBdf(stdin, stdout, name);
|
||||
continue;
|
||||
|
@ -667,6 +680,9 @@ int main(int argc, char *const argv[])
|
|||
case 'O':
|
||||
Outline = 1;
|
||||
continue;
|
||||
case 's':
|
||||
SmartMatrix = 1;
|
||||
continue;
|
||||
|
||||
case EOF:
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue
Block a user