Exported from Bugzilla, issue 4102.
--- Comment added on 11/19/2002 9:52:53 AM ---
FNC1 is not properly supported. This code change will map #140 to FNC1
Make the following changes to the StBarC unit indicated with a !!.dg. Keep a
backup copy of StBarC.pas in case things go wrong.
1) Update the Code 128 character map table
'114113', {95 US DEL 95}
'114311', {96 FNC 3 FNC 3 96} {use #132}
'411113', {97 FNC 2 FNC 2 97} {use #131}
'411311', {98 SHIFT SHIFT 98} {use #130}
'113141', {99 CODE C CODE C 99} {use #135}
'114131', {100 CODE B FNC 4 CODE B} {use #134}
'311141', {101 FNC 4 CODE A CODE A} {use #133}
'411131', {102 FNC 1 FNC 1 FNC 1 } {use #140} {!!.dg}
'211412', {103 CODE A} {use #136}
'211214', {104 CODE B} {use #137}
'211232', {105 CODE C} {use #138}
'2331112');{106 STOP} {use #139}
2) Modify the GetACode128CDigit procedure
case (c) of
#130 : bcDigits[bcDigitPos + 1] := 98; {é} {rest are manufactured
characters}
#131 : bcDigits[bcDigitPos + 1] := 97; {â}
#132 : bcDigits[bcDigitPos + 1] := 96; {ä}
#133 : bcDigits[bcDigitPos + 1] := 98; {ŕ}
#134 : bcDigits[bcDigitPos + 1] := 100; {ĺ}
#135 : bcDigits[bcDigitPos + 1] := 99; {ç}
#136 : bcDigits[bcDigitPos + 1] := 103; {ę}
#137 : bcDigits[bcDigitPos + 1] := 104; {ë}
#138 : bcDigits[bcDigitPos + 1] := 105; {č}
#139 : bcDigits[bcDigitPos + 1] := 106; {ď}
#140 : bcDigits[bcDigitPos + 1] := 102;
{!!.dg}
else
try
3) Modify the GetACode128ABDigit procedure
#135 : bcDigits[bcDigitPos + 1] := 99; {ç}
#136 : bcDigits[bcDigitPos + 1] := 103; {ę}
#137 : bcDigits[bcDigitPos + 1] := 104; {ë}
#138 : bcDigits[bcDigitPos + 1] := 105; {č}
#139 : bcDigits[bcDigitPos + 1] := 106; {ď}
#140 : bcDigits[bcDigitPos + 1] := 102;
{!!.dg}
else
RaiseStError(EStBarCodeError, stscInvalidCharacter);
end;
Inc (Index);
Inc (bcDigitPos);