Brick Swapping Issue

by Rob Meek (meek)

Download disabled

The designer of this FontStruction has chosen not to make it available for download from this website by choosing an “All Rights Reserved" license.

Please respect their decision and desist from requesting license changes in the comments.

If you would like to use the FontStruction for a specific project, you may be able to contact the designer directly about obtaining a license.

If you have any insights regarding the brick swapping issues, please share them here.

Info: Created on Fri, 28th August . Last edited on Fri, 28th August.
License Creative Commons
  • -
  • -
Fave Tags:
  • -


The source of the problem seems to be related to duplicates in “My Bricks”, although duplicates should not be a problem in themselves.
It seems to be a specific kind of duplicate which causes the problems.
Several users have sent me examples of corrupted FontStructions where the problem has arisen, but what I really need is a clue to how exactly you create these corrupted FontStructions – what reproducable step will corrupt a FontStruction?

Comment by Rob Meek (meek) Fri, 28th August

In my experience it seems to occur when a composite brick which has been mirrored is then copied to many or several other glyphs.

Comment by George Arnold (bufb) Fri, 28th August

Thanks George, that’s great, but I still need more detail.
Making a composite, mirroring it and then copying to other glyphs does not always cause an error.
At least I haven’t been able to reproduce it yet.

Comment by Rob Meek (meek) Fri, 28th August
Comment by elmoyenique Fri, 28th August

@elmo. Yes, I am aware of this phenomenon, but it doesn’t always corrupt the FontStruction (your example FontStruction is already messed up).

I’ve been making all kinds of duplicates in my test FontStructions but I haven’t yet been able to corrupt one of my designs. I guess it’s hard (impossible) to tell the difference between a duplicate that’s ok and one that’s going to cause problems.

Thanks for uploading though!

Comment by Rob Meek (meek) Fri, 28th August

@Meek: This happened a long time ago with one of the fonts after saving, maybe it broke because I had many tabs open, and that font had a lot of composite blocks? But I'm not sure. By the way, the function described by elmo also does not work quite correctly, you cannot replace composite blocks, and if you start changing the font after saving, all old blocks will go back.

Comment by Dmitriy Sychiov (Sychoff) Sun, 30th August

Thanks @Sychoff Useful insights!

Comment by Rob Meek (meek) Sun, 30th August

It’s never happened to me, but I’d imagine that if you had one font open in multiple tabs at once, that’s bound to cause a few problems. Just an idea.

Comment by TH3_C0N-MAN Sun, 30th August

I have had this problem several times, but i have never duplicated my blocks and it also happend when there were no composites, it seems to happen after saving and reloading or spontaneously when after saving the save button turns red while you didn't do anything.

Another anoying thing is when downloading a font might still be corrupted while the fontsruction is fine, the only way to solve this in my expirence is to copy the fontstruction then see if something is wrong fix that and then download it.

It also doesn't seem to care about if you have 70 or 5 blocks altough i've never seen it happen whit just one block.

Comment by senpaifurret Mon, 31st August

@TH3 Yes that’s always a possibility. There should be a warning if you work in multiple tabs or devices now, but it still seems there is another issue.
@senpaifurret Thanks for the input!

Comment by Rob Meek (meek) Mon, 31st August

 Yesterday I had the problem again that even if I deleted bricks that were displayed incorrectly and replaced them with others, they were still displayed incorrectly. 
Once I replaced them with others; then I tried to delete them and replace them with the "right" ones; I saved everything each time and left the fontstructor to preview the font. The errors were still there. I closed the browser, reopened it, logged in again... all the same. I got the message that the server on which the page is stored is not responding... 
In the end I could only fix the error this time by "overwriting" the swapped bricks as far as possible. In the past, when this was not possible (composite) I simply started a new fontstruct.
Yesterday (as before) I tried to remove all combined bricks that I had created but not used. This way of removing bricks - in my experience - is always problematic. Some just stay there. And they usually cause the problems.

Another effect occurs when I change the order of the bricks in the palette. It can happen that the cursor arbitrarily highlights a brick in yellow and shows it, even if you change from pen to eraser, from brick to hand, to preview or even the Unicode mode. This is often the moment when the brick palette changes and some bricks are exchanged for others. 
It also happens that by using a short-cut (h/p/c/z...) to undo actions etc., restore or go back to the previous version, another glyph table opens arbitrarily. This can also cause the font structure to be modified after/while saving, logging out and logging in.

These are my observations for the moment. All this seems to be quite complex. How the duplication of some bricks comes about is still a mystery to me (12 x square bricks; 5 x triangular bricks...) If this phenomenon appears in the palette, the font in the download is mostly incorrect for use. This means that some bricks suddenly do not work anymore, are exchanged and/or twisted.

I think the more complex the structure (even if you don't use many components) the more vulnerable the code is.

??? : ))

Comment by beate Mon, 31st August

What Beate is saying has happened to me too, step by step. She has explained it very detailed and well.

Comment by elmoyenique Mon, 31st August

Thanks @Beate. Very useful.

Comment by Rob Meek (meek) Mon, 31st August

Concerning the shortcuts, that happens to me every time I use “FontStruct”. Sometimes it takes me to Arabic or Hebrew when I press: “A”, “C”, or “V” (or any of the other shortcuts). It doesn’t cause a major problem, though.

Comment by TH3_C0N-MAN Tue, 1st September

@TH3 yes I’ve noticed that too. It’s a separate issue and much easier to fix.

Comment by Rob Meek (meek) Tue, 1st September

"Yesterday (as before) I tried to remove all combined bricks that I had created but not used. This way of removing bricks - in my experience - is always problematic. Some just stay there. And they usually cause the problems."

I have a theory on this issue. Lets say you create a 2×2 custom brick. 1st row left to right: Square Circle. 2nd row left to right: Circle Square. Then you delete the circles. You are left with a custom brick that looks exactly like brick number 110 (so there was no need to create it, but this is just an example). You use this custom brick somewhere.

Then you create another 2×2 custom brick. 1st row left to right: Square, Right Half Triangle (3rd brick). 2nd row left to right: Right Half Triangle (3rd brick), Square. Then you delete the triangles. This second custom brick will look exactly like the first custom brick. Then you use it somewhere. When you go to review your work, you will not be able to tell which custom brick is custom brick 1 or 2. Unless you delete all instances used of custom brick 2, there's no way to get rid of it.

For this reason, I've always wanted fontstructor to have the ability to highlight the selected brick (if 1 is selected) in the brick pallet. Rob? Would that be possible?

"Concerning the shortcuts, that happens to me every time I use “FontStruct”. Sometimes it takes me to Arabic or Hebrew when I press: “A”, “C”, or “V” (or any of the other shortcuts)."

I think this is a matter of which element has the focus. If you switch from, say, Basic Latin to More Latin and then press A for select all, the page switching element still has the focus and it switches to Arabic page. Perhaps the focus can be manually assigned to the grid after each mouse up event or something (I don't know HTML5, so guessing).

Comment by thalamic Tue, 1st September

@thalamic. You’re correct on the focus issue.

It is possible to highlight the selected brick (I think we used to have that feature in fact).

At least to fix this bug, I’d like to optionally expose this and other information to users because without seeing a little more info, we’re all tapping in the dark. (And it is hard for anyone, including me, to identify the moment at which a FontStruction becomes “corrupt”)

I will try and get a special version of the FontStructor ready later in the week for this purpose.

Comment by Rob Meek (meek) Tue, 1st September


I haven't been fontstructing lately, but these bricks swapping problem existed like always :) What I remember, I could get rid of the problematic ones using the Shift+T command, then closing fontsruction, then opening again, checking what's been deleted and not. That Shift+T command was one way to couping with these annoying brick swaps.

Comment by architaraz Fri, 4th September

Thanks @architaraz. The Shift+T “Tidy” command is undocumented mostly because it can cause undesirable results – so I would only ever suggest trying it on a clone.

I have, by the way, identified a serious bug which certainly can cause corruption. It looks simple, so hopefully we can get a fix out for early next week.

Comment by Rob Meek (meek) Sat, 5th September

One important bug is fixed.
I think there are still more out there.
Let me know!

Comment by Rob Meek (meek) Mon, 7th September

I've just encountered this issue. I exited the fontstuction page and found that the preview looked weird, so I entered fontstruction again and found that a lot of the bricks were swapped with others. After doing some searching I found out about brick swapping and tried to swap the wrong bricks with the right ones, but only ended up creating duplicate copies of the same brick in the My Bricks window. It's still like that and I have no idea how to get rid of the duplicates.

Comment by BlockedBlock Sun, 13th September

The duplicates are ok. Duplicates appearing after brick swaps are expected – the way things work at the moment.

Comment by Rob Meek (meek) Sun, 13th September

I’m fairly confident that this issue has finally been fixed – for FontStructions created since yesterday (26.09.2020), and not for clones of affected FontStructions by the way.
Saving may be a few milliseconds slower – but much safer.

I think the “secret” shift-T function (tidy your brick palette) may be more reliable as well, but I haven’t tested that thoroughly, so always do this on a clone.

Comment by Rob Meek (meek) Sat, 26th September

Thank you very much, dear bigchief!

Comment by elmoyenique Mon, 28th September

Also of Interest


Get 10% off the world’s leading font editor for OSX.

More from the Gallery

High Sunderland A Blindsby Rob Meek (meek)
PhoneStructby Rob Meek (meek)
Modular Nouveau No.2by Rob Meek (meek)
High Sunderland A Structureby Rob Meek (meek)
fs Quartertined by thalamic
Graffikkiby geneus1
fs wizdomby ETHproductions
Antmanicby geneus1

From the Blog


Vertical Metrics, Improved Touch Support and More


Future Competition Results


Competition: Future


New Bricks: Square Connectors