On 11/08/2010 22:54, Khaled Hosny wrote:
On Wed, Aug 11, 2010 at 09:39:07PM +0100, Michael Lynch wrote:
On 11/08/2010 20:54, Michael Lynch wrote:
Hello all,

I'm trying to test for the existence of an OpenType font feature before
it's used in a document.

I want a command that will transparently emulate an acceptable
alternative in the event that the feature doesn't exist, whilst logging
the problem in the log file. Since the command is part of a package I'm
creating, I think this is preferable to it failing outright.

One of the features I'd like to test for is small caps. I'm not
optimistic, as in a plain XeTeX document,

\font\a="Times New Roman:+smcp" at 12pt

doesn't register as causing any problems, even though this call doesn't
produce anything different to

\font\a="Times New Roman" at 12pt

Have I missed something? opentype-info.tex iterates through all the
features, so there might be some way to check each one as it goes past,
but this does seem pretty laborious. I don't really have the experience
of TeX to know how to do something with that either though.

Thanks,

Mike

One thing I'd forgotten is that with XeLaTeX, fontspec warns when
features aren't available. Looking at the package, it seems that
\fontspec_check_ot_feat is responsible, but this package is about as
complicated as any I've looked at and I'm not quite sure how it
should be used.

Will, or someone else suitably knowledgeable, can you explain how
this could be used for this?
Fontspec 2 has public API for checking font features, check fontspec
manual §18 Programing details.

Regards,
  Khaled

Ah, thank you. Are these features (relatively) new? Rather embarrassing not to have spotted them, but anyway…

I've got a problem using these commands. Using XeTeX v0.9995.1 texlive svn 15079 on MiKTeX 2.8, fontspec 2010/08/01, none of these “lower-level” fontspec features I've tried work.

I've copied the appropriate example from the manual:

\fontspec_if_feature:nTF {smcp} {True} {False}.

When I just put this into the main document text there are errors, complaining about the font "_" not existing. When I force it to continue, what looks like fragments of Metafont code appear on the console, presumably when it's given up on finding the font "_". What do I need to encapsulate it in to make it work? Could someone be kind enough to give a working example of it?

Regards,

Mike



--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
 http://tug.org/mailman/listinfo/xetex

Reply via email to