anchor.diff:              let arr = Array.zeroCreate str.Length
               for i in 0..str.Length-1 do
                   let c = str.[i]
  -                let bounds = x.GetBounds c
  +                let size = x.GetSize c
                   let kerning = 
                       if i > 0 then x.GetKerning(str.[i-1], c)
                       else 0.0
   
                   arr.[i] <- V2d(cx, cy)
  -                cx <- cx + (bounds.SizeX + kerning) * 0.75
  +                cx <- cx + (size.X + kerning) * 0.75
               arr
   
           new(family : string, style : FontStyle) =
  
positive.code:                 | (true, v) -> v
                  | _ -> 0.0
  
          let getGlyph (c : char) =
              glyphs.GetOrAdd(c, fun c ->
                  let path = Path.ofChar f c
                  let bounds = path.bounds
                  let geometry = Path.toGeometry path
                  (bounds, geometry)
              )
  
          member x.GetOrCreateCache(r : IRuntime) =
  
negative.code:             getKerning l r
  
          member x.GetGlyph(c : char) =
              getGlyph c
  
          member x.GetSize(c : char) =
              getGlyphSize c 
  
          member x.Dispose() =
              cache.Values |> Seq.toList |> List.iter (fun c -> c.Dispose())
  