ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* ConTeXt: specify a path to font in \definefontfamily
@ 2019-11-19  9:50 Krešimir Cindrić
  2019-11-20  8:28 ` Henning Hraban Ramm
  2019-11-20  8:49 ` Hans Hagen
  0 siblings, 2 replies; 5+ messages in thread
From: Krešimir Cindrić @ 2019-11-19  9:50 UTC (permalink / raw)
  To: ntg-context


[-- Attachment #1.1: Type: text/plain, Size: 1240 bytes --]

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.

Regards,

Krešimir

[-- Attachment #1.2: Type: text/html, Size: 3474 bytes --]

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ConTeXt: specify a path to font in \definefontfamily
  2019-11-19  9:50 ConTeXt: specify a path to font in \definefontfamily Krešimir Cindrić
@ 2019-11-20  8:28 ` Henning Hraban Ramm
  2019-11-20  8:49 ` Hans Hagen
  1 sibling, 0 replies; 5+ messages in thread
From: Henning Hraban Ramm @ 2019-11-20  8:28 UTC (permalink / raw)
  To: mailing list for ConTeXt users

In my typescripts it works with file:fonts/MyFont.otf
HTH HR

> Am 2019-11-19 um 10:50 schrieb Krešimir Cindrić <kresimircindric@gmail.com>:
> 
> 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]
> 

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ConTeXt: specify a path to font in \definefontfamily
  2019-11-19  9:50 ConTeXt: specify a path to font in \definefontfamily Krešimir Cindrić
  2019-11-20  8:28 ` Henning Hraban Ramm
@ 2019-11-20  8:49 ` Hans Hagen
  2019-11-20  9:08   ` Krešimir Cindrić
  1 sibling, 1 reply; 5+ messages in thread
From: Hans Hagen @ 2019-11-20  8:49 UTC (permalink / raw)
  To: kresimircindric, mailing list for ConTeXt users

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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ConTeXt: specify a path to font in \definefontfamily
  2019-11-20  8:49 ` Hans Hagen
@ 2019-11-20  9:08   ` Krešimir Cindrić
  2019-11-20  9:17     ` Hans Hagen
  0 siblings, 1 reply; 5+ messages in thread
From: Krešimir Cindrić @ 2019-11-20  9:08 UTC (permalink / raw)
  To: Hans Hagen; +Cc: mailing list for ConTeXt users


[-- Attachment #1.1: Type: text/plain, Size: 3401 bytes --]

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.hagen@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
> -----------------------------------------------------------------
>

[-- Attachment #1.2: Type: text/html, Size: 4251 bytes --]

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ConTeXt: specify a path to font in \definefontfamily
  2019-11-20  9:08   ` Krešimir Cindrić
@ 2019-11-20  9:17     ` Hans Hagen
  0 siblings, 0 replies; 5+ messages in thread
From: Hans Hagen @ 2019-11-20  9:17 UTC (permalink / raw)
  To: kresimircindric; +Cc: mailing list for ConTeXt users

On 11/20/2019 10:08 AM, Krešimir Cindrić wrote:
> 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.
you can rename a font to a unique name, like

myproject-myfont-it.otf

also, you can have:

texmf-fonts/fonts/data/myproject/...
texmf-project/tex/context/user/myproject/...

and such .. these are never overwritten when you update context

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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-11-20  9:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-19  9:50 ConTeXt: specify a path to font in \definefontfamily Krešimir Cindrić
2019-11-20  8:28 ` Henning Hraban Ramm
2019-11-20  8:49 ` Hans Hagen
2019-11-20  9:08   ` Krešimir Cindrić
2019-11-20  9:17     ` Hans Hagen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).