0030439: Visualization - extend fonts search within Font_FontMgr::FindFont() on Linux
authorkgv <kgv@opencascade.com>
Thu, 10 Jan 2019 20:10:51 +0000 (23:10 +0300)
committerbugmaster <bugmaster@opencascade.com>
Mon, 21 Jan 2019 13:15:33 +0000 (16:15 +0300)
commit5b377041e3252604f2803ea4d2a5140400280d64
tree69cd142a0dff6e1268cfb6b3f0abf94732cf403b
parent169c944c4b3fc54a4b85096c879c187337b1714e
0030439: Visualization - extend fonts search within Font_FontMgr::FindFont() on Linux

Font_FontMgr has been redesigned to:
- Store fonts in a map instead a list.
- Allow mapping multiple fonts to a single alias.
- Log informative message about usage of non-requested font (fallback).
- Register all font files within standard folders on Linux when "fonts.dir" is not found.
- Prefer specific alias ("serif") as default fallback font instead of arbitrary one in a system.

A couple of obsolete and broken font aliases have been removed;
instead, new aliases of fonts popular on Linux platform have been added.

Font_NameOfFont.hxx has been extended with more neutral aliases
"monospace", "serif", "sans-serif", "cjk" and "korean".

Font_FontAspect enumeration values have been renamed Font_FA_ -> Font_FontAspect_
with old values preserved as alias.

Font_SystemFont has been extended with a list of paths to Font_FontAspect styles,
so that entire Font Family is now defined within a single Font_SystemFont instance.
Non-resizable fonts are now ignored by Font Manager.
16 files changed:
src/Font/Font_FTFont.cxx
src/Font/Font_FontAspect.hxx
src/Font/Font_FontMgr.cxx
src/Font/Font_FontMgr.hxx
src/Font/Font_NameOfFont.hxx
src/Font/Font_SystemFont.cxx
src/Font/Font_SystemFont.hxx
src/OpenGl/OpenGl_Text.cxx
src/ViewerTest/ViewerTest_ObjectCommands.cxx
tests/3rdparty/fonts/A2
tests/3rdparty/fonts/A6
tests/3rdparty/fonts/A8
tests/3rdparty/fonts/B1
tests/3rdparty/fonts/B2
tests/bugs/vis/bug22149
tests/demo/draw/bug23745