I need help for the image below to make this work in volt. Please any body help me on that. Thanks in advance..
This type I use it in my book to show there is prolongation in the letter.
| Attachment | Size |
|---|---|
| bn_ka_aaaa.PNG | 22.09 KB |
I need help for the image below to make this work in volt. Please any body help me on that. Thanks in advance..
This type I use it in my book to show there is prolongation in the letter.
| Attachment | Size |
|---|---|
| bn_ka_aaaa.PNG | 22.09 KB |
The sequence you show involves two dependent vowel signs being applied to a single letter. In normal Bangla text, surely this is considered invalid, as only one dependent vowel sign can be applied per letter. So what you probably see, at least in Windows applications, is a dotted ring between the two vowel signs. This is inserted by the script shaping engine in Uniscribe, and is independent of the font lookup tables.
It is possible to trick the shaping engine into hiding the dotted circle, but this generally isn't advised unless you really, really need to do something contrary to normal Bangla layout. If you have evidence of more than one vowel sign being applied to a single letter, then you should contact Microsoft and present it to them so that they can change the shaping engine.
"In normal Bangla text, surely this is considered invalid, as only one dependent vowel sign can be applied per letter."
Grammatically it is wrong but phonetically, it is not wrong at all. I don't understand why we need to follow grammar in typing. I want to make transliteration of Arabic to present there is prolongation in that letter. that's why I need it. I can type in English the way I want. I can do aaa dddks;afslj;eee but I can't do in my own language and others. Why?
"It is possible to trick the shaping engine into hiding the dotted circle, but this generally isn't advised unless you really, really need to do something contrary to normal Bangla layout."
I really need. Can you please tell me how do I do that in ms volt? It will be great help thank you.
"If you have evidence of more than one vowel sign being applied to a single letter, then you should contact Microsoft and present it to them so that they can change the shaping engine."
I have told Microsoft long time ago about 6 years ago but those people they don't listen. Even in Arabic there is many issues are wrongly applied to the font.
I am entirely in agreement with you that the shaping engine should not prevent unorthodox character sequences. I have argued with folk at Microsoft for years that this is, in effect, spellchecking, and belongs at the language level in applications not at the script level in shaping engines. I think most of them are now in agreement, but getting longstanding behaviour of a core .dll changed seems difficult for them.
This is how you can trick the shaping engine. Note that the dotted circle (Unicode 25CC) is inserted in a buffered character state, before OTL glyph processing. So what you can do is use GSUB ligation to remove the dotted circle glyph from the string. You can either do this globally for the font, or you can do it contextually, targeting only the specific sequences in which you wish it to disappear. So, for example, you could specifically target the double-aa situation you illustrate with a VOLT lookup like this (I've used the naming I employ in my own Bengali fonts):
uni25CC bSignAa -> bSignAa
in context
bSignAa |
i.e. changed dotted circle + aa to just aa when preceded by aa.
____
By the way, the Bangla font you show looks a lot like the classic Linotype Bengali. I know there are a lot of versions of this design now in use in India and Bangladesh, as well as in immigrant communities elsewhere. Which version is this?
In other scripts I have put this looking in the 'ccmp' feature. Because ideally one wants to get the dotted circle out of the way before doing and text shaping. However, I don't think 'ccmp' is processed by Indic shaping engines (although you could try it). You could also try using the 'akhn' feature, which processes ligations before other shaping. But it might be that the Indic shaping engines prevent this kind of trick if the dotted circle is simply not passed to the shaping engine for OTL processing on the grounds that it isn't an Indian character.
As a last resort, you could replace the dotted circle glyph in the font with a zero-width no-outline glyph, still encoded as U+25CC. This should get inserted by Uniscribe instead of a visible dotted circle, solving your problem. Of course, the presence of such an invisible glyph in the string will still prevent complex interactions between glyphs on either side of it, but it should work for your aa-aa case.
This is what the 'locl' feature is for, but I've not tried it in this situation. One of the concerns will be whether the European punctuation characters are rolled into the glyph run with the adjacent Indian characters. They should be, but operating systems and app have been flaky in supporting this. So it may not work, or not everywhere.
Try making a 'locl' feature for the Bengali script and 'dflt' language system, and substitute the punctuation glyphs you want.
The case for transliterating e.g. Arabic using Bengali letters seems to me serious and should not be something that is prevented by the shaping engine, any more than a Latin shaping engine should prevent a sequence of diacritics to transliterate non-European scripts and languages. So I agree that this is something that Microsoft should change. But then I also think they should completely stop performing what amounts to spelling or grammar checking at the shaping engine level, and have told them so many times.
There are a couple of ways in which this can be done. First, it is important to note that normal character input order for this should be Consonant + Vowel + Candrabindu, i.e. the candrabindu should be typed after the vowel, not before it.
One method is simply to use an 'abvm' feature GPOS mark positioning anchor attachment to position the candrabindu mark where you want it on the vowel sign. If you want to adjust the size or weight of the candrabindi in this situation, you can do this GPOS operation after first applying a contextual GSUB substitution to replace the normal candrabindu glyph with a variant form.
The other method is to build a precomposed ligature of the vowel sign + candrabindu, and use an 'abvs' feature GSUB ligature subsitution to form this from the vowel sign + mark sequence.
Captured from commoncrawl.org on 27 Apr 2015. original URL