北宋开封祥符(今河南开封)人,字公雅。大中祥符中,登服勤词学科。历大理评事、知太常礼院、知制诰、翰林学士。宋与西夏战事失利,条陈《备边要览》。后为工部侍郎、枢密副使,上《庆历兵录》、《赡边录》。庆历六年(1064),参知政事。仁宗时,奉诏领修《武经总要》;又刊修《韵略》,因专备礼部考试之用,故改称《礼部韵略》,并依例刊修《广韵》为《集韵》。