Fixing offset issues

Get help with FontCreator here. Please do not post feature requests or bug reports here.
Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Fixing offset issues

Post by Psymon » Fri Nov 23, 2018 6:43 am

Okay, I've been totally out-of-the-loop with working on my fonts for almost this whole year -- I got totally frustrated with a problem with the set of fonts that I've been working on (for years and years now) at the beginning of the year, and with other problems going on in my life at the time I just completely gave up in exasperation, and haven't even fired up FC since then...

And now I seem to have rather forgotten where I was at with everything. :roll:

So I have four fonts in my set -- a blackletter, roman, italic, and a smallcaps -- with many multiple versions of each. It would be nice to pick up with the "last" version of each one, because those had the best of something-or-other in them (whatever the last improvements were that I'd made), but it would seem that they all have issues related to the offset.

I don't know how I introduced this issue, but it seems that all sorts of characters have an offset -- please do correct me if I'm wrong, but I believe that it's only the diacritical marks that should have that? And so all other characters should have an offset of 0?

Is that right?

I guess that's basically my question, though: if one has somehow totally screwed up the offset all over the place, on all sorts of the glyphs, how does one fix things up without screwing things up even more? I recall that I'd run that "set offset to 0" script on my entire font(s) at the time (at least one of them) and the response I got from others here was "Oh no! Don't do that!" and then it was suggested to run "complete composites" on my diacriticals -- but when I do that, it swaps out the nice, custom diacriticals that I'd created with entirely different glyphs. :(

I just don't know what the heck I'm doing! Help! :o

Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Re: Fixing offset issues

Post by Psymon » Fri Nov 23, 2018 7:22 am

Oh, here's the thread where I left things off earlier this year (in March, apparently -- I thought it was before then), where my "brain exploded" and I just totally gave up on even looking at my fonts for the rest of the year...

viewtopic.php?f=3&t=7545&hilit=offset&start=30#p36229

:(

Reviewing that whole discussion, I still don't know what to do -- hence my query here, if only to look at the whole problem anew, starting from scratch.

Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Re: Fixing offset issues

Post by Psymon » Fri Nov 23, 2018 6:20 pm

I'm surprised I didn't get any responses on this -- although it hasn't even been 24 hours yet, so maybe I'm being impatient.

Well, as it is, I have 4 fonts in my family, all with the offset set to 0 on the entire character set, and I don't know how to get the "correct" offset -- that should apparently be there -- back for those diacritical marks (and I'm assuming that that's the only glyphs I should be concerned about). At least, I know I can just run "complete composites" on those particular glyphs, but all that seems to accomplish is to swap out totally different glyphs in their place (even if it gives them the offset they're supposed to in the process).

At this point, I'm wondering if it's even really all that important??? Maybe I should just forget it, and live with it, as they all are -- at least all the other characters have no offset any more, and I don't know how often people would even use those separate, individual diacriticals, when I have all the other characters combined with the various diacritical marks anyway (if that makes sense). :shock:

Erwin Denissen
Moderator
Moderator
Posts: 8287
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Fixing offset issues

Post by Erwin Denissen » Fri Nov 23, 2018 10:17 pm

Can you post a screenshot that illustrates the problem, as it might be something obvious for other people, but it may also be a bug on our side.
Erwin Denissen
High-Logic
Proven Font Technology

Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Re: Fixing offset issues

Post by Psymon » Fri Nov 23, 2018 10:29 pm

Actually, it's really very simple, Erwin, and is the same problem I had in that first thread that I pointed to in my own first reply to my initial message here (i.e. that other thread from back in March).

I ran that "set offset to 0" script on my entire fonts, including the diacritical marks, but my understanding is that one isn't supposed to do that on those latter.

Do I understand that correctly, i.e. that with any normal font, the offset should be 0 on pretty much all characters except for the diacritical marks?

Assuming that's correct, then now that I've done that (because I didn't know any better), how do I get the offset back to what they should be for those diacriticals? You (or someone) had said before to simply run "complete composites" on those diacriticals, but when I do that it swaps out different glyphs for the ones I had (in some cases).

Is it even all that big a deal, though? Like, if I wanted to insert an a-acute in a document, I would personally just use that exact character -- I wouldn't use an "a" and then add in an acute accent separately. Who the heck does that? :D

If you want screenshots of those diacritical marks getting swapped out when I run "complete composites" on them I guess I can do that, but I would think that you would understand what I mean by that happening (and why that happens).

Please do correct me if I'm wrong in the first place, however, about my thinking that "all" glyphs -- apart from the diacritical marks -- should have an offset of 0. Maybe there's a whole other side to this that I'm just not grasping??? :oops:

Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Re: Fixing offset issues

Post by Psymon » Sat Nov 24, 2018 5:23 am

I don't know if this helps, but here you can see what happens when I "complete composites" on those diacriticals, where it ends up actually changing (and/or moving around) my glyphs -- oh, and it also does NOT fix that offset, either, that seems to be staying at 0. :(

Here's what my selection looks like before I run "complete composites"...

Diacritical Marks - Before.jpg
Diacritical Marks - Before.jpg (194.61 KiB) Viewed 1147 times

...and here's what they look like after I run that (interesting that it also de-selects some things in the process of doing so, too!)...

Diacritical Marks - After.jpg
Diacritical Marks - After.jpg (194.98 KiB) Viewed 1147 times

So running "complete composites" doesn't seem to be fixing the problem at all.

How do I get those offsets back on my diacriticals? Or is this not even all that "critical" at all anyway (as I was surmising earlier)?

And if it is "critical," then is it ONLY the diacriticals that I need to be concerned about?

Erwin Denissen
Moderator
Moderator
Posts: 8287
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Fixing offset issues

Post by Erwin Denissen » Sat Nov 24, 2018 4:21 pm

Usually one selects the composite characters and then perform the feature on them. Right now you are performing it on the diacritics.

After performing the complete composite feature, it will unselect all characters that are untouched.
Erwin Denissen
High-Logic
Proven Font Technology

Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Re: Fixing offset issues

Post by Psymon » Sat Nov 24, 2018 6:33 pm

Erwin Denissen wrote:
Sat Nov 24, 2018 4:21 pm
Usually one selects the composite characters and then perform the feature on them. Right now you are performing it on the diacritics.
Well, because that's my understanding, that it's only the diacritic marks that really need to have an offset -- I still don't know if that's the correct understanding, but it seems to make sense to me.

Do I have that right?

And the whole problem is that I ran that "set offset to 0" script on my whole, entire font, and so it was only on those diacritical marks that I was trying to give them that offset back. I have no idea how to do that, but if I remember correctly it was you, Erwin, who said to just simply run complete composites on those marks again.

Doing that doesn't seem to give them an offset, though -- all it accomplishes is to swap out half my marks for different ones, and/or move a bunch of them around to new positions.

And I suppose that also brings up my second question from earlier -- does it even matter? How often is anyone going to use a diacritical mark on its own anyway? I have no composite characters in my font, either, nothing is using those "on the fly," all my accented characters are simple glyphs.
After performing the complete composite feature, it will unselect all characters that are untouched.
Ah, okay -- well, at least I now understand THAT much. ;)

Erwin Denissen
Moderator
Moderator
Posts: 8287
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Fixing offset issues

Post by Erwin Denissen » Sat Nov 24, 2018 6:59 pm

That is not what I meant.

When you use Complete Composites on for example é it will replace the glyph with a composite glyph that consists of a base character e and the acute which will be placed above the base.

If the resulting composite glyph has the diacritic mark in the wrong place, then you might need to adjust the mark glyph.

Hope this helps.
Erwin Denissen
High-Logic
Proven Font Technology

Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Re: Fixing offset issues

Post by Psymon » Sat Nov 24, 2018 8:22 pm

Erwin Denissen wrote:
Sat Nov 24, 2018 6:59 pm
When you use Complete Composites on for example é it will replace the glyph with a composite glyph that consists of a base character e and the acute which will be placed above the base.

If the resulting composite glyph has the diacritic mark in the wrong place, then you might need to adjust the mark glyph.
But all my accented characters are simple glyphs, not composites, nothing is making use of those diacritical marks "on the fly" in that way -- so as I was surmising before, is there even any reason for me to care that those diacritics don't have an offset (since I screwed them up by setting them to 0)?

Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Re: Fixing offset issues

Post by Psymon » Mon Nov 26, 2018 7:24 am

Y'know, I still don't know what the heck I'm doing here, or if I even need to do anything here. I don't know if I'm just not cluing into something or not, but perhaps I'll try rephrasing my questions, and number each one...

1. Am I correct that the only glyphs that need an offset are the diacritical marks, and nothing else, and all other glyphs should have an offset of 0? Thinking about it, that makes sense to me, but I wish I could just get confirmation on that.

2. I'm not sure how I did it, but in an earlier version of my font I discovered that I had offsets all over the place, on all sorts of glyphs here and there, and so I rather presumptuously ran that script to "set offset to 0" on the whole, entire font (including the diacritics). Now, this brings up two fairly related questions...

a) I have NO composite characters at all in my fonts, all the accented characters are simple glyphs, my fonts don't need them to create accented characters "on the fly" or anything, so is there any reason that I should even care whether or not my diacritical marks are now set (incorrectly) to 0? Other than maybe for ASCII art or something, what else would people use those marks for, just on their own?

b) Despite this latter point, it would still be nice to at least know how to get those diacritics set back correctly, to give them the offset that they're supposed to (but that I screwed up). How does one go about doing that?

I just don't know how to make my problem(s) any more clear than that -- I so wish that someone could help me (or just tell me if I'm totally out-to-lunch and, in fact, not even looking at things the right way or something). :(

Erwin Denissen
Moderator
Moderator
Posts: 8287
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Fixing offset issues

Post by Erwin Denissen » Mon Nov 26, 2018 9:56 am

glyphproperties.png
glyphproperties.png (10 KiB) Viewed 1087 times
Although it is not required, most fonts have Offset set to 0 for all glyphs. Thus for all glyphs the left side bearing is at x=0.

In general all glyph outlines are positioned between left and right side-bearing, so they have some space before and after the visual character. However nonspacing combining marks (for example combining diaeresis with codepoint $0308) should have a zero advance width and are usually placed before the left side bearing (thus the glyph has a negative LSB). Within the glyph treeview select Glyphs -> Type -> Mark to check them.

The benefit of composite glyphs, is that when you make modifications to the base glyph, the composite is automatically updated as well. It also saves some space in the font file, but you are not forced into using composites.

I've taken a quick look at your font. You might want to fix the 15 nonspacing combining marks as explained above, but other than that I don't see any real issues.
Erwin Denissen
High-Logic
Proven Font Technology

Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Re: Fixing offset issues

Post by Psymon » Mon Nov 26, 2018 12:05 pm

Erwin Denissen wrote:
Mon Nov 26, 2018 9:56 am
The benefit of composite glyphs, is that when you make modifications to the base glyph, the composite is automatically updated as well. It also saves some space in the font file, but you are not forced into using composites.
I seem to have this memory of having read somewhere that it's not a good idea to have any composite glyphs at all, that it can cause issues in some software. Or something. I'm really not sure what it was that I read, or why that was the case, I just recall reading that one should avoid composites.

In any case, I guess I don't have to worry about that with my fonts, as I don't have any anyway.
I've taken a quick look at your font. You might want to fix the 15 nonspacing combining marks as explained above, but other than that I don't see any real issues.
Um, when you say "as explained above," I'm not quite sure about the "how" of what you mean -- like, would I just drag those marks over to the left, beyond the LSB, basically? How do I know how far? Is it basically just guesswork, just eyeballing it, using my own imagination with each diacritic as to what "looks right" for positioning over most characters that they would go with (vowels, usually)?

On the other hand, I still don't know what use anyone would have for those with my fonts, since they aren't being used to create composites anyway -- I guess it's just nice to know, if only for possible future reference.

Thanks again for your help, Erwin (the above questions still pending, of course)! Much appreciated, as always! :)

Psymon
Posts: 360
Joined: Wed Mar 30, 2011 5:50 pm

Re: Fixing offset issues

Post by Psymon » Mon Nov 26, 2018 12:18 pm

That's weird. I just got an email -- AND a notification on here -- that I had a reply to this thread from Bhikkhu, but I don't see anything from him, only my own last reply. :shock:

Erwin Denissen
Moderator
Moderator
Posts: 8287
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Fixing offset issues

Post by Erwin Denissen » Mon Nov 26, 2018 1:01 pm

Psymon wrote:
Mon Nov 26, 2018 12:18 pm
That's weird. I just got an email -- AND a notification on here -- that I had a reply to this thread from Bhikkhu, but I don't see anything from him, only my own last reply. :shock:
He might have posted a reply and then decided to delete it.
Erwin Denissen
High-Logic
Proven Font Technology

Post Reply