On 11/19/2019 10:50 AM, Krešimir Cindrić wrote:
> I'm /very/ new to ConTeXt, so please excuse the newbie question. I'm
> trying to load a font from a file. The |.otf| files are stored in a
> directory named |fonts/| which is in the directory of the |.tex| file
> I'm trying to compile.
>
> This code does not work, and reverts to the default font:
>
> |\definefontfamily[mainface][serif][My Font][tf=file:./fonts/MyFont.otf,
> it=file:./fonts/MyFont-It.otf, bf=file:./fonts/MyFont-Bd.otf,
> bi=file:./fonts/MyFont-BdIt.otf]\setupbodyfont[mainface]\starttext\title{Hello,
> world!}Hello World! \emph{Hi!}\stoptext|
>
> However, if I copy the |.otf| files into the same directory as the
> |.tex| file, and write |tf=file:MyFont.otf| etc, then everything works
> fine.
>
> How do I specify a relative path to the font, inside the |.tex| file?
>
> In LaTeX, I would use |fontspec| package and do the following:
>
> |\setmainfont{MyFont.otf}[Path =./fonts/, ItalicFont =MyFont-It.otf]|
>
> However, I couldn't find the equivalent syntax for |\definefontfamily|
> in ConTeXt.
>
> Just to mention, I am using ConTeXt version: 2019.03.21 21:39 as part of
> TeX Live, on Manjaro Linux.
It is normally a bad idea to have fonts in such a place. You never know
how it will clash with other fonts (versions, similar names, etc).
In context, we have
tex/texmf-fonts
so best is to use:
tex/texmf-fonts/data/MyFont-It.otf
etc, them run mtxrun --generate and let the system sort it out.
Another option is to set the RUNTIMEFONTS environment variable.
Like:
\starttext
% \ctxlua{fonts.names.addruntimepath("./myfonts")}
\ctxlua{os.setenv("RUNTIMEFONTS","./myfonts")}
Hello World!
\definefont[myfont][file:myfont.otf]
{\myfont Hello World!}
\stoptext
But .. you need tio wipe such a font from the cache when you move it and
other projects using a different font with the same name can be in
trobles. Fonts are best managed very careful as they are responsible for
long term inconsistencies.
There is no official interface from tex this (maybe WS has a suggestion
that fits into the definefontfamily subsystem)
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------