//---------------------------------------------------------------------------- // EgalTech 2014-2014 //---------------------------------------------------------------------------- // File : FontNfe.h Data : 05.06.14 Versione : 1.5f2 // Contenuto : Dichiarazione della classe NfeFont (formato font proprietario). // // // // Modifiche : 29.05.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkCurve.h" #include "/EgtDev/Include/EgtStringBase.h" class IGeomDB ; //---------------------------------------------------------------------------- class NfeFont { public : NfeFont( void) ; ~NfeFont( void) ; bool SetCurrFont( const std::string& sFontPath, int nWeight, bool bItalic, double dHeight, double dRatio, double dAddAdvance) ; bool GetCapHeight( double& dCapH) ; bool GetAscent( double& dAsc) ; bool GetDescent( double& dDesc) ; bool GetXBox( const std::string& sText, int nInsPos, bool bCapOrBound, BBox3d& b3Box) ; bool GetOutline( const std::string& sText, int nInsPos, ICURVEPLIST& lstPC) ; bool ApproxWithLines( const std::string& sText, int nInsPos, double dLinTol, double dAngTolDeg, POLYLINELIST& lstPL) ; bool ApproxWithArcs( const std::string& sText, int nInsPos, double dLinTol, double dAngTolDeg, POLYARCLIST& lstPA) ; bool GetTextLines( const std::string& sText, int nInsPos, PNTVECTOR& vPt, STRVECTOR& vLine) ; private : IGeomDB* m_pGDB ; std::string m_sFont ; int m_nWeight ; bool m_bItalic ; double m_dHeight ; double m_dRatio ; double m_dAddAdvance ; double m_dH ; double m_dHCap ; double m_dHx ; double m_dAsc ; double m_dDesc ; double m_dAdv ; double m_dItalicShearCoeff ; } ;