Spiral Wrapped Text

From Evil Mad Scientist Wiki
Revision as of 20:34, 15 June 2011 by Dnewman (talk | contribs)
Jump to: navigation, search
eggbottiny.jpg This wiki page is part of the documentation for the Egg-Bot kit. Click here to return to the Egg-Bot overview.
The specifics of this portion assume that you have version 2.2.0 or higher of the Eggbot extensions installed.
Click here if you need help determining which version you have installed.

<<< Post process trace bitmap || Spiral Wrapped Text || Stretch >>>


Introduction

extensions-spiral-text-01.png extensions-spiral-text-02.png

Creating text which gently spirals around an egg makes for a fun and striking design. Make an egg with a favorite poem, text passage, or even an egg related recipe! This extension will automatically size your text to achieve a desired number of wraps around your egg. The text itself is drawn with vector fonts selected for use with the Eggbot [1]. The fonts are drawn as paths: they do not need to be converted to paths before plotting.

Basic operation

Type the desired text in the extension's "Text" input field and then enter the number of times to wrap the text around the egg. You may optionally select one of three font styles: Sans, Times, or Script. If your text uses the characters "&" or "<" then they must be entered as "&amp;" or "&lt;", respectively. Before plotting on an egg, ensure that the option "Egg (x) axis wraps around" is checked in the Eggbot Control externsion's "Options" tab.

The number of times to wrap need not be a whole number: you may use values such as 8.5. The extension sizes the text to achieve the necessary overall length. For instance, if you enter 8.5, then the text will have an overall length of 8.5 × 3200 pixels. Consequently, the more number of times the text wraps around the egg, the larger the size of the text. If the text seems too small, just increase the amount of wrapping. Conversely, if it is too large, decrease the amount wrapping. Note that if the text scales to too large of a size, then the wrapped text may overlap between wraps. If this occurs, decrease the size of the text by decreasing the amount of wrapping.

The three font styles, Sans, Times, and Script, represent a single stroke font without serifs (Sans), a Roman font with serifs (Times), and a single stroke cursive font (Script). These fonts correspond to the "Sans 1-stroke", "Serif medium", and "Script 1-stroke" fonts of the Hershey Text extension.

Note that the extension's text input field is not very friendly: it's difficult to see all your text at once or to move about within the text. This is an Inkscape limitation. You may find it easier to edit your text in some other application and then cut-and-paste it into the extension's text input field [2].

Changing fonts and other markup

This extension supports a simple markup language which allows switching between font families as well as selecting between bold, italics, and emphasized font faces. This markup language uses an HTML-like syntax,

<command>some text</command>

For example, to select one of the three font families Sans, Times, or Roman, use

<sans>some text</sans>
<times>some text</times>
<script>some text</script>

Note that you do not need to enter "&lt;" for the "<".

To make the text bold, emphasized, or italicized, use the markup

<b>Some bold text</b>
<em>Some emphasized text</em>
<it>Some italicized text</it>

These markups may be combined. Foe example,

<b><it>That's absolutely beautiful!</it></b>

Note that the Sans font family has no italicized font while italics is redundant for the Script font family. The specific fonts used for each family are shown in the table below. The specific font names are the names used by the Hershey Font extension of the Render extension category.

Family Normal Bold Italics Bold + Italics
Sans Sans 1-stroke Sans bold Sans 1-stroke Sans bold
Times Serif medium Serif bold Serif medium italic Serif bold italic
Script Script 1-stroke Script medium Script 1-stroke Script medium

To select specific fonts, use the markups shown below. Again, the font names are as per the Hershey Text extension.

Font Markup
Sans 1-stroke <futural>text</futural>
Sans bold <futuram>text</futuram>
Serif medium <timesr>text</timesr>
Serif medium italic <timesi>text</timesi>
Serif bold italic <timesib>text</timesib>
Serif bold <timesrb>text</timesrb>
Script 1-stroke <scripts>text</scripts>
Script 1-stroke (alt) <cursive>text</cursive>
Script medium <scriptc>text</scriptc>
Gothic English <gothiceng>text</gothiceng>
Gothic German <gothicger>text</gothicger>
Gothic Italian <gothicita>text</gothicita>
Greek 1-stroke <greek>text</greek>
Greek medium <timesg>text</timesg>
Cyrillic <cyrillic>text</cyrillic>
Japanese <japanese>text</japanese>
Astrology <astrology>text</astrology>
Math (lower) <mathlow>text</mathlow>
Math (upper) <mathupp>text</mathupp>
Markers <markers>text</markers>
Meteorology <meteorology>text</meteorology>
Music <music>text</music>
Symbolic <symbolic>text</symbolic>

To see examples of a given font, use the Hershey Text extension to draw samples.

Additional controls

To account for the horizontal compression which occurs when plotting on eggs, select the "Stretch the text horizontally..." checkbox. That will horizontally stretch the text by 50% [3].

To rotate the text 180 degrees turning it upside down, check the "Plot with the egg's bottom at the egg motor?" checkbox. You do not need to use this option if you have reversed the motion of both motors in the Options tab of the Eggbot Control extension.

Notes

1. For more information on these fonts, please see [Hershey Text].
2. On Mac OS X, this can be difficult: you need to change the X11 preferences to allow cut and paste operations between the clipboard and pasteboard. This, however, is not a mode you want to leave enabled as it causes cut and paste operations on elements in your Inkscape drawings to work incorrectly.
3. This horizontal compression is a result of the egg's horizontal or equatorial circumference being less than its pole-to-pole circumference.


<<< Post process trace bitmap || Spiral Wrapped Text || Stretch >>>