I checked “Subtract soldermask from silkscreen” option and plots gerber files, and I noticed there are many strange texts in B_SilkS.gbr, like “D16” “D12” “D13”. But actual B.Silk in Pcbnew is perfectly blank.
What is this behavior? or bug?
On a PCB you can accidentally (or on purpose) place the text on SilkScreen that the text overlaps the pads. Some manufacturers assume you want the pads to be blank, which makes sense because you can’t solder to paint. Other manufacturers do not do this, and this can result in having to scrape the text off the pads to be able to solder to them.
If you subtract the solder mask from Silkscreen, then it is supposed to clip the text, so items on SilkScreen are never printed on the pads.
I have not experimented much with this myself, but now you know what it is, it should be easy to make an example for this.
The “Dnn” texts in Gerbview are the “D-codes” which are used to flash the items. This is just info for the user and are not visible on the PCB itself. Apart from that the viewing area is empty, so I can not guess what your Gerber files look like. In Gerbview / View / Show DCodes you can turn this on/off, and also toggle viewability of other items.
Also:
In KiCad-nightly V5.99 there are many improvements in the DRC and “Silkscreen clipped by solder mask” is one of the settings (Can be set to “Error”, “Warning”, “Ignore”.)