int err;
int i;
int pixel_size = DEFAULT_PIXEL_SIZE;
- FT_UInt unicode_table[0x80];
+ FT_UInt unicode_table[0x10000];
int nchars;
if (argc != 2)
FATAL_ERROR ("%s\n", "FT_New_Face: unknown file format");
else if (err)
FATAL_ERROR ("%s\n", "FT_New_Face: unknown error");
- if ((err = FT_Set_Pixel_Sizes (face, 0, pixel_size)))
- FATAL_ERROR ("%s\n", "FT_Set_Pixel_Sizes: error");
-
{
char *str = getenv ("PIXEL_SIZE");
pixel_size = i;
}
+ if ((err = FT_Set_Pixel_Sizes (face, 0, pixel_size)))
+ FATAL_ERROR ("%s\n", "FT_Set_Pixel_Sizes: error");
+
for (i = nchars = 0; i < 0x10000; i++)
if (! FT_Load_Glyph (face, i, FT_LOAD_RENDER | FT_LOAD_MONOCHROME)
&& face->glyph->bitmap.rows * face->glyph->bitmap.width)
nchars++;
- for (i = 0x0D00; i < 0x0D80; i++)
- if ((unicode_table[i - 0x0D00] = FT_Get_Char_Index (face, (FT_ULong) i)))
- nchars++;
+ for (i = 0; i < 0x10000; i++)
+ if ((unicode_table[i] = FT_Get_Char_Index (face, (FT_ULong) i)))
+ {
+ if (! FT_Load_Glyph (face, unicode_table[i],
+ FT_LOAD_RENDER | FT_LOAD_MONOCHROME)
+ && face->glyph->bitmap.rows * face->glyph->bitmap.width)
+ nchars++;
+ else
+ unicode_table[i] = 0;
+ }
dump_header (face, "SuperSoft", nchars, pixel_size);
- for (i = 0; i < 0x80; i++)
+ for (i = 0; i < 0x10000; i++)
if (unicode_table[i])
- dump_image (pixel_size, unicode_table[i], 0x0D00 + i, 1);
+ dump_image (pixel_size, unicode_table[i], i, 1);
for (i = 0; i < 0x10000; i++)
dump_image (pixel_size, i, 0xE000 + i, 0);
dump_tailer ();