Hi: I’ve been fighting with multiple language documents in LibreOffice for some time, and am determined to understand what’s going on. To that end I have a few questions and some thoughts. My intent is either to have someone point out that I’m doing it all wrong, or to star some sort of conversation about how to improve things. So here goes …
According to the Document Foundation Wiki’s Localization Guide for LibreOffice, versions of LibreOffice (and I’m particularly concerned with Writer here) running on Unix/Linux rely on the fontconfig utility to suggest a font replacement when a requested font is not available. Apparently LibreOffice uses its own routines under Windows. First Question: Is this still true in current versions? According to the documentation (man pages and such) for FontConfig, that utility matches fonts using a very specific set of font characteristics that are weighted in the following order: foundry, charset, family, lang, etc. With the advent of “free” fonts over the past decade, I’ve found that many – even most – such fonts have no foundry listed. Since that is the most heavily weighted attribute in the matching process, and since null is never equal to null, the matches returned are sometimes inappropriate. Second Question: Is FontConfig called by LibreOffice only when a complete font is missing, or if the font in question just doesn’t have some particular character(s)? This is particularly of interest with fonts having Complex Text Layouts. Although it is possible to set a CTL replacement for fonts in Writer (e.g. Tools | Options | LibreOffice Writer | Basic Fonts (CTL), Format | Character and so forth), this is always limited to a single font, which isn’t always realistic. As an example, let’s say we go to Tools | Options | Language Settings | Languages, check off “Complex Text Layout” and specify the language as Thai (again, this can only be done for one language at a time). If we use a font such as FreeSerif that has all the characters needed for both English and Thai (as well as most other languages you’re likely to run across), everything works just fine. On the other hand, if we use a free Google font such as Droid Sans (which has no foundry property), we get into trouble. Apparently in order to keep fonts to a reasonable size, Google offers additional unicode pages as separate font files: Droid Sans Armenian, Droid Sans Ethiopic, Droid Sans Thai, etc. If the current font is Droid Sans and some Thai characters are typed, fontconfig does NOT return Droid Sans Thai, but rather (seems to) return the first font in which it locates the requested language. Of course, this can be corrected for ONE font with Tools | Options | LibreOffice Writer | Basic Fonts (CTL), but if more than one font is used and neither is a so-called “pan-unicode” font, you must go through some annoying machinations to get things working correctly (this can be done with character styles, of course, but that can’t be considered anything other than a work-around). Character styles were really not meant for this – that’s what selecting a font is supposed to do. All of this tends to make creation of bi-lingual documents, particularly those using CTL, less flexible than normal single language document creation – sprinkling a document with multiple documents is of course generally considered a bit tacky, but there are legitimate reasons for doing so. Creation of documents that use more than one language (and yes, I’ve done that) is even more tedious; if more than one CTL language is used (e.g. mixing Arabic and Hebrew, or Thai and Arabic) it’s a very difficult, if not impossible task. Could this perhaps be the real underlying reason a middle-east peace agreement can’t be reached? Is it just because there’s no way to write it down. (Sorry – I know this isn’t the place for politics, but the problem seems real enough to mention). Even officially sanctioned free fonts can be problematic. The government of Thailand, for instance, in an effort to bring some standardization to official documents and avoid font piracy, has specified a set of thirteen customized free fonts – SIPA.zip contains these – but none of these has any foundry property defined. They are quite suitable for documents mixing Thai and English, but don’t help if some third language is introduced into a Writer document as well, particularly if the third language also requires CTL. That isn’t actually far-fetched, as they have neighbors that use CTL scripts. Has anyone given much thought to permitting finer-grained control of CTL font substitution – e.g. making the CTL font substitutions page similar to the Options | LibreOffice | Fonts page used for general font substitution of missing fonts. In other words, permitting multiple fonts to have substitutions defined? And then also reversing the order of the Complex Text Layout section of Tools | Options | Language Settings | Languages from [CTL=On, CTL Language=Whatever] to [Language=Whatever and then for each language CTL=On]? I apologize if this sounds like a rant; it's not intended to be - it's just a stream of consciousness thing caused by frustration at trying to understand this whole subject ... Thanks in advance for any comments, suggestions, and so forth. -- View this message in context: http://nabble.documentfoundation.org/Font-versus-Character-Substitution-tp4144195.html Sent from the Users mailing list archive at Nabble.com. -- To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette List archive: http://listarchives.libreoffice.org/global/users/ All messages sent to this list will be publicly archived and cannot be deleted