You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(33) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(7) |
Feb
(44) |
Mar
(51) |
Apr
(43) |
May
(43) |
Jun
(36) |
Jul
(61) |
Aug
(44) |
Sep
(25) |
Oct
(82) |
Nov
(97) |
Dec
(47) |
2005 |
Jan
(77) |
Feb
(143) |
Mar
(42) |
Apr
(31) |
May
(93) |
Jun
(93) |
Jul
(35) |
Aug
(78) |
Sep
(56) |
Oct
(44) |
Nov
(72) |
Dec
(75) |
2006 |
Jan
(116) |
Feb
(99) |
Mar
(181) |
Apr
(171) |
May
(112) |
Jun
(86) |
Jul
(91) |
Aug
(111) |
Sep
(77) |
Oct
(72) |
Nov
(57) |
Dec
(51) |
2007 |
Jan
(64) |
Feb
(116) |
Mar
(70) |
Apr
(74) |
May
(53) |
Jun
(40) |
Jul
(519) |
Aug
(151) |
Sep
(132) |
Oct
(74) |
Nov
(282) |
Dec
(190) |
2008 |
Jan
(141) |
Feb
(67) |
Mar
(69) |
Apr
(96) |
May
(227) |
Jun
(404) |
Jul
(399) |
Aug
(96) |
Sep
(120) |
Oct
(205) |
Nov
(126) |
Dec
(261) |
2009 |
Jan
(136) |
Feb
(136) |
Mar
(119) |
Apr
(124) |
May
(155) |
Jun
(98) |
Jul
(136) |
Aug
(292) |
Sep
(174) |
Oct
(126) |
Nov
(126) |
Dec
(79) |
2010 |
Jan
(109) |
Feb
(83) |
Mar
(139) |
Apr
(91) |
May
(79) |
Jun
(164) |
Jul
(184) |
Aug
(146) |
Sep
(163) |
Oct
(128) |
Nov
(70) |
Dec
(73) |
2011 |
Jan
(235) |
Feb
(165) |
Mar
(147) |
Apr
(86) |
May
(74) |
Jun
(118) |
Jul
(65) |
Aug
(75) |
Sep
(162) |
Oct
(94) |
Nov
(48) |
Dec
(44) |
2012 |
Jan
(49) |
Feb
(40) |
Mar
(88) |
Apr
(35) |
May
(52) |
Jun
(69) |
Jul
(90) |
Aug
(123) |
Sep
(112) |
Oct
(120) |
Nov
(105) |
Dec
(116) |
2013 |
Jan
(76) |
Feb
(26) |
Mar
(78) |
Apr
(43) |
May
(61) |
Jun
(53) |
Jul
(147) |
Aug
(85) |
Sep
(83) |
Oct
(122) |
Nov
(18) |
Dec
(27) |
2014 |
Jan
(58) |
Feb
(25) |
Mar
(49) |
Apr
(17) |
May
(29) |
Jun
(39) |
Jul
(53) |
Aug
(52) |
Sep
(35) |
Oct
(47) |
Nov
(110) |
Dec
(27) |
2015 |
Jan
(50) |
Feb
(93) |
Mar
(96) |
Apr
(30) |
May
(55) |
Jun
(83) |
Jul
(44) |
Aug
(8) |
Sep
(5) |
Oct
|
Nov
(1) |
Dec
(1) |
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(1) |
Oct
(3) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
1
(1) |
2
(9) |
3
(1) |
4
(3) |
5
(1) |
6
(2) |
7
(9) |
8
(2) |
9
|
10
(10) |
11
(4) |
12
(1) |
13
(1) |
14
(2) |
15
(9) |
16
|
17
(1) |
18
(6) |
19
|
20
(4) |
21
(7) |
22
(3) |
23
(3) |
24
(2) |
25
(1) |
26
|
27
(3) |
28
(6) |
29
(12) |
30
|
31
(8) |
|
|
On Sunday 20 August 2006 10:25 am, Edin Salkovi=C4=87 wrote: > Here are the reasons for rewriting mathtext2 that I can come up with: > > * One of the reasons I started the complete rewrite of the parser is that > I'm a newbie at parsing, and I wanted to try it out a bit. I didn't > understand why was it so difficult to parse TeX (or anything a little bit > complicated for that matter). Well, now I know ;) > > * The other reason was that I didn't understand fully the current parsing > code, or more precisely, the part when what's interpreted get's rendered. > And I'm not talking about glyphs, but about the complex constructs > (scripts, frac's etc.) > > * The third reason was that I can now try out in pararel the new and the > old code. Also, because I'm not touching the PS and SVG backends for now = we > can have the following code in the current mathtext: > > if rcParams[some_parameter]: > from matplotlib.mathtext2 import math_parse_s_ft2font > else: > math_parse_s_ft2font =3D math_parse_s_ft2font_common('BMP') > math_parse_s_ft2font_svg =3D math_parse_s_ft2font_common('SVG') > math_parse_s_ps =3D math_parse_s_ft2font_common('PS') > math_parse_s_pdf =3D math_parse_s_ft2font_common('PDF') > > Also, I thought that the author of the current code base did some design > mistakes at the begining. And, being a developer newbie, it's a lot easier > to start things from scratch, than make fixes to old stuff you don't > understand well. Just a general comment. Eric Raymond observed in The Cathedral and the Baza= ar=20 that "Good programmers know what to write. Great ones know what to rewrite= =20 (and reuse)." In the future, I suggest you consider that it may be in your= =20 own long term interest to try to understand and extend existing code instea= d=20 of rewriting it from scratch. You'll learn quickly by being exposed to othe= r=20 people's ideas and techniques, and you will get faster results since you=20 won't be reinventing the wheel. > As for the mathtext_demo.py part, even real TeX can't handle it :).=20 If TeX isn't yielding the result you expect, then you were expecting the wr= ong=20 result. > The point is that, i.e. \cal sets the current fontface to "cal", and the= =20 > change is propagated till the end of the current scope (or untill it hits= =20 > \rm, for example). Old mathtext applies it only to the first item after t= he=20 > command.=20 What does this have to do with real TeX? Maybe you could post an example. I= t=20 is possibly just an mpl bug that needs to be addressed. Darren
Hi Edin, On Sunday 20 August 2006 10:21 am, Edin Salkovi=C4=87 wrote: > The SoC deadline (for code) is tommorow (Aug 21st.), so I decided to comm= it > what I have done till now to the repository. > > JDH is going on a vacation and will not be able to review it for at > least a week, > but I had to commit it before 21st. Aug - that's the SoC rules. Hopefully, > I'll be adding new stuff the next week (and after), but that doesn't > count as part of SoC anymore... > > Since this is my first commit, can anyone please test it. I tested it > only on my windows box. > > I changed > __init__.py, > mathtext.py > CHANGELOG > > I added > mathtext2.py > mathtext2_demo.py > > Anyone who wants to test the new mathtext2 has to add the following line(= s) > to the matplotlibrc (mathtext2 is disabled by default): > > mathtext2: True # Needed to enable the new mathtext > > # Font lines, feel free to change or uncomment (BaKoMa is used by default) > mathtext.rm : FreeSerif.ttf > mathtext.it : FreeSerifItalic.ttf # Text italic > mathtext.tt : FreeMono.ttf # Typewriter (monospaced) > mathtext.mit : FreeSerifItalic.ttf # Math italic > mathtext.cal : FreeSansOblique.ttf # Caligraphic > mathtext.nonascii: FreeSerif.ttf # Used for \sum, \infty etc. > > The FreeFont fonts (or any other for that matter) have to be downloaded a= nd > put into the mpl-data dir. The default settingsuse the current bakoma > fonts, and they play pretty well with FreeSerif.ttf as the nonascii > (unicode) font. > > so I recommend you just put the line > mathtext.nonascii: FreeSerif.ttf > > and comment out the rest (experiment a little with fonts). > > Tonight I plan to add support for fractions. Beware that the only > supported backend for now is Agg. > > mathtext2_demo.py is attached I just updated my svn repository, added the lines you indicated to my rc fi= le,=20 but when I run the example, mpl can't find the freefonts that I already hav= e=20 installed on my system. The freefonts I have installed are not ttf, but pfb= =2E=20 Where should we download from? ftp://ftp.cs.umn.edu/pub/gimp/pub/gimp/fonts= ,=20 for example? I dont think those are what I am looking for. Do they really=20 need to go in mpl-dir? It would be more appropriate if they could be=20 installed somewhere like /usr/share/fonts.
SGVyZSBhcmUgdGhlIHJlYXNvbnMgZm9yIHJld3JpdGluZyBtYXRodGV4dDIgdGhhdCBJIGNhbiBj b21lIHVwIHdpdGg6CgogKiBPbmUgb2YgdGhlIHJlYXNvbnMgSSBzdGFydGVkIHRoZSBjb21wbGV0 ZSByZXdyaXRlIG9mIHRoZSBwYXJzZXIgaXMgdGhhdApJJ20gYSBuZXdiaWUgYXQgcGFyc2luZywg YW5kIEkgd2FudGVkIHRvIHRyeSBpdCBvdXQgYSBiaXQuIEkgZGlkbid0IHVuZGVyc3RhbmQKd2h5 IHdhcyBpdCBzbyBkaWZmaWN1bHQgdG8gcGFyc2UgVGVYIChvciBhbnl0aGluZyBhIGxpdHRsZSBi aXQgY29tcGxpY2F0ZWQKZm9yIHRoYXQgbWF0dGVyKS4gV2VsbCwgbm93IEkga25vdyA7KQoKICog VGhlIG90aGVyIHJlYXNvbiB3YXMgdGhhdCBJIGRpZG4ndCB1bmRlcnN0YW5kIGZ1bGx5IHRoZSBj dXJyZW50IHBhcnNpbmcKY29kZSwgb3IgbW9yZSBwcmVjaXNlbHksIHRoZSBwYXJ0IHdoZW4gd2hh dCdzIGludGVycHJldGVkIGdldCdzIHJlbmRlcmVkLgpBbmQgSSdtIG5vdCB0YWxraW5nIGFib3V0 IGdseXBocywgYnV0IGFib3V0IHRoZSBjb21wbGV4IGNvbnN0cnVjdHMgKHNjcmlwdHMsCmZyYWMn cyBldGMuKQoKICogVGhlIHRoaXJkIHJlYXNvbiB3YXMgdGhhdCBJIGNhbiBub3cgdHJ5IG91dCBp biBwYXJhcmVsIHRoZSBuZXcgYW5kIHRoZSBvbGQKY29kZS4gQWxzbywgYmVjYXVzZSBJJ20gbm90 IHRvdWNoaW5nIHRoZSBQUyBhbmQgU1ZHIGJhY2tlbmRzIGZvciBub3cgd2UgY2FuCmhhdmUgdGhl IGZvbGxvd2luZyBjb2RlIGluIHRoZSBjdXJyZW50IG1hdGh0ZXh0OgoKaWYgcmNQYXJhbXNbc29t ZV9wYXJhbWV0ZXJdOgogICBmcm9tIG1hdHBsb3RsaWIubWF0aHRleHQyIGltcG9ydCBtYXRoX3Bh cnNlX3NfZnQyZm9udAplbHNlOgogICBtYXRoX3BhcnNlX3NfZnQyZm9udCA9IG1hdGhfcGFyc2Vf c19mdDJmb250X2NvbW1vbignQk1QJykKbWF0aF9wYXJzZV9zX2Z0MmZvbnRfc3ZnID0gbWF0aF9w YXJzZV9zX2Z0MmZvbnRfY29tbW9uKCdTVkcnKQptYXRoX3BhcnNlX3NfcHMgPSBtYXRoX3BhcnNl X3NfZnQyZm9udF9jb21tb24oJ1BTJykKbWF0aF9wYXJzZV9zX3BkZiA9IG1hdGhfcGFyc2Vfc19m dDJmb250X2NvbW1vbignUERGJykKCkFsc28sIEkgdGhvdWdodCB0aGF0IHRoZSBhdXRob3Igb2Yg dGhlIGN1cnJlbnQgY29kZSBiYXNlIGRpZCBzb21lIGRlc2lnbgptaXN0YWtlcyBhdCB0aGUgYmVn aW5pbmcuIEFuZCwgYmVpbmcgYSBkZXZlbG9wZXIgbmV3YmllLCBpdCdzIGEgbG90IGVhc2llcgp0 byBzdGFydCB0aGluZ3MgZnJvbSBzY3JhdGNoLCB0aGFuIG1ha2UgZml4ZXMgdG8gb2xkIHN0dWZm IHlvdSBkb24ndAp1bmRlcnN0YW5kIHdlbGwuCgpBcyBmb3IgdGhlIG1hdGh0ZXh0X2RlbW8ucHkg cGFydCwgZXZlbiByZWFsIFRlWCBjYW4ndCBoYW5kbGUgaXQgOikuIFRoZSBwb2ludAppcyB0aGF0 LCBpLmUuIFxjYWwgc2V0cyB0aGUgY3VycmVudCBmb250ZmFjZSB0byAiY2FsIiwgYW5kIHRoZSBj aGFuZ2UgaXMKcHJvcGFnYXRlZCB0aWxsIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgc2NvcGUgKG9y IHVudGlsbCBpdCBoaXRzIFxybSwgZm9yCmV4YW1wbGUpLiBPbGQgbWF0aHRleHQgYXBwbGllcyBp dCBvbmx5IHRvIHRoZSBmaXJzdCBpdGVtIGFmdGVyIHRoZSBjb21tYW5kLgoKSSBwcm9taXNlIHRo YXQgSSdsbCBwb3N0IG1vcmUgYWJvdXQgdGhlIGltcGxlbWVudGF0aW9uIGluIGEgZGF5IG9yIHR3 by4KSSdsbCBhbHNvIHBvc3Qgc2NyZWVuc2hvdHMgKFRlWC9tYXRodGV4dC9tYXRodGV4dDIgc2hv b3RvdXQpLgoKQ2hlZXJzLApFZGluCgpPbiA4LzE4LzA2LCBKb2huIEh1bnRlciA8amRodW50ZXJA YWNlLmJzZC51Y2hpY2Fnby5lZHU+IHdyb3RlOgo+ID4+Pj4+ICJFZGluIiA9PSBFZGluIFNhbGtv dmnCpyA8ZWRpbi5zYWxrb3ZpY0BnbWFpbC5jb20+IHdyaXRlczoKPgo+ICAgICBFZGluPiBIaSBh bGwsIFBsZWFzZSBKb2huLCB0YWtlIHNvbWUgdGltZSBiZWZvcmUgU2NpUHkgY29uZiB0bwo+ICAg ICBFZGluPiBhbnN3ZXIgYXQgbGVhc3Qgc29tZSBvZiB0aGlzIHF1ZXN0aW9ucywgYmVjYXVzZSB0 aGUgU29DCj4gICAgIEVkaW4+IGRlYWRsaW5lICgyMXN0IEF1Z3VzdCkgaXMgKnZlcnkqIG5lYXIu Cj4KPiBBbGFzLCBJIGFtIGFscmVhZHkgaGVyZSBhbmQgaGF2ZSBiZWVuIGEgbGl0dGxlIG91dCBv ZiBlbWFpbCBjb250YWN0Cj4gd2hpbGUgdHJhdmVsaW5nLiAgU29ycnkgZm9yIHRoZSBkZWxheS4K Pgo+ICAgICBFZGluPiAxKSBJJ20gaGF2aW5nIHNvbWUgcHJvYmxlbXMgcmVnYXJkaW5nIEZUMkZv bnQuICBUaGUgcHJvYmxlbQo+ICAgICBFZGluPiBpcyB3aGVuIEkgaW5zdGFudGlhdGUgRlQyRm9u dCBsaWtlOiBmb250ID0gRlQyRm9udChmaWxlbmFtZSkKPiAgICAgRWRpbj4gYW5kIHdoZW4gSSBj YWxsIGl0J3MgbWV0aG9kIGZvbnQuc2V0X3RleHQoIlNvbWUgdGV4dCIpLCBhbmQKPiAgICAgRWRp bj4gYWZ0ZXJ3YXJkcywgZm9udC5kcmF3X2dseXBoc190b19iaXRtYXAoKSwgdGhlIGxhdHRlciBz aW1wbHkKPiAgICAgRWRpbj4gZGVsZXRlcyBldmVyeSBnbHlwaCB0aGF0IHdhcyBkcmF3biBiZWZv cmUgaXQsIGFuZCBqdXN0Cj4gICAgIEVkaW4+IHBhaW50cyBpbiB0aGUgaW50ZXJuYWwgaW1hZ2Ug YnVmZmVyIHRoZSB0ZXh0IHRoYXQgd2FzIHBhc3NlZAo+ICAgICBFZGluPiBvbiBsYXN0IGludm9j YXRpb24gb2Ygc2V0X3RleHQgKG9yIGxvYWRfY2hhcikuCj4KPiBUaGlzIGlzIGEgZmVhdHVyZSwg bm90IGEgYnVnIDotKSAgWW91IGNhbiBjbGVhciB0aGUgaW1hZ2UgYnVmZmVyIGlmCj4geW91IHdh bnQgd2l0aCB0aGUgY2xlYXIgbWV0aG9kLCBhcyB3ZSBkbyBpbiB0aGUgbWF0aHRleHkgY29kZQo+ Cj4gICAgICAgICBmb3IgZm9udGZhY2UgaW4gc2VsZi5mb250cy52YWx1ZXMoKToKPiAgICAgICAg ICAgICBmb250ZmFjZS5jbGVhcigpCj4KPiAgICAgRWRpbj4gVGhpcyBpcyBhIHBhaW4sIGJlY2F1 c2UgZHJhd19nbHlwaHNfdG9fYml0bWFwIGltcGxlbWVudHMgdGhlCj4gICAgIEVkaW4+IGxheW91 dCAod2l0aCBrZXJuaW5nIGV0Yy4pLCBidXQgaWYgb25lIHdhbnRzIHRvIHBhaW50Cj4gICAgIEVk aW4+IHNldmVyYWwgd29yZHMgaW4gZGlmZmVyZW50IHgseSBwb3NpdGlvbnMgaW4gdGhlIHNhbWUg aW1hZ2UKPiAgICAgRWRpbj4gYnVmZmVyLCBoZSBoYXMgdG8gZG8gdGhlIGxheW91dCBmb3IgZXZl cnkgY2hhcmFjdGVyIGluIGV2ZXJ5Cj4gICAgIEVkaW4+IHdvcmQgbWFudWFsbHkgdmlhIGRyYXdf Z2x5cGhfdG9fYml0bWFwKHgsIHksIGdseXBoKSAobGlrZQo+ICAgICBFZGluPiB5b3UgZGlkIHdp dGggdGhlIEJhS29NYSBmb250cyBpbiBtYXRodGV4dCkuCj4KPiAgICAgRWRpbj4gV2h5IGhhc24n dCBkcmF3X2dseXBoc190b19iaXRtYXAgYmVlbiBpbXBsZW1lbnRlZCBzbyB0aGF0IGl0Cj4gICAg IEVkaW4+IHRha2VzIHgsIHkgYXMgYXJndW1lbnRzIChkcmF3X2dseXBoc190b19iaXRtYXAoeCwg eSkpIGFuZAo+ICAgICBFZGluPiBsZWF2ZXMgdGhlIGltYWdlIGJ1ZmZlciBpbnRhY3QgKGFzIGRv ZXMKPiAgICAgRWRpbj4gZHJhd19nbHlwaF90b19iaXRtYXApPwo+Cj4gWW91IGNhbiBhZGQgb3B0 aW9uYWwgeCBhbmQgeSBhcmdzIHRvIGRyYXdfZ2x5cGhzX3RvX2JpdG1hcCBpZiB5b3UgbmVlZAo+ IHRoZW0uICBKdXN0IG1ha2Ugc3VyZSBhbnkgY2hhbmdlcyB5b3UgbWFrZSBwYXNzCj4gZXhhbXBs ZXMvYmFja2VuZF9kcml2ZXIucHkgYW5kIHVuaXQvbWVtbGVha19oYXdhaWkzLnB5Cj4KPiAgICAg RWRpbj4gMikgQXMgSSBoYXZlIHNhaWQgYmVmb3JlLCBJIGhhdmUgc3RhcnRlZCB0aGUgY29tcGxl dGUKPiAgICAgRWRpbj4gcmV3cml0ZSBvZiBtYXRodGV4dCAodGhlIHBhcnNpbmcgc3R1ZmYgZXRj LikuIEkgaGF2ZQo+ICAgICBFZGluPiBjb21wbGV0ZWx5IHJlbW92ZWQgdGhlIGRlcGVuZGVuY3kg b24gcHlwYXJzaW5nIChwbGVhc2UgZG9uJ3QKPiAgICAgRWRpbj4geWVsbCBhdCBtZSA6KSwgYW5k IEkgd2FzIHdvbmRlcmluZyBhYm91dCBob3cgbXVjaCBvZiBUZVgKPgo+IE9LLCBJIHdvbid0IHll bGwuICBRdWlldGx5IHNjb2xkIG1heWJlIDotKQo+Cj4gSSBhbSBza2VwdGljYWwgb2YgeW91ciAt LSBvciBhbnlvbmUncyBleGNlcHQgUm9iZXJ0J3MgLS0gYWJpbGl0eSB0bwo+IHBhcnNlIFRlWCBt YXRoZW1hdGljYWwgZXhwcmVzc2lvbnMgdy9vIGEgdHJ1ZSByZWN1cnNpdmUgZGVzY2VudAo+IHBh cnNlci4gIEkgdG9vayBhIGxvb2sgYXQgeW91ciBjb2RlIGJ1dCB3L28gYW55IHJ1bm5pbmcgZXhh bXBsZXMgSQo+IGNvdWxkIG5vdCB0ZXN0IGl0LiAgRnJvbSByZWFkaW5nIGl0LCBJIGRvIG5vdCB0 aGluayBpdCB3aWxsIGJlIGFibGUgdG8KPiBoYW5kbGUgdGhlIGRlZXBseSByZWN1cnNpdmUgc3Ry dWN0dXJlcyB0aGF0IGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5Cj4gdGhlIGV4aXN0aW5nLCB3 b3JraW5nIHBhcnNlci4gIENhbiB5b3UgaGFuZGxlIHJlY3Vyc2l2ZWx5IG5lc3RlZAo+IHN1cGVy L3N1YiBzY3JpcHRzPyAgQ2FuIGl0IHBhcnNlIHRoaXMKPgo+ICAgdGV4ID0gcickXGNhbHtSfVxw cm9kX3tpPVxhbHBoYV97aSsxfX1eXGluZnR5IGFfaVxybXtzaW59KDIgXHBpIGYgeF9pKSQnCj4K Pgo+IElmIHNvLCBJIGFwb2xvZ2l6ZSBmb3IgbXkgc2tlcHRpY2lzbSwgYnV0IG15IHdvcmtpbmcg YXNzdW1wdGlvbiBpcyB5b3UKPiB3aWxsIG5lZWQgYSBwcm9wZXIgcGFyc2VyIHRvIHBhcnNlIHRl eCBhbmQgc3RyaW5nIG1ldGhvZHMgYXJlbid0IGdvaW5nCj4gdG8gZ2V0IHlvdSB0aGVyZS4gIFdo YXQgSSByZWFsbHkgbmVlZCB0byBzZWUgYmVmb3JlIGV2ZW4gY29uc2lkZXJpbmcgYQo+IHN5c3Rl bSB0aGF0IHJlcGxhY2VzIHRoZSB3b3JraW5nIHN5c3RlbSBpcyBhbiBhcmd1bWVudCBhYm91dCB3 aHkgaXQKPiBuZWVkcyB0byBiZSByZXBsYWNlZCwgYW5kIG1vcmUgaW1wb3J0YW50bHksIGNvZGUg dGhhdCBjYW4gZG8KPiBldmVyeXRoaW5nIHRoZSBvbGQgY29kZSBjYW4gZG8sIHN1Y2ggYXMgcmVu ZGVyIHRoZSBtYXRodGV4dF9kZW1vLnB5Cj4gZXhhbXBsZT8KPgo+ICAgICBFZGluPiBzaG91bGQg bWF0aHRleHQgc3VwcG9ydC4gSSdtIG5vdCB0YWxraW5nIGFib3V0IHN1cHBvcnQgZm9yCj4gICAg IEVkaW4+IFxmcmFjLCBcYWJvdmUsIFxjaG9vc2UgKHdoaWNoIEkgcGxhbiB0byBhZGQgb25lIGJ5 IG9uZSkKPiAgICAgRWRpbj4gZXRjLiwgYnV0IGFib3V0IG1vcmUgZ2VuZXJhbCB0aGluZ3MgLSBt YWNyb3MgKFxkZWYgZXRjLikuIEkKPgo+IFxhYm92ZSwgXGZyYWMgYW5kIFxzcXJ0IHllcywgXGRl ZiBuby4gIE90aGVycyBJJ20gbm90IHN1cmUgYWJvdXQuCj4KPiAgICAgRWRpbj4gd2FzIHRoaW5r aW5nIG9mIGp1c3Qgc2ltdWxhdGluZyB0aGVtLCBhdCBsZWFzdCB0byBhCj4gICAgIEVkaW4+IHRv bGVyYWJsZSBleHRlbnQsIHZpYSBub3Rpb24gb2YgYW4gZW52aXJvbWVudC4gIEV4YW1wbGU6IFxy bQo+ICAgICBFZGluPiBpbiBwbGFpbiBUZVggc2V0cyB0aGUgY3VycmVudCBmb250IHRvIHJvbWFu ICh1bnRpbCB0aGUgZW5kCj4gICAgIEVkaW4+IG9mIHRoZSBjdXJyZW50IHNjb3BlIC0gJ3RpbGwg aXQgaGl0cyAifSIpLiAgSW1wbGVtZW50YXRpb246Cj4gICAgIEVkaW4+IEF0IHJlbmRlciB0aW1l LCB3aGVuIHRoZSBwYXJzZXIgaGl0cyAiXHJtIiwgaXQgZG9lcyB0aGUKPiAgICAgRWRpbj4gZm9s b3dpbmc6IGVudlsiZmFjZXR5cGUiXSA9ICJybSIsIHdoZXJlIGVudiBpcyB0aGUKPiAgICAgRWRp bj4gZW52aXJvbm1lbnQgaW4gdGhlIGN1cnJlbnQgc2NvcGUuCj4KPiBDYW4gd2UgdXNlIGNsYXNz ZXMgaGVyZSByYXRoZXIgdGhhbiBkaWN0aW9uYXJpZXM/ICBTeW50YWN0aWNhbGx5LCBJCj4gcHJl ZmVyIGVudi5mYWNldHlwZSA9ICJybSIgdG8gdGhlIGRpY3Rpb25hcnkgc3ludGF4Lgo+Cj4gICAg IEVkaW4+IEFsc28sIEkgYW0gcGxhbmluZyB0byBjcmVhdGUgYSBzZXBhcmF0ZSBjbGFzcyBmb3Ig ZXZlcnkgbmV3Cj4gICAgIEVkaW4+IGxheW91dCBpdGVtIHRoYXQgZ2V0cyBpbXBsZW1lbnRlZC4g IEV4YW1wbGU6Cj4gICAgIEVkaW4+IHN1Yi9zdXBlcnNjcmlwdGVkIGl0ZW0gKG51Y2xldXNfc3Vi XnN1cCkgZ2V0cyB0cmFuc2xhdGVkIHRvCj4gICAgIEVkaW4+IGFuIGluc3RhbmNlIG9mIGNsYXNz IFNjcmlwdGVkIHRoYXQgaGFzIHRoZSBhdHRyaWJ1dGVzCj4gICAgIEVkaW4+IG51Y2xldXMsIHN1 cGVyc2NyaXB0IGFuZCBzdWJzY3JpcHQuCj4KPiAgICAgRWRpbj4gMykgSSB3YXMgdGhpbmtpbmcg b2YgZm9jdXNpbmcgb24ganVzdCB0aGUgQWdnIGJhY2tlbmQgZm9yCj4gICAgIEVkaW4+IG5vdyAo dGhhdCBpcyB0aWxsJyB0aGUgZGVhZGxpbmUpLiBJcyB0aGlzIE9LPyAgNCkgSSB0aGluawo+ICAg ICBFZGluPiB0aGF0IHdlIHNob3VsZCBtb3ZlIHRoZSBqb2Igb2YgbWF0aF9wYXJzZV9zX2Z0MmZv bnQsCj4gICAgIEVkaW4+IG1hdGhfcGFyc2Vfc19mdDJmb250X3N2ZywgYW5kIG1hdGhfcGFyc2Vf c19wcyBldGMuICB0byB0aGUKPiAgICAgRWRpbj4gY29ycmVzcG9uZGluZyBiYWNrZW5kcywgYW5k IHRoYXQgc29tZSBnZW5lcmFsIGZ1bmN0aW9uIGxpa2U6Cj4gICAgIEVkaW4+IG1hdGhfcGFyc2Vf cyh4LCB5LCBzLCBwcm9wLCBhbmdsZSkgc2hvdWxkIGJlIGltcGxlbWVudGVkCj4gICAgIEVkaW4+ IGRpcmVjdGx5IGluIG1hdGh0ZXh0LnB5IChwZXJoYXBzIGV2ZW4gd2l0aG91dCB0aGUgImFuZ2xl Igo+ICAgICBFZGluPiBwYXJhbWV0ZXIpIHNvIHRoYXQgaXQgcmV0dXJucyBhIGxpc3Qgb2YgdGhl IGZvbGxvd2luZyB0eXBlOgo+ICAgICBFZGluPiBbKHgxLCB5MSwgczEsIHByb3AxLCBhbmdsZTEp LCAuLi4gLCAoeG4sIHluLCBzbiwgcHJvcG4sCj4gICAgIEVkaW4+IGFuZ2xlbildCj4KPiBJIGNh bid0IGFkZHJlc3MgdGhlc2UgcXVlc3Rpb25zIHVudGlsIEkgdW5kZXJzdGFuZCB3aHkgeW91IGFy ZSB0cnlpbmcKPiB0byByZXdyaXRlLCByYXRoZXIgdGhhbiBleHRlbmQgb3IgZml4LCB0aGUgZXhp c3RpbmcgY29kZS4gIFRoZSBhZ2cgYW5kCj4gdGhlIHBvc3RzY3JpcHQgYmFja2VuZHMgd29yayB3 aXRoIHRoZSBleGlzdGluZyBmcmFtZW93b3JrLiAgQXMgZmFyIGFzCj4gSSBjYW4gc2VlLCB5b3Ug Y291bGQgZml4IHRoZSBsYXlvdXQgZW5naW5lIGluIHRoZSBleGlzdGluZyBmcmFtZXdvcmsKPiBh bmQgbm90IGhhdmUgdG8gdGhpbmsgdG9vIG11Y2ggYWJvdXQgYmFja2VuZHMsIHdpdGggdGhlIGV4 Y2VwdGlvbiB0aGF0Cj4geW91IG5lZWQgYSBiYXNpYyBiYWNrZW5kIGxpbmUgZHJhd2luZyBBUEkg Zm9yIHRoaW5ncyBsaWtlIHRoZQo+IGhvcml6b250YWwgbGluZSBpbiBcZnJhYy4KPgo+ICAgICBF ZGluPiA1KSBXaGF0IHdvdWxkIGJlIHRoZSBjb25zZXF1ZW5jZXMgb2YgZGlzdHJpYnV0aW5nIGEg R1BMIGZvbnQKPiAgICAgRWRpbj4gKEZyZWVGb250KSB3aXRoIG1hdHBsb3RsaWIuIEkgbWVhbiwg aXQncyBub3QgdGhhdCB1c2luZyBhCj4gICAgIEVkaW4+IEdQTCBmb250IGluIHNvbWUgbm9uLUdQ TCBhcHAgY291bGQgYmUgYSBicmVhY2ggb2YgdGhlCj4gICAgIEVkaW4+IEdQTC4gSXMgdGhlcmUg YW55IGludGVyZXN0IGluIHRoaXM/Cj4KPiBEb24ndCB1bmRlcmVzdGltYXRlIHRoZSB6ZWFsb3Vz bmVzcyBvZiBHUEwgYWR2b2NhdGVzLiAgSSBoYXZlIGJlZW4KPiBpbmZvcm1lZCBieSB0aGUgRlNG IHRoYXQgbWVyZWx5IHByb3ZpZGluZyBhIGJhY2tlbmQgdGhhdCBkb2VzCj4KPiBpbXBvcnQgcXQK Pgo+IGluIGEgYmFja2VuZCB0aGF0IGlzIG9wdGlvbmFsbHkgaW5jbHVkZWQgYXQgcnVudGltZSBi eSBhIHVzZXIgd2hvIG1heQo+IGJlIHVzaW5nIGEgR1BMIHZlcnNpb24gb2YgUVQgb3IgbWF5IGJl IHVzaW5nIGEgY29tbWVyY2lhbGx5IGxpY2Vuc2VkCj4gdmVyc2lvbiBvZiBxdCAod2UgY2FuJ3Qg a25vdyB3aGljaCkgbWFrZXMgdGhlIGVudGlyZSBjb2RlIGJhc2Ugb2YgbXBsCj4gR1BMJ2QuICBU aGlzIGNsYWltIHdhcyBwcm92aWRlZCB3L28gYXJndW1lbnQgYW5kIEkgZnJhbmtseSBmaW5kIGl0 Cj4gbHVkaWNyb3VzLiAgUm9iZXJ0IGNhbiBwcm9iYWJseSB0ZWxsIHlvdSB0aGUgSUFOQUwgcmVz cG9uc2UgdG8KPiBpbmNsdWRpbmcgR1BMJ2QgZm9udHMgYnV0IEknbSBub3QgdG9vIGludGVyZXN0 ZWQgaW4gZGlzdHJpYnV0aW5nIHRoZW0uCj4gV2UgY2FuIGFsd2F5cyBwb2ludCB0aGUgdXNlciB0 byBhIHdlYiBzaXRlIGFuZCB0aGV5IGNhbiBkb3dubG9hZCB0aGVtCj4gZnJvbS4KPgo+ICAgICBF ZGluPiBUaGUgbmV3IG1hdGh0ZXh0LnB5IGlzIGF0dGFjaGVkLiBQbGVhc2UgZG8gbm90IHRyeSBp dCBhdAo+ICAgICBFZGluPiBob21lIDspIGJlY2F1c2Ugbm90aGluZyB2aXNpYmxlIHlldCB3b3Jr cy4KPgo+IE9LLgo+Cj4gSkRICj4K
The SoC deadline (for code) is tommorow (Aug 21st.), so I decided to commit what I have done till now to the repository. JDH is going on a vacation and will not be able to review it for at least a week, but I had to commit it before 21st. Aug - that's the SoC rules. Hopefully, I'll be adding new stuff the next week (and after), but that doesn't count as part of SoC anymore... Since this is my first commit, can anyone please test it. I tested it only on my windows box. I changed __init__.py, mathtext.py CHANGELOG I added mathtext2.py mathtext2_demo.py Anyone who wants to test the new mathtext2 has to add the following line(s) to the matplotlibrc (mathtext2 is disabled by default): mathtext2: True # Needed to enable the new mathtext # Font lines, feel free to change or uncomment (BaKoMa is used by default) mathtext.rm : FreeSerif.ttf mathtext.it : FreeSerifItalic.ttf # Text italic mathtext.tt : FreeMono.ttf # Typewriter (monospaced) mathtext.mit : FreeSerifItalic.ttf # Math italic mathtext.cal : FreeSansOblique.ttf # Caligraphic mathtext.nonascii: FreeSerif.ttf # Used for \sum, \infty etc. The FreeFont fonts (or any other for that matter) have to be downloaded and put into the mpl-data dir. The default settingsuse the current bakoma fonts, and they play pretty well with FreeSerif.ttf as the nonascii (unicode) font. so I recommend you just put the line mathtext.nonascii: FreeSerif.ttf and comment out the rest (experiment a little with fonts). Tonight I plan to add support for fractions. Beware that the only supported backend for now is Agg. mathtext2_demo.py is attached