>> >> Yes, it has been already done.
>>
>> Hmm.  Which commit is this?  I don't see anything recent change in
>> the `parthw-cleanup' branch related to this issue.
>
> Actually this was done from the start itself, I misunderstood
> somethings and got confused myself and then I figured out that it
> was fine.  You can check in the `GF_Glyph_Load' function in
> `gfdrivr.c', in the latest source tree.

No, no, you are mistaken.  In `gfdrivr.c', line 398 (function
`GF_Glyph_Load') there is

  bm = gf->gf_glyph->bm_table[glyph_index];

which means that you don't load the glyph on demand from the font file
stream.  Instead, you have already loaded *all* bitmaps into
`bm_table'[*] while creating the GF face object, and you simply get a
pointer into this array and copy the bitmap into the glyph slot.

This wastes a lot of memory; it also makes `GF_Init_Face'
unnecessarily slow.  I asked you to change this code so that
`GF_Init_Face' only loads file stream *offsets* to an array.  The
actual bitmap (namely a *single* one for a given glyph index, and not
all together) should then be loaded by `GF_Glyph_Load', seeking to the
stored offset and starting the parsing of the GF data.


    Werner


[*] bm_table[0]->bitmap, bm_table[1]->bitmap, etc.

_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to