Skip to content

executor-5.3.0-0

Pre-release
Pre-release

Choose a tag to compare

@jlfaucher jlfaucher released this 15 Jun 19:32

I have a first level of Unicode support with ooRexx 5.
Ready for review and tests.

a)
A new RexxUnicodeServices class is available.
It is a native class acting as a facade for UTF8Proc.
rexx.img was not impacted; there is no .orx file for Unicode in the interpreter.

Demo / Validation:

RexxUnicodeServices_test.rex: no dependencies; the foundations are provided by ooRexx only.
https://github.com/jlfaucher/executor5-bulk/blob/main/scripts/unicode/RexxUnicodeServices_test.rex

RexxUnicodeServices_test-out-ref.txt: script's output.
https://github.com/jlfaucher/executor5-bulk/blob/main/scripts/unicode/RexxUnicodeServices_test-out-ref.txt

b)
A new rxunicode.cls library is available in trunk/extension/unicode.
It implements the class RexxUnicode, a subclass of RexxUnicodeServices.
This package is optional, loaded by the user if needed.

Demo / Validation:

RexxUnicode_test.rex: depends on RexxUnicode + ICU4ooRexx (optional).
https://github.com/jlfaucher/executor5-bulk/blob/main/scripts/unicode/RexxUnicode_test.rex

RexxUnicode_test-out-ref.txt: script's output.
https://github.com/jlfaucher/executor5-bulk/blob/main/scripts/unicode/RexxUnicode_test-out-ref.txt

c)
A new library ICU4ooRexx is available; it wraps the ICU4C C/C++ API.
https://github.com/jlfaucher/icu4oorexx
For now, it is a minimal wrapping:

  • Get a character name from a codepoint.
  • Get a codepoint from a character name.

This package is optional, loaded by the user if needed.
The RexxUnicode class has no strong dependency on ICU4ooRexx, but it can take advantage of it, if ICU4ooRexx was loaded by the user.

If you don't have ICU, and want to test it, follow the instructions here:
https://github.com/jlfaucher/icu4oorexx#icu-installation

ooRexxShell included, to let test with all the libraries loaded.
You should see:
loadPackage OK for rxunicode.cls
loadPackage OK for icu4oorexx.cls (maybe, if ICU is installed)