Page MenuHome

Remove Font Family Feature (or improve it)
Closed, ResolvedPublic

Description

3D Text has a font family feature which has existed since blender was open sourced.

I think this is a fairly obscure feature, to figure how to use It I ended up having to check the source code, I'll attach an example file.

While checking the code I noticed some limitations which IMHO should be fixed, unless the feature gets removed.

Limitations:

  • No unicode support (only ascii characters).
  • Max name length was never updated (still 23 chars).
  • Tooltip is wrong (suggests 'family_a' whereas 'familya' is needed).
  • Recursive dupli's dont work.
  • Character rotation isnt supported.
  • Object rotation is ignored (maybe this is best? - but this isn't how dupli-verts work elsewhere).

Details

Type
Design

Event Timeline

Font family feature is used a fair bit, (I recently saw someone post videos on using it).

So this should really be fix it and don't remove it :)

Campell,
Even with the limitation of ASCII only, this is a great feature! The ASCII only is not a big problem when working with small character sets because the whole point of the feature is to substitute an object for a character. Not only is this feature good for typography but also for design to easily create and edit patterns of objects in Blender. Coincidentally, I released a video yesterday showing the object font feature:
http://www.youtube.com/watch?v=ZmOHNUr7FBc
Regards,
John R. Nyquist

In my opinion this should not be a core Blender feature. If someone wants to make an addon for that kind of thing I can see it, but this is probably some hack that was needed for a particular project and that was never removed.

I can see the tutorial but no evidence that someone used this in an actual project?

The tutorial example was not intended to as an argument for or against it being a core feature or an addon. Campbell said in his note that he had to refer to source to figure out its functionality, I happened to have released the video yesterday demonstrating its usage (we recorded it last week, totally coincidental that Campbell posted this yesterday unless he was looking into it because someone saw my video and had questions), I thought that might be helpful for him to see it.

Blender has many obscure features, but lack of visibility does not mean it is not a useful feature. Graphic designers and illustrators often use patterns as well as custom fonts when doing design, that's why I thought this would be a good topic for a tutorial. Blender's feature makes creating a font or pattern amazingly easy! The beginning of the tutorial shows the word "blender" with custom characters, while that could be made many different ways, it was very easy (and cool) to do using the object font feature in conjunction with the typographic tools. I've used Photoshop and Adobe Illustrator since version 1.0 and you can't do anything like this so easily. Ton has often said that Blender is made for artists, typography tools are very useful to commercial artists. You might want to put a call out to the community before you axe a useful feature reducing Blender's functionality that it's had for years. You may then get the evidence you desire or perhaps it'll inspire the creation of some! :-)

Every feature is useful in some scenario for some artists, but we also shouldn't allow any feature because it is useful in some rare scenario. There's also a cost in code and UI bloat and maintenance.

I think that if you actually tried to use this for typography, you would find out that the lack of control over kerning is going to make the result look bad, and that you would end up using linked objects to get it right anyway.

I agree, nobody wants bloat, I was not making an argument for a core feature. It'd be fine if it was migrated to an addon. I'm not sure what's involved with that.

Regarding typography, Blender's type controls are problem when it comes to kerning of any fonts, not just object fonts.

I would echo what Mr Nyquist said, if you are planning to more it from internal code to a Blender Addon that would be awesome.

I was suggesting to simply remove the functionality, if someone wants to create an addon that's fine, but for me it's not a requirement before removing this.

Regarding the kerning thing, yes the kerning for the text object itself is bad, but solving that would not solve the problem that you would get poor kerning with the custom characters that you design. In fact it would likely make it worse, it's no so much a kerning problem, the characters can also overlap. They are placed based on the character width of the font used in the text object, not the new ones. The only way to solve that is to make the system considerably more complicated, and that seems like a bad idea.

Anyway, we can get more feedback on who uses this feature, but so far I'm not convinced that it's useful in practice.

I'm not sure why one would remove a longstanding useful feature without replacing it, is it the underlying code problematic, preventing Blender to grow in a particular area?

Regarding the kerning, it depends on whether you are talking about kerning tables or individual manual kerning. Designers are usually taught the 80/20 rule with type, spending 80 percent of their time on 20 percent of the type, which translates to spending time manual kerning headlines (for example). Most of the illustrative/design work that I've done over the years involved manual kerning. But Blender does not give you that option, I end up having to break up the text object eventually in order to kern, that's what I was referring to.

Removing this is fine I think.

This is an example of a specialized tool that is perfect for an addon, but should not litter the core Blender feature set. Better to spend resources elsewhere.

Regarding this feature being made to this being an addon, to do this we would need to extend the API to provide access to each characters location.

Basically you wouldn't easily make an addon for this right now.
If the functionality is useful, it doesn't hurt so much to keep it, and even adding unicode support isn't a big deal.

I was just under the impression nobody used. especially after noticing limitations & incorrect tip.

@John Nyquist (nyquist) - a real coincidence you made a video about this just recently :)

That sounds great Campbell! The functionality is useful and it appears all agree that it would be logical to migrate to an addon at some point. It makes sense to keep the functionality in Blender until the APIs are extended to provide a way to allow the creation of an addon.

Adding character location to the APIs may open up the possibility of improving other typographic functionality (like adding kerning) in addons.

Yes, it was a pretty cool coincidence the timing! Perhaps we could collaborate on the addon when the time comes.

Merry Christmas all!

I think kerning works fine, you place cursor between characters and use Alt + Left / Right arrows... like in PS
but being able to animate characters using python would be a VERY nice feature to have

Cool! I didn't know that @lower case (lowercase) (or I forgot since it appears to be there in 2.49b as well), is there a place in the UI where you could see the amount of kerning? I'm sorry, we're deviating from the topic a little. Feel free to email me if you want to take it offline: blender@nyquist.net

Brecht Van Lommel (brecht) triaged this task as Normal priority.Dec 31 2013, 2:24 AM

I would still remove this if it was my call, but if Campbell likes to keep it that's fine with me.

I vote keep it. I work a lot with fonts and text and have spoken with others from time to time that do also. I have an interest in eventually coding in 3D text/font area and already have some notes on improvements to things like kerning and leading. I will make note of this issue also. I am also in contact with Elubie on my font preview project and some font family grouping for the File/Asset Browser. It is closer to the bottom of my list than the top but on my list none the less. ; )

Campbell Barton (campbellbarton) closed this task as Resolved.EditedJan 6 2014, 4:58 AM

Talked with Ton about this and he prefers to leave it in for now.
So I went ahead and made some fixes to the obvious problems.

  • Increase family name length since objects named are longer then they were before.
  • Unicode support.
  • Rotation for text on path (not a bug, but good to support).
  • Corrected tooltip.

The way it places objects at the bottom left of the character is still odd IMHO.

closing task.