diacritic stacking: positioning problem

Get help with FontCreator here. Please do not post feature requests or bug reports here.
NinnaD
Posts: 200
Joined: Mon Feb 15, 2021 8:06 pm

Re: diacritic stacking: positioning problem

Post by NinnaD »

I'm sorry, but I think I'm a bit lost.
How do I get abreveacute to display correctly (without using Custom Formula)?

I have:
1. Multiple Substitution: abreveacute > a+brevecomb+acutecomb
2. Chaining Context with Single Substitution lookup: brevecomb > brevecomb.alt before acutecomb

What am I missing?
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: diacritic stacking: positioning problem

Post by Erwin Denissen »

Do send the project file to us and we will look into it.
Erwin Denissen
High-Logic
Proven Font Technology
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: diacritic stacking: positioning problem

Post by Erwin Denissen »

I have taken a look at the font, and it seems to work just fine:
markalt1.png
markalt1.png (223 KiB) Viewed 4899 times
markalt2.png
markalt2.png (96.28 KiB) Viewed 4899 times
Erwin Denissen
High-Logic
Proven Font Technology
Husham
Top Typographer
Top Typographer
Posts: 312
Joined: Tue Apr 07, 2020 5:05 am
Location: Iraq-Baghdad
Contact:

Re: diacritic stacking: positioning problem

Post by Husham »

Hi,

I have make this video about Mark positioning in Arabic Font, As i think same procedure for diacritic, see Glyphs composition/ decomposition how i make it, maybe it useful for you :)

https://youtu.be/3DihbCrLahE

viewforum.php?f=4

Thanks
NinnaD
Posts: 200
Joined: Mon Feb 15, 2021 8:06 pm

Re: diacritic stacking: positioning problem

Post by NinnaD »

Husham, thank you for the video link. I think I got that - but I'm not sure it applies to cases such as e.g. abreveacute.

Erwin, yes, the font works and the preview works, but in the workspace and glyph view, the 2nd diacritic is displayed in its unchanged position:
img08.png
img08.png (48.05 KiB) Viewed 4879 times
img07.png
img07.png (5.63 KiB) Viewed 4879 times

The only way I found of getting around this problem was to manually change the glyph composition formula for each such case. 1. Is there a way of doing this automatically? 2. Is there a way of accessing a list of all such formulas used in a font?
Husham
Top Typographer
Top Typographer
Posts: 312
Joined: Tue Apr 07, 2020 5:05 am
Location: Iraq-Baghdad
Contact:

Re: diacritic stacking: positioning problem

Post by Husham »

NinnaD wrote: Thu Feb 18, 2021 10:04 am Husham, thank you for the video link. I think I got that - but I'm not sure it applies to cases such as e.g. abreveacute.
You are welcome NinnaD, hope to find a way to solve your cases.
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: diacritic stacking: positioning problem

Post by Erwin Denissen »

NinnaD wrote: Thu Feb 18, 2021 10:04 am The only way I found of getting around this problem was to manually change the glyph composition formula for each such case. 1. Is there a way of doing this automatically? 2. Is there a way of accessing a list of all such formulas used in a font?
No, there is no list of those formulas.

I still think this is not the preferred way to make this work, but there are ways to also make that work.

Right now abreveacute is made out of /abreve/acutecomb. You will probably want it to use /a/brevecomb.alt/acutecomb

You could edit the composite definitions in CompositeData.xml and then use Complete Composites using that data. Here is one line added (<GlyphMapping>57600</GlyphMapping>) to make it work for abreveacute :

Code: Select all

<Composite><!-- a breve acute -->
<GlyphMapping>7855</GlyphMapping>
	<Member id="1">
		<GlyphMapping>97</GlyphMapping>
		<UseMetrics>TRUE</UseMetrics>
	</Member>
	<Member id="2">
		<GlyphMapping>57600</GlyphMapping> <!-- use brevecomb.alt if availabe -->
		<GlyphMapping>774</GlyphMapping>
		<GlyphMapping>728</GlyphMapping>
		<Pos>Auto</Pos>
	</Member>
	<Member id="3">
		<GlyphName>acutecomb.case</GlyphName>
		<GlyphName>acutecomb</GlyphName>
		<GlyphName>acutemod</GlyphName>
		<GlyphName>acute</GlyphName>
		<Pos>Auto</Pos>
	</Member>
	<AlignVertical>
		<Source>
			<Member>2</Member>
			<Position>Top</Position>
		</Source>
		<Dest>
			<Member>3</Member>
			<Position>Bottom</Position>
			<Offset>-25%</Offset>
		</Dest>
	</AlignVertical>
</Composite>
It works as you assigned a codepoint to glyph brevecomb.alt.
Erwin Denissen
High-Logic
Proven Font Technology
NinnaD
Posts: 200
Joined: Mon Feb 15, 2021 8:06 pm

Re: diacritic stacking: positioning problem

Post by NinnaD »

Thank you.
I still think this is not the preferred way to make this work
And could you show me, using my file, which features you'd remove, and what you'd add, in order to make it work your way? (Just /abreve/acutecomb for example)
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: diacritic stacking: positioning problem

Post by Erwin Denissen »

Here is a subset of your font with the preferred way.
StackingMark.png
StackingMark.png (74.29 KiB) Viewed 4861 times
StackingMark2.png
StackingMark2.png (142.55 KiB) Viewed 4861 times
Attachments
StackingMark.fcp
(6.17 KiB) Downloaded 165 times
Erwin Denissen
High-Logic
Proven Font Technology
NinnaD
Posts: 200
Joined: Mon Feb 15, 2021 8:06 pm

Re: diacritic stacking: positioning problem

Post by NinnaD »

Sorry, reading your reply above now! Can you save the file for FC11? Thank you!

What I cannot understand is why this works in the case of idotless. i before acutecomb is changed to idotless via chaining context + single substitution. When I use chaining context + multiple substitution for abreve to change it into a + brevecomb.alt before acutecomb, nothing happens. I couldn't find any special formula for i acute in the CompositeData.xml, yet the formula for constructing composite glyph has idotless+acutecomb. So why don't I get a similar result for abreveacute?
NinnaD
Posts: 200
Joined: Mon Feb 15, 2021 8:06 pm

Re: diacritic stacking: positioning problem

Post by NinnaD »

Aaaand it works! :D Thank you.
And if you could answer the question from my previous post, I'd be overjoyed. I'm trying to learn and understand, not just do.
Husham
Top Typographer
Top Typographer
Posts: 312
Joined: Tue Apr 07, 2020 5:05 am
Location: Iraq-Baghdad
Contact:

Re: diacritic stacking: positioning problem

Post by Husham »

Erwin Denissen wrote: Thu Feb 18, 2021 5:13 pm Here is a subset of your font with the preferred way.
WAW Erwin, I like this preferred way, Master's touch :)
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: diacritic stacking: positioning problem

Post by Erwin Denissen »

NinnaD wrote: Thu Feb 18, 2021 5:20 pm What I cannot understand is why this works in the case of idotless. i before acutecomb is changed to idotless via chaining context + single substitution. When I use chaining context + multiple substitution for abreve to change it into a + brevecomb.alt before acutecomb, nothing happens. I couldn't find any special formula for i acute in the CompositeData.xml, yet the formula for constructing composite glyph has idotless+acutecomb. So why don't I get a similar result for abreveacute?
FontCreator does some magic to make it work.
NinnaD wrote: Thu Feb 18, 2021 5:42 pm Aaaand it works! :D Thank you.
I am glad to know it works.
Erwin Denissen
High-Logic
Proven Font Technology
NinnaD
Posts: 200
Joined: Mon Feb 15, 2021 8:06 pm

Re: diacritic stacking: positioning problem

Post by NinnaD »

And it's always fun figuring out how magic tricks work :wink:

On that note, where do the "<GlyphMapping>...</GlyphMapping>" values in the CompositeData.xml come from?
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: diacritic stacking: positioning problem

Post by Bhikkhu Pesala »

NinnaD wrote: Sun Feb 28, 2021 1:22 amOn that note, where do the "<GlyphMapping>...</GlyphMapping>" values in the CompositeData.xml come from?
They are the decimal code-points of the defined glyphs. See the Complete Composites Tutorial

Note: Some of the inline images have disappeared from the server.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Post Reply