ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Math setup with Times (Termes)
Date: Thu, 12 Nov 2009 10:42:51 +0100	[thread overview]
Message-ID: <4AFBD89B.2080609@wxs.nl> (raw)
In-Reply-To: <6faad9f00911110837p269804b6p4fa41ef714d129dd@mail.gmail.com>

Mojca Miklavec wrote:

> What are we talking about? Do you mean the old virtual fonts (.vf
> files) or mkiv's virtual fonts or something completely different?

What You Don't Want To Know:

a virtual font is just a regular font but has references to other fonts 
instead, like

char 1 -> font x, char 10 (or dvi commands instead)

and then it can has kerning etc within its own set

tex itself only sees characters as things with dimensions and a few 
properties and when typesetting the paragraph uses info from the font 
with respect to kerning and ligature building

now, traditional tex has only tfm files and when virtual fonts were 
introduced the engine was not adapted at all; so, a virtual font still 
has a tfm file (with characters etc)

however, when the font is being used in the backend, an extra lookup 
takes place and when a vf file is found, information from that file is 
used for embedding (in pdftex); of course dvi postprocessors also look 
at that file

so we have:

tfm      -> tfm used by frontend and backend
tfm + vf -> tfm used by frontend, vf used by backend

on top of that a map file will point from fontname to real name (pfb) 
and this is why in a map file you don't see the virtual font names at 
all, as it's the names inside the vf that matter

so say that we have:

a.tfm + a.vf

but internally

a.vf -> font b, c, d (or further chained)

then b, c, d need to be resolved to real names

as there is no checking going on and as the tfm file has no info about 
itself being virtual you can imagine that interesting side effects can 
take place when an old (unknown of) vf lays around ... it will kick in 
at backend time (this is why the texfont script does a clean up)

in luatex we have integrated these mechanisms, so internally a font can 
have virtual properties (a few more than original tex)

however, by default luatex acts like tex, so users won't notice; as 
luatex has the backend integrated, at some point it will need the vf and 
mkiv will happily fulfill that request

but ... and this is the catch ... in mkiv we use (1) opentype, (2) type 
1 and (3) traditional tex fonts

(1) is not related to virtual fonts but we can (and do) extend fonts 
internally using virtual technology

(2) in pdftex tfm/vf files are used but mkiv does not look at those 
files but uses afm files directly (right from the start)

(3) the only place in mkiv where tex metric files are still used is in 
math as we need the additional (math specific) info

as it makes no sense to keep supporting the old math fonts while open 
type variant sare under way, i decided to stick to unicode math and as a 
result we need to use virtual font technology to make that unicode variant

for the lm fonts, this is mostly done and as they have no virtual (vf 
based) fonts it's transparent

for tx/px however, as they use virtual fonts, it gets hairy what file to 
load; technically there is no obstacle but i've chosen to stay away from 
the tfm/vf mess and use just the natural tfm variants (i.e. the ones 
that match the pfb) and therefore we might need a few extra vectors (and 
maybe font files) in math-vfu that map to the right slots; using the 
vf's as well would complicate matters and it's not worth the trouble

so, what we need to do is to figure out teh few missing files/vectors, 
add them, and then let users fill in the gaps in vectors

are you still there?

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | 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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


  parent reply	other threads:[~2009-11-12  9:42 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.329.1257669716.22155.ntg-context@ntg.nl>
2009-11-08 21:00 ` Vyatcheslav Yatskovsky
2009-11-08 21:18   ` Wolfgang Schuster
2009-11-09  0:14   ` Aditya Mahajan
2009-11-10 18:10   ` Mojca Miklavec
2009-11-10 20:12     ` Mojca Miklavec
2009-11-11  8:38       ` Hans Hagen
2009-11-11 15:01         ` Mojca Miklavec
2009-11-11 15:06           ` luigi scarso
2009-11-11 20:50             ` Martin Schröder
2009-11-11 15:21           ` Aditya Mahajan
2009-11-11 15:36             ` Mojca Miklavec
2009-11-11 15:54               ` Hans Hagen
2009-11-11 16:02                 ` Mojca Miklavec
2009-11-11 16:06                   ` Wolfgang Schuster
2009-11-11 16:37                     ` Mojca Miklavec
2009-11-11 16:57                       ` Wolfgang Schuster
2009-11-12 11:25                         ` Mojca Miklavec
2009-11-12 11:41                           ` Hans Hagen
2009-11-12 12:42                             ` Mojca Miklavec
2009-11-12 12:44                               ` Mojca Miklavec
2009-11-12 13:45                                 ` Mojca Miklavec
2009-11-12 14:56                                   ` Wolfgang Schuster
     [not found]                                     ` <6faad9f00911120702w1f3eadb1if91bbd65a594a6c1@mail.gmail.com>
     [not found]                                       ` <4AFC25CB.90906@gmail.com>
2009-11-12 15:19                                         ` Mojca Miklavec
2009-11-12  9:42                       ` Hans Hagen [this message]
2009-11-12 11:25                         ` Mojca Miklavec
2009-11-12 11:38                           ` Hans Hagen
2009-11-11 16:13               ` Hans Hagen
2009-11-11 16:39                 ` Bernhard Rosensteiner
2009-11-11 17:26                 ` definereferenceformat problem Bernhard Rosensteiner
2009-11-25  1:50                   ` Chen Shen
2009-11-28 14:51                     ` Chen Shen
2009-11-28 16:36                   ` Peter Münster
2009-11-28 17:04                     ` Chen Shen
2009-11-11 15:37           ` Math setup with Times (Termes) Hans Hagen
2009-11-11 15:58             ` Mojca Miklavec
2009-11-08 21:17 ` Itemize withing description Vyatcheslav Yatskovsky
2009-11-09  0:08   ` Aditya Mahajan
     [not found] <mailman.343.1257760041.22155.ntg-context@ntg.nl>
2009-11-09 11:43 ` Math setup with Times (Termes) Vyatcheslav Yatskovsky
     [not found] <mailman.384.1257957327.22155.ntg-context@ntg.nl>
2009-11-12  1:16 ` Vyatcheslav Yatskovsky
2009-11-12  1:23 ` Vyatcheslav Yatskovsky
     [not found] <mailman.396.1258033393.22155.ntg-context@ntg.nl>
2009-11-12 14:19 ` Vyatcheslav Yatskovsky
2009-11-12 14:38   ` Mojca Miklavec
2009-11-12 16:52     ` Hans Hagen
2009-11-12 14:25 ` Vyatcheslav Yatskovsky
2009-11-12 14:41   ` Mojca Miklavec
2009-11-12 15:02 ` Vyatcheslav Yatskovsky
2009-11-12 15:07   ` Taco Hoekwater
     [not found] <mailman.403.1258044997.22155.ntg-context@ntg.nl>
2009-11-12 17:05 ` Vyatcheslav Yatskovsky
2009-11-12 17:34   ` Mojca Miklavec
     [not found] <mailman.407.1258061400.22155.ntg-context@ntg.nl>
2009-11-12 23:40 ` Vyatcheslav Yatskovsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AFBD89B.2080609@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).