Thank you for the reply.

I was aware that I can install fonts in ` tex/texmf-fonts `. However, the
idea behind my odd request was the need to have the entire project
contained in a single directory. which I can share with people and compile
on any computer with a working TeX Live, without them having to install any
fonts or dependencies.

I tried setting the RUNTIMEFONTS env variable, and it does exactly what I
want. The fact that it leaves garbage in the cache that can influence
other, unrelated projects, is a bit unsettling, I guess I'll just have to
remember to tell people to clean the cache.

Thanks again,

Krešimir

On Wed, 20 Nov 2019 at 09:49, Hans Hagen <j.ha...@xs4all.nl> wrote:

> 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
> -----------------------------------------------------------------
>
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to