The following module was proposed for inclusion in the Module List: modid: GD::Text::Arc DSLIP: adpOp description: Draw TrueType text around edge of circle userid: DALLEN (Daniel Allen) chapterid: 18 (Images_Pixmaps_Bitmaps) communities: will be discussed in kw.pm / to.pm mailing lists, possibly perlmonks
similar: rationale: GD can draw truetype text at any angle in a straight line. However, to draw text along a curve (such as around the top or bottom of a circle), one must invest some time to make the math work out correctly, as there are no existing modules to do that automatically. The math is not difficult at all, but getting the angles and signs correct can be tricky. This module currently draws text to follow a circular arc. Parameters include: GD image object, font-name, size, text, x and y position of circle origin, angle, justification, and orientation. The angle can either be the starting angle on the circle, or the center of the text (depending on the justification). Justification is either left- or center. Orientation can be clockwise or counterclockwise (as would be natural for at the top or bottom of the circle, respectively). I plan to eventually add "x-axis" and "y-axis" to allow the arc to follow an ellipse as well. Namespace: GD::Text::Arc is as simple and straight-forward a name as any other I have considered. Possible names I've considered and rejected: GD::Text::Wrap::Circle (rejected because it doesn't wrap text inside a circle, as you might expect by the superclass) GD::Text::Path::Arc (appropriate if somebody was going to write the superclass, to follow arbitrary shapes. But the name doesn't sound as clean.) GD::Text::Circular (alternative name; would be OK but it doesn't sound as clean.) enteredby: DALLEN (Daniel Allen) enteredon: Fri Nov 7 22:45:49 2003 GMT The resulting entry would be: GD::Text:: ::Arc adpOp Draw TrueType text around edge of circle DALLEN Thanks for registering, -- The PAUSE PS: The following links are only valid for module list maintainers: Registration form with editing capabilities: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=64500000_74cc266877c98489&SUBMIT_pause99_add_mod_preview=1 Immediate (one click) registration: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=64500000_74cc266877c98489&SUBMIT_pause99_add_mod_insertit=1