If I copy one glyph, and I select many glyphs because want to fill up many glyphs with the copied glyph, it only replaces the first, would be good to be able to do this.
That would be unlike expected paste behavior from any other app. Why not just hit Cmd-V,Cmd-V,Cmd-V,Cmd-V,Cmd-V,Cmd-V,Cmd-V?
EDIT: Sorry, I was thinking you meant in edit view, but I guess you’re talking about the font window, where I can see how that would be more useful.
I think this is potentially too dangerous, and too rare a use case. In other words, that is the task of a script.
This is a feature in Fontlab, which i recommened NOT adopting at all in Glyphs. What happens with multiple copied glyphs could result in incompatible paste special in a cases such as:
- Number of copied glyphs is not equal with the number of pasted into.
- The order of copied glyphs in the source is different than the order in the destination file.
Back to oneweioranother issue of filling up several glyphs with a certain content of a selected single glyph; this case sounds more appropriate to using component, brcause any change you wish to make in the original glyph you do not want to keep pasting special every-time,
So my suggestion to the Glyphs developing Staff is to add a new feature in the list of “Paste Special” In terms of {Paste Component to Selected Glyphs} which fills several chosen glyphs with desired component at once.
This is possible already.
Example: you want x as a component in a, b, c, d, e. Press Cmd-Shift-G, then type: x=a x=b x=c x=d x=e
, then press the Generate button.
I never suggested a many to many copy paste where the number of glyphs in the source and target are different, that doesn’t make much sense to me. There already is a paste special that lets you copy multiple glyphs in a safe way.
It’s because I can’t use a component that I want to copy-paste, i.e. diacritic glyphs in a display face where I don’t just add a component for the diacritics but must change the outlines. My situation is where I’ve changed the base glyph and want to copy the glyph into the rest of diacritic glyphs as a base to start with. I’ll try make a script.
This works for un-existing glyphs, when the source is an existing Glyph, namely you cannot impose a selected glyph to be implanted into a ready existing glyph.
Hence my suggestion was to enable importing a selected component glyph into several chosen glyphs (active layer) in one click.
Yes you can? “Paste Special” does that
That was a reply for Mekkablue resolution
@Avantino So basically, what you want is Glyph > Add Component for a multiple glyph selection?
If it is possible, yes!
I want to use one of the existing options of Paste Special, the way we did in FontLab: I want to copy the metrics (just the width), from one glyph (A), and then paste that width to a range of accented A glyphs. I don’t want to turn on automatic alignment because it wrecks the metrics of the composites in question completely; it sometimes adds the widths of both components or puts the accent first. I DO REALIZE that the composites can be set up to get correct behavior from auto align, but in this case, I am working with legacy data that I didn’t set up. I have a deadline, and I don’t want to spend the time re-building a couple hundred composites (in 3 masters) just so that auto-align will work on them. In this case, with legacy data, I simply want to correct the widths of the range of composites without making any other changes (accidentally or on purpose). I suspect there are scripts that do this?..
Would it help to type “A” in the width field of the accented A’s ? Metrics keys also work for the width. Even if you don’t add a lsb/rsb key.
For the manual version, you can do what @Fonthausen suggested.
Then, you can change a bunch of glyphs at once.
In the Font view, select the glyphs whose width you want to change, e.g., Aacute, Agrave, etc. Once they are all selected, go to the lower left info box, click on the width where it likely displays “Multiple Values”. The width value is centered underneath the “H” icon (and above “left kerning group”). Then, enter A in that field.