Millisecond Forums

Display greek letters (pi) as characters in text stimuli

https://forums.millisecond.com/Topic4650.aspx

By page-gould - 6/16/2010

Dear Inquisit Online Community,


Is there a simple way to display greek characters as stimuli?  Specifically, I am hoping for a way to use the greek letter "pi" inline in a text stimulus.  I know that I can create a picture of a pi and present that as an image stimulus, but then it could not be used in the middle of a text phrase or sentence.  Are there any special codes for greek characters in Inquisit?


Thank you for your help!

By Dave - 6/16/2010

Hi Elizabeth,


unfortunately there's no comfortable way to make that happen -- at least not one I know of. Inquisit would have to provide full unicode support for this, which -- to the best of my knowledge -- it currently doesn't. If you want to include the character pi on an instructions page, you could use Inquisit's capability to display HTML pages as instructions. If, on the other hand, you'd like to display the character pi as a stimulus in your experiment, you're stuck with either the <picture> approach or something like this:


<text easyaspi>
/ items = ("p")
/ fontstyle = ("Symbol", 10%)
</text>


But having "normal", English text around the character pi won't be possible with either approach.


~Dave

By page-gould - 6/16/2010

Hello Dave,


Thank you so much for your helpful and informative response!  The HTML page option seems like a flexible way to display special characters when you don't need to collect responses from the stimuli.  Moreover, the use of "Symbol" as a fontstyle to get greek letters is a very creative solution!  I was thinking that perhaps this latter solution could be used to display a greek letter as inline text like so:



<text pi>


/ items = ("p")


/ fontstyle = ("Symbol", 2.05%, false, true, false, false, 5, 2)


</text>


 


<text inlinepi>


/ items = ("2 * <% text.pi.1 %> / 4")


/ fontstyle = ("Symbol", 2.05%, false, false, false, false, 5, 2)


</text>



<trial q1>


/ stimulusframes = [1=inlinepi]


/ validresponse = (" ")


</trial>




At first I thought this was the solution to get inline greek letters in text stimuli, but unfortunately I believe that there is an inheritance issue with the fontstyle attribute.  It seems that Inquisit can only apply the superordinate fontstyle attribute to the text.  The code below demonstrates the issue.  Does anyone know a way to set the inheritance of embedded text stimuli?  If so, then we may have figured out the trick!



<text header>


/ items = ("Looks good here:")


/ vposition = 20


</text>



<text pi>


/ items = ("p")


/ fontstyle = ("Symbol", 2.05%, false, true, false, false, 5, 2)


/ vposition = 25


</text>



<text inlinepi>


/ items = ("... but not here: <% text.pi.1 %>")


/ vposition  = 50


</text>



<text inlinepi2>


/ items = ("... unless you apply a ~"Symbol~" fontstyle to the superordinate text item, but that introduces its own problems: <% text.pi.1 %>")


/ fontstyle = ("Symbol", 2.05%, false, false, false, false, 5, 2)


/ vposition = 75


</text>



<trial q1>


/ stimulusframes = [1=header;2=pi;3=inlinepi;4=inlinepi2]


/ validresponse = (" ")


</trial>





Kind regards,


Liz

By Dave - 6/16/2010

 It seems that Inquisit can only apply the superordinate fontstyle attribute to the text.


Correct observation, Inquisit will use the fontstyle settings of the <text> element that's actually displayed. This is by design (i.e. not a bug) and is owed to the underlying DirectX display technology. DirectX won't ever allow you to have different formatting in a single text object (e.g. some characters bolded or italicized, different sizes or even fonts).


Hope this helps,


~Dave

By Dave - 6/16/2010

BTW, note that in case you want to display math problems (containing pi) as stimuli, the "Symbol" font should work fine:


<text mypi>
/ items = ("2 * p / 4 =  ?")
/ fontstyle = ("Symbol", 5.0%, true)
</text>


~Dave