convertHM method
Implementation
@override
Iterable<BarcodeHMBar> convertHM(String data) sync* {
yield fromBits(BarcodeMaps.postnetStartStop);
int sum = 0;
for (final int codeUnit in data.codeUnits) {
if (codeUnit == 45) {
continue;
}
final int? code = BarcodeMaps.postnet[codeUnit];
if (code == null) {
throw BarcodeException('Unable to encode "${String.fromCharCode(codeUnit)}" to $name');
}
yield* addHW(code, BarcodeMaps.postnetLen);
sum += codeUnit - 0x30;
}
final int crc = (10 - (sum % 10)) % 10;
yield* addHW(BarcodeMaps.postnet[crc + 0x30]!, BarcodeMaps.postnetLen);
yield fromBits(BarcodeMaps.postnetStartStop);
}