On 28/02/2011, at 12:56 AM, msk...@ansuz.sooke.bc.ca wrote: > If I edit the fontspec.sty file to include the above definition instead of > the existing one, then inter-word spaces scale correctly. Inter-sentence > spaces don't. Ideally there would be similar code addressing \fontdimen7 > in relation to the PunctuationSpace option.
Yep, exactly. >> Could we measure the width of an "i" and an "m", and if they're the same >> we'd be 99% sure it's a monospace font? If there are fontdimen features that >> could be set more appropriately for such cases, I'd be happy to add an >> automatic feature for this. > > That has obvious problems (in particular, what about a font that isn't > designed for the Latin script and doesn't have "i" or "m"?) but it's > probably the best that can be done. Right; it's easy to bail out early in this test if these two glyphs don't exist. > As has been discussed elsewhere in > this thread, OTF files do include a flag saying whether the font is > monospace, but that flag's value may not really be the right thing to look > at. I'm not sure that fontspec would have any way of checking the flag > value. Also true. > One little gotcha: the current WordSpace option syntax accepts > multipliers to be applied to the defaults. If fontspec for whatever > reason defaulted to zero - which I think it should, in the case of > stretchability for a monospace font - then it's not clear how the user > could override that and make the spaces stretchable after all, should they > want to. Aha, good thinking! That is definitely of some concern. How about, instead, if WordSpace={2,2,2} was a multiplier, but WordSpace={6pt,2pt,1pt} set the values explicitly? (Subject to scaling according to the font size.) > Don't forget to include the inter-sentence extra space among things > affected by monospace; as I mentioned elsewhere on the thread, people > argue about whether the inter-sentence space (word space plus extra) > should be one word space (no extra) or two word spaces (one word space > plus one extra) in a monospace setting, but I think everybody who cares > agrees that the current default of one word space plus 1/3 word space, > which might be appropriate for propotional spacing, isn't appropriate for > monospace. I'm going to need a quick summary of everything we want to do here. I've opened three issues in the fontspec tracker; first to fix the WordSpace/PunctuationSpace behaviour: http://github.com/wspr/fontspec/issues/97 Second to extend the syntax to allow absolute lengths: http://github.com/wspr/fontspec/issues/98 And lastly to add a feature for detecting monospace fonts: http://github.com/wspr/fontspec/issues/99 Have I missed anything? I'll address them when possible (and patches are certainly accepted!) but I'm juggling a lot right now. -- Will -------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex