Commit Graph

222 Commits

Author SHA1 Message Date
Steven G. Johnson
b4621f43c3 new utf8proc_map_custom for hooking in user-defined custom mappings (#89)
* new utf8proc_map_custom for hooking in user-defined custom mappings

* whoops, add test program

* NEWS, version bump for 2.1

* change test functions to static so that gcc doesn't complain about missing prototypes
2016-11-30 10:40:26 -05:00
Steven G. Johnson
8da37e2892 silence MSVC warning about conversion to uint8 (fix #86) 2016-11-30 10:09:18 -05:00
Steven G. Johnson
f5567f306a typo in docstrings 2016-11-29 13:49:03 -05:00
Michael Drake
70bbed8626 Tlsa/ucs4 normalize (#88)
* Split codepoint sequence normalisation out into separate function.

This creates utf8proc_normalize_utf32() which takes and returns
a UTF-32 string, applying the following options:

- UTF8PROC_NLF2LS
- UTF8PROC_NLF2PS
- UTF8PROC_NLF2LF
- UTF8PROC_STRIPCC
- UTF8PROC_COMPOSE
- UTF8PROC_STABLE

The utf8proc_reencode() function has been updated to call the
new utf8proc_normalize_utf32().

* Update code documentation: utf8proc_reencode handles UTF8PROC_CHARBOUND.
2016-11-21 09:22:39 -05:00
Jakub Vít
caef918abd Change definition of UINT16_MAX macro (#84)
Change UINT16_MAX from `~(utf8proc_uint16_t)0` to fixed value `65535U` to prevent weird behaviour in complex expressions.
2016-09-04 14:44:38 -04:00
Steven G. Johnson
ce11639220 add missing links 2016-07-27 08:04:38 -04:00
Steven G. Johnson
e3a5ed7b8b date fix in NEWS 2016-07-27 07:59:43 -04:00
Tony Kelman
8e3174f334 NEWS and version numbers for 2.0.2 (#81)
* Add NEWS.md items for #79 and #80

* Prepare version numbers for 2.0.2

* Also update API version to 2.0.2
2016-07-27 07:58:49 -04:00
Tony Kelman
0bf1973a0f use a different variable name for nested loop in bench.c (#80)
and declare it ahead of time to avoid "error: 'for' loop initial declarations are only allowed in C99 mode"
2016-07-26 17:54:17 -04:00
Tony Kelman
47cbf7d96d Move -Wmissing-prototypes from Makefile to .travis.yml (#79)
since MSVC doesn't understand this flag, and the current
mechanism for building Julia with MSVC goes through the makefile
2016-07-16 11:16:03 +01:00
petercolberg
a1fe9955bb Convert compiler warnings to errors for Travis builds (#73) 2016-07-13 12:58:28 -04:00
Steven G. Johnson
c3d401cf06 added NEWS for #78 2016-07-13 12:42:07 -04:00
petercolberg
11b84e2de1 Use versioned Unicode data URLs (#78)
This ensures the tests keep working when a new Unicode version is released.
2016-07-13 12:40:59 -04:00
Steven G. Johnson
f0bf106569 NEWS and version bump for 2.0.1 release, to come out shortly 2016-07-13 12:39:05 -04:00
Keno Fischer
289ce5e041 Fix incorrect use of lbc instead of lbc_override (#77) 2016-07-13 12:33:50 -04:00
Tony Kelman
e0f0899eaa add appveyor badge to readme
[ci skip]
2016-07-13 09:18:40 -07:00
Steven G. Johnson
7fbb7d7dd8 NEWS update 2016-07-13 12:02:47 -04:00
Steven G. Johnson
cb2a3e464d the ABI version was already bumped in #62, does not need to be bumped again in #70 2016-07-13 11:00:17 -04:00
Steven G. Johnson
39ab2ff273 NEWS for 2.0 2016-07-13 10:57:37 -04:00
Keno Fischer
c0a1ff81fc Walk back ABI breaking changes (#76) 2016-07-13 10:41:13 -04:00
Steven G. Johnson
c02ebd5a83 update to Unifont 9 (for Unicode 9 charwidths) (#75) 2016-07-12 16:30:05 -04:00
Benito van der Zander
eeebf70bcf Smaller tables (#68)
* convert sequences to utf-16 (saves 25kb)

* store sequence length in properties instead using -1 termination (saves 10kb)

* cache index for slightly faster data creation

* store lower/upper/title mapping in sequence array (saves 25kb). Add utf8proc_totitle, as title_mapping cannot be used to get the title codepoint anymore. Rename xxx_mapping to xxx_seqindex, so programs assuming a value with the old meaning fail at compile time

* change combination array data type to uint16 (saves 40kb)

* merge 1st and 2nd comb index (saves 50kb)

* kill empty prefix/suffix in combination array (saves 50kb)

* there was no need to have a separate combination start array, it can be merged in a single array

* some fixes

* mark the table as const again

* and regen
2016-07-12 11:51:50 -04:00
Steven G. Johnson
9a0b87b57e note Unicode 9 support (from #70) in README 2016-06-28 16:06:00 -04:00
Keno Fischer
41c6b23aab Unicode 9 updates (#70)
* Updates for Unicode 9.0.0 TR29 Changes

- New rules GB10/(12/13) are used to combine emoji-zwj sequences/
  (force grapheme breaks every two RI codepoints). Unfortunately this
  breaks statelessness of grapheme-boundary determination. Deal with
  this by ignoring the problem in utf8proc_grapheme_break, and by
  hacking in a special case in decompose

- ZWJ moved to its own boundclass, update what is now GB9 accordingly.

- Add comments to indicate which rule a given case implements

- The Number of bound classes Now exceeds 4 bits, expand to 8 and
  reorganize fields

* Import Unicode 9 data

* Update Grapheme break API to expose state override

* Bump MAJOR version
2016-06-28 16:04:25 -04:00
Steven G. Johnson
3d0576a9b9 Merge pull request #69 from JuliaLang/tk/cache
fix the travis cache
2016-06-01 08:52:41 -04:00
Tony Kelman
dc8cb44bf5 fix the travis cache
certificate is expired on cache.e.ip.saba.us, it now lives at cache.julialang.org
2016-05-31 21:20:38 -07:00
Steven G. Johnson
5a84e53b0c Merge pull request #66 from michaelnmmeyer/master
Fix overrun
2016-02-04 10:57:25 -05:00
Michaël Meyer
1f17487aa9 Fix overrun 2016-02-04 04:06:28 +01:00
Steven G. Johnson
ec0daa50bb Merge pull request #62 from michaelnmmeyer/master
Reduce the size of the binary.
2015-12-09 18:59:05 -05:00
Michaël Meyer
ee3c20e46b Bump version number. 2015-12-09 23:35:45 +01:00
Michaël Meyer
26436c9775 Reduce the size of the binary.
Use integers instead of pointers in Unicode tables. Saves 226 kb / 716 kb in the
compiled library.
2015-12-09 19:55:48 +01:00
Steven G. Johnson
6b510deff2 Merge pull request #61 from fgsch/issue_60
Silence warning with -Wextra
2015-11-24 16:53:05 -05:00
Federico G. Schwindt
4fc2d8234d Silence warning with -Wextra
Fixes #60.
2015-11-24 20:09:10 +00:00
Steven G. Johnson
6d4d7a9acf update Unicode version in header-file comment 2015-11-01 08:36:04 -05:00
Steven G. Johnson
fd20b184dd update copyright statements to list recent contributors and year 2015-11-01 08:34:01 -05:00
Steven G. Johnson
00feb3f373 Merge pull request #59 from petercolberg/master
Version 1.3.1
2015-11-01 08:10:02 -05:00
Peter Colberg
e3db4f388b Update NEWS for version 1.3.1 2015-10-31 20:51:36 -04:00
Peter Colberg
44b1784de7 Increment patch version 2015-10-31 20:51:26 -04:00
Steven G. Johnson
a5c9de2047 Merge pull request #58 from petercolberg/master
Fix build warnings
2015-10-31 18:13:25 -04:00
Peter Colberg
b10b64dc10 Fix deprecated warnings with Julia 0.4 2015-10-31 13:59:38 -04:00
Peter Colberg
a930086323 Test make install
Generate reproducible manifest of installed files.
2015-10-30 18:46:28 -04:00
Peter Colberg
ca3ceffbfb Test make clean 2015-10-30 15:57:00 -04:00
Peter Colberg
4b16193a25 Fix sscanf argument type for format %x 2015-10-30 15:27:18 -04:00
Peter Colberg
14b57791d8 Fix missing static declarations for internal functions 2015-10-30 15:24:34 -04:00
Peter Colberg
6acc41dfe9 Fix implicit function declarations 2015-10-30 15:22:09 -04:00
Peter Colberg
548497a398 Move common test functions to separate module
This resolves warnings for missing function prototypes.
2015-10-30 15:13:48 -04:00
Peter Colberg
71230a08e4 Fix installation of shared library symlinks
Use relative symlinks that are independent of installation prefix.

Drop superfluous .so.MAJOR.MINOR symlink, which is and should never
be needed in practice. The purpose of shared library symlinks is to
provide libraries for compile-time linking (.so) and for run-time
linking using the SONAME (.so.MAJOR).
2015-10-30 14:57:16 -04:00
Peter Colberg
8f522ad8e7 Add missing files to make clean 2015-10-30 14:56:03 -04:00
Steven G. Johnson
f67f1a72f7 Merge pull request #57 from petercolberg/master
Fix MingW build test
2015-10-30 12:48:43 -04:00
Peter Colberg
b1c6e0a78a Fix MinGW build test 2015-10-30 00:52:49 -04:00