<?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" 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:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="resetfontfallback" 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" file="font-emp.mkvi"/>

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

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

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

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

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

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

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

    <!--

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

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

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

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

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

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

    -->

    <cd:command name="definefontfeature" 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: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:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="adaptfontfeature" 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" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-text"/>
        </cd:arguments>
    </cd:command>

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

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

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

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

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

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

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

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

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

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

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

    <cd:command name="feature" 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"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="feature" variant="direct" 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"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doifelsecurrentfonthasfeature" 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" 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" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="dosubtractfeature" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doreplacefeature" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="doresetandafffeature" file="font-fea.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="fontclass" type="environment" 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" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definefontsynonym" 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" 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" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
        </cd:arguments>
    </cd:command>

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

    <cd:command name="doifelsefontsynonym" 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" 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" file="font-fil.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
        </cd:arguments>
    </cd:command>

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

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

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

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

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

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

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

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

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

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

    <cd:command name="definefontstyle" 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" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

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

    <cd:command name="definefont" 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" 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" file="font-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-font"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definebodyfontenvironment" 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" 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" file="font-fil.mkvi">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

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

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

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

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

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

    <cd:command name="definebodyfont" 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" 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" 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" 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" file="font-ini.mkvi">
        <cd:arguments>
            <cd:keywords list="yes">
                <cd:inherit name="setupbodyfont"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="fastswitchtobodyfont" 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" file="font-ini.mkvi">
        <cd:arguments>
            <cd:keywords list="yes">
                <cd:inherit name="setupbodyfont"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

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

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

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

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

    <cd:command name="switchstyleonly" 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" file="font-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definebodyfontswitch" 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" file="font-ini.mkvi"/>

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

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

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

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

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

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

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

    <cd:command name="showfont" 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" 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" file="font-run.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

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

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

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

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

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

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

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

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

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

    <cd:command name="setfractions" file="font-pre.mkiv"/>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    <cd:command name="definefontsolution" 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" 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" 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" file="font-sol.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

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

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

    <cd:command name="definealternativestyle" 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" file="font-sty.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

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

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

    <cd:command name="definestyle" 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" 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="example" file="font-sty.mkvi">
        <cd:sequence>
            <cd:variable value="style"/>
        </cd:sequence>
    </cd:command>

    <cd:command name="style" generated="yes" variant="example" file="font-sty.mkvi">
        <cd:sequence>
            <cd:variable value="style"/>
        </cd:sequence>
        <cd:arguments>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="style" type="environment" variant="argument" 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" 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" 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" 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" 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" file="font-sty.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

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

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

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

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

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

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

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

    <cd:command name="getglyphstyled" 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" 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" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:keywords delimiters="braces">
                <cd:constant type="cd:text"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="resolvedglyphdirect" file="font-sym.mkvi">
        <cd:arguments>
            <cd:resolve name="argument-font"/>
            <cd:keywords delimiters="braces">
                <cd:constant type="cd:text"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

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

    <cd:command name="doifelsefontchar" 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" 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" file="font-tra.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

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

    <cd:command name="doifelsefontpresent" 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" 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" 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" file="font-var.mkvi"/>

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

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

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

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

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

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

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

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

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

    <cd:command name="usetypescriptfile" 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" 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" file="type-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-file"/>
        </cd:arguments>
    </cd:command>

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

    <cd:command name="definetypescriptsynonym" 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" 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" file="type-ini.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-text"/>
        </cd:arguments>
    </cd:command>

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

    <cd:command name="definetypeface" 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" 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" 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" file="font-fea.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-list"/>
        </cd:arguments>
    </cd:command>

</cd:interface>
