bugFree UCS Outline Fonts - Bugs: bug #52109, Devanagari -- remaining lookup...


bug #52109: Devanagari -- remaining lookup issues

Submitted by:  Steve White <Stevan_White>
Submitted on:  Mon 25 Sep 2017 10:30:57 AM UTC  
Category:  character range Severity:  3 - Normal
Item Group:  character substitution issue Status:  Proceeding
Privacy:  Public Assigned to:  Steve White <Stevan_White>
Open/Closed:  Open Release:  development

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Thu 05 Oct 2017 06:13:41 PM UTC, comment #3:

The 'locl' forms for Marathi have bad consequences.

Since the table happens first, and replaces several consonants, no other lookups for those consonants match the replacement. Need a different soluton.

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Tue 03 Oct 2017 05:08:32 PM UTC, comment #2:

I have been working on a bigger, related issue, that of the very messy and reduplicated contents of the Devanagari 'cjct' and 'pres' lookups. These evolved through changing standards 'deva' and 'dev2' and requirements to support Hindi, Sanskrit, and Marathi, as well as Old Hindi.

The question arises, when is it appropriate to use 'cjct' and when to use 'pres'? In 'dev2', 'cjct' serves as a step in identifying consonant conjuncts which aren't already identified by preceding lookups -- while 'pres' is only a ligature lookup, which functions under either standard.

I think it has to do with how well the preceding lookups have done in identifying the consonant clusters, and some design strategies. I'll write some of those down here for posterity.

In Devanagari particularly, many consonants have half forms, and the presence of an entry in the 'half' table is enough to indicate that a half+consonant is a cluster. But several consonants don't have a proper half form. The 'cjct' table could be used to indicate clusters of those consonants.

If one intends to also support the 'deva' shaper, the 'cjct' entries will need to be repeated in 'pres' lookups, however, and that's a drag.

One strategy would be to simply copy the 'cjct' tables as 'pres' tables. But every time one modifies one copy, one must remember to modify the other, and if there are any other 'pres' tables for any other purpose, they tend to get mixed up. This is poor.

Another would be to give each 'cjct' table also a 'pres' feature. That might work. Haven't tried it. One possible issue is that really the 'cjct' tables do more than the 'pres' tables do, in that they instruct the shaper about conjuncts. I don't know what the effect is.

Another strategy is to insure that each consonant has an entry in the half table -- the "stemless" consonants, which don't take half forms, can be mapped to halant forms -- which need exist only temporarily. Then there's no need whatever for 'cjct' lookups. One objection to this strategy is that it necessitates intermediate "halant" forms, that maybe are never rendered -- and often, they necessitate a cascade of dependent forms, such as nukta-halant forms, etc.

A practical problem with that strategy arises if "rkrf" rakaar-forms are used: because the rkrf absorbs the halant before the ra, a following halant+consonant won't be recognized as a conjunct with the preceding ra, unless the rakaar-form has a corresponding "half" form. So far, I have found this is a problem only for ka+ra+ya क्र्य -- a half-form of ka+ra's is objectionable, because it would be indistinguishable from the half-form of ta+ra. So the cjct table might contain this single ligature.

The other conjuncts tht likewise sport a non-terminal rakaar are the Sanskrit क्त्र्य, ड्र्य, द्र्य, ष्ट्र्य . But in each of these cases the ra follows a stemless consonant -- since in this strategy, these are alredy getting intermediate halant forms, they can get rakar-halant forms as well. And there is another solution: give the ka-ra an intermediate rakar-halant form. It breaks a pattern, but it would work.

As a side-note -- in Devanagari the 'pstf' table is apparantly inactive. This could be useful for the special "combining" form of -ya that absorbs a preceding virama. I wonder if this wasn't overlooked when they made the decision to disable that table.

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Sat 30 Sep 2017 10:15:22 PM UTC, comment #1:

The first paragraph, about the extra 'rkrf' lookups, is resolved in recent commits.

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
Mon 25 Sep 2017 10:30:57 AM UTC, original submission:

I don't think the lookup subtable
'rkrf' rakar forms in Devanagari2 for Sanskrit-compound
can really match anything. I think the ligatures it lists are really formed in 'cjct' and 'pres' tables. This needs to be checked, and the table removed.

It has been requested that a means besides setting the text language be provided for ligatures currently activated by Sanskrit language -- to turn on a specific ligature in Hindi text, for example. One suggestion was to somehow use ZWJ+halant, as is done in Malayalam to specify a ligature form (as opposed to halant+ZWJ to force half-forms in Devanagari). I do not see this option in the standard. Is some other invisible character suitable for this purpose?

Then there are some conjuncts that have more than one ligature -- e.g. velthuis font shows distinct ligatures in Old Hindi and Sanskrit for several conjuncts...

Steve White <Stevan_White>
Project AdministratorIn charge of this item.


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by Stevan_White (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    No changes have been made to this item

    Back to the top

    Powered by Savane 3.4