Feedback & Issues with MainType

Hi,

I “recently” got MainType and after my initial cataloging, tagging etc I have a bunch of questions, issues and feature requests. I’ll put it all into this post since they are partly depended – I hope this is ok.

First off, let me explain what I did because I think it impacts/explains some of my points later on.

I’m on a decent PC (Windows 11, 128 Gb RAM, 12th Gen Intel(R) Core™ i7-12700K 3.60 GHz and Nvidia GeForce RTX 3070; MainType as well as the vault and cache are on a fast SSD which has only Windows & my programs not my data files) and had approx. 12000 fonts installed. Yes, I know, that’s way to many installed fonts which is why I finally gave in and decided to get a management tool and “clean up”. After installing MainType (version 12 Professional then), it had all those fonts in the library already since they were all active on my system.

Then I went to work and started going through them and tagging them, adding them to various virtual groups and uninstalling most (but keeping them in the library obviously). That process took a few months in the end.

What I also did along the way, was ~fixing~ a lot of fonts. It always annoyed me to no end, that many fonts did not install as proper font family but as individual fonts. I also had a bunch of fonts which had installation or other issues… Determined to get it all perfect, I also got TransType 4 and the home edition of FontCreator 15. I’m not a font creator but I learned a few things, esp about proper naming to fix my existing fonts too. So a good share of the fonts had to be uninstalled and then a new, fixed version reinstalled; because I had a learning curve, sometimes that uninstalling and installing of a new version happened a few times until it was right. However, once I had a proper version, I’ve also removed the old version(s) from the library/vault. Ie. now, I only have a single version of each font installed and/or in the library/vault.

Here are my issues/questions/requests:

1) Performance of the vault

When I first installed it, the library loaded waaaay faster. It was ok back then but now after I tagged everything and installed/uninstalled/removed from vault repeatedly loading of my library takes 3:45 to 4:01 minutes (I’ve stopped it a few times). That’s just too long. I’ve then upgraded to version 13 (which came out while I was doing my initial tagging etc so I waited with the install until I was finished). But that didn’t help either. Esp since I have to re-load the library every time after I use a group or a search again, ie it’s not just when I start the program. Search also takes too long now (after the first from a fully loaded library).

I’ve seen other posts about uninstalling and reinstalling but does that mean, I can still import a backup afterwards? Because it’s not workable for me to have to collect all my fonts from many different places (I don’t have them in a neat directory I could upload) and also re-doing assignments of my virtual groups even if I can import tags. That would be basically doing the entire process all over again.

That so far is my biggest problem. Because as great it was at first and I like the functionality overall, the performance regression of the database/vault is a big hindrance now. A tool or feature for reindexing or cleaning up of the database is badly needed imo. Installing/Uninstalling of fonts in the library still goes fast but adding/removing fonts from the library/vault is equally slow.

2) Usability issue with groups

This is related to the above in a way that it’s incredibly time consuming. As I mentioned, I use also vitual groups. Adding fonts to them is easy but changing or removing from from groups requires loading them (afaik) which is really a bummer. Sometimes I change my mind or dropped a font into the wrong group and just to remove it, I have to load that group, remove the font from it and then load eg the library again. Esp in light of my #1 issue, this simple task can take minutes. As another usage example, once I use a font in certain templates, as part of my process I “have to” move the font from 2 or 3 virtual groups to 2 or 3 other virtual groups… because of all the loading required, it can take literal 5-10 minutes for that simple thing.

A mechanism, similar to tags, where you can eg right click and see which group a font belongs to and then change/deactivate from the font without having to load a group first would be a massive improvement.

3) Freezing of the main font panel when scrolling past certain fonts

After some investigation/testing I found the cause and a workaround for it but I think it’s a bug.

When I initially tried to scroll through my font list (with previews on), at certain points the entire program froze. And not just stutter a bit but “hey, how about you go and have a nice cup of coffee while I try to scroll by this font” freeze.

Turns out this happens with bigger/complex fonts with TrueType outlines. The fix is to convert the fonts to OTF PostScript outlines and then it’s no issue at all, although the fonts are still big. While it was not the font which caused the biggest issues for me, try downloading the Rubik headline fonts from Google (https://fonts.google.com/?query=rubik). Can’t remember which one was the best example but they should at least show the effect. Install them and try to scroll by in case you’re looking for a font to reproduce it. Then convert them and you should see the issue being gone.

4) Preview of SVG/Color fonts

I’m not very family with SVG fonts but I know that across all my SVG fonts, I have some fonts displaying in black in the preview, color in the sample panel and black in the glyps panel to nothing (literally empty) in the preview, sample & glyphs panel and all kinds of variations in between.

I can live with not having them displayed in color in MainType but I do like to see ~something~.

Question (which is partly a FontCreator question I guess but it’s about MainType in the end): how do I need to save/export an SVG font in FontCreator/in general so it will show a preview in the various panels like many but not all of my SVG fonts do?

5) Display of certain variable fonts in the preview

I noticed that some variable fonts have a totally messed up preview, mostly the letters overlap each other and make it impossible to see anything than a black blob. Sample & glyphs panel are fine. It happens only to a small percentage of my variable fonts so it’s not the biggest issue but it would be still better to have a proper display of them. One of the font this happens to is eg Scale VF from PS Type (you could install the font from Adobe Fonts locally to see the effect).

6) Installation of some variable fonts trigger registry issues

Some variable fonts (like PT Sans from Google) trigger registration issues in MainType although they install and work just fine. If you fix the issue in MainType, the font gets uninstalled (which is obviously not a desired result in this case)

7) Minor cosmetic bug: the groups stop updating the the information panel

As I said above, I frequently use virtual groups; I also have the information panel open in my MainType layout. I noticed that for a while after opening MainType, the groups in the category section get updated when I add a font to one of the groups (good!) but after a while this just stops. To see which groups a font belongs to, I have to click away of the font onto a different font and then click on the font in question again to see all the groups it belongs to.

8) My personal #1 feature request: highlight relevant glyphs in the character panel when activating the OpenType feature in the sample panel

Let me explain: I use fonts a lot to create interesting headlines and simple word logos, so I’m heavily interested esp in the stylistic alternates and ligatures of a font. I’ve also realized during the last few months that many fonts designers are (let’s be nice and say) messy. Meaning, the character panel of many (most?) fonts is not very organized or consistent. This makes spotting the various OpenType features very difficult. When I click on an OpenType feature in the sample panel (these options are great btw) I can see some of it applied to the sample text but usually it only covers some of it or might not even be visible (because eg the sample text does not include a ligature combo). Or, there are multiple alternatives for a single character and not ideally coded with multiple style sets.

So, to me, it would be my favorite feature enhancement if the glyphs affected by an OpenType feature, would be highlighted by a blue background or something when clicked on in the sample panel. So I can see eg all discretionary ligatures at once in the glyphs panel and not just the ones which happen to be covered by the sample text. Basically I want to see all the stylistic alternates and ligatures highlighted so I can seem them easily, no matter where the designer decided to position them.

Would it be possible to add something like this in a future version? That would be a major improvement imo.

9) Enable collapsing sections in the character panel when in character mode

Along the lines of #8, it would also be nice if you could collapse certain sections when you look at the panel in character mode. Obviously all the different language sections are important but I would assume that most people focused only on certain parts. So it would be nice to hide some extended language sections. This isn’t critical but would be nice to have.

10) Multiple Column Display of Tags

I don’t know about other users but my list of tags is long so when I tag fonts, I always have to do lots of scrolling. Would be way more efficient for me if I could see more tags at once in the tags panel, eg through multiple columns. I would be a very welcome enhancement.

11) Search/filter font families with x+ fonts

It’s a question but I suspect it might not be possible yet. How can I search for fonts which have a minimum (or maximum) number of fonts in the family? I often want to search for fonts with 4+ styles but I couldn’t figure out how so far.

I’m sure I’ll have more questions in the future and sorry for the novel but I hope it’s a bit helpful too.

Thanks in advance for any help or feedback.
Claudia

Hi Claudia,

Thank you for the detailed post, and apologies for the delayed reply. I’ll keep this concise and walk through each point.

1 Vault / database performance

I don’t know why MainType has become so slow as we have made sure to put all required indexes to all vital fields in the database. When you switch from Active Fonts to Library it should show the new list of fonts in a matters of seconds. Is this what you mean by “loading of my library takes 3:45 to 4:01 minutes”?

A simple reboot sometimes helps as then the database tables will be optimized.

If not, then maybe the database file is fragmented, so try this:

  1. Close MainType.
  2. Run FmsConfig.
  3. Stop the FontService.
  4. In C:\ProgramData\High-Logic FontService\data back up fonts.db3.
  5. Rename the original file to fonts.org.db3 and the copy back to fonts.db3.
  6. Start the FontService again and reopen MainType.

We’re testing an automatic way of doing this right now, so we look forward to your findings.


2 Adding/removing fonts from groups

You do not have to load fonts in order to delete them from groups. Just select the fonts in the virtual group and press Delete.


3 Freeze when scrolling past very large TTFs

Confirmed. Rendering heavy TrueType outlines through GDI can stall. We want to rewrite that specific part of the software to make it use a DirectWrite-only path, but unfortunately that is not possible right now.


4 Color/SVG preview quirks

MainType shows COLR v0/SVG in the Preview panel and monochrome in others. If a font shows nothing, please send it to us for testing.


5 Variable-font overlap

Might be a font issue or a bug on our side—feel free to send a sample VF.


6 “Registry errors” with PT Sans VF

Static and variable versions of the same family can’t be installed at the same time. If that’s not your case, send the fonts and we’ll investigate.


7 Info panel stops updating groups

We haven’t reproduced this yet, but we are currently working on a bug fix that might also affect this part of MainType. If it persists after the next update, let us know.


8-10 Feature requests

  • Highlight glyphs for active OT feature – * well, since features and lookups can be contextual, it is next to impossible to accomplish this. We could try something, but it would take a lot of time and effort, while we already know it will never fully work. So unless other people also request such enhancement, we rather focus on other improvements.
  • Collapse sections in Character view – We are currently switching to a new component here due to a bug fix we are working on right now. The downside is, it will affect the way the character view displays and behaves. Hopefully we are able to add the feature you want in the near future.
  • Multi-column tag list – Sounds good, so we put it on the wishlist, though it needs different UI components.

11 Filter families with ≥ N styles

Not available yet; a “FamilyCount ≥ N” filter has been added to our roadmap.

Let me know how the database refresh goes, and feel free to send any sample fonts our way.

We have released an unofficial update that should solve the instability issues you mentioned:

https://www.high-logic.com/tmp/maintype/MainTypeSetup13.0.0.1363-x64.exe

Let us know your results!

Hi Erwin,

thanks for your reply. And I’m sorry for my late answer. I was away with no access to the computer I have it installed on.

1) Vault / database performance

I followed your instructions but unfortunately it didn’t make a difference in performance. It’s still as slow as before. Idk if it matters but I noticed that the fonts.db3 file got a bit smaller when I restarted MainType: from 30.026 KB to 29.897 Kb. But otherwise everything is the same (my latest loading time of the full library was slightly above 4 minutes.

“loading of my library takes 3:45 to 4:01 minutes” - I did several tests and meant that the fastest was 3:45 minutes and the slowest 4:01 minutes. The others were in between. I’ve added like 250 fonts since then and now load time for the library is usually slightly above 4 minutes.

I’ve installed your unofficial update now as well but unfortunately, the load times of the library are still above 4 minutes

2) Adding/removing fonts from groups

Sorry, I wasn’t clear in my comment. The fact that you have to load the group in order to delete any font from them is the “issue.” I didn’t mean to imply that you have to load the font into Windows (ie a temporary install). Because I have to load a group (which might take around a minute or two), then I delete the font from the group (that bit is fast) but then I have to load a different group and repeat this (if I want to change two groups) and then I have to reload the library which takes about 4 minutes.

Due to the necessary loading of the groups it takes so long. Which is the reason why I would prefer something like a right click where I can change the membership of virtual groups without loading them (similar to tags).

4) Color/SVG preview quirks

I’ve sent you 3 fonts examples who show this behavior via DM.

5) Variable-font overlap

I’ve sent you 2 sample fonts also via DM

6) “Registry errors” with PT Sans VF

Sorry, I mixed up the fonts. The font in question is DM Sans from Google. You can download it here yourself: https://fonts.google.com/specimen/DM+Sans?query=dm+sans

The issue is with the variable version of it. I had a similar issue with 2 other fonts but I don’t remember which ones as I installed the static versions to “fix” the problem. But DM Sans should trigger it. The issue with this specific font is that it has some weird 9pt instance which is yellow and I suspect is the reason which triggers the registry issue.

7) Info panel stops updating groups

I’ll watch out for it and see if it’s still an issue.

8+9) Feature requests

Another solution for my request to highlight active OT features could be to show stylistic alternates and ligatures in the character mode of the character panel at the end.

What I would love to have is a way to see all those alternates and ligatures like eg in InDesign, where I can select the option “See all alternates” in the glyph panel. As of right now, many fonts don’t show those glyphs in the character view of the character panel at all because the font designer wasn’t coding them properly. (Some of course do but I noticed many, many designers don’t). So I have to use the glyph view of the character panel and they are often spread over the entire panel and very hard to “see” among all the glyphs.

So to me, a perfect alternative solution would be to simply have a section at the end of the character view in the character panel (after private use area) which shows all glyphs which are included in the font but not included in the other categories. Something like “Remaining glyphs” or “Uncategorized glyphs”.

Does this make sense or should I elaborate more?

Thanks,
Claudia

Hi Claudia,

Thanks again for the detailed feedback and for testing things on your end.

  • 1. Vault / database performance
    I currently have a font library of 161,261 fonts, and MainType still loads the full library within four seconds and other groups with up to 30,000 fonts in under a second. I’ll do some testing with a large number of tagged fonts to see if that influences performance.
  • 4. Color/SVG font preview
    Thanks for the font samples. These fonts contain large embedded PNG images, which are quite heavy to render. Our software is primarily optimized for vector-based fonts, but we’ll look into improving support for such bitmap-heavy SVG fonts in the future.
  • 5. Variable font overlap
    This is unfortunately due to a rendering issue in the Windows GDI/DirectWrite API, so it’s beyond our control at the moment. Even the font selector (drop down) in Word is affected by this flaw in Windows. We plan to move more rendering over to DirectX, which may eventually allow us to resolve this.
  • 6. DM Sans registry issue
    Thank you for pointing us to that font. It looks like MainType includes the default instance of the variable font, even though it shouldn’t. This instance is incorrectly named and not intended to be exposed, so it should be ignored. We’ll look into fixing this behavior on our side.
  • 8+9. Glyph visibility for OpenType features
    Yes, your request makes perfect sense. Unfortunately, due to how character-to-glyph mappings are handled and the complexity of contextual lookups, it’s currently not feasible to highlight or neatly group all alternates and ligatures. That said, we do plan to improve the grid and character panel layout in future versions, and your suggestions will definitely help shape that.

Best regards,
Erwin

I can now confirm that MainType currently slows down significantly when a large font library is combined with extensive font tagging. We’re working on an update that will greatly improve performance, and it should be available soon.

1 Like

Hi Erwin,

thanks for your reply. This is fantastic to hear.

I currently have 14,297 fonts in my library and they are almost all tagged (the ones which aren’t yet, are in a special group “to be tagged”). If I had to guess, my tagged fonts have on average perhaps 15-20 tags and are part of about 3 virtual groups on average.

If groups/the vault would load as fast as for you, the “having to load a group to remove a font” wouldn’t be that much an issue either. It just adds up in my case.

I’m looking forward to the update. And thanks again for your help.

Best regards,
Claudia

Here is the update:

https://www.high-logic.com/tmp/maintype/MainTypeSetup13.0.0.1365-x64.exe

Let us know your results!

Hi Erwin,

HOLY S****!!!

In the best way possible. It’s super fast now. My library now loads in under one second. One click and it’s there. From 4+ minutes to less than 1 second. A miracle!

Thank you so much. :smiling_face_with_three_hearts:

Best regards,
Claudia

Hi Claudia,

That’s wonderful to hear—I’m really glad the update made such a huge difference!

Thank you again for taking the time to clearly explain the issues you were facing. Your detailed feedback helped us pinpoint the problem and improve the software for everyone.

Best regards,

Erwin

1 Like