qrencode
4.1.1
About: libqrencode is a fast and compact library and command-line utility for encoding data in a QR Code symbol.
![]() ![]() |
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <getopt.h>
#include <errno.h>
#include "qrencode.h"
Go to the source code of this file.
Macros | |
#define | INCHES_PER_METER (100.0/2.54) |
qrencode - QR Code encoder More... | |
#define | MAX_DATA_SIZE (7090 * 2) /* timed by the safty factor 2 */ |
Enumerations | |
enum | imageType { PNG_TYPE , PNG32_TYPE , EPS_TYPE , SVG_TYPE , XPM_TYPE , ANSI_TYPE , ANSI256_TYPE , ASCII_TYPE , ASCIIi_TYPE , UTF8_TYPE , ANSIUTF8_TYPE , ANSI256UTF8_TYPE , UTF8i_TYPE , ANSIUTF8i_TYPE } |
Functions | |
static void | usage (int help, int longopt, int status) |
static int | color_set (unsigned char color[4], const char *value) |
static unsigned char * | readFile (FILE *fp, int *length) |
static FILE * | openFile (const char *outfile) |
static int | writePNG (const QRcode *qrcode, const char *outfile, enum imageType type) |
static int | writeEPS (const QRcode *qrcode, const char *outfile) |
static void | writeSVG_drawModules (FILE *fp, int x, int y, int width, const char *col, float opacity) |
static int | writeSVG (const QRcode *qrcode, const char *outfile) |
static int | writeXPM (const QRcode *qrcode, const char *outfile) |
static void | writeANSI_margin (FILE *fp, int realwidth, char *buffer, const char *white, int white_s) |
static int | writeANSI (const QRcode *qrcode, const char *outfile) |
static void | writeUTF8_margin (FILE *fp, int realwidth, const char *white, const char *reset, const char *full) |
static int | writeUTF8 (const QRcode *qrcode, const char *outfile, int use_ansi, int invert) |
static void | writeASCII_margin (FILE *fp, int realwidth, char *buffer, int invert) |
static int | writeASCII (const QRcode *qrcode, const char *outfile, int invert) |
static QRcode * | encode (const unsigned char *intext, int length) |
static void | qrencode (const unsigned char *intext, int length, const char *outfile) |
static QRcode_List * | encodeStructured (const unsigned char *intext, int length) |
static void | qrencodeStructured (const unsigned char *intext, int length, const char *outfile) |
int | main (int argc, char **argv) |
Variables | |
static int | casesensitive = 1 |
static int | eightbit = 0 |
static int | version = 0 |
static int | size = 3 |
static int | margin = -1 |
static int | dpi = 72 |
static int | structured = 0 |
static int | rle = 0 |
static int | svg_path = 0 |
static int | micro = 0 |
static int | inline_svg = 0 |
static int | strict_versioning = 0 |
static QRecLevel | level = QR_ECLEVEL_L |
static QRencodeMode | hint = QR_MODE_8 |
static unsigned char | fg_color [4] = {0, 0, 0, 255} |
static unsigned char | bg_color [4] = {255, 255, 255, 255} |
static int | verbose = 0 |
static enum imageType | image_type = PNG_TYPE |
static const struct option | options [] |
static char * | optstring = "ho:r:l:s:v:m:d:t:Skci8MV" |
static unsigned char | data_buffer [(7090 *2)] |
#define INCHES_PER_METER (100.0/2.54) |
qrencode - QR Code encoder
QR Code encoding tool Copyright (C) 2006-2017 Kentaro Fukuchi kenta ro@f ukuch i.or g
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define MAX_DATA_SIZE (7090 * 2) /* timed by the safty factor 2 */ |
enum imageType |
|
static |
|
static |
Definition at line 1011 of file qrenc.c.
References casesensitive, eightbit, hint, level, micro, QRcode_encodeData(), QRcode_encodeDataMQR(), QRcode_encodeString(), QRcode_encodeStringMQR(), and version.
Referenced by qrencode().
|
static |
Definition at line 1099 of file qrenc.c.
References casesensitive, eightbit, hint, level, QRcode_encodeDataStructured(), QRcode_encodeStringStructured(), and version.
Referenced by qrencodeStructured().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 1246 of file qrenc.c.
References ANSI256_TYPE, ANSI256UTF8_TYPE, ANSI_TYPE, ANSIUTF8_TYPE, ANSIUTF8i_TYPE, ASCII_TYPE, ASCIIi_TYPE, bg_color, casesensitive, color_set(), dpi, eightbit, EPS_TYPE, fg_color, hint, image_type, level, margin, micro, MQRSPEC_VERSION_MAX, options, optstring, PNG32_TYPE, PNG_TYPE, QR_ECLEVEL_H, QR_ECLEVEL_L, QR_ECLEVEL_M, QR_ECLEVEL_Q, QR_MODE_KANJI, qrencode(), qrencodeStructured(), QRSPEC_VERSION_MAX, readFile(), size, structured, SVG_TYPE, usage(), UTF8_TYPE, UTF8i_TYPE, version, and XPM_TYPE.
|
static |
Definition at line 262 of file qrenc.c.
Referenced by writeANSI(), writeASCII(), writeEPS(), writeSVG(), writeUTF8(), and writeXPM().
|
static |
Definition at line 1030 of file qrenc.c.
References ANSI256_TYPE, ANSI256UTF8_TYPE, ANSI_TYPE, ANSIUTF8_TYPE, ANSIUTF8i_TYPE, ASCII_TYPE, ASCIIi_TYPE, encode(), EPS_TYPE, image_type, PNG32_TYPE, PNG_TYPE, QRcode_free(), strict_versioning, SVG_TYPE, UTF8_TYPE, UTF8i_TYPE, verbose, version, QRcode::version, writeANSI(), writeASCII(), writeEPS(), writePNG(), writeSVG(), writeUTF8(), writeXPM(), and XPM_TYPE.
Referenced by main().
|
static |
Definition at line 1112 of file qrenc.c.
References ANSI256_TYPE, ANSI256UTF8_TYPE, ANSI_TYPE, ANSIUTF8_TYPE, ANSIUTF8i_TYPE, ASCII_TYPE, ASCIIi_TYPE, _QRcode_List::code, encodeStructured(), EPS_TYPE, image_type, _QRcode_List::next, PNG32_TYPE, PNG_TYPE, QRcode_List_free(), strdup(), SVG_TYPE, UTF8_TYPE, UTF8i_TYPE, verbose, QRcode::version, writeANSI(), writeASCII(), writeEPS(), writePNG(), writeSVG(), writeUTF8(), writeXPM(), and XPM_TYPE.
Referenced by main().
|
static |
Definition at line 242 of file qrenc.c.
References data_buffer, and MAX_DATA_SIZE.
Referenced by main().
|
static |
|
static |
Definition at line 749 of file qrenc.c.
References ANSI256_TYPE, QRcode::data, image_type, margin, openFile(), size, QRcode::width, and writeANSI_margin().
Referenced by qrencode(), and qrencodeStructured().
|
static |
|
static |
Definition at line 946 of file qrenc.c.
References QRcode::data, margin, openFile(), size, QRcode::width, and writeASCII_margin().
Referenced by qrencode(), and qrencodeStructured().
|
static |
|
static |
Definition at line 467 of file qrenc.c.
References bg_color, QRcode::data, fg_color, margin, openFile(), size, and QRcode::width.
Referenced by qrencode(), and qrencodeStructured().
Definition at line 292 of file qrenc.c.
References bg_color, QRcode::data, dpi, fg_color, INCHES_PER_METER, margin, PNG32_TYPE, PNG_TYPE, size, and QRcode::width.
Referenced by qrencode(), and qrencodeStructured().
|
static |
Definition at line 540 of file qrenc.c.
References bg_color, QRcode::data, dpi, fg_color, INCHES_PER_METER, inline_svg, margin, openFile(), QRcode_APIVersionString(), rle, size, svg_path, QRcode::width, and writeSVG_drawModules().
Referenced by qrencode(), and qrencodeStructured().
|
static |
Definition at line 523 of file qrenc.c.
References fg_color, and svg_path.
Referenced by writeSVG().
|
static |
Definition at line 847 of file qrenc.c.
References QRcode::data, margin, openFile(), QRcode::width, and writeUTF8_margin().
Referenced by qrencode(), and qrencodeStructured().
|
static |
|
static |
Definition at line 656 of file qrenc.c.
References bg_color, QRcode::data, fg_color, margin, openFile(), size, and QRcode::width.
Referenced by qrencode(), and qrencodeStructured().
|
static |
Definition at line 53 of file qrenc.c.
Referenced by main(), writeEPS(), writePNG(), writeSVG(), and writeXPM().
|
static |
Definition at line 38 of file qrenc.c.
Referenced by encode(), encodeStructured(), main(), QRcode_encodeDataStructuredReal(), QRcode_encodeString(), QRcode_encodeStringMQR(), QRcode_encodeStringReal(), QRcode_encodeStringStructured(), and Split_splitStringToQRinput().
|
static |
Definition at line 241 of file qrenc.c.
Referenced by readFile().
|
static |
Definition at line 43 of file qrenc.c.
Referenced by main(), writePNG(), and writeSVG().
|
static |
Definition at line 39 of file qrenc.c.
Referenced by encode(), encodeStructured(), main(), and QRcode_encodeDataStructuredReal().
|
static |
Definition at line 52 of file qrenc.c.
Referenced by main(), writeEPS(), writePNG(), writeSVG(), writeSVG_drawModules(), and writeXPM().
|
static |
Definition at line 51 of file qrenc.c.
Referenced by dupAndToUpper(), encode(), encodeStructured(), main(), QRcode_encodeDataStructuredReal(), QRcode_encodeString(), QRcode_encodeStringMQR(), QRcode_encodeStringReal(), QRcode_encodeStringStructured(), Split_eat8(), Split_eatAn(), Split_eatKanji(), Split_eatNum(), Split_identifyMode(), Split_splitString(), and Split_splitStringToQRinput().
Definition at line 74 of file qrenc.c.
Referenced by main(), qrencode(), qrencodeStructured(), and writeANSI().
|
static |
Definition at line 48 of file qrenc.c.
Referenced by writeSVG().
|
static |
Definition at line 50 of file qrenc.c.
Referenced by encode(), encodeStructured(), main(), Mask_makeMask(), Mask_mask(), Mask_writeFormatInformation(), MMask_makeMask(), MMask_mask(), MMask_writeFormatInformation(), MQRspec_getDataLength(), MQRspec_getDataLengthBit(), MQRspec_getECCLength(), MQRspec_getFormatInfo(), QRcode_encodeData(), QRcode_encodeDataMQR(), QRcode_encodeDataReal(), QRcode_encodeDataStructured(), QRcode_encodeDataStructuredReal(), QRcode_encodeString(), QRcode_encodeString8bit(), QRcode_encodeString8bitMQR(), QRcode_encodeString8bitStructured(), QRcode_encodeStringMQR(), QRcode_encodeStringReal(), QRcode_encodeStringStructured(), QRinput_new2(), QRinput_newMQR(), QRinput_setErrorCorrectionLevel(), QRinput_setVersionAndErrorCorrectionLevel(), QRspec_getDataLength(), QRspec_getECCLength(), QRspec_getEccSpec(), QRspec_getFormatInfo(), and QRspec_getMinimumVersion().
|
static |
Definition at line 42 of file qrenc.c.
Referenced by main(), writeANSI(), writeANSI_margin(), writeASCII(), writeASCII_margin(), writeEPS(), writePNG(), writeSVG(), writeUTF8(), writeUTF8_margin(), and writeXPM().
|
static |
Definition at line 76 of file qrenc.c.
Referenced by main().
|
static |
|
static |
Definition at line 45 of file qrenc.c.
Referenced by writeSVG().
|
static |
Definition at line 41 of file qrenc.c.
Referenced by BitStream_appendBytes(), BitStream_toByte(), BitStream_writeBytes(), main(), QRcode_encodeData(), QRcode_encodeDataMQR(), QRcode_encodeDataStructured(), QRcode_encodeDataStructuredReal(), QRcode_List_size(), QRinput_append(), QRinput_check(), QRinput_checkModeAn(), QRinput_checkModeFNC1Second(), QRinput_checkModeKanji(), QRinput_checkModeNum(), QRinput_estimateBitsMode8(), QRinput_estimateBitsModeAn(), QRinput_estimateBitsModeKanji(), QRinput_estimateBitsModeNum(), QRinput_insertStructuredAppendHeader(), QRinput_lengthOfCode(), QRinput_List_newEntry(), QRspec_getMinimumVersion(), writeANSI(), writeASCII(), writeEPS(), writePNG(), writeSVG(), and writeXPM().
|
static |
Definition at line 49 of file qrenc.c.
Referenced by qrencode().
|
static |
Definition at line 46 of file qrenc.c.
Referenced by writeSVG(), and writeSVG_drawModules().
|
static |
Definition at line 55 of file qrenc.c.
Referenced by qrencode(), and qrencodeStructured().
|
static |
Definition at line 40 of file qrenc.c.
Referenced by encode(), encodeStructured(), main(), MMask_makeMask(), MMask_mask(), MMask_writeFormatInformation(), MQRspec_createFrame(), MQRspec_getDataLength(), MQRspec_getDataLengthBit(), MQRspec_getECCLength(), MQRspec_getFormatInfo(), MQRspec_getWidth(), MQRspec_lengthIndicator(), MQRspec_maximumWords(), MQRspec_newFrame(), QRcode_encodeData(), QRcode_encodeDataMQR(), QRcode_encodeDataReal(), QRcode_encodeDataStructured(), QRcode_encodeDataStructuredReal(), QRcode_encodeMask(), QRcode_encodeMaskMQR(), QRcode_encodeString(), QRcode_encodeString8bit(), QRcode_encodeString8bitMQR(), QRcode_encodeString8bitStructured(), QRcode_encodeStringMQR(), QRcode_encodeStringReal(), QRcode_encodeStringStructured(), QRcode_new(), qrencode(), QRinput_encodeBitStream(), QRinput_encodeMode8(), QRinput_encodeModeAn(), QRinput_encodeModeKanji(), QRinput_encodeModeNum(), QRinput_estimateBitStreamSize(), QRinput_estimateBitStreamSizeOfEntry(), QRinput_estimateVersion(), QRinput_lengthOfCode(), QRinput_new2(), QRinput_newMQR(), QRinput_setVersion(), QRinput_setVersionAndErrorCorrectionLevel(), QRspec_createFrame(), QRspec_getDataLength(), QRspec_getECCLength(), QRspec_getEccSpec(), QRspec_getRemainder(), QRspec_getVersionPattern(), QRspec_getWidth(), QRspec_lengthIndicator(), QRspec_maximumWords(), QRspec_newFrame(), and QRspec_putAlignmentPattern().