@@ -51,7 +51,7 @@ void enbit(uint8_t value) {
5151}
5252
5353int  main (int  argc , char  * argv []) {
54-   int  i , j , err , size , first  =  ' ' , last  =  '~' , bitmapOffset  =  0 , x , y , byte ;
54+   int  i , j , err , size , f ,  first  =  ' ' , last  =  '~' , bitmapOffset  =  0 , x , y , byte ;
5555  char  * fontName , c , * ptr ;
5656  FT_Library  library ;
5757  FT_Face  face ;
@@ -65,6 +65,7 @@ int main(int argc, char *argv[]) {
6565  //   fontconvert [filename] [size] 
6666  //   fontconvert [filename] [size] [last char] 
6767  //   fontconvert [filename] [size] [first char] [last char] 
68+   // Fractional points (1/64 pt) are used if size ends with 'f' 
6869  // Unless overridden, default first and last chars are 
6970  // ' ' (space) and '~', respectively 
7071
@@ -74,6 +75,7 @@ int main(int argc, char *argv[]) {
7475  }
7576
7677  size  =  atoi (argv [2 ]);
78+   f  =  argv [2 ][strlen (argv [2 ]) -  1 ] ==  'f' ;
7779
7880  if  (argc  ==  4 ) {
7981    last  =  atoi (argv [3 ]);
@@ -109,7 +111,7 @@ int main(int argc, char *argv[]) {
109111    ptr  =  & fontName [strlen (fontName )]; // If none, append 
110112  // Insert font size and 7/8 bit.  fontName was alloc'd w/extra 
111113  // space to allow this, we're not sprintfing into Forbidden Zone. 
112-   sprintf (ptr , "%dpt% db" , size , (last  >  127 ) ? 8  : 7 );
114+   sprintf (ptr , "%d%spt% db" , size ,  f  ?  "f"  :  "" , (last  >  127 ) ? 8  : 7 );
113115  // Space and punctuation chars in name replaced w/ underscores. 
114116  for  (i  =  0 ; (c  =  fontName [i ]); i ++ ) {
115117    if  (isspace (c ) ||  ispunct (c ))
@@ -137,7 +139,7 @@ int main(int argc, char *argv[]) {
137139  }
138140
139141  // << 6 because '26dot6' fixed-point format 
140-   FT_Set_Char_Size (face , size  << 6 , 0 , DPI , 0 );
142+   FT_Set_Char_Size (face , f  ?  size  :  size  << 6 , 0 , DPI , 0 );
141143
142144  // Currently all symbols from 'first' to 'last' are processed. 
143145  // Fonts may contain WAY more glyphs than that, but this code 
0 commit comments