Ticket #6327 (closed defect: fixed)

Bug contains 1 commit(s) | SVN Diffs for #6327

 

Opened 6 months ago

Last modified 2 months ago

reph should be suppressed by following ZWNJ

Reported by: jonathan_kew@... Assigned to: eric
Priority: minor Milestone: 4.1.1
Component: layout Version: 3.8.1
Keywords: indic, reph, zwnj Cc:
Load: Xref:
Java Version: Operating System: any
Project (C/J): ICU4C Weeks:
Review: srl

Description

The Indic layout engine behaves incorrectly for Devanagari sequences such as <0930 RA, 094D VIRAMA, 200C ZWNJ, 092f YA>; this has been reported to me as a bug in XeTeX by users in South Asia. The presence of ZWNJ here should suppress the formation of REPH, but ICU is producing the same result (REPH on YA) whether or not ZWNJ is present. (We are currently using release 3.8.1 plus some post-3.8.1 patches, but checking the current ICU sources it looks as though the behavior will be the same.)

I don't see an explicit statement regarding this case in TUS 5.0 chapter 9 (the rules for consonant RA do not mention ZWNJ), but I think it is implied by the rule that ZWNJ produces explicit virama forms, p.301. There is no reason for RA to be an exception to this rule. Note that Uniscribe does recognize ZWNJ as suppressing REPH formation here.

I think the simplest fix is to include an explicit test for following ZWNJ in the check for REPH in IndicReordering.cpp. I have tried a patch (see attached) to do this, and it seems to work fine in simple tests.

Attachments

icu-reph-patch.diff (0.6 kB) - added by jonathan_kew@sil.org on 06/06/08 03:40:16.
patch to suppress REPH formation when followed by ZWNJ

Change History

06/06/08 03:40:16 changed by jonathan_kew@...

  • attachment icu-reph-patch.diff added.

patch to suppress REPH formation when followed by ZWNJ

06/11/08 11:41:56 changed by eric

  • owner changed from somebody to eric.
  • weeks changed.
  • xref changed.
  • revw changed.

07/10/08 14:45:11 changed by yoshito

  • priority changed from major to assess.

07/21/08 09:11:08 changed by hchapman

  • priority changed from assess to minor.
  • milestone changed from UNSCH to 4.1.1.

07/28/08 15:01:53 changed by eric

  • status changed from new to assigned.
  • revw set to srl.

09/17/08 16:11:56 changed by srl

  • status changed from assigned to closed.
  • resolution set to fixed.

Add/Change #6327 (reph should be suppressed by following ZWNJ)




Anti spam check: