View Issue Details

IDProjectCategoryView StatusLast Update
0031079Open CASCADEOCCT:Visualizationpublic2020-12-02 17:12
Reporterkgv Assigned Toapn  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.5.0Fixed in Version7.5.0 
Summary0031079: Visualization - embed minimal fallback font
DescriptionSome platforms do not provide access to system font files (iOS, WASM), while on others there is some risk not finding location of system fonts (Linux).
In this case, 3D Viewer will be unable displaying any text if application will not package its own font file and register it within OCCT font manager.

Although packaging font files with application is unavoidable in general on such platforms (it is up to application to decide how text should look and which UNICODE ranges are necessary to handle), missing text in 3D viewer is an issue for first development steps and for debugging.
In particular, X/Y/Z labels in V3d_Trihedron, box labels in AIS_ViewCube, performance counters in OpenGl viewer requires minimal sub-set of Latin letters, and it will be good providing them.

For this purpose, it is proposed embedding a single fallback font into TKService. As this font will be rarely used, it is suggested compressing file with only Latin1 symbols.

DejaVu font is proposed for this purpose, as its extended MIT License shouldn't cause embedding issues.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0030439 closedbugmaster Open CASCADE Visualization - extend fonts search within Font_FontMgr::FindFont() on Linux 
parent of 0031468 closedbugmaster Open CASCADE Visualization - add public interface to return embedding a single fallback font 
child of 0027258 closedapn Open CASCADE Configuration - generate built-in replacement for mandatory resource files 

Activities

git

2019-10-18 11:43

administrator   ~0088292

Branch CR31079 has been created by kgv.

SHA-1: 14db76205da682ae9bd88ab98c6d3c4657a13f89


No new revisions were added by this update.

git

2019-10-18 14:31

administrator   ~0088303

Branch CR31079 has been updated forcibly by kgv.

SHA-1: 525cb1be73ec35ac462aca531de81638c797600e

git

2019-10-18 17:05

administrator   ~0088317

Branch CR31079 has been updated forcibly by kgv.

SHA-1: 8ff3f5079942b3d0bd30cb9e96790c4064440e53

kgv

2019-10-18 17:06

developer   ~0088318

Patch is ready for review.

abv

2019-10-20 18:23

manager   ~0088364

Please add paragraph indicating the use of the font into the Acknowledgements section of overview.

In Font_FontMgr.hxx, new parameter "NoFailMsg" to method FindFont() could be probably better named "doFailMsg", with appropriate description (e.g. "In case of failure, send error message in default messenger"), and default True - just to facilitate comprehension.

git

2019-10-20 18:49

administrator   ~0088365

Branch CR31079 has been updated by kgv.

SHA-1: 8a650ffdaa0210f7a418b989b856a4cec7a2be9e


Detailed log of new commits:

Author: kgv
Date: Sun Oct 20 18:48:18 2019 +0300

    # abv remarks

kgv

2019-10-20 18:49

developer   ~0088366

Patch has been updated.

git

2019-10-23 12:59

administrator   ~0088551

Branch CR31079_1 has been created by kgv.

SHA-1: 87d077cfef86d82f0d5d04de392e23ab277ba15c


Detailed log of new commits:

Author: kgv
Date: Fri Oct 18 11:40:55 2019 +0300

    0031079: Visualization - embed minimal fallback font
    
    Font_FTFont::FindAndCreate() now loads embedded fallback font within Font_StrictLevel_Any level.
    Font_FontMgr::FindFont() - fixed misprint in message, and customized message for range fallback error.
    Font_FontMgr - added one more fallback Korean font for Linux.
    
    vfont command has been extended with options to clear Font Manager content.

git

2019-10-25 09:14

administrator   ~0088584

Branch CR31079_1 has been updated forcibly by abv.

SHA-1: f6c7c3717a54231efe7ca24fd31e7e88eeece87a

abv

2019-10-25 09:16

manager   ~0088585

Reviewed with minor correction(documentation is amended), please integrate

git

2019-11-10 11:41

administrator   ~0088854

Branch CR31079_1 has been deleted by inv.

SHA-1: f6c7c3717a54231efe7ca24fd31e7e88eeece87a

git

2019-11-10 11:42

administrator   ~0088863

Branch CR31079 has been deleted by inv.

SHA-1: 8a650ffdaa0210f7a418b989b856a4cec7a2be9e

Related Changesets

occt: master 36e28f96

2019-10-18 08:40:55

kgv


Committer: apn Details Diff
0031079: Visualization - embed minimal fallback font

Font_FTFont::FindAndCreate() now loads embedded fallback font within Font_StrictLevel_Any level.
Font_FontMgr::FindFont() - fixed misprint in message, and customized message for range fallback error.
Font_FontMgr - added one more fallback Korean font for Linux.

vfont command has been extended with options to clear Font Manager content.
Affected Issues
0031079
mod - dox/overview/overview.md Diff File
mod - src/Font/FILES Diff File
add - src/Font/Font_DejavuSans_Latin_woff.pxx 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/ViewerTest/ViewerTest_ObjectCommands.cxx Diff File
add - tests/3rdparty/fonts/C3 Diff File
rm - tests/3rdparty/parse.rules Diff File

Issue History

Date Modified Username Field Change
2019-10-18 10:12 kgv New Issue
2019-10-18 10:12 kgv Assigned To => kgv
2019-10-18 10:12 kgv Relationship added related to 0030439
2019-10-18 10:22 kgv Description Updated
2019-10-18 11:43 git Note Added: 0088292
2019-10-18 12:07 kgv Relationship added child of 0027258
2019-10-18 14:31 git Note Added: 0088303
2019-10-18 17:05 git Note Added: 0088317
2019-10-18 17:06 kgv Note Added: 0088318
2019-10-18 17:06 kgv Assigned To kgv => abv
2019-10-18 17:06 kgv Status new => resolved
2019-10-20 18:23 abv Note Added: 0088364
2019-10-20 18:23 abv Assigned To abv => kgv
2019-10-20 18:23 abv Status resolved => assigned
2019-10-20 18:49 git Note Added: 0088365
2019-10-20 18:49 kgv Note Added: 0088366
2019-10-20 18:49 kgv Assigned To kgv => abv
2019-10-20 18:49 kgv Status assigned => resolved
2019-10-23 12:59 git Note Added: 0088551
2019-10-25 09:14 git Note Added: 0088584
2019-10-25 09:16 abv Note Added: 0088585
2019-10-25 09:16 abv Assigned To abv => bugmaster
2019-10-25 09:16 abv Status resolved => reviewed
2019-10-26 19:45 apn Test case number => Not needed
2019-10-28 01:51 apn Changeset attached => occt master 36e28f96
2019-10-28 01:51 apn Assigned To bugmaster => apn
2019-10-28 01:51 apn Status reviewed => verified
2019-10-28 01:51 apn Resolution open => fixed
2019-11-10 11:41 git Note Added: 0088854
2019-11-10 11:42 git Note Added: 0088863
2020-03-27 14:39 kgv Relationship added parent of 0031468
2020-12-02 16:40 emo Fixed in Version => 7.5.0
2020-12-02 17:12 emo Status verified => closed