James McAvoy
James McAvoy plays the role in the BBC television adaptation.