adaptData method
Implementation
String adaptData(String data, [bool text = false]) {
if (isGS1) {
final StringBuffer result = StringBuffer();
int start = 0;
for (final RegExpMatch match in RegExp(r"\(.+?\)").allMatches(data)) {
result.write(data.substring(start, match.start));
result.write(BarcodeMaps.code128FNC1String);
if (text && keepParenthesis) {
result.write("(");
}
result.write(data.substring(match.start + 1, match.end - 1));
if (text && keepParenthesis) {
result.write(")");
}
if (text && addSpaceAfterParenthesis) {
result.write(" ");
}
start = match.end;
}
result.write(data.substring(start));
data = result.toString();
}
if (escapes) {
final StringBuffer result = StringBuffer();
int start = 0;
for (final RegExpMatch match in RegExp(r"{\d}").allMatches(data)) {
result.write(data.substring(start, match.start));
switch (match.group(0)) {
case "{1}":
result.write(BarcodeMaps.code128FNC1String);
break;
case "{2}":
result.write(BarcodeMaps.code128FNC2String);
break;
case "{3}":
result.write(BarcodeMaps.code128FNC3String);
break;
case "{4}":
result.write(BarcodeMaps.code128FNC4String);
break;
default:
result.write(match.group(0));
}
start = match.end;
}
result.write(data.substring(start));
data = result.toString();
}
return data;
}