Why does \mathbb{N_0} render the 0 as \nvdash?
The blackboard symbols are only supported for a subset of the available font slots. Running the MWE
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\pagestyle{empty}
\begin{document}
\[\mathbb{N_0}\]
\end{document}
through pdfLaTeX reveals the used fonts:
<.../texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/symbols/msbm7.pfb>
The font glyph table is available by testfont.tex
:
$ pdftex testfont
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdftex)
restricted \write18 enabled.
entering extended mode
(/cygdrive/c/Users/one/tl/tldevsrc/Master/texmf-dist/tex/plain/knuth-lib/testfo
nt.tex
Name of the font to test = msbm10
Now type a test command (\help for help):)
*\table\bye
[1{.../texmf-dist/fonts/map/pdftex/updmap/pdftex.map}]
<.../texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb>
<.../texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb>
Output written on testfont.pdf (1 page, 74724 bytes).
Transcript written on testfont.log.
A poor man's blackboard simulation
The engines pdfTeX or LuaTeX in PDF mode allow stroked outlines of vector fonts. Package pdfrender
provides an interface:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pdfrender}
\DeclareRobustCommand*{\pmbb}[1]{%
\textpdfrender{
TextRenderingMode=Stroke,
LineWidth=.1pt,
}{#1}%
}
\pagestyle{empty}
\begin{document}
\[\mathbb{N}_{\pmbb{0}}\]
\end{document}
Natural numbers
If the subscript 0 has the meaning to add zero to the list of natural numbers, then this is not typeset with a blackboard font, because zero is an element, not a set. The subscript is set as normal 0:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\[\mathbb{N}_0\]
\end{document}
$\mathbb{0}$
means select the character from the slot with the ascii number of 0 (which is 48) from the AMS symbol font, but that font doesn't have any digits it has assorted AMS characters and so you get the one that happens to be in the slot normally used for 0.
TeX isn't designed with a unicode mentality of consistent encodings, each font has a custom encoding.
All the original TeX and AMS fonts only have 128 characters per font, you can not get all the symbols required into a reasonable number of fonts and keep the digits and upper and lower case letters appearing in all the fonts.