Propagating Changes In One glyph To Similar Decomposed Glyphs

Primary tabs

16 posts / 0 new
Last post
Richard Fink's picture
Offline
Joined: 25 May 2009 - 10:04pm
Propagating Changes In One glyph To Similar Decomposed Glyphs
0

I feel like apologizing up front, because this is probably a FontLab 101 question, but let's say composites are disabled and I make a change to the lc 'a'.

How do I go about propagating - meaning that the other glyphs change along with that lc 'a'? A script? A feature that I'm missing in FL?

Any help, I'd appreciate. Thanks.

rich

Thomas W Phinney's picture
Joined: 3 Sep 2002 - 11:00am
0

Either a script, or use components. There's no other magic feature.

This is a major headache in dealing with already-compiled fonts. For the kind of work you are doing, you should try to get FL source files when possible (in the hope that they have components already existing).

Another plus of components is that they can translate nicely to TT composites, making for smaller initial TTFs. (How much size reduction composites offer once you gzip the result is an interesting question I'd love to know the answer to....)

Thomas W Phinney's picture
Joined: 3 Sep 2002 - 11:00am
0

Oh, and you shouldn't apologize. FontLab Studio has so many freakin' features, and they are often non-obvious.... Every now and then I am trying to do something I haven't done before, and find a new-to-me feature that helps, even though I have been using it since 1994.

Trivia point: FontLab 2.5 had a different kind of subroutine feature that allowed you to do something like components, only it even worked with parts of paths! So you could for example have a serif shape as a subroutine that you could edit once and have take effect everywhere. I still miss this feature. Reportedly FontLab Studio 7 may have some serious moves in this direction again.

Thomas W Phinney's picture
Joined: 3 Sep 2002 - 11:00am
0

Oh wait, there's another option: Use "generate glyphs" and replace the previous accented glyphs with regenerated ones. That also gets you components....

Frank Grießhammer's picture
Joined: 18 Nov 2008 - 6:57am
0

Also, there is ‘Find/Replace Shapes’. Hit F3, and mire at another totally obscure FontLab feature.

Richard Fink's picture
Offline
Joined: 25 May 2009 - 10:04pm
0

@tp

Thanks for verifying I haven't gone insane in that particular way as yet. And I certainly know what you mean about non-obvious. Folks can bitch about FL all they want, but it IS deep, that it is.

I'm on a public computer at the moment but will try Find/Replace Shapes at the earliest opportunity. Thanks to frankrolf

A script sounds mighty good. I've got Python installed and it works.

Does anyone have a script for this? I'm certainly willing to purchase, if need be.

(I'd love to tackle it myself, but the time factor....)

rich

Thanks.

Thomas W Phinney's picture
Joined: 3 Sep 2002 - 11:00am
0

Frank, when you try fond/replace shapes, does it do anything useful with sidebearings and positioning? Maybe I was being dense, but it didn't seem to have the needed "intelligence" for this kind of operation.

I should have mentioned it, but I had forgotten about it after one or two less-than-exciting experiments. But maybe I just haven't figured it out properly.

T

Khaled Hosny's picture
Offline
Joined: 29 Aug 2007 - 4:57am
0

FontForge calls it references, there is a "Replace with Reference" feature that takes the currently selected glyph(s) and replaces any occurrence of that glyph with a reference to it. Any changes any the referenced glyph will propagate to glyphs referencing it, there is also a "Use My Metrics" lock, so that the side bearings are kept in sync as well (I think the later is even a feature of TrueType fonts, not something FontForge specific). May be FontLab have similar features.

Frank Grießhammer's picture
Joined: 18 Nov 2008 - 6:57am
0

Thomas,
No. No further intelligence built in! :) It really only replaces shapes inside a segment. And only in case of an exact match.
Being pretty impressive from the outset, it has the potential of a killer-feature – but isn’t. But it’s neat in certain situations. (Also, Cmd-Shift-V is.)

Mark Simonson's picture
Offline
Joined: 3 Dec 2001 - 11:00am
0

I've found the replace segment feature to be worth learning to use, but it's sort of like having "search and replace formatting" when you would rather have style sheets.

Richard Fink's picture
Offline
Joined: 25 May 2009 - 10:04pm
0

Talk about mixed reviews! I'll be trying it out shortly and let you know if it solves my problem satisfactorily.
Thanks for the FontForge tip, Khaled.
This is proving unexpectedly difficult, which makes me suspect that the problem might be better solved by doing something different earlier in my usual workflow. But heaven knows what, at the moment.

Well, gotta find something, too time consuming as is.

Chris Lozos's picture
Offline
Joined: 25 Feb 2004 - 11:00am
0

At the suggestion of Sumner Stone, I tried using "components" as a way to design a typeface. I tried sticking with it and eventually completed the character set. True, I was able to try numerous modifications and permutations and created dozens of alternates. Surprisingly, it seemed to take quite a bit longer than I expected for the options it allowed me.

I am sure there are plenty of type designers who can work this way, but. After the "experiment", I happily went back to my old way of working. The component thing was just not a good fit for me. It requires a sense of organization and labeling that just is not me. I am more suited to open-ended flurries of doing whatever seems right at the time. I might call it my "organic method" of taking root in a form and then growing it as nature seems to provide.

This is not to say that I condemn or even cast a glance of jaundice at the method. It just means, if the suit fits comfortably, where it to work. If you are more comfortable in a T-shirt and jeans, it might not suit you to a T--(or any other glyph. ;-)

Richard Fink's picture
Offline
Joined: 25 May 2009 - 10:04pm
0

dezcom,

The way you see it, is the way I see it for me. Not my freewheeling style at all. I change my mind all the time and like to try things out. Keeping a chessboard in my head is not my idea of fun, either. I get it.

So, I'm not optimistic about avoiding the problem entirely.

However, I found one way to speed it up.
Let's say it's the lc 'e'.
I can select the row of usually composited glyphs like eacute, etc... the whole group.
Select Paste Special and check "Glyph As Component" and it pastes into all the selected glyphs.
A small win, I'll take it, until I figure out something more comprehensive.

Richard Fink's picture
Offline
Joined: 25 May 2009 - 10:04pm
0

Um, a little more work than I first noticed.
I have to delete the original glyph. So it's still a one by one process in that respect.
But I do end up with a composite, though. What kind of size savings that gets me, I'm also wondering.

Mark Simonson's picture
Offline
Joined: 3 Dec 2001 - 11:00am
0

Here's a tip: Before you paste all those components, clear the mask on all the target glyphs (assuming there's nothing in it you care about), then swap the outline with the mask. Now when you paste the components, you will have the original outline in the mask layer as a reference to check that the position of the component matches.

Richard Fink's picture
Offline
Joined: 25 May 2009 - 10:04pm
0

@mark

Will try. Thanks.