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

2010-02-23 Thread Zhichu Chen
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
 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  hlcdim LucidaNewMath-DemiItalic  hlcdima LucidaNewMath-AltDemiItalic  hlcdm LucidaNewMath-Demibold  hlcdy LucidaNewMath-Symbol-Demi  hlcra LucidaNewMath-Arrows  hlcrim LucidaNewMath-Italic  hlcrima LucidaNewMath-AltItalic  hlcrm LucidaNewMath-Roman  hlcrv LucidaNewMath-Extension  hlcry LucidaNewMath-Symbol 
> 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  hlcrim LucidaNewMath-Italic  hlcrima LucidaNewMath-AltItalic 
> hlcrv LucidaNewMath-Extension  hlcry LucidaNewMath-Symbol  hlcra LucidaNewMath-Arrows 
> 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 

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

2010-02-22 Thread Mojca Miklavec
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 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
___