<?xml version="1.0" encoding="UTF-8"?>

<?context-directive job ctxfile x-setups.ctx ?>

<cd:interface xmlns:cd="http://www.pragma-ade.com/commands">

    <cd:command name="definefontfallback" level="style" category="fonts" file="font-col.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:keywords>
                <cd:constant type="cd:font"/>
                <cd:constant type="cd:name"/>
            </cd:keywords>
            <cd:keywords list="yes">
                <cd:constant type="cd:name"/>
                <cd:constant type="cd:number"/>
            </cd:keywords>
            <cd:assignments list="yes" optional="yes">
                <cd:parameter name="rscale">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="force">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="check">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="offset">
                    <cd:constant type="cd:number"/>
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="target">
                    <cd:constant type="cd:number"/>
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="features">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="factor">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="method">
                    <cd:constant type="lowercase"/>
                    <cd:constant type="uppercase"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="resetfontfallback" level="style" category="fonts" file="font-col.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-font-optional"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="emphasistypeface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="emphasisboldface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="normalboldface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="normalitalicface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="normalslantedface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="normaltypeface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="swaptypeface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="typeface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="boldface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="italicface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="slantedface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="swapface" level="document" category="fonts" file="font-emp.mkvi"/>

    <cd:command name="em" level="document" category="fonts" file="font-emp.mkvi"/>

    <!--

        <cd:command name="emphbf" level="document" category="fonts" file="font-emp.mkvi">
            <cd:arguments>
                <cd:resolve name="argument-text"/>
            </cd:arguments>
        </cd:command>

        <cd:command name="emphit" level="document" category="fonts" file="font-emp.mkvi">
            <cd:arguments>
                <cd:resolve name="argument-text"/>
            </cd:arguments>
        </cd:command>

        <cd:command name="emphsl" level="document" category="fonts" file="font-emp.mkvi">
            <cd:arguments>
                <cd:resolve name="argument-text"/>
            </cd:arguments>
        </cd:command>

        <cd:command name="emphtf" level="document" category="fonts" file="font-emp.mkvi">
            <cd:arguments>
                <cd:resolve name="argument-text"/>
            </cd:arguments>
        </cd:command>

        <cd:command name="emph" level="document" category="fonts" file="font-emp.mkvi">
            <cd:arguments>
                <cd:resolve name="argument-text"/>
            </cd:arguments>
        </cd:command>

        <cd:command name="emphasized" level="document" category="fonts" file="font-emp.mkvi">
            <cd:arguments>
                <cd:resolve name="argument-text"/>
            </cd:arguments>
        </cd:command>

    -->

    <cd:command name="definefontfeature" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-name-optional"/>
            <cd:assignments list="yes">
                <cd:parameter name="language">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="script">
                    <cd:constant type="cd:name"/>
                    <cd:constant type="auto"/>
                </cd:parameter>
                <cd:parameter name="mode">
                    <cd:constant type="node"/>
                    <cd:constant type="base"/>
                    <cd:constant type="auto"/>
                    <cd:constant type="none"/>
                </cd:parameter>
                <cd:parameter name="liga">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="kern">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="extrakerns">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="tlig">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="trep">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="missing">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="dummies">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="analyze">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="unicoding">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="expansion">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="protrusion">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="nostackmath">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="realdimensions">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="itlc">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="textitalics">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="mathitalics">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="slant">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="extend">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="dimensions">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="boundingbox">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                    <cd:constant type="background"/>
                    <cd:constant type="frame"/>
                    <cd:constant type="empty"/>
                    <cd:constant type="cd:color"/>
                </cd:parameter>
                <cd:parameter name="compose">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="char-ligatures">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="compat-ligatures">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="goodies">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="extrafeatures">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="featureset">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="colorsheme">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="postprocessor">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="mathdimensions">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="keepligatures">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                    <cd:constant type="auto"/>
                </cd:parameter>
                <cd:parameter name="devanagari">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="features">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="tcom">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="anum">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="mathsize">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="decomposehangul">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="mathalternatives">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="mathgaps">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="checkmarks">
                    <cd:constant type="yes" default="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
                <cd:parameter name="cd:name">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="mathnolimitsmode">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="blockligatures">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="adaptfontfeature" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/> <!-- pattern -->
            <cd:assignments list="yes">
                 <cd:inherit name="definefontfeature"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="fontfeaturelist" level="document" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="addfeature" category="fonts" level="style" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="addfeature" variant="direct" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="subtractfeature" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="subtractfeature" variant="direct" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="replacefeature" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="replacefeature" variant="direct" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="resetandaddfeature" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="resetandaddfeature" variant="direct" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="resetfeature" level="style" category="fonts" file="font-fea.mkvi"/>

    <cd:command name="revivefeature" level="style" category="fonts" file="font-fea.mkvi"/>

    <cd:command name="setfontfeature" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="feature" level="document" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:keywords>
                <cd:constant type="+"/>
                <cd:constant type="-"/>
                <cd:constant type="="/>
                <cd:constant type="!"/>
                <cd:constant type="&gt;"/>
                <cd:constant type="&lt;"/>
                <cd:constant type="more"/>
                <cd:constant type="less"/>
                <cd:constant type="new"/>
                <cd:constant type="reset"/>
                <cd:constant type="default"/>
                <cd:constant type="old"/>
                <cd:constant type="local"/>
            </cd:keywords>
            <cd:resolve name="keyword-name-list"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="feature" variant="direct" level="document" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:keywords delimiters="braces">
                <cd:constant type="+"/>
                <cd:constant type="-"/>
                <cd:constant type="="/>
                <cd:constant type="!"/>
                <cd:constant type="&gt;"/>
                <cd:constant type="&lt;"/>
                <cd:constant type="more"/>
                <cd:constant type="less"/>
                <cd:constant type="new"/>
                <cd:constant type="reset"/>
                <cd:constant type="default"/>
                <cd:constant type="old"/>
                <cd:constant type="local"/>
            </cd:keywords>
            <cd:resolve name="argument-name-list"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doifelsecurrentfonthasfeature" level="system" category="fonts conditional" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>
    <cd:command name="doifcurrentfonthasfeatureelse" level="system" category="fonts conditional" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doifelsefontfeature" level="system" category="fonts conditional" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>
    <cd:command name="doiffontfeatureelse" level="system" category="fonts conditional" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doifunknownfontfeature" level="system" category="fonts conditional" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doaddfeature" level="system" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name-list"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="dosubtractfeature" level="system" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name-list"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doreplacefeature" level="system" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name-list"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doresetandafffeature" level="system" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name-list"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="fontclass" type="environment" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:keywords>
                <cd:constant type="each"/>
                <cd:constant type="cd:name"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="classfont" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definefontsynonym" level="style" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-font"/>
            <cd:assignments list="yes" optional="yes">
                <cd:parameter name="features">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="fallbacks">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="goodies">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="designsize">
                    <cd:constant type="auto"/>
                    <cd:constant type="default"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="definefontfile" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-file"/>
            <cd:assignments list="yes" optional="yes">
                <cd:parameter name="features">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="fallbacks">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="goodies">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="designsize">
                    <cd:constant type="auto"/>
                    <cd:constant type="default"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="truefontname" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="expandfontsynonym" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:csname/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doifelsefontsynonym" level="system" category="fonts conditional" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doiffontsynonymelse" level="system" category="fonts conditional" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="tracedfontname" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="fontclassname" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="loadfontgoodies" level="style" category="fonts" file="font-gds.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-file"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="setfontcolorsheme" level="style" category="fonts" file="font-gds.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="resetfontcolorsheme" level="style" category="fonts" file="font-gds.mkvi"/>

    <cd:command name="definedfont" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-font-optional"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="font" type="environment" level="document" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-font-optional"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="bodyfontsize" level="system" category="fonts" file="font-ini.mkvi"/>

    <cd:command name="normalizebodyfontsize" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:csname/>
            <cd:resolve name="argument-dimension"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="thenormalizedbodyfontsize" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-dimension"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mapfontsize" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-dimension"/>
            <cd:resolve name="keyword-dimension"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definefontstyle" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name-list"/>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definefontsize" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definefontalternative" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definefont" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-font"/>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupinterlinespace"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="definefont" variant="argument" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-font"/>
            <cd:resolve name="keyword-name-optional"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definefrozenfont" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definebodyfontenvironment" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name-optional"/>
            <cd:keywords>
                <cd:constant type="default"/>
                <cd:constant type="cd:dimension"/>
            </cd:keywords>
            <cd:assignments list="yes" optional="yes">
                <cd:parameter name="big">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="small">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="a">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="b">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="c">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="d">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="text">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="x">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="xx">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="script">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="scriptscript">
                    <cd:constant type="cd:dimension"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="interlinespace">
                    <cd:constant type="cd:dimension"/>
                </cd:parameter>
                <cd:parameter name="em">
                    <cd:constant type="slanted"/>
                    <cd:constant type="italic"/>
                    <cd:resolve name="value-style"/>
                </cd:parameter>
                <cd:parameter name="*">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <!--

        <cd:command name="setupbodyfontenvironment" level="style" category="fonts" file="font-ini.mkvi">
            <cd:arguments>
                <cd:resolve name="keyword-name-optional"/>
                <cd:keywords>
                    <cd:constant type="default"/>
                    <cd:constant type="cd:dimension"/>
                </cd:keywords>
                <cd:assignments list="yes" optional="yes">
                    <cd:inherit name="definebodyfontenvironment"/>
                </cd:assignments>
            </cd:arguments>
        </cd:command>

    -->

    <cd:command name="processbodyfontenvironmentlist" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="bodyfontenvironmentlist" level="system" category="fonts" file="font-fil.mkvi"/>

    <cd:command name="registerfontclass" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="setcurrentfontclass" level="system" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="tx" level="document" category="fonts" file="font-ini.mkvi"/>

    <cd:command name="txx" level="document" category="fonts" file="font-ini.mkvi"/>

    <cd:command name="definebodyfont" level="style" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="cd:name"/>
                <cd:constant type="default"/>
            </cd:keywords>
            <cd:keywords list="yes">
                <cd:constant type="cd:name"/>
                <cd:constant type="cd:dimension"/>
            </cd:keywords>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="rm" default="yes"/>
                <cd:constant type="ss"/>
                <cd:constant type="tt"/>
                <cd:constant type="hw"/>
                <cd:constant type="cg"/>
            </cd:keywords>
            <cd:assignments list="yes">
                <cd:parameter name="tf">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="bf">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="it">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="sl">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="bi">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="bs">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="sc">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="mr">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="mrlr">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="mrrl">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="mb">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="mblr">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="mbrl">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="definebodyfont" variant="argument" level="style" category="fonts" file="font-fil.mkvi">
        <cd:arguments>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="cd:name"/>
                <cd:constant type="default"/>
            </cd:keywords>
            <cd:keywords list="yes">
                <cd:constant type="cd:name"/>
                <cd:constant type="cd:dimension"/>
            </cd:keywords>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="rm" default="yes"/>
                <cd:constant type="ss"/>
                <cd:constant type="tt"/>
                <cd:constant type="hw"/>
                <cd:constant type="cg"/>
            </cd:keywords>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupfonts" level="style" category="fonts" file="font-ini.mkiv">
        <cd:arguments>
            <cd:assignments list="yes">
                <cd:parameter name="language">
                    <cd:constant type="no" default="yes"/>
                    <cd:constant type="auto"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupbodyfont" level="style" category="fonts" file="font-ini.mkiv">
        <cd:arguments>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="cd:dimension"/>
                <cd:constant type="cd:name"/>
                <cd:constant type="global"/>
                <cd:constant type="reset"/>
                <cd:constant type="x"/>
                <cd:constant type="xx"/>
                <cd:constant type="small"/>
                <cd:constant type="big"/>
                <cd:constant type="script"/>
                <cd:constant type="scriptscript"/>
                <cd:constant type="rm"/>
                <cd:constant type="ss"/>
                <cd:constant type="tt"/>
                <cd:constant type="hw"/>
                <cd:constant type="cg"/>
                <cd:constant type="roman"/>
                <cd:constant type="serif"/>
                <cd:constant type="regular"/>
                <cd:constant type="sans"/>
                <cd:constant type="sansserif"/>
                <cd:constant type="support"/>
                <cd:constant type="type"/>
                <cd:constant type="teletype"/>
                <cd:constant type="mono"/>
                <cd:constant type="handwritten"/>
                <cd:constant type="calligraphic"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="switchtobodyfont" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:keywords list="yes">
                <cd:inherit name="setupbodyfont"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="fastswitchtobodyfont" level="system" category="fonts" file="font-ini.mkiv">
        <cd:arguments>
            <cd:keywords delimiters="braces">
                <cd:constant type="x"/>
                <cd:constant type="xx"/>
                <cd:constant type="small"/>
                <cd:constant type="big"/>
                <cd:constant type="script"/>
                <cd:constant type="scriptscript"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="usebodyfont" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:keywords list="yes">
                <cd:inherit name="setupbodyfont"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="usebodyfontparameter" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="fontchar" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="fontcharbyindex" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-number"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="tochar" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-tochar"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="switchstyleonly" level="style" category="fonts" file="font-ini.mkiv">
        <cd:arguments>
            <cd:keywords>
                <cd:constant type="rm"/>
                <cd:constant type="ss"/>
                <cd:constant type="tt"/>
                <cd:constant type="hw"/>
                <cd:constant type="cg"/>
                <cd:constant type="roman"/>
                <cd:constant type="serif"/>
                <cd:constant type="regular"/>
                <cd:constant type="sans"/>
                <cd:constant type="sansserif"/>
                <cd:constant type="support"/>
                <cd:constant type="type"/>
                <cd:constant type="teletype"/>
                <cd:constant type="mono"/>
                <cd:constant type="handwritten"/>
                <cd:constant type="calligraphic"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="switchstyleonly" variant="command" level="style" category="fonts" file="font-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definebodyfontswitch" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:keywords list="yes">
                <cd:inherit name="setupbodyfont"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="setsmallbodyfont" level="style" category="fonts" file="font-ini.mkvi"/>

    <cd:command name="setbigbodyfont" level="style" category="fonts" file="font-ini.mkvi"/>

    <cd:command name="setmainbodyfont" level="style" category="fonts" file="font-ini.mkvi"/>

    <cd:command name="restoreglobalbodyfont" level="style" category="fonts" file="font-ini.mkvi"/>

    <cd:command name="predefinefont" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="predefinedfont" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="showbodyfont" level="document" category="fonts" file="font-run.mkiv">
        <cd:arguments>
            <cd:keywords list="yes">
                <cd:inherit name="setupbodyfont"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="showbodyfontenvironment" level="document" category="fonts" file="font-run.mkiv">
        <cd:arguments>
            <cd:keywords list="yes">
                <cd:inherit name="setupbodyfont"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="showfont" level="document" category="fonts" file="font-run.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-font"/>
            <cd:resolve name="keyword-number-list-optional"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="showfontstyle" level="document" category="fonts" file="font-run.mkiv">
        <cd:arguments>
            <cd:keywords list="yes" optional="yes">
                <cd:inherit name="setupbodyfont"/>
            </cd:keywords>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="rm"/>
                <cd:constant type="ss"/>
                <cd:constant type="tt"/>
                <cd:constant type="mm"/>
                <cd:constant type="hw"/>
                <cd:constant type="cg"/>
            </cd:keywords>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="tf"/>
                <cd:constant type="bf"/>
                <cd:constant type="it"/>
                <cd:constant type="sl"/>
                <cd:constant type="bi"/>
                <cd:constant type="bs"/>
            </cd:keywords>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="all"/>
                <cd:constant type="cd:number"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="showligature" level="document" category="fonts" file="font-run.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="showligatures" level="document" category="fonts" file="font-run.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="showfontstrip" level="document" category="fonts" file="font-run.mkiv">
        <cd:arguments>
            <cd:keywords list="yes">
                <cd:inherit name="setupbodyfont"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="showminimalbaseline" level="document" category="fonts" file="font-run.mkiv"/>

    <cd:command name="showkerning" level="document" category="fonts" file="font-run.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="showcharratio" level="document" category="fonts" file="font-run.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="showfontparameters" level="document" category="fonts" file="font-run.mkiv"/>

    <cd:command name="setsmallcaps" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="setoldstyle" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="settabular" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="setsuperiors" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="tinyfont" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="infofont" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="infofontbold" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smallbodyfont" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="bigbodyfont" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smaller" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="bigger" level="style" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="normal" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="bold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="mono" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="monobold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="slanted" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="italic" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="boldslanted" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="slantedbold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="bolditalic" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="italicbold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="small" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smallnormal" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smallbold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smalltype" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smallslanted" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smallboldslanted" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smallslantedbold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smallbolditalic" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="smallitalicbold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="sans" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="sansserif" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="roman" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="serif" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="regular" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="handwritten" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="calligraphic" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="sansnormal" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="sansbold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="serifnormal" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="serifbold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="mononormal" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="monobold" level="document" category="fonts" file="font-pre.mkiv"/>

    <cd:command name="definefontsolution" level="style" category="fonts" file="font-sol.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-name-optional"/>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupfontsolution"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupfontsolution" level="style" category="fonts" file="font-sol.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name-list-optional"/>
            <cd:assignments list="yes">
                <cd:parameter name="goodies">
                    <cd:constant type="cd:file"/>
                </cd:parameter>
                <cd:parameter name="solution">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="less">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="more">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="method">
                    <cd:constant type="preroll"/>
                    <cd:constant type="split"/>
                    <cd:constant type="normal"/>
                    <cd:constant type="reverse"/>
                    <cd:constant type="random"/>
                </cd:parameter>
                <cd:parameter name="criterium">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

   <!--

        <cd:command name="setupfontsolutions" level="style" category="fonts" file="font-sol.mkvi">
            <cd:arguments>
                <cd:resolve name="keyword-name-list-optional"/>
                <cd:assignments list="yes">
                    <cd:inherit name="setupfontsolution"/>
                </cd:assignments>
            </cd:arguments>
        </cd:command>

    -->

    <cd:command name="setfontsolution" level="style" category="fonts" file="font-sol.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="resetfontsolution" level="style" category="fonts" file="font-sol.mkvi"/>

    <cd:command name="fontsolution" type="environment" level="style" category="fonts" file="font-sol.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definealternativestyle" level="style" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name-list"/>
            <cd:resolve name="keyword-command"/>
            <cd:resolve name="keyword-command"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="applyalternativestyle" level="system" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupalternativestyles" level="style" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:assignments list="yes">
                <cd:parameter name="method">
                    <cd:constant type="normal" default="yes"/>
                    <cd:constant type="auto"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="dontconvertfont" level="system" category="fonts" file="font-sty.mkvi"/>

    <cd:command name="redoconvertfont" level="system" category="fonts" file="font-sty.mkvi"/>

    <cd:command name="definestyle" level="style" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-name-optional"/>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupstyle"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupstyle" level="style" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name-list-optional"/>
            <cd:assignments list="yes">
                <cd:parameter name="method">
                    <cd:constant type="command"/>
                </cd:parameter>
                <cd:parameter name="style">
                    <cd:resolve name="value-style"/>
                </cd:parameter>
                <cd:parameter name="color">
                    <cd:constant type="cd:color"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="style" type="environment" generated="yes" variant="instance" level="document" category="fonts" file="font-sty.mkvi">
        <cd:sequence>
            <cd:instance value="style"/>
        </cd:sequence>
    </cd:command>

    <cd:command name="style" generated="yes" variant="instance" level="document" category="fonts" file="font-sty.mkvi">
        <cd:sequence>
            <cd:instance value="style"/>
        </cd:sequence>
        <cd:arguments>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="style" type="environment" variant="argument" level="document" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:keywords>
                <cd:constant type="cd:name"/>
                <cd:constant type="cd:font"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="style" type="environment" level="document" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:assignments list="yes">
                <cd:inherit name="setupstyle"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="style" variant="argument" level="document" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:keywords>
                <cd:constant type="cd:name"/>
                <cd:constant type="cd:font"/>
            </cd:keywords>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="style" level="document" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:assignments list="yes">
                <cd:inherit name="setupstyle"/>
            </cd:assignments>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definestyleinstance" level="style" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:keywords optional="yes">
                <cd:constant type="rm"/>
                <cd:constant type="ss"/>
                <cd:constant type="tt"/>
                <cd:constant type="mm"/>
                <cd:constant type="hw"/>
                <cd:constant type="cg"/>
            </cd:keywords>
            <cd:keywords>
                <cd:constant type="tf"/>
                <cd:constant type="bf"/>
                <cd:constant type="it"/>
                <cd:constant type="sl"/>
                <cd:constant type="bi"/>
                <cd:constant type="bs"/>
                <cd:constant type="sc"/>
            </cd:keywords>
            <cd:keywords optional="yes">
                <cd:constant type="cd:command"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="styleinstance" level="style" category="fonts" file="font-sty.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doifelseitalic" level="system" category="fonts conditional" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doifitalicelse" level="system" category="fonts conditional" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="getprivateslot" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="getprivatechar" level="system" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="glyphfontfile" level="style" category="fonts" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="getnamedglyphstyled" level="style" category="fonts" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="getnamedglyphdirect" level="style" category="fonts" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="getglyphstyled" level="style" category="fonts" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:keywords delimiters="braces">
                <cd:constant type="cd:number"/>
                <cd:constant type="cd:character"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="getglyphdirect" level="style" category="fonts" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:keywords delimiters="braces">
                <cd:constant type="cd:number"/>
                <cd:constant type="cd:character"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="resolvedglyphstyled" level="style" category="fonts" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:resolve name="argument-tochar"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="resolvedglyphdirect" level="style" category="fonts" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:resolve name="argument-tochar"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="setfont" level="system" category="fonts" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="string-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doifelsefontchar" level="system" category="fonts conditional" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:resolve name="argument-number"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doiffontcharelse" level="system" category="fonts conditional" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:resolve name="argument-number"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="showchardata" level="document" category="fonts" file="font-tra.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="showfontdata" level="document" category="fonts" file="font-tra.mkiv"/>

    <cd:command name="doifelsefontpresent" level="system" category="fonts conditional" file="font-tra.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doiffontpresentelse" level="system" category="fonts conditional" file="font-tra.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="showotfcomposition" level="document" category="fonts" file="font-tra.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:keywords delimiters="braces">
                <cd:constant type="-1"/>
                <cd:constant type="1"/>
                <cd:constant type="+1"/>
                <cd:constant type="l2r"/>
                <cd:constant type="r2l"/>
            </cd:keywords>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="fontclass" level="system" category="fonts" file="font-var.mkvi"/>

    <cd:command name="fontbody" level="system" category="fonts" file="font-var.mkvi"/>

    <cd:command name="fontstyle" level="system" category="fonts" file="font-var.mkvi"/>

    <cd:command name="fontalternative" level="system" category="fonts" file="font-var.mkvi"/>

    <cd:command name="fontsize" level="system" category="fonts" file="font-var.mkvi"/>

    <cd:command name="fontface" level="system" category="fonts" file="font-var.mkvi"/>

    <cd:command name="typescriptone" level="system" category="fonts" file="type-ini.mkvi"/>

    <cd:command name="typescripttwo" level="system" category="fonts" file="type-ini.mkvi"/>

    <cd:command name="typescriptthree" level="system" category="fonts" file="type-ini.mkvi"/>

    <cd:command name="typescriptcollection" type="environment" level="style" category="fonts" file="type-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="usetypescriptfile" level="style" category="fonts" file="type-ini.mkvi">
        <cd:arguments>
            <cd:keywords>
                <cd:constant type="reset"/>
                <cd:constant type="cd:file"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="usetypescript" level="style" category="fonts" file="type-ini.mkvi">
        <cd:arguments>
            <cd:keywords optional="yes">
                <cd:constant type="serif"/>
                <cd:constant type="sans"/>
                <cd:constant type="mono"/>
                <cd:constant type="math"/>
                <cd:constant type="handwriting"/>
                <cd:constant type="calligraphy"/>
                <cd:constant type="casual"/>
                <cd:constant type="all"/>
            </cd:keywords>
            <cd:keywords>
                <cd:constant type="cd:name"/>
                <cd:constant type="fallback"/>
                <cd:constant type="default"/>
                <cd:constant type="dtp"/>
                <cd:constant type="simple"/>
            </cd:keywords>
            <cd:keywords optional="yes">
                <cd:constant type="size"/>
                <cd:constant type="name"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="loadtypescriptfile" level="style" category="fonts" file="type-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-file"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="quittypescriptscanning" level="style" category="fonts" file="type-ini.mkvi"/>

    <cd:command name="definetypescriptsynonym" level="system" category="fonts" file="type-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="typescript" type="environment" level="style" category="fonts" file="type-ini.mkvi">
        <cd:arguments>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="serif"/>
                <cd:constant type="sans"/>
                <cd:constant type="mono"/>
                <cd:constant type="math"/>
                <cd:constant type="handwriting"/>
                <cd:constant type="calligraphy"/>
            </cd:keywords>
            <cd:resolve name="keyword-name-list-optional"/>
            <cd:keywords list="yes" optional="yes">
                <cd:constant type="size"/>
                <cd:constant type="name"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="definetypescriptprefix" level="system" category="fonts" file="type-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="typescriptprefix" level="system" category="fonts" file="type-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definetypeface" level="style" category="fonts" file="type-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:keywords>
                <cd:constant type="rm"/>
                <cd:constant type="ss"/>
                <cd:constant type="tt"/>
                <cd:constant type="mm"/>
                <cd:constant type="hw"/>
                <cd:constant type="cg"/>
            </cd:keywords>
            <cd:keywords>
                <cd:constant type="serif"/>
                <cd:constant type="sans"/>
                <cd:constant type="mono"/>
                <cd:constant type="math"/>
                <cd:constant type="handwriting"/>
                <cd:constant type="calligraphy"/>
            </cd:keywords>
            <cd:resolve name="keyword-name"/>
            <cd:keywords optional="yes">
                <cd:constant type="default" default="yes"/>
                <cd:constant type="dtp"/>
            </cd:keywords>
            <cd:assignments list="yes" optional="yes">
                <cd:parameter name="rscale">
                    <cd:constant type="auto"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="features">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="fallbacks">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="goodies">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="designsize">
                    <cd:constant type="auto"/>
                    <cd:constant type="default"/>
                </cd:parameter>
                <cd:parameter name="direction">
                    <cd:constant type="both"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupfontexpansion" level="style" category="fonts" file="hand-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:assignments list="yes">
                <cd:parameter name="vector">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="factor">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="stretch">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="shrink">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="step">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupfontprotrusion" level="style" category="fonts" file="hand-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:assignments list="yes">
                <cd:parameter name="vector">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="factor">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="left">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="right">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="blockligatures" level="style" category="fonts" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-text-list"/>
        </cd:arguments>
    </cd:command>

    <!-- question for ws: maybe move to i-file with ... level="system" category="structure" ... -->

    <cd:command name="addfontpath" level="style" category="fonts" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-path-list"/>
        </cd:arguments>
    </cd:command>

</cd:interface>
