<?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="definehspace" level="style" category="whitespace" file="spac-hor.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name-optional"/>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-dimension"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="hspace" level="document" category="whitespace" file="spac-hor.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name-optional"/>
            <cd:keywords optional="yes">
                <cd:constant type="small"/>
                <cd:constant type="medium"/>
                <cd:constant type="big"/>
                <cd:constant type="normal"/>
                <cd:constant type="default" default="yes"/>
                <cd:constant type="none"/>
                <cd:constant type=".5"/>
                <cd:constant type="1"/>
                <cd:constant type="2"/>
                <cd:constant type="3"/>
                <!--
                    <cd:constant type="vulgarfraction"/>
                -->
                <cd:constant type="speech"/>
                <cd:constant type="quote"/>
                <cd:constant type="interquotation"/>
                <cd:constant type="quotation"/>
                <cd:constant type="sentence"/>
                <cd:constant type="intersentence"/>
                <cd:constant type="final"/>
                <cd:constant type="cd:name"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="hairspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="thinspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="medspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="thickspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="autoinsertnextspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="hglue" level="system" category="whitespace" file="spac-ver.mkiv">
        <cd:arguments>
            <cd:resolve name="string-dimension"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="frenchspacing" level="system" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="newfrenchspacing" level="system" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="nonfrenchspacing" level="system" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="setupspacing" level="style" category="whitespace" file="spac-hor.mkiv">
        <cd:arguments>
            <cd:keywords optional="yes">
                <cd:constant type="fixed"/>
                <cd:constant type="packed" default="yes"/>
                <cd:constant type="broad"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="space" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="removelastspace" level="system" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="nospace" level="system" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="fixedspace" level="document" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="fixedspaces" level="system" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="keepunwantedspaces" level="system" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="removeunwantedspaces" level="system" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="negthinspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="enspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="negenspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="enskip" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="quad" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="qquad" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="emspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="negemspace" level="style" category="whitespace" file="spac-hor.mkiv"/>

    <cd:command name="dotfskip" level="system" category="whitespace" file="spac-hor.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-dimension"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="leftskipadaption" level="system" category="whitespace" keywords="layout" file="spac-hor.mkxl"/>

    <cd:command name="rightskipadaption" level="system" category="whitespace" keywords="layout" file="spac-hor.mkxl"/>

    <cd:command name="dosetleftskipadaption" level="system" category="whitespace" keywords="layout" file="spac-hor.mkxl">
        <cd:arguments>
            <cd:keywords delimiters="braces">
                <cd:resolve name="value-leftskip"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="dosetrightskipadaption" level="system" category="whitespace" keywords="layout" file="spac-hor.mkxl">
        <cd:arguments>
            <cd:keywords delimiters="braces">
                <cd:resolve name="value-rightskip"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="doadaptleftskip" level="system" category="whitespace" keywords="layout" file="spac-hor.mkxl">
        <cd:arguments>
            <cd:keywords delimiters="braces">
                <cd:resolve name="value-leftskip"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="doadaptrightskip" level="system" category="whitespace" keywords="layout" file="spac-hor.mkxl">
        <cd:arguments>
            <cd:keywords delimiters="braces">
                <cd:resolve name="value-rightskip"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="activatespacehandler" level="system" category="whitespace" file="spac-hor.mkxl">
        <cd:arguments>
            <cd:keywords delimiters="braces">
                <cd:constant type="on"/>
                <cd:constant type="off" default="yes"/>
                <cd:constant type="yes"/>
                <cd:constant type="fixed"/>
                <!--
                    <cd:constant type="cd:name"/>
                -->
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="quads" level="style" category="whitespace" file="spac-hor.mkxl">
        <cd:arguments>
            <cd:resolve name="keyword-number-optional"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="interwordspacebefore" level="system" category="whitespace" file="spac-hor.mkxl"/>

    <cd:command name="interwordspaceafter" level="system" category="whitespace" file="spac-hor.mkxl"/>

    <cd:command name="interwordspacesbefore" level="system" category="whitespace" file="spac-hor.mkxl">
        <cd:arguments>
            <cd:resolve name="argument-number"/>
        </cd:arguments>
    </cd:command>
        
    <cd:command name="interwordspacesafter" level="system" category="whitespace" file="spac-hor.mkxl">
        <cd:arguments>
            <cd:resolve name="argument-number"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="interwordspaces" level="system" category="whitespace" file="spac-hor.mkxl">
        <cd:arguments>
            <cd:resolve name="argument-number"/>
        </cd:arguments>
    </cd:command>

</cd:interface>
