[NTG-context] MnSymbol in ConText

Florian Wobbe Florian.Wobbe at awi.de
Sun Feb 20 20:30:53 CET 2011


>> Is there any way to use MnSymbol in context?
> 
> It is, but somebody needs to write support for it. Both for MKII and MKIV.

The problem is, that luatex refuses to load any of the MnSymbol*.otf font files available from CTAN with an error message. I don't know what is broken with the fonts.

Should you just be interested in the symbols you can fix the otf font with fontforge by reencoding and saving it to a unicode font again. Glyphs with undefined unicode value will be assigned to unicode slots starting from 0xF0000.

Then you can do this:

\definefontsynonym [MnSymbol12U] [name:MnSymbol12Uni]
\starttext
\definedfont [MnSymbol12U at 16pt] ABC XYZ \char"25B7 \char"2660 \char"2720 \char"10391 \char"10393 \char"10335
\stoptext

To print a table with glyphs and unicode values do:

\usemodule[fnt-10]
\starttext
\ShowCompleteFont{name:MnSymbol12Uni}{11pt}{1} % MnSymbol12Uni.otf
\stoptext

I used the following fontforge script to re-generate the font:

#begin fontforge script

#usage: fontforge -script fontBMP2Full.ff MnSymbol12.otf

Open($1);

F1 = $fontname+"Uni" # fontname
F2 = "" # familyname
F3 = $fullname+"Uni" # fullname
F4 = "" # weight
F5 = "" # copyright
F6 = "" # fontversion

#SetFontNames(fontname[,family[,fullname[,weight[,copyright-notice[,fontversion]]]]])
#Sets various postscript names associated with a font. If a name is omitted (or is the
#empty string) it will not be changed. 
SetFontNames(F1,F2,F3,F4,F5,F6)

Reencode("unicode");
Generate($fontname+".otf");
Quit(0);

#end fontforge script

Florian



More information about the ntg-context mailing list