> > [Now testing `wip' branch, commit b064189c9] > > > while debugging your code I've observed some issues. > > Here the next bunch of comments. There is so much still to do... > > * The code to compute `encoding' in function `gf_set_encodings' looks > overly complicated. I don't think you need two nested loops for > that. > > * The test in gfdrivr.c:455 is completely wrong. First of all, the > values `code_min' and `code_max' don't reflect the real values in > the GF font; right now they are hard-coded. Please fix that. > > Second, you must not compare glyph indices with `code_{min,max}' at > all, since the latter reflect *encoding* values, not glyph indices! > Glyph indices always start with value 0 and would normally go up to > the number of glyphs - 1. However, as discussed earlier, there > should be two artifical characters added, namely a bitmap shape for > the `.notdef' character at index 0, and a `space' glyph at index 1. > This is still missing... > > * gfdrivr.c:463: `metric' should be a pointer! Right now, you are > uselessly copying the whole structure. > > * And most important: Where do you (re)allocate the bitmap for the > current glyph? `slot->bitmap' is always NULL, and `gf_read_glyph' > has no buffer to store the data it is reading... > > No wonder that no glyphs get displayed. > > Sigh. Giving up right now. Hopefully, you can quickly fix the most > glaring bugs. >
No no, please test on the `cleaned' branch I have mostly fixed all the bugs, please check there now, I did not push changes to the `wip' branch. Thank you Parth On Sun, Aug 12, 2018 at 11:06 PM, Werner LEMBERG <w...@gnu.org> wrote: > > [Now testing `wip' branch, commit b064189c9] > > > while debugging your code I've observed some issues. > > Here the next bunch of comments. There is so much still to do... > > * The code to compute `encoding' in function `gf_set_encodings' looks > overly complicated. I don't think you need two nested loops for > that. > > * The test in gfdrivr.c:455 is completely wrong. First of all, the > values `code_min' and `code_max' don't reflect the real values in > the GF font; right now they are hard-coded. Please fix that. > > Second, you must not compare glyph indices with `code_{min,max}' at > all, since the latter reflect *encoding* values, not glyph indices! > Glyph indices always start with value 0 and would normally go up to > the number of glyphs - 1. However, as discussed earlier, there > should be two artifical characters added, namely a bitmap shape for > the `.notdef' character at index 0, and a `space' glyph at index 1. > This is still missing... > > * gfdrivr.c:463: `metric' should be a pointer! Right now, you are > uselessly copying the whole structure. > > * And most important: Where do you (re)allocate the bitmap for the > current glyph? `slot->bitmap' is always NULL, and `gf_read_glyph' > has no buffer to store the data it is reading... > > No wonder that no glyphs get displayed. > > Sigh. Giving up right now. Hopefully, you can quickly fix the most > glaring bugs. > > > Werner >
_______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/freetype-devel