/* The functions cf2_glyphpath_{moveTo,lineTo,curveTo,closeOpenPath} are called by the interpreter with Character Space (CS) coordinates. Each path element is placed into a queue of length one to await the calculation of the following element. At that time, the darkening offset of the following element is known and joins can be computed, including possible modification of this element, before mapping to Device Space (DS) and passing it on to the outline consumer.  */
cf2_glyphpath_moveTo(CF2_GlyphPath glyphpath, CF2_Fixed x, CF2_Fixed y)
/* The functions cf2_glyphpath_{moveTo,lineTo,curveTo,closeOpenPath} are called by the interpreter with Character Space (CS) coordinates. Each path element is placed into a queue of length one to await the calculation of the following element. At that time, the darkening offset of the following element is known and joins can be computed, including possible modification of this element, before mapping to Device Space (DS) and passing it on to the outline consumer.  */
cf2_glyphpath_moveTo(CF2_GlyphPath glyphpath, CF2_Fixed x, CF2_Fixed y)
{
    cf2_glyphpath_closeOpenPath( glyphpath );
    glyphpath->currentCS.x = glyphpath->start.x = x;
    glyphpath->currentCS.y = glyphpath->start.y = y;
    glyphpath->moveIsPending = TRUE;
    if ( !cf2_hintmap_isValid( &glyphpath->hintMap ) ||
         cf2_hintmask_isNew( glyphpath->hintMask )   )
      cf2_hintmap_build( &glyphpath->hintMap,
                         glyphpath->hStemHintArray,
                         glyphpath->vStemHintArray,
                         glyphpath->hintMask,
                         glyphpath->hintOriginY,
                         FALSE );
    glyphpath->firstHintMap = glyphpath->hintMap;
  }