Thanks to Szabolcs' comment to this question, I have found a way to
Export Cyrillic symbols from Mathematica to PDF correctly. We just need to set a system-wide variable commonly called the system local (or language for non-Unicode applications) to US English as described here:
Open Regional and Language Options in Control Panel.
On the Advanced tab, under Language for non-Unicode programs, select English (US).
This approach has few usability limitations:
- Only an administrator has the ability of setting the system locale value.
- Setting the system locale requires a system reboot.
- Only one system locale can be set at a time.
Unfortunately, this setting affects not only Mathematica, but every non-Unicode program that is used on the computer including some components of Windows itself. As the result, these programs work incorrectly and in some cases changing this option can even cause a BSOD. For example, the command-line interpreter cmd.exe on localized version of Windows after setting system local to English looks as follows:
For Windows Server 2003 and Windows XP Microsoft developed the Microsoft AppLocale Utility which is intended to allow to run non-unicode applications without changing the system locale (thanks Windows programmer for the reference). But I failed to get it working for Mathematica.
Is it possible to set system locale individually for Mathematica in order to get correct Cyrillic
Export to PDF?
There is the PDF.exe
MathLink executable in the .\SystemFiles\Converters\Binaries\Windows directory. Probably we should set the system locale US English precisely for this executable?
P.S. I use localized Windows XP SP3.