Thenk you Sheep!<br>We&#39;ll try it soon and i&#39;ll make a report here.<br><br><div><span class="gmail_quote">On 8/16/07, <b class="gmail_sendername">sheep</b> &lt;<a href="mailto:sheepzilla@gmail.com">sheepzilla@gmail.com
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi, I talked with you a little on IRC yesterday.<br><br>The attached patch will let you use any font you like in the text
<br>editor, by selecting it as the ui font, but it will be very buggy unless<br>the font is a fixed width one. I don&#39;t have any linux graphics drivers<br>that work at the moment, so I won&#39;t compile a binary,&nbsp;&nbsp;I don&#39;t think
<br>you&#39;d find compiling on Linux very difficult though.<br><br><br>James<br><br><br>Jury Azovtzev wrote:<br>&gt;<br>&gt; I&#39;m a russian blender community member and we are looking for medium<br>&gt; to solve some problems with russian letter in blender.
<br>&gt;<br>&gt; We have problems with russian letter in Python cripting Window<br>&gt; (strange chars not russian, nor any other language i know).<br>&gt; There is a problem with russian letter in Browse Windows. All russian
<br>&gt; folders and files unreadable.<br>&gt; But when you make 3D Text with right font - all is greate - you get<br>&gt; Cyrilic text in rendered image.<br>&gt;<br>&gt; We tryed to load font with russian letter as UI Font&nbsp;&nbsp;- it dosn&#39;t
<br>&gt; help. People says there is an offset of letter&nbsp;&nbsp;Blender Use ans Right<br>&gt; Letters it should be.&nbsp;&nbsp;Tests&nbsp;&nbsp;was made in Ubuntu Linux, Windows XP,<br>&gt; Gentoo.<br>&gt;<br>&gt; Is it any way to solve the problem?
<br>&gt; Does someone support this part of the project?<br>&gt; Is it any documentation about this part of the Blender?<br>&gt;<br>&gt;<br>&gt;<br>&gt; --<br>&gt; With best regards.<br>&gt; Azovtzev Jury<br>&gt;<br>&gt; ForceTeam NNLUG
<br>&gt; <a href="http://www.forceteam.nnov.ru">www.forceteam.nnov.ru</a> &lt;<a href="http://www.forceteam.nnov.ru">http://www.forceteam.nnov.ru</a>&gt;<br>&gt;<br>&gt;<br>&gt; ------------------------------------------------------------------------
<br>&gt;<br>&gt; _______________________________________________<br>&gt; Bf-committers mailing list<br>&gt; <a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br>&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-committers">
http://lists.blender.org/mailman/listinfo/bf-committers</a><br>&gt;<br><br><br>Index: source/blender/src/drawtext.c<br>===================================================================<br>--- source/blender/src/drawtext.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 11622)
<br>+++ source/blender/src/drawtext.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (working copy)<br>@@ -76,6 +76,7 @@<br> #include &quot;BIF_space.h&quot;<br> #include &quot;BIF_mywindow.h&quot;<br> #include &quot;BIF_resources.h&quot;<br>+#include &quot;BIF_language.h&quot;
<br><br> #include &quot;BSE_filesel.h&quot;<br><br>@@ -121,7 +122,7 @@<br> }<br><br> static int spacetext_get_fontwidth(SpaceText *st) {<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return BMF_GetCharacterWidth(spacetext_get_font(st), &#39; &#39;);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return BIF_GetStringWidth(spacetext_get_font(st), &quot; &quot;, 0);
<br> }<br><br> static char *temp_char_buf= NULL;<br>@@ -580,12 +581,14 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glRasterPos2i(x, y);
<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BMF_DrawString(spacetext_get_font(st), out);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = x+BMF_GetStringWidth(spacetext_get_font(st), out);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIF_RasterPos(x, y);
<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIF_DrawString(spacetext_get_font(st), out, 0);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = x+BIF_GetStringWidth(spacetext_get_font(st), out, 0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glRasterPos2i(x, y);<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BMF_DrawString(spacetext_get_font(st), in);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIF_RasterPos(x, y);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIF_DrawString(spacetext_get_font(st), in, 0);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (w-- &amp;&amp; *acc++ &lt; maxwidth) {<br>@@ -985,11 +988,13 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(((float)(i + linecount + 1)/10000.0) &lt; 1.0) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(linenr, &quot;%4d&quot;, i + linecount + 1);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glRasterPos2i(TXT_OFFSET - 7, curarea-&gt;winy-st-&gt;lheight*(i+1));<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIF_RasterPos(TXT_OFFSET - 7, curarea-&gt;winy-st-&gt;lheight*(i+1));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(linenr, &quot;%5d&quot;, i + linecount + 1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;glRasterPos2i(TXT_OFFSET - 11, curarea-&gt;winy-st-&gt;lheight*(i+1));<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIF_RasterPos(TXT_OFFSET - 11, curarea-&gt;winy-st-&gt;lheight*(i+1));
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BMF_DrawString(spacetext_get_font(st), linenr);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIF_DrawString(spacetext_get_font(st), linenr, 0);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text_draw(st, tmp-&gt;line, st-&gt;left, 0, 1, TXT_OFFSET + TEXTXLOC, curarea-&gt;winy-st-&gt;lheight*(i+1), tmp-&gt;format);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text_draw(st, tmp-&gt;line, st-&gt;left, 0, 1, TXT_OFFSET, curarea-&gt;winy-st-&gt;lheight*(i+1), tmp-&gt;format);<br><br>_______________________________________________
<br>Bf-committers mailing list<br><a href="mailto:Bf-committers@blender.org">Bf-committers@blender.org</a><br><a href="http://lists.blender.org/mailman/listinfo/bf-committers">http://lists.blender.org/mailman/listinfo/bf-committers
</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>With best regards.<br>Azovtzev Jury<br><br>ForceTeam NNLUG<br><a href="http://www.forceteam.nnov.ru">www.forceteam.nnov.ru</a>