Am Fri, 18 Feb 2011 22:11:41 -0600 (CST) schrieb msk...@ansuz.sooke.bc.ca: > I'm having trouble with monospace OTF fonts. If I load a monospace OTF > font with fontspec, it works fine at the default size, but when I change > the size with LaTeX class-provided commands such as \Large, the spaces > between words end up the wrong size. I did some digging and found > the problem seems to be that the \fontdimen values do not change when the > font size changes. So if I start with 12-point type, and if I'm lucky > enough to get reasonable-sized word spaces at that size, then when I > switch to 18-point type, the spaces remain the size that would have been > correct for 12-point. > > The same does not happen for Latin Modern; it seems to be specific to OTF. > > Code demonstrating the problem (you will need a monospace OTF font; I can > provide one off-list if anyone wants to try it): > > \documentclass{article} > > \usepackage{fontspec} > > \defaultfontfeatures{% > WordSpace={1,0,0},PunctuationSpace={3},Mapping=tex-text,Path=otf/}
As far as I can see the problem has nothing to do with monospace fonts (I get the result with e.g. Arial or Latin Modern Roman). The problem is the "WordSpace={1,0,0}": It sets the fontdimen when the font is loaded - and switching to another font size doesn't reload a font and so doesn't change the fontdimen. It works as expected if you reload the font by e.g. choosing a bit different feature: \Huge \fontspec[WordSpace={1.1,0,0}]{Latin Modern Roman} ... I would say WordSpace shouldn't be used in \defaultfontfeatures. -- Ulrike Fischer -------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex