Hi Simon, On Mon, Apr 27, 2015 at 5:57 AM, Simon Cozens <[email protected]> wrote: > On 26/04/2015 23:18, Zdenek Wagner wrote: >> I pushed a fix in r37053, both ITF Devanagari and Kohinoor Devanagari >> works for me now. > > I'm still seeing problems with Kohinoor Devanagari, even after the two > recent commits. > > The problem I'm getting is that I'm looking for Kohinoor Devangari > Light, which is index 4 in the cabinet. > > At cidtype0.c:746, offset is 924, so cidtype0 calls cff_open(stream, > 924, 4). > > However, after reading the index of the TTC with "idx = > cff_get_index(cff)", (cff.c:105) idx->count is 1. This can't be right, > as there are definitely 4 fonts in the cabinet. We try to access index > n=4, and that's higher than idx->count so dvipdfmx blows up. > > What I guess is happening is that, having gone to the right offset, you > are now looking at a font (Kohinoor Devangari Light) within the cabinet. > From the point of view of that font, there are no subfonts, so index 4 > is meaningless, and perhaps instead you should be calling > cff_open(stream, offset, 1). (This is only a guess.) > > There is something else which looks suspicious as well - in > CIDFont_type0_dofont we now have the code: > > if (sfont->type == SFNT_TYPE_TTC) > offset = ttc_read_offset(sfont, CIDFont_get_opt_index(font)); > > if ((sfont->type != SFNT_TYPE_TTC && sfont->type != > SFNT_TYPE_POSTSCRIPT) || > sfnt_read_table_directory(sfont, offset) < 0) > ERROR("Not a CFF/OpenType font (1)?"); > offset = sfnt_find_table_pos(sfont, "CFF "); > > So offset is being read by ttc_read_offset for TTC fonts, and then it is > being unconditionally reassigned by snft_find_table_pos. That might be > right, but it's different to how the font is being loaded in > CIDFont_type0_open.
I think you are right, I have only managed to get the font with index = 0 working, rest of them is still broken, I noticed that yesterday but it was too late to continue, please stay tuned as I will investigate further. - Jiang -------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex
