On 31 Jan 2007, at 4:58 pm, Mojca Miklavec wrote:
hm, i'm still wondering why xetex needs the extra [] ; is this somewhere documented? is it something new? why not {}
having an extra series of defs for xetex is a bad idea, so i'd rather fix that 'automatically'
Using OpenType fonts from the TeX tree has been implemented in the second half of 2006 (I was probably among those who requested that feature).
Yes :)
The only documentation I know of are "release notes". I guess that only Jonathan can answer your question.
Normally, XeTeX loads OpenType fonts by *font name* (i.e., things like \font\x="Latin Modern Roman 10pt" or \font\y="Times New Roman", etc). It will find fonts in this way if they are "installed" in the normal desktop sense (in the c:\windows\fonts folder, or /Library/ Fonts etc under Mac OS X, or /etc/fonts or ~/.fonts under Linux, and so on). To repeat: such fonts are identified by their font names. Moreover, there is some support for font families, in that xetex looks for the appropriate optically-sized face, and can locate bold and italic variants of a base font. The square-bracket notation is quite different, in that it allows a font (anywhere on the machine) to be loaded by *file name* (not font name). The texmf tree is searched by default, but full pathnames can also be used. In this case, there is no additional font family management; xetex will simply use the font file specified. Font names and font filenames are quite different, in many cases, and it didn't seem wise to mix them up and allow the exact same form of the \font declaration to access either one. This could lead to ambiguity and confusion in the case where a filename does happen to be the same as a font name. As for why square brackets.... why not? :) We just needed a way to distinguish filenames from font names, and this seemed a reasonably safe choice -- unlikely to be present in a real font name, and not usually given special treatment in TeX. JK