[NTG-context] Math in MKIV - HOWTO (was: Lucida Fonts with MKIV)

Zhichu Chen zhichu.chen at gmail.com
Wed Feb 24 04:15:40 CET 2010


Thanks for the guidance, I finally get my Lucida Math work.

After the \showfont step, I found that I didn't have the "tex-ma"
vector font, and the last two lines in math-vfu.lua should be changed
to:
    { name = "hlcra.tfm", vector = "tex-mb" },
    { name = "hlcrm.tfm", vector = "tex-mi" },
in my case.

By the way, there's a typo in fonts.enc.math["tex-mi"] in
math-vfu.lua, the comment "righttharpoonup" has an extra "t" and I
just wish it could be perfect.

On Tue, Feb 23, 2010 at 7:02 AM, Mojca Miklavec
<mojca.miklavec.lists at gmail.com> wrote:
> These basic set of rules should also apply to fourier or any other
> font that still needs better math support. I'm posting them on the
> list for future reference (for when the next volunteer pops up).
>
>
> On Fri, Feb 19, 2010 at 14:50, Troy Henderson wrote:
>>
>> I have followed the first set of instructions at
>>
>> http://wiki.contextgarden.net/Lucida
> ...
>> Is there an easy way to adapt the configuration file(s) for MKII to MKIV?
>> If this is possible but just requires a tedious process, I'm willing
>> to do this, but I have no clue of the steps needed.
>
> So here are some basic instructions:
>
> Step 1: check what's in the fonts
> =====
>
> The file lucida.map includes the following lines:
>
> hlcda LucidaNewMath-Arrows-Demi <lbmad.pfb
> hlcdim LucidaNewMath-DemiItalic <lbmdi.pfb
> hlcdima LucidaNewMath-AltDemiItalic <lbmdo.pfb
> hlcdm LucidaNewMath-Demibold <lbmd.pfb
> hlcdy LucidaNewMath-Symbol-Demi <lbmsd.pfb
> hlcra LucidaNewMath-Arrows <lbma.pfb
> hlcrim LucidaNewMath-Italic <lbmi.pfb
> hlcrima LucidaNewMath-AltItalic <lbmo.pfb
> hlcrm LucidaNewMath-Roman <lbmr.pfb
> hlcrv LucidaNewMath-Extension <lbme.pfb
> hlcry LucidaNewMath-Symbol <lbms.pfb
>
> After short inspection you may notice that some are just bold
> variants, so you are basically left with only 6 files that you need to
> take care of:
>
> hlcrm LucidaNewMath-Roman <lbmr.pfb
> hlcrim LucidaNewMath-Italic <lbmi.pfb
> hlcrima LucidaNewMath-AltItalic <lbmo.pfb
>
> hlcrv LucidaNewMath-Extension <lbme.pfb
> hlcry LucidaNewMath-Symbol <lbms.pfb
> hlcra LucidaNewMath-Arrows <lbma.pfb
>
> You may want to visualize the content of those fonts by using:
>
> \loadmapfile[lucida.map]
> \starttext
> \showfont[hlcrm]
> \showfont[hlcrim]
> \showfont[hlcrima]
> \showfont[hlcrv]
> \showfont[hlcry]
> \showfont[hlcra]
> \stoptext
>
> Step 2: compare
> =====
>
> It might be interesting to know what's in LM (so that you know what
> you need to modify):
>
> \starttext
> \showfont[rm-lmr10]
> \showfont[lmmi10]
> \showfont[lmex10]
> \showfont[lmsy10]
> \stoptext
>
> as well as seing what's in ams fonts perhaps. Now all the info that
> describes the content of these files is in math-tex.mkii (for MKII)
> and math-vfu.lua (for MKIV):
>
> mathematics.make_font ( "lmroman10-math", {
>    { name = "lmroman10-regular.otf", features = "virtualmath", main = true },
>    { name = "rm-lmr10.tfm", vector = "tex-mr-missing" } ,
>    { name = "lmmi10.tfm", vector = "tex-mi", skewchar=0x7F },
>    { name = "lmmi10.tfm", vector = "tex-it", skewchar=0x7F },
>    { name = "lmsy10.tfm", vector = "tex-sy", skewchar=0x30,
> parameters = true } ,
>    { name = "lmex10.tfm", vector = "tex-ex", extension = true } ,
>    { name = "msam10.tfm", vector = "tex-ma" },
>    { name = "msbm10.tfm", vector = "tex-mb" },
>  -- { name = "rm-lmbx10.tfm", vector = "tex-bf" } ,
>    { name = "lmroman10-bold.otf", vector = "tex-bf" } ,
>    { name = "lmmib10.tfm", vector = "tex-bi", skewchar=0x7F } ,
>    { name = "lmsans10-regular.otf", vector = "tex-ss", optional=true },
>    { name = "lmmono10-regular.otf", vector = "tex-tt", optional=true },
>    { name = "eufm10.tfm", vector = "tex-fraktur", optional=true },
>    { name = "eufb10.tfm", vector = "tex-fraktur-bold", optional=true },
> } )
>
> You may want to check any tfm font mentioned here as well as any
> vector="..." mentioned.
>
> fonts.enc.math["tex-mi"] = {
>    [0x1D6E4] = 0x00, -- Gamma
>    [0x1D6E5] = 0x01, -- Delta
>    [0x1D6E9] = 0x02, -- Theta
>    [0x1D6F3] = 0x02, -- varTheta (not present in TeX)
>    [0x1D6EC] = 0x03, -- Lambda
>    [0x1D6EF] = 0x04, -- Xi
>    [0x1D6F1] = 0x05, -- Pi
>
> There's a very precious source of information available for unicode
> mappings for many fonts that might be worth considering:
>     tex4ht/ht-fonts/unicode/
>
> Step 3: make use of available glyph information
> =====
>
> 3a)
> You may use lucidabr.sty as a pretty reliable source of information to
> extract the mapping between:
> - glyph name (in LaTeX)
> - font
> - slot
>
> 3b)
> In char-def.lua there are some mappings between context commands and
> unicode points. If any mapping is missing, you need to add it anyway
> (else you won't be able to use that particular command), for all other
> commands you already have unicode point, so when you find "rightarrow"
> or some other glyph in font, you may look it up in char-def.lua to
> determine the unicode number.
>
> You may want to use both the comprehensive TeX symbol list as well as
> the Unicode Standard to help you out if there are some glyphs you
> don't know.
>
> Step 4: fix math-lbr
> =====
>
> Step 5: complete the vectors in math-vfu.lua
> =====
>
> I'm not completly sure about some aspects of bold math, but here are
> at least some points to start with.
>
> Step 6: test
> =====
>
> Translate ams test paper and the comprehensive LaTeX symbol list to
> ConTeXt in order to test if all the characters work ok in all the math
> fonts supported by ConTeXt :) :) :)
>
> Mojca
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
>
> maillist : ntg-context at 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
> ___________________________________________________________________________________
>



-- 
Best Regards
Chen
----------------------------------------------------------------

          Zhi-chu Chen | Shanghai Synchrotron Radiation Facility
         No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China
             tel: 086 21 5955 3405 | zhichu.chen.googlepages.com
                                               | www.sinap.ac.cn
----------------------------------------------------------------


More information about the ntg-context mailing list