5. Использование API

Zint написан на языке C и имеет API для использования программами на языке С. Благодаря theunknownones, есть возможно использовать zint в виде компонента Delphi.

API библиотеки libzint очень похоже на тот, что используется пакетом GNU Barcode. Это позволяет легко переходить от GNU Barcode к Zint. Однако имена функций и параметров, используемые в Zint и GNU штрих-коде, различаются. Это позволяет спользовать одном приложении оба пакета без каких-либо конфликтов.

5.1 Создание и удаление штрих-кодов

Штрих-коды, которые создает Zint, находятся в структуре zint_symbol , определенной в zint.h. Эти штрих-коды создаются функцией ZBarcode_Create() и удаляются с помощью функции ZBarcode_Delete(). К примеру, данный код создает и затем удаляет штрих-код:


#include <stdio.h>

#include <zint.h>

int main()

{

struct zint_symbol *my_symbol;

my_symbol = ZBarcode_Create();

if(my_symbol != NULL)

{

printf("Symbol successfully created!\n");

}

ZBarcode_Delete(my_symbol);

return 0;

}


При компиляции этот код должен быть связан с библиотекой libzint с параметром -lzint:


gcc -o simple simple.clzint


5.2 Кодирование и сохранение в файл

Чтобы закодировать данные в штрих-код, используется функция ZBarcode_Encode(). Чтобы записать штрих-код в файл, используется функция ZBarcode_Print(). К примеру, данный код берет параметр из командной строки и выводит штрихкод в формате Code 128 в файл out.png (формат, соответственно, PNG) в текущем рабочем каталоге:


#include <stdio.h>

#include <zint.h>

int main(int argc, char **argv)

{

struct zint_symbol *my_symbol;

my_symbol = ZBarcode_Create();

ZBarcode_Encode(my_symbol, argv[1], 0);

ZBarcode_Print(my_symbol, 0);

ZBarcode_Delete(my_symbol);

return 0;

}


Это также может быть сделано в один этап с использованием функции ZBarcode_Encode_and_Print(), как показано в следующем примере:


#include <stdio.h>

#include <zint.h>

int main(int argc, char **argv)

{

struct zint_symbol *my_symbol;

my_symbol = ZBarcode_Create();

ZBarcode_Encode_and_Print(my_symbol, argv[1], 0, 0);

ZBarcode_Delete(my_symbol);

return 0;

}


Строка на входе должна быть в кодировкеUnicode.

5.3 Функции кодирования и печати

Определены следующие функции для кодирования и печати штрих-кодов:


int ZBarcode_Encode(struct zint_symbol *symbol, unsigned char *input, int

length);

int ZBarcode_Encode_File(struct zint_symbol *symbol, char *filename);

int ZBarcode_Print(struct zint_symbol *symbol, int rotate_angle);

int ZBarcode_Encode_and_Print(struct zint_symbol *symbol, unsigned char *input,

int length, int rotate_angle);

int ZBarcode_Encode_File_and_Print(struct zint_symbol *symbol, char *filename,

int rotate_angle);


В этих фунциях параметр "length" может быт использован для установки длины вводной строки. Это позволяет кодировать NULL (ASCII 0) символы в тех штрихкодах, где это допустими. Значение 0 отключает эту возможность и Zint будет кодировать данные до первого символа NULL в строке ввода.


Параметр "rotate_angle" позволяет повернуть картинку во время ее вывода в формате PNG. Допустимые значения: 0, 90, 180 и 270.


Функции ZBarcode_Encode_File() and ZBarcode_Encode_File_and_Print() могут быть использованы, чтобы закодировать данные, получаемые из файла, имя файла указывается в строке "filename".


5.4 Буферизация штрих-кодов в память

В дополнение к сохранению штрих-кодов в файлы, Zint позволяет получить доступ к растровому изображению штрихкода в памяти.

Для этого используются следующие функции:


int ZBarcode_Buffer(struct zint_symbol *symbol, int rotate_angle);

int ZBarcide_Encode_and_Buffer(struct zint_symbol *symbol, unsigned char *input,

int length, int rotate_angle);

int ZBarcode_Encode_File_and_Buffer(struct zint_symbol *symbol, char *filename,

int rotate_angle);


Параметры такие же, как и описано выше. Разница в том, что вместо сохранения картинки в файл, она помещается в массив (char). Указатель "bitmap" устанавливается на первой ячейке массива; значения "barcode_width" и "barcode_height" указывают на размер полученного изображения в пикселях. Вращение и параметры цвета могут быть использованы во время буферизации так же, как и при сохранении в PNG файл.

Растровые данные могут быть извлечены из массива с помощью метода, показанного в следующем примере. render_pixel() следует понимать, как функцию для рисования точек на экране, осуществляемая приложением:


int row, col, i = 0;

int red, blue, green;

for(row = 0; row < my_symbol->bitmap_height; row++) {

for(column = 0; column < my_symbol->bitmap_width; column++) {

red = my_symbol->bitmap[i];

green = my_symbol->bitmap[i + 1];

blue = my_symbol->bitmap[i + 2];

render_pixel(row, column, red, green, blue);

i += 3;

}

}


5.5 Настройки

Пример выше, конечно очень прост, но позволяет ли формировать штриходы формата Code 128 и сохранять их в jut.png. Конечно, в реальном применении это все должно настраиваться. Это обеспечивается изменением значений элементов структуры zint_symbol в между этапами создания и кодирования. Структура zint_symbol состоит из следующих переменных:


Имя переменной

Тип

Смысл

Значение по умолчанию

symbology

integer

Вид штрихкода (см. раздел 5.7).

BARCODE_ CODE128

height

integer

Высота изображения (см. примечание)

50

whitespace_width

integer

Ширина пробела.

0

border_width

integer

Ширина границы.

0

output_options

integer

Параметры рамки и границ (см. раздел 5.8).

(none)

fgcolour

character string

Цвет элементов штрих-кода. (шестнадцатеричная RGB строка) Должен содержать 6 символов и заканчиваться '\0'.

"000000"

bgcolour

character string

Цвет фона штрих-кода. (шестнадцатеричная RGB строка) Должен содержать 6 символов и заканчиваться '\0'.

"ffffff"

outfile

character string

Содержит имя файла для вывода полученного изображения. Файл должен иметь расширение .png, .eps или .svg.

"out.png"

option_1

integer

Зависит от выбранного виды штрихкода

(automatic)

option_2

integer

Зависит от выбранного виды штрихкода

(automatic)

option_3

integer

Зависит от выбранного виды штрихкода

(automatic)

scale

float

Масштаб

1.0

input_mode

integer

Кодировка входных данных (см. раздел 5.9)

BINARY_MODE

primary

character string

Первичные данные для некоторых штрих-кодов.

NULL

text

unsigned character string

Понятный человеку текст, который обычно состоит из входных данный и одной или нескольких контрольных цифр. Используется кодировка UTF-8.

NULL

rows

integer

Количество строк в символе штрихкода (не путайте с количеством строк в изображении штрихкода)

(output only)

width

integer

Ширина штрихкода

(output only)

encoding_data

array of character strings

Представление закодированных данных.

(output only)

row_height

array of integers

Высоты строк штрихкода

(output only)

errtxt

character string

Сообщение об ошибке (при ее возникновении).

(output only)

bitmap

pointer to character array

Указатель на растровое изобрадение штрихкода.

(output only)

bitmap_width

integer

Ширина сохраненного растрового изображения пикселях).

(output only)

bitmap_height

integer

Высота сохраненного растрового изображения пикселях).

(output only)

Свойства ниже добавлены в версии 1.1. Доступны только в Ocvita Barcode ActiveX

code_page

long

Кодовая страницы.

65001 - UTF-8

1251 -windows-1251

полный список см. ниже в разделе 5.A

65001

setting_1

long

Дополнительная настройка.

См в разделе 5.А

0


Примечание. Это значение игнорируется в штрих-кодах Australia Post 4-State, PostNet, PLANET, USPS OneCode, RM4SCC, PDF417, Data Matrix, Maxicode, QR Code, GS1 DataBar-14 Stacked, PDF417 и MicroPDF417которые имеют фиксированную высоту.


Чтобы изменить эти значения, используют синтаксис, показанный на примере ниже Результат выполнения этого кода такой же, как и в предыдущем примере, но штрихкод будет выше и зеленого цвета.


#include <stdio.h>

#include <zint.h>

#include <string.h>

int main(int argc, char **argv)

{

struct zint_symbol *my_symbol;

my_symbol = ZBarcode_Create();

strcpy(my_symbol->fgcolour, "00ff00");

my_symbol->height = 400;

ZBarcode_Encode_and_Print(my_symbol, argv[1], 0, 0);

ZBarcode_Delete(my_symbol);

return 0;

}


5.6 Обработка ошибок

В случае возникновения ошибок при кодировании, вызывающему приложению возвращается код ошибки (тип integer). Кроме того, подробное сообщение об ошибке помещается в переменную errtxt. Коды ошибок, которые могут быть возвращены Zint, приведены в следующей таблице:


Возвращаемое значение

Суть ошибки

WARN_INVALID_OPTION

Одно из значений в zint_struct было установлено не верно, но Zint сделал предположение, каким оно должно быть и в соответствие с этим сгенерировал штрих-код.

ERROR_TOO_LONG

Исходные данные слишком длинные или слишком короткие для выбранного вида штрихкода. Штрих-код создан не был.

ERROR_INVALID_DATA

Данные для кодирования включают в себя символы, недопустимые выбранном виде штрихода (например, буквы в формате EAN). Штрих-код создан не был.

ERROR_INVALID_CHECK

ISBN c неверно введенной контрольной цифрой. Штрих-код создан не был. (прим. перевод. - видимо не только ISBN)

ERROR_INVALID_OPTION

Одно из значений в zint_struct было установлено не верно, и Zint не смог предположить, каким ему следовало бы быть. Штрих-код создан не был.

ERROR_ENCODING_PROBLEM

Произошел сбой в процессе кодирования данных. Видимо ошибка в самом Zint. Пожалуйста, свяжитесь с разработчиком, если Вы столкнулись с этой ошибкой.

ERROR_FILE_ACCESS

Zint не удалось записать указанный файл. Обычно это связано с проблемой прав доступа к файлам.

ERROR_MEMORY

Zint не хватило памяти. (видимо в вашей системе ее совсем мало)

Пример обработки сообщений об ошибках


#include <stdio.h>

#include <zint.h>

#include <string.h>

int main(int argc, char **argv)

{

struct zint_symbol *my_symbol;

int error = 0;

my_symbol = ZBarcode_Create();

strcpy(my_symbol->fgcolour, "nonsense");

error = ZBarcode_Encode_and_Print(my_symbol, argv[1], 0, 0);

if(error != 0)

{

/* some error occurred */

printf("%s\n", my_symbol->errtxt);

}

if(error > WARN_INVALID_OPTION)

{

/* stop now */

ZBarcode_Delete(my_symbol);

return 1;

}

/* otherwise carry on with the rest of the application */

ZBarcode_Delete(my_symbol);

return 0;

}


Результатом будет сообщение об ошибке:


error: malformed foreground colour target


5.7 Указание формата

Формат штрихкода может быть задан число или именем, как показано в следующей таблице.


symbol->symbology= BARCODE_LOGMARS;


означает то же, что и


symbol->symbology = 50;


Значение

Имя

Вид штрихкода (symbology)

1

BARCODE_CODE11

Code 11

2

BARCODE_C25MATRIX

Standard Code 2 of 5

3

BARCODE_C25INTER

Interleaved 2 of 5

4

BARCODE_C25IATA

Code 2 of 5 IATA

6

BARCODE_C25LOGIC

Code 2 of 5 Data Logic

7

BARCODE_C25IND

Code 2 of 5 Industrial

8

BARCODE_CODE39

Code 3 of 9 (Code 39)

9

BARCODE_EXCODE39

Extended Code 3 of 9 (Code 39+)

13

BARCODE_EANX

EAN

16

BARCODE_EAN128

GS1-128

18

BARCODE_CODABAR

Codabar

20

BARCODE_CODE128

Code 128 (automatic subset switching)

21

BARCODE_DPLEIT

Deutshe Post Leitcode

22

BARCODE_DPIDENT

Deutshe Post Identcode

23

BARCODE_CODE16K

Code 16K

24

BARCODE_CODE49

Code 49

25

BARCODE_CODE93

Code 93

28

BARCODE_FLAT

Flattermarken

29

BARCODE_RSS14

GS1 DataBar-14

30

BARCODE_RSS_LTD

GS1 DataBar Limited

31

BARCODE_RSS_EXP

GS1 DataBar Expanded

32

BARCODE_TELEPEN

Telepen Alpha

34

BARCODE_UPCA

UPC A

37

BARCODE_UPCE

UPC E

40

BARCODE_POSTNET

PostNet

47

BARCODE_MSI_PLESSEY

MSI Plessey

49

BARCODE_FIM

FIM

50

BARCODE_LOGMARS

LOGMARS

51

BARCODE_PHARMA

Pharmacode One-Track

52

BARCODE_PZN

PZN

53

BARCODE_PHARMA_TWO

Pharmacode Two-Track

55

BARCODE_PDF417

PDF417

56

BARCODE_PDF417TRUNC

PDF417 Truncated

57

BARCODE_MAXICODE

Maxicode

58

BARCODE_QRCODE

QR Code

60

BARCODE_CODE128B

Code 128 (Subset B)

63

BARCODE_AUSPOST

Australia Post Standard Customer

66

BARCODE_AUSREPLY

Australia Post Reply Paid

67

BARCODE_AUSROUTE

Australia Post Routing

68

BARCODE_AUSREDIRECT

Australia Post Redirection

69

BARCODE_ISBNX

ISBN (EAN-13 with verification stage)

70

BARCODE_RM4SCC

Royal Mail 4 State (RM4SCC)

71

BARCODE_DATAMATRIX

Data Matrix

72

BARCODE_EAN14

EAN-14

75

BARCODE_NVE18

NVE-18

76

BARCODE_JAPANPOST

Japanese Post

77

BARCODE_KOREAPOST

Korea Post

79

BARCODE_RSS14STACK

GS1 DataBar-14 Stacked

80

BARCODE_RSS14STACK_OMNI

GS1 DataBar-14 Stacked Omnidirectional

81

BARCODE_RSS_EXPSTACK

GS1 DataBar Expanded Stacked

82

BARCODE_PLANET

PLANET

84

BARCODE_MICROPDF417

MicroPDF417

85

BARCODE_ONECODE

USPS OneCode

86

BARCODE_PLESSEY

Plessey Code

87

BARCODE_TELEPEN_NUM

Telepen Numeric

89

BARCODE_ITF14

ITF-14

90

BARCODE_KIX

Dutch Post KIX Code

92

BARCODE_AZTEC

Aztec Code

93

BARCODE_DAFT

DAFT Code

97

BARCODE_MICROQR

Micro QR Code

98

BARCODE_HIBC_128

HIBC Code 128

99

BARCODE_HIBC_39

HIBC Code 39

102

BARCODE_HIBC_DM

HIBC Data Matrix

104

BARCODE_HIBC_QR

HIBC QR Code

106

BARCODE_HIBC_PDF

HIBC PDF417

108

BARCODE_HIBC_MICPDF

HIBC MicroPDF417

112

BARCODE_HIBC_AZTEC

HIBC Aztec Code

128

BARCODE_AZRUNE

Aztec Runes

129

BARCODE_CODE32

Code 32

130

BARCODE_EANX_CC

Composite Symbol with EAN linear component

131

BARCODE_EAN128_CC

Composite Symbol with GS1-128 linear component

132

BARCODE_RSS14_CC

Composite Symbol with GS1 DataBar-14 linear component

133

BARCODE_RSS_LTD_CC

Composite Symbol with GS1 DataBar Limited component

134

BARCODE_RSS_EXP_CC

Composite Symbol with GS1 DataBar Extended component

135

BARCODE_UPCA_CC

Composite Symbol with UPC A linear component

136

BARCODE_UPCE_CC

Composite Symbol with UPC E linear component

137

BARCODE_RSS14STACK_CC

Composite Symbol with GS1 DataBar-14 Stacked component

138

BARCODE_RSS14_OMNI_CC

Composite Symbol with GS1 DataBar-14 Stacked Omnidirectional component

139

BARCODE_RSS_EXPSTACK_CC

Composite Symbol with GS1 DataBar Expanded Stacked component

140

BARCODE_CHANNEL

Channel Code

141

BARCODE_CODEONE

Code One

142

BARCODE_GRIDMATRIX

Grid Matrix


5.8 Добавление рамки и границы

Рамки и границы добавляются с помощью свойства output_options структуры zint_symbol. Надо просто присвоить переменной output_options значение из следующей таблицы:


Значение

Эффект

0

Нет ячеек и границ.

BARCODE_BIND

Граница сверху и снизу штрих-кода и между строк, если речь идет о составных символах.

BARCODE_BOX

Добавить рамку вокруг штрих-кода его полей.

Примечание. Кроме Code 16k и ITF-14.


5.9 Кодировка входных символов

Свойство input_mode позволяет установить способ кодирования исходных данных. Допустимые значения приведены в таблице ниже:


Значение

Результат

DATA_MODE

Используется полный диапазон ASCII (понимается как Latin-1 или двоичные данные).

UNICODE_MODE

Входные данные в формате UTF-8

GS1_MODE

Кодирует GS1 данные с использованием FNC1 символов.


5.10 Проверка доступности формата

В API имеется функция:


int ZBarcode_ValidID(int symbol_id);


Эта функция позволяет проверить: доступен ли данный формат. Возвращенное ненулевое значение указывает на то, что данный формат доступен. Например:


if(ZBarcode_ValidID(BARCODE_PDF417) != 0)

{

printf("PDF417 available");

}

else

{

printf("PDF417 not available");

}


5.А. Дополнительные свойства, реализованные в Ocvita Barcode

Кодовая страница (code_page) (реализовано в версии 1.1)

Переданное значение будет преобразовано в соответствующую кодировку. Для преобразования используется функция WideCharToMultiByte (фактически code_page это ее первый параметр).


Значение

.NET Name

Описание

037

IBM037

IBM EBCDIC US-Canada

437

IBM437

OEM United States

500

IBM500

IBM EBCDIC International

708

ASMO-708

Arabic (ASMO 708)

709

Arabic (ASMO-449+, BCON V4)

710

Arabic - Transparent Arabic

720

DOS-720

Arabic (Transparent ASMO); Arabic (DOS)

737

ibm737

OEM Greek (formerly 437G); Greek (DOS)

775

ibm775

OEM Baltic; Baltic (DOS)

850

ibm850

OEM Multilingual Latin 1; Western European (DOS)

852

ibm852

OEM Latin 2; Central European (DOS)

855

IBM855

OEM Cyrillic (primarily Russian)

857

ibm857

OEM Turkish; Turkish (DOS)

858

IBM00858

OEM Multilingual Latin 1 + Euro symbol

860

IBM860

OEM Portuguese; Portuguese (DOS)

861

ibm861

OEM Icelandic; Icelandic (DOS)

862

DOS-862

OEM Hebrew; Hebrew (DOS)

863

IBM863

OEM French Canadian; French Canadian (DOS)

864

IBM864

OEM Arabic; Arabic (864)

865

IBM865

OEM Nordic; Nordic (DOS)

866

cp866

OEM Russian; Cyrillic (DOS)

869

ibm869

OEM Modern Greek; Greek, Modern (DOS)

870

IBM870

IBM EBCDIC Multilingual/ROECE (Latin 2); IBM EBCDIC Multilingual Latin 2

874

windows-874

ANSI/OEM Thai (same as 28605, ISO 8859-15); Thai (Windows)

875

cp875

IBM EBCDIC Greek Modern

932

shift_jis

ANSI/OEM Japanese; Japanese (Shift-JIS)

936

gb2312

ANSI/OEM Simplified Chinese (PRC, Singapore); Chinese Simplified (GB2312)

949

ks_c_5601-1987

ANSI/OEM Korean (Unified Hangul Code)

950

big5

ANSI/OEM Traditional Chinese (Taiwan; Hong Kong SAR, PRC); Chinese Traditional (Big5)

1026

IBM1026

IBM EBCDIC Turkish (Latin 5)

1047

IBM01047

IBM EBCDIC Latin 1/Open System

1140

IBM01140

IBM EBCDIC US-Canada (037 + Euro symbol); IBM EBCDIC (US-Canada-Euro)

1141

IBM01141

IBM EBCDIC Germany (20273 + Euro symbol); IBM EBCDIC (Germany-Euro)

1142

IBM01142

IBM EBCDIC Denmark-Norway (20277 + Euro symbol); IBM EBCDIC (Denmark-Norway-Euro)

1143

IBM01143

IBM EBCDIC Finland-Sweden (20278 + Euro symbol); IBM EBCDIC (Finland-Sweden-Euro)

1144

IBM01144

IBM EBCDIC Italy (20280 + Euro symbol); IBM EBCDIC (Italy-Euro)

1145

IBM01145

IBM EBCDIC Latin America-Spain (20284 + Euro symbol); IBM EBCDIC (Spain-Euro)

1146

IBM01146

IBM EBCDIC United Kingdom (20285 + Euro symbol); IBM EBCDIC (UK-Euro)

1147

IBM01147

IBM EBCDIC France (20297 + Euro symbol); IBM EBCDIC (France-Euro)

1148

IBM01148

IBM EBCDIC International (500 + Euro symbol); IBM EBCDIC (International-Euro)

1149

IBM01149

IBM EBCDIC Icelandic (20871 + Euro symbol); IBM EBCDIC (Icelandic-Euro)

1200

utf-16

Unicode UTF-16, little endian byte order (BMP of ISO 10646); available only to managed applications

1201

unicodeFFFE

Unicode UTF-16, big endian byte order; available only to managed applications

1250

windows-1250

ANSI Central European; Central European (Windows)

1251

windows-1251

ANSI Cyrillic; Cyrillic (Windows)

1252

windows-1252

ANSI Latin 1; Western European (Windows)

1253

windows-1253

ANSI Greek; Greek (Windows)

1254

windows-1254

ANSI Turkish; Turkish (Windows)

1255

windows-1255

ANSI Hebrew; Hebrew (Windows)

1256

windows-1256

ANSI Arabic; Arabic (Windows)

1257

windows-1257

ANSI Baltic; Baltic (Windows)

1258

windows-1258

ANSI/OEM Vietnamese; Vietnamese (Windows)

1361

Johab

Korean (Johab)

10000

macintosh

MAC Roman; Western European (Mac)

10001

x-mac-japanese

Japanese (Mac)

10002

x-mac-chinesetrad

MAC Traditional Chinese (Big5); Chinese Traditional (Mac)

10003

x-mac-korean

Korean (Mac)

10004

x-mac-arabic

Arabic (Mac)

10005

x-mac-hebrew

Hebrew (Mac)

10006

x-mac-greek

Greek (Mac)

10007

x-mac-cyrillic

Cyrillic (Mac)

10008

x-mac-chinesesimp

MAC Simplified Chinese (GB 2312); Chinese Simplified (Mac)

10010

x-mac-romanian

Romanian (Mac)

10017

x-mac-ukrainian

Ukrainian (Mac)

10021

x-mac-thai

Thai (Mac)

10029

x-mac-ce

MAC Latin 2; Central European (Mac)

10079

x-mac-icelandic

Icelandic (Mac)

10081

x-mac-turkish

Turkish (Mac)

10082

x-mac-croatian

Croatian (Mac)

12000

utf-32

Unicode UTF-32, little endian byte order; available only to managed applications

12001

utf-32BE

Unicode UTF-32, big endian byte order; available only to managed applications

20000

x-Chinese_CNS

CNS Taiwan; Chinese Traditional (CNS)

20001

x-cp20001

TCA Taiwan

20002

x_Chinese-Eten

Eten Taiwan; Chinese Traditional (Eten)

20003

x-cp20003

IBM5550 Taiwan

20004

x-cp20004

TeleText Taiwan

20005

x-cp20005

Wang Taiwan

20105

x-IA5

IA5 (IRV International Alphabet No. 5, 7-bit); Western European (IA5)

20106

x-IA5-German

IA5 German (7-bit)

20107

x-IA5-Swedish

IA5 Swedish (7-bit)

20108

x-IA5-Norwegian

IA5 Norwegian (7-bit)

20127

us-ascii

US-ASCII (7-bit)

20261

x-cp20261

T.61

20269

x-cp20269

ISO 6937 Non-Spacing Accent

20273

IBM273

IBM EBCDIC Germany

20277

IBM277

IBM EBCDIC Denmark-Norway

20278

IBM278

IBM EBCDIC Finland-Sweden

20280

IBM280

IBM EBCDIC Italy

20284

IBM284

IBM EBCDIC Latin America-Spain

20285

IBM285

IBM EBCDIC United Kingdom

20290

IBM290

IBM EBCDIC Japanese Katakana Extended

20297

IBM297

IBM EBCDIC France

20420

IBM420

IBM EBCDIC Arabic

20423

IBM423

IBM EBCDIC Greek

20424

IBM424

IBM EBCDIC Hebrew

20833

x-EBCDIC-KoreanExtended

IBM EBCDIC Korean Extended

20838

IBM-Thai

IBM EBCDIC Thai

20866

koi8-r

Russian (KOI8-R); Cyrillic (KOI8-R)

20871

IBM871

IBM EBCDIC Icelandic

20880

IBM880

IBM EBCDIC Cyrillic Russian

20905

IBM905

IBM EBCDIC Turkish

20924

IBM00924

IBM EBCDIC Latin 1/Open System (1047 + Euro symbol)

20932

EUC-JP

Japanese (JIS 0208-1990 and 0121-1990)

20936

x-cp20936

Simplified Chinese (GB2312); Chinese Simplified (GB2312-80)

20949

x-cp20949

Korean Wansung

21025

cp1025

IBM EBCDIC Cyrillic Serbian-Bulgarian

21027

(deprecated)

21866

koi8-u

Ukrainian (KOI8-U); Cyrillic (KOI8-U)

28591

iso-8859-1

ISO 8859-1 Latin 1; Western European (ISO)

28592

iso-8859-2

ISO 8859-2 Central European; Central European (ISO)

28593

iso-8859-3

ISO 8859-3 Latin 3

28594

iso-8859-4

ISO 8859-4 Baltic

28595

iso-8859-5

ISO 8859-5 Cyrillic

28596

iso-8859-6

ISO 8859-6 Arabic

28597

iso-8859-7

ISO 8859-7 Greek

28598

iso-8859-8

ISO 8859-8 Hebrew; Hebrew (ISO-Visual)

28599

iso-8859-9

ISO 8859-9 Turkish

28603

iso-8859-13

ISO 8859-13 Estonian

28605

iso-8859-15

ISO 8859-15 Latin 9

29001

x-Europa

Europa 3

38598

iso-8859-8-i

ISO 8859-8 Hebrew; Hebrew (ISO-Logical)

50220

iso-2022-jp

ISO 2022 Japanese with no halfwidth Katakana; Japanese (JIS)

50221

csISO2022JP

ISO 2022 Japanese with halfwidth Katakana; Japanese (JIS-Allow 1 byte Kana)

50222

iso-2022-jp

ISO 2022 Japanese JIS X 0201-1989; Japanese (JIS-Allow 1 byte Kana - SO/SI)

50225

iso-2022-kr

ISO 2022 Korean

50227

x-cp50227

ISO 2022 Simplified Chinese; Chinese Simplified (ISO 2022)

50229

ISO 2022 Traditional Chinese

50930

EBCDIC Japanese (Katakana) Extended

50931

EBCDIC US-Canada and Japanese

50933

EBCDIC Korean Extended and Korean

50935

EBCDIC Simplified Chinese Extended and Simplified Chinese

50936

EBCDIC Simplified Chinese

50937

EBCDIC US-Canada and Traditional Chinese

50939

EBCDIC Japanese (Latin) Extended and Japanese

51932

euc-jp

EUC Japanese

51936

EUC-CN

EUC Simplified Chinese; Chinese Simplified (EUC)

51949

euc-kr

EUC Korean

51950

EUC Traditional Chinese

52936

hz-gb-2312

HZ-GB2312 Simplified Chinese; Chinese Simplified (HZ)

54936

GB18030

Windows XP and later: GB18030 Simplified Chinese (4 byte); Chinese Simplified (GB18030)

57002

x-iscii-de

ISCII Devanagari

57003

x-iscii-be

ISCII Bengali

57004

x-iscii-ta

ISCII Tamil

57005

x-iscii-te

ISCII Telugu

57006

x-iscii-as

ISCII Assamese

57007

x-iscii-or

ISCII Oriya

57008

x-iscii-ka

ISCII Kannada

57009

x-iscii-ma

ISCII Malayalam

57010

x-iscii-gu

ISCII Gujarati

57011

x-iscii-pa

ISCII Punjabi

65000

utf-7

Unicode (UTF-7)

65001

utf-8

Unicode (UTF-8) (по умолчанию)


Дополнительная настройка setting_1 (реализовано в версии 1.1)

Дополнительные настройки вывода штрихкодов. Подробнее указано в описании конкретных штрихкодов.