diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-10-23 12:52:10 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-10-23 12:52:10 +0000 |
commit | 6fdb5f96460dfb69dad11dd7111abf8ec1263bb1 (patch) | |
tree | 719a8dab7204d5f4518a76666c2e0e505a06a1f5 /pp.c | |
parent | 44bc797b2bc92bd45d512cde050d525bd921cf16 (diff) | |
download | perl-6fdb5f96460dfb69dad11dd7111abf8ec1263bb1.tar.gz |
Document the final sigma spot.
p4raw-id: //depot/perl@12602
Diffstat (limited to 'pp.c')
-rw-r--r-- | pp.c | 21 |
1 files changed, 19 insertions, 2 deletions
@@ -3277,7 +3277,7 @@ PP(pp_uc) d = (U8*)SvPVX(TARG); send = s + len; while (s < send) { - toUPPER_utf8(s, tmpbuf, &ulen); + toUPPER_utf8(s, tmpbuf, &ulen); Copy(tmpbuf, d, ulen, U8); d += ulen; s += UTF8SKIP(s); @@ -3344,7 +3344,24 @@ PP(pp_lc) d = (U8*)SvPVX(TARG); send = s + len; while (s < send) { - toLOWER_utf8(s, tmpbuf, &ulen); + UV uv = toLOWER_utf8(s, tmpbuf, &ulen); +#define GREEK_CAPITAL_LETTER_SIGMA 0x03A3 /* Unicode */ + if (uv == GREEK_CAPITAL_LETTER_SIGMA) { + /* + * Now if the sigma is NOT followed by + * /$ignorable_sequence$cased_letter/; + * and it IS preceded by + * /$cased_letter$ignorable_sequence/; + * where $ignorable_sequence is + * [\x{2010}\x{AD}\p{Mn}]* + * and $cased_letter is + * [\p{Ll}\p{Lo}\p{Lt}] + * then it should be mapped to 0x03C2, + * (GREEK SMALL LETTER FINAL SIGMA), + * instead of staying 0x03A3. + * See lib/unicore/SpecCase.txt. + */ + } Copy(tmpbuf, d, ulen, U8); d += ulen; s += UTF8SKIP(s); |