How to control the actual font used for special characters? [closed]

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Hi, I am using Writer for writing mathematical documents. I use Times New Roman as the default font. When I enter a unicode character that is not defined in the Times New Roman font, a character for an alternative font appears, while Writer still shows the font as being Times New Roman in the toolbar. For example, if I enter the C for complex numbers (U+2102 Double Struck Capital C), Writer 3.6.3 shows the character ℂ of the Arial Unicode font (and if I select the character, I see "Times New Roman" in the Toolbar, not "Arial Unicode"). However, in Writer 3.6.2, it showed the C of the "Deja Vu Sans" font, which I prefer. See examples: (https://dl.dropbox.com/u/3853844/3.6.2.jpg) and (https://dl.dropbox.com/u/3853844/3.6.3.jpg)

How do I control this? Where do I ask LibreOffice to use the "Deja Vu Sans" font for characters that are not available on "Times New Roman"? I know I can change the font for each time I use this ℂ, but it is much easier if I can specify a replacement rule.. Thanks!!

edit retag reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Alex Kemp close date 2015-10-19 03:04:26.492697

Sort by » oldest newest most voted

The only way to be sure what font is used, is to manually assign it.

While it is possible to configure the local system to use the fallback of one's choice somewhat, it is of course not guaranteed that another user has the same setup.

On Linux, font-fallback is done with help of fontconfig, and an additional built-in/shipped list of default/well-known fonts and their fallbacks (mainly for inter-os compatibility).

That all being said: Having "Deja Vu Sans" as a fallback for "Times New Roman" - such a fallback doesn't make much sense in general, as one is a serif font, the other one without serifs. So replacing one with the other significantly changes the look of a document. But anyway, I got distracted.

The list is in VCL.xcu in the sources officecfg/registry/data/org/openoffice/VCL.xcu - in the installed product, the various configuration files end up in main.xcd (/opt/libreoffice3.6/share/registry/main.xcd) - but I don't think there were any changes. Are you comparing on the very same computer, with the very same set of fonts installed and only the version of LO being different in the screenshots?

You can create custom replacement rules in Tools | Options → LibreOffice → Fonts In the Font box enter "Arial Unicode" (or whatever the font is actually called, in the replace with insert Deja Vu Sans and make sure to check the [x] always box, (& screen too, as you want the replacement to also apply to your on-screen display) otherwise it would only be applied in case Arial Unicode is not installed.

PS: Starting with wiki questions is bad, as you cannot get karma with it - there is little use for using wiki-style question for actual questions like this.

more

Check out this question. It might have the solution for you.

more

Sorry for my Alzheimer. If you need a special character from an other font we need a slightly differant procedure. I did it with smileys from Wingdings.

Insert your Complex C in the document, select it, Menue Tools-> Autocorrect Option: the C is already in the "with" field, now enter a shortcut e.g. compC in the "replace" field. Next make sure to uncheck "Text only" and click "New".

The replacement is now ALWAYS taken from the special font not from the active font. You might not see the complex C in the replacement table, but it works.

Good luck.

more

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Horst, thanks a lot for your help!!! I had seen the answer you referred me to, and it was helpful in some respects. However, my question is not how to input the special character, but once I have already entered a special character, what does Writer show. More specifically, I have a math document with many symbols, one of them the double-struck C of complex numbers, which is typed with the Times New Roman font (even when Times New Roman does not include a definition for this C). When I open this document in Writer version 3.6.2.2, it shows me the double-struck C as defined by the "Deja Vu Sans" font. However, if I open the exact same document with version 3.6.2, Writer shows me the double-struck C as defined by the "Arial Unicode" font. Somewhere within the Writer program (hopefully an editable part), Writer decides what font to show if the specified font (e.g."Times New Roman") does not contain a definition for the character that was input.. I would like to access that replacement table! I hope my explanation clear enough... Thanks a lot!

more