[PATCH v2 0/3] Implement Unicode Normalization

Sergio Gómez Del Real sdelreal at codeweavers.com
Mon Mar 26 10:20:51 CDT 2018


This work is based on last year's GSoC project from Artur Świgoń.
The following things were added to that work:
- Implement a generalized Unicode lookup function.
- Replace decomposition function with one that does decomposition recursively.
- Integrate new tables and code with existing one.
- Implement Canonical Ordering Algorithm necessary for normalization.
- Implement Full Composition Exclusion exceptions.
- Implement conformant NormalizeString API function.
- Tests: add a representative sample of tests from official Unicode test archives.

v2:
- Remove unused variables.
- Add reference to extern functions in NormalizeString().
- Document NormalizeString() API function.
- Code refactoring.

Sergio Gómez Del Real (3):
  libs/port/decompose.c: Implement full Unicode character decomposition.
  libs/port/compose.c: Implement canonical composition for use in
    normalization.
  kernel32: Implement NormalizeString API function.

 dlls/kernel32/locale.c                    |   66 +-
 dlls/kernel32/tests/locale.c              |   84 +
 dlls/kernel32/tests/normalization_tests.h |  190 +
 libs/port/compose.c                       |   55 +
 libs/port/decompose.c                     | 5820 ++++++++++++++++++++++++++---
 libs/port/mbtowc.c                        |   10 +-
 tools/make_unicode                        |  723 +++-
 7 files changed, 6413 insertions(+), 535 deletions(-)
 create mode 100644 dlls/kernel32/tests/normalization_tests.h

-- 
2.14.1




More information about the wine-devel mailing list