[Foxet] typescript definitions

Adam Lindsay atl at comp.lancs.ac.uk
Thu Dec 23 16:17:32 CET 2004


Hey all.

I'm trying to get a minimal functional, non-Foxet-specific configuration
system going in XML (liberally stealing from x-fx). I'd  like to trim
some of the redundancy when calling this, though:
\defineXMLcommand
   [setup:definetypeface] [fox] 
   [label=default, class=rm, family=serif, name=times, 
    size=default, rscale=1, encoding=\defaultencoding]
   {\initializefox
    \expanded{\definetypeface[\foxlabel] [\foxclass]
     [\foxfamily] [\foxname] [\foxsize] [\foxarguments]}}

(All of the parameter names are arbitrary--feel free to correct me on them.)
This works more or less as I like:
<setup:definetypeface label="mine" family="serif" class="rm" name="palatino"/>
<setup:definetypeface label="mine" family="sans" class="ss" name="helvetica"/>
<setup:definetypeface label="mine" family="math" class="mm" name="palatino"/>

 ...but I'd like to get rid of the class parameter, as, for most
everyone's purposes, it adds no information. I considered and rejected
\mapXMLvalue, because it's from a different attribute.

My first try was this, but it leaves some textual garbage.

\defineXMLcommand
   [setup:definetypeface] [fox] 
   [label=default, family=serif, name=times, 
    size=default, rscale=1, encoding=\defaultencoding]
   {\initializefox
    \expanded{\definetypeface[\foxlabel] 
     [\XMLifequalelse{setup:definetypeface}{family}{serif}{rm}
      {\XMLifequalelse{setup:definetypeface}{family}{sans}{ss}
      {\XMLifequalelse{setup:definetypeface}{family}{math}{mm}
      {\XMLifequalelse{setup:definetypeface}{family}{mono}{tt}
      {\XMLifequalelse{setup:definetypeface}{family}{handwriting}{hw}
      {\XMLifequalelse{setup:definety
peface}{family}{calligraphy}{cg}{rm}}}}}}]
     [\foxfamily] [\foxname] [\foxsize] [\foxarguments]}}


ConTeXt's XML mappings are new to me, so I'm clearly overlooking
something. Anyone have any advice?

cheers,
adam
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Adam T. Lindsay, Computing Dept.     atl at comp.lancs.ac.uk
 Lancaster University, InfoLab21        +44(0)1524/510.514
 Lancaster, LA1 4WA, UK             Fax:+44(0)1524/510.492
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



More information about the Foxet mailing list