Just tried @mdahlman's answer and it worked. I created the value "CODE123" using barcode39 font (free) and Jaspersoft Barbecue. 
Setting the size is not very simple using the font, but the result is the same. I checked the barcode using a barcode scanner on my Android phone (you can also see it in the same way). The reason this worked for me is probably the same reason the @bchetty test didn't work, because Barcode39 doesn't have a check digit. This is a translation from 1 to 1, except that a leading and trailing asterisk (*) is added to the data. If you want to use ttf to generate a barcode type that has a check mark, you will need a function (external bank, as you mentioned) to encode it. Barcode39 does not need a function, since it is just "*" + V${data} + "*" .
source share