how to make custom combining diacritical marks for arabic letters?

Lorna Evans via Unicode unicode at unicode.org
Tue Jan 14 11:02:23 CST 2020


What are the combining marks supposed to look like? Are they your 
creation or do you have samples of usage? It is true that you will not 
likely get combining marks to work if either they or the base character 
are PUA. Adding the complexity of RTL makes the issue worse.

Lorna

On 1/10/2020 12:30 PM, dinar qurbanov via Unicode wrote:
> hello.
>
> you can browse to replies that are not quoted below from
> https://unicode.org/mail-arch/unicode-ml/y2018-m05/0039.html .
>
> where can i write some bug reports or feature requests in order to get
> custom diacritic marks automatically positioned at right place above
> and below arabic letters, and also without having to put beginning /
> middle / end forms of arabic letters manually, but using just "simple"
> arabic letter unicode codes. and, where should i submit bug reports
> for what, what is responsible for what.
>
> seems users of unicode should be able to use private use area like
> this, to develop their own arabic and other diacritics, not only latin
> / greek / cyrillic... though i am even not tried to make
> latin/cyrillic/greek custom diacritics yet... i used custom latin and
> cyrillic scripts, but i need not to develop custom diacritics, because
> there are plenty of ready diacritics to use with them.
>
>
> 2018-05-19 13:22 GMT+03:00, dinar qurbanov <qdinar at gmail.com>:
>> this is a test i made that time: http://tmf.org.ru/arabic.html . look
>> at second line. my custom mark is located too left on the most left
>> "B", and is located too right on the middle (that is of middle form of
>> B) and on the most righ "B" (that is of starter form of B). it should
>> be located right above the below dot.
>>
>> - this was the problem that i could not solve.
>>
>> also there are problems that i could solve by using 1) rtl override
>> mark; 2) and using start, middle, end, separate B characters instead
>> of using simple arabic B, that would be easier. (you can see in the
>> example that that characters are used). (using different forms of
>> letter can also be achieved by using php or javascript, etc).
>>
>>
>>
>>
>> 2018-05-17 22:12 GMT+03:00 Richard Wordingham via Unicode
>> <unicode at unicode.org>:
>>> On Thu, 17 May 2018 09:49:55 +0300
>>> dinar qurbanov via Unicode <unicode at unicode.org> wrote:
>>>
>>>> how to make custom combining diacritical marks for arabic letters?
>>>> should only font drivers and programs support it, or should also
>>>> unicode support it, for example, have special area for them?
>>>>
>>>> as i know, private use area can be used to make combining diacritical
>>>> marks for latin script without problems.
>>>>
>>>> but when i tried, several years ago, to make that for arabic script,
>>>> with fontforge, i had to use right to left override mark, and manually
>>>> insert beginning, middle, ending forms of arabic letters, and even
>>>> then, my custom marks were not located very properly above letters.
>>> I'm offering suggestions, but I don't that they will work.
>>>
>>> The one thing that may help you is that these marks cannot appear in
>>> plain text.  There are a number of things you need to do:
>>>
>>> 1) Persuade the renderer to treat your character as being a run in a
>>> single script.  You might be able to do this by:
>>>
>>> a) Not having any lookups for the Arabic script.
>>>
>>> b) Using RLM to persuade the renderer that you have a right-to-left run.
>>>
>>> It is just possible that his may fail with OpenType fonts but work
>>> with Graphite or AAT fonts.  If it works, you will then have to
>>> implement all the Arabic shaping yourself.
>>>
>>> 2) If OpenType fonts will treat the data as a single script run, you
>>> will need to ensure that there is an OpenType substitution feature that
>>> the renderer will support.  Fortunately, many modern text applications
>>> will allow you to force the ccmp feature to be enabled - I have used
>>> such feature forcing with OpenType in LibreOffice and also in HTML,
>>> which renders accordingly in all the modern browsers I have tested - MS
>>> Edge on Windows 10, Firefox and, on iPhones, Safari.  While the ccmp
>>> feature is enabled for the PUA in Firefox, it is disabled in MS Edge on
>>> Windows 10.
>>>
>>> 3) I believe AAT will soon be available for products using the HarfBuzz
>>> layout engine, so it is likely to become available on Firefox and
>>> LibreOffice.  If AAT looks like a solution, you may need to research the
>>> attitudes of Chrome and OpenOffice, for I believe they have chosen not
>>> to support Graphite.
>>>
>>> A totally different solution would be to recompile your application so
>>> that it believes that your diacritics are in the Arabic script.
>>>
>>> Richard.


More information about the Unicode mailing list