SourceForge logo
SourceForge logo
Menu

matplotlib-devel — matplotlib developers

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
2
3
4
(2)
5
(8)
6
(10)
7
(6)
8
(4)
9
(4)
10
(2)
11
(1)
12
(3)
13
(4)
14
(4)
15
16
17
18
19
(4)
20
(6)
21
(5)
22
(2)
23
24
(2)
25
(3)
26
(2)
27
(1)
28
(4)
29
30

Showing 2 results of 2

From: <edi...@gm...> - 2006年09月04日 19:11:36
Hi all,
I implemented the following method in ft2font.cpp, and although it
works I don't know if it does the *right thing*.
char FT2Font::draw_rect_filled__doc__[] =
"draw_rect_filled(x0, y0, x1, y1)\n"
"\n"
"Draw a filled rect to the image. It is your responsibility to set the\n"
"dimensions of the image, eg, with set_bitmap_size\n"
"\n"
;
Py::Object
FT2Font::draw_rect_filled(const Py::Tuple & args) {
 _VERBOSE("FT2Font::draw_rect_filled");
 args.verify_length(4);
 long x0 = Py::Int(args[0]);
 long y0 = Py::Int(args[1]);
 long x1 = Py::Int(args[2]);
 long y1 = Py::Int(args[3]);
 FT_Int iwidth = (FT_Int)image.width;
 FT_Int iheight = (FT_Int)image.height;
 if ( x0<0 || y0<0 || x1<0 || y1<0 ||
 x0>iwidth || x1>iwidth ||
 y0>iheight || y1>iheight )
 throw Py::ValueError("Rect coords outside image bounds");
 for (long j=y0; j<y1; ++j) {
 for (long i=x0; i<x1+1; ++i) {
 image.buffer[i + j*iwidth] = 255;
 }
 }
 return Py::Object();
}
Basically, I copied the existing draw_rect method and changed the code
a bit. The above code draws a filled rectangle in the image buffer. I
use it mathtext for drawing a line (for a fraction etc.). What I'm
interested is the for loop:
for (long j=y0; j<y1; ++j) {
 for (long i=x0; i<x1+1; ++i) {
 image.buffer[i + j*iwidth] = 255;
 }
 }
I'm not sure that this is the right code - probably some pixel isn't
getting drawn. Anyone has some ideas?
Thanks,
Edin
From: <edi...@gm...> - 2006年09月04日 19:09:44
Hi all,
I just wanted to get others some insight about what I did in
mathtext2. Who knows - it might turn out to be useful to someone ;)
Also, any comments/thoughts are appreciated.
A TeX math expression:
$\sum_{i = 0}^{\infty}$
gets translated to a pure Python list, consisting of Python builtins:
[u'\\sum', u'_', [u'i', u' ', u'=', u' ', u'0'], u'^', [u'\\infty']]
This gets fed to a token parser that produces the TeX equivalent of
hboxes. Every unicode character (including "\sum" - u'\u2211') gets
translated to a TexCharClass instance. TexCharClass (I'm not very good
at naming things :) is a class that completely handles rendering of a
single character. It does this based on the information available from
the font file (TrueType). More about fonts can be found in the
excellent FreeType lib docs.
http://www.freetype.org/freetype2/documentation.html
A combination like a_b^c (or a^c_b) gets translated to a Scripted
instance, which, again, handles the rendering of the sub/supercript
and the nucleus. Similar for a fraction: a Fraction instance has a
numerator and denumerator, which are used for rendering.
The above python list
[u'\\sum', u'_', [u'i', u' ', u'=', u' ', u'0'], u'^', [u'\\infty']]
and any other sublist, like
[u'i', u' ', u'=', u' ', u'0']
get translated to a Hbox instance.
TexCharClass, Scripted, Fraction, Hbox (but also Line, Kern) are all
sublclasses of Renderer, a class that defines an __init__ method and a
render method. The data attributes of a Renderer instance (initialized
to 0 by the Renderer's __init__ method) are xmin, xmax, ymin, ymax,
bearingx, bearingy, width, height - for now. Basically, these are
taken from the FreeType implementation of glyphs. In other words,
every instance of Renderer, that is: an instance of a subclass of
Renderer (Renderer is a virtual class) behaves like a glyph.
http://www.freetype.org/freetype2/docs/glyphs/glyphs-3.html
Unfortunately, although FreeType allows drawing of vertical text, I
haven't implemented it yet. This would be also a base for Vbox, so,
for example, \frac 1 2 could be translated to Vbox([u'1', Line(width,
height), u'2']). Supporting vertical text involves adding additional
attributes to the classes like, vertical bearingx, vertical bearingy
(see the FreeType docs).
Cheers,
Edin

Showing 2 results of 2

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /