I think this is a phenomenal step. I don't think it's a specialized feature — it actually opens up a completely different usage field for XeTeX. The past treatment (single-word shaping) was making XeTeX difficult to deal with for purposes eg. of automated font testing or typesetting documents that used fonts that used contextual alternates across word boundaries, i.e. XeTeX's output in OpenType-intense usage fields has always been non-standard. This will make XeTeX more attractive for typographers who'd like to use XeTeX for shorter documents. :)
Thank you, Jonathan! Adam Sent from my mobile phone. > On 18.02.2016, at 11:58, Jonathan Kew <jfkth...@gmail.com> wrote: > > This is a pretty specialized feature, likely to be interest only to a small > minority of users. But for those it concerns, here's something that is > "coming soon to a XeTeX near you"....... > > > I've recently implemented a new feature, controlled by the integer parameter > \XeTeXinterwordspaceshaping. This will be available in the TL'16 release, if > all goes well. > > This feature is relevant only when using OpenType/Graphite/AAT fonts, not > legacy .tfm-based fonts. > > When \XeTeXinterwordspaceshaping is greater than 0, XeTeX will attempt to > support fonts where the width of inter-word spaces may vary contextually, > depending on the preceding and following text. This is needed by fonts such > as SIL's Awami Nastaliq (in development) where words are expected to kern > together across spaces. > > The default behavior of xetex is to measure each word in isolation, and > simply string together a sequence of such word and space (glue) nodes to form > the horizontal list that is then line-broken to form a paragraph. Normally, > when inter-word spaces do not depend on the adjacent words, this works fine; > but in Awami the width of inter-word spaces may vary drastically, even > becoming negative in some cases. > > Setting \XeTeXinterwordspaceshaping=1 tells xetex to measure such spaces "in > context" and take account of the contextually-modified widths during line > breaking. This greatly improves the typeset result with such a font. Each > word is still shaped and rendered individually, but line-breaking and word > spacing respects the inter-word kerning. > > A further complication occurs when not only the width of the space but also > the glyphs of the adjacent words themselves may be subject to contextual > changes. An example of this would be a font that has OpenType ligature rules > that apply to multiple-word sequences; e.g. a symbol font that ligates the > text "credit card" to render a credit-card icon. Another example is the > word-final swash forms in Hoefler Italic, which are intended to be used at > end-of-line but NOT before word spaces within the line. > > These cases are addressed with \XeTeXinterwordspaceshaping=2. With this > value, not only are inter-word spaces measured in context, but also each run > of text (words and intervening spaces) in a single font will be re-shaped as > a unit at \shipout time. This allows full shaping (contextual swashes, > ligatures, etc) to take effect across inter-word spaces. > > Currently, this feature is implemented only in the "contextual-space" branch > of the code at sourceforge; anyone interested in testing it will need to > check out and build the code from there. After some time, if no major > problems show up, I expect to merge it to the master branch, and then to the > TeXLive source tree. > > Feedback welcome.......... > > JK > > > > -------------------------------------------------- > Subscriptions, Archive, and List information, etc.: > http://tug.org/mailman/listinfo/xetex -------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex