Keep text thickness from being clamped?


How do I keep Pcbnew from clamping my text thickness?

I’m trying to add small text on the silkscreen layer, but if I set the width or height too small I get a warning box saying the text thickness will be clamped. This puts the thickness to a value lower than my boardhouse will accept.

I understand there are legibility issues by having the text too thick for the size, but is there any way to prevent this, or set a minimum text thickness?

Thanks for any help.



From my observations, KiCAD clamps the thickness to a reasonable value based on the character size (width and height). In all likelihood, your board fabricator follows similar guidelines. For example, I believe the board house my employer uses requires silkscreen characters to be at least 40 mil (1mm) high, 30 mil (0.7mm) wide and 5 mil (0.13mm) thick. PCBNew accepts these values.



Maybe the limit is in Dimensions->Texts and Drawings?


There might even be some hard limit there that is determined by the font used. (It would help if @EvilDemonic would state what the desired settings are.)


Thanks, Dale. Like I said, I realize there are legibility issues, but I need the text a little shorter without getting thinner. My boardhouse does not care about the height or width, just the stroke size (what KiCad calls ‘text thickness’).

I’m migrating from FreePCB, where I can control the minimum silkscreen thickness. I am familiar with how my text will turn out from my boardhouse using my sizing, I just need a way to control it. I would like to either set a minimum stroke width (text thickness) OR turn off the feature that is clamping the text thickness based on width and height.

Thank you for your reply.


Thanks bobc. I can change the values there, but if KiCad doesn’t like how short I’ve made the text, it clamps the text thickness…making it too thin. I’m trying to turn that off, or ideally, set a minimum thickness.


Thanks Rene. I’m using the default font, and currently I don’t know how to change that. I like the default font, so that isn’t a big issue.

I’m trying to fit text between the pads on 0805 SMDs. I normally use 0.5mm x 0.5mm with a thickness of 0.13. KiCad clamps this to 0.125, which is a hair too small.

I completely understand why they do this, however, I am confident these values work for me and my boardhouse, as I’ve been using this sizing for years using FreePCB.

In my previous program I could set a minimum stroke width that would take effect when plotting out the gerber files. This would be ideal.

Thanks for your help.


Ok, that setting sets a default thickness, but what you actually want to do is increase the maximum thickness. The minimum thickness is 0.000001 mm.

Unfortunately, it’s hardcoded to 1/4 of the smallest dimension. drawtxt.cpp#L67


Thanks again bobc, that is very helpful. It is starting to look like the only way to get what I want then is a custom compile…

Is there any chance the scripting interface can affect this? I’m comfortable with Python.

Your help is much appreciated.