Hungarian font problem
Hungarian font problem
Dear developer,
I had a problem with the Hungarian fonts, the letters őŐ and űŰ. I use Glyph Transformer to generate the Eastern European letters, but it always generates the long accent in the wrong place for both upper and lower case letters. I suppose it puts the doubleacutemod ($02DD) character over the letter, but the position is almost never right, even though this letter is similar to the letters óÓ and úÚ.
In some letters, the accents are replaced by a completely different glyph.
How can I modify the script to get the accents in the right place after generation?
There were letters where the accent disappeared at the capital letter when using Auto Composite.
Here is the full set of Hungarian accented letters for testing, and I attached a sample for good positions:
árvíztűrő tükörfúrógép ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP
I had a problem with the Hungarian fonts, the letters őŐ and űŰ. I use Glyph Transformer to generate the Eastern European letters, but it always generates the long accent in the wrong place for both upper and lower case letters. I suppose it puts the doubleacutemod ($02DD) character over the letter, but the position is almost never right, even though this letter is similar to the letters óÓ and úÚ.
In some letters, the accents are replaced by a completely different glyph.
How can I modify the script to get the accents in the right place after generation?
There were letters where the accent disappeared at the capital letter when using Auto Composite.
Here is the full set of Hungarian accented letters for testing, and I attached a sample for good positions:
árvíztűrő tükörfúrógép ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP
-
- Top Typographer
- Posts: 9887
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Hungarian font problem
Which version of FontCreator are you Using?
The position of double acute accent is defined in CompositeData.xml as:
This places the double acute combining diacritical mark (779 decimal code-point) offset to the right of the centreline of the base glyph, by one third of the width of the accent. It is the same as that for the single acute accent.
Recent versions of FontCreator 12 to 14 have the option to use Anchored-based glyph positioning, which may give better results.
The Eastern Europe Glyph Transform script still uses the old method, but it can be edited to use Anchored-based positioning.
Disappearing Letters
If any composites disappear after using Complete Composites, your font is missing one or more of the required composite glyph members, or they are incorrectly named. Generate glyph names to make sure that they are correct.
The position of double acute accent is defined in CompositeData.xml as:
Code: Select all
<Composite><!-- o double acute -->
<GlyphMapping>337</GlyphMapping>
<Member id="1">
<GlyphMapping>111</GlyphMapping>
<UseMetrics>TRUE</UseMetrics>
</Member>
<Member id="2">
<GlyphMapping>779</GlyphMapping>
<GlyphMapping>733</GlyphMapping>
<Pos>Auto</Pos>
</Member>
</Composite>
If any composites disappear after using Complete Composites, your font is missing one or more of the required composite glyph members, or they are incorrectly named. Generate glyph names to make sure that they are correct.
Re: Hungarian font problem
Thanks for the great ideas, I will try it and get back to you! I am currently using the latest version 14 and will definitely try anchor based positioning.
Re: Hungarian font problem
It seems to be font dependent. For Jangkar the Composite or Auto setting works, but for capital letters the accent is missing, the script runs badly.
I tried other fonts, but unfortunately none of the Anchor alignments gave good results.
There were some fonts where the doubleacutemod was generated empty, so the Hungarian accented letters were not generated correctly (e.g. Lady Suettaya font, see attachment). In such cases, what step should be taken before the script runs?
I tried other fonts, but unfortunately none of the Anchor alignments gave good results.
There were some fonts where the doubleacutemod was generated empty, so the Hungarian accented letters were not generated correctly (e.g. Lady Suettaya font, see attachment). In such cases, what step should be taken before the script runs?
-
- Moderator
- Posts: 11187
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Hungarian font problem
Anchor based positioning works with combining marks. In this case is uses doubleacutecomb and has code-point $30B. This accent is also known as Hungarian umlaut or hungarumlautcomb.mykee wrote: ↑Thu Aug 18, 2022 10:23 am It seems to be font dependent. For Jangkar the Composite or Auto setting works, but for capital letters the accent is missing, the script runs badly.
I tried other fonts, but unfortunately none of the Anchor alignments gave good results.
There were some fonts where the doubleacutemod was generated empty, so the Hungarian accented letters were not generated correctly (e.g. Lady Suettaya font, see attachment). In such cases, what step should be taken before the script runs?
Hungarian letters Lady.jpg
-
- Top Typographer
- Posts: 9887
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Hungarian font problem
Use combining diacritics for composite accents. If they do not exist in a font, you will need to add them.
CompositeData.xml will generate combining accents, if they do not exist, from modifier accents (if they do exist). Glyph doubleacutcomb is code-point 779 (decimal).
If you need smaller or more acute accents for uppercase, add them using the correct names, e.g. doubleacutecomb.case. They don't need to be mapped, but they do need to be correctly named.
CompositeData.xml will generate combining accents, if they do not exist, from modifier accents (if they do exist). Glyph doubleacutcomb is code-point 779 (decimal).
Code: Select all
<Composite><!-- Combining Double Acute -->
<GlyphMapping>779</GlyphMapping>
<AdvanceWidth>0</AdvanceWidth>
<LSB>-760</LSB>
<Member id="1">
<GlyphMapping>733</GlyphMapping>
</Member>
</Composite>
Re: Hungarian font problem
The letters may not have been made by professionals, but I'll show you some interesting facts about the letter Jangkar.
If I use Anchor settings, this will be the final result:
If I run the script with Composite data setting, the accents appear, but then they are slipped, high up, missing in the capital letters.
How can I put the Hungarian accents in relative position if the original letters have no anchor?
If I use Anchor settings, this will be the final result:
If I run the script with Composite data setting, the accents appear, but then they are slipped, high up, missing in the capital letters.
How can I put the Hungarian accents in relative position if the original letters have no anchor?
-
- Top Typographer
- Posts: 9887
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Hungarian font problem
You should use anchor-based positioning. This will create anchors.
Anchor-base repositioning will only reposition using existing anchors.
Complete Composites Autopos uses font metrics such as CapHeight to position accents vertically.
Anchor-base repositioning will only reposition using existing anchors.
Complete Composites Autopos uses font metrics such as CapHeight to position accents vertically.
Re: Hungarian font problem
Ok, there is no anchor in the font for any letter. This is a TTF file. I've looked at the help and the videos, but it's not clear yet when and where to insert an anchor. Should I anchor each character one by one and then run the script, or should I insert a doubleacutcomb character first, set it up, anchor it and then run the script?
If I choose the Anchor Based composite, why don't the letters appear, only their positions? Do those letters need to be anchored as well?
If I choose the Anchor Based composite, why don't the letters appear, only their positions? Do those letters need to be anchored as well?
-
- Top Typographer
- Posts: 9887
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Hungarian font problem
Add the required accents first, then complete anchor-based composites.
The anchors will be added automatically. They can be moved later if not in the desired position. Moving an anchor, e.g. over the letter "o" will move all of the accents for o: ö, ò, ó, õ etc.
The tutorial on Diacritical Marks will tell you more. Don't try to understand everything at once - take one step at a time, and experiment with the font that you are editing.
The anchor positions are saved in the font project and exported in the new font.
If you open a typical Windows font like Arial, you can see that there are many anchors.
The anchors will be added automatically. They can be moved later if not in the desired position. Moving an anchor, e.g. over the letter "o" will move all of the accents for o: ö, ò, ó, õ etc.
The tutorial on Diacritical Marks will tell you more. Don't try to understand everything at once - take one step at a time, and experiment with the font that you are editing.
The anchor positions are saved in the font project and exported in the new font.
If you open a typical Windows font like Arial, you can see that there are many anchors.
Re: Hungarian font problem
I watched your video, but this anchor thing is too much for me.
In principle, the idea would be that I set which is the top point for the capital Ű and the lowercase Ű, for example, and then put the same anchor at the bottom of the doubleacutecomb, and so they are connected there.
But I played around with this all afternoon and evening, still couldn't figure out the logic. If I switch to simple for the letter, it loses the connection to the doubleacutecomb character, but if auto attach is enabled, I can move the doubleacutecomb character, not the letter. This is understandable if the anchors would meet, but I can't get them in sync.
It's really getting easier to manually drag the accent to the four letters and that's it... The whole anchor thing is complicated for me, plus I have to play with it font by font to get the double accent to fall into place like the other letters.
Plus, I don't have generated anchors until I run the Eastern Europe script and then switch the alignment to anchor mode, which causes the original accent positions to slip and I have to reset those too.
See my anchors in picture: have two toprights and tops (one for the accent, one for the letter), no any connection between them.
In principle, the idea would be that I set which is the top point for the capital Ű and the lowercase Ű, for example, and then put the same anchor at the bottom of the doubleacutecomb, and so they are connected there.
But I played around with this all afternoon and evening, still couldn't figure out the logic. If I switch to simple for the letter, it loses the connection to the doubleacutecomb character, but if auto attach is enabled, I can move the doubleacutecomb character, not the letter. This is understandable if the anchors would meet, but I can't get them in sync.
It's really getting easier to manually drag the accent to the four letters and that's it... The whole anchor thing is complicated for me, plus I have to play with it font by font to get the double accent to fall into place like the other letters.
Plus, I don't have generated anchors until I run the Eastern Europe script and then switch the alignment to anchor mode, which causes the original accent positions to slip and I have to reset those too.
See my anchors in picture: have two toprights and tops (one for the accent, one for the letter), no any connection between them.
-
- Top Typographer
- Posts: 9887
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Hungarian font problem
It takes time for old dogs to learn new tricks.
In my font, the Top anchor is on the double acute accent. As you can see, it aligns with the CapHeight.
The double acute accent in U double acute cannot be moved, because its positioned is controlled by the anchor auto attachment.
In my font, the Top anchor is on the double acute accent. As you can see, it aligns with the CapHeight.
The double acute accent in U double acute cannot be moved, because its positioned is controlled by the anchor auto attachment.
-
- Top Typographer
- Posts: 9887
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Hungarian font problem
I was largely responsible for editing the CompositeData.xml file, and continued using it long after FontCreator 12 had been released. For positioning of some diacritics, I had to use all kinds of kludges to position accents over some base glyphs, but anchor-based composition is a better solution.
Complete Composites can be used to compose symbols too, e.g. ± from plus and minus, or colon and semicolon from period and comma. It works better for standard text fonts than it does for scripts.
Anchor-based composition should work better for your font.
Code: Select all
<Composite><!-- h caron -->
<GlyphMapping>543</GlyphMapping>
<Member id="1">
<GlyphMapping>104</GlyphMapping>
<UseMetrics>TRUE</UseMetrics>
</Member>
<Member id="2">
<GlyphName>caroncomb.case</GlyphName>
<GlyphName>caroncomb</GlyphName>
</Member>
<AlignHorizontal>
<Source>
<Member>1</Member>
<Position>Left</Position>
</Source>
<Dest>
<Member>2</Member>
<Position>Left</Position>
<Offset>31%</Offset>
</Dest>
</AlignHorizontal>
<AlignVertical>
<Source>
<Member>1</Member>
<Position>Top</Position>
</Source>
<Dest>
<Member>2</Member>
<Position>Bottom</Position>
<Offset>-74%</Offset>
</Dest>
</AlignVertical>
</Composite>
Anchor-based composition should work better for your font.
Re: Hungarian font problem
I might head for CompositeData.xml until I get to grips with the anchors. Many letters do not contain Hungarian characters and I would like to replace them quickly and easily. The script provided a solution to this, only the relative positioning was a problem.
The generation of the doubleacutecomb is not a problem, most of the time it is done well by the program, but the accent is not positioned in the right place, different for each font, I am looking for a solution. For example, it reads the accent positions of the existing accented letters, and inserts the doubleacutecomb character offset based on that. That's what I was thinking of.
Unfortunately I can't generate anchors in advance, only after running the script, so there's little chance to do an anchor-based generation if the letter doesn't contain an anchor.
The generation of the doubleacutecomb is not a problem, most of the time it is done well by the program, but the accent is not positioned in the right place, different for each font, I am looking for a solution. For example, it reads the accent positions of the existing accented letters, and inserts the doubleacutecomb character offset based on that. That's what I was thinking of.
Unfortunately I can't generate anchors in advance, only after running the script, so there's little chance to do an anchor-based generation if the letter doesn't contain an anchor.
-
- Top Typographer
- Posts: 9887
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Hungarian font problem
It is the Eastern Europe transform script that needs editing. It does not insert all the required accents for the Latin Extended-A character set.
- The first part of the script should insert the required combining diacritical marks using Complete Composites to generate the required accents from the glyph modifying accents.
- The second part of the script should insert the characters required for European languages
- The third part of the script should compose the composite characters in Latin Extended-A etc., using the Anchor-based method