<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix"><br>
<br>
Thank you Jonathan so much.<br>
<br>
I do not really care about the dialogs of ff since I can always
edit the sfd file<br>
for such simple things with vi.<br>
<br>
Now that I know the difference even if I fail, I have something to
take to the ff list 😁<br>
<br>
best,<br>
<br>
Antonis.<br>
<br>
<br>
<br>
<br>
On 23/10/21 23:11, Jonathan Kew wrote:<br>
</div>
<blockquote type="cite"
cite="mid:fee948dc-06b2-633a-5618-de8115b06b03@gmail.com">On
23/10/2021 16:48, Antonis Tsolomitis wrote:
<br>
<blockquote type="cite">
<br>
Thanks for the answer.
<br>
<br>
Yes acute works. But where do you see the difference? I am
looking the dialogs of
<br>
fontforge and can not locate the difference.
<br>
<br>
I have more trouble with diacritics stacking especially when
stacking above AND below.
<br>
x́ (x+ U+0301) works
<br>
x̖ (x + U+0316) works as well, but
<br>
x̖́ (x+ U+0301 + U+0316) fails.
<br>
<br>
<br>
I have been trying to resolve these issues for a long time but
without luck. The fontforge
<br>
dialogs show correct stacking but xetex does not stack as
expected an I have routinely failed
<br>
to find the reasons.
<br>
<br>
So at which dialogs do you see the difference between U+0301 and
U+0300 ?
<br>
And why simultaneous stack above and below fails?
<br>
<br>
</blockquote>
<br>
I haven't looked at FontForge dialogs; I used TTX (from the
FontTools package) to look at an XML dump of the .otf file, and
noticed that for the uni0300 glyph, the mark-to-base lookup has an
attachment point with class=1:
<br>
<br>
<MarkRecord index="9">
<br>
<Class value="1"/>
<br>
<MarkAnchor Format="1">
<br>
<XCoordinate value="218"/>
<br>
<YCoordinate value="516"/>
<br>
</MarkAnchor>
<br>
</MarkRecord>
<br>
<br>
whereas for uni0301 and other diacritics that should attach to the
"above" anchor of the base, the attachment has class=3:
<br>
<br>
<MarkRecord index="10">
<br>
<Class value="3"/>
<br>
<MarkAnchor Format="1">
<br>
<XCoordinate value="284"/>
<br>
<YCoordinate value="522"/>
<br>
</MarkAnchor>
<br>
</MarkRecord>
<br>
<br>
In the associated BaseArray, glyphs like uni2C9B appear to have
only anchors 3 (above) and 4 (below) defined:
<br>
<br>
<BaseRecord index="876">
<br>
<BaseAnchor index="0" empty="1"/>
<br>
<BaseAnchor index="1" empty="1"/>
<br>
<BaseAnchor index="2" empty="1"/>
<br>
<BaseAnchor index="3" Format="1">
<br>
<XCoordinate value="272"/>
<br>
<YCoordinate value="453"/>
<br>
</BaseAnchor>
<br>
<BaseAnchor index="4" Format="1">
<br>
<XCoordinate value="296"/>
<br>
<YCoordinate value="-20"/>
<br>
</BaseAnchor>
<br>
<BaseAnchor index="5" empty="1"/>
<br>
<BaseAnchor index="6" empty="1"/>
<br>
</BaseRecord>
<br>
<br>
so I'm assuming that's why uni0300 fails to attach.
<br>
<br>
I don't know exactly how this is exposed in the FontForge
interface, sorry....
<br>
<br>
As for combinations with above + below, you may need investigate
mark classes, and ensure that MarkToBase lookups for the "above"
and "below" classes are each set to ignore the other class of
marks. So if you have <x + U+0301 + U+0316>, the lookup that
wants to handle <x + uni0316> needs to *ignore* the uni0301
glyph that appears in between. This is done using mark classes;
see the documentation of the MarkToBase lookup in
<a class="moz-txt-link-freetext" href="https://docs.microsoft.com/en-gb/typography/opentype/spec/gpos">https://docs.microsoft.com/en-gb/typography/opentype/spec/gpos</a>.
<br>
<br>
Hope this helps -- sorry I don't know details of how to control
all this from FontForge, but I'm sure it has the capabilities
somewhere...
<br>
<br>
JK
<br>
<br>
<blockquote type="cite">Thanks for your help,
<br>
<br>
Antonis.
<br>
<br>
<br>
<br>
<br>
<br>
On 10/23/21 6:26 PM, Jonathan Kew wrote:
<br>
<blockquote type="cite">On 23/10/2021 14:37, Antonis Tsolomitis
wrote:
<br>
<blockquote type="cite">
<br>
It is a long time now that NewComputerModern has build-in
information for diacritics stacking.
<br>
I have heard that xetex supports this but I can not make it
work. The font is developed
<br>
with fontforge and as you can see in the attached
screenshot, fontforge shows stacking working.
<br>
<br>
However xelatex just places, say the grave (uni0300) next
and not above the character, say uni2C9B
<br>
(as in screenshot).
<br>
<br>
So I guess I have something wrong in the font that xetex
does not like(?)
<br>
</blockquote>
<br>
<br>
Do any other diacritics such as the acute (U+0301) or dieresis
(U+0308) work? From a quick look at the GPOS table in the font
-- if I'm reading it correctly -- it appears that uni0300 may
have the wrong attachment point class (whereas in uni0301 and
uni0308, it looks correct).
<br>
<br>
JK
<br>
<br>
<br>
<br>
<blockquote type="cite">
<br>
The font currently develops the coptic block for academic
needs this is why I use uni2C9B.
<br>
<br>
A sample file is
<br>
<br>
\documentclass{article}
<br>
\usepackage{fontspec}
<br>
\setmainfont{NewCM10-Regular.otf}
<br>
\begin{document}
<br>
ⲛ̀
<br>
\end{document}
<br>
<br>
However the font that contains this character (since it is
under development) is here:
<br>
<a class="moz-txt-link-freetext" href="https://myria.math.aegean.gr/~atsol/tmp/NewCM10-Regular.sfd">https://myria.math.aegean.gr/~atsol/tmp/NewCM10-Regular.sfd</a>
<a class="moz-txt-link-rfc2396E" href="https://myria.math.aegean.gr/~atsol/tmp/NewCM10-Regular.sfd"><https://myria.math.aegean.gr/~atsol/tmp/NewCM10-Regular.sfd></a>
<br>
<a class="moz-txt-link-freetext" href="https://myria.math.aegean.gr/~atsol/tmp/NewCM10-Regular.otf">https://myria.math.aegean.gr/~atsol/tmp/NewCM10-Regular.otf</a>
<a class="moz-txt-link-rfc2396E" href="https://myria.math.aegean.gr/~atsol/tmp/NewCM10-Regular.otf"><https://myria.math.aegean.gr/~atsol/tmp/NewCM10-Regular.otf></a>
<br>
<br>
thanks for any help,
<br>
<br>
Antonis.
<br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>