[Tex/LaTex] How to install “TeX Gyre Schola” font for MiKTeX

fontsinstallingmiktexpackages

I've followed the guide:
http://www.tug.org/fonts/fontinstall.html

and downloaded the font files from:
http://www.ctan.org/tex-archive/fonts/tex-gyre/

Now there are 72 .map files under the map folder of tex-gyre folder.

What is the correct .map file should I use for Map newfont.map


Second question is:
For some fonts, there is only one .map file, so I didn't have problem to run initexmf command. But after follow all the steps in tug's guide, it still does not work properly. Is there anything besides the guide? (All font files I downloaded contains "tex" and "fonts" two folders, I just put it in a single folder and renamed it after the font's name. Then update the MiKTeX follows the guide. (Anything wrong so far?)

The font installation really drives me crazy…

Best Answer

Let's see a simpler example than the TeX Gyre set of fonts and consider OpenSans, assuming it's not delivered as part of the TeX distribution.

The directory on CTAN form a rather complex subtree:

opensans/
  doc/
  fonts/
  source/
  tex/

Each one of the four subdirectories denotes a part of the TeX tree where we need to install the files; on TeX Live it would be

/usr/local/texlive/texmf-local

and the structure should be created if still not existent. So, for example, at the end we'll have

/usr/
  local/
    texlive/
      texmf-local/
        doc/
          fonts/
            opensans/
              CHANGES
              README
              opensans-samples.pdf
              opensans-samples.tex
              opensans.pdf
              opensans.tex

        fonts/
          ...

After having populated the directories one has to teach TeX Live about the new font:

sudo mktexlsr
sudo updmap-sys --enable-map opensans.map

The second operation may be better performed, on TeX Live 2012 (or later) by editing the file

/usr/local/texlive/texmf-local/web2c/updmap.cfg

(creating it if non existent) adding the line

Map opensans.map

and running

sudo updmap-sys

afterwards.

Similar operations should be made on MiKTeX (Update File Name Database for the first and something based on initexmf from a command shell for the second). The biggest complication with MiKTeX is that it doesn't have a "local" TeX tree by default, but it should not be so complex to define one.

Why using the "local" tree? Because it doesn't strictly belong to the TeX distribution, so it won't be touched by later updates to the distribution.

For the TeX Gyre fonts the situation is similar, but with the complication that there is no "global" map file, so one should perform all the above steps and add to the "local" updmap.cfg the lines

Map qag.map
Map qbk.map
Map qcr.map
Map qcs.map
Map qhv.map
Map qpl.map
Map qtm.map
Map qzc.map

Comments

Manually installing fonts can be a pain in the neck. Much better to stick with the TeX distribution package manager (tlmgr for TeX Live or MiKTeX's) if the fonts are included in the distribution.

In any case I recommend using the "local" tree, whenever possible: installing fonts in a "personal tree" (under ~/texmf/ on Unix systems with TeX Live or ~/Library/texmf with MacTeX or something else with MiKTeX) requires all the steps above in the correct tree and to run updmap instead of updmap-sys, with the problem that font related updates to the main tree will not be reflected in the personal map files, so that updmap has to be run manually in those cases.

Related Question