Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

If I create a text cell and type some greek text, most of the symbols are italics as if the cell had an Input style. It doesn't happen with latin characters. I recollect that it is impossible to fix it, but I can't find the source where I read it.

Perhaps someone knows a workaround ? The following screenshot is from Mathematica 8/Linux.

enter image description here

EDIT1: I just noticed that writing capital greek letters works fine (the letters are normal, not italics). The following screenshot is from Mathematica 9.0.1/OSX Mavericks.

enter image description here

Does that piece of information ring any bells to anyone on what might be the underlying problem ?

EDIT2: I also found this link describing a workaround by using custom modified unicode mapping files. I can't check it right now as I'm not near my Linux installation.

EDIT3: I did try it though in Mathematica 9.0.1/OSX (although the article talks about Mathematica 7&8/Linux), and it works great! Here is the relevant screenshot:

enter image description here

EDIT4: As pointed out by @ybeltukov in comments, the workaround is to set the third column of UnicodeFontMapping.tr to 0 (zero) for Greek letters so that the default font is picked for them.

EDIT5: This workaround doesn't anymore apply to Mathematica 10. I cannot find the UnicodeFontMapping.tr file.

share|improve this question
1  
related –  cormullion Sep 20 '13 at 10:34
1  
Similar question posted on Wolfram Community –  cormullion Sep 22 '13 at 8:40
    
Explanation of your last link: just set the third column of UnicodeFontMapping.tr to 0 for greek letters to choose the default font for them. –  ybeltukov Nov 1 '13 at 21:13
    
People, is it ethical to answer my own question that I put a bounty on ? –  Zet Nov 1 '13 at 21:13
1  
Related for version 10: (54721) –  Mr.Wizard Aug 20 at 3:11

2 Answers 2

up vote 7 down vote accepted
+50

Font for the Greek letters is defined in UnicodeFontMapping.tr:

...
0x03B1      N       -2      0x61        # \[Alpha]
0x03B2      N       -2      0x62        # \[Beta]
0x03B3      N       -2      0x67        # \[Gamma]
0x03B4      N       -2      0x64        # \[Delta]
0x03F5      N       2       0x65        # \[Epsilon]
0x03B5      N       -4      0xb6        # \[CurlyEpsilon]
0x03B6      N       -2      0x7a        # \[Zeta]
...

The third column defines the font. You can set it in corresponding lines to 0 (default font).

This approach was used in your link. Difference between the original file and the file in this link:

--- UnicodeFontMapping.tr       2012-10-26 12:11:10.000000000 +0200
+++ UnicodeFontMapping.tr.v8    2013-11-01 22:09:05.000000000 +0100
...
-0x03B1         N               -2              0x61            # \[Alpha]
-0x03B2         N               -2              0x62            # \[Beta]
-0x03B3         N               -2              0x67            # \[Gamma]
...
+0x03B1         N               0               0x61            # \[Alpha]
+0x03B2         N               0               0x62            # \[Beta]
+0x03B3         N               0               0x67            # \[Gamma]
...
share|improve this answer
    
This is generally true, but not for Mathematica 10. In latter case one should follow DBM's answer below or, more generally, mathematica.stackexchange.com/questions/55711/…. –  Alexey Bobrick Sep 30 at 19:24
    
@AlexeyBobrick This answer was written before Mathematica 10 release :) –  ybeltukov Sep 30 at 19:42
    
Yes, which makes it funny in a way. Quite a few times I found good solutions to problems, which don't work in V10 anymore. –  Alexey Bobrick Sep 30 at 19:45

For OS X Mathematica v10, one can edit /Applications/Mathematica.app/FontMap.tr to enable writing Greek letters in any font supporting them. In my case, I wanted µ (\[Micro]) to display with my preferred font (CMU Bright Roman) rather than the Mathematica font. The solution was to open FontMap.tr, copy the string within CompressedData[str], paste it into fontMap=Uncompress[str] in a new workbook, delete 181 (character code for \[Micro]) at position 32 of fontMap[[1,2]] by running fontMap[[1,2]]=Drop[fontMap[[1,2]],{32,32}], recompress by running Compress[fontMap], copy the resulting compressed string, past it over the original string within CompressedData[str] of FontMap.tr and then save FontMap.tr. I kept a backup of the original FontMap.tr file. Now Style["µ", FontFamily -> "CMU Bright"] displays µ with my chosen font.

I suppose this could be done for other Greek letters as well.

share|improve this answer
    
Thanks @DBM! So, I should delete all character codes for Greek letters in the font map and then use Style[] to choose a Greek font ? –  Zet Aug 25 at 21:19
    
I think that should work, but have not tried this on more than one greek letter. Keep a backup of the original FontMap.tr file... –  DBM Aug 26 at 5:13
    
You might like to check mathematica.stackexchange.com/questions/55711/…, where I elaborate a bit on your answer. –  Alexey Bobrick Sep 30 at 19:22
    
@Zet: Yes, you can make Mathematica to keep all the greek characters by just one command, see the link above this comment. –  Alexey Bobrick Sep 30 at 19:23

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.