Hash :
01ad2291
Author :
Date :
2009-05-30T07:30:57
Functions for Micro QR Code encoding have been added.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476
2009.05.30 Kentaro FUKUCHI <fukuchi@megaui.net>
* configure.ac, libqrencode.pc.in:
- New option "--enable-thread-safety" has been added. This option is
enabled by default.
* rscode.c, qrspec.c:
- libqrencode has become thread-safe! (probably)
* tests/common.h:
- sprintfBin() removed, printBstream() added.
* qrinput.[ch], qrencode.[ch], mqrspec.c:
- Functions for Micro QR Code encoding have been added.
* tests/common.h:
- Utility functions improved.
* tests/*.c:
- Code cleanups.
- Tests for Micro QR Code added.
2009.05.30 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrinput.c:
- padlen check was wrong in QRinput_appendPaddingBit().
* tests/test_qrinput.c:
- Stop printing bstream->data.
- test_padding2() has been added.
2009.05.21 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.c, qrencode_inner.h:
- MQRraw_* has been implemented.
- Code cleanups. Struct QRRaw_code is slightly changed.
* tests/test_qrencode.c:
- Added new test.
2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net>
* Merged from 3.1.0 branch. (rev 2248:HEAD)
* mqrspec.[ch], tests/create_mqr_frame_pattern.c:
- MQRspec_getEccSpec() has been deleted.
* tests/create_mqr_frame_pattern.c, tests/Makefile.am:
- Newly added.
* mask.[ch], tests/test_mask.c, qrencode_inner.h:
- Code cleanups.
- Unnecessary memcpy has been eliminated.
- New test program has been added.
* mmask.[ch], qrencode_inner.h, tests/test_mmask.c, Makefile.am, tests/Makefile.am:
- Mask module for Micro QR Code has been added.
2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c, qrinput.c, qrencode.c:
- Some compile warnings cleared.
* qrencode.c, tests/test_qrencode.c:
- NULL check of an input arg has been added to
QRcode_encodeString8bit().
- NULL check test and empty string test have been added for
QRcode_encodeString8bit().
* qrinput.h, qrencode_inner.h, split.c:
- Copyright year updates.
* split.[ch]:
- Split_splitStringToQRinput() set errno EINVAL if input string is
NULL or empty.
- Documentation improved.
* qrenc.c:
- perror() is now used to show the details of some errors.
* qrencode.[ch]:
- Some functions now set errno appropriately.
- Typo fixes.
2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net>
* tests/create_frame_pattern.c, tests/Makefile.am:
- New test tool "create_frame_pattern" has been added.
* tests/test_qrspec.c:
- test_alignment1() has been replaced with test_newframe().
test_newframe() compares newly created frames with frame pattern
data created by create_frame_pattern.
* tests/frame, tests/Makefile.am:
- Pattern file "frame" has been added to EXTRA_DIST.
* mask.c:
- Very small improvement. Unnecessary malloc()s are reduced.
* tests/test_qrencode.c:
- Two new tests have been added.
* split.c:
- NULL check and string length check have been added.
* qrspec.c, tests/test_qrinput.c:
- Forgotten padding bits bug has been fixed. (enbugged at 2009.5.18)
- New test for the bug above has been added.
* qrspec.[ch], qrencode_inner.h:
- Some function becomes __STATIC and their declarations have been
moved to qrencode_inner.h.
* tests/prof_qrencode.c:
- Now liberates all heap at the end of the program.
2009.05.19 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.c, qrencode_inner.h:
- calloc() is now used to initialize rsblock.
- Number of malloc()s in RSblock_initBlock() has been integrated to
one malloc() in QRraw_new().
* rscode.c:
- A very small code improvement.
* qrinput.[ch]:
- More return value checks.
- Code cleanups.
* tests/common.h, tests/test_{split,monkey,qrinput}.c:
- Tests improved.
* qrspec.[ch], tests/test_qrspec.c:
- Code cleanups.
- QRspec_rs{Data,Ecc}Length() have been added.
* tests/view_qrcode.c:
- Code cleanups.
- Disabled mask setting in structured mode.
* tests/common.h:
- assert_nothing() has been added.
* qrinput.c, qrencode.c, tests/test_*.c:
- Various *_free() now allow NULL pointer. (nothing performed)
* qrspec.[ch]:
- Alignment pattern is now put by QRspec_putAlignmentPattern().
QRspec_getAlignmentPattern() and QRspec_freeAlignment() have been
removed.
2009.05.18 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.c:
- More return value checks.
* bitstream.c:
- BitStream_free() allows NULL pointer (nothing performed).
* qrinput.c:
- QRinput_List_freeEntry() and QRinput_free() allow NULL pointer.
- QRinput_createPaddingBit() has been replaced with
QRinput_appendPaddingBit().
- QRinput_convertData() now sets errno to EINVAL when input is too
large.
- More return value checks. Mainly for ENOMEM error.
2009.05.18 Kentaro FUKUCHI <fukuchi@megaui.net>
* Merged from 3.1.0 branch.
2009.05.16 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.h:
- Indent improvement.
* Makefile.am:
- qrencode.spec has been added to EXTRA_DIST.
2009.05.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrinput.c, qrencode.c, qrspe.c:
- More return value checks. Mainly for ENOMEM error.
* qrspec.[ch], qrencode.c, tests/test_qrspec.c:
- QRspec_getEccSpec() now accepts an int array instead to return
multiple values instead of returning dynamic allocated array.
* mask.c, rscode.c:
- More return value checks from malloc().
* configure.ac:
- Added "--enable-mudflap" option.
* rscode.[ch]:
- Added free_rs_cache() for debug purpose.
* tests/test_{monkey,qrencode,rs}.c:
- Call free_rs_cache() at the end of the tests.
* qrencode.c:
- QRraw_new() and RSblock_init() have been improved.
- Eliminated unnecessary calls of init_rs().
* autogen.sh, configure.ac:
- Darwin workarounds.
* tests/common.h, tests/test_bitstream.c:
- New tests have been added.
2009.05.12 Kentaro FUKUCHI <fukuchi@megaui.net>
* bitstream.c:
- BitStream_toByte() had returned non-NULL for an empty BitStream.
* tests/test_bitstream.c:
- test_null() has been added.
* qrinput.c:
- A possible memory leak has been eliminated. It happend when a wrong
version number was given.
* tests/test_qriput.c:
- Memory leaks have been eliminated.
2009.05.01 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped vertion to 3.1.0.
2009.04.30 Kentaro FUKUCHI <fukuchi@megaui.net>
* bistream.[ch]:
- Internal representation of BitStream has been changed from
NUL-terminated string to unsigned char array.
* tests/common.h, tests/test_{bitstream,qrinput}.c:
- Some test sequences have been updated (see above).
2009.03.25 Kentaro FUKUCHI <fukuchi@megaui.net>
* configure.ac:
- "--without-tests" has become default setting.
* bitstream.[ch]:
- Now functions strictly check return value from malloc() and return
error if it fails.
2008.10.31 Kentaro FUKUCHI <fukuchi@megaui.net>
* tests/commo.h:
- __FUNCTION__ has been replaced with __func__, to follow the C99
standard.
- The way of variadic macros has been changed, to follow the C99
standard.
2008.10.11 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode_inner.h:
- Now this header is called only by test programs.
* qrencode.c, qrencode_inner.h:
- Some definitions and declares written in qrencode_inner.h have been
moved into qrencode.c:
- QRraw_*() have been declared as __STATIC.
* mask.[ch], qrencode.c, qrencode_inner.h:
- Mask_makeMask() now requires QRecLevel.
- QRencode_writeFormatInformation() has been renamed and moved to
Mask_writeFormatInformation(), and become __STATIC.
* tests/*.c:
- Unneeded #include "qrencode_inner.h" have been removed.
2008.10.11 Kentaro FUKUCHI <fukuchi@megaui.net>
* autogen.sh:
- Darwin workaround.
* configure.ac:
- Now config.h offers "__STATIC" macro becomes "static" when
"--without-tests" is specified. This macro is useful for functions
called from test programs but not from other library codes.
* qrinput.c:
- Very little performance improvement.
* mask.c:
- Code cleanups.
2008.09.12 Kentaro FUKUCHI <fukuchi@megaui.net>
* tests/view_qrcode.c:
- Unused variable 'pitch' has been removed from draw_QRcode().
2008.06.03 Kentaro FUKUCHI <fukuchi@megaui.net>
* Merged to the main trunk.
2008.06.01 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c:
- Now it does not show the full usage when unrecognized options are
given.
- When "--help" is given, it displays the long usage.
* Version 3.0.3 has been released.
2008.05.26 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c, tests/view_qrcode.c:
- getopt_long_only() has been replaced with getopt_long() which is
widely available. (Thanks to Gavan Fantom)
- Now it accepts long options.
* qrencode.1.in:
- followed the above changes.
* Bumped version to 3.0.3.
2008.05.18 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrspec.c:
- The bit order of "Version information" has been corrected.
(Thanks to Paul Janssesn)
* configure.ac, Makefile.am:
- The "--without-tests" has been added to the configure script.
* qrencode.spec.in:
- Uses "--without-tests".
* Version 3.0.2 has been released.
2008.05.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* various files:
- Some compile-time warnings/erros with g++ have been fixed.
(Thanks to wangsai)
2008.05.09 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c:
- Now qrencode writes an image file in binary mode for non-POSIX
platform, such as MS-Windows. (bug report from Paul Janssens)
* Makefile.am:
- tests/test_all.sh has been added.
* tests/test_all.sh:
- Now it exits immediately if any test fails.
* Version 3.0.1 has been released.
2008.05.01 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.spec.in:
- Added the man page to the files section.
2008.04.30 Kentaro FUKUCHI <fukuchi@megaui.net>
* Version 3.0.0 has been released.
2008.04.23 Kentaro FUKUCHI <fukuchi@megaui.net>
* Version 3.0.0rc3 has been released.
- This will probably be the final release candidate, if all goes well.
2008.04.23 Kentaro FUKUCHI <fukuchi@megaui.net>
* split.c:
- Split_identifyMode() now uses isdigit() and isalnum() macros.
* qrinput.c:
- Error checks have been improved.
* qrenc.c, tests/view_qrcode.c:
- Return value checks have been added.
- Structured-append encode with version 0 now returns error.
* qrencode.[ch]:
- QRencode_encodeStructuredInput() -> QRencode_encodeInputStructured()
(for consistency with other QRencode_encode*Structured() functions)
* mask.c:
- A code block never called has been eliminated.
2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* Version 3.0.0rc2 has been released.
2008.04.20 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.h:
- QR_MODE_NUL has been added to QRencodeMode. Basically it is used
only by Split_identifyMode().
* qrinput.[ch], split.c:
- QRinput_identifyMode() has been moved to split.c, changed to static
and now needs a hint.
* split.c:
- Auto-splitting has been improved.
* qrinput.c:
- A memory leak has been fixed.
* configure.ac:
- The "--enable-gprof" and "--enable-gcov" options have been added.
* Makefile.am:
- man1_MANS has been moved into the "if BUILD_TOOLS - endif" block.
2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* Version 3.0.0rc1 has been released.
2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 3.0.0.
* qrencode.[ch]:
- QRcode_encodeInput() has changed the API. Previously it takes a
QRinput, version and level, but now it takes only a QRinput, because
QRinput holds the version and level in it. From 3.0.0, you should
set them by calling QRinput_setVersion() and
QRinput_setErrorCorrectionLevel(), or use QRinput_new2() to
instantiate a QRinput object.
2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrspe.c:
- NULL check has been added.
* split.[ch]:
- API changed.
* qrencode.c:
- Arguments (version and level) are now checked in QRcode_encodeMask().
Internal functions trust the arguments are valid.
- Error checks improved.
* qrinput.c:
- Error checks improved.
* qrencode.h:
- Documentation improvements.
2008.04.13 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.c, qrencode_innter.h, tests/view_qrcode.c:
- Changed API of QRcode_encodeMask().
* qrencode.[ch], qrinput.[ch], split.[ch]:
- Some functions now set errno appropriately.
2008.04.09 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.h, qrinput.c:
- QRinput_Struct_insertStructuredAppendHeaders() and
QRinput_insertStructuredAppendHeader now returns error, when the
input contains too many structured inputs.
* qrencode.c:
- QRcode_encodeInputToStructured() now returns NULL when
QRinput_splitQRinputToStruct() fails.
* tests/view_qrcode.c:
- Segmentation fault bug has been fixed. (see previous memo)
2008.04.08 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrinput.c:
- Fixed a bug in QRinput_estimateBitStreamSizeOfEntry(). It could
overestimate the size.
* rscode.c:
- Optimized the order of the parameters equality test in init_rs().
* qrspec.c, qrspec.h:
- Added QRspec_clearCache().
* tests/test_estimatebit.c:
- Bug fixed in test_numbit3().
2008.04.07 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 2.1.0.
* Structured append is now supported (patches from Yusuke Mihara):
- Two new types, QRcode_List and QRinput_Struct, have been added.
- Following functions have been added:
- QRcode_encodeStructuredInput()
- QRcode_encodeStringStructured()
- QRcode_encodeString8bitStructured()
- Some functions to handle structured append symbols have been added.
See Doxygen-ized descriptions for the details.
* qrenc.c:
- "-S" option has been added for structured append.
* split.h:
- "extern" was dropped.
* qrinput.h, qrencode.h:
- Moved declarations of QRinput_{get,set}{Version,ErrorCorrectionLevel}
from qrinput.h to qrencode.h. Now they are publicly accessible.
* qrencode.h, qrinput.h, qrinput.c:
- Added QRinput_new2().
- QRinput_newEntry(), QRinput_freeEntry have been renamed to
QRinput_List_newEntry(), QRinput_List_freeEntry().
* split.c:
- Bug fix: Split_eat8() now eats at least 1 byte. Previously it could
produce a 0-length input entry.
2008.01.23 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.1.in, Makefile.am, configure.ac:
- Manpage of qrencode has been added.
* qrenc.c, tests/view_qrcode.c:
- Usage message has been updated.
2008.01.18 Kentaro FUKUCHI <fukuchi@megaui.net>
* split.c:
- Bug fixes.
* tests/test_split.c:
- Followed recent API changes.
- Added new test "test_toupper()".
* qrenc.c, tests/view_qrcode.c:
- Source-level compatibility has been improved.
- view_qrcode now accepts stdin like qrencode.
- Usage message has been updated/fixed.
* Copyright year has been updated.
2008.01.16 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrinput.c, split.c:
- Case-sensitive mode becomes now default mode.
- Alphabet-Numeric mode now encodes only upper-case alphabet and
numeric characters. If "-i" option is given, split.c converts
lower-case characters to upper-case characters at first.
* qrenc.c, tests/view_qrcode.c:
- Case-sensitive mode becomes now default mode.
- Option "-i" has been added.
2007.12.14 Kentaro FUKUCHI <fukuchi@megaui.net>
* tests/test_qrencode.c:
- New test has been added.
* tests/view_qrcode.c:
- Options supported.
- Default mask is now -1 (auto).
2007.12.13 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.[ch]:
- QRcode_writeFormatInformation now returns a number of dark modules.
* mask.c:
- The mask evaluation function now writes format information before
evaluation. (Philippe Delcroix)
* split.[ch]:
- Case-sensitive mode has been added to QRcode_encodeString().
- "-8" option has been added to qrenc.c.
- "-c" now encodes in improved case-sensitive mode.
* tests/test_{split,qrencode}.c:
- test_split*() have been moved to test_split.c.
2007.12.10 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 2.0.0.
* Merged to main trunk.
* mask.[ch], split.[ch]:
- Masking functions and splitString functions are separated from
qrencode.c.
* mqrspec.[ch]:
- Specification of Micro QR code has been added, but not used yet.
2007.03.24 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 1.0.2.
2007.03.24 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode.c (QRcode_splitStringToQRinput):
- a small bug fix. (Thanks to NANKI Haruo)
* qrencode.h:
- "extern "C"" barrier has been added for C++.
* test/view_qrcode.c:
- a typo fix.
2006.12.27 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 1.0.1.
2006.12.27 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrenc.c, qrencode.[ch]:
- Added force 8-bit encoding mode.
* Makefile.am :
- Automake/Autoconf files have been added to dist-package.
2006.12.17 Kentaro FUKUCHI <fukuchi@megaui.net>
* qrencode_inner.h, qrencode.c:
- Removed unused member variable "b2" from QRRawCode.
* configure.ac, Makefile.am, acinclude.m4:
- Better configuration of libpng. (now uses pkg-config correctly)
2006.12.02 Kentaro FUKUCHI <fukuchi@megaui.net>
* Bumped version to 1.0.0.