SVGを利用してみてはいかがでしょうか?
<svg version="1.1" id="hari" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" width="300px" height="300px" viewBox="0 0 300 300" enable-background="new 0 0 300 300" xml:space="preserve">
<polygon fill="#FFFFFF" stroke="#000000" stroke-miterlimit="10" points="150,11.222 165.1,35.34 185.914,15.948 194.261,43.155
219.389,29.817 220.405,58.249 248.132,51.868 241.751,79.6 270.188,80.611 256.851,105.745 284.046,114.08 264.654,134.906
288.778,150 264.654,165.094 284.046,185.92 256.851,194.255 270.188,219.39 241.751,220.4 248.132,248.132 220.405,241.751
219.389,270.184 194.261,256.845 185.914,284.052 165.1,264.66 150,288.778 134.906,264.66 114.08,284.052 105.745,256.845
80.611,270.184 79.6,241.751 51.868,248.132 58.249,220.4 29.817,219.39 43.155,194.255 15.948,185.92 35.34,165.094 11.222,150
35.34,134.906 15.948,114.08 43.155,105.745 29.817,80.611 58.249,79.6 51.868,51.868 79.6,58.249 80.611,29.817 105.745,43.155
114.08,15.948 134.906,35.34 "/>
</svg>
これで24角形の針吹き出しになるはずです。
上記を普通に
<body></body>の中に入れてご確認ください。
吹き出しの中の文字はposition:relative;とposition:absolute;でどうにかなるかと思います。