title: How do i accept MathML?
body: <p>i discovered today that Windows 7 comes with a very impressive MathPanel utility, for performing handwriting recognition of equations:</p>
  
  <p><img src="https://i.stack.imgur.com/7nlvp.png" alt="enter image description here"></p>
  
  <p>Which is fine. (Here i've entered the formula for the part of the sRGB color space gamma conversion)</p>
  
  <p>But now i don't seem to be able to <em>do</em> anything with it.</p>
  
  <p>There is an <strong>Insert</strong> button. i would assume that clicking <strong>Insert</strong> would insert it into the application that is active behind it (much like the On-Screen Keyboard works):</p>
  
  <p><img src="https://i.stack.imgur.com/jY1XX.png" alt="enter image description here"></p>
  
  <p>Except i assume it would operate as a Paste operation.</p>
  
  <p>i can find no information in the help on what is required by an application to make it work. There is no mention of any special API some software must support. </p>
  
  <p>Nor can i find any information on MSDN about what special API is required to accept the insertion of an equation.</p>
  
  <p>What API, registration, callback, listener, message, COM Object do i have to implement so that i will receive MathPanel input?</p>
  
  <p>The only reason i mention <strong>MathML</strong> is because an answer on <a href="https://superuser.com/a/42146/8169">SuperUser mentioned MathML</a>:</p>
  
  <blockquote>
    <p>Theoretically, any app that supports <strong>MathML</strong> (Mathematical Markup Language) can be used with the Windows 7 Math Input Panel. The Math Input Panel <strong>only works</strong> with programs that support MathML. Here are a few such apps: StarOffice, OpenOffice, Opera and Maple.</p>
  </blockquote>
  
  <p>Well how do i make <em>my</em> program support MathML?</p>
  
  <p>As far as i know MathML is a markup language; not a Windows API. It would be like saying, "How do i make my program support HTML?" Html is text, and you can paste it anywhere.</p>
  
  <p>MathPad refuses to paste unless i "support" MathML?</p>
  
  <hr>
  
  <p><strong>Update</strong></p>
  
  <p>Inspecting the <code>IDataObject</code> on the clipboard after clicking <strong>Insert</strong>, i see two formats available (neither of which are text, which explains why i do not get any markup):</p>
  
  <p>Format 1: </p>
  
  <pre><code>     CLIPFORMAT cfFormat: "MathML Presentation" (49839)
  PDVTargetDevice ptd:      0x00000000
            DWORD dwAspect: DVASPECT_CONTENT
            DWORD lindex:   -1
            DWORD tymed:    1  (TYMED_HGLOBAL)
  </code></pre>
  
  <p>Format 2: </p>
  
  <pre><code>     CLIPFORMAT cfFormat:"MathML" (49838)
  PDVTargetDevice ptd:      0x00000000
            DWORD dwAspect: DVASPECT_CONTENT
            DWORD lindex:   -1
            DWORD tymed:    1  (TYMED_HGLOBAL)
  </code></pre>
  
  <p>So at least now i have some clipboard formats:</p>
  
  <ul>
  <li>"MathML Presentation"</li>
  <li>"MathML"</li>
  </ul>
  
  <p>i still cannot find anything on MSDN about either clipboard format.</p>