RE: Size of text in Flash?
Andrew Watson <[email protected]> Thu, 12 Dec 2002 15:48:13 +1100
| Newsgroups | gmane.comp.java.jgenerator.devel |
|---|---|
| Message-ID | <[email protected]> |
------ =_NextPart_000_01C2A1F5.E1AD84E0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable William, unfortunately there is not an easy answer, as the TextField you = are using requires a bit of extra space in order to display correctly. = What I mean is that if you work out that the glyphs take up 100 * 25 and = use that as the size for the TextField, then it will not all display = correctly - you need to add a buffer around it of +2 (or something like = that) so it will display - in this example 102*27. =20 You can most easily see this effect in the FieldTest.swf below. The = blue text is a Static Text box (no kerning) and the green text is = dynamic text, set from actionscript. While the characters line up, you = will see that the two border boxes around the green text overlap - so = you can see that the size given to the dynamic text has to be larger = than the space of the characters it contains. Having said that, I have made some alterations to the Study_4 file that = appear to perform as required... though I would say that if you are only = using the TextField so that you can underline the text, then you may be = better off using static text and drawing a rectangle underneath it for = the underline, then you wouldn't have to worry about the extra size bit, = you could make the underline a decent size so you can see it, and you = could use kerning in the text (which I added some code to handle). Having said that, I hope this works as you expect. Andrew Watson =20 -----Original Message----- From: William L. Thomson Jr. [SMTP:[email protected]] Sent: Thursday, December 12, 2002 11:35 AM To: JGen Devel Subject: RE: [Jgen-devel] Size of text in Flash? Andrew, Thanks for you suggestion but I still am not able to achieve the end goal I seek. When you determined the size of the text, I assume you used those boundaries for the text field. But how did you confirm the size of the box/bounds?=20 In my case what I am doing is creating a TextField, and trying to calculate the size of the box based on the size of the chars. Once the TextField's bounds have been set I am passing that TextField to a function that turns it into a button. That function creates a button to the exact bounds the TextField was set to. In all experiments/tests so far the box is either to big or to small. When I do seem to have things working I change the text, and problems again. For clarity I am including a test case I made so I could figure out the ratio, or what I need to do. I am attaching it for others to see comment on. You will see your suggestions commented out, not entirely, but partially. Since I started with your suggestions and when it did not work I elaborated on them. On Wed, 2002-12-11 at 15:05, Andrew Watson wrote: > I've conducted some brief tests on Flash with Arial font, and these = calculations seem to hold true.... >=20 > ratio =3D 1024 / point_size > size_in_pixels =3D size_in_twips / ratio > space_between_baselines =3D (ascent_in_twips + descent_in_twips) / = ratio + line_space_in_points >=20 > For example, with Arial font, ascent is 927, descent is 217, and the = height of a letter A is 733 (according to flash) > so for size 16 Arial font, with a line_spacing of 2: >=20 > ratio =3D 1024 / 16 =3D 64 > height in pixels of a letter A =3D 733 / 64 =3D 11.45 > distance from the bottom of one A to the next =3D (927 + 217) / 64 + 2 = =3D 19.875 >=20 > I scaled this up 8 times, and it still held true, so even if it's not = right, its pretty damn close. >=20 > Hope this helps >=20 > Andrew Watson >=20 --=20 Sincerely, William L. Thomson Jr. Support Group Obsidian-Studios Inc. 439 Amber Way Petaluma, Ca. 94952 Phone 707.766.9509 Fax 707.766.8989 http://www.obsidian-studios.com __________ Information from NOD32 1.334 (20021205) __________ This message was checked by NOD32 for Exchange e-mail monitor. http://www.nod32.com << File: Study_4.java >> ------ =_NextPart_000_01C2A1F5.E1AD84E0 Content-Type: application/x-shockwave-flash; name="FieldTest.swf" Content-Transfer-Encoding: base64 Q1dTBjADAAB4nKtgYI1nYOBfwMDAw8jgzPT//397ZmkGBoZpYgwMJakVJQwMNqV2fkCGgp2djX6p HYMsgz1PCiMDAyNDCyOrY1FmYg4bAx+DAIMWgyfDCoZnDMKMAgwCphnVCRWH3erO2ouxJzy2fxNt 8icu2Tw1ACiT5TTxZ9i7I89t/hdYBrEdlddVvpHyLCGIXffAjVigtItr5wMvtV97n9ybHW70gSnC QVtrdsjyjxKi+rIuKz6L9G8tMcpbKhN0cyN3JoNaN8OenfMrdzDEL2eI69idOTF3doNaFoOL55w2 DwZFk4gHc9VYw3X0Z2zZycEU5iD4DGh8itK3b4HbNHcEVzqocekZ6aZP2DiFOap+t3Pwt3ss3jZs cUbebZvPvj7HGH84PSc+526OYt79srWpeevKxBoETJPkvn1bse+11/uoGbfDErZJm1+Sj/FJSU9y r70Vv+/VxRuTHyXGzn45QbZdgEGBwY7BjyGVoYShgmE+800gKcsYxvSEyYpJlpGBiYMhwsL5Wv3x hgi/IJEeBoYINcfvLWwMEUJKWy4wN0Rw2JtvAcYBw38mPyDJxJARenUS88UoBpF5DQzMnP2MYCkG JUYHRj6/sk2rOCJZJ+3W3vI8W2tB64RI7U27m5kYNjBhl2LoZ2MDOoDhIgMwzhjObg7aUM9ZBTSP mSGzYqru34bjDL3ajAwOjAz/QVaAgQYkIdgEKDj6eLr72So5u/qFuAYp2dm4+fuFKLg5OrvaKoFT gpJCsGcUkGNopqTg7O/jH2SrpGxg4OZmYKAESUNq6SXWIGyjD9IKTFABdiAHMQGthzjo1dqj2hAH sQykg5iB1kMcdI95bY8D0E4AZbr8NQ== ------ =_NextPart_000_01C2A1F5.E1AD84E0 Content-Type: application/octet-stream; name="Study_4.java" Content-Transfer-Encoding: base64 LyoqIFN0dWR5IDENCiAqIEBhdXRob3IgIFdpbGxpYW0gTC4gVGhvbXNvbiBKci4NCiAqIEBjb21w YW55IE9ic2lkaWFuLVN0dWRpb3MgSW5jLg0KICogQHZlcnNpb24gMS4wDQogKiBAZGF0ZSBBcHJp bCA3LCAyMDAyDQogKiBAcG9pbnQgVG8gY3JlYXRlIGEgbmV3IHN3ZiBwbGFjZSBhIHRleHRmaWVs ZCBvbiB0aGUgc3RhZ2UgdGhhdCBzaG93cyB0aGUgY3VycmVudCBmcmFtZSBudW1iZXINCiAqLw0K DQpwYWNrYWdlIGNvbS5vYnNpZGlhbi5zdHVkaW9zLmpnZW5lcmF0b3Iuc3R1ZGllczsNCg0KaW1w b3J0IGphdmEuYXd0Lmdlb20uQWZmaW5lVHJhbnNmb3JtOw0KaW1wb3J0IGphdmEuYXd0Lmdlb20u UmVjdGFuZ2xlMkQ7DQppbXBvcnQgamF2YS5pby4qOw0KaW1wb3J0IGphdmEudXRpbC4qOw0KaW1w b3J0IGNvbS5pdi5mbGFzaC5hcGkuKjsNCmltcG9ydCBjb20uaXYuZmxhc2guYXBpLmFjdGlvbi4q Ow0KaW1wb3J0IGNvbS5pdi5mbGFzaC5hcGkuYnV0dG9uLio7DQppbXBvcnQgY29tLml2LmZsYXNo LmFwaS5zaGFwZS4qOw0KaW1wb3J0IGNvbS5pdi5mbGFzaC5hcGkudGV4dC4qOw0KaW1wb3J0IGNv bS5pdi5mbGFzaC51dGlsLio7DQoNCnB1YmxpYyBjbGFzcyBTdHVkeV80IHsNCg0KICAgIHByaXZh dGUgZmluYWwgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgRk9OVF9IRUlHSFQgPSAxMjsN Cg0KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZykgew0KICAgICAgICBu ZXcgU3R1ZHlfNCgpOw0KICAgIH0NCiAgICBwdWJsaWMgU3R1ZHlfNCgpIHsNCiAgICAgICAgVXRp bC5pbml0KCk7DQogICAgICAgIC8qIEZsYXNoIEZpbGUgKi8NCiAgICAgICAgRmxhc2hGaWxlIGZs YXNoRmlsZSA9IEZsYXNoRmlsZS5uZXdGbGFzaEZpbGUoKTsgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gY3JlYXRlIG5ldyBmbGFzaCBmaWxlDQogICAgICAgIGZsYXNoRmlsZS5zZXRGcmFtZVJh dGUoMTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNl dCB0aGUgZmxhc2ggZnJhbWUgcmF0ZQ0KICAgICAgICBSZWN0YW5nbGUyRCByZWN0YW5nbGUyZCA9 IGZsYXNoRmlsZS5nZXRGcmFtZVNpemUoKTsgICAgICAgICAgICAgICAgICAgICAvLyBjcmVhdGUg YSBuZXcgcmVjdGFuZ2xlMmQNCiAgICAgICAgcmVjdGFuZ2xlMmQuc2V0RnJhbWUoMCwwLDEyODAw LDk2MDApOyAgICAgICAgIC8vIHNldCB0aGUgcmVjdGFuZ2xlMmQgZnJhbWUgc2l6ZQ0KICAgICAg ICBmbGFzaEZpbGUuc2V0RnJhbWVTaXplKHJlY3RhbmdsZTJkKTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvLyBzZXQgdGhlIGZsYXNoIGZyYW1lIHNpemUNCiAgICAgICAgZmxh c2hGaWxlLnNldFZlcnNpb24oNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gc2V0IHRoZSB2ZXJzaW9uIG9mIEZsYXNoDQoNCiAgICAgICAgLyogU2NyaXB0ICovDQogICAg ICAgIFNjcmlwdCBzY3JpcHQgPSBuZXcgU2NyaXB0KDEpOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBzY3JpcHQgd2l0aCAxIGZyYW1lDQogICAgICAg IHNjcmlwdC5zZXRNYWluKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIG1ha2UgdGhpcyB0aGUgbWFpbiBzY3JpcHQNCiAgICAgICAgZmxh c2hGaWxlLnNldE1haW5TY3JpcHQoc2NyaXB0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gc2V0IG1haW4gc2NyaXB0IGZvciB0aGUgZmlsZQ0KDQogICAgICAgIC8q IEZyYW1lICovDQogICAgICAgIEZyYW1lIGZyYW1lID0gc2NyaXB0LmdldEZyYW1lQXQoMCk7DQog ICAgICAgIA0KICAgICAgICAvKiBGb250Ki8NCiAgICAgICAgU3RyaW5nIGZmdEZpbGUgPSBVdGls LnRyYW5zbGF0ZVBhdGgoICJBcmlhbC5mZnQiICk7DQogICAgICAgIEZpbGUgZm9udEZpbGUgPSBu ZXcgRmlsZSggZmZ0RmlsZSApOw0KICAgICAgICBpZiggIWZvbnRGaWxlLmV4aXN0cygpICkgew0K ICAgICAgICAgICAgZmZ0RmlsZSA9IFV0aWwuY29uY2F0RmlsZU5hbWVzKCBQcm9wZXJ0eU1hbmFn ZXIuZm9udFBhdGgsIGZmdEZpbGUgKTsNCiAgICAgICAgICAgIGZvbnRGaWxlID0gbmV3IEZpbGUo IFV0aWwuZ2V0SW5zdGFsbERpcigpLCBmZnRGaWxlICk7DQogICAgICAgIH0NCiAgICAgICAgZmZ0 RmlsZSA9IGZvbnRGaWxlLmdldEFic29sdXRlUGF0aCgpOw0KDQogICAgICAgIEZvbnQgZm9udCA9 IEZvbnREZWYubG9hZCggZmZ0RmlsZSApOw0KICAgICAgICANCiAgICAgICAgLyogVGV4dEZpZWxk Ki8NCiAgICAgICAgU3RyaW5nIHRleHQgPSAiTmV4dCA+PiI7DQogICAgICAgIGRvdWJsZSBmb250 X3ggPSAwOw0KICAgICAgICBkb3VibGUgZm9udF95ID0gMDsNCiAgICAgICAgZG91YmxlIHJhdGlv ID0gMTAyNC8oRk9OVF9IRUlHSFQgKiAyMC4wKTsNCiAgICAgICAgY2hhcltdIGNoYXJzID0gdGV4 dC50b0NoYXJBcnJheSgpOw0KCWRvdWJsZSBlbV93aWR0aCA9IDIgKiBmb250LmxlYWRpbmcgKyA0 MDsNCgkvL2NoYXIgbGFzdCA9IDA7DQogICAgICAgIGZvcihpbnQgaT0wO2k8Y2hhcnMubGVuZ3Ro O2krKykgew0KICAgICAgICAgICAgaW50IGluZGV4ID0gZm9udC5nZXRJbmRleChjaGFyc1tpXSk7 DQogICAgICAgICAgICAvL1JlY3RhbmdsZTJEW10gcmVjdDJkID0gZm9udC5nZXRHbHlwaEJvdW5k cygpOw0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJDaGFyICAgID0iK2NoYXJzW2ld KTsNCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQXNjZW50ICA9Iitmb250LmFzY2Vu dCk7DQogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkRlc2NlbnQgPSIrZm9udC5kZXNj ZW50KTsNCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQWR2YW5jZSA9Iitmb250Lmdl dEFkdmFuY2VWYWx1ZShpbmRleCkpOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBlbV93aWR0 aCArPSBmb250LmdldEFkdmFuY2VWYWx1ZShpbmRleCk7DQoJICAgIC8qDQoJICAgIGlmIChsYXN0 ICE9IDApDQoJICAgIHsNCgkgICAgICBlbV93aWR0aCArPSBmb250LmdldEtlcm5pbmcobGFzdCwg Y2hhcnNbaV0pOw0KCSAgICB9DQoJICAgIGxhc3QgPSBjaGFyc1tpXTsNCgkgICAgKi8NCiAgICAg ICAgfQ0KCWRvdWJsZSBmb250X2hlaWdodCA9IChmb250LmFzY2VudCtmb250LmRlc2NlbnQpIC8g cmF0aW8gKyA2MDsNCglkb3VibGUgZm9udF93aWR0aCA9IGVtX3dpZHRoIC8gcmF0aW87DQoJDQog ICAgICAgIFRleHRGaWVsZCB0ZXh0RmllbGQgPSBuZXcgVGV4dEZpZWxkKCI8dT4iK3RleHQrIjwv dT4iLCAicDEiLCBmb250LCBGT05UX0hFSUdIVCoyMCwgQWxwaGFDb2xvci5ibHVlKTsNCiAgICAg ICAgU3lzdGVtLm91dC5wcmludGxuKCJUZXh0RmllbGQgSGVpZ2h0ID0iK2ZvbnRfaGVpZ2h0KTsN CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJUZXh0RmllbGQgV2lkdGggID0iK2ZvbnRfd2lk dGgpOw0KICAgICAgICB0ZXh0RmllbGQuc2V0Qm91bmRzKEdlb21IZWxwZXIubmV3UmVjdGFuZ2xl KDAsMCxmb250X3dpZHRoLGZvbnRfaGVpZ2h0KSk7DQogICAgICAgIC8vYWxpZ25tZW50ICgwLWxl ZnQsMS1yaWdodCwyLWNlbnRlciwzLWp1c3RpZnkpIHJlc3QgaW4gdHdpeGVscw0KICAgICAgICAv L3RleHRGaWVsZC5zZXRMYXlvdXQoMCwwLDAsMCwwKTsNCiAgICAgICAgdGV4dEZpZWxkLmFkZEZs YWdzKFRleHRGaWVsZC5CT1JERVIpOw0KICAgICAgICAvL3RleHRGaWVsZC5hZGRGbGFncyhUZXh0 RmllbGQuSEFTRk9OVCk7DQogICAgICAgIC8vdGV4dEZpZWxkLmFkZEZsYWdzKFRleHRGaWVsZC5I QVNMQVlPVVQpOw0KICAgICAgICAvL3RleHRGaWVsZC5hZGRGbGFncyhUZXh0RmllbGQuSEFTTUFY TEVOR1RIKTsNCiAgICAgICAgLy90ZXh0RmllbGQuYWRkRmxhZ3MoVGV4dEZpZWxkLkhBU1RFWFQp Ow0KICAgICAgICAvL3RleHRGaWVsZC5hZGRGbGFncyhUZXh0RmllbGQuSEFTVEVYVENPTE9SKTsN CiAgICAgICAgdGV4dEZpZWxkLmFkZEZsYWdzKFRleHRGaWVsZC5IVE1MKTsNCiAgICAgICAgdGV4 dEZpZWxkLmFkZEZsYWdzKFRleHRGaWVsZC5OT1NFTEVDVCk7DQogICAgICAgIHRleHRGaWVsZC5h ZGRGbGFncyhUZXh0RmllbGQuUkVBRE9OTFkpOw0KICAgICAgICAvL3RleHRGaWVsZC5hZGRGbGFn cyhUZXh0RmllbGQuVVNFT1VUTElORVMpOw0KICAgICAgICB0ZXh0RmllbGQuc2V0TWF4TGVuZ3Ro KHRleHQubGVuZ3RoKCkpOw0KICAgICAgICANCiAgICAgICAgLy9mb250LnByaW50Q29udGVudChT eXN0ZW0ub3V0LCJJbmRlbnQ/Iix0ZXh0RmllbGQuZ2V0SUQoKSk7DQogICAgICAgIA0KICAgICAg ICAvKiBUZXh0RmllbGQgSW5zdGFuY2UgKi8NCiAgICAgICAgQnV0dG9uMiBidXR0b24yID0gY3Jl YXRlQnV0dG9uKHRleHRGaWVsZCk7DQogICAgICAgIC8vYnV0dG9uMi5hZGRBY3Rpb25Db25kaXRp b24ob25SZWxlYXNlKCkpOw0KICAgICAgICBJbnN0YW5jZSB0ZXh0RmllbGRJbnN0YW5jZSA9IGZy YW1lLmFkZEluc3RhbmNlKGJ1dHRvbjIsMixBZmZpbmVUcmFuc2Zvcm0uZ2V0VHJhbnNsYXRlSW5z dGFuY2UoMCwwKSxudWxsKTsNCiAgICAgICAgDQogICAgICAgIC8qIFdyaXRlIFNXRiovDQoJdHJ5 IA0KCXsNCgkgIGZsYXNoRmlsZS5zZXRDb21wcmVzc2VkKGZhbHNlKTsNCgkgIEZsYXNoT3V0cHV0 IGZvYiA9IGZsYXNoRmlsZS5nZW5lcmF0ZSgpOw0KCSAgQnVmZmVyZWRPdXRwdXRTdHJlYW0gYm9z ID0gbmV3IEJ1ZmZlcmVkT3V0cHV0U3RyZWFtKCBuZXcgRmlsZU91dHB1dFN0cmVhbSggInN0dWR5 XzQuc3dmIiApICk7DQoJICBib3Mud3JpdGUoIGZvYi5nZXRCdWYoKSwgMCwgZm9iLmdldFNpemUo KSApOw0KCSAgYm9zLmNsb3NlKCk7DQoJfSANCgljYXRjaCggRXhjZXB0aW9uIGUgKSANCgl7DQoJ ICBMb2cubG9nUkIoUmVzb3VyY2UuRVJSV1JJVElOR0ZJTEUsIG5ldyBPYmplY3RbXSB7InN0dWR5 XzQuc3dmIn0sIGUpOw0KCX0NCiAgICB9DQogICAgcHJvdGVjdGVkIEJ1dHRvbjIgY3JlYXRlQnV0 dG9uKFRleHRGaWVsZCB0ZXh0KSB7DQogICAgICAgIEJ1dHRvbjIgYnV0dG9uMiA9IG5ldyBCdXR0 b24yKCk7DQogICAgICAgIGludCBzdGF0ZXMgPSBCdXR0b25SZWNvcmQuVXB8QnV0dG9uUmVjb3Jk Lk92ZXJ8QnV0dG9uUmVjb3JkLkRvd247ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRk IHRoZSBzeW1ib2wgdG8gZGVmaW5lIHRoZSByZXN0IG9mIHRoZSBzdGF0ZXMNCiAgICAgICAgYnV0 dG9uMi5hZGRCdXR0b25SZWNvcmQobmV3IEJ1dHRvblJlY29yZChzdGF0ZXMsdGV4dCwxLEFmZmlu ZVRyYW5zZm9ybS5nZXRUcmFuc2xhdGVJbnN0YW5jZSgwLDApLENYRm9ybS5uZXdJZGVudGl0eSh0 cnVlKSkpOw0KICAgICAgICBTaGFwZSBzaGFwZSA9IG5ldyBTaGFwZSgpOw0KICAgICAgICBzaGFw ZS5zZXRCb3VuZHModGV4dC5nZXRCb3VuZHMoKSk7DQogICAgICAgIHNoYXBlLnNldEZpbGxTdHls ZTAoRmlsbFN0eWxlLm5ld1NvbGlkKG5ldyBDb2xvcigwLDAsMCkpKTsNCiAgICAgICAgc2hhcGUu ZHJhd1JlY3RhbmdsZSh0ZXh0LmdldEJvdW5kcygpKTsNCiAgICAgICAgYnV0dG9uMi5hZGRCdXR0 b25SZWNvcmQobmV3IEJ1dHRvblJlY29yZChCdXR0b25SZWNvcmQuSGl0VGVzdCxzaGFwZSwyLEFm ZmluZVRyYW5zZm9ybS5nZXRUcmFuc2xhdGVJbnN0YW5jZSgwLDApLENYRm9ybS5uZXdJZGVudGl0 eSh0cnVlKSkpOw0KICAgICAgICBidXR0b24yLnNldFRyYWNrQXMoQnV0dG9uMi5UcmFja0FzQnV0 dG9uKTsNCiAgICAgICAgcmV0dXJuKGJ1dHRvbjIpOw0KICAgIH0NCiAgICBwcm90ZWN0ZWQgQWN0 aW9uQ29uZGl0aW9uIG9uUmVsZWFzZSgpIHsNCiAgICAgICAgUHJvZ3JhbSBwcm9ncmFtID0gbmV3 IFByb2dyYW0oKTsNCiAgICAgICAgcHJvZ3JhbS5wdXNoKFByb2dyYW0uUFJPUF9VUkwpOw0KICAg ICAgICBwcm9ncmFtLmdldFByb3BlcnR5KCk7DQogICAgICAgIHByb2dyYW0ucHVzaCgiP3N0YXJ0 PTEwJnN0b3A9MjAmIik7DQogICAgICAgIHByb2dyYW0uYWRkU3RyaW5nKCk7DQogICAgICAgIHBy b2dyYW0ucHVzaCgiX2JsYW5rIik7DQogICAgICAgIHByb2dyYW0uZ2V0VVJMKDApOw0KICAgICAg ICByZXR1cm4oQWN0aW9uQ29uZGl0aW9uLm9uUmVsZWFzZShwcm9ncmFtKSk7DQogICAgfQ0KfQ0K ------ =_NextPart_000_01C2A1F5.E1AD84E0-- ------------------------------------------------------- This sf.net email is sponsored by: With Great Power, Comes Great Responsibility Learn to use your power at OSDN's High Performance Computing Channel http://hpc.devchannel.org/