Linotype made it to CSS over Panose system partly because of licensing concerns. See http://en.wikipedia.org/wiki/PANOSE. The Panose number is used in TrueType, OpenType and SVG fonts and contains infromation about weight, proportion, contrast etc.
The Panose weight number is more or less the same system as the Linotype/CSS. From very light to extra black. See the quote below.
Fontforge can caluclate the Panose number. http://fontforge.org/fontinfo.html#Panose
So Fontforge uses some sort of (at least theoretical) numerical relation to calculate weight.
UPDATE
... the calculations for weight are among the easiest to compute.
There are specific letters used for measuring weight: CapH is the
Height of the capital H. WStemE is width of the stem of the capital E.
WeightRatio = CapH / WStem(E)
2_0 = Any (Don't use.)
2_1 = No Fit (Don't Use)
2_2-Very Light....................WeightRat ≥ 35 (35 or greater)
2-3-Light....................18 ≤ WeightRat < 35 (18 or greater, less than 35)
2_4 Thin.....................10 ≤ WeightRat < 18
2_5-Book....................7.5 ≤ WeightRat < 10
2_6-Medium..................5.5 ≤ WeightRat < 7.5
2_7-Demi....................4.5 ≤ WeightRat < 5.5
2_8-Bold....................3.5 ≤ WeightRat < 4.5
2_9-Heavy...................2.5 ≤ WeightRat < 3.5
2_A-Black...................2.0 ≤ WeightRat < 2.5
2_B-Extra Black...................WeightRat < 2
See: http://forum.high-logic.com/viewtopic.php?f=4&t=941