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