<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -687,7 +687,7 @@ function buildProcessing( curElement ){
       name: name,
       glyph: true,
       units_per_em: font.units_per_em,
-      horiz_adv_x: font.horiz_adv_x,
+      horiz_adv_x: 1/font.units_per_em*font.horiz_adv_x,
       ascent: font.ascent,
       descent: font.descent,
       width: function( str ) {</diff>
      <filename>processing.js</filename>
    </modified>
    <modified>
      <diff>@@ -46,7 +46,7 @@ if(curTint&gt;=0){curContext.globalAlpha=oldAlpha;}
 if(img._mask){var oldComposite=curContext.globalCompositeOperation;curContext.globalCompositeOperation=&quot;darker&quot;;p.image(img._mask,x,y);curContext.globalCompositeOperation=oldComposite;}};p.exit=function exit(){clearInterval(looping);};p.save=function save(file){};p.loadImage=function loadImage(file){var img=document.getElementById(file);if(!img)
 return;var h=img.height,w=img.width;var canvas=document.createElement(&quot;canvas&quot;);canvas.width=w;canvas.height=h;var context=canvas.getContext(&quot;2d&quot;);context.drawImage(img,0,0);var data=buildImageObject(context.getImageData(0,0,w,h));data.img=img;return data;};p.loadFont=function loadFont(name){if(name.indexOf(&quot;.svg&quot;)==-1){return{name:name,width:function(str){if(curContext.mozMeasureText)
 return curContext.mozMeasureText(typeof str==&quot;number&quot;?String.fromCharCode(str):str)/curTextSize;else
-return 0;}};}else{var font=p.loadGlyphs(name);return{name:name,glyph:true,units_per_em:font.units_per_em,horiz_adv_x:font.horiz_adv_x,ascent:font.ascent,descent:font.descent,width:function(str){var width=0;var len=str.length;for(var i=0;i&lt;len;i++){try{width+=parseFloat(p.glyphLook(p.glyphTable[name],str[i]).horiz_adv_x);}
+return 0;}};}else{var font=p.loadGlyphs(name);return{name:name,glyph:true,units_per_em:font.units_per_em,horiz_adv_x:1/font.units_per_em*font.horiz_adv_x,ascent:font.ascent,descent:font.descent,width:function(str){var width=0;var len=str.length;for(var i=0;i&lt;len;i++){try{width+=parseFloat(p.glyphLook(p.glyphTable[name],str[i]).horiz_adv_x);}
 catch(e){;}}
 return width/p.glyphTable[name].units_per_em;}}}};p.textFont=function textFont(name,size){curTextFont=name;p.textSize(size);};p.textSize=function textSize(size){if(size){curTextSize=size;}};p.textAlign=function textAlign(){};p.glyphLook=function glyphLook(font,chr){try{switch(chr){case&quot;1&quot;:return font[&quot;one&quot;];break;case&quot;2&quot;:return font[&quot;two&quot;];break;case&quot;3&quot;:return font[&quot;three&quot;];break;case&quot;4&quot;:return font[&quot;four&quot;];break;case&quot;5&quot;:return font[&quot;five&quot;];break;case&quot;6&quot;:return font[&quot;six&quot;];break;case&quot;7&quot;:return font[&quot;seven&quot;];break;case&quot;8&quot;:return font[&quot;eight&quot;];break;case&quot;9&quot;:return font[&quot;nine&quot;];break;case&quot;0&quot;:return font[&quot;zero&quot;];break;case&quot; &quot;:return font[&quot;space&quot;];break;case&quot;$&quot;:return font[&quot;dollar&quot;];break;case&quot;!&quot;:return font[&quot;exclam&quot;];break;case'&quot;':return font[&quot;quotedbl&quot;];break;case&quot;#&quot;:return font[&quot;numbersign&quot;];break;case&quot;%&quot;:return font[&quot;percent&quot;];break;case&quot;&amp;&quot;:return font[&quot;ampersand&quot;];break;case&quot;'&quot;:return font[&quot;quotesingle&quot;];break;case&quot;(&quot;:return font[&quot;parenleft&quot;];break;case&quot;)&quot;:return font[&quot;parenright&quot;];break;case&quot;*&quot;:return font[&quot;asterisk&quot;];break;case&quot;+&quot;:return font[&quot;plus&quot;];break;case&quot;,&quot;:return font[&quot;comma&quot;];break;case&quot;-&quot;:return font[&quot;hyphen&quot;];break;case&quot;.&quot;:return font[&quot;period&quot;];break;case&quot;/&quot;:return font[&quot;slash&quot;];break;case&quot;_&quot;:return font[&quot;underscore&quot;];break;case&quot;:&quot;:return font[&quot;colon&quot;];break;case&quot;;&quot;:return font[&quot;semicolon&quot;];break;case&quot;&lt;&quot;:return font[&quot;less&quot;];break;case&quot;=&quot;:return font[&quot;equal&quot;];break;case&quot;&gt;&quot;:return font[&quot;greater&quot;];break;case&quot;?&quot;:return font[&quot;question&quot;];break;case&quot;@&quot;:return font[&quot;at&quot;];break;case&quot;[&quot;:return font[&quot;bracketleft&quot;];break;case&quot;\\&quot;:return font[&quot;backslash&quot;];break;case&quot;]&quot;:return font[&quot;bracketright&quot;];break;case&quot;^&quot;:return font[&quot;asciicircum&quot;];break;case&quot;`&quot;:return font[&quot;grave&quot;];break;case&quot;{&quot;:return font[&quot;braceleft&quot;];break;case&quot;|&quot;:return font[&quot;bar&quot;];break;case&quot;}&quot;:return font[&quot;braceright&quot;];break;case&quot;~&quot;:return font[&quot;asciitilde&quot;];break;default:return font[chr];break;}}catch(e){;}}
 p.text=function text(str,x,y){if(!curTextFont.glyph){if(str&amp;&amp;curContext.mozDrawText){curContext.save();curContext.mozTextStyle=curTextSize+&quot;px &quot;+curTextFont.name;curContext.translate(x,y);curContext.mozDrawText(typeof str==&quot;number&quot;?String.fromCharCode(str):str);curContext.restore();}}else{var font=p.glyphTable[curTextFont.name];curContext.save();curContext.translate(x,y+curTextSize);var upem=font[&quot;units_per_em&quot;];var newScale=1/upem*curTextSize;curContext.scale(newScale,newScale);var len=str.length;for(var i=0;i&lt;len;i++){try{p.glyphLook(font,str[i]).draw();}</diff>
      <filename>processing.min.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ad74980cfeaab1bf83e547b01c9e8d4e6f1664a3</id>
    </parent>
  </parents>
  <author>
    <name>F1LT3R</name>
    <email>director@hyper-metrix.com</email>
  </author>
  <url>http://github.com/jeresig/processing-js/commit/388e575eabb30bcbe8575e7f868672821fa5efd3</url>
  <id>388e575eabb30bcbe8575e7f868672821fa5efd3</id>
  <committed-date>2009-05-13T12:02:58-07:00</committed-date>
  <authored-date>2009-05-13T12:02:58-07:00</authored-date>
  <message>Fixed font.descent.</message>
  <tree>0b3977086983fad27f934e358e96e0aff5863fd9</tree>
  <committer>
    <name>F1LT3R</name>
    <email>director@hyper-metrix.com</email>
  </committer>
</commit>
