It contains fields to specify the parameters (e.g. position, size, etc.) for the barcode symbol. It is defined in the pBarcode1D unit.
The record is used in the OnDrawBarcode and OnDrawText events.
type
{ Defined in the pCore1D unit }
TDisplayText = (dtNone, dtBarcode, dtFullEncoded);
{ Defined in the pCore1D unit }
TTextPosition = (tpTopIn, tpTopOut, tpBottomIn, tpBottomOut);
{ Defined in the pCore1D unit }
TTextAlignment = (taLeft, taCenter, taRight, taJustify, taLeftQuietZone, taCenterQuietZone, taRightQuietZone, taJustifyQuietZone, taCustom);
{ Defined in the pBarcode1D unit }
TBarcodeCustomParameters = record
Alpha: Double;
Origin: TPoint;
Offset: TPoint;
DensityRate: Double;
FullEncoded: string;
Text: string;
DisplayText: TDisplayText;
TextPosition: TTextPosition;
TextAlignment: TTextAlignment;
TextFont: TFont;
ExtraFontSize: Integer;
LeftQuietZone_Spacing: Integer;
RightQuietZone_Spacing: Integer;
LeftQuietZone_Width: Integer;
RightQuietZone_Width: Integer;
LeftQuietText_Height: Integer;
RightQuietText_Height: Integer;
Symbol_Width: Integer;
Symbol_Height: Integer;
Symbol_V_Offset: Integer;
Symbol_H_Offset: Integer;
Total_Left: Integer;
Total_Top: Integer;
Total_Width: Integer;
Total_Height: Integer;
end;
Alpha: Double; The angle in radian that the barcode symbol will be rotated. See diageam:
Origin: TPoint; The coordinate of the upper-left corner of the barcode symbol after the barcode symbol is rotated. The X value is in logical dots or pixels in the horizontal direction. The Y value is in logical dots or pixels in the vertical direction. See diageam:
Offset: TPoint; For TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_UPCA, TBarcode1D_EAN8, TBarcode1D_EAN13, or TBarcode1D_EAN128 barcode components, if it is used as the liner component in the EAN.UCC composite barcode symbols (if you use the 2D Barcode VCL Components package, it is used as the value of Liner property of the CC-A, CC-B or CC-C 2D barcode component), the value of this field is the coordinate offset, in logical pixels (Draw, DrawTo) or dots (Print) in the horizontal direction, for the upper-left corner of the barcode symbol. The offset is relative to the upper-left corner of entire EAN.UCC composite barcode symbol. For other barcode symbols, the value of this field is (0, 0). See diageam:
DensityRate: Double; It is the ratio of the horizontal logical DPI and veritical logical DPI of the canvas.
FullEncoded: string; Contains the barcode text and the check digit that's automatically appended to the barcode symbol. The start code and the stop code aren't included.
For the TBarcode1D_OneCode component, it includes all the tracking and routing, first 20 characters are the Tracking (It is right padded with zeroes to 20 characters), then come the Routing.
See also the "FullEncoded" property.
Text: String; The text which will be represented as the human readable text. It's the value of the FullEncoded property, or the value of the Barcode or Data (only for Delphi/C++ Builder 2009 or later) property, or an empty string, base on the value of the DisplayText property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the full encoded value generated from the Barcode or Data (only for Delphi/C++ Builder 2009 or later) parmaters, or the value of the Barcode or Data (only for Delphi/C++ Builder 2009 or later) parameter, or an empty string, base on the value of the DisplayText field in the BarcodeTextDefine parameter).
If the human readable text is represented, for the TBarcode1D_OneCode barcode component, first 20 characters are the Tracking (It is right padded with zeroes to 20 characters), then come the Routing.
For the TBarcode1D_Code128 and TBarcode1D_EAB128 components, you can encode a block of binary (bytes) data into the barcode symbol. In this case, you can use the OnDecodeText event to decode the text from the block of binary (bytes) data in order to output it as the barcode text into the barcode symbol, and the field is equal to the BarcodeText parameter of the OnDecodeText event function.
For the TBarcode1D_FIM component, it is single character that denotes the FIM type, form "A" to "E", the "E" character dnotes an empty barcode symbol.
For the TBarcode1D_Patch component, it is single character that denotes the Ptach type, including "0", "1", "2", "3", "4", "6", and "T", the "0" character dnotes an empty barcode symbol.
DisplayText: TDisplayText; Current value of the DisplayText property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the value of the DisplayText field of the BarcodeTextDefine parameter). It specifies whether to represent the human readable text and what will display as the human readable text. This field can have one of following values (defined in the pCore1D unit):
See also the "DisplayText" property.
TextPosition: TTextPosition; Current value of the TextPosition property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the value of the TextPosition field of the BarcodeTextDefine parameter). It specifies the position of the human readable text (specifies the vertical alignment of the human readable text within the barcode symbol).
This field can have one of these values (defined in the pCore1D unit):
tpTopIn: Justifies the human readable text to the top in the barcode symbol, the bars and spaces on both left and right sides of the human readable text will be reserved. See diagram:
If the TextAlignment field is set to taJustify or taJustifyQuietZone, it is the same as using the tpTopOut.
For TBarcode1D_ITF6, TBarcode1D_ITF14, TBarcode1D_ITF16, TBarcode1D_PLANET, TBarcode1D_PostNet, TBarcode1D_JapanPost, TBarcode1D_AP4SC, TBarcode1D_KIX4S, TBarcode1D_RM4SCC, TBarcode1D_PharmacodeTwoTrack, TBarcode1D_PostBar, and TBarcode1D_OneCode barcode components, it is the same as using the tpTopOut.
For TBarcode1D_EAN2 and TBarcode1D_EAN5 barcode components, if the TextAlignment field is set to taCustom, it is the same as using the tpTopOut.
tpTopOut: Justifies the human readable text to the top in the barcode symbol, the bars and spaces on both left and right sides of the human readable text will be erased. See diagram:
tpBottomIn: Justifies the human readable text to the bottom in the barcode symbol, the bars and spaces on both left and right sides of the human readable text will be reserved.
If the TextAlignment field is set to taJustify or taJustifyQuietZone, it is the same as using the tpBottomOut.
For TBarcodeD_ITF6, TBarcodeD_ITF14, TBarcodeD_ITF16, TBarcodeD_PLANET, TBarcodeD_PostNet, TBarcodeD_JapanPost, TBarcodeD_AP4SC, TBarcodeD_KIX4S, TBarcodeD_RM4SCC, TBarcodeD_PharmacodeTwoTrack, TBarcodeD_PostBar, and TBarcodeD_OneCode barcode components, it is the same as using the tpBottomOut.
For TBarcode1D_EAN2 and TBarcode1D_EAN5 barcode components, if the TextAlignment field is set to taCustom, it is the same as using the tpBottomOut. See diagram:
tpBottomOut: Justifies the human readable text to the bottom in the barcode symbol, the bars and spaces on both left and right sides of the human readable text will be erased. See diagram:
See also the "TextPosition" property.
TextAlignment: TTextAlignment; Current value of the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the value of the TextAlignment of the BarcodeTextDefine parameter). It determines the horizontal alignment the human readable text within the barcode symbol.
This field can have one of these values (defined in the pCore1D unit):
taLeft: Aligns the human readable text to the left within the barcode symbol. See diagram:
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the width of left and right bearer bars (BearerWidth), the LeftSpacing, and the RightSpacing aren't included when align the human readable text. See diagram:
taCenter: Centers the human readable text horizontally within the barcode symbol. See diagram:
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the width of left and right bearer bars (BearerWidth), the LeftSpacing, and the RightSpacing aren't included when align the human readable text. See diagram:
taRight: Aligns the human readable text to the right within the barcode symbol. See diagram:
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the width of left and right bearer bars (BearerWidth), the LeftSpacing, and the RightSpacing aren't included when align the human readable text. See diagram:
taJustify: Aligns the human readable text to both left and right within the barcode symbol. See diagram:
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the width of left and right bearer bars (BearerWidth), the LeftSpacing, and the RightSpacing aren't included when align the human readable text. See diagram:
taLeftQuietZone: Aligns the human readable text to the left within the barcode symbol. See diagram:
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the width of left and right bearer bars (BearerWidth), the LeftSpacing, and the RightSpacing aren included when align the human readable text. See diagram:
taCenterQuietZone: Centers the human readable text horizontally within the barcode symbol. See diagram:
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the width of left and right bearer bars (BearerWidth), the LeftSpacing, and the RightSpacing aren included when align the human readable text. See diagram:
taRightQuietZone: Aligns the human readable text to the right within the barcode symbol. See diagram:
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the width of left and right bearer bars (BearerWidth), the LeftSpacing, and the RightSpacing aren included when align the human readable text. See diagram:
taJustifyQuietZone: Aligns the human readable text to both left and right within the barcode symbol. See diagram:
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the width of left and right bearer bars (BearerWidth), the LeftSpacing, and the RightSpacing aren included when align the human readable text. See diagram:
taCustom: For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN2, TBarcode1D_EAN5, TBarcode1D_EAN8, and TBarcode1D_EAN13 barcode components, displays the human readable text as UPC/EAN standard format. For other barcode components, it is the same as using the taJustify. See diagram:
See also the "TextAlignment" property.
TextFont: TFont; Current value of the TextFont property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the value of the TextFont field of the BarcodeTextDefine parameter). It specifies the font of the human readable text. The color value that's specified by SpaceColor property will be used as the background color (for DrawTo - Syntax 1 and Print - Syntax 1 methods, it's the value of the SpaceColor parameter). See also the "TextFont" property.
ExtraFontSize: Integer; Current value of the ExtraFontSize property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the value of the ExtraFontSize field of the BarcodeTextDefine parameter).
For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, and TBarcode1D_UPCE1 barcode components, if the human readable text is represented, and the value of TextAlignment field is equal to taCustom, the parameter specifies the font size of the left quiet zone mark and the right quiet zone mark. Otherwise it will be ignored. The font name, style, and color of the left quiet zone mark and the right quiet zone mark are specified by the TextFont property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the value of the TextFont field of the BarcodeTextDefine parameter). The color value that's specified by the SpaceColor property will be used as the background color (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the value of the SpaceColor parameter). See also the "ExtraFontSize" property. See diagram:
LeftQuietZone_Spacing: Integer; For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN8, and TBarcode1D_EAN13 barcode components. if the human readable text is represented, and the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment filed of the BarcodeTextDefine parameter) is set to taCustom (for the TBarcode1D_EAN8 barcode component, the ShowQuietZoneMark property is set to true too), it is the horizontal spacing between the left quiet zone mark and the first bar of barcode symbol, in pixels (Draw, DrawTo) or dots (Print). Otherwise it's zero. See also the LeftQuietZoneSpacing property. See diagram:
RightQuietZone_Spacing: Integer; For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN2, TBarcode1D_EAN5, TBarcode1D_EAN8, and TBarcode1D_EAN13 barcode components. if the human readable text is represented, and the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment field of the BarcodeTextDefine parameter) is set to taCustom (for TBarcode1D_EAN2, TBarcode1D_EAN5, and TBarcode1D_EAN8 barcode components, the ShowQuietZoneMark property is set to true too), it is the horizontal spacing between the last bar of barcode symbol and the right quiet zone mark, in pixels (Draw, DrawTo) or dots (Print). Otherwise it's zero. See also the RightQuietZoneSpacing property. See diagram:
LeftQuietZone_Width: Integer; For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN8, and TBarcode1D_EAN13 barcode components. if the human readable text is represented, and the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment field of the BarcodeTextDefine parameter) is set to taCustom (for the TBarcode1D_EAN8 barcode component, the ShowQuietZoneMark property is set to true too), it is the total width of left quiet zone mark and left quiet zone spacing, in pixels (Draw, DrawTo) or dots (Print). For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components. it's the total width of the bearer bar (BearerWidth) and left spacing (LeftSpacing). Otherwise it's zero.
See diagram:
RightQuietZone_Width: Integer; For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN2, TBarcode1D_EAN5, TBarcode1D_EAN8, and TBarcode1D_EAN13 barcode components. if the human readable text is represented, and the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment field of the BarcodeTextDefine parameter) is set to taCustom (for TBarcode1D_EAN2, TBarcode1D_EAN5, and TBarcode1D_EAN8 barcode components, the ShowQuietZoneMark property is set to true too), it is the total width of right quiet zone mark and right quiet zone spacing, in pixels (Draw, DrawTo) or dots (Print). For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components. it's the total width of right bearer bar (BearerWidth) and right spacing (RightSpacing). Otherwise it's zero.
See diagram:
LeftQuietText_Height: Integer; For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, and TBarcode1D_UPCE1 barcode components. if the human readable text is represented, and the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment field of the BarcodeTextDefine parameter) is set to taCustom, it is the height of the left quiet zone mark, in pixels (Draw, DrawTo) or dots (Print). Otherwise it's zero. See diagram:
RightQuietText_Height: Integer; For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, and TBarcode1D_UPCE1, barcode components. if the human readable text is represented, and the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment field of the BarcodeTextDefine parameter) is set to taCustom, it is the height of the right quiet zone mark, in pixels (Draw, DrawTo) or dots (Print). Otherwise it's zero. See diagram:
Symbol_Width: Integer; It's the total width of the barcode symbol, in pixels (Draw, DrawTo) or dots (Print). The human readable text will not be consulted.
For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN2, TBarcode1D_EAN5, TBarcode1D_EAN8, and TBarcode1D_EAN13 barcode components, if the human readable text is represented, and the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment field of the BarcodeTextDefine parameter) is set to taCustom, the LeftQuietZone_Width and the RightQuietZone_Width (width of left and right quiet zone marks and LeftQuietZone_Spacing and RightQuietZone_Spacing) are included.
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the LeftQuietZone_Width and the RightQuietZone_Width (width of width of the left and right bearer bars, left spacing, and right spacing) are included too.
See diagram:
Symbol_Height: Integer; It's the total height of the barcode symbol, in pixels (Draw, DrawTo) or dots (Print). If the human readable text is represented, the height of the human readable text and its vertical spacing (TextVSpacing property) are included.
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the height of top and bottom bearer bars (BearerWidth) are included too.
If the human readable text is represented, and it exceeds the barcode symbol in vertical direction, the excess isn't included.
See also the Height property.
See diagram:
Symbol_V_Offset: Integer; It's the vertical offset from the upper-left corner of entire barcode (if the human readable text is represented, and it exceeds the barcode symbol in vertical direction, the excess is included) to the upper-left of the barcode symbol (if the human readable text is represented, and it exceeds the barcode symbol in vertical direction, the excess isn't included), in in pixels (Draw, DrawTo) or dots (Print). In general, it is zero. When the human readable text is represented, if the TextPosition property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextPosition field of the BarcodeTextDefine parameter) is set to the tpBottomIn or tpBottomOut, and the human readable text exceeds the barcode symbol in vertical direction, the Symbol_V_Offset is greater than zero. See diagram:
Symbol_H_Offset: Integer; It's the horizontal offset from the upper-left corner of entire barcode (if the human readable text is represented, and it exceeds the barcode symbol in horizontal direction, the excess is included) to the upper-left of the barcode symbol (if the human readable text is represented, and it exceeds the barcode symbol in horizontal direction, the excess isn't included), in in pixels (Draw, DrawTo) or dots (Print). In general, it is zero. When the human readable text is represented, if the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment field of the BarcodeTextDefine parameter) is set to the tpCenter, tpRight, tpCenterQuietZone, or tpRightQuietZone, and the human readable text exceeds the barcode symbol in horizontal direction, the Symbol_H_Offset is greater than zero. See diagram:
Total_Left: Integer; It's the x-coordinate of the upper-left corner of entire barcode symbol before the barcode symbol is rotated, in pixels (Draw, DrawTo) or dots (Print). If the human readable text is represented, it's included in the barcode symbol.
For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN2, TBarcode1D_EAN5, TBarcode1D_EAN8, and TBarcode1D_EAN13 barcode components, if the human readable text is represented, and the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment field of the BarcodeTextDefine parameter) is set to taCustom, LeftQuietZone_Width and RightQuietZone_Width (width of left and right quiet zone marks and LeftQuietZone_Spacing and RightQuietZone_Spacing) are included in the barcode symbol.
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, LeftQuietZone_Width and RightQuietZone_Width ( width of the left and right bearer bars, left spacing, and right spacing) are included in the barcode symbol too.
If the human readable text is represented and it exceeds the barcode symbol in horizontal direction, the excess is included in the barcode symbol too.
See also the "LeftMargin" property.
See diagram:
Total_Top: Integer; It's the y-coordinate of the upper-left corner of entire barcode symbol before the barcode symbol is rotated, in pixels (Draw, DrawTo) or dots (Print). If the human readable text is represented, the height of the human readable text and its vertical spacing (TextVSpacing property) are included in the barcode symbol.
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the height of top and bottom bearer bars (BearerWidth) are included in the barcode symbol too.
If the human readable text is represented, and it exceeds the barcode symbol in vertical direction, the excess is included in the barcode symbol too.
See also the "TopMargin" property.
See diagram:
Total_Width: Integer; It's the width of entire barcode symbol before the barcode symbol is rotated, in pixels (Draw, DrawTo) or dots (Print). If the human readable text is represented, it's included in the barcode symbol.
For TBarcode1D_UPCA, TBarcode1D_UPCE, TBarcode1D_UPCE0, TBarcode1D_UPCE1, TBarcode1D_EAN2, TBarcode1D_EAN5, TBarcode1D_EAN8, and TBarcode1D_EAN13 barcode components, if the human readable text is represented, and the TextAlignment property (for DrawTo - Syntax 2, DrawTo - Syntax 3, Print - Syntax 2, and Print - Syntax 3 methods, it's the TextAlignment field of the BarcodeTextDefine parameter) is set to taCustom, LeftQuietZone_Width and RightQuietZone_Width (width of left and right quiet zone marks and LeftQuietZone_Spacing and RightQuietZone_Spacing) are included.
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, LeftQuietZone_Width and RightQuietZone_Width (width of left and right bearer bars, left spacing, and right spacing) are included too.
If the human readable text is represented and it exceeds the barcode symbol in horizontal direction, the excess is included too.
See also the "BarcodeWidth" property.
See diagram:
Total_Height: Integer; It's the height of entire barcode symbol before the barcode symbol is rotated, in pixels (Draw, DrawTo) or dots (Print). If the human readable text is represented, the height of the human readable text and its vertical spacing (TextVSpacing property) are included.
For TBarcode1D_ITF6, TBarcode1D_ITF14, and TBarcode1D_ITF16 barcode components, the height of top and bottom bearer bars (BearerWidth) are included too.
If the human readable text is represented, and it exceeds the barcode symbol in vertical direction, the excess is included too.
See also the "BarcodeWidth" property.
See diagram: