Hiragino Kaku Gothic, with font-weight 500 is displayed as bold; I expect it to display is as 'normal', same as font-weight: 400 - that is: use W3 instead of W6. Testing with r31623 (after bug 6484 landed). (Gecko 1.9 had the same problem not so long ago, but that has been fixed, at least as of gecko 1.9beta5).
Created attachment 20326 [details] test case Hiragino Kaku Gothic Pro, various font-weights
<rdar://problem/5842546>
Indeed, CSS2.1 suggests using the '400' weight for '500' if a '500' weight is unmapped. (Hiragino Kaku Gothic Pro has two weights: W3, which AppKit maps to 4, which is between '300' and '400'; and W6, which AppKit maps to 8, which is between '600' and '700'. Since the desired weight of '500' corrresponds to 6, the two candidates are equidistant from the desired weight, and the current heuristic is to go for the stronger effect, i.e. further away from '400').
As a first approximation, moving the "midpoint" from 5 to 6 here will better match the spec: if (chosenWeightDeltaMagnitude == candidateWeightDeltaMagnitude) return abs(candidateWeight - 5) > abs(chosenWeight - 5);
Created attachment 20329 [details] testcase, hiragino with different weights This might be useful. You can edit the Javascript to add/delete fonts. The Hiragino fonts have some funky name table entries so you may run into problems when the name is only in Japanese (e.g. ƒqƒ‰ƒMƒmŠÛƒS Pro).
Created attachment 20416 [details] Patch
Comment on attachment 20416 [details] Patch r=me
Fixed in <http://trac.webkit.org/projects/webkit/changeset/31850>.
works fine, thanks