[Tex/LaTex] load custom font in miktex 2.9

fontsmiktexpdftex

I have got a custom font from a professor which contains a character I need.
I got the following files: crystp.pfb, crystp.afm and crystp.tmf.

I also got the following instructions on how to install this font.

  1. copy the .tfm file into $miktexroot\fonts\ftm\public\cryst1
  2. copy the .afm file into $miktexroot\fonts\afm\public\cryst1
  3. copy the .pfb file into $miktexroot\fonts\type1\public\cryst1
  4. Append "p +cryst1.map" to $miktex\dvips\config\config.ps
  5. Create file cryst1.map in $miktexroot\dvips\cryst1 and append the line "cryst cryst1
  6. execute initexmf -u
  7. in the tex file I use:

    \DeclareFontFamily{U}{cry}{\hyphenchar\font=-1}
    \DeclareFontShape{U}{cry}{m}{n}{ <-> cryst}{}
    \newcommand{\cry}1{{\usefont{U}{cry}{m}{n} \symbol{#1}}}
  8. to use the character I use \cry{167}
  9. to create the pdf file I run pdflatex test.tex

Alas, this does not work. The character is not printed. The log file tells me that this character is missing:

Missing character: There is no § in font cryst!

I used the program fontforge to take a look into the .pfb file and there I can see that my character is at the § place.

Unfortunately the professor is retired and does not work anymore. He also used this font years ago and only installed it. So he already told me, that he can not help me at all. I know that there already is a font called cryst, but it does not contain my character.

What am I missing?

@Update: The files

Best Answer

The map-file is not in the files you uploaded. But here an installation /use instruction without it:

  1. undo what you have done
  2. If you haven't a localtexmf-tree yet then create one: Create a folder (outside miktex) called e.g. localtexmf
  3. Put the tfm in localtexmf/fonts/tfm/crystp
  4. Put the pfb in localtexmf/fonts/type1/crystp
  5. Attach these localtexmf as new root in miktex settings or if you used an existing localtexmf update its FNDB with initexmf -u

Then run this document with pdflatex (it won't work with latex + dvips):

\documentclass{article}
\usepackage{fonttable}
\pdfmapline{=crystp crystp <crystp.pfb}
\DeclareFontFamily{U}{cry}{\hyphenchar\font=-1}
\DeclareFontShape{U}{cry}{m}{n}{ <-> crystp}{}
\newcommand{\cry}[1]{{\usefont{U}{cry}{m}{n} \symbol{#1}}}
\begin{document}
\cry{167}
\xfonttable{U}{cry}{m}{n}

\end{document}

It should give a document with p and a fonttable.

enter image description here

You can later move the map-file line crystp crystp <crystp.pfb to a map crystp.map and add this map with initexmf --edit-config-file updmap to updmap.cfg and then run updmap.

Related Question