Ticket #4995 (assigned defect)

SVN Diffs for #4995

 

Opened 3 years ago

Last modified 1 year ago

Indic Layout Engine "should" limit syllables to 4 consonants

Reported by: tim.band(at)symbian.com Assigned to: eric (accepted)
Priority: minor Milestone: UNSCH
Component: layout Version: 3.4
Keywords: layout Cc:
Load: Xref: 5588
Java Version: Operating System: other
Project (C/J): ICU4C,ICU4J and ICU4JNI Weeks: 0.5
Review:

Description (Last modified by grhoten)

According to the ISCII standard, the worst case for an Indic syllable has 4 consonants. Microsoft has enshrined this in their code, it seems, and our customers are demanding the same behaviour; that after the fourth consonant, the next virama is explicit, then any further consonant is part of the next syllable. For example, KA+VIRAMA+KA+VIRAMA+KA+VIRAMA+KA+VIRAMA+KA+VIRAMA+KA comes out as KKKKA+VIRAMA+KA

We have made the following change to get this effect:

--- //EPOC/development/personal/timba/proto/OpenType/IcuLayoutEngine/IcuSource/layout/IndicReordering.cpp

2005/12/14 10:50:35

+++ //EPOC/development/personal/timba/proto/OpenType/IcuLayoutEngine/IcuSource/layout/IndicReordering.cpp

2005/12/14 11:26:27

@@ -327,14 +327,22 @@

{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 - exit

state

{-1, 6, 1, -1, -1, -1, -1, -1, 5, 9, 5, 5, 4, -1}, // 2 - consonant

with nukta

{-1, 6, 1, -1, -1, -1, -1, 2, 5, 9, 5, 5, 4, -1}, // 3 -

consonant - {-1, -1, -1, -1, -1, 3, 2, -1, -1, -1, -1, -1, -1, 7}, // 4 - consonant virama + {-1, -1, -1, -1, -1, 12, 11, -1, -1, -1, -1, -1, -1, 7}, // 4 - consonant virama

{-1, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 5 - dependent

vowels

{-1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 6 - vowel

mark

{-1, -1, -1, -1, -1, 3, 2, -1, -1, -1, -1, -1, -1, -1}, // 7 - ZWJ,

ZWNJ

{-1, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1}, // 8 -

independent vowels that can take a virama

{-1, 6, 1, -1, -1, -1, -1, -1, -1, -1, 10, 5, -1, -1}, // 9 - first

part of split vowel - {-1, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1} // 10 - second part of split vowel - + {-1, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1}, // 10 - second part of split vowel + {-1, 6, 1, -1, -1, -1, -1, -1, 5, 9, 5, 5, 13, -1}, // 11 - ct vr ct nu + {-1, 6, 1, -1, -1, -1, -1, 11, 5, 9, 5, 5, 13, -1}, // 12 - ct vr ct + {-1, -1, -1, -1, -1, 15, 14, -1, -1, -1, -1, -1, -1, 7}, // 13 - ct vr ct vr + {-1, 6, 1, -1, -1, -1, -1, -1, 5, 9, 5, 5, 16, -1}, // 14 - ct vr ct vr ct nu + {-1, 6, 1, -1, -1, -1, -1, 14, 5, 9, 5, 5, 16, -1}, // 15 - ct vr ct vr ct + {-1, -1, -1, -1, -1, 18, 17, -1, -1, -1, -1, -1, -1, 7}, // 16 - ct vr ct vr ct vr + {-1, 6, 1, -1, -1, -1, -1, -1, 5, 9, 5, 5, 19, -1}, // 17 - ct vr ct vr ct vr ct nu + {-1, 6, 1, -1, -1, -1, -1, 17, 5, 9, 5, 5, 19, -1}, // 18 - ct vr ct vr ct vr ct + {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7} // 19 - ct vr ct vr ct vr ct vr

};

const LETag *IndicReordering::getFeatureOrder()

Attachments

Change History

12/31/69 17:40:57 changed by auditor

  • Wed Jan 18 08:52:19 2006 grhoten changed notes2: assign: "" to "eric", priority: "" to "assess", target: "UNSCH" to "",
  • Wed Jan 18 08:52:19 2006 grhoten moved from incoming to layout
  • Tue Apr 11 22:01:42 2006 grhoten changed notes2: priority: "assess" to "medium", target: "UNSCH" to "3.6", weeks: "" to "0.5",
  • Tue Oct 17 23:19:11 2006 emader changed notes2: target: "3.6" to "3.8 candidate",
  • Mon Oct 30 22:50:32 2006 emader changed notes2: priority: "medium" to "assess",

06/27/07 16:04:48 changed by grhoten

  • load changed.
  • xref changed.
  • java changed.
  • description changed.
  • milestone changed from 3.8 candidate to UNSCH.
  • revw changed.

06/27/07 16:27:18 changed by grhoten

Duplicate of #5588?

06/27/07 16:27:33 changed by grhoten

  • xref set to 5588.

10/10/07 11:47:55 changed by eric

  • priority changed from assess to minor.
  • status changed from new to assigned.

Add/Change #4995 (Indic Layout Engine "should" limit syllables to 4 consonants)




Anti spam check: