ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts  1.0
ESP8266ILI9341DisplayProject
bdfview.c
Go to the documentation of this file.
1 
36 #include <stdio.h>
37 #include <stdlib.h>
38 #include <unistd.h>
39 #include <string.h>
40 #include <limits.h>
41 #include <errno.h>
42 #include <stdint.h>
43 
44 
45 #include "font.h"
46 #include "bdffontutil.h"
47 
48 #define FONTINFO
49 #define FONTSPECS
50 #include "fonts.h"
51 
52 
53 int main(int argc, char *argv[])
54 {
55  char *ptr;
56  int i;
57  int preview = 1;
58  int fontind = 0;
59  int numfonts = 0;
60  int table = 0;
61  int bits = 0;
62  int info = 0;
63  int header = 0;
64  int ccode = 0;
65 
66  _font *p;
67 
68  for(numfonts=0;allfonts[numfonts] != NULL;++numfonts)
69  ;
70 
71  printf("/* We have (%d) fonts */\n",numfonts);
72  for(i=1;i<argc;++i)
73  {
74  ptr = argv[i];
75  if(*ptr == '-')
76  {
77  ++ptr;
78  // Table
79  if(*ptr == 't')
80  {
81  table = 1;
82  continue;
83  }
84  // Bits
85  if(*ptr == 'b')
86  {
87  bits = 1;
88  continue;
89  }
90 
91  // C Code
92  if(*ptr == 'c')
93  {
94  ccode = 1;
95  continue;
96  }
97 
98  // Header
99  if(*ptr == 'h')
100  {
101  header = 1;
102  continue;
103  }
104 
105  // Info
106  if(*ptr == 'h')
107  {
108  info = 1;
109  continue;
110  }
111 
112  // Preview mode
113  if(*ptr == 'p')
114  {
115  ++ptr;
116  if(*ptr)
117  {
118  preview = atoi(ptr);
119  }
120  else
121  {
122  preview = atoi(argv[++i]);
123  }
124  continue;
125  }
126  // Font Index
127  if(*ptr == 'n')
128  {
129  ++ptr;
130  if(*ptr)
131  {
132  fontind = atoi(ptr);
133  }
134  else
135  {
136  fontind = atoi(argv[++i]);
137  }
138  continue;
139  }
140  }
141  }
142  if(fontind >= numfonts)
143  {
144  fprintf(stderr, "font index >= %d\n", numfonts);
145  exit(1);
146 
147  }
148  p = allfonts[fontind];
149 
150  if(header)
151  FontHeaderInfo( stdout, p, argv[0], NULL);
152 
153  if(info)
154  WriteFontInfo( stdout, p);
155 
156  if(ccode)
158 
159  if(bits)
160  WriteFontBits ( stdout, p);
161 
162  if(table)
163  WriteFontTable ( stdout, p);
164 
165  if(preview)
166  WriteFontBitsPreview(stdout, p,preview);
167 
168  return(0);
169 }
int main(int argc, char *argv[])
Definition: bdfview.c:53
void WriteFontTable(FILE *out, _font *font)
Write Specification Font Table.
Definition: bdffontutil.c:684
par BDF font utils for BDF to C code converter Displays fonts generated by bdffont2c BDF to C code co...
void FontHeaderInfo(FILE *out, _font *font, char *prog, char *target)
Write Font Header Information Copyright, font family, etc.
Definition: bdffontutil.c:323
static struct ip_info info
Definition: network.c:55
MEMSPACE int fprintf(FILE *fp, const char *format,...)
fprintf function Example user defined printf function using fputc for I/O This method allows I/O to d...
Definition: posix.c:2484
void WriteFontBits(FILE *out, _font *font)
Write Font bitmap data for all characters in a font.
Definition: bdffontutil.c:631
#define NULL
Definition: cpu.h:55
void WriteFontBitsPreview(FILE *out, _font *font, int preview)
Write all Font characters in a font as ASCII character comments.
Definition: bdffontutil.c:2040
_font * allfonts[]
Include the Generated Font table The generated tables always include Font specifications: width...
Definition: fonts.h:14699
#define stdout
Definition: posix.h:270
MEMSPACE int printf(const char *format,...)
#define stderr
Definition: posix.h:271
void Convert_Font2c(FILE *out, _font *font)
Convert font to C structure Writes header information, font specification, font bitmap.
Definition: bdffontutil.c:365
MEMSPACE int atoi(const char *str)
Convert ASCII string to number in base 10.
Definition: mathio.c:281
void WriteFontInfo(FILE *out, _font *font)
Write C Header: Font Information Summary.
Definition: bdffontutil.c:654
Definition: font.h:70