One set font weights from an array of allowable font weights

This helps avoid setting a font weight that weight that is not supported. Will
certainly be media module specific, so needs to be migrated there at some point.