ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Zhichu Chen <chenzhichu@sinap.ac.cn>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Virtual font question
Date: Tue, 23 Jun 2015 00:47:07 +0800	[thread overview]
Message-ID: <55883C0B.4050309@sinap.ac.cn> (raw)

Hello list,

I was trying to use the Math Times Pro 2 fonts in ConTeXt MKIV. This 
Type1 font
contains a map file, a set of pfb files and the corresponding tfm files. 
I was managed
to write a .lfg file and a type-imp-xxx file, but here's my problem.

The font comes with three different sizes, the virtual fonts in my .lfg 
file look like:
===================================================================
         virtuals = {
             ["mtpro06a-regular"] = {
                 { name = "file:texgyretermes-regular.otf", features = 
"virtualmath", main = true },
                 { name = "mt2mif.tfm", vector = "mtpro2-mi", 
skewchar=0x7F },
                 { name = "mt2syf.tfm", vector = "mtpro2-sy", 
skewchar=0x30, parameters = true },
                 { name = "mt2mbf.tfm", vector = "mtpro2-mb", 
skewchar=0x7F },
                 { name = "mt2syaf.tfm", vector = "mtpro2-sya", 
skewchar=0x7F },
                 { name = "mt2bbf.tfm", vector = "mtpro2-bb", 
skewchar=0x7F },
                 { name = "mt2msf.tfm", vector = "mtpro2-mca", 
skewchar=0x7F },
                 { name = "mt2bmsf.tfm", vector = "mtpro2-bmca", 
skewchar=0x7F },
                 { name = "mt2mff.tfm", vector = "mtpro2-mfa", 
skewchar=0x7F },
                 { name = "mt2bmff.tfm", vector = "mtpro2-bmfa", 
skewchar=0x7F },
                 { name = "mt2bbif.tfm", vector = "mtpro2-bbi", 
skewchar=0x7F },
             },
             ["mtpro08a-regular"] = {
                 { name = "file:texgyretermes-regular.otf", features = 
"virtualmath", main = true },
                 { name = "mt2mis.tfm", vector = "mtpro2-mi", 
skewchar=0x7F },
                 { name = "mt2sys.tfm", vector = "mtpro2-sy", 
skewchar=0x30, parameters = true },
                 { name = "mt2mbs.tfm", vector = "mtpro2-mb", 
skewchar=0x7F },
                 { name = "mt2syas.tfm", vector = "mtpro2-sya", 
skewchar=0x7F },
                 { name = "mt2bbs.tfm", vector = "mtpro2-bb", 
skewchar=0x7F },
                 { name = "mt2mss.tfm", vector = "mtpro2-mca", 
skewchar=0x7F },
                 { name = "mt2bmss.tfm", vector = "mtpro2-bmca", 
skewchar=0x7F },
                 { name = "mt2mfs.tfm", vector = "mtpro2-mfa", 
skewchar=0x7F },
                 { name = "mt2bmfs.tfm", vector = "mtpro2-bmfa", 
skewchar=0x7F },
                 { name = "mt2bbis.tfm", vector = "mtpro2-bbi", 
skewchar=0x7F },
             },
             ["mtpro10a-regular"] = {
                 { name = "file:texgyretermes-regular.otf", features = 
"virtualmath", main = true },
                 { name = "mt2mit.tfm", vector = "mtpro2-mi", 
skewchar=0x7F },
                 { name = "mt2syt.tfm", vector = "mtpro2-sy", 
skewchar=0x30, parameters = true },
                 { name = "mt2mbt.tfm", vector = "mtpro2-mb", 
skewchar=0x7F },
                 { name = "mt2syat.tfm", vector = "mtpro2-sya", 
skewchar=0x7F },
                 { name = "mt2bbt.tfm", vector = "mtpro2-bb", 
skewchar=0x7F },
                 { name = "mt2mst.tfm", vector = "mtpro2-mca", 
skewchar=0x7F },
                 { name = "mt2bmst.tfm", vector = "mtpro2-bmca", 
skewchar=0x7F },
                 { name = "mt2mft.tfm", vector = "mtpro2-mfa", 
skewchar=0x7F },
                 { name = "mt2bmft.tfm", vector = "mtpro2-bmfa", 
skewchar=0x7F },
                 { name = "mt2bbit.tfm", vector = "mtpro2-bbi", 
skewchar=0x7F },
             },
===================================================================
I guess the suffixes "f" "s" and "t" may correspond to "five" "seven" 
and "ten", but that's
not important. I could use one of them as the virtual font in the 
typescript:
===================================================================
\definefontsynonym [\s!MathRoman] [MTPro10a-Regular@mtpro10a-regular]
===================================================================
The output pdf used the 10-size font as expected.

I stole some codes from lm.lfg and added the following code:
===================================================================
     designsizes = {
         ["MathTimeProA-Regular"] = {
             ["4pt"]  = "MTPro06a-Regular@mtpro06a-regular",
             ["5pt"]  = "MTPro06a-Regular@mtpro06a-regular",
             ["6pt"]  = "MTPro06a-Regular@mtpro06a-regular",
             ["7pt"]  = "MTPro08a-Regular@mtpro08a-regular",
             ["8pt"]  = "MTPro08a-Regular@mtpro08a-regular",
             ["9pt"]  = "MTPro08a-Regular@mtpro08a-regular",
             ["10pt"] = "MTPro10a-Regular@mtpro10a-regular",
             ["11pt"] = "MTPro10a-Regular@mtpro10a-regular",
             ["12pt"] = "MTPro10a-Regular@mtpro10a-regular",
             default  = "MTPro10a-Regular@mtpro10a-regular"
         },
===================================================================
and modified the typescript:
===================================================================
\definefontsynonym [\s!MathRoman] [\v!name:MathTimeProA-Regular] 
[\s!goodies=math-times-pro-math]
===================================================================
It failed as expected:
===================================================================
fonts           > defining > start stage one: MathRoman mo 1
fonts           > defining > specification 'MathRoman mo 1', lookup 
'file', name 'MathRoman', sub '', method '', detail ''
fonts           > defining > stop stage one
fonts           > defining > start stage two: name:MathTimeProA-Regular 
(size 393216)
fonts           > names > font with name 'mathtimeproaregular' cannot be 
found
fonts           > names > font database has matching configuration and 
file hashes
fonts           > defining > trying (reader sequence driven) type 'otf' 
for 'MathTimeProA-Regular' with file ''
fonts           > names > font database has matching configuration and 
file hashes
fonts           > defining > trying (reader sequence driven) type 'ttf' 
for 'MathTimeProA-Regular' with file ''
fonts           > names > font database has matching configuration and 
file hashes
fonts           > defining > trying (reader sequence driven) type 'afm' 
for 'MathTimeProA-Regular' with file ''
fonts           > names > font database has matching configuration and 
file hashes
fonts           > names > font database has matching configuration and 
file hashes
fonts           > defining > loading tfm with name 
'MathTimeProA-Regular' fails
fonts           > defining > trying (reader sequence driven) type 'tfm' 
for 'MathTimeProA-Regular' with file ''
fonts           > names > font database has matching configuration and 
file hashes
fonts           > defining > loading tfm with name 
'MathTimeProA-Regular' fails
fonts           > defining > trying (reader sequence driven) type 'lua' 
for 'MathTimeProA-Regular' with file ''
fonts           > lua loading > using lua reader for 'MathRoman mo 1'
fonts           > defining > font with asked name 'MathTimeProA-Regular' 
is not found using lookup 'name'
fonts           > defining > not loaded and hashed: mathtimeproa-regular 
@ normal:goodies=math-times-pro-math @ 393216
fonts           > defining > unknown font 'MathTimeProA-Regular', 
loading aborted
fonts           > defining > unable to define 'MathTimeProA-Regular' as 
'math-times-pro-11pt-mm-mr--3'
fonts           > defining > memory usage after: 45 MB (ctx: 45 MB)
fonts           > defining > stop stage two
===================================================================
I get it. There's no MathTimeProA-Regular file. I've tried the built-in 
"ebgaramond"
typescript which also comes with the "designsizes" field. Interesting, the
"ebgaramond-regular" is remapped to "EBGaramond12-Regular" magically:
===================================================================
fonts           > defining > start stage two: file:ebgaramond-regular 
(size 720896)
fonts           > defining > remapping name 'ebgaramond-regular', 
specification 'auto', size 720896, designsize 'file:EBGaramond12-Regular'
===================================================================

Well, what am I missing? How to get the designsize names recognized? 
What is the right
way to make the virtual fonts?

Thanks for noticing.

Best regards,
Zhichu

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

             reply	other threads:[~2015-06-22 16:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-22 16:47 Zhichu Chen [this message]
2015-06-23  3:57 ` Aditya Mahajan
2015-06-23  5:20   ` Zhichu Chen
2015-06-24 10:33     ` Zhichu Chen

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=55883C0B.4050309@sinap.ac.cn \
    --to=chenzhichu@sinap.ac.cn \
    --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).