how to make custom combining diacritical marks for arabic letters?

dinar qurbanov via Unicode unicode at unicode.org
Sat May 19 05:22:45 CDT 2018


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