This looks fine. Try passing NULL for shaperList and see if that changes anything.
If it doesn't, then something in our shape_plan_cache isn't working. I have a hard time imagining what though. On Mon, Aug 11, 2014 at 1:55 AM, Norbert Preining <[email protected]> wrote: > Hi Behdad, > > I have now done the following changes in XeTeXLayoutInterface.cpp > (somewhere aboce the surrounding function, declar curtime and nxttime) > > static time_t curtime; > static time_t nxttime; > > int > layoutChars(XeTeXLayoutEngine engine, uint16_t chars[], int32_t offset, > int32_t count, int32_t max, > bool rightToLeft) > { > ... > > curtime = time(NULL); > fprintf(stderr, "DEBUG [%d] hbFace=%d, segment_props.script=%d, > segment_props.direction=%d, segment-props.language=%d, > engine->nFeatures=%d, shaperList=%s\n", > curtime, hbFace, segment_props.script, > segment_props.direction, segment_props.language, engine->nFeatures, > engine->ShaperList); > shape_plan = hb_shape_plan_create_cached(hbFace, &segment_props, > engine->features, engine->nFeatures, engine->ShaperList); > nxttime = time(NULL); > fprintf(stderr, "DEBUG [%d] <%d> return from > hb_shape_plan_create_cached\n", nxttime, nxttime-curtime); > .... > > > I don't know if this is enough, but I got loads of lines of course, > and about 300 or more where there is > <1> > so a second of working time in hb_shape_plan_create_cached. > > Concerning the other values: > > hbFace: in total 5 different values, 4 at the beginning and then the same > segment_props.script switches between 0 and 1281455214, but most of the > time > it is 128... > segment_props.direction is always 4 > segment-props.language=44576992 > engine->nFeatures=0 > shaperList=<A8>1N (printed as %s) > > I have uploaded the full output and the test file: > http://www.preining.info/xelatexslow-debug-output.log (21M) > http://www.preining.info/xelatexslow-debug-output.log.gz (98k) > http://www.preining.info/xelatexslow.tex (174k) > > Hope that gives you any hint. Let me know if I can provide any > further data. > > Thanks a lot > > Norbert > > ------------------------------------------------------------------------ > PREINING, Norbert http://www.preining.info > JAIST, Japan TeX Live & Debian Developer > GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13 > ------------------------------------------------------------------------ > -- behdad http://behdad.org/

