[XeTeX] Fwd: [tex-live] XeTeX or xdvipdfmx Broken on Mac
Jiang Jiang
gzjjgod at gmail.com
Mon Apr 27 08:14:52 CEST 2015
Hi Simon,
On Mon, Apr 27, 2015 at 5:57 AM, Simon Cozens <simon at simon-cozens.org> 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
More information about the XeTeX
mailing list