In addition to what Alnoor said, which are all good points, the reason for this is your mileage may very with different combinations of the font size and version of the c128 font (narrow, wide, etc) depending on the printer used. If you are printing to something like a zebra printer with 203dpi or similar, you will likely need to use code128, code128Wide, or code128VeryWide and a font size starting at least at 36 (possibly 24), and increment by 4, 6, or 12 points until you find a barcode that scans reliably. If printing to a laserjet or equivalent with 300 or 600 dpi, you can usually get away with a combination of any of the 5 code128 fonts and a font size smaller than 36 but try to stick to increments listed above.
You can also refer to either of these links for really good info regard font size and barcode font.
https://www.idautomation.com/barcode-fonts/code-128/user-manual.html
http://www.azalea.com/white-papers/how-to-size-barcodes/