View Issue Details

IDProjectCategoryView StatusLast Update
0030439Open CASCADEOCCT:Visualizationpublic2021-11-22 10:51
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeveritymajor 
Status closedResolutionfixed 
Product Version6.5.4 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030439: Visualization - extend fonts search within Font_FontMgr::FindFont() on Linux
DescriptionModern Linux distributions do not provide fonts using X11 mechanism, so that it is desired registering other fonts available in system.
Steps To Reproduce
pload MODELING VISUALIZATION
dtracelevel trace
vfont -verbose 1
smallview +X+Y
clear
text2brep tt "CAD Assistant" -font Times-Roman   -height 10 -pos 0  0 0
text2brep ta "CAD Assistant" -font Arial   -height 10 -pos 0 12 0
text2brep tc "CAD Assistant" -font Courier -height 10 -pos 0 24 0
text2brep tf "CAD Assistant" -font XOXOXO  -height 10 -pos 0 32 0
fit

vclear
vinit View1
vzbufftrihedron
vtop
vdrawtext vt "CAD Assistant" -font Times-Roman   -height 20 -pos 0  0 0
vdrawtext va "CAD Assistant" -font Arial   -height 20 -pos 0 12 0
vdrawtext vc "CAD Assistant" -font Courier -height 20 -pos 0 24 0
vdrawtext vf "CAD Assistant" -font XOXOXO  -height 20 -pos 0 32 0
vfit
vzoom 0.5
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0025978 closedbugmaster Open CASCADE Visualization - setup font aliases for Android 
related to 0023466 closeddbv Open CASCADE Move OSD_FontMgr class outside TKernel 
related to 0027505 closedbugmaster Open CASCADE Visualization, Font_FontMgr - do not look for fonts.dir on OS X 
parent of 0030474 closedbugmaster Open CASCADE Visualization - fallback font is ignored for missing font alias within Font_FontMgr::FindFont() 
parent of 0032680 verifiedsmoskvin Community Visualization, AIS_TextLabel - Bold FontAspect doesn't work 
has duplicate 0030334 closedbugmaster Open CASCADE Visualization - missing fonts are not properly reported by Font_FontMgr::FindFont() 
related to 0030706 closedbugmaster Open CASCADE Visualization - fetch font folder list from fontconfig library on Linux 
related to 0030782 closedbugmaster Open CASCADE Visualization, Font_FTFont - use predefined fallback fonts for extended Unicode subsets 
related to 0030886 closedbugmaster Open CASCADE Documentation - provide information about some changes in upgrade 7.4.0 
related to 0031079 closedapn Open CASCADE Visualization - embed minimal fallback font 

Activities

git

2019-01-10 23:14

administrator   ~0081738

Branch CR30439 has been created by kgv.

SHA-1: 717df97ecb5ef1580a384266d23dafe0b34bc78f


Detailed log of new commits:

Author: kgv
Date: Thu Jan 10 23:10:51 2019 +0300

    0030439: Visualization - extend fonts search within Font_FontMgr::FindFont() on Linux

git

2019-01-15 16:30

administrator   ~0081785

Branch CR30439 has been updated forcibly by kgv.

SHA-1: 8083bc930c68b652479a1616e6a0ed5d86ccac61

git

2019-01-15 21:25

administrator   ~0081787

Branch CR30439_1 has been created by kgv.

SHA-1: f64d20a0dc2d2b98c755be36969c9fb49a074ea8


Detailed log of new commits:

Author: kgv
Date: Thu Jan 10 23:10:51 2019 +0300

    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).
    
    Obsolete (and most likely broken) font aliases have been removed;
    instead, new aliases of fonts popular on Linux platform have been added.

git

2019-01-15 23:15

administrator   ~0081788

Branch CR30439_1 has been updated forcibly by kgv.

SHA-1: 725207a8c956f03f5e7b8190bf8c90250033848a

git

2019-01-15 23:23

administrator   ~0081789

Branch CR30439_1 has been updated forcibly by kgv.

SHA-1: b30e2ae70de22072c2fd9931e14d109839c3feca

git

2019-01-15 23:27

administrator   ~0081790

Branch CR30439_1 has been updated forcibly by kgv.

SHA-1: a75f0f9c4df1361c548e8b2d82c12f56d83438a7

git

2019-01-15 23:29

administrator   ~0081791

Branch CR30439_1 has been updated forcibly by kgv.

SHA-1: 88b8d367cde09bf4decda924774990dae5ecf865

git

2019-01-16 00:10

administrator   ~0081792

Branch CR30439_1 has been updated forcibly by kgv.

SHA-1: a9aaa5c8685418a8b1a0207cbc659807550d4928

git

2019-01-16 12:06

administrator   ~0081794

Branch CR30439_2 has been created by kgv.

SHA-1: a7682f2daa5dc011f5d43bcca7f94c6d114a16f1


Detailed log of new commits:

Author: kgv
Date: Thu Jan 10 23:10:51 2019 +0300

    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,
      in case of "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".

git

2019-01-16 15:58

administrator   ~0081796

Branch CR30439_3 has been created by kgv.

SHA-1: 9033622e9682109b9b53ba1d7c2f8b0d9347748b


Detailed log of new commits:

Author: kgv
Date: Thu Jan 10 23:10:51 2019 +0300

    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.

git

2019-01-16 16:04

administrator   ~0081797

Branch CR30439_4 has been created by kgv.

SHA-1: a450d0918b012fa83380407b3f00c7b6bc4423e7


Detailed log of new commits:

Author: kgv
Date: Thu Jan 10 23:10:51 2019 +0300

    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.

git

2019-01-16 16:10

administrator   ~0081798

Branch CR30439_4 has been updated forcibly by kgv.

SHA-1: f07a90d13079bb81136e969444ddfae71da5fd45

git

2019-01-16 16:49

administrator   ~0081800

Branch CR30439_4 has been updated forcibly by kgv.

SHA-1: 552de65be0c3c0019fb08b12d8bf8beef0724514

kgv

2019-01-16 17:13

developer   ~0081803

Last edited: 2019-01-16 22:39

Patch is ready for review.

http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30439_4-CR30439_4-KGV/

git

2019-01-16 18:55

administrator   ~0081804

Branch CR30439_4 has been updated forcibly by kgv.

SHA-1: e0a833f4888f9eba98312d52b7d01902e20d5781

git

2019-01-16 21:28

administrator   ~0081805

Branch CR30439_4 has been updated forcibly by kgv.

SHA-1: 244e33c18edc77df6cb4f327f220f6c890df05e4

git

2019-01-16 21:41

administrator   ~0081807

Branch CR30439_4 has been updated forcibly by kgv.

SHA-1: 19931b0fb0083fba0eebf523b90f6b618e1d75e8

git

2019-01-16 22:34

administrator   ~0081808

Branch CR30439_4 has been updated forcibly by kgv.

SHA-1: c3e94ed5a3d7e591fc799ad5723fb47a05aebb01

san

2019-01-18 23:49

developer   ~0081828

Branch CR30439_4 reviewed without remarks.

bugmaster

2019-01-21 16:18

administrator   ~0081851

Combination -
OCCT branch : CR30439_4 SHA - c3e94ed5a3d7e591fc799ad5723fb47a05aebb01
Products branch : CR30439_4 SHA - 3f4ab45fa1137055d2632215820a5adff68e84e8
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16367.920000000104 / 16360.560000000005 [+0.04%]
Products
Total CPU difference: 7159.760000000016 / 7164.9300000000385 [-0.07%]
Windows-64-VC14:
OCCT
Total CPU difference: 17842.296875 / 17757.890625 [+0.48%]
Products
Total CPU difference: 8615.328125 / 8601.296875 [+0.16%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-01-28 10:54

administrator   ~0081896

Branch CR30439 has been deleted by inv.

SHA-1: 8083bc930c68b652479a1616e6a0ed5d86ccac61

git

2019-01-28 10:54

administrator   ~0081897

Branch CR30439_1 has been deleted by inv.

SHA-1: a9aaa5c8685418a8b1a0207cbc659807550d4928

git

2019-01-28 10:54

administrator   ~0081898

Branch CR30439_2 has been deleted by inv.

SHA-1: a7682f2daa5dc011f5d43bcca7f94c6d114a16f1

git

2019-01-28 10:54

administrator   ~0081899

Branch CR30439_3 has been deleted by inv.

SHA-1: 9033622e9682109b9b53ba1d7c2f8b0d9347748b

git

2019-01-28 10:54

administrator   ~0081900

Branch CR30439_4 has been deleted by inv.

SHA-1: c3e94ed5a3d7e591fc799ad5723fb47a05aebb01

Related Changesets

occt: master 5b377041

2019-01-10 20:10:51

kgv


Committer: bugmaster Details Diff
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.
Affected Issues
0030439
mod - src/Font/Font_FontAspect.hxx Diff File
mod - src/Font/Font_FontMgr.cxx Diff File
mod - src/Font/Font_FontMgr.hxx Diff File
mod - src/Font/Font_FTFont.cxx Diff File
mod - src/Font/Font_NameOfFont.hxx Diff File
mod - src/Font/Font_SystemFont.cxx Diff File
mod - src/Font/Font_SystemFont.hxx Diff File
mod - src/OpenGl/OpenGl_Text.cxx Diff File
mod - src/ViewerTest/ViewerTest_ObjectCommands.cxx Diff File
mod - tests/3rdparty/fonts/A2 Diff File
mod - tests/3rdparty/fonts/A6 Diff File
mod - tests/3rdparty/fonts/A8 Diff File
mod - tests/3rdparty/fonts/B1 Diff File
mod - tests/3rdparty/fonts/B2 Diff File
mod - tests/bugs/vis/bug22149 Diff File
mod - tests/demo/draw/bug23745 Diff File

Issue History

Date Modified Username Field Change
2019-01-10 23:13 kgv New Issue
2019-01-10 23:13 kgv Assigned To => kgv
2019-01-10 23:13 kgv Relationship added related to 0030334
2019-01-10 23:14 git Note Added: 0081738
2019-01-15 16:30 git Note Added: 0081785
2019-01-15 21:03 kgv Steps to Reproduce Updated
2019-01-15 21:25 git Note Added: 0081787
2019-01-15 23:15 git Note Added: 0081788
2019-01-15 23:23 git Note Added: 0081789
2019-01-15 23:27 git Note Added: 0081790
2019-01-15 23:29 git Note Added: 0081791
2019-01-16 00:10 git Note Added: 0081792
2019-01-16 00:41 kgv Relationship added related to 0025978
2019-01-16 00:42 kgv Relationship added related to 0023466
2019-01-16 00:42 kgv Product Version 7.3.0 => 6.5.4
2019-01-16 12:06 git Note Added: 0081794
2019-01-16 15:58 git Note Added: 0081796
2019-01-16 16:04 git Note Added: 0081797
2019-01-16 16:10 git Note Added: 0081798
2019-01-16 16:49 git Note Added: 0081800
2019-01-16 17:13 kgv Note Added: 0081803
2019-01-16 17:13 kgv Assigned To kgv => san
2019-01-16 17:13 kgv Severity minor => major
2019-01-16 17:13 kgv Status new => resolved
2019-01-16 18:55 git Note Added: 0081804
2019-01-16 21:28 git Note Added: 0081805
2019-01-16 21:41 git Note Added: 0081807
2019-01-16 22:34 git Note Added: 0081808
2019-01-16 22:39 kgv Note Edited: 0081803
2019-01-18 23:49 san Note Added: 0081828
2019-01-18 23:49 san Assigned To san => bugmaster
2019-01-18 23:49 san Status resolved => reviewed
2019-01-21 10:41 kgv Steps to Reproduce Updated
2019-01-21 10:58 kgv Relationship replaced has duplicate 0030334
2019-01-21 16:18 bugmaster Test case number => Not needed
2019-01-21 16:18 bugmaster Note Added: 0081851
2019-01-21 16:18 bugmaster Status reviewed => tested
2019-01-27 11:24 bugmaster Changeset attached => occt master 5b377041
2019-01-27 11:24 bugmaster Status tested => verified
2019-01-27 11:24 bugmaster Resolution open => fixed
2019-01-28 10:54 git Note Added: 0081896
2019-01-28 10:54 git Note Added: 0081897
2019-01-28 10:54 git Note Added: 0081898
2019-01-28 10:54 git Note Added: 0081899
2019-01-28 10:54 git Note Added: 0081900
2019-02-04 14:11 kgv Relationship added parent of 0030474
2019-02-21 09:44 kgv Relationship added related to 0027505
2019-05-11 09:42 kgv Relationship added related to 0030706
2019-06-17 14:46 kgv Relationship added related to 0030782
2019-08-09 19:13 nds Relationship added related to 0030886
2019-10-18 10:12 kgv Relationship added related to 0031079
2021-11-22 10:51 kgv Relationship added parent of 0032680