1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0023415: OSD_FontMgr can't idenify aspect for fonts with names dependant on system locale.

Added function DetectFontsAspects to Font_FontMgr class. This function uses workaround from OpenGl_FontMgr with FreeType for detecting font aspect.
Removed font name parsing from Font_FontMgr::InitFontDataBase(). Now the font name and font style we get through the FreeType.
Fixed Unix part of Font_FontMgr::InitFontDataBase() method. Font name and font style now detected through the FreeType.
Remarks fix. Added recursive default font directories scanning .
Fixed adding fonts folders recursively from configuration files.
Moved fonts aliases map from OpenGl_Display_1 to Font_FontMgr.
Moved fonts name definition from Graphic3d_NameOfFont.hxx to Font_NameOfFont.hxx.
Added new methods to Font_FontMgr: GetAvailableFontsNames, GetFont and FindFont.
Modified Font_SystemFont creation from XLFD. Added method IsEqual to Font_SystemFont.
Modified methods OpenGl_Display::FindFont, OpenGl_FontMgr::request_font in accordance to the new functionality of the Font_FontMgr.
OpenGl_FontMgr now stores only generated fonts instead of duplication of available fonts list.
Removed method OpenGl_FontMgr::requestFontList. Its function now performs Font_FontMgr::GetAvailableFontsNames.
Documentation was fixed
Adjusting testing cases for current state of OCCT
This commit is contained in:
dbv
2012-12-07 13:42:37 +04:00
parent cb9292ed80
commit aff395a36d
29 changed files with 809 additions and 840 deletions

View File

@@ -51,6 +51,5 @@ Graphic3d_CTransPersStruct.cxx
Graphic3d_NListOfHAsciiString.hxx
Graphic3d_AspectText3d.cxx
Graphic3d_WNTGraphicDevice.cxx
Graphic3d_NameOfFont.hxx
Graphic3d_PtrFrameBuffer.hxx
Graphic3d_BufferType.hxx

View File

@@ -72,7 +72,7 @@ is
---Purpose: Creates a context table for text primitives
-- defined with the specified values.
-- AFont may be to take means from User(example "Courier New")
-- or Font described in OpenGl_FontName(example Graphic3d_NOF_ASCII_MONO)
-- or Font name defined in Font_NameOfFont(example Font_NOF_ASCII_MONO)
-- or use default font("Courier")
--
raises AspectTextDefinitionError from Graphic3d;
@@ -104,7 +104,7 @@ is
---Purpose: Modifies the font of <me>.
---Category: Methods to modify the class definition
---AFont may be to take means from User(example "Courier New")
---or Font described in OpenGl_FontName(example Graphic3d_NOF_ASCII_MONO)
---or Font name defined in Font_NameOfFont(example Font_NOF_ASCII_MONO)
---or use default font("Courier")

View File

@@ -44,7 +44,7 @@
#include <TCollection_AsciiString.hxx>
#include <OSD_Environment.hxx>
#include <Graphic3d_NameOfFont.hxx>
#include <Font_NameOfFont.hxx>
//-Aliases
@@ -80,7 +80,7 @@
Graphic3d_AspectText3d::Graphic3d_AspectText3d ():
MyFont (Graphic3d_NOF_ASCII_MONO), MyColor (Quantity_NOC_YELLOW), MyFactor (1.0), MySpace (0.0), MyStyle (Aspect_TOST_NORMAL), MyDisplayType (Aspect_TODT_NORMAL), MyColorSubTitle (Quantity_NOC_WHITE) {
MyFont (Font_NOF_ASCII_MONO), MyColor (Quantity_NOC_YELLOW), MyFactor (1.0), MySpace (0.0), MyStyle (Aspect_TOST_NORMAL), MyDisplayType (Aspect_TODT_NORMAL), MyColorSubTitle (Quantity_NOC_WHITE) {
MyTextZoomable = Standard_False;
MyTextAngle = 0.0;
MyTextFontAspect = Font_FA_Regular;
@@ -98,7 +98,7 @@ MyFont(AFont), MyColor (AColor), MyFactor (AFactor), MySpace (ASpace), MyStyle (
MyTextAngle = 0.0;
MyTextFontAspect = Font_FA_Regular;
if(MyFont.Length() == 0)
MyFont.AssignCat(Graphic3d_NOF_ASCII_MONO);
MyFont.AssignCat(Font_NOF_ASCII_MONO);
if (AFactor <= 0.0)
Graphic3d_AspectTextDefinitionError::Raise
@@ -127,7 +127,7 @@ void Graphic3d_AspectText3d::SetFont (const Standard_CString AFont) {
TCollection_AsciiString aTemp("");
if( !strlen(AFont))
aTemp.AssignCat(Graphic3d_NOF_ASCII_MONO);
aTemp.AssignCat(Font_NOF_ASCII_MONO);
else
aTemp.AssignCat(AFont);
MyFont = aTemp;

View File

@@ -1,38 +0,0 @@
// Created on: 2009-05-10
// Created by: Paul V. SUPRYATKIN
// Copyright (c) 2009-2012 OPEN CASCADE SAS
//
// The content of this file is subject to the Open CASCADE Technology Public
// License Version 6.5 (the "License"). You may not use the content of this file
// except in compliance with the License. Please obtain a copy of the License
// at http://www.opencascade.org and read it completely before using this file.
//
// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
//
// The Original Code and all software distributed under the License is
// distributed on an "AS IS" basis, without warranty of any kind, and the
// Initial Developer hereby disclaims all such warranties, including without
// limitation, any warranties of merchantability, fitness for a particular
// purpose or non-infringement. Please see the License for the specific terms
// and conditions governing the rights and limitations under the License.
#define Graphic3d_NOF_ASCII_MONO "Courier"
#define Graphic3d_NOF_ASCII_SIMPLEX "Times-Roman"
#define Graphic3d_NOF_ASCII_COMPLEX "Times-Roman"
#define Graphic3d_NOF_ASCII_DUPLEX "Times-Bold"
#define Graphic3d_NOF_ASCII_TRIPLEX "Times-Bold"
#define Graphic3d_NOF_ASCII_ITALIC_COMPLEX "Times-Italic"
#define Graphic3d_NOF_ASCII_ITALIC_TRIPLEX "Times-BoldItalic"
#define Graphic3d_NOF_ASCII_SCRIPT_SIMPLEX "ZapfChancery-MediumItalic"
#define Graphic3d_NOF_ASCII_SCRIPT_COMPLEX "ZapfChancery-MediumItalic"
#define Graphic3d_NOF_GREEK_MONO "Symbol"
#define Graphic3d_NOF_GREEK_SIMPLEX "Symbol"
#define Graphic3d_NOF_GREEK_COMPLEX "Symbol"
#define Graphic3d_NOF_SYMBOL_MONO "ZapfDingbats"
#define Graphic3d_NOF_SYMBOL_SIMPLEX "ZapfDingbats"
#define Graphic3d_NOF_CARTOGRAPHIC_SIMPLEX "Rock"
#define Graphic3d_NOF_KANJI_MONO "Iris"
#define Graphic3d_NOF_KATAKANA_MONO "Iris"